(57)【要約】【課題】複数のデータ・センタ中で選択的に作業負荷をオフロードするための技法を提供すること。【解決手段】例えば、複数のデータ・センタ環境によるユーザ要求を処理するための技法は、以下の諸ステップ／オペレーションを含む。ユーザ要求が、第１のデータ・センタで取得される。ユーザ要求は、１つまたは複数の分類基準に基づいて分類される。分類されたユーザ要求に関連する作業負荷の少なくとも一部分は、処理される少なくとも第２のデータ・センタへとオフロードされ、そのオフロードするステップ／オペレーションは、第１のデータ・センタおよび第２のデータ・センタの少なくとも一方と関連付けられた１つまたは複数の管理ポリシーに少なくとも基づいている。作業負荷は、ユーザ要求が、要求するユーザに対するサービス・レベルの合意に従って、少なくとも実質的に満たされるように処理される。【選択図】図１
2008542871.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ・センタ環境によるユーザ要求を処理する方法であって、
第１のデータ・センタで、ユーザ要求を取得するステップと、
１つまたは複数の分類基準に基づいて、前記ユーザ要求を分類するステップと、
前記分類されたユーザ要求に関連する作業負荷の少なくとも一部分を、処理される少なくとも第２のデータ・センタへとオフロードするステップであって、前記第１のデータ・センタおよび前記第２のデータ・センタの少なくとも一方に関連付けられた１つまたは複数の管理ポリシーに少なくとも基づいているステップと、
前記要求するユーザに対するサービス・レベルの合意に従って、前記ユーザ要求が少なくとも実質的に満たされるように、前記作業負荷を処理するステップと
を含む方法。
【請求項２】
前記オフロードするステップがさらに、前記第１のデータ・センタに関連付けられたアドミッション制御ポリシーに基づいて、前記分類されたユーザ要求に関連する作業負荷の少なくとも一部分を、前記第２のデータ・センタにリダイレクトするステップを含む、請求項１に記載の方法。
【請求項３】
前記オフロードするステップがさらに、前記分類されたユーザ要求に関連する作業負荷の少なくとも一部分が、前記第２のデータ・センタに関連する少なくとも１つの資源に直接、経路指定され得るように、前記第２のデータ・センタに関連する前記少なくとも１つの資源を、前記第１のデータ・センタに関連する資源スケジューラに利用可能にさせるステップを含む、請求項１に記載の方法。
【請求項４】
前記作業負荷の一部分をオフロードすることに対する１つまたは複数の利益に関連する１つまたは複数のメトリック値を、前記第１のデータ・センタで判定するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記メトリック値を判定するステップがさらに、前記メトリック値を閾値と比較するステップと、前記比較の結果を作業負荷のオフロードを開始するトリガとして使用するステップとを含む、請求項４に記載の方法。
【請求項６】
前記メトリック値を判定するステップがさらに、前記閾値を調整するステップを含む、請求項５に記載の方法。
【請求項７】
前記閾値を調整するステップがさらに、前記閾値に一定の減衰因子を適用するステップを含む、請求項６に記載の方法。
【請求項８】
前記閾値を調整するステップがさらに、前記閾値を元の値に再設定するステップを含む、請求項７に記載の方法。
【請求項９】
１つまたは複数のデータ・センタのいずれが前記作業負荷の少なくとも一部分をオフロードするための可能性のあるデータ・センタであるかを、前記複数のデータ・センタ中から決定するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記可能性のあるデータ・センタを決定するステップがさらに、優先順位に基づいて可能性のあるデータ・センタを決定するステップを含む、請求項９に記載の方法。
【請求項１１】
可能性のあるデータ・センタであると決定された前記データ・センタの少なくとも１つに対して、少なくとも１つの要求照会を送るステップをさらに含む、請求項９に記載の方法。
【請求項１２】
複数のデータ・センタに要求照会をマルチキャストするステップをさらに含む、請求項９に記載の方法。
【請求項１３】
前記可能性のあるデータ・センタの１つを、オフロードするために使用されるデータ・センタとして受け入れるステップをさらに含み、前記第２のデータ・センタが、前記受け入れられたデータ・センタである、請求項１２に記載の方法。
【請求項１４】
事前設定すべき１つまたは複数の資源を選択するステップをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記作業負荷を処理するのに使用される１つまたは複数の選択された資源を事前設定するステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記資源を事前設定するステップがさらに、前記第１のデータ・センタおよび前記第２のデータ・センタの少なくとも一方が、前記資源の事前設定ステップの少なくとも一部分を実施するステップを含む、請求項１５に記載の方法。
【請求項１７】
資源の要求閾値を、前記第１のデータ・センタで調整可能に設定するステップをさらに含む、請求項１に記載の方法。
【請求項１８】
前記オフロードするステップがさらに、前記第２のデータ・センタが、前記作業負荷を処理するために、１つまたは複数の資源を貸し出すことに合意する前に、それ自体の資源の可用性を判定するステップをさらに含む、請求項１に記載の方法。
【請求項１９】
複数のデータ・センタ環境によるユーザ要求を処理するための装置であって、
メモリと、
前記メモリに結合され、第１のデータ・センタに関連付けられた少なくとも１つの処理デバイスであって、
（ｉ）ユーザ要求を取得し、（ｉｉ）１つまたは複数の分類基準に基づいて前記ユーザ要求を分類し、（ｉｉｉ）前記分類されたユーザ要求と関連する作業負荷の少なくとも一部分を、処理される少なくとも第２のデータ・センタへとオフロードさせるように動作可能な処理デバイスとを備え、
前記オフロードするオペレーションが、前記第１のデータ・センタおよび前記第２のデータ・センタの少なくとも一方と関連付けられた１つまたは複数の管理ポリシーに少なくとも基づいており、また前記作業負荷が、前記要求するユーザに対するサービス・レベルの合意に従って、前記ユーザ要求が少なくとも実質的に満たされるように処理される装置。
【請求項２０】
前記オフロードするオペレーションがさらに、前記第１のデータ・センタに関連付けられたアドミッション制御ポリシーに基づいて、前記分類されたユーザ要求に関連する作業負荷の少なくとも一部分を、前記第２のデータ・センタへとリダイレクトするステップを含む、請求項１９に記載の装置。
【請求項２１】
前記オフロードするオペレーションがさらに、前記分類されたユーザ要求に関連する作業負荷の少なくとも一部分が、前記第２のデータ・センタに関連する少なくとも１つの資源に直接、経路指定され得るように、前記第２のデータ・センタに関連する前記少なくとも１つの資源を、前記第１のデータ・センタに関連する資源スケジューラに利用可能にさせるステップを含む、請求項１９に記載の装置。
【請求項２２】
前記少なくとも１つの処理デバイスがさらに、前記作業負荷の一部分をオフロードすることに対する１つまたは複数の利益に関連する１つまたは複数のメトリック値を判定するように動作可能である、請求項１９に記載の装置。
【請求項２３】
前記少なくとも１つの処理デバイスがさらに、１つまたは複数のデータ・センタのいずれが前記作業負荷の少なくとも一部分をオフロードするための可能性のあるデータ・センタであるかを、前記複数のデータ・センタの中から決定するように動作可能である、請求項１９に記載の装置。
【請求項２４】
前記少なくとも１つの処理デバイスがさらに、資源要求閾値を調整可能に設定するように動作可能である、請求項１９に記載の装置。
【請求項２５】
複数のデータ・センタ環境によるユーザ要求の処理に第１のデータ・センタで使用される製品であって、実行されたとき、
ユーザ要求を取得するステップと、
１つまたは複数の分類基準に基づいて、前記ユーザ要求を分類するステップと、
前記分類されたユーザ要求に関連する作業負荷の少なくとも一部分を、処理される少なくとも第２のデータ・センタへとオフロードさせるステップと
を実施する１つまたは複数のプログラムを含むマシン可読媒体を備え、
前記オフロードするオペレーションが、前記第１のデータ・センタおよび前記第２のデータ・センタの少なくとも一方に関連付けられた１つまたは複数の管理ポリシーに少なくとも基づいており、前記作業負荷が、前記要求するユーザに対するサービス・レベルの合意に従って、前記ユーザ要求が少なくとも実質的に満たされるように処理される製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピューティング資源およびデータ・センタに関し、より詳細には、複数のデータ・センタ中で選択的に作業負荷をオフロードするための技法に関する。
【背景技術】
【０００２】
大企業は、それ自体のコンピューティング資源を複数のデータ・センタに編成するが、各データ・センタは、他のデータ・センタから物理的に分離され得るコンピューティング資源およびストレージのプールとなっている。企業のアプリケーションは、１つまたは複数のデータ・センタ中で動作し、そのアプリケーションに対するエンドユーザの要求が、１つまたは複数のデータ・センタに流入する。あるデータ・センタが要求で過負荷になった場合、エンドユーザが、期待するレベルのアプリケーション応答を受け取るように、また企業の資源のすべてが有効に使用されるように、作業負荷の一部を他のデータ・センタ中の利用可能な共用資源へとオフロードすることが必要である。
【０００３】
マルチデータ・センタのモデルに関する変形形態として、企業は、サードパーティのサービス・プロバイダから資源を購入し、その資源をそれ自体のデータ・センタとして使用することもあり得る。作業負荷をサービス・プロバイダの資源にオフロードする必要性はこのモデルでも同様に存在し、それはマルチデータ・センタの作業負荷のオフロード問題と同様である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
作業負荷のオフロードに対する既存の解決策は、ＤＮＳ（ドメイン・ネーム・サービス）またはＴＣＰ／ＩＰ（伝送制御プロトコル／インターネット・プロトコル）ルーティング製品を用いた、ユーザ要求の重み付きラウンドロビン分配を含む。この解決策に関する問題は、ルーティング製品が、ユーザ要求をある割合で（すなわち、重み付けに基づいて）静的に経路指定できるだけであり、サービス・レベルの合意に基づいて、ユーザ要求に対して資源割り振りを動的に調整できないことである。
【課題を解決するための手段】
【０００５】
本発明の原理は、複数のデータ・センタ中で選択的に作業負荷をオフロードするための技法を提供することである。
【０００６】
例えば、本発明の一態様では、複数のデータ・センタ環境によるユーザ要求を処理するための技法は、以下の諸ステップ／オペレーションを含む。ユーザ要求が第１のデータ・センタで取得される。ユーザ要求は、１つまたは複数の分類基準に基づいて分類される。分類されたユーザ要求に関連する作業負荷の少なくとも一部分は、処理される少なくとも第２のデータ・センタへとオフロードされ、そのオフロードするステップ／オペレーションは、第１のデータ・センタおよび第２のデータ・センタの少なくとも一方と関連付けられた１つまたは複数の管理ポリシーに少なくとも基づいている。作業負荷は、ユーザ要求が、要求するユーザに対するサービス・レベルの合意に従って、少なくとも実質的に満たされるように処理される。
【０００７】
本発明のこれらのおよび他の目的、機能、および利点は、添付の図面と関連して読まれるその例示的な諸実施形態の以下の詳細な説明から明らかとなろう。
【発明を実施するための最良の形態】
【０００８】
以下の本明細書で例示的に説明されるように、本発明の原理は、ユーザ要求を分類し、各データ・センタのポリシーに従いつつ、ユーザ要求クラスのサービス・レベル目標が満たされるように、データ・センタに要求を動的に経路指定し、処理するための技法を提供することである。
【０００９】
クライアント要求は、クライアントのタイプ（例えば、ゴールド・クラス、シルバー・クラス、ブロンズ・クラス）により、クライアント要求を生成した作業負荷のタイプにより、トランザクションにより実施されるデータ・アクセスのタイプにより、または作業負荷によりアクセスされるデータに対して実施されるオペレーション・タイプにより分類することができる。この分類に基づいて、クライアント要求は、ポリシーおよび（ローカルおよび遠隔の）データ・センタの現在の状況に基づいて、遠隔のデータ・センタにおける資源へと選択的に経路指定することができる。
【００１０】
「ローカル」のデータ・センタは、概して、主題のユーザ要求を最初に受け取るデータ・センタと考えられることを理解されたい。クライアント・デバイスの近傍にあるもの、またはこのような要求を、通常、１つまたは複数の基準（例えば、主題、クライアント・タイプなど）に基づいて扱うものあるいはその両方を、データ・センタとすることができる。したがって、「遠隔」のデータ・センタは、概して、ローカルのデータ・センタ以外のものと考えられる。このコンテキストに基づき、用語「リクエスタ」および「プロバイダ」は、それぞれ、ローカルおよび遠隔のデータ・センタを指すために使用されることも理解されたい。
【００１１】
例として、ブロンズ・クライアントからの要求、または比較的優先順位の低い要求は、ローカルのデータ・センタが高い負荷を有するとき、遠隔の資源に経路指定され得る。経路指定はまた、要求の通信要件またはデータ・アクセス要件に依存し得る。例えば、かなりのデータ・アクセスとなるトランザクションまたは照会を伴うデータベースへの要求、または高度の通信を伴う並列計算となる要求は、処理のためにローカルに経路指定されるはずである。遠隔処理のために作業負荷を選択することはまた、トランザクション結果によりアクセスされるデータが区分され得るか、または遠隔のデータ・センタで複製できるか、あるいはその両方かどうかに依存し得る。経路指定はまた、経路指定される作業負荷の資源要件にも依存され得る。汎用（commodity）プロセッサを必要とする作業負荷オペレーションはオフロードされ得るが、例えば、ベクトル処理機能を必要とするものは、ローカルに経路指定することもできる。同位（peer）のデータ・センタによる資源共用のための動機は、組織的な経済モデルに応じて、金銭もしくは評判またはポリシー・ベースとすることもできる。
【００１２】
したがって、本発明の原理によると、作業負荷（例えば、ユーザ要求）は、明示的なポリシーにより資源共用の管理制御を可能にしつつ、ユーザ要求のサービス・レベルの合意を満たすように、他のデータ・センタに選択的にオフロードされる。
【００１３】
始めに図１を参照すると、ブロック／流れ図が、本発明の実施形態による、複数のデータ・センタ中で選択的に作業負荷をオフロードするための技法を示している。図は、２つのデータ・センタ、すなわち、データ・センタＡおよびデータ・センタＢを示す。この実施形態は、２つのデータ・センタにより述べられているが、本発明の原理は２つのデータ・センタに限定されない。すなわち、本発明の原理は、任意の数のデータ・センタに対して使用することができる。
【００１４】
図示のように、データ・センタＡは以下のコンポーネントを有する。すなわち、作業負荷を生成するクライアント１１０、要求分類装置１２０、アドミッション・コントローラおよびリダイレクタ１２２、要求スケジューラおよびルータ１２４、資源マネジャ１４０、１組のポリシー１５０、およびプロセッサ、ネットワーク、ストレージなどのコンピューティング資源１３０である。
【００１５】
同様に、データ・センタＢは以下のコンポーネントを有する。すなわち、作業負荷を生成するクライアント１１５、要求分類装置１２５、アドミッション・コントローラおよびリダイレクタ１２７、要求スケジューラおよびルータ１２９、資源マネジャ１４５、１組のポリシー１５５、およびプロセッサ、ネットワーク、ストレージなどのコンピューティング資源１３５である。
【００１６】
データ・センタＡは、ネットワーク通信チャネルを用いてその作業負荷の一部をデータ・センタＢに送ることができる（ステップ１６０）。同様に、データ・センタＢは、ネットワーク通信チャネルを用いてその作業負荷の一部をデータ・センタＡに送ることができる（ステップ１６５）。
【００１７】
データ・センタＡはまた、通信チャネルを用いて直接、データ・センタＢにある資源を使用することができる（ステップ１７２）が、それは、データ・センタＢでそのように使用される資源が、通信チャネルを用いてデータ・センタＡのデータにアクセスすることが必要となる可能性もある（ステップ１７４）。データ・センタＢはまた、データ・センタＡの資源を直接使用することもできるが、図を簡単にするために、このような対話を明示的に示していない。
【００１８】
データ・センタＡでは、作業負荷がクライアント１１０から到来したとき、それは作業要求の形式であり、その作業要求は、作業負荷分類装置１２０で要求待ち行列中に配置され、そこで、分類装置は要求を異なるクラスに分離し、それをアドミッション・コントローラおよびリダイレクタ１２２に送る。アドミッション・コントローラは、現時点で、ローカル処理を求める要求を許容すべきか、それとも適切な時間まで延期すべきかどうかを判断する。許容された要求は次いで、要求スケジューラおよびルータ１２４に送られ、それは、作業要求処理のために割り振られた資源１３０で処理されるように、その要求を送る。資源マネジャ１４０は、個々のデータ・センタのポリシー１５０を用いて、分類基準、アドミッション制御基準、スケジューリングおよび経路指定の判断、ならびに要求のクラスに対して使用すべき実際の資源を決定する。資源マネジャによって使用される判断プロセスの実施形態は後で述べる。資源マネジャにより決定された分類基準は、作業負荷分類装置１２０に送られ、アドミッション制御基準はアドミッション・コントローラ１２２に送られ、またスケジューリングおよび経路指定基準は、スケジューラおよびルータ１２４に送られる。資源マネジャは、これらの基準および関連するパラメータを動的に更新し、それらを制御ユニット１２０、１２２、および１２４に継続的に送る。
【００１９】
作業要求は、データ・センタＢにおいても同様に分類され、スケジューリングされる。データ・センタ相互間で資源の共用がない場合、各データ・センタは、作業要求を満たすためにそれ自体の資源を用いる。
【００２０】
データ・センタＡにおける要求の数または要求の総計サービス時間が高くなり過ぎる場合、本発明の原理に従って、データ・センタＡの作業要求を処理するためにデータ・センタＢからの資源を使用することができる。データ・センタ相互間の資源共用は、要求側および提供側データ・センタで共に定義されるポリシーに基づくことができる。
【００２１】
資源の借用および作業負荷のオフロードの決定において、資源マネジャにより使用される意思決定プロセスの実施形態を図２に示す。図示のように、資源の借用に含まれる諸ステップは以下のようになる。
【００２２】
ステップ１８０で、資源を借用することの利益が要求側データ・センタで判定される。
ステップ１８２で、可能性のある資源共用の照会をするデータ・センタが決定される。
ステップ１８４で、資源共用を要求する照会が可能性のあるデータ・センタに送られる。
ステップ１８６で、要求に対する応答を受け取ると、要求側データ・センタはどれを受け入れるかを決定する。
ステップ１８８で、要求側データ・センタは、作業負荷を処理するために資源を使用する。
ステップ１９０で、所与の作業負荷の処理が完了すると、要求側データ・センタは借用した資源を解放する。
これらの諸ステップのさらなる詳細は以下のようになる。
【００２３】
要求側データ・センタは、追加の通信に関連するコストに対する資源借用の利益、および遠隔の資源利用に関する利益を評価する。利益は、サービス・レベルの合意に対するグローバル資源利用レベルまたは性能あるいはその両方など、メトリクスによることもできる。本明細書で「借用閾値」と呼ばれる遠隔の資源取得をトリガするための閾値は、リクエスタのポリシーの一部である。借用閾値は、データ・センタにおける各資源最適化サイクル後に、一定の減衰因子が適用されるように適合され得る。こうすることにより、最終的に、より小さな利益値であっても遠隔の資源取得が可能になる。しかし、要求が、遠隔の資源の取得に失敗した場合、閾値を元の大きな値に再設定することができ、したがって、遠隔の資源を求める検索の失敗が過度になることを回避する。データ・センタは、異なる優先順位の作業負荷に対する資源を同時に必要となる可能性があるので、高い利益の作業負荷を求める要求を最初に処理することができる。
【００２４】
資源を借用する判断が行われた後、次のステップは、資源を貸出しできる見込みのあるピア（peers）を選択することである。アクセス可能なデータ・センタの組は、企業の組織境界により、または企業外のプロバイダとの契約により、あるいは組織ポリシーにより決められる。
【００２５】
遠隔の資源を捜すための１つの可能な方法は、すべてのピアに対して要求をマルチキャストすることである。要求をマルチキャストすることは、データ・センタが遠隔の要求を受け入れるために２つのフェーズ（phase）のプロセスを使用する場合によく動作し、第１のフェーズでは、資源の可用性および制約が、要求側データ・センタに返されて、確認後、最終の受入れが完了する。貸出しデータ・センタにおける確認のタイムアウトは、フェーズ１の段階からいつ資源が再要求されたかを判断する。リクエスタからの確認が行われると、予約が活動化される。これらの予約が、キャパシティ・プランナからの予測に基づいて先行して行われた場合、予約の活動化は別のフェーズとして行われる（すなわち、資源が展開され、ソフトウェア・ホスティング・スタック（softwarehosting stacks）がインストールされ、構成され、またはその他の形で使用できるようになる）。マルチステージ手法は、資源を取得するために、リクエスタがデータ・センタ相互間で折衝する選択肢を有することを保証する。
【００２６】
データ・センタがマルチフェーズの受入れスキームをサポートしない場合、可能性のあるデータ・センタは、ネットワークの待ち時間、資源の能力、知られた資源の可用性、および評判などの様々な親近性（affinity）尺度による優先順位により順位付けすることができ、資源は、可能性のあるデータ・センタからその優先順位で要求される。
【００２７】
同様に、プロバイダ側データ・センタは、資源をアイドル状態のまま保つことと比較して資源を貸し出すことの利益を評価する。プロバイダのポリシーを動的にすることができ、したがって、プロバイダの作業負荷および現在のシステム状況を反映させることができる。データ・センタが連続する時間期間で遠隔の資源を要求している場合、その資源を求めて到来する要求を受け入れるためのそれ自体の閾値は、非常に高く設定することができる。このように、データ・センタは、利用できる資源を捜すことを試みるのではなく、到来する要求を速やかに拒否する。これは、我々が「サイクル中断ルール（cycle breaking rule）」と呼ぶものであり、それは、１つのデータ・センタが、遠隔の資源を要求し、同時に、遠隔のデータ・センタからの要求を処理するためにローカルの資源をリース（lease）するシナリオを阻止するために働く。さらに、実施される他のステップは、リースするための互換性のある資源、およびリースするためのコストを識別することである。
【００２８】
図３は、プロバイダの資源マネジャにおける意思決定プロセスを例示的に述べる。
ステップ１９１で、資源を求める要求が受け取られる。
ステップ１９２で、リクエスタへの資源の貸出しを検討すべきかどうかの判定が行われる。
ステップ１９３で、可能性のある貸出し側自体のデータ・センタの資源の利用度およびアプリケーションの判定が行われる。
ステップ１９４で、可能性のある貸出し側自体の資源利用度が資源の貸出しを許容するかどうかの判定が行われる。
ステップ１９５で、ステップ１９４に基づいて、応答がリクエスタに送り返される。
ステップ１９６で、受け入れられた場合、資源は貸し出される。
ステップ１９７で、遠隔の利用が完了したとき、貸し出された資源は戻される。
【００２９】
１つまたは複数のデータ・センタからの資源の可用性情報が確定された後、資源の選択はデータ・センタおよび作業負荷ポリシーに従って実施されることを理解されたい。アプリケーションを求めて生成される様々の要求は、それ自体の間で依存性を有する可能性がある。例えば、アプリケーション・サーバ層におけるさらなる処理はまた、データベース層におけるさらなる処理を必要とする可能性がある。その依存性は、必要な資源のタイプ、およびそれらの相互関係のタイプを記述するアプリケーションの論理的展開構造から生ずる。資源選択は、どのデータ・センタを使用すべきかを判断するために、これらの依存性を使用するはずである。さらに、これらの依存性は、例えば、第１の依存性が満たされる場合に限って、第２のものを試みるなど、送られた要求の余分なものを除くために使用することができる。
【００３０】
リクエスタが応答を受け入れた場合、次のステップは、資源を事前設定すること、例えば、それらを構成し、オペレーティング・システム、ミドルウェア、およびアプリケーション・ソフトウェアをインストールすることである。３つの可能性がある。すなわち、（１）リクエスタが、遠隔の資源に対して事前設定を実行する、（２）供給側データ・センタがプロセスの事前設定を実行する、または（３）（１）と（２）の何らかの組合せである。上記の選択肢に基づいて、資源の事前設定機構は変化する。
【００３１】
第１の場合では、資源の取得を完了するために、要求端で適切な作業フローが行われる。第２の場合では、作業フローが、プロバイダ端で利用可能である、または利用可能にされる。第１の場合は柔軟性を提供するが、一方、第２の場合はさらに自立性および安全性を提供する。第３の場合は最初の２つの場合の混成である。混成手法では、リクエスタとプロバイダは協動して、一緒に資源の事前設定を行う。
【００３２】
遠隔の資源が取得され、事前設定された後、作業要求フローは、図４に示すように処理され得るが、図は、本発明の実施形態による作業要求フローの処理を示すブロック／流れ図である。
【００３３】
図示のように、データ・センタＡは、作業要求２１０を受け取り、それは、要求分類ステップ２２０で分類される。分類は、データ・センタ資源マネジャ２８０の分類基準２７０に基づく。その結果の分類された要求２３０は、アドミッション制御およびリダイレクションに向けて処理される。ステップ２４０で、いくつかの分類された要求は処理のためデータ・センタＢにリダイレクトされ２４５、一方、他の分類された要求２５０ａおよび２５０ｂはローカルに処理される。データ・センタ資源マネジャ２８０中のアドミッション制御基準２７５は、トラフィックのどのタイプおよびどんな割合でリダイレクトすべきかを判定する。データ・センタＢは、データ・センタＢに到来する作業負荷の残りと共に、リダイレクトされた作業負荷を処理する。
【００３４】
他の実施形態では、アドミッション・コントローラ・レベルで要求を経路指定するのではなく、ローカルの資源マネジャによって遠隔の資源を取得することができ、またこのように取得されたこれらの資源は、ローカルの要求スケジューラおよびルータで利用可能にすることができる。これはまた、図４に示されており、要求スケジューリングおよび経路指定ステップ２６０が、遠隔の資源を、それらがローカルの資源であるかのように処理し、その性能特性に基づいて、分類された作業負荷の一部分をそれらに送る。データ・センタ資源マネジャ２８０によって定義されたスケジューリング基準２７８は、利用可能な資源の間で、タイプまたは割合により、作業負荷の配分を決定する。それはまた、作業負荷要求の処理の優先順位も決定する。
【００３５】
第３の場合は、制御の組合せが適用される場合であり、すなわち、作業負荷のリダイレクションと遠隔の資源制御が共に適用される。データ・センタＡのアドミッション・コントローラが、データ・センタＢのアドミッション・コントローラに要求の一部分を送る。さらに、データ・センタＢからの資源が、上記で述べたものと同様のデータ・アクセスの変形を用いて、データ・センタＡの要求スケジューラおよびルータで利用可能になる。
【００３６】
本発明の原理によれば、他のデータ・センタからの未使用のまたは利用中の資源を割り振り、かつ共用することによりデータ・センタＡ上の輻輳を緩和するための機構が提供される。このような機構のうちの２つは、リダイレクションを有するアドミッション制御と、ローカルとリモート資源の間での作業負荷のスケジューリングである。２つの機構を組み合わせる混成手法もまた提供される。
【００３７】
図５には、本発明の実施形態による、選択的に作業負荷をオフロードする技法（例えば、図１、図２、および図４に即して述べられたコンポーネントおよび方法）の１つまたは複数のコンポーネント／ステップを実装できるコンピューティング・システムが示されている。個々のコンポーネント／ステップは、１つのこのようなコンピュータ・システムに実装することができるが、あるいは複数のこのようなコンピュータ・システムに実装できることを理解されたい。分散コンピューティング・システム上に実装する場合、個々のコンピュータ・システムまたはデバイスあるいはその両方は、適切なネットワーク、例えば、インターネットまたはワールド・ワイド・ウェブを介して接続することができる。しかし、システムは、私設網またはローカル・ネットワークを介して実現することができる。いずれの場合も、本発明は、特定の任意のネットワークに限定されない。
【００３８】
したがって、図５に示すコンピューティング・システムは、特に、データ・センタの１つまたは複数の機能コンポーネント、例えば、要求分類装置、アドミッション・コントローラおよびリダイレクタ、要求スケジューラおよびルータ、資源マネジャ、ならびに１組のポリシーなどを実施するための例示的なコンピューティング・システム・アーキテクチャを表す。さらにこのコンピューティング・システム・アーキテクチャはまた、データ・センタにより提供される１つまたは複数の実際のコンピューティング資源の実装形態を表すこともできる。さらに、コンピューティング・システム・アーキテクチャはまた、１つまたは複数のクライアントの実装形態を示すこともできる。
【００３９】
図示のように、コンピューティング・システム・アーキテクチャは、コンピュータ・バス３１０または代替の接続構成を介して結合される、プロセッサ３０２、メモリ３０４、入出力デバイス３０６、および通信インターフェース３０８を備えることができる。一実施形態では、図５のコンピューティング・システム・アーキテクチャは、データ・センタと関連する１つまたは複数のサーバを表す。
【００４０】
本明細書で使用される用語「プロセッサ」は、例えば、ＣＰＵまたは他の処理回路あるいはその両方を含むものなど、任意の処理デバイスを含むことが意図されることを理解されたい。用語「プロセッサ」は、複数の処理デバイスを指すことができること、および処理デバイスに関連する様々なエレメントは、他の処理デバイスにより共用され得ることもまた理解されたい。
【００４１】
本明細書で使用される用語「メモリ」は、例えば、ＲＡＭ、ＲＯＭ、固定メモリ・デバイス（例えば、ハード・ドライブ）、取外し可能なメモリ・デバイス（例えば、ディスケット）、フラッシュ・メモリなど、プロセッサまたはＣＰＵに関連するメモリを含むことが意図されている。
【００４２】
さらに、本明細書で使用される句「入力／出力デバイス」または「入出力デバイス」は、例えば、データを処理ユニットに入力するための１つまたは複数の入力デバイス（例えば、キーボード、マウスなど）、または処理ユニットに関連する結果を提示するための１つまたは複数の出力デバイス（例えば、ディスプレイなど）、あるいはその両方を含むことが意図されている。
【００４３】
さらに、本明細書で使用される句「ネットワーク・インターフェース」は、例えば、適切な通信プロトコルを介して、コンピュータ・システムが他のコンピュータ・システムと通信することを可能にする、１つまたは複数の送受信装置を含むことが意図されている。
【００４４】
したがって、本明細書に述べた方法を実施するための命令またはコードを含むソフトウェア・コンポーネントは、１つまたは複数の関連するメモリ・デバイス（例えば、ＲＯＭ、固定のまたは取外し可能なメモリ）に記憶され、使用される用意ができたとき、部分的にまたは全体的に（例えば、ＲＡＭに）ロードされ、ＣＰＵによって実行され得る。
【００４５】
いずれの場合であっても、本明細書に述べられ、添付図に示された本発明の技法は、例えば、関連するメモリ、実装形態特有の集積回路、機能回路を有する１つまたは複数の動作可能にプログラミングされた汎用デジタル・コンピュータなど、様々な形態のハードウェア、ソフトウェア、またはその組合せで実施できることを理解されたい。本明細書で提供される本発明の技法が与えられた場合、当業者は、本発明の技法の他の実装形態を企図することができよう。
【００４６】
したがって、本明細書で説明されたように、本発明の原理は、作業要求のクラスを処理するために遠隔の資源を用いるための技法を提供することである。このような技法は、ポリシーに基づいた、遠隔の資源を使用するための決定と、遠隔の資源の取得を含むことができる。このような技法はまた、ポリシーに基づき、要求側サイトに資源を提供するための決定、ならびに要求を処理するために使用される１組の基準の導出を含むことができる。さらに、このような技法は、要求分類基準に基づいて、ユーザ要求を分類するステップと、要求のクラスに基づいて、ユーザ要求の一部分を遠隔の資源に動的にかつ任意選択でリダイレクトするステップと、要求のクラスを処理するために遠隔の資源を動的にかつ任意選択で使用するステップとをさらに含む、ユーザ要求を処理するステップを含むことができる。さらに、このような技法は、ポリシーに基づき、遠隔の資源の使用を解放するステップを含むことができる。
【００４７】
本発明の例示的な諸実施形態が、添付の図面を参照して本明細書で述べられてきたが、本発明はこれらの正確な諸実施形態に限定されないこと、および本発明の範囲または趣旨を逸脱することなく、当業者により様々な他の変更および修正を加え得ることを理解されたい。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施形態による、複数のデータ・センタ中で選択的に作業負荷をオフロードすることを示すブロック／流れ図である。
【図２】本発明の実施形態による、資源の借用および作業負荷のオフロード要求プロセスを示す流れ図である。
【図３】本発明の実施形態による、資源の貸出しプロセスを示す流れ図である。
【図４】本発明の実施形態による、作業要求フローの処理を示すブロック／流れ図である。
【図５】本発明の実施形態による、選択的に作業負荷をオフロードする技法の、１つまたは複数のコンポーネント／ステップを実施できるコンピューティング・システムを示す図である。
【図１】
2008542871.tif 000003
【図２】
2008542871.tif 000004
【図３】
2008542871.tif 000005
【図４】
2008542871.tif 000006
【図５】
2008542871.tif 000007
2008542871.tif 000008
2008542871.tif 000009
2008542871.tif 000010
2008542871.tif 000011
2008542871.tif 000012
【国際調査報告】
2008542871.tif 000013