【手続補正書】
【提出日】平成19年2月26日(2007.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
無効化情報を格納するためのコンテキストバンクと、
データベースクエリおよび関連する無効化情報を前記コンテキストバンクからデータベースに送信するためのクエリマネージャと、
データベースクエリに基づいた結果を格納し、前記関連する無効化情報が前記データベースによって維持されるためのメモリと
を備えたことを特徴とするメモリ無効化登録システム。
【請求項２】
前記無効化情報は、無効化文字列、サービス情報、および有効期限の少なくとも１つを備えたことを特徴とする請求項１に記載のシステム。
【請求項３】
前記無効化文字列は、一意の識別子、マシン名、ポート、アドレス、およびキュー名のうちの少なくとも１つを備えたことを特徴とする請求項２に記載のシステム。
【請求項４】
前記無効化文字列は、認証、暗号化、およびプロトコル情報のうちの少なくとも１つをさらに備えたことを特徴とする請求項３に記載のシステム。
【請求項５】
前記クエリマネージャは、クエリとともに送信する無効化情報を取得するために前記コンテキストバンクとともに動作することを特徴とする請求項１に記載のシステム。
【請求項６】
前記無効化情報は、複数のクエリに関連し格納されている結果に、関連付けられることを特徴とする請求項１に記載のシステム。
【請求項７】
前記クエリマネージャは、前記格納されている結果に影響を与えることになるデータベース変更、および前記無効化情報で定義されている期限切れのうち少なくとも一方の後で、無効化メッセージを受信することを特徴とする請求項１に記載のシステム。
【請求項８】
前記データベース変更は、前記変更が同期的に配信されるまで、阻止されることを特徴とする請求項７に記載のシステム。
【請求項９】
前記データベース変更は、前記変更が非同期的に配信される間に、終了することを特徴とする請求項７に記載のシステム。
【請求項１０】
前記無効化メッセージが受信された後で前記メモリ内に保存されている結果を自動的に無効にすることを特徴とする請求項１に記載のシステム。
【請求項１１】
前記無効化メッセージが受信された後で前記データベースの再クエリを自動的に行い、メモリ内に保存されている結果を更新することを特徴とする請求項１に記載のシステム。
【請求項１２】
前記一意の識別子は、前記保存されている結果と前記ソースクエリの間の関連を定義するためにランタイム時に生成されることを特徴とする請求項３に記載のシステム。
【請求項１３】
１つまたは複数のクエリを保存されている結果とともにグループ化するために、前記一意の識別子を使用することを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記一意の識別子をセキュリティ機構として使用して、偽りの無効化情報および偽りの無効化メッセージのうちの少なくとも１つを軽減することを特徴とする請求項１２に記載のシステム。
【請求項１５】
結果の格納と無効化を調整するためのメモリマネージャをさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項１６】
前記自動無効化は、一致しない結果を前記メモリから削除すること、前記メモリ内の一致しない結果を上書きすること、および前記メモリ内の一致しない結果にタグを付けることのうちの少なくとも１つを備えたことを特徴とする請求項１０に記載のシステム。
【請求項１７】
前記メモリはキャッシュメモリを備えたことを特徴とする請求項１に記載のシステム。
【請求項１８】
前記メモリは複数の構成要素によって共有されることを特徴とする請求項１に記載のシステム。
【請求項１９】
ＳＱＬベースの環境で使用することを特徴とする請求項１に記載のシステム。
【請求項２０】
その後の要求による使用のために前記結果をメモリに格納すること、および前記格納されている結果が前記データベースと一致しなくなったときに前記結果を無効にすることを要求するためのコメントおよびページ指示のうちの少なくとも１つをさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項２１】
前記コンテキストバンクは、前記格納されている結果の生成に使用するクエリへの前記無効化情報の伝達を容易にすることを特徴とする請求項１に記載のシステム。
【請求項２２】
前記格納されている結果は、生データ、変換データ、例外的なデータ、集計データ、概要データ、ピボットテーブルデータ、前記生データから生成されたオブジェクト、部分Ｗｅｂ応答、完全Ｗｅｂ応答、およびクエリ可能データのうちの少なくとも１つを備えたことを特徴とする請求項１に記載のシステム。
【請求項２３】
１つまたは複数の構成要素に関する無効化情報を格納するコンテキストと、
データベースクエリおよび無効化情報を送信するためのクエリマネージャと、
前記データベースクエリから生成された結果を格納するための１つまたは複数のメモリと
を備えたことを特徴とする自動メモリ無効化システム。
【請求項２４】
前記１つまたは複数のメモリはローカルキャッシュメモリ、補助キャッシュメモリ、およびリモート高速メモリを備えたことを特徴とする請求項２３に記載のシステム。
【請求項２５】
偽りの無効化情報および偽りの無効化メッセージについての悪意のあるクエリのうちの少なくとも１つを軽減するために、クエリマネージャおよび前記依存構成要素に対して動作するセキュリティ層をさらに備えたことを特徴とする請求項２３に記載のシステム。
【請求項２６】
保存されている結果が一致しなくなったときに前記保存されている結果を自動的に無効にすること、および保存されている結果が無効になったことを構成要素に通知することのうち少なくとも一方を提供するための機構をさらに備えたことを特徴とする請求項２３に記載のシステム。
【請求項２７】
セキュリティ層としてファイアウォールをさらに備えたことを特徴とする請求項２３に記載のシステム。
【請求項２８】
前記１つまたは複数のメモリが前記ファイアウォール内に存在することを特徴とする請求項２７に記載のシステム。
【請求項２９】
前記ファイアウォールは、前記１つまたは複数のメモリにおいて、結果の格納、結果へのアクセス、および結果の無効化の少なくとも１つを容易にすることを特徴とする請求項２７に記載のシステム。
【請求項３０】
前記１つまたは複数のメモリは前記１つまたは複数の構成要素から同時にアクセス可能であることを特徴とする請求項２７に記載のシステム。
【請求項３１】
登録された結果を保存して前記結果が一致しなくなったときに自動的に無効化するための方法であって、
無効化情報をコンテキストに格納すること、
前記無効化情報を関連するクエリとともに送信すること、および
前記クエリから生成された前記結果をメモリに保存すること
を備えることを特徴とする方法。
【請求項３２】
一致した結果を確実にするために、前記クエリの後、かつ前記結果を格納する前に変更が行われたかどうかについて前記クエリが行われたデータベースをチェックすることをさらに備えることを特徴とする請求項３１に記載の方法。
【請求項３３】
前記無効化情報は無効化文字列、サービス情報、および有効期限のうちの少なくとも１つを備えることを特徴とする請求項３１に記載の方法。
【請求項３４】
前記無効化文字列は識別子、マシン名、ポート、アドレス、およびキュー名のうちの少なくとも１つを備えることを特徴とする請求項３３に記載の方法。
【請求項３５】
前記無効化文字列は認証、暗号化、およびプロトコル情報のうちの少なくとも１つをさらに備えることを特徴とする請求項３４に記載の方法。
【請求項３６】
前記メモリはキャッシュメモリであることを特徴とする請求項３１に記載の方法。
【請求項３７】
結果が一致しなくなったときにデータベースクエリから生成された保存されている前記結果を自動的に無効にするための方法であって、
無効化情報の少なくとも一部を含む無効化メッセージを受信すること、および
前記無効化情報の少なくとも一部を使用して保存されている結果を無効にすること
を備えることを特徴とする方法。
【請求項３８】
前記結果を自動的に無効にすることをさらに備えることを特徴とする請求項３７に記載の方法。
【請求項３９】
一致した結果を生成し保存するために自動的に再クエリを行うことをさらに備えることを特徴とする請求項３７に記載の方法。
【請求項４０】
前記無効化メッセージは前記格納されている結果に影響を与えることになるデータベース変更および有効期限切れのうちの少なくとも一方に関連付けられることを特徴とする請求項３７に記載の方法。
【請求項４１】
結果を保存し、前記結果が一致しなくなったときに前記結果を無効にするためにメモリ無効化登録システムのコンピュータ実行可能構成要素を格納するコンピュータ可読媒体であって、
構成要素に関連する無効化情報を格納するためのコンテキストと、
前記コンテキストから無効化情報を取得し、要求されたクエリとともに前記無効化情報を送信するためのクエリマネージャと、
結果を保存し、一致しない結果を無効にすることを容易にするためのメモリマネージャと
を備えることを特徴とするコンピュータ可読媒体。
【請求項４２】
メモリ内に保存されている結果を無効にするためのシステムであって、
データベースへのクエリを行うよう要求する構成要素の無効化情報を取得するための手段と、
前記無効化情報をクエリとともに送信するための手段と、
無効化メッセージを受信するための手段と、
メモリ内に格納されている一致しない結果を無効にするための手段と
を備えることを特徴とするシステム。
【請求項４３】
一致した結果を得るために前記データベースの再クエリを自動的に行うための手段をさらに備えることを特徴とする請求項４２に記載のシステム。
【請求項４４】
無効化情報および無効化メッセージが偽りではないことを確認するための手段をさらに備えることを特徴とする請求項４２に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
コンテキストバンク１１０に格納されている無効化情報は、クエリマネージャ１２０から使用可能である。クエリマネージャ１２０は、コマンドおよび／またはクエリの実行時に無効化情報を使用することができる。例えばクエリマネージャ１２０は、コンテキストバンク１１０から無効化情報を取得し、この無効化情報をクエリに含め、無効化情報をクエリの一部とする、かつ／またはクエリに関連付けることができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
クエリマネージャ１２０は、データベースへのクエリ要求を介して呼び出されると、コンテキストバンク１１０と対話して、その構成要素に関連付けられた無効化情報を取得する。次いでクエリマネージャ１２０は、データベースへのクエリを介して要求を実行し、コンテキストバンク１１０から取得された無効化情報が連続的に、かつ／またはクエリと同時に送信される。次いでクエリ結果が返され使用されて、格納すべき結果が生成され、送信された無効化情報は、構成要素、クエリ、およびクエリが行われたデータベースに関連付けられたままである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
結果を保存した後、データベース変更、または期限切れによって保存されている結果が一致しなくなる可能性がある。上記のクエリの結果に影響を及ぼし得るデータベース変更が行われたとき、および／またはタイムアウトが満了したとき、たとえその結果を生成した構成要素がもはや存在していないとしても、クエリとともに送信された無効化情報を使用して構成要素（メモリマネージャ２２０など）に保存されている結果を無効（削除、更新など）にするよう通知することができる。保存されている結果への関連付けを試みる他の構成要素に、保存されている結果が無効であることを示す通知を提供することができる。したがって本発明では、構成要素に通知し、かつ／または保存されている結果を無効にすることによって、一致しない保存結果の使用が軽減される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
クエリマネージャ１２０は、クエリ結果を受け付け、その結果をクライアント３１０に送信することができる。本発明は、同期および非同期メッセージ配信を提供することを理解されたい。同期メッセージ配信では、無効化メッセージの配信および／または一致しない結果の無効化まで、データベースの変更を阻止することができる。同期配信では、変更のコミットと無効化メッセージの受信および／または結果の無効化の間にデータベース変更が確実に行われないようにすることによって、データの不一致が軽減される。非同期メッセージ配信では、無効化メッセージを配信する前、および／または一致しない結果を無効にする前にデータベースの変更をコミットすることができる。非同期配信では、配信待ち時間が軽減される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
クエリマネージャ４３０（クエリマネージャ１２０など）が呼び出されてデータベースへのクエリを行うとき、クエリマネージャ４３０は、コンテキスト構成要素４２０とインターフェースをとり、関連する無効化情報を取得する。次いでクエリマネージャ４３０は、クエリおよび無効化情報をデータベースサーバ４５０内のサーバ４４０（例えば動的および静的）に送信する。データベース４４０に対するクエリが実行されて結果がアプリケーション４９２に戻される。無効化情報は、データベースサーバ４５０に残り、Ｗｅｂサーバ４０５上の依存構成要素４１０と、サーバ４４０によって戻される結果との間の関連を提供する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
次に図５に、本発明の一態様によるセキュリティ技術の例を示している。システム５００は、Ｗｅｂサーバ４０５、データベースサーバ４５０、およびＷｅｂサーバ４０５とデータベースサーバ４５０を動作可能に結合するセキュリティ層５１０を含む。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
上述したように、クエリマネージャ４３０は、コンテキスト構成要素４２０とインターフェースをとり、クエリ要求を受信した後、無効化情報を取得する。次いでクエリマネージャ４３０は、Ｗｅｂサーバ４０５からデータベースサーバ４５０内のサーバ４４０にクエリおよび無効化情報を送信する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
クエリ要求を受信すると、クエリマネージャ４３０は、コンテキスト構成要素４２０から無効化情報を取得し、クエリおよび無効化情報をデータベースサーバ４５０に送信する。クエリが実行されて結果がＷｅｂサーバ４０５に送信され、この結果をメモリに保存し、複数回使用することができ、実質的に同様のクエリの実行を軽減することができる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
データベースの変更が行われると、無効化メッセージが構築され、通信インターフェース６１０を介してデータベースサーバ４５０からＷｅｂサーバ４０５に送信される。無効化メッセージは、例えば無効化情報の少なくとも一部を含むことができる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
図７は、本発明の一態様による分散無効化システム７００の例を示している。無効化システム７００は、Ｎを１以上の整数とすると、第１のＷｅｂアプリケーション７１０１からＮ番目のＷｅｂアプリケーション７１０Ｎ、Ｍを１以上の整数とすると、第１のコンテキスト構成要素７２０１からＭ番目のコンテキスト構成要素７２０Ｍ、Ｋを１以上の整数とすると、第１のデータベース７３０１からＫ番目のデータベース７３０Ｋ、および共有メモリ７４０を含む。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
少なくとも１つのデータベース７３０に対してデータベース変更が行われたとき、および／または有効期限が切れたとき、少なくとも１つのデータベース７２０は、無効化メッセージを１つまたは複数のＷｅｂアプリケーション７１０および／または共有メモリ７４０に送信する。（例えば１つの）無効化メッセージは、変更によって影響を受ける複数のＷｅｂアプリケーションに通知するために、複数のＷｅｂアプリケーションアドレス、および／または他の情報（他の無効化情報など）を含むことができることを理解されたい。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
システムメモリ１３１６は、揮発性メモリ１３２０および不揮発性メモリ１３２２を含む。基本入出力システム（ＢＩＯＳ）は、例えば起動中など、コンピュータ１３１２内の要素間での情報を転送するための基本ルーチンを含み、不揮発性メモリ１３２２に格納されている。不揮発性メモリ１３２２には、それだけには限定されないが一例として、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＰＲＯＭ（ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリなどがある。揮発性メモリ１３２０には、ランダムアクセスメモリ（ＲＡＭ）などがあり、これは外部キャッシュメモリとして働く。ＲＡＭは、それだけには限定されないが一例として、ＳＲＡＭ（ｓｙｎｃｈｒｏｎｏｕｓ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ＤＤＲ  ＳＤＲＡＭ（ｄｏｕｂｌｅ  ｒａｔｅ  ＳＤＲＡＭ）、ＥＳＤＲＡＭ（ｅｎｈａｎｃｅｄ  ＳＤＲＡＭ）、ＳＬＤＲＡＭ（Ｓｙｎｃｈｌｉｎｋ  ＤＲＡＭ）、およびＤＲＲＡＭ（ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  ＲＡＭ）など多くの形態で使用可能である。