Title: Computer Science 328 Distributed Systems
1Computer Science 328Distributed Systems
- Lecture 2
- Models of Distributed Systems
2What 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.
3Software and Hardware Service Layers
4Software 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).
5System 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.
6Service Provided by Multiple Servers
- Servers may
- partition the set of
- objects
- maintain replicated
- copies of the entire
- set of objects on
- several hosts.
7Distributed System Architectures
- Client-Server Architecture
-
Clients
Clients
Service
Server
invocation
invocation
Results
Results
invocation
invocation
Results
Results
Single-Server
Multiple-Server
8Web Proxy Server
Web proxy servers provide a shared cache for
client machines at a site or across several
sites.
9Peer 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.
10Mobile Code -- Web Applets
Web applets usually give good interactive
response since the effect of network delays and
variable bandwidth wont come into play.
11Mobile 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.
12Thin Clients and Compute Servers
- 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.
13Example 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.
14Fundamental Models
- 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
15Interaction 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.
16Interaction 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.
17Real-time Ordering of Events
18Interaction Model
- Synchronous Distributed System
- Each step in a process takes lb lt time lt ub
- Each message is received within bounded time
- Each local clocks 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
19Failure 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.
20Failure 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
21Processes and Channels
22Failure Model (contd)
- 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 processs 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.
23Omission and Arbitrary Failures
24Timing Failures
25Security 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
26Objects 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.
27Channel Security
- 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.
28Denial 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.