Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Dated: 7 th Sept 2006.

Similar presentations


Presentation on theme: "Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Dated: 7 th Sept 2006."— Presentation transcript:

1 Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Dated: 7 th Sept 2006

2 Copyrights @ 2005, Aatif Kamal2 Revision Distributed systems Characteristics Issues/challenges

3 Copyrights @ 2005, Aatif Kamal3 Objectives of the lecture To provide models for helping to perceive different distributed system designs. To understand the characteristics of the most common architectural models of distributed systems. To understand some of the factors that produce variety to these models.

4 Copyrights @ 2005, Aatif Kamal4 Basic Elements Resources in a distributed systems are shared between users. They are normally encapsulated within in one of the computers and can be accessed from other computers by communication. Each resource is managed by a program, the resource manager, it offers communication interface enabling the resource to be accessed by the users. Resource managers in general can be modeled as processes. In object oriented system, resources are encapsulated in objects.

5 Copyrights @ 2005, Aatif Kamal5 Distributed system models Architectural models: Placements of parts Relationship between parts Examples Client /server Peer-to-peer model Proxy server Architectural models (definition): 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 Fundamental models: Formal description of system properties common in all architectural models reliability, security, performance

6 Copyrights @ 2005, Aatif Kamal6 Architectural models Architecture: Structure of separately specified components Over all goal: Structure should meet the present and future requirements on Reliability Manageability Adaptability Cost-effectiveness

7 Copyrights @ 2005, Aatif Kamal7 Architectural models Functions of individual components are not important: Abstract way Consider instead: Placement (across network) Pattern for data Work load distribution Interrelationships Functional roles Communication pattern

8 Copyrights @ 2005, Aatif Kamal8 Architectural models Simplification by distinction between client, server and peer processes Assessment of workload (responsibilities) Failure impact analysis Architectural models can be used to determine placement pf processes More dynamic systems can be built as variations on the client-server model Moving code ( from one process to another process ) Adding/removing nodes or components Discovery and advertisement of services

9 Copyrights @ 2005, Aatif Kamal9 Service Layers Software architecture Structuring software as layers or modules Services offered and requested by processes on same or different computers (More recently) Service layers (ch. 3 to 6) A distributed service can be provided by one or more interacting server processes Network Time Protocol Software and Hardware service layers in DS

10 Copyrights @ 2005, Aatif Kamal10 Service Layers Platform Operating system, hardware Lowest level of layer provide services to Layer above them, So that they can be implemented independently in all computers Facilitate communication and coordination among process Supplies system programming interface Examples ?

11 Copyrights @ 2005, Aatif Kamal11 Service Layers Middleware Masks heterogeneity Represented by processes or objects in a set of computers that interact with each To Implement communication and resource sharing RMI Group communication Supplies application programming interface

12 Copyrights @ 2005, Aatif Kamal12 Service Layers: Middleware Middleware Examples: Sun RPC  Simple, remote procedure calling package OMG CORBA Microsoft DCOM Java RMI Provides Building blocks for software components Infrastructural services for application programs

13 Copyrights @ 2005, Aatif Kamal13 Service Layers: Middleware Middleware services Naming Security Transactions Persistent storage Event notification Limitations Many distributed applications rely entirely on the services provided by the available middleware to support their needs for communication & data sharing TCP reliable for packets (basic error correction and detection) Mail transfer service increase fault tolerance (maintain record of progress) Some functions can only be correctly implemented with the help of application level information  The end-to-end argument e.g. reliable file transfer (Saltzer)  Correct behaviour in distributed programs depends upon checks at various levels

14 Copyrights @ 2005, Aatif Kamal14 System Architectures: Client-Server Model Server may in turn be client of other servers Web server may be client of local file server Serch engine is both a server and client

15 Copyrights @ 2005, Aatif Kamal15 System Architectures: Multiple Servers Model Web servers manage their resources independently A user can access any resource Sun NIS (Netwrok Infomation Service) Each NIS has its own replica of the password file

16 Copyrights @ 2005, Aatif Kamal16 System Architectures: Multiple Servers Model Services may be provided by multiple servers Partitioned or replicated service-related objects Replication provides Increased performance Increased availability Increased fault-tolerance But requires replica coordination / consistency preservation

17 Copyrights @ 2005, Aatif Kamal17 System Architectures: Proxy Server Model Cache: Store of reccently used data objects Cache collocated at each client (web bworser) proxy server (shared cache) Web browser recently visited paegs HTTP to check the consistency

18 Copyrights @ 2005, Aatif Kamal18 System Architectures: Proxy Server Model Cache: a close store of recently used data Considerably increases performance in many applications But requires cache coherence protocols Proxy server: a shared cache of resources Most commonly used for web access

19 Copyrights @ 2005, Aatif Kamal19 System Architectures: Peer-to-Peer Model

20 Copyrights @ 2005, Aatif Kamal20 System Architectures: Peer-to-Peer Model Peer processes: processes that play similar roles No absolute distinction between client/server May still assume client/server roles from time to time Peer processes maintain the synchronization & consistency of resources and actions White board Viewing, editing a picture Elimination of server processes reduces inter- process communication delay for local object access Increased fault-tolerance and scalability Coordination difficult

21 Copyrights @ 2005, Aatif Kamal21 Variations on the Client-Server Model Variations inside the client-server model from following factors: the use of mobile code and mobile agents lightweight clients, based on users’ need for low-cost computers and easy management the requirment to add and remove mobile devices in a convinient manner

22 Copyrights @ 2005, Aatif Kamal22 Variations on the Client-Server Model Example of a mobile code a) client request results in the downloading of applet code Web server Client Web server Applet Applet code Client b) client interacts with the applet

23 Copyrights @ 2005, Aatif Kamal23 Variations on the Client-Server Model Example of a mobile code ( cont. ) Server push model Server initiates dialogue “Pushes” information to client Client needs application that listens for server pushes Example  stockbroker

24 Copyrights @ 2005, Aatif Kamal24 Variations on the Client-Server Model Example of a mobile agent a) The code and data are moved to the server Web server Code + data Users Results

25 Copyrights @ 2005, Aatif Kamal25 Variations on the Client-Server Model Mobile agents A running program that travels between computers in a network Carries out tasks on someone’s behalf  E.g., collect information, install programs Has internal knowledge, beliefs and goals Advantage: local access everywhere Reduction in communication costs Disconnected operation Potential security threat Limited applicability

26 Copyrights @ 2005, Aatif Kamal26 Variations on the Client-Server Model Network computer All files related to management of application is stored and managed remotely Application is present & run locally If allowed on local disk & space is available used as cache Minimum of local software is downloaded As data and files are stored remotely so user can migrate from one NC to another NC Thin client Does not even run its own applications Programs are run by a powerful computer server Citrix WinFrame, teleporting and PCAnyWhere: thin client process for Windows Advantage Low cost Disadvantage Not good Highly interactive application like CAD Delay in communication can effect application operation

27 Copyrights @ 2005, Aatif Kamal27 Variations on the Client-Server Model Thin Client Application Process Network computer or PC Compute server network

28 Copyrights @ 2005, Aatif Kamal28 Mobile Devices and Spontaneous networking Internet gateway PDA service Music service Discovery Alarm Camera Guests devices Laptop TV/PC Hotel wireless network

29 Copyrights @ 2005, Aatif Kamal29 Mobile Devices and Spontaneous networking Key features Easy connection to local network Transparently reconfigured devices Easy integration with local services Autonomous service discoveries Issues Internet addressing, and routing assumption computers are at fixed locations Limited connectivity Security and privacy Discovery services Registration service Lookup service

30 Copyrights @ 2005, Aatif Kamal30 Design requirements for distributed architectures Performance issues Quality of Service Use of caching and replication Dependability issues

31 Copyrights @ 2005, Aatif Kamal31 Performance issues  Responsiveness  Users of interactive application require a fast and consistent response to interaction  Speed of response: load and performance of the server, delays in all software components  Software layers must be optimized  Throughput  The rate at which computational work is done  Data transfer between processes  Throughput of software layer and network  Balancing computer loads  The ability to run applet at client removes load from the web server  In some case load balancing may involve moving partially- completed work as the loads on hosts changes

32 Copyrights @ 2005, Aatif Kamal32 Quality of Service (QoS)  Quality of service  The ability to meet the deadlines of users need  Reliability  Failure model  Security  Security model  Performance  Adaptability  Example  Time-critical data: movie service  QoS  Resource reservation

33 Copyrights @ 2005, Aatif Kamal33 Use of caching and replication  The performance issues >major obstacles to the successful deployment of DS,  Much progress has been made in the design of systems that overcome  data replication and caching

34 Copyrights @ 2005, Aatif Kamal34 Dependability issues The dependability of computer systems correctness, security fault tolerance Correctness Fault tolerance reliability is achieved through redundancy Replication of data and process Redundancy in communication protocols Security the architectural impact of the requirement for security concerns the need to locate sensitive data and other resources only in computers that can be effectively secured against attack

35 Copyrights @ 2005, Aatif Kamal35 Assignment 2 Q.1 From the book, answer the following questions 2.1 2.4 2.6 2.10 Q. 2 Please read the article: Fred B. Schneider on Distributed Computing, Interview by Dejan Milojicic, IEEE DS Online, Volume 1, Number 1 Answer the following: What are the critical unsolved problems in distributed systems today? What are the trends of distributing computing systems? What are the most important technologies for the future of distributed systems?


Download ppt "Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Dated: 7 th Sept 2006."

Similar presentations


Ads by Google