(57)【特許請求の範囲】
【請求項１】
キャッシュデータを保持するキャッシュ装置において、
前記キャッシュデータを記憶する記憶部と、
前記キャッシュデータをキャッシュファイルとして記録する記録部と、
外部からの参照要求に応じて、前記記憶部に記憶された前記キャッシュデータと前記記録部に記録された前記キャッシュファイルとの何れか一方を選択して読み出す読出部と、
過去になされた前記参照要求の頻度に応じて将来見込まれる前記参照要求の確率を求め、該確率に応じて前記キャッシュデータと前記キャッシュファイルとの何れを選択して読み出すかを指示する指示部と
を備えることを特徴とするキャッシュ装置。
【請求項２】
前記指示部は、過去になされた前記参照要求の単位時間当りの平均値を算出し、該平均値を母数とする指数分布に基づいて将来見込まれる前記参照要求の確率を算出することを特徴とする請求項１記載のキャッシュ装置。
【請求項３】
前記指示部は、将来の複数の時点までに見込まれる前記参照要求の確率をそれぞれ算出し、算出した確率の増減傾向に応じて前記キャッシュデータと前記キャッシュファイルとの何れを選択して読み出すかを指示することを特徴とする請求項１又は請求項２記載のキャッシュ装置。
【請求項４】
前記読出部は、前記指示部の指示に基づいて前記記憶部に記憶された前記キャッシュデータの読み出しを前記記録部に記録された前記キャッシュファイルの読み出しに切り替えた場合には、前記記憶部から読み出しを行っていた前記キャッシュデータの削除を行うことを特徴とする請求項１から請求項３の何れか一項に記載のキャッシュ装置。
【請求項５】
コンピュータを、
キャッシュデータを記憶する記憶手段と、
前記キャッシュデータをキャッシュファイルとして記録する記録手段と、
外部からの参照要求に応じて、前記記憶手段に記憶された前記キャッシュデータと前記記録手段に記録された前記キャッシュファイルとの何れか一方を選択して読み出す読出手段と、
過去になされた前記参照要求の頻度に応じて将来見込まれる前記参照要求の確率を求め、該確率に応じて前記キャッシュデータと前記キャッシュファイルとの何れを選択して読み出すかを指示する指示手段と
して機能させることを特徴とするキャッシュプログラム。
【請求項６】
フィールド機器と通信が可能な通信装置において、
前記フィールド機器で用いられるパラメータの特性を示すパラメータプロパティ情報を格納する格納部と、
前記フィールド機器から取得される機器プロパティ情報と前記格納部から取得される前記パラメータプロパティ情報とを前記キャッシュデータとして保持する請求項１から請求項４の何れか一項に記載のキャッシュ装置と
を備えることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ装置、キャッシュプログラム、及び通信装置に関する。
【背景技術】
【０００２】
従来から、プラントや工場等においては、高度な自動操業を実現すべく、フィールド機器と呼ばれる現場機器（測定器、操作器）と、これらの管理及び制御を行う機器管理装置とが通信バスを介して接続された分散制御システム（ＤＣＳ：Distributed Control System）が構築されている。このような分散制御システムにおいては、データの転送遅延を極力緩和して転送効率を向上させるためにキャッシュ装置が用いられることが多い。
【０００３】
分散制御システムで用いられるキャッシュ装置は、フィールド機器から取得される機器プロパティ情報と、ＤＤＳ（Data Description Specifications：データ記述仕様）を用いて作成されたＤＤ（Device Description）ファイルから取得されるパラメータプロパティ情報とをキャッシュデータとしてＲＡＭ（Random Access Memory）等のメモリに保持する。ここで、上記の機器プロパティ情報は、フィールド機器のＩＤ（識別子）や名前を示すタグ、フィールド機器内部の演算周期、その他のフィールド機器の特性を示す情報である。上記のパラメータプロパティ情報は、フィールド機器で用いられるパラメータ（例えば、測定結果が格納されるパラメータや演算用パラメータ）のデータ長、符号、列挙子、その他の特性を示す情報である。
【０００４】
具体的に、上記のキャッシュ装置は、上位装置（例えば、機器管理装置）からのフィールド機器に対するパラメータの読出要求や書込要求があった場合に、この要求に応じた処理を実行するために必要となる機器プロパティ情報及びパラメータプロパティ情報をフィールド機器及びＤＤファイルからそれぞれ取得してキャッシュデータとして保持した上で要求に応じた処理を実行する。そして、同様の要求が再びあった場合には、キャッシュデータとして保持されている機器プロパティ情報及びパラメータプロパティ情報を用いて要求に応じた処理を実行することによって、フィールド機器から機器プロパティ情報を取得するために要する時間、及びＤＤファイルを解析してパラメータプロパティ情報を取得するために要する時間を省いている。
【０００５】
尚、以下の特許文献１には、上位装置とフィールド機器を制御するコントローラとの間に設けられ、上位装置のＧＵＩ手段と完全非同期通信を行うとともに、コントローラを介してフィールド機器と通信を行うフィールド機器通信装置が開示されている。また、以下の特許文献２には、上位アプリケーションからの要求を登録する要求キャッシュと、フィールド機器からの応答を保存する応答キャッシュとを備える通信インターフェイスが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３３３１２１号公報
【特許文献２】特開２００６−９１９６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、従来は、例えば上述した特許文献２に開示されている通り、上位アプリケーションからの要求やフィールド機器からの応答が一律にキャッシュデータとしてメモリに保持されている。このため、再度参照される見込みのない情報であってもキャッシュデータとしてメモリに保持され、これによりメモリの容量が無駄に消費されるという問題があった。近年においては、数千台のフィールド機器と接続可能な通信装置も実用化されており、このような通信装置ではキャッシュデータを保持するための膨大なメモリが必要になるという問題があった。
【０００８】
また、従来は、上述の通りフィールド機器からの応答等を一律にキャッシュデータとしてメモリに保持しているため、メモリの容量に応じて接続可能なフィールド機器の最大数が制限されてしまうという問題があった。キャッシュに用いられるメモリの増設が可能である場合にはフィールド機器の最大数を増やすことが可能であると考えられるが、メモリの増設が不可能である場合にはフィールド機器の最大数を増やすことができないという問題があった。
【０００９】
本発明は上記事情に鑑みてなされたものであり、メモリを有効に利用することができるとともに、メモリを増設することなく接続可能なフィールド機器の台数を増やすことが可能なキャッシュ装置、キャッシュプログラム、及び通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のキャッシュ装置は、キャッシュデータ（Ｄ１〜Ｄｎ）を保持するキャッシュ装置（１６）において、前記キャッシュデータを記憶する記憶部（２２）と、前記キャッシュデータをキャッシュファイル（Ｆ１〜Ｆｎ）として記録する記録部（２３）と、外部からの参照要求に応じて、前記記憶部に記憶された前記キャッシュデータと前記記録部に記録された前記キャッシュファイルとの何れか一方を選択して読み出す読出部（２４）と、過去になされた前記参照要求の頻度に応じて将来見込まれる前記参照要求の確率を求め、該確率に応じて前記キャッシュデータと前記キャッシュファイルとの何れを選択して読み出すかを指示する指示部（２５）とを備えることを特徴としている。
この発明によると、過去になされた参照要求の頻度に応じて将来見込まれる参照要求の確率が求められ、その確率に応じて記憶部に記憶されたキャッシュデータと記録部に記録されたキャッシュファイルとの何れか一方が選択されて読み出される。
また、本発明のキャッシュ装置は、前記指示部が、過去になされた前記参照要求の単位時間（Ｔ１）当りの平均値（λ）を算出し、該平均値を母数とする指数分布に基づいて将来見込まれる前記参照要求の確率を算出することを特徴としている。
また、本発明のキャッシュ装置は、前記指示部が、将来の複数の時点までに見込まれる前記参照要求の確率をそれぞれ算出し、算出した確率の増減傾向に応じて前記キャッシュデータと前記キャッシュファイルとの何れを選択して読み出すかを指示することを特徴としている。
また、本発明のキャッシュ装置は、前記読出部が、前記指示部の指示に基づいて前記記憶部に記憶された前記キャッシュデータの読み出しを前記記録部に記録された前記キャッシュファイルの読み出しに切り替えた場合には、前記記憶部から読み出しを行っていた前記キャッシュデータの削除を行うことを特徴としている。
本発明のキャッシュプログラムは、コンピュータを、キャッシュデータ（Ｄ１〜Ｄｎ）を記憶する記憶手段（２２）と、前記キャッシュデータをキャッシュファイル（Ｆ１〜Ｆｎ）として記録する記録手段（２３）と、外部からの参照要求に応じて、前記記憶手段に記憶された前記キャッシュデータと前記記録手段に記録された前記キャッシュファイルとの何れか一方を選択して読み出す読出手段（２４）と、過去になされた前記参照要求の頻度に応じて将来見込まれる前記参照要求の確率を求め、該確率に応じて前記キャッシュデータと前記キャッシュファイルとの何れを選択して読み出すかを指示する指示手段（２５）として機能させることを特徴としている。
本発明の通信装置は、フィールド機器と通信が可能な通信装置（１）において、前記フィールド機器で用いられるパラメータの特性を示すパラメータプロパティ情報を格納する格納部（１５）と、前記フィールド機器から取得される機器プロパティ情報と前記格納部から取得される前記パラメータプロパティ情報とを前記キャッシュデータとして保持する上記の何れかに記載のキャッシュ装置とを備えることを特徴としている。
【発明の効果】
【００１１】
本発明によれば、過去になされた参照要求の頻度に応じて将来見込まれる参照要求の確率を求め、その確率に応じて記憶部に記憶されたキャッシュデータと記録部に記録されたキャッシュファイルとの何れか一方を選択して読み出すようにしているため、メモリを有効に利用することができるという効果がある。これにより、メモリを増設することなく接続可能なフィールド機器の台数を増やすことが可能になるという効果もある。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態による通信装置の要部構成を示すブロック図である。
【図２】本発明の一実施形態によるキャッシュ装置の要部構成を示すブロック図である。
【図３】本発明の一実施形態によるキャッシュ装置が備えるキャッシュ監視部の動作を示すフローチャートである。
【図４】本発明の一実施形態によるキャッシュ装置が備えるキャッシュ監視部で行われる動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の一実施形態によるキャッシュ装置、キャッシュプログラム、及び通信装置について詳細に説明する。図１は、本発明の一実施形態による通信装置の要部構成を示すブロック図である。図１に示す通り、本実施形態による通信装置としてのフィールド機器通信装置１は、ネットワークＮ１及びフィールドバスＢ１に接続されており、ネットワークＮ１に接続される端末装置２及びフィールドバスＢ１に接続されるフィールド機器（図示省略）と通信が可能である。
【００１４】
尚、ここでは説明を簡単にするために、フィールド機器がフィールドバスＢ１に直接接続されているとするが、フィールド機器は、コントローラ（フィールド機器を制御するコントローラ）を介してフィールドバスＢ１に接続されていても良い。また、ここでは１つの端末装置２がネットワークＮ１（フィールド機器通信装置１が接続されるネットワーク）に直接接続されているとするが、フィールド機器通信装置１と端末装置２とを接続するネットワークの構成は任意である。また、ネットワークＮ１に接続される端末装置２の数も任意である。
【００１５】
フィールド機器通信装置１は、完全非同期型インターフェイス部１１、キュー処理部１２、通信処理部１３、フィールド通信インターフェイス部１４、ＤＤファイル格納部１５（格納部）、及びキャッシュモジュール１６（キャッシュ装置）を備える。完全非同期型インターフェイス部１１は、ネットワークＮ１に接続されており、端末装置２との間でネットワークＮ１を介した非同期通信を行う。キュー処理部１２は、ＦＩＦＯ（First In First Out：先入れ先出し）メモリを備えており、完全非同期型インターフェイス部１１による非同期通信が円滑に行われるよう、完全非同期型インターフェイス部１１との間でデータの入出力処理を行う。
【００１６】
通信処理部１３は、ネットワークＮ１を介して行われる端末装置２との間の通信、及びフィールドバスＢ１を介して行われるフィールド機器との間の通信を制御する。また、通信処理部１３は、キャッシュデータとして保持させるべきデータをキャッシュモジュール１６に書き込むとともに、キャッシュモジュール１６に保持されたキャッシュデータを必要に応じて取り出す処理を行う。
【００１７】
具体的に、通信処理部１３は、端末装置２からフィールド機器に対するパラメータの読出要求や書込要求があった場合に、この要求に応じた処理を実行するために必要となる機器プロパティ情報及びパラメータプロパティ情報をフィールド機器及びＤＤファイル格納部１５からそれぞれ取得してキャッシュデータとしてキャッシュモジュール１６に書き込む処理を行う。そして、同様の要求が再びあった場合には、キャッシュモジュール１６にキャッシュデータとして保持されている機器プロパティ情報及びパラメータプロパティ情報を読み出す処理を行う。
【００１８】
ここで、上記の機器プロパティ情報は、フィールド機器のＩＤ（識別子）や名前を示すタグ、フィールド機器内部の演算周期、その他のフィールド機器の特性を示す情報である。また、上記のパラメータプロパティ情報は、フィールド機器で用いられるパラメータ（例えば、測定結果が格納されるパラメータや演算用パラメータ）のデータ長、符号、列挙子、その他の特性を示す情報である。
【００１９】
フィールド通信インターフェイス部１４は、フィールドバスＢ１に接続されており、フィールド機器との間でフィールドバスＢ１を介した通信を行う。このフィールド通信インターフェイス部１４は、複数のプロセス工業用の汎用通信プロトコルに準拠した通信を行うことが可能である。例えば、ＨＡＲＴ（Highway Addressable Remote Transducer：登録商標）、ファンデーションフィールドバス（Foundation Fieldbus：登録商標）、プロフィバス（PROFIBUS：登録商標）、又はＢＲＡＩＮ等の通信プロトコルである。
【００２０】
ＤＤファイル格納部１５は、ＤＤＳ（Data Description Specifications：データ記述仕様）を用いて作成され、上述したパラメータプロパティ情報が記述されたＤＤ（Device Description）ファイルを格納する。キャッシュモジュール１６は、前述した機器プロパティ情報及びパラメータプロパティ情報をキャッシュデータとして保持するモジュールである。
【００２１】
図２は、本発明の一実施形態によるキャッシュ装置の要部構成を示すブロック図である。図２に示す通り、本実施形態のキャッシュ装置としてのキャッシュモジュール１６は、インターフェイス部２１、ＲＡＭ２２（記憶部、記憶手段）、ディスク装置２３（記録部、記録手段）、キャッシュデータセレクタ部２４（読出部、読出手段）、及びキャッシュ監視部２５（指示部、指示手段）を備える。インターフェイス部２１は、フィールド機器通信装置１に設けられた通信処理部１３との間でキャッシュデータとしての機器プロパティ情報及びパラメータプロパティ情報の入出力を行う。
【００２２】
ＲＡＭ２２は、例えばＤＲＡＭ（Dynamic Random Access Memory）等の揮発性メモリであり、キャッシュデータセレクタ部２４の制御の下で、通信処理部１３からの機器プロパティ情報及びパラメータプロパティ情報をキャッシュデータＤ１〜Ｄｎとして記憶する。ディスク装置２３は、例えばハードディスク装置であり、キャッシュデータセレクタ部２４の制御の下で、ＲＡＭ２２に記憶されたキャッシュデータＤ１〜Ｄｎと同じものをキャッシュファイルＦ１〜Ｆｎとして記録する。
【００２３】
キャッシュデータセレクタ部２４は、ＲＡＭ２２及びディスク装置２３に対するデータの書き込みを行うとともに、キャッシュ監視部２５の指示に基づいてＲＡＭ２２又はディスク装置２３からのデータの読み出しを行う。具体的に、キャッシュデータセレクタ部２４は、通信処理部１３からインターフェイス部２１を介して機器プロパティ情報及びパラメータプロパティ情報が入力されてきた場合には、これらの情報をキャッシュデータＤ１〜ＤｎとしてＲＡＭ２２に記憶させるとともに、キャッシュファイルＦ１〜Ｆｎとしてディスク装置２３に記録させる。
【００２４】
また、キャッシュデータセレクタ部２４は、通信処理部１３からの参照イベント（キャッシュモジュール１６に保持されたキャッシュデータの参照要求）が入力されてきた場合には、その旨を示す通知（参照イベント通知）をキャッシュ監視部２５に対して行う。また、通信処理部１３からの参照イベントが入力されてきた場合には、キャッシュデータセレクタ部２４は、キャッシュ監視部２５の指示に基づいて、ＲＡＭ２２に記録されたキャッシュデータＤ１〜Ｄｎとディスク装置２３に記録されたキャッシュファイルＦ１〜Ｆｎの何れか一方を選択して読み出す。
【００２５】
尚、キャッシュデータセレクタ部２４は、キャッシュ監視部２５の指示に基づいて、ＲＡＭ２２に記録されたキャッシュデータの読み出しを、ディスク装置２３に記録されたキャッシュファイルの読み出しに切り替えた場合には、ＲＡＭ２２からの読み出しを行っていたキャッシュデータを削除する制御を行う。かかる制御を行うのは、ＲＡＭ２２を有効に利用するためである。
【００２６】
キャッシュ監視部２５は、ＲＡＭ２２に記憶されたキャッシュデータＤ１〜Ｄｎの参照頻度を監視し、この監視結果を用いてＲＡＭ２２に記憶されたキャッシュデータＤ１〜Ｄｎとディスク装置２３に記録されたキャッシュファイルＦ１〜Ｆｎとの何れを選択して読み出すかを指示する。尚、キャッシュ監視部２５には、ＲＡＭ２２に記憶されたキャッシュデータＤ１〜Ｄｎの各々に対応してキャッシュ監視プロセスＰ１〜Ｐｎが実行され、これによりキャッシュデータＤ１〜Ｄｎが個別に監視される。
【００２７】
具体的に、キャッシュ監視部２５は、ＲＡＭ２２に記憶されたキャッシュデータＤ１〜Ｄｎの各々に対してなされた過去の参照イベントの単位時間当りの平均回数をそれぞれ算出し、この平均回数を母数とする指数分布に基づいてキャッシュデータＤ１〜Ｄｎの各々に対して将来なされるであろうと見込まれる参照イベントの確率をそれぞれ求める。ここで、過去になされた参照イベントの単位時間当りの平均回数をλとすると、現時点から時間ｔだけ将来の時点までになされると見込まれる参照イベントの確率Ｐ（ｔ）は以下の（１）式で求められる。
Ｐ（ｔ）＝１−ｅｘｐ（−λ×ｔ）  …（１）
【００２８】
また、キャッシュ監視部２５は、上記（１）式を用いて将来の複数の時点までになされると見込まれる参照イベントの確率をそれぞれ求め、求めた確率の増減傾向に応じてＲＡＭ２２に記憶されたキャッシュデータＤ１〜Ｄｎとディスク装置２３に記録されたキャッシュファイルＦ１〜Ｆｎとの何れを選択して読み出すかを指示する。例えば、求めた確率が増加傾向である場合には、ＲＡＭ２２に記憶されたキャッシュデータＤ１〜Ｄｎを選択して読み出すように指示し、求めた確率が減少傾向である場合には、ディスク装置２３に記録されたキャッシュファイルＦ１〜Ｆｎを選択して読み出すように指示する。
【００２９】
次に、上記構成におけるフィールド機器通信装置１の動作について説明する。尚、ここでは、フィールドバスＢ１に接続されたフィールド機器に対するパラメータの読出要求が端末装置２から出力された場合に行われる動作について説明する。また、説明を簡単にするために、初期状態においてはキャッシュモジュール１６にキャッシュデータが保持されていないものとする。
【００３０】
フィールド機器に対するパラメータの読出要求が端末装置２から出力されると、この読出要求はネットワークＮ１を介してフィールド機器通通信装置１に向けて送信されて、フィールド機器通通信装置１の完全非同期型インターフェイス１１で受信される。完全非同期型インターフェイス１１で受信された読出要求は、キュー処理部１２を介して通信処理部１３に入力される。
【００３１】
すると、通信処理部１３は、フィールド通信インターフェイス部１４を制御してフィールド機器と通信を行って機器プロパティ情報を取得するとともに、ＤＤファイル格納部１５に格納されたＤＤファイルを解釈してパラメータプロパティ情報を取得する。次いで、通信処理部１３は、取得した機器プロパティ情報及びパラメータプロパティ情報をキャッシュデータとしてキャッシュモジュール１６に出力するとともに、端末装置２からの読出要求に応じた応答を端末装置２に対して行う。この応答は、キュー処理部１２及び完全非同期型インターフェイス部１１を介して端末装置２に送信される。
【００３２】
通信処理部１３から出力されたキャッシュデータは、キャッシュモジュール１６のインターフェイス部２１を介してキャッシュデータセレクタ部２４に入力され、キャッシュデータＤ１としてＲＡＭ２２に記憶されるとともに、キャッシュファイルＦ１としてディスク装置２３に記録される。すると、キャッシュデータセレクタ部２４からキャッシュ監視部２５に対してキャッシュデータＤ１を記憶させた旨を示す情報が出力されて、キャッシュ監視部２５においてキャッシュ監視プロセスＰ１が実行される。これにより、図３に示す処理が開始される。
【００３３】
図３は、本発明の一実施形態によるキャッシュ装置が備えるキャッシュ監視部の動作を示すフローチャートである。また、図４は、同キャッシュ監視部で行われる動作を説明するためのタイミングチャートである。ここで、キャッシュ監視部２５は、ＲＡＭ２２に記憶されたキャッシュデータＤ１に対してなされた過去の参照イベントの単位時間当りの平均回数を算出するために２つのカウンタを用いる。
【００３４】
１つめのカウンタは、上記の単位時間になされた参照イベントの回数を計数するためのカウンタ（以下、参照カウンタという）である。２つめのカウンタは、上記の単位時間よりも短い時間に規定された時間（以下、パラメータ単位時間という）になされた参照イベントの回数を計数するためのカウンタ（以下、イベントカウンタという）である。上記の単位時間は、図４に示す時間Ｔ１（例えば、時刻ｔ１０から時刻ｔ１１までの時間）であり、例えば１［ｓｅｃ］に設定される。また、上記のパラメータ単位時間は、図４に示す時間Ｔ２（例えば、時刻ｔ１０から時刻ｔ１０１までの時間）であり、例えば０．１［ｓｅｃ］に設定される。
【００３５】
上記のパラメータ単位時間Ｔ２は、例えばフィールド機器のパラメータを参照するために端末装置２から一度に送出される読出要求や書込要求が、フィールド機器通信装置１のキュー処理部１２に設けられたＦＩＦＯメモリに保持される時間に設定される。このようなパラメータ単位時間Ｔ２を設定し、パラメータ単位時間Ｔ２になされた参照イベントの回数を計数するイベントカウンタを用いるのは、前述した（１）式で示される指数分布に基づいた確率を算出するために、パラメータ単位時間Ｔ２内に複数回の参照イベントがなされても、パラメータ単位時間Ｔ２になされた参照イベントの回数を１回に制限するためである。
【００３６】
図３に示す処理が開始されると、キャッシュ監視部２５は、まず参照カウンタを初期化し（ステップＳ１１）、次いでイベントカウンタを初期化する（ステップＳ１２）。以上の初期化が終了すると、キャッシュ監視部２５は、キャッシュデータセレクタ部２４からの参照イベント通知の有無を判断する（ステップＳ１３）。参照イベント通知が有ったと判断した場合（判断結果が「ＹＥＳ」の場合）には、キャッシュ監視部２５はイベントカウンタをインクリメントし（ステップＳ１４）、再び参照イベント通知の有無を判断する（ステップＳ１３）。
【００３７】
これに対し、参照イベント通知が無いと判断した場合（ステップＳ１３の判断結果が「ＮＯ」の場合）には、キャッシュ監視部２５はパラメータ単位時間Ｔ２が経過したか否かを判断する（ステップＳ１５）。例えば、図４に示す時刻ｔ１０からパラメータ単位時間Ｔ２だけ遅い時刻である時刻ｔ１０１になったか否かを判断する。パラメータ単位時間Ｔ２が経過していないと判断した場合（判断結果が「ＮＯ」の場合）には、再び参照イベント通知の有無を判断する（ステップＳ１３）。
【００３８】
これに対し、パラメータ単位時間Ｔ２が経過したと判断した場合（ステップＳ１５の判断結果が「ＹＥＳ」の場合）には、イベントカウンタの値が零であるか否かを判断する（ステップＳ１６）。イベントカウンタの値が零ではないと判断した場合（判断結果が「ＮＯ」の場合）には、キャッシュ監視部２５は参照カウンタをインクリメントし（ステップＳ１７）、単位時間Ｔ１が経過したか否かを判断する（ステップＳ１８）。これに対し、イベントカウンタの値が零であると判断した場合（判断結果が「ＹＥＳ」の場合）には、キャッシュ監視部２５は参照カウンタをインクリメントせずに単位時間Ｔ１が経過したか否かを判断する（ステップＳ１８）。
【００３９】
ステップＳ１８においては、例えば図４に示す時刻ｔ１０から単位時間Ｔ１だけ遅い時刻である時刻ｔ１１になったか否かを判断する。単位時間Ｔ１が経過していないと判断した場合（ステップＳ１８判断結果が「ＮＯ」の場合）には、キャッシュ監視部２５はイベントカウンタを初期化して（ステップＳ１２）、次のパラメータ単位時間Ｔ２（例えば、時刻ｔ１０１から時刻ｔ１０２までの時間）における参照イベントの監視を行う（ステップ１３〜Ｓ１５）。
【００４０】
これに対し、単位時間Ｔ１が経過したと判断した場合（ステップＳ１８判断結果が「ＹＥＳ」の場合）には、キャッシュ監視部２５は参照カウンタの値を保存し（ステップＳ１９）、単位時間Ｔ１における参照イベントの監視を規定回数実行したか否かを判断する（ステップＳ２０）。例えば、単位時間Ｔ１における参照イベントの監視を１０回行い、図４に示す時刻ｔ１０から時刻ｔ２０の間に含まれる単位時間Ｔ１の全てについて参照イベントの監視を実行したか否かを判断する。
【００４１】
参照イベントの監視を規定回数実行していないと判断した場合（ステップＳ２０の判断結果が「ＮＯ」の場合）には、キャッシュ監視部２５は参照カウンタ及びイベントカウンタを初期化して（ステップＳ１１，Ｓ１２）、次の単位時間Ｔ１（例えば、時刻ｔ１１から時刻ｔ１２までの時間）における参照イベントの監視を行う（ステップ１３〜Ｓ１８）。これに対し、参照イベントの監視を規定回数実行したと判断した場合（ステップＳ２０の判断結果が「ＹＥＳ」の場合）には、キャッシュ監視部２５は参照カウンタで計数されたカウント値の平均値（平均回数λ）を算出する（ステップＳ２１）。具体的には、ステップＳ１９で保存した参照カウンタのカウント値の平均値を算出する。
【００４２】
過去になされた参照イベントの単位時間当りの平均回数λを算出すると、キャッシュ監視部２５は、前述した（１）式を用いて将来の時点までになされると見込まれる参照イベントの確率を算出する（ステップＳ２２）。例えば、現時点が図４に示す時刻ｔ２０であるとすると、キャッシュ監視部２５は、時刻ｔ２０からパラメータ単位時間Ｔ２だけ遅い時刻である時刻ｔ２０１までになされると見込まれる参照イベントの確率Ｐ（ｔ２０１）と、時刻ｔ２０１からパラメータ単位時間Ｔ２だけ遅い時刻である時刻ｔ２０２までになされると見込まれる参照イベントの確率Ｐ（ｔ２０２）とを算出する。
【００４３】
ここで、ステップＳ２１で算出された平均回数λが「５」であったとすると、上記の確率Ｐ（ｔ２０１），Ｐ（ｔ２０２）は、前述した（１）式を用いて以下の通り算出される。
Ｐ（ｔ２０１）＝１−ｅｘｐ（−０．５）＝０．３９
Ｐ（ｔ２０２）＝１−ｅｘｐ（−１）    ＝０．６３
ここで、算出された確率が０．５（５０％）未満の場合には参照イベントがなされる見込みはなく、０．５（５０％）以上の場合には参照イベントがなされる見込みがあるとすると、上記の例では時刻ｔ２０から時刻ｔ２０１までに参照イベントがなされる見込みはないが、時刻ｔ２０から時刻ｔ２０２までに参照イベントがなされる見込みはあるということができる。
【００４４】
以上の処理が終了すると、キャッシュ監視部２５は、算出した確率に基づいてＲＡＭ２２に記憶されたキャッシュデータＤ１とディスク装置２３に記録されたキャッシュファイルＦ１との何れを選択して読み出すかをキャッシュデータセレクタ部２４に指示する（ステップＳ２３）。例えば、上記の例では時刻ｔ２０から時刻ｔ２０１までに参照イベントがなされる見込みはないが、時刻ｔ２０から時刻ｔ２０２までに参照イベントがなされる見込みはあるため、キャッシュ監視部２５は、ＲＡＭ２２に記憶されたキャッシュデータＤ１の読み出しを指示する。
【００４５】
ここで、図４に示す時刻ｔ２０から時刻ｔ２０３までになされると見込まれる参照イベントの確率Ｐ（ｔ２０３）が０．５（５０％）未満の場合には、キャッシュ監視部２５は、ディスク装置２３に記録されたキャッシュファイルＦ１の読み出しを指示する。尚、ＲＡＭ２２に記憶されたキャッシュデータＤ１の読み出しが、ディスク装置２３に記録されたキャッシュファイルＦ１の読み出しに切り替えられた場合には、ＲＡＭ２２に記憶されたキャッシュデータＤ１は、キャッシュデータセレクタ部２４によって削除される。
【００４６】
以上の切り替えが行われた後に、再び参照イベントの確率が０．５（５０％）以上になると、キャッシュ監視部２５は、ＲＡＭ２２に記憶されたキャッシュデータＤ１の読み出しを指示する。すると、キャッシュデータセレクタ部２４によって、ディスク装置２３に記録されたキャッシュファイルＦ１がキャッシュデータＤ１としてＲＡＭ２２に記憶される。
【００４７】
以上の通り、本実施形態では、キャッシュデータをＲＡＭ２２に記憶するとともにキャッシュファイルとしてディスク装置２３に記録しておき、過去になされたキャッシュデータへの参照要求の頻度に応じて将来見込まれる参照要求の確率を求め、この確率に応じてキャッシュデータとキャッシュファイルとの何れか一方を読み出すようにしている。このため、メモリを有効に利用することができるとともに、メモリを増設することなく接続可能なフィールド機器の台数を増やすことができる。
【００４８】
以上、本発明の一実施形態によるキャッシュ装置及び通信装置について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、キャッシュ装置としてのキャッシュモジュール１６がフィールド機器通信装置１に内蔵されている態様を例に挙げて説明したが、キャッシュモジュール１６を単体の装置として実現することもできる。
【００４９】
また、キャッシュ装置としてのキャッシュモジュール１６で用いられる情報（例えば、単位時間Ｔ１、パラメータ単位時間Ｔ２等を規定する情報）を設定ファイルに記録しておき、この設定ファイルの内容を編集することでこれらを変更可能とするのが望ましい。
【００５０】
また、キャッシュ装置としてのキャッシュモジュール１６の機能は、ハードウェアにより実現することも、ソフトウェア的に実現することも可能である。つまり、キャッシュモジュール１６の機能を実現するプログラムをコンピュータにインストールすることによって、キャッシュモジュール１６の機能をソフトウェア的に実現することができる。このキャッシュモジュール１６の機能を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録されたものでも、インターネット等のネットワークを介してダウンロードしたものでも良い。
【符号の説明】
【００５１】
１            フィールド機器通信装置
１５          ＤＤファイル格納部
１６          キャッシュモジュール
２２          ＲＡＭ
２３          ディスク装置
２４          キャッシュデータセレクタ部
２５          キャッシュ監視部
Ｄ１〜Ｄｎ    キャッシュデータ
Ｆ１〜Ｆｎ    キャッシュファイル
Ｔ１          単位時間
【図１】
0005459325.tif 000002
【図２】
0005459325.tif 000003
【図３】
0005459325.tif 000004
【図４】
0005459325.tif 000005