A distributed computing system in which a client process (a front end program requesting a service) sends a request to a program running on another machine (a server) to perform some function. For example, a database client might request a database server to supply some collection of sorted data. The server performs the sort and sends the sorted data to the client.