![]() |
Windows Terminal Server, Virtualization, Application Delivery, Windows Software Development, Market Analysis, Training Classes and more... |
|
|
Navigation |
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Awards |
|
||
|
||||
Posted by Benny Tritsch on May 25, 2008
[TS Overview] [Things You Should Know...] [History & Features] [Presentation Virtualization]
Read in this lesson...
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.
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.
In 1988 Microsoft hired David Cutler, the chief developer of Digital Equipment Corporation's VMS, 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.
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.
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.
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 application programming interface (API) enabled the specific programming for multi-user servers.
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:
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.
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:
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.
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.
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.
| 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 |