(57)【要約】【課題】グリッド・コンピューティング・システム上のデータ・オペレーションおよび実行資源の自律的管理のための装置、システム、および方法を提供すること。【解決手段】自律的管理装置が、モニタ・モジュール、ポリシー・モジュール、および調整モジュールを含む。モニタ・モジュールは、トリガ・イベントを求めてグリッド・コンピューティング・システムを監視するように構成される。ポリシー・モジュールは、複数のシステム・ポリシーのうちの１つにアクセスするように構成される。複数のシステム・ポリシーのそれぞれは、グリッド・コンピューティング・システムのシステム資源の動作制御パラメータに対応する。調整モジュールは、認識したトリガ・イベントに応答して、複数のシステム・ポリシーのうちの１つに従って、システム資源を自律的に調整するように構成される。トリガ・イベントは、予測トリガ・イベント、開始トリガ・イベント、調整トリガ・イベント、または終了トリガ・イベントでよい。【選択図】図３
2005182796.tif 000002
【特許請求の範囲】
【請求項１】
グリッド・コンピューティング・システム上のシステム資源の自律的管理のための自律的管理装置であって、
トリガ・イベントを求めて前記グリッド・コンピューティング・システムを監視するように構成されたモニタ・モジュールと、
複数のシステム・ポリシーのうちの１つにアクセスするように構成されたポリシー・モジュールであって、前記複数のシステム・ポリシーのそれぞれが、前記グリッド・コンピューティング・システムのシステム資源の動作制御パラメータに対応するポリシー・モジュールと、
認識したトリガ・イベントに応答して、前記複数のシステム・ポリシーのうちの１つに従って、前記システム資源を自律的に調整するように構成された調整モジュールとを備える装置。
【請求項２】
前記トリガ・イベントが、開始トリガ・イベント、調整トリガ・イベント、および予測トリガ・イベントのうち１つを含む請求項１に記載の装置。
【請求項３】
前記動作制御パラメータが、前記システム資源を調整するためのコマンドを含む請求項１に記載の装置。
【請求項４】
前記システム資源が、前記グリッド・コンピューティング・システムに割り振られたクライアント・プロセッサ容量、クライアント記憶容量、およびクライアント・メモリ容量のうち１つを含む請求項１に記載の装置。
【請求項５】
前記調整モジュールが、グリッド・システム・オペレーションのために前記システム資源を予約するように構成された予約モジュールを備える請求項１に記載の装置。
【請求項６】
前記調整モジュールが、グリッド・システム・オペレーションのためのシステム資源の予約を終了するように構成された終了モジュールを備える請求項１に記載の装置。
【請求項７】
前記調整モジュールが、アービトレーション・ポリシーに従って、矛盾するグリッド・システム・オペレーションを調停するように構成されたアービトレーション・モジュールを備える請求項１に記載の装置。
【請求項８】
前記調整モジュールが、システム資源プロファイルをストアするように構成されたプロファイル・モジュールと、クライアントのシステム資源を識別するシステム資源プロファイルと、前記クライアントによって前記グリッド・コンピューティング・システムに割り振られた前記システム資源とを備える請求項１に記載の装置。
【請求項９】
前記複数のシステム・ポリシーが、システム予測ポリシー、システム調整ポリシー、およびシステム終了ポリシーのうち少なくとも１つを含む請求項１に記載の装置。
【請求項１０】
グローバル自律的管理装置と共にグリッド・コンピューティング・システム上のシステム資源を自律的に管理するためのローカル自律的管理装置であって、
トリガ・イベントを求めて前記クライアントを監視するように構成されたモニタ・モジュールであって、前記トリガ・イベントが、開始トリガ・イベント、調整トリガ・イベント、および予測トリガ・イベントのうち１つを含むモニタ・モジュールと、
複数のクライアント・ポリシーのうちの１つにアクセスするように構成されたポリシー・モジュールであって、前記複数のクライアント・ポリシーのそれぞれが、クライアント資源の動作制御パラメータに対応するポリシー・モジュールと、
認識したトリガ・イベントに応答して、前記複数のクライアント・ポリシーのうちの１つに従って、前記クライアント資源を自律的に調整するように構成された調整モジュールと、
前記認識したトリガ・イベントを前記グローバル自律的管理装置に通知するように構成された通知モジュールとを備える装置。
【請求項１１】
クライアント・プロセッサ容量、クライアント記憶容量、およびクライアント・メモリ容量のうち１つを含むクライアント資源をシステム資源として割り振るように構成された割振りモジュールをさらに備える請求項１０に記載の装置。
【請求項１２】
システム資源として割り振られたクライアント資源を回収するように構成された回収モジュールをさらに備える請求項１０に記載の装置。
【請求項１３】
前記トリガ・イベントに応答してアプリケーション・プログラムを開始するように構成された開始モジュールをさらに備える請求項１０に記載の装置。
【請求項１４】
前記トリガ・イベントに応答してアプリケーション・プログラムを終了するように構成された終了モジュールをさらに備える請求項１０に記載の装置。
【請求項１５】
クライアント資源プロファイルをストアするためのプロファイル・モジュール構成をさらに備え、前記クライアント資源プロファイルが、前記クライアントによって前記グリッド・コンピューティング・システムに割り振られたクライアント資源を識別する請求項１０に記載の装置。
【請求項１６】
前記複数のクライアント・ポリシーが、クライアント予測ポリシー、クライアント開始ポリシー、クライアント調整ポリシー、およびクライアント終了ポリシーのうち少なくとも１つを含む請求項１０に記載の装置。
【請求項１７】
グリッド・コンピューティング・システム上のシステム資源の自律的管理のためのシステムであって、
トリガ・イベントを求めて監視するように構成された、前記グリッド・コンピューティング・システムに接続されたローカル自律的管理装置と、
前記ローカル自律的管理装置からトリガ・イベント通知を受信するように構成された、前記グリッド・コンピューティング・システムに接続されたグローバル自律的管理装置と、
複数のシステム・ポリシーのうちの１つにアクセスするように構成されたポリシー・モジュールであって、前記複数のシステム・ポリシーのそれぞれが、前記グリッド・コンピューティング・システムのシステム資源の動作制御パラメータに対応するポリシー・モジュールと、
認識したトリガ・イベントに応答して、前記複数のシステム・ポリシーのうちの１つに従って、前記システム資源を自律的に調整するように構成された調整モジュールとを備えるシステム。
【請求項１８】
前記ローカル自律的管理装置に関連するユーザ料金を決定するように構成された加入マネージャをさらに備え、前記ユーザ料金が、少なくとも部分的に前記システム資源の前記自律的調整に基づく請求項１７に記載のシステム。
【請求項１９】
割り振った実行資源を管理し、前記ローカル自律的管理装置にとって利用可能なサービスのレベルを制御するように構成された加入マネージャをさらに備え、前記サービスのレベルが、少なくとも部分的に前記システム資源の前記自律的調整に基づく請求項１７に記載のシステム。
【請求項２０】
グリッド・コンピューティング・システム上のシステム資源の自律的管理のための方法であって、
トリガ・イベントを求めて前記グリッド・コンピューティング・システムを監視するステップと、
前記グリッド・コンピューティング・システムのシステム資源の動作制御パラメータにそれぞれ対応する複数のシステム・ポリシーのうちの１つにアクセスするステップと、
認識したトリガ・イベントに応答して、前記複数のシステム・ポリシーのうちの１つに従って、前記システム資源を調整するステップとを含む方法。
【請求項２１】
グリッド・システム・オペレーションのために前記システム資源を予約するステップをさらに含む請求項２０に記載の方法。
【請求項２２】
グリッド・システム・オペレーションのためのシステム資源の予約を終了するステップをさらに含む請求項２０に記載の方法。
【請求項２３】
グリッド・コンピューティング・システム上のグリッド・システム資源の自律的管理のための方法であって、
開始トリガ・イベント、調整トリガ・イベント、および予測トリガ・イベントのうち１つを含むトリガ・イベントを求めて前記グリッド・コンピューティング・システムを監視するステップと、
複数のシステム・ポリシーのうちの１つにアクセスするステップであって、前記複数のシステム・ポリシーのそれぞれが、前記グリッド・コンピューティング・システムのシステム資源の動作制御パラメータに対応し、前記動作制御パラメータが、前記システム資源を調整するためのコマンドを含むステップと、
認識したトリガ・イベントに応答して、前記複数のシステム・ポリシーのうちの１つに従って、前記システム資源を調整するステップであって、前記システム資源が、前記グリッド・コンピューティング・システムに割り振られたクライアント・プロセッサ容量、クライアント記憶容量、クライアント・メモリ容量のうち１つを含むステップと、
クライアントのシステム資源を識別するシステム資源プロファイルをストアするステップであって、前記システム資源が、前記クライアントによって前記グリッド・コンピューティング・システムに割り振られるステップとを含む方法。
【請求項２４】
グリッド・コンピューティング・システム上のシステム資源の自律的管理のための方法を実施するように構成されたコンピュータ可読コードを含むコンピュータ可読記憶媒体であって、前記方法が、
トリガ・イベントを求めて前記グリッド・コンピューティング・システムを監視するステップと、
前記グリッド・コンピューティング・システムのシステム資源の動作制御パラメータにそれぞれ対応する複数のシステム・ポリシーのうちの１つにアクセスするステップと、
認識したトリガ・イベントに応答して、前記複数のシステム・ポリシーのうちの１つに従って、前記システム資源を調整するステップとを含むコンピュータ可読記憶媒体。
【請求項２５】
前記トリガ・イベントが、開始トリガ・イベント、調整トリガ・イベント、および予測トリガ・イベントのうち１つを含む請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２６】
前記方法が、グリッド・システム・オペレーションのために前記システム資源を予約するステップをさらに含む請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２７】
前記方法が、グリッド・システム・オペレーションのためのシステム資源の予約を終了するステップをさらに含む請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記方法が、アービトレーション・ポリシーに従って、矛盾するグリッド・システム・オペレーションを調停するステップをさらに含む請求項２４に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記方法が、クライアントのシステム資源を識別するシステム資源プロファイルをストアするステップであって、前記システム資源が、前記クライアントによって前記グリッド・コンピューティング・システムに割り振られるステップをさらに含む請求項２４に記載のコンピュータ可読記憶媒体。
【請求項３０】
グリッド・コンピューティング・システム上のグリッド・システム資源の自律的管理のための装置であって、
トリガ・イベントを求めて前記グリッド・コンピューティング・システムを監視する手段と、
前記グリッド・コンピューティング・システムのシステム資源の動作制御パラメータにそれぞれ対応する複数のシステム・ポリシーのうちの１つにアクセスする手段と、
認識したトリガ・イベントに応答して、前記複数のシステム・ポリシーのうちの１つに従って、前記システム資源を調整する手段とを備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はグリッド・コンピューティングに関し、より詳細には、グリッド・コンピューティング・システム内の実行資源（performance resource）の自律的（autonomic：オートノミック）制御に関する。
【背景技術】
【０００２】
グリッド・コンピューティングは、コンピュータ産業において比較的新しい技術である。現在の多くのグリッド・コンピューティング・システムは、複数の相互接続されたコンピュータ、すなわちノードが、単一マシン上では行うことが不可能な、計算問題など大規模なグリッド・アプリケーション上で一緒に動作することを可能とするように設計される。そうした圧倒的な計算処理量を現実的に管理するために、計算問題を、いくつかのより小さく、より管理可能なジョブに分割することができる。このタイプのグリッド・アプリケーションの共有（shared）処理は、一部には、多くのパーソナル・コンピュータおよびビジネス・コンピュータの強制的に、または偶然にアイドルのプロセッサ時間があるために可能である。
【０００３】
加えて、グリッド・コンピューティング・システムにより、システム内の複数のノードにわたる共用ストレージ（shared storage）が可能となる。このようにして、例えばバックアップの形で、データをシステム上にリモートにストア（store）することができ、大量のデータを単一ノードによって仮想的にストアすることが可能となる。
【０００４】
グリッド・コンピューティング・システムを設計および実装する際の重要な問題の１つが資源（resource：リソース）管理である。グリッド・コンピューティング・システムにとって利用可能な実行資源（performanceresource）の管理は、システムの有効性にとっての基本である。例えば、グリッド・コンピューティング・システム内の多数のノードから様々な異なるストレージ資源、メモリ資源、および処理資源が利用可能である場合、何らかの方法で、こうした実行資源をグリッド・システム内で組織的および生産的な形で使用しなければならない。
【０００５】
従来のグリッド・システムは通常、オペレーションおよびコマンドが単に所与の刺激（stimulus）に応答して実行される刺激−反応環境を実装する。例えば、グリッド・アプリケーションが一定のプロセッサ容量または特定の記憶空間量を必要とする場合、そのプロセッサ容量または記憶空間の量を、単にグリッド・アプリケーションの実行に割り当てることができるだけである。このタイプの刺激−反応環境は、多数の実行資源の動的な割振り（allocate）、回収（reclaim）、予約（reserve）などを可能にする分散コンピューティングの動的性質の主要な要因とはならない。こうした動的環境内のグリッド・アプリケーション・オペレーションを調節することができないために、単純な刺激−反応環境に順応するようにグリッド・コンピューティング・オペレーションを比較的単純に保たなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、グリッド・コンピューティング・システム上の実行資源の好ましい自律的（autonomic）制御を容易にする装置、システム、および方法が求められている。こうした装置、システム、および方法が、グリッド・アプリケーションおよびグリッド・コンピューティング・システムに関する現在の制約を克服することができれば有益である。
【課題を解決するための手段】
【０００７】
本発明は、現況技術に応えて、具体的には、現在利用可能なグリッド・コンピューティング・システムではまだ完全に解決されていない当技術分野の問題および必要に応えて生み出された。したがって、本発明は、当技術分野における上記で議論した欠点の多くまたはすべてを克服する、グリッド・コンピューティング・システム上のグリッド・システム資源の自律的管理のための装置、システム、および方法を提供するために生み出された。
【０００８】
グリッド・コンピューティング・システム上のグリッド・システム資源の自律的管理のための装置は、グリッド・コンピューティング・システム上のグリッド・システム資源の自律的管理（autonomic management）に必要なステップを機能的に実行するように構成された複数のモジュールを含む論理装置を備える。記載の実施形態でのこうしたモジュールは、グローバル・モニタ・モジュール、グローバル・ポリシー・モジュール、グローバル調整モジュール、グローバル予約モジュール、グローバル終了モジュール、グローバル・アービトレーション・モジュール、およびグローバル・プロファイル・モジュールを含む。
【０００９】
本発明のシステムは、グリッド・コンピューティング・システム上のグリッド・システム資源の自律的管理のためにも提示される。このシステムは、ローカル・エリア・ネットワーク、広域ネットワーク、ローカル・エリア・ネットワークと広域ネットワークの組合せ、１つまたは複数のワイヤレス・ネットワーク、インターネット・ベースのグリッド・コンピューティング・ネットワーク、またはその他の任意の数のグリッド・コンピューティング環境で具体化することができる。具体的には、一実施形態では、このシステムは、グローバル自律的管理装置、ローカル自律的管理装置、ポリシー・モジュール、および調整モジュールを含む。このシステムは、グリッド・コンピューティング・システムに接続された各クライアントの加入料金（fee subscription）を管理するように構成された加入マネージャ（subscription manager）をさらに含む。
【００１０】
グリッド・コンピューティング・システム上のグリッド・システム資源の自律的制御のためにクライアントも提示される。一実施形態では、このクライアントは、グリッド・コンピューティング・システム上のグリッド・システム資源の自律的制御に必要なステップを機能的に実行するように構成された複数のモジュールを含む論理装置を備える。記載の実施形態でのこうしたモジュールは、クライアント・モニタ・モジュール、クライアント・ポリシー（policy）・モジュール、クライアント通知（notification）モジュール、クライアント割振り（allocation）モジュール、クライアント回収（reclamation：再利用）モジュール、クライアント開始（initiation）モジュール、クライアント終了（termination）モジュール、およびクライアント・プロファイル（profile）・モジュールを含む。
【００１１】
グリッド・コンピューティング・システム上のグリッド・システム資源の自律的管理のための本発明による方法も提示される。記載の実施形態での方法は、実質上、記載の装置およびシステムの動作に関連して上記で提示した機能を実行するのに必要なステップを含む。一実施形態では、この方法は、トリガ・イベントを求めてグリッド・コンピューティング・システムを監視するステップと、複数のシステム・ポリシーのうちの１つにアクセスするステップと、その複数のシステム・ポリシーのうちの１つに従って認識したトリガ・イベントに応答してシステム資源を調整するステップとを含む。ある実施形態では、複数のシステム・ポリシーはそれぞれ、グリッド・コンピューティング・システムのシステム資源の動作制御パラメータに対応する。さらに、トリガ・イベントは、開始トリガ・イベント、調整（regulation）トリガ・イベント、または予測（prediction）トリガ・イベントでよい。
【００１２】
この方法はまた、グリッド・システム・オペレーションのためのシステム資源を予約するステップと、グリッド・システム・オペレーションのためのシステム資源の予約を終了するステップと、アービトレーション（arbitration）・ポリシーに従ってグリッド・システム・オペレーションの矛盾（conflicting）を調停するステップと、システム資源プロファイルをストアするステップとを含むことができる。一実施形態では、システム資源プロファイルは、グリッド・システムに割り振られたクライアント資源を識別する（identify）。
【００１３】
有益なことに、本発明の一実施形態により、動的に割り振られた実行資源をグリッド・コンピューティング環境内で自律的に管理することが可能となる。加えて、有益なことに、本発明の別の実施形態により、クライアントが、グリッド・コンピューティング・システム内で実行資源を自律的に割り振り、回収することが可能となる。有益なことに、別の実施形態により、グローバル自律的管理装置が、特定のグリッド・アプリケーションおよびグリッド・オペレーションのために、割り振られた実行資源を自律的に予約することが可能となる。
【００１４】
本明細書全体を通して、機能（feature）、利点、または類似の言葉への言及は、本発明で実現することのできる機能および利点のすべてが本発明の何らかの単一の実施形態であるべきこと、または何らかの単一の実施形態であることを示唆するわけではない。むしろ、機能および利点を指す言葉は、一実施形態に関連して述べる特定の機能、利点、または特徴が本発明の少なくとも１つの実施形態に含まれることを意味すると理解されたい。したがって、本明細書全体を通して、機能および利点ならびに類似の言葉についての議論は、必ずしもそうではないが、同一の実施形態を指すことがある。
【００１５】
さらに、本発明の記載の機能、利点、および特徴は、１つまたは複数の実施形態で適切な形で組み合わせることができる。特定の実施形態の特定の機能または利点のうち１つまたは複数がなくても本発明を実施できることを関連技術分野の技術者は理解されよう。他の例では、本発明のすべての実施形態では提示することのできないある実施形態で、追加の機能および利点を理解することができる。
【００１６】
本発明のこうした機能および利点は、以下の説明および添付の特許請求の範囲からより完全に明らかとなるであろう。または以下で説明する本発明を実施することによって理解することもできる。
【００１７】
本発明の利点を容易に理解できるように、上記で簡潔に述べた本発明のより具体的な説明を、添付の図面で示される特定の実施形態を参照することによって示す。こうした図面が本発明の典型的な実施形態を示すに過ぎず、したがって本発明の範囲を限定するものと理解すべきでないことを理解した上で、添付の図面を使用することにより、本発明をさらに具体的かつ詳細に説明する。
【発明を実施するための最良の形態】
【００１８】
本明細書で説明する機能単位（functional unit）の実装の独立性をより具体的に強調するために、その機能単位の多くをモジュールと呼んでいる。例えば、カスタムＶＬＳＩ回路またはゲート・アレイ、論理チップ、トランジスタ、その他の離散的（discrete）構成部品などの既製の半導体を含むハードウェア回路としてモジュールを実装することができる。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル・ロジック・デバイスなどのプログラマブル・ハードウェア装置として実装することもできる。
【００１９】
モジュールはまた、様々なタイプのプロセッサによって実行されるソフトウェアとして実装することもできる。実行可能コードの識別されるモジュールは、例えばコンピュータ命令の１つまたは複数の物理／論理ブロックを含むことができ、コンピュータ命令の１つまたは複数の物理／論理ブロックは、例えばオブジェクト、プロシージャ、または関数（function）として編成することができる。それでも、識別されるモジュールの実行可能コードを物理的に一緒に配置する必要はなく、実行可能コードは、異なる場所にストアされた異なる命令を含むことができ、その異なる命令が、論理的に互いに結合されたときに、モジュールを含み、そのモジュールに関する規定の（stated）目的を達成する。
【００２０】
実際には、実行可能コードのモジュールは、単一の命令または多数の命令であってもよく、さらには、いくつかの異なるコード・セグメント、異なるプログラム間、いくつかのメモリ装置にわたって分散することができる。同様に、本明細書では動作データをモジュール内で識別し、示すことができ、どんな適切な形でも具体化することができ、どんな適切なタイプのデータ構造内でも編成することができる。動作データは、単一データ・セットとして収集することができ、また様々な記憶装置、別個のメモリ装置を含む様々な場所にわたって分散することができ、少なくとも部分的には、単にシステムまたはネットワーク上の電子信号として存在することができる。
【００２１】
さらに、モジュールは、ソフトウェアと１つまたは複数のハードウェア装置の組合せとして実装することもできる。例えば、モジュールは、メモリ装置上にストアされたソフトウェア実行可能コードの組合せとして具体化することができる。別の例では、モジュールは、１組の動作データに対して動作するプロセッサの組合せでよい。さらに、モジュールは、伝送回路を介して通信される電子信号の組合せとして実装することができる。
【００２２】
本明細書全体を通して、「一実施形態」または類似の言葉への言及は、その実施形態に関連して説明される特定の機能、構造、または特徴が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体を通して「一実施形態」という語句または類似の言葉の出現は、必ずしもそうではないが、すべて同一の実施形態を指すことがある。
【００２３】
さらに、本発明の記載の機能、構造、または特徴は、１つまたは複数の実施形態において適切などんな方式でも組み合わせることができる。以下の説明では、本発明の実施形態の完全な理解を与えるために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース照会、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップの例などの多数の特定の詳細を提供する。しかし、その特定の詳細のうちの１つまたは複数を用いずに、またはその他の方法、構成要素、材料などを用いて本発明を実施できることを関連技術分野の技術者は理解されよう。他の例では、本発明の態様をあいまいにするのを避けるため、周知の構造、材料、およびオペレーションを詳細には図示または説明しない。
【００２４】
図１に、通信チャネル１１２を介して複数のクライアント１０４〜１１０、すなわちノードに接続されたグリッド・サーバ１０２を備えるグリッド・システム１００を示す。図示するグリッド・システム１００は、ローカル・エリア・ネットワーク（ＬＡＮ）と類似しており、通信チャネル１１２は、一実施形態では、イーサネット（Ｒ）通信チャネル、ワイヤレス通信チャネル、または他の等価な通信チャネルでよい。同様に、通信チャネル１１２は、様々なタイプの通信チャネルの組合せを含むことができる。図示するグリッド・システム１００は、１つのグリッド・サーバ１０２および４つのクライアント１０４、１０６、１０８、１１０を含むが、グリッド・システム１００は、より少数または多数のクライアント１０４〜、複数のサーバ１０２、または代替サーバ構成を有する様々なネットワーク構成の組合せを含むことができる。別の実施形態では、グリッド・システム１００は、図２に関連して説明する加入（subsription）マネージャ（図示せず）も含むことができる。一実施形態では、グリッド・サーバ１０２は並行してグリッド・システム１００の加入マネージャとして働くことができる。
【００２５】
一実施形態では、グリッド・システム１００は、グリッド・アプリケーションを実行するように構成される。グリッド・アプリケーションは、指定の目的を共に達成する作業項目（work item）の集合である。例えば、グリッド・アプリケーションは、天気予報、株式市況などを含む非常に複雑な数学的計算を求めることができる。グリッド・アプリケーションはまた、大規模マルチメディア・オペレーションも処理することができる。別の実施形態では、グリッド・アプリケーションは、大量かつ多様なデータに関するデータ・バックアップ・オペレーションを実行することができる。こうした各方式（scenario）において、グリッド・アプリケーションの実行により、グリッド・システム１００内のいくつかのノード１０４〜１１０の協働が必要となる可能性がある。
【００２６】
グリッド・アプリケーションは、ジョブ、すなわち作業の一単位に分割することができる。グリッド・アプリケーションのいくつかのジョブは、様々なノード１０４〜１１０のうち１つまたは複数の上で並列に、順次に、または共依存的に（co-dependently）実行することができる。各ノード１０４〜１１０は、グリッド・アプリケーションの実行のために、グリッド・システム１００に一定の実行資源を割り振ることができる。クライアント１０４〜１１０によって利用可能にされるこうした実行資源は、プロセッサ能力、プロセッサ容量、記憶容量、メモリ容量、およびその他の類似の資源を含むことができる。一実施形態では、クライアント１０４〜１１０は、グリッド・アプリケーションの実行のために、プロセッサ能力、記憶容量、またはメモリ容量の特定の全量をグリッド・システム１００に対して提供することができる。
【００２７】
各クライアント１０４〜１１０は、特定のグリッド・アプリケーションでのクライアント１０４〜１１０の役割に応じて、ソース・クライアントまたは資源クライアントのどちらかとして動くことができる。例えば、クライアント１０４〜１１０がグリッド・アプリケーションを開始する場合、クライアント１０４〜１１０は、ソース・クライアントとして働くことができる。あるいは、クライアント１０４〜１１０が、リモートに開始されたグリッド・アプリケーションの実行のためにローカル実行資源を利用可能にする場合、クライアント１０４〜１１０は資源クライアントとして働くことができる。例えば、グリッド・バックアップ・オペレーションの場合、ソース・クライアントは、１つまたは複数の資源クライアント上にバックアップ・データ・ファイルを有することができ、資源クライアントは、そうしたバックアップ・グリッド・アプリケーションのために、グリッド・システム１００に何らかの利用可能な記憶装置（storage）を割り振る。別の実施形態では、グリッド・サーバ１０２は、ネットワーク１００に対してサーバ１０２として働くことに加えて、グリッド・アプリケーションを開始することができ、ローカル実行資源をグリッド・システム１００から利用可能にすることができるので、グリッド・システム１００上のクライアントとして働くこともできる。
【００２８】
図２に、図１のグリッド・システム１００とある面で類似しているグリッド・システム２００の別の実施形態を示す。図示するグリッド・システム２００は、インターネット２０２を介して動作することができ、インターネット２０２は、グリッド・システム２００の様々な他の構成要素間の通信チャネルを提供する。図示するグリッド・システム２００は、図１に示すグリッド・システム１００と類似の、図２のグリッド・システム２００内でサブシステムを形成するネットワーク・システム２０４、２０６も含む。加えて、グリッド・システム２００は、ローカル・ネットワークの一部ではないという点でインターネットに直接接続された他のクライアント２０８、２１０を含むことができる。
【００２９】
グリッド・システム２００はまた、グリッド・コンピューティング・システム２００へのクライアントの加入を管理する加入マネージャ２１２も含むことができる。一実施形態では、加入マネージャは、クライアントがグリッド・システム資源を使用し、またはグリッド・コンピューティング・システム１００から一定レベルのサービスを期待することに関するクライアント料金または許可の点から、加入クライアントによるグリッド・システム１００の使用を管理することができる。あるいは、加入マネージャ２１２は、グリッド・システム２００内の他のネットワーク・システム２０４、２０６に接続することもできる。別の実施形態では、グリッド・システム２００は、独立に定義した加入グループをそれぞれ管理する複数の加入マネージャ２１２を有することができる。
【００３０】
上述のように、図１および２に示すグリッド・システム１００、２００の代わりに、またはそれに加えて、他の類似のグリッド・システム構成を利用することができる。以下の説明では、グリッド・システム１００、２００のどちらかへの言及は、グリッド・システム１００、２００の一方を明示的に除外しない限り、グリッド・システム１００、２００の一方または両方を交換可能に指すことを意味する。
【００３１】
図３に、グローバル自律的マネージャ３００の一実施形態を示す。一実施形態では、図示するグローバル自律的マネージャ３００は、グリッド・システム１００上の実行資源の自律的制御を容易にするように構成される。一実施形態では、グローバル自律的マネージャ３００は、中央演算処理装置（ＣＰＵ）３０２、ローカル記憶装置３０４、ユーザ・インターフェース３０６、ネットワーク・インターフェース３０８、メモリ３１０、およびグローバル自律的管理装置３１２を含む。ＣＰＵ３０２は、一般にグローバル自律的マネージャ３００内のオペレーションを実行するように構成される。一実施形態では、ユーザ・インターフェース３０６は、ユーザからのデータおよびコマンドの入力を可能にし、出力データをユーザに通信することを可能にすることを含めて、ユーザがグローバル自律的マネージャ３００と対話する（interact）ことを可能にするように構成される。一実施形態では、ネットワーク・インターフェース３０８は、グリッド・ネットワーク１００の通信チャネル１１２を介するグローバル自律的マネージャ３００のネットワーク通信を容易にするように構成される。
【００３２】
一実施形態では、ローカル・メモリ３１０は、グリッド実行資源の自律的制御と共に使用することができるいくつかのデータおよびメタデータ（metadata）・ファイルをストアするように構成される。代替実施形態では、こうしたデータおよびメタデータ・ファイルの一部またはすべてをローカル記憶装置３０４に複写することができる。別の実施形態では、こうしたデータおよびメタデータ・ファイルのうち１つまたはすべてを、メモリ３１０にではなくローカル記憶装置３０４に排他的にストアすることができる。同様に、こうしたデータおよびメタデータ・ファイルは、ローカル・メモリ３１０と記憶装置３０４の組合せにストアすることができる。別の実施形態では、こうしたデータおよびメタデータ・ファイルのうち１つまたはすべてを、グリッド・システム１００上の分散記憶装置にストアすることができる。この説明では「ファイル」に言及するが、本発明は他の電子メモリおよび記憶構造を使用してほぼ同様に動作することを理解されたい。本明細書でのデータ・ファイルまたはメタデータ・ファイルへの言及は、他のこうした電子メモリおよび記憶構造を等しく指すことを理解されたい。
【００３３】
具体的には、メモリ３１０は、システム資源プロファイル３１４、１つまたは複数のシステム予測ポリシー３１６、１つまたは複数のシステム調整ポリシー３１８、１つまたは複数のシステム終了ポリシー３２０、および１つまたは複数のシステム・アービトレーション・ポリシー３２１をストアすることができる。一実施形態では、システム資源プロファイル３１４は、グリッド・システム１００専用の特定の実行資源、またはグリッド・システム１００に割り振られた特定の実行資源を示す１つまたは複数のパラメータをストアするように構成される。一実施形態では、システム予測ポリシー３１６は、１つまたは複数の予測トリガ・イベントを定義するように構成され、認識した予測トリガ・イベントに応答してグローバル自律的マネージャ３００がどのような動作を行うかを示すように構成される。
【００３４】
同様に、一実施形態では、システム調整ポリシー３１８は、１つまたは複数の調整トリガ・イベントを定義するように構成され、認識した調整トリガ・イベントに応答してグローバル自律的マネージャ３００がどのような動作を行うかを示すように構成される。同様に、一実施形態では、システム終了ポリシー３２０は、１つまたは複数の終了トリガ・イベントを定義するように構成され、認識した終了トリガ・イベントに応答してグローバル自律的マネージャ３００がどのような動作を行うかを示すように構成される。さらに、一実施形態では、システム・アービトレーション・ポリシー３２１は、認識した矛盾（conflict）に応答してグローバル自律的マネージャ３００がどのような動作を行うかを示す１つまたは複数のアービトレーション・ポリシーをストアするように構成される。
【００３５】
トリガ・イベントは、上述のポリシー３１６、３１８、３２０、３２１のうち１つで定義される任意の動作を含むことができる。例えば、トリガ・イベントは、データ・フローの変化、時間の変化、スケジュールした時間、グリッド・オペレーション、クライアント・オペレーション、自動オペレーション、手動オペレーション、ユーザ要求、あるいは上記およびその他のタイプのクライアント、グリッド、ユーザ、およびその他の監視する動作の様々な組合せのいずれかを含むことができる。
【００３６】
一実施形態では、グローバル自律的管理装置３１２は、グリッド・システム１００上の実行資源の自律的制御を容易にするように構成される。図示するグローバル自律的管理装置３１２は、グローバル・モニタ・モジュール３２２、グローバル・ポリシー・モジュール３２４、およびグローバル調整モジュール３２６を含む。
【００３７】
一実施形態では、グローバル・モニタ・モジュール３２２は、システム予測ポリシー３１６、システム調整ポリシー３１８、またはシステム終了ポリシー３２０のうち１つで定義されるトリガ・イベントを求めてグリッド・システム１００を監視するように構成される。一実施形態では、グローバル・ポリシー・モジュール３２４は、ユーザがシステム予測ポリシー３１６、システム調整ポリシー３１８、またはシステム終了ポリシー３２０にアクセスし、それを定義することが可能となるように構成される。
【００３８】
一実施形態では、グローバル調整モジュール３１２は、認識したトリガ・イベントに応答して、システム予測ポリシー３１６、システム調整ポリシー３１８、またはシステム終了ポリシー３２０に従って、グリッド・システム１００上の実行資源を自律的に調整するように構成される。図示するグローバル調整モジュール３２６は、グローバル予約モジュール３２８、グローバル終了モジュール３３０、グローバル・アービトレーション・モジュール３３２、およびグローバル・プロファイル・モジュール３３４を含む。
【００３９】
一実施形態では、グローバル予約モジュール３２８は、特定のグリッド・アプリケーションまたはグリッド・システム・オペレーションのためにグリッド・システム１００上の実行資源を予約するように構成される。同様に、一実施形態では、グローバル終了モジュール３３０は、特定のグリッド・アプリケーションのための実行資源の予約を終了するように構成される。このようにして、グローバル自律的管理装置３１２は、特定のグリッド・アプリケーションまたはジョブの実行のために、グリッド・システム１００の割り振ったある実行資源を割り当てることができ、かつ割当て解除することができる。
【００４０】
一実施形態では、グローバル・アービトレーション・モジュール３３２は、競合するグリッド・アプリケーション要件および矛盾する実行資源の割当てを調停するように構成される。例えば、グローバル・アービトレーション・モジュール３３２は、現在使用中の実行資源に割り当てられるジョブの割当ておよび実行を一時的に中断する（suspend）ことができる。別の実施形態では、グローバル・アービトレーション・モジュールは、矛盾するグリッド・システム・オペレーションとローカル・クライアント・オペレーションを調停するように構成することができる。例えば、クライアント１０４〜１１０は、グリッド・システム１００で使用するように以前に割り当てられた実行資源を回収することができる。この場合、打ち切ったグリッド・オペレーションを再実行するか、または代替の実行資源を割り当て、中断したグリッド・オペレーションを完了することが必要となる可能性がある。
【００４１】
一実施形態では、グローバル・プロファイル・モジュール３３４は、システム資源プロファイル３１４を管理するように構成することができる。一実施形態では、グローバル・プロファイル・モジュール３３４は、グリッド・システム１００全体にわたって、利用可能な実行資源を追跡する（track）ことができる。別の実施形態では、グローバル・プロファイル・モジュール３３４はまた、グリッド・システム１００上の利用可能な実行資源の使用率（usage）も追跡することができる。加えて、グローバル・プロファイル・モジュール３３４は、システム資源プロファイル３１４を、クライアント１０４〜１１０の１つまたは複数の上の類似のプロファイルと同期するように構成することができる。
【００４２】
図４に、グリッド・システム１００内のソース・クライアントまたは資源クライアントのどちらかとして動作することのできるクライアント４００の一実施形態を示す。図３のグローバル自律的マネージャ３００と同様に、クライアント４００は、ＣＰＵ４０２、ローカル記憶装置４０４、ユーザ・インターフェース４０６、ネットワーク・インターフェース４０８、およびメモリ４１０を含む。図示するクライアント４００はまた、ローカル自律的管理装置４１２も含む。クライアント４００のＣＰＵ４０２、ユーザ・インターフェース４０６、およびネットワーク・インターフェース４０８は実質上、グローバル自律的マネージャ３００のＣＰＵ３０２、ユーザ・インターフェース３０６、およびネットワーク・インターフェース３０８と同様である。
【００４３】
一実施形態では、メモリ４１０は、クライアント資源プロファイル４１４、１つまたは複数のクライアント予測ポリシー４１６、１つまたは複数のクライアント開始ポリシー４１８、１つまたは複数のクライアント調整ポリシー４２０、および１つまたは複数のクライアント終了ポリシー４２２をストアするように構成することができる。クライアント資源プロファイル４１４は、グローバル自律的マネージャ３００のシステム資源プロファイル３１４と同様でよい。しかし、クライアント資源プロファイル４１４は、グリッド・システム１００専用の特定の実行資源を示す１つまたは複数のパラメータをクライアント４００によってストアするように構成される。例えば、クライアントは、帯域幅、記憶域（storage）、メモリ、プロセッサ・サイクル、入出力装置などをグリッド・アプリケーションのために使用するように提供することができる。
【００４４】
クライアント予測ポリシー４１６、クライアント調整ポリシー４２０、およびクライアント終了ポリシー４２２は、それぞれグローバル自律的マネージャ３００上のシステム予測ポリシー３１６、システム調整ポリシー３１８、およびシステム終了ポリシー３２０と同様でよい。例えば、クライアント予測ポリシー４１６は、要求側クライアント４００から発信されるグリッド・アプリケーションを予期してグローバル自律的管理装置３１２がグリッド実行資源を予約することを要求するポリシーを含むことができる。
【００４５】
しかし、こうしたクライアント・ポリシー４１６、４２０、４２２は、グリッド・システム１００専用のクライアント実行資源の点から、クライアント４００に特有である可能性がある。例えば、クライアント調整ポリシー４２０は、クライアント４００から発信されるグリッド・オペレーションの量に従ってクライアント実行資源の割振りを調整するポリシーを含むことができる。ある実施形態では、クライアント４００がかなりの量のグリッド・システム・オペレーションを開始している場合、クライアント４００は、クライアント調整ポリシー４２０に従って、グリッド・システム１００に追加の実行資源を割り振ることができる。
【００４６】
一実施形態では、クライアント開始ポリシー４１６は、所与の開始トリガ・イベントに応答してクライアント４００がどのような動作を行うかを示すポリシーを含む。例えば、クライアント開始ポリシー４１６は、グリッド・アプリケーションが開始するときを調整するポリシーを含むことができる。例えば、クライアント開始ポリシー３１６は、作業時間の後、昼食時の間、クライアント・プロセッサが指定の期間遊休状態（idle）であるときなどにのみグリッド・アプリケーションを開始するように指定することができる。
【００４７】
一実施形態では、図示するローカル自律的管理装置４１２は、グリッド・システム１００上の実行資源の自律的制御を容易にするように構成することができる。図示するローカル自律的管理装置４１２は、クライアント・モニタ・モジュール４２４、クライアント・ポリシー・モジュール４２６、クライアント通知モジュール４２８、およびクライアント調整モジュール４３０を含む。
【００４８】
一実施形態では、クライアント・モニタ・モジュール４２４は、クライアント予測ポリシー４１６、クライアント開始ポリシー４１８、クライアント調整ポリシー４２０、またはクライアント終了ポリシー４２２の１つで定義されるトリガ・イベントを求めてクライアント４００を監視するように構成される。一実施形態では、クライアント・ポリシー・モジュール４２６は、ユーザがクライアント予測ポリシー４１６、クライアント開始ポリシー４１８、クライアント調整ポリシー４２０、またはクライアント終了ポリシー４２２にアクセスし、それを定義することが可能となるように構成される。一実施形態では、クライアント通知モジュール４２８は、クライアント資源プロファイル４１４の修正、グリッド・アプリケーションの開始、グリッド・アプリケーションの終了などのクライアント４００上の該当する活動をグローバル自律的マネージャ３００に通知するように構成される。
【００４９】
一実施形態では、クライアント調整モジュール４３０は、認識したトリガ・イベントに応答して、クライアント予測ポリシー４１６、クライアント開始ポリシー４１８、クライアント調整ポリシー４２０、またはクライアント終了ポリシー４２２に応答して、クライアント４００上の実行資源を自律的に調整するように構成される。図示するクライアント調整モジュール４３０は、クライアント割振りモジュール４３２、クライアント回収モジュール４３４、クライアント開始モジュール４３６、クライアント終了モジュール４３８、およびクライアント・プロファイル・モジュール４４０を含む。
【００５０】
一実施形態では、クライアント割振りモジュール４３２は、クライアント資源プロファイル４１４に従ってグリッド・システム１００にクライアント実行資源を割り振るように構成される。上述のように、クライアント実行資源は、クライアント・アクセス可能性、クライアント帯域幅、クライアント・プロセッサ、クライアント記憶装置、クライアント・メモリなどを含む、クライアント４００がグリッド・システム・オペレーションのために利用可能にすることのできるどんな実行資源でもよい。同様に、一実施形態では、クライアント回収モジュール４３４は、グリッド・システム１００に割り振られるクライアント実行資源を回収する（reclaim）ように構成される。クライアント実行資源を回収することにより、資源がグリッド・システム１００にとって利用不能となる。したがって、グローバル自律的管理装置３１２は、グローバル予約モジュール３２８を介して、回収されたクライアント実行資源を予約することができない。このようにして、ローカル自律的管理装置４１２は、例えばグリッド・システム１００上の実行資源がクライアント４００によって使用されていないときに、そうした実行資源を割り振り、回収することができる。
【００５１】
一実施形態では、クライアント開始モジュール４３６は、開始トリガ・イベントに応答して、クライアント開始ポリシー４１８に従って、グリッド・システム１００上のグリッド・アプリケーションを開始するように構成される。同様に、一実施形態では、クライアント終了モジュール４３８は、終了トリガ・イベントに応答して、クライアント終了ポリシー４２２に従って、クライアント４００によって開始されたグリッド・アプリケーションを終了するように構成される。
【００５２】
一実施形態では、クライアント・プロファイル・モジュール４４０は、クライアント資源プロファイル４１４を管理するように構成することができる。一実施形態では、クライアント・プロファイル・モジュール４４０は、割り振られたクライアント実行資源を追跡することができる。別の実施形態では、クライアント・プロファイル・モジュール４４０はまた、割り振られたクライアント実行資源の使用率も追跡することができる。加えて、クライアント・プロファイル・モジュール４４０は、クライアント資源プロファイル４１４を、グローバル自律的マネージャ３００上のシステム資源プロファイル３１４と同期するように構成することができる。
【００５３】
以下の流れ図は、概して論理流れ図として説明される。したがって、図示する順序および符号を付けたステップは、提示のプロセスの一実施形態を示す。機能、論理、または効果として等価な他のステップおよびプロセスも考えることができる。加えて、使用するフォーマットおよび記号は、プロセスの論理ステップを説明するように与えられ、それらがプロセスの範囲を限定するものと理解すべきではない。同様に、流れ図で様々な矢印の種類や線の種類を使用することがあるが、それらが対応するプロセスの範囲を限定するものと理解すべきではない。実際、一部の矢印またはその他の結合子は、プロセスの論理的流れだけを示すのに使用されることがある。例えば、矢印は、図示するプロセスの列挙するステップ間の無指定の期間の待機または監視を示すことがある。
【００５４】
図５に、クライアント４００上のローカル自律的管理装置４１２によって使用することができる自律的開始方法５００の一実施形態を示す。図示する自律的開始方法５００は、クライアント４００が、開始トリガ・イベントを求めて監視する（５０４）ときに開始する（５０２）。一実施形態では、クライアント４００は、開始トリガ・イベントを求めて監視するのにクライアント・モニタ・モジュール４２４を使用することができる。一実施形態では、開始トリガ・イベントは、クライアント開始ポリシー４１８のうちの１つで定義される。
【００５５】
自律的開始方法５００は、定義された開始トリガ・イベントをクライアント４００が認識する（５０８）まで、開始トリガ・イベントを求めて監視（５０４）し続ける（５０６）。次いでクライアント４００は、クライアント開始ポリシー４１８によって示される適切なグリッド・アプリケーションを開始する。一実施形態では、クライアント４００は、クライアント開始モジュール４３６を使用して、グリッド・アプリケーションを開始し、クライアント通知モジュール４２８を介してグローバル自律的マネージャ３００に通知する。次いでクライアント４００は、グリッド・アプリケーションが完了する（５１４）まで、グリッド・システム１００を介してグリッド・アプリケーションを実行する。次いで、図示する自律的開始方法５００は終了する（５１６）。
【００５６】
図６に、グローバル自律的マネージャ３００上のグローバル自律的管理装置３１２またはクライアント上のローカル自律的管理装置４１２で使用することができる自律的調整方法６００の一実施形態を示す。図示する自律的調整方法６００は、上述の自律的開始方法５００と同様に開始する（６０２）。実際、一実施形態では自律的調整方法６００は、自律的開始方法５００とほぼ同じステップ６０４、６０６、６０８をたどってグリッド・アプリケーションを開始する（６１０）。
【００５７】
しかし、グリッド・アプリケーション・オペレーションがグリッド・システム１００上で実行している（６１２）間、かつグリッド・アプリケーションが完了する（６１４）前に、自律的調整方法６００は、調整トリガ・イベントを求めてグリッド・システム１００を監視する。一実施形態では、クライアント４００は、調整トリガ・イベントを求めて監視するのにクライアント・モニタ・モジュール４２４を使用することができる。別の実施形態では、グローバル自律的マネージャ３００は、調整トリガ・イベントを求めて監視するのにグローバル・モニタ・モジュール３２２を使用することができる。一実施形態では、調整トリガ・イベントは、クライアント調整ポリシー４２０のうちの１つで定義される。あるいは、調整トリガ・イベントは、システム調整ポリシー３１８のうちの１つで定義することもできる。
【００５８】
調整トリガ・イベントが認識されない場合（６１８）、グリッド・アプリケーションは、通常通り実行し続ける。しかし、調整トリガ・イベントを認識した場合（６１８）、自律的調整方法６００は、対応するクライアント調整ポリシー４２０またはシステム調整ポリシー３１８に従って実行資源を調整する（６２０）。一実施形態では、自律的調整方法６００は、グリッド・アプリケーションのために追加の実行資源を予約することによって、または既存の実行資源の予約を終了することによって実行資源を調整することができる。あるいは、自律的調整方法６００は、クライアント実行資源を割り振るかまたは回収することによって、さらにはクライアント終了モジュール４３８を介してグリッド・アプリケーションを終了することによって実行資源を調整することもできる（６２０）。
【００５９】
グリッド・システム１００は、グリッド・アプリケーションがクライアント４００またはグローバル自律的マネージャ３００によって終了するまで、あるいはグリッド・アプリケーションが完了する（６１４）まで、起動される自律的調整の対象となるグリッド・アプリケーションを実行し続ける。次いで、図示する自律的調整方法６００は終了する（６２２）。
【００６０】
図７に、グローバル自律的マネージャ３００上のグローバル自律的管理装置３１２またはクライアント上のローカル自律的管理装置４１２によって実行することができる自律的予測方法７００の一実施形態を示す。一実施形態では、自律的予測方法７００は、グリッド・アプリケーションの開始より前に起動される。別の実施形態では、自律的予測方法７００は、図５および６を参照しながら説明した開始トリガ・イベントの認識（５０８、６０８）より前に起動することができる。
【００６１】
図示する自律的予測方法７００は、予測トリガ・イベントを求めて監視する（７０４）によって開始する（７０２）。一実施形態では、クライアント４００は、予測トリガ・イベントを求めて監視するのにクライアント・モニタ・モジュール４２４を使用することができる。別の実施形態では、グローバル自律的マネージャ３００は、予測トリガ・イベントを求めて監視するのにグローバル・モニタ・モジュール３２２を使用することができる。一実施形態では、予測トリガ・イベントは、クライアント予測ポリシー４１６のうちの１つで定義される。あるいは、予測トリガ・イベントは、システム予測ポリシー３１６のうちの１つで定義することもできる。
【００６２】
自律的予測方法７００は、定義された予測トリガ・イベントをクライアント４００が認識する（７０８）まで、予測トリガ・イベントを求めて監視（７０４）し続ける（７０６）。次いでクライアント４００は、クライアント予測ポリシー４１６またはシステム予測ポリシー３１６によって示される通りに、それぞれクライアント４００またはグリッド・システム１００の実行資源を調整する（７１０）。一実施形態では、自律的予測方法７００は、グリッド・アプリケーションのために追加の実行資源を予約することによって、または既存の実行資源の予約を終了することによって実行資源を調整することができる（７１０）。あるいは、自律的予測方法７００は、クライアント割振りモジュール４３２およびクライアント回収モジュール４３４を介して、それぞれクライアント実行資源を割り振るかまたは回収することによって実行資源を調整することもできる（７１０）。加えて、クライアント４００は、クライアント通知モジュール４２８を介して、実行資源割振りおよびクライアント資源プロファイル４１４に対する変更をグローバル自律的マネージャ３００に通知することができる。次いで、図示する自律的予測方法７００は終了する（７１２）。
【００６３】
前述の方法５００、６００、７００の一例として、グローバル自律的マネージャ３００は、グリッド・コンピューティング・システム１００上のグリッド・アプリケーションのパフォーマンス（performance：実行）を監視することができる。グリッドのパフォーマンスの監視中、パフォーマンス全体が減速し始めた場合、グローバル調整モジュール３２６は、システム調整ポリシー３１８を起動して、グリッド・アプリケーションに割り振られた実行資源の量を増大させることができる。
【００６４】
例えば、ムービー・スタジオでは、特定の日付が期日のレンダリング・プロジェクト（renderingproject）が実施されることがある。この締切りを満たすように、プロジェクト・マネージャまたは経営幹部は、グリッド・システム１００にとって利用可能なクライアント実行資源を増大させることを決定することがある。一実施形態では、あるグリッド・アプリケーションに関する実行資源を増大させることにより、グリッド・システム１００上の他のクライアントおよびグリッド・アプリケーションにとって利用可能な実行資源が減少する可能性がある。このようにして、調整ポリシー３１８は、資源を増大させることを求める要求に応答して行うべき動作を定義する。加えて、グローバル自律的管理装置３１２は、プロジェクトの締切りを満たすために、グローバル自律的マネージャ３００およびクライアント４００がグリッド・アプリケーションを管理する助けとなる。代替実施形態では、実行資源を増大させることを求める要求は、プロジェクトの制約および締切りを定義する調整ポリシー３１８に従って自律的に行うことができる。
【００６５】
別の実施形態では、グリッド・システム１００の性能（パフォーマンス）全体に基づいて、グリッド・システム１００およびクライアント４００にとって利用可能な実行資源を変更するように高レベル調整ポリシー３１８を定義することができる。例えば、上記で議論したのと同じレンダリングの例を使用すると、割り当てられたクライアント実行資源をレンダリング・グリッド・アプリケーションが現在利用していない場合、調整ポリシー３１８により、クライアント実行資源をクライアント４００によって動的に回収することが可能となる。同様に、レンダリング・グリッド・アプリケーションが追加のレンダリング・グリッド・アプリケーション・オペレーションを実行するように要求されたとき、回収されたクライアント実行資源をレンダリング・グリッド・アプリケーションに再割振りすることができる。これは、動的調整ポリシー３１８の一実施形態である。
【００６６】
他の多くの自律的予測ポリシー、自律的開始ポリシー、自律的調整ポリシー、自律的終了ポリシー、自律的アービトレーション・ポリシーを、様々なグリッド・システム１００およびアプリケーション環境で使用することができる。例えば、ポリシーは、オンオフ制御を定義することができる。すなわち、そのサービスが要求された場合にオンにされ、そうでない場合にオフとなる。別の実施形態では、ポリシーは比例制御を定義することができる。すなわち、要求が増大または減少した場合、その要求に比例して資源を割り振り、または回収することができる。別の実施形態では、ステップの要求変化に従って、ポリシーを時間遅延またはタイム・フェーズ（phased）することができる。例えば、適切なレベルまたは資源可用性および割振りが達成されるまで、ある期間にわたって徐々に実行資源を割り振り、または回収することができる。
【００６７】
予測ポリシーに関して、グローバル自律的マネージャ３００は、履歴情報またはその他の情報を収集および使用して、特定の負荷、資源可用性、資源割振りなどをいつ変更する必要があるかを予測する。例えば、クライアント４００上のローカル処理負荷（processing load）は、それぞれの日のある時間に、グリッド・システム１００上の実行資源可用性に悪影響を及ぼす可能性がある。予測ポリシーにより、グローバル自律的マネージャ３００およびクライアント４００が、典型的な資源の使用率を予期して、グリッド・アプリケーション資源可用性を予測的に調整することが可能となる。このことには、グリッド・アプリケーションの遅延、またはグリッド・アプリケーションに通常よりも早く実行させることが含まれる。特定の予測ポリシー、開始ポリシー、調整ポリシー、終了ポリシー、およびアービトレーション・ポリシーは特定のポリシー、制御アルゴリズムなどに限定されない。
【００６８】
一実施形態では、グローバル自律的マネージャ３００またはクライアント４００でのポリシーの変化を、加入マネージャ２１２に結合することができる。一実施形態では、加入マネージャ２１２は、サービスの変化に応じて料金を調整することができる。別の実施形態では、加入マネージャ２１２は、ポリシーの特定の変化またはグローバルな変化を防止することができる。例えば、企業が、グリッド・システム１００に加入し、あるレベルの実行資源を提供することを選ぶことがある。その企業に課金される料金は、グリッド・アプリケーション要求のレベル、および寄与した実行資源のレベルに比例させることができる。しかし、特定の会計基準またはその他の商業基準に応じて、一定の上限値または下限値あるいはその両方を固定することができる。別の実施形態では、加入マネージャ２１２は、こうしたしきい値に従って、１つまたは複数のポリシーの潜在的変化をブロックすることができる。
【００６９】
さらに加入マネージャ２１２に関して、一実施形態では、加入マネージャ２１２は、グリッド・アプリケーションに対する、またはグリッド・アプリケーションに関する、顧客、企業などの間の、ユーザ料金を決定するプロセス、サービスのレベルを制御するプロセス、サービスの使用を制御するプロセス、実行資源の寄与を制御するプロセスなどで収集、使用、または生成した情報を管理する装置である。
【００７０】
一実施形態では、加入マネージャ２１２は、少なくとも２つの目的をサービスすることができる。第１に、加入マネージャ２１２は、ユーザによるグリッド資源の使用、またはユーザによるグリッドへの実行資源の寄与、あるいはその両方に基づいて、ユーザに課金すべきユーザ料金を決定することができる。第２に、加入マネージャ２１２は、グリッド・システム１００およびグリッド資源へのアクセス、使用、使用レベルなどを制御することができる。加入マネージャ２１２はまた、本明細書に記載の自律的ポリシーに基づいて、グリッド・システム１００に対するクライアント実行資源の割振り、寄与のレベルなどを制御することができる。
【００７１】
グリッド・システム１００への様々なクライアント４００の加入を管理するために、加入マネージャ２１２は、クライアント・プロファイル、グローバル・プロファイル、および顧客プロファイルを作成およびストア（格納）することができる。一実施形態では、加入マネージャ２１２のグローバル・プロファイルは、特定の顧客に関するユーザ料金を決定するために、実行資源の割振りおよび使用率に関する情報を含むことができる。一実施形態では、加入マネージャ２１２のグローバル・プロファイルは、グリッド・システム１００を使用する実行資源およびクライアント４００のすべてにとって汎用的でよい。
【００７２】
一実施形態では、顧客プロファイルは、グローバル・プロファイルを特定の顧客に関係付ける情報を含む。顧客プロファイルは、クライアント実行資源の割振りおよびローカルに起動したグリッド・アプリケーションについての情報を含む、特定の顧客についての情報を集めることができる。顧客プロファイルを使用して、顧客に課金する合計料金を決定することができる。同様に、一実施形態では、加入マネージャ２１２内のクライアント・プロファイルは、特定のクライアント４００に対応する類似の情報を含むことができる。
【００７３】
一実施形態では、加入マネージャ２１２は、クライアント４００によるグリッド・アプリケーションに関するグリッド・システム１００の瞬間使用量、平均使用量、最大使用量、最小使用量、計画使用量、予約使用量、ピーク使用量などのうちの１つまたは複数に基づいて、ユーザ料金を決定することができる。別の実施形態では、加入マネージャ２１２は、クライアント４００によるグリッド・システム１００へのクライアント実行資源の割振りを追跡することができる。加入マネージャ２１２は、寄与する瞬間レベル、平均レベル、最大レベル、最小レベル、計画レベル、予約レベル、ピーク・レベルのうちの１つまたは複数を追跡することができる。別の実施形態では、加入マネージャ２１２は、上記で列挙した因子（factor）のうちの１つまたは複数の組合せを追跡する。
【００７４】
別の実施形態では、加入マネージャ２１２は、グローバル自律的マネージャ３００またはクライアント４００で自律的ポリシーの実行を監視および制御することができる。例えば、企業は、バックアップ検索グリッド・アプリケーションのためにグリッド・システム１００に加入することができる。コストを減らすために、企業は、接続された各クライアント４００からグリッド・システム１００に実行資源を寄与させることを決定することができる。ユーザが特定のクライアントの割り振られた実行資源を回収し、ユーザの寄与をゼロにまで削減することを決定した場合、加入マネージャ２１２は、クライアント・プロファイルおよび顧客プロファイルを変更して、適切な料金を決定する。加入マネージャ２１２のグローバル・プロファイルによれば、グリッド・システム１００のグローバル自律的マネージャ３００は、実行資源の割振りに関する上限値および下限値を維持することができ、それによって、すべての割り振られた資源のそのような回収を防止することができる。
【００７５】
別の実施形態では、加入マネージャ２１２は、クライアント４００またはグローバル自律的マネージャ３００によって要求されたポリシー変更を制御することができる。加入マネージャ２１２の顧客プロファイルは、資源割振りに対する一定の変更またはクライアント４００のグリッド・アプリケーション使用率に対する一定の変更を防止することができる。例えば、クライアント・プロファイルは、顧客が所定の課金期間で行うことのできる合計コストに関する制限を有することができる。加入マネージャ２１２は、こうした制限を超過した場合、クライアント４００による一定の使用をブロックすることができる。
【００７６】
本発明は、その精神および本質的な特徴から逸脱することなく、他の特定の形式で実施することができる。記載の実施形態は、すべての点で例示的なものに過ぎず、限定的なものであるとみなすべきである。したがって、本発明の範囲は、上記の説明ではなく添付の特許請求の範囲で示される。特許請求の範囲の等価な意味および範囲内のすべての変更は、その範囲内に包含されるべきである。
【図面の簡単な説明】
【００７７】
【図１】本発明によるグリッド・システムの一実施形態を示すブロック図である。
【図２】本発明によるグリッド・システムの別の実施形態を示すブロック図である。
【図３】本発明によるグローバル自律的マネージャの一実施形態を示すブロック図である。
【図４】本発明によるクライアントの一実施形態を示すブロック図である。
【図５】本発明による自律的開始（刺激−反応）方法の一実施形態を示す流れ図である。
【図６】本発明による自律的調整方法の一実施形態を示す流れ図である。
【図７】本発明による自律的予測方法の一実施形態を示す流れ図である。
【符号の説明】
【００７８】
１００  グリッド・システム
１０２  グリッド・サーバ
１０４、１０６、１０８、１１０  クライアント
１１２  通信チャネル
２００  グリッド・システム
２０２  インターネット
２０４、２０６  ネットワーク・システム
２０８、２１０  クライアント
２１２  加入マネージャ
３００  グローバル自律的マネージャ
３０２  中央演算処理装置（ＣＰＵ）
３０４  ローカル記憶装置
３０６  ユーザ・インターフェース
３０８  ネットワーク・インターフェース
３１０  メモリ
３１２  グローバル自律的管理装置
３１４  システム資源プロファイル
３１６  システム予測ポリシー
３１８  システム調整ポリシー
３２０  システム終了ポリシー
３２１  システム・アービトレーション・ポリシー
３２２  グローバル・モニタ・モジュール
３２４  グローバル・ポリシー・モジュール
３２６  グローバル調整モジュール
３２８  グローバル予約モジュール
３３０  グローバル終了モジュール
３３２  グローバル・アービトレーション・モジュール
３３４  グローバル・プロファイル・モジュール
４００  クライアント
４０２  ＣＰＵ
４０４  ローカル記憶装置
４０６  ユーザ・インターフェース
４０８  ネットワーク・インターフェース
４１０  メモリ
４１２  ローカル自律的管理装置
４１４  クライアント資源プロファイル
４１６  クライアント予測ポリシー
４１８  クライアント開始ポリシー
４２０  クライアント調整ポリシー
４２２  クライアント終了ポリシー
４２４  クライアント・モニタ・モジュール
４２６  クライアント・ポリシー・モジュール
４２８  クライアント通知モジュール
４３０  クライアント調整モジュール
４３２  クライアント割振りモジュール
４３４  クライアント回収モジュール
４３６  クライアント開始モジュール
４３８  クライアント終了モジュール
４４０  クライアント・プロファイル・モジュール
【図１】
2005182796.tif 000003
【図２】
2005182796.tif 000004
【図３】
2005182796.tif 000005
【図４】
2005182796.tif 000006
【図５】
2005182796.tif 000007
【図６】
2005182796.tif 000008
【図７】
2005182796.tif 000009