  Computing has passed through many transformations since the birth of the
first computing machines. Developments in technology have resulted in the
availability of fast and inexpensive processors, and progresses in
communication technology have resulted in the availability of lucrative and
highly proficient computer networks. Among these, the centralized networks have
one component that is shared by users all the time. All resources are
accessible, but there is a single point of control as well as a single point of
failure. The integration of computer and networking technologies gave birth to
new paradigm of computing called distributed computing in the late 1970s.
Distributed computing has changed the face of computing and offered quick and
precise solutions for a variety of complex problems for different fields.
Nowadays, we are fully engrossed by the information age, and expending more
time communicating and gathering information through the Internet. The Internet
keeps on progressing along more than a few magnitudes, abiding end systems
increasingly to communicate in more and more different ways. Over the years,
several methods have evolved to enable these developments, ranging from
simplistic data sharing to advanced systems supporting a multitude of services.
This article provides an overview of distributed computing systems. The
definition, architecture, characteristics of distributed systems and the
various distributed computing fallacies are discussed in the beginning.
Finally, discusses client/server computing, World Wide Web and types of
distributed systems.
