what is it?
Distributing a system over several processing nodes means, in general, that (benefits):
things happen concurrently, so you can get more done
by replicating functionality, you can provide a more robust service
users and other actors in different locations can readily be served
not all the functional nodes need be up at once
diverse systems may be connected
and (obstacles to design):
things happen concurrently, admitting interference, deadlocks, etc.
different nodes may get out of sync
communication between the nodes may be unreliable, slow, and erratic
not all the nodes may be up at once
the execution environments running the distributed parts may differ
(different languages, operating systems, performance, resources available,
Distributed systems can be open or closed or in-between. Very open systems
like the Internet have no-one in control: broad standards of communication
are set, which are often extended for particular purposes by different
groups of users. In a closed system, the designers have control over the
whole lot, though they usually want it to be readily extensible: the different
parts of an aircraft control system are an example.
Besides the Internet, various large systems (some of which are built
atop the Internet) fall into the open category: for example, a system (described
by XXXX at OOPSLA98) for retrieving medical records from the patient's
home medico and various places he may have been treated, to a hospital
anywhere in the world.
complete solutions for e-business
(consultancy, courses, workshops, mentoring, seminars, development)