Thin client
|
A Thin client is a computer (client) in client-server architecture networks which has little or no application logic, so it has to depend primarily on the central server for processing activities. The word "thin" refers to the small boot image which such clients typically require - perhaps no more than required to connect to a network and start up a dedicated web browser.
Contents |
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 to 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 or a thick/fat client (or a mixture of both).
Definitions
A thin client may be a program or a device for the execution of thin-client application programs. Unfortunately, however, there is no precise definition (in quantifiable terms) for when the client program or device may be called a thin client or not.
However, it is widely accepted that a Windows XP boot image, which requires at least a DVD-ROM to store and copy onto a boot device, is "fat", while an X11 server or Linux boot image plus web browser, which typically fit on a floppy or jump drive, are by contrast quite "thin". There are also Windows thin clients of similar size.
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 users location, and as much as possible at some centralized managed site.
The meaning of the words "significant elements", "core function", "most" and "as little" are arguable.
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.
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 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. Companies that develop and market these devices include Neoware Wyse Technology and Hewlett Packard.
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. An X terminal, Wyse Winterm, Clearcube or Web kiosk might be considered thin clients in this sense.
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.
Thick/Fat Client
A thick or fat client does as much processing as possible and passes only data required for communications and archival storage to the server.
Examples Of Thin Client and Thick 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 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.
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.
Worthless to thieves. Thin client hardware, whether dedicated or simply older hardware that has been repurposed via cascading, is useless or of little interest outside a client-server environment. Burglars interested in computer equipment have a much harder time fencing thin client hardware (and it is less valuable).
Advantages of Thick Clients
Less network bandwidth. Thick clients typically require less network bandwidth.
Fewer server requirements. A thick client server does not require as high 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. Many 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.
Protocols
Some examples of protocols used for thin clients - server communication are:
- X11
- used by all Unix variants
- NX technology
- compresses the X11 protocol for better performance
- Citrix ICA with MetaFrame
- used by Windows RDP
- HTML over HTTP
- used by the myriads of web applications
See also
- dumb terminal
- Linux Terminal Server Project [1] (http://www.ltsp.org/)
- PilotLinux project [2] (http://www.pilotlinux.nl/pilotlinux/)
External links
- Thin Clients in India (http://www.Progment.com/)
- Thethin.net (http://www.thethin.net/)
- PXES Universal Linux Thin Client (http://pxes.sf.net/)
- Thinstation (http://thinstation.sourceforge.net/)
- Thinlet.com (http://www.thinlet.com/)
- licron.nl (http://www.licron.nl/)
- Thin Clients (http://www.cliency.com/)
- 2X Thin client server (http://www.2x.com/)de:Thin Client