DCS Chapter-1
DCS Chapter-1
CHAPTER-1
1. what is distributed system.
Characteristics of DS:
• Hetroginity is hidden from the user
• The manner in which DS is organized internally is hidden.
• Resources like printer can be shared with multiple nodes rather
than of restricted to just one.
• Availability must be there inspite of failure.
• Information/load sharing.
Example of DS:
Internet is a very large DS. User at any location can use services
like email , file transfer , www etc.
1. Network Issues
• Latency: Communication delays can occur due to network
speed and distance, affecting system responsiveness and
performance.
• Bandwidth: Limited bandwidth can restrict the amount of
data that can be transmitted, leading to bottlenecks.
2. Synchronization
• Clock Synchronization: Ensuring all distributed components
have synchronized clocks is challenging, particularly in time-
sensitive operations.
• Data Consistency: Maintaining consistency across multiple
nodes is difficult, especially in the presence of concurrent
updates.
3. Fault Tolerance
• Failure Handling: The system must be designed to handle
hardware and software failures gracefully to ensure continued
operation without losing data.
• Redundancy: Implementing redundancy can add complexity
and cost, and determining the right level of redundancy is
challenging.
4. Scalability
• Resource Management: As the system scales, managing
resources efficiently and ensuring load balancing can become
increasingly complex.
• Dynamic Scaling: Automatically adjusting resources in
response to varying loads without service interruption is a
significant challenge.
5. Security
• Data Protection: Ensuring secure communication between
components requires robust encryption and authentication
mechanisms.
• Access Control: Implementing effective access control
measures to prevent unauthorized access to distributed
resources is crucial.
6. Data Management
• Distributed Databases: Managing data across nodes involves
challenges related to data replication, partitioning, and
ensuring ACID properties (Atomicity, Consistency, Isolation,
Durability).
• Query Complexity: Handling queries across multiple data
sources and optimizing them for performance can be
complex.
7. Hetroginity:
• hardware devices os, programming language in ds must
communicate with each other and for that standard needs to
be agreed and adopted.
8. Transparency:
• It means that any form of distributed system should hide its
distributed nature from its user, appearing and functioning as
a normal centralized system.
3. Forms of computing.
I. monolithic computing:
• Definition: Monolithic computing refers to a computing
model where a single computer operates independently,
without network connections to other systems.
• Single-user Mode:In its simplest form, monolithic
computing involves a single user accessing applications
directly on the computer (e.g., word processing or
spreadsheets).
• Multiple-user Capability: Monolithic computing can also
support multiple users through a technique called
timesharing, allowing concurrent access to the computer's
resources.
• Application Focus: Applications in monolithic computing
are typically designed for specific functions, such as
payroll or billing processes for organizations.
II. distibuted computing.
Examples
Monolithic Computing:
• Personal Computer (PC): A typical PC used for word processing
or spreadsheets operates independently without network
connections.
• Mainframe Systems (Single-user focus): Early mainframe
computers accessed by a single user or in a simple timesharing
environment could also exemplify a less complex form of
monolithic computing.
Distributed Computing:
• World Wide Web: When a user visits a website, their browser
interacts with multiple server computers that retrieve data from
different locations.
• Cloud Computing Platforms: Services like Amazon Web
Services (AWS) or Google Cloud Platform that utilize numerous
interconnected servers for processing, storage, and application
deployment.
• Grid Computing: Projects like SETI@home utilize distributed
resources from numerous volunteer computers to analyze
astronomical data.
Synchronization
Challenges:
• Clock Synchronization: Unsynchronized clocks can lead to
inconsistencies.
• Data Consistency: Ensuring all nodes display the same data.
• Concurrent Access: Managing simultaneous resource access
can cause conflicts.
Solutions:
• Logical Clocks: Use logical clocks (e.g., Lamport timestamps)
for event ordering.
• Consensus Mechanisms: Employ two-phase commit (2PC) for
transaction coordination.
• Distributed Locking: Implement tools like Apache Zookeeper
for resource management.
Security
Challenges:
• Data Interception: Communications can be intercepted if
unsecured.
• Unauthorized Access: Protecting against unauthorized users.
• Data Integrity: Preventing data tampering during transmission.
Solutions:
• Encryption: Use TLS for secure data in transit and at rest.
• Authentication: Implement robust mechanisms (e.g., OAuth,
JWT) for access control.
• Access Control Policies: Define who can access or modify
resources.
• Auditing and Monitoring: Regularly audit and monitor for
anomalies.