(57)【特許請求の範囲】
【請求項１】
少なくとも、第１のテナンシーセットを伴う第１のデータセンター、及び、第２のテナンシーセットを伴う第２のデータセンターと、
所定のテナントにおけるユーザコンピューティングシステムであって、当該所定のテナントが、前記第１のテナンシーセットと、前記第２のテナンシーセットの、双方に属するものと、
コンピュータが実施する方法のための実行可能な命令を備えるメモリと、
以下の行為、即ち、
前記所定のテナントにおける前記ユーザコンピューティングシステムから、アプリケーション起動エンドポイント接続要求を受信する行為であって、エンドポイントブローカーが、少なくとも、前記第１のデータセンター及び前記第２のデータセンターへのエンドポイント接続を提供するものと、
前記第１のデータセンター、又は、前記第２のセンター、がアクセスされるべきかについての条件を規定する、記憶されたポリシーに応じて、アプリケーション起動エンドポイント接続要求を満足させて、前記エンドポイントブローカーが、前記第１の及び第２のデータセンターの１つを選択する行為と、
前記接続要求内で指定された１つ又は複数のパラメーターに基づいて、前記エンドポイントブローカーが、所定のテナントにおける前記ユーザコンピューティングシステムに関連付けられるエンドポイントを識別し、前記第１のデータセンターと第２のデータセンターのうちの選択された１つにおいて、前記識別されたエンドポイントに対するエンドポイント割り当てにアクセスする行為と、
前記識別されたエンドポイントに対するエンドポイント割り当てを、所定のテナントのユーザコンピューティングシステムに戻す行為であって、当該行為が、前記所定のテナントの前記ユーザコンピューティングシステムを、前記第１の及び第２のデータセンターのうちの前記選択された１つの前記識別されたエンドポイントに関連付けることを促進するものと、
を実行することによって、前記実行可能な命令を実行するときに、エンドポイントブローカーを構築して、前記コンピュータが実施する方法を実行する１つ又は複数のプロセッサと、
を備えるシステム。
【請求項２】
異なるテナンシーセット(tenancy set)を有する複数のデータセンターからのアプリケーション起動エンドポイントを提供するためのコンピュータにより実行される方法であって、
当該コンピュータにより実行される方法が、コンピュータにより実行可能な、前記コンピュータにより実行される方法のための命令を実行する、１つ又は複数のプロセッサによって実行され、前記方法が、
エンドポイントブローカーにおいて、所定のテナントにおけるユーザコンピューティングシステムから、アプリケーション起動エンドポイント接続要求を受信するステップであって、当該エンドポイントブローカーが、少なくとも、第１のテナンシーセットに第１のデータセンターへのエンドポイント接続を提供し、第２のテナンシーセットに第２のデータセンターへのエンドポイント接続を提供し、前記所定のテナントが、前記第１のテナンシーセットと、前記第２のテナンシーセットの双方に属するものと、
前記第１のデータセンター、又は、前記第２のセンター、がアクセスされるべきかについての条件を規定する、記憶されたポリシーに応じて、アプリケーション起動エンドポイント接続要求を満足させて、前記エンドポイントブローカーが、前記第１の及び第２のデータセンターの１つを選択するステップと、
前記接続要求内で指定された１つ又は複数のパラメーターに基づいて、前記エンドポイントブローカーが、所定のテナントにおける前記ユーザコンピューティングシステムに関連付けられるエンドポイントを識別し、前記第１のデータセンターと第２のデータセンターのうちの選択された１つにおいて、前記識別されたエンドポイントに対するエンドポイント割り当てにアクセスするステップと、
前記識別されたエンドポイントに対するエンドポイント割り当てを、所定のテナントのユーザコンピューティングシステムに戻すステップと、
前記所定のテナントの前記ユーザコンピューティングシステムを、前記第１の及び第２のデータセンターのうちの前記選択された１つの前記識別されたエンドポイントに関連付けるステップと、
を含む、コンピュータにより実行される方法。
【請求項３】
前記エンドポイントブローカーが、前記第１の及び第２のデータセンターの１つを選択することが、前記第１の及び第２のデータセンターの少なくとも１つの現在の状態を考慮することにも基づく、請求項２に記載の、コンピュータにより実行される方法。
【請求項４】
所定のテナントにおける、前記ユーザコンピューティングシステムに関連付けられるべき、エンドポイントを識別する前記エンドポイントブローカーが、前記第１の及び第２のデータセンターうちの選択された１つにおいて、エンドポイント割り当てエージェントにアクセスすることによって実行される、請求項３に記載の、コンピュータにより実行される方法。
【請求項５】
要求の中で指定された１つ又は複数のパラメーターが、アプリケーション識別子、エンドポイントタイプ、及び、ハードウェア構成、のうちの少なくとも１つを含む、請求項３に記載の、コンピュータにより実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、異なるテナンシーセットのエンドポイントデーターセンターに関する。
【背景技術】
【０００２】
[0001]デスクトップは、他のアプリケーションを起動するために使用され得るプラットフォームである。リモートデスクトップ環境では、デスクトッププラットフォームは、デスクトップを表示しているクライアントマシンと比較されるとリモートの場所で提供される。このコンテキストではリモートデスクトッププラットフォームは、アプリケーション起動エンドポイントとみなされ得るものであり、その理由は、クライアントはこのエンドポイントに、デスクトッププラットフォームにより提供されるアプリケーション起動能力を取り込むために接続するからというものである。
【０００３】
[0002]アプリケーション起動エンドポイントの例は、仮想マシンである。仮想マシンは、デスクトップ論理をリモートでランさせるが、レンダリング命令をローカルクライアントマシンに提供する。ユーザーは、クライアントマシンと対話して、仮想マシンのコンテキストでランすることになるアプリケーションを起動し得る。アプリケーション起動エンドポイントの別の例は、セッション管理サーバー（さらには、ターミナルサーバーと呼ばれる）により管理されるセッションである。
【０００４】
[0003]従来ではアプリケーション起動エンドポイントは、「プライベートクラウド」内で展開され、そのことは、アプリケーション起動エンドポイントをサポートするデーターセンターが、エンドポイントがサービングするユーザーに対応するエンタープライズの内部で管理および維持されるということを意味する。より最近では、アプリケーション起動エンドポイントは、データーセンター内の「パブリッククラウド」内で展開されてきており、それらのデーターセンターは、複数のテナントをサポートし、ことによると、データーセンターがサポートするテナントからリモートで設けられ得るものである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願発明の一実施例は、例えば、異なるテナンシーセットのエンドポイントデーターセンターに関する。
【課題を解決するための手段】
【０００６】
[0004]本明細書で説明される少なくとも一部の実施形態は、異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するためのエンドポイントブローカーの使用に関係するものである。ユーザーに対するアプリケーション起動エンドポイント接続に対する要求にアクセスする際に、ブローカーは、複数のデーターセンターの中から、要求の満足のためとしてエンドポイントを提供するためのものであるデーターセンターを選択する。複数のデーターセンターは、異なるテナンシーセットを有するデーターセンターを含み得る。単に例として、データーセンターは、エンタープライズの内部のエンティティーのみにサービングする、したがって単一のテナントを有するプライベートクラウドを表すエンタープライズデーターセンターを含み得る。データーセンターは、パブリックデーターセンターを含み得るものであり、そのパブリックデーターセンターは、ネットワークを介してパブリックデーターセンターに接続し得る、したがって可能性として大きな数のテナントさえも表す、多種多様の可能性のあるテナントの任意のものにサービングするパブリッククラウドを表すものである。データーセンターはさらには、ホスト（ｈｏｓｔｅｒ）データーセンターを含み得るものであり、そのホストデーターセンターは、複数のテナントにサービングするが、サービングされるテナントのサイズおよび数に関して、パブリックデーターセンターより制約されるものである。
【０００７】
[0005]エンドポイントブローカーは、エンドポイントを、選択されるデーターセンターから識別し、次いで、識別されるエンドポイントをユーザーに関連付ける。ユーザーは次いで、関連付けを使用して、識別されるエンドポイントへのアクセスを提供される。したがってユーザーは、単一のデーターセンターからのエンドポイントを有することに制約されない。１つのデーターセンターからのエンドポイントを提供することに関して懸念が存在するならば、エンドポイントは、別のデーターセンターから、ユーザーに意識されない様式で提供され得る。このことによって、エンタープライズは、エンドポイントがどこから提供されることになるかに関して、よりフレキシブルなポリシーを有することが可能となる。実例として、プライベートクラウドが、エンドポイントを提供するにはあまりにもビジーであるならば、パブリッククラウドまたはホストが、エンドポイントを代わりに提供し得る。
【０００８】
[0006]本概要は、請求される主題の主要な特徴または本質的な特徴を識別することは意図されず、本概要は、請求される主題の範囲を決定する一助として使用されることもまた意図されない。
【０００９】
[0007]上記で記載された、および他の、利点および特徴が取り込まれ得る様式を説明するために、各種の実施形態のより詳細な説明が、添付される図面を参照することにより与えられることになる。これらの図面は、単なる見本の実施形態を図示するものであり、したがって、本発明の範囲に関して制限的であるとみなされるべきでないということを理解しながら、実施形態が、付随する図面の使用によって、さらなる具体性および詳細を伴って、説明および解説されることになる。
【図面の簡単な説明】
【００１０】
【図１】[0008]本明細書で説明される一部の実施形態が用いられ得るコンピューティングシステムを抽象的に例示する図である。
【図２】[0009]異なるテナンシーセットを各々が有する少なくとも２つのデーターセンターを含む、本明細書で説明される原則が用いられ得るネットワーク環境を例示する図である。
【図３】[0010]異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するための方法のフローチャートを例示する図である。
【図４】[0011]図２の実施形態を表す、ただし、例示される異なるテナンシーセットを有する３つのデーターセンターが存在するネットワーク環境を例示する図である。
【発明を実施するための形態】
【００１１】
[0012]本明細書で説明される少なくとも一部の実施形態は、異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するためのエンドポイントブローカーの使用に関係するものである。異なるテナンシーセットからの複数のデーターセンターの使用によって、任意の所与のテナントは、エンドポイントがどこから提供されるかに関わらず、アプリケーション起動エンドポイントへのよりフレキシブルなアクセスを有することが可能となる。どのデーターセンターからエンドポイントが、任意の所与の接続要求を満足させるために提供されることになるかを決定するために、ポリシーがセットアップされ得る。
【００１２】
[0013]ユーザーに対するアプリケーション起動エンドポイント接続に対する要求にアクセスする際に、ブローカーは、複数のデーターセンターの中から、要求の満足のためとしてエンドポイントを提供するためのものであるデーターセンターを選択する。複数のデーターセンターは、異なるテナンシーセットを有するデーターセンターを含み得る。単に例として、データーセンターは、エンタープライズの内部のエンティティーのみにサービングする、したがって単一のテナントを有するプライベートクラウドを表すエンタープライズデーターセンターを含み得る。データーセンターは、パブリックデーターセンターを含み得るものであり、そのパブリックデーターセンターは、ネットワークを介してパブリックデーターセンターに接続し得る、したがって可能性として大きな数のテナントさえも表す、多種多様の可能性のあるテナントの任意のものにサービングするパブリッククラウドを表すものである。データーセンターはさらには、ホストデーターセンターを含み得るものであり、そのホストデーターセンターは、複数のテナントにサービングするが、サービングされるテナントのサイズおよび数に関して、パブリックデーターセンターより制約されるものである。
【００１３】
[0014]エンドポイントブローカーは、エンドポイントを、選択されるデーターセンターから識別する。このことを行うために、エンドポイントブローカーは、エンドポイントを提供するために選択されたどのデーターセンターとも通信し得る。エンドポイントブローカーは次いで、識別されるエンドポイントをユーザーに関連付ける。ユーザーは次いで、関連付けを使用して、識別されるエンドポイントへのアクセスを提供される。実例として、そのユーザーからの将来の通信は、エンドポイントブローカーにより、関連付けられるエンドポイントに提供され得る。したがってユーザーは、単一のデーターセンターからのエンドポイントを有することに制約されない。１つのデーターセンターからのエンドポイントを提供することに関して懸念が存在するならば、エンドポイントは、別のデーターセンターから、ユーザーに意識されない様式で提供され得る。このことによって、エンタープライズは、エンドポイントがどこから提供されることになるかに関して、よりフレキシブルなポリシーを有することが可能となる。実例として、プライベートクラウドが、エンドポイントを提供するにはあまりにもビジーであるならば、パブリッククラウドまたはホストが、エンドポイントを代わりに提供し得る。このことはさらには、スケーラブルな、および融通性のあるクラウドの恩恵によって顧客に役立つ。顧客は、そのプライベートクラウドデーターセンター内の最大容量をあらかじめプロビジョニングする必要がなく、ピーク時の必要性に対してはパブリッククラウドに依存することが可能である。
【００１４】
[0015]コンピューティングシステムの一部の序説の論考が、図１に関して説明されることになる。次いで、エンドポイントを提供するための異なるテナンシーセットの複数のデーターセンターの使用が、図２から４に関して説明されることになる。
【００１５】
[0016]コンピューティングシステムは今や、ますます多種多様のフォームをとりつつある。コンピューティングシステムは例えば、ハンドヘルドデバイス、アプライアンス、ラップトップコンピューター、デスクトップコンピューター、メインフレーム、分散コンピューティングシステム、またはさらには、従来ではコンピューティングシステムとみなされていなかったデバイスであり得る。本説明では、および、特許請求の範囲では、用語「コンピューティングシステム」は、少なくとも１つの物理的な、および有形のプロセッサーと、プロセッサーにより実行され得るコンピューター実行可能命令を有する能力がある物理的な、および有形のメモリーとを含む、任意のデバイスまたはシステム（または、それらの組み合わせ）を含むものとして幅広く定義される。メモリーは、任意のフォームをとり得るものであり、コンピューティングシステムの特質およびフォームに依存し得る。コンピューティングシステムは、ネットワーク環境を介して分散され得るものであり、複数の構成要素コンピューティングシステムを含み得る。
【００１６】
[0017]図１に例示されるように、その最も基本的な構成では、コンピューティングシステム１００は典型的には、少なくとも１つの処理装置１０２とメモリー１０４とを含む。メモリー１０４は、揮発性、非揮発性、または、その２つの何らかの組み合わせであり得る物理システムメモリーであり得る。用語「メモリー」はさらには、本明細書では、物理記憶メディアなどの非揮発性大容量記憶装置を指すために使用され得る。コンピューティングシステムが分散されるならば、処理、メモリー、および／または、記憶能力もまた分散され得る。本明細書で使用される際は、用語「実行可能モジュール」または「実行可能コンポーネント」は、コンピューティングシステム上で実行され得る、ソフトウェアーオブジェクト、ルーチン、または、メソッドを指し得る。本明細書で説明される異なるコンポーネント、モジュール、エンジン、および、サービスは、コンピューティングシステム上で（例えば、別個のスレッドとして）実行する、オブジェクトまたはプロセスとして実装され得る。
【００１７】
[0018]後に続く説明では、実施形態が、１つまたは複数のコンピューティングシステムにより遂行される行為を参照して説明される。そのような行為がソフトウェアーで実装される場合、行為を遂行する関連付けられたコンピューティングシステムの１つまたは複数のプロセッサーは、コンピューター実行可能命令を実行したことに応じて、コンピューティングシステムの動作を指図する。例えばそのようなコンピューター実行可能命令は、コンピュータープログラム製品を形成する１つまたは複数のコンピューター可読メディア上で実施され得る。そのような動作の例は、データーの操作を必然的に含む。コンピューター実行可能命令（および、操作されるデーター）は、コンピューティングシステム１００のメモリー１０４にストアーされ得る。コンピューティングシステム１００はさらには、通信チャネル１０８を内包し得るものであり、その通信チャネル１０８によって、コンピューティングシステム１００は、例えばネットワーク１１０を介して、他のメッセージプロセッサーと通信することが可能となる。
【００１８】
[0019]本明細書で説明される実施形態は、例えば、下記でより詳細に論考されるような、１つまたは複数のプロセッサーおよびシステムメモリーなどの、コンピューターハードウェアーを含む、専用または汎用コンピューターを、含み得る、または利用し得る。本明細書で説明される実施形態は、さらには、コンピューター実行可能命令および／またはデーター構造を、搬送またはストアーするための、物理的な、および他のコンピューター可読メディアを含む。そのようなコンピューター可読メディアは、汎用または専用コンピューターシステムによりアクセスされ得る任意の利用可能なメディアであり得る。コンピューター実行可能命令をストアーするコンピューター可読メディアは、物理記憶メディアである。コンピューター実行可能命令を搬送するコンピューター可読メディアは、伝送メディアである。したがって例として、および、制限としてではなく、本発明の実施形態は、少なくとも２つの明確に異なる種類のコンピューター可読メディア、すなわち、コンピューター記憶メディアおよび伝送メディアを含み得る。
【００１９】
[0020]コンピューター記憶メディアは、所望されるプログラムコード手段を、コンピューター実行可能命令またはデーター構造のフォームでストアーするために使用され得る、および、汎用または専用コンピューターによりアクセスされ得る、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、任意の他の有形メディアを含む。
【００２０】
[0021]「ネットワーク」は、コンピューターシステム、および／または、モジュール、および／または、他の電子デバイスの間での電子データーのトランスポートを可能にする、１つまたは複数のデーターリンクとして定義される。情報が、ネットワークまたは別の通信接続（ハードワイヤード、ワイヤーレス、または、ハードワイヤードもしくはワイヤーレスの組み合わせのいずれか）を介して、コンピューターに転送または提供されるとき、コンピューターは、当然のことながら、その接続を伝送メディアとみなす。伝送メディアは、所望されるプログラムコード手段を、コンピューター実行可能命令またはデーター構造のフォームで搬送するために使用され得る、および、汎用または専用コンピューターによりアクセスされ得る、ネットワークおよび／またはデーターリンクを含み得る。上記の組み合わせもまた、コンピューター可読メディアの範囲内に含まれるべきである。
【００２１】
[0022]さらに、各種のコンピューターシステムコンポーネントに到達する際に、コンピューター実行可能命令またはデーター構造のフォームでのプログラムコード手段は、自動的に、伝送メディアからコンピューター記憶メディアに（またはその逆に）転送され得る。例えば、ネットワークまたはデーターリンクを介して受信される、コンピューター実行可能命令またはデーター構造は、ネットワークインターフェイスモジュール（例えば、「ＮＩＣ」）の内部のＲＡＭでバッファー処理され、次いで最終的には、コンピューターシステムＲＡＭに、および／または、コンピューターシステムでのより揮発性でないコンピューター記憶メディアに転送され得る。したがって、コンピューター記憶メディアが、伝送メディアをもまた（またはさらには、主として）利用するコンピューターシステムコンポーネントに含まれ得るということが理解されるべきである。
【００２２】
[0023]コンピューター実行可能命令は例えば、プロセッサーで実行されるときに、汎用コンピューター、専用コンピューター、または、専用処理デバイスに、ある決まった機能または機能のグループを遂行させる、命令およびデーターを含む。コンピューター実行可能命令は例えば、バイナリー、アセンブリー言語などの中間フォーマット命令、またはさらには、ソースコードであり得る。主題は、構造的特徴および／または方法論的行為に特有の文言で説明されているが、添付される特許請求の範囲で定義される主題は、必ずしも、説明される特徴、または、上記で説明された行為に制限されないということが理解されるべきである。むしろ、説明される特徴および行為は、特許請求の範囲を実装することの例のフォームとして開示されるものである。
【００２３】
[0024]当業者であれば、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージプロセッサー、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースの、またはプログラミング可能な消費者向け電気機器、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、携帯電話、ＰＤＡ、ポケットベル、ルーター、スイッチ、および類するものを含む、多くのタイプのコンピューターシステム構成によってネットワークコンピューティング環境で本発明が実践され得るということを認識するであろう。本発明はさらには、分散システム環境で実践され得るものであり、その場合、ネットワークを介して（ハードワイヤードデーターリンク、ワイヤーレスデーターリンクによって、または、ハードワイヤードデーターリンクおよびワイヤーレスデーターリンクの組み合わせによってのいずれかで）リンクされる、ローカルおよびリモートのコンピューターシステムが、両方ともタスクを遂行する。分散システム環境ではプログラムモジュールは、ローカルおよびリモートの両方のメモリー記憶デバイスに設けられ得る。
【００２４】
[0025]図２は、本明細書で説明される原則が用いられ得るネットワーク環境２００を例示する。環境２００は、少なくとも２つのデーターセンター２１０および２２０を含むが、省略符号２３０は、さらには、例示される、２つもの少ないデーターセンター（そのケースでは、データーセンター２１０および２２０のみが存在することになる）から、４つ以上のデーターセンターを含めて、他の数のデーターセンターが存在し得るということを表す。
【００２５】
[0026]各々のデーターセンターは、異なるテナントセットにサービングするが、共通して少なくとも１つのテナントを有する。実例としてデーターセンター２１０は、対応するテナントセット２１１に関連付けられ、データーセンター２２０は、対応するテナントセット２２１を有する。各々のテナントセットは、１つまたは複数のテナントを含み、対応するデーターセンターは、それらのテナントにサービングするように構成される。本説明では、および、特許請求の範囲では、「テナント」は、１人または複数のユーザーの任意のコレクションとして定義され、その場合、ユーザーのコレクションの関連付けられるデーターは、他のテナントから分離された状態で保持される。プライベートクラウドのケースでは、プライベートデーターセンターまたはオンプレミスデーターセンターが、エンタープライズにより、エンタープライズのユーザーにサービングするという唯一の目的で確立される。分離は、オンプレミスのデーターの物理的な存在、および、外部アクセスに対してガードする保護により保証される。パブリッククラウドのケースでは、パブリックデーターセンターは、顧客によりネットワークを介してアクセスされ得る。パブリックデーターセンターのケースでは、テナントは典型的には顧客に対応し、その顧客は、エンタープライズのケースではユーザーのより大きなコレクションであり得るものであり、または、単一のユーザーと同じほど小さい場合さえある。パブリッククラウドは、テナントの全体でテナントデーターを混ぜ合わせることに対してガードする分離保護を含む。ホストのケースでは、対応するホストデーターセンターは典型的には、パブリックデーターセンターより小さく、パブリックデーターセンターより少ない数のテナントにサービングする。
【００２６】
[0027]実例として、データーセンター２１０のテナントセット２１１はテナントＡを含み、そのことは、データーセンター２１０がテナントＡのユーザーにサービングするということを記号的に表す。実例として、データーセンター２１０はプライベートデーターセンターであり得る。データーセンター２２０のテナントセット２２１は、テナントＡ、Ｂ、Ｃ、および、Ｄを含み、そのことは、データーセンター２２０が、テナントＡ、Ｂ、Ｃ、および、Ｄのユーザーにサービングし、それぞれのテナントデーターを、他のテナントから分離された状態で保持するということを記号的に表す。実例としてデーターセンター２２０は、パブリックデーターセンター、または、ことによるとホストデーターセンターであり得る。
【００２７】
[0028]第１のデーターセンター２１０のテナントセット２１１内のテナントの少なくとも１つは、第２のデーターセンター２２０のテナントセット２２１内のテナントと共通する。実例としてテナントＡは、テナントセット２１１内に、および、データーセンター２２１内にある。実例としてデーターセンター２１０は、テナントＡのプライベートデーターセンターであり得るものであり、一方で、テナントＡはさらには、データーセンター２２０の顧客である。
【００２８】
[0029]第１のデーターセンター２１１のテナントセット２１１は、省略符号２１２を含むように例示され、そのことは、第１のデーターセンター２１０が、一部の例では２つ以上のテナントにサービングし得るということを記号的に表す。さらには、第２のデーターセンター２２１のテナントセット２２１は、省略符号２２２を含むように例示され、そのことは、第２のデーターセンター２２０が、他の数のテナントにサービングし得るということを記号的に表す。しかしながら、第１のデーターセンター２１０の処理パワーは、第２のデーターセンター２２０のそれより少なく、そのことは典型的には、第１のテナントセット２１１が、第２のテナントセット２２１より少ないテナントを有するということを意味する。例として第１のデーターセンター２１０は、テナントＡのプライベートデーターセンターであり得るものであり、一方で、第２のデーターセンター２２０は、テナントＡを含むいくつかのテナントにサービングするホストデーターセンターであり得る。別の例として第１のデーターセンター２１０は、テナントＡのホストデーターセンターであり得るものであり、一方で、第２のデーターセンター２２０は、テナントＡを含む多くのテナントにサービングするパブリックデーターセンターであり得る。
【００２９】
[0030]環境２００はさらには、エンドポイントブローカー２４０を含む。エンドポイントブローカー２４０は、第１のデーターセンター２１０の内部で、第２のデーターセンター２２０の内部で、別のデーターセンター２３０の内部で、または、任意のデーターセンターの外側で動作させられ得る。エンドポイントブローカーは、ハードウェアー、ソフトウェアー、または、ハードウェアーおよびソフトウェアーの組み合わせを使用して実装され得る。エンドポイントブローカーは、コンピューティングシステム（コンピューティングシステム１００など）の１つまたは複数のプロセッサー（プロセッサー１０２など）が、１つまたは複数のコンピューター可読メディア上で実施される、１つまたは複数のコンピューター実行可能命令を実行することに応じて、（本明細書で説明されるように）インスタンスを作成され得る、および／または、動作させられ得る。そのような１つまたは複数のコンピューター可読メディアは、コンピュータープログラム製品のすべてまたは部分に対するものであり得る。
【００３０】
[0031]図３は、異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するための方法３００のフローチャートを例示する。方法３００は、通信を受信する際に開始される（イベント３０１）。方法３００は、図２のエンドポイント２４０により遂行され得るものであり、したがって方法３００は、以後本明細書では、図２および３の両方を頻繁に参照して説明されることになる。
【００３１】
[0032]前に言及されたように、方法３００は、通信を受信する際に開始される（イベント３０１）。このことは、図２に、通信２５１を受信するエンドポイントブローカー２４０により表される。エンドポイントブローカーは次いで、通信を、データーセンター２１０およびデーターセンター２２０の両方のテナントに属するユーザーに対するアプリケーション起動エンドポイント接続要求であると解釈する（行為３０２）。実例としてユーザーは、テナントＡの１人または複数のユーザーのコレクションに属し得る。
【００３２】
[0033]したがって要求は、エンドポイントブローカーが、エンドポイントをテナントＡのユーザーに提供するためのものであり、そのエンドポイントは、ユーザーが、ユーザーに対する１つまたは複数のアプリケーションを起動するために使用し得るものである。エンドポイントの例は、仮想マシン、または、ターミナルサーバーのセッションである。この様式でエンドポイントブローカー２４０は、ユーザーに対するアプリケーション起動エンドポイント接続要求にアクセスする。要求は、エンドポイントを提供するために使用され得る１つまたは複数のパラメーターを指定し得るものであり、それらのパラメーターは、例えば、アプリケーション識別子、エンドポイントのタイプ（例えば、仮想マシン、または、ターミナルサーバーのセッション）、または、エンドポイントのハードウェアー構成（どれだけ多くディスク領域またはメモリーが所望されるかなど）を含む。
【００３３】
[0034]エンドポイントブローカーは次いで、複数のデーターセンターの中から、アプリケーション起動エンドポイント接続要求の満足のためとしてエンドポイントを提供するために、データーセンターを選択する（行為３０３）。実例として、図２ではエンドポイントブローカーは、エンドポイントをユーザーに提供するために、第１のデーターセンター２１０または第２のデーターセンター２２０を選択し得る。どれを使用すべきかに関する判断は、ポリシー２４２、および、現在のステータス２４３に応じて遂行され得る。ユーザーがテナントＡのそれである以上は、エンドポイントブローカーは、２つのデーターセンター２１０および２２０から選択し得る。ユーザーが別のテナントのものであるならば、可能なデーターセンターに対する他のオプションが利用可能であり得る。
【００３４】
[0035]ポリシー２４２は、テナントＡに対して、第１のデーターセンター２１０のステータス２４３が、稼働率のある決まったパーセンテージより少ないならば、第１のデーターセンター２１０が、エンドポイントをユーザーに提供するために使用されることになり、さもなければ、第２のデーターセンター２２０が、エンドポイントをユーザーに提供するために使用され得るということを指定し得る。したがって、データーセンター２１０がプライベートデーターセンターであるケースでは、テナントＡは、プライベートデーターセンターをセットアップし得る。プライベートデーターセンターを、エンドポイントに対するピークロードに対処するために最大限にスケールアップするのではなく。テナントＡは代わりに、データーセンター２２０のプロバイダー（例えば、ホストまたはパブリッククラウドプロバイダー）と、オーバーフローに対処するための契約を結ぶことが可能である。他のポリシーが使用される場合もある。実例として、ことによるとユーザーはすでに、ユーザーが使用し続けることを欲する個別のデーターセンター内のエンドポイントに関連付けられる何らかの状態を有している。そのケースでは、その状態を伴うデーターセンターが、エンドポイントを提供するために使用され得る。
【００３５】
[0036]エンドポイントブローカー２４０は次いで、選択されるデーターセンターから、ユーザーに関連付けられることになるエンドポイントを識別する（行為３０４）。そのように行うために、エンドポイントブローカー２４０は、選択されるデーターセンター内のエンドポイント割り当てエージェントと通信し得る。実例として、エンドポイントブローカー２４０が第１のデーターセンター２１０を選択するならば、エンドポイントブローカー２４０は、矢印２６１により表されるように、第１のデーターセンター２１０内のエンドポイント割り当てエージェント２１３と通信し得る。エンドポイントブローカー２４０が第２のデーターセンター２２０を選択するならば、エンドポイントブローカー２４０は、矢印２６２により表されるように、第２のデーターセンター２２０内のエンドポイント割り当てエージェント２２３と通信し得る。エンドポイントブローカー２４０がデーターセンターの内部で動作する場合、ことによるとエンドポイントブローカー２４０は、さらには、そのデーターセンターに対するエンドポイント割り当てエージェントとして働く場合がある。
【００３６】
[0037]エンドポイント割り当てエージェントは次いで、ユーザーに対するエンドポイントを選択する。エンドポイントに対して選定されるパラメーターは、元の要求で指定されるパラメーターに応じて、および／または、ポリシー２４２に応じて選択され得る。エンドポイントブローカーは次いで、ユーザーに関連付けられることになるエンドポイントを識別し（行為３０５）、次いで、識別されるエンドポイントをユーザーに関連付ける（行為３０６）。実例としてエンドポイントブローカーは、ルーティング命令を要求者に提供し得るものであり、そのことによってユーザーは後で、そのユーザーのクライアントマシンを使用して、さらなるエンドポイント命令をエンドポイントに直接ルーティングし得る。実例として、そのようなエンドポイントルーティング命令は、インターネットプロトコル（エンドポイントのＩＰアドレス）を含み得る。
【００３７】
[0038]一部の実施形態では、ことによると互いからリモートで設けられていても、第１のデーターセンター２１０、および、第２のデーターセンター２２０、ならびに、可能性として他の１つまたは複数のデーターセンター２３０は、仮想プライベートネットワーク（ＶＰＮ）を介するなどして、共通のアドレス可能ネットワーク内で互いの内部に結合される。したがって、ユーザーに提供されるＩＰアドレスは、エンドポイントが提供されるのが、第１のデーターセンター２１０によるか、第２のデーターセンター２２０によるか、それとも、何らかの他のデーターセンター２３０によるかに関わらず機能することになる。このことによってさらには、割り当てられるエンドポイントに関する構成情報が、より大きなネットワークを介してすべてのデーターセンターにアクセス可能になるということが可能となり得る。実例として共通ストアー２７０が、使用され、ネットワークを介してデーターセンターの各々にアクセス可能にされ得る。
【００３８】
[0039]エンドポイントブローカーは次いで、ユーザーに、識別されるエンドポイントへのアクセスを提供する（行為３０６）。このことは、図２に、矢印２５２によって表される。この関連付けの部分として、ユーザーはさらには、ユーザーの仮想ハードドライブをエンドポイントに関連付ける場合がある。実例としてネットワーク環境２００は、ユーザー仮想ハードドライブ２８０のセットを含む。選択されるユーザーに対するユーザー仮想ハードドライブは、エンドポイント、および、そのエンドポイントにより起動される任意のアプリケーションに利用可能であるように関連付けられ得る。ユーザー仮想ハードドライブを関連付けるための１つのアプローチでは、ユーザー仮想ハードドライブは、ユーザーとともに、ログオンされるエンドポイントに「ローミング」し得る。例えばユーザー仮想ハードドライブは、ユーザーが最初にプライベートクラウドエンドポイントに、次いでパブリッククラウドエンドポイントにログオンするならば、プライベートクラウドからパブリッククラウドにコピーされ得る。第２のアプローチでは、ユーザー仮想ハードドライブは、システムにより、複数のデーターセンターの全体で、頻繁な間隔で（ことによると毎分）自動的に複製され得るものであり、そのため、ユーザーがついには最終的にログオンする場合はいつも、ユーザーは自分の最新ドキュメントを得ることになる。
【００３９】
[0040]省略符号２４１が、ランするエンドポイントブローカーの複数のインスタンスが存在し得るということを表すために、図２で与えられる。実例として、第１のデーターセンター２１０でランするエンドポイントブローカーの１つまたは複数のインスタンス、および、第２のデーターセンター２２０でランするエンドポイントブローカーの１つまたは複数のインスタンスが存在し得る。ロードバランサーが、すべてのエンドポイント接続要求を任意のユーザーから受信し、それらの要求を、何らかのポリシーによって、選択されるエンドポイントブローカーに分散させるために、アップストリームに配置され得る。
【００４０】
[0041]図４は、今度は第３のデーターセンター４３０が例示されるということを除いて、図２のネットワーク環境２００と同様であるネットワーク環境４００を例示する。第３のデーターセンター４３０は、第１のデーターセンター２１０と、第２のデーターセンター２２０との間であるスケールのものである。実例として、第３のデーターセンター４３０のテナントセット４３１は、（省略符号４３２により表されるような他のものとともに）２つのテナントＡおよびＢをまさに含む。したがって、エンドポイントブローカー２４０が、テナントＡに関連付けられる接続要求を受信するとき、ブローカー２４０は、エンドポイントをユーザーに提供するために、３つのエンドポイントブローカーの中で選定し得る。例として図４では、データーセンター２１０はプライベートデーターセンターであり得るものであり、データーセンター４３０はホストであり得るものであり、データーセンター２２０はパブリックデーターセンターであり得る。
【００４１】
[0042]本明細書で説明される原則は、階層的に構造化され得るということにもまた留意されたい。実例として図２では、データーセンター２２０はさらに、複数のデーターセンターを含むネットワーク環境であり得る。そのケースでは、（矢印２６２により表されるような）通信の開始は、エンドポイントに対する要求と同じようにエンドポイント割り当てエージェント２２３により処置され得るものであり（イベント３０１）、そのことにより、エージェント２２３が、エンドポイントブローカー２４０に対して説明されたように働くことをトリガーすることを、その構成要素データーセンターの１つに、ユーザーに対するエンドポイントを生成させる際に行う。
【００４２】
[0043]したがって本明細書で説明される原則は、エンドポイントのハイブリッドクラウド展開を可能にするものであり、そのことにより、テナントのユーザーに、アプリケーションを起動するために使用され得るエンドポイントを提供するための、よりフレキシブルなデザインを考えに入れたものである。
【００４３】
[0044]本発明は、その趣旨または本質的な特性から逸脱することなく、他の特定のフォームで実施され得る。説明された実施形態は、すべての点で、単に例示的であり、制約的ではないとみなされるべきである。したがって本発明の範囲は、前述の説明によってではなく、添付される特許請求の範囲により指示される。特許請求の範囲の均等の意味および範囲の範囲内にあるすべての変更は、その特許請求の範囲の範囲内に包含されることになる。
【図１】
0006395825.tif 000002
【図２】
0006395825.tif 000003
【図３】
0006395825.tif 000004
【図４】
0006395825.tif 000005