[go: up one dir, main page]

0% found this document useful (0 votes)
10 views14 pages

Chapter Four

Chapter Four discusses the importance of communication in distributed systems, focusing on inter-process communication and various models such as Remote Procedure Call (RPC) and Message-Oriented Middleware (MOM). It outlines the structure of layered protocols, detailing their functions and benefits, including interoperability and simplified troubleshooting. Additionally, it highlights the role of middleware protocols in facilitating communication between diverse applications and the challenges they may introduce.

Uploaded by

wworku28
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views14 pages

Chapter Four

Chapter Four discusses the importance of communication in distributed systems, focusing on inter-process communication and various models such as Remote Procedure Call (RPC) and Message-Oriented Middleware (MOM). It outlines the structure of layered protocols, detailing their functions and benefits, including interoperability and simplified troubleshooting. Additionally, it highlights the role of middleware protocols in facilitating communication between diverse applications and the challenges they may introduce.

Uploaded by

wworku28
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Chapter Four: Communication

 Inter-process communication is fundamental to


distributed systems, enabling processes on
different machines to exchange information.
Effective communication relies on low-level
message passing via the underlying network.
Modern distributed systems may involve
thousands or millions of processes across
unreliable networks like the Internet.

DS Prepared by Tadesse A. 1
Cont…
General Communication covers:

a. Protocols: The rules that processes must follow for effective


communication, organized into layered structures.

b. Communication Models:

 Remote Procedure Call (RPC): Simplifies the calling of functions across


networks.

 Message-Oriented Middleware (MOM): Facilitates message exchange


between distributed applications.

 Data Streaming: Handles continuous flow of data between processes.

c. Multicasting: The challenge of sending data to multiple receivers


simultaneously.
DS Prepared by Tadesse A. 2
Fundamentals

 In distributed systems, one of the primary communication models is the Remote Procedure Call
(RPC). RPC simplifies the process of message passing by allowing developers to call functions on
remote servers as if they were local, making it particularly useful for client-server applications.

 However, not all distributed applications follow the strict client-server model. In many cases, the
basic communication methods provided by networks can be inadequate because they lack
transparency; users may not easily perceive or understand how communication occurs behind
the scenes.

 An alternative approach is to use a high-level message-queuing model, which operates similarly


to email systems. This allows messages to be sent and received asynchronously, making
communication more flexible.

 Message-Oriented Middleware (MOM) is a critical area of study in distributed systems, as it


provides the infrastructure for this type of communication.

 With the rise of multimedia applications, it became clear that many systems struggled to handle
continuous media like audio and video. To address this, there is a need for a streaming model
capable of managing a continuous flow of messages while adhering to specific timing
requirements. This ensures that multimedia content can be transmitted smoothly and effectively
in distributed environments.
DS Prepared by Tadesse A. 3
Layered Protocols

 Layered protocols are essential in the design of communication systems,


particularly in distributed environments. They organize the complex
interactions between different components into manageable layers, each with
specific functions and responsibilities.
Concept of Layering
 Modularity: Each layer is responsible for a specific aspect of communication,
allowing for easier development, maintenance, and troubleshooting.
 Abstraction: Higher layers do not need to understand the details of lower
layers; they interact with them through well-defined interfaces.

DS Prepared by Tadesse A. 4
Common Layers

1. Application Layer (Layer 7)


Purpose: Interfaces directly with end-user applications to provide network services.
Functions: Facilitates communication between software applications and the network.
Protocols:
 HTTP/HTTPS: Web browsing.
 FTP: File transfer.
 SMTP, IMAP, POP3: Email communication.
 DNS: Domain name resolution.

2. Presentation Layer (Layer 6)


Purpose: Translates data between the application layer and the network format.
Functions: Handles data encoding, encryption, and compression.
Examples: Data format conversion: ASCII, EBCDIC and Encryption protocols: SSL/TLS for secure communications.

3. Session Layer (Layer 5)


Purpose: Manages sessions or connections between applications.
Functions: Establishes, maintains, and terminates connections.
Examples: Session establishment: Managing multiple simultaneous connections.
 Control mechanisms: Token management to prevent conflicts.
DS Prepared by Tadesse A. 5
Cont…
4. Transport Layer (Layer 4)
Purpose: Ensures reliable data transfer between hosts.
Functions: Manages error detection, correction, and flow control.
Protocols:
 TCP (Transmission Control Protocol): Reliable, connection-oriented.
 UDP (User Datagram Protocol): Connectionless, faster but less reliable.
 SCTP (Stream Control Transmission Protocol): Supports multi-streaming.
5. Network Layer (Layer 3)
Purpose: Handles routing of data packets across networks.
Functions: Determines the best path for data transmission.
Protocols:
 IP (Internet Protocol): Routing and addressing (IPv4, IPv6).
 ICMP (Internet Control Message Protocol): Error messages and diagnostics.
 ARP (Address Resolution Protocol): Resolves IP addresses to MAC addresses.
DS Prepared by Tadesse A. 6
Cont…
6. Data Link Layer (Layer 2)
Purpose: Provides node-to-node data transfer and error detection.
Functions: Framing, addressing, and controlling access to the physical medium.
Sub-layers:
 Logical Link Control (LLC): Manages communication with the network layer.
 Media Access Control (MAC): Controls how devices share the physical medium.
Protocols:
 Ethernet: Wired LAN technology.
 Wi-Fi (IEEE 802.11): Wireless LAN standard.
 PPP (Point-to-Point Protocol): Used for direct connections.
7. Physical Layer (Layer 1)
Purpose: Transmits raw bitstreams over a physical medium.
Functions: Deals with the electrical, mechanical, and procedural aspects of physical
connections.
Components:
 Cables: Coaxial, fiber optic, twisted pair.
 Connectors: RJ45, LC, SC connectors.
 Signal Encoding: Techniques for transmitting bits (e.g., modulation).
DS Prepared by Tadesse A. 7
Benefits of Layered Protocols

 Interoperability: Different systems can communicate


effectively as long as they conform to the same protocol
standards at each layer.
 Flexibility: Changes or upgrades can be made to one layer
without affecting others, facilitating easier updates and
scalability.
 Simplified Troubleshooting: Problems can be isolated to
specific layers, making it easier to diagnose and resolve issues.
Examples of Layered Protocols
 TCP/IP Model: A widely used model that organizes protocols into
four layers: Application, Transport, Internet, and Network
Access.
 OSI Model: A theoretical framework with seven layers:
Application, Presentation, Session, Transport, Network, Data
Link, and Physical.

DS Prepared by Tadesse A. 8
Middleware Protocols

 Middleware protocols are essential for enabling


communication and data exchange between distributed
applications and services.
 They act as intermediaries, facilitating interaction and
integration across various platforms and technologies.
Definition and Purpose
Middleware: Software that connects different applications or
services, providing common services and capabilities to facilitate
communication.
Purpose: To simplify the complexities of distributed systems by
providing standardized communication methods, enabling
interoperability among heterogeneous systems.

DS Prepared by Tadesse A. 9
Types of Middleware Protocols

1. Message-Oriented Middleware (MOM)


Function: Facilitates communication between distributed systems through asynchronous message passing.
Examples:
 RabbitMQ: Open-source messaging broker.
 Apache Kafka: Stream processing platform.
 ActiveMQ: Java-based message broker.
2. Remote Procedure Call (RPC)
Function: Allows a program to execute a procedure on a remote server as if it were a local call, abstracting the
complexities of network communication.
Examples:
 gRPC: Modern RPC framework developed by Google.
 Java RMI (Remote Method Invocation): Java-specific RPC implementation.
3. Data Streaming Middleware
Function: Supports the continuous flow of data between applications, particularly for real-time processing.
Examples:
 Apache Flink: Stream processing framework.
 Apache
DS Pulsar: by
Prepared Distributed
Tadesse A. messaging and streaming platform. 10
Cont…
4. Service-Oriented Middleware
Function: Facilitates communication between services in a service-oriented
architecture (SOA), enabling integration and orchestration of services.
Examples:
 SOAP (Simple Object Access Protocol): Protocol for exchanging structured
information in web services.
 REST (Representational State Transfer): Architectural style for designing networked
applications.
5. Database Middleware
Function: Enables communication between applications and database management
systems (DBMS), abstracting database interactions.
Examples:
 ODBC (Open Database Connectivity): Standard API for accessing database
management systems.
 JDBC (Java Database Connectivity): Java-specific API for connecting to databases.
DS Prepared by Tadesse A. 11
Advantages of Middleware Protocols

 Interoperability: Middleware allows different systems,


regardless of the platform or technology, to communicate
effectively.
 Scalability: Supports scaling applications by managing
communication and data exchange without requiring major
changes to each system.
 Flexibility: Enables the integration of new services or
applications into existing systems without significant rework.
 Simplified Development: Developers can focus on application
logic rather than the complexities of network communication.

DS Prepared by Tadesse A. 12
Challenges of Middleware Protocol

 Latency: Middleware can introduce delays due to


message passing and processing.
 Complexity: Adding middleware can complicate
system architecture and deployment.
 Reliability: Dependence on middleware can create
single points of failure if not properly managed.

DS Prepared by Tadesse A. 13
Thank You
Question???

DS Prepared by Tadesse A. 14

You might also like