Distributed Systems
Peter Arnold Arnold –
[email protected]
Distributed System Models A model is intended to provide an abstract, simplified but consistent description of a relevant aspect of a distributed system design. There are two types o f distributed system models i.e.
Architectural models
Fundamental models
Architectural models An architectural model defines the way in which the components of systems interact with one another and the way in which they are mapped onto an underlying network of computers. The architecture of a system is its structure in terms of separately specified components. Model Considerations
The placement of the components across a network of computers computers - this defines defines patterns for the distribution of data and workloads.
The interrelationships between the components – components – this this defines their functional roles and the patterns of communication between them.
There are several main paradigms commonly used to struc ture a distributed system. These include: 1. Master- slave model 2. Client/server model 3. Peer-to-peer model 4. Group model
Master –slave model A master process normally initiates and controls any dialogue with the slave processes. Slave processes exhibit very little intelligence, responding to commands from a single master process and exchange messages only when invited by the master proce ss. The slave merely complies with the dialogue while rules are set by the master.
Client/ server model Clients request a particular service. Se rver process is normally non-terminating (persistent) and provides services to more than one client process. On receipt of a request the, the server executes the appropriate operation and sends a reply back to the client. The operation of this model can be depicted as follows.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Distributed Systems
Peter Arnold Arnold –
[email protected]
c3
c2
c4
c12 c11 s4
s1
c1
Server process
c10 c5 s2
c6
c7
Client process s3
c9
c8
Peer-to-peer model Every computer can be configured to be either a client or a server. Every process has the same functionality as peer processes. Peer-to-peer (p2p) systems are usually decentralized systems where
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Distributed Systems
Peter Arnold Arnold –
[email protected]
Group model (Collaborative Application model) Processes co-operate in such a way w ay that one process may need to send a message to all other processes pro cesses in the group and receive response from one or more members. For example, in video conferencing, when someone writes to the blackboard facility every other participant must receive the image. In this model, processes participate participate in a collaborative collaborative session as a group. Each participating process may contribute input to part or the entire group. Processes may do so using:
Multicasting - to send data to all or part of the group
virtual sketchpads or whiteboards - allow each participant to read and write data to a shared display
Client/server variation models These are extensions of client server se rver model. They include the following:
Multi-tiered architecture
3 tier architecture
Mobile code
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Distributed Systems
Peter Arnold Arnold –
[email protected]
The vertical distribution or multi-tier architecture distributes the tr aditional server functionality over multiple servers. The architecture can be depicted as follows.
3-Tier architecture Three tier systems move the client intelligence to a middle tier so t hat stateless clients can be used. Thi s simplifies application deployment. This architecture is used in most web servers. It consists of: Presentation Tier - This is the t opmost level of the application. It displays information related to such services as browsing merchandise, purchasing, and shopping cart contents. It communicates with other tiers by outputting results to the browser/client tier and all other tiers in the network. - The logic tier is pulled out from the presentation tier and, as it it w y, ’ fy by fm dd . Data Tier - This tier consists of Database Servers. Here information is stored and ret rieved. The tier keeps data neutral and independent from application servers or business logic. Giving data its own tier helps improve scalability and performance. The 3-Tier architecture can be depicted as follows.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Distributed Systems
Peter Arnold Arnold –
[email protected]
The following diagram illustrates an example of a 3-Tier architecture in use.
Mobile Code Refers to code that is sent to a client process to carry out a specific task. m task. m d d m mm d
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Distributed Systems
Peter Arnold Arnold –
[email protected]
Mobile Agents Refer to executing pr ogram i.e. code + data migrating amongst processes, carr ying out an autonomous task, usually on behalf of some other process. Mobile agents have t he advantages of flexibility and savings in communications cost.
Fundamental Models They are a description of fundamental properties in processes and communication, shared among different architectures. They refer to the aspects of the distributed system that we wish to capture in the architectural models. They are concerne d with a more formal description of the properties t hat are common in all of the architectural models. They include: 1. Interaction model 2. Failure model 3. Secure model
The secure model This model addresses the possible threats to processes and c ommunication channels. Encryption and authentication are used to build secure c hannels. Each of the processes knows the identity of t he principal on whose behalf the other process is executing and can check their ac cess rights before performing an operation. h md’ b dd fw.
The interaction model The interaction model deals with performance and with the difficulty of setting time limits in a distributed system. It is concerned with analysis of communication and coordination (synchronization
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial Cancel Anytime.
Distributed Systems
Peter Arnold Arnold –
[email protected]
Latency - transmission, access, or bandwidth
Jitter - variation in time taken to deliver a series of messages
2. Computer clocks and timing events Clock drift - two processes running on different computers read their clocks at the same time, their local clocks may supply different time values. Clock drift rate - the relative amount that a computer clock differs from a perfect reference clock.
Failure model This is an analysis of potential effects whenever a fault o ccurs. This model gives a precise specification of the faults that can be exhibited e xhibited by processes and communication. In a distributed system, both processes and communication channels may fail – fail – i.e., i.e., they may depart from what w hat is considered to be correct or desirable behavior.