(57)【特許請求の範囲】
【請求項１】
データをキャッシュするキャッシュシステムであって、
利用者の利用する情報の実体を記録するデータ記憶手段と、
前記データ記憶手段内に記録されている情報のうち利用者にとってよく利用される情報を格納する記憶手段であるキャッシュ記憶手段と、
利用者の利用する情報の項目間と種類間の関係を定義する定義情報を保持する関連付けルール記憶手段と、
アクセス要求を受け、キャッシュ記憶手段又はデータ記憶手段の何れか、或いはその両方から情報を検索し、検索の結果得られた、情報を要求元に返し、かつキャッシュ記憶手段及びデータ記憶手段の何れから情報を取得した場合であっても関連付けルール記憶手段内の定義情報を参照し、定義情報を用いることによりアクセス要求を受けた情報と関連が深い情報を求め、求めた情報を前記キャッシュ記憶手段に記録する事前予測キャッシュ管理手段と、
を備え、
前記アクセス要求を受けた情報と関連が深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求めることを特徴とするキャッシュシステム。
【請求項２】
請求項１に記載のキャッシュシステムであって、
前記事前予測キャッシュ管理手段が検索する情報は前記アクセス要求の要求元が過去に利用した情報で有るか否かを問わないことを特徴とするキャッシュシステム。
【請求項３】
請求項１又は２に記載のキャッシュシステムであって、
前記事前予測キャッシュ管理手段は、情報へのアクセス要求を受けると、まずキャッシュ記憶手段を検索し、キャッシュ記憶手段に要求された情報が無い場合に、データ記憶手段を検索することを特徴とするキャッシュシステム。
【請求項４】
請求項１又は２に記載のキャッシュシステムであって、
キャッシュ記憶手段とデータ記憶手段との間で情報を運搬する情報運搬手段、キャッシュする情報を予測する予測キャッシュ手段、の何れか又は両方を更に備え、
前記事前予測キャッシュ管理手段は、情報へのアクセス要求を受けると、まずキャッシュ記憶手段を検索し、キャッシュ記憶手段に要求された情報が無い場合に、データ記憶手段、予測キャッシュ手段、情報運搬手段の何れかが、要求された情報をデータ記憶手段から検索しキャッシュ記憶手段に保存することを特徴とするキャッシュシステム。
【請求項５】
請求項１乃至４の何れか１項に記載のキャッシュシステムであって、
前記事前予測キャッシュ管理手段は、検索条件式または固有の番号を用いて前記キャッシュ記憶手段及びに前記データ記憶手段で記録されている情報を検索することを特徴とするキャッシュシステム。
【請求項６】
請求項１乃至５の何れか１項に記載のキャッシュシステムであって、
前記関連付けルール記憶手段は、一つしかない場合は省略可能な関連元テーブル、関連元フィールド、関連先テーブル、関連先フィールド、演算の種類、重要度からなる情報間の関係付けに関しての定義を複数保存しており、前記事前予測キャッシュ管理手段から各定義情報を参照して前記アクセス要求を受けた情報と関連が深い情報を求めることを特徴とするキャッシュシステム。
【請求項７】
アクセス要求を行うクライアントとネットワークを介して接続された請求項１乃至６の何れか１項に記載のキャッシュシステムであって、
アクセス要求のあった情報及び前記アクセス要求を受けた情報と関連が深い情報を前記ネットワークを経由して要求元である前記クライアントに送信する送信手段を更に備えることを特徴とするキャッシュシステム。
【請求項８】
利用者からの検索要求を受け、データ記憶手段を検索し要求された情報を要求元に返す手段と、
利用者がキャッシュ記憶手段に対して要求した情報を特定する情報を取得する手段と、
データ記憶手段を検索した場合及び前記特定する情報を取得した場合の何れの場合であっても、自らが備える関連付けルール記憶手段内の定義を参照し、利用者が要求した情報と関係の深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求め、求めた情報を要求元に送信する事前予測キャッシュ管理手段と、
利用者の利用する情報を格納するデータ記憶手段と、
前記事前予測キャッシュ管理手段から参照可能な情報間の関係を定義する定義を保存する関連付けルール記憶手段と、
を備えることを特徴とするサーバ。
【請求項９】
データをキャッシュするキャッシュ方法であって、
利用者の利用する情報の実体をデータ記憶手段に記録するデータ記憶ステップと、
前記データ記憶手段内に記録されている情報のうち利用者にとってよく利用される情報をキャッシュ記憶手段に格納するキャッシュ記憶ステップと、
利用者の利用する情報の項目間と種類間の関係を定義する定義情報を関連付けルール記憶手段内に保持する関連付けルール記憶ステップと、
アクセス要求を受け、キャッシュ記憶手段又はデータ記憶手段の何れか、或いはその両方から情報を検索し、検索の結果得られた、情報を要求元に返し、かつキャッシュ記憶手段及びデータ記憶手段の何れから情報を取得した場合であっても関連付けルール記憶手段内の定義情報を参照し、定義情報を用いることによりアクセス要求を受けた情報と関連が深い情報を求め、求めた情報を前記キャッシュ記憶手段に記録する事前予測キャッシュ管理ステップと、
を備え、
前記アクセス要求を受けた情報と関連が深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求めることを特徴とするキャッシュ方法。
【請求項１０】
請求項９に記載のキャッシュ方法であって、
前記事前予測キャッシュ管理ステップにて検索する情報は前記アクセス要求の要求元が過去に利用した情報で有るか否かを問わないことを特徴とするキャッシュ方法。
【請求項１１】
請求項９又は１０に記載のキャッシュ方法であって、
前記事前予測キャッシュ管理ステップは、情報へのアクセス要求を受けると、まずキャッシュ記憶手段に記憶したデータを検索し、キャッシュ記憶手段に要求された情報が無い場合に、データ記憶手段に記憶したデータを検索することを特徴とするキャッシュ方法。
【請求項１２】
請求項９又は１０に記載のキャッシュ方法であって、
キャッシュ記憶手段とデータ記憶手段との間で情報を運搬する情報運搬ステップ、キャッシュする情報を予測する予測キャッシュステップ、の何れか又は両方を更に備え、
前記事前予測キャッシュ管理ステップでは、情報へのアクセス要求を受けると、まずキャッシュ記憶手段に記憶したデータを検索し、キャッシュ記憶手段に要求された情報が無い場合に、データ記憶ステップ、予測キャッシュステップ、情報運搬ステップの何れかにより、要求された情報をデータ記憶手段に記憶したデータから検索しキャッシュ記憶手段に保存することを特徴とするキャッシュ方法。
【請求項１３】
請求項９乃至１２の何れか１項に記載のキャッシュ方法であって、
前記事前予測キャッシュ管理ステップでは、検索条件式または固有の番号を用いて前記キャッシュ記憶手段及び前記データ記憶手段に記録されている情報を検索することを特徴とするキャッシュ方法。
【請求項１４】
請求項９乃至１３の何れか１項に記載のキャッシュ方法であって、
前記関連付けルール記憶手段は、一つしかない場合は省略可能な関連元テーブル、関連元フィールド、関連先テーブル、関連先フィールド、演算の種類、重要度からなる情報間の関係付けに関しての定義を複数保存しており、前記事前予測キャッシュ管理ステップでは各定義情報を参照して前記アクセス要求を受けた情報と関連が深い情報を求めることを特徴とするキャッシュ方法。
【請求項１５】
アクセス要求を行うクライアントとネットワークを介して接続された装置において行われる請求項９乃至１４の何れか１項に記載のキャッシュ方法であって、
アクセス要求のあった情報及び前記アクセス要求を受けた情報と関連が深い情報を前記ネットワークを経由して要求元である前記クライアントに送信する送信ステップを更に備えることを特徴とするキャッシュ方法。
【請求項１６】
利用者からの検索要求を受け、データ記憶手段を検索し要求された情報を要求元に返すステップと、
利用者がキャッシュ記憶手段に対して要求した情報を特定する情報を取得するステップと、
データ記憶手段を検索した場合及び前記特定する情報を取得した場合の何れの場合であっても、関連付けルール記憶手段に記憶されたデータ内の定義を参照し、利用者が要求した情報と関係の深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求め、求めた情報を要求元に送信する事前予測キャッシュ管理ステップと、
利用者の利用する情報をデータ記憶手段に格納するデータ記憶ステップと、
前記事前予測キャッシュ管理ステップにおいて参照可能な情報間の関係を定義する定義を関連付けルール記憶手段に保存する関連付けルール記憶ステップと、
を備えることを特徴とするキャッシュ方法。
【請求項１７】
データをキャッシュするキャッシュプログラムであって、
利用者の利用する情報の実体を記録するデータ記憶手段と、
前記データ記憶手段内に記録されている情報のうち利用者にとってよく利用される情報を格納する記憶手段であるキャッシュ記憶手段と、
利用者の利用する情報の項目間と種類間の関係を定義する定義情報を保持する関連付けルール記憶手段と、
アクセス要求を受け、キャッシュ記憶手段又はデータ記憶手段の何れか、或いはその両方から情報を検索し、検索の結果得られた、情報を要求元に返し、かつキャッシュ記憶手段及びデータ記憶手段の何れから情報を取得した場合であっても関連付けルール記憶手段内の定義情報を参照し、定義情報を用いることによりアクセス要求を受けた情報と関連が深い情報を求め、求めた情報を前記キャッシュ記憶手段に記録する事前予測キャッシュ管理手段と、
を備え、
前記アクセス要求を受けた情報と関連が深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求めることを特徴とする装置としてコンピュータを機能させるためのキャッシュプログラム。
【請求項１８】
請求項１７に記載のキャッシュプログラムであって、
前記事前予測キャッシュ管理手段が検索する情報は前記アクセス要求の要求元が過去に利用した情報で有るか否かを問わないことを特徴とするキャッシュプログラム。
【請求項１９】
請求項１７又は１８に記載のキャッシュプログラムであって、
前記事前予測キャッシュ管理手段は、情報へのアクセス要求を受けると、まずキャッシュ記憶手段を検索し、キャッシュ記憶手段に要求された情報が無い場合に、データ記憶手段を検索することを特徴とするキャッシュプログラム。
【請求項２０】
請求項１７又は１８に記載のキャッシュプログラムであって、
キャッシュ記憶手段とデータ記憶手段との間で情報を運搬する情報運搬手段、キャッシュする情報を予測する予測キャッシュ手段、の何れか又は両方を更に備える、装置としてコンピュータを機能させ、
前記事前予測キャッシュ管理手段は、情報へのアクセス要求を受けると、まずキャッシュ記憶手段を検索し、キャッシュ記憶手段に要求された情報が無い場合に、データ記憶手段、予測キャッシュ手段、情報運搬手段の何れかが、要求された情報をデータ記憶手段から検索しキャッシュ記憶手段に保存することを特徴とするキャッシュプログラム。
【請求項２１】
請求項１７乃至２０の何れか１項に記載のキャッシュプログラムであって、
前記事前予測キャッシュ管理手段は、検索条件式または固有の番号を用いて前記キャッシュ記憶手段及びに前記データ記憶手段で記録されている情報を検索することを特徴とするキャッシュプログラム。
【請求項２２】
請求項１７乃至２１の何れか１項に記載のキャッシュプログラムであって、
前記関連付けルール記憶手段は、一つしかない場合は省略可能な関連元テーブル、関連元フィールド、関連先テーブル、関連先フィールド、演算の種類、重要度からなる情報間の関係付けに関しての定義を複数保存しており、前記事前予測キャッシュ管理手段から各定義情報を参照して前記アクセス要求を受けた情報と関連が深い情報を求めることを特徴とするキャッシュプログラム。
【請求項２３】
アクセス要求を行うクライアントとネットワークを介して接続された装置に組み込まれる請求項１７乃至２２の何れか１項に記載のキャッシュプログラムであって、
アクセス要求のあった情報及び前記アクセス要求を受けた情報と関連が深い情報を前記ネットワークを経由して要求元である前記クライアントに送信する送信手段を更に備える装置としてコンピュータを機能させることを特徴とするキャッシュプログラム。
【請求項２４】
利用者からの検索要求を受け、データ記憶手段を検索し要求された情報を要求元に返す手段と、
利用者がキャッシュ記憶手段に対して要求した情報を特定する情報を取得する手段と、
データ記憶手段を検索した場合及び前記特定する情報を取得した場合の何れの場合であっても、自らが備える関連付けルール記憶手段内の定義を参照し、利用者が要求した情報と関係の深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求め、求めた情報を要求元に送信する事前予測キャッシュ管理手段と、
利用者の利用する情報を格納するデータ記憶手段と、
前記事前予測キャッシュ管理手段から参照可能な情報間の関係を定義する定義を保存する関連付けルール記憶手段と、
を備えることを特徴とする装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報をキャッシュ用データ管理構造にキャッシュすることで、以後のアクセス時に高速にアクセスできるキャッシュ方法、そのシステム及びそのプログラムに関する。
【背景技術】
【０００２】
本発明に関連するキャッシュシステムの方式を述べる。図１は本発明に関連するキャッシュシステムの構成を示す図である。図１を参照すると、本発明に関連するキャッシュシステムはデータ記憶装置と、キャッシュ管理装置と、キャッシュ記憶装置から構成されている。
【０００３】
記憶可能な容量については、キャッシュ記憶装置に対しデータ記憶装置は十分に大きい。また、前提としてデータ記憶装置には全てのデータが格納されている。一方、キャッシュ記憶装置にはデータ記憶装置内のデータのうち高い頻度でアクセスするデータを記録しておく。また検索速度の面では、キャッシュ記憶装置はデータ記憶装置より高速にデータの検索ができる。
【０００４】
このような構成を有する従来のキャッシュシステムの動作を以下に述べる。
【０００５】
利用者またはシステムがキャッシュ管理装置に検索要求を出す。検索要求には、データ記憶装置から情報を取り出すために必要な固有の番号（ＩＤ）または検索条件式を含んでいる。また、データ記憶装置中のデータにはそのデータを特定するための固有の番号（ＩＤ）が割り当てられている。キャッシュ管理装置は検索要求を受けると、キャッシュ記憶装置に対し検索要求で要求されたＩＤのデータがキャッシュ記憶装置内に保存されているか問い合わせる。
【０００６】
キャッシュ記憶装置内に要求されたＩＤのデータがある場合はそのデータをキャッシュ記憶装置から取り出し検索結果として検索要求元へ返す。一方、キャッシュ記憶装置内に要求されたＩＤのデータが無い場合はデータ記憶装置に対し検索を実行する。データ記憶装置内に要求したＩＤのデータが存在した場合、データ記憶装置から要求したＩＤのデータを取り出す。取り出したデータは検索要求元へ検索結果として返すとともに、キャッシュ記憶装置へ投入する。
【０００７】
次回以降、同じＩＤで検索要求がなされた場合、キャッシュ管理装置はキャッシュ記憶装置を確認することでデータ記憶装置を検索することなく高速にデータを読み出すことができる。
【０００８】
この点、上述のようなキャッシュシステムにおいて、データが実際に必要とされる前に、必要とされる確率のあるデータをメモリにロードし保持することにより、実際にパフォーマンスが向上し、パフォーマンスの向上を知覚することができるメモリ管理技術があった（例えば特許文献１参照）。
【０００９】
特許文献１に記載の発明は、使用頻度、最後に使用された時間、データ転送の容易さ、およびその他のコンテクストに基づく情報を含む各種の要素に従って、データのページに値／スコアで優先順位を付ける。これにより、より価値のあるデータをメモリにプリフェッチし、および／または保持するように機構が機能する。そして、そのデータをディスクへ書き出す、または上書きすることが必要な場合、実際の要求がなくても要求を予想し、そのデータを復元力のある方式で自動的に戻すことができる。
【特許文献１】特開２００４−１３３９３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述した特許文献１に記載の発明には、問題点があった。その問題点は、最低でも１回以上アクセスしたデータしかキャッシュされないということである。その理由は、アクセス頻度や最終アクセス時刻に基づいてデータをキャッシュするという構造である以上、一度もアクセスが行われていないデータはキャッシュ対象とならないためである。
【００１１】
そこで、本発明は、利用者がアクセスした情報をもとに、データ（レコード）の利用履歴の有無に関わらずキャッシュできる予測型事前キャッシュシ方法、そのシステム及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の観点によれば、システムとして、データをキャッシュするキャッシュシステムであって、利用者の利用する情報の実体を記録するデータ記憶手段と、前記データ記憶手段内に記録されている情報のうち利用者にとってよく利用される情報を格納する記憶手段であるキャッシュ記憶手段と、利用者の利用する情報の項目間と種類間の関係を定義する定義情報を保持する関連付けルール記憶手段と、アクセス要求を受け、キャッシュ記憶手段又はデータ記憶手段の何れか、或いはその両方から情報を検索し、検索の結果得られた、情報を要求元に返し、かつキャッシュ記憶手段及びデータ記憶手段の何れから情報を取得した場合であっても関連付けルール記憶手段内の定義情報を参照し、定義情報を用いることによりアクセス要求を受けた情報と関連が深い情報を求め、求めた情報を前記キャッシュ記憶手段に記録する事前予測キャッシュ管理手段と、を備え、前記アクセス要求を受けた情報と関連が深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求めることを特徴とするキャッシュシステムが提供される。
【００１３】
また、本発明の第２の観点によれば、サーバとして、利用者からの検索要求を受け、データ記憶手段を検索し要求された情報を要求元に返す手段と、利用者がキャッシュ記憶手段に対して要求した情報を特定する情報を取得する手段と、データ記憶手段を検索した場合及び前記特定する情報を取得した場合の何れの場合であっても、自らが備える関連付けルール記憶手段内の定義を参照し、利用者が要求した情報と関係の深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求め、求めた情報を要求元に送信する事前予測キャッシュ管理手段と、利用者の利用する情報を格納するデータ記憶手段と、前記事前予測キャッシュ管理手段から参照可能な情報間の関係を定義する定義を保存する関連付けルール記憶手段と、を備えることを特徴とするサーバが提供される。
【００１４】
更に、本発明の第３の観点によれば、端末として、利用者からの検索要求を受け、自らが備えるキャッシュ記憶手段又は通信網に接続された他の装置を検索し、要求された情報を利用者に返し、かつキャッシュ記憶手段及び他の装置の何れから情報を取得した場合であっても通信網に接続された他の装置から要求した情報と関係の深い情報を取得し、キャッシュ記憶手段に記録するキャッシュ管理手段と、キャッシュ管理手段により通信網に接続された他の装置から受け取った情報を記録するキャッシュ記憶手段と、受け取った前記情報の用途に応じたプログラムを実行可能なアプリケーション実行手段と、を備えることを特徴とする端末が提供される。
【００１５】
更に、本発明の第４の観点によれば、方法として、データをキャッシュするキャッシュ方法であって、利用者の利用する情報の実体をデータ記憶手段に記録するデータ記憶ステップと、前記データ記憶手段内に記録されている情報のうち利用者にとってよく利用される情報をキャッシュ記憶手段に格納するキャッシュ記憶ステップと、利用者の利用する情報の項目間と種類間の関係を定義する定義情報を関連付けルール記憶手段内に保持する関連付けルール記憶ステップと、アクセス要求を受け、キャッシュ記憶手段又はデータ記憶手段の何れか、或いはその両方から情報を検索し、検索の結果得られた、情報を要求元に返し、かつキャッシュ記憶手段及びデータ記憶手段の何れから情報を取得した場合であっても関連付けルール記憶手段内の定義情報を参照し、定義情報を用いることによりアクセス要求を受けた情報と関連が深い情報を求め、求めた情報を前記キャッシュ記憶手段に記録する事前予測キャッシュ管理ステップと、を備え、前記アクセス要求を受けた情報と関連が深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求めることを特徴とするキャッシュ方法が提供される。
【００１６】
更に、本発明の第５の観点によれば、プログラムとして、データをキャッシュするキャッシュプログラムであって、利用者の利用する情報の実体を記録するデータ記憶手段と、前記データ記憶手段内に記録されている情報のうち利用者にとってよく利用される情報を格納する記憶手段であるキャッシュ記憶手段と、利用者の利用する情報の項目間と種類間の関係を定義する定義情報を保持する関連付けルール記憶手段と、アクセス要求を受け、キャッシュ記憶手段又はデータ記憶手段の何れか、或いはその両方から情報を検索し、検索の結果得られた、情報を要求元に返し、かつキャッシュ記憶手段及びデータ記憶手段の何れから情報を取得した場合であっても関連付けルール記憶手段内の定義情報を参照し、定義情報を用いることによりアクセス要求を受けた情報と関連が深い情報を求め、求めた情報を前記キャッシュ記憶手段に記録する事前予測キャッシュ管理手段と、を備え、前記アクセス要求を受けた情報と関連が深い情報を、アクセス要求を受けた情報の内容と関連付けルール内の定義を参照し、定義に含まれる関連元テーブルが要求された情報のテーブルと一致する定義を求め、求められた定義の関連元フィールドの情報の値と、関連先テーブルの関連先フィールドの値とが、定義内において演算の種類毎に指定された演算であって値が等しいことを判定する演算以外の演算が満たされる情報を探すことにより求めることを特徴とする装置としてコンピュータを機能させるためのキャッシュプログラムが提供される。
【発明の効果】
【００１７】
本発明によれば、データが必要となった際に、要求されたデータを検索した際に要求されたデータの内容から関連のあるデータを求め、データ記憶構造から取り出し、予めキャッシュすることから、要求されたデータに関連の深いデータを、レコードの利用履歴の有無にかかわらず以後のアクセス要求前にキャッシュすることが可能となる。また、利用者が一度もアクセスしていないデータはキャッシュされないという問題を解決することが可能となる。
【発明を実施するための最良の形態】
【００１８】
次に、図２を用いて、本発明の実施形態の概略を説明する。
【００１９】
本発明の実施形態である、予測型事前キャッシュシステムは、事前予測キャッシュ管理装置１１と、関連付けルール記憶装置１２と、データ記憶装置１３と、キャッシュ記憶装置１４を有している。
【００２０】
事前予測キャッシュ管理装置１１は、利用者の検索要求から次に必要とするデータを予測し事前に必要となるデータを取り出す装置である。関連付けルール記憶装置１２は、データの関連を定義する装置である。データ記憶装置は、データを保存する装置である。キャッシュ記憶装置１４は、キャッシュデータを保存する装置である。
【００２１】
以下、本システムの動作について述べる。
【００２２】
利用者の入力またはシステムの要求に基づいて、事前予測キャッシュ管理装置１１に対し検索要求を出す。検索要求には、データ記憶装置１３から情報を取り出すために必要な固有の番号（ＩＤ）または検索条件式を含んでいる。事前予測キャッシュ管理装置１１は検索要求を受け取るとキャッシュ記憶装置１４に対して要求されたＩＤまたは検索条件式に該当するデータがあるかを問い合わせる。
【００２３】
キャッシュ記憶装置１４内に該当するデータがある場合はそのデータを検索結果として検索要求元に返す。一方、キャッシュ記憶装置１４内に該当するデータがなかった場合は、データ記憶装置１３に対し検索を実行する。データ記憶装置１３内に検索要求に該当するデータがあれば、そのデータを取り出し検索結果として返す。
【００２４】
続いて、検索結果のデータを参照し関係のあるデータをデータ記憶装置１３から検索する。データの関連性を定義するルールは関連付けルール記憶装置１２内に保存されている。関係のあるデータをデータ記憶装置１３から取り出し、そのデータをキャッシュ記憶装置１４に投入する。このような構成を採用し、上記の動作を実行し、検索要求にて要求されたデータだけでなく、検索要求されたデータに関係の深いデータをキャッシュすることにより本発明の目的を達成できる。
【００２５】
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２６】
本発明の実施形態は、プログラム制御により動作し、コンピュータもしくはデバイスからなるクライアント端末１と、と、サーバ２となるコンピュータ、サーバとクライアントが通信をするための通信路３を有する。
【００２７】
クライアント端末１は、クライアントは利用者への操作画面やアプリケーション機能を提供するアプリケーション１０１と、アプリケーションからの検索要求とキャッシュ記憶装置１０３を制御するクライアント側キャッシュ管理装置１０２とキャッシュデータを管理するキャッシュ記憶装置１０３を有する。
【００２８】
サーバ２はキャッシュを管理し検索要求から次に必要となるデータを予測するキャッシュ管理装置２０１と、どのようなデータが関連性を持つのかを定義する関連付けルールセット記憶装置２０２と、データを格納するデータベース２０３を有する。
【００２９】
これらの装置が有する機能を以下に述べる。
【００３０】
クライアント端末のアプリケーション１０１は、クライアント端末利用者からの操作を受け付ける。また、データが必要な場合はクライアント側キャッシュ管理装置１０２にデータ検索要求を出す。検索要求にはどのデータが必要かを示す検索条件式もしくはＩＤが含まれる。検索結果として受け取ったデータは画面に表示される。その他、個々のアプリケーションはアプリケーション毎に独自の機能を持つ。
【００３１】
クライアント側キャッシュ管理装置１０２は、クライアント端末１のアプリケーション１０１からの検索要求を処理する。具体的には検索要求を受け取ると、クライアント側キャッシュ管理装置１０２はキャッシュ記憶装置１０３に対し検索要求に含まれる検索条件式またはＩＤを用い、検索要求に該当するデータがあるかキャッシュ記憶装置１０３を検索する。検索の結果、キャッシュ記憶装置１０３内にデータがある場合は、そのデータを検索結果として検索要求元のアプリケーション１０１に返す。検索要求に該当するデータがキャッシュに無い場合はサーバ２のサーバ側事前予測キャッシュ管理装置２０１に検索要求を送信する。サーバ２への検索要求の結果として得たデータはアプリケーション１０１に返す。また、サーバ２からは事前予測によりキャッシュすべきデータも送られる。キャッシュ管理装置１０２は、これら事前予測基づき送られてきたデータをキャッシュ記憶装置１０３に挿入する。
【００３２】
クライアント側キャッシュ記憶装置１０３はクライアント側キャッシュ管理装置１０２がサーバ２から受信したデータを格納する。キャッシュ記憶装置１０３にはＬＲＵ(Least Recently Used)、ハッシュ、リスト構造、Ｂ木、といったデータ管理構造を用いてデータを管理する。また、キャッシュ記憶装置１０３はクライアント側キャッシュ管理装置１０２からの検索を処理する。検索は与えられた検索条件式またはＩＤと一致するデータをキャッシュ記憶装置１０３から検索することにより行われる。
【００３３】
サーバ側事前予測キャッシュ管理装置２０１はクライアント側キャッシュ管理装置１０２から送られる検索要求を処理し検索結果を返す。この検索は検索要求に含まれている検索条件式を用いデータベース２０３を検索し、該当するデータをクライアント側キャッシュ管理装置１０２に送信する。また、検索要求の結果として返すデータの内容から、利用者が次に必要となるデータを予想しデータベースを検索し、その結果を事前キャッシュすべきデータとしてクライアント端末１に送信する。
【００３４】
関連付けルールセットにはデータ同士の関係を定義する複数のルールが保存されている。これらのルールはサーバ側事前予測キャッシュ管理装置２０２により参照される。
【００３５】
データベースにはデータの実体が格納されている。なお、本実施形態では、データベースにＲＤＢＭＳ（Relational DataBase Management System）を用いている。この点、ＲＤＢＭＳ以外の、他のデータベース管理システムを採用してもよい。
【００３６】
次に、図５のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００３７】
まず、クライアント端末１のアプリケーション１０１で何らかの理由（利用者の操作要求、アプリケーションの開始）でレコードが必要になる（図５のステップＳ１）。
【００３８】
データが必要になると、アプリケーション１０１はクライアント側のキャッシュ管理装置１０２にレコードを要求するための検索要求を出す（ステップＳ２）。検索要求を受けたキャッシュ管理装置１０２は検索要求の検索条件式をもとに、キャッシュ記憶装置１０３を検索する（ステップＳ３）。
【００３９】
キャッシュ記憶装置１０３内にレコードが存在すれば、そのレコードを検索結果としてアプリケーション１０１に返す（ステップＳ５）。このとき、レコードにアクセスした旨をサーバに通知する（ステップＳ６）。一方、キャッシュ記憶装置１０３内にレコードがない場合は検索要求をサーバ２に送信する（ステップＳ９）。検索要求を受け取ったサーバ側事前予測キャッシュ管理装置２０１は、検索要求の検索条件式を用いてデータベース２０３を検索する（ステップＳ１０）。データベース２０３内に検索結果がなければ該当するレコードがない旨をクライアントとクライアント端末１に通知し、通知を受けたクライアント端末１は、アプリケーション１０１に通知する（ステップＳ１３，Ｓ１４）。データベース２０３内に検索条件に該当するレコードがあった場合は、該当するレコードをクライアント端末１に送信する（ステップＳ１２）。
【００４０】
サーバ側のデータベース２０３をクライアントからの要求により検索し該当するレコードを見つけた場合、または、サーバ側でクライアントのキャッシュにあるレコードがアクセスされた通知を受け取った場合、サーバ側の事前予測キャッシュ管理装置２０１は、アクセスしたデータの内容と関連付けルールセット内のルールを参照して、関係のあるレコードを求める（ステップＳ７）。関係のあるレコードは事前にキャッシュしておくレコードとしてクライアント端末１に送信される（ステップＳ８）。
【００４１】
以下では、ステップＳ７において関連付けルールに基づいて、関連するレコードを求める処置方式について述べる。
【００４２】
図４は関連付けルールセットに記載されているルールの例を示している。ルールは重要度、関連元テーブル、関連元フィールド、演算、関連先テーブル、関連先フィールドの項目からなる。なお、これらの項目は例示であり、他の項目に置き換えたり、新たな項目を付加したりすることも可能である。この点については、変形例として最後に示す。
【００４３】
クライアント端末１から検索要求があった場合、検索要求内の検索式を参照する。利用者がレコード（以下Ｔと表記する。）にアクセスした際にテーブル名を取得し、ルールテーブルから関連元テーブルの値と一致するルール（以下Ｒと表記する。）を探す。
【００４４】
該当するＲがある場合は、Ｒの重要度の高いものから順に、関連元フィールドに記述されているフィールド名の値（以下Ｖと表記する。）をＴから取得する。
【００４５】
Ｒの関連先テーブル（以下Ｄｔと表記する。）、関連先フィールド（以下Ｄｆと表記する。）、演算（以下Ｏｐと表記する。）を参照し、ＤｔのフィールドＤｆの値とＶとがＯｐを満たすレコード（以下Ｒｒと表記する。）を探す。
【００４６】
この処理は本実現例ではＲＤＢＭＳを用いているため、ＳＱＬで
ｓｅｌｅｃｔ  ＊  ｆｒｏｍ  （Ｄｔ）  ｗｈｅｒｅ  （Ｄｆ）  Ｏｐ（Ｖ）
と記述できる。
【００４７】
次に、Ｒｒを端末１に送信し、キャッシュする。なお、発見されたＲｒの件数が多い場合に備えて、１つのルールでキャッシュするレコード数の上限があらかじめ定められており、上限を超えたレコードは端末１に送信されない。
【００４８】
そして、すべてのＲについて上記の処理を実行する。なお、一回のレコードアクセスで端末１に送信するレコード数の上限が定められており、送信するレコード数が上限を超える場合はその時点で処理を終了する。
【００４９】
上記の処理について図４に例示されるルールセットを用いて具体的に説明する。ルールセットが図４の例の場合には、クライアントから受信メールテーブルのレコードが要求された場合，関連付けルールセットの関連元テーブルが受信メールであるものを探す。この例では、該当するルールは１行目から３行目までと５行目から７行目である。
【００５０】
続いてこの該当するルールの中で重要度の高いものから順に処理をする。最も重要度の高いものは１行目のルールであり、まずこのルールを対象として処理をする。このルールの関連元フィールド、演算、関連先テーブル、関連元フィールドの値を参照し、検索を実行する。具体的にはクライアントがアクセスしたメールのＭｅｓｓａｇｅ−ＩＤ（以下ＴＭＳＧと表記する。）と受信メールテーブルにおいてＲｅｆｅｒｅｎｃｅｓが一致するレコードを検索する。
【００５１】
この検索はＳＱＬで記述した場合
ｓｅｌｅｃｔ  ＊  ｆｒｏｍ  “受信メール”  ｗｈｅｒｅ  Ｒｅｆｅｒｅｎｃｅｓ＝ＴＭＳＧ
となる。
【００５２】
次に、本実施の形態の効果について説明する。
【００５３】
本実施の形態では、クライアント端末１が要求したレコードに加え、要求したレコードに関係のあるレコードもサーバ２から端末１に送信する。また、サーバではレコード間の関係を定義する関連付けルールセットを持ち、レコード間の関係を求める。上記構成をとるため、クライアント端末が要求したレコードとそのレコードと関係の深いレコードもキャッシュできる。このため、クライアントがアクセスしたレコードと関係の深いレコードを再度読み込む場合にサーバと再度通信をする必要がないことから読込速度の向上を図ることができる。更に、クライアントとサーバの通信ができない状態になったとしても、アクセス頻度の高いレコードはキャッシュされているため参照することができる。
【実施例】
【００５４】
次に、本発明の実施形態の構成を変形したものを、実施例として説明する。
【００５５】
図６は、上述した実施形態と異なり、サーバとクライアント（端末）に分離されていないスタンドアロンでの実施を図示したものである。本実施例においても、通信路を用いてデータを送受信する部分を除く処理の流れは先の実施例と同様である。
【００５６】
図７はアプリケーションの検索を受付検索やキャッシュへの登録を実行するキャッシュ管理装置５０１と、関連付けルール記憶装置２０２内のルールを参照して関係するデータを求める事前予測装置６０１が別の装置で構成される実施例を示している。本実施例においても、通信路を用いてデータの送受信する部分を除く処理の流れは先の実施例と同様である。また、事前予測装置６０１はデータ記憶装置２０３と関連付けルール記憶装置２０２を参照し、キャッシュ管理装置５０１からの予測要求に応じて関係するデータを求める。
【００５７】
また、図８、図９、図１０はルールセットの別の実現例である。図８は重要度の無いルールの例である。この場合はルールの並びの順を優先度とする。図９、図１０はテーブル名の無い、あるいは記憶装置にテーブルの概念がない場合のルールの例である。
【００５８】
なお、本発明の実施形態である予測型キャッシュシステム及びシステムを構成する各装置は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
【産業上の利用可能性】
【００５９】
本発明は、携帯電話から必要なデータをサーバから要求する環境において通信の待ち時間を減らすといった用途に好適である。また、端末がアクセスしたデータの中からよく使われるデータを求めるといった用途にも適用可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明に関連するキャッシュ方式の形態の構成を示すブロック図である。
【図２】本発明の形態の構成を示すブロック図である。
【図３】本発明を実施するための最良の形態の構成を示すブロック図である。
【図４】本発明のデータを予測するためのルールの例を示す図である。
【図５−ａ】本発明を実施するための最良の形態の動作を示す流れ図である。
【図５−ｂ】本発明を実施するための最良の形態の動作を示す流れ図である。
【図６】本発明の別の実施の形態であるスタンドアロンでの構成を示すブロック図である。
【図７】本発明の別の実施の形態であるキャッシュ管理装置と事前予測装置が別の装置の場合の実施例での構成を示すブロック図である。
【図８】本発明のデータを予測するためのルールの別の形態の例を示す図である。
【図９】本発明のデータを予測するためのルールの別の形態の例を示す図である。
【図１０】本発明のデータを予測するためのルールの別の形態の例を示す図である。
【符号の説明】
【００６１】
１  クライアント端末
２  サーバ
３  通信路
１１、３０１  事前予測キャッシュ管理装置
１２  関連付けルール記憶装置
１３  データ記憶装置
１４  キャッシュ記憶装置
１０１  アプリケーション
１０２  クライアント側キャッシュ管理装置
１０３  キャッシュ記憶装置
２０１  サーバ側キャッシュ管理装置
２０２  関連付けルール記憶装置
２０３  データベース
４０１  ディスク
５０１  キャッシュ管理装置
６０１  事前予測装置
【図１】
0005322019.tif 000002
【図２】
0005322019.tif 000003
【図３】
0005322019.tif 000004
【図４】
0005322019.tif 000005
【図５−ａ】
0005322019.tif 000006
【図５−ｂ】
0005322019.tif 000007
【図６】
0005322019.tif 000008
【図７】
0005322019.tif 000009
【図８】
0005322019.tif 000010
【図９】
0005322019.tif 000011
【図１０】
0005322019.tif 000012