(57)【要約】【課題】ネットワークの伝送容量やデータ転送を行うソフトウェア負荷と転送対象データの数とを考慮した、変化通知方式による最適なデータ転送を実現する。【解決手段】データ処理部１６が、予め設定されている、通信ネットワークＮＷの最大転送速度Ｗｍａｘ、または／および、データの転送処理の上限転送速度Ｌｍａｘに基づいて、通信ネットワークＮＷを介して転送可能な単位時間あたりのデータ量を示す総通信量上限値Ｓｍａｘを予め特定しておき、見直しタイミングの到来に応じて、上位システム３０からのデータアクセス総数Ｘを総通信量上限値Ｓｍａｘで除算し、得られた周期Ｔをキャッシュ更新周期として新たに設定する。【選択図】  図１
2018022406.tif 000002
【特許請求の範囲】
【請求項１】
取得対象となるデータを指定した上位システムからのデータアクセスに基づいて、配下に位置する複数のフィールド機器から取得した前記データを、変化通知方式により通信ネットワークを介して前記上位システムへ転送するコントローラであって、
フィールド機器から順次取得したデータを一時的に記憶する一次キャッシュと、
前記一次キャッシュから読み出されたデータを一時的に記憶する二次キャッシュと、
前記二次キャッシュで記憶されているデータの値変化に応じて、前記二次キャッシュから前記データを読み出して前記通信ネットワークを介して前記上位システムへ転送する変化通知部と、
前記一次キャッシュで記憶されている前記データを、設定されているキャッシュ更新周期で読み出して前記二次キャッシュに書き込むデータ処理部とを備え、
前記データ処理部は、予め設定されている、前記通信ネットワークの最大転送速度、または／および、前記データの転送処理の上限転送速度に基づいて、前記通信ネットワークを介して転送可能な単位時間あたりのデータ量を示す総通信量上限値を予め特定しておき、見直しタイミングの到来に応じて、前記上位システムからのデータアクセス総数を前記総通信量上限値で除算し、得られた周期を前記キャッシュ更新周期として新たに設定する
ことを特徴とするコントローラ。
【請求項２】
請求項１に記載のコントローラにおいて、
前記データ処理部は、前記キャッシュ更新周期を設定する際、前記データアクセス総数に代えて、前記データアクセスの優先度を示す優先度係数を、前記優先度が割り当てられている前記データアクセスのデータアクセス総数と積和演算し、得られた演算結果を前記総通信量上限値で除算し、得られた基準キャッシュ更新周期を優先度係数で除算することにより、それぞれの優先度の個別キャッシュ更新周期を算出して、新たに設定することを特徴とするコントローラ。
【請求項３】
請求項２に記載のコントローラにおいて、
前記データ処理部は、前記データアクセスごとに、前記データアクセスと対応するデータが前記上位システムへ転送された転送回数を計数し、これら転送回数に基づいて、前記優先度を示す前記優先度係数を調整することを特徴とするコントローラ。
【請求項４】
請求項１〜請求項３のいずれかに記載のコントローラにおいて、
前記データ処理部は、前記データアクセスのうち特定データアクセスに対して、予め設定されているイベントが発生した場合、一定時間だけ、前記特定データアクセスに関するキャッシュ更新周期を短縮するとともに、前記特定データアクセス以外の他データアクセスに関するキャッシュ更新周期を延長することを特徴とするコントローラ。
【請求項５】
取得対象となるデータを指定した上位システムからのデータアクセスに基づいて、配下に位置する複数のフィールド機器から取得した前記データを、通信ネットワークを介して前記上位システムへ転送するコントローラで用いられるデータ転送制御方法であって、
一次キャッシュが、前記フィールド機器から順次取得したデータを一時的に記憶する一次キャッシュ記憶ステップと、
二次キャッシュが、前記一次キャッシュから読み出されたデータを一時的に記憶する二次キャッシュ記憶ステップと、
変化通知部が、前記二次キャッシュで記憶されているデータの値変化に応じて、前記二次キャッシュから前記データを読み出して前記通信ネットワークを介して前記上位システムへ転送する変化通知ステップと、
データ処理部が、前記一次キャッシュで記憶されている前記データを、設定されているキャッシュ更新周期で読み出して前記二次キャッシュに書き込むデータ処理ステップとを備え、
前記データ処理ステップは、予め設定されている、前記通信ネットワークの最大転送速度、または／および、前記データの転送処理の上限転送速度に基づいて、前記通信ネットワークを介して転送可能な単位時間あたりのデータ量を示す総通信量上限値を予め特定しておき、見直しタイミングの到来に応じて、前記上位システムからのデータアクセス総数を前記総通信量上限値で除算し、得られた周期を前記キャッシュ更新周期として新たに設定する
ことを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラやフィールド機器で得られたデータを、その値の変化に応じて上位システムへ転送するためのデータ転送制御技術に関する。
【背景技術】
【０００２】
多数のコントローラやフィールド機器で得られたデータを上位システムで監視・制御する場合、コントローラやフィールド機器と上位システムとを接続するネットワークの転送速度や、データ転送を行うソフトウェアの負荷に起因して、転送可能なデータ数が制限される。
従来、このようなシステム構成においてデータを効率よく転送するため、データの値が変化した場合にのみ、新たなデータを転送する変化通知方式が提案されている（例えば、特許文献１など参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２１８５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来技術では、値が頻繁に変化するデータについては、短い周期で転送されるため、このようなデータが増えるに従って、ネットワークの伝送容量を圧迫し、データ転送を行うソフトウェアの負荷も高くなる。このため、データの転送や処理に大幅な遅延や欠損が発生し、結果としてシステムの監視・制御を正常に行うことができなくなる可能性がある。
【０００５】
また、値の変化を監視・通知する周期を一律に遅くすると、ネットワークやシステムの性能を十分に活かすことができず、システムの異常検出が遅れたり、データの蓄積や制御の精度が悪くなる原因となる。
このため、ネットワークの伝送容量やデータ転送を行うソフトウェアの負荷（仕様）を考慮して、データ転送周期を適切に設定する必要があるが、上位システムからのデータアクセスに応じて転送対象となるデータの数は運用中に逐次増減することが多く、データ転送周期を適切な値に設定することは難しい。
【０００６】
また、上位システムがデータ転送周期を自動的に決定・設定するには、コントローラやフィールド機器へアクセスするすべてのソフトウェアを把握する必要があるが、度々追加／改造されるソフトウェアや機能のすべてを把握することは困難である。
また、仮に把握できたとしても、データ転送周期を決定し、変化通知を行うソフトウェアに新たなデータ転送周期を設定するためのソフトウェアを開発する必要があるため、容易に対応できないという問題点があった。
【０００７】
本発明はこのような課題を解決するためのものであり、ネットワークの伝送容量やデータ転送を行うソフトウェア負荷と転送対象データの数とを考慮した、変化通知方式による最適なデータ転送を実現できるデータ転送制御技術を提供することを目的としている。
【課題を解決するための手段】
【０００８】
このような目的を達成するために、本発明にかかるコントローラは、取得対象となるデータを指定した上位システムからのデータアクセスに基づいて、配下に位置する複数のフィールド機器から取得した前記データを、変化通知方式により通信ネットワークを介して前記上位システムへ転送するコントローラであって、フィールド機器から順次取得したデータを一時的に記憶する一次キャッシュと、前記一次キャッシュから読み出されたデータを一時的に記憶する二次キャッシュと、前記二次キャッシュで記憶されているデータの値変化に応じて、前記二次キャッシュから前記データを読み出して前記通信ネットワークを介して前記上位システムへ転送する変化通知部と、前記一次キャッシュで記憶されている前記データを、設定されているキャッシュ更新周期で読み出して前記二次キャッシュに書き込むデータ処理部とを備え、前記データ処理部は、予め設定されている、前記通信ネットワークの最大転送速度、または／および、前記データの転送処理の上限転送速度に基づいて、前記通信ネットワークを介して転送可能な単位時間あたりのデータ量を示す総通信量上限値を予め特定しておき、見直しタイミングの到来に応じて、前記上位システムからのデータアクセス総数を前記総通信量上限値で除算し、得られた周期を前記キャッシュ更新周期として新たに設定するようにしたものである。
【０００９】
また、本発明にかかる上記コントローラの一構成例は、前記データ処理部が、前記キャッシュ更新周期を設定する際、前記データアクセス総数に代えて、前記データアクセスの優先度を示す優先度係数を、前記優先度が割り当てられている前記データアクセスのデータアクセス総数と積和演算し、得られた演算結果を前記総通信量上限値で除算し、得られた基準キャッシュ更新周期を優先度係数で除算することにより、それぞれの優先度の個別キャッシュ更新周期を算出して、新たに設定するようにしたものである。
【００１０】
また、本発明にかかる上記コントローラの一構成例は、前記データ処理部が、前記データアクセスごとに、前記データアクセスと対応するデータが前記上位システムへ転送された転送回数を計数し、これら転送回数に基づいて、前記優先度を示す前記優先度係数を調整するようにしたものである。
【００１１】
また、本発明にかかる上記コントローラの一構成例は、前記データ処理部が、前記データアクセスのうち特定データアクセスに対して、予め設定されているイベントが発生した場合、一定時間だけ、前記特定データアクセスに関するキャッシュ更新周期を短縮するとともに、前記特定データアクセス以外の他データアクセスに関するキャッシュ更新周期を延長するようにしたものである。
【００１２】
また、本発明にかかるデータ転送制御方法は、取得対象となるデータを指定した上位システムからのデータアクセスに基づいて、配下に位置する複数のフィールド機器から取得した前記データを、通信ネットワークを介して前記上位システムへ転送するコントローラで用いられるデータ転送制御方法であって、一次キャッシュが、前記フィールド機器から順次取得したデータを一時的に記憶する一次キャッシュ記憶ステップと、二次キャッシュが、前記一次キャッシュから読み出されたデータを一時的に記憶する二次キャッシュ記憶ステップと、変化通知部が、前記二次キャッシュで記憶されているデータの値変化に応じて、前記二次キャッシュから前記データを読み出して前記通信ネットワークを介して前記上位システムへ転送する変化通知ステップと、データ処理部が、前記一次キャッシュで記憶されている前記データを、設定されているキャッシュ更新周期で読み出して前記二次キャッシュに書き込むデータ処理ステップとを備え、前記データ処理ステップは、予め設定されている、前記通信ネットワークの最大転送速度、または／および、前記データの転送処理の上限転送速度に基づいて、前記通信ネットワークを介して転送可能な単位時間あたりのデータ量を示す総通信量上限値を予め特定しておき、見直しタイミングの到来に応じて、前記上位システムからのデータアクセス総数を前記総通信量上限値で除算し、得られた周期を前記キャッシュ更新周期として新たに設定するようにしたものである。
【発明の効果】
【００１３】
本発明によれば、一次キャッシュのデータを二次キャッシュに転送するキャッシュ更新周期が、最大転送速度または／および上限転送速度を考慮した総通信量上限値と、実際のデータアクセス総数とから決定されることになる。このため、ネットワークの伝送容量やデータ転送を行うソフトウェア負荷と、上位システムからのデータアクセスに応じて変化する転送対象データの数とを考慮した、変化通知方式による最適なデータ転送を実現することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】コントローラの構成を示すブロック図である。
【図２】第１の実施の形態にかかるキャッシュ更新周期設定処理を示すフローチャートである。
【図３】第２の実施の形態にかかるキャッシュ更新周期設定処理を示すフローチャートである。
【図４】第３の実施の形態にかかるキャッシュ更新周期変更処理を示すフローチャートである。
【図５】キャッシュ更新周期変更の動作例である。
【発明を実施するための形態】
【００１５】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかるコントローラ１０について説明する。図１は、コントローラの構成を示すブロック図である。
このコントローラ１０は、工場、プラント、ビルなどの遠隔制御システムで広く用いられる産業用コントローラからなり、取得対象となるデータを指定した上位システム３０からのデータアクセスに基づいて、伝送回線Ｌを介して接続された複数のフィールド機器２０から取得対象となるデータを取得し、変化通知方式により通信ネットワークＮＷを介して上位システム３０の上位処理部３１へ転送する機能を有している。
【００１６】
図１に示すように、コントローラ１０には、主な機能部として、機器Ｉ／Ｆ部１１、一次キャッシュ１２、二次キャッシュ１３、変化通知部１４、通信Ｉ／Ｆ部１５、およびデータ処理部１６が設けられている。
【００１７】
機器Ｉ／Ｆ部１１は、伝送回線Ｌを介して配下に設置されている複数のフィールド機器２０から、予め設定されている取得間隔で取得対象となるデータをそれぞれ取得し、一次キャッシュ１２へ書き込む機能を有している。例えば、フィールド機器２０が、温度計、圧力計、電磁流量計の場合には、それぞれ計測温度、計測圧力、計測流量がデータとして、それぞれの取得周期で取得される。
【００１８】
一次キャッシュ１２は、半導体メモリからなり、機器Ｉ／Ｆ部１１により書き込まれたデータ、またはデータ処理部１６により一旦読み出されて加工された後に再び書き込まれたデータを一時的に記憶する機能を有している。
二次キャッシュ１３は、半導体メモリからなり、一次キャッシュ１２からデータ処理部１６によりキャッシュ更新周期Ｔで読み出されたデータを一時的に記憶する機能を有している。
【００１９】
変化通知部１４は、各データアクセスのうち、二次キャッシュ１３に書き込まれたデータの値が変化したデータを読み出し、通信Ｉ／Ｆ部１５から通信ネットワークＮＷを介して上位システム３０の上位処理部３１へ転送する機能を有している。
通信Ｉ／Ｆ部１５は、通信ネットワークＮＷを介して上位システム３０や他のコントローラ１０との間でデータ通信を行う機能を有している。
【００２０】
データ処理部１６は、一次キャッシュ１２で記憶されているデータを、設定されているキャッシュ更新周期で読み出して二次キャッシュ１３に書き込む機能と、予め設定されている、通信ネットワークＮＷの最大転送速度、または／および、データの転送処理の上限転送速度に基づいて、通信ネットワークＮＷを介して転送可能な単位時間あたりのデータ量を示す総通信量上限値を予め特定する機能と、見直しタイミングの到来に応じて、上位システム３０からのデータアクセス総数を総通信量上限値で除算し、得られた周期をキャッシュ更新周期として新たに設定する機能とを有している。
【００２１】
［第１の実施の形態の動作］
次に、図２を参照して、本実施の形態にかかるコントローラ１０の動作について説明する。図２は、第１の実施の形態にかかるキャッシュ更新周期設定処理を示すフローチャートである。
コントローラ１０のデータ処理部１６は、取得対象となるフィールド機器２０のデータを指定した上位システム３０からのデータアクセスに応じて、図２のキャッシュ更新周期設定処理を開始する。
【００２２】
まず、データ処理部１６は、キャッシュ更新周期の見直しタイミングが到来するまで待機する（ステップ１００：ＮＯ）。見直しタイミングについては、一定周期でタイムアップするタイマで規定してもよく、上位システム３０へ転送したデータ量が一定量に達したタイミングや、外部からの操作タイミングであってもよい。
【００２３】
見直しタイミングが到来した場合（ステップ１００：ＹＥＳ）、データ処理部１６は、内部メモリ（図示せず）から通信ネットワークＮＷの最大転送速度Ｗｍａｘを取得するとともに（ステップ１０１）、同じく内部メモリからデータ転送処理の上限転送速度Ｌｍａｘを取得する（ステップ１０２）。
【００２４】
最大転送速度Ｗｍａｘは、通信ネットワークＮＷの伝送容量、すなわち単位時間あたりに転送可能なデータ量を示すパラメータであり、通信ネットワークＮＷの性能特性に基づいて予め設定しておけばよい。上限転送速度Ｌｍａｘは、コントローラ１０の変化通知部１４や上位システム３０の上位処理部３１で実行するデータ転送処理において、単位時間あたりに転送処理可能なデータ量を示すパラメータであり、データ転送処理を実現するソフトウェアの負荷（仕様）に関する動作特性に基づいて予め設定しておけばよい。
【００２５】
続いて、データ処理部１６は、最大転送速度Ｗｍａｘおよび／または上限転送速度Ｌｍａｘに基づいて、総通信量上限値Ｓｍａｘを特定する（ステップ１０３）。総通信量上限値Ｓｍａｘは、上位システム３０の配下に位置するすべてのコントローラ１０から通信ネットワークＮＷを介して上位システム３０へ、単位時間あたりに転送可能なデータ量を示すパラメータである。ＷｍａｘとＬｍａｘの両方を用いる場合、いずれか転送速度の低い方をＳｍａｘとして特定する。なお、Ｓｍａｘについては、見直しタイミングの到来に応じて毎回特定する必要はなく、初期設定時やＷｍａｘやＬｍａｘが変化した時点で計算したものを内部メモリに設定しておけばよい。
【００２６】
次に、データ処理部１６は、上位システム３０から各コントローラ１０に対して指示されたデータアクセス数を、それぞれのコントローラ１０から取得して集計することにより、データアクセス総数Ｘを計算する（ステップ１０４）。
データアクセスとは、上位システム３０からコントローラ１０に対して、取得対象となるフィールド機器２０およびデータを指定したデータ取得要求であり、データアクセス総数Ｘは、データ取得要求の総数に相当する。
【００２７】
この後、データ処理部１６は、データアクセス総数Ｘを総通信量上限値Ｓｍａｘで除算することにより、二次キャッシュ１３内のデータを更新するキャッシュ更新周期Ｔを算出し（ステップ１０５）、内部メモリに設定する（ステップ１０６）。
これにより、例えば、ＳｍａｘがＷｍａｘにより特定されるものとして、通信ネットワークＮＷが１００ＢＡＳＥ−ＴＸに準拠している場合、Ｓｍａｘ（Ｗｍａｘ）は１００Ｍｂｐｓとなり、データアクセス総数Ｘが１００個の場合、キャッシュ更新周期Ｔ＝１００／（１００×１０6／ｓｅｃ）＝１×１０-6ｓｅｃ＝１μｓｅｃとなる。
【００２８】
したがって、これ以降については、データアクセスで指定されたデータのそれぞれが、新たに設定されたキャッシュ更新周期Ｔの間隔で、一次キャッシュ１２から読み出されて、二次キャッシュ１３へ書き込まれることになる。また、二次キャッシュ１３に書き込まれたデータは、直前値と比較して変化があった時点で、変化通知部１４により二次キャッシュ１３から読み出されて上位システム３０へ転送されることになる。
【００２９】
［第１の実施の形態の効果］
このように、本実施の形態は、フィールド機器２０から順次取得したデータを一時的に記憶する一次キャッシュ１２と、一次キャッシュ１２から読み出されたデータを一時的に記憶する二次キャッシュ１３と、二次キャッシュ１３で記憶されているデータの値変化に応じて、二次キャッシュ１３からデータを読み出して通信ネットワークＮＷを介して上位システム３０へ転送する変化通知部１４と、一次キャッシュ１２で記憶されているデータを、設定されているキャッシュ更新周期で読み出して二次キャッシュ１３に書き込むデータ処理部１６とを備えたものである。
【００３０】
そして、データ処理部１６が、予め設定されている、通信ネットワークＮＷの最大転送速度Ｗｍａｘ、または／および、データの転送処理の上限転送速度Ｌｍａｘに基づいて、通信ネットワークＮＷを介して転送可能な単位時間あたりのデータ量を示す総通信量上限値Ｓｍａｘを予め特定しておき、見直しタイミングの到来に応じて、上位システム３０からのデータアクセス総数Ｘを総通信量上限値Ｓｍａｘで除算し、得られた周期Ｔをキャッシュ更新周期として新たに設定するようにしたものである。
【００３１】
これにより、一次キャッシュ１２のデータを二次キャッシュ１３に転送するキャッシュ更新周期Ｔが、最大転送速度Ｗｍａｘまたは／および上限転送速度Ｌｍａｘを考慮した総通信量上限値Ｓｍａｘと、実際のデータアクセス総数Ｘとから決定されることになる。このため、ネットワークの伝送容量やデータ転送を行うソフトウェア負荷と、上位システム３０からのデータアクセスに応じて変化する転送対象データの数とを考慮した、変化通知方式による最適なデータ転送を実現することが可能となる。
【００３２】
なお、本実施の形態において、総通信量上限値Ｓｍａｘを計算する際、通信ネットワークＮＷの最大転送速度Ｗｍａｘやデータの転送処理の上限転送速度Ｌｍａｘを、通信ネットワークＮＷを介して接続された外部装置（図示せず）から取得するようにしてもよい。
また、本実施の形態において、キャッシュ更新周期を各コントローラ１０で計算する場合を例として説明したが、他のコントローラ１０や、通信ネットワークＮＷを介して接続された外部装置（図示せず）で、前述のようにして計算したキャッシュ更新周期を、データ処理部１６で用いるようにしてもよい。
【００３３】
［第２の実施の形態］
次に、本発明の第２の実施の形態にかかるコントローラ１０について説明する。
データアクセスのそれぞれに優先度ｉが設定されている場合、優先度ｉが高いほど短い周期で上位システム３０へ転送する必要がある。このため、優先度ｉごとに異なるキャッシュ更新周期Ｔｉを求める必要がある。
【００３４】
本実施の形態では、このような優先度ｉに対応するため、データ処理部１６が、キャッシュ更新周期を設定する際、第１の実施の形態にかかるデータアクセス総数Ｘに代えて、データアクセスの優先度ｉを示す優先度係数Ａｉを、優先度ｉが割り当てられているデータアクセスのデータアクセス総数Ｘｉと積和演算し、得られた演算結果Σ（Ａｉ×Ｘｉ）を総通信量上限値Ｓｍａｘで除算し、得られた基準キャッシュ更新周期Ｔｓに優先度係数Ａｉで除算することにより、それぞれの優先度ｉの個別キャッシュ更新周期Ｔｉを算出して、新たに設定する機能を有している。
【００３５】
［第２の実施の形態の動作］
次に、図３を参照して、本実施の形態にかかるコントローラ１０の動作について説明する。図３は、第２の実施の形態にかかるキャッシュ更新周期設定処理を示すフローチャートである。
コントローラ１０のデータ処理部１６は、取得対象となるフィールド機器２０のデータを指定した上位システム３０からのデータアクセスに応じて、図３のキャッシュ更新周期設定処理を開始する。
【００３６】
まず、データ処理部１６は、キャッシュ更新周期の見直しタイミングが到来するまで待機する（ステップ２００：ＮＯ）。見直しタイミングについては、一定周期でタイムアップするタイマで規定してもよく、上位システム３０へ転送したデータ量が一定量に達したタイミングや、外部からの操作タイミングであってもよい。
【００３７】
見直しタイミングが到来した場合（ステップ２００：ＹＥＳ）、データ処理部１６は、内部メモリ（図示せず）から通信ネットワークＮＷの最大転送速度Ｗｍａｘを取得するとともに（ステップ２０１）、同じく内部メモリからデータ転送処理の上限転送速度Ｌｍａｘを取得する（ステップ２０２）。
【００３８】
続いて、データ処理部１６は、最大転送速度Ｗｍａｘおよび／または上限転送速度Ｌｍａｘに基づいて、総通信量上限値Ｓｍａｘを特定する（ステップ２０３）。総通信量上限値Ｓｍａｘは、上位システム３０の配下に位置するすべてのコントローラ１０から通信ネットワークＮＷを介して上位システム３０へ、単位時間あたりに転送可能なデータ量を示すパラメータである。ＷｍａｘとＬｍａｘの両方を用いる場合、いずれか転送速度の低い方をＳｍａｘとして特定する。なお、Ｓｍａｘについては、見直しタイミングの到来に応じて毎回特定する必要はなく、初期設定時やＷｍａｘやＬｍａｘが変化した時点で計算したものを内部メモリに設定しておけばよい。
【００３９】
次に、データ処理部１６は、上位システム３０から各コントローラ１０に対して指示されたデータアクセス数を、それぞれのコントローラ１０から取得して集計することにより、優先度ｉごとにデータアクセス総数Ｘｉを計算するとともに（ステップ２０４）、予め設定されているそれぞれの優先度ｉの度合を示す優先度係数Ａｉを、内部メモリから取得する（ステップ２０５）。
データアクセスとは、上位システム３０からコントローラ１０に対して、取得対象となるフィールド機器２０およびデータと優先度ｉとを指定したデータ取得要求であり、データアクセス総数Ｘｉは、優先度ｉが指定されたデータ取得要求の総数に相当する。
【００４０】
優先度係数Ａｉは、それぞれの優先度ｉの度合を示す係数であり、以下に優先度の設定例を示す。
「標準」：Ａｉ＝１（基準キャッシュ更新周期で転送）
「常時高」：Ａｉ＝１．５（基準キャッシュ更新周期より常に高速転送）
「常時低」：Ａｉ＝０．７（基準キャッシュ更新周期より常に低速転送）
【００４１】
このほか、「アラーム」という優先度を設け、上位システム３０やコントローラ１０で優先度係数を定義可能としてもよく、例えば一次キャッシュ１２の更新周期と同じとしてもよい。また、「即応性」という優先度を設け、一次キャッシュ１２の値の変化率が高い場合に高速転送するようにし、それ以外は基準キャッシュ更新周期で転送するようにしてもよい。また、「微小検知」という優先度を設け、一次キャッシュ１２の値の変化率が小さい場合に高速転送するようにし、それ以外は基準キャッシュ更新周期で転送するようにしてもよい。
【００４２】
続いて、データ処理部１６は、各データアクセスの優先度ｉを示す優先度係数Ａｉを、優先度ｉが割り当てられているデータアクセスのデータアクセス総数Ｘｉと積和演算し、得られた演算結果Σ（Ａｉ×Ｘｉ）を総通信量上限値Ｓｍａｘで除算することにより、二次キャッシュ１３内のデータを更新する基準キャッシュ更新周期Ｔｓを算出する（ステップ２０６）。
【００４３】
この後、データ処理部１６は、基準キャッシュ更新周期Ｔｓを優先度係数Ａｉで除算することにより、各優先度ｉに関する個別キャッシュ更新周期Ｔｉを算出し（ステップ２０７）、内部メモリに新たに設定する（ステップ２０８）。
【００４４】
したがって、これ以降については、データアクセスで指定されたデータのそれぞれが、それぞれの優先度ｉに応じて新たに設定された個別キャッシュ更新周期Ｔｉの間隔で、一次キャッシュ１２から読み出されて、二次キャッシュ１３へ書き込まれることになる。また、二次キャッシュ１３に書き込まれたデータは、直前値と比較して変化があった時点で、変化通知部１４により二次キャッシュ１３から読み出されて上位システム３０へ転送されることになる。
【００４５】
［第２の実施の形態の効果］
このように、本実施の形態は、キャッシュ更新周期を設定する際、データアクセス総数Ｘに代えて、データアクセスの優先度ｉを示す優先度係数Ａｉを、優先度ｉが割り当てられているデータアクセスのデータアクセス総数Ｘｉと積和演算し、得られた演算結果Σ（Ａｉ×Ｘｉ）を総通信量上限値Ｓｍａｘで除算し、得られた基準キャッシュ更新周期Ｔｓに優先度係数Ａｉで除算することにより、それぞれの優先度ｉの個別キャッシュ更新周期Ｔｉを算出して、新たに設定するようにしたものである。
【００４６】
これにより、データアクセスのそれぞれに優先度ｉが設定されている場合でも、ネットワークの伝送容量やデータ転送を行うソフトウェア負荷と、上位システム３０からのデータアクセスに応じて変化する転送対象データの数とを考慮した、優先度ｉごとに異なるキャッシュ更新周期Ｔｉを求めることができる。
【００４７】
また、本実施の形態において、優先度係数については、データ処理部１６が、データアクセスごとに、データアクセスと対応するデータが、上位システム３０へ転送された転送回数を計数し、これら転送回数に基づいて、優先度ｉを示す優先度係数Ａｉを調整するようにしてもよい。この場合も、前述と同様に、全体としてＳｍａｘを超えないように、優先度係数Ａｉを調整する。
これにより、転送回数が多いほど優先度係数Ａｉを高くすることができ、頻繁に更新されるデータのキャッシュ更新周期Ｔｉが短くなり、効率よくスムーズにデータを転送することができる。なお、優先度係数Ａｉを適用するデータは、グループ化されたデータであってもよい。
【００４８】
［第３の実施の形態］
次に、本発明の第３の実施の形態にかかるコントローラ１０について説明する。
各データアクセスについては、各種のイベントが発生して、上位システム３０へ転送すべきデータが一時的に増大する場合がある。このイベントの例としては、上位システム３０からデータ取得のサブスクリプションが設定された場合や、特定のデータあるいはデータグループ（同時にサブスクリプションが設定されたデータ群や、事前に定義されたデータ群など）について、いずれかのデータの値が上位システム３０から変更された場合がある。このほか、上位システム３０やフィールド機器２０がタブレットやスマートフォン、ウェアラブル端末が備えている各種センサ（音声、ＧＰＳ、ジャイロ、加速度、照度、近接などのセンサ）から取得したイベントでもよい。
【００４９】
本実施の形態では、このようなイベントに対応するため、データ処理部１６が、データアクセスのうち特定データアクセスに対して、予め設定されているイベントが発生した場合、一定時間だけ、特定データアクセスに関するキャッシュ更新周期を短縮するとともに、特定データアクセス以外の他データアクセスに関するキャッシュ更新周期を延長する機能を有している。
【００５０】
［第３の実施の形態の動作］
次に、図４を参照して、本実施の形態にかかるコントローラ１０の動作について説明する。図４は、第３の実施の形態にかかるキャッシュ更新周期変更処理を示すフローチャートである。
コントローラ１０のデータ処理部１６は、取得対象となるフィールド機器２０のデータを指定した上位システム３０からのデータアクセスに応じて、図４のキャッシュ更新周期変更処理を開始する。
【００５１】
まず、データ処理部１６は、任意のデータアクセスｊに関するイベント発生が発生するまで待機し（ステップ３００：ＮＯ）、イベントが検出された場合（ステップ３００：ＹＥＳ）、データアクセスｊのキャッシュ更新周期Ｔｊを短縮するとともに（ステップ３０１）、他のデータアクセスｋのキャッシュ更新周期Ｔｋをそれぞれ延長する（ステップ３０２）。
これにより、イベントが発生したデータアクセスｊのデータが他のデータアクセスｋに優先して、上位システム３０に転送されることになる。これら短縮・延長の幅については、予め内部メモリに設定されている値に基づき短縮・延長してもよく、発生イベントの内容に基づき短縮・延長幅を計算してもよい。
【００５２】
続いて、データ処理部１６は、イベント発生の検出から予め内部メモリに設定されている一定時間Ｔｅだけ待機した後（ステップ３０３）、各データアクセスのキャッシュ更新周期Ｔｉを基準キャッシュ更新周期Ｔｓに初期化し（ステップ３０４）、ステップ３００へ戻る。
【００５３】
図５は、キャッシュ更新周期変更の動作例である。ここでは、横軸が時間を示し、縦軸がキャッシュ更新周期を示している。
時刻ｔ１にデータアクセスｊに関するイベントが発生した場合、キャッシュ更新周期Ｔｊが短縮されるとともに、他のデータアクセスｋのキャッシュ更新周期Ｔｋが延長されており、時刻ｔ１から一定時間Ｔｅ経過後の時刻ｔ２に、キャッシュ更新周期Ｔｊ，Ｔｋが基準キャッシュ更新周期Ｔｓに初期化されている。
【００５４】
この例では、イベント発生からの経過時間ごとに、キャッシュ更新周期Ｔｊの短縮度合が個別に設定されており、このように設定することにより、発生するイベントに応じたデータ転送を実現することができる。
【００５５】
［第３の実施の形態の効果］
このように、本実施の形態は、データ処理部１６が、データアクセスのうち特定データアクセスに対して、予め設定されているイベントが発生した場合、一定時間Ｔｅだけ、特定データアクセスｊに関するキャッシュ更新周期Ｔｊを短縮するとともに、特定データアクセス以外の他データアクセスｋに関するキャッシュ更新周期Ｔｋを延長するようにしたものである。
これにより、イベントの発生に応じて、上位システム３０へ転送すべきデータが一時的に増大する場合でも、柔軟に対応することができる。
【００５６】
［実施の形態の拡張］
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
【符号の説明】
【００５７】
１０…コントローラ、１１…機器Ｉ／Ｆ部、１２…一次キャッシュ、１３…二次キャッシュ、１４…変化通知部、１５…通信Ｉ／Ｆ部、１６…データ処理部、２０…フィールド機器、３０…上位システム、３１…上位処理部、Ｌ…伝送回線、ＮＷ…通信ネットワーク。
【図１】
2018022406.tif 000003
【図２】
2018022406.tif 000004
【図３】
2018022406.tif 000005
【図４】
2018022406.tif 000006
【図５】
2018022406.tif 000007