A server is a computer program or a machine that waits for requests from other machines or software (clients) and responds to them. A server typically processes data. The purpose of a server is to share data or hardware and software resources among clients. This architecture is called the client–server model. The clients may run on the same computer or may connect to the server over a network. Typical computing servers are database servers, file servers, mail servers, print servers, web servers, game servers, and application servers.