SlideShare a Scribd company logo
Communication
Chapter 2
Layered Protocols (1)
Layers, interfaces, and protocols in the OSI model.
2-1
Layered Protocols (2)
A typical message as it appears on the network.
2-2
Data Link Layer
Discussion between a receiver and a sender in the data link layer.
2-3
Client-Server TCP
a) Normal operation of TCP.
b) Transactional TCP.
2-4
Middleware Protocols
An adapted reference model for networked communication.
2-5
Conventional Procedure Call
a) Parameter passing in a local procedure call: the stack before the call to read
b) The stack while the called procedure is active
Client and Server Stubs
Principle of RPC between a client and server program.
Steps of a Remote Procedure Call
1. Client procedure calls client stub in normal way
2. Client stub builds message, calls local OS
3. Client's OS sends message to remote OS
4. Remote OS gives message to server stub
5. Server stub unpacks parameters, calls server
6. Server does work, returns result to the stub
7. Server stub packs it in message, calls local OS
8. Server's OS sends message to client's OS
9. Client's OS gives message to client stub
10. Stub unpacks result, returns to client
Passing Value Parameters (1)
Steps involved in doing remote computation through RPC
2-8
Passing Value Parameters (2)
a) Original message on the Pentium
b) The message after receipt on the SPARC
c) The message after being inverted. The little numbers in
boxes indicate the address of each byte
Parameter Specification and Stub Generation
a) A procedure
b) The corresponding message.
Doors
The principle of using doors as IPC mechanism.
Asynchronous RPC (1)
a) The interconnection between client and server in a
traditional RPC
b) The interaction using asynchronous RPC
2-12
Asynchronous RPC (2)
A client and server interacting through two asynchronous RPCs
2-13
Writing a Client and a Server
The steps in writing a client and a server in DCE RPC.
2-14
Binding a Client to a Server
Client-to-server binding in DCE.
2-15
Distributed Objects
Common organization of a remote object with client-side proxy.
2-16
Binding a Client to an Object
a) (a) Example with implicit binding using only global references
b) (b) Example with explicit binding using global and local references
Distr_object* obj_ref; //Declare a systemwide object reference
obj_ref = …; // Initialize the reference to a distributed object
obj_ref-> do_something(); // Implicitly bind and invoke a method
(a)
Distr_object objPref; //Declare a systemwide object reference
Local_object* obj_ptr; //Declare a pointer to local objects
obj_ref = …; //Initialize the reference to a distributed object
obj_ptr = bind(obj_ref); //Explicitly bind and obtain a pointer to the local proxy
obj_ptr -> do_something(); //Invoke a method on the local proxy
(b)
Parameter Passing
The situation when passing an object by reference or by value.
2-18
The DCE Distributed-Object Model
a) Distributed dynamic objects in DCE.
b) Distributed named objects
2-19
Persistence and Synchronicity in Communication (1)
General organization of a communication system in which hosts are
connected through a network
2-20
Persistence and Synchronicity in Communication (2)
Persistent communication of letters back in the days of the Pony
Express.
Persistence and Synchronicity in Communication (3)
a) Persistent asynchronous communication
b) Persistent synchronous communication
2-22.1
Persistence and Synchronicity in Communication (4)
c) Transient asynchronous communication
d) Receipt-based transient synchronous communication
2-22.2
Persistence and Synchronicity in Communication (5)
e) Delivery-based transient synchronous communication at
message delivery
f) Response-based transient synchronous communication
Berkeley Sockets (1)
Socket primitives for TCP/IP.
Primitive Meaning
Socket Create a new communication endpoint
Bind Attach a local address to a socket
Listen Announce willingness to accept connections
Accept Block caller until a connection request arrives
Connect Actively attempt to establish a connection
Send Send some data over the connection
Receive Receive some data over the connection
Close Release the connection
Berkeley Sockets (2)
Connection-oriented communication pattern using sockets.
The Message-Passing Interface (MPI)
Some of the most intuitive message-passing primitives of MPI.
Primitive Meaning
MPI_bsend Append outgoing message to a local send buffer
MPI_send Send a message and wait until copied to local or remote buffer
MPI_ssend Send a message and wait until receipt starts
MPI_sendrecv Send a message and wait for reply
MPI_isend Pass reference to outgoing message, and continue
MPI_issend Pass reference to outgoing message, and wait until receipt starts
MPI_recv Receive a message; block if there are none
MPI_irecv Check if there is an incoming message, but do not block
Message-Queuing Model (1)
Four combinations for loosely-coupled communications using queues.
2-26
Message-Queuing Model (2)
Basic interface to a queue in a message-queuing system.
Primitive Meaning
Put Append a message to a specified queue
Get Block until the specified queue is nonempty, and remove the first message
Poll Check a specified queue for messages, and remove the first. Never block.
Notify
Install a handler to be called when a message is put into the specified
queue.
General Architecture of a Message-Queuing System (1)
The relationship between queue-level addressing and network-level
addressing.
General Architecture of a Message-Queuing System (2)
The general organization of a message-queuing system with routers.
2-29
Message Brokers
The general organization of a message broker in a message-queuing
system.
2-30
Example: IBM MQSeries
General organization of IBM's MQSeries message-queuing system.
2-31
Channels
Some attributes associated with message channel agents.
Attribute Description
Transport type Determines the transport protocol to be used
FIFO delivery Indicates that messages are to be delivered in the order they are sent
Message length Maximum length of a single message
Setup retry
count
Specifies maximum number of retries to start up the remote MCA
Delivery retries Maximum times MCA will try to put received message into queue
Message Transfer (1)
The general organization of an MQSeries queuing network using routing
tables and aliases.
Message Transfer (2)
Primitives available in an IBM MQSeries MQI
Primitive Description
MQopen Open a (possibly remote) queue
MQclose Close a queue
MQput Put a message into an opened queue
MQget Get a message from a (local) queue
Data Stream (1)
Setting up a stream between two processes across a network.
Data Stream (2)
Setting up a stream directly between two devices.
2-35.2
Data Stream (3)
An example of multicasting a stream to several receivers.
Specifying QoS (1)
A flow specification.
Characteristics of the Input Service Required
•maximum data unit size (bytes)
•Token bucket rate (bytes/sec)
•Toke bucket size (bytes)
•Maximum transmission rate
(bytes/sec)
•Loss sensitivity (bytes)
•Loss interval (µsec)
•Burst loss sensitivity (data units)
•Minimum delay noticed (µsec)
•Maximum delay variation (µsec)
•Quality of guarantee
Specifying QoS (2)
The principle of a token bucket algorithm.
Setting Up a Stream
The basic organization of RSVP for resource reservation in a distributed
system.
Synchronization Mechanisms (1)
The principle of explicit synchronization on the level data units.
Synchronization Mechanisms (2)
The principle of synchronization as supported by high-level interfaces.
2-41

More Related Content

PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar

What's hot (20)

PPT
Group Communication (Distributed computing)
PPTX
Message passing ( in computer science)
PPT
PPTX
Message Passing Systems
PPT
Inter-Process Communication (IPC) techniques on Mac OS X
PPT
Socket Programming
PPTX
application layer protocols
PPT
Interprocess communication (IPC) IN O.S
PDF
PPTX
Networking in Java
PPTX
PDF
TIPC Overview
PPT
Networking in java
PDF
TIPC Roadmap 2021
PDF
Overlapping Ping Monitoring
PPTX
Message passing in Distributed Computing Systems
PDF
Tipc Communication Groups
PPT
java networking
PPSX
Data Replication in Distributed System
PDF
Java networking programs - theory
Group Communication (Distributed computing)
Message passing ( in computer science)
Message Passing Systems
Inter-Process Communication (IPC) techniques on Mac OS X
Socket Programming
application layer protocols
Interprocess communication (IPC) IN O.S
Networking in Java
TIPC Overview
Networking in java
TIPC Roadmap 2021
Overlapping Ping Monitoring
Message passing in Distributed Computing Systems
Tipc Communication Groups
java networking
Data Replication in Distributed System
Java networking programs - theory
Ad

Similar to Distributed System by Pratik Tambekar (20)

PDF
Cs556 section3
PDF
Cs556 section3
PPTX
Chapter 2- distributed system Communication.pptx
PPT
Chapter 2B-Communication.ppt
PPT
DS-Chapter DDEFR2-Communication_105220.ppt
PPT
CN_UNIT4.ppt ytutuim jykhjl fjghkhj gjjj
PPT
CN_UNIT4.ppt notre knxckvj bjbDJKVHFL jb
PPTX
CHP-4.pptx
PDF
DCS Unit-II COMMUNICATION AND COORDINATION.pdf
PPTX
Distributed Systems Distributed Systems- COMMUNICATION.pptx
PPTX
Distributed Systems Distributed Systems- COMMUNICATION.pptx
PPT
Transport services
PPTX
Chuong5_Networking_updated.Networking_updatedpptx
PPT
Foundation of computerr nnetworks strong
PDF
PDF
Intake 37 12
PDF
Socket Programming
PPT
Chapter 4 communication2
 
PDF
layering.pdf
PPTX
Middleware in Distributed System-RPC,RMI
Cs556 section3
Cs556 section3
Chapter 2- distributed system Communication.pptx
Chapter 2B-Communication.ppt
DS-Chapter DDEFR2-Communication_105220.ppt
CN_UNIT4.ppt ytutuim jykhjl fjghkhj gjjj
CN_UNIT4.ppt notre knxckvj bjbDJKVHFL jb
CHP-4.pptx
DCS Unit-II COMMUNICATION AND COORDINATION.pdf
Distributed Systems Distributed Systems- COMMUNICATION.pptx
Distributed Systems Distributed Systems- COMMUNICATION.pptx
Transport services
Chuong5_Networking_updated.Networking_updatedpptx
Foundation of computerr nnetworks strong
Intake 37 12
Socket Programming
Chapter 4 communication2
 
layering.pdf
Middleware in Distributed System-RPC,RMI
Ad

More from Pratik Tambekar (9)

PPTX
ASP DOT NET
PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
PPT
Distributed System by Pratik Tambekar
PPT
Data Mining Concepts and Techniques
PPT
What Is DATA MINING(INTRODUCTION)
PPT
Distributed Transaction
PPT
World Wide Web(WWW)
PPTX
How To Add System Call In Ubuntu OS
ASP DOT NET
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
Data Mining Concepts and Techniques
What Is DATA MINING(INTRODUCTION)
Distributed Transaction
World Wide Web(WWW)
How To Add System Call In Ubuntu OS

Recently uploaded (20)

PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Sustainable Sites - Green Building Construction
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
additive manufacturing of ss316l using mig welding
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Structs to JSON How Go Powers REST APIs.pdf
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Internet of Things (IOT) - A guide to understanding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Foundation to blockchain - A guide to Blockchain Tech
Model Code of Practice - Construction Work - 21102022 .pdf
Sustainable Sites - Green Building Construction
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Embodied AI: Ushering in the Next Era of Intelligent Systems
CYBER-CRIMES AND SECURITY A guide to understanding
additive manufacturing of ss316l using mig welding
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
OOP with Java - Java Introduction (Basics)
Structs to JSON How Go Powers REST APIs.pdf
Lesson 3_Tessellation.pptx finite Mathematics
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx

Distributed System by Pratik Tambekar

  • 2. Layered Protocols (1) Layers, interfaces, and protocols in the OSI model. 2-1
  • 3. Layered Protocols (2) A typical message as it appears on the network. 2-2
  • 4. Data Link Layer Discussion between a receiver and a sender in the data link layer. 2-3
  • 5. Client-Server TCP a) Normal operation of TCP. b) Transactional TCP. 2-4
  • 6. Middleware Protocols An adapted reference model for networked communication. 2-5
  • 7. Conventional Procedure Call a) Parameter passing in a local procedure call: the stack before the call to read b) The stack while the called procedure is active
  • 8. Client and Server Stubs Principle of RPC between a client and server program.
  • 9. Steps of a Remote Procedure Call 1. Client procedure calls client stub in normal way 2. Client stub builds message, calls local OS 3. Client's OS sends message to remote OS 4. Remote OS gives message to server stub 5. Server stub unpacks parameters, calls server 6. Server does work, returns result to the stub 7. Server stub packs it in message, calls local OS 8. Server's OS sends message to client's OS 9. Client's OS gives message to client stub 10. Stub unpacks result, returns to client
  • 10. Passing Value Parameters (1) Steps involved in doing remote computation through RPC 2-8
  • 11. Passing Value Parameters (2) a) Original message on the Pentium b) The message after receipt on the SPARC c) The message after being inverted. The little numbers in boxes indicate the address of each byte
  • 12. Parameter Specification and Stub Generation a) A procedure b) The corresponding message.
  • 13. Doors The principle of using doors as IPC mechanism.
  • 14. Asynchronous RPC (1) a) The interconnection between client and server in a traditional RPC b) The interaction using asynchronous RPC 2-12
  • 15. Asynchronous RPC (2) A client and server interacting through two asynchronous RPCs 2-13
  • 16. Writing a Client and a Server The steps in writing a client and a server in DCE RPC. 2-14
  • 17. Binding a Client to a Server Client-to-server binding in DCE. 2-15
  • 18. Distributed Objects Common organization of a remote object with client-side proxy. 2-16
  • 19. Binding a Client to an Object a) (a) Example with implicit binding using only global references b) (b) Example with explicit binding using global and local references Distr_object* obj_ref; //Declare a systemwide object reference obj_ref = …; // Initialize the reference to a distributed object obj_ref-> do_something(); // Implicitly bind and invoke a method (a) Distr_object objPref; //Declare a systemwide object reference Local_object* obj_ptr; //Declare a pointer to local objects obj_ref = …; //Initialize the reference to a distributed object obj_ptr = bind(obj_ref); //Explicitly bind and obtain a pointer to the local proxy obj_ptr -> do_something(); //Invoke a method on the local proxy (b)
  • 20. Parameter Passing The situation when passing an object by reference or by value. 2-18
  • 21. The DCE Distributed-Object Model a) Distributed dynamic objects in DCE. b) Distributed named objects 2-19
  • 22. Persistence and Synchronicity in Communication (1) General organization of a communication system in which hosts are connected through a network 2-20
  • 23. Persistence and Synchronicity in Communication (2) Persistent communication of letters back in the days of the Pony Express.
  • 24. Persistence and Synchronicity in Communication (3) a) Persistent asynchronous communication b) Persistent synchronous communication 2-22.1
  • 25. Persistence and Synchronicity in Communication (4) c) Transient asynchronous communication d) Receipt-based transient synchronous communication 2-22.2
  • 26. Persistence and Synchronicity in Communication (5) e) Delivery-based transient synchronous communication at message delivery f) Response-based transient synchronous communication
  • 27. Berkeley Sockets (1) Socket primitives for TCP/IP. Primitive Meaning Socket Create a new communication endpoint Bind Attach a local address to a socket Listen Announce willingness to accept connections Accept Block caller until a connection request arrives Connect Actively attempt to establish a connection Send Send some data over the connection Receive Receive some data over the connection Close Release the connection
  • 28. Berkeley Sockets (2) Connection-oriented communication pattern using sockets.
  • 29. The Message-Passing Interface (MPI) Some of the most intuitive message-passing primitives of MPI. Primitive Meaning MPI_bsend Append outgoing message to a local send buffer MPI_send Send a message and wait until copied to local or remote buffer MPI_ssend Send a message and wait until receipt starts MPI_sendrecv Send a message and wait for reply MPI_isend Pass reference to outgoing message, and continue MPI_issend Pass reference to outgoing message, and wait until receipt starts MPI_recv Receive a message; block if there are none MPI_irecv Check if there is an incoming message, but do not block
  • 30. Message-Queuing Model (1) Four combinations for loosely-coupled communications using queues. 2-26
  • 31. Message-Queuing Model (2) Basic interface to a queue in a message-queuing system. Primitive Meaning Put Append a message to a specified queue Get Block until the specified queue is nonempty, and remove the first message Poll Check a specified queue for messages, and remove the first. Never block. Notify Install a handler to be called when a message is put into the specified queue.
  • 32. General Architecture of a Message-Queuing System (1) The relationship between queue-level addressing and network-level addressing.
  • 33. General Architecture of a Message-Queuing System (2) The general organization of a message-queuing system with routers. 2-29
  • 34. Message Brokers The general organization of a message broker in a message-queuing system. 2-30
  • 35. Example: IBM MQSeries General organization of IBM's MQSeries message-queuing system. 2-31
  • 36. Channels Some attributes associated with message channel agents. Attribute Description Transport type Determines the transport protocol to be used FIFO delivery Indicates that messages are to be delivered in the order they are sent Message length Maximum length of a single message Setup retry count Specifies maximum number of retries to start up the remote MCA Delivery retries Maximum times MCA will try to put received message into queue
  • 37. Message Transfer (1) The general organization of an MQSeries queuing network using routing tables and aliases.
  • 38. Message Transfer (2) Primitives available in an IBM MQSeries MQI Primitive Description MQopen Open a (possibly remote) queue MQclose Close a queue MQput Put a message into an opened queue MQget Get a message from a (local) queue
  • 39. Data Stream (1) Setting up a stream between two processes across a network.
  • 40. Data Stream (2) Setting up a stream directly between two devices. 2-35.2
  • 41. Data Stream (3) An example of multicasting a stream to several receivers.
  • 42. Specifying QoS (1) A flow specification. Characteristics of the Input Service Required •maximum data unit size (bytes) •Token bucket rate (bytes/sec) •Toke bucket size (bytes) •Maximum transmission rate (bytes/sec) •Loss sensitivity (bytes) •Loss interval (µsec) •Burst loss sensitivity (data units) •Minimum delay noticed (µsec) •Maximum delay variation (µsec) •Quality of guarantee
  • 43. Specifying QoS (2) The principle of a token bucket algorithm.
  • 44. Setting Up a Stream The basic organization of RSVP for resource reservation in a distributed system.
  • 45. Synchronization Mechanisms (1) The principle of explicit synchronization on the level data units.
  • 46. Synchronization Mechanisms (2) The principle of synchronization as supported by high-level interfaces. 2-41