(57)【要約】【課題】ネットワークを流れる複数の通信フレームの通信間隔にルール配信フレームを挿入すると伝送遅延が拡大することがあった。【解決手段】ルール配信装置５０は、中継バッファ５０５にバッファリングされた通信フレームの特徴値に基づいて評価した通信フレームのリアルタイム性への影響度が所定の閾値以下である場合に制御対象の通信フレームを第１の遅延時間だけ遅延させて中継バッファから転送させ、影響度が所定の閾値を超える場合に制御対象の通信フレームを、第１の遅延時間より短い第２の遅延時間だけ遅延させて中継バッファから転送させる遅延制御部５０６と、ルール配信フレームを制御対象の通信フレームと、制御対象の通信フレームに対する後続の通信フレームとのフレーム間隔に挿入するフレーム挿入部５０８と、を備える。【選択図】図５
2020043451.tif 000002
【特許請求の範囲】
【請求項１】
機器が接続されるネットワークから連続して流入する複数の通信フレームのフレーム長と、複数の前記通信フレームのフレーム間隔とを計測するフレーム長及びフレーム間隔計測部と、
前記フレーム長及びフレーム間隔計測部を通過した前記通信フレーム毎に、前記通信フレームの特徴値を取得する特徴値取得部と、
前記特徴値が取得された前記通信フレームをバッファリングする中継バッファと、
取得された前記特徴値に基づいて評価した前記通信フレームのリアルタイム性への影響度が所定の閾値以下である場合に前記中継バッファにバッファリングされた先行の前記通信フレームに対する制御対象の前記通信フレームを第１の遅延時間だけ遅延させて前記中継バッファから転送させ、前記影響度が前記所定の閾値を超える場合に先行の前記通信フレームに対する制御対象の前記通信フレームを、前記第１の遅延時間より短い第２の遅延時間だけ遅延させて前記中継バッファから転送させる遅延制御部と、
前記機器の内、前記通信フレームの検査を行う運用支援機器が検査に用いるルールが格納されるルール配信フレームを、制御対象の前記通信フレームと、制御対象の前記通信フレームに対する後続の前記通信フレームとの前記フレーム間隔に挿入し、制御対象の前記通信フレーム、及び前記ルール配信フレームを順に前記ネットワークに流出させるフレーム挿入部と、を備える
フレーム配信装置。
【請求項２】
前記遅延制御部は、前記影響度が前記所定の閾値以下と評価した場合に前記中継バッファに入力した前記通信フレームについて適用する前記第１の遅延時間を所定の最大遅延時間に決定する
請求項１に記載のフレーム配信装置。
【請求項３】
さらに、前記遅延制御部は、前記影響度が前記所定の閾値を超えると評価した場合に前記中継バッファに入力した前記通信フレームについて適用する前記第２の遅延時間を、所定の最小遅延時間または、前記計測した該通信フレームと先行する前記通信フレームの前記フレーム間隔と所定の最小フレーム間隔との差のいずれか短いほうに決定する
請求項２に記載のフレーム配信装置。
【請求項４】
さらに、前記フレーム長及びフレーム間隔計測部から前記通信フレーム毎に取得する前記フレーム長及び前記フレーム間隔に基づいて、前記ルール配信フレームの前記フレーム間隔への挿入可否を判定する挿入判定部を備え、
前記フレーム挿入部は、前記挿入判定部により挿入可と判定された前記フレーム間隔に前記ルール配信フレームを挿入する
請求項１〜３のいずれか一項に記載のフレーム配信装置。
【請求項５】
前記特徴値は、前記通信フレームに設定される、前記通信フレームの宛先、及び前記通信フレームの種別を少なくとも含む
請求項４に記載のフレーム配信装置。
【請求項６】
機器が接続されるネットワークから連続して流入する複数の通信フレームのフレーム長と、複数の前記通信フレームのフレーム間隔とを計測するフレーム長及びフレーム間隔計測部と、
前記フレーム長及びフレーム間隔計測部を通過した前記通信フレームがバッファリングされる中継バッファと、
前記中継バッファにバッファリングされる前記通信フレーム毎に、前記通信フレームの特徴値を取得する特徴値取得部と、
前記特徴値に基づいて評価した前記通信フレームのリアルタイム性への影響度が所定の閾値以下である場合に前記中継バッファにバッファリングされた先行の前記通信フレームに対する制御対象の前記通信フレームを第１の遅延時間だけ遅延させて前記中継バッファから転送させ、前記影響度が前記所定の閾値を超える場合に先行の前記通信フレームに対する制御対象の前記通信フレームを、前記第１の遅延時間より短い第２の遅延時間だけ遅延させて前記中継バッファから転送させる遅延制御部と、を備える
フレーム中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム配信装置及びフレーム中継装置に関する。
【背景技術】
【０００２】
プラント設備などの制御に用いられる制御システムは、ＰＬＣ（Programmable Logic Controller）などの制御装置、制御装置に接続されるセンサやアクチュエータ、操作員が制御装置の監視や制御装置への指示を行うための端末であるＨＭＩ（Human Machine Interface）、制御装置に実行させる制御ロジックやプログラムを作成する開発装置といった多様な機器で構成される。典型的なシステムでは、これらの装置群が単一又は階層化されたネットワークで接続され、各機器がデータやコマンドを含む通信フレームをネットワーク上で相互に授受することにより、全体として目的の制御動作が遂行される。
【０００３】
上述した通信フレームには、制御装置にて実行される制御ロジックやプログラムの実行周期（制御周期）に同期してネットワークへ送出されるものと、制御周期とは非同期に送出されるものとがある。前者の通信フレームの送出周期は、制御対象設備の特性により、送出周期が短い制御システムでは１［ｍｓ］、送出周期が長い制御システムでは１［ｓ］などが用いられる。制御システムでは、所定の制御処理を一定の周期で実行することや設備の状態や動作指示に対して所定の時間以内で応答すること（リアルタイム性）が求められる。このため、それらの動作に係る通信フレームも、同期又は非同期に関わらず、所定の遅延時間以内で伝送される必要がある。
【０００４】
一方、制御システムのネットワークには、上記のような制御機能を担う機器（制御機器）以外に、制御システムを安全に運用するための機能を担う機器（運用支援機器）が接続されることがある。
ここで、制御システムは、悪意ある第三者からのサイバー攻撃にさらされることが予想される。サイバー攻撃とは、例えば、制御システムを異常停止させたり、異常な出力を発生させて設備を損傷させたりすることを目的とした攻撃である。この攻撃では、制御機器に対して異常な内容や構造の通信フレームや、制御システムに目的から逸脱した動作を行わせることを企図して選定されたコマンドやデータを含む通信フレームが機器に送りつけられる。
【０００５】
このようなサイバー攻撃から制御機器を保護するために、機器に害をなしうる通信フレームを検知ないし除去するなどの対策を運用支援機器に行わせるための通信フレームを通常の通信フレームとは別に伝送する技術が知られている。例えば、特許文献１には、「パケットが入力されていない空き時間を計測し、計測した空き時間に基づいて、入力された各パケットの間に所定のフレームを挿入するか否かを判断し、入力された各パケットを順次送信し、判断結果に基づいて所定のフレームを各パケットの間に挿入して送信する」と記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５８５７３８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
運用支援機器に対して、制御機器が接続されるネットワークを用いて必要なデータを含む通信フレームを配信する場合、データの配信に用いる通信フレームが挿入されても、制御システムのリアルタイム性が損なわれないようにする必要がある。例えば、通信制御装置に対して、破壊すべき通信フレームのルールを通信フレームに記述してネットワーク側から与える場合、ルールを記述した通信フレームと制御機器に対して送出される通信フレームがネットワーク上で衝突することがある。この場合、衝突した通信フレームの再送などが行われ、突発的な伝送遅延の増大が発生するため、通信フレーム同士がネットワーク上で衝突しないように制御する必要がある。
【０００８】
上述した特許文献１では、３つに場合分けして所定のフレームを挿入する方法が開示されている。例えば、入力パケット間の空き時間が所定のフレームのデータ長以上である場合と、空き時間が所定のフレームのデータ長未満かつ空き時間と所定のフレームのデータ長との差が所定の値以下である場合と、空き時間が所定のフレームのデータ長未満であっても最後に所定のフレームを挿入してから所定の時間以上が経過した場合である。
【０００９】
しかしながら、特許文献１に記載された方法では、入力パケット間の空き時間が所定のフレーム長より所定の値以上短い状態が続くとフレームの挿入が行えない。フレームの挿入が行えないまま、最後にフレームを挿入してから所定の時間が経過すると、強制的にフレームの挿入が行われるため、その直後に入力されたパケットの伝送遅延が突発的に増大する。
【００１０】
また、制御機器に対してデータやコマンドを与えるパケットが遅延すると、制御処理への反映が遅れ、制御システムのリアルタイム性が損なわれる恐れがある。また、パケット間の空き時間の状態によっては、フレームが挿入された直後のパケットのみならず、そのさらに後続のパケット群についてもフレーム挿入の影響を受けて伝送遅延が増大する場合がある。
【００１１】
本発明はこのような状況に鑑みて成されたものであり、ネットワークを伝送される通信フレームに影響を与えることなく、運用支援機器が検査に用いるルールが格納されるルール配信フレームを挿入できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係るフレーム配信装置は、機器が接続されるネットワークから連続して流入する複数の通信フレームのフレーム長と、複数の通信フレームのフレーム間隔とを計測するフレーム長及びフレーム間隔計測部と、フレーム長及びフレーム間隔計測部を通過した通信フレーム毎に、通信フレームの特徴値を取得する特徴値取得部と、特徴値が取得された通信フレームをバッファリングする中継バッファと、取得された特徴値に基づいて評価した通信フレームのリアルタイム性への影響度が所定の閾値以下である場合に中継バッファにバッファリングされた先行の通信フレームに対する制御対象の通信フレームを第１の遅延時間だけ遅延させて中継バッファから転送させ、影響度が所定の閾値を超える場合に先行の通信フレームに対する制御対象の通信フレームを、第１の遅延時間より短い第２の遅延時間だけ遅延させて中継バッファから転送させる遅延制御部と、機器の内、通信フレームの検査を行う運用支援機器が検査に用いるルールが格納されるルール配信フレームを、制御対象の通信フレームと、制御対象の通信フレームに対する後続の通信フレームとのフレーム間隔に挿入し、制御対象の通信フレーム、及びルール配信フレームを順にネットワークに流出させるフレーム挿入部と、を備える。
【発明の効果】
【００１３】
本発明によれば、リアルタイム性への影響度の評価に応じて通信フレームを遅延させて拡大したフレーム間隔にルール配信フレームが挿入可能なため、ネットワークを流れる他の通信フレームの伝送に影響が及ばない。
上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態に係るリング型トポロジで構成した制御システムの全体構成例を示すネットワーク構成図である。
【図２】本発明の第１の実施の形態に係る通信フレームの構成例を示す説明図である。
【図３】本発明の第１の実施の形態に係る通信フレームの発信元機器、通信フレームに格納されるデータの種類、通信フレームの種別フィールドの値の関係を示す対応表である。
【図４】本発明の第１の実施の形態に係る通信フレームの種別と、通信フレームの宛先との関係を示す対応表である。
【図５】本発明の第１の実施の形態に係るルール配信装置の内部構成例を示す機能ブロック図である。
【図６】本発明の第１の実施の形態に係るルール配信装置の動作例を示すフローチャートである。
【図７】本発明の第１の実施の形態に係る先行フレームと通信フレームとのフレーム間隔の例を示す説明図である。
【図８】通信フレームを中継する従来の制御の例を示すタイムチャートである。
【図９】本発明の第１の実施の形態に係る通信フレームの遅延制御、及びルール配信フレームの挿入制御の例を示すタイムチャートである。
【図１０】本発明の第１の実施の形態に係る計算機のハードウェア構成例を示すブロック図である。
【図１１】本発明の第２の実施の形態に係るルール配信装置の内部構成例を示す機能ブロック図である。
【図１２】本発明の第３の実施の形態に係る中継装置の内部構成例を示す機能ブロック図である。
【図１３】本発明の変形例に係るスター型トポロジで構成した制御システムの全体構成例を示すネットワーク構成図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
【００１６】
［第１の実施の形態］
ここで、本発明の第１の実施の形態に係る、セキュリティゲートウェイに対して検査ルールを含むルール配信フレームを配信可能なフレーム配信装置について説明する。
＜構成の説明＞
始めに、本実施の形態に係る制御システムの全体構成例について説明する。
図１は、リング型トポロジで構成した制御システム１の全体構成例を示すネットワーク構成図である。
【００１７】
制御システム１は、プラント設備２の制御を目的として構築される。この制御システム１は、制御ネットワーク１０、フィールドネットワーク２０、ＩｏＴ（Internet of Things）ネットワーク３０からなる階層化されたネットワークを含む。
【００１８】
制御ネットワーク１０は、プラント設備２の制御を実行する機器及びそれを支援する機器が接続されるリングトポロジのネットワークであり、１つ以上の制御装置１１ａ、１１ｂ、ＨＭＩ（Human Machine Interface）装置１２、開発装置１３（機器の一例）がそれぞれセキュリティゲートウェイ４０（運用支援機器の一例）を介して接続される。図中では、ゲートウェイを「ＧＷ」（GateWay）と略記する。併せて、ルール配信装置５０が制御ネットワーク１０に接続される。図中において、制御ネットワーク１０はリング型トポロジにて例示されているが、後述する図１３に示すスター型など他のトポロジを採用するシステムにも本発明を応用することができる。
【００１９】
なお、制御システム１を構成する各種装置の種類と数は上記したものに限定されず、制御システム１の規模や、制御機能の負荷分散、故障発生時に備えた冗長性などの条件を考慮して設計される。また、制御システム１の規模や機能に応じ、各ネットワークの上位又は下位に、さらに別のネットワークが接続されることもある。
【００２０】
制御装置１１ａ、１１ｂはそれぞれ、自装置に内蔵又は接続された記憶装置（図示せず）に格納されている制御プログラムと制御パラメータに従い、プラント設備２に対する一連の制御動作を実行するよう、必要な電子回路や構成部品を有して構成される。そして、制御装置１１ａにはセンサ２１、アクチュエータ２２が直接接続され、制御装置１１ｂにはフィールドネットワーク２０を介してセンサ２１、アクチュエータ２２が接続される。
【００２１】
制御装置１１ａ、１１ｂの制御動作には、センサ２１を介してプラント設備２の状態値を取得する動作、プラント設備２に対する制御指令値を生成してアクチュエータ２２からプラント設備２に制御指令値を出力する動作のいずれか又は両方が含まれる。
加えて、制御装置１１ａ、１１ｂはそれぞれ、自装置にて取得又は生成したプラント設備２の状態値及び制御指令値、並びに自装置の内部状態を含む通信フレーム１１０ａ、１１０ｂを生成し、制御ネットワーク１０を介して他の制御装置やＨＭＩ装置１２へ通信フレーム１１０ａ、１１０ｂを送信する。ここで、制御装置１１ａが通信フレーム１１０ａを生成し、制御装置１１ｂが通信フレーム１１０ｂを生成したとする。制御装置１１ａ、１１ｂはそれぞれ、制御指令値を生成する際に、他装置から受信した通信フレーム１１０ｂ、１１０ａに含まれるプラント設備２の状態値及び制御指令値、他装置の内部状態を必要に応じて参照する。
【００２２】
ＨＭＩ装置１２は、制御システム１の状態監視及び運転指示のために設置される装置であり、セキュリティゲートウェイ４０を介して制御ネットワーク１０に接続する。このＨＭＩ装置１２は、プラント設備２の制御状態を各機器から取得して運転員に提示する機能と、運転員から受け付けた入力操作に基づいて各機器にコマンドや制御パラメータを送信する機能を有する。上述した機能は、例えば、通信フレーム１１０ａ、１１０ｂからプラント設備２の状態値や制御指令値、制御装置１１ａ、１１ｂの内部状態を取得したり、新たな制御パラメータを含む通信フレーム１２０を制御装置１１ａ、１１ｂへ送信したりする処理を含む。
【００２３】
開発装置１３は、運転員の操作に基づいて制御装置１１ａ、１１ｂで実行される制御プログラムを作成又は修正する機能と、生成される制御プログラムを制御装置１１ａ、１１ｂに設定する機能とを有する。開発装置１３により生成された制御プログラムは、通信フレーム１３０に格納され、制御装置１１ａ、１１ｂに送信される。
制御装置１１ａ、１１ｂは、通信フレーム１２０、１３０を受け取った場合には、それぞれの通信フレーム１２０、１３０に含まれる制御パラメータや制御プログラムを、記憶装置に新たに格納し、制御動作に反映させる。
【００２４】
フィールドネットワーク２０は、プラント設備２に設置されるセンサ２１及びアクチュエータ２２を統合し、又は管理するための局所的なネットワークである。制御装置１１ｂには、フィールドネットワーク２０を介して、センサ２１、アクチュエータ２２が接続される。
【００２５】
なお、フィールドネットワーク２０は、制御システム１の規模や制御用途によっては省略されることもある。上述したように制御装置１１ａには、フィールドネットワーク２０を介さず、センサ２１とアクチュエータ２２が直接接続される。
【００２６】
ＩｏＴネットワーク３０は、プラント設備２に設置されるＩｏＴ機器３１及びＩｏＴゲートウェイ３２から構成されるネットワークである。本明細書では、内蔵プログラム等による自律的なデータ処理能力と通信能力を有するセンサ２１、アクチュエータ２２、表示デバイスをまとめて「ＩｏＴ機器」と定義する。ＩｏＴ機器３１は、プラント設備２に設けられ、プラント設備２から取得したセンサデータを、ＩｏＴゲートウェイ３２にリアルタイムで送出することが可能である。
【００２７】
ＩｏＴゲートウェイ３２は、ＩｏＴ機器３１との通信機能を有し、ＩｏＴ機器３１から入力されるセンサデータや、ＩｏＴ機器３１を介してプラント設備２に出力する制御指令値を集約又は蓄積することが可能である。また、ＩｏＴゲートウェイ３２は、セキュリティゲートウェイ４０を介して制御ネットワーク１０にも接続し、制御ネットワーク１０を流れる各種の通信フレームを送受信することで制御装置１１ａ、１１ｂとの間でセンサデータや制御指令値を授受することも可能である。
【００２８】
フィールドネットワーク２０及びＩｏＴネットワーク３０の接続形態は、有線又は無線のいずれでもよく、また、物理層の方式、すなわち伝送される信号の仕様は限定されない。通信フレームのフォーマットについても、以下の説明ではＩＥＥＥ８０２．３規格に準拠して例示するが、他のフォーマットも本発明の範囲を逸脱することなく採用可能である。
【００２９】
セキュリティゲートウェイ４０は、それぞれネットワーク側と制御機器側に接続される２つのネットワークインタフェース４０１、４０２を有しており、制御ネットワーク１０を流れる通信フレームの検査を行うことが可能である。このため、セキュリティゲートウェイ４０は、ネットワークインタフェース４０１から流入する通信フレームの内容が、予め設定された検査ルールに合致するか否かを検査し、検査結果に応じて当該通信フレームをネットワークインタフェース４０２へ通過させるか、阻止又は破壊する。ネットワークインタフェース４０２から流入した通信フレームについても同様に検査し、その結果に応じてネットワークインタフェース４０１へ通過させるか、阻止又は破壊する。
【００３０】
セキュリティゲートウェイ４０が通信フレームの検査に用いる検査ルールは、例えば、ウイルスチェックパターン等であり、ルール配信装置５０から配信されるルール配信フレーム５１１に格納される。セキュリティゲートウェイ４０は、ネットワークインタフェース４０１からルール配信フレーム５１１を受信すると、ルール配信フレーム５１１から新たな検査ルールを抽出し、通信フレームの検査に反映する。
【００３１】
ルール配信装置５０は、セキュリティゲートウェイ４０において通信フレームの検査時に参照される検査ルールを生成し、ルール配信フレーム５１１に格納して制御ネットワーク１０へ送出する。ルール配信装置５０は、例えば運転員が検査ルールを入力できる入力装置（例えば、ＰＣ（Personal Computer）等の情報処理装置）を有して構成されてもよい。また、ルール配信装置５０が自ら、何らかのアルゴリズムに基づいて検査ルールを生成するように構成されてもよい。
【００３２】
＜通信フレームの構成例＞
次に、通信フレーム１１０ａ、１１０ｂ、１２０、１３０の構成例について、図２を参照して説明する。
図２は、通信フレーム１１０ａ、１１０ｂ、１２０、１３０の構成例を示す説明図である。以下の説明で、通信フレーム１１０ａ、１１０ｂ、１２０、１３０を区別しないときには、「通信フレーム」とも略記する。
通信フレームは、ヘッダ部１１１、種別フィールド１１２及びボディ部１１３を有する。
ヘッダ部１１１には各通信フレームの宛先など、フレームの伝送に用いられる情報が格納される。
種別フィールド１１２には、ボディ部１１３に格納されるデータの種類や構造を識別するために、例えば、図３の示すように予め定義された値が格納される。
ボディ部１１３には、実際に宛先機器で参照されるデータの本体が格納される。
【００３３】
＜通信フレームに格納されるデータの例＞
次に、通信フレームに格納されるデータの例について、図３を参照して説明する。
図３は、通信フレームの発信元機器、通信フレームに格納されるデータの種類、通信フレームの種別フィールドの値の関係を示す対応表である。
【００３４】
図３に示す一覧表は、通信フレームが発信された発信元機器、発信元機器が発信したデータの種類、種別フィールドの値を格納したものである。
発信元機器として、例えば、制御装置１１ａ、１１ｂ、ＨＭＩ装置１２、開発装置１３及びルール配信装置５０がある。
発信元機器が発信したデータの種類として、例えば、プラント設備２の状態値、プラント設備２への制御指令値、制御装置１１ａ、１１ｂ内の内部状態、ＨＭＩ装置１２が生成した制御パラメータ、開発装置１３が生成した制御プログラム、ルール配信装置５０が生成した検査ルールがある。
種別フィールドの値として、例えば、シンボル表記された「ＣＩ」、「ＨＰ」等の値がある。
【００３５】
＜通信フレームに格納されるデータの例＞
図４は、通信フレームの種別と、通信フレームの宛先との関係を示す対応表である。図中では、通信フレームの種別を「フレーム種別」と略記する。
【００３６】
図４に示す対応表は、縦にフレーム種別、横に宛先となる機器で構成される。この対応表は、通信フレームのフレーム種別及び宛先に応じた、通信フレームのリアルタイム性への影響度を表す。影響度とは、例えば、通信フレームの伝送遅延が増大した場合に、制御のリアルタイム性を阻害する程度、又はその恐れの程度を相対的に表現した指標である。例えば、通信フレームの宛先が制御装置１１ｂであって、フレーム種別が「ＣＩ」であれば、制御装置１１ａがプラント設備の状態値を格納した通信フレームを制御装置１１ｂに送信する通信フレームを表す。このような通信フレームは、リアルタイム性への影響が高いため、リアルタイム性への影響度が高いことを示す「高」が対応表に格納される。
【００３７】
一方、ＨＭＩ装置１２、開発装置１３は、リアルタイムでデータを取得する必要がなく、一般にリアルタイム性への影響が低い。このため、全ての通信フレームにおいて、宛先がＨＭＩ装置１２、開発装置１３であればリアルタイム性への影響度が低いことを示す「低」が対応表に格納される。後述する図５に示す遅延制御部５０６は、図４に示す対応表を参照し、通信フレームの宛先及びフレーム種別に基づいて、通信フレームのリアルタイム性への影響度が高いか低いかを判断する。
【００３８】
＜動作の説明＞
次に、ルール配信装置５０における配信動作の例について、図５と図６を参照して説明する。
図５は、ルール配信装置５０の内部構成例を示す機能ブロック図である。
【００３９】
ルール配信装置５０は、ネットワークインタフェース５０１、５０２を有し、制御ネットワーク１０に挿入される形で接続される。ネットワークインタフェース５０１は、通信フレームの入力側インタフェースであり、ネットワークインタフェース５０２は、通信フレームの出力側インタフェースである。
【００４０】
さらに、ルール配信装置５０は、フレーム長／ギャップ計測部５０３、特徴値取得部５０４、中継バッファ５０５、遅延制御部５０６、挿入判定部５０７、フレーム挿入部５０８、ルール格納部５０９、及び配信フレーム生成部５１０を有する。各部の機能及び動作の態様を以下に詳細に説明する。
【００４１】
フレーム長／ギャップ計測部５０３は、機器が接続される制御ネットワーク１０から連続して流入する複数の通信フレームのフレーム長と、複数の通信フレームのフレーム間隔とを計測する。
特徴値取得部５０４は、フレーム長／ギャップ計測部５０３を通過した通信フレーム毎に、通信フレームの特徴値を取得する。ここで、特徴値は、通信フレームに設定される、通信フレームの宛先、及び通信フレームの種別を少なくとも含む。
中継バッファ５０５は、特徴値が取得された通信フレームをバッファリングする。
【００４２】
遅延制御部５０６は、特徴値取得部５０４により取得された特徴値に基づいて評価した通信フレームのリアルタイム性への影響度が所定の閾値以下である場合に中継バッファ５０５にバッファリングされた先行の通信フレームに対する制御対象の通信フレームを第１の遅延時間だけ遅延させて中継バッファ５０５から転送させる。また、遅延制御部５０６は、影響度が所定の閾値を超える場合に先行の通信フレームに対する制御対象の通信フレームを、第１の遅延時間より短い第２の遅延時間だけ遅延させて中継バッファ５０５から転送させる。
【００４３】
なお、遅延制御部５０６は、影響度が所定の閾値以下と評価した場合に中継バッファ５０５に入力した通信フレームについて適用する第１の遅延時間を所定の最大遅延時間に決定する。さらに、遅延制御部５０６は、影響度が所定の閾値を超えると評価した場合に中継バッファ５０５に入力した通信フレームについて適用する第２の遅延時間を、所定の最小遅延時間または、計測した該通信フレームと先行する通信フレームのフレーム間隔と所定の最小フレーム間隔との差のいずれか短いほうに決定する。ここで、最小遅延時間は、最小フレーム間隔の２倍の長さに、ルール配信フレーム５１１の長さを加えた値よりも長いものから求められる。
【００４４】
挿入判定部５０７は、フレーム長／ギャップ計測部５０３から通信フレーム毎に取得するフレーム長及びフレーム間隔に基づいて、ルール配信フレーム５１１のフレーム間隔への挿入可否を判定する。
【００４５】
フレーム挿入部５０８は、制御ネットワーク１０に接続された機器の内、セキュリティゲートウェイ４０が検査に用いるルールが格納されるルール配信フレーム５１１を、制御対象の通信フレームと、制御対象の通信フレームに対する後続の通信フレームとのフレーム間隔に挿入する。ここで、フレーム挿入部５０８は、挿入判定部５０７により挿入可と判定されたフレーム間隔にルール配信フレーム５１１を挿入する。そして、フレーム挿入部５０８は、制御対象の通信フレーム、及びルール配信フレーム５１１を順に制御ネットワーク１０に流出させる。このため、フレーム挿入部５０８により挿入されたルール配信フレーム５１１は、制御対象の通信フレーム、及びルール配信フレーム５１１の順に、ネットワークインタフェース５０２を通じて制御ネットワーク１０に流出する。
【００４６】
制御ネットワーク１０に接続されるルール配信装置５０のネットワークインタフェース５０１に通信フレームが流入し、ネットワークインタフェース５０２から通信フレームが流出する。このため、ルール配信装置５０には、制御ネットワーク１０に接続される制御機器及び運用支援機器から送出された通信フレームがネットワークインタフェース５０１から流入する。ここで、ネットワークインタフェース５０１に流入する通信フレームは、通信フレーム１１０ａ、１１０ｂ、１２０、１３０のいずれかであるが、遅延制御部５０６による遅延制御の対象の一例である通信フレーム１１０ａに注目して説明する。
【００４７】
＜ルール配信装置の動作例＞
図６は、ルール配信装置５０の動作例を示すフローチャートである。
ルール配信装置５０は、ネットワークインタフェース５０１に通信フレーム１１０ａが流入したか否かを判断する（Ｓ１）。ネットワークインタフェース５０１に通信フレーム１１０ａが流入していなければ（Ｓ１のＮＯ）、ルール配信装置５０は、ステップＳ１の判断処理を繰り返す。
【００４８】
ネットワークインタフェース５０１に通信フレーム１１０ａが流入すると（Ｓ１のＹＥＳ）、ルール配信装置５０は、まず、フレーム長／ギャップ計測部５０３（フレーム長及びフレーム間隔計測部の一例）により、今回流入した通信フレーム１１０ａの長さＬｅｎと、先行フレーム間隔Ｇａｐを計測する（Ｓ２）。ここで、通信フレーム１１０ａの長さＬｅｎは、ビット単位で計測した値である。同様に、先行フレーム間隔Ｇａｐは、通信フレーム１１０ａの一つ前に先行して流入した通信フレーム（先行フレーム）との間の空き時間をビット単位で計測した値である。以下の説明では、通信フレーム１１０ａの一つ前に流入した通信フレームを先行フレーム１１０ｂと呼ぶ。
【００４９】
具体的には、フレーム長／ギャップ計測部５０３が、例えば、先行フレーム１１０ｂの末尾を検出してから通信フレーム１１０ａの先頭を検出するまでの時間を、通信フレーム１１０ａの伝送速度に同期したタイマ（図示せず）で計測することで先行フレーム間隔Ｇａｐを得る。そして、フレーム長／ギャップ計測部５０３は、検出した通信フレーム１１０ａの先頭と末尾をそれぞれ検出する時間の時間差を、同じく伝送速度に同期したタイマで計測することで通信フレーム１１０ａのフレームの長さＬｅｎを得る。
【００５０】
同様に、フレーム長／ギャップ計測部５０３は、例えば、通信フレーム１１０ａの末尾を検出してから後続フレーム１２０の先頭を検出するまでの時間を、通信フレーム１１０ａの伝送速度に同期したタイマで計測することで後続フレーム間隔Ｇａｐ’を得る。そして、フレーム長／ギャップ計測部５０３は、検出した後続フレーム１２０の先頭と末尾をそれぞれ検出する時間の時間差を、同じく伝送速度に同期したタイマで計測することで後続フレーム１２０のフレームの長さＬｅｎ’を得る。
【００５１】
図７は、複数の通信フレームのフレーム間隔の例を示す説明図である。本実施の形態では、ルール配信装置５０に対して、先行フレーム１１０ｂ、通信フレーム１１０ａ、後続フレーム１２０の順に通信フレームが流入する。後続フレーム１２０は、上述したＨＭＩ装置１２から制御ネットワーク１０に送出される通信フレームである。
【００５２】
図７のフレーム間隔の説明図（１）には、先行フレーム１１０ｂ及び通信フレーム１１０ａの先行フレーム間隔Ｇａｐ、通信フレーム１１０ａ及び後続フレーム１２０の後続フレーム間隔Ｇａｐ’の例が示される。また、図７のフレーム間隔の説明図（１）には、通信フレーム１１０ａの長さＬｅｎ、後続フレーム１２０の長さＬｅｎ’の例が示される。
【００５３】
フレーム長／ギャップ計測部５０３は、このように計測した各フレームの長さＬｅｎ、Ｌｅｎ’と、先行フレーム間隔Ｇａｐ、後続フレーム間隔Ｇａｐ’とを、遅延制御部５０６及び挿入判定部５０７へ出力する。
【００５４】
特徴値取得部５０４は、流入した通信フレーム１１０ａのヘッダ部１１１に格納されている宛先アドレスＡｄｄｒと、種別フィールド１１２に格納されているフレーム種別値Ｔｙｐｅを抽出する。そして、特徴値取得部５０４は、抽出した宛先アドレスＡｄｄｒ及びフレーム種別値Ｔｙｐｅを遅延制御部５０６へ出力する。
【００５５】
宛先アドレスＡｄｄｒは、例えば、制御装置１１ａ、１１ｂ、ＨＭＩ装置１２、開発装置１３、ＩｏＴ機器３１、又はＩｏＴゲートウェイ３２のいずれかを宛先機器として特定する情報である。また、図２で述べたように通信フレームの構造が既知であることから、特徴値取得部５０４は、フレーム長／ギャップ計測部５０３で用いた、通信フレームの先頭からの時間を計測するタイマの値を用いて種別フィールド１１２の位置を検出することができる。
【００５６】
続いて、ルール配信装置５０は、特徴値取得部５０４を通過した通信フレーム１１０ａを中継バッファ５０５に入力する。中継バッファ５０５は、ネットワークインタフェース５０１、５０２間で通信フレームを順次転送するためにバッファリングする一時記憶部の一例である。このため、中継バッファ５０５は、入力された通信フレームを遅延制御部５０６により決定される遅延時間Ｄｅｌａｙの後に出力するよう構成されている。
【００５７】
中継バッファ５０５の構成例の一つとして、例えば、マイクロプロセッサ又はマイクロコントローラとメモリを組み合わせて用いることができる。中継バッファ５０５は、入力した通信フレームをメモリに格納し、遅延制御部５０６から通信フレームの出力指令Ｅｘｉｔを受け取った場合に、メモリから読み出した通信フレームを次の挿入判定部５０７に出力する。
【００５８】
中継バッファ５０５の別の実現方法として、シフトレジスタやシフトレジスタに類似した遅延素子又は遅延回路を用いることもできる。例えば、中継バッファ５０５としてシフトレジスタを用いた場合、途中で通信フレームを流出させるための複数のタップと出力セレクタをシフトレジスタに設けておく。そして、中継バッファ５０５が、遅延制御部５０６から通信フレームの出力指令Ｅｘｉｔを受け取った場合に、その時点で通信フレームの先頭に最も近いタップ又はシフトレジスタの終端部から通信フレームを出力するように構成する。
【００５９】
いずれの実現方法による場合でも、中継バッファ５０５は、通信フレームが入力された時点で、遅延制御部５０６に対して中継開始信号Ｅｎｔｅｒを出力する。また、中継バッファ５０５は、通信フレームの滞留時間が所定の最大遅延時間Ｄｅｌａｙ＿ｍａｘに達した場合に、強制的に通信フレームを通過させるように設計される。最大遅延時間Ｄｅｌａｙ＿ｍａｘは、制御システム１の動作に支障を来さない範囲、例えば１制御周期分などとして予め定義される。
【００６０】
次に、遅延制御部５０６は、特徴値取得部５０４が取得した通信フレーム１１０ａの宛先アドレスＡｄｄｒとフレーム種別Ｔｙｐｅを参照して、通信フレーム１１０ａが制御システム１におけるリアルタイム性にどの程度影響を与えるかを、例えば図４に示した対応表を参照して評価する（Ｓ３）。そして、遅延制御部５０６は、通信フレームの影響度が「低」、又は数値表現であれば所定の閾値以下であるか否かを判断する（Ｓ４）。
【００６１】
例えば、プラント設備２の状態値を含む通信フレーム（フレーム種別“ＣＩ”）が制御装置１１ａから制御装置１１ｂ宛に送信される場合、この通信フレームは制御動作に用いられるものである。このため、リアルタイム性への影響度が「高」と評価される。一方、同じフレーム種別の通信フレームであっても、ＨＭＩ装置１２宛に送信される場合は、この通信フレームは運転員がＨＭＩ装置１２を通じて内容を確認するために用いられるため、リアルタイム性への影響度が「低」と評価される。
なお、本実施の形態ではリアルタイム性への影響度の尺度を「高」又は「低」の２つの段階値で表したが、この尺度を任意の数の段階値又は数値で表現してもよい。
【００６２】
ステップＳ４にて遅延制御部５０６は、通信フレーム１１０ａの影響度が「低」、又は数値表現であれば所定の閾値以下と評価した場合（Ｓ４のＹＥＳ）、中継バッファ５０５に入力されている通信フレーム１１０ａに対する遅延時間を、中継バッファ５０５における最大遅延時間Ｄｅｌａｙ＿ｍａｘ（第１の遅延時間の一例）として決定し、通信フレームに最大遅延時間Ｄｅｌａｙ＿ｍａｘを割当てる（Ｓ５）。
【００６３】
一方、遅延制御部５０６が、通信フレーム１１０ａの影響度が「高」、又は所定の閾値を超えると判定した場合（Ｓ４のＮＯ）、遅延時間Ｄｅｌａｙを算出し、通信フレーム１１０ａに遅延時間Ｄｅｌａｙ（第２の遅延時間の一例）を割当てる（Ｓ６）。このように通信フレーム１１０ａの影響度が「高」、又は所定の閾値を超える場合、制御システム１のリアルタイム性に影響を与えないよう、なるべく短い遅延時間で中継バッファ５０５を通過させる必要がある。このとき、先行フレーム１１０ｂが中継バッファ５０５を完全に通過していないうちに通信フレーム１１０ａを出力すると、先行フレーム１１０ｂと通信フレーム１１０ａが中継バッファ５０５の出口で衝突して破損してしまう。
【００６４】
このため、遅延制御部５０６は、通信フレーム１１０ａの遅延時間Ｄｅｌａｙを次式（１）に従って調整する。これにより、通信フレーム１１０ａが中継バッファ５０５を通過したときに、先行フレーム１１０ｂとの間に所定の最小フレーム間隔Ｇａｐ＿ｍｉｎを確保することができる。ここで、次式（１）に示す関数ｍｉｎは、Ｇａｐ−Ｇａｐ＿ｍｉｎ、又はＤｅｌａｙ＿ｍｉｎのいずれか小さい値を選択し、この選択した値を遅延時間Ｄｅｌａｙとする関数である。
【００６５】
Ｄｅｌａｙ＝ｍｉｎ（Ｇａｐ−Ｇａｐ＿ｍｉｎ、Ｄｅｌａｙ＿ｍｉｎ）  …（１）
Ｄｅｌａｙ：通信フレーム１１０ａに適用する遅延時間
Ｇａｐ：フレーム長／ギャップ計測部５０３で計測した、通信フレーム１１０ａと先行フレーム１１０ｂのフレーム間隔
Ｇａｐ＿ｍｉｎ：制御ネットワーク１０で規定される最小フレーム間隔（ＩＥＥＥ８０２．３では９６ビット時間）
Ｄｅｌａｙ＿ｍｉｎ：中継バッファ５０５に設定可能な最小遅延時間
【００６６】
図７のフレーム間隔の説明図（１）により、フレーム間隔Ｇａｐは、遅延時間Ｄｅｌａｙによって調整されることが示される。ここで、フレーム間隔Ｇａｐから最小フレーム間隔Ｇａｐ＿ｍｉｎを減じることで、最小フレーム間隔Ｇａｐ＿ｍｉｎが確保される。そして、式（１）の関数ｍｉｎにより、Ｄｅｌａｙ＿ｍｉｎがＧａｐ−Ｇａｐ＿ｍｉｎより長ければ、遅延時間ＤｅｌａｙとしてＧａｐ−Ｇａｐ＿ｍｉｎが選択される。一方、Ｇａｐ−Ｇａｐ＿ｍｉｎがＤｅｌａｙ＿ｍｉｎより長ければ、遅延時間ＤｅｌａｙとしてＤｅｌａｙ＿ｍｉｎが選択される。
【００６７】
図６のフローチャートの説明に戻る。
遅延制御部５０６は、最終的に、中継バッファ５０５から中継開始信号Ｅｎｔｅｒが出力されたときから、割当てた遅延時間Ｄｅｌａｙが経過した後、中継バッファ５０５に対して出力指令信号Ｅｘｉｔを出力する。また、出力指令信号Ｅｘｉｔは、挿入判定部５０７にも出力される。これにより、中継バッファ５０５から流出した通信フレーム１１０ａが、挿入判定部５０７、フレーム挿入部５０８を経て、ネットワークインタフェース５０２から制御ネットワーク１０へ流出する（Ｓ７）。
【００６８】
以上説明した動作により、遅延制御部５０６が、通信フレーム１１０ａに対して、リアルタイム性への影響度が「高」、又は所定の閾値を超えると判定した場合に、通信フレーム１１０ａは、通信フレーム１１０ａ以外の通信フレームよりも短い遅延時間を与えられて中継バッファ５０５を通過する。このため、通信フレーム１１０ａと後続フレーム１２０の間の後続フレーム間隔Ｇａｐ’が、（Ｄｅｌａｙ＿ｍａｘ−Ｄｅｌａｙ）だけ拡大される。すなわち、Ｇａｐ’（ｎｅｗ）＝Ｇａｐ’＋（Ｄｅｌａｙ＿ｍａｘ−Ｄｅｌａｙ）となる。
【００６９】
ここで、図７のフレーム間隔の説明図（２）には、通信フレーム１１０ａと後続フレーム１２０の両者が中継バッファ５０５を通過する際、後続フレーム間隔Ｇａｐ’が、（Ｄｅｌａｙ＿ｍａｘ−Ｄｅｌａｙ）だけ拡大される様子が示される。このように遅延制御部５０６によって拡大された後続フレーム間隔Ｇａｐ’に、フレーム挿入部５０８がルール配信フレーム５１１を挿入することが可能となる。
【００７０】
続いて、ルール配信装置５０が、ルール配信フレーム５１１を配信する動作について説明する。
ルール格納部５０９には、セキュリティゲートウェイ４０に配信される全ての検査ルールが格納される。ルール格納部５０９に格納される検査ルールは、図示しない運転員や自動生成アルゴリズムから入力され、又は生成される。
【００７１】
配信フレーム生成部５１０は、ルール配信フレーム５１１の配信要求があるか否かを判断する（Ｓ８）。ルール格納部５０９に格納されている検査ルールが更新されると、ルール配信フレーム５１１の配信要求があると判断される。検査ルールが更新されていなければ、配信フレーム生成部５１０は、ルール配信フレーム５１１の配信要求がないと判断し（Ｓ８のＮＯ）、本処理を終了する。
【００７２】
一方、配信フレーム生成部５１０は、検査ルールが更新されたことを検出した場合に、ルール配信フレーム５１１の配信要求があると判断し（Ｓ８のＹＥＳ）、検査ルールの一部又は全部をルール格納部５０９から読み出す。そして、配信フレーム生成部５１０は、各セキュリティゲートウェイ４０に宛ててルール配信フレーム５１１を生成し、フレーム挿入部５０８へ出力する。ルール配信フレーム５１１も他の通信フレームと同様、図２に示すフィールド構成、及び図３に示すフレーム種別に基づく。
【００７３】
次に、挿入判定部５０７は、後続フレーム１２０が流入しているか否かを判断する（Ｓ９）。後続フレーム１２０が流入していなければ（Ｓ９のＮＯ）、後続フレーム１２０にルール配信フレーム５１１が衝突しないので、挿入判定部５０７は、ステップＳ１２に移り、ルール配信フレーム５１１を挿入する。
【００７４】
一方、後続フレーム１２０が流入していれば（Ｓ９のＹＥＳ）、挿入判定部５０７は、中継バッファ５０５を通過した通信フレーム１１０ａと後続フレーム１２０の間の後続フレーム間隔Ｇａｐ’を計測する（Ｓ１０）。そして、挿入判定部５０７は、計測した後続フレーム間隔Ｇａｐ’に、配信フレーム生成部５１０で生成されたルール配信フレーム５１１を挿入可能であるか否かを判定する（Ｓ１１）。
【００７５】
ステップＳ１１の判定は、具体的には以下のようにして行われる。例えば、中継バッファ５０５を通過した通信フレーム１１０ａの末尾を検出したときに、後続フレーム１２０がまだ流入してきておらず、従ってフレーム長／ギャップ計測部５０３から後続フレーム間隔Ｇａｐ’が出力されていない場合に、挿入判定部５０７がルール配信フレーム５１１を挿入可能と判定する。
【００７６】
また、ステップＳ１１では、後続フレーム間隔Ｇａｐ’が、ルール配信フレーム５１１のフレーム長Ｌｅｎ＿ｒｕｌｅに最小フレーム間隔Ｇａｐ＿ｍｉｎの２倍を加えた値よりも大きい場合にも、挿入判定部５０７によりルール配信フレーム５１１が挿入可能と判定される。例えば、図７の説明図（２）に示したようにルール配信フレーム５１１の前後にそれぞれ１つずつ最小フレーム間隔Ｇａｐ＿ｍｉｎがあれば、ルール配信フレーム５１１を後続フレーム間隔Ｇａｐ’に余裕で挿入することが可能である。このため、後続フレーム間隔Ｇａｐ’及び拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）は、いずれも最小フレーム間隔Ｇａｐ＿ｍｉｎの２倍の長さに、ルール配信フレーム５１１のフレーム長Ｌｅｎ＿ｒｕｌｅを加えた長さより大きいことが必要となる。
【００７７】
そして、挿入判定部５０７が、後続フレーム間隔Ｇａｐ’又は拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）にルール配信フレーム５１１を挿入可能でないと判定すると（Ｓ１１のＮＯ）、本処理を終了する。この場合、一定時間後に再び図６に示す処理が動きだし、ルール配信フレーム５１１を挿入可能なフレーム間隔が探索される。
【００７８】
一方、挿入判定部５０７が、後続フレーム間隔Ｇａｐ’又は拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）にルール配信フレーム５１１を挿入可能であると判定すると（Ｓ１１のＹＥＳ）、挿入判定部５０７は、フレーム挿入部５０８へ挿入指示信号Ｉｎｓｅｒｔを出力する。
【００７９】
フレーム挿入部５０８は、遅延制御部５０６から挿入指示信号Ｉｎｓｅｒｔが出力されたときに、ルール配信フレーム５１１の挿入を実行する（Ｓ１２）。ルール配信フレーム５１１の挿入は、フレーム挿入部５０８が、通過する後続フレーム間隔Ｇａｐ’又は拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）の該当箇所を、ルール配信フレーム５１１を構成するビット列で順次置換することで行われる。ここで、フレーム挿入部５０８を通過する後続フレーム間隔Ｇａｐ’又は拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）は、例えば、無信号の区間、又は通信フレームとして認識されないビット列で表される。
【００８０】
この一連の動作により生成された、通信フレーム１１０ａ、先行フレーム１１０ｂ、通信フレーム１１０ａの後続フレーム、ルール配信フレーム５１１を含むビット列は、ネットワークインタフェース５０２を通じて制御ネットワーク１０へ送出される。そして、セキュリティゲートウェイ４０にはルール配信フレーム５１１が入力される。
【００８１】
＜通信フレームの伝送制御の例＞
ここで、通信フレームの伝送制御の例について、通信フレームの伝送制御の従来の例と比較して説明する。
【００８２】
図８は、通信フレーム１１０ａを中継する従来の制御の例を示すタイムチャートである。
【００８３】
タイムチャート（１）〜（４）には、それぞれ先行フレーム１１０ｂ、通信フレーム１１０ａ、後続フレーム１２０の順に中継バッファ５０５に向けて伝送される様子が示される。ここで、中継バッファ５０５では、通信フレーム１１０ａの遅延制御が行われない。このため、先行フレーム１１０ｂと通信フレーム１１０ａとのフレーム間隔、及び通信フレーム１１０ａと後続フレーム１２０とのフレーム間隔は変わらない。フレーム挿入部５０８は、先行フレーム１１０ｂと通信フレーム１１０ａとのフレーム間隔、又は通信フレーム１１０ａと後続フレーム１２０とのフレーム間隔が十分な長さでなければ、ルール配信フレーム５１１を挿入できない。
【００８４】
図９は、通信フレーム１１０ａの遅延制御、及びルール配信フレーム５１１の挿入制御の例を示すタイムチャートである。
【００８５】
タイムチャート（１）には、先行フレーム１１０ｂ、通信フレーム１１０ａ、後続フレーム１２０の順に中継バッファ５０５に向けて伝送される様子が示される。そして、図中には、先行フレーム１１０ｂと通信フレーム１１０ａとのフレーム間隔Ｇａｐ、通信フレーム１１０ａと後続フレーム１２０とのフレーム間隔Ｇａｐ’の例が示される。
【００８６】
タイムチャート（２）には、先行フレーム１１０ｂが中継バッファ５０５に格納される様子が示される。このとき、通信フレーム１１０ａの先頭が、中継バッファ５０５に流入する。また、先行フレーム１１０ｂは、通常の伝送速度で中継バッファ５０５から流出する。ここで、先行フレーム１１０ｂと通信フレーム１１０ａとのフレーム間隔は十分に余裕がある。このため、通信フレーム１１０ａは、他の通信フレーム（先行フレーム１１０ｂ、後続フレーム１２０）よりも速い伝送速度で中継バッファ５０５を通過することが可能である。
【００８７】
タイムチャート（３）には、後続フレーム１２０が中継バッファ５０５に格納される様子が示される。通信フレーム１１０ａは、他の通信フレームよりも早く中継バッファ５０５を通過するよう遅延制御部５０６によって制御される。このため、通信フレーム１１０ａと後続フレーム１２０との後続フレーム間隔Ｇａｐ’が、Ｇａｐ’＋（Ｄｅｌａｙ＿ｍａｘ−Ｄｅｌａｙ）に示すように拡大する。
【００８８】
タイムチャート（４）には、後続フレーム間隔Ｇａｐ’（ｎｅｗ）にルール配信フレーム５１１が挿入される様子が示される。フレーム挿入部５０８は、拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）にルール配信フレーム５１１を挿入することが可能となる。このとき、後続フレーム１２０の伝送速度は低下していない。このため、ルール配信フレーム５１１が挿入されても、先行フレーム１１０ｂ、後続フレーム１２０の伝送速度は影響されない。
【００８９】
ここで、ルール配信装置５０を構成する計算機６０のハードウェア構成を説明する。
図１０は、計算機６０のハードウェア構成例を示すブロック図である。
【００９０】
計算機６０は、いわゆるコンピュータとして用いられるハードウェアである。計算機６０は、バス６４にそれぞれ接続されたＣＰＵ（Central Processing Unit：中央処理装置）６１、ＲＯＭ（Read Only Memory）６２、ＲＡＭ（Random Access Memory）６３を備える。さらに、計算機６０は、不揮発性ストレージ６５、ネットワークインターフェイス６６を備える。
【００９１】
ＣＰＵ ６１は、本実施の形態に係る各機能を実現するソフトウェアのプログラムコードをＲＯＭ ６２から読み出して実行する。ＲＡＭ ６３には、演算処理の途中に発生した変数やパラメーター等が一時的に書き込まれる。
不揮発性ストレージ６５としては、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フレキシブルディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリ等が用いられる。この不揮発性ストレージ６５には、ＯＳ（Operating System）、各種のパラメーターの他に、計算機６０を機能させるためのプログラムが記録されている。ＲＯＭ ６２、不揮発性ストレージ６５は、ＣＰＵ ６１が動作するために必要なプログラムやデータ等を永続的に記録しており、計算機６０によって実行されるプログラムを格納したコンピュータ読取可能な非一過性の記録媒体の一例として用いられる。
【００９２】
ネットワークインターフェイス６６には、例えば、ＮＩＣ（Network Interface Card）等が用いられ、端子が接続されたＬＡＮ（Local Area Network）、専用線等を介して各種のデータを装置間で送受信することが可能である。
【００９３】
このように、本実施の形態において、特段の断りがない機能や手段は、電気回路、電子回路、論理回路、及びそれらを内蔵した集積回路のほか、マイコン、プロセッサ、及びこれらに類する演算装置と、ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードディスク、ＳＳＤ、メモリカード、光ディスク及びこれらに類する記憶装置と、バス、ネットワーク及びこれらに類する通信装置、及び周辺の諸装置の組み合わせによって実行されるプログラムによって実現してもよく、いずれの実現態様でも本発明は成立し得る。
【００９４】
以上説明した第１の実施の形態に係るルール配信装置５０の動作により、リアルタイム性への影響が大きい通信フレームを中継バッファ５０５から早く通過させ、後続フレーム間隔Ｇａｐ’を拡大することができる。ルール配信フレーム５１１は拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）に挿入されるので、リアルタイム性への影響が大きい通信フレームが突発的に遅延することはない。従って制御システム１のリアルタイム性を悪化させずにセキュリティゲートウェイ４０へ検査ルールを含むルール配信フレーム５１１を配信することができる。このため、セキュリティゲートウェイ４０は不正な通信フレームを阻止又は破壊することで、制御システム１全体のセキュリティ性を向上させることが可能となる。
【００９５】
より詳細な動作として、ルール配信装置５０の遅延制御部５０６は、入力した通信フレームについて制御システム１のリアルタイム性に対する影響度を評価する。遅延制御部５０６は、通信フレームの影響度を評価する際に制御ネットワーク１０上を伝送される通信フレームについて、例えばフレーム種別、及び通信フレームの宛先等の情報を用いる。そして、遅延制御部５０６は、評価した影響度が所定の閾値以下である場合はこの通信フレームに第１の遅延時間を与え、評価した影響度が所定の閾値を超える場合は、第１の遅延時間より短い第２の遅延時間を与えて中継バッファ５０５を通過させる。これにより、遅延時間が与えられた通信フレームと後続の通信フレームとの後続フレーム間隔が拡大する。そして、フレーム挿入部５０８が、拡大した後続フレーム間隔にルール配信フレーム５１１を挿入することができる。
【００９６】
また、遅延時間が制御された通信フレーム１１０ａと、後続フレーム１２０との後続フレーム間隔は、ルール配信フレーム５１１を挿入可能な十分な長さとなる。このため、通信フレーム１１０ａと後続フレーム１２０とのフレーム間隔にルール配信フレーム５１１が挿入されても、後続フレーム１２０より後にルール配信装置５０に入力する通信フレームにさらなる伝送遅延が発生することを回避できる。そして、ルール配信装置５０は、制御ネットワーク１０を用いてリアルタイム性への影響度が小さい通信フレームを配信することができる。
【００９７】
また、遅延時間が制御されるのは通信フレーム１１０ａだけでありながら、拡大した後続フレーム間隔にルール配信フレーム５１１を効率的に挿入可能である。このため、制御ネットワーク１０における利用率が向上し、さらに各通信フレームの配信効率も向上する。
【００９８】
［第２の実施の形態］
次に、本発明の第２の実施の形態に係る制御システムで用いられるルール配信装置の構成例及び動作例について、図１１を参照して説明する。
図１１は、第２の実施の形態に係るルール配信装置５０Ａの内部構成例を示す機能ブロック図である。
ルール配信装置５０Ａは、図５にて説明した第１の実施の形態に係るルール配信装置５０から挿入判定部５０７を除いた構成としている。
【００９９】
上述したように、ルール配信装置５０Ａには、ネットワークインタフェース５０１から先行フレーム１１０ｂ、通信フレーム１１０ａ、後続フレーム１２０の順に通信フレームが流入する。
フレーム長／ギャップ計測部５０３は、流入した通信フレーム１１０ａの長さＬｅｎと、通信フレーム１１０ａの一つ前に流入した通信フレーム（先行フレーム）との間の空き時間である先行フレーム間隔Ｇａｐを計測する。さらに、フレーム長／ギャップ計測部５０３は、後続フレーム１２０に対してもフレーム長の長さＬｅｎ’と、通信フレーム１１０ａと後続フレーム１２０の後続フレーム間隔Ｇａｐ’を計測する。
【０１００】
そして、フレーム長／ギャップ計測部５０３は、遅延制御部５０６に対して、通信フレーム１１０ａの長さＬｅｎと、先行フレーム間隔Ｇａｐを出力し、さらに後続フレーム１２０の長さＬｅｎ’と、後続フレーム間隔Ｇａｐ’を出力する。また、特徴値取得部５０４は、通信フレーム１１０ａから抽出した宛先アドレスＡｄｄｒとフレーム種別値Ｔｙｐｅを遅延制御部５０６に出力する。
【０１０１】
配信フレーム生成部５１０は、ルール配信フレーム５１１の配信要求があると判断すると、検査ルールの一部又は全部をルール格納部５０９から読み出し、ルール配信フレーム５１１を生成する。上述したように配信フレーム生成部５１０が生成するルール配信フレーム５１１のフレーム長Ｌｅｎ＿ｒｕｌｅは、中継バッファ５０５における最大遅延時間Ｄｅｌａｙ＿ｍａｘから最小フレーム間隔Ｇａｐ＿ｍｉｎの２倍を減じた値以下とする。そして、配信フレーム生成部５１０は、遅延制御部５０６にルール配信フレーム５１１のフレーム長Ｌｅｎ＿ｒｕｌｅを出力する。
【０１０２】
遅延制御部５０６は、既に説明した、拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）を算出する。そして、遅延制御部５０６は、通信フレーム１１０ａの末尾が中継バッファ５０５を通過する際に、拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）へのルール配信フレーム５１１の挿入可否を判定する。ここで、ルール配信フレーム５１１の挿入可否の判定は、フレーム長／ギャップ計測部５０３及び特徴値取得部５０４から入力する各種の値、及びルール配信フレーム５１１から入力するルール配信フレーム５１１のフレーム長Ｌｅｎ＿ｒｕｌｅに基づいて行われる。
【０１０３】
後続フレーム間隔Ｇａｐ’（ｎｅｗ）がルール配信フレーム５１１のフレーム長Ｌｅｎ＿ｒｕｌｅに最小フレーム間隔Ｇａｐ＿ｍｉｎの２倍を加えた値よりも大きい場合はルール配信フレーム５１１を挿入可能である。この場合、遅延制御部５０６は、フレーム挿入部５０８に挿入指示信号Ｉｎｓｅｒｔを出力する。挿入指示信号Ｉｎｓｅｒｔが入力したフレーム挿入部５０８は、ルール配信フレーム５１１を挿入する。そして、ネットワークインタフェース５０２からルール配信フレーム５１１が制御ネットワーク１０に流出する。
【０１０４】
なお、通信フレーム１１０ａの末尾が中継バッファ５０５を通過する時点で後続フレーム１２０がまだルール配信装置５０に流入していない場合、通信フレーム１１０ａの後にはルール配信フレーム５１１のフレーム長Ｌｅｎ＿ｒｕｌｅにＧａｐ＿ｍｉｎの２倍を加えた以上のフレーム間隔が確保されている。この場合、遅延制御部５０６は無条件で挿入指示信号Ｉｎｓｅｒｔを出力する。これにより、フレーム挿入部５０８は、通信フレーム１１０ａの後にルール配信フレーム５１１を挿入することができる。
【０１０５】
以上説明した第２の実施の形態に係る制御システムで用いられるルール配信装置５０Ａでは、挿入判定部５０７を除いた構成とした。このような構成であっても、第１の実施の形態に係るルール配信装置５０と同様の手順で算出した後続フレーム間隔Ｇａｐ’（ｎｅｗ）に後続フレーム間隔Ｇａｐ’を拡大し、拡大した後続フレーム間隔Ｇａｐ’（ｎｅｗ）にルール配信フレーム５１１を挿入することが可能である。このため、制御システム１のリアルタイム性を悪化させずにセキュリティゲートウェイ４０へ検査ルールを配信することができ、制御システム１のセキュリティ性を向上させることが可能となる。
【０１０６】
［第３の実施の形態］
次に、本発明の第３の実施の形態に係る中継装置について説明する。
図１２は、中継装置７０の構成例を示す機能ブロック図である。
【０１０７】
中継装置７０は、上述したルール配信装置５０、５０Ａを変形したものであり、複数の通信フレームのフレーム間隔を変更して中継することが可能である。このような中継装置７０は、ネットワークインターフェース７０１、７０２、フレーム長／ギャップ計測部７０３、特徴値取得部７０４、中継バッファ７０５、遅延制御部７０６を備える。
【０１０８】
ネットワークインタフェース７０１は、通信フレームの入力側インタフェースであり、ネットワークインタフェース７０２は、通信フレームの出力側インタフェースである。
フレーム長／ギャップ計測部７０３は、機器が接続される制御ネットワーク１０から連続して流入する複数の通信フレームのフレーム長と、複数の通信フレームのフレーム間隔とを計測する。
特徴値取得部７０４は、フレーム長／ギャップ計測部７０３を通過した通信フレーム毎に、通信フレームの特徴値を取得する。
中継バッファ７０５は、特徴値が取得された通信フレームをバッファリングする。
【０１０９】
遅延制御部７０６は、特徴値取得部７０４により取得された特徴値に基づいて評価した通信フレームのリアルタイム性への影響度が所定の閾値以下である場合に中継バッファ７０５にバッファリングされた先行の通信フレームに対する制御対象の通信フレームを第１の遅延時間だけ遅延させて中継バッファ７０５から転送させる。また、遅延制御部７０６は、影響度が所定の閾値を超える場合に先行の通信フレームに対する制御対象の通信フレームを、第１の遅延時間より短い第２の遅延時間だけ遅延させて中継バッファ７０５から転送させる。
【０１１０】
このように中継装置７０が備える各部の機能は、ルール配信装置５０、５０Ａに該当する各部の機能と同様である。そして、中継装置７０により、制御対象の通信フレームが遅延すると、セキュリティゲートウェイ４０は、拡大した後続フレーム間隔に、通信フレームを挿入することが可能である。
【０１１１】
以上説明した第３の実施の形態に係る中継装置７０では、上述したルール配信装置５０、５０Ａが備えた挿入判定部５０７、フレーム挿入部５０８、ルール格納部５０９及び配信フレーム生成部５１０が不要となる。例えば、セキュリティゲートウェイ４０は、中継装置７０により中継されて変更された複数の通信フレームのフレーム間隔に新たな通信フレームを挿入することが可能となる。また、ＨＭＩ装置１２、開発装置１３等の他の機器が、中継装置により変更されたフレーム間隔に新たな通信フレームを挿入してもよい。
【０１１２】
［変形例］
なお、上述した各実施の形態に係る制御システムの制御ネットワーク１０はリング型トポロジで構成されたが、スター型トポロジで構成されてもよい。
図１３は、スター型トポロジで構成した制御システム１Ａの全体構成例を示すネットワーク構成図である。図中の矢印は、通信フレームの伝送方向を表す。
【０１１３】
制御ネットワーク１０Ａは、ルール配信装置５０を中心として複数のセキュリティゲートウェイ４０を下層に持つように構成される。各セキュリティゲートウェイ４０には、制御装置１１ａ、ＨＭＩ装置１２、ＩｏＴゲートウェイ３２が接続される。なお、セキュリティゲートウェイ４０には、他にも制御装置１１ｂ、開発装置１３等の機器が接続されてもよい。
図１３では図示を簡略化するが、ルール配信装置５０は、上述した図５と同様の機能ブロックを有する。そして、各セキュリティゲートウェイ４０から制御ネットワーク１０Ａに流出した通信フレームは、ルール配信装置５０のネットワークインタフェース５０１に流入し、中継バッファ５０５にてバッファリングされ、遅延制御が行われた後に、ネットワークインタフェース５０２から流出する。このとき、拡大した後続フレーム間隔Ｇａｐ’にルール配信フレーム５１１が挿入され、セキュリティゲートウェイ４０にルール配信フレーム５１１が流出する。
【０１１４】
また、上述した各実施の形態に係るルール配信装置及び中継装置は、ＩｏＴに用いられるネットワークだけでなく、自動車等の車載ネットワークに用いられてもよい。その他、通信フレームにリアルタイム性が要求される各種のシステムに用いられてもよい。
【０１１５】
なお、本発明は上述した実施の形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態は本発明を分かりやすく説明するために装置及びシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ここで説明した実施の形態の構成の一部を他の実施の形態の構成に置き換えることは可能であり、さらにはある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１１６】
１…制御システム、２…プラント設備、１０…制御ネットワーク、１１ａ、１１ｂ…制御装置、３２…ＩｏＴゲートウェイ、４０…セキュリティゲートウェイ、５０…ルール配信装置、７０…中継装置、１１０ａ…通信フレーム、１１０ｂ…先行フレーム、１２０…後続フレーム、５０３…フレーム長／ギャップ計測部、５０４…特徴値取得部、５０５…中継バッファ、５０６…遅延制御部、５０７…挿入判定部、５０８…フレーム挿入部、５０９…ルール格納部、５１０…配信フレーム生成部、５１１…ルール配信フレーム
【図１】
2020043451.tif 000003
【図２】
2020043451.tif 000004
【図３】
2020043451.tif 000005
【図４】
2020043451.tif 000006
【図５】
2020043451.tif 000007
【図６】
2020043451.tif 000008
【図７】
2020043451.tif 000009
【図８】
2020043451.tif 000010
【図９】
2020043451.tif 000011
【図１０】
2020043451.tif 000012
【図１１】
2020043451.tif 000013
【図１２】
2020043451.tif 000014
【図１３】
2020043451.tif 000015