Distributed System

A distributed system is a collection of autonomous computing elements(also known as node) that appears to its user as a single coherent system.

Problems:

Overlay network is the organization of the distributed system. Nodes only communicates with its neighbours. There are 2 types of overlay network: structured and unstructured.

Example: peer-to-peer system

Goals:

Middleware is the commonly used components and functions for every nodes.

Transparencies

  1. Access: Hide data representations of objects.
  2. Location: Hide physical/logical location.
  3. Relocation: Move the object when it is in use.
  4. Migration: Move the object.
  5. Replication: Hide replicas of the object.
  6. Concurrency: Allow the object used by several indipendent users.
  7. Failure: Hide failure and recovery of an object.

Openess

  1. Comform to a well-defined interface
  2. Support portability of applications
  3. Make extensibility
  4. Easily interoperate

Scalbility

  1. Size: including storage, computation, and bandwith resource
  2. Geographical
  3. Administrative