複数のリモートセッションにクライアントを再接続する方法であって、クライアントとの第1のリモートセッションおよび第2のリモートセッションを確立するステップと、前記第1および第2のリモートセッションが切断された後に、ユーザのために切断されたセッションを再接続するための要求をユーザから受信するステップと、ユーザが第1の切断されたセッションおよび第2の切断されたセッションを有することを判定するステップと、第1のリモートセッションに再接続する方法についての情報を含む第1のリモートデータおよび第2のリモートセッションに再接続する方法についての情報を含む第2のリモートデータをユーザに送信し、第1および第2のリモートデータの受信に応答して、クライアントが第1および第2の切断されたセッションに再接続するために第1および第2のリモートデータを使用するステップとを備えることを特徴とする方法。前記リモートセッションは、第1の切断されたリモートアプリケーションおよび第2の切断されたリモートアプリケーションを備え、ユーザに第1のリモートデータを送信することは、第1のリモートデータの受信に応答して、ユーザが第1の切断されたリモートアプリケーションおよび第2の切断されたリモートアプリケーションへの再接続のために第1のリモートデータを使用するように、第1のリモートデータをユーザに送信することを含むことを特徴とする請求項1に記載の方法。ユーザと第1のリモートリソースを確立することは、第1のコンピュータでユーザと第1のリモートセッションを確立することを含み、第1のリモートデータをユーザに送信することは、第2のコンピュータにおいて第1のリモートデータをユーザに送信することを含むことを特徴とする請求項1に記載の方法。リモートセッションは、リモートデスクトップ、リモートアプリケーション、またはプールされた仮想マシンVMを含むことを特徴とする請求項1に記載の方法。前記方法は、接続ブローカによって実行され、第1の切断されたセッションに再接続するためのユーザからの要求を接続ブローカによって受信するステップであって、前記要求は、第1のリモートデータで作成され、ゲートウェイに向けられ、サーバファームを指定する、ステップと、第1の切断されたセッションを有するサーバファームのマシンを決定するステップと、ユーザと第1の切断されたセッションを再接続するためにマシンにインジケーションを送信するステップとをさらに備えることを特徴とする請求項1に記載の方法。前記方法は、接続ブローカによって実行され、ユーザのために切断されたセッションを再接続するためのユーザからの要求を受信することは、接続ブローカに要求を送信する前にユーザの認証情報を検証する要求プロキシに送られた要求を接続ブローカによって受信することを含むことを特徴とする請求項1に記載の方法。クライアントが切断されていない新しいリモートリソースに接続する要求をクライアントから受信するステップと、クライアントにリモートリソースを提供するサーバファーム上のマシンを判定するステップと、判定されたマシンの識別子をクライアントに送信するステップとをさらに備えることを特徴とする請求項1に記載の方法。コンピュータ可読命令を格納するコンピュータ可読記憶媒体であって、前記コンピュータ可読命令は、コンピュータによって実行されると、前記コンピュータに、クライアントを前記クライアントに関連付けられている各々の切断されたリモートセッションに再接続するために接続ブローカにインジケーションを送信するステップと、第1のリモートデータと第2のリモートデータを受信するステップであって、各々のリモートデータは、切断されたリモートセッションに再接続するための情報を含む、ステップと、第1の切断されたリモートセッションは仮想マシンVMによって提供されたリモートセッションではないとの判定に応答して、第1のリモートデータによって示される第1の切断されたリモートセッションについての再接続要求を送信するステップと、第1の切断されたリモートセッションに再接続した後、第2のリモートデータによって示される第2の切断されたリモートセッションに再接続するステップとを備える方法を実行させることを特徴とするコンピュータ可読記憶媒体。コンピュータ可読命令をさらに格納し、前記コンピュータ可読命令は、コンピュータによって実行されると、前記コンピュータに、第3のリモートデータを受信するステップと、第2の切断されたリモートセッションに再接続することと並行して第3のリモートデータによって示される第3の切断されたリモートセッションに再接続するステップとを備える方法を実行させることを特徴とする請求項8に記載のコンピュータ可読記憶媒体。コンピュータ可読命令をさらに格納し、前記コンピュータ可読命令は、コンピュータによって実行されると、前記コンピュータに、ユーザ入力が再接続するために必要であると判定されたことに応答してユーザ入力を求める要求を表示するステップと、ユーザ入力を受信するステップと、を備える方法を実行させ、第2の切断されたリモートセッションに再接続することは、ユーザ入力で第2の切断されたリモートセッションに再接続することを含むことを特徴とする請求項8に記載のコンピュータ可読記憶媒体。第1の切断されたリモートセッションが始めに第1のクライアントコンピュータとの間で確立され、前記第1の切断されたリモートセッションに再接続することは、第2のクライアントコンピュータによって実行されることを特徴とする請求項8に記載のコンピュータ可読記憶媒体。接続ブローカによって管理される、ユーザが有する各々の切断されたリモートセッションをユーザに再接続するインジケーションを接続ブローカに送信することは、第1または第2の切断されたリモートセッションを参照しないユーザ入力を受信することを含むことを特徴とする請求項8に記載のコンピュータ可読記憶媒体。前記ユーザ入力を受信することは、ボタンの押下やリンクのクリックを受信することであって、前記ボタンまたはリンクは、リモートセッション上でどのリモート処理アプリケーションにも関連付けられていない、ことを備えることを特徴とする請求項12に記載のコンピュータ可読記憶媒体。コンピュータ可読命令をさらに格納し、前記コンピュータ可読命令は、コンピュータによって実行されると、前記コンピュータに、第1の切断されたリモートセッションに再接続している間に、ユーザに表示される第1メッセージを判定するステップと、第2の切断されたリモートセッションに再接続している間に、ユーザに表示される第2のメッセージを判定するステップと、第2の切断されたリモートセッションに再接続した後に、第1のメッセージと第2のメッセージを備える統一メッセージをユーザに表示するステップとを備える方法を実行させることを特徴とする請求項8に記載のコンピュータ可読記憶媒体。第1の切断されたリモートセッションは、第1の処理によって再接続され、第2の切断されたリモートセッションは、第2の処理によって再接続され、第1の処理で第1の通信パイプを、および第2の処理で第2の通信パイプを確立するステップと、第1の通信パイプを介して第1の処理から第1のメッセージを受信するステップと、第2の通信パイプを介して第2の処理から第2のメッセージを受信するステップとをさらに備えることを特徴とする請求項14に記載のコンピュータ可読記憶媒体。実施形態は、1つまたは複数のコンピュータシステム上で実行してもよい。図1および以下の説明は、開示された主題を実施することが可能な適切なコンピューティング環境の簡単な一般的な説明を提供することを意図している。明細書全体を通して使用される回路という用語は、例えば、ハードウェア割り込みコントローラ、ハードドライブ、ネットワークアダプタ、グラフィックプロセッサ、ハードウェアベースのビデオ/オーディオコーデック、およびそのようなハードウェアを動作させるために使用されているファームウェア等のハードウェア構成要素を含むことができる。回路という用語はまた、マイクロプロセッサ、特定用途向け集積回路、および/または、例えば、ファームウェアおよび/またはソフトウェアから読み出された命令によって構成されたマルチコアジェネラルプロセッシングユニットの1つ以上のコア等の一つ以上のプロセッサを含むことができる。プロセッサは、例えば、RAM、ROM、ファームウェアおよび/または大容量ストレージなどのメモリからロードされる機能を実行するように動作可能なロジックを具現化する命令によって構成することができる。回路がハードウェアとソフトウェアとの組み合わせを含む実施例では、実装者は、プロセッサによって実行可能な機械可読コードにその後コンパイルされるロジックを具現化したソースコードを書き込むことができる。当業者は、ハードウェア実装された機能またはソフトウェア実装された機能の間に差が殆ど無いような点まで技術水準が進化していることを理解することができ、本明細書で説明される機能を達成するためのハードウェアとソフトウェアの選択は、単に設計上の選択である。換言すれば、当業者は、ソフトウェア処理が同等のハードウェア構成に変換可能であり、ハードウェア構成はそれ自身を同等のソフトウェアプロセスに変換可能であることを理解することができ、ソフトウェア実装に対するハードウェア実装の選択は実装者に任されている。図1には典型的な汎用コンピューティングシステムが示されている。汎用コンピューティングシステムは、少なくとも1つのプロセッサまたは処理装置21と、システムメモリ22と、システムが動作状態にあるときシステムメモリを含む様々なシステム構成要素を処理装置21に通信可能に接続するシステムバス23とを含む従来のコンピュータ20等を含むことができる。システムバス23は、メモリバスまたはメモリコントローラ、周辺バスおよび様々なバスアーキテクチャのいずれかを使用するローカルバスを含むいくつかのタイプのバス構造のいずれであってもよい。システムメモリは、読み出し専用メモリROM24、ランダムアクセスメモリRAM25を含むことができる。起動時などにコンピュータ20の内部の要素間で情報を転送するのを補助する基本ルーチンを含む基本的な入力/出力システム26BIOSは、ROM24に格納されている。コンピュータ20は、さらにハードディスク図示せずからの読み取りまたは書き込みのためのハードディスクドライブ27、リムーバブル磁気ディスク29からの読み取りまたは書き込みのための磁気ディスクドライブ28、およびCD-ROMまたは他の光媒体などのリムーバブル光ディスク31からの読み取り及び書き込みのための光ディスクドライブ30を含むことができる。ハードディスクドライブ27、磁気ディスクドライブ28および光ディスクドライブ30はそれぞれハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33および光ドライブインターフェース34によってシステムバス23に接続されているところが示されている。ドライブおよびそれらの関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよびコンピュータ20のための他のデータの不揮発性ストレージを提供する。本明細書中に記載の例示的な環境は、ハードディスク、リムーバブル磁気ディスク29およびリムーバブル光ディスク31を採用しているが、フラッシュメモリカード、デジタルビデオディスク、RAM、ROM等のようにコンピュータによってアクセス可能なデータを格納することができるコンピュータ読み取り可能な他のタイプのメディアが例示的な動作環境でも使用することができることは、当業者によって理解されるべきである。一般に、このようなコンピュータ読み取り可能な記録媒体は、本開示の態様を具体化するプロセッサが実行可能な命令を格納するためにいくつかの実施形態で使用することができる。コンピュータ可読命令を含むいくつかのプログラムモジュールは、オペレーティングシステム35、1つ以上のアプリケーションプログラム36、他のプログラムモジュール37およびプログラムデータ38を含んで、ハードディスク、磁気ディスク29、光ディスク31、ROM24やRAM25のようなコンピュータ可読媒体に格納されてもよい。処理装置によって実行されるとき、コンピュータ可読命令は、以下でより詳細に説明されるアクションを発生させ、あるいは様々なプログラムモジュールをインスタンス化させる。ユーザは、キーボード40やポインティングデバイス42などの入力デバイスを介してコンピュータ20にコマンドおよび情報を入力することもできる。その他の入力装置図示せずは、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディスク、スキャナ等を含むことができる。これらおよび他の入力デバイスは、システムバスに結合されたシリアルポートインターフェース46を介して処理装置21に接続されているけれども、パラレルポート、ゲームポートまたはユニバーサルシリアルバスUSBなどの他のインターフェースによって接続することもできる。表示装置47または他のタイプの表示装置も、ビデオアダプタ48などのインターフェースを介してシステムバス23に接続することができる。ディスプレイ47に加えて、コンピュータは通常、スピーカやプリンタなど他の周辺出力装置図示せずを含む。図1の例示的なシステムはまた、ホストアダプタ55、SCSISmallComputerSystemInterfaceバス56、およびSCSIバス56に接続された外部記憶装置62を備える。コンピュータ20は、リモートコンピュータ49などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ49は、別のコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の一般的なネットワークノードであってもよく、メモリ記憶装置50のみが図1に示されているけれども通常、コンピュータ20に関連して上述した多くのまたは全ての要素を含むことができる。図1に示す論理接続1は、ローカルエリアネットワークLAN51およびワイドエリアネットワークWAN52を含むことができる。このようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。LANネットワーク環境で使用する場合は、コンピュータ20は、ネットワークインターフェースまたはアダプタ53を介してLAN51に接続することができる。WANネットワーキング環境で使用する場合は、コンピュータ20は、典型的には、モデム54またはインターネットなどの広域ネットワーク52を介して通信を確立するための他の手段を含めることができる。モデム54は、内蔵でも外付けでもよく、シリアルポートインターフェース46を介してシステムバス23に接続することができる。ネットワーク環境では、コンピュータ20、またはその一部に関して示したプログラムモジュールは、リモートメモリ記憶装置に格納することができる。示されているネットワーク接続は例示にすぎず、コンピュータ間の通信リンクを確立するための他の手段を用いることができることが理解されよう。本発明の多数の実施形態は、特にコンピュータシステムに適していることを想定しているけれども、さらに、本明細書では、開示をこのような実施形態に限定することを意図していない。図2は、クライアントが複数のサーバとのリモートセッションを含むワークスペースを有するシステムの例を示している。図2に示すコンピュータは、図1に示したコンピュータと同様であって良い。図2において、クライアント202は、要求プロキシ204、接続ブローカ206、ゲートウェイ208、リモートアプリケーションサーバファーム214同一に設定された2つのサーバ、リモートのアプリケーションサーバ216abを含む、およびVMサーバファーム210同一構成の2つのVM、VM212abを含むを含むデプロイメント200と通信する。クライアント202は、1つまたは複数のリモートアプリケーションサーバ216とVM212からサービスを提供される複数のリモートリソースから構成されるワークスペースを有する。クライアント202は、要求プロキシ204を介して、そのワークスペースにログインすることができる。いったん認証されると、クライアントのそのワークスペースに接続するための要求が要求プロキシ204から接続ブローカ206に送信される。接続ブローカ206は、クライアント202と、クライアント202にリモートリソースを提供するアプリケーションサーバ216およびVM212との間のブローカ接続を行うように構成されており、これを達成するために、接続ブローカ206は現在提供しているリソースクライアント202のユーザのための切断されたセッションを含むが何であるかを決定するために、アプリケーションサーバ216及びVM212と通信するように構成されている。クライアント202は、リモートアプリケーションサーバ216aからのリモートアプリケーションを含むリモートリソースおよびVM212aからのVMを含むリモートリソースである複数のリモートリソースから構成されたワークスペースを有していても良い。図示のように、クライアント202は、リモートアプリケーションサーバ216bまたはVM212bを伴うリモートリソースを有していない。これらは、それぞれが異なるアプリケーションやデスクトップ、アプリケーションのバージョン、または他の用例をサービスすることができる。例えば、リモートアプリケーションサーバ216aはリモート処理ワードプロセッサアプリケーションでクライアント202にサービスを提供することができ、VM212は、仮想デスクトップでクライアント202にサービスを提供することができる。この描写から分かるように、ユーザが自分のワークスペースに再接続しようとする場合、彼は1つのコマンドを2回行うのではなく、1つのコマンドを介してリモートのアプリケーションサーバ216aとVM212aの両方のリモートリソースに再接続することを望むかもしれない。ユーザは、クライアント202から、または別のクライアントコンピュータクライアント202が、ユーザが仕事をしているコンピュータで、ユーザが週末に自宅のコンピュータから再接続したい場合などからこの再接続操作を実行できる。図3は、クライアントがワークスペースのリモートリソースに再接続するための通信フローの例を示している。図3は、クライアントが複数のサーバとのリモートセッションを含むワークスペースを再接続する場合のシステム内の通信フローの例を示している。この通信フローは、図2に示したコンピュータシステム等のシステム内で達成することができる。即ち、図3のリモーデプロイメント300、クライアント302、要求プロキシ304、接続ブローカ306、ゲートウェイ308、VMファーム310およびVM312aは、図2のリモートデプロイメント200、クライアント202、要求プロキシ204、接続ブローカ206、ゲートウェイ208、VMファーム210、VM212aのそれぞれと同様のものとすることができる。クライアント302のユーザは以前にVM312aからリモートリソースへのアクセスに関与していたワークスペースを有していたが、このワークスペースは現在切断されている。代替的な実施形態では、クライアント302のユーザは、VM312aに接続された別のクライアントで以前に作業していた可能性があり、ユーザが再接続したい時に、このワークスペースはまだアクティブになっている。クライアント302のユーザがデプロイメント300への再接続を試行する前に、要求プロキシ304は、クライアント302がデプロイメント300のリモートリソースにアクセスするのに使用することができるデプロイメント300についての情報を識別する文書を通信1を介してクライアント302に発行する。クライアント302は後に、要求プロキシ304に通信2を送信することによって再接続する。要求プロキシ304は、ユーザおよび/またはクライアントの認証情報ログインやパスワードなどを検証する。認証情報が確認された場合には、要求プロキシ304はそのワークスペースを再接続する際にクライアント302がどのリモートリソースここでは、VM312aに再接続するかを決定するために、接続ブローカ306と通信する。要求プロキシ304は、接続ブローカ306に通信3を送信し、それに対して、通信4でクライアント302が再接続するサーバファームのリストここでは、VMファーム310を受信することによってこの判断を行う。通信4で示されたこの情報は、通信5で要求プロキシ304によってクライアント302に渡される。クライアント302が、要求プロキシ304からの再接続するサーバのリストを持っている場合、クライアント302は、それらのサーバファームのそれぞれとの通信を再確立する。図3に示すようにそのサーバファームは、VMファーム310である。クライアント302は、これらのサーバファームのリモートリソースにアクセスするためにゲートウェイ308との通信6を行う。ゲートウェイ308は、通信6を処理し、続いて同様の情報を伝えるために、接続ブローカ306との通信7を行う。接続ブローカ306は、通信7からサーバファームの識別情報を受け取り、そこから、切断されたリモートリソースおよび/またはこのユーザについての異なるクライアントでのアクティブなリモートリソースを有するファーム310内のマシンVM312aを識別する。接続ブローカ306はクライアント302に通信8を送信し、クライアント302にVM312a上のリモートリソースへの再接続を指示する。次に、クライアント302は、ゲートウェイ308に再接続を示す通信9を送信し、ゲートウェイ308はVM312aに再接続を示す通信10を送信し、VM312aに再接続する。これは本発明を強調するために簡略化した図式であり、そしてより多くのまたはより少ないサーバファームが存在および/または再接続され、渡された通信例えば、通信9、10が、VM312aおよびクライアント302間の間の再接続を確立すること、そこではクライアント302から送信された、ゲートウェイ308を介したVM312aへの通信を伴うかもしれないことが示されているがもっと関与している可能性があることが理解されるであろう。図4は、本技術が使用され得るクライアント、要求プロキシおよび接続ブローカのシステムアーキテクチャの例を示している。図4に示すシステムアーキテクチャは、MicrosoftWindowsオペレーティングシステムの各バージョンで使用されたシステムアーキテクチャに類似している。クライアント402、要求プロキシ404および接続ブローカ406は、それぞれ図2のクライアント202、要求プロキシ204および接続ブローカ206に類似していても良い。クライアントは、mstsc408とワークスペースランタイム414を備えている。次に、mstsc408は、mstcax410およびワークスペースクライアント拡張機能412を含み、ランタイムワークスペース414は、再接続ユーザインターフェース418およびウェブサービスクライアント416から構成されている。要求プロキシ404は、集中パブリッシングRPCクライアント420、RDWebServiceAsp.dll422およびRDWebService.asmx424を含む。接続ブローカ406は、集中パブリッシングサービス426、セッションブローカWMIプロバイダ428およびセッションブローカサービス430を備えている。ワークスペースランタイム414は、クライアント402のワークスペースを管理する-それは、ワークスペースのリモートリソースに接続すること、およびワークスペースのリモートリソースに再接続することを管理し、並びにMSTSC408のインスタンスに接続または再接続を行わせる。再接続UI418は、クライアント402のユーザに再接続を示す入力を行うためのユーザインターフェースを提示する。このユーザインターフェースは、図7Aで示されているユーザインターフェースであってもよい。ウェブサービスクライアント416は、再接続の際のユーザの認証情報の認証のために要求プロキシ404と通信するワークスペースランタイム414のコンポーネントである。MSTSC408はリモートリソースに接続または再接続するように構成されている。MSTSC408の1つのインスタンスが1つの接続/再接続を行うことがあるので、ワークスペースランタイム414は、複数のリモートリソースに接続/再接続するためにMSTSC408の複数のインスタンスをインスタンス化する。MSTSC408は、mstsc408のためのActiveXコントロールであるmstscax410を含む。次に、mstscax410は、ワークスペースクライアント拡張機能412を含む。Mstscが本発明の技術を考慮せずに実装されたMSTSCのバージョンである場合には、ワークスペースランタイム414がMSTSC408と通信してワークスペースのリモートリソースの再接続を行うようにmstsc408を拡張するためにワークスペースクライアント拡張機能412がmstsc408に追加されてもよい。DMZDeMilitarizedZone432はクライアント402が接続ブローカ406に直接通信することを防ぐことができる物理的または論理的なサブネットワークを含む。要求プロキシ404は、インターネットなどの通信ネットワークを介してクライアント402と通信したり、イントラネット上で接続ブローカ406と通信したりすることができるようにDMZ432にまたがって位置する。要求プロキシ404は、RDWebServiceASP.dll422とRDWebservice.asmx424を備えており、それらは、連動して、クライアント402がログイン認証情報またはその他の入力を提供するのに使用するかもしれないウェブページをクライアント402に提供するように構成されているコンポーネントである。要求プロキシ404はまた、接続ブローカ406からリモートデータファイルクライアントが該当のリモートリソースを有するサーバファームに再接続する方法についての情報を含むものを受信するように構成されている、集中型のパブリッシングリモートプロシージャコールRPCクライアント420を含む。接続ブローカ406はリモートデータファイルを保存し、集中型パブリッシングRPCクライアント420にそれを提供するように構成された集中型パブリッシングサービス426を備えている。接続ブローカ406はまた、サーバファーム内の複数のマシンのうち、どのマシンがユーザに関連付けられた指定のリモートリソースを持っているかを決定するように構成されたセッションブローカサービス430を備えている。接続ブローカ406はまた、セッションブローカサービス430が情報や通知を他のコンポーネントに提供するためのインターフェースを提供するように構成されている接続ブローカのWMIWINDOWSManagementInstrumentationプロバイダ428を備えている。図5は、サーバファームの複数のリモートサーバとの接続を含む、クライアントからのワークスペースへの再接続の要求を処理する接続ブローカの動作手順の例を示している。図5の動作手順は、図2の接続ブローカ206によって達成することができる。動作手順は動作500で開始する。動作500は、ユーザとの第1のリモートリソースおよび第2のリモートリソースを確立することを示す動作502につながる。クライアント202に関連付けられているユーザアカウントなどのユーザは、要求プロキシ204を介して認証され、次に接続ブローカとリモートリソースを確立するための要求を有することができる。接続ブローカは、クライアントにそのリモートリソースを提供するサーバファームとサーバファーム内のマシンを決定することができる。次に、クライアントは、クライアントの通信を接続ブローカによって決定されたマシンへ送出するデプロイメントのゲートウェイにコンタクトすることができ、次にそのマシンは、クライアントにリモートリソースを提供する。一実施形態では、クライアントコンピュータにおいてユーザとの間で確立されたリモートリソースは、リモートデスクトップ、リモートアプリケーションまたはプールされた仮想マシンVMを備える。接続ブローカはクライアントの再接続要求を処理するだけではなく、最初に、クライアントの接続要求を処理するように構成されている。接続要求を処理するときに、接続ブローカは、クライアントが切断されていない新しいリモートリソースに接続するためのクライアントからの要求を受信し、クライアントへのリモートリソースにサービスを提供するサーバファーム上のマシンを決定し、決定したマシンの識別子をクライアントに送信することができる。動作504は、第1及び第2のリモートリソースがすでに切断された後、切断されたリソースをユーザのために再接続するための要求をユーザから受けることを表している。ユーザは、第1および第2のリモートリソースを確立した後、それらのリソースから切断される場合前述のように切断されたリソースは、ログオフリソースまたはアクティブなリソースとは区別されるがある。その後ユーザは、接続ブローカが決定可能な切断されたリソースに接続ブローカが再接続するように要求することができる。ユーザは、どのリソースが、もし有れば、再接続されるかについての情報を持っている可能性があるため、ユーザが必ずしも特定の切断されたリソースを指定しなくとも良い。むしろ、ユーザの要求は、切断されたリソースが何であるか、更には切断されたリソースが存在しているかにかかわらず、接続ブローカが認識しているそれらの切断されたリソースに再接続する要求を示している場合があります。一実施形態では、切断されたリソースをユーザのために再接続する要求をユーザから受信することは、その要求を接続ブローカに送信する前にユーザの認証情報を検証した要求プロキシに向けられていた要求を接続ブローカによって受信することを含む。これは、図2に示したものに類似したシステムアーキテクチャで発生する可能性があり、そこではクライアント202は、接続ブローカ206に要求を送信する前にユーザの認証情報を検証する認可サーバ204にコンタクトする。動作506は、ユーザが第1の切断されたリソースと第2の切断されたリソースを持っていることを判断することを示している。動作504の要求は、切断されたリソースが何であるかを指定せず、その切断されたリソースが何であってもクライアントが再接続されることを要求していることだけを指定している。その要求を受信すると、接続ブローカは、サーバファームのために、このケースでは第1の切断されたリソースおよび第2の切断されたリソースである、クライアントの切断されたリソースを決定する。接続ブローカは、例えば、ユーザとの間で確立したリモートリソースのリストを維持し、次にそれらのリモートリソースの一つを提供している/提供していた各マシンにクエリを行って、リモートリソースの状態例えば、切断、アクティブ、またはログオフを判断することによって、これを行うことができる。動作508は第1のリモートリソースに再接続する方法についての情報を含む第1のリモートデータ、及び第2のリモートリソースに再接続する方法についての情報を含む第2のリモートデータをユーザに送信することを示しており、第1及び第2のリモートデータの受信に応じて、ユーザは第1および第2の切断されたリソースへの再接続をするために第1及び第2のリモートデータを使用する。接続ブローカは、リモートリソースを提供するマシンのマシン名または識別子などの、リモートリソースに接続する方法についての情報を維持することができる。第1のリモートデータは、第1のリモートリソースを提供するマシンに再接続するための情報を含むデータであり、第2のリモートデータは、第2のリモートリソースを提供するマシンに再接続するための情報を含むデータである。一実施形態では、動作502のようにユーザと第1のリモートリソースを確立することは、第1のコンピュータでユーザと第1のリモートリソースを確立することを含み、第1のリモートデータをユーザに送信することは、第2のコンピュータで第1のリモートデータをユーザに送信することを含む。ユーザは別のクライアントコンピュータでこれらのリモートリソースにアクセスすることができ、元々の接続とは別のコンピュータから再接続しようとしているため、ユーザが再接続を試みるとき彼または彼女のリモートリソースの情報が欠けることにつながる可能性がある。リモートセッションが第1の切断されたリモートアプリケーションと第2の切断されたリモートアプリケーションを含む実施形態では、動作508はユーザに第1のリモートデータを送信することを含み、第1のリモートデータの受信に応答して、ユーザが、第1の切断されたリモートアプリケーションおよび第2の切断されたリモートアプリケーションに再接続するために第1のリモートデータを使用する。ユーザのリモートリソースの切断には、切断されたセッションだけでなく、切断されたリモートアプリケーションが含まれる可能性が有る。図2の接続ブローカ206のような接続ブローカが、ユーザが彼または彼女の切断されたリソースに再接続する要求を受け取る場合、接続ブローカはこれらの切断されたセッションを数え上げることができる。ユーザのためのそれら切断されたセッションの一つは、ユーザの一つのリモートデスクトップを含むのではなく、複数のリモートアプリケーションである可能性がある。接続ブローカ206がユーザのクライアントにその切断されたリモートセッション用のリモートデータを送信するようなシナリオでは、セッションに再接続することによって、ユーザは、そのセッション内の切断されたリモートアプリケーションのそれぞれに再接続を実施する。即ち、ユーザが一台のマシンによって提供されている複数のリモートアプリケーションを持っている場合、それらの複数のリモートアプリケーションは全て、そのマシン上の1つのセッション内で実行してもよい。したがって、ユーザがそれらのリモートアプリケーションの一つに再接続する場合には、全てのリモートアプリケーションが実行されるセッションに再接続している。このようなシナリオでは、ユーザはそれらのリモートアプリケーションの各々に再接続する方法の情報を受信する必要はなく例えば、ユーザは4つのリモートアプリケーション用に4つの別々のリモートデータファイルを受信する必要がない、一つのリモートアプリケーションへ再接続する方法の情報のみを受信すれば良い。動作510は、ユーザからの第1の切断されたセッションに再接続するための要求であって、第1のリモートデータで作られ、ゲートウェイに送られ、サーバファームを指定する要求を接続ブローカによって受信し、第1の切断されたセッションを有するサーバファームのマシンを判定し、ユーザと第1の切断されたセッションを再接続するためにマシンへのインジケーションを送ることを示している。動作510は、図2のシステムアーキテクチャに似たシステムアーキテクチャで発生する可能性がある。リモートリソースに再接続する方法についての情報のために、クライアント202は通信ブローカ206要求プロキシ204を介してにコンタクトする。クライアント202は、この情報を持つと、クライアントが接続するサーバファームの識別子でクライアントはこの識別情報を受信したけれども、サーバファーム内の特定のマシンの識別情報は受信していないデプロイメントのゲートウェイ208にコンタクトする。デプロイメントのゲートウェイ208は、その後この情報で接続ブローカ206にコンタクトし、接続ブローカ206は、識別されたサーバファーム内の切断されたセッションを有する特定のマシンを識別する。図6は、サーバファームの複数のリモートサーバへワークスペースを再接続するクライアントの動作手順のフローの一例を示している。これらの操作手順は、図2のクライアント202によって実施することができる。図6の動作手順は動作600で開始する。動作600は、接続ブローカによって管理される、ユーザが有する切断されたリモートリソースのそれぞれにユーザを再接続するように接続ブローカにインジケーションを送ることを表す動作602へと続く。クライアントの表示は、特定のリモートリソース、あるいは再接続されるリモートリソースの数を識別しておらず、リモートリソースが何であっても、単にクライアントが接続ブローカのデプロイメントの任意のおよび/または全てのリモートリソースに再接続することを要求していることを示しているのみである可能性がある。このように、ユーザのリモートリソースへの再接続を開始するユーザの入力は、特に第1又は第2の切断されたリモートリソースを参照しておらず、切断されたリモートリソースの再接続を一般的に示しているのみである場合がある。一実施形態では、このユーザ入力はリンク上でボタンの押下やクリックを受信することを含み、ボタンまたはリンクはリモートセッションを介してリモート処理する任意のアプリケーションに関連付けられていない。ユーザの再接続のインジケーションは特定のリモートリソースを識別していない可能性があるので、ユーザの入力も同様である。例えば、ユーザの切断されたリモートリソースが、ワードプロセッサやスプレッドシートアプリケーションを含む場合、ユーザの入力は、ワードプロセッサやスプレッドシートのアイコンのいずれかのアイコンをクリックすることを含まず、再接続のため及びそれ自体の、切断されたリソースに再接続しますのように述べたボタンなどのより一般的なボタンをクリックすることであるかもしれない。動作604は第1のリモートデータと第2のリモートデータを受信することを示しており、各リモートデータは切断されたリモートリソースに再接続するための情報を含んでいる。このリモートデータは、例えば、リモートリソースが提供されるサーバファームの識別子およびそのサーバファームへのゲートウェイの識別子を含んでいてもよい。一実施形態においては、第1のリモートデータは第1の切断されたリモートリソースを提供していたサーバファーム内のマシンではなく、第1の切断されたリモートリソースのサーバファームを示している。リモートデータは、サーバファーム内の特定のマシンではなくリモートリソースのサーバファームのみを識別することができる。このシナリオでは、クライアントがリモートリソースに再接続するように要求を送信した場合、この要求は、サーバファーム内のどのマシンが切断されたリモートリソースを有するかを判定し、リモートリソースをクライアントに再接続することをそのマシンに指示する接続ブローカに転送される。動作606は、第1の切断されたリモートリソースは仮想マシンVMによって提供されるリモートリソースではないため、第1のリモートデータによって示される第1の切断されたリモートリソースに再接続することによって再接続の開始を決定することを示している。クライアントは、リモートデスクトップ、リモートアプリケーションおよびVMを含む複数のリモートリソースへの再接続のためのリモートデータを受信することができる。VMがスリープ状態、メンテナンス状態にあるか、あるいは切断されたリモートリソースをすぐに再接続するために利用できない可能性があるため、VMに再接続することは、リモートデスクトップやリモートアプリケーションへの再接続に比べて長い時間数分かかる場合があるがかかることがある。ユーザ入力の必要性が最初の再接続中に収集され、その後保存され、他の全ての再接続で使用されるため、第1のリモートリソースは、他のリモートリソース動作608で示された2番目のリモートリソースなどに再接続する前に再接続される。第1の再接続がスリープ状態にあるVMへの再接続である場合、第1の再接続を順次行ってその後、他の全ては並行して行う再接続が並行して行われて再接続の一部または全てが、ある一時点において実際に進行中かもしれないように再接続を行うことは、全ての再接続を遅くする。動作608は第1の切断されたリモートリソースに再接続した後、第2のリモートデータによって示される第2の切断されたリモートリソースに再接続することを示す。一実施形態において、動作608は、第1の切断されたリモートリソースへの再接続中にユーザ入力が再接続するために必要とされることを決定すること、そのユーザ入力を受信することを含み、第2の切断されたリモートリソースに再接続することは、ユーザ入力で第2の切断されたリモートリソースへ再接続することを含む。例えば、ユーザの認証情報が、正しくない場合、有効期限切れの場合、又は別の方法でユーザによって再入力される必要がある場合、ユーザの認証情報は、第1の再接続中に収集された後、格納され、例えば、第2の切断されたリモートリソースに再接続する等の後続の再接続時に再使用される。他の再接続前に一つの再接続を行う際に、ユーザは複数回ではなく一度だけ入力を求められるようにしてもよく、それは複数の再接続が平行して開始するように成されている場合などに行われる可能性がある。一実施形態では、第1の切断されたリモートリソースが最初に第1のクライアントコンピュータとの間で確立され、第1の切断されたリモートリソースへの再接続は第2のクライアントコンピュータによって実行される。仕事場と彼の居住地の間のように、ユーザは初期の接続と再接続の間でコンピュータを移動してもよい。このため、ユーザは切断されたリモートリソースに関する情報を持っていない可能性があり、それらに再接続する前に接続ブローカからそれらの情報を取得する必要がある。リモートプロセスが、実行プロトコルデータユニットexecPDUを含む情報を送信することによってリモートリソースに接続するように構成される実施形態では、第1の切断されたリモートリソースに再接続することはリモートプロセスのインスタンスにexecPDUを送信しないことを示すことを含む。クライアントの再接続は、図4に示されたように、再接続プロセスのインスタンスを管理するワークスペースランタイムmstscのようなによって管理されてもよい。通常、再接続プロセスは、リモートリソースがサーバファーム上でインスタンス化されることを示しているデプロイメントにexecPDUを送信することが可能である。このシナリオでは、クライアントが、リモートリソースが新たにインスタンス化されることを要求しておらず、寧ろリモートリソースの既存のインスタンスに再接続されることを要求しているかもしれない。これが事実である場合には、ワークスペースのランタイムは、クライアントが切断されたリモートリソースの既存のインスタンスにクライアントが再接続することになるように、再接続通信フローからのexecPDUを省略することを再接続プロセスに指示することができる。動作610は、第3のリモートデータを受信すること、および第2の切断されたリモートリソースへの再接続と平行して第3のリモートデータによって示される第3の切断されたリモートリソースに再接続することを示している。上述したように、複数のリモートリソースが再接続される場合、1つのリモートリソースここでは、第1の切断されたリモートリソースが他の再接続に対して最初に順次に再接続され、他のリモートリソースここでは、第2および第3の切断されたリモートリソースが並列に再接続される。動作612は、第1の切断されたリモートリソースに再接続している間に、ユーザに表示される第1のメッセージを決定し、第2の切断されたリモートリソースに再接続している間に、ユーザに表示される第2のメッセージを決定し、第2の切断されたリモートリソースに再接続した後に、ユーザに第1のメッセージと第2のメッセージを含む統一されたメッセージを表示することを示している。ユーザが複数のプロンプトを受信しないように、ユーザ入力を受信することが第1の再接続のためにユーザ入力を受信することに凝縮されるのと同じ方法で、ユーザへのメッセージが収集され、ユーザに一度に表示されるようにすることができる。例えば、複数回の再接続の試行の結果、メッセージが表示され、再接続が失敗したか成功したかがユーザに通知されるようにしても良い。クリックして処理しなければならない複数のメッセージウィンドウを表示するのではなく、それらが一つのメッセージウィンドウに表示されるように、これらのメッセージが収集されても良い。第1の切断されたリソースが第1のプロセスにより再接続され、第2の切断されたリソースが第2のプロセスにより再接続される実施形態では、動作612は、第1のプロセスとの第1の通信パイプ、第2のプロセスとの第2の通信パイプを確立すること、第1の通信パイプを介して第1のプロセスからの第1のメッセージを受信すること、第2の通信パイプを介して第2のプロセスからの第2のメッセージを受信することを含んでいる。図4に示されたようなシステムアーキテクチャにおいて、クライアント上のワークスペースランタイムは、それぞれが1つのセッションに再接続する複数の再接続プロセス例えばmstscなどを管理することができる。このシステムアーキテクチャでは、プロセスからのメッセージは、ワークスペースランタイムによって収集されることができ、ワークスペースランタイムがその後統一的なやり方でそれらをユーザに表示する。各再接続処理は、ワークスペースランタイムとの通信パイプを確立し、この通信パイプを使用してワークスペースランタイムにメッセージを送信することによって、ワークスペースランタイムにメッセージを渡すことができる。ワークスペースランタイムはこれらの受信したメッセージを保存し、全ての再接続プロセスが完了成功、あるいは失敗したと判断したとき、ユーザに統一されたメッセージが表示するようにしても良い。図7Aは、再接続プロセスにおけるクライアントのためのユーザインターフェース要素の例を示す。ユーザインターフェース702は、ユーザが要求プロキシ要求プロキシ204などにクライアントクライアント202などの署名をするために彼の認証情報を入力する初期ログイン画面を含むことができる。要求プロキシ204はこのユーザインターフェースにおいて受信される認証情報のユーザ入力を受信し、デプロイメントデプロイメント200などのユーザを検証するためにユーザの認証情報を検証することができる。図7Bは、再接続プロセスにおける、クライアントのための追加のユーザインターフェース要素の例を示す。図7Aのユーザインターフェース702において提供された認証情報に基づいて要求プロキシによってユーザが正常に検証された後、要求プロキシは、それらがどんなものであっても、符号706に接続することができるリモートリソースを示すユーザインターフェース704のための情報だけでなく、任意の切断されたリソースに再接続するためのオプションを再接続リンク708を介してユーザに提供してもよい。図7Cは、再接続プロセスにおける、クライアントのための追加のユーザインターフェース要素の例を示す。ユーザが図7Bの再接続リンク708をクリックすると、要求プロキシが、ワークスペースが再接続されているというインジケーションをユーザに示すインターフェース710をユーザに提供するようにしても良い。再接続プロセスが完了すると、もはやユーザインターフェース710が表示されず、それらのリモートリソースを提供するマシンを、ユーザが対話可能な、これらのリモートリソースのためのユーザインターフェースに送信するようにすることができる。結論様々な図面に示された好ましい態様に関して本発明を説明してきたが、本発明から逸脱することなく同じ機能を実行するために、他の同様の態様を用いること、又は説明された態様に修正および追加をすることが可能であることが理解される。従って、本発明は、任意の単一の態様に限定されるべきではなく、むしろ添付の特許請求の範囲による広さおよび範囲内で解釈されるべきである。例えば、本明細書に記載された様々な手順は、ハードウェアまたはソフトウェア、あるいは両者の組み合わせによって実施することができる。したがって、開示された実施形態、又は特定の態様又はその一部、の方法および装置は、例えば、フロッピー登録商標ディスク、CD-ROM、ハードドライブ、または任意の他の機械可読記憶媒体などの有形媒体で具現化されるプログラムコードすなわち、命令の形を取ることができる。プログラムコードがコンピュータなどの機械によってロードされて実行されるとき、機械は、開示された実施形態を実施するように構成された装置となる。明示的に本明細書で述べた特定の実装形態に加えて、他の態様および実装は、当業者には本明細書に開示された内容を考慮することにより明らかであろう。本明細書および図示した実装は、例としてのみ見なされることが意図されている。