A relationship in which one computer program (the client) requests information from another computer program (the server), whereby the server responds in fulfilling the request. In terms of "client/server architecture," it is the design model for applications running on a network. The bulk of the back end processing, such as performing a physical search of a database, takes place on a server. The front end processing, which involves communicating with the user, is handled by smaller programs distributed to client workstations. In terms of a "client/server network," LAN resources are allocated so that computing power is distributed among the computers in the network, but some shared resources are centralized in a file server. With the advent of powerful individual workstations, most computers can act as both client and server in different situations; this is often described as "n-tier computing," where "n" refers to the multiple levels of clients and servers that exist. For security reasons, the client/server model requires user authentication.