DISTRIBUTED SYSTEM
16 MARKS
1) Marshalling
 Marshalling is the process of taking a collection of the data structures to transfer
and format them into an external data representation type which suitable for
transmission in a message.
 Marshalling or marshaling is the process of transforming the memory
representation of an object to a data format suitable for storage or transmission,
and it is typically used when data must be moved between different parts of a
computer program or from one program to another.
2) Design Issues and Challenges in Distributed Systems from System and Network Perspective
From a system perspective, the design of distributed systems involves several challenges, including:
 Scalability:
The system must be able to handle an increasing number of users and devices, and to provide
seamless performance to users, as the system grows.
 Availability:
The system must be highly available, to ensure continuous service to users, and to handle failures
gracefully, in case of hardware or software failures.
 Consistency:
The system must ensure data consistency, even in the presence of failures or network partitions, and
to provide a consistent view of data to users.
 Security:
The system must protect data from unauthorized access, tampering, or theft, and to ensure the
confidentiality and integrity of data.
From a network perspective, the design of distributed systems involves several challenges, including:
 Network Latency:
The network must provide low latency and high-bandwidth connections, to ensure fast and efficient
data transfers between different components of the system.
 Network Reliability:
The network must be reliable, to ensure that data is delivered correctly, even in the presence of
network failures or congestion.
 Network Security:
The network must protect data from unauthorized access, tampering, or theft, and to ensure the
confidentiality and integrity of data in transit.
 Network Interoperability:
The network must support different technologies, platforms, and services, and to handle multiple
standards and protocols, to ensure that different components of the system can communicate with
each other.
3)P2P communication - networking principles
P2P (Peer-to-Peer) communication refers to the direct communication between two or more endpoints in a
network, without the need for a central server or intermediary. In P2P networks, each node acts as both a
client and a server, allowing the nodes to communicate directly with each other.
The following are the networking principles that underlie P2P communication:
1) Decentralization:
P2P networks are decentralized, meaning that there is no central authority or server that controls the
network. Instead, each node in the network has equal authority and responsibility.
2) Self-Organization:
P2P networks are self-organizing, meaning that they are able to adapt and evolve without the need
for centralized control.
3) Scalability:
P2P networks are designed to be highly scalable, allowing the number of nodes to grow without
affecting the performance of the network.
4) Fault Tolerance:
P2P networks are designed to be fault-tolerant, meaning that they are able to continue functioning
even in the presence of node failures or network disruptions.
5) Resource Sharing:
P2P networks allow nodes to share resources, such as computing power, storage, and bandwidth,
without the need for a central server.
6) Load Balancing:
P2P networks are able to balance the load across nodes, to ensure that no single node becomes a
bottleneck in the network.
4)Hardware resources & data/software resources can be shared efficiently with examples
Hardware and software resources can be shared efficiently in a distributed system, to improve the overall
efficiency and utilization of the system.
1. Hardware Resources:
 Processor Cycles: Processor cycles can be shared between nodes, to increase the overall
processing power of the system. For example, in a cluster computing system, multiple nodes
can work together to solve a complex problem.
 Storage Space: Storage space can be shared between nodes, to allow for centralized storage
and backup. For example, a network-attached storage (NAS) device can provide shared
storage space for multiple nodes on a network.
 Network Bandwidth: Network bandwidth can be shared between nodes, to ensure efficient
use of network resources. For example, a load balancer can distribute network traffic
between multiple nodes, to balance the load on the network.
2. Software Resources:
 Applications: Applications can be shared between nodes, to allow for the efficient utilization
of software resources. For example, a cloud computing platform can provide access to
shared applications, such as word processing and spreadsheet programs.
 Libraries: Libraries can be shared between nodes, to allow for the efficient utilization of
software resources. For example, a software repository can provide access to shared
libraries, such as database drivers and compression algorithms.
 Services: Services can be shared between nodes, to allow for the efficient utilization of
software resources. For example, a web service can provide access to shared services, such
as online storage and collaboration tools.
By sharing hardware and software resources, a distributed system can increase the overall efficiency and
utilization of resources, while improving reliability and scalability. This allows for the efficient utilization of
computing power, storage, and bandwidth, across the entire system.
5)Architectural & functional models
Architectural and functional models are used to define and design a distributed system.
1. Architectural Models:
 Client-Server Model: In this model, nodes in the system are divided into clients and servers,
where clients request services from servers.
 Peer-to-Peer (P2P) Model: In this model, nodes in the system act as both clients and servers,
providing and requesting services from each other.
 Hybrid Model: This model combines elements of the client-server and P2P models, to create
a system that can dynamically adapt to changing network conditions.
2. Functional Models:
 Logical Clock Model: In this model, a logical clock is used to order events in a distributed
system.
 State Machine Replication Model: In this model, a set of nodes in a distributed system run a
common state machine, and coordinate their actions to maintain consistency of the state
machine.
 Event-Driven Model: In this model, nodes in a distributed system communicate by
exchanging events, and coordinating their actions based on the events they receive.
6)Functions addressed while designing & building a client server DS in telecommunication industry
When designing and building a client-server distributed system in the telecommunication industry, several
functions must be addressed:
1. Network Connectivity: A stable and reliable network infrastructure must be in place to ensure
seamless communication between clients and servers.
2. Scalability: The system must be able to handle increasing numbers of clients and services as the
telecommunication industry grows.
3. Security: Data and services must be protected against unauthorized access and theft, and must be
encrypted during transmission.
4. Resource Management: The system must be designed to allocate and manage the hardware and
software resources required to support client-server communication.
5. Data Management: The system must be able to manage and store large amounts of data generated
by telecommunication services, and provide efficient access to this data.
6. Load Balancing: The system must be designed to distribute client requests evenly across multiple
servers, to ensure that no single server becomes overloaded.
7. Quality of Service (QoS): The system must be designed to prioritize and manage the flow of data and
services, to ensure that critical telecommunication services are delivered with the required level of
quality.
8. Reliability: The system must be designed to be highly available and resilient, and to provide fault
tolerance in the event of failures or outages.
9. Interoperability: The system must be designed to be compatible with other systems and services in
the telecommunication industry, to facilitate seamless integration and communication.

DISTRIBUTED SYSTEM 16M.docx

  • 1.
    DISTRIBUTED SYSTEM 16 MARKS 1)Marshalling  Marshalling is the process of taking a collection of the data structures to transfer and format them into an external data representation type which suitable for transmission in a message.  Marshalling or marshaling is the process of transforming the memory representation of an object to a data format suitable for storage or transmission, and it is typically used when data must be moved between different parts of a computer program or from one program to another. 2) Design Issues and Challenges in Distributed Systems from System and Network Perspective From a system perspective, the design of distributed systems involves several challenges, including:  Scalability: The system must be able to handle an increasing number of users and devices, and to provide seamless performance to users, as the system grows.  Availability: The system must be highly available, to ensure continuous service to users, and to handle failures gracefully, in case of hardware or software failures.  Consistency: The system must ensure data consistency, even in the presence of failures or network partitions, and to provide a consistent view of data to users.  Security: The system must protect data from unauthorized access, tampering, or theft, and to ensure the confidentiality and integrity of data. From a network perspective, the design of distributed systems involves several challenges, including:  Network Latency: The network must provide low latency and high-bandwidth connections, to ensure fast and efficient data transfers between different components of the system.  Network Reliability: The network must be reliable, to ensure that data is delivered correctly, even in the presence of network failures or congestion.  Network Security: The network must protect data from unauthorized access, tampering, or theft, and to ensure the confidentiality and integrity of data in transit.  Network Interoperability: The network must support different technologies, platforms, and services, and to handle multiple standards and protocols, to ensure that different components of the system can communicate with each other. 3)P2P communication - networking principles P2P (Peer-to-Peer) communication refers to the direct communication between two or more endpoints in a network, without the need for a central server or intermediary. In P2P networks, each node acts as both a client and a server, allowing the nodes to communicate directly with each other.
  • 2.
    The following arethe networking principles that underlie P2P communication: 1) Decentralization: P2P networks are decentralized, meaning that there is no central authority or server that controls the network. Instead, each node in the network has equal authority and responsibility. 2) Self-Organization: P2P networks are self-organizing, meaning that they are able to adapt and evolve without the need for centralized control. 3) Scalability: P2P networks are designed to be highly scalable, allowing the number of nodes to grow without affecting the performance of the network. 4) Fault Tolerance: P2P networks are designed to be fault-tolerant, meaning that they are able to continue functioning even in the presence of node failures or network disruptions. 5) Resource Sharing: P2P networks allow nodes to share resources, such as computing power, storage, and bandwidth, without the need for a central server. 6) Load Balancing: P2P networks are able to balance the load across nodes, to ensure that no single node becomes a bottleneck in the network. 4)Hardware resources & data/software resources can be shared efficiently with examples Hardware and software resources can be shared efficiently in a distributed system, to improve the overall efficiency and utilization of the system. 1. Hardware Resources:  Processor Cycles: Processor cycles can be shared between nodes, to increase the overall processing power of the system. For example, in a cluster computing system, multiple nodes can work together to solve a complex problem.  Storage Space: Storage space can be shared between nodes, to allow for centralized storage and backup. For example, a network-attached storage (NAS) device can provide shared storage space for multiple nodes on a network.  Network Bandwidth: Network bandwidth can be shared between nodes, to ensure efficient use of network resources. For example, a load balancer can distribute network traffic between multiple nodes, to balance the load on the network. 2. Software Resources:  Applications: Applications can be shared between nodes, to allow for the efficient utilization of software resources. For example, a cloud computing platform can provide access to shared applications, such as word processing and spreadsheet programs.  Libraries: Libraries can be shared between nodes, to allow for the efficient utilization of software resources. For example, a software repository can provide access to shared libraries, such as database drivers and compression algorithms.  Services: Services can be shared between nodes, to allow for the efficient utilization of software resources. For example, a web service can provide access to shared services, such as online storage and collaboration tools.
  • 3.
    By sharing hardwareand software resources, a distributed system can increase the overall efficiency and utilization of resources, while improving reliability and scalability. This allows for the efficient utilization of computing power, storage, and bandwidth, across the entire system. 5)Architectural & functional models Architectural and functional models are used to define and design a distributed system. 1. Architectural Models:  Client-Server Model: In this model, nodes in the system are divided into clients and servers, where clients request services from servers.  Peer-to-Peer (P2P) Model: In this model, nodes in the system act as both clients and servers, providing and requesting services from each other.  Hybrid Model: This model combines elements of the client-server and P2P models, to create a system that can dynamically adapt to changing network conditions. 2. Functional Models:  Logical Clock Model: In this model, a logical clock is used to order events in a distributed system.  State Machine Replication Model: In this model, a set of nodes in a distributed system run a common state machine, and coordinate their actions to maintain consistency of the state machine.  Event-Driven Model: In this model, nodes in a distributed system communicate by exchanging events, and coordinating their actions based on the events they receive. 6)Functions addressed while designing & building a client server DS in telecommunication industry When designing and building a client-server distributed system in the telecommunication industry, several functions must be addressed: 1. Network Connectivity: A stable and reliable network infrastructure must be in place to ensure seamless communication between clients and servers. 2. Scalability: The system must be able to handle increasing numbers of clients and services as the telecommunication industry grows. 3. Security: Data and services must be protected against unauthorized access and theft, and must be encrypted during transmission. 4. Resource Management: The system must be designed to allocate and manage the hardware and software resources required to support client-server communication. 5. Data Management: The system must be able to manage and store large amounts of data generated by telecommunication services, and provide efficient access to this data. 6. Load Balancing: The system must be designed to distribute client requests evenly across multiple servers, to ensure that no single server becomes overloaded. 7. Quality of Service (QoS): The system must be designed to prioritize and manage the flow of data and services, to ensure that critical telecommunication services are delivered with the required level of quality.
  • 4.
    8. Reliability: Thesystem must be designed to be highly available and resilient, and to provide fault tolerance in the event of failures or outages. 9. Interoperability: The system must be designed to be compatible with other systems and services in the telecommunication industry, to facilitate seamless integration and communication.