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! |
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-
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
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
"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
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.
KOMENTAR