Distributed Systems

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