CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and...

12
CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream- Oriented Communication

Transcript of CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and...

Page 1: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Fabián E. Bustamante, Winter 2004

Communication

Networking

RPC and Relatives

Distributed Objects

Message- & Stream-Oriented Communication

Page 2: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Layered Protocols

Low-level layers

Transport layer

Application layer

Middleware layer

Page 3: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Layers, interfaces, and protocols in the OSI model

Basic Networking Model

Page 4: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Low-Level Layers

Physical layer: contains the specification and implementation of bits, and their transmission between sender and receiver

Data link layer: prescribes the transmission of a series of bits into a frame to allow for error and flow control

Network layer: describes how packets in a network of computers are to be routed

Page 5: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Transport Layer

Important: the transport layer provides the actual communication facilities for most distributed systems

Standard Internet Protocols:

TCP: connection-oriented, reliable, stream-oriented communication

UDP: unreliable (best-effort) datagram communication

Page 6: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Client-Server TCP

TCP for transactions (T/TCP): A transport protocol aimed to support client-server interaction

Page 7: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Application Layer

Observation: Many application protocols are directly implemented on top of TP, doing a lot of app-independent work

News FTP WWW

Transfer NNTP FTP HTTP

Naming Newsgroup Host + path URL

Distribution Push Pull Pull

Replication Flooding Caching + DNS tricks

Caching + DNS tricks

Security None (PGP) Username + password

Username + password

Page 8: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Middleware Layer

Observation: Middleware is invented to provide common protocols and services that can be used by many different applicationsA rich set of communication protocols to allow different apps. to communicateMarshaling and unmarshaling of data, necessary for integrated systemsNaming protocols, so that different apps. can easily share resourcesSecurity protocols, to allow different apps. to communicate in a secure wayScaling mechanisms, such as support for replication and caching

Note: what remains are truly application-specific protocols

Page 9: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Middleware Protocols

An adapted reference model for networked communication.

Page 10: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Papers Presented

G. Eisenhauer, F. E. Bustamante and K. Schwan, Native Data Representation: An Efficient Wire Format for High-Performance Computing, IEEE Transaction on Parallel and Distributed Systems, 13 (12), pp 1234-1246, 2002. (Tuesday 1/13 - presented by Stefan Birrer) A. D. Birrell and B. J. Nelson, Implementing Remote Procedure Calls, ACM Transaction on Computer Systems, 2(1), Feb. 1984, pp 271-290. (Tuesday 1/13 - presented by James Newell) M. D. Schroeder and M. Burrows Performance of the Firefly RPC, in Proc. of the 12th Symposium on Operating System Principles, 1989. (Thursday 1/15 - presented by Stefan Birrer) G. Banaver, T. Chandra, R. Strom, D. Sturman, A Case for Message Oriented Middleware, in Proc. 13th International Symposium on Distributed Computing (DISC) (invited lecture), Sep. 1999, pp 1-18. (Thursday 1/15 - presented by Ashish Gupta)

Page 11: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems

Implementing RPC

A. D. Birrell and B. J. Nelson – 1984

Presented by: James Newell

Page 12: CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Communication Networking RPC and Relatives Distributed Objects Message- & Stream-Oriented.

CS-495 Distributed Systems