0% found this document useful (0 votes)
9 views10 pages

Gerald Cat

The document discusses distributed systems, emphasizing resource sharing, synchronization through message passing IPC, and the concept of cloud computing. It outlines the three components of a distributed system: hardware, software, and communication components, and addresses challenges in developing a distributed database system for an online ticket booking system. Key challenges include data consistency, load balancing, and domain-specific issues like concurrent bookings and regulatory compliance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views10 pages

Gerald Cat

The document discusses distributed systems, emphasizing resource sharing, synchronization through message passing IPC, and the concept of cloud computing. It outlines the three components of a distributed system: hardware, software, and communication components, and addresses challenges in developing a distributed database system for an online ticket booking system. Key challenges include data consistency, load balancing, and domain-specific issues like concurrent bookings and regulatory compliance.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Gerald guchu

REG NO: CT101/G/6271/19


DISTRIBUTED SYSTEMS CAT 1

a) The prime motivation for constructing and using distributed systems stems from a desire to
share resources and coordinate activities. Discuss the resources in this contex
Hardware components such as disks and printers, software-defined
entities such as files,databases and data object of all kinds.it includes
the stream of video frames that emerges from a digital video camera
and the audio connection that a mobile phone call represents.

b) Using well labeled diagrams, discuss how synchronization is achieved in Message Passing
IPC. Clearly explain how the blocking and non-blocking semantics occur.

SYNCHRONIZATION

BLOCKING NON-BLOCKING

SEND RECEIVE RECEIVE


SEND
The sender() and receive()primitives are called whenever process need to
communicate.
The communication primitives’ synchronization of communicative process
is critical issue in the communication structure
1. Blocking: The blocking semantics implies that when the call of a send ()
or receive() pri 1. Blocking: The blocking semantics implies that when the
call of a send () or receive() primitive blocks the invoker’s current
execution.
2. Non-blocking: The non-blocking semantics imply that when the call of a
send () or receive() primitive does not block the invoker’s current
execution and the control immediately goes back to the invoker.
• Blocking send() primitive: The blocking send() primitive refers to the
blocking of sending process. The process remains blocking until it receives
an acknowledgment from the receiver side that the message has been
received after the execution of this primitive.
• Non-blocking send() primitive: The non-blocking send() primitive
refers to the non-blocking state of the sending process that implies after
the execution of send() statement, the process is permitted to continue
further with its execution immediately when the message has been
transferred to a buffer.
• Blocking receive() primitive: when they receive statement is
executed, the receiving process is halted until a message is received.
• Nonblocking receive() primitive: The non-blocking receive() primitive
implies that the receiving process is not blocked after executing the
receive() statement, control is returned immediately after informing the
kernel of the message buffer’s location.
mitive blocks the invoker’s current execution.
C.
Discuss the concept of cloud computing in the context of distributed
systems. [4 marks]

Here's a brief explanation of the concept of cloud computing in distributed


systems:

 Resource Sharing: Cloud computing allows multiple users or systems


in a distributed environment to access and share a common pool of
computing resources, such as servers, storage, databases, and
networking infrastructure.

 On-Demand Services: Users can provision and use computing


resources as needed, scaling up or down based on the workload,
without the need for significant upfront investments in hardware.

 Remote Data Access: Cloud services enable distributed systems to


access and store data on remote servers, promoting collaboration
and data sharing among geographically dispersed nodes.

 Service Models: Cloud computing offers different service models,


including Infrastructure as a Service (IaaS), Platform as a Service
(PaaS), and Software as a Service (SaaS), allowing distributed
systems to choose the level of control and abstraction they require.

 Elasticity and Scalability: Distributed systems can easily scale their


resources to handle changing workloads, ensuring optimal
performance and resource utilization.

 Virtualization: Cloud platforms often leverage virtualization


technologies, which are valuable in the context of distributed
systems, as they enable the efficient allocation and management of
resources.

 Cost-Efficiency: Cloud computing can be cost-effective for distributed


systems, as users only pay for the resources they consume, avoiding
the expenses associated with maintaining physical infrastructure.
 Fault Tolerance: Many cloud providers offer redundancy and high
availability features, enhancing fault tolerance in distributed
systems by minimizing downtime.

 Global Reach: Cloud providers have data centers worldwide, allowing


distributed systems to operate on a global scale, serving users and
clients from different geographic locations.

In summary, cloud computing in the context of distributed systems


provides the flexibility, scalability, and accessibility required for modern,
interconnected systems.
D.
State and explain the three components of a distributed system.
Hardware Components:

 Computing Devices: These are the physical machines that make up


the distributed system, including servers, workstations, desktop
computers, mobile devices, and IoT (Internet of Things) devices.
Each device contributes processing power and memory to the
system.
 Storage Devices: Distributed systems require storage hardware to
store data and files. This includes hard drives, solid-state drives,
network-attached storage (NAS), and cloud storage services.
 Networking Equipment: Networking components, such as routers,
switches, hubs, and network cables, connect the distributed
system’s devices, enabling data communication. They facilitate the
transmission of data packets between nodes.
 Peripheral Devices: These include input/output devices like
keyboards, mice, monitors, and printers, which connect to
computing devices and allow users to interact with the system.
Software Components:

 Operating Systems: Each computing device in the distributed


system has its operating system (OS) that manages hardware
resources and provides an interface for running software
applications.
 Middleware: Middleware software serves as a bridge between the
hardware and the software applications. It includes communication
protocols, database management systems, and application servers
that enable distributed applications to function across the network.
 Application Software: These are the actual programs and
applications that run on the distributed system. This software can
include web servers, databases, business applications, and custom-
developed software tailored to the specific needs of the system.
 Distributed Software: In a distributed system, specialized software
components handle various tasks like data replication, load
balancing, and fault tolerance. These components ensure the
distributed system operates effectively and reliably.
Communication Components:

 Network Protocols: Communication in a distributed system relies on


network protocols such as TCP/IP, HTTP, and other standards that
enable data to be transmitted between devices in a consistent and
reliable manner.
 Data Transmission Medium: This includes the physical and logical
pathways through which data travels, like Ethernet cables, Wi-Fi,
and fiber optics. The medium affects the speed and reliability of
data transmission.
 Routing and Switching: Routers and switches direct data traffic to
the appropriate destinations within the distributed system. They
determine the most efficient path for data packets to follow.
 Data Encapsulation: Data packets are encapsulated with headers
and trailers that contain routing information and error-checking
data. This encapsulation ensures data integrity during transmission.
 These three components work together to create a distributed
system that can process, store, and transmit data efficiently and
reliably.
 Hardware provides the physical foundation, software defines the
applications and functions, and communication components enable
devices to interact with each other over a network, making
distributed computing possible.
E.
You are to design a distributed database system for an online ticket
booking system for an airline. There will be more than one copy of
the database for reliability and fault tolerance. Explain some of the
problems (in distributed systems) you would have to solve during
the development of this system. What problems must be solved
which are special for the domain (an online ticket booking system).
[4 marks]

Common Distributed System Challenges:

 Data Consistency: Maintaining data consistency across multiple


distributed copies of the database is a fundamental challenge.
Achieving consistency while allowing for fault tolerance can be
complex.

 Data Partitioning: Deciding how to partition the data across multiple


database nodes is critical. Poorly designed data partitioning can
lead to hotspots and performance bottlenecks.
 Replication and Synchronization: Managing database replicas for
reliability requires a strategy for replicating and synchronizing data.
Achieving data consistency among replicas, while minimizing
latency, is challenging.

 Load Balancing: Distributing the workload evenly across database


nodes is essential to avoid overloading some nodes while others
remain underutilized.
 Scalability: Ensuring that the distributed database can scale with
increased demand is vital. Scaling should be both vertical (adding
more resources to individual nodes) and horizontal (adding more
nodes to the system).
 Fault Tolerance: Developing mechanisms to detect and recover from
node failures is crucial to maintain system reliability. This includes
strategies like replication, redundancy, and failover mechanisms.
 Network Latency: Distributed systems often operate across different
physical locations. Minimizing the impact of network latency on
database queries is a challenge, especially in real-time ticket
booking systems.
Domain-Specific Challenges:
 Concurrent Bookings: Ticket booking systems often experience high
levels of concurrency. Managing concurrent bookings and ensuring
that two users don’t book the same seat simultaneously is a specific
challenge in this domain.
 Inventory Management: Maintaining an accurate and up-to-date
inventory of available seats and flights in a distributed environment
is challenging. Reservation updates need to be efficiently
synchronized.
 Data Privacy and Security: Ticket booking systems deal with
sensitive customer information and payment details. Ensuring data
privacy and security in a distributed environment is a top priority.
 Business Rules and Policies: Implementing and enforcing airline-
specific business rules, such as refund policies, baggage rules, and
loyalty programs, within the distributed system can be complex.

 Caching and Real-Time Updates: Managing caching strategies to


improve system performance and providing real-time updates to
customers about seat availability and flight status require careful
design and optimization.

 Regulatory Compliance: The airline industry is highly


regulated.Ensuring that the online ticket booking system complies
with relevant regulations, such as data protection laws and aviation
regulations, is crucial.
 Addressing these challenges involves a combination of distributed
system design, data modeling, database management, and
application development.
 It's essential to balance the need for reliability, fault tolerance, and
scalability with the specific requirements of the airline ticket
booking domain.

c) It extends from
hardware
d) components such as
disks and printers to
software-defined
entities such as files,
databases and
e) data objects of all
kinds. It includes the
stream of video frames
that emerges from a
digital video
f) camera and the audio
connection that a mobile
phoncomponents such
as disks and printers to
software-defined
entities such as files,
databases and
data objects of all kinds.
It includes the

You might also like