Clients and Servers
A common model for structuring distributed computation is via the client/server paradigm
A server is a program (or collection of programs) that provide some service, e.g., file service, name service, …
The server may exist on one or more nodes.
A client is a program that uses the service.
A client first binds to the server, I.e., locates it in the network and establishes a connection.
The client then sends requests to perform actions; this is done by sending messages that indicate which service is desired, along with params. The server returns a response.