Free Online Publication
Windows Server 2008 R2 Remote Desktop Services
From Beginner to Expert Level
Content
The Book
... Table of Content
... Preface
... About This Book
Part I –
A Beginner's Guide to Remote Desktop Services
1 Overview and History
2 Installation
3 Licensing
4 Configuration
5 Client Software
6 Application Installation
7 System Administration
8 Network Planning
9 Printing
10 User Environment
Part II –
An Expert's Guide to Remote Desktop Services
11 Virtualization
12 RDS Internals
13 Remoting Protocol Details
14 Security
15 Registry Settings
16 Server Sizing
17 Resource Management
18 Testing and Quality Assurance
19 RDS Scripting
20 RDS for Developers
Author's Profile
... About
... Benny's Biography
... Presentations 2009, 2008, 2007, 2006, 2005, 2004 and earlier
Awards

 


Microsoft Windows Server 2008 Terminal Services

1. Terminal Services Overview

Posted by Benny Tritsch on May 25, 2008; updated on December 27, 2008

[TS Overview] [Things You Should Know...] [History & Features] [Presentation Virtualization]

Back Next

1.2. History and Features

Read in this lesson...

  1. Windows and WinFrame Development
  2. MultiWin and “Hydra”
  3. Windows XP
  4. Windows Server 2003 Terminal Services Features
  5. Windows Vista
  6. Windows Server 2008 Terminal Services Features

 

Looking at the history of Terminal Services provides an interesting insight why things are the way they are today. But more importantly it allows a more general understanding of the underlying technology and the decision process that led to it. In 1998 Microsoft introduced the notion of Terminal Services to the market by launching Windows NT 4.0 Server, Terminal Server Edition. But the technology behind this product was not new, though it influenced all following Microsoft Windows Server versions quite substantially. It already had a history in 1998 and it had much in common with some of the concepts behind mainframe computing environments.

Windows and WinFrame Development

The Windows environment was developed in the 1980s to run on Microsoft Disk Operating System (MS-DOS). Microsoft Windows, a Graphical User Interface (GUI) extension for MS-DOS, was first introduced in November 1985. In the second half of the 1980s Microsoft cooperated with IBM, allowing Microsoft to deliver its own version of IBM’s OS/2 operating system. Besides the ongoing development of MS-DOS and Windows a joint OS/2 initiative intended to develop a successor to MS-DOS.

Microsoft Operating Systems - History

Figure: Microsoft Windows operating systems – how everything started.

 

In 1988 Microsoft hired David Cutler, the chief developer of Digital Equipment Corporation's VMS operating system, to manage the Windows New Technology (Windows NT) project. The idea behind this project was to develop a new Windows operating system without any MS-DOS legacy code included. The plan was to use a more sophisticated programming language (such as C) so that it could be ported more easily. Additionally this advanced operating system was supposed to support CPUs from both Intel and other manufacturers.

In the early 1990s, Microsoft released Microsoft Windows 3.0. This gained a large user base and as a consequence Microsoft decided to rather invest into the development of the new Windows NT system than into OS/2. 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. Its graphical user interface design concept was based on the smaller but very successful Windows 3.1. 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 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. But it also consumed considerably more hardware resources, preventing an immediate success story. Only later Windows NT became the market leader due to its stability in spite of increased hardware requirements.

Microsoft Operating Systems - The Citrix Heritage

Figure: Microsoft Windows operating systems – Windows NT development and the Citrix heritage.

 

But when Windows NT versions 3.5 and 3.51 hit the market, it was too early for Microsoft to know if this product line would ever be commercially successful. At the same time Microsoft did not recognize any market potential that may have motivated the Windows NT development team to extending their high-end operating system with multi-user functionalities as they already existed under UNIX. However, they were willing to allow a third-party vendor to add such features, hoping that it may give Windows NT additional market impact without any risk for Microsoft. Consequently, in 1994 Microsoft granted Citrix access to the Windows NT source code to develop and market a multi-user version of the operating system. The final product was called Citrix WinFrame and was quite successful in several enterprise environments after it was initially shipped in 1995.

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

MultiWin and “Hydra”

In 1996 Microsoft spun up a small group to build Windows NT support for hosting dual-headed automated teller machines. The code name for this project was “Hydra”. The first system was simply Windows NT with multi-threaded input/output capabilities. There was no kernel-mode partitioning included, which limited the solution to a small number of sessions. However, this project indicated that there was a real business need for multi-user extensions of the operating system. At a certain point of the initial “Hydra” project Microsoft started considering buying a more mature multi-user extension instead of developing their own.

Microsoft Operating Systems - The Success Story

Figure: Microsoft Windows operating systems – a long-term success story of Windows NT.

 

Citrix WinFrame's great success and the increasing significance of server-based computing concepts led Microsoft to license Citrix' multi-user extension on May 12, 1997. It was called MultiWin for Windows NT, which did neither include the communication protocol nor the Terminal Services client software. 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, which still had the code name “Hydra” during its development phase. This version of Windows NT 4.0 included the newly developed Remote Desktop Protocol (RDP), which controlled the transmission of display and user input between a terminal server and its clients. In this very early stage the development of Remote Desktop Protocol was based on Microsoft NetMeeting T.Share as a protocol blueprint. The associated Terminal Services client software had the code name “Ducati”.

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 multi-user operation were integrated in the kernel from the start and corresponding system service and driver functions were realized – Windows 2000 Terminal Services. Consequently, unlike its predecessor, Windows 2000 did not require the purchase of an independent operating system for the multi-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, also led to a standardization of service packs and hot fixes. All other system extensions or improvements immediately became available for terminal servers, too.

NOTE: 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 when Windows 2000 was released in February 2000.

Compared to Windows NT 4.0, Terminal Server Edition, Windows 2000 Terminal Services included the option of using the clients’ printers and clipboards from user sessions on the server, called printer redirection and clipboard redirection. Additionally, it was now possible to mirror sessions, that is, one user could see another user's session and, with the corresponding permissions, could even interact with it. This feature was referred to as session shadowing.

To improve the integration of clients under Windows 2000, the RDP protocol was optimized, a bitmap-caching option for raster images was introduced (bitmap caching), and access to client devices using virtual channels was created. A corresponding Terminal Services Application Programming Interface (TS-API) enabled the specific programming for multi-user servers.

Windows XP

Windows XP, the successor of Windows 2000 Workstation, was launched on October 22, 2001. For the first time, workstation and server lines of the Windows NT code base were made available at different times. Windows XP took advantage of a subset of terminal server technologies for a number of tasks, such as the following:

  • Terminal Services client: Available in Windows XP Home Edition and Windows XP Professional. The Windows XP RDP client allowed out-of-the-box 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.

Windows Server 2003 Terminal Services Features

The successor to Windows 2000 Server, Microsoft Windows Server 2003 (code name “Whistler”) was the next step in the evolution of Microsoft's server operating systems. Microsoft launched Windows Server 2003 on April 24, 2003. It was the first operating system that included the Microsoft .NET Framework.

Windows Server 2003 adopted the stability of Windows 2000 Server, but it also inherited compatibility and other features from Windows XP. Unlike Windows 2000 Server, Windows Server 2003 was started with none of the server components turned on. This reduced the vulnerability of a new install.

But what happened to Terminal Services? In May of 2002, Microsoft and Citrix had signed another agreement for three years which allowed both companies to continue their work on next-generation Terminal Services and extension products respectively. Consequently, the new Terminal Services features marked a highlight in Windows Server 2003.

During the installation of Windows Server 2003, Terminal Services was automatically set to remote desktop mode. To use Terminal Services, however, it had to be activated via My Computer | Properties | Remote or through Group Policy. Once activated, this allowed administrators easier access to the server over the network. Under Windows 2000, this mode was called Remote Administration, even though the basic function remained the same.

If Terminal Services was used in application server mode, it needed 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 be integrated and reconnected automatically.
  • Redirecting drives and file systems: With drive redirection users can see and use the local drives 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. It must be noted that audio redirection is only unidirectional from server to client.
  • Redirecting the clipboard: Users can copy and paste data between local and server-based applications.
  • Group Policies: Almost all Terminal Services features can be managed with the help of 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 settings.
  • 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 Session Directory service.

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

In 2004 Microsoft released Windows Server 2003 Service Pack 1 which included some new features relevant to Terminal Services:

  • Terminal Services Fallback Printer Driver: Updated logic that does name matching on printer driver strings provided from Terminal Services Client. If printer driver names don’t match, Terminal Services Fallback Printer Driver does a best guess and then substitutes for a lowest common denominator either a PCL or a PostScript driver. This functionality is controlled via Group Policy.
  • Terminal Services Licensing: Upgrade compatibility report tells you to install Terminal Services License Server 2003 if needed. A License Server name may explicitly be configured during installation or later using the Terminal Server Configuration console. During setup the required licensing more (per user or per device) can be selected.
  • Server Authentication: Secure Socket Layer (SSL) authentication and encrypted communication is supported.

As mentioned previously, since 1997 Microsoft has an agreement with Citrix to facilitate patent licensing and sharing of technologies. Through this arrangement, Citrix has access to information regarding the Windows Server operating system enabling their developers to create complementary products taking advantage of Terminal Services as a foundation. In late December 2004 the two companies announced a five-year renewal of this arrangement, extending their latest existing agreement from 2002. Part of the new agreement was that members of the Microsoft and Citrix development teams work together and meet regularly, allowing a tight integration of their respective products. This arrangement also included the next major versions of workstation and server operating systems Microsoft already started working on.

In 2005 Microsoft shipped Windows Server 2003 R2. This version, however, did not include any additional terminal server features. Also in 2005 Microsoft released the x64 edition of Windows Server 2003. Being able to run terminal servers on 64-bit platforms had quite some impact regarding scalability and memory management, a topic covered in chapter 8 of this book.

Windows Vista

Windows Vista, the successor of Windows XP, was launched for OEM partners, retail channels and enterprise customers in November 2006. It was released worldwide to the general public on January 30, 2007. Even if Vista includes many new features, those related to Terminal Services are essentially the same as they were shipped with Windows XP.

  • Terminal Services client: By default, all Windows Vista editions include the RDP client software version 6.0, allowing access to another Vista workstation or to a terminal server.
  • Fast User Switching: Available in all Windows Vista editions. It provides is a way to change users on a computer without closing programs and files first.
  • Remote Assistance: Applies to all editions of Windows Vista. It allows a person to remotely view an interactive user’s desktop. If the required permissions were granted by the interactive user, the remotely connected person can even use mouse and keyboard to control the computer. Typically this scenario is used during help desk calls in order to fix a problem.
  • Remote Desktop Connection: Available in Windows Vista Business, Enterprise, and Ultimate editions. It enables full remote access from another Vista workstation.

Windows Server 2008 Terminal Services Features

This book is about Terminal Services as included in Windows Server 2008 (code name “Longhorn”). According to Microsoft, the Terminal Services functionality belongs to a stack of built-in virtualization technologies, intending to reduce costs, increase hardware utilization, optimize the infrastructure, and improve server availability. In order to achieve this goal, Windows Server 2008 introduces significant changes and improvements in Terminal Services functionality to connect to remote computers and applications.

  • Unified Management Console: In Windows Server 2003 there were several tools required to manage a terminal server. In Windows Server 2008, this is combined into a single, easier-to-use tool.
  • Display Resolution: Remote desktop connections can have a maximum resolution of 4096 x 2048, supporting different display solution ratios, such as 4:3, 16:9 or 16:10.
  • Monitor Spanning: This feature allows displaying remote sessions across multiple monitors, as long as the display data was generated by one graphics adapter. All monitors involved must use the same resolution and the total resolution across all monitors cannot exceed 4096 x 2048.
  • Font Smoothing: Terminal Services in Windows 2008 can be configured to provide ClearType functionality referred to as font smoothing.
  • Display Data Prioritization: Keyboard, mouse and display data has a higher priority than other RDP data.
  • Terminal Services RemoteApp: Applications that are installed on one or multiple terminal servers and are then made available for remote clients using a dedicated name. RemoteApp programs appear as if they are running side-by-side with local applications on the end user’s desktop.
  • Terminal Services EasyPrint: This printer driver enables users to print with increased reliability from a remote desktop or from a remote application, independent of the printer driver sets installed either on the client side or on the server side. The data exchanged for printing is based on the XPS document format.
  • Network Level Authentication: The Terminal Services client shipped with Windows Vista and Windows Server 2008 uses the Credential Security Support Provider (CredSSP) to authenticate against the server before a remote session is established. This reduces risks of man-in-the-middle attacks. It is possible to configure the system in a way that connections are only allowed if Network Level Authentication is enabled.
  • Server Authentication: It is possible to configure a terminal server environment to warn the user or even to stop the connection process if the server fails to authenticate at the Terminal Services client.
  • Terminal Services Gateway (TSG): A head-end gateway server that can provide SSL encryption for multiple back-end terminal servers. Essentially, it allows RDP traffic to be encrypted with SSL and sent via HTTPS to an IIS server. That server will remove the SSL wrapper and then transmit the RDP traffic to the back-end Terminal Server. Version 6.x of the Terminal Services client includes this as built-in functionality.
  • Terminal Server Web Access: This Web interface for Terminal Servers creates dynamic HTML pages that display all the available remote application resources in an individualized manner. When a user logs on to Terminal Server Web Access from the start page, a new and dynamically generated Web page displays all application icons and resources for which the user has rights.
  • Generic Plug and Play Device Redirection: This feature is based on a generic redirection engine that can make almost any Plug and Play device on the client available within a remote Terminal Server session. Supported devices are in particular media players based on the Media Transfer Protocol (MTP) and digital cameras based on the Picture Transfer Protocol (PTP). The client device will need to have a new-generation driver that is compliant to the User Mode Driver Framework (UMDF). This also includes a basic support of USB redirection if the device has a UMDF driver.

All these features are described and discussed in great detail throughout the following chapters of this book.

 

Back Next

 

Read in this chapter...
1 Terminal Services Overview
1.1 Things You Should Know Before Getting Started
1.2 History and Features
1.3 Presentation Virtualization