Saturday, January 30, 2010

The History of Windows Terminal Services

The Microsoft Windows Server 2003 product line includes Terminal Services, an optional extension of the operating system. It allows end-user applications or several Windows desktops to be used on different clients connected via a network. Applications are executed and data processed exclusively on the server.

Which server types support Terminal Services? For application servers, Terminal Services is provided with the Standard Server, Enterprise Server, and Datacenter Server. The following table lists important features of various server types. It also includes functions such as Remote Desktop to transfer the graphical user interface (GUI) to a remote computer for administration purposes, as well as the session directory to manage user sessions in server environments with capacity allocation mechanisms.

Design Objectives

The primary design objective of Terminal Services was the display of many kinds of Microsoft Windows–based applications on multiple hardware platforms. To function properly, the applications must be able to run as is on Windows Server 2003 with Terminal Services enabled for application servers. By centralizing applications, the technology significantly reduces operating costs, especially in large corporate environments.

Moreover, Terminal Services under Windows Server 2003 provides a powerful option for distributing and updating software. It can replace or augment the Microsoft Systems Management Server and extends Windows capabilities, especially in large companies.

One secondary benefit of Terminal Services is the ability to eliminate so-called dumb terminals that are still in use at many companies. Windows Server 2003 in combination with Terminal Services opens up a migration path from a host environment to a more up-to-date environment.

In principle, a terminal server is a computer on which several users can work simultaneously while their screens can be displayed remotely. But is the platform a server or a client? The answer, as described in this book, is: An application server for several simultaneous users, who are logged on interactively to a single machine, is both a server and a client, depending on one’s point of view.

Click To expand
Figure 1-1: The terminal server multiple-user concept. A single server behaves like multiple Windows XP workstations whose output is redirected to multiple external devices.

The Development of Terminal Services

The Windows environment was developed in the 1980s to run on MS-DOS. The GUI was first introduced in November 1985. After the OS/2 initiative in cooperation with IBM to develop a successor to MS-DOS, Microsoft decided to work on a more progressive operating system that would support both Intel and other CPUs. The idea was to write the new operating system in a more sophisticated programming language (such as C) so that it could be ported more easily. In 1988, Microsoft hired David Cutler, the chief developer of Digital Equipment Corporation’s VMS, to manage the Windows New Technology project.

In the early 1990s, Microsoft released Microsoft Windows 3.0. This gained a large user base and therefore played a key role in the development of the new Microsoft Windows NT system. The design work for Windows NT took two years; three more were required to write the related program code.

The first version of Windows NT was launched in May 1993. It was based on its smaller but very successful sibling, Windows 3.1. Windows and Windows NT had the same GUI. However, Windows NT was not based on MS-DOS; it was a completely new 32-bit operating system. From the very first version, Windows NT could run both text-based OS/2 and POSIX applications as well as the older DOS and Windows-based applications.

Over time, both Windows NT and Windows 3.1 continued to be developed. From the start, Windows NT was considered the more stable system, especially for professional environments. As companies introduced personal computers, Windows NT became the market leader due to its stability in spite of increasing hardware requirements.

When Windows NT versions 3.5 and 3.51 hit the market, Microsoft was not very interested in equipping its high-end operating system with multiple-user features like UNIX. Therefore, in 1994, Microsoft granted Citrix access to the Windows NT source code to develop and market a multiple-user expansion. The expansion was called WinFrame and was quite successful in several companies a few years ago.

Ed Iacobucci, the founder of Citrix, had already developed the WinFrame concepts. From 1978 to 1989, he worked on developing OS/2 at IBM. His vision that different computers be able to access OS/2 servers through a network led to the idea of a multiple-user system. IBM, however, did not recognize the potential such an environment held. Inspired by this concept Ed Iacobucci left IBM in 1989 to found Citrix. The first Citrix products were still based on OS/2 and enjoyed only modest commercial success. That changed only when the Windows NT source code was used.

WinFrame’s great success and the increasing significance of thin client/server concepts led Microsoft on May 12, 1997, to license Citrix’ multiple-user expansion, MultiWin for Windows NT. Part of the license agreement stipulated that Citrix would not launch a WinFrame version based on Windows NT 4.0. Microsoft provided this release on June 16, 1998, with the launch of Windows NT 4.0 Server, Terminal Server Edition (code name “Hydra”).


Note?

Windows NT 4.0 Server, Terminal Server Edition, has been available only as an OEM version since August 2000. Due to the continued wide distribution of this platform, Microsoft made available the “NT 4 TSE Security Roll-Up Package” in April 2002.

One problem with Windows NT 4.0 was that the Terminal Server Edition was built on a modified version of the system kernel that required adapted service packs and hot fixes. This was addressed during the Windows 2000 design phase, when all needed modifications for multiple-user operation were integrated in the kernel from the start and corresponding system service and driver functions were realized— Windows 2000 Terminal Services. The single code base, designed to avert the obvious mistakes in UNIX and its many derivates, prevented a fragmentation of the Windows 2000 server market.

Unlike its predecessor, Windows 2000 did not require the purchase of an independent operating system for the multiple-user option. You simply enabled an integrated component. There was a single common system kernel for Windows 2000, regardless of the number of simultaneous users. The common kernel, of course, led to a standardization of service packs and hot fixes. All other system expansions or improvements immediately became available for terminal servers, too.

Compared to Windows NT 4.0, Terminal Server Edition, the new Windows 2000 Terminal Services included the option of using the clients’ printer and clipboards from the server (printer redirection and clipboard redirection). Additionally, it was now possible to monitor sessions remotely; that is, one user could see another user’s session and, with the corresponding permissions, could even interact with it.

To improve the integration of clients under Windows 2000, the Remote Desktop Protocol (RDP) protocol was optimized, a bitmap-caching option for raster images was introduced (bitmap caching), and access to client devices via virtual channels was created. A corresponding application programming interface (API) enabled the specific programming for multiple-user servers.

Before Windows Server 2003, Windows XP was launched as the new client platform on October 22, 2001. For the first time, client and server lines of the Windows NT code base were made available at different times. The standard installation of Windows XP also uses terminal server technologies for a number of tasks, such as the following:

  • Terminal server client Available in Windows XP Home Edition and Windows XP Professional. The new RDP client allows access to servers with activated Terminal Services.

  • Fast user switching Available in Windows XP Home Edition and Windows XP Professional. Users can run applications in the background while other users log on and work on the same Windows XP machine. Available in the Professional version only if the computer is not a member of a domain.

  • Remote assistance Available in Windows XP Home Edition and Windows XP Professional. A user can ask an expert for help and the expert can assume control of the user’s screen. The objective is one-on-one support, generally in help desk environments. This technology allows shared access to the user’s console. Access is configured through group policy. This feature is available at the Help and the Support Center Windows accessed through the Start menu by choosing the Help and Support option.

  • Remote desktop Only available in Windows XP Professional. The terminal server technology is available on the client platform. A user can operate a system under Windows XP Professional from another computer. The default setting allows only administrators to use this function. Additional users can be added through the integrated Remote Desktop User Group via the Control Panel.

During the installation of Windows Server 2003, Terminal Services is automatically set to Remote Desktop mode. To use Terminal Services, however, it must be activated via Workstation | Properties | Remote or the group policies. This allows the administrator easier access to the server over the network. Under Windows 2000, this mode was called Remote Administration, even though the basic function remains the same.

If Terminal Services is used in application server mode, it needs to be configured accordingly. Compared to Windows 2000 features, several changes and improvements were made.

  • Administrative tools Improved tools for Terminal Services administration.

  • Printing Improved printing via terminal servers. Local printers can now be integrated and reconnected automatically.

  • Redirecting drives and file systems Users can now see and use the local drive of their client during terminal server sessions.

  • Redirecting audio streams The audio output of a terminal server session can be redirected to the client platform.

  • Redirecting the clipboard Users can copy and paste between local and server-based applications.

  • Group policies Almost all Terminal Services features can now be managed with the help of the group policies.

  • WMI provider Most Terminal Services configurations can be executed by means of WMI (Windows Management Instrumentation) scripting.

  • Access rights Expansion of security features through new user groups and permission allocation.

  • Session directory Redirection of a user logon to an existing disconnected connection within a farm of terminal servers. This requires the installation of a corresponding service.

The RDP protocol also was considerably reworked and improved during the development of both Windows XP and Windows Server 2003.

Server-Based Computing:

The terminal server concept does not follow the usual approach to operating systems at Microsoft. It does not fit the notion of a “rich client” with local applications integrated into a network of high-performance servers that use a massive amount of resources. Neither does a terminal server match the typical environment of .NET- connected applications with components running on different platforms. On the other hand, the terminal server does support the concept of “server-based computing.” It is based on a centralized, well-equipped server—which we could call the host—which many users log on to simultaneously to work interactively with the applications installed on that server. All the application components run exclusively on the server. The server is accessed via the network from low-maintenance clients equipped with basic functions only. These clients are also called terminals, which is how the term terminal server came about. The clients merely provide visual access to applications and a means to interact with them by keyboard and mouse. Depending on the clients’ characteristics, additional input and output devices can be added.

Click To expand
Figure 1-2: Schematic representation of the transfer of screen content from a Windows Server 2003 terminal server to a thin client over the network.If this brings the world of mainframe computers to mind, you are not far from the mark. The terminal-host concept is not new and is now enjoying a revival in the terminal server. The basic idea was simply set on a new, state-of-the-art foundation, thus enabling access to modern, graphics-oriented applications without the need for modifications.

Different Client-Server Architectures

Even if terms such as terminal and host are often associated with it, the terminal server remains a special variant of the pure client/server environment. In a client/server architecture, certain resource-intensive tasks such as user authentication, printing, e-mail administration, database operations, or applications execution are limited to the server (the supplier). The clients (the customers) are linked to the server and provide a conduit for requesting services from the server. As a result, network traffic is usually quite low compared to other types of architectures. However, the server often demands high-end processing power, hard-drive capacity, main memory, and data throughput.

There are different levels of client/server options. They vary in their handling of the distributed application and data management, which in turn affects the efficiency of the server or client.

Click To expand
Figure 1-3: Different client/server options.
  • Remote presentation Remote presentation corresponds to a thin client having little native intelligence that depends directly on its server. The server is responsible for running all applications and managing data, whereas the client handles display, keyboard and mouse connections. X terminals, “green terminals” on mainframe computers, or terminal server clients are examples of this type of client. You could also include a Web browser that displays HTML pages in this category because all the “intelligence” needed to create these pages resides on the Web server.

  • Distributed application The concept of a distributed application is realized in many network systems where the client needs a certain amount of native intelligence to optimize the processing of complex tasks. For instance, database requests are created on the client to be run on a database server. Seldom- used or computation-bound components of a client application can be transferred to a server. The latter option exploits the strengths and available resources of both the client and the server. However, due to their high degree of distribution, these applications often require a major human effort to develop and maintain, such as SQL databases or Siebel systems. A Web browser also falls into this category if, in addition to HTML pages, it runs local scripts that transfer specific application logic to the client. These scripts can be loaded with the HTML data stream and are usually based on Visual Basic Script or JScript (or JavaScript).

  • Remote data management Remote data management is used by many companies that have a PC infrastructure: all the application programs are found locally on the client, and only data is saved in a central location. This permits simple strategies for backing up and managing user data, thus requiring a less complex server structure. One clear disadvantage, however, is the level of management required to install and administer applications. Experienced users and developers favor this model because they in large part retain control over their clients.

  • Distributed data management The distributed data management model is every central administrator’s nightmare. Not only are applications stored on the client, but also some data as well, which makes it very difficult to manage and secure. Even though the user retains most control over the client computer, he or she would be at a loss in the event of a hardware or software error. The loss of a local hard drive could cause damage to the company due to un-recoverable data. The connected servers are only used for occasional data archiving and perhaps accessing e-mail or the Internet.

Terminal Servers in Client/Server Environments

A terminal server requires the integration of thin client software, thin clients, or terminals. It corresponds to the first of the client/server options (remote presentation) mentioned earlier and therefore has the advantage of central administration. The other client/server options can be associated with different popular computing concepts as well, which helps classify them. For example, a PC in a local area network (LAN) falls under remote data management, whereas a classic client/server solution is a distributed application.

Click To expand
Figure 1-4: The different computing concepts used in companies.

Nevertheless, a bi-level client/server model is inadequate and falls short of reality. Most of the time real environments have several layers. A client accesses an application or the Web server on the intranet, which in turn accesses a file server, a print server, a database server, or an e-mail server. In this way, the multilevel model meets the not-so-new requirement for complex application programs: the separation of presentation/interaction, program logic, and data management.

The real challenge for system administrators lies in providing and controlling such a complex environment. The reason is that often several client/server models are combined in corporate terminal server environments. For instance, Microsoft Outlook, a client application, accesses an Exchange server which is a distributed application. If, however, Outlook is not installed directly on the client PC but on the terminal server, this model would resemble a remote presentation. The processing logic for the Exchange data in Outlook is separate from its display on the terminal server client. Even though it seems awkward at first, this method has definite advantages over other models.

Windows Server 2003 and Terminal Services:

Terminal Services is available for all members of the latest Windows server family and can be activated at any time. It can be accessed on the Web Server only in remote desktop mode, so it is not a terminal server in the usual sense. The terminal server component provides the graphical user interface to a remote device via the LAN or an Internet connection.

The Different Terminal Server Modes

In Windows Server 2003, Terminal Services is available in two varieties: application server mode, which must be installed as a component, or remote desktop mode, which is used for remote administration of the server and requires special permissions to access.


Figure 1-5: Ability to activate remote desktop connections via My Computer | Properties | Remote.

Application Server

A terminal server running in application server mode is an efficient and reliable way to furnish Windows-based applications on a network. This terminal server represents a central installation point for applications that are accessed simultaneously by several users from their respective clients.


Note?

If applications are already installed on Windows Server 2003 and Terminal Services is later activated in application server mode, some of the applications might not work properly. A multiple-user environment has special configuration requirements.

Terminal servers in application server mode also allow Windows-based applications to run on clients that are not running the Windows operating system. However, additional third-party (for example, Citrix) products must be used to realize this option.





2 comments:

  1. It can be accessed on the Web Server only in remote desktop mode, so it is not a terminal server in the usual sense.

    If you are looking for Cloud desktop Computing services, along side Managed Hosting and Hedge Fund IT Services in NYC, New York, Manhattan.Madisonti will be the best choice for you.

    ReplyDelete
  2. Thanks for taking the time to discuss history of windows terminal services.

    Thin Client Hardware & RDP Thin Client

    ReplyDelete