---
title: "True distributed system; middleware organisation"
subject: "Distributed System"
chapter: 3
key: "semester_7/distributed_system:true-ds-middleware"
source: https://www.bctengineer.com/q/semester_7/distributed_system/true-ds-middleware
site: BCT Engineering
---

# True distributed system; middleware organisation

Distributed System · Chapter 3: Operating System Support

- Asked in: 2074 Chaitra, 2+6 marks
- Video: [Middleware in distributed system](https://www.youtube.com/watch?v=BB9tTBG2fRg) — CSE Simplified (Sagu Amit)
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/true-ds-middleware
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-3

## Question

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

## 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.

## Answer

#### 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.

```text
 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.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which is a True Distributed System?
   A. A network OS
   B. A collection of computers that appears as a single coherent system
   C. Any set of networked PCs
   D. A single-user OS
   Answer: B. A TDS gives full transparency and one global view; a network OS is not a TDS since users know the machine. (Key point: True distributed system)

2. Where is middleware placed?
   A. Below the hardware
   B. Between applications and the local OS/network
   C. Only on the server
   D. Outside the network
   Answer: B. It sits between applications and the local OS to hide heterogeneity. (Key point: Middleware position)

3. What does the naming and directory service of middleware do?
   A. Encrypts messages
   B. Balances load
   C. Locates objects, servers and files by name rather than address
   D. Keeps replicas consistent
   Answer: C. Naming lets applications find resources by name. (Key point: Naming service)

4. Why can the same program run on any node when it uses middleware?
   A. Every node has the same hardware
   B. It talks only to the middleware API, giving portability and openness
   C. It bypasses the OS
   D. The program is copied manually
   Answer: B. The uniform API hides local differences. (Key point: Benefit of middleware API)

## Related in Distributed System

- [IDL, middleware and RMI approach](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aidl-middleware-rmi) — Distributed System, chapter 2
- [Middleware importance; RPC operation](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Arpc-middleware-operation) — Distributed System, chapter 2
- [Middleware and its importance](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amiddleware-importance) — Distributed System, chapter 3
- [Middleware role; CORBA and services](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amiddleware-corba-services) — Distributed System, chapter 4
- [Autonomous vs distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aautonomous-vs-distributed) — Distributed System, chapter 1
- [Models of distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amodels-of-ds) — Distributed System, chapter 1

## Related in other subjects

- [Distributed system in big data example](https://www.bctengineer.com/question.md?key=semester_8%2Fbig_data_technologies%3Adistributed-system-example) — Big Data Technologies, chapter 1
- [Short note: Distributed system implementation](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Ashort-note-distributed-implementation-issues) — Object Oriented Analysis and Design, chapter 4
- [Distributed system and Hadoop](https://www.bctengineer.com/question.md?key=semester_8%2Finformation_system%3Adistributed-system-hadoop-voluminous-data) — Information System, chapter 8
- [True/false: protective ratio and grounding](https://www.bctengineer.com/question.md?key=semester_8%2Fhigh_voltage_engineering%3Atf-protective-ratio-grounding) — High Voltage Engineering, chapter 4
