【手続補正書】
【提出日】平成19年6月28日(2007.6.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
特定の時点のデータベースの内容を反映するトランザクションの整合性を保つデータを含むデータベースビューを提供する方法であって、前記データベースは、データ要素を含み、トランザクションログに関連付けられ、前記トランザクションログは、アクティブトランザクションおよび非アクティブトランザクションを含み、前記データベースビューは、前記データベースからの前記データ要素のうちの少なくとも１つの前のバージョンを格納する差分ストレージを含み、前記方法は、
前記時点に対応する前記トランザクションログにおける分割点を決定するステップと、
前記データベースに対する修正を行う前記分割点より前の各トランザクションを前記トランザクションログ上で見つけるステップと、
前記差分ストレージ内に前記修正のそれぞれを格納するステップと、
各データ要素が前記差分ストレージ内に格納されているか、および各データ要素が前記差分ストレージ内に割り振られているかに関する情報を含むサイドページテーブルを維持するステップと、
前記分割点より前の各アクティブトランザクションを前記トランザクションログ上で見つけるステップと、
前記差分ストレージ内の対応する任意の修正を元に戻し、前記差分ストレージを格納するステップと
を備えたことを特徴とする方法。
【請求項２】
前記差分ストレージを初期化するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記時点に対応する前記トランザクションログにおける分割点を決定する前記ステップは、ログの切り捨てを使用不可にするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記方法は、前記サイドページテーブルを初期化するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項５】
前記差分ストレージ内の対応する任意の修正を元に戻す前記ステップは、前記対応する修正を削除するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記差分ストレージ内の対応する任意の修正を元に戻す前記ステップは、
前記データベース内の対応する修正されていないデータを読み取るステップと、
前記対応する修正されていないデータを前記差分ストレージに書き込むステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記データ要素のそれぞれは、１ページのデータを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記差分ストレージは、少なくとも１つのスパースファイルを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記差分ストレージ内に前記修正のそれぞれを格納する前記ステップは、前記スパースファイルのうちの１つにおいてメモリの領域を割り振るステップを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記データ要素のそれぞれは、１ページのデータを含み、前記サイドページテーブルは、ページごとに、
前記ページが前記差分ストレージに格納されているかどうかを示す第１の格納データと、
前記差分ストレージにおいて前記領域が割り振られているかどうかを示す第２の格納データと
を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記方法は、
前記サイドページテーブルが無効であることを検出するステップと、
前記スパースファイル内の領域ごとに、前記領域が割り振られているかどうかを決定するステップと、
前記スパースファイル内の領域ごとに、前記領域が割り振られているかどうかに基づいて前記第２の格納データを設定するステップと
をさらに備えたことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記差分ストレージ内の特定のページにデータが格納されているかどうかの決定は、
前記第１の格納データをチェックし、前記特定のページが前記差分ストレージに格納されていることを、前記第１の格納データが示す場合、前記データは、前記差分ストレージ内の前記特定のページに格納されていることを決定するステップと、
前記第２の格納データをチェックし、前記領域が前記差分ストレージにおいて割り振られていないことを、前記第２の格納データが示す場合、前記データは、前記差分ストレージ内の前記特定のページに格納されていないことを決定するステップと、
前記ページが前記差分ストレージ内に格納されていることを、前記第１の格納データが示さず、前記領域が前記差分ストレージにおいて割り振られてないことを、前記第２の格納データが示さない場合、前記特定のページについての前記差分ストレージの対応するエリアからページデータを読み取り、前記対応するエリアからの前記ページデータが有効であるかどうかを決定するステップと
を含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記サイドページテーブルは、ページごとに、
前記ページが前記差分ストレージ内に格納されているかどうかを示す第１の格納データを含むことを特徴とする請求項７に記載の方法。
【請求項１４】
データが前記差分ストレージ内の特定のページ内に格納されているかどうかの決定は、
前記第１の格納データをチェックし、前記特定のページが前記差分ストレージに格納されていることを、前記第１の格納データが示す場合、前記データは、前記差分ストレージ内の前記特定のページに格納されていることを決定するステップと、
前記特定のページが前記差分ストレージ内に格納されていることを、前記第１の格納データが示さない場合、前記特定のページについての前記差分ストレージの対応するエリアからページデータを読み取り、前記対応するエリアからの前記ページデータが有効であるかどうかを決定するステップと
を含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記データベースビュー内の特定のデータ要素の要求を受け付けるステップと、
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されているかどうかを決定するステップと、
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されている場合、前記差分ストレージを読み取ることによって前記要求に応答するステップと、
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されている場合、前記データベースを読み取ることによって前記要求に応答するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１６】
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されているかどうかを決定する前記ステップは、前記差分ストレージが前記場所に有効なデータを含んでいるかどうかを決定するステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されているかどうかを決定する前記ステップは、前記サイドページテーブルを調べるステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記方法は、
第２の特定のデータ要素の代わりに前記データベース内のある場所に第１の特定の値を格納する前記データベースに加えられた修正を検出するステップと、
前記データベースビュー内の対応する場所が有効なデータを含んでいるかどうかを決定するステップと、
前記データベースビュー内の前記対応する場所が有効なデータを含んでいない場合、前記第２の特定のデータ要素を前記対応する場所に書き込むステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１９】
請求項１に記載の方法を、コンピューティング装置に実行させる、複数のコンピュータ実行可能命令を格納するコンピュータ読取り可能記録媒体。
【請求項２０】
特定の時点のデータベースの内容を反映するトランザクションの整合性を保つデータを含むデータベースビューを提供するシステムであって、前記データベースは、データ要素を含み、トランザクションログに関連付けられ、前記トランザクションログは、アクティブトランザクションおよび非アクティブトランザクションを含み、前記システムは、
前記時点に対応する前記トランザクションログにおける分割点を決定する第１の手段と、
前記データベースに対する修正を行う前記分割点より前の各トランザクションを前記トランザクションログ上で見つける第２の手段と、
前記修正のそれぞれを格納する差分ストレージと、
各データ要素が前記差分ストレージ内に格納されているか、および各データ要素が前記差分ストレージ内に割り振られているかに関する情報を含むサイドページテーブルを維持する第３の手段と、
前記分割点より前の各アクティブトランザクションを前記トランザクションログ上で見つける第４の手段と、
前記差分ストレージ内の対応する任意の修正を元に戻す第５の手段と
を備えたことを特徴とするシステム。
【請求項２１】
前記第１の手段は、ログの切り捨てを使用不可にする第１１の手段をさらに含むことを特徴とする請求項２０に記載のシステム。
【請求項２２】
前記修正のそれぞれを前記差分ストレージに格納し、スパースファイルの１つのメモリ領域を割り振る第６の手段をさらに備え、前記データ要素の各々は、１ページのデータを含み、前記差分ストレージは、少なくとも１つのスパースファイルを含むことを特徴とする請求項２０に記載のシステム。
【請求項２３】
前記サイドページテーブルは、前記特定のデータ要素が前記差分ストレージに格納されているかどうかを示す第１の格納データを含むことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記差分ストレージは、スパースファイルを含み、
前記サイドページテーブルは、前記差分ストレージおいて前記特定のデータ要素に対応する領域が割り振られているかどうかを示す第２の格納データをさらに含むことを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記第３の手段は、
前記スパースファイル内の領域ごとに、前記領域が割り振られているかどうかを決定する第３１の手段と、
前記スパースファイル内の領域ごとに、前記領域が割り振られているか否かの関数として前記第２の格納データを変更する第３２の手段と
をさらに備えたことを特徴とする請求項２４に記載のシステム。
【請求項２６】
前記データベースビュー内の特定のデータ要素の要求を受け付け、データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されているかどうかを決定し、データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されている場合、前記差分ストレージを読み取ることによって前記要求に応答し、データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されている場合、前記データベースを読み取ることによって前記要求に応答する第７の手段をさらに含むことを特徴とする請求項２０に記載のシステム。
【請求項２７】
特定の時点のデータベースの内容を反映するトランザクションの整合性を保つデータを含むデータベースビューを提供するコンピュータ読取り可能記録媒体であって、前記データベースは、データ要素を含み、トランザクションログに関連付けられ、前記トランザクションログは、アクティブトランザクションおよび非アクティブトランザクションを含み、前記データベースビューは、前記データベースからの前記データベース要素のうちの少なくとも１つの前のバージョンを格納する差分ストレージを含み、前記コンピュータ読取り可能記録媒体は、
前記時点に対応する前記トランザクションログにおける分割点を決定するステップと、
前記データベースに対する修正を行う前記分割点より前の各トランザクションを前記トランザクションログ上で見つけるステップと、
前記差分ストレージ内に前記修正のそれぞれを格納するステップと、
各データ要素が前記差分ストレージ内に格納されているか、および各データ要素が前記差分ストレージ内に割り振られているかに関する情報を含むサイドページテーブルを維持するステップと、
前記分割点より前の各アクティブトランザクションを前記トランザクションログ上で見つけるステップと、
前記差分ストレージ内の対応する任意の修正を元に戻し、前記差分ストレージを格納するステップと
を含む動作を実行する命令を備えたことを特徴とするコンピュータ読取り可能記録媒体。
【請求項２８】
前記動作は、前記差分ストレージを初期化するステップをさらに含むことを特徴とする請求項２７に記載のコンピュータ読取り可能記録媒体。
【請求項２９】
前記時点に対応する前記トランザクションログにおける分割点を決定する前記ステップは、ログの切り捨てを使用不可にするステップをさらに含むことを特徴とする請求項２７に記載のコンピュータ読取り可能記録媒体。
【請求項３０】
前記動作は、前記サイドページテーブルを初期化するステップをさらに含むことを特徴とする請求項２７に記載のコンピュータ読取り可能記録媒体。
【請求項３１】
前記差分ストレージ内の対応する任意の修正を元に戻す前記ステップは、前記対応する修正を削除するステップを含むことを特徴とする請求項２７に記載のコンピュータ読取り可能記録媒体。
【請求項３２】
前記差分ストレージ内の対応する任意の修正を元に戻す前記ステップは、
前記データベース内の対応する修正されていないデータを読み取るステップと、
前記対応する修正されていないデータを前記差分ストレージに書き込むステップと
を含むことを特徴とする請求項２７に記載のコンピュータ読取り可能記録媒体。
【請求項３３】
前記データ要素のそれぞれは、１ページのデータを含むことを特徴とする請求項２７に記載のコンピュータ読取り可能記録媒体。
【請求項３４】
前記差分ストレージは、少なくとも１つのスパースファイルを含むことを特徴とする請求項３３に記載のコンピュータ読取り可能記録媒体。
【請求項３５】
前記差分ストレージ内に前記修正のそれぞれを格納する前記動作は、前記スパースファイルのうちの１つにおいてメモリの領域を割り振るステップを含むことを特徴とする請求項３４に記載のコンピュータ読取り可能記録媒体。
【請求項３６】
前記データ要素のそれぞれは、１ページのデータを含み、前記サイドページテーブルは、ページごとに、
前記ページが前記差分ストレージに格納されているかどうかを示す第１の格納データと、
前記差分ストレージにおいて前記領域が割り振られているかどうかを示す第２の格納データと
を含むことを特徴とする請求項３５に記載のコンピュータ読取り可能記録媒体。
【請求項３７】
前記動作は、
前記サイドページテーブルが無効であることを検出するステップと、
前記スパースファイル内の領域ごとに、前記領域が割り振られているかどうかを決定するステップと、
前記スパースファイル内の領域ごとに、前記領域が割り振られているかどうかに基づいて前記第２の格納データを設定するステップと
をさらに備えたことを特徴とする請求項３６に記載のコンピュータ読取り可能記録媒体。
【請求項３８】
前記差分ストレージ内の特定のページにデータが格納されているかどうかの決定は、
前記第１の格納データをチェックし、前記特定のページが前記差分ストレージに格納されていることを、前記第１の格納データが示す場合、前記データは、前記差分ストレージ内の前記特定のページに格納されていることを決定するステップと、
前記第２の格納データをチェックし、前記領域が前記差分ストレージにおいて割り振られていないことを、前記第２の格納データが示す場合、前記データは、前記差分ストレージ内の前記特定のページに格納されていないことを決定するステップと、
前記ページが前記差分ストレージ内に格納されていることを、前記第１の格納データが示さず、前記領域が前記差分ストレージにおいて割り振られてないことを、前記第２の格納データが示さない場合、前記特定のページについての前記差分ストレージの対応するエリアからページデータを読み取り、前記対応するエリアからの前記ページデータが有効であるかどうかを決定するステップと
を含むことを特徴とする請求項３６に記載のコンピュータ読取り可能記録媒体。
【請求項３９】
前記サイドページテーブルは、ページごとに、
前記ページが前記差分ストレージ内に格納されているかどうかを示す第１の格納データを含むことを特徴とする請求項３３に記載のコンピュータ読取り可能記録媒体。
【請求項４０】
データが前記差分ストレージ内の特定のページ内に格納されているかどうかの決定は、
前記第１の格納データをチェックし、前記特定のページが前記差分ストレージに格納されていることを、前記第１の格納データが示す場合、前記データは、前記差分ストレージ内の前記特定のページに格納されることを決定するステップと、
前記ページが前記差分ストレージ内に格納されていることを、前記第１の格納データが示さない場合、前記特定のページについての前記差分ストレージの対応するエリアからページデータを読み取り、前記対応するエリアからの前記ページデータが有効であるかどうかを決定するステップと
を含むことを特徴とする請求項３９に記載のコンピュータ読取り可能記録媒体。
【請求項４１】
前記動作は、
前記データベースビュー内の特定のデータ要素の要求を受け付けるステップと、
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されているかどうかを決定するステップと、
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されている場合、前記差分ストレージを読み取ることによって前記要求に応答するステップと、
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されている場合、前記データベースを読み取ることによって前記要求に応答するステップと
をさらに含むことを特徴とする請求項２７に記載のコンピュータ読取り可能記録媒体。
【請求項４２】
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されているかどうかを決定する前記ステップは、前記差分ストレージが前記場所に有効なデータを含んでいるかどうかを決定するステップを含むことを特徴とする請求項４１に記載のコンピュータ読取り可能記録媒体。
【請求項４３】
データが前記差分ストレージ内の前記特定のデータ要素に対応する場所に格納されているかどうかを決定する前記動作は、前記サイドページテーブルを調べるステップを含むことを特徴とする請求項４１に記載のコンピュータ読取り可能記録媒体。
【請求項４４】
前記コンピュータ読取り可能記録媒体は、
第２の特定のデータ要素の代わりに前記データベース内のある場所に第１の特定の値を格納する前記データベースに加えられた修正を検出するステップと、
前記データベースビュー内の対応する場所が有効なデータを含んでいるかどうかを決定するステップと、
前記データベースビュー内の前記対応する場所が有効なデータを含んでいない場合、前記第２の特定のデータ要素を前記対応する場所に書き込むステップと
をさらに含むことを特徴とする請求項２７に記載のコンピュータ読取り可能記録媒体。