Get the most from thin clients
Thin-client technology--the idea of splitting processing between a client and server for all applications--is a hot topic. Thin-client enthusiasts say the technology applies to every computing situation. Thin-client debunkers say the technology is not worth the time and effort required to implement it. The truth is somewhere between these extremes.
A better solution than trying to make thin clients work for all situations, or deciding that thin clients won't work in any situation, might be to design a hybrid network. On such a network, some computers are thin clients and others are not. In addition, some applications are servercentric, and other applications reside on individual computers to take advantage of local CPU power and decreased network-delay latency. Hybrid networks are complicated to administer--you must remember which applications are loaded where and what resources are available to them. But hybrid networks can help you make the most of available resources and use thin-client technology to fit your needs, rather than mold your network to fit thin-client technology. (To read about one company's thin-client implementation, see "IBM Treats Guests to Thin-Client Computing," page 171.)
To help you get the most from thin-client technology, I'll deconstruct thin-client computing and show you how to evaluate the requirements thin clients demand. You can then decide how to work with these requirements to design an optimal hybrid network. I'll describe what today's thin-client technology looks like and what you'll need to understand about the particular limitations of the technology. Then I'll give you tools to help you evaluate servercentric applications to use with your thin clients.
Thin-Client Models
Thin-client computing isn't a new concept but a return to the mainframe model. Some people use this fact as a stick to beat thin clients with, but the mainframe model is a valid one. Fewer wasted CPU cycles, centralized administration, and pooling of resources are not bad ideas. That compute-heavy applications make a mainframelike approach unworkable in some circumstances doesn't mean such an approach is not a good idea in other situations.
The predominant thin-client model today is the Windows terminal. In this model, which Citrix's WinFrame technology and Microsoft's Windows NT Server 4.0, Terminal Server Edition use, applications run on the server, and the server downloads images of the interface to the client. The client might be a true Windows terminal such as the Wyse WY series, or it might be a PC. Either way, the client devotes its resources to drawing images on the screen. The protocols that Windows terminal solutions use don't all work in the same ways, nor do these protocols all produce the same results. Citrix's Independent Computing Architecture (ICA) protocol, for example, permits more fine-tuning of application publishing and accommodates a wider array of clients than does Terminal Server's Remote Desktop Protocol (RDP). However, the idea behind the Windows terminal model, which Figure 1 illustrates, remains the same--client resources are devoted to bitmap display.
New Moon Software's Liftoff application, released in April 1998, introduced a second model of thin-client computing. In this model, the server publishes individual applications. When a client runs such an application, the application's processing divides between the server and the client, with the presentation APIs running on the client and the kernel APIs running on the server, as Figure 2 shows. The difference between the Liftoff model and the Windows terminal model is in the way each model presents images. Liftoff downloads drawing instructions to the client, and the client processes the instructions with mouse clicks and keyboard strokes. This model results in less data traveling the network, but requires the client to have more processing power than is the case with the Windows terminal model. In both thin-client models, however, the goal is to concentrate resources on the server.
Thin-Client Limitations
The most obvious limitation of thin-client computing is that it creates a strain on nonmainframe servers. The less power you allow clients, the more power you must give to servers. Thin clients plugging in to a server must contend for limited resources in the following areas.
CPU time. On a traditional LAN, the usual ratio of clients to CPUs is one to one. This proportion results in wasted cycles, because most users don't need a CPU 100 percent of the time. Most vendors of thin-client solutions estimate that you can run about 12 clients to 15 clients per server CPU, although various computing situations might give you a higher or lower ratio. In a situation in which CPU utilization is low and applications are not CPU-bound, a CPU can support as many as 50 clients. In a situation in which CPU usage is very high and applications are CPU-bound, the ratio of clients to CPUs is much lower.