Networking | Programming | Security | Linux | Computer Science | About

Characteristics of Distributed Systems

Distributed systems involve the interaction between disparate independent entities, bounded by common language and protocols and working toward a common goal. Different types of distributed systems are found in real life. One of the biggest and perhaps the most complex distributed system is human society itself. In the digital world, the Internet has become a very important distributed environment for everybody.

Mandatory Characteristics of Distributed Systems

If we look at any distributed system, for example the Internet, there are several mandatory characteristics, in addition to ‘good-to-have’ or desirable characteristics. Mandatory characteristics determine the basic nature of distributed systems, such as having multiple entities, heterogeneity, concurrency and resource sharing.

Multiple entities

One of the key characteristics of a distributed system is the presence of multiple – in many cases a great many – entities participating in the system. The entities can be users or subsystems which compose the distributed system.


Another key characteristic is the heterogeneous nature of the entities involved. The heterogeneity may lie in the type of system or user, underlying policies and/or the data/resources that the underlying subsystems consume. The heterogeneity of distributed systems can be best observed in the Internet, where multitudes of systems, protocols, policies and environments interact to create a scalable infrastructure.


Another important characteristic that distinguishes any distributed system from a centralized one is concurrency. Different components of distributed systems may run concurrently as the components may be loosely coupled. Therefore there is a need to understand the synchronization issues during the design of distributed systems.

Resource sharing

Sharing of resources is another key characteristic of distributed systems.

Mandatory Characteristics of Distributed Systems

In addition to the above mandatory characteristics, there are several desirable characteristics for a distributed system.


A desirable characteristic for a distributed system is openness of the underlying architecture, protocols, resources and infrastructure, where they can be extended or replaced without affecting the system behavior. If we look at the Internet, this issue is nicely handled through the use of open standards: we can see the interplay between different protocols, standards, infrastructures and architectures without affecting the activities of the Internet as a whole.


One of the key motivations for going from a centralized system to a distributed one is to increase the overall scalability of the system. Hence to have a highly scalable system is desirable in any form of distributed system.


Another desirable characteristic is to have transparency in the operation. From the user’s and the subsystem’s point of view, the underlying systems should be transparent. Primarily, transparency can be of two types – location transparency and system transparency. The first type talks about the need to be transparent regarding the location disparity between different systems. The second talks about the need to be transparent about system issues like failure, concurrency, scaling, migration and so on.

Published on Sun 14 October 2012 by Manny Larson in Computer Science with tag(s): distributed