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