With a simple client-server architecture, each user is running
a client, and all the clients are connected to one central server.
The clients can be custom-made clients for this
application, or ordinary web browsers.
In some applications, the boxes marked Client
and Server in the figure can actually consist of several processes.
For example, a client might contain a video camera, and the server
can use a separate data base process.
Large, widely distributed applications use several servers, which
are connected directly or indirectly. Examples of applications using
this architecture is e-mail, Usenet News and Internet Relay Chat.
Information is often replicated between the servers, so that the
information for a client is always available locally (example: Usenet
News, e-mail), but there are also applications which can get objects
from other servers when needed (example certain directory systems,
In e-mail, the structure is actually even more
complex, because different kinds of servers are used to send, deliver
and relay messages.
Another complexity can be gateways between different
networks, implemented as servers which convert information from
one format to another format.