【手続補正書】
【提出日】平成26年9月19日(2014.9.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータのプロセッサが、少なくとも一つの記憶装置によって提供される記憶セットにおいてデータセットを記憶する方法であって：
記憶装置上で、それぞれ検証子と関連付けられたデータセットを記憶するよう構成されたジャーナルを生成する段階と；
前記記憶セット中のある位置にデータセットを記憶する要求を受領すると、
前記データセットについての検証子を計算し；前記検証子および前記データセットを前記ジャーナルに記憶する段階と；
前記ジャーナルに記憶されており、前記ジャーナルから一緒に放逐される少なくとも二つのデータセットのバッチを選択する段階と；
前記バッチのそれぞれのデータセットについて前記データセットおよび前記データセットの前記検証子を前記記憶セットに記憶する段階と；
前記バッチの前記データセットすべてを前記記憶セットに記憶したのち、前記ジャーナルから前記バッチの前記データセットを除去する段階とを含む、
方法。
【請求項２】
前記ジャーナルがデータセットのシーケンスを含み、
前記ジャーナルにデータセットを記憶することが、該データセットを前記データセットのシーケンスにアペンドすることを含む、
請求項１記載の方法。
【請求項３】
前記ジャーナルの容量に関わるジャーナル容量イベント；
前記ジャーナルに記憶されている前記データセットの継続時間に関わる継続時間イベント；
前記ジャーナル内の少なくとも一つのデータセットを前記記憶セットにコミットする要求に関わるコミット要求イベント；および
前記記憶セットの少なくとも一つの記憶装置の作業負荷に関わる記憶装置作業負荷イベントを含むコミット・イベント集合から選択されるコミット・イベントを検出したときに、
前記記憶セットに記憶されるべきデータセットの前記バッチを選択する段階をさらに含む、
請求項１記載の方法。
【請求項４】
データセットの前記バッチの選択が：
前記ジャーナルに記憶されており、前記記憶セット中の第一の位置に記憶されるべき第一のデータセットを前記バッチに含めるよう選択し；
前記ジャーナルに記憶されており、前記記憶セット中の前記第一の位置に近い第二の位置に記憶されるべき第二のデータセットを前記バッチに含めるよう選択することを含む、
請求項１記載の方法。
【請求項５】
データセットの前記バッチの選択が、前記ジャーナルに記憶されており、前記記憶セット中のある位置に記憶されるべき第一のデータセットを、前記ジャーナルが前記第一のデータセットより新しくかつ前記記憶セット中の前記位置に記憶されるべき第二のデータセットを含んでいる場合には、前記バッチから省略することを含む、請求項１記載の方法。
【請求項６】
それぞれの要求がデータセットについて前記記憶セット中での位置を指定しており；
データセットについての検証子を計算することが：
前記ジャーナルに完全に記録されているデータセットについては、そのデータセットから検証子を計算し；
前記ジャーナルに完全には記録されていないデータセットについては：
前記記憶セット中での前記位置における前記データセットのもとのバージョンを読み；
前記データセットの前記もとのバージョンのもとの検証子を読み；
前記もとの検証子から前記データセットの前記もとのバージョンを除去し；
前記もとの検証子に前記データセットを含める、
ことを含む、請求項１記載の方法。
【請求項７】
前記ジャーナルの揮発性メモリ表現を再構築する段階をさらに含み、該再構築が：
前記ジャーナル中に記憶されているそれぞれのデータセットについて、前記記憶セット中のそのデータセットの位置を読む段階と；
前記データセットの位置を読んだのちに、前記ジャーナル中の前記データセットを読む段階と；
前記データセットの位置を読んでいる間は、諸プロセスからの前記記憶セットにアクセスする要求をブロックする段階とを含む、
請求項１記載の方法。
【請求項８】
前記コンピュータが揮発性メモリを有しており；
当該方法が：
前記揮発性メモリ中に、前記記憶装置上に記憶されている前記ジャーナルの揮発性メモリ表現を生成し；
前記ジャーナルにデータセットを記憶するときに、前記ジャーナルの前記揮発性メモリ表現中に前記データセットを記憶する段階を含む、
請求項１記載の方法。
【請求項９】
前記ジャーナルの前記揮発性メモリ表現が、前記記憶セット中で、前記データセットが記憶されるべき位置に従ってインデックス付けされる、請求項８記載の方法。
【請求項１０】
請求項８記載の方法であって、当該方法が、データセットを読み出す要求を受領すると：
前記データセットが前記揮発性メモリ内の前記ジャーナルの前記揮発性メモリ表現内に記憶されていることを判別すると、前記揮発性メモリ表現内に記憶されている前記データセットを提示し；
前記データセットが前記記憶装置上の前記ジャーナルに記憶されていることを判別すると、前記ジャーナルに記憶されている前記データセットを提示し；
前記データセットが前記記憶装置上の前記記憶セットに記憶されていることを判別すると、前記記憶装置の前記記憶セットに記憶されている前記データセットを提示することを含む、
方法。
【請求項１１】
請求項８記載の方法であって、当該方法が、前記記憶セットにバッチを記憶したのち、そのバッチを前記ジャーナルの前記揮発性メモリ表現から除去する段階を含む、方法。
【請求項１２】
請求項１１記載の方法であって、当該方法が：
前記ジャーナルにデータセットを記憶するときに、前記ジャーナルの前記揮発性メモリ表現中に前記データセットを、除去不可能とマークして記憶し；
前記記憶セットにデータセットを記憶するときに、前記ジャーナルの前記揮発性メモリ表現中に記憶されている前記データセットを、除去可能とマークする段階を含み、
データセットを前記揮発性メモリ中の前記ジャーナルの前記揮発性メモリ表現から除去することが、除去可能とマークされたデータセットのみを前記ジャーナルの前記揮発性メモリ表現から除去することを含む、
方法。
【請求項１３】
前記コンピュータが、前記記憶装置上に記憶されている前記ジャーナルに関連付けられた書き込みバッファを有しており、
当該方法が：
前記書き込みバッファから前記記憶セットへのデータセットのコミットを検出する段階と；
データセットのコミットを検出すると、前記ジャーナルの前記揮発性メモリ表現において、そのデータセットにコミット済みとマークする段階とを含み、
前記ジャーナルからデータセットを除去することが、コミット済みとマークされたデータセットのみを前記ジャーナルから除去することを含む、
請求項１１記載の方法。
【請求項１４】
請求項８記載の方法であって：
前記ジャーナルの前記揮発性メモリ表現がある容量のデータセットをもち；
前記揮発性メモリ中に前記ジャーナルの前記揮発性メモリ表現を生成することが：
前記ジャーナルの前記揮発性メモリ表現中の前記容量のデータセット；
前記ジャーナルの前記揮発性メモリ表現の前記容量を含む前記データセットの前記検証子；
前記ジャーナルに記憶されているデータセットが前記記憶セットに記憶されつつある間に前記記憶セットに記憶されるべきデータセットを記憶するよう構成されたバッファとを記憶するよう前記揮発性メモリ中の容量をリザーブしておくことを含む、
方法。
【請求項１５】
前記コンピュータの障害から回復したときに、
前記ジャーナルを使って、前記コンピュータの前記揮発性メモリ内に前記ジャーナルの前記揮発性メモリ表現を再構築し、
前記揮発性メモリ内に前記ジャーナルの前記揮発性メモリ表現を再構築したのち、前記記憶セットに記憶されるべき前記ジャーナルに記憶されているデータセットのバッチを選択することを再開始する段階をさらに含む、
請求項８記載の方法。
【請求項１６】
前記コンピュータが前記ジャーナルを記憶する前記記憶装置に関連付けられた書き込みバッファを有しており、
当該方法は、前記ジャーナルにデータセットおよび検証子を書き込んでいる間、前記書き込みバッファをバイパスすることを含む、
請求項１記載の方法。
【請求項１７】
前記コンピュータが前記ジャーナルを記憶する前記記憶装置に関連付けられた書き込みバッファを有しており、
当該方法は、前記ジャーナルを記憶している記憶装置の書き込みバッファをフラッシュするときに、その記憶装置にフラッシュされたデータセットを示すフラッシュ点を同定する段階を含む、
請求項１記載の方法。
【請求項１８】
少なくとも一つの記憶装置が前記ジャーナルに関連付けられた書き込みバッファを有しており、
当該方法は、バッチの記憶セットを前記記憶セットに記憶したのち、前記記憶装置の前記書き込みバッファをフラッシュする段階を含む、
請求項１記載の方法。
【請求項１９】
少なくとも一つの記憶装置を含む記憶セット上にデータを記憶する方法であって：
記憶装置上で、レコードのシーケンス、頭部ポインタおよび尾部ポインタを有するジャーナルを生成する段階と；
前記記憶セット中のある位置に記憶されるべきデータセットを受領すると：
前記ジャーナルの頭部ポインタを新たなレコードを過ぎるところまで進め；
前記新たなレコードに前記データセットを記憶する段階と；
前記ジャーナルの前記尾部ポインタの近くの、前記ジャーナルから一緒に放逐される少なくとも一つの選択されたデータセットを選択する段階と；
それぞれの選択されたデータセットについて、その選択されたデータセット
を前記記憶セットにコミットする段階と；
前記バッチの選択されたデータセットすべてを前記記憶セットにコミットしたのち、前記ジャーナルの前記尾部ポインタを、前記バッチの前記選択されたデータセットすべてを過ぎたところまで進める段階とを含む、
方法。
【請求項２０】
コンピュータのプロセッサに、少なくとも一つの記憶装置によって提供される記憶セットにおいてデータセットを記憶する方法を実行させるためのコンピュータ・プログラムであって、前記方法は：
記憶装置上で、データセットを記憶するよう構成されたジャーナルを生成する段階と；
前記記憶セット中のある位置にデータセットを記憶する要求を受領すると、前記データセットを前記ジャーナルに記憶する段階と；
前記ジャーナルに記憶されており、一緒に前記ジャーナルから放逐される少なくとも二つのデータセットのバッチを選択する段階と；
前記バッチのそれぞれのデータセットについて、前記データセットを前記記憶セットに記憶する段階と；
前記バッチのデータセットすべてを前記記憶セットに記憶したのち、前記ジャーナルから前記バッチを除去する段階とを含む、
コンピュータ・プログラム。