Challenges of Distributed Systems

Basic idea

Distributed systems must overcome a fixed set of recurring hardships beyond what single-machine programs face: heterogeneity, openness, security, scalability, failure handling, concurrency, and transparency.

Key facts

Heterogenity

Distributed Systems may use completely different hardware and software. These listed above are examples of differring hardware/software:

Middleware

Middleware is a software layer between the distributed application and the operating system that:

Middleware Models

Openness

Openness refers to the ability to extend the system in different ways by adding hardware or software resources. Following are some approaches to address openness:

Security

There are three aspects of security:

  1. Confidentiality
  2. Integrity
  3. Availability

Security Mechanisms:

  1. Encryption
  2. Authentication
  3. Authorization

Scalability

A system should be able to handle growth in users.

Scalability Challenges

Failure Handling

Concurrency

Transparency

Hiding certain aspects from the user and application programmer

Siblings