Thin client
From Free net encyclopedia
Image:HP Compaq t5000 thin client.jpg
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 or "Remote Desktop" connection such as X11, Citrix ICA or Microsoft RDP.
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.
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.
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. Another criteria 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. Companies that develop and market these devices include Neoware, Wyse Technology, Sun Microsystems, BOSaNOVA, 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, Neoware Appliance, 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. (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.
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.
Some technologies such as Network Virtual Disks or Disk Drive Images are aimed to provide central management and security/reliability/affordability comparable to what is found in Thin Clients devices: the OS that operates the client is stored on a shared virtual disk image (a disk image file) that is housed on a server in the clients' LAN. This virtual disk drive is "write protected" and shared by several clients at the same time. The content of this virtual disk drive is streamed on demand to the clients. Yet, all the computing is done by the client itself. Instead of centralizing a complete computer (centralize the storage, CPU, memory, devices etc) this approach centralizes only the hard disk drives. Because the virtual disk drives can be shared and protected, the aim to reduce TCO is also achieved with this technology. This technology can be used to run typical Embedded Operating Systems such as Embedded Linux and Windows XP Embedded, but also to run desktop operating systems such as Microsoft Windows XP Pro, FreeBSD or Linux. Organizations that develop and market Network Virtual Disks include Neoware (Image Manager), Linux Terminal Server Project, IBM (iBoot technology). Network Block Device support is another kind of Network Virtual Disk embedded in Linux.
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) is 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.
- 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, although depending on the application this may not necessarily be true. If thick clients are engaged in heavy data processing that involves transferring large amounts of data over the network, this may use more bandwidth than just the Keyboard/Video/Mouse data of thin clients (where all the actual data remains at the server).
- 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. 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.
Advantages of Network Virtual Disks clients
- Lower IT admin costs. See above
- Easier to secure. See above
- Lower hardware costs. No hard disk drive, no flash-disk.
- Worthless to thieves. See above
- Fewer server requirements. The server acts only as a file server, not an application server.
- Better multimedia performance. The client can use its own hardware resources
- More flexibility. See above
Disadvantages of Network Virtual Disks clients
- 100Base-T LAN required. Because of the amount of data streamed to the clients, it is usually difficult to have a Network Virtual Disk client connected through WAN link to the server that house its virtual disk drive.
Protocols
Some examples of protocols used for thin clients - server communication are:
- X11
- used by essentially all Unix variants
- NX technology
- compresses the X11 protocol for better performance
- Citrix ICA with MetaFrame
- HTML over HTTP
- used by a myriad of web applications
See also
- Dumb terminal
- PXES Universal Linux Thin Client
- Linux Terminal Server Project [1]
- PilotLinux project [2]
External links
- Tuppas Thin Client Systems
- Thinstation
- AnywhereTS
- PXES Universal Linux Thin Client
- IGEL Technology
- BOSaNOVA, Inc
- Neoware Systems
- Symbio Technologies
- Wyse Technology
- Thin Client Central
- NComputing
- NEXTerminal
- Cliency
- Novatium
- HP Thin client explanation page
- Linware
Thin Client Education
Thin Client Support