Now that we have looked at transport and communication protocols in general and RDP in detail, let us shift our focus to client devices. What do users and administrators expect from clients? First, clients should execute applications and enable connection to the network. Providing a suitable user interface is, of course, another client task. This interface should be as intuitive and ergonomic as possible to optimally support the user. The client should also be as cost-efficient as possible, which is of vital importance, especially in corporate environments. For these reasons, the central administration functions of the client should be comprehensive and include administration of any local applications.
The number of the above-mentioned requirements means a wide variety of clients can be used in a terminal server environment. The product range begins with Windows-based terminals and works its way up through handheld PCs, portable PCs (notebooks), and desktop PCs on a LAN, all the way to UNIX workstations on a LAN. There are platforms that do not quite belong in the list because they are based on special hardware or a particular Internet browser.
It is difficult to characterize all these platforms as thin clients, because their design objectives are quite different. They all belong to the different thin or rich client options that are described in Chapter 1. That is not to say that you can lump all of these client types together for comparison. The resulting numbers would not be realistic. The fact is that the traditional Windows-based PC in its current form is very flexible, but it is also expensive in comparison to a Windows-based terminal. The different types of clients can still be reduced to a common denominator through suitable client software.
The issue of access to the terminal server should also be addressed at this point. One option is to map the user interface of a terminal server session completely to the client. This means that a terminal server remote desktop could be displayed on an existing client local desktop. In this case, a user would have to know which desktop has the applications he or she needs. This situation is mitigated only if the local desktop has very limited functionality and the fewest possible local applications are installed. The remote desktop then becomes the actual user interface.
Another option is to directly display only the remote applications of a terminal server on the local desktop of the client. To realize this option, you need a high- performance desktop on the client platform. Yet with this option, the difference between local and remote applications is negligible.
A terminal server with no other expansion components usually uses the first option; that is, the terminal server desktop is fully mapped to the client platform. Individual applications can be run on the client desktop only by greatly reducing standard terminal server functions.
The time has come to sort out the numerous terms used for all the possible clients. We will focus on the various clients deployed with terminal servers.
The hardware of a Windows-based terminal (WBT) consists of keyboard, mouse, monitor, network adapter, and parallel and serial interface. It does not include a local hard drive. Small areas of RAM and ROM house the operating system (for example, Windows CE .NET or Embedded Windows XP) and the access software for one or several server platforms. Different modules of access software enable access to terminal servers or other types of multi-user servers.
No local processes should be run on the WBT, which, technically speaking, also excludes the .NET runtime environment or a Java Virtual Machine. Only scaled- down Internet browsers are an exception. The operating system makes remote administration of WBTs very easy. Windows-based terminals are therefore ultra-light clients that require only minimal administration.
The local WBT desktop provides only basic functions and therefore remains mostly in the background. The user normally works with the remote desktop of the terminal server. This makes the WBT a perfect platform for RDP.
Windows-based terminals are available from numerous manufacturers, the most important being Wyse, Neoware, Fujitsu-Siemens, and Hewlett-Packard. LAN- based PCs running Linux or Windows XP Embedded are also good options in place of WBTs.
In 1996, Apple, IBM, Netscape, Oracle, and Sun Microsystems introduced the profile of a network computer (NC) that required the following hardware: a monitor with a minimum resolution of 640 x 480 pixels, a mouse, a keyboard, and audio output. A hard drive system was not necessary. An NC must support the TCP, FTP, Telnet, NFS, UDP, and SNMP network protocols as well as HTML, HTTP, Java, SMTP, IMAP4, and POP3 Internet standards. DHCP and BOOTP load and start an operating system over the network. DHCP assigns the IP address; BOOTP loads the operating system over the network and uses it to boot the client platform.
For the most part, an application’s procedural logic can run on the network computer’s local platform. The necessary program resources are normally loaded over the network or stored in local, nonvolatile memory. The local programs can therefore become quite voluminous, for example, when executing Java applets. This differentiates the NC concept from the original idea of the Windows-based terminal.
Even though pure network computers can be used to access terminal servers and their applications over a suitable RDP client, they have all but vanished from the market. This is mainly because the difference between Windows-based terminals and network computers has become negligible. Another reason is that the NC concept has significantly improved through modern operating systems (such as Linux). However, these new devices are not being named consistently. In fact, the manufacturers are trying to establish their own brand names on the market for this class of device.
The mobile device category includes small computers to run very thin, local applications. They are often called handheld PCs or palm-size organizers and have only limited local logic. Many of these devices are equipped with a very small monitor, and you enter data with a stylus instead of a keyboard. Windows CE or Pocket PC are two common operating systems for handheld PCs. They are stored in ROM together with the applications.
Mobile devices can run on batteries for 8 to 12 hours, which makes them extremely flexible and locale-independent. If wireless network connections are brought to bear (for example, radio or infrared), these devices can be used almost anywhere. Access to a terminal server through an installed RDP client is always possible, allowing almost any application to be used. It would not make a lot of sense to map the entire desktop of a terminal server session to such a device. The local screen resolution is usually much too low.
Notebooks or laptops are the most sophisticated mobile computers. These devices are fully equipped clients and provide the same peripheral components as a stationary PC. The entire configuration is, of course, very small and light. Notebooks have rechargeable batteries, so they do not need a stationary power supply. Windows XP is the operating system of choice for notebooks. Newer versions of this device class are designed like a notepad and allow input via a special monitor and stylus.
If a network adapter and an RDP client are installed on a notebook, you can use remote applications without consuming too many local resources. Nonetheless, the notebook as a thin client is not without problems. Because the notebook is not always connected to the network, central administration is more difficult.
PCs or workstations on the LAN are stationary, fully equipped clients based on operating systems such as Windows 2000 Professional, Windows XP, Mac OS, or UNIX and Linux. However, they can still be considered thin clients if they have the right software installed to access the server platforms on the network. An RDP client or an ICA client are options for selecting the access software. (See Chapter 9.) The applications launched in this way run exclusively on the server.
A special configuration option enables access to local client resources such as hard drives or printers. Local applications can still run in parallel. This makes the system both flexible and more difficult to manage.
This client category can be operated using two different configurations:
The PC or workstation has very limited functions and is mainly a carrier platform for an RDP client. Even with minimal use of local resources (for example, processor, main memory, or hard drives), acceptable results can still be produced. For this reason, even older machines can be used for this purpose. It is also possible to reduce user access to existing local resources for security reasons. For instance, it is possible to prevent writing data to the local hard drive to enforce using a central memory instance.
The PC or workstation can access terminal servers only to integrate a few central applications in a well-designed local environment. A device used in this way is usually based on a relatively current hardware generation.
Many of the statements made here also apply to notebooks, but to a lesser degree.
Users’ acceptance of the terminal server environment is often based on their experience with the client. Before selecting a client, it is important to understand its purpose.
Clients fall into one of several categories in a terminal server environment:
Replacement for the local desktop This includes clients running no local applications except the RDP client. The user does not have contact with the local desktop. This type of client is best for users who need to work with only a few applications that all run on terminal servers.
Supplement to the local desktop This environment combines a local and a remote desktop. This combination makes sense especially when the client and server operating systems are very different or when local applications cannot be moved to terminal servers. This configuration is also suitable if the client is specifically configured for a certain user group. However, the user might find it difficult to be confronted with two different desktops and then have to look for the desired application. Normally, only experienced users should work in this kind of environment. Highly asymmetric environments, with a very small number of local applications versus a large number of remote applications on terminal servers, are the exception. This environment is practical only if the needed local applications cannot run on terminal servers.
Local display of remote applications In this category, applications on the terminal server are displayed on the local client desktop. This configuration creates the most natural impression for the user when accessing applications. The user cannot tell the difference between local applications and remote ones. The necessary functions are configured using a predefined boot program for connecting to a terminal server or through third-party components.
These categories and their transferability to target environments are the primary factors in selecting the client.
How do you select the right client for terminal servers? First, you need to analyze existing devices to see whether you can use them for the intended purpose. If you need to acquire new clients, the above-mentioned client categories, the intended purpose, and hardware-specific parameters are essential.
Category by purpose Windows-based terminals and network computers are always the preferred solution for replacing the local desktop. Notebooks and PCs on a LAN are the right choice for supplementing the local desktop. Local display of individual remote applications is best for mobile devices and PCs on a LAN.
Processor Type, speed, and long-term availability of the processor are crucial because the processor determines performance and its long-term viability.
Memory Size of RAM and ROM and a Flash-ROM card to manage the local operating system and other system components to access the terminal server.
Keyboard and mouse Input devices suitable for multiple languages and specific user requirements.
Monitor Maximum resolution, color depth, and refresh rate of the output device. In addition, you need to select either analog or digital monitor control.
Multimedia Audio and video support options.
Interfaces Ability to use local serial and parallel interfaces, adapters for different network topologies and USB ports.
RDP client software Availability of current RDP client software for the platform.
Central management Central management is very important if you do not want to change client configuration locally. Only authorized persons can modify configuration. Users should not have uncontrolled access to clients’ configuration parameters. This is the only way to substantially reduce the client administration effort.
Modem dialup Options to dial up the existing network structure via the point-to-point protocol (PPP) or the point-to-point tunneling protocol (PPTP).
Security Support of current encryption options and integration of smart cards or biometric authentication procedures.
Web browser Option to integrate a local web browser and the corresponding functions (for example, client-side scripting or Java).
Additionally required terminal emulations Additional system components that can be integrated to access central systems (for example, VT emulation and host connection).
RDP clients exist for platforms other than the ones supported directly by Microsoft. For instance, Tarantella, a middleware product, allows implementation of the RDP protocol on the Tarantella Adaptive Internet Protocol (AIP). The corresponding AIP clients can therefore integrate terminal server sessions into UNIX environments. (See http://www.tarantella.com.) HOB developed a Java client for RDP. (See http://www.hobsoft.com/www_us/home.htm.) The Linux developers offer several solutions for their operating system, for example, Rdesktop (http://www.rdesktop.org) or WinConnect (http://www.thincomputinginc.com).
Before you finalize your selection of new clients, you might want to compare the requirements to a list of properties of the different brands. In addition to model options and prices, the client type figures largely in calculating administration costs.