A single system sometimes may not be sufficient enough to handle certain process. Therefore distributed systems is needed to cope with the extremely higher demand of users in both processing power and data storage. This course is concerned with loosely-coupled distributed systems in which computers communicate with one another over a network in order to carry out joint tasks. The main advantages to be gained from distributed systems are resource sharing across networks, tolerance of failures by replicating devices and data, and sped up in computational performance. In order to materialize these advantages, many systems, transparency is one of the most important considerations. For user, it means that the files and other resource in a distributed system can be accessed without knowing of their location. For the system builder, transparency hides some of the effects of distribution, and simplifies their tasks.
Content Outline of the Course/Module:
- Introduction of Distributed System
- Interprocess Communication
- Distributed Object and Remote Invocation
- Distributed Operating System (DOS)
- Name Services
- Time and Global States
- Coordination and Agreement
- Consistency and Replication
- Case Study
Upon completion of this course, students should be able to:
- Evaluate and choose the correct system design and its related technologies to maximum the connectivity, operability and performance of a distributed system.
- Construct and configure available distributed network service that meet the fundamental requirement of the distributed system.
- Design distributed programming using current available distributed programming tools.
|Teaching-learning Methods||Assessment Methods|
|Lecture||Assignment, Progress Test, Final Examination|
|Tutorial||Assignment, Progress Test, Final Examination|
|Lab||Lab Report, Progress Test|