Layered Protocols: Communication
Layered Protocols: Communication
Blank Homework
Notes Labs Scores Blank
Lecture Notes
Dr. Tong Lai Yu, March 2010
Drawbacks:
Focus on message-passing only
Often unneeded or unwanted functionality
Low-level layers
Recap
Physical layer: contains the specification and implementation of
are to be routed.
Observation
Transport Layer
Important
communication
UDP: unreliable (best-effort) datagram communication
Note
Middleware Layer
Observation
Note
such as?
9. Types of communication
We can view the middleware as an additional service in
client server computing:
Traditional Client-Server
Distinguish:
is known to be accepted. There are three places that synchronization can take place
Client/Server
Some observations
synchronous communication:
Messaging
Observations
separate machine
Conclusion
procedure-call mechanism.
4 Remote OS gives message to stub.
9 Client's OS gives message to stub.
Parameter marshaling
sequence of bytes
Client and server have to agree on the same encoding:
How are basic data values represented (integers, floats, characters)
How are complex data values represented (arrays, unions)
Client and server need to properly interpret messages,
Asynchronous RPCs
Essence
Try to get rid of the strict request-reply behavior, but let the client
Variation
RPC in Practice
Client-to-server binding (DCE)
Issues(1) Client must locate server machine, and (2) locate the server.
Persistent messaging
Message-Queuing Model
Essence
communication servers.
GET
the first message
Check a specified queue for messages, and remove
POLL
the first. Never block
Install a handler to be called when a message is put
NOTIFY
into the specified queue
Message Broker
Observation
Message broker
an MQ system:
IBM's WebSphere MQ
Basic concepts:
queues
Queues reside under the regime of a queue manager
Processes can put messages only in local queues, or through an
RPC mechanism
Message transfer:
a channel
At each endpoint of channel is a message channel agent
Message channel agents (MCAs ) are responsible for:
Setting up channels using lower-level network communication
Routing
Local alias for queue manager names is used to improve management flexibility.
Continuous media
Observation
Continuous media
Audio
Video
Animations
Sensor data (temperature, pressure, etc.)
Transmission modes
delivered
Synchronous: define a maximum end-to-end delay for individual
data packets
Isochronous: define a maximum end-to-end delay and maximum delay variance
(jitter is bounded)
Stream
Definition
combination audio/video
Streams are all about timely delivery of data. How do you specify this
Enforcing QoS
Observation
Also
Problem
How to reduce the effects of packet loss (when multiple samples are in
a single packet)?
Stream synchronization
Problem
synch?
Example
Think of playing out two channels, that together form stereo sound.
point (MPEG).
Time-division multiplexing
Multicast communication
Application-level multicasting
Gossip-based data dissemination
Essence
Organize nodes of a distributed system into an overlay network and use that
2 Lookup succ(mid), the node responsible for mid. ( see also previous chapter )
promote the node to become the root of the tree
3 Request is routed to succ(mid), which has become the root.
(Ra,Rb) twice.
Stretch: Ratio in delay between ALM-level path and network-level
Epidemic Algorithms
General background
Update models
Removing objects
Basic idea
afterwards
Gossiping: A replica which has just been updated (i.e., has been
Anti-entropy
Principle operations:
Observation
exchange).
Gossiping
Basic model
Observation
s = e-(k+1)(1-s)
Note
Deleting Values
Fundamental problem
We cannot remove an old value from a server and expect the removal
epidemic algorithms
Solution
certificate
90. Naming
a. Naming Entities
d. Identifier
h. Flat Naming
Simple solutions:
Home-based approaches
Use a home location to keep track of the current location of an entity.
as its precessor pred ( p ) and start linear search along the ring.
Use Finger Tables:
DNS Chord
provides a host name to IP address mapping can provide same service: Name = key, value = IP
relies on a set of special root servers requires no special servers
names reflect administrative boundaries has no naming structure
is specialized to finding named hosts or services can also be used to find data objects that are not tied to certain machines