Communication in
Distributed Systems
CS4262 Distributed Systems
Dilum Bandara
Dilum.Bandara@uom.lk
Some slides extracted from Dr. Srinath Perera & Dr. Rajkumar Buyya’s
Presentation Deck
Outline
 Network Programming
 Remote Procedure Calls
 Remote Method Invocation
 Message Oriented Communication
2
Network Programming
 Communication is typically over IP
 HPC Clusters may use Infiniband or Myrinet
 Unicast, multicast, anycast, broadcast
 Only unicast is globally routable
 2 main approaches
 TCP – connection oriented
 UDP – connection less
 Lot more popular than you think!
3
End-to-End Communication
4Source: Communication Networks by
Alberto Leon-Garcia (Author), Indra Widjaja, 2000
TCP Socket Calls
5
Source: Communication Networks by Alberto Leon-
Garcia (Author), Indra Widjaja, 2000
UDP Socket Calls
6
• No “handshake”
• No simultaneous close
• No fork() for concurrent servers
Source: Communication
Networks by Alberto Leon-
Garcia (Author), Indra Widjaja,
2000
Messages
 Used to convey data among nodes
 Has a limited size
 Typically has a header
 Multiple messages may be send through same
connection
 Identify message boundaries based on size, unique
symbol patterns, etc.
 Messages can be clear text, binary, XML, JSON,
etc.
7
Communication in Distributed Systems
– History
 Started with RPC
 Went to distributed objects
 Come back to RPC + Message Oriented
Communication
8
Remote Procedure Calls (RPCs)
 Extend local procedure calls to work across computers
 Call a procedure on a remote machine “just” as you would on
local machine
 Send the call as a message & get response/fault as a
message
9
Source: http://pubs.opengroup.org/onlinepubs/9629399/chap6.htm
RPC in Action…
10Source: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007
RPC – Steps
1. Client procedure calls client stub in normal way
2. Client stub builds message, calls Middleware
3. Middleware sends message to remote Middleware
4. Remote Middleware gives message to server Skeleton
5. Server stub unpacks parameters, calls local
implementation
6. Local implementation does work, returns result to
Skeleton
7. Skeleton packs it in message, calls local Middleware
8. Server's Middleware sends message to client's
Middleware
9. Client's Middleware gives message to client stub
10. Stub unpacks result, returns to client 11
RPCs
 Introduced by Birrell & Nelson in 1984
 Pre-RPC – Most applications were built directly over Internet
primitives
 Initial idea – Mask distributed computing system using a
“transparent” abstraction
 Looks like normal procedure call
 Hides all aspects of distributed interaction
 Supports an easy programming model
 Today, RPC is the core of many distributed systems,
e.g., Web Services
 But now acknowledge other aspects like failures &
asynchronous nature, communication latency more
12
RPCs (Cont.)
13
Source - wikipedia.org
Message Exchange Patterns
 With local calls, you call, & wait for response
 But with RPC, there are other possibilities
 Send/Receive
 Send Only (Fire & Forget)
 Send with Ack (Send Robust)
 There are 2 models for client API
 Polling
 Callback
14
RPC Concerns
 How to make RPC similar to a local procedure
call?
 Communications
 Location transparency
 Parameter passing
 Heterogeneity
 OS, arch., language
 Failures
 Failure transparency
 Stubs
15
Source: http://technet.microsoft.com/en-
us/library/cc738291%28v=ws.10%29.aspx
Data in Messages
 Data is “marshalled (encoded)” into a message &
“demarshalled (decoded)” from it
 Data structures
 Flattened on transmission
 Rebuilt upon reception
 Data types
 Base types – Ints, floats
 Flat types – structures, arrays
 Complex types – pointers
 With Web services we convert them to XML
 Issues
 Big-endian vs. little-endian, strings may require padding,
alignment (16/32/64-bits), Floating point representations 16
Asynchronous & Deferred
Synchronous RPC
17
Source: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007
Directory Service
 Directory service or a UUDI registry
 UDDI - Universal Description, Discovery & Integration
18
Source: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007
RPC – What Can Go Wrong?
 Failures
 Network failure
 Client failure
 Server failure
 Assuming only network idiosyncrasies for now…
 Ignoring possibility of process & machine crashes
 …Need to overcome
 Limited levels of message loss
 Message disorder/reorder
 Message duplication
19
Overcoming Only Communication
Failures
 Each message carry
 Unique sequence number
 Timestamp from a global clock (in most RPC protocols)
 Global clock assumed to return roughly same value throughout
network, up to clock synchronization limits
 Enables server to detect & discard
 Very old messages
 Duplicate copies
 RPCs use acknowledgements
 If timeout with no ack  resend packet
 Leads to the issue of replayed requests
20
Overcoming Lost Packets
21
Client Server
Time out
Sends request
Retransmit
Ack for request
Reply
Ack for reply
Overcoming Lost Packets (Cont.)
 Acks are expensive
 Retransmissions are costly
 For big messages, send
packets in bursts & Ack a
burst at a time
22
Machines Could Fail Too…
 What does a failed request mean?
 Network failure, machine failure or both!
 If a process fails, but machine remains
operational, OS will provide sufficient status
information to accurately determine “process
failure”
 Client that issued request would not know, if
server processed the request or not
23
RPC  RMI Evolution
 By expanding RPCs to invocation on remote
objects
 Object-oriented equivalent of RPC
 Distribution transparency is enhanced
 Separation between interfaces & objects
implementing these interfaces is crucial for
distributed systems
 State of remote objects is not distributed
 Only interfaces implemented by the object are
distributed (available on other machines)
24
RMI in Action
25
RMI in Action (Cont.)
26
Source: Introduction to Java Programming, Comprehensive Version (7th Edition) by Y. Daniel Liang
RMI in Action (Cont.)
 Client binds to a distributed object residing at a server
machine
 An implementation of object’s interface, called a proxy, is
loaded to the client’s address space
 Proxy – Analogous to a client stub in RPC
 Marshals message invocations into messages – object
serialization
 Unmarshals reply messages to return method invocation result to
client
 On server side
 Incoming invocation requests are passed to a server stub, called a
skeleton
 Unmarshals invocation request into proper method invocations
 Marshals replies & forwards reply messages to client side proxy27
Remote Objects & Remote Interfaces
 RMI is interface-oriented
 Remote interface implemented by remote object
 Only methods specified by remote interfaces can be
accessed via RMI
 A remote object may implement several sets of
remote interfaces simultaneously
28Source: Introduction to Java Programming,
Comprehensive Version (7th Edition) by Y. Daniel Liang
Remote Exceptions
 If a remote method throws an exception
 Remote side
 Catch all uncaught exceptions thrown from remote methods
 Find the caller
 Map to network request
 Client side
 Keep listening
 Any time an exception could be sent from a remote side
 Unmarshall network requests to exception objects
 Re-throw remote exception objects locally, as if exception
was thrown from current method
29
Remote Exceptions (Cont.)
 RMI software itself can also throw exceptions
 Network timeout
 Other system related
 They have accepted those failures & have decided to
expose it
30
Web Services
 RPC like Distributed Communication medium
that supports interoperability
 Not that much different from RMI, RPC, etc.,
except interoperability & lack of distributed
objects
 Use XML to communicate
 Request messages, description, & discovery all use
standard XML based formats
31
Web Services (Cont.)
 Publish, find, & use
32
UDDI – Universal Description,
Discovery & Integration
Web Services (Cont.)
 Are described using WSDL
 Web Service Description Language standard
 Published & found through a UUDI registry
 Invoked through SOAP standard
 XML based protocol for accessing Web Services
 Can transmit through any transport
 HTTP most common
 SMTP, JMS, UDP, TCP, VFS are known
33
Web Services Fundamentals
34
Summary
35

More Related Content

PPT
Chapter 4- Communication in distributed system.ppt
PPTX
Unit 1
PPTX
Distributed system architecture
PDF
Inter-Process Communication in distributed systems
PPT
message passing
PPTX
Remote Procedure Call in Distributed System
PPT
fault-tolerance-slide.ppt
PPT
Distributed Systems
Chapter 4- Communication in distributed system.ppt
Unit 1
Distributed system architecture
Inter-Process Communication in distributed systems
message passing
Remote Procedure Call in Distributed System
fault-tolerance-slide.ppt
Distributed Systems

What's hot (20)

PPT
Chapter 4 a interprocess communication
PPTX
6.distributed shared memory
PPTX
2. Distributed Systems Hardware & Software concepts
PPTX
Introduction to Distributed System
PPTX
Message and Stream Oriented Communication
PPTX
Cluster computing
PDF
Distributed Operating System_1
PPTX
Message passing in Distributed Computing Systems
PPTX
PPTX
Chorus - Distributed Operating System [ case study ]
PPT
File models and file accessing models
PPTX
RPC: Remote procedure call
PPSX
Foult Tolerence In Distributed System
PPTX
Security in distributed systems
PPT
File replication
PPT
distributed shared memory
PPTX
Distributed shred memory architecture
PPT
Logical Clocks (Distributed computing)
PPT
Chapter 14 replication
PPTX
Transactions and Concurrency Control
Chapter 4 a interprocess communication
6.distributed shared memory
2. Distributed Systems Hardware & Software concepts
Introduction to Distributed System
Message and Stream Oriented Communication
Cluster computing
Distributed Operating System_1
Message passing in Distributed Computing Systems
Chorus - Distributed Operating System [ case study ]
File models and file accessing models
RPC: Remote procedure call
Foult Tolerence In Distributed System
Security in distributed systems
File replication
distributed shared memory
Distributed shred memory architecture
Logical Clocks (Distributed computing)
Chapter 14 replication
Transactions and Concurrency Control
Ad

Similar to Communication in Distributed Systems (20)

PDF
20CS2021-Distributed Computing module 2
PDF
20CS2021 Distributed Computing
PDF
18CS3040_Distributed Systems
PDF
18CS3040 Distributed System
PPT
Chapter 2B-Communication.ppt
PPTX
Chapter 2- distributed system Communication.pptx
PPT
DS-Chapter DDEFR2-Communication_105220.ppt
PPTX
CHP-4.pptx
PDF
communicationsection123-150610092456-lva1-app6891.pdf
PDF
5. Distributed Operating Systems
PPTX
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
PPTX
Middleware in Distributed System-RPC,RMI
PPT
2.communcation in distributed system
PPTX
Distributed, Network System and RPC.pptx
PPT
Communication in Distributed System.ppt
PPTX
UNIT I DIS.pptx
PPT
Parallel systemhhzgzhzbzhhzhzhuzhzhzhhzhzh
PPT
Distributes objects and Rmi
PPTX
DS PPT NEW FOR DATA SCCIENCE FROM CSE DEPT CMR
PPT
Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8
20CS2021-Distributed Computing module 2
20CS2021 Distributed Computing
18CS3040_Distributed Systems
18CS3040 Distributed System
Chapter 2B-Communication.ppt
Chapter 2- distributed system Communication.pptx
DS-Chapter DDEFR2-Communication_105220.ppt
CHP-4.pptx
communicationsection123-150610092456-lva1-app6891.pdf
5. Distributed Operating Systems
Message Passing, Remote Procedure Calls and Distributed Shared Memory as Com...
Middleware in Distributed System-RPC,RMI
2.communcation in distributed system
Distributed, Network System and RPC.pptx
Communication in Distributed System.ppt
UNIT I DIS.pptx
Parallel systemhhzgzhzbzhhzhzhuzhzhzhhzhzh
Distributes objects and Rmi
DS PPT NEW FOR DATA SCCIENCE FROM CSE DEPT CMR
Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8
Ad

More from Dilum Bandara (20)

PPTX
Designing for Multiple Blockchains in Industry Ecosystems
PPTX
Introduction to Machine Learning
PPTX
Time Series Analysis and Forecasting in Practice
PPTX
Introduction to Dimension Reduction with PCA
PPTX
Introduction to Descriptive & Predictive Analytics
PPTX
Introduction to Concurrent Data Structures
PPTX
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
PPTX
Introduction to Map-Reduce Programming with Hadoop
PPTX
Embarrassingly/Delightfully Parallel Problems
PPTX
Introduction to Warehouse-Scale Computers
PPTX
Introduction to Thread Level Parallelism
PPTX
CPU Memory Hierarchy and Caching Techniques
PPTX
Data-Level Parallelism in Microprocessors
PDF
Instruction Level Parallelism – Hardware Techniques
PPTX
Instruction Level Parallelism – Compiler Techniques
PPTX
CPU Pipelining and Hazards - An Introduction
PPTX
Advanced Computer Architecture – An Introduction
PPTX
High Performance Networking with Advanced TCP
PPTX
Introduction to Content Delivery Networks
PPTX
Peer-to-Peer Networking Systems and Streaming
Designing for Multiple Blockchains in Industry Ecosystems
Introduction to Machine Learning
Time Series Analysis and Forecasting in Practice
Introduction to Dimension Reduction with PCA
Introduction to Descriptive & Predictive Analytics
Introduction to Concurrent Data Structures
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Introduction to Map-Reduce Programming with Hadoop
Embarrassingly/Delightfully Parallel Problems
Introduction to Warehouse-Scale Computers
Introduction to Thread Level Parallelism
CPU Memory Hierarchy and Caching Techniques
Data-Level Parallelism in Microprocessors
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Compiler Techniques
CPU Pipelining and Hazards - An Introduction
Advanced Computer Architecture – An Introduction
High Performance Networking with Advanced TCP
Introduction to Content Delivery Networks
Peer-to-Peer Networking Systems and Streaming

Recently uploaded (20)

PPTX
Agentic Artificial Intelligence (Agentic AI).pptx
PDF
LS-6-Digital-Literacy (1) K12 CURRICULUM .pdf
PPTX
ARCHITECTURE AND PROGRAMMING OF EMBEDDED SYSTEMS
PPTX
DATA STRCUTURE LABORATORY -BCSL305(PRG1)
PPTX
Module1.pptxrjkeieuekwkwoowkemehehehrjrjrj
PPTX
Unit IImachinemachinetoolopeartions.pptx
PDF
Mechanics of materials week 2 rajeshwari
PDF
Principles of operation, construction, theory, advantages and disadvantages, ...
PDF
Lesson 3 .pdf
PDF
ECT443_instrumentation_Engg_mod-1.pdf indroduction to instrumentation
PDF
electrical machines course file-anna university
PDF
IAE-V2500 Engine for Airbus Family 319/320
PDF
Research on ultrasonic sensor for TTU.pdf
PPTX
CS6006 - CLOUD COMPUTING - Module - 1.pptx
PDF
V2500 Owner and Operatore Guide for Airbus
DOCX
An investigation of the use of recycled crumb rubber as a partial replacement...
PPTX
Solar energy pdf of gitam songa hemant k
PPTX
22ME926Introduction to Business Intelligence and Analytics, Advanced Integrat...
PDF
Cryptography and Network Security-Module-I.pdf
PPTX
Design ,Art Across Digital Realities and eXtended Reality
Agentic Artificial Intelligence (Agentic AI).pptx
LS-6-Digital-Literacy (1) K12 CURRICULUM .pdf
ARCHITECTURE AND PROGRAMMING OF EMBEDDED SYSTEMS
DATA STRCUTURE LABORATORY -BCSL305(PRG1)
Module1.pptxrjkeieuekwkwoowkemehehehrjrjrj
Unit IImachinemachinetoolopeartions.pptx
Mechanics of materials week 2 rajeshwari
Principles of operation, construction, theory, advantages and disadvantages, ...
Lesson 3 .pdf
ECT443_instrumentation_Engg_mod-1.pdf indroduction to instrumentation
electrical machines course file-anna university
IAE-V2500 Engine for Airbus Family 319/320
Research on ultrasonic sensor for TTU.pdf
CS6006 - CLOUD COMPUTING - Module - 1.pptx
V2500 Owner and Operatore Guide for Airbus
An investigation of the use of recycled crumb rubber as a partial replacement...
Solar energy pdf of gitam songa hemant k
22ME926Introduction to Business Intelligence and Analytics, Advanced Integrat...
Cryptography and Network Security-Module-I.pdf
Design ,Art Across Digital Realities and eXtended Reality

Communication in Distributed Systems

  • 1. Communication in Distributed Systems CS4262 Distributed Systems Dilum Bandara [email protected] Some slides extracted from Dr. Srinath Perera & Dr. Rajkumar Buyya’s Presentation Deck
  • 2. Outline  Network Programming  Remote Procedure Calls  Remote Method Invocation  Message Oriented Communication 2
  • 3. Network Programming  Communication is typically over IP  HPC Clusters may use Infiniband or Myrinet  Unicast, multicast, anycast, broadcast  Only unicast is globally routable  2 main approaches  TCP – connection oriented  UDP – connection less  Lot more popular than you think! 3
  • 4. End-to-End Communication 4Source: Communication Networks by Alberto Leon-Garcia (Author), Indra Widjaja, 2000
  • 5. TCP Socket Calls 5 Source: Communication Networks by Alberto Leon- Garcia (Author), Indra Widjaja, 2000
  • 6. UDP Socket Calls 6 • No “handshake” • No simultaneous close • No fork() for concurrent servers Source: Communication Networks by Alberto Leon- Garcia (Author), Indra Widjaja, 2000
  • 7. Messages  Used to convey data among nodes  Has a limited size  Typically has a header  Multiple messages may be send through same connection  Identify message boundaries based on size, unique symbol patterns, etc.  Messages can be clear text, binary, XML, JSON, etc. 7
  • 8. Communication in Distributed Systems – History  Started with RPC  Went to distributed objects  Come back to RPC + Message Oriented Communication 8
  • 9. Remote Procedure Calls (RPCs)  Extend local procedure calls to work across computers  Call a procedure on a remote machine “just” as you would on local machine  Send the call as a message & get response/fault as a message 9 Source: http://pubs.opengroup.org/onlinepubs/9629399/chap6.htm
  • 10. RPC in Action… 10Source: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007
  • 11. RPC – Steps 1. Client procedure calls client stub in normal way 2. Client stub builds message, calls Middleware 3. Middleware sends message to remote Middleware 4. Remote Middleware gives message to server Skeleton 5. Server stub unpacks parameters, calls local implementation 6. Local implementation does work, returns result to Skeleton 7. Skeleton packs it in message, calls local Middleware 8. Server's Middleware sends message to client's Middleware 9. Client's Middleware gives message to client stub 10. Stub unpacks result, returns to client 11
  • 12. RPCs  Introduced by Birrell & Nelson in 1984  Pre-RPC – Most applications were built directly over Internet primitives  Initial idea – Mask distributed computing system using a “transparent” abstraction  Looks like normal procedure call  Hides all aspects of distributed interaction  Supports an easy programming model  Today, RPC is the core of many distributed systems, e.g., Web Services  But now acknowledge other aspects like failures & asynchronous nature, communication latency more 12
  • 13. RPCs (Cont.) 13 Source - wikipedia.org
  • 14. Message Exchange Patterns  With local calls, you call, & wait for response  But with RPC, there are other possibilities  Send/Receive  Send Only (Fire & Forget)  Send with Ack (Send Robust)  There are 2 models for client API  Polling  Callback 14
  • 15. RPC Concerns  How to make RPC similar to a local procedure call?  Communications  Location transparency  Parameter passing  Heterogeneity  OS, arch., language  Failures  Failure transparency  Stubs 15 Source: http://technet.microsoft.com/en- us/library/cc738291%28v=ws.10%29.aspx
  • 16. Data in Messages  Data is “marshalled (encoded)” into a message & “demarshalled (decoded)” from it  Data structures  Flattened on transmission  Rebuilt upon reception  Data types  Base types – Ints, floats  Flat types – structures, arrays  Complex types – pointers  With Web services we convert them to XML  Issues  Big-endian vs. little-endian, strings may require padding, alignment (16/32/64-bits), Floating point representations 16
  • 17. Asynchronous & Deferred Synchronous RPC 17 Source: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007
  • 18. Directory Service  Directory service or a UUDI registry  UDDI - Universal Description, Discovery & Integration 18 Source: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007
  • 19. RPC – What Can Go Wrong?  Failures  Network failure  Client failure  Server failure  Assuming only network idiosyncrasies for now…  Ignoring possibility of process & machine crashes  …Need to overcome  Limited levels of message loss  Message disorder/reorder  Message duplication 19
  • 20. Overcoming Only Communication Failures  Each message carry  Unique sequence number  Timestamp from a global clock (in most RPC protocols)  Global clock assumed to return roughly same value throughout network, up to clock synchronization limits  Enables server to detect & discard  Very old messages  Duplicate copies  RPCs use acknowledgements  If timeout with no ack  resend packet  Leads to the issue of replayed requests 20
  • 21. Overcoming Lost Packets 21 Client Server Time out Sends request Retransmit Ack for request Reply Ack for reply
  • 22. Overcoming Lost Packets (Cont.)  Acks are expensive  Retransmissions are costly  For big messages, send packets in bursts & Ack a burst at a time 22
  • 23. Machines Could Fail Too…  What does a failed request mean?  Network failure, machine failure or both!  If a process fails, but machine remains operational, OS will provide sufficient status information to accurately determine “process failure”  Client that issued request would not know, if server processed the request or not 23
  • 24. RPC  RMI Evolution  By expanding RPCs to invocation on remote objects  Object-oriented equivalent of RPC  Distribution transparency is enhanced  Separation between interfaces & objects implementing these interfaces is crucial for distributed systems  State of remote objects is not distributed  Only interfaces implemented by the object are distributed (available on other machines) 24
  • 26. RMI in Action (Cont.) 26 Source: Introduction to Java Programming, Comprehensive Version (7th Edition) by Y. Daniel Liang
  • 27. RMI in Action (Cont.)  Client binds to a distributed object residing at a server machine  An implementation of object’s interface, called a proxy, is loaded to the client’s address space  Proxy – Analogous to a client stub in RPC  Marshals message invocations into messages – object serialization  Unmarshals reply messages to return method invocation result to client  On server side  Incoming invocation requests are passed to a server stub, called a skeleton  Unmarshals invocation request into proper method invocations  Marshals replies & forwards reply messages to client side proxy27
  • 28. Remote Objects & Remote Interfaces  RMI is interface-oriented  Remote interface implemented by remote object  Only methods specified by remote interfaces can be accessed via RMI  A remote object may implement several sets of remote interfaces simultaneously 28Source: Introduction to Java Programming, Comprehensive Version (7th Edition) by Y. Daniel Liang
  • 29. Remote Exceptions  If a remote method throws an exception  Remote side  Catch all uncaught exceptions thrown from remote methods  Find the caller  Map to network request  Client side  Keep listening  Any time an exception could be sent from a remote side  Unmarshall network requests to exception objects  Re-throw remote exception objects locally, as if exception was thrown from current method 29
  • 30. Remote Exceptions (Cont.)  RMI software itself can also throw exceptions  Network timeout  Other system related  They have accepted those failures & have decided to expose it 30
  • 31. Web Services  RPC like Distributed Communication medium that supports interoperability  Not that much different from RMI, RPC, etc., except interoperability & lack of distributed objects  Use XML to communicate  Request messages, description, & discovery all use standard XML based formats 31
  • 32. Web Services (Cont.)  Publish, find, & use 32 UDDI – Universal Description, Discovery & Integration
  • 33. Web Services (Cont.)  Are described using WSDL  Web Service Description Language standard  Published & found through a UUDI registry  Invoked through SOAP standard  XML based protocol for accessing Web Services  Can transmit through any transport  HTTP most common  SMTP, JMS, UDP, TCP, VFS are known 33

Editor's Notes

  • #17: Big-endian vs. little-endian - http://h71000.www7.hp.com/doc/82final/6443/zk-6654a.gif
  • #19: DCE RPC is a facility for calling a procedure on a remote machine as if it were a local procedure call
  • #33: UDDI a platform-independent, XML-based registry by which businesses worldwide can list themselves on the Internet, and a mechanism to register and locate web service applications.
  • #34: JMS – Java Message Service VFS – Virtual File System