Course Description:
The course covers overview of distributed networking model, client server model, communication models, internetworking, interprocess communication, fault tolerance, reliability, replication, security issues and new developments in distributed networking.
Course Objective:
The course objective to make the students familiar with Distributed Network Systems, its models, communication paradigms, related protocols and architectures, its reliability and replication systems, and security issues. It also briefly introduces the current developments in distributed networking.
Course Contents
Unit 1 (4 Hrs.)
Overview: Distributed Systems, Computer Networks, Protocols and QoS, Software for Distributed Computing, Agent – based computing model
Unit 2 (8 Hrs.)
Client Server Model: Issues, Client Server Model in Distributed Computing System, Cooperation between clients and servers, Extensions to the Client Server Model, Service Discovery, Client Server Interoperability
Unit 3 (6 Hrs.)
Communication Paradigm: Message and message passing mechanisms, Remote Procedure Calls, Remote Method Invocation, Distributed Shared Memory, its design and implementation and consistency models
Unit 4 (5 Hrs.)
Internetworking: Communication Protocol Architectures, TCP/IP Protocol Suite, IPv6
Unit 5 (5 Hrs.)
Interprocess communication using message passing: Developing distributed applications using message passing, sockets and system calls
Unit 6 (7 Hrs.)
Reliability and Replication Techniques: Fault Tolerance, Reliability, Availability, Failure Classification, Techniques to achieve reliability, Reliability Modelling, Fault Tolerant Distributed Algorithms, Replication and reliability, Replication schemes and consistency
Unit 7 (6 Hrs.)
Security: Secure Networks, Security Mechanisms on Internet, DDoS Attacks, Active and Passive Defense against DDoS attack
Unit 8 (4 Hrs.)
Current Developments in Distributed Network System: Introduction and characteristics of Cluster Computing, Grid Computing, P2P Computing, Pervasive Computing
Laboratory Works:
Laboratory exercise should consist of tasks related configuration of distributed system, client server applications, message passing, remote method invocation, remote procedure calls, socket and system calls, and reliability and replication techniques.
Text Books:
- Weijia Jia, Wanlei Zhou, Distributed Network Systems from Concept to Implementation, Springer
Reference Books:
- Hagit Attiya, Jennifer Welch, Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd Edition, March 2004
- Distributed Systems: Principles and Paradigms – Andrew Tanenbaum and Maarten van Steen, Prentice Hall, 2007
Prerequisite: Networking and Communication Fundamentals