A user's PC (the client) that relies on a server for obtaining its
programs and data. There are two basic architectures: thin processing
and thin storage.

Thin Processing

The user's computer performs like an input/output terminal and does not
do any data processing. Similar to the centralized mainframes and
minicomputers in the 1970s and 1980s, the user's PC processes only
keyboard and mouse input and screen output. All application data
processing is handled in the server.

This
"thin processing" client is accomplished using software such as Windows
Terminal Server, Citrix Presentation Server and X Window. Contrast with
fat client
.

Thin Storage

The user's computer performs all the application processing, but the
program is stored on the server. It typically stores all or most of the
data on the server, but in some cases, it may store copies of the data
locally. To run the application, the program and data are downloaded
from the server. The data are processed in the client and changes are
sent back to the server. The next time the program is run, it is
downloaded again.

This
"thin storage" client is embodied in Internet applications such as
Web-based e-mail. Thin clients were also the paradigm of the network
computer, which never became very popular


Thin Clients
The
thin client relies on the server for program and data storage. In thin
processing architecture (top), it uses the server for all data
processing as well.


The Only True Thin Client!

thin client


A HP T5700 thin client, with flash memory


A Neoware m100 thin client.


The image above is proposed for deletion. See images and media
for deletion
to help reach a consensus on what to do.

A thin client (sometimes also called a lean client) is a
client

computer or client software in client-server architecture networks which depends primarily
on the central server for processing activities, and mainly focuses on conveying
input and output between the user and the remote server. In contrast, a thick or
fat client

does as much processing as possible and passes only data for communications and storage to the server.

Many thin client devices run only web browsers or
remote desktop software, meaning that all significant processing occurs on the server. However,
recent devices marketed as thin clients can run complete operating systems such as
Debian
GNU/Linux
, qualifying them as diskless nodes
or hybrid clients.

As a consequence, the term "thin client", in terms of hardware, has come to encompass any device marketed as, or
used as, a thin client in the original definition – even if its actual capabilities are much greater. The term is also
sometimes used in an even broader sense which includes
diskless nodes
.[1]

Introduction

In designing a client-server application, there is a decision to be made as to which parts of the task should be done on the
client, and which on the server. This decision can crucially affect the cost of clients and servers, the robustness and security
of the application as a whole, and the flexibility of the design for later modification or
porting
.

One design question is how application-specific the client software should be. Using standardized client software such as a
Web browser or
X11
display can save on development
costs, since one does not need to develop a custom client—but one must accept the limitations of the standard client.

Depending on the outcome of these decisions we might say that we use either a thin client, a thick/fat client, or a
hybrid client.

History

An IBM EXX Thin Client

What are now called thin clients were originally called "
graphical terminals
" when
they first appeared, because they were a natural development of the
text terminals
that
had gone before them. (Text terminals are generally not classified as thin clients, because they are from an earlier computing
era.)

X terminals were a relatively popular form of graphical terminal in the
1990s.

It is likely that the term "thin client" started to be used instead of "graphical terminal" for the following reasons:

  • When thin clients started to come back into vogue,
    fat clients
    had long been the norm in
    most environments. Many IT workers and managers used to working with fat clients such as PCs and Macs would have been unfamiliar
    with the term "graphical terminal".
  • The term "thin client" is more descriptive and relevant than "graphical terminal", in an age in which all desktop
    computing devices have graphical capabilities.
  • As a marketing term, it sounds short and snappy – and also, importantly, it made the technology sound innovative and
    technologically advanced, even though it was neither – X terminals had been acting as thin clients years before the term was
    widely used in the IT industry.

Definitions

A thin client (or a lean client) is a network computer without a hard disk drive, which, in client/server applications, is
designed to be especially small so that the bulk of the data processing occurs on the server.

Thin client (computing): A server-centric computing model in which the application software, data, and CPU power resides on a
network server rather than on the client computer

Application program

A thin client as an application program communicates with an
application server

and relies for most significant elements of its business logic
on a separate piece of
software, an application server, typically running on a host computer located nearby in a
LAN
or at a distance on a WAN or
MAN
.

A thin client does most of its processing on a central
server
with as little
hardware and software as possible at the user's location, and as much as possible at some centralized managed site.

Other definitions of thin versus thick/fat client application
program try to draw the line at whether the deployment of the
application requires the installation of additional software at the
user site or not. Unfortunately, this is also arguable, since
e.g., a browser used for a client application might be part of one
client platform, but not the other. So on one platform no
additional software installation is required, while another client
platform requires it. The only objective definition would seem
to be whether the boot image
that is normally used to start the user's computer needs to be
modified in any way before the client can be used: if not, then, the
client is probably thin. Another criterion is related to the
management of the thin client device or program. If it can be centrally
managed, it is probably thin.

However, a great deal of software is today typically included in a base boot image, specifically to support various user
applications, so that it need not be reinstalled on every computer. Often, a
departmental boot image is prepared to include applications specific to a department.

User-interface device

A thin client as a device is designed to provide just those functions which are useful for
user-interface
programs. Often such devices do not include
hard
disk
drives, which may become corrupted by the installation of misbehaved or incompatible software, but instead, in the
interests of low maintenance cost and increased mean-time between failures (
MTBF
) the thin client device will use read-only
storage
such as a CD-ROM, Network Virtual Drive or
flash
memory
.

Ideally the user will have only a screen, keyboard, a pointing device (if needed) and enough computer to handle display and
communications. Numerous companies develop and market these devices.

Device for running a thin client application program

A Gigabyte TA7 Thin client

"Thin client" has also been used as a marketing term for computer appliances designed to run thin client software.
Wyse Winterms,
Neoware
's Appliances, Hewlett-Packard
HP Compaq t-series, Chip PC Jack PC,
X terminal
, Clearcube or Web kiosk might be considered thin clients in this sense.

The latest concept in this genre is 'Ultra Thin Client' technology – which takes the 'thin' concept one step further by
running the connection client software (Citrix, Windows Terminal Services, telnet etc) directly from the appliance's hardware.
This is a marked difference to legacy thin-client hardware architecture which ran an operating system, often Windows CE or Linux
between the hardware and connection client software.[2]
[3]

Software thin client

Most thin clients are software-only however, and run on standard
PC
hardware. One
example of this software-only thin client is PXES Universal Linux Thin Client
and Pilotlinux.
Knoppix is also actively pursuing this market, as is ThinStation. (See also
Puppy Linux). An example on the Windows platform is the BeTwin program, which uses extra VGA/DVI graphics
ports, or cards, in the host PC plus USB connected keyboards and mice to enable additional workstations.

Examples of thin client and thin client usage

Wyse Winterm Thin client

The advocates of both architectures tend to have contentious relationships. In practice, there seems to be little to choose
between the two approaches for many applications. A few situations may clearly call for one or the other.
Distributed computing
projects such as the SETI@home
project
(whose whole point is to pass off computationally intensive analysis to a large collection of remote computers) are applications
that require thick/fat clients. On the other hand multicasting
entertainment or educational
material to a number of clients might best be done with thin clients since exactly the same material is to be presented at
each.

Several companies now sell thin-client laptops that can access internal resources through a
Virtual private network
so the connection between client and server passes through an encrypted
tunnel. This can allow mobile workers to access security-sensitive databases with less risk of lost or compromised data should
the laptop be lost or stolen since it has no local storage.

Advantages of thin clients

Obviously, boot image control is much simpler when only thin clients are used –
typically a single boot image can accommodate a very wide range of user needs, and be managed centrally, resulting in:

  • Lower IT admin costs. Thin clients are managed almost entirely at the server. The hardware has fewer points of failure
    and the local environment is highly restricted (and often stateless), providing protection from
    malware
    .
  • Easier to secure. Thin clients can be designed so that no application data ever resides on the client (it is entirely
    rendered), centralizing malware protection.
  • Lower hardware costs. Thin client hardware is generally cheaper because it does not contain a disk, application
    memory, or a powerful processor. They also generally have a longer period before requiring an upgrade or becoming obsolete. The
    total hardware requirements for a thin client system (including both servers and clients) are usually much lower compared to a
    system with fat clients. One reason for this is that the hardware is better utilized. A CPU in a fat workstation is idle most of
    the time. With thin clients, memory can be shared. If several users are running the same application, it only needs to be loaded
    into RAM once with a central server. With fat clients, each workstation must have its own copy of the program in memory.
  • Lower Energy Consumption. Dedicated thin client hardware has much lower energy consumption than thick client PCs. This
    not only reduces energy costs but may mean that in some cases
    air-conditioning
    systems
    are not required or need not be upgraded which can be a significant cost saving and contribute to achieving energy saving
    targets.
  • Worthless to most thieves. Thin client hardware, whether dedicated or simply older hardware that has been repurposed
    via cascading, is useless outside a client-server environment. Burglars interested in computer
    equipment have a much harder time fencing thin client hardware (and it is less
    valuable).
  • Hostile Environments. Most devices have no moving parts so can be used in dusty environments without the worry of PC
    fans clogging up and overheating and burning out the PC.
  • Less network bandwidth. Since terminal servers typically
    reside on the same high-speed network backbone as file
    servers, most network traffic is confined to the server room. In a fat
    client environment if you open a 10MB document that's 10MB
    transferred from the file server to your PC. When you save it that's
    another 10MB from your PC to the server. When you print it
    the same happens again – another 10MB over the network to your file
    server and another 10MB back to the printer. This is highly
    inefficient. In a thin client environment only mouse movements,
    keystrokes and screen updates are transmitted from/to the end
    user. Over efficient protocols such as ICA or NX this can consume as
    little as 5 kbit/s bandwidth.
  • More efficient use of resources. A typical thick-client will be specified to cope with the maximum load the user
    needs, which can be inefficient at times when it is not utilised. In contrast, thin clients only use the exact amount of
    resources required by the current task – in a large network, there is a good probability the load from each user will fluctuate
    in a different cycle to that of another user (i.e. the peaks of one will more than likely correspond, time-wise, to the troughs
    of another.
  • Simple hardware upgrade path. If the peak resource usage is above a pre-defined limit, it is a relatively simple
    process to add another rack to a blade server (be it power, processing, storage), boosting resources to exactly the amount
    required. The existing units can be continued in service alongside the new, whereas a thick client model requires an entire
    desktop unit be replaced, resulting in down-time for the user, and the problem of disposing of the old unit.
  • Lower noise, which can create a more pleasant working environment.

Advantages of thick clients

  • Fewer server requirements. A thick client server does not require as high a level of performance as a thin client
    server (since the thick clients themselves do much of the application processing). This results in drastically cheaper
    servers.
  • Better multimedia performance. Thick clients have advantages in multimedia-rich applications that would be bandwidth
    intensive if fully served. For example, thick clients are well suited for
    video gaming
    .
  • More flexibility. On some operating systems (such as
    Microsoft Windows
    )
    software products are designed for personal computers that have their own local resources. Trying to run this software in a thin
    client environment can be difficult.
  • Suitable for poor network connections. Thin clients can be unusably slow, or very frustrating to use, over a high
    latency network connection. Moreover, they do not work at all when the network is down. While these points are sometimes also
    true of thick clients to an extent (i.e. when transferring data over the network), it is possible to work offline with a thick
    client, which is not possible with a thin client. Also, it is possible to transfer data in the background using a thick client,
    while still working on another task at the full speed allowed by the local hardware.

Client/Server Protocols

ALP
Appliance Link Protocol is a secure bitmap-based network protocol used by Sun with its Sun Rays.
XML over
HTTP
Protocol used by the AJAX model of
web
applications
.
X11
Networking and display protocol available on essentially all
Unix variants.

X11
over SSH

Tunneling
an X11 session through a
SSH session to provide authentication and encryption.
NX technology
Compresses and caches the X11 protocol for better performance.
VNC
Allows for (virtual) desktop sharing.
Citrix ICA
with Citrix Presentation Server
RDP
The default remote desktop access mechanism for
MS-Windows

HTML
over HTTP
Used by a myriad of
web applications
.