We all want to communicate. Individuals communicate to achieve
their day to day desires and requirements. Organizations communicate about
their business goals.
Communication is built round the common goals of an organization. The
organization develops a vocabulary to name the objects that concern
it, together with a language appropriate to describing the relations
between these objects, the actions which may be performed on these
objects, and the methods (ways) in which these actions may be carried out.
The objectives behind communication are many. A party may desire
to communicate a command or wish to another, or may wish to
elicit information from another.
In almost all enterprises (see for example figure#fnds#34>), there is some degree of geographic
distribution of the components of the system, and some requirement for
communication between these parts. Communication
may require complex rules to overcome the limitations of distant
communication. These rules will deal with the problems of limited ability
for remote communication to be so expressive. Distant communication
incurs limitations such as restrictions on speed (rate) and latency (delay)
of information transfer, and increased chance of errors. The need
for low level rules for communication is dealt with in more detail
in chapter five.
The range of human communication mechanisms extend from face
to face communication, including one to one and one to many,
through telephone calls, the slower medium of letters and the
more rapid equivalent of facsimile. These mechanisms are all
reflected in the ways that computers are used to communicate.
Computers may be used to share visualizations of data through real
time graphics, to exchange textual information in real time or off
line using a store and forward messaging system. Programs
may communicate in similar ways to those that users do using such
programmed facilities.
#figure35#
Figure: Distributed System
As well as geographical distribution, in almost all enterprises there
is some degree of autonomy of the components of the system. Different parts
of an organization will have different ways of communicating internally, and
externally. This will be for reasons of efficiency and
expressiveness. Efficiency may dictate that locally understood vocabularies
are used in some places (for example, doctors and pharmacists use
specialist terms). Different parts of the organization will have no
interest in the detailed operations of each other, so summaries and
reports will be exchanged that hide detail. Autonomy and heterogeneity are
natural consequences of the growth and evolution of any
large scale organization. Scale leads to diversity. It also leads to
problems with systems modeled around 100 availability. In large
systems, there are always faults and error conditions.
Just as natural languages are used differently by different
specialists (and indeed by ordinary people when speaking or
writing), so different computer users have different
computing approaches and different
distribution requirements. Accounts, stock
control, point of sales, factory automation, real time
control systems, electronic funds transfer systems and many
other applications will all have very different internal
structures.
The implications of all these points are that distributed
computing is required, and that it must allow a degree of
autonomy for the separate systems, as in figure#fnods#40>. This autonomy combined with the
ability to communicate freely with other systems is what is
partly meant by <#41#> Open Distributed Systems<#41#>. The openness is a
requirement of the autonomy of different users to acquire, install and
operate different appropriate systems while maintaining
consistent distribution mechanisms across all users' systems.
#figure43#
Figure: Open Distributed System
Computing systems are used in a wide variety of organizations, for a
wide variety of reasons. These reasons can be analyzed from a
number of VIEWPOINTS as explained in the following section.
Many of these ideas were developed under the UK Alvey Project, ANSA
(;SPM_quot;Advanced Network Systems Architecture;SPM_quot;).
These was then elaborated by the EC Esprit Project ISA
(;SPM_quot;Integrated Systems Architecture;SPM_quot;).
The work has been taken up by the International Standards Organization
under the Open Distributed Processing WG.