The objective of this course is to introduce the principle and characteristic of distributed system. The course also provides the introduction of 7 components of distributed system namely known as Processes, Communication, Naming, Synchronization, Consistency and Replication, Fault Tolerance, and Security. In addition to the principal of distributed system, the course discusses the some topics in computer distributed system such as Peer-to-Peer, Ad Hoc and Sensor Network, Virtualization, Server Cluster, Grid computing, and Cloud computing. To extend and help students understanding, various aspects of real-life system as well as programming paradigm for distributed system will be also clarified. Those paradigm technologies are not limited to JINI, RMI, EJB, CORBA, etc.
The potential topics that will be covered in this course include:
- Introduction to Distributed System
- Classification of Distributed System
- Architecture of Distributed System
- The seven components
- Examples of Distributed System based on the seven components
- Remote Procedure Call
- Practice Advance Distributed Programming in Java (RMI, JINI, EJB, CORBA …)
- Peer-to-Peer
- Ad Hoc and Sensor Network
- Virtualization and Cluster
- Grid and Cloud Computing
Students should have at least basic knowledge of computer science and Java programming language.