Dated: 7th Sept 2006 Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Revision Distributed systems Characteristics Issues/challenges Copyrights @ 2005, Aatif Kamal 2 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. Copyrights @ 2005, Aatif Kamal 3 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. Copyrights @ 2005, Aatif Kamal 4 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 Copyrights @ 2005, Aatif Kamal 5 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 Copyrights @ 2005, Aatif Kamal 6 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 Copyrights @ 2005, Aatif Kamal 7 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 Copyrights @ 2005, Aatif Kamal 8 Service Layers Software architecture Structuring software as layers or modules Services offered and requested by processes on same or different computers (More recently) Applications, services Middlew are Service layers (ch. 3 to 6) Operating s ys tem A distributed service can be provided by one or more interacting server processes Network Time Protocol Platform Computer and netw ork hardw are Software and Hardware service layers in DS Copyrights @ 2005, Aatif Kamal 9 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 ? Copyrights @ 2005, Aatif Kamal 10 Service Layers Middleware Masks heterogeneity To Implement communication and resource sharing Represented by processes or objects in a set of computers that interact with each RMI Group communication Supplies application programming interface Copyrights @ 2005, Aatif Kamal 11 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 Copyrights @ 2005, Aatif Kamal 12 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 Copyrights @ 2005, Aatif Kamal 13 System Architectures: Client-Server Model Client invocation res ult invocation Server Server res ult Client Key: Process : Computer: 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 Copyrights @ 2005, Aatif Kamal 14 System Architectures: Multiple Servers Model Service Server Client Server Client Server 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 Copyrights @ 2005, Aatif Kamal 15 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 Copyrights @ 2005, Aatif Kamal 16 System Architectures: Proxy Server Model Web server Client Proxy server Web server Client 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 Copyrights @ 2005, Aatif Kamal 17 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 Copyrights @ 2005, Aatif Kamal 18 System Architectures: Peer-to-Peer Model Application Application Coordination code Coordination code Application Coordination code Copyrights @ 2005, Aatif Kamal 19 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 Copyrights @ 2005, Aatif Kamal 20 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 Copyrights @ 2005, Aatif Kamal 21 Variations on the Client-Server Model Example of a mobile code a) client request results in the downloading of applet code Client Applet code Web server b) client interacts with the applet Client Applet Copyrights @ 2005, Aatif Kamal Web server 22 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 Copyrights @ 2005, Aatif Kamal 23 Variations on the Client-Server Model Example of a mobile agent a) The code and data are moved to the server Code + data Web server Users Results Copyrights @ 2005, Aatif Kamal 24 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 Copyrights @ 2005, Aatif Kamal 25 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 Copyrights @ 2005, Aatif Kamal 26 Variations on the Client-Server Model Network computer or PC Thin Client Compute server network Copyrights @ 2005, Aatif Kamal Application Process 27 Mobile Devices and Spontaneous networking Music service gateway Alarm service Internet Hotel wireless network Discovery service Camera TV/PC Laptop Copyrights @ 2005, Aatif Kamal PDA Guests devices 28 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 Copyrights @ 2005, Aatif Kamal 29 Design requirements for distributed architectures Performance issues Quality of Service Use of caching and replication Dependability issues Copyrights @ 2005, Aatif Kamal 30 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 partiallycompleted work as the loads on hosts changes Copyrights @ 2005, Aatif Kamal 31 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 Copyrights @ 2005, Aatif Kamal 32 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 Copyrights @ 2005, Aatif Kamal 33 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 Copyrights @ 2005, Aatif Kamal 34 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? Copyrights @ 2005, Aatif Kamal 35
© Copyright 2026 Paperzz