A computer program or a device that provides functionality for other programs or devices, called “clients”. This architecture is called the client–server model, and a single overall computation is distributed across multiple processes or devices.