The client-server software architecture model distinguishes client systems from server systems, which communicate over a computer network. A client-server application is a distributed system comprising of both client and server software. A client software process may initiate a communication session, while the server waits for requests from any client.
Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server. Standard networked functions such as email exchange, web access and database access, are based on the client/server model. For example, a web browser is a client program at the user computer that may access information at any web server in the world. To check your bank account from your computer, a web browser client program in your computer forwards your request to a web server program at the bank. That program may in turn forward the request to its own database client program that sends a request to a database server at another bank computer to retrieve your account balance. The balance is returned back to the bank database client, which in turn serves it back to the web browser client in your personal computer, which displays the information for you.
The client/server model has become one of the central ideas of network computing. Most business applications being written today use the client/server model. So do the Internet's main application protocols, such as , SMTP, , DNS, etc. In marketing, the term has been used to distinguish distributed computing by smaller dispersed computers from the "monolithic" centralized computing of mainframe computers. But this distinction has largely disappeared as mainframes and their applications have also turned to the client/server model and become part of network computing.
Each instance of the client software can send data requests to one or more connected servers. In turn, the servers can accept these requests, process them, and return the requested information to the client. Although this concept can be applied for a variety of reasons to many different kinds of applications, the architecture remains fundamentally the same.
The most basic type of client-server architecture employs only two types of hosts: clients and servers. This type of architecture is sometimes referred to as two-tier. It allows devices to share files and resources.
These days, clients are most often web browsers, although that has not always been the case. Servers typically include web servers, database servers and mail servers. Online gaming is usually client-server too. In the specific case of MMORPG, the servers are typically operated by the company selling the game; for other games one of the players will act as the host by setting his game in server mode.
When both the client- and server-software are running on the same computer, this is called a single seat setup.
Both client-server and P2P architectures are in wide usage today.
Specific types of servers include web servers, [server]s, application servers, database servers, mail servers, file servers, print servers, and terminal servers. Most web services are also types of servers.
Wipo Publishes Patent of Bundesdruckerei and Frank Dietrich for "Method for Calling Up a Client Program" (German Inventor)
Apr 26, 2013; GENEVA, April 26 -- Publication No. WO/2013/056922 was published on April 25.Title of the invention: "METHOD FOR CALLING UP A...
Wipo Publishes Patent of Ranganath C. Abeyweera for "Method, System and Apparatus for a Communications Client Program and an Associated Transfer Server for Onymous and Secure Communications" (Australian Inventor)
Apr 09, 2013; GENEVA, April 9 -- Publication No. WO/2013/044284 was published on April 4.Title of the invention: "METHOD, SYSTEM AND APPARATUS...
US Patent Issued to Verizon Patent and Licensing on Oct. 15 for "Systems and Methods to Adaptively Change Functionality of a Remote Control Device to Execute the Script on a Client Program for Reprogramming Buttons on the Remote Control Device" (Texas Inventors)
Oct 15, 2013; ALEXANDRIA, Va., Oct. 15 -- United States Patent no. 8,558,716, issued on Oct. 15, was assigned to Verizon Patent and Licensing...
US Patent Issued to the Mathworks on July 17 for "Client Program Executable on Multiple Heterogeneous Server Platforms" (American, British Inventors)
Jul 18, 2012; ALEXANDRIA, Va., July 18 -- United States Patent no. 8,225,300, issued on July 17, was assigned to The Mathworks Inc. (Natick,...