0% found this document useful (0 votes)
16 views

Distributed System Unit No 1

The document discusses network operating systems versus distributed operating systems, outlining their key differences and features. It then covers characteristics, challenges, and examples of distributed systems.

Uploaded by

Yuvraj Pardeshi
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)
16 views

Distributed System Unit No 1

The document discusses network operating systems versus distributed operating systems, outlining their key differences and features. It then covers characteristics, challenges, and examples of distributed systems.

Uploaded by

Yuvraj Pardeshi
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/ 11

Distributed System Unit No 1

Network operating System VS Distributed operating systems –


Features Network Operating System Distributed Operating System

Definition Network operating systems are The distributed operating system


server-based operating systems manages a set of independent,
that provide networking-related networked, communicating
functionality. computers and makes them look
like an ordinary centralized
operating system.

Objective Its primary objective is to give Its main objective is to manage


local services to remote users. hardware resources.

Scalability Network OS is highly scalable. A Distributed OS is less scalable. The


new machine can be added very process to add new hardware is
easily. complex.

Fault Tolerance Its fault tolerance is less. Its fault tolerance is high.
Communication Its communication is file-based or Its communication is mostly
shared folder-based. message-based or shared memory-
based.

Autonomy Each machine can acts on its own It has a poor rate of autonomy
thus autonomy is high.

Implementation Network OS-based systems are It is difficult to implement a


easy to build and maintain. Distributed OS.

Operating Network OS-based systems have Distributed OS-based nodes have


System their own copy of operating the same copy of the operating
systems. system.

Examples UNIX, LINUX, Novell Netware, Solaris, OSF/1, Micros, DYNIX,


BSD, Microsoft Windows Server Locus, Mach

Characteristics of Distributed System –


Concurrency: Concurrency is the system's capability to access and use shared
resources. It means multiple actions are performed at the same time. In distributive
systems, the concurrent execution of activities takes place in different components
running on numerous machines.
Scalability: Distributed systems are designed to handle varying workloads and
growing numbers of users or resources. They should be able to scale both horizontally
(adding more machines) and vertically (increasing resources on existing machines) to
accommodate increased demand.

Fault Tolerance: Distributed systems should be resilient to failures in individual


components or communication links. They often employ redundancy, replication,
error detection, and recovery mechanisms to maintain system integrity and availability
even in the presence of failures.

Transparency: A key goal of distributed systems is to hide the complexities of


distribution from users and application developers. Transparency can include location
transparency (hiding the physical location of resources), access transparency
(accessing local and remote resources using the same interface), and failure
transparency (masking failures from users).

Interoperability: Distributed systems often comprise heterogeneous components


running on different platforms and using diverse technologies. Interoperability ensures
that these components can communicate and work together seamlessly, often
facilitated by standard protocols and interfaces.

Decentralization: Distributed systems typically lack a centralized control or single


point of failure. Instead, they rely on decentralized architectures where decision-
making and control are distributed across multiple nodes. Decentralization improves
resilience and fault tolerance but introduces challenges in coordination and
consistency.

Communication: Communication is fundamental in distributed systems, as nodes


need to exchange information and coordinate their activities to achieve common goals.
Communication can occur through various mechanisms, including message passing,
remote procedure calls (RPC), publish-subscribe systems, and distributed shared
memory.
Resource Sharing: Distributed systems enable sharing of hardware, software, and
data resources across multiple users or applications. Efficient resource sharing
enhances system utilization and improves overall performance.
Security: Distributed systems must address security concerns such as unauthorized
access, data breaches, and malicious attacks. They employ authentication, encryption,
access control, and other security measures to protect sensitive resources and data.

Challenges of Distributed System –


Heterogeneity
Heterogeneity is one of the challenges of a distributed system that refers to differences
in hardware, software, or network configurations among nodes. This can present
challenges for communication and coordination. Techniques for managing
heterogeneity include middleware, virtualization, standardization, and service-oriented
architecture. These approaches can help build robust and scalable systems that
accommodate diverse configurations.
Scalability
Scalability is one of the challenges in distributed systems. As distributed systems grow
in size and complexity, it becomes increasingly difficult to maintain their performance
and availability. The major challenges are security, maintaining consistency of data in
every system, network latency between systems, resource allocation, or proper node
balancing across multiple nodes.
Openness
Openness in distributed systems refers to achieving a standard between different
systems that use different standards, protocols, and data formats. It is crucial to ensure
that different systems can communicate and exchange data seamlessly without the
need for extensive manual intervention. It is also important to maintain the correct
amount of transparency and security in such systems.
Transparency
Transparency refers to the level of abstraction present in the system to hide complex
information from the user. It is essential to ensure that failures are transparent to users
and do not affect the overall system's performance. Systems with different hardware
and software configurations provide a challenge for Transparency. Security is also a
concern to maintain transparency in distributed systems.
Concurrency
Concurrency is the ability to process data parallelly on different nodes of the system.
One of the primary challenges of concurrency in distributed systems is the issue of
race conditions. Problems like communication and synchronization between nodes
also pose a challenge. When a node fails, the fault tolerance mechanism must ensure
synchronization.
Security
The distributed and heterogeneous nature of the distributed system makes security a
major challenge for data processing systems. The system must ensure confidentiality
from unauthorized access as data is transmitted across multiple nodes. Various
methods like Digital signatures, Checksums, and Hash functions should be used to
verify the integrity of data as data is being modified by multiple systems.
Authentication mechanisms are also challenging as users and processes may be
located on different nodes.
Failure Handling
One of the primary challenges of failure handling in distributed systems is identifying
and diagnosing failures as failure can occur at any node. Logging mechanisms should
be implemented to identify the failed nodes. Techniques like redundancy, replication,
and checkpoints should be used to ensure the continuous working of the system in
case of a node failure. Data recovery should be implemented with techniques like
Rollback to recover data in the event of a failure.

Examples of Distributed System –


World Wide Web (WWW): The World Wide Web is a distributed system that enables
users to access and share information across the Internet. It consists of millions of
interconnected web servers and clients communicating via standardized protocols like
HTTP.
Cloud Computing Platforms: Cloud computing platforms like Amazon Web
Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP) provide
distributed infrastructure and services over the internet. They allow users to deploy,
manage, and scale applications across geographically distributed data centers.
Social Media Networks: Social media platforms such as Facebook, Twitter, and
Instagram are distributed systems that enable users to connect, share content, and
communicate with each other. They utilize distributed databases, content delivery
networks (CDNs), and caching mechanisms to handle large volumes of user-generated
content.
Distributed File Systems: Distributed file systems like Google File System (GFS),
Apache Hadoop Distributed File System (HDFS), and Ceph distribute file storage and
retrieval across multiple servers. They offer high availability, fault tolerance, and
scalability for managing large datasets.
Blockchain Networks: Blockchain networks, such as Bitcoin and Ethereum, are
decentralized distributed systems that maintain a distributed ledger of transactions
across a network of nodes. Consensus algorithms and cryptographic techniques ensure
the integrity and immutability of the ledger.
Peer-to-Peer (P2P) Networks: Peer-to-peer networks like BitTorrent and Napster
allow users to share files directly with each other without relying on centralized
servers. They distribute file storage and transfer tasks among network participants.
Distributed Sensor Networks: Distributed sensor networks consist of interconnected
sensors deployed in various locations to collect and transmit data. Examples include
environmental monitoring systems, smart grid networks, and industrial IoT (Internet
of Things) deployments.
Content Delivery Networks (CDNs): CDNs like Akamai, Cloudflare, and Fastly
distribute content (e.g., web pages, images, videos) across a network of edge servers
located closer to end-users. This reduces latency and improves the performance of
web applications and media streaming services.

Distributed Computing Models –


Physical Model –
A physical model is a representation of the underlying hardware elements of a
distributed system that abstracts specific details of the computer and networking
technologies employed.
Baseline physical model: A distributed system is one in which hardware or software
components located at networked computers communicate and coordinate their
actions only by passing messages.
Beyond this baseline model, we can usefully identify three generations of distributed
systems.
Early distributed systems:
These systems emerged in the late 1970s and early 1980s in response to the
emergence of local area networking technology, usually Ethernet. These systems
typically consisted of between 10 and 100 nodes interconnected by a local area
network, with limited Internet connectivity, and supported a small range of services
such as shared local printers and file servers as well as email and file transfer across
the Internet. Individual systems were largely homogeneous and openness was not a
concern.
Internet-scale distributed systems: These systems started to emerge in the 1990s in
response to the dramatic growth of the Internet. This is an extensible set of nodes
interconnected by a network of networks (the Internet). The level of heterogeneity in
such systems is significant in terms of networks, computer architecture, operating
systems, languages employed and the development teams involved. This has led to an
increasing emphasis on open standards and associated middleware technologies such
as CORBA and more recently, web services.
Contemporary distributed systems: In the above systems, nodes were typically
desktop computers and therefore relatively static (that is, remaining in one physical
location for extended periods), discrete (not embedded within other physical entities)
and autonomous (to a large extent independent of other computers in terms of their
physical infrastructure).
The key trends identified are
• The emergence of mobile computing has led to physical models where nodes such as
laptops or smart phones move from location to location leading to the need for added
capabilities such as support for spontaneous interoperation.
• The emergence of ubiquitous computing has led to a move from discrete nodes to
architectures where computers are embedded in everyday objects such as washing
machines or in smart homes.
• The emergence of cloud computing and, in particular, cluster architectures have led
to a move from autonomous nodes performing a given role to pools of nodes.The net
result is a physical architecture with a significant increase in the level of
heterogeneity, involve up to hundreds of thousands of nodes.

Architectural models:-
The architecture of a system is its structure in terms of separately specified
components and their interrelationships. The overall goal is to ensure that the structure
will meet present and future demands on it. Major concerns are to make the system
reliable, manageable, adaptable and cost-effective.
This adopts a three-stage approach:
1) Looking at the core underlying architectural elements of the modern distributed
systems,
2) examining composite architectural patterns that can be used in isolation or, in
combination, in developing more sophisticated distributed systems solutions;
3) And finally, considering middleware platforms that are available to support the
various styles of programming.

Client-server architecture -

As the name suggests, client-server architecture consists of a client and a server. The
server is where all the work processes are, while the client is where the user interacts
with the service and other resources (remote server). The client can then request from
the server, and the server will respond accordingly. Typically, only one server handles
the remote side; however, using multiple servers ensures total safety.
Client-server architecture has one standard design feature: centralized security. Data
such as usernames and passwords are stored in a secure database for any server user to
have access to this information. This makes it more stable and secure than peer-to-
peer. This stability comes from client-server architecture, where the security database
can allow resource usage in a more meaningful way. The system is much more stable
and secure, even though it isn’t as fast as a server. The disadvantages of a distributed
system are its single point of failure and not being as scalable as a server.

Peer-to-peer (P2P) architecture -


A peer-to-peer network, also called a (P2P) network, works on the concept of no
central control in a distributed system. A node can either act as a client or server at any
given time once it joins the network. A node that requests something is called a client,
and one that provides something is called a server. In general, each node is called a
peer.
If a new node wishes to provide services, it can do so in two ways. One way is to
register with a centralized lookup server, which will then direct the node to the service
provider. The other way is for the node to broadcast its service request to every other
node in the network, and whichever node responds will provide the requested service.
P2P networks of today have three separate sections:
Structured P2P: The nodes in structured P2P follow a predefined distributed data
structure.
Unstructured P2P: The nodes in unstructured P2P randomly select their neighbors.
Hybrid P2P: In a hybrid P2P, some nodes have unique functions appointed to them in
an orderly manner.

Fundamental Models –
Fundamental models are based on the fundamental properties that allow us to be more
specific about their characteristics and the failures and security risks
they might exhibit.
Message communication over a computer network can be affected by delays, can
suffer from a variety of failures, and is vulnerable to security attacks. These issues are
addressed by three models:
Interaction Model:
The interaction model considers the structure and sequencing of the communication
between the elements of the system. Communication and coordination in distributed
systems occur through message passing among entities.
Key characteristics impacting performance include:
Latency: The time taken for a message to travel from source to destination.
Bandwidth: The capacity of the communication channel to transmit data over
time.
Jitter: Variation in the delivery time of a series of messages.
Entities in a distributed system may have different clock drift rates, making
synchronous coordination challenging. Asynchronous systems, where timing
guarantees are absent, are more common.
Logical clocks, like counters, help in tracking event ordering within the
system.

Failure Model:
The failure model considers the ways in which a system may fail to operate correctly.
Understanding potential failures is crucial for designing resilient distributed systems.
Types of failures include:
Failstop: Process halts and remains halted, detectable by other processes.
Crash: Process halts without detection by other processes.
Omission: Messages fail to reach their intended destination due to various
reasons.
Arbitrary (Byzantine): Processes or channels exhibit arbitrary behavior, such
as sending incorrect messages or stopping unexpectedly.
Timing failure: Clock drift exceeds allowable bounds.
Designing systems capable of detecting, isolating, and recovering from these
failures is essential for reliability.

Security Model:
The security model considers how the system is protected against attempts to interfere
with its correct operation.
Distributed systems are susceptible to various security threats such as -
 Threats to processes include spoofing, where an attacker impersonates a
legitimate process.
 Threats to communication channels include eavesdropping(secretly listening in
on communications),( injecting fake messages into the system) message injection,
and (playing back old messages to confuse the system)replay attacks.
 Additionally, there are attacks called denial of service, where the system is
overwhelmed with too many requests, making it unusable.
Implementing security measures such as authentication, encryption, and access
control is necessary to mitigate these threats and ensure system integrity and
confidentiality.
In summary, the fundamental models of distributed systems provide a framework for
understanding and addressing the complexities of interaction, failure, and security in
distributed environments. By considering these models, system designers can develop
robust and reliable distributed systems capable of handling various challenges and
threats effectively.

Google File System –


https://www.geeksforgeeks.org/google-file-system/
The Google File System (GFS) is a distributed file system developed by Google to
meet the storage needs of its vast infrastructure, which handles enormous amounts of
data across thousands of servers. GFS is designed for scalability, reliability, and
performance, making it well-suited for storing and processing large-scale data-
intensive applications such as web search indexing, logging, and data analytics.
Key Features –
Scalability: GFS is designed to scale horizontally to handle petabytes of data across
thousands of commodity servers. It achieves scalability by distributing data and
workload across multiple storage servers and allowing seamless expansion as the
storage requirements grow.
Reliability and Fault Tolerance: GFS is designed to operate reliably in the face of
hardware failures, network partitions, and other disruptions. It achieves fault tolerance
through replication, where data is replicated across multiple storage servers to ensure
durability and availability even if some servers fail.
Chunk-Based Architecture: GFS organizes data into fixed-size chunks (typically 64
MB or 128 MB) rather than traditional file blocks. Each chunk is stored as a separate
file on the underlying file system of storage servers. This chunk-based architecture
enables efficient data storage, distribution, and retrieval, as well as better utilization of
disk bandwidth and cache resources.
Master-Worker Architecture: GFS architecture consists of a master server (called
the Master) and multiple chunk servers (called ChunkServers). The Master manages
metadata operations such as file namespace, chunk location, and access control, while
ChunkServers store and serve data chunks to clients. The Master maintains a global
namespace and controls access to files and chunks, while ChunkServers handle read
and write requests from clients.
Atomic Record Append: GFS provides atomic record append operations, allowing
multiple clients to append data to a file concurrently without the need for locks or
synchronization.

Focus on Resource Sharing –


https://www.tutorchase.com/answers/ib/computer-science/how-do-distributed-
systems-handle-resource-sharing

Trends –
The modern Internet is a vast and interconnected network comprising various types
of computer networks, including wired and wireless technologies such as WiFi,
WiMAX, Bluetooth, and third-generation mobile phone networks. This
interconnectedness allows for pervasive networking, meaning that devices can be
connected anytime and anywhere, providing unprecedented access to
communication and services.

At its core, the Internet functions as a large distributed system, enabling users
worldwide to access a wide range of services such as the World Wide Web, email,
and file transfer. While the Web is a prominent service on the Internet, it's important
to note that the Internet encompasses a broader array of services that can be
continually expanded with the addition of new server computers and service types.

Mobile computing refers to the ability to perform computing tasks while on the
move or in locations other than one's usual environment. It involves using small and
portable computing devices, such as laptops, smartphones, tablets, and wearable
devices, to access resources and services over wireless networks. The key aspect of
mobile computing is its focus on providing users with continuous access to
resources, including the Internet and intranet services, even when they are away from
their home or usual network environment.

Ubiquitous computing, on the other hand, refers to the integration of numerous


small and inexpensive computational devices into users' physical surroundings, such
as homes, offices, and public spaces. The concept of ubiquitous computing envisions
a future where computing devices are seamlessly integrated into everyday objects
and environments, making their computational capabilities nearly imperceptible to
users. This integration enables these devices to interact with one another and with
users in a natural and transparent manner.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy