client/server (client/server model, client/server architecture)

Client/server is a program relationship in which one program (the client) requests a service or resource from another program (the server).

Although the client/server model can be used by programs within a single computer, it is a more important concept for networking. In this case, the client establishes a connection to the server over a local area network (LAN) or wide-area network (WAN), such as the Internet. Once the server has fulfilled the client's request, the connection is terminated. Your Web browser is a client program that has requested a service from a server; in fact, the service and resouce the server provided is the delivery of this Web page.

Quickly cut through the hype! In this exclusive 28-page guide, we provide an overview of essential network monitoring features, advice on building your business case and selecting the best monitoring tool for your network. Plus, see 4 popular network management and monitoring tools from CA, HP, and LANDesk to help you make your decision.

By submitting my Email address I confirm that I have read and accepted the Terms of Use and Declaration of Consent.

By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.

You also agree that your personal information may be transferred and processed in the United States, and that you have read and agree to the Terms of Use and the Privacy Policy.

Computer transactions in which the server fulfills a request made by a client are very common and the client/server model has become one of the central ideas of network computing. Most business applications use the client/server model as does does the Internet's main program, TCP/IP. For example, when you check your bank account from your computer, a client program in your computer forwards a request to a server program at the bank. That program may in turn forward a request to its own client program, which then sends a request to a database server at another bank computer. Once your account balance has been retrieved from the database, it is returned back to the bank data client, which in turn serves it back to the client in your personal computer, which then displays the information to you.

Both client programs and server programs are often part of a larger program or application. Because multiple client programs share the services of the same server program, a special server called a daemon may be activated just to await client requests. In marketing, the client/server was once used to distinguish distributed computing by personal computers (PCs) from the monolithic, centralized computing model used by mainframes. This distinction has largely disappeared, however, as mainframes and their applications have also turned to the client/server model and become part of network computing.

Other program relationship models included master/slave and peer-to-peer (P2P). In the P2P model, each node in the network can function as both a server and a client. In the master/slave model, one device or process (known as the master) controls one or more other devices or processes (known as slaves). Once the master/slave relationship is established, the direction of control is always one way, from the master to the slave.

7 comments

Register

Login

Forgot your password?

Your password has been sent to:

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

This is already happening, or at least being added to the client-server model. Lots of modern applications are built using more modular frameworks, which lead to greater levels of machine-to-machine communications. As an example, many companies have deployed Hadoop for Data Analysis / Data Warehousing. The applications built on their new frameworks are still somewhat client-server, but that it not generating the bulk of the traffic. We're seeing this impact network, storage design, as well as application design.