---
title: "Short note: Distributed system implementation"
subject: "Object Oriented Analysis and Design"
chapter: 4
key: "semester_6/object_oriented_analysis_and_design:short-note-distributed-implementation-issues"
source: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/short-note-distributed-implementation-issues
site: BCT Engineering
---

# Short note: Distributed system implementation

Object Oriented Analysis and Design · Chapter 4: Implementation

- Asked in: 2070 Magh, 4 marks
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/object_oriented_analysis_and_design/short-note-distributed-implementation-issues
- Whole chapter: https://www.bctengineer.com/md/semester_6/object_oriented_analysis_and_design/chapter-4

## Question

Write a short note on Issues on distributed system implementation.

## Short answer

Distributed implementation faces network latency, partial failures, concurrency, data consistency, heterogeneity, location transparency, security, scalability, marshalling overhead, and complex testing. Middleware and patterns like Proxy, Broker, and Facade help manage these issues across multiple machines.

## Answer

A **distributed system** runs its objects on several computers connected by a network. Implementing it raises issues that do not appear in a single-machine program:

1. **Network latency and bandwidth:** remote calls are much slower than local calls, so "chatty" designs with many small calls must be avoided.
2. **Partial failure and reliability:** a node, link or message can fail while the rest of the system keeps running; timeouts, retries and recovery are needed.
3. **Concurrency:** many clients use shared objects at the same time, so locks, transactions and synchronisation are needed to prevent inconsistent data and deadlock.
4. **Data consistency and replication:** copies of data on several nodes must be kept consistent.
5. **Heterogeneity:** nodes may use different hardware, operating systems and languages, so standard protocols and middleware (CORBA, RMI, web services, REST) are needed.
6. **Location transparency and object naming:** objects must be located and referenced across machines (using a naming or registry service).
7. **Security:** authentication, authorisation, and encryption of data sent over the network.
8. **Scalability and load balancing:** the system should keep working well as the number of users and nodes increases.
9. **Object passing:** parameters must be marshalled (serialised) to be sent between nodes.
10. **Testing, debugging and deployment:** these are harder, because errors can depend on timing and on how the system is distributed.

Design patterns such as Proxy, Broker and Facade, together with middleware, help to manage these issues.

## Check yourself

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

1. Why should distributed designs avoid 'chatty' interactions between remote objects?
   A. Remote calls are much slower than local calls because of network latency and bandwidth
   B. Remote calls are free
   C. Chatty objects use too much local memory only
   D. Networks never fail
   Answer: A. Network latency makes remote calls costly, so many small calls should be avoided. (Key point: Latency)

2. What is meant by partial failure in a distributed system?
   A. The whole system always fails together
   B. A node, link or message can fail while the rest keeps running, needing timeouts, retries and recovery
   C. A compile error in one class
   D. A user typing a wrong password
   Answer: B. Unlike a single machine, parts can fail independently, so reliability measures are needed. (Key point: Partial failure)

3. What must be done to send object parameters between nodes?
   A. They are copied by pointer address
   B. They must be marshalled/serialised
   C. They must be deleted first
   D. Nothing; objects are shared in memory
   Answer: B. Parameters are marshalled (serialised) to be transmitted between machines. (Key point: Object passing)

4. Why are locks, transactions and synchronisation needed?
   A. To increase network bandwidth
   B. To translate languages
   C. To prevent inconsistent data and deadlock when many clients use shared objects at once
   D. To remove the need for security
   Answer: C. Concurrent access to shared objects can corrupt data unless controlled. (Key point: Concurrency and consistency)

## Related in Object Oriented Analysis and Design

- [Conceptual, specification, implementation model classification](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Ahospital-conceptual-specification-implementation) — Object Oriented Analysis and Design, chapter 2
- [External actors and library system sequence diagram](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Aexternal-actors-library-system-sequence-diagram) — Object Oriented Analysis and Design, chapter 2

## Related in other subjects

- [Centralized vs distributed; design issues](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Acentralized-vs-distributed) — Distributed System, chapter 1
- [File system layout; interface vs implementation](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Afs-layout-interface-vs-implementation) — Operating System, chapter 5
- [System implementation and conversion](https://www.bctengineer.com/question.md?key=semester_8%2Finformation_system%3Asystem-implementation-conversion) — Information System, chapter 6
- [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
