ターミナルサービスはアプリケーションの仮想化と言える。

複数のクライアントのデスクトップをサーバ側で実現するターミナルサービスは、Windows NTの時代から"Windows NT 4.0 Terminal Server Edition(TSE)"という形でリリースが開始され、Windows Server 2003では"terminal service"という形で実装されていた。

Terminal Serviceではサーバ側でクライアント用のアプリケーションを実行し、その画面情報をクライアントに伝送するため、クライアントの機種や性能の差を吸収し、クライアント環境をサーバ側で一括管理しやすくなるという大きな特徴を持つ。また、ターミナルサービスではアプリケーションやデータはすべてサーバ側に置かれ、サーバ側で処理されるため、入出力のみを実行するシンクライアントではモバイル環境などで情報の漏洩が防げるというメリットもある。

このような理想を持つターミナルサービスだが、実際は必ずしもユーザを満足させてはいなかったようだ。

たとえば、従来のターミナルサービスはクライアントPCでの処理をすべてサーバ側で行わなければならないため、簡単に言うとサーバ側にクライアントPCが1台丸ごと入っているようなものになる。その分サーバ側の負荷も増えるため、それならいっそのこと従来通りクライアントPCを管理するほうがラク、という考え方に至ってしまう。また、高解像度やPnPなど、次々と湧いてくるユーザの要求に必ずしも沿っているわけではなく、広く普及してきているとは言えない。

筆者もWindows NT4.0 TSEがリリースされた当初に、これはシステム管理面からは理想の形態だと思い利用にトライしたが、アプリケーションの互換性と、何よりターミナルサーバーのパフォーマンスがクライアントとあまり変わらないような環境ではマルチユーザ化は(パフォーマンスの上で)困難と判断し、シミュレータなど特殊なアプリケーションを利用する場合のプラットフォームとして(つまりリモートデスクトップとしての使い方)しかできなかった。

Windows Server 2008でのターミナルサービスでは、従来のターミナルサービスに加え、さらに可用性を向上させ、普及の原動力となりうるさまざまな機能が盛り込まれている。とくに注目すべき内容は、アプリケーションの仮想化(RemoteApp)とインターネットからのターミナルサービスの利用(TSゲートウェイ)だと思われる。

以下、その特徴を挙げていこう。