SKR 5302: Advanced Distributed Computing
SKR 5302: Advanced Distributed Computing © 2025 by Masnida Hussin is licensed under CC BY-SA 4.0
4. Chapter 4: Inter-process Communication
4.6. Elements of C-S Computing
Elements of C-S Computing

Processes follow protocol that defined a set of rules that must be observed by participants:
- How the data is exchange is encoded?
- How are events (sending, receiving) are synchronized (ordered) so that participants can send and receive in a coordinated manner?
Face-to-face communication, humans beings follow unspoken protocol based on eye contact, body language, gesture.
Client/sever model
Client asks (request) – server provides (response)
Typically: single server - multiple clients
The server does not need to know anything about the client
- even that it exists
The client should always know something about the server
- at least where it is located

Networking Basics
TCP/IP Stack

Physical/Link Layer
- Functionality for the transmission of signals, representing a stream of data from one computer to another.
Internet/Network Layer
- IP (Internet Protocols) – a packet of data to be addressed to a remote computer and delivered.
Transport Layer
- Functionalities for delivering data packets to a specific process on a remote computer.
- TCP (Transmission Control Protocol)
- UDP (User Datagram Protocol)
Programming Interface:
- Sockets
Applications Layer
- Message exchange between standard or user applications:
- HTTP, FTP, Telnet
- HTTP, FTP, Telnet
TCP (Transmission Control Protocol) is a connection-oriented communication protocol that provides a reliable flow of data between two computers. Example applications:
- HTTP
- FTP
- Telnet
UDP (User Datagram Protocol) is a connectionless communication protocol that sends independent packets of data, called datagrams, from one computer to another with no guarantees about arrival or order of arrival. Similar to sending multiple emails/letters to a friends, each containing part of a message.Example applications:
- Clock server
- Ping