Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed System Models

Similar presentations


Presentation on theme: "Distributed System Models"— Presentation transcript:

1 Distributed System Models
Models of Distributed Systems

2 What is a Distributed System Model?
A DS model addresses: What are the main entities? How do they interact? What characteristics affect the individual & collective behavior? The purpose of the DS model is to : Make explicit all assumptions about the system Enable generalizations about the system, based on these assumptions.

3 Software and Hardware Service Layers

4 Software Layers Software architecture – the structure of software as layers or modules in terms of services offered and requested between processes located in the same or different computers. Platform: the lowest-level hardware and software layers, i.e., Intel x86/Windows, Sun Sparc/SunOS, PowerPC/MacOS, Intel x86/Linux. Middleware: a layer of software whose purpose is to mask heterogeneity and to provide a programming model to applications, CORBA, Java remote object invocation (RMI), Microsoft Distributed Component Object Model (DCOM).

5 System Architecture: Client-Server Model
Dual roles— A web server is often a client of a local file server. Web servers and other Internet servers are clients of the DNS server which translates Internet domain names to network addresses. A search engine is a server, but it runs programs called web crawlers that access web servers throughout the Internet for information inquiries.

6 Service Provided by Multiple Servers
Servers may partition the set of objects maintain replicated copies of the entire set of objects on several hosts.

7 Distributed System Architectures
Client-Server Architecture Clients Clients Service Server invocation invocation Results Results invocation invocation Results Results Single-Server Multiple-Server

8 Web Proxy Server Web proxy servers provide a shared cache for client machines at a site or across several sites.

9 Peer Process Architecture
All the processes play similar roles, interacting cooperatively as peers to perform tasks. For example, a distributed whiteboard application allows users to view and interactively modify a picture.

10 Mobile Code -- Web Applets
Web applets usually give good interactive response since the effect of network delays and variable bandwidth won’t come into play.

11 Mobile Agents A mobile agent is a running program (both code and data) that travels from one machine to another, carrying out a task (such as collecting information and returning the result) A mobile agent may utilize local resources, e.g., access individual database entries. Both mobile code and mobile agents are potential security threat to local resources. Machines receiving a mobile agent should determine on which local resource the agent is allowed to use.

12 Thin Clients and Compute Servers
Application Process Network computer or PC Compute server network Thin client: a software layer that supports a window-based user interface on a local computer while executing application programs on a remote machine. Advantage: low management and hardware costs at the client Disadvantage: Delays are increased because of transfer of image and data between the thin client and the application process.

13 Example of Thin Clients – X-11 Window Systems
X-11 server provides an extensive library of procedures for displaying and modifying graphical objects. X-11 client is the application program a user is interacting with. The client program communicates with the server by invoking procedures using the RPC mechanisms.

14 Fundamental Models address important aspects of a DS, in abstraction.
Interaction Model Addresses communication and coordination between processes Failure Model Defines and classifies faults and methods of recovery or tolerance Security Model Defines security threats and mechanisms for resisting them

15 Interaction Model Communication Performance
Latency Propagation delay: the time it takes for the first bit of a message to reach the destination. Transmission delay: the time interval between transmission of the first bit and the last bit of the message. Processing delay: the time it takes for the OS to process/send/ receive the message. Queueing delay: the time it takes a message to be queued either at end hosts or intermediate nodes waiting for transmission. Bandwidth: the total amount of information that can be transmitted over a given time. Jitter: the time difference between the delays incurred by different messages.

16 Interaction Model Clocks & Timing events No global notion of time
Clock drift rates: the relative rate at which a computer clock drifts away from a perfect reference clock. Clock synchronization: Global positioning system (GPS): a few computers may use radio receivers to get time readings from GPS with an accuracy of 1 microsecond. They then send timing messages to other computers in their respective networks. Logical clocks: messages are time stamped with a sequence number that reflects their logical ordering.

17 Real-time Ordering of Events

18 Interaction Model Asynchronous Distributed System
Each step in a process takes lb < time < ub Each message is received within bounded time Each local clock’s drift has a known bound Asynchronous Distributed System No bounds on process execution No bounds on message transmission delays The drift rate of a clock is arbitrary Internet is an asynchronous distributed system

19 Failure Model Omission failures Process omission failure
Crash – a process halts and does not execute any further operations; can be detected by timeout in synchronous DS In asynchronous systems, a timeout may be a consequence of process crash, extremely large message delays, or message losses. Fail-stop – a process crash is called fail-stop if other processes can detect certainly that the process has crashed.

20 Failure Model Omission failures Communication omission failures
Send-omission: loss of messages between the sending process and the outgoing message buffer Channel omission: loss of message in the communication channel. Receive-omission: loss of messages between the incoming message buffer and the receiving process

21 Processes and Channels

22 Failure Model (cont’d)
Arbitrary failures Arbitrary process failure: arbitrarily omits intended processing steps or takes unintended processing steps. Arbitrary channel failures: messages may be corrupted, duplicated, delivered out of order, incurs extremely large delays; or non-existent messages may be delivered. Timing failures Clock failure: the process’s local clock exceeds the bound on its drift rate from real time. Process-time failure: process exceeds the bound on the interval between two steps. Channel-time failure: message transmission time exceed the budgeted bound.

23 Omission and Arbitrary Failures
Class of failure Affects Description Fail-stop Process Process halts and remains halted. Other processes may detect this state. Crash not be able to detect this state. Omission Channel A message inserted in an outgoing message buffer never arrives at the other end’s incoming message buffer. Send-omission A process completes a send, but the message is not put in its outgoing message buffer. Receive-omission A 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.

24 Timing Failures Class of Failure Affects Description Clock Process
Process’s local clock exceeds the bounds on its rate of drift from real time. Performance Process exceeds the bounds on the interval between two steps. Channel A message’s transmission takes longer than the stated bound.

25 Security Model A DS can be secured by securing processes, channels & objects Process security Channel security Denial of access Mobile code security Security threats can be defeated by Authentication Cryptography

26 Objects and Principals
Principal: the authority that is associated with each invocation and each result. Authentication Access rights: rules that specify who is allowed to perform the operations of an object.

27 Channel Security m m’ p q Copy of The enemy Process
Communication channel Copy of m Process p q The enemy m’ An enemy can copy, alter or inject messages as the travel. An enemy can save copies of messages and replay them at a later time. Cryptography: Messages are scrambled in such a way as to hid its contents. Authentication: A portion of a message is encrypted that contains enough information to guarantee its authenticity.

28 Denial of Service Excessive and pointless invocations on services or message transmissions are made, resulting in overloading of physical resources. Can be dealt with by using packet filters and sniffers that detect abnormal activities.


Download ppt "Distributed System Models"

Similar presentations


Ads by Google