(57)【要約】【課題】ネットワークの直径に依存せず、ネットワーク内の任意の監視制御装置においてルーティングテーブルを作成する。【解決手段】監視制御装置２は、隣接する監視制御装置２に対して、シーケンス番号１１３及び送信元識別符号１１４を付与したメッセージ１１を送信する送信部２０２と、隣接する監視制御装置２からのメッセージ１１を受信する受信部２０３と、受信されたメッセージ１１に付与されたシーケンス番号１１３に基づき当該メッセージ１１が転送可能条件を満たすかを判定する判定部２０４と、転送可能条件を満たすと判定されたメッセージ１１を隣接する他の監視制御装置２に転送する転送部２０７と、受信されたメッセージ１１に基づきルーティングエントリ１２を作成して記憶するルーティングエントリ記憶部２０８と、記憶されたルーティングエントリ１２に基づきルーティングテーブル１３を作成するルーティングテーブル作成部２０９とを備えた。【選択図】図１
2015065513.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構成し、通信に用いるルーティングテーブルを作成する監視制御装置を複数備えた通信システムであって、
前記監視制御装置は、
隣接する前記監視制御装置に対して、識別情報及び送信元情報を付与したメッセージを送信する送信部と、
隣接する前記監視制御装置の送信部からのメッセージを受信する受信部と、
前記受信部により受信されたメッセージに付与された識別情報に基づいて、当該メッセージが転送可能条件を満たしているかを判定する判定部と、
前記判定部により転送可能条件を満たしていると判定されたメッセージを、隣接する他の前記監視制御装置に転送する転送部と、
前記受信部により受信されたメッセージに付与された送信元情報に基づいて、前記ルーティングテーブルの作成に関する情報を作成して記憶する情報記憶部と、
前記情報記憶部に記憶されている情報に基づいて、前記ルーティングテーブルを作成するルーティングテーブル作成部とを備えた
ことを特徴とする通信システム。
【請求項２】
前記送信部は、所定間隔でメッセージを送信し、
前記情報記憶部は、記憶している情報を所定期間経過した後に削除し、
前記ルーティングテーブル作成部は、前記情報記憶部に記憶されている情報に変化があった場合に、前記ルーティングテーブルを作成する
ことを特徴とする請求項１記載の通信システム。
【請求項３】
ネットワークを構成し、通信に用いるルーティングテーブルを作成する監視制御装置であって、
隣接する前記監視制御装置に対して、識別情報及び送信元情報を付与したメッセージを送信する送信部と、
隣接する前記監視制御装置の送信部からのメッセージを受信する受信部と、
前記受信部により受信されたメッセージに付与された識別情報に基づいて、当該メッセージが転送可能条件を満たしているかを判定する判定部と、
前記判定部により転送可能条件を満たしていると判定されたメッセージを、隣接する他の前記監視制御装置に転送する転送部と、
前記受信部により受信されたメッセージに付与された送信元情報に基づいて、前記ルーティングテーブルの作成に関する情報を作成して記憶する情報記憶部と、
前記情報記憶部に記憶されている情報に基づいて、前記ルーティングテーブルを作成するルーティングテーブル作成部と
を備えたことを特徴とする監視制御装置。
【請求項４】
ネットワークを構成し、通信に用いるルーティングテーブルを作成する監視制御装置によるルーティングテーブル作成方法であって、
隣接する前記監視制御装置に対して、識別情報及び送信元情報を付与したメッセージを送信する送信ステップと、
隣接する前記監視制御装置からのメッセージを受信する受信ステップと、
前記受信ステップにおいて受信したメッセージに付与された識別情報に基づいて、当該メッセージが転送可能条件を満たしているかを判定する判定ステップと、
前記判定ステップにおいて転送可能条件を満たしていると判定したメッセージを、隣接する他の前記監視制御装置に転送する転送ステップと、
前記受信ステップにおいて受信したメッセージに付与された送信元情報に基づいて、前記ルーティングテーブルの作成に関する情報を作成して記憶する情報記憶ステップと、
前記情報記憶ステップにおいて記憶した情報に基づいて、前記ルーティングテーブルを作成するルーティングテーブル作成ステップとを有する
ことを特徴とするルーティングテーブル作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークを構成し、通信に用いるルーティングテーブルを作成する監視制御装置を複数備えた通信システム、監視制御装置及びルーティングテーブル作成方法に関するものである。
【背景技術】
【０００２】
従来の通信システムでは、ネットワークを構成する監視制御装置が、隣接する監視制御装置と自動的にルーティング情報の交換を行うことで、ルーティングテーブルの作成（更新を含む）を行っている。これにより、ネットワークのトポロジ変化に対し、通信経路の自動更新を可能としている。
【０００３】
従来のルーティングテーブルの作成方法として、ＲＩＰ規格がある（例えば非特許文献１参照）。このＲＩＰ規格では、隣接する監視制御装置との情報交換を繰り返す方式上、距離に比例してコンバージェンス時間が長くなる特徴がある。よって、ＲＩＰ規格は、ネットワークの直径が小さいことを前提とした方式である。
なお、本明細書において、ネットワークの直径とは、ネットワークに含まれる任意の２つの監視制御装置の間の最短距離のうち最大値を指す概念である。
【０００４】
ＲＩＰ規格では、隣接する監視制御装置へ周期的にルーティング情報の送信を行う。このルーティング情報の送信タイミングは、監視制御装置ごとに独立なタイマによって決まる。よって、送信周期をＴとすると、距離がｄだけ離れた監視制御装置へルーティング情報が伝わるまでに、最大でＴ×ｄの時間がかかることになる。これが、ＲＩＰ規格において、ネットワークトポロジ変化時のコンバージェンス時間を増大させる要因の一つである。
【０００５】
また、ＲＩＰ規格では、到達不可能なルーティング情報を削除する特徴がある。これは、ルーティングテーブルの有効時間内に情報が更新されなかった場合、もしくは、ルーティングループが発生してルーティング情報に含まれる距離が一定以上となった場合に、到達不可能とみなしてルーティング情報を削除する仕組みである。そのため、ルーティンググループが発生した場合に、一定の時間が経過するか、ルーティング情報の距離が閾値以上となるまでの間は、通信ができないため、通信の復旧までに時間がかかるという特徴がある。
【０００６】
ＲＩＰ規格の方式では、適用可能なネットワークの直径を大きくすると、到達不可能なルーティング情報が削除されるまでの時間が長くなることや、ルーティング情報が伝わるまでの時間が長くなるといった、コンバージェンス時間への影響が存在する。そこで、ＲＩＰ規格では、コンバージェンス時間の短縮と距離の上限の拡大の間のトレードオフから、コンバージェンス時間の短縮のために距離の上限を１５に制限している。
【０００７】
また、従来のルーティングテーブルの作成方法として、フラッディングを用いた方法も知られている（例えば特許文献１参照）。この方法は、ネットワーク内の全ての監視制御装置へ同報通信する場合に、同じ監視制御装置へ同じメッセージを送ることなく、効率的に情報を送信するためのルーティングテーブルの作成を目的としたものである。
【０００８】
この特許文献１に開示されたルーティングテーブルの作成方法では、フラッディングを用いて他の監視制御装置へメッセージを送信し、当該メッセージを受け取った他の監視制御装置はそれぞれメッセージが送信された経路の逆順に肯定応答を返送する。そして、肯定応答が返送された経路に従い、ルーティングテーブルを作成する。
【０００９】
この方法では、ルーティングテーブル作成用のメッセージを受信した各監視制御装置が、肯定応答または否定応答を返送する必要がある。よって、ネットワーク内での通信量が増える特徴がある。
また、作成されるルーティングテーブルは同報通信のためのものなので、特定の監視制御装置に対して通信を行う場合には、フラッディングによって通信する場合よりはネットワーク内での通信量を減らす効果がある。しかしながら、一対一の通信を行うためのルーティングテーブルを用いる場合と比べると通信量は多いという特徴がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特公平６-９１５３２号公報
【非特許文献】
【００１１】
【非特許文献１】Ｇａｒｙ  Ｓｃｏｔｔ  Ｍａｌｋｉｎ著、“ＲＦＣ２４５３−ＲＩＰ  Ｖｅｒｓｉｏｎ２”、［ｏｎｌｉｎｅ］、１９９８年１１月、「２０１３年６月２５日検索」インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｒｆｃ２４５３＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
通信システムにおいては、例えば、光伝送装置、監視制御装置やリンクの増減設工事の場合や、または災害等による装置間リンクの切断の場合に、ネットワークトポロジが変化する場合がある。そのため、ネットワークトポロジが変化したとしても監視制御用の通信が継続できることが望ましい。
【００１３】
ここで、ＲＩＰ規格はネットワークの直径が１５以下のトポロジのみを想定した規格である。そのため、ＲＩＰ規格を用いた従来のルーティングテーブルの作成方法では、ネットワークの直径が１６以上となる場合に、ルーティングによる通信が不能となる監視制御装置が存在する。これゆえ、監視制御装置が３２台以上となるリングトポロジのネットワークの場合などにはＲＩＰ規格を適用することができない。従って、ＲＩＰ規格を用いる場合には、ネットワーク設計時にネットワークの直径が１５以下となるようにネットワーク内の監視制御装置の数とトポロジを選択する必要がある。
【００１４】
このように、ＲＩＰ規格を用いた従来のルーティングテーブルの作成方法では、ネットワーク設計時でのトポロジや監視制御装置の数の選択において、ネットワークの直径が１５以下となるようなネットワーク設計が必要となり、設計自由度に制約を与えるという課題がある。
【００１５】
また、フラッディングを用いて同報通信用のルーティングテーブルを作成する方法では、同報通信時のトラヒックを削減することを目的とした方法であるため、ルーティングによる一対一の通信に比べるとトラヒック負荷が高くなってしまうという課題がある。
【００１６】
この発明は、上記のような課題を解決するためになされたもので、ネットワークの直径に依存せず、ネットワーク内の任意の監視制御装置においてルーティングテーブルを作成することができる通信システム、監視制御装置及びルーティングテーブル作成方法を提供することを目的としている。
【課題を解決するための手段】
【００１７】
この発明に係る通信システムは、ネットワークを構成し、通信に用いるルーティングテーブルを作成する監視制御装置を複数備えた通信システムであって、監視制御装置は、隣接する監視制御装置に対して、識別情報及び送信元情報を付与したメッセージを送信する送信部と、隣接する監視制御装置の送信部からのメッセージを受信する受信部と、受信部により受信されたメッセージに付与された識別情報に基づいて、当該メッセージが転送可能条件を満たしているかを判定する判定部と、判定部により転送可能条件を満たしていると判定されたメッセージを、隣接する他の監視制御装置に転送する転送部と、受信部により受信されたメッセージに付与された送信元情報に基づいて、ルーティングテーブルの作成に関する情報を作成して記憶する情報記憶部と、情報記憶部に記憶されている情報に基づいて、ルーティングテーブルを作成するルーティングテーブル作成部とを備えたものである。
【００１８】
また、この発明に係るルーティングテーブル作成方法は、ネットワークを構成し、通信に用いるルーティングテーブルを作成する監視制御装置によるルーティングテーブル作成方法であって、隣接する監視制御装置に対して、識別情報及び送信元情報を付与したメッセージを送信する送信ステップと、隣接する監視制御装置からのメッセージを受信する受信ステップと、受信ステップにおいて受信したメッセージに付与された識別情報に基づいて、当該メッセージが転送可能条件を満たしているかを判定する判定ステップと、判定ステップにおいて転送可能条件を満たしていると判定したメッセージを、隣接する他の監視制御装置に転送する転送ステップと、受信ステップにおいて受信したメッセージに付与された送信元情報に基づいて、ルーティングテーブルの作成に関する情報を作成して記憶する情報記憶ステップと、情報記憶ステップにおいて記憶した情報に基づいて、ルーティングテーブルを作成するルーティングテーブル作成ステップとを有するものである。
【発明の効果】
【００１９】
この発明によれば、上記のように構成したので、適用できるネットワークの直径に制約なくルーティングテーブルを作成できるようになり、コンバージェンス時間はフラッディングにかかる時間と同程度に短縮され、ネットワークトポロジ及びネットワーク内の監視制御装置の数の設計自由度が向上する。
【図面の簡単な説明】
【００２０】
【図１】この発明の実施の形態１に係る通信システムの構成を示す図である。
【図２】この発明の実施の形態１に係る監視制御装置の構成を示すブロック図である。
【図３】この発明の実施の形態１におけるメッセージのフォーマットの一例を示す模式図である。
【図４】この発明の実施の形態１におけるルーティングエントリのフォーマットの一例を示す模式図である。
【図５】この発明の実施の形態１におけるルーティングテーブルのフォーマットの一例を示す模式図である。
【図６】この発明の実施の形態１に係る監視制御装置によるメッセージの送信動作を示すフローチャートである。
【図７】この発明の実施の形態１に係る監視制御装置によるメッセージを受信した際の動作を示すフローチャートである。
【図８】この発明の実施の形態１に係る監視制御装置によるフラッディング動作の一例を説明する図であり、（ａ）メッセージの送信を示す図であり、（ｂ）メッセージに含まれるヘッダ部を示す図である。
【図９】この発明の実施の形態１に係る監視制御装置によるフラッディング動作の一例を説明する図であり、（ａ）メッセージの送信を示す図であり、（ｂ）メッセージに含まれるヘッダ部を示す図であり、（ｃ）作成されたルーティングエントリを示す図であり、（ｄ）作成されたルーティングテーブルを示す図である。
【図１０】この発明の実施の形態１に係る監視制御装置によるフラッディング動作の一例を説明する図であり、（ａ）メッセージの送信を示す図であり、（ｂ）メッセージに含まれるヘッダ部を示す図であり、（ｃ）作成されたルーティングエントリを示す図であり、（ｄ）作成されたルーティングテーブルを示す図である。
【図１１】この発明の実施の形態１に係る監視制御装置によるフラッディング動作の一例を説明する図であり、（ａ）メッセージの送信を示す図であり、（ｂ）メッセージに含まれるヘッダ部を示す図であり、（ｃ）作成されたルーティングエントリを示す図であり、（ｄ）作成されたルーティングテーブルを示す図である。
【図１２】この発明の実施の形態１に係る監視制御装置によるフラッディング動作の一例を説明するフローチャートである。
【図１３】この発明の実施の形態１に係る監視制御装置によるフラッディング動作の一例を説明するシーケンス図である。
【図１４】この発明の実施の形態１に係る監視制御装置によるルーティングエントリの削除に伴うルーティングテーブルの作成動作を示すフローチャートである。
【図１５】この発明の実施の形態１に係る監視制御装置によるルーティングエントリの選択動作を示すフローチャートである。
【図１６】この発明の実施の形態２に係る監視制御装置によるメッセージを受信した際の動作を示すフローチャートである。
【図１７】この発明の実施の形態３に係る監視制御装置によるメッセージを受信した際の動作を示すフローチャートである。
【図１８】この発明の実施の形態４に係る監視制御装置によるルーティングエントリの選択動作を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１はこの発明の実施の形態１に係る通信システムの構成を示す図である。まず、図１を参照しながら本発明の動作概要について説明する。
通信システムは、図１に示すように、１つ以上のサブネットワーク１を有している。このサブネットワーク１は、光メッシュネットワークを構成する１つ以上の監視制御装置２から構成されている。なお図１に示す通信システムでは、２つのサブネットワーク１ａ，１ｂを有し、一方のサブネットワーク１ａは４つの監視制御装置２ａ〜２ｄから構成され、他方のサブネットワーク１ｂは３つの監視制御装置２ｄ〜２ｆから構成されている。
【００２２】
監視制御装置２は、ルーティングテーブル１３を作成することでサブネットワーク１内の他の監視制御装置２との間での通信を実現するものである。この監視制御装置２は、少なくとも１つ以上の通信ポート３を備えており、通信ポート３ごとにリンク４を介して他の監視制御装置２と接続されている。また、監視制御装置２には、それぞれを区別するための識別符号が付与されている。例えば図１では、監視制御装置２ａには識別符号として「Ａ」が付与され、監視制御装置２ｂには識別符号として「Ｂ」が付与され、残りの監視制御装置２ｃ〜２ｆについても同様に識別符号「Ｃ」〜「Ｆ」が付与されている。
【００２３】
この通信システムにおいて、各構成要素の制約事項は以下の通りである。すなわち、監視制御装置２が持つ通信ポート３の個数は１個以上である。また、サブネットワーク１に属する監視制御装置２の個数は１個以上である。また、監視制御装置２は１つ以上のサブネットワーク１に属することができる。また、通信ポート３は１つ以下のサブネットワーク１と対応付けられる。
【００２４】
図１において、符号１１は、監視制御装置２間で伝送されるメッセージであり、フラッディング動作用のメッセージである。このメッセージ１１には、識別情報（シーケンス番号１１３）及び送信元情報（送信元識別符号１１４）が付与されている。そして、監視制御装置２は、リンク４を介して接続されている他の監視制御装置２との間で、メッセージ１１の送信、転送及び受信を行うことができる。例えば図１の構成では、監視制御装置２ａは、監視制御装置２ｂ及び監視制御装置２ｃに対して直接に通信を行うことができる。
【００２５】
そして、このメッセージ１１を用いて、任意の監視制御装置２間の通信を実現するためのルーティングテーブル１３を作成する。本発明では、ルーティングテーブル１３の作成に必要なメッセージ１１は、フラッディングを用いてサブネットワーク１内の全ての監視制御装置２へ同報送信する。
【００２６】
フラッディングは、メッセージ１１を受信した監視制御装置２が当該メッセージ１１を隣接する他の監視制御装置２に転送することを繰り返すことによって、サブネットワーク１内の全ての監視制御装置２に対して当該メッセージ１１を同報送信する方法である。
例えば図１に示す構成では、監視制御装置２ａは、監視制御装置２ｄとは直接に通信を行うことはできない。この場合、まず、監視制御装置２ａは、例えば隣接する監視制御装置２ｃへメッセージ１１を送信する。そして、このメッセージ１１を受信した監視制御装置２ｃは、当該メッセージ１１を隣接する監視制御装置２ｄへ転送する。これにより、メッセージ１１を監視制御装置２ｄへ送ることができる。
【００２７】
そして、本発明では、送信元の監視制御装置２がフラッディングを用いてサブネットワーク１内の全ての監視制御装置２にメッセージ１１を届け、これを受信した各監視制御装置２は当該メッセージ１１に含まれる情報に基づき送信元の監視制御装置２へのルーティングテーブル１３を作成する。そして、各監視制御装置２も同様に送信元となって、メッセージ１１をフラッディングを用いてサブネットワーク１内の全ての監視制御装置２にメッセージ１１を届ける。これにより、サブネットワーク１内の全ての監視制御装置２へのルーティングテーブル１３を作成することができる。
【００２８】
なお、本発明において作成するルーティングテーブル１３は、一般にＴＣＰ／ＩＰで用いるルーティングテーブルと同等のものであり、直接に接続されていない監視制御装置２間において、一対一の通信など、宛先である監視制御装置２を特定した通信を行うために利用される。ここで、一対一の通信への利用例として、図１に示す監視制御装置２ａが監視制御装置２ｄと通信を行うときを考える。この場合、監視制御装置２ａは、自身に記憶されているルーティングテーブル１３を参照することで、監視制御装置２ｄ宛のパケットを例えば監視制御装置２ｃに送信すればよいことを知ることができる。そして、監視制御装置２ａは、隣接する監視制御装置２ｂへはパケットを送信せず、監視制御装置２ｃへのみパケットを送信する。パケットを受信した監視制御装置２ｃにおいても同様に、自身のルーティングテーブル１３を参照して、当該パケットを監視制御装置２ｄへ転送する。これにより、監視制御装置２ａからのパケットは宛先である監視制御装置２ｄへ到着する。  このように、各監視制御装置２が、隣接する適切な方向へパケットの転送を繰り返すことで、不要な方向への転送は行わずに済む分、トラヒックを削減することができ、直接接続されていない監視制御装置２間での通信を成立させることができる。このときに、適切な方向を判断するために用いる情報がルーティングテーブル１３である。
【００２９】
なお、ルーティングテーブル１３の情報がネットワークトポロジの状態と整合していない場合には、誤った方向に転送してしまうことにより通信が不可能となることがある。そのため、ネットワークトポロジの変化に対して速やかにルーティングテーブル１３を更新し、ネットワークトポロジの状態と一致させることが重要である。
それに対し、本発明では、フラッディングによりメッセージ１１を全監視制御装置２へ伝えることで、全監視制御装置２は同じ情報に基づいてルーティングテーブル１３を作成することができる。よって、ネットワークトポロジの変化に対して一定の時間内にルーティングテーブル１３の更新を行うことが可能である。
【００３０】
次に、上記のようなルーティングテーブル１３の作成を実現するための監視制御装置２の構成について、図２を参照しながら説明する。
監視制御装置２は、図２に示すように、起動部２０１、送信部２０２、受信部２０３、判定部２０４、処理部２０５、シーケンス番号記憶部２０６、転送部２０７、ルーティングエントリ記憶部（情報記憶部）２０８、ルーティングテーブル作成部２０９及びルーティングテーブル記憶部２１０から構成されている。
【００３１】
起動部２０１は、第１の周期ごとに、送信部２０２に対して、メッセージ１１の作成・送信を指示するものである。また、起動部２０１は、第２の周期ごとに、ルーティングエントリ記憶部２０８に対して、後述するルーティングエントリ１２の寿命（エントリ寿命１２４）を減少させるよう指示する。
【００３２】
送信部２０２は、起動部２０１からの指示に応じて、メッセージ１１を作成して、通信ポート３及びリンク４を介して、隣接する監視制御装置２に対して当該メッセージ１１を送信するものである。
【００３３】
ここで、送信部２０２により作成されるメッセージ１１は、図３に示すように、フラッディング動作の制御用情報及びルーティングに関する情報からなるヘッダ部１１１と、サブネットワーク１内の監視制御装置２へ伝送するデータ部１１２から構成されている。このヘッダ部１１１には、シーケンス番号１１３、送信元識別符号１１４及び距離１１５を示す情報が含まれている。また、データ部１１２の内容は任意であり、その内容を空とすることもできる。
シーケンス番号１１３は、メッセージ１１を区別するために利用する識別番号である。  このシーケンス番号１１３は、監視制御装置２がメッセージ１１を送信するときに設定され、一定時間または一定の送信回数の間、番号が重複することがないように送信元の監視制御装置２にて管理される。
【００３４】
受信部２０３は、通信ポート３及びリンク４を介して、隣接する監視制御装置２からメッセージ１１を受信するものである。
【００３５】
判定部２０４は、受信部２０３により受信されたメッセージ１１に含まれるシーケンス番号１１３に基づいて、当該メッセージ１１が転送可能条件を満たしているかを判定するものである。ここで、判定部２０４は、上記シーケンス番号１１３がシーケンス番号記憶部２０６に既に記憶されている番号と一致する場合には、上記メッセージ１１は転送可能条件を満たしていないと判定する。一方、判定部２０４は、上記シーケンス番号１１３がシーケンス番号記憶部２０６に既に記憶されている番号と一致しない場合には、上記メッセージ１１は転送可能条件を満たしていると判定する。
【００３６】
処理部２０５は、判定部２０４によりメッセージ１１が転送可能条件を満たしていると判定された場合に、当該メッセージ１１に含まれるシーケンス番号１１３をシーケンス番号記憶部２０６に記憶させるとともに、当該メッセージ１１に含まれる距離１１５を１つ増加させてルーティングエントリ記憶部２０８へ送るものである。
【００３７】
シーケンス番号記憶部２０６は、処理部２０５から指示に応じて、シーケンス番号１１３を記憶するものである。
【００３８】
転送部２０７は、判定部２０４によりメッセージ１１が転送可能条件を満たしていると判定された場合に、当該メッセージ１１に含まれる距離１１５を１つ増加させて、通信ポート３及びリンク４を介して、隣接する他の監視制御装置２に当該メッセージ１１を転送するものである。
【００３９】
ルーティングエントリ記憶部２０８は、処理部２０５からのメッセージ１１に基づいて、ルーティングテーブル１３の作成に関する情報であるルーティングエントリ１２を作成して記憶するものである。
【００４０】
ここで、ルーティングエントリ記憶部２０８により作成されるルーティングエントリ１２には、図４に示すように、宛先番号１２１、距離１２２、ポート識別符号１２３及びエントリ寿命１２４を示す情報が含まれている。宛先番号１２１には、メッセージ１１に含まれる送信元識別符号１１４が付与される。また、距離１２２には、メッセージ１１に含まれる距離１１５が付与される。また、ポート識別符号１２３には、メッセージ１１を受信した通信ポート３の識別符号が付与される。通信ポート３の識別符号は、監視制御装置２ごとに独立に設定されるものであり、監視制御装置２内において一意な通信ポート３を識別する符号である。また、エントリ寿命１２４は、ルーティングエントリ１２を作成する際に監視制御装置２が設定するものである。
エントリ寿命１２４は、ルーティングエントリ１２の有効期限を示す情報である。このエントリ寿命１２４は、起動部２０１からの指示により減少される。そして、エントリ寿命１２４が０に達した場合には、ルーティングエントリ記憶部２０８は、当該エントリ寿命１２４が含まれるルーティングエントリ１２を削除する。
【００４１】
ルーティングテーブル作成部２０９は、ルーティングエントリ記憶部２０８に記憶されている情報に変化があった場合（ルーティングエントリ１２の作成や削除がされた場合）に、ルーティングエントリ記憶部２０８に記憶されているルーティングエントリ１２に基づいて、ルーティングテーブル１３を作成するものである。
【００４２】
ここで、ルーティングテーブル作成部２０９により作成されるルーティングテーブル１３には、図５に示すように、宛先番号１３１及びポート識別符号１３２を示す情報が含まれている。宛先番号１３１には、ルーティングエントリ１２に含まれる宛先番号１２１が付与される。ポート識別符号１３２には、ルーティングエントリ１２に含まれるポート識別符号１２３が付与される。
【００４３】
ルーティングテーブル記憶部２１０は、ルーティングテーブル作成部２０９により作成されたルーティングテーブル１３を記憶するものである。
【００４４】
次に、上記のように構成された監視制御装置２の動作について説明する。
まず、監視制御装置２によるメッセージ１１の送信動作について、図６を参照しながら説明する。
監視制御装置２によるメッセージ１１の送信動作では、図６に示すように、まず、起動部２０１は、第１の周期ごとに、送信部２０２に対して、メッセージ１１の作成・送信を指示する（ステップＳＴ６０１）。
【００４５】
次いで、送信部２０２は、起動部２０１からの指示に応じて、メッセージ１１を作成して、通信ポート３及びリンク４を介して、隣接する監視制御装置２に対して当該メッセージ１１を送信する（ステップＳＴ６０２、送信ステップ）。
【００４６】
ここで、メッセージ１１の送信タイミングは、複数の条件を組み合わせることができる。例えば、メッセージ１１を一定の周期で送信することで、ネットワークトポロジの変化がルーティングテーブル１３へ反映される時間が最長でもこの周期以下であることを保証できる。また、監視制御装置２のリンク４が接続もしくは切断されたことを検出したタイミングで送信することで、ネットワークトポロジの変化をルーティングテーブル１３へ反映する時間を一定周期で送信する場合よりも短縮できる効果がある。また、他の監視制御装置２からのメッセージ１１を受信する頻度が少ないときに送信することで、他の監視制御装置２がメッセージ１１を送信するタイミングとずれ、ネットワークの輻輳を軽減できる効果がある。
【００４７】
次に、監視制御装置２によるメッセージ１１を受信した際の動作について、図７を参照しながら説明する。
監視制御装置２によるメッセージ１１を受信した際の動作では、図７に示すように、まず、受信部２０３は、通信ポート３及びリンク４を介して、隣接する監視制御装置２からメッセージ１１を受信する（ステップＳＴ７０１、受信ステップ）。
【００４８】
次いで、判定部２０４は、受信部２０３により受信されたメッセージ１１に含まれるシーケンス番号１１３に基づいて、当該メッセージ１１が転送可能条件を満たしているかを判定する（ステップＳＴ７０２、判定ステップ）。ここで、判定部２０４は、上記シーケンス番号１１３がシーケンス番号記憶部２０６に既に記憶されている番号と一致するか否かを判定することで、上記メッセージ１１が転送可能条件を満たしているかを判定する。
【００４９】
このステップＳＴ７０２において、判定部２０４は、メッセージ１１に含まれるシーケンス番号１１３がシーケンス番号記憶部２０６に既に記憶されている番号と一致する場合には、当該メッセージ１１は転送可能条件を満たしていないと判定し、シーケンスは終了する。
【００５０】
一方、ステップＳＴ７０２において、判定部２０４は、メッセージ１１に含まれるシーケンス番号１１３がシーケンス番号記憶部２０６に既に記憶されている番号と一致しない場合には、当該メッセージ１１は転送可能条件を満たしていると判定し、シーケンスはステップＳＴ７０３へ移行する。
【００５１】
次いで、処理部２０５は、判定部２０４により転送可能条件を満たしていると判定されたメッセージ１１に含まれるシーケンス番号１１３を、シーケンス番号記憶部２０６に記憶させる（ステップＳＴ７０３）。
次いで、処理部２０５及び転送部２０７は、判定部２０４により転送可能条件を満たしていると判定されたメッセージ１１に含まれる距離１１５を１つ増加させる（ステップＳＴ７０４）。この処理部２０５により距離１１５が増加したメッセージ１１はルーティングエントリ記憶部２０８へ送られる。
【００５２】
次いで、転送部２０７は、距離１１５を増加したメッセージ１１を、通信ポート３及びリンク４を介して、隣接する他の監視制御装置２に転送する（ステップＳＴ７０５、転送ステップ）。この際、転送部２０７は、監視制御装置２が有する通信ポート３のうち、メッセージ１１を受信した通信ポート３以外の通信ポート３であって、且つ、当該受信した通信ポート３と同じサブネットワーク１に属する通信ポート３に対してメッセージ１１の転送処理を行う。上記条件を満たす通信ポート３がない場合には転送処理を行う必要はない。
【００５３】
次いで、ルーティングエントリ記憶部２０８は、処理部２０５からのメッセージ１１に基づいて、ルーティングテーブル１３の作成に関する情報であるルーティングエントリ１２を作成して記憶する（ステップＳＴ７０６、情報記憶ステップ）。
【００５４】
次いで、ルーティングテーブル作成部２０９は、ルーティングエントリ記憶部２０８に記憶されているルーティングエントリ１２に基づいて、ルーティングテーブル１３を作成し、ルーティングテーブル記憶部２１０は、このルーティングテーブル１３を記憶する（ステップＳＴ７０７、ルーティングテーブル作成ステップ）。
上記の動作を、メッセージ１１を受信した各監視制御装置２が行うことで、フラッディング動作とそれに伴うルーティングテーブル１３の作成動作を実現することができる。
【００５５】
次に、フラッディングによるメッセージ１１の送信、受信、転送の一連の流れを図８〜１３を用いて例示する。図８〜１３は、各監視制御装置２がルーティングテーブル１３を保持していない状態から、ルーティングテーブル１３を作成するまでの過程を模式的に示した図であり、監視制御装置２においてメッセージ１１の受信・転送処理を繰り返した場合におけるサブネットワーク１内でのメッセージ１１の伝播の様子を示したものである。
【００５６】
まず、図８，１２，１３に示すように、監視制御装置２ａは、シーケンス番号１１３ａ及び送信元識別符号１１４ａを付与したメッセージ１１ａを監視制御装置２ｂ，２ｃに送信する（ステップＳＴ１２０１）。
【００５７】
このメッセージ１１ａが監視制御装置２ｂで受信されたとき、監視制御装置２ｂのシーケンス番号記憶部２０６には、メッセージ１１ａに含まれるシーケンス番号１１３ａがまだ記憶されていない。そのため、図９，１２，１３に示すように、監視制御装置２ｂは、メッセージ１１ａに含まれる距離１１５ａを１つ増加させて距離１１５ｂとしたメッセージ１１ｂを作成し、当該メッセージ１１ｂを監視制御装置２ｃ，２ｄに転送する。また、メッセージ１１ａを受信した監視制御装置２ｂは、メッセージ１１ａに送信元として示される監視制御装置２ａのルーティングエントリ１２として、監視制御装置２ａと接続する通信ポート３ｂを示す識別符号をポート識別符号１２３ｂとして付与したルーティングエントリ１２ｂを作成し、これに基づき監視制御装置２ａ宛のルーティングテーブル１３ｂを作成する（ステップＳＴ１２０２）。
【００５８】
また、メッセージ１１ａが監視制御装置２ｃで受信されたとき、監視制御装置２ｃのシーケンス番号記憶部２０６には、メッセージ１１ａに含まれるシーケンス番号１１３ａがまだ記憶されていない。そのため、図１０，１２，１３に示すように、監視制御装置２ｃは、メッセージ１１ａに含まれる距離１１５ａを１つ増加させて距離１１５ｃとしたメッセージ１１ｃを作成し、当該メッセージ１１ｃを監視制御装置２ｂ，２ｄに転送する。また、メッセージ１１ａを受信した監視制御装置２ｃは、メッセージ１１ａに送信元として示される監視制御装置２ａのルーティングエントリ１２として、監視制御装置２ａと接続する通信ポート３ｃを示す識別符号をポート識別符号１２３ｃとして付与したルーティングエントリ１２ｃを作成し、これに基づき監視制御装置２ａ宛のルーティングテーブル１３ｃを作成する（ステップＳＴ１２０３）。
【００５９】
そして、監視制御装置２ｃは、図１２，１３に示すように、メッセージ１１ａを受信した後にメッセージ１１ｂを受信する。しかしながら、メッセージ１１ｂに含まれるシーケンス番号１１３ｂはシーケンス番号記憶部２０６に既に記憶されている番号と一致するため、このメッセージ１１ｂの転送処理は実施せず、破棄する（ステップＳＴ１２０４）。
また、監視制御装置２ｂは、図１２，１３に示すように、メッセージ１１ａを受信した後にメッセージ１１ｃを受信する。しかしながら、メッセージ１１ｃに含まれるシーケンス番号１１３ｃはシーケンス番号記憶部２０６に既に記憶されている番号と一致するため、このメッセージ１１ｃの転送処理は実施せず、破棄する（ステップＳＴ１２０５）。
【００６０】
そして、メッセージ１１ｂが監視制御装置２ｄで受信されたとき、監視制御装置２ｄのシーケンス番号記憶部２０６には、メッセージ１１ｂに含まれるシーケンス番号１１３ｂがまだ記憶されていない。そのため、図１１〜１３に示すように、監視制御装置２ｄは、メッセージ１１ｂに含まれる距離１１５ｂを１つ増加させて距離１１５ｄとしたメッセージ１１ｄを作成し、当該メッセージ１１ｄを監視制御装置２ｃに転送する。また、メッセージ１１ｂを受信した監視制御装置２ｄは、メッセージ１１ｂに送信元として示される監視制御装置２ａのルーティングエントリ１２として、監視制御装置２ｂと接続する通信ポート３ｄを示す識別符号をポート識別符号１２３ｄとして付与したルーティングエントリ１２ｄを作成し、これに基づき監視制御装置２ａ宛のルーティングテーブル１３ｄを作成する（ステップＳＴ１２０６）。
【００６１】
そして、監視制御装置２ｄは、図１２，１３に示すように、メッセージ１１ｂを受信した後にメッセージ１１ｃを受信する。しかしながら、メッセージ１１ｃに含まれるシーケンス番号１１３ｃはシーケンス番号記憶部２０６に既に記憶されている番号と一致するため、このメッセージ１１ｃの転送処理は実施せず、破棄する（ステップＳＴ１２０７）。
また、監視制御装置２ｃは、図１２，１３に示すように、メッセージ１１ａを受信した後にメッセージ１１ｄを受信する。しかしながら、メッセージ１１ｄに含まれるシーケンス番号１１３ｄはシーケンス番号記憶部２０６に既に記憶されている番号と一致するため、このメッセージ１１ｄの転送処理は実施せず、破棄する（ステップＳＴ１２０８）。
【００６２】
図８〜１３に示す例のように、フラッディングによりメッセージ１１を受信した監視制御装置２がそれぞれ転送処理を行うことを繰り返すことにより、ネットワークの直径に依存することなく、サブネットワーク１に含まれる全ての監視制御装置２がメッセージ１１を受信することができる。そして、各監視制御装置２では、図９（ｄ）〜１１（ｄ）に示すようなルーティングテーブル１３を作成することができ、監視制御装置２間でのルーティングによる通信が可能となる。
【００６３】
次に、監視制御装置２によるルーティングエントリ１２の削除に伴うルーティングテーブル１３の作成動作について、図１４を参照しながら説明する。
監視制御装置２によるルーティングエントリ１２の削除に伴うルーティングテーブル１３の作成動作では、図１４に示すように、まず、起動部２０１は、第２の周期ごとに、ルーティングエントリ記憶部２０８に対して、ルーティングエントリ１２に含まれるエントリ寿命１２４を減少させるよう指示し、ルーティングエントリ記憶部２０８は該当エントリ寿命１２４を減少させる（ステップＳＴ１４０１，１４０２）。
【００６４】
次いで、ルーティングエントリ記憶部２０８は、エントリ寿命１２４が尽きたかを判定する（ステップＳＴ１４０３）。このステップＳＴ１４０３において、ルーティングエントリ記憶部２０８がエントリ寿命１２４が尽きていないと判定した場合には、シーケンスは終了する。
【００６５】
一方、ステップＳＴ１４０３において、ルーティングエントリ記憶部２０８は、エントリ寿命１２４が尽きた（０に達した）と判定した場合には、当該エントリ寿命１２４が含まれるルーティングエントリ１２を削除する（ステップＳＴ１４０４）。
次いで、ルーティングテーブル作成部２０９は、ルーティングエントリ記憶部２０８に記憶されているルーティングエントリ１２に基づいて、ルーティングテーブル１３を作成し、ルーティングテーブル記憶部２１０は、このルーティングテーブル１３を記憶する（ステップＳＴ１４０５、ルーティングテーブル作成ステップ）。
【００６６】
次に、ルーティングテーブル作成部２０９によるルーティングエントリ１２の選択動作について、図１５を参照しながら説明する。
ルーティングエントリ記憶部２０８に記憶されているルーティングエントリ１２には、同一の宛先番号１２１を持つルーティングエントリ１２が複数存在する場合がある。例えば、監視制御装置２がメッセージ１１の送信を行う時間間隔が、ルーティングエントリ１２のエントリ寿命１２４よりも短い場合である。この場合、ルーティングテーブル作成部２０９は、同一の宛先番号１２１を持つ複数のルーティングエントリ１２から１つのルーティングエントリ１２を選択し、そのルーティングエントリ１２に基づいてルーティングテーブル１３の作成を行う。
【００６７】
ルーティングテーブル作成部２０９によるルーティングエントリ１２の選択動作では、図１５に示すように、まず、ルーティングエントリ記憶部２０８内に同一の宛先番号１２１を持つルーティングエントリ１２が複数存在するかを判定する（ステップＳＴ１５０１）。
このステップＳＴ１５０１において、同一の宛先番号１２１を持つルーティングエントリ１２が複数存在しないと判定した場合には、その単一のルーティングエントリ１２を選択（ステップＳＴ１５０２）して、ルーティングテーブル１３の作成を行う。
【００６８】
一方、ステップＳＴ１５０１において、同一の宛先番号１２１を持つルーティングエントリ１２が複数存在すると判定した場合には、当該同一の宛先番号１２１を持つルーティングエントリ１２のうち、距離１２２が最小であるルーティングエントリ１２が複数存在するかを判定する（ステップＳＴ１５０３）。
このステップＳＴ１５０３において、距離１２２が最小であるルーティングエントリ１２が複数存在しないと判定した場合には、その距離１２２が最小のルーティングエントリ１２を選択（ステップＳＴ１５０４）して、ルーティングテーブル１３の作成を行う。
【００６９】
一方、ステップＳＴ１５０３において、距離１２２が最小であるルーティングエントリ１２が複数存在すると判定した場合には、当該距離１２２が最小であるルーティングエントリ１２のうち、ポート識別符号１２３の値が最小であるルーティングエントリ１２を選択（ステップＳＴ１５０５）して、ルーティングテーブル１３の作成を行う。
【００７０】
本発明では、フラッディングにおいて同一シーケンス番号１１３を持つメッセージ１１をどの監視制御装置２から先に受信するかによって、作成されるルーティングエントリ１２の内容は変化する。そのため、ネットワークトポロジに変化がなかったとしても、フラッディングによる転送のタイミングによって、ルーティングエントリ１２の内容が変化しうる。しかしながら、フラッディングによるメッセージ１１の送信時間間隔と、ルーティングエントリ１２の寿命とを調整することで、ネットワークトポロジに変化がないにも関わらずルーティングテーブル１３の記載内容が頻繁に変化する確率を減少できる。
【００７１】
ここで、メッセージ１１の送信時間間隔とルーティングエントリ１２の寿命の組合せは、自由に設定してよい。監視制御装置２ごとに異なる値を設定する場合には、監視制御装置２の設定の自由度が向上する効果がある。監視制御装置２やリンク４における負荷状況に合わせて選択する値を変更する場合には、ネットワークの輻輳を軽減する効果がある。
【００７２】
メッセージ１１の送信時間間隔とルーティングエントリ１２の寿命の組合せとして、メッセージ１１の送信する周期をＸ秒、ルーティングエントリ１２の寿命をＹ秒としたとき、Ｙの２倍がＸ未満となる設定方法が例として挙げられる。推奨値は、メッセージ１１の送信する周期が３０秒、ルーティングエントリ１２の寿命が６０秒である。この場合には、ルーティングループが完全に発生し得ないという効果がある。
【００７３】
また、メッセージ１１の送信時間間隔は定周期である必要はなく、例えばフラッディングにより情報を送信するたびにメッセージ１１に情報に付加することで代替してもよい。  この場合、サブネットワーク１内に送信するメッセージ１１の個数を減らすことができるという効果がある。
【００７４】
以上のように、この実施の形態１によれば、フラッディングにより同一シーケンス番号１１３を持つメッセージ１１を各監視制御装置２へ送信し、このメッセージ１１を受信した各監視制御装置２は当該メッセージ１１の情報に基づきルーティングテーブル１３を作成するように構成したので、ネットワークの直径の大きさに依らず、ルーティングテーブル１３を作成することができる。また、メッセージ１１の送信時間間隔とルーティングエントリ１２の寿命の組合せを適切に設定することにより、ルーティングループの発生を完全になくすことができる。さらに、この方法では、コンバージェンス時間を短縮できる。
【００７５】
実施の形態２．
実施の形態１に係る監視制御装置２では、同一シーケンス番号１１３を持つメッセージ１１のうち転送可能条件を満たしていないメッセージ１１は破棄し、ルーティングエントリ１２の作成は行わないよう構成した。それに対し、例えば図１６に示すように、転送可能条件を満たしていないメッセージ１１に対して、実施の形態１と同様に転送処理は行わないが、ルーティングエントリ１２の作成は行うようにしてもよい。これにより、一度のメッセージ１１のフラッディングの度に複数のルーティングエントリ１２が作成される。
【００７６】
この場合、転送を行うメッセージ１１の数は実施の形態１と同様に１個のみであるので、通信の負荷は実施の形態１と替わらない。一方、ルーティングエントリ１２の個数は実施の形態１に対して増える。そのため、作成されるルーティングテーブル１３において距離の短い経路が選択される確率が高くなり、ルーティングによる通信の効率が向上する。
【００７７】
実施の形態３．
実施の形態１では、図７に示すように、各処理を順に実施する場合について示した。それに対して、例えば図１７に示すように、ステップＳＴ７０２がステップＳＴ７０３，７０４，７０５の前に実行されること、ステップＳＴ７０４がステップＳＴ７０５，７０６の前に実行されること、ステップＳＴ７０６がステップＳＴ７０７の前に実行されることの各条件を全て満たせば、ステップＳＴ７０２〜７０７の処理の順序を入れ替え、また、各処理を並列に実行することができる。このように、処理の順序の制約を減らし並列化を可能とすることで、処理にかかる時間の削減効果が得られる。
【００７８】
実施の形態４．
図１５に示す実施の形態１におけるルーティングエントリ１２の選択動作の前処理として、図１８に示すように、宛先番号１２１及びポート識別符号１２３が同一のルーティングエントリ１２がルーティングエントリ記憶部２０８に複数記憶されている場合に、そのうちエントリ寿命１２４が最大のもののみを残し、他を破棄するようにしてもよい（ステップＳＴ１８０１，１８０２）。これにより、ルーティングエントリ記憶部２０８で保持するルーティングエントリ１２の数を削減することができ、必要な記憶容量を削減することができる。
【００７９】
なお、実施の形態１〜４に係る監視制御装置２における処理は１または複数のプログラムによりコンピュータ上で実現してもよく、または、その少なくとも一部をハードウェアで実現してもよい。
【００８０】
また、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００８１】
１  サブネットワーク、２  監視制御装置、３  通信ポート、４  リンク、１１  メッセージ、１２  ルーティングエントリ、１３  ルーティングテーブル、１１１  ヘッダ部、１１２  データ部、１１３  シーケンス番号、１１４  送信元識別符号、１１５  距離、１２１  宛先番号、１２２  距離、１２３  ポート識別符号、１２４  エントリ寿命、１３１  宛先番号、１３２  ポート識別符号、２０１  起動部、２０２  送信部、２０３  受信部、２０４  判定部、２０５  処理部、２０６  シーケンス番号記憶部、２０７  転送部、２０８  ルーティングエントリ記憶部、２０９  ルーティングテーブル作成部、２１０  ルーティングテーブル記憶部。
【図１】
2015065513.tif 000003
【図２】
2015065513.tif 000004
【図３】
2015065513.tif 000005
【図４】
2015065513.tif 000006
【図５】
2015065513.tif 000007
【図６】
2015065513.tif 000008
【図７】
2015065513.tif 000009
【図８】
2015065513.tif 000010
【図９】
2015065513.tif 000011
【図１０】
2015065513.tif 000012
【図１１】
2015065513.tif 000013
【図１２】
2015065513.tif 000014
【図１３】
2015065513.tif 000015
【図１４】
2015065513.tif 000016
【図１５】
2015065513.tif 000017
【図１６】
2015065513.tif 000018
【図１７】
2015065513.tif 000019
【図１８】
2015065513.tif 000020