Distributed System Unit No 1
Distributed System Unit No 1
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.
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.
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.
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.