特許第6395825号(P6395825)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許6395825異なるテナンシーセットのエンドポイントデーターセンター
<>
  • 特許6395825-異なるテナンシーセットのエンドポイントデーターセンター 図000002
  • 特許6395825-異なるテナンシーセットのエンドポイントデーターセンター 図000003
  • 特許6395825-異なるテナンシーセットのエンドポイントデーターセンター 図000004
  • 特許6395825-異なるテナンシーセットのエンドポイントデーターセンター 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6395825
(24)【登録日】2018年9月7日
(45)【発行日】2018年9月26日
(54)【発明の名称】異なるテナンシーセットのエンドポイントデーターセンター
(51)【国際特許分類】
   G06F 9/50 20060101AFI20180913BHJP
   G06F 9/455 20060101ALI20180913BHJP
【FI】
   G06F9/50 150A
   G06F9/455 150
【請求項の数】5
【全頁数】14
(21)【出願番号】特願2016-523898(P2016-523898)
(86)(22)【出願日】2014年6月25日
(65)【公表番号】特表2016-526732(P2016-526732A)
(43)【公表日】2016年9月5日
(86)【国際出願番号】US2014044157
(87)【国際公開番号】WO2014210202
(87)【国際公開日】20141231
【審査請求日】2017年6月8日
(31)【優先権主張番号】13/929,456
(32)【優先日】2013年6月27日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100119781
【弁理士】
【氏名又は名称】中村 彰吾
(72)【発明者】
【氏名】サンパス,スリラム
(72)【発明者】
【氏名】スコット,トリスタン・ウィリアム
(72)【発明者】
【氏名】ベンシャチャル,イド・マイルズ
(72)【発明者】
【氏名】エルドガン,エルセヴ・サミム
(72)【発明者】
【氏名】アガルワラ,ニラージ
【審査官】 小林 哲雄
(56)【参考文献】
【文献】 国際公開第2014/164076(WO,A1)
【文献】 特表2013−518330(JP,A)
【文献】 特開2013−015986(JP,A)
【文献】 特開2011−018167(JP,A)
【文献】 米国特許出願公開第2012/0131664(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/46−9/54
G06F 9/455
(57)【特許請求の範囲】
【請求項1】
少なくとも、第1のテナンシーセットを伴う第1のデータセンター、及び、第2のテナンシーセットを伴う第2のデータセンターと、
所定のテナントにおけるユーザコンピューティングシステムであって、当該所定のテナントが、前記第1のテナンシーセットと、前記第2のテナンシーセットの、双方に属するものと、
コンピュータが実施する方法のための実行可能な命令を備えるメモリと、
以下の行為、即ち、
前記所定のテナントにおける前記ユーザコンピューティングシステムから、アプリケーション起動エンドポイント接続要求を受信する行為であって、エンドポイントブローカーが、少なくとも、前記第1のデータセンター及び前記第2のデータセンターへのエンドポイント接続を提供するものと、
前記第1のデータセンター、又は、前記第2のセンター、がアクセスされるべきかについての条件を規定する、記憶されたポリシーに応じて、アプリケーション起動エンドポイント接続要求を満足させて、前記エンドポイントブローカーが、前記第1の及び第2のデータセンターの1つを選択する行為と、
前記接続要求内で指定された1つ又は複数のパラメーターに基づいて、前記エンドポイントブローカーが、所定のテナントにおける前記ユーザコンピューティングシステムに関連付けられるエンドポイントを識別し、前記第1のデータセンターと第2のデータセンターのうちの選択された1つにおいて、前記識別されたエンドポイントに対するエンドポイント割り当てにアクセスする行為と、
前記識別されたエンドポイントに対するエンドポイント割り当てを、所定のテナントのユーザコンピューティングシステムに戻す行為であって、当該行為が、前記所定のテナントの前記ユーザコンピューティングシステムを、前記第1の及び第2のデータセンターのうちの前記選択された1つの前記識別されたエンドポイントに関連付けることを促進するものと、
を実行することによって、前記実行可能な命令を実行するときに、エンドポイントブローカーを構築して、前記コンピュータが実施する方法を実行する1つ又は複数のプロセッサと、
を備えるシステム。
【請求項2】
異なるテナンシーセット(tenancy set)を有する複数のデータセンターからのアプリケーション起動エンドポイントを提供するためのコンピュータにより実行される方法であって、
当該コンピュータにより実行される方法が、コンピュータにより実行可能な、前記コンピュータにより実行される方法のための命令を実行する、1つ又は複数のプロセッサによって実行され、前記方法が、
エンドポイントブローカーにおいて、所定のテナントにおけるユーザコンピューティングシステムから、アプリケーション起動エンドポイント接続要求を受信するステップであって、当該エンドポイントブローカーが、少なくとも、第1のテナンシーセットに第1のデータセンターへのエンドポイント接続を提供し、第2のテナンシーセットに第2のデータセンターへのエンドポイント接続を提供し、前記所定のテナントが、前記第1のテナンシーセットと、前記第2のテナンシーセットの双方に属するものと、
前記第1のデータセンター、又は、前記第2のセンター、がアクセスされるべきかについての条件を規定する、記憶されたポリシーに応じて、アプリケーション起動エンドポイント接続要求を満足させて、前記エンドポイントブローカーが、前記第1の及び第2のデータセンターの1つを選択するステップと、
前記接続要求内で指定された1つ又は複数のパラメーターに基づいて、前記エンドポイントブローカーが、所定のテナントにおける前記ユーザコンピューティングシステムに関連付けられるエンドポイントを識別し、前記第1のデータセンターと第2のデータセンターのうちの選択された1つにおいて、前記識別されたエンドポイントに対するエンドポイント割り当てにアクセスするステップと、
前記識別されたエンドポイントに対するエンドポイント割り当てを、所定のテナントのユーザコンピューティングシステムに戻すステップと、
前記所定のテナントの前記ユーザコンピューティングシステムを、前記第1の及び第2のデータセンターのうちの前記選択された1つの前記識別されたエンドポイントに関連付けるステップと、
を含む、コンピュータにより実行される方法。
【請求項3】
前記エンドポイントブローカーが、前記第1の及び第2のデータセンターの1つを選択することが、前記第1の及び第2のデータセンターの少なくとも1つの現在の状態を考慮することにも基づく、請求項2に記載の、コンピュータにより実行される方法。
【請求項4】
所定のテナントにおける、前記ユーザコンピューティングシステムに関連付けられるべき、エンドポイントを識別する前記エンドポイントブローカーが、前記第1の及び第2のデータセンターうちの選択された1つにおいて、エンドポイント割り当てエージェントにアクセスすることによって実行される、請求項3に記載の、コンピュータにより実行される方法。
【請求項5】
要求の中で指定された1つ又は複数のパラメーターが、アプリケーション識別子、エンドポイントタイプ、及び、ハードウェア構成、のうちの少なくとも1つを含む、請求項3に記載の、コンピュータにより実行される方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願発明の一実施例は、例えば、異なるテナンシーセットのエンドポイントデーターセンターに関する。
【背景技術】
【0002】
[0001]デスクトップは、他のアプリケーションを起動するために使用され得るプラットフォームである。リモートデスクトップ環境では、デスクトッププラットフォームは、デスクトップを表示しているクライアントマシンと比較されるとリモートの場所で提供される。このコンテキストではリモートデスクトッププラットフォームは、アプリケーション起動エンドポイントとみなされ得るものであり、その理由は、クライアントはこのエンドポイントに、デスクトッププラットフォームにより提供されるアプリケーション起動能力を取り込むために接続するからというものである。
【0003】
[0002]アプリケーション起動エンドポイントの例は、仮想マシンである。仮想マシンは、デスクトップ論理をリモートでランさせるが、レンダリング命令をローカルクライアントマシンに提供する。ユーザーは、クライアントマシンと対話して、仮想マシンのコンテキストでランすることになるアプリケーションを起動し得る。アプリケーション起動エンドポイントの別の例は、セッション管理サーバー(さらには、ターミナルサーバーと呼ばれる)により管理されるセッションである。
【0004】
[0003]従来ではアプリケーション起動エンドポイントは、「プライベートクラウド」内で展開され、そのことは、アプリケーション起動エンドポイントをサポートするデーターセンターが、エンドポイントがサービングするユーザーに対応するエンタープライズの内部で管理および維持されるということを意味する。より最近では、アプリケーション起動エンドポイントは、データーセンター内の「パブリッククラウド」内で展開されてきており、それらのデーターセンターは、複数のテナントをサポートし、ことによると、データーセンターがサポートするテナントからリモートで設けられ得るものである。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願発明の一実施例は、例えば、異なるテナンシーセットのエンドポイントデーターセンターに関する。
【課題を解決するための手段】
【0006】
[0004]本明細書で説明される少なくとも一部の実施形態は、異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するためのエンドポイントブローカーの使用に関係するものである。ユーザーに対するアプリケーション起動エンドポイント接続に対する要求にアクセスする際に、ブローカーは、複数のデーターセンターの中から、要求の満足のためとしてエンドポイントを提供するためのものであるデーターセンターを選択する。複数のデーターセンターは、異なるテナンシーセットを有するデーターセンターを含み得る。単に例として、データーセンターは、エンタープライズの内部のエンティティーのみにサービングする、したがって単一のテナントを有するプライベートクラウドを表すエンタープライズデーターセンターを含み得る。データーセンターは、パブリックデーターセンターを含み得るものであり、そのパブリックデーターセンターは、ネットワークを介してパブリックデーターセンターに接続し得る、したがって可能性として大きな数のテナントさえも表す、多種多様の可能性のあるテナントの任意のものにサービングするパブリッククラウドを表すものである。データーセンターはさらには、ホスト(hoster)データーセンターを含み得るものであり、そのホストデーターセンターは、複数のテナントにサービングするが、サービングされるテナントのサイズおよび数に関して、パブリックデーターセンターより制約されるものである。
【0007】
[0005]エンドポイントブローカーは、エンドポイントを、選択されるデーターセンターから識別し、次いで、識別されるエンドポイントをユーザーに関連付ける。ユーザーは次いで、関連付けを使用して、識別されるエンドポイントへのアクセスを提供される。したがってユーザーは、単一のデーターセンターからのエンドポイントを有することに制約されない。1つのデーターセンターからのエンドポイントを提供することに関して懸念が存在するならば、エンドポイントは、別のデーターセンターから、ユーザーに意識されない様式で提供され得る。このことによって、エンタープライズは、エンドポイントがどこから提供されることになるかに関して、よりフレキシブルなポリシーを有することが可能となる。実例として、プライベートクラウドが、エンドポイントを提供するにはあまりにもビジーであるならば、パブリッククラウドまたはホストが、エンドポイントを代わりに提供し得る。
【0008】
[0006]本概要は、請求される主題の主要な特徴または本質的な特徴を識別することは意図されず、本概要は、請求される主題の範囲を決定する一助として使用されることもまた意図されない。
【0009】
[0007]上記で記載された、および他の、利点および特徴が取り込まれ得る様式を説明するために、各種の実施形態のより詳細な説明が、添付される図面を参照することにより与えられることになる。これらの図面は、単なる見本の実施形態を図示するものであり、したがって、本発明の範囲に関して制限的であるとみなされるべきでないということを理解しながら、実施形態が、付随する図面の使用によって、さらなる具体性および詳細を伴って、説明および解説されることになる。
【図面の簡単な説明】
【0010】
図1】[0008]本明細書で説明される一部の実施形態が用いられ得るコンピューティングシステムを抽象的に例示する図である。
図2】[0009]異なるテナンシーセットを各々が有する少なくとも2つのデーターセンターを含む、本明細書で説明される原則が用いられ得るネットワーク環境を例示する図である。
図3】[0010]異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するための方法のフローチャートを例示する図である。
図4】[0011]図2の実施形態を表す、ただし、例示される異なるテナンシーセットを有する3つのデーターセンターが存在するネットワーク環境を例示する図である。
【発明を実施するための形態】
【0011】
[0012]本明細書で説明される少なくとも一部の実施形態は、異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するためのエンドポイントブローカーの使用に関係するものである。異なるテナンシーセットからの複数のデーターセンターの使用によって、任意の所与のテナントは、エンドポイントがどこから提供されるかに関わらず、アプリケーション起動エンドポイントへのよりフレキシブルなアクセスを有することが可能となる。どのデーターセンターからエンドポイントが、任意の所与の接続要求を満足させるために提供されることになるかを決定するために、ポリシーがセットアップされ得る。
【0012】
[0013]ユーザーに対するアプリケーション起動エンドポイント接続に対する要求にアクセスする際に、ブローカーは、複数のデーターセンターの中から、要求の満足のためとしてエンドポイントを提供するためのものであるデーターセンターを選択する。複数のデーターセンターは、異なるテナンシーセットを有するデーターセンターを含み得る。単に例として、データーセンターは、エンタープライズの内部のエンティティーのみにサービングする、したがって単一のテナントを有するプライベートクラウドを表すエンタープライズデーターセンターを含み得る。データーセンターは、パブリックデーターセンターを含み得るものであり、そのパブリックデーターセンターは、ネットワークを介してパブリックデーターセンターに接続し得る、したがって可能性として大きな数のテナントさえも表す、多種多様の可能性のあるテナントの任意のものにサービングするパブリッククラウドを表すものである。データーセンターはさらには、ホストデーターセンターを含み得るものであり、そのホストデーターセンターは、複数のテナントにサービングするが、サービングされるテナントのサイズおよび数に関して、パブリックデーターセンターより制約されるものである。
【0013】
[0014]エンドポイントブローカーは、エンドポイントを、選択されるデーターセンターから識別する。このことを行うために、エンドポイントブローカーは、エンドポイントを提供するために選択されたどのデーターセンターとも通信し得る。エンドポイントブローカーは次いで、識別されるエンドポイントをユーザーに関連付ける。ユーザーは次いで、関連付けを使用して、識別されるエンドポイントへのアクセスを提供される。実例として、そのユーザーからの将来の通信は、エンドポイントブローカーにより、関連付けられるエンドポイントに提供され得る。したがってユーザーは、単一のデーターセンターからのエンドポイントを有することに制約されない。1つのデーターセンターからのエンドポイントを提供することに関して懸念が存在するならば、エンドポイントは、別のデーターセンターから、ユーザーに意識されない様式で提供され得る。このことによって、エンタープライズは、エンドポイントがどこから提供されることになるかに関して、よりフレキシブルなポリシーを有することが可能となる。実例として、プライベートクラウドが、エンドポイントを提供するにはあまりにもビジーであるならば、パブリッククラウドまたはホストが、エンドポイントを代わりに提供し得る。このことはさらには、スケーラブルな、および融通性のあるクラウドの恩恵によって顧客に役立つ。顧客は、そのプライベートクラウドデーターセンター内の最大容量をあらかじめプロビジョニングする必要がなく、ピーク時の必要性に対してはパブリッククラウドに依存することが可能である。
【0014】
[0015]コンピューティングシステムの一部の序説の論考が、図1に関して説明されることになる。次いで、エンドポイントを提供するための異なるテナンシーセットの複数のデーターセンターの使用が、図2から4に関して説明されることになる。
【0015】
[0016]コンピューティングシステムは今や、ますます多種多様のフォームをとりつつある。コンピューティングシステムは例えば、ハンドヘルドデバイス、アプライアンス、ラップトップコンピューター、デスクトップコンピューター、メインフレーム、分散コンピューティングシステム、またはさらには、従来ではコンピューティングシステムとみなされていなかったデバイスであり得る。本説明では、および、特許請求の範囲では、用語「コンピューティングシステム」は、少なくとも1つの物理的な、および有形のプロセッサーと、プロセッサーにより実行され得るコンピューター実行可能命令を有する能力がある物理的な、および有形のメモリーとを含む、任意のデバイスまたはシステム(または、それらの組み合わせ)を含むものとして幅広く定義される。メモリーは、任意のフォームをとり得るものであり、コンピューティングシステムの特質およびフォームに依存し得る。コンピューティングシステムは、ネットワーク環境を介して分散され得るものであり、複数の構成要素コンピューティングシステムを含み得る。
【0016】
[0017]図1に例示されるように、その最も基本的な構成では、コンピューティングシステム100は典型的には、少なくとも1つの処理装置102とメモリー104とを含む。メモリー104は、揮発性、非揮発性、または、その2つの何らかの組み合わせであり得る物理システムメモリーであり得る。用語「メモリー」はさらには、本明細書では、物理記憶メディアなどの非揮発性大容量記憶装置を指すために使用され得る。コンピューティングシステムが分散されるならば、処理、メモリー、および/または、記憶能力もまた分散され得る。本明細書で使用される際は、用語「実行可能モジュール」または「実行可能コンポーネント」は、コンピューティングシステム上で実行され得る、ソフトウェアーオブジェクト、ルーチン、または、メソッドを指し得る。本明細書で説明される異なるコンポーネント、モジュール、エンジン、および、サービスは、コンピューティングシステム上で(例えば、別個のスレッドとして)実行する、オブジェクトまたはプロセスとして実装され得る。
【0017】
[0018]後に続く説明では、実施形態が、1つまたは複数のコンピューティングシステムにより遂行される行為を参照して説明される。そのような行為がソフトウェアーで実装される場合、行為を遂行する関連付けられたコンピューティングシステムの1つまたは複数のプロセッサーは、コンピューター実行可能命令を実行したことに応じて、コンピューティングシステムの動作を指図する。例えばそのようなコンピューター実行可能命令は、コンピュータープログラム製品を形成する1つまたは複数のコンピューター可読メディア上で実施され得る。そのような動作の例は、データーの操作を必然的に含む。コンピューター実行可能命令(および、操作されるデーター)は、コンピューティングシステム100のメモリー104にストアーされ得る。コンピューティングシステム100はさらには、通信チャネル108を内包し得るものであり、その通信チャネル108によって、コンピューティングシステム100は、例えばネットワーク110を介して、他のメッセージプロセッサーと通信することが可能となる。
【0018】
[0019]本明細書で説明される実施形態は、例えば、下記でより詳細に論考されるような、1つまたは複数のプロセッサーおよびシステムメモリーなどの、コンピューターハードウェアーを含む、専用または汎用コンピューターを、含み得る、または利用し得る。本明細書で説明される実施形態は、さらには、コンピューター実行可能命令および/またはデーター構造を、搬送またはストアーするための、物理的な、および他のコンピューター可読メディアを含む。そのようなコンピューター可読メディアは、汎用または専用コンピューターシステムによりアクセスされ得る任意の利用可能なメディアであり得る。コンピューター実行可能命令をストアーするコンピューター可読メディアは、物理記憶メディアである。コンピューター実行可能命令を搬送するコンピューター可読メディアは、伝送メディアである。したがって例として、および、制限としてではなく、本発明の実施形態は、少なくとも2つの明確に異なる種類のコンピューター可読メディア、すなわち、コンピューター記憶メディアおよび伝送メディアを含み得る。
【0019】
[0020]コンピューター記憶メディアは、所望されるプログラムコード手段を、コンピューター実行可能命令またはデーター構造のフォームでストアーするために使用され得る、および、汎用または専用コンピューターによりアクセスされ得る、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、任意の他の有形メディアを含む。
【0020】
[0021]「ネットワーク」は、コンピューターシステム、および/または、モジュール、および/または、他の電子デバイスの間での電子データーのトランスポートを可能にする、1つまたは複数のデーターリンクとして定義される。情報が、ネットワークまたは別の通信接続(ハードワイヤード、ワイヤーレス、または、ハードワイヤードもしくはワイヤーレスの組み合わせのいずれか)を介して、コンピューターに転送または提供されるとき、コンピューターは、当然のことながら、その接続を伝送メディアとみなす。伝送メディアは、所望されるプログラムコード手段を、コンピューター実行可能命令またはデーター構造のフォームで搬送するために使用され得る、および、汎用または専用コンピューターによりアクセスされ得る、ネットワークおよび/またはデーターリンクを含み得る。上記の組み合わせもまた、コンピューター可読メディアの範囲内に含まれるべきである。
【0021】
[0022]さらに、各種のコンピューターシステムコンポーネントに到達する際に、コンピューター実行可能命令またはデーター構造のフォームでのプログラムコード手段は、自動的に、伝送メディアからコンピューター記憶メディアに(またはその逆に)転送され得る。例えば、ネットワークまたはデーターリンクを介して受信される、コンピューター実行可能命令またはデーター構造は、ネットワークインターフェイスモジュール(例えば、「NIC」)の内部のRAMでバッファー処理され、次いで最終的には、コンピューターシステムRAMに、および/または、コンピューターシステムでのより揮発性でないコンピューター記憶メディアに転送され得る。したがって、コンピューター記憶メディアが、伝送メディアをもまた(またはさらには、主として)利用するコンピューターシステムコンポーネントに含まれ得るということが理解されるべきである。
【0022】
[0023]コンピューター実行可能命令は例えば、プロセッサーで実行されるときに、汎用コンピューター、専用コンピューター、または、専用処理デバイスに、ある決まった機能または機能のグループを遂行させる、命令およびデーターを含む。コンピューター実行可能命令は例えば、バイナリー、アセンブリー言語などの中間フォーマット命令、またはさらには、ソースコードであり得る。主題は、構造的特徴および/または方法論的行為に特有の文言で説明されているが、添付される特許請求の範囲で定義される主題は、必ずしも、説明される特徴、または、上記で説明された行為に制限されないということが理解されるべきである。むしろ、説明される特徴および行為は、特許請求の範囲を実装することの例のフォームとして開示されるものである。
【0023】
[0024]当業者であれば、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージプロセッサー、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースの、またはプログラミング可能な消費者向け電気機器、ネットワークPC、ミニコンピューター、メインフレームコンピューター、携帯電話、PDA、ポケットベル、ルーター、スイッチ、および類するものを含む、多くのタイプのコンピューターシステム構成によってネットワークコンピューティング環境で本発明が実践され得るということを認識するであろう。本発明はさらには、分散システム環境で実践され得るものであり、その場合、ネットワークを介して(ハードワイヤードデーターリンク、ワイヤーレスデーターリンクによって、または、ハードワイヤードデーターリンクおよびワイヤーレスデーターリンクの組み合わせによってのいずれかで)リンクされる、ローカルおよびリモートのコンピューターシステムが、両方ともタスクを遂行する。分散システム環境ではプログラムモジュールは、ローカルおよびリモートの両方のメモリー記憶デバイスに設けられ得る。
【0024】
[0025]図2は、本明細書で説明される原則が用いられ得るネットワーク環境200を例示する。環境200は、少なくとも2つのデーターセンター210および220を含むが、省略符号230は、さらには、例示される、2つもの少ないデーターセンター(そのケースでは、データーセンター210および220のみが存在することになる)から、4つ以上のデーターセンターを含めて、他の数のデーターセンターが存在し得るということを表す。
【0025】
[0026]各々のデーターセンターは、異なるテナントセットにサービングするが、共通して少なくとも1つのテナントを有する。実例としてデーターセンター210は、対応するテナントセット211に関連付けられ、データーセンター220は、対応するテナントセット221を有する。各々のテナントセットは、1つまたは複数のテナントを含み、対応するデーターセンターは、それらのテナントにサービングするように構成される。本説明では、および、特許請求の範囲では、「テナント」は、1人または複数のユーザーの任意のコレクションとして定義され、その場合、ユーザーのコレクションの関連付けられるデーターは、他のテナントから分離された状態で保持される。プライベートクラウドのケースでは、プライベートデーターセンターまたはオンプレミスデーターセンターが、エンタープライズにより、エンタープライズのユーザーにサービングするという唯一の目的で確立される。分離は、オンプレミスのデーターの物理的な存在、および、外部アクセスに対してガードする保護により保証される。パブリッククラウドのケースでは、パブリックデーターセンターは、顧客によりネットワークを介してアクセスされ得る。パブリックデーターセンターのケースでは、テナントは典型的には顧客に対応し、その顧客は、エンタープライズのケースではユーザーのより大きなコレクションであり得るものであり、または、単一のユーザーと同じほど小さい場合さえある。パブリッククラウドは、テナントの全体でテナントデーターを混ぜ合わせることに対してガードする分離保護を含む。ホストのケースでは、対応するホストデーターセンターは典型的には、パブリックデーターセンターより小さく、パブリックデーターセンターより少ない数のテナントにサービングする。
【0026】
[0027]実例として、データーセンター210のテナントセット211はテナントAを含み、そのことは、データーセンター210がテナントAのユーザーにサービングするということを記号的に表す。実例として、データーセンター210はプライベートデーターセンターであり得る。データーセンター220のテナントセット221は、テナントA、B、C、および、Dを含み、そのことは、データーセンター220が、テナントA、B、C、および、Dのユーザーにサービングし、それぞれのテナントデーターを、他のテナントから分離された状態で保持するということを記号的に表す。実例としてデーターセンター220は、パブリックデーターセンター、または、ことによるとホストデーターセンターであり得る。
【0027】
[0028]第1のデーターセンター210のテナントセット211内のテナントの少なくとも1つは、第2のデーターセンター220のテナントセット221内のテナントと共通する。実例としてテナントAは、テナントセット211内に、および、データーセンター221内にある。実例としてデーターセンター210は、テナントAのプライベートデーターセンターであり得るものであり、一方で、テナントAはさらには、データーセンター220の顧客である。
【0028】
[0029]第1のデーターセンター211のテナントセット211は、省略符号212を含むように例示され、そのことは、第1のデーターセンター210が、一部の例では2つ以上のテナントにサービングし得るということを記号的に表す。さらには、第2のデーターセンター221のテナントセット221は、省略符号222を含むように例示され、そのことは、第2のデーターセンター220が、他の数のテナントにサービングし得るということを記号的に表す。しかしながら、第1のデーターセンター210の処理パワーは、第2のデーターセンター220のそれより少なく、そのことは典型的には、第1のテナントセット211が、第2のテナントセット221より少ないテナントを有するということを意味する。例として第1のデーターセンター210は、テナントAのプライベートデーターセンターであり得るものであり、一方で、第2のデーターセンター220は、テナントAを含むいくつかのテナントにサービングするホストデーターセンターであり得る。別の例として第1のデーターセンター210は、テナントAのホストデーターセンターであり得るものであり、一方で、第2のデーターセンター220は、テナントAを含む多くのテナントにサービングするパブリックデーターセンターであり得る。
【0029】
[0030]環境200はさらには、エンドポイントブローカー240を含む。エンドポイントブローカー240は、第1のデーターセンター210の内部で、第2のデーターセンター220の内部で、別のデーターセンター230の内部で、または、任意のデーターセンターの外側で動作させられ得る。エンドポイントブローカーは、ハードウェアー、ソフトウェアー、または、ハードウェアーおよびソフトウェアーの組み合わせを使用して実装され得る。エンドポイントブローカーは、コンピューティングシステム(コンピューティングシステム100など)の1つまたは複数のプロセッサー(プロセッサー102など)が、1つまたは複数のコンピューター可読メディア上で実施される、1つまたは複数のコンピューター実行可能命令を実行することに応じて、(本明細書で説明されるように)インスタンスを作成され得る、および/または、動作させられ得る。そのような1つまたは複数のコンピューター可読メディアは、コンピュータープログラム製品のすべてまたは部分に対するものであり得る。
【0030】
[0031]図3は、異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するための方法300のフローチャートを例示する。方法300は、通信を受信する際に開始される(イベント301)。方法300は、図2のエンドポイント240により遂行され得るものであり、したがって方法300は、以後本明細書では、図2および3の両方を頻繁に参照して説明されることになる。
【0031】
[0032]前に言及されたように、方法300は、通信を受信する際に開始される(イベント301)。このことは、図2に、通信251を受信するエンドポイントブローカー240により表される。エンドポイントブローカーは次いで、通信を、データーセンター210およびデーターセンター220の両方のテナントに属するユーザーに対するアプリケーション起動エンドポイント接続要求であると解釈する(行為302)。実例としてユーザーは、テナントAの1人または複数のユーザーのコレクションに属し得る。
【0032】
[0033]したがって要求は、エンドポイントブローカーが、エンドポイントをテナントAのユーザーに提供するためのものであり、そのエンドポイントは、ユーザーが、ユーザーに対する1つまたは複数のアプリケーションを起動するために使用し得るものである。エンドポイントの例は、仮想マシン、または、ターミナルサーバーのセッションである。この様式でエンドポイントブローカー240は、ユーザーに対するアプリケーション起動エンドポイント接続要求にアクセスする。要求は、エンドポイントを提供するために使用され得る1つまたは複数のパラメーターを指定し得るものであり、それらのパラメーターは、例えば、アプリケーション識別子、エンドポイントのタイプ(例えば、仮想マシン、または、ターミナルサーバーのセッション)、または、エンドポイントのハードウェアー構成(どれだけ多くディスク領域またはメモリーが所望されるかなど)を含む。
【0033】
[0034]エンドポイントブローカーは次いで、複数のデーターセンターの中から、アプリケーション起動エンドポイント接続要求の満足のためとしてエンドポイントを提供するために、データーセンターを選択する(行為303)。実例として、図2ではエンドポイントブローカーは、エンドポイントをユーザーに提供するために、第1のデーターセンター210または第2のデーターセンター220を選択し得る。どれを使用すべきかに関する判断は、ポリシー242、および、現在のステータス243に応じて遂行され得る。ユーザーがテナントAのそれである以上は、エンドポイントブローカーは、2つのデーターセンター210および220から選択し得る。ユーザーが別のテナントのものであるならば、可能なデーターセンターに対する他のオプションが利用可能であり得る。
【0034】
[0035]ポリシー242は、テナントAに対して、第1のデーターセンター210のステータス243が、稼働率のある決まったパーセンテージより少ないならば、第1のデーターセンター210が、エンドポイントをユーザーに提供するために使用されることになり、さもなければ、第2のデーターセンター220が、エンドポイントをユーザーに提供するために使用され得るということを指定し得る。したがって、データーセンター210がプライベートデーターセンターであるケースでは、テナントAは、プライベートデーターセンターをセットアップし得る。プライベートデーターセンターを、エンドポイントに対するピークロードに対処するために最大限にスケールアップするのではなく。テナントAは代わりに、データーセンター220のプロバイダー(例えば、ホストまたはパブリッククラウドプロバイダー)と、オーバーフローに対処するための契約を結ぶことが可能である。他のポリシーが使用される場合もある。実例として、ことによるとユーザーはすでに、ユーザーが使用し続けることを欲する個別のデーターセンター内のエンドポイントに関連付けられる何らかの状態を有している。そのケースでは、その状態を伴うデーターセンターが、エンドポイントを提供するために使用され得る。
【0035】
[0036]エンドポイントブローカー240は次いで、選択されるデーターセンターから、ユーザーに関連付けられることになるエンドポイントを識別する(行為304)。そのように行うために、エンドポイントブローカー240は、選択されるデーターセンター内のエンドポイント割り当てエージェントと通信し得る。実例として、エンドポイントブローカー240が第1のデーターセンター210を選択するならば、エンドポイントブローカー240は、矢印261により表されるように、第1のデーターセンター210内のエンドポイント割り当てエージェント213と通信し得る。エンドポイントブローカー240が第2のデーターセンター220を選択するならば、エンドポイントブローカー240は、矢印262により表されるように、第2のデーターセンター220内のエンドポイント割り当てエージェント223と通信し得る。エンドポイントブローカー240がデーターセンターの内部で動作する場合、ことによるとエンドポイントブローカー240は、さらには、そのデーターセンターに対するエンドポイント割り当てエージェントとして働く場合がある。
【0036】
[0037]エンドポイント割り当てエージェントは次いで、ユーザーに対するエンドポイントを選択する。エンドポイントに対して選定されるパラメーターは、元の要求で指定されるパラメーターに応じて、および/または、ポリシー242に応じて選択され得る。エンドポイントブローカーは次いで、ユーザーに関連付けられることになるエンドポイントを識別し(行為305)、次いで、識別されるエンドポイントをユーザーに関連付ける(行為306)。実例としてエンドポイントブローカーは、ルーティング命令を要求者に提供し得るものであり、そのことによってユーザーは後で、そのユーザーのクライアントマシンを使用して、さらなるエンドポイント命令をエンドポイントに直接ルーティングし得る。実例として、そのようなエンドポイントルーティング命令は、インターネットプロトコル(エンドポイントのIPアドレス)を含み得る。
【0037】
[0038]一部の実施形態では、ことによると互いからリモートで設けられていても、第1のデーターセンター210、および、第2のデーターセンター220、ならびに、可能性として他の1つまたは複数のデーターセンター230は、仮想プライベートネットワーク(VPN)を介するなどして、共通のアドレス可能ネットワーク内で互いの内部に結合される。したがって、ユーザーに提供されるIPアドレスは、エンドポイントが提供されるのが、第1のデーターセンター210によるか、第2のデーターセンター220によるか、それとも、何らかの他のデーターセンター230によるかに関わらず機能することになる。このことによってさらには、割り当てられるエンドポイントに関する構成情報が、より大きなネットワークを介してすべてのデーターセンターにアクセス可能になるということが可能となり得る。実例として共通ストアー270が、使用され、ネットワークを介してデーターセンターの各々にアクセス可能にされ得る。
【0038】
[0039]エンドポイントブローカーは次いで、ユーザーに、識別されるエンドポイントへのアクセスを提供する(行為306)。このことは、図2に、矢印252によって表される。この関連付けの部分として、ユーザーはさらには、ユーザーの仮想ハードドライブをエンドポイントに関連付ける場合がある。実例としてネットワーク環境200は、ユーザー仮想ハードドライブ280のセットを含む。選択されるユーザーに対するユーザー仮想ハードドライブは、エンドポイント、および、そのエンドポイントにより起動される任意のアプリケーションに利用可能であるように関連付けられ得る。ユーザー仮想ハードドライブを関連付けるための1つのアプローチでは、ユーザー仮想ハードドライブは、ユーザーとともに、ログオンされるエンドポイントに「ローミング」し得る。例えばユーザー仮想ハードドライブは、ユーザーが最初にプライベートクラウドエンドポイントに、次いでパブリッククラウドエンドポイントにログオンするならば、プライベートクラウドからパブリッククラウドにコピーされ得る。第2のアプローチでは、ユーザー仮想ハードドライブは、システムにより、複数のデーターセンターの全体で、頻繁な間隔で(ことによると毎分)自動的に複製され得るものであり、そのため、ユーザーがついには最終的にログオンする場合はいつも、ユーザーは自分の最新ドキュメントを得ることになる。
【0039】
[0040]省略符号241が、ランするエンドポイントブローカーの複数のインスタンスが存在し得るということを表すために、図2で与えられる。実例として、第1のデーターセンター210でランするエンドポイントブローカーの1つまたは複数のインスタンス、および、第2のデーターセンター220でランするエンドポイントブローカーの1つまたは複数のインスタンスが存在し得る。ロードバランサーが、すべてのエンドポイント接続要求を任意のユーザーから受信し、それらの要求を、何らかのポリシーによって、選択されるエンドポイントブローカーに分散させるために、アップストリームに配置され得る。
【0040】
[0041]図4は、今度は第3のデーターセンター430が例示されるということを除いて、図2のネットワーク環境200と同様であるネットワーク環境400を例示する。第3のデーターセンター430は、第1のデーターセンター210と、第2のデーターセンター220との間であるスケールのものである。実例として、第3のデーターセンター430のテナントセット431は、(省略符号432により表されるような他のものとともに)2つのテナントAおよびBをまさに含む。したがって、エンドポイントブローカー240が、テナントAに関連付けられる接続要求を受信するとき、ブローカー240は、エンドポイントをユーザーに提供するために、3つのエンドポイントブローカーの中で選定し得る。例として図4では、データーセンター210はプライベートデーターセンターであり得るものであり、データーセンター430はホストであり得るものであり、データーセンター220はパブリックデーターセンターであり得る。
【0041】
[0042]本明細書で説明される原則は、階層的に構造化され得るということにもまた留意されたい。実例として図2では、データーセンター220はさらに、複数のデーターセンターを含むネットワーク環境であり得る。そのケースでは、(矢印262により表されるような)通信の開始は、エンドポイントに対する要求と同じようにエンドポイント割り当てエージェント223により処置され得るものであり(イベント301)、そのことにより、エージェント223が、エンドポイントブローカー240に対して説明されたように働くことをトリガーすることを、その構成要素データーセンターの1つに、ユーザーに対するエンドポイントを生成させる際に行う。
【0042】
[0043]したがって本明細書で説明される原則は、エンドポイントのハイブリッドクラウド展開を可能にするものであり、そのことにより、テナントのユーザーに、アプリケーションを起動するために使用され得るエンドポイントを提供するための、よりフレキシブルなデザインを考えに入れたものである。
【0043】
[0044]本発明は、その趣旨または本質的な特性から逸脱することなく、他の特定のフォームで実施され得る。説明された実施形態は、すべての点で、単に例示的であり、制約的ではないとみなされるべきである。したがって本発明の範囲は、前述の説明によってではなく、添付される特許請求の範囲により指示される。特許請求の範囲の均等の意味および範囲の範囲内にあるすべての変更は、その特許請求の範囲の範囲内に包含されることになる。
図1
図2
図3
図4