Software and Web Application
Design and Development

Home > Distributed Software Systems

Distributed Software Systems

In a distributed software system, different parts of the program run simultaneously on two or more computers that communicate over a network. The main goal of a distributed computing system is to connect users and resources in a transparent, open, and scalable way.

This allows the workload of an application to be balanced efficiently, and the program can have access to shared resources, thus avoiding unnecessary duplication. Various technologies can be employed to implement a distributed system, including Remote Procedure Calls (RPC) and Remote Method Invocation (RMI).

There are also various problems that need to be addressed. Network bandwidth needs to be sufficient to cope with the distributed processing, and access to shared resources must be planned carefully to prevent deadlocks. Concurrent processing needs to be planned for and managed.