Computer Science 328 Distributed Systems - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Computer Science 328 Distributed Systems

Description:

A message inserted in an outgoing message buffer never. arrives at the other end's incoming message buffer. Send-omission. Process. A process completes a ... – PowerPoint PPT presentation

Number of Views:14
Avg rating:3.0/5.0
Slides: 29
Provided by: mehdith
Category:

less

Transcript and Presenter's Notes

Title: Computer Science 328 Distributed Systems


1
Computer Science 328Distributed Systems
  • Lecture 2
  • Models of Distributed Systems

2
What 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.

3
Software and Hardware Service Layers
4
Software 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).

5
System 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.

6
Service Provided by Multiple Servers
  • Servers may
  • partition the set of
  • objects
  • maintain replicated
  • copies of the entire
  • set of objects on
  • several hosts.

7
Distributed System Architectures
  • Client-Server Architecture

Clients
Clients
Service
Server
invocation
invocation
Results
Results


invocation
invocation
Results
Results
Single-Server
Multiple-Server
8
Web Proxy Server
Web proxy servers provide a shared cache for
client machines at a site or across several
sites.
9
Peer 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.
10
Mobile Code -- Web Applets
Web applets usually give good interactive
response since the effect of network delays and
variable bandwidth wont come into play.
11
Mobile 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.

12
Thin 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.

13
Example 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.

14
Fundamental 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

15
Interaction 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.

16
Interaction 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.

17
Real-time Ordering of Events
18
Interaction 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

19
Failure 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.

20
Failure 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

21
Processes and Channels
22
Failure 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.

23
Omission and Arbitrary Failures
24
Timing Failures
25
Security 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

26
Objects 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.

27
Channel 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.

28
Denial 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.
Write a Comment
User Comments (0)
About PowerShow.com