(57)【要約】  所定のルールに従って、かつ、ユーザによって利用されたリモートビューアプロトコルに拘わらず、リモートコンピュータリソースにコンピュータユーザを動的に割り当てるための管理層方法及び装置に関する。方法及び装置は、複数の物理サイト上の数十万のユーザを管理することが可能であり、かつ、多種多様なネットワーク、インターネット、及び、アプリケーションソリューションと共に利用することが可能である。方法及び装置は、クロックカバレージ周辺に対する必要性が、ネットワークの破局的故障の常に存在する可能性と共存する世界において、増大するモバイルコンテンポラリーワークフォースに対して有用である。
2010521761.tif 000002
【特許請求の範囲】
【請求項１】
リモートコンピュータリソースを管理する方法であって、
１）ネットワーク内の多様なタイプの要素を収集するステップと、
２）前記ネットワーク内で接続を仲介するために、前記多様なタイプのそれぞれに対応するメンバーを、処理ユニット内にインポートするステップと、
３）所定のルールに従って、前記メンバーをメンバプールにソートするステップと、
４）前記処理ユニットによって、前記メンバーのうちの１人に対応するリモートユーザに対して、前記リモートユーザに固有の構成に従って、リモートネットワーキングセッションをリアルタイムで形成するステップと
を具備し、
前記リモートネットワーキングセッションはホストされたデスクトップに対応し、かつ、前記構成は、前記ホストされたデスクトップの状態を考慮することを特徴とする方法。
【請求項２】
前記リモートユーザに固有の前記構成を入力するステップをさらに具備することを特徴とする請求項１に記載の方法。
【請求項３】
前記形成するステップは、前記リモートユーザのロケーションと、前記ユーザによって使用されたデバイスと、前記ネットワーク内のバックエンドシステム上の負荷と、前記ユーザの通常のホームロケーションとを含むグループから選択されたネットワーク変数に関して実行されることを特徴とする請求項１に記載の方法。
【請求項４】
前記構成は前記処理ユニットを介して入力されることを特徴とする請求項２に記載の方法。
【請求項５】
前記ソートするステップ内の前記所定のルールは、前記処理ユニットを介して、変更されることが可能であることを特徴とする請求項１に記載の方法。
【請求項６】
前記要素は、セッションと、ユーザと、クライアントデバイスと、プリンタとを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記所定のルール及び前記構成は、前記処理ユニットからは離れて格納されることを特徴とする請求項１に記載の方法。
【請求項８】
前記構成のコピーは、前記処理ユニットからは離れた第１外部データベース内に格納され、
前記構成のミラーコピーは、前記処理ユニットからは離れた第２外部データベース内に格納されることを特徴とする請求項１に記載の方法。
【請求項９】
リモートコンピュータリソースを管理するための装置であって、
１）ネットワーク内の接続を仲介するための処理ユニットと、
２）所定のルール及び構成を保存することが可能なストレージユニットと
を備え、
前記処理ユニットは、前記ネットワーク内の多様なタイプの要素を収集し、前記多様なタイプのそれぞれに対応するメンバーを、前記処理ユニット内にインポートし、前記所定のルールに従って、前記メンバーをメンバプールにソートし、かつ、前記メンバーのうちの１人に対応するリモートユーザに対して、前記リモートユーザに固有の前記構成に従って、リモートネットワーキングセッションをリアルタイムで形成することが可能であり、
前記リモートネットワーキングセッションはホストされたデスクトップに対応し、かつ、前記構成は、前記ホストされたデスクトップの状態を考慮し、
前記ストレージユニットは、前記処理ユニットに動作可能なように接続されることを特徴とする装置。
【請求項１０】
前記処理ユニットは、前記リモートユーザのロケーションと、前記ユーザによって使用されたデバイスと、前記ネットワーク内のバックエンドシステム上の負荷と、前記ユーザの通常のホームロケーションとを含むグループから選択されたネットワーク変数に関する前記リモートネットワーキングセッションを形成することを特徴とする請求項９に記載の装置。
【請求項１１】
前記要素は、セッションと、ユーザと、クライアントデバイスと、プリンタとを備えることを特徴とする請求項９に記載の装置。
【請求項１２】
前記ストレージユニットは、前記処理ユニットからは離れていることを特徴とする請求項９に記載の装置。
【請求項１３】
前記構成のコピーは、前記処理ユニットからは離れた第１外部データベース内に格納され、
前記構成のミラーコピーは、前記処理ユニットからは離れた第２外部データベース内に格納され、
前記第１外部データベースは、前記第２外部データベースとは別に配置されることを特徴とする請求項９に記載の装置。
【請求項１４】
前記第１外部データベースは、前記ネットワーク内で接続を仲介するために、第１クラスタの処理ユニットに接続され、
前記第２外部データベースは、前記ネットワーク内で接続を仲介するために、第２クラスタの処理ユニットに接続されることを特徴とする請求項１３に記載の装置。
【請求項１５】
１以上の前記処理ユニットをさらに備え、
前記１以上の前記処理ユニットのそれぞれは、前記ストレージユニットに動作可能なように接続され、かつ、負荷バランサによって選択可能であることを特徴とする請求項１２に記載の装置。
【請求項１６】
リモートコンピュータリソースを管理する方法であって、
１）地理的にさまざまなネットワークの第１地理的地域内で、多様なタイプの要素を収集するステップと、
２）前記第１地理的地域内で接続を仲介するために、前記多様なタイプのそれぞれに対応するメンバーを、処理ユニットにインポートするステップと、
３）所定のルールに従って、前記メンバーをメンバプールにソートするステップと、
４）前記地理的にさまざまなネットワークの第２地理的地域に対して、収集、インポート、及び、ソートの前記ステップを反復するステップと、
５）リダイレクタユニットによって、リモートユーザを、前記リモートユーザのホームロケーションに対応する前記地理的にさまざまなネットワークの前記第１又は第２地理的地域のうちの１つに対応する１つの前記処理ユニットにリダイレクトするステップと、
６）前記リダイレクタユニットが前記リモートユーザにリダイレクトした前記処理ユニットによって、前記メンバーのうちの１人に対応する前記リモートユーザに対して、前記リモートユーザに固有の構成に従って、リモートネットワーキングセッションをリアルタイムで形成するステップと
を具備し、
前記リモートネットワーキングセッションはホストされたデスクトップに対応し、かつ、前記構成は、前記ホストされたデスクトップの状態を考慮することを特徴とする方法。
【請求項１７】
前記リモートユーザに固有の前記構成を入力するステップをさらに具備することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記形成するステップは、前記リモートユーザのロケーションと、前記ユーザによって使用されたデバイスと、前記ネットワーク内のバックエンドシステム上の負荷と、前記ユーザの通常のホームロケーションとを含むグループから選択されたネットワーク変数に関して実行されることを特徴とする請求項１６に記載の方法。
【請求項１９】
前記構成は前記処理ユニットのそれぞれを介して入力されることを特徴とする請求項１６に記載の方法。
【請求項２０】
前記ソートするステップ内の前記所定のルールは、前記処理ユニットのそれぞれを介して、変更されることが可能であることを特徴とする請求項１６に記載の方法。
【請求項２１】
前記要素は、セッションと、ユーザと、クライアントデバイスと、プリンタとを含むことを特徴とする請求項１６に記載の方法。
【請求項２２】
前記所定のルール及び前記構成は、前記処理ユニットのそれぞれからは離れて格納されることを特徴とする請求項１６に記載の方法。
【請求項２３】
前記構成のコピーは、前記処理ユニットからは離れた第１外部データベース内に格納され、
前記構成のミラーコピーは、前記処理ユニットからは離れた第２外部データベース内に格納されることを特徴とする請求項１６に記載の方法。
【請求項２４】
前記処理ユニットは、前記リモートユーザにリアルタイム接続進捗情報を提供するアプリケーションプログラミングインターフェースを介して、前記リモートユーザのデバイスと通信することを特徴とする請求項１に記載の方法。
【請求項２５】
前記処理ユニットは、前記リモートユーザにリアルタイム接続進捗情報を提供するアプリケーションプログラミングインターフェースを介して、前記リモートユーザのデバイスと通信することを特徴とする請求項９に記載の装置。
【請求項２６】
前記処理ユニットは、前記リモートユーザにリアルタイム接続進捗情報を提供するアプリケーションプログラミングインターフェースを介して、前記リモートユーザのデバイスと通信することを特徴とする請求項１６に記載の方法。
【請求項２７】
前記リモートネットワーキングセッションは、メカニズムをコピーすることによって、ホストされたデスクトップを動的に供給することで形成されることを特徴とする請求項１に記載の方法。
【請求項２８】
前記メカニズムをコピーするステップは、ベース画像をクローン化することと、テンプレートを利用することと、ファットデスクトップからの変換とを含むグループから選択されることを特徴とする請求項２７に記載の方法。
【請求項２９】
前記ホストされたデスクトップは、ワンオフ方法で動的に供給されることを特徴とする請求項２８に記載の方法。
【請求項３０】
前記ホストされたデスクトップは、反復ベースで動的に供給されることを特徴とする請求項２８に記載の方法。
【請求項３１】
前記リモートネットワーキングセッションは、メカニズムをコピーすることによって、ホストされたデスクトップを動的に供給することで形成されることを特徴とする請求項９に記載の装置。
【請求項３２】
前記メカニズムをコピーするステップは、ベース画像をクローン化することと、テンプレートを利用することと、ファットデスクトップからの変換とを含むグループから選択されることを特徴とする請求項３１に記載の装置。
【請求項３３】
前記ホストされたデスクトップは、ワンオフ方法で動的に供給されることを特徴とする請求項３２に記載の装置。
【請求項３４】
前記ホストされたデスクトップは、反復ベースで動的に供給されることを特徴とする請求項３２に記載の装置。
【請求項３５】
前記リモートネットワーキングセッションは、メカニズムをコピーすることによって、ホストされたデスクトップを動的に供給することで形成されることを特徴とする請求項１６に記載の方法。
【請求項３６】
前記メカニズムをコピーするステップは、ベース画像をクローン化することと、テンプレートを利用することと、ファットデスクトップからの変換とを含むグループから選択されることを特徴とする請求項３５に記載の方法。
【請求項３７】
前記ホストされたデスクトップは、ワンオフ方法で動的に供給されることを特徴とする請求項３６に記載の方法。
【請求項３８】
前記ホストされたデスクトップは、反復ベースで動的に供給されることを特徴とする請求項３６に記載の方法。
【請求項３９】
前記構成はスクリプト言語を通じて動的に作成されることを特徴とする請求項１に記載の方法。
【請求項４０】
前記構成はスクリプト言語を通じて動的に作成されることを特徴とする請求項９に記載の装置。
【請求項４１】
前記構成はスクリプト言語を通じて動的に作成されることを特徴とする請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータユーザ及び対応するリモートリソースのネットワーク管理に関する。特に、本発明は、所定のルールに従って、かつ、ユーザによって利用されるリモートビューアプロトコルに拘わらず、コンピュータユーザをリモートコンピュータリソースに動的に割り当てる管理層を提供する方法及び装置に関する。
【背景技術】
【０００２】
一般的なスタンドアローンコンピュータユーザは、コンピュータシステム（それらの特定のコンピュータハードウェア上に、１又は複数のコンピュータアプリケーションレジデントを含む）を有する。これは、「ファット（fat）」又は「シック（thick）」クライアントアーキテクチャ（多くのソフトウェアがユーザのコンピュータと共に常駐するように、ローカルストレージ及び処理を備える）と通常は呼ばれる。しかし、現在のコンピュータネットワーキング（contemporary computer networking）の出現によって、コンピュータユーザは、「シン（thin）」又は「リーン（lean）」クライアントアーキテクチャとして周知であるもの（リモートストレージ及び処理を備えた中央サーバに主に依存する）を利用することができる。さらに、現在のコンピュータネットワーキングは、リモートデスクトップ共有メカニズム（remote desktop sharing mechanism）（多くの場合はシンクライアントアーキテクチャの特徴を示す）を生み出している。
【０００３】
以前は、そのようなリモートデスクトップ共有メカニズムは、ＶＮＣ（virtual network computing）（ＧＵＩ（graphical user interface）を通じて機能する）の発展であった。本質的に、ＶＮＣは、ＧＵＩデスクトップ共有システムである（ＲＦＢ（remote frame buffer）プロトコルを使用して、キーボード及びマウスイベントを１つのコンピュータから他のコンピュータに転送することによって、かつ、ネットワーク上の他の方向に戻るグラフィカルスクリーン更新を中継することによって、他のコンピュータを遠隔制御する）。ＶＮＣがプラットフォームに依存せず、かつ、複数のクライアントが同時にＶＮＣサーバに接続するので、一般に、この技術は、リモート技術サポート、及び、ホームコンピュータからワークコンピュータ上のファイルへのアクセスに使用される。しかし、ＶＮＣはセキュアなプロトコルではない。したがって、ＶＮＣの変形が発展している（より強固な暗号を備えた特別なセキュリティ層を追加するために、ＳＳＨ（secure shell）又はＶＰＮ（virtual private network）接続上でトンネルされる）。その変形と並んで、リモートデスクトップ共有に対する専用システムが開発された（例えば、Microsoft's Terminal Services（登録商標）（マイクロソフト社、ワシントン州リッチモンド）、及び、Citrix MetaFrame（登録商標）（Citrix Software社、フロリダ州Fort Lauderdale））。Citrix Presentation Server（登録商標）（以前は、Citrix MetaFrame（登録商標））は、リモートアクセス／アプリケーションパブリッシング製品（ユーザが中央サーバから利用可能なアプリケーションに接続することができる）である。
【０００４】
そのような専用システムの重要な利点は、それらが、コンピュータユーザに、種々のリモートロケーション（例えば、自宅、空港インターネットキオスク、スマートフォン、及び、ネットワーク（例えば、企業イントラネット）外部の他のデバイス）から、シグナリングメカニズム（即ち、電気／光／無線）を介して、リモートに、ソフトウェアアプリケーションに安全に接続するのを可能にすることである。企業エンドユーザから見れば、ある人は、リモートロケーション（例えば、空港キオスク）から、それらのネットワークに、単に、一度サインイン（シングルサインオン（Single Sign On））し、かつ、全てのアプリケーションを見ることができる（彼らが職場で通常は毎日見て（例えば、Microsoft Outlook（登録商標）又は他の内部ソフトウェアアプリケーション）、かつ、セキュアな環境ではキオスクからそれらにアクセスすることが可能である）。
【０００５】
ＲＤＰ（Remote desktop protocol）は、マイクロソフト社のTerminal Services（登録商標）の一部であり、かつ、ライセンスされたCitrix社の技術に基づいている。Citrix Presentation Server（登録商標）は、ＩＣＡ（independent computing architecture）プロトコル（Citrix Systemsのシンクライアントプロトコルである）上に構築されている。上記したＶＮＣの様な従来のフレームバッファプロトコルと異なり、ＩＣＡは、全くのグラフィカル情報とは対照的に、高レベル・ウィンドウ・ディスプレイ情報を転送する。ネットワーク（そのリモートビューアプロトコル（ＶＮＣ、ＲＤＰ、ＩＣＡなど）を使用する）は、メインフレーム端末システムを思い出させる（中央の強力なコンピュータが処理作業の大部分を実行し、かつ、より小規模であって、あまり強力ではないマシンがユーザインターフェースを提供する）。
【０００６】
法人企業及び学術機関は、それらのネットワーク内のそのようなリモートビューアプロトコルの典型的なユーザである。また、ＩＴ（information technology）の観点からは、リモートビューアプロトコルを通じたソフトウェアアプリケーションの中央化によって、ＩＴ管理者がユーザアクセス及びソフトウェア自体の両方を管理することはより容易になる。そのような中央化には明らかに利点が存在するが、さまざまな理由（ユーザの抵抗、アプリケーションの非互換性、及び、アプリケーション分離を含む）のため、そのようなシステムの採用は広まっていない。
【０００７】
そのようなユーザ抵抗に対する１つの主な理由は、そのような従来技術のリモートデスクトップセッションにログオンするとき、ユーザがデスクトップルック及びフィール（feel）に対してもはや制御性を持たないことである。単純な特徴（デスクトップの「壁紙」を個人写真に変更する能力のような）は、ユーザには大きな問題となる。したがって、そのユーザは、アーキテクチャ変更から得られる個人的な利点を認めない。アプリケーション非互換性問題は、サーバ上で１以上のアプリケーションのコピーを実行しようとするときに発生する。これは、コピーが同じバージョンではない場合に特に問題である。アプリケーション分離問題は、複数の相互依存アプリケーション（同じホストサーバ及び同じユーザ空間において、インストール及び実行される必要がある）が存在するときに発生する。このアプリケーション分離問題の１例は、規則コンプライアンス監視ソフトウェアである。
【０００８】
さらに、リモートデスクトップ閲覧に対する現在の専用アーキテクチャは、それら自体のリモートビューアプロトコルだけをサポートする。
【０００９】
さらに、現在のアーキテクチャに関する標準的なアプローチは、リモートユーザと中央サーバの間のデータパス内のプロキシを利用する。そのプロキシ利用は、故障状態においてネットワークの強健性を制限し、トロンボニング（tromboning）を増大し（ユーザのデバイスからプロキシ、次いで、サーバに行くので、リモートビューアトラフィックが回旋状のネットワークパスを通じて進む必要がある）、拡張性を抑制する。その拡張性の関心は、マルチスクリーン、及び、リッチメディア（ビデオ及びオーディオ）アプリケーションに対して特に重大である。したがって、コンピュータユーザ、及び、対応するリモートリソース（これらの問題を克服する）のネットワーク管理を改善することが望まれている。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
コンピュータユーザ及び対応するリモートリソースのネットワーク管理に対する従来メカニズムの少なくとも１つの不利点を取り除くか、又は、緩和することが本発明の目的である。本発明は、24/7カバレージに対する必要性が、ネットワークの破局的故障の常に存在する可能性と共存する世界において、増大するモバイルコンテンポラリーワークフォースに対して有用である。一般に、本発明は、管理層（所定のルールに従って、かつ、さらに、ユーザによって利用された所定のリモートビューアプロトコルに拘わらず、コンピュータユーザを各リモートコンピュータリソースに動的に割り当てる）の形態で、方法及び装置を提供する。さらに、好ましくは、本発明のオペレーションは、装置を経由してルートされるために、リモートビューアプロトコルを必要とすることなく実行される。
【課題を解決するための手段】
【００１１】
第１態様では、本発明は、
１）ネットワーク内の多様なタイプの要素を収集するステップと、
２）前記ネットワーク内で接続を仲介するために、前記多様なタイプのそれぞれに対応するメンバーを、処理ユニット内にインポートするステップと、
３）所定のルールに従って、前記メンバーをメンバプールにソートするステップと、
４）前記処理ユニットによって、前記メンバーのうちの１人に対応するリモートユーザに対して、前記リモートユーザに固有の構成に従って、リモートネットワーキングセッションをリアルタイムで形成するステップと
を具備したリモートコンピュータリソースを管理する方法を提供する。
【００１２】
さらなる態様では、
１）ネットワーク内の接続を仲介するための処理ユニットと、
２）所定のルール及び構成を保存することが可能なストレージユニットと
を備え、
前記処理ユニットは、前記ネットワーク内の多様なタイプの要素を収集し、前記多様なタイプのそれぞれに対応するメンバーを、前記処理ユニットにインポートし、所定のルールに従って、前記メンバーをメンバプールにソートし、かつ、前記メンバーのうちの１人に対応するリモートユーザに対して、前記リモートユーザに固有の構成に従って、リモートネットワーキングセッションをリアルタイムで形成することが可能であり、
前記ストレージユニットは前記処理ユニットに動作可能なように接続されていることを特徴とするリモートコンピュータリソースを管理するための装置が設けられている。
【００１３】
さらなる態様では、本発明は、
１）地理的にさまざまなネットワークの第１地理的地域内で、多様なタイプの要素を収集するステップと、
２）前記第１地理的地域内で接続を仲介するために、前記多様なタイプのそれぞれに対応するメンバーを、処理ユニットにインポートするステップと、
３）所定のルールに従って、前記メンバーをメンバプールにソートするステップと、
４）前記地理的にさまざまなネットワークの第２地理的地域に対して、収集、インポート、及び、ソートの前記ステップを反復するステップと、
５）リダイレクタユニットによって、リモートユーザを、前記リモートユーザのホームロケーションに対応する前記地理的にさまざまなネットワークの前記第１又は第２地理的地域のうちの１つに対応する１つの前記処理ユニットにリダイレクトするステップと、
６）前記リダイレクタユニットが前記リモートユーザにリダイレクトした前記処理ユニットによって、前記メンバーのうちの１人に対応するリモートユーザに対して、前記リモートユーザに固有の構成に従って、リモートネットワーキングセッションをリアルタイムで形成するステップと
を具備したリモートコンピュータリソースを管理する方法を提供する。
【００１４】
本発明の他の態様及び特徴は、添付の図面と併せて、以下の本発明の特定の実施例の説明をレビューすることによって当業者には明らかになる。
【００１５】
本発明の実施例は、添付図面を参照して、ほんの一例として説明される。
【図面の簡単な説明】
【００１６】
【図１】本発明の全ネットワークアーキテクチャである。
【図１Ａ】本発明のネットワーク接続のバックエンドセッションを図示している。
【図２Ａ】本発明のネットワーク接続を開始することに関するグラフィカル・ユーザー・インターフェースである。
【図２Ｂ】本発明のネットワーク接続を開始することに関する認証を図示している。
【図３】本発明の複数のセッションをセットアップするためのネットワーク接続を開始した後のグラフィカル・ユーザー・インターフェースである。
【図４】ＲＤＰセッションに関するリモートデスクトップセットアップの管理を図示している。
【図５】本発明のプーリング（pooling）を図示している。
【図５Ａ】４区分の段階にカテゴリ化された本発明の全動作体系を図示している。
【図５Ｂ】本発明の４区分の段階に関する管理層の特徴を図示している。
【図６】本発明のテンプレートの使用を介したデスクトップ作成を図示している。
【図７】ＳＳＬ−ＶＰＮハードウェアを用いたオペレーションにおける本発明の１実施例である。
【図８】本発明のフェイルオーバ及びクラスタリングシナリオを図示している。
【図８Ａ】本発明の接続仲介装置との通信における仮想マシンである。
【図８Ｂ】フェイルオーバプロセスに関する図８及び図８Ａの詳細となる主及びバックアップデータセンタである。
【図９】本発明のロケーションベースの接続仲介ステップの１実施例を図示している。
【発明を実施するための形態】
【００１７】
一般に、本発明は、所定のルールに従って、かつ、ユーザによって利用されるリモートビューアプロトコルに拘わらず、コンピュータユーザをリモートコンピュータリソースに動的に割り当てることによってネットワークを管理するための方法及び装置を提供する。所定のルールは、ネットワーク全体の制度上の必要性を与えられて、変更することができる（一般に、ネットワーク管理者によって）。本発明は、接続仲介装置（connection broker）（仮想及び物理マシン環境において実行中であるホストされたデスクトップ（hosted desktop）に対して、制御されたリモートアクセスをユーザに提供する）の形態で実施される。ホストされたデスクトップは、センシティブな情報を集中させ、したがって、データ損失のリスクを軽減する。また、接続仲介装置は、最も適したリモートデスクトッププロトコルを使用して、物理マシン、仮想マシン、又は、サーバホストセッション（例えば、Citrixなど）に対して、ファット、シン、及び、ウェブベースクライアントの間に、ポリシーに基づく接続性を提供する。実際に、本発明は、コンピューティングリソース（仕事を行うのに必要がある）に、ユーザを接続することの問題点に対して、プロトコルに捉われない解決策を提供する。好ましくは、本発明は、ウェブサービスベースである（本発明がウェブサービスの使用によってネットワーク内で展開され、かつ、ウェブブラウザに基づくインターフェースが標準ネットワーク負荷バランシングツール（ウェブサーバに一般的に使用される）の使用を可能にする）。これによって、本発明はよく理解されたウェブ技術及び知識（例えば、ネットワーク負荷バランシングツールを含んでいるが、これに限定されない）を利用することができ、かつ、本発明は仮想アプライアンスとしてユーザに提供することができる。
【００１８】
図１には、本発明の全ネットワークアーキテクチャ100が示されている。エンドユーザは、ファットクライアント1a、シンクライアント1c、又は、ウェブクライアント1b（ファイアウォールを介して図示された）の何れであってもよい。ＣＢ（connection broker）100の形態のネットワーキング管理メカニズムは、クライアント（シン、ファット、又は、ウェブ）と、ＶＭ（virtual machine）ファーム２（１又は複数のホストサーバ（2a〜2cの３つが図示されている）中に１又は複数のＶＭを備えた）との間に動作可能なように接続されている。説明のため、３つのクライアント1a〜1cは、ホストサーバ2b上にレジデントする仮想マシンに対して、ネットワーク９を通じた各データパス9a〜9cを備えて図示されている。しかし、実際には、所定の仮想マシンに対するデータパスにつき、１つのクライアントだけが接続されることを理解しなければならない。
【００１９】
前記ネットワーク９は、一般に、電気的シグナリング、光シグナリング、無線シグナリング、それらの組合せ、又は、ネットワーキング技術で既知の他のシグナリング方法を使用して、データを伝送する。したがって、ネットワーク９が固定チャネル遠隔通信リンク（例えば、Ｔ１、Ｔ３、又は、56kbライン）、ＬＡＮ（local area network）又はＷＡＮ（wide area network）リンク、パケット交換ネットワーク（例えば、ＴＹＭＮＥＴ）、ネットワークのパケット交換ネットワーク（例えば、インターネット）、あるいは、当該分野で既知の他のネットワーク構成であることは容易に明白である。一般に、ネットワーク９は多様なプロトコルでデータを伝送する（ＵＤＰ（user datagram protocol）、ＡＴＭ（asynchronous transfer mode）、X.25、及び、ＴＣＰ（transmission control protocol）を含んでいるが、これに限定されない）。
【００２０】
各ＶＭは、図１に示されたホストサーバ2a〜2c内に設けられる（各ＶＭがホストされたデスクトップとして機能する）。各ホストされたデスクトップは物理デスクトップの様に見え、かつ、振舞うので、一般に、ユーザの再訓練は要求されない。その実例では、仮想化管理システム３が設けられて、ＶＭファーム２内の各ホストされたデスクトップの主要（vital）統計を監視及び格納する。仮想化技術では既知のように、一般に、各ＶＭは、仮想マシンと、仮想ハードウェアとを仮想化ソフトウェア（接続仲介装置（Connection Broker）との直接通信、又は、仮想化管理システム３を介した間接通信において、ホストエージェントを有する）と共に備えている。いくつかの既知の仮想化管理製品、及び、実際に異なる仮想化層（本発明に有用な）が存在することを理解しなければならない。さらに、ホストされたデスクトップの仮想化を直接、かつ、管理層を経由しないで管理することが可能であることを理解しなければならない。その代わりとして、本発明は、仮想化ノードを直接管理してもよい。１又は複数のＶＭが本明細書において図示及び説明されるが、本発明の意図された範囲から逸脱することなく、ＶＭのファームの代わりに、実際の物理マシンが存在してもよいことは容易に明白である。実際に、当然、その物理マシーン（図示せず）のそれぞれは、デスクトップＰＣ（personal computer）、又は、ブレードＰＣ（ネットワーク接続のバックエンドセッションを実行する）であってもよい。物理マシンの場合、その物理マシン内で実行中であるホストされたデスクトップは、ディスカバリプロトコル（例えば、ＳＬＰ（service location protocol）、認証システム）を使用することによって、又は、ホストされたデスクトップエージェント（例えば、図８Ａに関連して後に示されるように、ホストされたデスクトップ内のホストされたデスクトップ通信ＡＰＩ）を実行することによって見出される。さらに、バックエンドセッションは、代わりに、１又は複数のＶＭ、又は、物理マシンよりむしろCitrixセッションを発行してもよい（図１Ａに関連して後にさらに図示及び説明されるように）。
【００２１】
図１Ａでは、本発明のネットワーク接続のバックエンドセッション11が図示されている。図において、アクセス制御ルール８に従って、ユーザ1aに、リモートアクセスを可能にさせるために、前記ＣＢ100がリモートホスト12（発行されたアプリケーション12a（例えば、Citrixセッション又は他の類似した端末サーバセッション）、物理マシン12b、及び、仮想マシン12を含んでもよい）をサポートすることができることが示されている。バックエンドセッションにおけるディスカバリ及び制御は、Citrix Presentation Server（登録商標）ＡＰＩ（application programming interface）を使用したCitrixセッション12aに関して、Active Directory（登録商標）（マイクロソフト社のディレクトリサービス（Windows 2000（登録商標）アーキテクチャの不可欠な部分を構成する）を一般に使用した物理マシン12bに関して、及び、仮想化管理層（例えば、VirtualCenter（登録商標）（VMware社（カリフォルニア州Palo Alto）による仮想インフラストラクチャ管理ソフトウェア（企業の仮想マシンを単一のリソースの論理プールとして集中的に管理する））を使用した仮想マシン12に関して、生じることを理解しなければならない。
【００２２】
図１に示されたネットワーキングアーキテクチャ100内のリモートユーザは、接続アプリケーションＧＵＩ20（図２Ａに示された）を介して、はじめに、前記ＣＢ100に出会う。ＣＢ７のドメイン及びＩＰ（internet protocol）は、リモートユーザ（図２Ｂでは21）によって入力するか、又は、ユーザのＩＴ管理者によってＣＢ100のソフトウェア初期化及びセットアップ中に確立してもよい。しかし、リモートユーザ21は、当然、当分野において既知のネットワークにログオンする標準的な方法で、ユーザ名及びパスワードを入力するように要求される。さらに、図２Ｂでは、ユーザ名及びパスワードは、ＣＢ22（ルックアップディレクトリ23（例えば、Active Directory（登録商標）、ＬＤＡＰ、内部データベースなど）に動作可能なように接続された）に回送されて、したがって、リモートユーザ21を認証するために、認証サーバルックアップを実行する。ファットクライアントの実例では、ユーザは、本発明の接続ＧＵＩ20を使用してログオンする（ＯＳ（operating system）（例えば、マイクロソフトWindows XP（登録商標）又はマイクロソフトWindows Vista（登録商標）を含んでいるが、これに限定されない）に関連して動作可能である）。
【００２３】
シンクライアントの実例では、ユーザは、シンクライアントソフトウェアを利用して、ログオンしてもよい。ここで、そのシンクライアントは、ＡＰＩ（第１に、ユーザに、認証され、かつ、ホストされたデスクトップ（Hosted Desktop）を割り当てられるのを可能にし、次いで、ＣＢに、割り当てに関する進捗報告をエンドユーザデバイスに対してフィードバックするのを可能にする）を介して前記ＣＢ100と通信する。したがって、それらは、状態（例えば、利用可能なデスクトップがない、又は、ホストされたデスクトップが提供される間に待機する必要がある）を把握する。既存のリモートデスクトップビューアの一体化は、高度に応答可能なユーザ体験を確実にし、かつ、さらなるソフトウェア層（例えば、Sun Microsystems社（カリフォルニア州Santa Clara）のJava（登録商標））に対する必要性を回避する。ファットクライアント又はシンクライアントの実例のどちらでも、ユーザは認証後ＲＤＰセッションに直ちにログインされる。しかし、ウェブクライアントの実例では、ユーザは、セキュアなウェブページ（さらなるソフトウェア層（例えば、ActiveX（登録商標）プラグイン（Microsoft社（ワシントン州Redmond）による高レベルのインターネット／イントラネット技術））を必要とする）を介してログインする。シン又はファットクライアントのどちらかからの単一のログオンは、ユーザ名及びパスワードを再入力する必要性を回避させることに留意しなければならない。
【００２４】
前記接続ＧＵＩ20は、リモートデスクトップ選択ＧＵＩ30において、１又は複数のリモートデスクトップから、ユーザが選択するオプションをさらに備えてもよい。図３に示すように、ユーザは、接続ＧＵＩ20を用いて認証する（認証後に、ユーザが、次いで、リモートデスクトップセッションの選択肢を与えられる）。その実例では、リモートユーザは１以上のリモートセッションを割り当てることができる。リモートデスクトップＧＵＩ30から接続することは、次いで、複数のセッションを自動的に立ち上げ、かつ、ユーザをログインさせる。この方法では、独創的な方法及び装置によって複数セッション管理を効果的に可能にする。その管理は、ＲＤＰセッションに関して、図４について説明される。図４はＲＤＰセッションに関して説明されるが、セッションはリモートビューアプロトコルのそれであってもよいことを理解しなければならない。
【００２５】
図４は、リモートビューアセッション制御40の概略図である。上記した認証以降、次いで、前記ＣＢ100は、リモートビューアセッション変数を送信することによって（ここでは、ＷＡＮ44を介して）、リモートデスクトップセッションをセットアップする（ユーザのローカルデバイス43上で実行中であるリモートビューアソフトウェアに対するホストされたデスクトップ42のＩＰアドレス（ここでは、ホストサーバ上のＶＭによって図示された）を含む）。本発明は、バックエンドシステムの複雑性がユーザから隠されることを可能にするために、幅広い範囲のリモートデスクトップセッションプロトコルに対するサポートを提供する。即ち、ユーザは、単にログインし、かつ、必要な接続を使用して、適したリソースに自動的に接続される。上記していないが、ローカルデバイス43がリモートＰＣ（図示したように）か、又は、代わりに、リモートコンピューティングデバイス（例えば、ＰＤＡ（personal digital assistant）、インターネットが利用可能なスマートフォン、ポータブル電子メールデバイス、又は、リモートにホストされたアプリケーションを処理可能なデジタルデバイスを含んでいるが、これに限定されない）であってもよいことは容易に明白である。本発明によれば、セッション変数は、ＣＢ100による検索のために格納されたアクセス制御ルールから導出される。アクセス制御ルールは、一般に、ユーザのＩＴ管理者によって確立され、かつ、スクリプト言語で論理ルールを書くための能力を備えた動的な方法で維持されて、その特定のシナリオにおいて使用するための特定の変数を決定してもよい。アクセス制御ルールは、特定のユーザ、クライアントデバイス、又は、ネットワークリソースに対して固有であってもよい。代わりに、アクセス制御ルールは、特定のユーザ又はネットワークリソースグルーピング、サブグルーピング、あるいは、他の階層又は基準に基づく構成に従ってもよい（プーリング（pooling）として後にさらに説明される）。
【００２６】
本発明によるプーリングがＶＭプーリングに関して、図５に関連して説明される。図５では、ユーザ50は、ＶＭ52ａ（前記アクセス制御ルール８内に格納されたある所定のアクセスポリシーを割り当てられる）に対して、ＣＢ100によって提供されるように示されている。各アクセスポリシーは、クライアント（ウェブ、ファット及びシン）の各クラスとは無関係に、セッション変数（例えば、スクリーンサイズ）をセットすることができる。さらに、変数（例えば、プリンタ割り当て）は、クライアントロケーションによって決定することができる。上記した場合を除き、ＶＭ52aがＶＭ（特定のアクセスポリシーに関連付けられている）のあるプール52から割り当てられるように、ユーザ50は、あるActive Directory（登録商標）グループメンバ特徴（ＣＢ100が、アクセス制御ルール８に格納されたアクセスポリシーに対して適用する）を有する。機能的ではなく、又は別の方法で、不正ユーザによって使用中であるホストされたデスクトップ（ここではＶＭ）がユーザ50に割り当て可能ではないことに当然留意しなければならない。したがって、ホストされたデスクトップは、遠隔に管理し、かつ、プールからユーザに割り当てることができ、かつ、好ましくは、使用後にプールに返すことができる。
【００２７】
プーリングは、本独創的な方法及び装置の基本的なメカニズムの単に一部であることを理解しなければならない。図５Ａは、本発明の全体オペレーション体系のコンテキストにおいてプーリングを示している。図５Ａでは、本発明のオペレーションは、４区分の段階にカテゴリ化される。即ち、（１）収集、（２）インポート、（３）プーリング、（４）接続仲介である。収集段階において、はじめに、ネットワーク内の多様な要素（さまざまなタイプのセッション、ユーザ、クライアントデバイス、及び、プリンタの形態で）がＣＢによって識別される。セッションの例は、仮想化管理、アプリケーション発行、端末サーバ、又は、物理サーバを含んでもよい。ユーザは、Active Directory（登録商標）、ＬＤＡＰなどの形態であってもよい。クライアントデバイスの例は、既知のファットクライアント・アプリケーション、シンクライアント・アプリケーション、又は、ウェブブラウザ・リモートビューア・アプリケーションであってもよい。プリンタは、物理印刷ステーション、又は、適した同等のデバイス（例えば、ファクス（fax）デバイス、仮想fax、又は、プリント・ツー・電子メール（print-to-email）メカニズムを含んでいるが、これに限定されない）の形態であってもよい。
【００２８】
前記セッション／ユーザ／デバイス／プリンタが収集された後、次いで、各メンバーは前記ＣＢ内にインポートされる。次いで、ルールがメンバーをプール毎にソートするために適用される。この一例では、ある全てのユーザが識別され、かつ、一部は経理プールにソートされ、一方では、他はエンジニアリングプールにソートされる。しかし、プーリングは、手動のオーバライド（over-ride）に従ってもよい（例えば、経理ユーザが、経理プールの代わりか、又は、加えて、人材プールにソートされる）。プーリング以降、接続仲介ステップが、そのユーザに対してある構成を有効にするために、リアルタイムの方法で発生する。進捗報告ステップは、デスクトップを割り当てることに関連付けられた仲介進捗及びエラー（例えば、「ホストされたデスクトップがない」又は「ホストされたデスクトップを開始する」）に関してユーザに常に通知する。この方法では、好ましくは、本発明は、最終的な接続仲介ステップ（問題点（例えば、ユーザのロケーション、使用中のデバイス、バックエンドシステムの負荷、及び、ユーザの通常のホームロケーションを含んでいるが、これに限定されない）を考慮して、リアルタイムで実行される）を作り出す。これは、所定のユーザに対して適したコンポーネントを選択することによってセッションを動的に完了し、かつ、その特定のユーザ構成に対するセッションを確立する。例えば、前記経理ユーザは、ＶＭの形態でホストされたデスクトップに対してリモートにセットアップされる（そのユーザのワークデスクトップに通常は割り当てされる全てのエンジニアリングソフトウェアアプリケーション、及び、それらの適した仕事場のプリンタを含む）。
【００２９】
図５Ｂは、本発明の全オペレーション体系のコンテキストで管理層特徴を図示している。リモートアクセス体系のさまざまな部分は、ユーザ、アクセスデバイス、ネットワーク層、リモートビューアプロトコル、及び、バックエンド要素（リモートにアクセスされることを所望される）を含んでいる。そのようなバックエンド要素は、所定プラットフォーム（例えば、仮想マシン）、オペレーティングシステム（例えば、Windows XP（登録商標））、多様なユーザアプリケーション（例えば、MS-Word（登録商標））、及び、関連する格納されたユーザデータを含んでいる。図５Ｂはこれらの多様な部分を示している（それらが一般にリモートアクセス体系内で階層化されているように）。本発明の方法及び装置は、管理層（ネットワークの各部分と通信する）として示されていることが分かる。さらに重要なことには、本発明の管理層は、所定データパス内に常駐していないが、むしろ、後にさらに検討される新規の接続仲介メカニズムによって、ネットワークにおける多様なポイントと通信する。
【００３０】
エンジニアリングユーザの例に続いて、所定の企業は、各エンジニアリングユーザに、あるデスクトップ構成（ユーザのその特定のプールに固有である）を提供することが適切であることが分かる。例えば、電気エンジニアリングスタッフは１つのプール（回路作図ソフトウェアアプリケーションを利用する）を備えてもよく、これに反して、機械エンジニアリングスタッフは他のプール（コンピュータ援用製図ソフトウェアアプリケーションを利用する）を備えてもよい。そのような実例では、本発明に従って、電気エンジニアスタッフに固有のテンプレートＶＭ（機械エンジニアスタッフに固有の他のテンプレートとは異なる）を形成してもよく、それによって、テンプレートが、機械及び電気エンジニアに関するソフトウェアアプリケーションにおいて異なる。図６は、このアプローチを図示している。参照画像62（例えば、テンプレート又は物理マシン）が存在する（ＶＭプール61からユーザ60に対するリモートデスクトップとして、適したクローンのＶＭ62ａを作成するために、プール制御ルール8aに従って、ＣＢ100によってクローン化される）。そのテンプレート62は動的に変更されて、配置に適合してもよい（例えば、メモリ量又はディスクスペースがユーザプロフィールに基づいて変更することができる）ことを理解しなければならない。テンプレートの使用は、ホストされたデスクトップ62aを動的に提供することによって、又は、テンプレート62を使用することによって、バックエンドリソース（図５Ｂに示されたように）を作成することを本発明に可能にする。代わりに、これは、プールから所定デスクトップのベース画像をクローン化することによって、又は、「ファット」デスクトップからそのデスクトップを変換することによって実行してもよい。その動的な提供は、単発又は繰り返しベースのどちらで実行してもよい。
【００３１】
また、本発明は、ネットワークにおいてブレーク中に、保存（retaining）セッション接続に関して、ある程度の「スティックネス（stickiness）」を提供する。ユーザに対する特定のホストされたデスクトップの割り当ては永続的であるか、又は、プリセット期間だけであってもよい。本発明はネットワークのエンドポイントを管理し、かつ、ネットワーク自体ではないので、ユーザは、接続に使用されるデバイスに拘わりなく、ＣＢデータベースにおいて特定のエントリに関連付けられる。この関連付けの期間は、ＣＢ（ある変数（ブレークが切断に対してログアウトであるか否か、及び、最近のログオンからどの程度の時間が経過したかを含んでいるが、これに限定されない）に依存する）によって保存される。例えば、断続的な切断の発生はユーザにセッションを再構築するのを強いないが、これに反して、24時間の最近のログオンからの経過時間は所定のホストされたデスクトップを備えたユーザの格納された関連付けを恐らく除去する。この方法では、貧弱なネットワーク接続をやり直すとき、リモートユーザの経験に影響を及ぼすことなく、リモートサーバリソースを賢明に利用することができる。これは、ネットワーク障害があるときでさえ、ユーザがデスクトップ構成を保存するが、ホストされたデスクトップが不必要にタイアップされないことを確実にする。ホストされたデスクトップ通信ＡＰＩ（又は、ホストされたデスクトップ内のホストされたデスクトップエージェント）は、ログオフと切断との間を区別するために使用される。
【００３２】
同様に、ユーザのホストされたデスクトップ（例えば、ＶＭ）ポリシーが、そのユーザのログオンで、ＶＭの状態を決定してもよい。前記ＣＢは、ユーザのＶＭを、ポリシー決定された状態に配置して、それによって、ログオンに関するＶＭを開始し、かつ、ログアウトに関するＶＭを停止し、又は、ログアウトに関するＶＭを一時停止し、かつ、割り当てに関するＶＭを再開する。これは、あるユーザに対して割り当てられた一部のＶＭに対するアイドル状態とより類似している（例えば、一般のユーザに対するＶＩＰユーザ）。しかし、ホストされたデスクトップ状態のこの動的な管理によって、各ＶＭ状態が、割り当て、及び、割り当て解除されたとき、自動的に変化されることを可能にし、これによって、未使用のＶＭが電力オフ状態（ライセンス及びハードウェアの両方の利用を節約する）で保たれることを可能にする。
【００３３】
上記したように、本発明のＣＢは、ユーザを、物理又は仮想マシン上で実行中であるホストされたデスクトップに動的に割り当てる。ユーザは、ファットクライアント（例えば、Windows 2000（登録商標）、XP（登録商標）及びVista（登録商標））、シンクライアント（例えば、Devon IT、Neoware、及び、Wyseによる）に対する独創的なＣＢを使用して、又は、単にウェブブラウザを使用して、割り当てられたデスクトップに、単一のサインオンアクセスを行ってもよいが、また、暗号化されたネットワーキングに対するある程度のサポートが容易に明白に必要である。故に、第３者のセキュアなハードウェア（例えば、ＳＳＬ（secure socket layer）ＶＰＮハードウェア）を用いた一体化は、ファイアウォール外部から、同じ単一のログオン経験を確実にするために必要である。したがって、認証及びＲＤＰセッションは、ＳＳＬ認証を使用して保護されて、データセキュリティを確実にすることができる。図７は、ＳＳＬ−ＶＰＮハードウェアを用いたオペレーションにおける本発明の１例を図示している。
【００３４】
図７には、本発明の１実施例が示されている（ユーザ71によってホストされたデスクトップ73aのＳＳＬ ＶＰＮリモートアクセスに対して使用されたように）。そのようなウェブベースでは、一般に、前記71はファイアウォール72の後ろに配置されている。そのようなＳＳＬ−ＶＰＮアクセスに対するオペレーションは、一般に、ＳＳＬ−ＶＰＮハードウェア75のウェブページにログオンするために、ユーザ71がウェブブラウザ（ＳＳＬ−ＶＰＮを示す）を最初に開くことを必要とする。本発明のいくつかの代替的な実施例では（例えば、大規模な企業内のキャリアクラス（carrier-class）ソリューションに対する）、認証ステップは、一般に、第３者の認証サーバ（一般に、管理コンポーネントとして使用される）を含み、認証リクエストを確認し、かつ、企業ネットワークに対するポリシーを管理してもよい。図示されていないが、RSA ACE/Server（登録商標）（マサチューセッツ州BedfordのRSA Security社による）は、そのような一般的な管理コンポーネントの１つとして使用することができる（ホストされたデスクトップ73aへの単一のサインオンに対する必要な変数を、ＣＢ100に通過させるために、ＣＢ100に対して、２ファクタ認証（認証トークン及びユーザ名）を実行する以前に、ＳＳＬ−ＶＰＮ75がRSA ACE/Server（登録商標）に対して、２ファクタ認証（認証トークン及びユーザ名）を実行する。）。重ねて、どのような第３者の認証サーバでも選択肢として理解しなければならない。
【００３５】
第３者の認証サーバ（使用される場合）、又は、もっぱら第３者の認証サーバが使用されない場合に関連して、ホストされたデスクトップ73aへの単一のサインオンに対する必要な変数を、ＣＢ100に通過させるために、ＣＢ100に対して、２ファクタ認証（認証トークン及びユーザ名）を実行することによって、Active Directory（登録商標）又はＬＤＡＰ74に対して、ＣＢ100を介して、さらなる認証が実行されるように、ＳＳＬ−ＶＰＮ75は、暗号化されたチャネルを通ってユーザ名及びパスワードを通過させる。上記した非ＶＰＮシナリオのように、ＣＢ100は適したホストされたデスクトップ73aを決定する。しかし、このシナリオでは、ＣＢ100は、ユーザ固有のウェブページ及びActiveX（登録商標）プラグインに対して、ＲＤＰセッション変数に加えてＩＰアドレスを通過させる。次いで、ＳＳＬ−ＶＰＮ75は、ＣＢ100によって生成されたウェブページを、ユーザ71に回送する。それに従って、ＲＤＰセッションは、ユーザのウェブブラウザのActiveX（登録商標）ＲＤＰクライアントと、ホストされたデスクトップ73aとの間にセットアップされる。
【００３６】
上記した高度セキュアネットワークの実施例に加えて、一部のネットワークオペレータは、より高レベルの強健性を要求する。本発明は、そのような強健性を提供する（それらを割り当てるか、又は、再割り当てする以前に、ＣＢがホストされたデスクトップの状態をチェックする）。ホストされたデスクトップが故障した場合、次いで、それは、同じプールからの他のものによって、自動的に置き換えられる。したがって、ホストサーバの故障は、限定的な中断のみを発生させる（即ち、ユーザは、単に再認証し、かつ、新規のホストされたデスクトップを割り当てられる）。図８、図８Ａ，８Ｂ，８Ｃ及び８Ｄは、本発明によるフェイルオーバ及びクラスタリングシナリオの両方を図示している。
【００３７】
図８では、ユーザ81は、ホストされたデスクトップ83a（Citrixセッション83のプールから選択された）に割り当てられたように示されている。当然、利用可能なリモートリソース82内で、物理84又は仮想マシン85であってもよい。ここで、ユーザ81及びリモートリソース82は、並列に配置された第１ＣＢ101と、第２ＣＢ102とを備えた仲介クラスタ（brokering cluster）に、動作可能に接続されている。したがって、仲介クラスタは、複数のＶＭ、Citrixセッション、及び、デスクトップを直接ホストする物理マシンを管理することができる。２つのＣＢ101及び102だけが図示されているが、より多数のＣＢを並列に配置してもよい。例えば、共通の外部データベース8aに接続されたＣＢをクラスタリングし、かつ、負荷を分散するために負荷バランサを使用することによって、最大で64個までのＣＢクラスタを使用することで、最大で100万個までのホストされたデスクトップを管理することが可能である。この方法では、１つのＣＢ（例えば、101又は102）の故障は、単に、サービスを中断することなく、ユーザセッションが他のＣＢ（例えば、101又は102以外）に再割り当てされることとなる。強健性をさらに向上させるため、データベース8aに対してミラー化された第２外部データベース8b（対応するＣＢ103及び104を備えた）がさらに存在してもよい。主ＣＢ及びデータベース（101,102,8a）の故障によって、第２ＣＢ及びデータベース（103,104,8b）がリモートセッションの管理を引き継ぐ。
【００３８】
図８Ａには、前記ＣＢ100がホストサーバ82aに動作可能なように接続されている（仮想サーバ202が少なくとも１つのリモートデスクトップ203（即ち、ＶＭ）を備えて存在する）本発明の一部が図示されている。当然、一般に、ホストサーバ82aは、少なくとも１つのネットワークインターフェース206と、ディスクストレージ207と、ＣＰＵ（central processing unit）208とを備えている。リモートデスクトップ203の仮想ハードウェア205に加えて、リモートデスクトップ203に含まれて、ホストされたデスクトップ通信ＡＰＩ204（ＣＢ100がホストされたデスクトップ接続を管理する）も存在する。ホストされたデスクトップＡＰＩ204は、ホストされたデスクトップにおいてホストされたデスクトップエージェントか、又は、外部ＡＰＩをオペレーティングシステム（ＣＢに対してホストされたデスクトップ内で実行中である）に接続する中継器の形態であってもよい。ＡＰＩ204（又は、ホストされたデスクトップにおけるエージェント）は、ＣＢ100に、特定のホストされたデスクトップの状態をフィードバックする。その状態情報は、ログインされたユーザのアドレス及び状態（例えば、オンライン、切断）を含んでいる。未承認アクセスを防ぐために、リモートビューアサービスをシャットダウンし、かつ、未承認（即ち、不正）ユーザをログオフするのに使用することもできる。
【００３９】
オペレーションでは、前記リモートデスクトップ203、及び、前記ホストサーバ82aのピング（pinging）を介して、リモートデスクトップ203の監視が発生するように、ＣＢ100はハートビート機能を提供して、ホストサーバ82a及び関連するリモートデスクトップ203の適切かつ連続的なオペレーションを確実にしてもよい。ピングプロセスを通じて（又は、代わりに障害復旧中に手動介入を通じて）識別された接続問題の場合には、ＣＢ100は、フェイルオーバプロセスを開始して、図８Ｂに図示されたように、第２ＶＭ（ホストサーバ82bにおいて点線で示された）をセットアップする。アクセス制御ルール8（ＣＢ100に接続された）は、構成ファイル（所定ユーザに対応し、かつ、ＶＭ構成ファイルとして保存されたセッション変数だけを含む）を含んでいる。識別されたネットワーク接続エラーの実例では、リモートデスクトップ（第１リモートデスクトップに等しい）が第２ホストサーバ82b上に生成されるように、ＣＢ100は、ＶＭ構成ファイルが第２ホストサーバ82bにコピーされるようにする。構成ファイルは、入力する（ＩＴ管理者によって）か、又は、スクリプト言語を使用して、より自動化された、動的な方法で作成してもよい。
【００４０】
前記第１（即ち、主）外部データベース8aと、前記第２（即ち、バックアップ）外部データベース8bとは、ＳＡＮ（storage area network）構成を形成してもよい。本明細書に記載されないが、そのＳＡＮ構成は、当技術分野で周知である（ストレージ素子、ストレージデバイス、コンピュータシステム、及び／又は、アプライアンス、加えて、イーサネット（登録商標）ベースのネットワーク上で通信する全ての制御ソフトウェアを具備する）。そのように、各外部データベース8a及び8bは、ホストされたデスクトップの画像、及び、これらのホストされたデスクトップに関連付けられた構成ファイルを含んでもよい。主及び第２データセンタ8a及び8bのＣＢ102〜104は、一般に、データベース複写を使用して、これを実行するが、ＳＡＮミラー化プロセスを使用することができる。したがって、１つのデータセンタの故障（ピング又は手動介入によって検出された）は、リモートユーザが代替のホストされたデスクトップに再マッピングされることとなる。必要な場合には、本発明の意図された範囲から逸脱することなく、新規環境に合致するように、ホストされたデスクトップ内の構成ファイルの書き換え、及び、ネットワーク構成の変更が発生してもよい。
【００４１】
上記したように、ホストされたデスクトップ画像は、主データセンタからバックアップデータセンタに、ミラー化することができる。各データベース及び対応するＣＢは、異なる対応する主及びバックアップロケーションに共に配置されている。したがって、そのＳＡＮミラー化又はデータ複写は、ネットワーク要素に影響する破局的イベントに直面して、ネットワーク障害回復、及び、回復力において、さらに高レベルの安全性を提供する。即ち、主データセンタにおける故障は、ユーザがバックアップデータセンタに転送されて（グローバル負荷バランシング（図示せず）、又は、図９に関連して以降に説明されるグローバルロケーションリダイレクトを使用して）、あるロケーションのＶＭ（サーバ82a内に実線で示された）から、他のＶＭ（サーバ82b内に点線で示された）にユーザをトランスペアレントに切り替えることとなる。
【００４２】
クラスタリングはネットワーク障害回復及び回復力のコンテキスト内で有用であるが、本発明は、より広範囲のコンテキストにおいて、グローバルネットワークの効果的な管理に利用してもよい。しかし、グローバルネットワーク（例えば、大規模な法人企業内の）は、上記した接続仲介ステップに対して、少し異なるアプローチを利用する。したがって、本発明に関するそのグローバルネットワーク管理は、図９に示すように、ロケーションベースの接続仲介ステップを含む。
【００４３】
図９には、本発明が、シンクライアントユーザ91（ユーザの大規模企業雇用者のＮＹＣ（New York City）オフィスに拠点を置くが、一時的にロンドンに位置する）に関する例として図示されている。ロンドンベースのＣＢ105,106のクラスタが、対応する外部データベース89a（ロンドンベースの従業員に対するアクセス制御ルールを含む）を備えて図示されている。さらに、ＮＹＣベースのＣＢ107,108のクラスタが、対応する外部データベース89b（ＮＹＣベースの従業員に対するアクセス制御ルールを含む）を備えて図示されている。「ロンドンベース」と称するが、実際には、ＣＢ105,106及び外部データベース89aが、単に、ロンドンの地理的な近くに位置してもよい（例えば、ＣＢはベルギーに位置し、かつ、外部データベースはスペインに位置することができる）ことは容易に明らかである。同様に、「ＮＹＣベース」のＣＢは、あるいは、アリゾナ州に物理的に位置し、かつ、外部データベースはノバスコシア州に位置することができる。認証サーバ92及びグローバルリダイレタ93も設けられ、かつ、グローバルネットワークに関わるどのような場所にでも配置してよい。２つのＣＢが各クラスタに図示されているが、上記したように、いくつのＣＢでも並行に使用してもよいことは容易に明らかである。
【００４４】
さらに、図９では、本発明によるロケーションベースの接続仲介ステップのオペレーションは、第１に、ロンドンに位置したＮＹＣベースのユーザ91に関係して、リダイレタ93（例えば、cb.user.com）の形態で、グローバルＣＢに接続する。次いで、ユーザ91は、ローカルＣＢ105，106（例えば、cb.uk.user.com）のうちの１つにリダイレクトされる。その後、ローカルロンドンベースのＣＢ105又は106（ユーザ91がリダイレクトされた）は、認証サーバ92に対してユーザ91を認証する。認証サーバ92は、認証サーバ92がローカルＣＢ（ネットワークにおけるホームＣＢがユーザ91に対応する）に通知するように構成される。図示されたシナリオでは、認証サーバ92は、ユーザ91がＮＹＣベースのＣＢ（クラスタ化されたＣＢ107及び108として示された）に所属することを、ローカルＣＢ105又は106に通知する。次いで、ローカルのロンドンベースＣＢ105又は106は、この情報を使用して、ホームＣＢ107のアドレスと共に、ユーザ91をホームＣＢ107又は108にリダイレクトする（トランスペアレントプロキシとして動作することによって、又は、リダイレクト命令をクライアントデバイス91に送信することによって）。
【００４５】
その後、通常は、上記したように、ホームＣＢ107又は108が、ＮＹＣベースのデータベース89bからユーザ91のシンクライアントリモートデスクトップソフトウェアに、ユーザのセッションセットアップデータを返すように、セッションセットアップが発生する。好ましくは、リダイレタ93の形態でグローバルＣＢを常に使用することによって、ユーザは、リモートユーザデバイスに関する設定を変更する必要性を回避する。
【００４６】
ユーザインターフェースの他の有用で追加的な態様及び特徴は、本発明の意図された範囲から逸脱することなく、本発明の方法及び装置の範囲に含まれる。特に、本発明は、監視及び報告特徴を含んでもよく、したがって、ユーザには、ＲＤＣセッションのリアルタイム監視、及び、電子メール又はＳＮＭＰ（simple network management protocol）を介した報告が提供される。このように、本発明は、ホストされたデスクトップの状態を考慮するので、より高信頼の監視ソリューションを提供する。さらに、本発明は、ユーザが、体系を変更することなく、Active Directory（登録商標）又はＬＤＡＰサーバを使用して、認証及びプロファイルを行うことができるように、外部認証を含んでもよく、したがって、ホストされたデスクトップの導入は、既存の認証システムに対する変更に依存しない。さらに、本発明は、ＩＴ管理者が全てのユーザ活動を集中的に管理するために、ユーザ状態が表示され、ユーザ活動がログされ、かつ、ユーザがシステムからログアウトすることができるように、ユーザ活動監視及びロギングを行ってもよい。
【００４７】
本発明の上記した実施例は単に実例を意図している。代替例、変形例、及び、バリエーションは、本発明の範囲を逸脱することなく、当業者によって特定の実施例に対して実施され、本明細書に添付された特許請求の範囲によってのみ定義される。
【符号の説明】
【００４８】
1a  ファットクライアント
1b  ウェブクライアント
1c  シンクライアント
２  ＶＭ（virtual machine：仮想マシン）
2a〜2c  ホストサーバ
３  仮想化管理システム
9a〜9c  データパス
100  ＣＢ（connection broker：接続仲介装置）
【図２Ａ】
2010521761.tif 000003
【図３】
2010521761.tif 000004
【図８Ａ】
2010521761.tif 000005
【図１】
2010521761.tif 000006
【図１Ａ】
2010521761.tif 000007
【図２Ｂ】
2010521761.tif 000008
【図４】
2010521761.tif 000009
【図５】
2010521761.tif 000010
【図５Ａ】
2010521761.tif 000011
【図５Ｂ】
2010521761.tif 000012
【図６】
2010521761.tif 000013
【図７】
2010521761.tif 000014
【図８】
2010521761.tif 000015
【図８Ｂ】
2010521761.tif 000016
【図９】
2010521761.tif 000017
【国際調査報告】
2010521761.tif 000018
2010521761.tif 000019
2010521761.tif 000020