Download presentation
Presentation is loading. Please wait.
Published byGervase Little Modified over 9 years ago
1
1 MSCS 237 Communication issues
2
2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing. Emmerich(1997): A distributed system consists of a collection of autonomous computers, connected through a network and distribution middleware, which enables computers to coordinate their activities and to share the resources of the system, so that users perceive the system as a single, integrated computing facility. Sinha (1997): is a collection of processors interconnected by a communication network in which each processor has its own local memory and others peripherals, and the communication between two processors of the system takes place by message passing over the communication network. Points over the local and remote resources. What is a Distributed System?
3
3 Centralized versus Distributed System Centralised –One component with non- autonomous parts –Component shared by users all the time –All resources accessible –Software runs in a single process –Single Point of control –Single Point of failure Distributed –Multiple autonomous components –Components are not shared by all users –Resources may not be accessible –Software runs in concurrent processes on different processors –Multiple Points of control –Multiple Points of failure
4
4 Resource Sharing Openness Concurrency Scalability Fault Tolerance Transparency Common Characteristics
5
5 Transparency Distributed systems should be perceived by users and application programmers as a whole Scalability Transparency Performance Transparency Failure Transparency Migration Transparency Replication Transparency Concurrency Transparency Access Transparency Location Transparency
6
6 Transparencies Access transparency: enables local and remote resources to be accessed using identical operations. Location transparency: enables resources to be accessed without knowledge of their location. Concurrency transparency: enables several processes to operate concurrently using shared resources without interference between them. Replication transparency: enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers.
7
7 Transparencies(cont) Failure transparency: enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. Mobility transparency: allows the movement of resources and clients within a system without affecting the operation of users or programs. Performance transparency: allows the system to be reconfigured to improve performance as loads vary. Scaling transparency: allows the system and applications to expand in scale without change to the system structure or the application algorithms.
8
8 Software and hardware service layers in distributed systems Applications, services Computer and network hardware Platform Operating system Middleware
9
9 Network op. system Computer hardware Component 1 Component n... Host 2 Middleware Network op. system Computer hardware Component 1 Component n... Host 1 Middleware Network op. system Computer hardware Component 1 Component n... Host n-1 Middleware Network op. system Computer hardware Component 1 Component n... Host n Network A working Model of a distributed system © W. Emmerich, 2000
10
10 Process types in a distributed system Client: is a triggering process. Clients make requests that trigger reactions from server. Server: is a reactive process. A server waits for requests to be made, then reacts to them. Peer: is a collection of identical processes that interact to provide a service o resolve a problem. There are several process-interaction patterns on distributed system. Each interaction paradigm is an example or model of a communication pattern and associated programming technique that can be used to solve a variety of interesting distributed programming techniques.
11
11 Clients invoke individual servers
12
12 A service provided by multiple servers
13
13 Web proxy server
14
14 A distributed application based on peer processes
15
15 Web applets
16
16 Thin clients and compute servers Thin Client Application Process Network computer or PC Compute server network
17
17 Spontaneous networking in a hotel Internet gateway PDA service Music service Discovery Alarm Camera Guests devices Laptop TV/PC Hotel wireless network
18
18 Processes and channels
19
19 Omission and arbitrary failures Class of failureAffectsDescription Fail-stopProcessProcess halts and remains halted. Other processes may detect this state. CrashProcessProcess halts and remains halted. Other processes may not be able to detect this state. OmissionChannelA message inserted in an outgoing message buffer never arrives at the other end’s incoming message buffer. Send-omissionProcessA process completes asend, but the message is not put in its outgoing message buffer. Receive-omissionProcessA message is put in a process’s incoming message buffer, but that process does not receive it. Arbitrary (Byzantine) Process or channel Process/channel exhibits arbitrary behaviour: it may send/transmit arbitrary messages at arbitrary times, commit omissions; a process may stop or take an incorrect step.
20
20 Timing failures Class of FailureAffectsDescription ClockProcessProcess’s local clock exceeds the bounds on its rate of drift from real time. PerformanceProcessProcess exceeds the bounds on the interval between two steps. PerformanceChannelA message’s transmission takes longer than the stated bound.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.