Distributed Systems EXAM Questions and Accurate Answers 2024/2025 | verified
What is an architectural model of a distributed system? - An architectural model of a distributed
system defines the way in which the components of the system interact with each other and the way in
which they are mapped onto an underlying network of computers.
An architectural model is concerned with the placement if its components and the relationships
between them
‣client-server systems
‣peer-to-peer systems
What is a fundamental model of a distributed system? - Fundamental models are concerned with
a more abstract description of the properties that are common in all of the architectural models
What is the difference between an architectural model and a fundamental model of a
distributed system? - An architectural model in a distributed system:
· Is concerned with the placement of its parts and the relationships between them.
o Examples: Client-server and Peer-to-peer.
· In this model, the functions of the individual components of the distributed system is abstracted.
· It makes sure that the structure will meet present as well as future demands.
· Make the system manageable, reliable, adaptable, and cost-effective.
Fundamental model:
· This model has only the essential details needed to understand and reason about some features of a
system's behavior.
· A system model has to addresses the main entities in the system, the way they interact and the
characteristics that affect their individual and collective behavior.
· This model gives clear assumptions about the system we are modeling.
With General purpose algorithms and Desirable properties, what is possible or impossible can be
identified.
,What is a process in a distributed system? - A process is a program under execution i.e an active
program
Distributed system: processes coupled with appropriate inter-process communication paradigms
What is a communication paradigm? - Defines how a system communicates.
Can you name some examples of different communication paradigms? - Interprocess
communication
· low level support for communication between processes in the distributed system, including message-
passing primitives, socket programming, multicast communication
Remote invocation
· most common communication paradigm, based on a two-way exchange between communicating
entities and resulting in the calling of a remote operation (procedure or method)
Indirect communication
· communication is indirect, through a third entity, allowing a strong degree of decoupling between
senders and receivers, in particular:
o space uncoupling: senders do not need to know who they are sending to
time uncoupling: senders and receivers do not need to exist at the same time
What is a client server system? - A type of distributed system where processing power is
distributed between a central server computer and a number of client computers
Processes divided into two (possibly overlapping) groups:
· Server: process implementing a specific service (file system service, database service)
· Client: process that requests a service from a server by sending it a request and subsequently waiting
for the server's reply.
Request-reply protocol
Requests are sent in messages from clients to a server
· When a client sends a request for an operation to be carried out, we say that the client invokes an
operation upon the server.
,· Replies are sent in messages from the server to the clients
Example: the world wide web
What is a P2P system? - All the processes involved in a task or activity play similar roles,
interacting cooperatively as peers without any distinction between client and server processes or the
computers that they run on
In practical terms, all peers run the same program and offer the same set of interfaces to each other
The aim of the P2P architecture is to exploit the resources (both data and hardware) in a large number of
participating computers for the fulfilment of a given task or activity
What is the main difference between client server systems and P2P systems, in terms of
architectural style? - · Peer-to-peer networks connect computers so that each computer shares all
or part of its resources. Client-server networks have one or more central computers, or servers, that hold
the data and manage resources.
· The key difference between Client-Server and Peer-to-Peer network is that there is a dedicated server
and specific clients in the client-server network model whereas, in peer-to-peer each node can act as
both server and client. In the client-server model, the server provides services to the client.
What is the difference between synchronous and asynchronous distributed systems? -
Synchronous distributed systems: strong assumption of time.
· The time to execute each step of a process has known lower and upper bounds.
· Each message transmitted over a channel is received within a known bounded time.
· Each process has a local clock whose drift rate from real time has a known bound
Difference:
Asynchronous distributed systems: no assumptions about time.
· A system of parallel processes is said to be synchronous if all processes run using the same clock, and it
is asynchronous if each process has its own independent clock.
· Synchronous is a data transfer method in which a continuous stream of data signals is accompanied by
timing signals whereas Asynchronous data transmission is a data transfer method in which the sender
and the receiver use the flow control method.
, Can you describe some design challenges for distributed systems? - · Heterogeneity: (i.e. variety
and difference): networks, computer hardware, operating systems, programming languages,
implementations by different developers
· Transparency: The concealment from the user and the application programmer of the separation of
components in a distributed system, so that the system is perceived as a whole rather than a collection
of independent components
· Openness. The openness of a computer system is the characteristic that determines whether the
system can be extended and re-implemented in various ways
· Concurrency. Both services and applications provide resources that can be shared by different clients in
a distributed system
o There is therefore a possibility that several clients will attempt to access a shared resource at the same
time
o Each resource (servers, Web resources objects in applications, ...) must be designed to be safe in a
concurrent environment
· Security.
o Confidentiality: Protection against disclosure to unauthorized individuals
o Integrity: Protection against alteration or corruption
o Availability: Protection against interference with the means to access the resource
· Scalability. A system is scalable if it will remain effective when there is a significant increase in the
number of resources and the number of users
· Failure Handling. When faults occur in hardware or software, programs may produce incorrect results
or they may stop before they have completed the intended computation
o Failures in distributed systems are partial: Some components fail while others continue to function.
Making handling of failures difficult
What is failure model in distributed systems? - The failure model defines the ways in which
failures may occur in order to provide an understanding of the effects of failures
Can you name some examples of taxonomy of failures? - Omission failures: A process or
communication channel fails to perform actions that it is supposed to do.
· A msg inserted in an outgoing msg buffer never arrives at the other end's incoming message buffer
· A process completes a send, but the message is not put in its outgoing message buffer
Arbitrary failures: Any type of error may occur
What is an architectural model of a distributed system? - An architectural model of a distributed
system defines the way in which the components of the system interact with each other and the way in
which they are mapped onto an underlying network of computers.
An architectural model is concerned with the placement if its components and the relationships
between them
‣client-server systems
‣peer-to-peer systems
What is a fundamental model of a distributed system? - Fundamental models are concerned with
a more abstract description of the properties that are common in all of the architectural models
What is the difference between an architectural model and a fundamental model of a
distributed system? - An architectural model in a distributed system:
· Is concerned with the placement of its parts and the relationships between them.
o Examples: Client-server and Peer-to-peer.
· In this model, the functions of the individual components of the distributed system is abstracted.
· It makes sure that the structure will meet present as well as future demands.
· Make the system manageable, reliable, adaptable, and cost-effective.
Fundamental model:
· This model has only the essential details needed to understand and reason about some features of a
system's behavior.
· A system model has to addresses the main entities in the system, the way they interact and the
characteristics that affect their individual and collective behavior.
· This model gives clear assumptions about the system we are modeling.
With General purpose algorithms and Desirable properties, what is possible or impossible can be
identified.
,What is a process in a distributed system? - A process is a program under execution i.e an active
program
Distributed system: processes coupled with appropriate inter-process communication paradigms
What is a communication paradigm? - Defines how a system communicates.
Can you name some examples of different communication paradigms? - Interprocess
communication
· low level support for communication between processes in the distributed system, including message-
passing primitives, socket programming, multicast communication
Remote invocation
· most common communication paradigm, based on a two-way exchange between communicating
entities and resulting in the calling of a remote operation (procedure or method)
Indirect communication
· communication is indirect, through a third entity, allowing a strong degree of decoupling between
senders and receivers, in particular:
o space uncoupling: senders do not need to know who they are sending to
time uncoupling: senders and receivers do not need to exist at the same time
What is a client server system? - A type of distributed system where processing power is
distributed between a central server computer and a number of client computers
Processes divided into two (possibly overlapping) groups:
· Server: process implementing a specific service (file system service, database service)
· Client: process that requests a service from a server by sending it a request and subsequently waiting
for the server's reply.
Request-reply protocol
Requests are sent in messages from clients to a server
· When a client sends a request for an operation to be carried out, we say that the client invokes an
operation upon the server.
,· Replies are sent in messages from the server to the clients
Example: the world wide web
What is a P2P system? - All the processes involved in a task or activity play similar roles,
interacting cooperatively as peers without any distinction between client and server processes or the
computers that they run on
In practical terms, all peers run the same program and offer the same set of interfaces to each other
The aim of the P2P architecture is to exploit the resources (both data and hardware) in a large number of
participating computers for the fulfilment of a given task or activity
What is the main difference between client server systems and P2P systems, in terms of
architectural style? - · Peer-to-peer networks connect computers so that each computer shares all
or part of its resources. Client-server networks have one or more central computers, or servers, that hold
the data and manage resources.
· The key difference between Client-Server and Peer-to-Peer network is that there is a dedicated server
and specific clients in the client-server network model whereas, in peer-to-peer each node can act as
both server and client. In the client-server model, the server provides services to the client.
What is the difference between synchronous and asynchronous distributed systems? -
Synchronous distributed systems: strong assumption of time.
· The time to execute each step of a process has known lower and upper bounds.
· Each message transmitted over a channel is received within a known bounded time.
· Each process has a local clock whose drift rate from real time has a known bound
Difference:
Asynchronous distributed systems: no assumptions about time.
· A system of parallel processes is said to be synchronous if all processes run using the same clock, and it
is asynchronous if each process has its own independent clock.
· Synchronous is a data transfer method in which a continuous stream of data signals is accompanied by
timing signals whereas Asynchronous data transmission is a data transfer method in which the sender
and the receiver use the flow control method.
, Can you describe some design challenges for distributed systems? - · Heterogeneity: (i.e. variety
and difference): networks, computer hardware, operating systems, programming languages,
implementations by different developers
· Transparency: The concealment from the user and the application programmer of the separation of
components in a distributed system, so that the system is perceived as a whole rather than a collection
of independent components
· Openness. The openness of a computer system is the characteristic that determines whether the
system can be extended and re-implemented in various ways
· Concurrency. Both services and applications provide resources that can be shared by different clients in
a distributed system
o There is therefore a possibility that several clients will attempt to access a shared resource at the same
time
o Each resource (servers, Web resources objects in applications, ...) must be designed to be safe in a
concurrent environment
· Security.
o Confidentiality: Protection against disclosure to unauthorized individuals
o Integrity: Protection against alteration or corruption
o Availability: Protection against interference with the means to access the resource
· Scalability. A system is scalable if it will remain effective when there is a significant increase in the
number of resources and the number of users
· Failure Handling. When faults occur in hardware or software, programs may produce incorrect results
or they may stop before they have completed the intended computation
o Failures in distributed systems are partial: Some components fail while others continue to function.
Making handling of failures difficult
What is failure model in distributed systems? - The failure model defines the ways in which
failures may occur in order to provide an understanding of the effects of failures
Can you name some examples of taxonomy of failures? - Omission failures: A process or
communication channel fails to perform actions that it is supposed to do.
· A msg inserted in an outgoing msg buffer never arrives at the other end's incoming message buffer
· A process completes a send, but the message is not put in its outgoing message buffer
Arbitrary failures: Any type of error may occur