Date post: | 28-Dec-2015 |
Category: |
Documents |
Upload: | spencer-blake |
View: | 215 times |
Download: | 1 times |
Distributed ComputingClass: BIT5 & 6Instructor: Aatif Kamal
Chapter 02: (part 01)Distributed System Models
Dated: 7th Sept 2006
Copyrights @ 2005, Aatif Kamal 3
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 4
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 5
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 6
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 7
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 8
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 9
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
Applications, services
Computer and network hardware
Platform
Operating system
Middleware
Software and Hardware service layers in DS
Copyrights @ 2005, Aatif Kamal 10
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 11
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
Copyrights @ 2005, Aatif Kamal 12
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 13
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 14
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
Server
Client
Client
invocation
result
Serverinvocation
result
Process:Key:
Computer:
Copyrights @ 2005, Aatif Kamal 15
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
Server
Server
Server
Service
Client
Client
Copyrights @ 2005, Aatif Kamal 16
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 17
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
Client
Proxy
Web
server
Web
server
serverClient
Copyrights @ 2005, Aatif Kamal 18
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 19
System Architectures: Peer-to-Peer Model
Coordination
Application
code
Coordination
Application
code
Coordination
Application
code
Copyrights @ 2005, Aatif Kamal 20
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 21
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 22
Variations on the Client-Server Model
Example of a mobile code
a) client request results in the downloading of applet code
Web server
ClientWeb serverApplet
Applet code
Client
b) client interacts with the applet
Copyrights @ 2005, Aatif Kamal 23
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 24
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
Copyrights @ 2005, Aatif Kamal 25
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 26
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 27
Variations on the Client-Server Model
ThinClient
ApplicationProcess
Network computeror PC
Compute server
network
Copyrights @ 2005, Aatif Kamal 28
Mobile Devices and Spontaneous networking
Internet
gateway
PDA
service
Music service
serviceDiscovery
Alarm
Camera
Guestsdevices
LaptopTV/PC
Hotel wirelessnetwork
Copyrights @ 2005, Aatif Kamal 29
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 30
Design requirements for distributed architectures
Performance issues Quality of Service Use of caching and replication Dependability issues
Copyrights @ 2005, Aatif Kamal 31
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
Copyrights @ 2005, Aatif Kamal 32
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 33
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 34
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 35
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 Deja
n 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 distribu
ted systems?