Thin client
Encyclopedia
A thin client is a computer
or a computer program
which depends heavily on some other computer (its server) to fulfill its traditional computational roles. This stands in contrast to the traditional fat client
, a computer designed to take on these roles by itself. The exact roles assumed by the server may vary, from providing data persistence (for example, for diskless nodes) to actual information processing
on the client's behalf.
Thin clients occur as components of a broader computer infrastructure, where many clients share their computations with the same server. As such, thin client infrastructures can be viewed as the amortization
of some computing service across several user-interfaces. This is desirable in contexts where individual fat clients have much more functionality or power than the infrastructure either requires or uses. This can be contrasted, for example, with grid computing
.
Thin-client computing is also a way of easily maintaining computational services at a reduced total cost of ownership.
The most common type of modern thin client is a low-end computer terminal
which concentrates solely on providing a graphical user interface
to the end-user. The remaining functionality, in particular the operating system
, is provided by the server.
, traditionally mainframes accessed by some sort of terminal
computer. As computer graphics matured, these terminals transitioned from providing a command-line interface
to a full graphical user interface
, as is common on modern thin clients. The prototypical multiuser environment along these lines, Unix
, began to support fully graphical X terminal
s, i.e., devices running X server software, from about 1984. X terminals remained relatively popular even after the arrival of other thin clients in the mid-late 1990s. Modern Unix derivatives like BSD and GNU/Linux continue the tradition of the multi-user, remote display/input session. Typically, X server software is not made available on thin clients, although no technical reason for this exclusion would prevent it.
Windows NT
became capable of multi-user operations primarily through the efforts of Citrix Systems
, which repackaged NT 3.5.1 as the multi-user operating system WinFrame in 1995. Microsoft
licensed this technology back from Citrix and implemented it into Windows NT 4.0
Terminal Server Edition, under a project codenamed "Hydra". Windows NT then became the basis of Windows 2000 and Windows XP. Microsoft Windows systems support graphical terminals via the Remote Desktop Services component.
The term thin client was coined in 1993 by Tim Negris, VP of Server Marketing at Oracle Corp., while working with company founder Larry Ellison
on the launch of Oracle 7
. At the time, Oracle wished to differentiate their server-oriented software from Microsoft's desktop-oriented products. Ellison subsequently popularized Negris's buzzword
with frequent use in his speeches and interviews about Oracle products.
The term stuck for several reasons. The earlier term "graphical terminal" was chosen to contrast such terminals with text-based terminals, and thus puts the emphasis on graphics. The term was also not well-established among IT professionals, most of whom had been working on fat-client systems. It also conveys better the fundamental hardware difference: thin clients can be designed with much more modest hardware, because they perform much more modest operations.
is simply one which relies on its server to process most or all of its business logic
. This idiom is relatively common for computer security
reasons: a client obviously cannot be trusted with the logic that determines how trustworthy they are; an adversary
would simply skip the logic and say "I'm as trustworthy as possible!"
However, in web development
in particular, client applications are becoming fatter. This is due to the adoption of heavily client-side technologies like Ajax
and Flash
, which are themselves strongly driven by the highly interactive nature of Web 2.0
applications.
A renewed interest in virtual private server
s, with many virtualization programs coming to a ripe stage, means that servers on the web today may handle many different client businesses. This can be thought of as having a thin-client "virtual server" which depends on the actual host in which it runs to do all of its computation for it. The end result, at least, is the same: amortization of the computing service across many clients.
for those clients. This has both positive and negative aspects. On the one hand, the security threat model
for the software becomes entirely confined to the servers: the clients simply do not run the software. Thus, only a small number of computers need to be rigorously secured, rather than securing every single client computer. On the other hand, any denial of service attack against the server will harm many clients: so, if one user crashes the system, everyone else loses their vital data.
For small networks, this single-point of failure property might even be expanded: the server can be integrated with file servers and print servers particular to its clients. This simplifies the network and its maintenance, but might increase the risk against that server.
In practice redundancy is provided both in the form of additional connectivity from server to the network as well as in the servers themselves, using features like VMWare High Availability and Fault Tolerance or Citrix XenApp's load balancing.
scalable
: it is relatively cheap to connect additional client terminals. The thin clients usually have a very low total cost of ownership
, but some of that is offset by requiring a robust server infrastructure with backups and so forth. This is also reflected in terms of power consumption
: the thin clients are generally very low-power and might not even require cooling fans, but the servers are higher-power and require an air-conditioned server room
.
On the other hand, while the total cost of ownership is low, the individual performance of the clients is also low. The costs of compiling software, rendering video, or any other computationally intensive task will be shared by all clients via the server.
is centralized to the server.
On the other hand, to achieve this simplicity, thin clients sometimes lag behind thick clients (PC Desktops) in terms of extensibility. For example, if a local software utility or set of device drivers are needed in order to support a locally attached peripheral device (e.g. printer, scanner, biometric security device), the thin client operating system may lack the resources needed to fully integrate the needed dependencies. Modern thin clients attempt to address this limitation via port mapping or USB redirection software. However, these methods cannot address all use case scenarios for the vast number of peripheral types being put to use today.
: the kernel
instead merely initializes the network, begins the networking protocol, and handles display of the server's output.
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
or a computer program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
which depends heavily on some other computer (its server) to fulfill its traditional computational roles. This stands in contrast to the traditional fat client
Fat client
A fat client is a computer in client–server architecture or networks that typically provides rich functionality independent of the central server...
, a computer designed to take on these roles by itself. The exact roles assumed by the server may vary, from providing data persistence (for example, for diskless nodes) to actual information processing
Information processing
Information processing is the change of information in any manner detectable by an observer. As such, it is a process which describes everything which happens in the universe, from the falling of a rock to the printing of a text file from a digital computer system...
on the client's behalf.
Thin clients occur as components of a broader computer infrastructure, where many clients share their computations with the same server. As such, thin client infrastructures can be viewed as the amortization
Amortization (business)
In business, amortization refers to spreading payments over multiple periods. The term is used for two separate processes: amortization of loans and amortization of intangible assets.-Amortization of loans:...
of some computing service across several user-interfaces. This is desirable in contexts where individual fat clients have much more functionality or power than the infrastructure either requires or uses. This can be contrasted, for example, with grid computing
Grid computing
Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...
.
Thin-client computing is also a way of easily maintaining computational services at a reduced total cost of ownership.
The most common type of modern thin client is a low-end computer terminal
Computer terminal
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...
which concentrates solely on providing a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
to the end-user. The remaining functionality, in particular the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
, is provided by the server.
History
Thin clients have their roots in multi-user systemsMulti-user
Multi-user is a term that defines an operating system or application software that allows concurrent access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leaving the...
, traditionally mainframes accessed by some sort of terminal
Computer terminal
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...
computer. As computer graphics matured, these terminals transitioned from providing a command-line interface
Command-line interface
A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks...
to a full graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
, as is common on modern thin clients. The prototypical multiuser environment along these lines, Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
, began to support fully graphical X terminal
X terminal
In computing, an X terminal is a display/input terminal for X Window System client applications. X terminals enjoyed a period of popularity in the early 1990s when they offered a lower total cost of ownership alternative to a full Unix workstation....
s, i.e., devices running X server software, from about 1984. X terminals remained relatively popular even after the arrival of other thin clients in the mid-late 1990s. Modern Unix derivatives like BSD and GNU/Linux continue the tradition of the multi-user, remote display/input session. Typically, X server software is not made available on thin clients, although no technical reason for this exclusion would prevent it.
Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...
became capable of multi-user operations primarily through the efforts of Citrix Systems
Citrix Systems
Citrix Systems, Inc. is a multinational corporation founded in 1989, that provides server and desktop virtualization, networking, software-as-a-service , and cloud computing technologies, including Xen open source products....
, which repackaged NT 3.5.1 as the multi-user operating system WinFrame in 1995. Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
licensed this technology back from Citrix and implemented it into Windows NT 4.0
Windows NT 4.0
Windows NT 4.0 is a preemptive, graphical and business-oriented operating system designed to work with either uniprocessor or symmetric multi-processor computers. It was the next release of Microsoft's Windows NT line of operating systems and was released to manufacturing on 31 July 1996...
Terminal Server Edition, under a project codenamed "Hydra". Windows NT then became the basis of Windows 2000 and Windows XP. Microsoft Windows systems support graphical terminals via the Remote Desktop Services component.
The term thin client was coined in 1993 by Tim Negris, VP of Server Marketing at Oracle Corp., while working with company founder Larry Ellison
Larry Ellison
Lawrence Joseph "Larry" Ellison is the co-founder and chief executive officer of Oracle Corporation, one of the world's leading enterprise software companies. As of 2011, he is the third wealthiest American citizen, with an estimated worth of $33 billion.- Early life :Larry Ellison was born in the...
on the launch of Oracle 7
Oracle database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
. At the time, Oracle wished to differentiate their server-oriented software from Microsoft's desktop-oriented products. Ellison subsequently popularized Negris's buzzword
Buzzword
A buzzword is a term of art, salesmanship, politics, or technical jargon that is used in the media and wider society outside of its originally narrow technical context....
with frequent use in his speeches and interviews about Oracle products.
The term stuck for several reasons. The earlier term "graphical terminal" was chosen to contrast such terminals with text-based terminals, and thus puts the emphasis on graphics. The term was also not well-established among IT professionals, most of whom had been working on fat-client systems. It also conveys better the fundamental hardware difference: thin clients can be designed with much more modest hardware, because they perform much more modest operations.
Thin clients as programs
The notion of a thin client extends directly to any client–server architecture: in which case, a thin client applicationApplication software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
is simply one which relies on its server to process most or all of its business logic
Business logic
Business logic, or domain logic, is a non-technical term generally used to describe the functional algorithms that handle information exchange between a database and a user interface.- Scope of business logic :Business logic:...
. This idiom is relatively common for computer security
Computer security
Computer security is a branch of computer technology known as information security as applied to computers and networks. The objective of computer security includes protection of information and property from theft, corruption, or natural disaster, while allowing the information and property to...
reasons: a client obviously cannot be trusted with the logic that determines how trustworthy they are; an adversary
Adversary (cryptography)
In cryptography, an adversary is a malicious entity whose aim is to prevent the users of the cryptosystem from achieving their goal...
would simply skip the logic and say "I'm as trustworthy as possible!"
However, in web development
Web development
Web development is a broad term for the work involved in developing a web site for the Internet or an intranet . This can include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development...
in particular, client applications are becoming fatter. This is due to the adoption of heavily client-side technologies like Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
and Flash
Adobe Flash
Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...
, which are themselves strongly driven by the highly interactive nature of Web 2.0
Web 2.0
The term Web 2.0 is associated with web applications that facilitate participatory information sharing, interoperability, user-centered design, and collaboration on the World Wide Web...
applications.
A renewed interest in virtual private server
Virtual private server
Virtual private server is a term used by internet hosting services to refer to a virtual machine. The term is used for emphasizing that the virtual machine, although running in software on the same physical computer as other customers' virtual machines, is functionally equivalent to a separate...
s, with many virtualization programs coming to a ripe stage, means that servers on the web today may handle many different client businesses. This can be thought of as having a thin-client "virtual server" which depends on the actual host in which it runs to do all of its computation for it. The end result, at least, is the same: amortization of the computing service across many clients.
Single point of failure
The server, in taking on the whole processing load of several clients, forms a single point of failureSingle point of failure
A single point of failure is a part of a system that, if it fails, will stop the entire system from working. They are undesirable in any system with a goal of high availability or reliability, be it a business practice, software application, or other industrial system.-Overview:Systems can be made...
for those clients. This has both positive and negative aspects. On the one hand, the security threat model
Threat model
Threat modeling has two distinct, but related, meanings in computer security. The first is a description of the security issues the designer cares about...
for the software becomes entirely confined to the servers: the clients simply do not run the software. Thus, only a small number of computers need to be rigorously secured, rather than securing every single client computer. On the other hand, any denial of service attack against the server will harm many clients: so, if one user crashes the system, everyone else loses their vital data.
For small networks, this single-point of failure property might even be expanded: the server can be integrated with file servers and print servers particular to its clients. This simplifies the network and its maintenance, but might increase the risk against that server.
In practice redundancy is provided both in the form of additional connectivity from server to the network as well as in the servers themselves, using features like VMWare High Availability and Fault Tolerance or Citrix XenApp's load balancing.
Cheap client hardware
While the server must be robust enough to handle several client sessions at once, the clients can be assembled from much cheaper hardware than a fat client can. This reduces the power consumption of those clients, and makes the system marginallyMarginal concepts
In economics, marginal concepts are associated with a specific change in the quantity used of a good or service, as opposed to some notion of the over-all significance of that class of good or service, or of some total quantity thereof.- Marginality :...
scalable
Scalability
In electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
: it is relatively cheap to connect additional client terminals. The thin clients usually have a very low total cost of ownership
Total cost of ownership
Total cost of ownership is a financial estimate whose purpose is to help consumers and enterprise managers determine direct and indirect costs of a product or system...
, but some of that is offset by requiring a robust server infrastructure with backups and so forth. This is also reflected in terms of power consumption
Energy conservation
Energy conservation refers to efforts made to reduce energy consumption. Energy conservation can be achieved through increased efficient energy use, in conjunction with decreased energy consumption and/or reduced consumption from conventional energy sources...
: the thin clients are generally very low-power and might not even require cooling fans, but the servers are higher-power and require an air-conditioned server room
Server room
A server room is a room that houses mainly computer servers. In information technology circles, the term is generally used for smaller arrangements of servers; larger groups of servers are housed in data centers...
.
On the other hand, while the total cost of ownership is low, the individual performance of the clients is also low. The costs of compiling software, rendering video, or any other computationally intensive task will be shared by all clients via the server.
Client simplicity
Since the clients are made from low-cost hardware with few moving parts, they can operate in more hostile environments than conventional computers. However, they inevitably need a network connection to their server, which must be isolated from such hostile environments. Since thin clients are cheap, they offer a low risk of theft in general, and are easy to replace if stolen or broken. Since they do not have any complicated boot images, the problem of boot image controlBoot image control
A boot image control strategy is a common way to reduce total cost of ownership in organizations with large numbers of similar computers being used by users with common needs, e.g. a large corporation or government agency...
is centralized to the server.
On the other hand, to achieve this simplicity, thin clients sometimes lag behind thick clients (PC Desktops) in terms of extensibility. For example, if a local software utility or set of device drivers are needed in order to support a locally attached peripheral device (e.g. printer, scanner, biometric security device), the thin client operating system may lack the resources needed to fully integrate the needed dependencies. Modern thin clients attempt to address this limitation via port mapping or USB redirection software. However, these methods cannot address all use case scenarios for the vast number of peripheral types being put to use today.
Ultra-thin clients
Traditionally, a thin client ran a full operating system for the purposes of connecting to other computers. A newer trend is sometimes called an ultra-thin client or a zero client, which no longer runs a full operating systemOperating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
: the kernel
Kernel (computing)
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources...
instead merely initializes the network, begins the networking protocol, and handles display of the server's output.
Web thin clients
Web thin clients (running a Web OS) rely on the web-based software for the application and data storage, thus creating a single point of failure when unable to connect to the Internet.List of protocols used with thin clients
- Appliance Link ProtocolAppliance Link ProtocolThe Appliance Link Protocol is used by Sun Ray ultra thin clients to talk to Sun Ray servers. The closed source implementation of the Sun Ray Server Software is developed and distributed by Sun Microsystems...
- Citrix ICA
- NFS
- Remote Desktop ProtocolRemote Desktop ProtocolRemote Desktop Protocol is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to another computer. The protocol is an extension of the ITU-T T.128 application sharing protocol. Clients exist for most versions of Microsoft Windows , Linux, Unix, Mac OS...
- Secure ShellSecure ShellSecure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...
or SSH, an encrypted replacement for telnetTELNETTelnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection...
. - Virtual Network ComputingVirtual Network ComputingIn computing, Virtual Network Computing is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer...
- X11, central to Unix windowing
- XMLXMLExtensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
, HTMLHTMLHyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
, or JSONJSONJSON , or JavaScript Object Notation, is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects...
over HTTP (AjaxAjax (programming)Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
)