II.3.4.1-Client server model of interaction

A server is a program offering a service that can be reached by sending a request over the network. It is usually an application level program, which waits for a request to arrive. When it receives a request, it performs some actions based on it, often including sending an answer.
A client is any process that send a request to a server.

Servers can be divided into two categories. Iterative servers, upon receiving a request, perform the associated action(s). A concurrent server waits for a request, and, when receiving one, creates a slave process. This slave handles the actions associated with the request, while the server process resumes its waiting. This insures that the server will not get tied with one request, and ignore incoming messages.
The figures in Annex 1 shows how the client-server model is implemented using sockets for communication.