This repository contains a collection of practical assignments for a Distributed Systems course. Each assignment demonstrates the use of core concepts such as Remote Method Invocation (RMI), CORBA, MPI/OpenMP, clock synchronization, mutual exclusion, leader election, web services, and a mini-project for multiplayer interaction.
- Description: Implementation of a Java RMI-based client-server system supporting multi-threaded communication.
- Topics Covered: Java RMI, multi-threading, client-server architecture.
- Description: Distributed application developed using CORBA to demonstrate object brokering.
- Topics Covered: CORBA, IDL, remote object communication.
- Description: A distributed system to calculate the sum of an array by distributing segments to different processors. Intermediate sums from each processor are displayed.
- Topics Covered: Message Passing Interface (MPI), OpenMP, parallel processing.
- Description: Implementation of the Berkeley algorithm to synchronize clocks in a distributed network.
- Topics Covered: Clock synchronization, distributed timekeeping.
- Description: Simulation of the token ring algorithm to achieve mutual exclusion in a distributed system.
- Topics Covered: Mutual exclusion, token passing, process coordination.
- Description: Implementation of Bully and Ring algorithms to elect a coordinator in a distributed system.
- Topics Covered: Leader election, process failure handling.
- Description: A simple RESTful web service and a client-side application to consume the service.
- Topics Covered: REST API, HTTP, client-server communication.
- Project Title: Distributed Application for Interactive Multiplayer Games
- Description: A group mini-project demonstrating real-time interaction, coordination, and communication between multiple clients in a distributed game environment.
- Topics Covered: Socket programming, real-time systems, distributed game logic.
- Java (RMI, Multi-threading)
- CORBA (IDL, ORB)
- C/C++ (MPI/OpenMP)
- Python (Optional for web services or clock algorithms)
- RESTful Web Services
- Networking & Socket Programming