Skip to main content

True distributed system; middleware organisation

Short answer

A True Distributed System appears as a single coherent system with full transparency. It is organized by placing middleware between applications and local operating systems, providing communication (RPC/RMI), naming, security, transactions, replication, and resource management, thus hiding heterogeneity.

What is True Distributed System (TDS)? How can a distributed system be organized as middleware? Explain.

True Distributed System (TDS)

A True Distributed System is a collection of independent computers that appears to its users as a single coherent system. Users do not know where a resource is located, which machine runs their job, or whether data is replicated. The software provides full transparency (access, location, migration, replication, concurrency, failure), a single system image, and one global view of files, processes and naming. A distributed operating system is the usual example; a network OS is not a TDS because users must know which machine they are using.

Organising a distributed system as middleware

Different computers run different local operating systems and hardware, so a layer of software called middleware is placed between the applications and the local OS/network. It hides heterogeneity and gives the programmer one uniform programming model, so the system looks like a single machine.

 Machine A      Machine B      Machine C      Machine D
+---------+    +---------+    +---------+    +---------+
|  App 1  |    |  App 2  |    |  App 3  |    |  App 4  |
+---------+    +---------+    +---------+    +---------+
|=========== Middleware (distributed layer) ===========|
+---------+    +---------+    +---------+    +---------+
| Windows |    |  Linux  |    | Solaris |    |  macOS  |
+---------+    +---------+    +---------+    +---------+
|================= Network ============================|

Middleware organisation:

  1. Communication services: RPC, RMI, message passing, message queues, publish-subscribe. The application calls a remote procedure or object as if it were local.
  2. Naming and directory service: locates objects, servers and files by name, not by network address.
  3. Security services: authentication, authorisation and encryption across machines.
  4. Transaction and concurrency services: atomic updates across several servers.
  5. Replication and caching services: keep copies consistent, improve availability and speed.
  6. Resource management and fault handling: load balancing, failure detection, recovery.

Middleware models: distributed objects (CORBA, Java RMI), distributed file systems (NFS, AFS), remote procedure call (Sun RPC), message-oriented (MQ), web-based (SOAP, REST) services.

Because every application talks only to the middleware API, the same program runs on any node, which gives openness, portability and transparency.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 3 questions →