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