【手続補正書】
【提出日】平成19年6月28日(2007.6.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のシステム（１０２）を含むシステム・クラスタ（１００）において１つ以上のリソースに対するアクセスについてのユーザ間のコンテンションを管理するための方法であって、前記ユーザの各々が割り当てられた必要値を有し、アクセスを求めているリソース（１０６、１１２）の保持者または待機者のいずれかとなることができ、前記方法が、ローカル・システムとしての前記システム（１０２）の少なくとも１つにおいて実行され、
前記ローカル・システム上のコンテンションに基づいて、前記リソースを１つ以上のローカル・リソース・クラスタにグループ化することを示し、前記ローカル・リソース・クラスタの各々ごとに、前記ローカル・リソース・クラスタにおける１つ以上のリソースの必要値を示す、ローカル・リソース・クラスタ・データを保存するステップ（５０４）と、
前記システム・クラスタにおける遠隔システムとしての別のシステムから、前記遠隔システム上のコンテンションに基づいて前記リソースを１つ以上の遠隔リソース・クラスタにグループ化することを示し、前記遠隔リソース・クラスタの各々ごとに前記遠隔リソース・クラスタにおける１つ以上のリソースの必要値を示す、遠隔リソース・クラスタ・データを受信するステップ（５０８）と、
前記ローカル・リソース・クラスタ・データおよび前記遠隔リソース・クラスタ・データを組み合わせて、前記システム間のコンテンションに基づいて前記リソースを１つ以上の複合リソース・クラスタにグループ化することを示し、前記複合リソース・クラスタの各々ごとに前記複合リソース・クラスタにおける１つ以上のリソースの必要値を示す、複合リソース・クラスタ・データを生成するステップ（５１０）と、
前記リソース・クラスタのための前記複合リソース・クラスタ・データに従って前記複合リソース・クラスタの１つにおけるリソースの、前記ローカル・システム上の保持者（３０２、３０３）を管理するステップと、を有し、前記管理するステップが、
前記ローカル・システム上で、他のいずれかのリソースを待っていない、前記複合リソース・クラスタの１つにおけるリソースの保持者（３０２）を識別するステップと、
前記ローカル・システム上の前記リソースの前記保持者に、その必要値が少なくとも前記複合リソース・クラスタにおけるいずれかのリソースの最高必要度の待機者のものであるようにシステム・リソース（３０４）を割り当てるステップと、
を有する、方法。
【請求項２】
前記リソース・クラスタのいずれかにおける１つ以上のリソースの前記必要値が、前記リソース・クラスタにおけるいずれかのリソースについての最高必要度の待機者の必要値である、請求項１に記載の方法。
【請求項３】
前記受信するステップが、遠隔システムとしての前記システム・クラスタにおける複数の他のシステムの各々ごとに実行される、請求項１に記載の方法。
【請求項４】
前記ローカル・システム上のユーザが１つのリソースを保持していると共に他のリソースを待っている場合、前記ローカル・システムが１対のリソースを共通ローカル・リソース・クラスタに割り当てる（５０６）、請求項１に記載の方法。
【請求項５】
前記ローカル・システム上のユーザに関してリソースのコンテンション・ステータスの変化の通知の受信（５０２）に応答して、前記ローカル・システムが前記ローカル・リソース・クラスタ・データを更新する、請求項１に記載の方法。
【請求項６】
前記ローカル・システムが、更新したローカル・リソース・クラスタ・データを前記遠隔システムに送信する、請求項５に記載の方法。
【請求項７】
前記遠隔システムから遠隔リソース・クラスタ・データを受信すると、前記ローカル・システムが前記複合リソース・クラスタ・データを更新する、請求項１に記載の方法。
【請求項８】
前記ローカル・システムがローカル・リソース・クラスタ・データを前記遠隔システムに送信する、請求項１に記載の方法。
【請求項９】
送信されたローカル・リソース・クラスタ・データが、リソースと、前記ローカル・システム上のコンテンションに基づいて前記リソースを割り当てるリソース・クラスタと、前記リソースのための前記ローカル・システム上の必要値とを示す、請求項８に記載の方法。
【請求項１０】
複数のシステム（１０２）を含むシステム・クラスタ（１００）において１つ以上のリソース（１０６、１１２）に対するアクセスについてのユーザ間のコンテンションを管理するための装置であって、前記ユーザの各々が割り当てられた必要値を有し、アクセスを求めているリソースの保持者または待機者のいずれかとなることができ、前記装置が、ローカル・システムとしての前記システム（１０２）の少なくとも１つに関連付けられ、
前記ローカル・システム上のコンテンションに基づいて、前記リソースを１つ以上のローカル・リソース・クラスタにグループ化することを示し、前記ローカル・リソース・クラスタの各々ごとに、前記ローカル・リソース・クラスタにおける１つ以上のリソースの必要値を示す、ローカル・リソース・クラスタ・データを保存するための論理と、
前記システム・クラスタにおける遠隔システムとしての別のシステムから、前記遠隔システム上のコンテンションに基づいて前記リソースを１つ以上の遠隔リソース・クラスタにグループ化することを示し、前記遠隔リソース・クラスタの各々ごとに前記遠隔リソース・クラスタにおける１つ以上のリソースの必要値を示す、遠隔リソース・クラスタ・データを受信するための論理と、
前記ローカル・リソース・クラスタ・データおよび前記遠隔リソース・クラスタ・データを組み合わせて、前記システム間のコンテンションに基づいて前記リソースを１つ以上の複合リソース・クラスタにグループ化することを示し、前記複合リソース・クラスタの各々ごとに前記複合リソース・クラスタにおける１つ以上のリソースの必要値を示す、複合リソース・クラスタ・データを生成するための論理と、
前記リソース・クラスタのための前記複合リソース・クラスタ・データに従って前記複合リソース・クラスタの１つにおけるリソースの、前記ローカル・システム上の保持者を管理するための論理と、を有し、前記管理する論理が、
前記ローカル・システム上で、他のいずれかのリソースを待っていない、前記複合リソース・クラスタの１つにおけるリソースの保持者を識別する論理と、
前記ローカル・システム上の前記リソースの前記保持者に、その必要値が少なくとも前記複合リソース・クラスタにおけるいずれかのリソースの最高必要度の待機者のものであるようにシステム・リソースを割り当てる論理と、
を有する、装置。
【請求項１１】
機械によって読み取り可能なプログラム・ストレージ・デバイスであって、前記機械によって実行可能な命令のプログラムを実際に具現化して、複数のシステム（１０２）を含むシステム・クラスタ（１００）において１つ以上のリソース（１０６、１１２）に対するアクセスについてのユーザ間のコンテンションを管理するための方法ステップを実行し、前記ユーザの各々が割り当てられた必要値を有し、アクセスを求めているリソースの保持者または待機者のいずれかとなることができ、前記方法ステップが、ローカル・システムとしての前記システムの１つにおいて実行され、
前記ローカル・システム上のコンテンションに基づいて、前記リソースを１つ以上のローカル・リソース・クラスタにグループ化することを示し、前記ローカル・リソース・クラスタの各々ごとに、前記ローカル・リソース・クラスタにおける１つ以上のリソースの必要値を示す、ローカル・クラスタ・データを保存するステップ（５０４）と、
前記システム・クラスタにおける遠隔システムとしての別のシステムから、前記遠隔システム上のコンテンションに基づいて前記リソースを１つ以上の遠隔リソース・クラスタにグループ化することを示し、前記遠隔リソース・クラスタの各々ごとに前記遠隔リソース・クラスタにおける１つ以上のリソースの必要値を示す、遠隔リソース・クラスタ・データを受信するステップ（５０８）と、
前記ローカル・リソース・クラスタ・データおよび前記遠隔リソース・クラスタ・データを組み合わせて、前記システム間のコンテンションに基づいて前記リソースを１つ以上の複合リソース・クラスタにグループ化することを示し、前記複合リソース・クラスタの各々ごとに前記複合リソース・クラスタにおける１つ以上のリソースの必要値を示す、複合リソース・クラスタ・データを生成するステップ（５１０）と、
前記リソース・クラスタのための前記複合リソース・クラスタ・データに従って前記複合リソース・クラスタの１つにおいて前記ローカル・システム上のリソースの保持者を管理するステップ（３０２、３０４）と、を有し、前記管理するステップが、
前記ローカル・システム上で、他のいずれかのリソースを待っていない、前記複合リソース・クラスタの１つにおけるリソースの保持者を識別するステップ（３０２）と、
前記ローカル・システム上の前記リソースの前記保持者に、その必要値が少なくとも前記複合リソース・クラスタにおけるいずれかのリソースの最高必要度の待機者のものであるようにシステム・リソースを割り当てるステップ（３０４）と、
を有する、プログラム・ストレージ・デバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
これらがＧＲＳリソースであると仮定すると、従来のＭＶＳ実施では、ジョブＡおよびＢがコンテンションの状態にあるリソースを保持するので、それらを支援し、各々を等しく、限られた時間だけプロモートする。しかしながら、Ｂの支援は無益である。なぜなら、Ｂは実際Ａを待っているからである。Ｂがそれ自身マルチタスキングである場合、この支援は実際、リソース・コンテンションに関して何もせずに、競合する作業に有害となる恐れがある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の１つの態様は、情報処理システムにおいてリソースに対するアクセスについてのユーザ間のコンテンションを管理するための方法および装置を含む。各ユーザは、割り当てられた必要値を有し、アクセスを求めているリソースの保持者または待機者のいずれかとなることができる。本発明のこの態様によれば、ユーザのチェーンの頭部において待機者でないユーザを識別する。チェーン内では、チェーン内に次のユーザを有する各ユーザが、次のユーザが待っているリソースを保持している。チェーンの頭部におけるユーザは、その必要値が少なくともチェーンにおける最高必要度の待機者のものであるかのように管理され、好ましくは、ユーザに、その必要値が少なくともかかる最高必要度の待機者のものであるかのようにシステム・リソースを割り当てる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
（リクエスタ１１０に割り当てられるシステム・リソースは、リクエスタ間のコンテンションの対象であるリソース１０６および１１２とは区別しなければならない。システム・リソースは、通常リクエスタ自体に透明な方法でリクエスタ１１０に割り当てられて、スループットまたは応答時間等の何らかの性能尺度を改善する。一方、リソース１０６および１１２は、それらの実行の一部としてリクエスタによって明白に要求される。それらを区別することが必要である場合、後者のリソース・クラスは、時に、「逐次化リソース」等の言葉を用いて称する。）
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
図２から５は、システム・クラスタ１００においてリソース１０６および１１２間で生じ得る様々なコンテンション・チェーンを示す。これらのチェーンは、より正式には有向グラフとして知られるが、本明細書中ではチェーンの用語を用いる。これらのチェーンにおいて、矢印で示す各リンクは、ユーザ（矢印の尾部のノードによって表される）は、別のユーザ（矢印の頭部のノードによって表される）が保持するリソースを待っているという関係を表す。かかる関係の「推移閉包」は、ノード間の全てのかかる関係を含むことによって形成されるチェーンである。このため、矢印を追っていくと、全てのノードが最終的に示す保持者は、コンテンションの状態にあるリソースを待っておらず、従ってチェーンの頭部にある。（チェーンが２つ以上の頭部を有することができるか否かは、以下で図５の説明において論じる。）
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
上のテーブルに示すように、システムＳｙ２は、保持者または待機者のいずれかとしてリソースを争っているそのローカル・トランザクションＴｘＢおよびＴｘＤについての完全な１組のコンテンション・データ（「ローカル・システム情報」）を保存する。ローカル・トランザクションがコンテンション状態にあるかかるリソースごとに、Ｓｙ２は、それらの固有の「必要」値を含めて、ローカル保持者および待機者を追跡する。また、システムＳｙ２は、リソースＲａおよびＲｂを共通リソース・クラスタＣａｂに割り当てている。なぜなら、少なくとも１つのローカル・トランザクション（ＴｘＢ）が、ある要求されたリソース（Ｒａ）の保持者であると共に別の要求されたリソース（Ｒｂ）の待機者であるからである。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
例１（「単純な」推移閉包の場合）
この例は、システム間の推移閉包の場合である。２つ以上のリソースが関与する。あるリソースを保持する必要度の低いユーザを支援して、異なるリソースを待っている別の（必要度の高い）ユーザを動かす。トポロジはマルチシステムであり、同一リソースの保持者および待機者が異なるシステム上にある。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
これは、同一リソース・リソース・クラスタにマルチシステム・リソースのみが含まれる場合に何が起こるかを示すので、「単純な」推移閉包の場合である。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
例２（ローカル・リソースによる推移閉包の場合）
この例は、別のシステム間推移閉包の場合である。２つ以上のリソースが関与する。異なるリソースを待っている（必要度の高い）ユーザを動かすため、あるリソースを保持する必要度の低いユーザを支援しなければならない。トポロジは、この場合もマルチシステムであり、同じリソースの保持者および待機者が異なるシステム上にある。更に、例１とは異なり、各システムは、純粋にローカルな（非マルチシステムの）リソース上で同一のトランザクションを伴うコンテンションを有する。これによって、マルチシステムおよび単一システム・リソースの双方が同一のリソース・クラスタに関与する場合に何が起こるかを示す。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１２８
【補正方法】変更
【補正の内容】
【０１２８】
例５：単純な３ウエイ状況（３ｗａｙＥａｓｙ）
この例は、単純な３システムの状況である。また、これは、推移閉包の場合であるが、その非対称トポロジによって、システムは、リソース・マネジャから来るローカル待機者／保持者情報を有しないリソースを追跡させられる。表記は例１と同様である。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１３３
【補正方法】変更
【補正の内容】
【０１３３】
例６：リソース・クラスタの分解を伴う３ウエイ状況（３ｗａｙＢｒｅａｋＣｌｕ）
この例は、３システム推移閉包の場合であり、「コンテンションの終了」イベントによって駆動されることなく、大きいリソース・クラスタをもっと小さいものに分解する。また、この例は、リソースの多数の共有保持者を有するトポロジを示す。表記は例１と同様である。