Client (computing)

From HandWiki
Short description: Piece of software accessing a server service
A computer network diagram of client computers communicating with a server computer via the Internet

In computing,[1] a client is a piece of computer hardware or software that accesses a service made available by a server as part of the client–server model of computer networks. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network.[1]

A client is a computer or a program that, as part of its operation, relies on sending a request to another program or a computer hardware or software that accesses a service made available by a server (which may or may not be located on another computer).[2] For example, web browsers are clients that connect to web servers and retrieve web pages for display.[2] Email clients retrieve email from mail servers. Online chat uses a variety of clients, which vary on the chat protocol being used. Multiplayer video games or online video games may run as a client on each computer.[2] The term "client" may also be applied to computers or devices that run the client software or users that use the client software.

A client is part of a client–server model, which is still used today. Clients and servers may be computer programs run on the same machine and connect via inter-process communication techniques. Combined with Internet sockets, programs may connect to a service operating on a possibly remote system through the Internet protocol suite. Servers wait for potential clients to initiate connections that they may accept.

The term was first applied to devices that were not capable of running their own stand-alone programs, but could interact with remote computers via a network. These computer terminals were clients of the time-sharing mainframe computer.

Types

Client types and their features
Relies on
local storage
Relies on
local CPU
Fat client Yes Yes
Diskless node No Yes
Thin client No No

In one classification, client computers and devices are either thick clients, thin clients, or diskless nodes.

Thick

A thick client, also known as a rich client or fat client, is a client that performs the bulk of any data processing operations itself, and does not necessarily rely on the server. The personal computer is a common example of a fat client, because of its relatively large set of features and capabilities and its light reliance upon a server. For example, a computer running an art program (such as Krita or Sketchup) that ultimately shares the result of its work on a network is a thick client. A computer that runs almost entirely as a standalone machine save to send or receive files via a network is by a standard called a workstation.

Thin

Main page: Thin client
A thin client computer

A thin client is a minimal sort of client. Thin clients use the resources of the host computer. A thin client generally only presents processed data provided by an application server, which performs the bulk of any required data processing. A device using web application (such as Office Web Apps) is a thin client.[3]

Diskless node

A diskless node is a mixture of the above two client models. Similar to a fat client, it processes locally, but relies on the server for storing persistent data. This approach offers features from both the fat client (multimedia support, high performance) and the thin client (high manageability, flexibility). A device running an online version of the video game Diablo III is an example of diskless node.

References

  1. 1.0 1.1 Course, Microsoft Official Academic (8 July 2008) (in en). Exam 70-643 Windows Server 2008 Applications Infrastructure Configuration. John Wiley & Sons. ISBN 978-0-470-22513-4. https://books.google.com/books?id=JDxxDwAAQBAJ&q=%22Client%22+computing+-wikipedia&pg=PA280. 
  2. 2.0 2.1 2.2 "client/server". https://www.pcmag.com/encyclopedia/term/clientserver. 
  3. Baratto, Ricardo A.; Kim, Leonard N.; Nieh, Jason (20 October 2005). "THINC: A virtual display architecture for thin-client computing". Proceedings of the twentieth ACM symposium on Operating systems principles. Sosp '05. Association for Computing Machinery. pp. 277–290. doi:10.1145/1095810.1095837. ISBN 9781595930798. https://dl.acm.org/doi/abs/10.1145/1095810.1095837.