【手続補正書】
【提出日】平成15年9月10日(2003.9.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
永続的記憶装置へのデータ項目の書込を調整するための方法であって、
第１のノード内に、永続的記憶装置へ書込まれる必要があるダーティデータ項目についての第１の待ち行列を維持するステップと、
第１のノード内に、永続的記憶装置へ書込まれる必要があるダーティデータ項目についての第２の待ち行列を維持するステップと、
エントリに対応するダーティデータ項目が前記第１のノード以外のノードへ転送される必要がある場合に、エントリを前記第１の待ち行列から前記第２の待ち行列へ動かすステップと、
どのデータ項目を永続的記憶装置へ書込むかを選択する場合に、前記第２の待ち行列におけるエントリに対応するデータ項目に優先度を与えるステップとを含む、方法。
【請求項２】
エントリを動かすステップは、前記第１のノードによって受けられたメッセージに応答してエントリを前記第１の待ち行列から前記第２の待ち行列へ動かすステップを含み、前記メッセージは、別のノードが前記エントリに対応するデータ項目を要求したことを示す、請求項１に記載の方法。
【請求項３】
永続的記憶装置へのデータ項目の書込を調整するための方法であって、
前記データ項目の各々について強制書込カウントを維持するステップと、
データ項目が１つのノードによって、データ項目を別のノードへ転送するために永続的記憶装置に書込まれるたびに、データ項目の強制書込カウントを増分するステップと、
データ項目に関連する書込カウントに基づいて、どのダーティデータ項目を永続的記憶装置に書込むかを選択するステップとを含む、方法。
【請求項４】
或るしきい値を上回る強制書込カウントを有するダーティデータ項目を特定の待ち行列に記憶させるステップと、
永続的記憶装置に書込むダーティデータ項目を選択する場合に、前記特定の待ち行列に記憶されたデータ項目に優先度を与えるステップとをさらに含む、請求項３に記載の方法。
【請求項５】
故障後、どこで回復を開始するかについての情報を管理する方法であって、
多ノードシステムの特定のノードにおいて、
前記ノードの故障の後、回復ログ内のどこで回復を開始するかを示す単一故障待ち行列と、
前記ノードおよび前記多ノードシステムの他の１つ以上のノードの故障の後、前記回復ログ内のどこで回復を開始するかを示す多故障待ち行列との双方を維持するステップと、
永続的記憶装置へ書込中のダーティデータ項目に応答して、前記単一故障待ち行列および前記多故障待ち行列の双方から前記データ項目についてのエントリを除去するステップと、
まず永続的記憶装置に書込まれることなく前記多ノードシステムの別のノードへ送信中のダーティデータ項目に応答して、前記多故障待ち行列から前記データ項目についてのエントリを除去することなく、前記単一故障待ち行列から前記データ項目についてのエントリを除去するステップとを含む、方法。
【請求項６】
ダーティデータ項目を別のノードへ送信して、ダーティデータ項目を要求する他のノードなしで前記単一故障待ち行列からのエントリの除去を可能にするステップをさらに含む、請求項５に記載の方法。
【請求項７】
単一ノード故障の後、単一故障待ち行列に関連する前記回復ログにおいてある位置から開始する前記回復ログを適用するステップと、
多ノード故障の後、多故障待ち行列に関連する前記回復ログにおいてある位置から開始する前記回復ログを適用するステップとをさらに含む、請求項５に記載の方法。
【請求項８】
前記単一故障待ち行列および前記多故障待ち行列は、単一の組合された待ち行列によって実現され、
前記多故障待ち行列から前記データ項目についてのエントリを除去することなく、前記単一故障待ち行列から前記データ項目についてのエントリを除去するステップは、前記組合された待ち行列から前記データ項目についてのエントリを除去することなく、前記組合された待ち行列における前記データ項目についてのエントリに印付けることを含む、請求項５に記載の方法。
【請求項９】
前記単一故障待ち行列および前記多故障待ち行列は２つの別個の待ち行列として実現される、請求項５に記載の方法。
【請求項１０】
故障後、回復するための方法であって、
故障が１つのノードのみに関与するかどうかを判断するステップと、
故障が前記１つのノードのみに関与する場合には、回復ログにおける第１のポイントから開始する前記ノードの回復ログを適用することにより、回復を実行するステップと、
故障が前記１つのノードに加え１つ以上のノードに関与する場合には、回復ログにおける第２のポイントから開始する前記ノードの前記回復ログを適用することにより、回復を実行するステップとを含み、
前記第１のポイントは前記第２のポイントとは異なる、方法。
【請求項１１】
第１のポイントは、少なくとも部分的に、前記ノードによってダーティ化されたどのデータ項目が他のノードのキャッシュ内に存在するかによって決定され、
第２のポイントは、少なくとも部分的に、前記ノードによってダーティ化されたどのデータ項目が持続的に記憶されてきたかによって決定される、請求項１０に記載の方法。
【請求項１２】
故障後、回復するための方法であって
データ項目の特定のバージョンがディスクに書込まれたかどうかが不明瞭な場合には、
前記データ項目を回復させようとせずに、前記特定のバージョンがディスクに書込まれた場合にカバーされるであろう前記データ項目のダーティ化されたキャッシュされたバージョンに印付けるステップと、
前記ダーティ化されたキャッシュされたバージョンのうちの１つをディスクへ書込むように要求がなされた場合に、前記データ項目のどのバージョンが既にディスク上にあるかを判断するステップと、
前記データ項目の前記特定のバージョンが既にディスク上にある場合には、前記ダーティ化されたキャッシュされたバージョンのうちの前記１つをディスクへ書込まないステップとを行なうステップを含む、方法。
【請求項１３】
前記データ項目の前記特定のバージョンがディスク上にまだない場合には、前記データ項目を回復させるステップをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記データ項目の前記特定のバージョンが既にディスク上にある場合には、データ項目の前記ダーティ化されたキャッシュされたバージョンを含むノードに、前記ダーティ化されたキャッシュされたバージョンがディスクへの書込動作によりカバーされていることを伝えるステップをさらに含む、請求項１２に記載の方法。
【請求項１５】
多数のキャッシュを含むシステムにおける故障の後、データ項目の現在のバージョンを回復させるための方法であって、
前記多数のキャッシュの第１のノードにおけるデータ項目を修正して、修正されたデータ項目を作成するステップと、
前記第１のノードからの修正されたデータ項目を永続的記憶装置に永続的に記憶させることなく、修正されたデータ項目を前記第１のノードから前記多数のキャッシュの第２のノードへ送信するステップと、
前記修正されたデータ項目が前記第１のノードから前記第２のノードへ送信された後、かつ前記第１のノードにおける前記データ項目がディスクへの書込動作によりカバーされる前に、前記第１のノードにおける前記データ項目を破棄するステップと、
前記故障の後、前記多数のキャッシュのすべてに関連する併合されたリドゥログに基づいて、永続的記憶装置上のデータ項目に変更を加えることによって、前記データ項目の現在のバージョンを再構築するステップとを含む、方法。
【請求項１６】
前記多数のキャッシュの各々について、グローバルにダーティなチェックポイント待ち行列、およびローカルにダーティなチェックポイント待ち行列を維持するステップをさらに含み、
グローバルにダーティなチェックポイント待ち行列におけるエントリに関連するグローバルにダーティなデータ項目は、ディスクへの書込動作によりカバーされるまで保持されず、前記方法はさらに、
各キャッシュについて、ローカルにダーティなチェックポイント待ち行列のヘッドにおけるエントリの最初にダーティ化された時間と、グローバルにダーティなチェックポイント待ち行列のヘッドにおけるエントリの最初にダーティ化された時間との低い方に基づいて、チェックポイントを決定するステップと、
前記故障の後、前記キャッシュについて決定されたチェックポイントに基づいて、各キャッシュに関連するリドゥログをどこで処理し始めるかを決定するステップとを含む、請求項１５に記載の方法。
【請求項１７】
前記多数のキャッシュの各々について、グローバルにダーティなチェックポイント待ち行列、およびローカルにダーティなチェックポイント待ち行列を維持するステップをさらに含み、
グローバルにダーティなチェックポイント待ち行列におけるエントリに関連するグローバルにダーティなデータ項目は、ディスクへの書込動作によりカバーされるまで保持されず、前記方法はさらに、
各キャッシュについて、第１の時間を示すローカルにダーティなチェックポイント待ち行列についての１番目のチェックポイントレコードを維持するステップを含み、ここで、第１の時間に先立ってキャッシュ内で現在ダーティであるデータ項目になされたすべての変更は、永続的記憶装置上のデータ項目のバージョン上に記録されており、前記方法はさらに、
各キャッシュについて、グローバルにダーティなチェックポイント待ち行列についての２番目のチェックポイントレコードを維持するステップを含み、第２のチェックポイントレコードは、キャッシュ内で一旦ダーティ化されたもののその後転送されて永続的記憶装置に書込まれていないデータ項目のリストを含み、前記方法はさらに、
前記故障の後、前記キャッシュについての１番目のチェックポイントレコードおよび前記２番目のチェックポイントレコードに基づいて、各キャッシュに関連するリドゥログをどこで処理し始めるかを決定するステップを含む、請求項１５に記載の方法。
【請求項１８】
リドゥログを処理するステップは、
リドゥログを走査するための開始位置を、１番目のチェックポイントレコードにより決定されるようなリドゥログにおける位置と、２番目のチェックポイントレコードにおけるデータ項目のリストになされた最も初期の変更により決定されるようなログにおける位置との小さい方に基づいて決定するステップと、
回復中、グローバルチェックポイントレコードにより示される位置とローカルチェックポイントレコードにより示される位置との間のリドゥログの部分について、グローバルチェックポイントレコードにおいて識別されたデータ項目に対応するログレコードのみを潜在的なリドゥ用に考慮するステップとを含む、請求項１７に記載の方法。
【請求項１９】
１つ以上のプロセッサにより実行される場合、１つ以上のプロセッサに、請求項１から１８のいずれかに記載の方法を行なわせる命令を保持する、コンピュータ読出可能な媒体。