【手続補正書】
【提出日】平成20年7月29日(2008.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバイスの１つまたは複数のプロセッサに、
データストアに対してパーミッションを設定して、前記データストアに対して、要求について動的に生成される１つまたは複数のオペレーションがアクセスすべきでない、前記データストアの第１の部分を除外した前記データストアの制限のない部分だけに対するアクセスを可能にさせ、
前記１つまたは複数のオペレーションが実行された後に、予想外の任意の変更が前記制限のない部分に対して行われたかどうかを検査させる
複数の命令を記憶していることを特徴とする１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項２】
前記予想外の変更は、前記要求を実行するために変更されるべきでない前記制限のない部分におけるデータの任意の追加、削除、または修正を含むことを特徴とする請求項１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項３】
前記複数の命令は、さらに前記１つまたは複数のプロセッサに、
前記１つまたは複数のオペレーションが実行される前に、前記制限のない部分のうちの一部分の第１のスナップショットをキャプチャーさせ、
前記１つまたは複数のオペレーションが実行された後に、前記制限のない部分のうちの前記一部分の第２のスナップショットをキャプチャーさせ、
予想外の任意の変更が前記制限のない部分に対して行われたかどうかを検査させることは、前記第１のスナップショットと前記第２のスナップショットを比較することであることを特徴とする請求項１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項４】
前記制限のない部分のうちの前記一部分は、前記要求を実行するために変更されるべきでない、前記制限のない部分のうちの一部分を含むことを特徴とする請求項３に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項５】
前記複数の命令は、さらに前記１つまたは複数のプロセッサに、
前記第１のスナップショットと前記第２のスナップショットが同じでない場合に、予想外の変更が前記制限のない部分に対して行われたことを決定させることを特徴とする請求項３に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項６】
前記複数の命令は、さらに前記１つまたは複数のプロセッサに、
前記第１のスナップショットと前記第２のスナップショットが同じである場合には、予想外の変更が前記制限のない部分に対して行われなかったと決定させることを特徴とする請求項３に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項７】
前記制限のない部分のうちの前記一部分は、データベース中の１つまたは複数のテーブルの１つまたは複数の行からのデータであることを特徴とする請求項３に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項８】
前記第１のスナップショットをキャプチャーすることは、前記１つまたは複数のオペレーションが実行される前に、前記１つまたは複数の行からのバージョン値の列をコピーすることであり、前記第２のスナップショットをキャプチャーすることは、前記１つまたは複数のオペレーションが実行された後に、前記１つまたは複数の行からのバージョン値の前記列をコピーすることであることを特徴とする請求項７に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項９】
前記第１のスナップショットをキャプチャーすることは、前記１つまたは複数のオペレーションが実行される前に、前記１つまたは複数の行からのバージョン値の列および一次キー値の列をコピーすることであり、前記第２のスナップショットをキャプチャーすることは、前記１つまたは複数のオペレーションが実行された後に、前記１つまたは複数の行からのバージョン値の前記列および一次キー値の前記列をコピーすることであることを特徴とする請求項７に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項１０】
予想外の任意の変更が前記制限のない部分に対して行われたかどうかを検査することは、
前記データストアの前記制限のない部分に対して行われた任意の変更についての通知が前記データストアによって送られることを要求し、
前記データストアから受け取った任意の通知を解析して、前記要求を実行するために行われているべきでない、前記制限のない部分におけるデータの任意の追加、削除、または修正が行われたかどうかを決定する
ことであることを特徴とする請求項１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項１１】
デバイスの１つまたは複数のプロセッサに、
データストアに対してパーミッションを設定して、前記データストアに対して、要求について動的に生成される１つまたは複数のオペレーションがアクセスすべきでない、前記データストアの第１の部分を除外した前記データストアの制限のない部分だけに対するアクセスを可能にさせ、
前記制限のない部分に含まれている、前記１つまたは複数のオペレーションがアクセスすべきでない前記データストアのうちの一部分に対するアクセスをロックさせる
複数の命令を記憶していることを特徴とする１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項１２】
前記データストアは、複数のテーブルを有するデータベースを含み、前記データストアの前記制限のない部分は、前記複数のテーブルのうちの１つまたは複数のテーブルを含み、前記データストアのうちの前記一部分は、前記制限のない部分における前記複数のテーブルのうちの少なくとも１つのテーブルの１つまたは複数の行を含むことを特徴とする請求項１１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項１３】
前記データストアのうちの前記一部分に対するアクセスをロックすることは、前記１つまたは複数のオペレーションが前記データストアのうちの前記一部分にアクセスすることを防止することであることを特徴とする請求項１１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項１４】
前記データストアのうちの前記一部分に対するアクセスをロックすることは、前記データストアの前記一部分における前記データに対して１つまたは複数のアップデートトランザクションを開始し、前記１つまたは複数のオペレーションが実行された後まで、前記１つまたは複数のアップデートトランザクションを完了しないことを特徴とする請求項１１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項１５】
前記要求は、前記データストアからデータを検索する要求を含むことを特徴とする請求項１１に記載の１つまたは複数のコンピュータ読取り可能記憶媒体。
【請求項１６】
データストアに対して動的に生成されるオペレーションが正しいかどうかを決定する方法であって、
前記データストアにアクセスするために、前記動的に生成されるオペレーションが生成されることになる対象の要求に少なくとも部分的に基づいているセットアップアクションを実行するステップであって、前記実行するステップは、前記データストアの一部分についてパーミッションを設定して、前記データストアの制限された部分および前記データストアの制限のない部分を確立するステップを含み、前記実行するステップはさらに、前記制限のない部分のうちの一部分に対するアクセスをロックするステップ、または予想外の任意の変更が、前記制限のない部分に対して行われたかどうかについての後続の検査を可能にするステップを含むステップと、
前記動的に生成されるオペレーションが実行された後に、予想外の操作が、前記動的に生成されるオペレーションによって実行されなかったことを検証するステップと、
予想外の操作が、前記動的に生成されるオペレーションによって実行されなかった場合に、前記動的に生成されるオペレーションは、前記要求について正しいと決定するステップと、
予想外の任意の操作が前記動的に生成されるオペレーションによって実行された場合には、前記動的に生成されるオペレーションは、前記要求について正しくないと決定するステップと
を含むことを特徴とする方法。
【請求項１７】
予想外の任意の変更が、前記制限のない部分に対して行われたかどうかについての後続の検査を可能にする前記ステップは、
前記動的に生成されるオペレーションが実行される前に、前記制限のない部分のうちの第１の部分の第１のスナップショットをキャプチャーするステップを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記動的に生成されるオペレーションが実行された後に、前記制限のない部分のうちの前記第１の部分の第２のスナップショットをキャプチャーするステップと、
前記第１のスナップショットと前記第２のスナップショットとを比較するステップと、
前記第１のスナップショットと前記第２のスナップショットが同じでない場合に、予想外の操作が、前記動的に生成されるオペレーションによって実行されたと決定するステップと、
前記第１のスナップショットと前記第２のスナップショットが同じである場合には、予想外の操作が、前記動的に生成されるオペレーションによって実行されなかったと決定するステップと
をさらに含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記制限のない部分のうちの前記第１の部分は、前記要求を実行するために変更されるべきでない、前記制限のない部分のうちの一部分を含むことを特徴とする請求項１７に記載の方法。
【請求項２０】
前記制限のない部分のうちの前記第１の部分は、データベース中の１つまたは複数のテーブルの１つまたは複数の行からのデータであることを特徴とする請求項１７に記載の方法。
【請求項２１】
予想外の任意の変更が、前記制限のない部分に対して行われたかどうかについての後続の検査を可能にする前記ステップは、
前記データストアの前記制限のない部分に対して行われた任意の変更についての通知が前記データストアによって送られることを要求するステップと、
前記データストアから受け取った任意の通知を解析して、前記要求を実行するために行われているべきでない、前記制限のない部分におけるデータの任意の追加、削除、または修正が行われたかどうかを決定するステップと
を含むことを特徴とする請求項１６に記載の方法。
【請求項２２】
前記制限のない部分のうちの一部分に対するアクセスをロックする前記ステップは、
前記データストアのうちの前記一部分における前記データに対して１つまたは複数のアップデートトランザクションを開始するが、前記動的に生成されるオペレーションが実行された後まで、前記１つまたは複数のアップデートトランザクションを完了しないステップを含むことを特徴とする請求項１６に記載の方法。
【請求項２３】
前記要求が前記データストアを修正する要求である場合にのみ、予想外の任意の変更が前記制限のない部分に対して行われたかどうかについての後続の検査を可能にするステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２４】
前記要求が前記データストアからのデータを検索する要求である場合にのみ、前記制限のない部分のうちの一部分に対するアクセスをロックするステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２５】
データストアに対しての、要求について動的に生成される１つまたは複数のオペレーションが実行された後に、予想外の任意の変更が前記データストアの一部分に対して行われたかどうかを検査するスナップショットモジュールと、
前記１つまたは複数のオペレーションによってアクセスされるべきでない、前記データストアの前記一部分に含まれている前記データストアのうちの一部分に対するアクセスをロックするロックセットモジュールと
を含むことを特徴とするシステム。
【請求項２６】
前記データストアに対してパーミッションを設定して、前記１つまたは複数のオペレーションがアクセスすべきでない、前記データストアの別の部分を除外した、前記データストアの前記部分だけに対するアクセスを可能にするパーミッションモジュールを
さらに含むことを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記要求が前記データストアを修正する要求である場合にのみ、前記スナップショットモジュールは、予想外の任意の変更が前記部分に対して行われたかどうかを検査することを特徴とする請求項２５に記載のシステム。
【請求項２８】
前記要求が前記データストアからのデータを検索する要求である場合にのみ、前記ロックセットモジュールは、前記データストアのうちの前記一部分に対するアクセスをロックすることを特徴とする請求項２５に記載のシステム。
【請求項２９】
予想外の任意の変更が前記一部分に対して行われたかどうかを検査する前記スナップショットモジュールは、
前記１つまたは複数のオペレーションが実行される前に、前記一部分のうちの第１の部分の第１のスナップショットをキャプチャーし、
前記１つまたは複数のオペレーションが実行された後に、前記一部分のうちの前記第１の部分の第２のスナップショットをキャプチャーし、
前記第１のスナップショットと前記第２のスナップショットとを比較し、
前記第１のスナップショットと前記第２のスナップショットが同じでない場合に、予想外の変更が、前記一部分に対して行われたと決定し、
前記第１のスナップショットと前記第２のスナップショットが同じである場合には、予想外の変更が、前記一部分に対して行われなかったと決定することを特徴とする請求項２５に記載のシステム。
【請求項３０】
予想外の任意の変更が前記一部分に対して行われたかどうかを検査する前記スナップショットモジュールは、
任意の変更が、前記データストアの前記一部分に対して行われるときに、通知が前記データストアによって送られることを要求し、
前記データストアから受け取った任意の通知を解析して、前記要求を実行するために行われているべきでない、前記一部分におけるデータの任意の追加、削除、または修正が行われたかどうかを決定することを特徴とする請求項２５に記載のシステム。
【請求項３１】
前記１つまたは複数のオペレーションによってアクセスされるべきでない、前記データストアのうちの一部分に対するアクセスをロックする前記ロックセットモジュールは、
前記データストアのうちの前記一部分における前記データに対して１つまたは複数のアップデートトランザクションを開始し、前記１つまたは複数のオペレーションが実行された後まで、前記１つまたは複数のアップデートトランザクションを完了しないことを特徴とする請求項２５に記載のシステム。
【請求項３２】
データストアにアクセスするために、動的に生成されるオペレーションが生成されることになる対象の要求に少なくとも部分的に基づいているセットアップアクションを実行する手段であって、前記実行する手段は、前記データストアの一部分についてパーミッションを設定して、前記データストアの制限された部分および前記データストアの制限のない部分を確立する手段を含み、前記実行する手段はさらに、前記制限のない部分のうちの一部分に対するアクセスをロックする手段、または予想外の任意の変更が、前記制限のない部分に対して行われたかどうかについての後続の検査を可能にする手段を含む手段と、
前記動的に生成されるオペレーションが実行された後に、予想外の操作が、前記動的に生成されるオペレーションによって実行されなかったことを検証する手段と、
予想外の操作が、前記動的に生成されるオペレーションによって実行されなかった場合に、前記動的に生成されるオペレーションは、前記要求について正しいと決定する手段と、
予想外の任意の操作が前記動的に生成されるオペレーションによって実行された場合には、前記動的に生成されるオペレーションは、前記要求について正しくないと決定する手段と
を備えることを特徴とするシステム。
【請求項３３】
予想外の任意の変更が、前記制限のない部分に対して行われたかどうかについての後続の検査を可能にする前記手段は、
前記動的に生成されるオペレーションが実行される前に、前記制限のない部分のうちの第１の部分の第１のスナップショットをキャプチャーする手段を備えることを特徴とする請求項３２に記載のシステム。
【請求項３４】
前記動的に生成されるオペレーションが実行された後に、前記制限のない部分のうちの前記第１の部分の第２のスナップショットをキャプチャーする手段と、
前記第１のスナップショットと前記第２のスナップショットとを比較する手段と、
前記第１のスナップショットと前記第２のスナップショットが同じでない場合に、予想外の操作が、前記動的に生成されるオペレーションによって実行されたと決定する手段と、
前記第１のスナップショットと前記第２のスナップショットが同じである場合には、予想外の操作が、前記動的に生成されるオペレーションによって実行されなかったと決定する手段と
をさらに備えることを特徴とする請求項３３に記載のシステム。
【請求項３５】
予想外の任意の変更が、前記制限のない部分に対して行われたかどうかについての後続の検査を可能にする前記手段は、
前記データストアの前記制限のない部分に対して行われた任意の変更についての通知が前記データストアによって送られることを要求する手段と、
前記データストアから受け取った任意の通知を解析して、前記要求を実行するために行われているべきでない、前記制限のない部分におけるデータの任意の追加、削除、または修正が行われたかどうかを決定する手段と
を備えることを特徴とする請求項３２に記載のシステム。
【請求項３６】
前記制限のない部分のうちの一部分に対するアクセスをロックする前記手段は、
前記データストアのうちの前記一部分における前記データに対して１つまたは複数のアップデートトランザクションを開始するが、前記動的に生成されるオペレーションが実行された後まで、前記１つまたは複数のアップデートトランザクションを完了しない手段を備えることを特徴とする請求項３２に記載のシステム。