What's new in Terminal Server SP4 And WIN2K Server?
For a first-version product, Windows NT Server 4.0, Terminal Server Edition is pretty good. And now that Microsoft has changed Terminal Server's licensing structure to make the cost of client licenses more reasonable, Terminal Server has become an easy and fairly cost-effective way to supply terminal services to Win32 clients.
Like other first-version products, however, Terminal Server has shortcomings that can limit its usability. Citrix's MetaFrame, which uses the Independent Computing Architecture (ICA) display protocol, has addressed those shortcomings, but MetaFrame isn't cheap. (To read a comparison of the ICA and RDP display protocols, see Tim Reeser, "RDP or ICA," page 89.) The good news is that Service Pack 4 (SP4) for Terminal Server (a different service pack from SP4 for single-user NT) makes some changes to NT 4.0's Terminal Server, and Windows 2000 Server (Win2K Server) will make even more changes. Some of these changes will better integrate single-user NT with multiuser NT; other changes will create functionality currently unavailable with RDP, Terminal Server's display protocol.
In this article, I'll let you know what changes you can expect Terminal Server SP4 and Win2K Server to make to Terminal Server. Because SP4 for Terminal Server was not available when I wrote this article, I've based my discussion of Terminal Server SP4 on information I received from Terminal Server's lead developer and product manager. I've based my discussion of Win2K's changes to Terminal Server on information I obtained from Microsoft's tech reviewer for Win2K and from my observations of Win2K beta 3.
Changes in Terminal Server SP4
Out of the box, Terminal Server supports RDP, which is based on the T.120 protocol Microsoft developed for NetMeeting. Terminal Server SP4 includes basic bug fixes and changes to RDP. For example, Terminal Server with SP4 will be Y2K-compliant, will support the euro, and will fix some bugs the Terminal Server user community identified. A new API set adds new functionality. For example, you'll be able to use a locally connected printer without having to first share the printer from the local machine, then connect to it as a network connection. Local and remote sessions share a common Clipboard, so you can copy information between local and remote applications. Terminal Server SP4 will support session shadowing (Remote Control in NT 4.0's Terminal Server), so that an administrator can take over a user session and either view or manipulate the session. (An additional API, which Terminal Server SP4 doesn't use, passes information outside RDP.)
The ICA display protocol in MetaFrame has functionality that Terminal Server's RDP display protocol lacks. Although the gap between ICA and RDP was wider in NT 4.0's Terminal Server, a gap still exists in Terminal Server SP4 and Win2K Server. However, Terminal Server SP4 and Win2K Server add new features to Terminal Server that MetaFrame currently supports, as Table 1 shows.
Terminal Server in Win2K
Even with the changes Terminal Server SP4 will bring, Terminal Server is still a separate product from NT Server. However, in Win2K Server, Terminal Server will be a service, like DHCP, and thus not only part of the OS but subject to stopping and starting on demand. Let's look more closely at how Terminal Server in Win2K will differ from NT 4.0's Terminal Server.
Closer integration with the OS. In NT 4.0, Terminal Server is an add-on to the existing OS that makes NT multiuser-capable. Because Microsoft designed Win2K Server to support multiple users, multiuser capability is part of the OS kernel in the form of a service that you can start up or shut down, just as you do any other NT service. In Win2K Server, you can even toggle between the single-user and multiuser mode, although any changes you make to the OS or applications in one mode won't take effect in the other mode.
One advantage to integrating the single-user and multiuser modes in Win2K is that patches and fixes will apply to both modes. For example, Microsoft released SP4 for NT in Fall 1998, but if you wanted to also upgrade Terminal Server, you had to wait for the release of the special Terminal Server SP4, in March 1999. In Win2K, only one patch or service pack will be necessary to update both the OS and Terminal Server.
Kernel enhancements. In a single-user environment, all processes share one kernel memory area and namespace. In a multiuser environment such sharing isn't practical, because the needs of various OS users might conflict. Therefore, because the Windows kernel will be multisession-aware in Win2K, the kernel will support the kind of memory and process management that a multisession environment makes necessary. For example, Win2K will virtualize (i.e., place in virtual memory) part of the Win32 subsystem's kernel address space. In addition, Win2K will support multiple instances of Win32K (the kernel-mode device driver that manages graphical output), CSRSS (the user-mode portion of the Win32 subsystem), and Winlogon (which manages user access to the terminal server and network). Each session will have its own object space, and the system will support additional page table entries, which map physical memory addresses to virtual memory addresses. Finally, a global object space will exist to store objects that are not session-specific and that all sessions must access to run the OS. Processes that start in Session 0 (the console session the OS uses to administer the terminal server) will use the global namespace by default; processes that start in client sessions will use their own namespace to keep applications from interfering with one another.