【手続補正書】
【提出日】平成20年10月29日(2008.10.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つの遠隔サーバに向けられたデータベース照会にローカル・サーバが応じるための方法（４００）であって、
前記遠隔サーバの従前のデータベース照会の結果を動的にキャッシュに入れ（４１４）、
ローカル・データベースを前記ローカル・サーバと関連付け（４２０）、
共有テーブル内の複数のキャッシュ結果を前記ローカル・データベースに格納し（４２２）、
前記ローカル・サーバによって新しいデータベース照会に応じる（４１２）際に前記複数のキャッシュ結果を用いる段階を含み、
前記格納する段階が、
単一のデータベース・テーブル上の簡単な照会（３０４）及び上位Ｎ個の照会（３０５）の結果を共有基本テーブルに挿入し、
結合照会の結果を共有結合テーブル内に保管し、
全ての前記共有基本テーブル及び共有結合テーブルを含む共有テーブル・リポジトリを形成し、
複合照会の結果を、照会結果ごとに１つずつ別個のテーブルに格納し、
前記複数の別個のテーブルから完全一致リポジトリを形成する、
段階を含む方法。
【請求項２】
前記挿入する段階が、
単純照会が最初に基本テーブルに受信されるたびに、起点サーバ内の基本テーブルに対応するように、前記キャッシュ内に単一のローカル・テーブルを作成し、
前記単純照会の結果を前記ローカル・テーブルに挿入し、
前記基本テーブルへの次の単純照会の全ての結果を前記ローカル・テーブルに挿入する、
段階を含む、請求項１に記載の方法。
【請求項３】
前記保管する段階が、
結合照会における各々の結合条件及びテーブル・リストに対応するように、前記キャッシュ内にローカル結合テーブルを作成し、
同じ前記テーブル・リスト上にあり、同じ前記結合条件を有する次の前記結合照会の全ての結果を前記ローカル結合テーブルに挿入する、
段階を含む、請求項１に記載の方法。
【請求項４】
前記試みる段階が、
前記新しい照会の選択リスト内の列のリストがマッチング照会のものに含まれ、該新しい照会の述部がマッチング照会の述部のものを論理的に含み、該新しい照会の種々の節において記載される全ての列が、前記マッチング照会の前記選択リスト内に含まれるという条件を満たす、キャッシュに入れられたマッチング照会を見つけ出し、
前記新しい照会の選択リスト内の列の前記リストが、前記マッチング照会の各々の１つのものに含まれ、全ての述部が論理ＯＲ演算子によって接続されるとき、該新しい照会の述部が、前記マッチング照会述部の全ての分離によって形成された述部のものを論理的に含み、該新しい照会の種々の節において記載される全ての列が、マッチング照会の各々の前記選択リスト内に含まれるという条件を満たす、キャッシュに入れられたマッチング照会の組を見つけ出す、
段階の少なくとも１つを含む、請求項２に記載の方法。
【請求項５】
少なくとも１つの遠隔サーバに向けられたデータベース照会にローカル・サーバが応じるための方法（４００）であって、
前記遠隔サーバの従前のデータベース照会の結果を動的にキャッシュに入れ（４１４）、
ローカル・データベースを前記ローカル・サーバと関連付け（４２０）、
共有テーブル内の複数のキャッシュ結果を前記ローカル・データベースに格納し（４２２）、
前記ローカル・サーバによって新しいデータベース照会に応じる（４１２）際に前記複数のキャッシュ結果を用いる段階を含み、
前記用いる段階が、
前記照会が複雑な場合に、完全一致リポジトリにおいて前記新しい照会への応答を検索し、
前記新しい照会が複雑でない場合に、共有テーブル・リポジトリにおいて前記データから該新しい照会への応答をサブ選択する、
段階の少なくとも１つを含み、
前記検索する段階が、
前記新しい照会の前記ＳＱＬ文字列が前記完全一致リポジトリ内に見出された場合に、該ＳＱＬ文字列に対応する前記キャッシュ内の照会結果を前記アプリケーションに戻し、
前記新しい照会の前記ＳＱＬ文字列が前記完全一致リポジトリ内に見出されない場合に、該新しい照会を前記起点サーバに送信し、
前記新しい照会の前記ＳＱＬ文字列が前記完全一致リポジトリ内に見出されない場合に、受信した前記照会結果を前記完全一致リポジトリに挿入し、
前記新しい照会の前記ＳＱＬ文字列が前記完全一致リポジトリ内に見出されない場合に、キャッシュ内の前記照会結果を前記新しい照会のＳＱＬ文字列と関連付ける、
段階を含む方法。
【請求項６】
前記共有テーブルのクリーニングが、
前記共有テーブルから各テーブル内の制御列を形成し、
前記制御列内のエントリを偽に設定し、
前記共有テーブル内で維持されることになる良好な照会を特定し、
前記良好な照会についての応答に属する行に対応する、前記制御列内の全てのエントリに印を付け、
前記制御列のエントリが依然として偽である前記共有テーブル内のいずれかの行を削除する、
段階を含む、請求項５に記載の方法。
【請求項７】
少なくとも１つの遠隔サーバに向けられたデータベース照会にローカル・サーバが応じるための方法（４００）であって、
前記遠隔サーバの従前のデータベース照会の結果を動的にキャッシュに入れ（４１４）、
ローカル・データベースを前記ローカル・サーバと関連付け（４２０）、
共有テーブル内の複数のキャッシュ結果を前記ローカル・データベースに格納し（４２２）、
前記ローカル・サーバによって新しいデータベース照会に応じる（４１２）際に前記複数のキャッシュ結果を用いる段階を含み、
前記用いる段階が、
前記照会が複雑な場合に、完全一致リポジトリにおいて前記新しい照会への応答を検索し、
前記新しい照会が複雑でない場合に、共有テーブル・リポジトリにおいて前記データから該新しい照会への応答をサブ選択する、
段階の少なくとも１つを含み、
前記サブ選択する段階が、
前記新しい照会の結果の組の結果が、包含関係チェッカを有するキャッシュに入れられた照会結果のユニオン内に含まれることを証明しようと試み、
前記証明を試みる段階がうまく完了した場合に、前記新しい照会において記載される前記テーブルをローカル・テーブル名に置き換え、
前記証明を試みる段階がうまく完了した場合に、前記共有テーブル・リポジトリ上の前記新しい照会を評価し、
前記照会が上位Ｎ個の照会である場合に、ローカル・キャッシュから受信した行数を数え、前記行数が、前記アプリケーションによって要求される行数を超えない場合に、前記新しい照会を再書き込みし、再書き込みされた照会を作成し、前記再書き込みされた照会を起点に送信し、前記起点サーバから受信した前記結果を共有テーブル・リポジトリに格納し、該再書き込みされた照会の述部を該共有テーブル・リポジトリの索引に付加し、該共有テーブル・リポジトリ上の該照会を評価し、前記評価段階の結果を前記アプリケーションに戻す、
段階を含む方法。
【請求項８】
前記再書き込みする段階が、
アクセスされたテーブルの一次キーを前記照会の選択リストに付加し、
リソース・マネージャが、結果として生じる結果の組が大きすぎないか又はキャッシュに入れる価値があると推定する場合に、集約演算子を前記選択リストから落とし、
前記照会によって要求される行数（Ｎ）を拡張し、より多くの行を検索する、
段階を含む、請求項７に記載の方法。
【請求項９】
少なくとも１つの遠隔サーバに向けられたデータベース照会にローカル・サーバが応じるための方法（４００）であって、
前記遠隔サーバの従前のデータベース照会の結果を動的にキャッシュに入れ（４１４）、
ローカル・データベースを前記ローカル・サーバと関連付け（４２０）、
共有テーブル内の複数のキャッシュ結果を前記ローカル・データベースに格納し（４２２）、
前記ローカル・サーバによって新しいデータベース照会に応じる（４１２）際に前記複数のキャッシュ結果を用いる段階を含み、
従前の照会結果のデータ整合性を確保する段階をさらに含み、
起点によって伝えられ、バックエンド・テーブルに適用された更新、削除、及び挿入を含むリフレッシュ・メッセージにデータ・キャッシュをサブスクライブし、
前記リフレッシュ・メッセージを受信するたびに、前記更新、削除、及び挿入を共有テーブル・リポジトリ内の局所的にキャッシュに入れられたテーブルに適用し、
リフレッシュ・メッセージにおいて参照される、前記完全一致リポジトリ内のいずれかの共有結合テーブルを変更されたものとして無効にし、
リフレッシュ・メッセージのタイムスタンプを、その効果が前記メッセージ内に含まれるいずれかのトランザクションの最大のタイムスタンプと等しいリフレッシュ・メッセージと関連付け、
キャッシュに入れられた組のタイムスタンプを、前記キャッシュに適用された最後のリフレッシュ・メッセージのタイムスタンプと等しい従前の照会結果と関連付け、
新しい照会のタイムスタンプを新しい照会と関連付け、
前記新しい照会のタイムスタンプを前記キャッシュに入れられた組のタイムスタンプと比較し、
前記新しい照会のタイムスタンプが前記キャッシュに入れられた組のタイムスタンプを超える場合に、応答を該新しい照会に挿入し、
前記新しい照会のタイムスタンプが前記キャッシュに入れられた組のタイムスタンプを超える場合に、データベース・サーバから保留のリフレッシュ・メッセージを検索する、
段階を含む方法。
【請求項１０】
データベース・サーバから検索された照会結果の組のデータ整合性を確保する方法（８００）であって、
起点によって伝えられ、バックエンド・テーブル（７０７）に適用された更新、削除、及び挿入を含むリフレッシュ・メッセージに前記データ・キャッシュをサブスクライブし、
前記リフレッシュ・メッセージを受信するたびに、前記更新、削除、及び挿入を局所的にキャッシュに入れられたテーブル（７０４）に適用し、
タイムスタンプを、その効果が前記メッセージ内に含まれるいずれかのトランザクションの最大のタイムスタンプと等しいリフレッシュ・メッセージと関連付け、
一組のタイムスタンプを、前記キャッシュに適用された最後のリフレッシュ・メッセージの前記タイムスタンプと等しい従前の照会結果と関連付け、
新しい照会のタイムスタンプを新しい照会と関連付け、
前記新しい照会のタイムスタンプを前記組のタイムスタンプと比較し、
前記新しい照会のタイムスタンプが該組のタイムスタンプを超える場合に、該新しい照会への応答を挿入し、
前記新しい照会のタイムスタンプが前記組のタイムスタンプを超える場合に、前記データベース・サーバから保留のリフレッシュ・メッセージを検索する、
段階を含むことを特徴とする方法。
【請求項１１】
ローカル・アプリケーションによって実行される照会に基づいてデータを動的にキャッシュに入れ、データベース・サーバから検索された照会結果の組のデータ整合性を確保するための、エッジ・サーバ（１０９）を含むシステム（１００）であって、
遠隔サーバの従前のデータベース照会の結果を動的にキャッシュに入れるための手段と、
ローカル・データベースをローカル・サーバと関連付けるための手段と、
共有テーブル内の複数のキャッシュ結果を前記ローカル・データベースに格納するための手段と、
前記ローカル・サーバによって新しいデータベース照会に応じる際に前記複数のキャッシュ結果を用いるための手段を含み、
起点によって伝えられ、バックエンド・テーブルに適用された更新、削除、及び挿入を含むリフレッシュ・メッセージにデータ・キャッシュをサブスクライブするための手段と、
前記リフレッシュ・メッセージを受信するたびに、前記更新、削除、及び挿入を局所的に前記キャッシュに入れられたテーブルに適用するための手段と、
タイムスタンプを、その結果が前記メッセージ内に含まれるトランザクションのいずれかの最大の前記タイムスタンプに等しいリフレッシュ・メッセージと関連付けるための手段と、
一組のタイムスタンプを、前記キャッシュに適用される最後のリフレッシュ・メッセージの前記タイムスタンプと等しい従前の照会結果と関連付けるための手段と、
新しい照会のタイムスタンプを新しい照会と関連付けるための手段と、
前記新しい照会のタイムスタンプを前記組のタイムスタンプと比較するための手段と、
前記新しい照会のタイムスタンプが前記組のタイムスタンプを超える場合に、該新しい照会への応答を挿入するための手段と、
前記新しい照会のタイムスタンプが前記組のタイムスタンプを超える場合に、前記データベース・サーバから保留のリフレッシュ・メッセージを検索するための手段と、
を含むシステム。
【請求項１２】
ローカル・アプリケーションによって実行される照会に基づいてデータを動的にキャッシュに入れ、データベース・サーバから検索された照会結果の組のデータ整合性を確保するためのプログラムであって、前記プログラムが、コンピュータに、
遠隔サーバの従前のデータベース照会の結果を動的にキャッシュに入れ（４１４）、
ローカル・データベースを前記ローカル・サーバと関連付け（４２０）、
共有テーブル内の複数のキャッシュ結果を前記ローカル・データベースに格納し（４２２）、
前記ローカル・サーバによって新しいデータベース照会に応じる（４１２）際に前記複数のキャッシュ結果を用いる、
機能と、
起点によって伝えられ、バックエンド・テーブルに適用された更新、削除、及び挿入を含むリフレッシュ・メッセージにデータ・キャッシュをサブスクライブし、
前記リフレッシュ・メッセージを受信するたびに、前記更新、削除、及び挿入を局所的にキャッシュに入れられたテーブルに適用し、
タイムスタンプを、その効果が前記メッセージ内に含まれるいずれかのトランザクションの最大のタイムスタンプと等しいリフレッシュ・メッセージと関連付け、
一組のタイムスタンプを前記キャッシュに適用された最後のリフレッシュ・メッセージの前記タイムスタンプと等しい従前の照会の結果と関連付け、
新しい照会のタイムスタンプを新しい照会と関連付け、
前記新しい照会のタイムスタンプを前記組のタイムスタンプと比較し、
前記新しい照会のタイムスタンプが前記組のタイムスタンプを超える場合に、該新しい照会への応答を挿入し、
前記新しい照会のタイムスタンプが前記組のタイムスタンプを超える場合に、前記データベース・サーバから保留のリフレッシュ・メッセージを検索する、
機能を、
実行させるプログラム。