- Asked 3/15
- 2076 Asoj
- 2074 Asoj · 2+6 marks
- Model question
Goals and design challenges of DS
Short answer
Major goals are resource sharing, transparency, openness, scalability, and concurrency with fault tolerance. Design challenges include heterogeneity, openness, security, scalability, failure handling, concurrency, transparency, and quality-of-service/time issues such as lack of a global clock.
What are the major goals of a distributed system? What are the challenges during the design of a distributed system?
Goals of a distributed system
A distributed system is a collection of independent computers, connected by a network and running distribution middleware, that appears to its users as a single coherent system. Its components communicate and coordinate their actions only by passing messages (Tanenbaum; Coulouris).
- Resource sharing: users and programs share printers, files, data, storage and compute power across the network (for example the web, cloud storage).
- Transparency: hide the fact that processes and resources are physically spread over many machines.
- Openness: the system offers services through standard, published interfaces so that parts from different vendors can interoperate and be extended.
- Scalability: the system keeps working well as users, resources and geographic spread grow.
- Concurrency and fault tolerance: many users work at once, and the system keeps running when some component fails.
Design challenges
- Heterogeneity: different networks, hardware, operating systems, programming languages and data formats must work together. Middleware (CORBA, Java RMI) and standards hide the differences.
- Openness: interfaces must be published, specified (for example by IDL) and extensible without breaking existing parts.
- Security: confidentiality, integrity and availability must be protected over open networks. Encryption, authentication and access control are needed, and denial-of-service attacks are hard to stop.
- Scalability: the design must avoid central bottlenecks (single server, central table, central algorithm). Techniques are replication, caching, partitioning and distribution of work.
- Failure handling: components and links fail independently and partially. We need failure detection, masking (retransmission, replication), tolerance and recovery.
- Concurrency: shared resources are accessed at the same time, so synchronisation and consistency control are needed.
- Transparency: hiding distribution completely is costly and sometimes impossible (network latency, partitions).
- Quality of service and time: timeliness and reliability must be guaranteed, and the lack of a global clock makes coordination difficult.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Goals, need of transparency, challenges · Distributed System, chapter 1
- Challenges of DS with example · Distributed System, chapter 1
- DS as a single coherent system · Distributed System, chapter 1 · asked 2×
- Concurrency control goals and mechanisms · Distributed System, chapter 8
- Centralized vs distributed; design issues · Distributed System, chapter 1
- Autonomous vs distributed system · Distributed System, chapter 1
- Design goals and performance metrics · Computer Organization and Architecture, chapter 1
- Design goals of digital modulation; coherent BPSK · Communication Systems, chapter 7
- Challenges of modeling a physical system · Embedded System, chapter 7
- Short note: Distributed system implementation · Object Oriented Analysis and Design, chapter 4