Chenguang Kong
Message Passing Communication
Request/Reply Communication
Transaction Communication
Name and Directory Services
Investigation on Future Work
A set of methods for the exchange of data among
multiple processes or computers
Divided into different methods based on the
bandwidth and latency of communication between
the processes, and the type of data being
 Message
Passing Communication
 Request/Reply Communication
 Transaction Communication
Message Passing
A specification allowing computers communicate
with each other
Lowest level of inter-process communicate
Two message passing primitives
 Receive(source,message)
Two types: pipe and socket`
Message Passing
 Unidirectional
Implemented with finite size, FIFO byte stream buffer
maintained by the kernel
 One process writes data into tail end of pipe while another
process reads from head end of the pipe.
Message Passing
communication end point of a communication link
managed by the transport services
 The most popular message passing API
 The goal of secure socket layer:
 Privacy by using symmetric cryptographic data encryption
 Integrity by using message integrity check
 Authenticity by
using asymmetric public key cryptography
Request/Reply Communication
Technique for one application to request the
services of another
The layer upper message passing
Remote Procedure Calls
 Most
widely used model
 Communication transparency
 A central component in most distributed system
Request/Reply Communication
Operations involving remote procedure call
 Parameter
Passing and Data Conversion
 What
types of data can be passed
 How is it represented
 Binding
 How
does a client locate server and a server register
 Compilation
 Where
do the stub procedures come from
 How are they linked
Request/Reply Communication
Operations involving remote procedure call
 Exception
 How
and Failure Handling
are errors reported and dealt
 Security
Transaction Communication
The basic unit of client-server process interaction in
a database system
Every transaction is ACID compliant in accordance
with concurrency control and transparency in the DS
Transaction Communication
 Atomicity
or NO operations in a transaction are performed
 Consistency
 Consistent
state is maintained before a transaction starts
and after it concludes
 Isolation
 Concurrent
transactions DO NOT interfere with each other
 Durability
 transactions
results are locked/ permanent after being
Transaction Communication
Two Phase Commit Protocol
type of atomic commitment protocol (ACP)
 A distributed algorithm that coordinates all the
processes that participate in a distributed atomic
transaction on whether to commit or abort the
 Assures that ACID properties are achieved
Transaction Communication
Two Phase Commit Protocol
Transaction Communication
Standard specification for distributed transaction processing
(DTP) by The Open Group
 describes
the interface between the global transaction
manager and the local resource manager
 Two Phase Commit is used
Name and Directory Service
Inter-process communication in distributed systems
relies on the support of a name service
A generic way of describing how a named object
can be addressed and subsequently located by
using its address
Enable user to reference network resources with
short names instead of real addresses
Name and Directory Service
Naming structure
Name structures
Flat structure
<name, attributes,
Hierarchical structure namebased resolution
(white pages)
<name, type, attributes, Structure-free attributeaddress>
based resolution (yellow
Name and Directory Service
Directory Service
 The
namespace for the network
 Used to hold one or more objects as named entries
 The directory design process normally has a set of rules
that determine how network resources are named and
Name and Directory Service
Implementations of directory service
 X.500
series of computer networking standards covering
electronic directory services
 developed by ITU-T and ISO
 DAP (Directory Access Protocol)
 DSP (Directory System Protocol)
 DISP (Directory Information Shadowing Protocol)
 DOP (Directory Operational Bindings Management Protocol)
Name and Directory Service
Implementations of directory service
 Domain
Name System: (DNS)
 Windows NT Directory Services (NTDS)
 Sun Java System Directory Server
 Apache Directory Server
 OpenDS
Potential future work
Virtualization in Cloud Computing
 Every
custom is arranged a virtual machine to serve
 Inter-process communication among the virtual machines
is a non-trivial problem
 E.g.
name service, network routing, directory service
Potential future work
Mixed network
 Cellular
 Sensor network
 Cyber physical network
Next generation network structure
 Current
TCP/IP structure has many open challenges
 Some researchers propose to construct next generation
network structure
 Many topics involving inter-process communication
Randy Chow, Theodore Johnson, “Distributed Operating Systems &
Algorithms”, 1997
Ammann, E.M. , "DIPC-a monitor for distributed inter-process
communication" Parallel and Distributed Processing, 1995.
Proceedings. Euromicro Workshop on , vol., no., pp.272-279, 25-27 Jan
Muelder, C.; Gygi, F.; Kwan-Liu Ma; , "Visual Analysis of Inter-Process
Communication for Large-Scale Parallel Computing,", IEEE
Transactions on Visualization and Computer Graphics, vol.15, no.6,
pp.1129-1136, Nov.-Dec. 2009
Stevens, Richard. UNIX Network Programming, Volume 2, Second
Edition: Interprocess Communications. Prentice Hall, 1999
Mirtaheri, S.L.; Khaneghah, E.M.; Sharifi, M.; Azgomi, M.A.; , "The Influence of
Efficient Message Passing Mechanisms on High Performance Distributed
Scientific Computing," Parallel and Distributed Processing with Applications, 2008.
ISPA '08. International Symposium on , vol., no., pp.663-668, 10-12 Dec. 2008