(57)【要約】【課題】  制御の遅延時間が低減された通信制御装置及びネットワークシステムを提供する。【解決手段】  通信制御装置は、複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内にあり、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第１情報を記憶する記憶部と、更新装置の指示に従い前記第１情報を更新する更新処理部と、前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、前記第１情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有する。【選択図】図３
2017085294.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内の通信制御装置において、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第１情報を記憶する記憶部と、
更新装置の指示に従い前記第１情報を更新する更新処理部と、
前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、
前記第１情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有することを特徴とする通信制御装置。
【請求項２】
前記ネットワーク制御装置は、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第２情報を記憶し、前記第２情報を前記更新装置からの指示に従い更新し、
前記制御情報は、前記第２情報内で前記制御対象ノードに対応付けられた通信制御装置に送信されることを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記更新処理部は、前記第１情報を更新した回数に関する第１更新情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第２情報が前記更新装置からの指示に従い更新された回数に関する第２更新情報が付与され、
前記制御対象ノードについて前記第１更新情報と前記第２更新情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第２情報が前記第１情報より新しいと判定した場合、前記第１情報を前記第２情報に基づき変更する変更処理部を、さらに有することを特徴とする請求項２に記載の通信制御装置。
【請求項４】
前記転送処理部は、前記比較の結果に基づき、前記第１情報が前記第２情報より新しいと判定した場合、前記制御対象ノードについて前記第１更新情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする請求項３に記載の通信制御装置。
【請求項５】
前記更新処理部は、前記第１情報を更新した時刻に関する第１時刻情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第２情報が前記更新装置からの指示に従い更新された時刻に関する第２時刻情報が付与され、
前記制御対象ノードについて前記第１時刻情報と前記第２時刻情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第２情報が前記第１情報より新しいと判定した場合、前記第１情報を前記第２情報に基づき変更する変更処理部を、さらに有することを特徴とする請求項２に記載の通信制御装置。
【請求項６】
前記転送処理部は、前記比較の結果に基づき、前記第１情報が前記第２情報より新しいと判定した場合、前記制御対象ノードについて前記第１時刻情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする請求項５に記載の通信制御装置。
【請求項７】
前記転送処理部は、前記第１情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置であるとき、前記制御対象ノードに前記制御情報を転送することを特徴とする請求項１乃至６の何れかに記載の通信制御装置。
【請求項８】
複数のノードと、前記複数のノードの各々に対する制御情報を生成するネットワーク制御装置と、前記複数のノードを制御する複数の通信制御装置と、更新装置とを有し、
前記ネットワーク制御装置は、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第３情報を記憶する第１記憶部と、
前記更新装置の指示に従い前記第３情報を更新する第１更新処理部と、
前記複数の通信制御装置のうち、前記第３情報内で制御対象ノードに対応付けられた通信制御装置に前記制御情報を送信する送信部とを有し、
前記複数の通信制御装置は、それぞれ、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第４情報を記憶する第２記憶部と、
前記更新装置の指示に従い前記第４情報を更新する第２更新処理部と、
前記送信部から送信された前記制御情報を受信する受信部と、
前記第４情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有し、
前記更新装置は、前記ネットワーク制御装置及び前記複数の通信制御装置に前記第３情報及び前記第４情報の更新をそれぞれ指示することを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、通信制御装置及びネットワークシステムに関する。
【背景技術】
【０００２】
通信需要の増加により、１つのネットワークに接続されるネットワーク機器の台数が増加している。例えば、ネットワーク内の各中継装置（例えばルータ）は、パケットを転送する経路を個別に制御するため、ネットワーク全体として、パケットの経路を柔軟に構成することが難しい。
【０００３】
これに対し、ＳＤＮ（Software Defined Networking）の技術が適用されたネットワークでは、各ネットワーク機器の制御機能が１つのソフトウェアに集約されるため、例えば柔軟な経路構成が可能である。例えばオープンフロープロトコルでは、パケットの中継装置からパケットの経路制御機能が分離され、ＳＤＮコントローラと呼ばれる単一の装置に集約されている（例えば特許文献１参照）。ＳＤＮコントローラは、オープンなＡＰＩ（Application Programming Interface）を備えるため、外部の制御アプリケーションに従い経路情報を各中継装置に設定することにより、ネットワーク全体として、パケットの経路を柔軟に構成することが可能となる。
【０００４】
また、ＳＤＮコントローラへの制御の集中に伴う耐障害性及び性能のスケーラビリティの問題を解決するため、分散型ＳＤＮコントローラが研究開発されている（例えば非特許文献１参照）。分散型ＳＤＮコントローラは、ネットワーク内の全ての中継装置ではなく、一部の中継装置の制御を分担するため、中継装置の制御処理の負荷を複数の分散型ＳＤＮコントローラ（以下、「コントローラ」と表記）に分散させることができる。
【０００５】
制御アプリケーションは、中継装置宛ての制御メッセージを、その中継装置を制御するコントローラだけに送信する。コントローラは、オープンフローネットワークの仕様の制約のため、自装置が制御対象とする中継装置だけに制御メッセージを送信することができ、他のコントローラが制御対象とする中継装置には制御メッセージを送信することができない。
【０００６】
このため、制御アプリケーション及びコントローラの間において、コントローラとそのコントローラが制御する中継装置の対応関係を示す情報（以下、「コントローラ情報」）が一致している必要がある。コントローラ情報は、負荷分散処理やフェイルオーバ処理を行うため、運用中であっても動的に変更される。コントローラ情報の管理方式としては、特定の情報管理サーバがコントローラ情報を管理する集中管理方式と、制御アプリケーション及びコントローラにコントローラ情報をキャッシュとして保持させるキャッシュ方式（例えば非特許文献２参照）とが挙げられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−３９０９７号公報
【非特許文献】
【０００８】
【非特許文献１】引地、他３名、「分散型ＳＤＮコントローラにおけるスケーラビリティ向上手法に関する検討」、電子情報通信学会ＮＶ研究会、２０１５年
【非特許文献２】Pankaj Berde et al、「ONOS Towards an Open Distributed SDN OS」、 HotSDN’14、August 22, 2014
【発明の概要】
【発明が解決しようとする課題】
【０００９】
集中管理方式の場合、制御アプリケーション及びコントローラは、共通の情報管理サーバのコントローラ情報を参照するため、制御アプリケーション及びコントローラの間においてコントローラ情報の不一致が生ずることはない。しかし、情報管理サーバに制御アプリケーション及び複数のコントローラからアクセスが集中して情報管理サーバの負荷が増加するため、集中管理方式では処理速度などの性能の向上が難しい。
【００１０】
一方、キャッシュ方式の場合、制御アプリケーション及びコントローラは、それぞれ、コントローラ情報の更新元の装置から送信された更新指示に従い、自装置に保持されたコントローラ情報のキャッシュを更新する。このため、キャッシュ方式の場合、集中管理方式の場合のような性能の問題は生じない。
【００１１】
しかし、制御アプリケーションのキャッシュの更新タイミングとコントローラのキャッシュの更新タイミングは、ネットワークの負荷状態や制御アプリケーションを動作させる装置及びコントローラ自体の負荷状態に応じて変動する。このため、制御アプリケーション及びコントローラの間において、キャッシュの更新タイミングがばらつき、その結果、コントローラ情報の不一致が生ずるおそれがある。
【００１２】
制御アプリケーション及びコントローラの間においてコントローラ情報の不一致が生ずると、制御アプリケーションからコントローラに、そのコントローラの制御対象ではない中継装置宛ての制御メッセージが送信される。このとき、コントローラは、制御メッセージを送信せずに廃棄し、制御アプリケーションにエラー通知を行う。
【００１３】
制御アプリケーションは、エラー通知を受けると制御メッセージを再送するため、キャッシュの更新により制御アプリケーション及びコントローラのコントローラ情報が一致した後、制御メッセージは、正しいコントローラから中継装置へと送信される。しかし、制御メッセージの再送により中継装置の制御処理に遅延が生ずるという問題が生ずる。
【００１４】
そこで本件は上記の課題に鑑みてなされたものであり、制御の遅延時間が低減された通信制御装置及びネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本明細書に記載の通信制御装置は、複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内にあり、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第１情報を記憶する記憶部と、更新装置の指示に従い前記第１情報を更新する更新処理部と、前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、前記第１情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有する。
【００１６】
本明細書に記載のネットワークシステムは、複数のノードと、前記複数のノードの各々に対する制御情報を生成するネットワーク制御装置と、前記複数のノードを制御する複数の通信制御装置と、更新装置とを有し、前記ネットワーク制御装置は、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第３情報を記憶する第１記憶部と、前記更新装置の指示に従い前記第３情報を更新する第１更新処理部と、前記複数の通信制御装置のうち、前記第３情報内で制御対象ノードに対応付けられた通信制御装置に前記制御情報を送信する送信部とを有し、前記複数の通信制御装置は、それぞれ、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第４情報を記憶する第２記憶部と、前記更新装置の指示に従い前記第４情報を更新する第２更新処理部と、前記送信部から送信された前記制御情報を受信する受信部と、前記第４情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有し、前記更新装置は、前記ネットワーク制御装置及び前記複数の通信制御装置に前記第３情報及び前記第４情報の更新をそれぞれ指示する。
【発明の効果】
【００１７】
制御の遅延時間を低減できる。
【図面の簡単な説明】
【００１８】
【図１】ネットワークシステムの一例を示す構成図である。
【図２】ネットワークシステムの比較例の動作を示す図である。
【図３】ネットワークシステムの第１実施例の動作を示す図である。
【図４】ネットワークシステムの第１実施例の動作を示すシーケンス図である。
【図５】負荷制御サーバの一例を示す構成図である。
【図６】ネットワーク制御サーバの一例を示す構成図である。
【図７】コントローラの一例を示す構成図である。
【図８】第１実施例における制御メッセージのピンポン伝送の動作を示す図である。
【図９】第１実施例における制御メッセージのピンポン伝送の動作を示すシーケンス図である。
【図１０】ネットワークシステムの第２実施例の動作を示す図である。
【図１１】ネットワークシステムの第２実施例の動作を示すシーケンス図である。
【図１２】コントローラの他例を示す構成図である。
【図１３】第２実施例におけるコントローラの動作を示すフローチャートである。
【図１４】ネットワークシステムの第３実施例の動作を示す図である。
【図１５】ネットワークシステムの第３実施例の動作を示すシーケンス図である。
【図１６】第３実施例におけるコントローラの動作を示すフローチャートである。
【発明を実施するための形態】
【００１９】
図１は、ネットワークシステムの一例を示す構成図である。ネットワークシステムは、通信制御装置の一例であるコントローラ１ａ，１ｂと、ネットワーク制御装置の一例であるネットワーク制御サーバ２と、更新装置の一例である負荷制御サーバ３と、複数のノード＃１〜＃４に配置された中継装置４とを有する。なお、本実施例において、コントローラ１ａ，１ｂ及び中継装置４のノード数は一例であり、限定されるものではない。
【００２０】
コントローラ１ａ，１ｂ、ネットワーク制御サーバ２、及び負荷制御サーバ３は、ＬＡＮ（Local Area Network）などの制御用ネットワークＮＷ１を介して通信する。コントローラ１ａ，１ｂ及び各ノード＃１〜＃４の中継装置４は、ＬＡＮなどの制御用ネットワークＮＷ２を介して通信する。
【００２１】
中継装置４は、パケットが伝送されるネットワークＮＷ３のノード＃１〜＃４（カッコ内参照）に配置されている。中継装置４は、例えばルータなどのスイッチ装置であり、パケットを他の通信装置に中継する。なお、パケットとしては、例えばＩＰ（Internet Protocol）パケットが挙げられるが、これに限定されない。
【００２２】
コントローラ１ａ，１ｂは、ノード＃１〜＃４の中継装置４を制御する。コントローラ１ａ，１ｂは、ノード＃１〜＃４の中継装置４の制御をそれぞれ分担する。このため、ノード＃１〜＃４の中継装置４の制御処理の負荷がコントローラ１ａ，１ｂに分散される。
【００２３】
コントローラ１ａ，１ｂ及びネットワーク制御サーバ２は、それぞれ、コントローラ１ａ，１ｂとコントローラ１ａ，１ｂが制御する中継装置４のノード＃１〜＃４の対応関係を示すコントローラ情報１０ａ，１０ｂ，２０を、キャッシュとして保持している。すなわち、コントローラ情報１０ａ，１０ｂ，２０は、各ノード＃１〜＃４と、各ノード＃１〜＃４を制御するコントローラ１ａ，１ｂとの対応関係を示す。なお、コントローラ情報１０ａ，１０ｂは、第１情報及び第４情報の一例であり、コントローラ情報２０は、第２情報及び第３情報の一例である。
【００２４】
コントローラ情報１０ａ，１０ｂ，２０には、ノードＩＤ（＃１〜＃４）とコントローラ１ａ，１ｂを識別する装置ＩＤ（一例として符号１０ａ，１０ｂで示す）が対応付けられて登録されている。このため、コントローラ１ａ，１ｂ及びネットワーク制御サーバ２は、各々のコントローラ情報１０ａ，１０ｂ，２０を参照することにより、コントローラ１ａ，１ｂの制御対象ノードの中継装置４を判別することができる。
【００２５】
負荷制御サーバ３は、コントローラ１ａ，１ｂ及びネットワーク制御サーバ２にコントローラ情報１０ａ，１０ｂ，２０の更新を指示する（「更新指示」参照）。コントローラ１ａ，１ｂ及びネットワーク制御サーバ２は、負荷制御サーバ３の更新指示に従いコントローラ情報１０ａ，１０ｂ，２０を更新する。
【００２６】
図１の例において、コントローラ情報１０ａ，１０ｂ，２０は、ノード＃２に対応する装置ＩＤが「１ａ」から「１ｂ」に更新されている（「１ａ（→１ｂ）」参照）。これにより、コントローラ１ａは、ノード＃２の中継装置４を制御対象ノードから除外し、コントローラ１ｂは、ノード＃２の中継装置４を制御対象ノードに加える（点線の矢印参照）。
【００２７】
負荷制御サーバ３は、コントローラ１ａ，１ｂ間の分散処理やフェイルオーバ処理を行うため、運用中、コントローラ情報１０ａ，１０ｂ，２０を動的に更新する。コントローラ１ａ，１ｂ及びネットワーク制御サーバ２は、負荷制御サーバ３の更新指示に従い、コントローラ情報１０ａ，１０ｂ，２０のキャッシュを更新する。このキャッシュ方式によると、特定の情報管理サーバがコントローラ情報を管理する集中管理方式とは異なり、アクセスの集中による中継装置４の制御処理性能の低下は生じない。
【００２８】
ネットワーク制御サーバ２には、例えばオープンフローのＡＰＩに基づく制御アプリケーション２１が実装されている。制御アプリケーション２１は、中継装置４を制御するための制御メッセージを生成する。制御メッセージは、制御情報の一例であり、例えばオープンフローの規格に準じており、宛先情報や中継装置４のパケットの中継経路の設定情報などが含まれる。
【００２９】
制御アプリケーション２１は、コントローラ情報２０を参照し、制御対象ノードのノードＩＤに対応する装置ＩＤを検索する。制御アプリケーション２１は、検索された装置ＩＤのコントローラ１ａ，１ｂだけに制御メッセージを送信する。制御アプリケーション２１は、例えば、ノード＃１の中継装置４宛ての制御メッセージを、ノード＃１に対応する装置ＩＤ「１ａ」のコントローラ１ａだけに送信する。
【００３０】
コントローラ１ａ，１ｂは、ネットワーク制御サーバ２から制御メッセージを受信すると、制御メッセージの宛先に該当するノードＩＤに対応する装置ＩＤを検出する。コントローラ１ａ，１ｂは、検出した装置ＩＤが自装置の装置ＩＤに一致する場合、制御メッセージを宛先の中継装置４に転送する。例えば、コントローラ１ａは、ノード＃１の中継装置４宛ての制御メッセージを受信した場合、ノードＩＤ「＃１」に対応する装置ＩＤは「１ａ」、つまり自装置の装置ＩＤであるため、制御メッセージをノード＃１の中継装置４に転送する。
【００３１】
しかし、コントローラ１ａ，１ｂは、検出した装置ＩＤが自装置の装置ＩＤに一致しない場合、制御メッセージを宛先の中継装置４に転送することができない。このため、制御アプリケーション２１及びコントローラ１ａ，１ｂの間において、コントローラ情報１０ａ，１０ｂ，２０の不一致があると、制御メッセージは制御対象ノード＃１〜＃４の中継装置４に送信されない。
【００３２】
上述したように、コントローラ情報１０ａ，１０ｂ，２０は、負荷制御サーバ３の更新指示に従って更新されるが、コントローラ情報１０ａ，１０ｂ，２０の更新タイミングは、ネットワークＮＷ１の負荷状態やネットワーク制御サーバ２及びコントローラ１ａ，１ｂ自体の負荷状態に応じて変動する。このため、コントローラ情報１０ａ，１０ｂ，２０の更新タイミングがばらつき、その結果、コントローラ情報１０ａ，１０ｂ，２０の不一致が生ずるおそれがある。この場合の動作について、以下に例を挙げて説明する。
【００３３】
図２には、ネットワークシステムの比較例の動作が示されている。図２において、図１と共通する構成については同一の符号を付し、その説明を省略する。
【００３４】
本例は、図１の例における負荷制御サーバ３の更新指示に対し、ネットワーク制御サーバ２のコントローラ情報２０の更新が遅延した場合を示す。すなわち、コントローラ１ａ，１ｂのコントローラ情報１０ａ，１０ｂにおいて、ノードＩＤ「＃２」に対応する装置ＩＤは「１ｂ」に更新済みであるのに対し、ネットワーク制御サーバ２のコントローラ情報２０において、ノードＩＤ「＃２」に対応する装置ＩＤは「１ａ」のままである。
【００３５】
制御アプリケーション２１は、ノード＃２の中継装置４を宛先とする制御メッセージを生成する。コントローラ情報２０において、ノード＃２は装置ＩＤ「１ａ」（点線の丸参照）に対応付けられている。このため、制御アプリケーション２１は、制御メッセージをコントローラ１ａに送信する。
【００３６】
コントローラ１ａは、制御メッセージを受信すると、自装置に保持されたコントローラ情報１０ａから、制御メッセージの宛先に該当するノードＩＤ「＃２」に対応する装置ＩＤ「１ｂ」（点線の丸参照）を検出する。コントローラ１ａは、装置ＩＤ「１ｂ」が自装置の装置ＩＤ「１ａ」に一致しないため、制御メッセージを廃棄する（「廃棄」参照）。
【００３７】
このように、制御アプリケーション２１のコントローラ情報２０とコントローラ１ａのコントローラ情報１０ａに差異が生ずると、制御メッセージが宛先の中継装置４に送信されない。この場合、制御アプリケーション２１は、コントローラ１ａからのエラー通知に応じて制御メッセージを再送する。このため、コントローラ情報２０の更新により制御アプリケーション２１及びコントローラ１ａのコントローラ情報２０，１０ａが一致した後、制御メッセージは、正しいコントローラ１ｂから中継装置４へと送信されるが、制御メッセージの再送により中継装置４の制御処理に遅延が生ずる。
【００３８】
そこで、実施例では、コントローラ１ａは、コントローラ情報１０ａに基づき、制御対象ノード＃２を制御する装置が自装置ではないと判定した場合、制御メッセージを、制御対象ノード＃２を制御する他のコントローラ１ｂに転送することで、制御の遅延時間を低減する。実施例の動作について、以下に例を挙げて説明する。
【００３９】
（第１実施例）
図３には、ネットワークシステムの第１実施例の動作が示されている。図３において、図１と共通する構成については同一の符号を付し、その説明を省略する。なお、本例のコントローラ情報２０，１０ａ，１０ｂの内容は図２の例と共通である。
【００４０】
制御アプリケーション２１は、制御対象ノード＃２の中継装置４宛ての制御メッセージを、その中継装置４に対応するコントローラ１ａに送信する。コントローラ１ａは、制御メッセージを受信すると、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ｂ」を検出する（点線の丸参照）。コントローラ１ａは、検出した装置ＩＤ「１ｂ」が自装置の装置ＩＤ「１ａ」に一致しないため、ノード＃２の中継装置４を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ１ｂに転送する（「転送」参照）。
【００４１】
コントローラ１ｂは、制御メッセージを受信すると、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ｂ」を検出する（点線の丸参照）。コントローラ１ｂは、検出した装置ＩＤ「１ｂ」が自装置の装置ＩＤ「１ｂ」に一致するため、ノード＃２の中継装置４を制御する装置が自装置であると判定して、制御メッセージをノード＃２の中継装置４に転送する。
【００４２】
このように、コントローラ１ａは、自装置のコントローラ情報１０ａ内で制御対象ノード＃２に対応付けられたコントローラ２ｂが自装置ではないとき、制御対象ノード＃２に対応付けられた他のコントローラ２ｂに制御メッセージを転送する。このため、制御メッセージは廃棄されないので、ネットワーク制御サーバ２は、制御メッセージを再送する必要がない。したがって、制御対象ノード＃２の中継装置４の制御の遅延時間が低減される。
【００４３】
また、図１を参照して述べたように、コントローラ１ａ，１ｂは、コントローラ情報１０ａ，１０ｂにおいて、制御メッセージの宛先の該当ノードＩＤに対応する装置ＩＤが自装置の装置ＩＤに一致した場合、制御メッセージをそのノードＩＤの中継装置４に転送する。つまり、コントローラ１ａ，１ｂは、自装置のコントローラ情報１０ａ，１０ｂ内で制御対象ノード＃１〜＃４に対応付けられたコントローラ１ａ，１ｂが自装置であるとき、制御対象ノード＃１〜＃４に制御メッセージを転送する。このため、コントローラ１ａ，１ｂは、制御対象ノード＃１〜＃４の中継装置４を制御することができる。
【００４４】
図４は、ネットワークシステムの第１実施例の動作を示すシーケンス図である。より具体的には、図４は、図３の動作のシーケンスを示したものである。
【００４５】
まず、負荷制御サーバ３は、ネットワーク（ＮＷ）制御サーバ２及びコントローラ１ａ，１ｂに更新指示を送信する。コントローラ１ａ，１ｂは、ネットワーク制御サーバ２が制御メッセージを送信する前に、更新指示に従いコントローラ情報１０ａ，１０ｂの更新を完了するが（符号Ｓ２，Ｓ３参照）、ネットワーク制御サーバ２は、コントローラ情報２０の更新が遅延し（「遅延」参照）、制御メッセージの送信後に完了する（符号Ｓ１参照）。
【００４６】
次に、ネットワーク制御サーバ２は、制御対象ノード＃２の中継装置４宛ての制御メッセージをコントローラ１ａに送信する。コントローラ１ｂは、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ｂ」を検出する（符号Ｓ４参照）。コントローラ１ｂは、検出した装置ＩＤ「１ｂ」が自装置の装置ＩＤ「１ａ」に一致しないため、ノード＃２の中継装置４を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ１ｂに転送する。
【００４７】
コントローラ１ｂは、制御メッセージを受信すると、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ｂ」を検出する（符号Ｓ５参照）。コントローラ１ｂは、検出した装置ＩＤ「１ｂ」が自装置の装置ＩＤ「１ｂ」に一致するため、ノード＃２の中継装置４を制御する装置が自装置であると判定して、制御メッセージをノード＃２の中継装置４に転送する。このようにして、ネットワークシステムは動作する。
【００４８】
次に、コントローラ１ａ，１ｂ、ネットワーク制御サーバ２、及び負荷制御サーバ３の構成について説明する。
【００４９】
図５は、負荷制御サーバ３の一例を示す構成図である。負荷制御サーバ３は、ＣＰＵ（Central Processing Unit）３０、ＲＯＭ３１、ＲＡＭ３２、不揮発性メモリ３３、及び通信ポート３４を有する。ＣＰＵ３０は、互いに信号の入出力ができるように、ＲＯＭ３１、ＲＡＭ３２、不揮発性メモリ３３、及び通信ポート３４と、データバス３５を介して接続されている。
【００５０】
ＲＯＭ３１には、ＣＰＵ３０を駆動するプログラムが格納されている。ＲＡＭ３２は、ＣＰＵ３０のワーキングメモリとして機能する。通信ポート３４は、例えばＰＨＹ／ＭＡＣデバイスであり、ネットワークＮＷ１を介してコントローラ１ａ，１ｂ及びネットワーク制御サーバ２との間で通信する。
【００５１】
不揮発性メモリ３３には、更新指示に含まれる指示情報３３０が保持される。指示情報３３０には、コントローラ情報１０ａ，１０ｂ，２０のうち、更新対象のノードＩＤ及び装置ＩＤが含まれる。図１の更新指示の場合、指示情報３３０には、ノードＩＤ「＃２」及び装置ＩＤ「１ｂ」が含まれる。
【００５２】
ＣＰＵ３０は、ＲＯＭ３１からプログラムを読み込むと、機能として、更新制御部３００及び更新指示部３０１が形成される。更新制御部３００は、例えば、コントローラ１ａ，１ｂの負荷状態に応じて指示情報３３０を生成して不揮発性メモリ３３に書き込み、その旨を更新指示部３０１に通知する。
【００５３】
更新指示部３０１は、指示部の一例であり、ネットワーク制御サーバ２及びコントローラ１ａ，１ｂにコントローラ情報１０ａ，１０ｂ，２０の更新をそれぞれ指示する。より具体的には、更新指示部３０１は、更新制御部３００からの通知に応じて、不揮発性メモリ３３から指示情報３３０を読み出し、指示情報３３０を含む更新指示を、通信ポート３４を介してネットワーク制御サーバ２及びコントローラ１ａ，１ｂに送信する。
【００５４】
図６は、ネットワーク制御サーバ２の一例を示す構成図である。ネットワーク制御サーバ２は、ＣＰＵ２５、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、及び通信ポート２９を有する。ＣＰＵ２５は、互いに信号の入出力ができるように、ＲＯＭ２６、ＲＡＭ２７、不揮発性メモリ２８、及び通信ポート２９と、データバス２４を介して接続されている。
【００５５】
ＲＯＭ２６には、ＣＰＵ２５を駆動するプログラムが格納されている。ＲＡＭ２７は、ＣＰＵ２５のワーキングメモリとして機能する。通信ポート２９は、例えばＰＨＹ／ＭＡＣデバイスであり、ネットワークＮＷ１を介してコントローラ１ａ，１ｂ及び負荷制御サーバ３との間で通信する。
【００５６】
不揮発性メモリ２８には、送信待ちの制御メッセージ２８０及びコントローラ情報２０が保持される。コントローラ情報２０は、上述したように、ノード＃１〜＃４とノード＃１〜＃４を制御するコントローラ１ａ，１ｂの対応関係を示す。なお、不揮発性メモリ３３は、コントローラ情報２０を記憶する第１記憶部の一例である。
【００５７】
ＣＰＵ２５は、ＲＯＭ２６からプログラムを読み込むと、機能として、更新処理部２５０、ネットワーク（ＮＷ）制御部２５１、及びメッセージ送信部２５２が形成される。ネットワーク（ＮＷ）制御部２５１及びメッセージ送信部２５２は、図１の制御アプリケーション２１に相当する。
【００５８】
更新処理部２５０は、第１更新処理部の一例であり、負荷制御サーバ３の更新指示部３０１の更新指示に従いコントローラ情報２０を更新する。より具体的には、更新処理部２５０は、負荷制御サーバ３から通信ポート２９を介して更新指示を受信すると、更新指示の指示情報３３０に基づきコントローラ情報２０を更新する。
【００５９】
ネットワーク制御部２５１は、制御対象ノードの制御メッセージ２８０を生成して不揮発性メモリ３３に書き込む。ネットワーク制御部２５１は、送信タイミングに従い、不揮発性メモリ２８から制御メッセージ２８０を読み出してメッセージ送信部２５２に出力する。
【００６０】
メッセージ送信部２５２は、送信部の一例であり、コントローラ情報２０のうち、制御対象ノードに対応する装置ＩＤの情報に基づいて、制御対象ノードを制御するコントローラ１ａ，１ｂに制御メッセージ２８０を送信する。すなわち、メッセージ送信部２５２は、コントローラ情報２０内で制御対象ノードに対応付けられたコントローラ１ａ，１ｂに制御メッセージ２８０を送信する。制御メッセージ２８０は、通信ポート２９を介してコントローラ１ａ，１ｂに送信される。これにより、制御メッセージ２８０が、制御対象ノード＃１〜＃４を制御するコントローラ１ａ，１ｂに到達する。
【００６１】
図７は、コントローラ１ａ，１ｂの一例を示す構成図である。コントローラ１ａ，１ｂは、ＣＰＵ１６、ＲＯＭ１１、ＲＡＭ１２、不揮発性メモリ１３、及び通信ポート１４を有する。ＣＰＵ１６は、互いに信号の入出力ができるように、ＲＯＭ１１、ＲＡＭ１２、不揮発性メモリ１３、及び通信ポート１４と、データバス１５を介して接続されている。
【００６２】
ＲＯＭ１１には、ＣＰＵ１６を駆動するプログラムが格納されている。ＲＡＭ１２は、ＣＰＵ１６のワーキングメモリとして機能する。通信ポート１４は、例えばＰＨＹ／ＭＡＣデバイスであり、ネットワークＮＷ１を介してネットワーク制御サーバ２及び負荷制御サーバ３との間で通信し、ネットワークＮＷ２を介して各ノード＃１〜＃４の中継装置４との間で通信する。
【００６３】
不揮発性メモリ１３には、ネットワーク制御サーバ２または他のコントローラ１ａ，１ｂから受信した制御メッセージ１３０及びコントローラ情報１０ａ，１０ｂが保持される。コントローラ情報１０ａ，１０ｂは、第１情報及び第４情報の一例であり、上述したように、ノード＃１〜＃４とノード＃１〜＃４を制御するコントローラ１ａ，１ｂの対応関係を示す。なお、不揮発性メモリ１３は、コントローラ情報１０ａ，１０ｂを記憶する第２記憶部の一例である。
【００６４】
ＣＰＵ１６は、ＲＯＭ１１からプログラムを読み込むと、機能として、更新処理部１６０、ノード制御部１６１、及びメッセージ転送処理部１６２が形成される。更新処理部１６０は、第２更新処理部の一例であり、負荷制御サーバ３からの更新指示に従いコントローラ１ａ，１ｂをノード＃１〜＃４ごとに更新する。
【００６５】
ノード制御部１６１は、受信部の一例であり、ネットワーク制御サーバ２のメッセージ送信部２５２から送信された制御メッセージ１３０を受信して不揮発性メモリ１３に書き込む。ノード制御部１６１は、制御メッセージ１３０に関する所定の処理を行った後、処理の完了をメッセージ転送処理部１６２に通知する。
【００６６】
メッセージ転送処理部１６２は、転送処理部の一例であり、コントローラ情報１０ａ，１０ｂ内で制御対象ノード＃１〜＃４に対応付けられたコントローラ１ａ，１ｂが自装置ではないとき、制御対象ノード＃１〜＃４に対応付けられた他のコントローラ１ａ，１ｂに制御メッセージを転送する。より具体的には、メッセージ転送処理部１６２は、ノード制御部１６１から上記の通知を受けると、制御メッセージ２８０を読み出し、コントローラ情報１０ａ，１０ｂから、制御メッセージ２８０の宛先に該当する制御対象ノードの装置ＩＤを検出する。
【００６７】
メッセージ転送処理部１６２は、検出した装置ＩＤが自装置のＩＤではない場合、コントローラ情報１０ａ，１０ｂに従い、制御対象ノード＃１〜＃４を制御する他のコントローラ１ａ，１ｂに制御メッセージを転送する。このため、制御メッセージは廃棄されないので、ネットワーク制御サーバ２は、制御メッセージを再送する必要がない。したがって、制御対象ノード＃１〜＃４の中継装置４の制御の遅延時間が低減される。
【００６８】
また、メッセージ転送処理部１６２は、コントローラ情報１０ａ，１０ｂ内で制御対象ノード＃１〜＃４に対応付けられたコントローラ１ａ，１ｂが自装置であるとき、制御対象ノード＃１〜＃４の中継装置４に制御メッセージを転送する。より具体的には、メッセージ転送処理部１６２は、検出した装置ＩＤが自装置のＩＤである場合、コントローラ情報１０ａ，１０ｂに従い、制御対象ノード＃１〜＃４を制御する他のコントローラ１ａ，１ｂに制御メッセージを転送する。このため、コントローラ１ａ，１ｂは、制御対象ノード＃１〜＃４の中継装置４を制御することができる。
【００６９】
なお、本実施例において、コントローラ情報１０ａ，１０ｂに不一致が生じた場合、以下に述べるように、コントローラ１ａ，１ｂの間で制御メッセージ２８０が繰り返し送受信される現象（いわゆるピンポン伝送）が発生する。
【００７０】
図８には、第１実施例における制御メッセージのピンポン伝送の動作が示されている。図８において、図１と共通する構成については同一の符号を付し、その説明を省略する。
【００７１】
本例は、図１の例における負荷制御サーバ３の更新指示に対し、ネットワーク制御サーバ２及びコントローラ１ｂのコントローラ情報２０，１０ｂの更新が遅延した場合を示す。すなわち、コントローラ１ａのコントローラ情報１０ａにおいて、ノードＩＤ「＃２」に対応する装置ＩＤは「１ｂ」に更新済みである。しかし、ネットワーク制御サーバ２のコントローラ情報２０及びコントローラ１ｂのコントローラ情報１０ｂにおいて、ノードＩＤ「＃２」に対応する装置ＩＤは「１ａ」のままである。
【００７２】
制御アプリケーション２１は、ノード＃２の中継装置４を宛先とする制御メッセージを生成する。コントローラ情報２０において、ノード＃２は装置ＩＤ「１ａ」（点線の丸参照）に対応付けられている。このため、制御アプリケーション２１は、制御メッセージをコントローラ１ａに送信する。
【００７３】
コントローラ１ａは、制御メッセージを受信すると、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ｂ」を検出する（点線の丸参照）。コントローラ１ａは、検出した装置ＩＤ「１ｂ」が自装置の装置ＩＤ「１ａ」に一致しないため、ノード＃２の中継装置４を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ１ｂに転送する（「転送」参照）。
【００７４】
コントローラ１ｂは、制御メッセージを受信すると、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ａ」を検出する（点線の丸参照）。コントローラ１ｂは、検出した装置ＩＤ「１ａ」が自装置の装置ＩＤ「１ｂ」に一致しないため、ノード＃２の中継装置４を制御する装置が自装置ではないと判定して、制御メッセージを、制御メッセージの送信元のコントローラ１ａに転送する（「転送」参照）。
【００７５】
コントローラ１ａ，１ｂは、コントローラ１ｂのコントローラ情報１０ｂが更新されるまで、制御メッセージの送受信動作を繰り返す。すなわち、コントローラ１ａ，１ｂは、コントローラ情報１０ｂの更新が完了するまでピンポン伝送を行う。
【００７６】
図９は、第１実施例における制御メッセージのピンポン伝送の動作を示すシーケンス図である。より具体的には、図９は、図８の動作のシーケンスを示したものである。
【００７７】
まず、負荷制御サーバ３は、ネットワーク制御サーバ２及びコントローラ１ａ，１ｂに更新指示を送信する。コントローラ１ａは、ネットワーク制御サーバ２が制御メッセージを送信する前に、更新指示に従いコントローラ情報１０ａ，１０ｂの更新を完了するが（符号Ｓ１１参照）、ネットワーク制御サーバ２及びコントローラ１ｂは、コントローラ情報２０，１０ｂの更新が遅延し（「遅延」参照）、制御メッセージの送信後に完了する（符号Ｓ１２参照）。
【００７８】
次に、ネットワーク制御サーバ２は、制御対象ノード＃２の中継装置４宛ての制御メッセージをコントローラ１ａに送信する。コントローラ１ａは、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ｂ」が自装置の装置ＩＤ「１ａ」に一致しないため、ノード＃２の中継装置４を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ１ｂに転送する。
【００７９】
コントローラ１ｂは、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ａ」が自装置の装置ＩＤ「１ｂ」に一致しないため、ノード＃２の中継装置４を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ１ａに転送する。これにより、制御メッセージが、コントローラ１ａ，１ｂの間でピンポン伝送される。
【００８０】
コントローラ１ｂは、コントローラ情報１０ｂの更新の完了後（符号Ｓ１２参照）、制御メッセージの宛先のノード＃２に対応する装置ＩＤ「１ｂ」が自装置の装置ＩＤ「１ｂ」に一致するため、ノード＃２の中継装置４を制御する装置が自装置であると判定する。このため、コントローラ１ｂは、制御メッセージをノード＃２の中継装置４に転送し、ピンポン伝送が停止する。
【００８１】
上記のような制御メッセージのピンポン伝送を防止するため、ネットワーク制御サーバ２及びコントローラ１ａは、以下に述べるように、制御メッセージを送信するとき、制御メッセージに、コントローラ情報２０，１０ａの間の新しさを比較するための比較情報を付与してもよい。
【００８２】
（第２実施例）
図１０には、ネットワークシステムの第２実施例の動作が示されている。図１０において、図１と共通する構成については同一の符号を付し、その説明を省略する。本実施例では、上記の比較情報として、コントローラ情報２０ｘ，１０ａｘ，１０ｂｘの更新された回数に関する情報が用いられる。
【００８３】
より具体的には、上記の情報として、バージョン情報「ＶＥＲ」が用いられる。ＶＥＲは、コントローラ情報２０ｘ，１０ａｘ，１０ｂｘのノード＃１〜＃４ごとに記憶されている。コントローラ情報１０ａｘ，１０ｂｘのＶＥＲは第１更新情報及び第４更新情報の一例であり、コントローラ情報２０ｘのＶＥＲは第２更新情報及び第３更新情報の一例である。
【００８４】
また、ＶＥＲは、負荷制御サーバ３からの更新指示の指示情報３３０に含まれる。ＶＥＲは、一例として、更新のたびに１つずつ増加する数値であり、ＶＥＲが大きいほど、その該当する情報が新しいということになる。本例のように、負荷制御サーバ３が１台である場合、負荷制御サーバ３の更新指示部３０１にカウンタを設け、カウンタによりＶＥＲを生成すればよい。
【００８５】
一方、仮に負荷制御サーバ３が複数存在する場合、ＶＥＲの一意性を担保するために、例えば「RAFT」（Diego Ongaro and John Ousterhout,「In Search of an Understandable Consensus Algorithm」参照）のような合意形成アルゴリズムを用いることができる。更新処理部２５０，１６０は、更新指示の受信時、指示情報３３０内のＶＥＲに従い、コントローラ情報２０ｘ，１０ａｘ，１０ｂｘの該当ノードＩＤのＶＥＲを書き換える。
【００８６】
制御アプリケーション２１は、制御対象ノード＃２の中継装置４宛ての制御メッセージを生成した後、制御メッセージに、コントローラ情報２０ｘのうち、制御対象ノード＃２についての登録情報２００を付与する。登録情報２００には、ノードＩＤ「＃２」、装置ＩＤ「１ａ」、及びＶＥＲ「３」が含まれる。なお、本例のコントローラ情報２０ｘ，１０ａｘ，１０ｂｘのノードＩＤ及び装置ＩＤは、図８の例と同一である。
【００８７】
制御アプリケーション２１は、登録情報２００が付与された制御メッセージをコントローラ１ａに送信する。より具体的には、図６において、更新処理部２５０は、ノードごとにＶＥＲを不揮発性メモリ２８に記憶させ、メッセージ送信部２５２は、制御メッセージに、制御対象ノード＃１〜＃４のＶＥＲの登録情報２００を付与し、登録情報２００が付与された制御メッセージをコントローラ１ａに送信する。
【００８８】
また、後述するように、コントローラ１ａは、コントローラ情報２０ｘ，１０ａｘの間で新しさを比較できればよく、登録情報２００のノードＩＤ及び装置ＩＤは自明であるため、制御メッセージにはＶＥＲのみが付与されてもよい。すなわち、ノードＩＤは、制御メッセージの宛先に該当するノードＩＤ「＃２」あり、装置ＩＤは、制御メッセージを受信したコントローラ１ａ自体の装置ＩＤ「１ａ」であることは自明である。
【００８９】
コントローラ１ａは、登録情報２００が付与された制御メッセージを受信すると、登録情報２００に含まれる装置ＩＤ「１ａ」と、コントローラ情報１０ａｘのうち、ノードＩＤ「＃２」に対応する登録情報１００ａの装置ＩＤ「１ｂ」を比較する。コントローラ１ａは、比較の結果、各装置ＩＤが不一致であるため、登録情報２００のＶＥＲ「３」（点線の丸参照）と登録情報１００ａのＶＥＲ「４」（点線の丸参照）を比較する（「比較」参照）。これにより、コントローラ１ａは、制御対象ノード＃２について、ネットワーク制御サーバ２の登録情報２００と自装置の登録情報１００ａの何れが新しいかを判定する。
【００９０】
本例では、制御対象ノード＃２についての登録情報１００ａのＶＥＲ「４」が、制御メッセージに付与された登録情報２００のＶＥＲ「３」より大きい。このため、コントローラ１ａは、各ＶＥＲの比較の結果、自装置の登録情報１００ａがネットワーク制御サーバ２の登録情報２００より新しいと判定する。
【００９１】
したがって、コントローラ１ａは、制御対象ノード＃２を制御する装置が自装置ではないと判定して、登録情報１００ａの装置ＩＤ「１ｂ」に従い、制御メッセージを他方のコントローラ１ｂに転送する（「転送」参照）。このとき、コントローラ１ａは、登録情報１００ａを制御メッセージに付与する。
【００９２】
このように、コントローラ１ａは、各ＶＥＲの比較の結果に基づき、自装置の登録情報１００ａがネットワーク制御サーバ２の登録情報２００より新しいと判定した場合、自装置の登録情報１００ａを制御メッセージに付与し、制御メッセージを転送する。登録情報１００ａにはＶＥＲが含まれるため（点線の丸参照）、転送先のコントローラ１ｂは、ＶＥＲに基づき、制御対象ノード＃２について、コントローラ情報１０ａｘ，１０ｂｘの新しさを比較することができる。
【００９３】
コントローラ１ｂは、登録情報１００ａの付与された制御メッセージを受信すると、登録情報１００ａに含まれる装置ＩＤ「１ｂ」と、コントローラ情報１０ｂｘのうち、ノードＩＤ「＃２」に対応する登録情報１００ｂの装置ＩＤ「１ａ」を比較する。コントローラ１ｂは、比較の結果、各装置ＩＤが不一致であるため、登録情報１００ａのＶＥＲ「４」（点線の丸参照）と登録情報１００ｂのＶＥＲ「３」（点線の丸参照）を比較する（「比較」参照）。これにより、コントローラ１ｂは、制御対象ノード＃２について、他方のコントローラ１ａの登録情報１００ａと自装置の登録情報１００ｂの何れが新しいかを判定する。
【００９４】
本例では、制御対象ノード＃２についての登録情報１００ａのＶＥＲ「４」が、登録情報１００ｂのＶＥＲ「３」より大きい。このため、コントローラ１ｂは、各ＶＥＲの比較の結果、他方のコントローラ１ａの登録情報１００ａが自装置の登録情報１００ｂより新しいと判定して、コントローラ情報１０ｂｘを登録情報１００ａに基づき変更する。
【００９５】
より具体的には、コントローラ１ｂは、コントローラ情報１０ｂｘ内の登録情報１００ｂが他方のコントローラ１ａの登録情報１００ａに一致するように、装置ＩＤを「１ｂ」に変更し、ＶＥＲを「４」に変更する（矢印参照）。このため、コントローラ１ｂは、自装置のコントローラ情報１０ｂｘを最新の更新状態とすることができる。
【００９６】
また、コントローラ１ｂは、コントローラ情報１０ｂｘに基づき、制御対象ノード＃２を制御する装置が自装置であると判定できるため、制御対象ノード＃２の中継装置４に制御メッセージを転送する。このため、コントローラ１ｂは、制御対象ノード＃２の中継装置４を制御することができる。
【００９７】
図１１は、ネットワークシステムの第２実施例の動作を示すシーケンス図である。より具体的には、図１１は、図１０の動作のシーケンスを示したものである。
【００９８】
まず、ネットワーク制御サーバ２は、ＶＥＲ「３」を含む登録情報２００が付与された制御メッセージをコントローラ１ａに送信する。次に、コントローラ１ａは、登録情報２００のＶＥＲ「３」とコントローラ情報１０ａｘ内の登録情報１００ａのＶＥＲ「４」を比較する（符号Ｓ２１参照）。
【００９９】
コントローラ１ａは、各ＶＥＲの比較の結果、自装置の登録情報１００ａがネットワーク制御サーバ２の登録情報２００より新しいと判定し、登録情報１００ａの装置ＩＤ「１ｂ」に従い、ＶＥＲ「４」を含む登録情報１００ａが付与された制御メッセージをコントローラ１ｂに送信する。次に、コントローラ１ｂは、登録情報１００ａのＶＥＲ「４」とコントローラ情報１０ｂ内の登録情報１００ｂのＶＥＲ「３」を比較する（符号Ｓ２２参照）。
【０１００】
コントローラ１ｂは、各ＶＥＲの比較の結果、他方のコントローラ１ａの登録情報１００ａｘが自装置の登録情報１００ｂより新しいと判定し、登録情報１００ａに基づきコントローラ情報１０ｂｘを変更する（符号Ｓ２３参照）。これにより、コントローラ情報１０ｂｘは最新の更新状態となる。
【０１０１】
次に、コントローラ１ｂは、制御メッセージを制御対象ノード＃２の中継装置４に転送する。このようにして、ネットワークシステムは動作する。
【０１０２】
図１２は、本実施例におけるコントローラ１ａ，１ｂを示す構成図である。図１２において、図７と共通する構成については同一の符号を付し、その説明を省略する。
【０１０３】
コントローラ１ａ，１ｂは、ＣＰＵ１６、ＲＯＭ１１、ＲＡＭ１２、不揮発性メモリ１３、及び通信ポート１４を有する。ＣＰＵ１６は、ＲＯＭ１１からプログラムを読み込むと、機能として、更新処理部１６０、ノード制御部１６１ａ、メッセージ転送処理部１６２ａ、変更処理部１６３、及び情報比較部１６４が形成される。
【０１０４】
更新処理部１６０は、更新指示に従い、ＶＥＲをノード＃１〜＃４ごとに不揮発性メモリ１３に記憶させる。このため、不揮発性メモリ１３には、図１０に示されたコントローラ情報１０ａｘ，１０ｂｘが保持されている。
【０１０５】
ノード制御部１６１ａは、受信部の一例であり、登録情報２００，１００ａが付与された制御メッセージを、通信ポート２９を介して受信し、登録情報２００，１００ａ内のＶＥＲを情報比較部１６４に通知する。
【０１０６】
情報比較部１６４は、比較部の一例であり、制御対象ノードについてＶＥＲを比較する。より具体的には、情報比較部１６４は、受信した制御メッセージに付与されたＶＥＲと自装置のコントローラ情報１０ａｘ，１０ｂｘのＶＥＲを比較し、その比較の結果を変更処理部１６３及びメッセージ転送処理部１６２ａに通知する。
【０１０７】
変更処理部１６３は、各ＶＥＲの比較の結果に基づき、制御メッセージに付与された登録情報２００，１００ａが自装置の登録情報１００ａ，１００ｂより新しいと判定した場合、自装置の登録情報１００ａ，１００ｂを、制御メッセージに付与された登録情報２００，１００ａに基づき変更する。このため、このため、コントローラ１ａ，１ｂは、自装置のコントローラ情報１０ａｘ，１０ｂｘを最新の更新状態とすることができる。
【０１０８】
また、メッセージ転送処理部１６２ａは、転送処理部の一例であり、各ＶＥＲの比較の結果に基づき、自装置の登録情報１００ａ，１００ｂが、制御メッセージに付与された登録情報２００，１００ａより新しいと判定した場合、コントローラ情報１０ａｘ，１０ｂｘのうち、制御対象ノードについての登録情報１００ａを制御メッセージに付与し、制御メッセージを転送する。このため、制御メッセージの転送先のコントローラ１ａ，１ｂは、ＶＥＲの比較を行うことができる。
【０１０９】
図１３は、第２実施例におけるコントローラ１ａ，１ｂの動作を示すフローチャートである。本動作は、例えば周期的に実行される。
【０１１０】
ノード制御部１６１ａは、通信ポート２９における制御メッセージ（制御ＭＳＧ）の受信の有無を判定する（ステップＳｔ１）。コントローラ１ａ，１ｂは、制御メッセージが受信されていない場合（ステップＳｔ１のＮｏ）、動作を終了する。
【０１１１】
また、メッセージ転送処理部１６２ａは、制御メッセージが受信されている場合（ステップＳｔ１のＹｅｓ）、コントローラ情報１０ａｘ，１０ｂｘから制御メッセージの宛先のノードＩＤに対応する装置ＩＤを検出し、自装置の装置ＩＤと比較する（ステップＳｔ２）。メッセージ転送処理部１６２ａは、各装置ＩＤが一致した場合（ステップＳｔ２のＹｅｓ）、制御対象ノード＃１〜＃４を制御する装置が自装置であると判定して、制御メッセージを制御対象ノード＃１〜＃４の中継装置４に転送する（ステップＳｔ３）。
【０１１２】
また、情報比較部１６４は、各装置ＩＤが一致しない場合（ステップＳｔ２のＮｏ）、制御メッセージに付与された登録情報２００，１００ａのＶＥＲと、自装置のコントローラ情報１０ａｘ，１０ｂｘのＶＥＲを比較する（ステップＳｔ４）。
【０１１３】
メッセージ転送処理部１６２ａは、自装置の登録情報１００ａ，１００ｂのＶＥＲが、制御メッセージに付与された登録情報２００，１００ａのＶＥＲ以上である場合（ステップＳｔ４のＹｅｓ）、自装置の登録情報１００ａ，１００ｂを制御メッセージに付与する（ステップＳｔ５）。次に、メッセージ転送処理部１６２ａは、登録情報１００ａ，１００ｂが付与された制御メッセージを、登録情報１００ａ，１００ｂの装置ＩＤに応じた他のコントローラ１ａ，１ｂに転送する（ステップＳｔ６）。
【０１１４】
変更処理部１６３は、自装置の登録情報１００ａ，１００ｂのＶＥＲが、制御メッセージに付与された登録情報２００，１００ａのＶＥＲより小さい場合（ステップＳｔ４のＮｏ）、自装置の登録情報１００ａ，１００ｂを、制御メッセージに付与された登録情報２００，１００ａに基づき変更する（ステップＳｔ７）。なお、制御メッセージに登録情報２００，１００ａが付与されていない場合でも、上述したように登録情報２００，１００ａ内のノードＩＤ及び装置ＩＤは自明であるため、変更処理部１６３は、その自明なノードＩＤ及び装置ＩＤから自装置の登録情報１００ａ，１００ｂを変更できる。
【０１１５】
次に、メッセージ転送処理部１６２ａは、登録情報１００ａ，１００ｂに基づき、制御対象ノード＃１〜＃４を制御する装置が自装置であると判定し、制御対象ノード＃１〜＃４に制御メッセージを転送する（ステップＳｔ８）。このようにして、コントローラ１ａ，１ｂは動作する。
【０１１６】
このように、本実施例によると、コントローラ情報１０ａｘ，１０ｂｘ，２０ｘのＶＥＲの比較により、新しいコントローラ情報１０ａｘ，１０ｂｘ，２０ｘを判別できるため、上述したような制御メッセージのピンポン伝送が防止される。したがって、中継装置４の制御処理の遅延が低減される。
【０１１７】
（第３実施例）
図１４には、ネットワークシステムの第３実施例の動作が示されている。図１４において、図１と共通する構成については同一の符号を付し、その説明を省略する。本実施例では、上記の比較情報として、コントローラ情報２０ｙ，１０ａｙ，１０ｂｙを更新した時刻に関する情報が用いられる。
【０１１８】
より具体的には、上記の情報として、コントローラ情報２０ｙ，１０ａｙ，１０ｂｙの更新時刻からの経過時刻（＝現在時刻−更新時刻）が用いられる。更新時刻は、更新時刻情報（「時刻」参照）として、コントローラ情報２０ｙ，１０ａｙ，１０ｂｘのノードごとに記憶されている。更新処理部２５０，１６０は、更新指示によるコントローラ情報２０ｙ，１０ａｙ，１０ｂｙの更新時、例えばタイマにより更新時刻を検出し、コントローラ情報２０ｙ，１０ａｙ，１０ｂｙ内の更新時刻情報を更新する。
【０１１９】
ネットワーク制御サーバ２及びコントローラ１ａ，１ｂは、コントローラ情報２０ｙ，１０ａｙ，１０ｂｙの更新時刻から算出した経過時刻を示す情報（以下、「経過時刻情報」と表記）を制御メッセージに付与して送信する。また、ネットワーク制御サーバ２及びコントローラ１ａ，１ｂは、制御メッセージに付与された経過時刻情報と、コントローラ情報２０ｙ，１０ａｙ，１０ｂｙから得られた経過時刻情報とを比較することにより、コントローラ情報２０ｙ，１０ａｙ，１０ｂｙの間で新しさを比較する。ここで、コントローラ情報１０ａｙ，１０ｂｙの更新時刻情報は第１時刻情報及び第４時刻情報の一例であり、コントローラ情報２０ｙの更新時刻情報は第２時刻情報及び第３時刻情報の一例である。以下に動作例を挙げて説明する。
【０１２０】
制御アプリケーション２１は、制御対象ノード＃２の中継装置４宛ての制御メッセージを生成した後、制御メッセージに、コントローラ情報２０ｘのうち、制御対象ノード＃２についての登録情報２０１（ノードＩＤ「＃２」及び装置ＩＤ「１ａ」）及び経過時刻情報「００：１０」を付与する。
【０１２１】
経過時刻情報は、コントローラ情報２０ｘのうち、制御対象ノード＃２についての更新時刻情報（時刻「２０：０２」）から算出される。本例では、現在時刻を「２０：１２」として、現在時刻と更新時刻の差分から経過時刻「００：１０」が算出される。なお、本例のコントローラ情報２０ｙ，１０ａｙ，１０ｂｙのノードＩＤ及び装置ＩＤは、図８の例と同一である。
【０１２２】
制御アプリケーション２１は、登録情報２０１及び経過時刻情報が付与された制御メッセージをコントローラ１ａに送信する。より具体的には、図６において、更新処理部２５０は、ノードごとに更新時刻情報を不揮発性メモリ２８に記憶させ、メッセージ送信部２５２は、制御メッセージに登録情報２００及び経過時刻情報を付与し、登録情報２００及び経過時刻情報が付与された制御メッセージをコントローラ１ａに送信する。なお、後述するように、コントローラ１ａは、コントローラ情報２０ｙ，１０ａｙの間で新しさを比較できればよく、上述したように登録情報２０１のノードＩＤ及び装置ＩＤは自明であるため、制御メッセージには経過時刻情報のみが付与されてもよい。
【０１２３】
コントローラ１ａは、登録情報２０１及び経過時刻情報が付与された制御メッセージを受信すると、登録情報２０１に含まれる装置ＩＤ「１ａ」と、コントローラ情報１０ａｙのうち、ノードＩＤ「＃２」に対応する登録情報１０１ａの装置ＩＤ「１ｂ」を比較する。コントローラ１ａは、比較の結果、各装置ＩＤが不一致であるため、登録情報２０１の経過時刻情報「００：１０」と、ノードＩＤ「＃２」に対応する更新時刻情報（点線の丸参照）から算出された経過時刻情報「００：０７」（符号１０２ａ参照）を比較する（「比較」参照）。
【０１２４】
これにより、コントローラ１ａは、制御対象ノード＃２について、ネットワーク制御サーバ２の登録情報２００と自装置の登録情報１００ａの何れが新しいかを判定する。なお、経過時刻情報１０２ａの時刻は、現在時刻「２０：１２」と更新時刻「２０：０５」の差分から算出される。
【０１２５】
本例では、制御対象ノード＃２についての登録情報１０１ａの経過時刻情報の時刻「００：０７」が、制御メッセージに付与された経過時刻情報の時刻「００：１０」より小さい。このため、コントローラ１ａは、各経過時刻情報の比較の結果、自装置の登録情報１０１ａがネットワーク制御サーバ２の登録情報２０１より新しいと判定する。
【０１２６】
したがって、コントローラ１ａは、制御対象ノード＃２を制御する装置が自装置ではないと判定して、登録情報１０１ａの装置ＩＤ「１ｂ」に従い、制御メッセージを他方のコントローラ１ｂに転送する（「転送」参照）。このとき、コントローラ１ａは、登録情報１０１ａ及び経過時刻情報「００：０７」を制御メッセージに付与する。
【０１２７】
このように、コントローラ１ａは、各経過時刻情報、すなわち更新時刻情報の比較の結果に基づき、自装置の登録情報１０１ａがネットワーク制御サーバ２の登録情報２０１より新しいと判定した場合、自装置の登録情報１０１ａ及び経過時刻情報を制御メッセージに付与し、制御メッセージを転送する。このため、転送先のコントローラ１ｂは、経過時刻情報に基づき、制御対象ノード＃２について、コントローラ情報１０ａｙ，１０ｂｙの新しさを比較することができる。
【０１２８】
コントローラ１ｂは、登録情報１０１ａ及び経過時刻情報の付与された制御メッセージを受信すると、登録情報１０１ａに含まれる装置ＩＤ「１ｂ」と、コントローラ情報１０ｂｙのうち、ノードＩＤ「＃２」に対応する登録情報１０１ｂの装置ＩＤ「１ａ」を比較する。コントローラ１ｂは、比較の結果、各装置ＩＤが不一致であるため、制御メッセージに付与された経過時刻情報「００：０７」と、ノードＩＤ「＃２」に対応する更新時刻情報（点線の丸参照）から算出された経過時刻情報「００：１０」（符号１０２ｂ参照）を比較する（「比較」参照）。これにより、コントローラ１ｂは、制御対象ノード＃２について、他方のコントローラ１ａの登録情報１０１ａと自装置の登録情報１０１ｂの何れが新しいかを判定する。
【０１２９】
本例では、コントローラ１ｂの登録情報１０２ｂの経過時刻情報の時刻「００：１０」が、制御メッセージに付与された経過時刻情報の時刻「００：０７」より大きい。このため、コントローラ１ｂは、各経過時刻情報の比較の結果、他方のコントローラ１ａの登録情報１０１ａが自装置の登録情報１０１ｂより新しいと判定して、コントローラ情報１０ｂｙを登録情報１０１ａに基づき変更する。
【０１３０】
より具体的には、コントローラ１ｂは、コントローラ情報１０ｂｙ内の登録情報１０１ｂが他方のコントローラ１ａの登録情報１０１ａに一致するように装置ＩＤを「１ｂ」に変更し、さらに更新時刻情報を、受信した経過時刻情報に基づき「２０：０５」に変更する（矢印参照）。このため、コントローラ１ｂは、自装置のコントローラ情報１０ｂｙを最新の更新状態とすることができる。
【０１３１】
本実施例において、コントローラ１ａ，１ｂは、経過時刻情報を比較することにより、コントローラ情報２０，１０ａｙ，１０ｂｙの新しさを比較するが、これに限定されない。例えば、ネットワーク制御サーバ２及び各コントローラ１ａ，１ｂの間において、現在時刻を計時するタイマの時刻同期が確立していれば、コントローラ１ａ，１ｂは、経過時刻情報に代えて更新時刻情報を比較してもよい。
【０１３２】
図１５は、ネットワークシステムの第３実施例の動作を示すシーケンス図である。より具体的には、図１５は、図１４の動作のシーケンスを示したものである。
【０１３３】
まず、ネットワーク制御サーバ２は、登録情報２０１及び経過時刻情報「００：１０」が付与された制御メッセージをコントローラ１ａに送信する。次に、コントローラ１ｂは、経過時刻情報「００：１０」とコントローラ情報１０ａｙ内の更新時刻情報から算出された経過時刻情報「００：０７」を比較する（符号Ｓ３１参照）。
【０１３４】
コントローラ１ａは、各経過時刻情報の比較の結果、自装置の登録情報１０１ａがネットワーク制御サーバ２の登録情報２０１より新しいと判定し、登録情報１０１ａの装置ＩＤ「１ｂ」に従い、登録情報１０１ａ及び経過時刻情報「００：０７」が付与された制御メッセージをコントローラ１ｂに送信する。次に、コントローラ１ｂは、登録情報１０１ａの経過時刻情報「００：０７」とコントローラ情報１０ｂｙ内の経過時刻情報「００：１０」を比較する（符号Ｓ３２参照）。
【０１３５】
コントローラ１ｂは、各経過時刻情報の比較の結果、他方のコントローラ１ａの登録情報１０１ａｙが自装置の登録情報１０１ｂより新しいと判定し、制御メッセージに付与された経過時刻情報に基づきコントローラ情報１０ｂｙを変更する（符号Ｓ３３参照）。これにより、コントローラ情報１０ｂｙは最新の更新状態となる。
【０１３６】
次に、コントローラ１ｂは、制御メッセージを制御対象ノード＃２の中継装置４に転送する。このようにして、ネットワークシステムは動作する。
【０１３７】
本実施例におけるコントローラ１ａ，１ｂは、上述した図１２の構成と同様の構成を有する。更新処理部１６０は、更新指示に従いコントローラ情報１０ａｙ，１０ｂｙの更新したとき、例えば内部タイマから現在時刻を取得し、更新時刻情報としてノード＃１〜＃４ごとに不揮発性メモリ１３に記憶させる。このため、不揮発性メモリ１３には、図１０に示されたコントローラ情報１０ａｙ，１０ｂｙが保持されている。
【０１３８】
ノード制御部１６１ａは、受信部の一例であり、登録情報２０１，１０１ａ及び経過時刻情報が付与された制御メッセージを、通信ポート２９を介して受信し、経過時刻情報を情報比較部１６４に通知する。
【０１３９】
情報比較部１６４は、比較部の一例であり、制御対象ノードについて、制御メッセージに付与された経過時刻情報と、自装置の更新時刻情報、つまり更新時刻情報から算出された経過時刻情報を比較する。情報比較部１６４は、各経過時刻情報の比較の結果を変更処理部１６３及びメッセージ転送処理部１６２ａに通知する。
【０１４０】
変更処理部１６３は、各経過時刻情報の比較の結果に基づき、制御メッセージに付与された登録情報２０１，１０１ａが自装置の登録情報１０１ａ，１０１ｂより新しいと判定した場合、自装置の登録情報１０１ａ，１０１ｂを、制御メッセージに付与された登録情報２０１，１０１ａに基づき変更する。さらに、変更処理部１６３は、自装置のコントローラ情報１０ａｙ，１０ｂｙの更新時刻情報を、制御メッセージに付与された経過時刻情報に基づき変更する。このため、このため、コントローラ１ａ，１ｂは、自装置のコントローラ情報１０ａｙ，１０ｂｙを最新の更新状態とすることができる。
【０１４１】
また、メッセージ転送処理部１６２ａは、転送処理部の一例であり、各経過時刻情報の比較の結果に基づき、自装置の登録情報１０１ａ，１０１ｂが、制御メッセージに付与された登録情報２０１，１０１ａより新しいと判定した場合、コントローラ情報１０ａｙ，１０ｂｙのうち、制御対象ノードについての登録情報１０１ａを制御メッセージに付与し、制御メッセージを転送する。このため、制御メッセージの転送先のコントローラ１ａ，１ｂは、経過時刻情報の比較を行うことができる。
【０１４２】
図１６は、第３実施例におけるコントローラ１ａ，１ｂの動作を示すフローチャートである。図１６において、図１３と共通する処理については同一の符号を付し、その説明を省略する。本動作は、例えば周期的に実行される。
【０１４３】
情報比較部１６４は、各装置ＩＤが一致しない場合（ステップＳｔ２のＮｏ）、コントローラ情報１０ａｙ，１０ｂｙの更新時刻情報の時刻から経過時刻を算出する（ステップＳｔ４ａ）。これにより、情報比較部１６４は、経過時刻情報を取得する。次に、情報比較部１６４は、制御メッセージに付与された経過時刻情報と、更新時刻情報から取得した自装置の経過時刻情報を比較する（ステップＳｔ４ｂ）。
【０１４４】
メッセージ転送処理部１６２ａは、自装置の経過時刻情報の時刻が、制御メッセージに付与された経過時刻情報の時刻以上である場合（ステップＳｔ４ｂのＹｅｓ）、自装置の登録情報１０１ａ，１０１ｂ及び経過時刻情報を制御メッセージに付与する（ステップＳｔ５ａ）。次に、メッセージ転送処理部１６２ａは、登録情報１０１ａ，１０１ｂ及び経過時刻情報が付与された制御メッセージを、登録情報１０１ａ，１０１ｂの装置ＩＤに応じた他のコントローラ１ａ，１ｂに転送する（ステップＳｔ６ａ）。
【０１４５】
変更処理部１６３は、自装置の経過時刻情報の時刻が、制御メッセージに付与された経過時刻情報の時刻より小さい場合（ステップＳｔ４ｂのＮｏ）、自装置の登録情報１０１ａ，１０１ｂを、制御メッセージに付与された登録情報２０１，１０１ａに基づき変更する（ステップＳｔ７ａ）。なお、制御メッセージに登録情報２０１，１０１ａが付与されていない場合でも、上述したように登録情報２０１，１０１ａ内のノードＩＤ及び装置ＩＤは自明であるため、変更処理部１６３は、その自明なノードＩＤ及び装置ＩＤから自装置の登録情報１０１ａ，１０１ｂを変更できる。
【０１４６】
次に、メッセージ転送処理部１６２ａは、登録情報１０１ａ，１０１ｂに基づき、制御対象ノード＃１〜＃４を制御する装置が自装置であると判定し、制御対象ノード＃１〜＃４に制御メッセージを転送する（ステップＳｔ８ａ）。このようにして、コントローラ１ａ，１ｂは動作する。
【０１４７】
このように、本実施例によると、コントローラ情報１０ａｙ，１０ｂｙ，２０ｙの経過時刻情報の比較により、新しいコントローラ情報１０ａｙ，１０ｂｙ，２０ｙを判別できるため、上述したような制御メッセージのピンポン伝送が防止される。したがって、中継装置４の制御処理の遅延が低減される。
【０１４８】
これまで述べたように、実施例に係るコントローラ１ａ，１ｂは、複数のノード＃１〜＃４と、複数のノード＃１〜＃４を制御するコントローラ１ａ，１ｂとを含む制御用ネットワークＮＷ２内にある。コントローラ１ａ，１ｂは、不揮発性メモリ１３と、更新処理部１６０と、ノード制御部１６１，１６１ａと、メッセージ転送処理部１６２，１６２ａとを有する。不揮発性メモリ１３は、各ノード＃１〜＃４と、各ノード＃１〜＃４を制御するコントローラ１ａ，１ｂとの対応関係を示すコントローラ情報１０ａ，１０ａｘ，１０ａｙ，１０ｂ，１０ｂｘ，１０ｂｙを記憶する。
【０１４９】
更新処理部１６０は、負荷制御サーバ３の更新指示に従いコントローラ情報１０ａ，１０ａｘ，１０ａｙ，１０ｂ，１０ｂｘ，１０ｂｙを更新する。ノード制御部１６１，１６１ａは、制御対象ノード＃１〜＃４に対する制御メッセージをネットワーク制御サーバ２から受信する。
【０１５０】
メッセージ転送処理部１６２，１６２ａは、コントローラ情報１０ａ，１０ａｘ，１０ａｙ，１０ｂ，１０ｂｘ，１０ｂｙ内で制御対象ノード＃１〜＃４に対応付けられたコントローラ１ａ，１ｂが自装置ではないとき、制御対象ノード＃１〜＃４に対応付けられた他のコントローラ１ａ，１ｂに制御メッセージを転送する。
【０１５１】
上記の構成によると、メッセージ転送処理部１６２，１６２ａは、制御対象ノードを制御するコントローラ１ａ，１ｂが自装置ではないとき、制御対象ノードを制御する他のコントローラ１ａ，１ｂに制御メッセージを転送する。このため、制御メッセージは廃棄されないので、ネットワーク制御サーバ２は、制御メッセージを再送する必要がない。したがって、実施例に係るコントローラ１ａ，１ｂによると、制御対象ノード＃１〜＃４の制御の遅延時間が低減される。
【０１５２】
また、実施例に係るネットワークシステムは、複数のノード＃１〜＃４と、ネットワーク制御サーバ２と、コントローラ１ａ，１ｂと、負荷制御サーバ３とを有する。ネットワーク制御サーバ２は、各ノード＃１〜＃４に対する制御メッセージを生成する。コントローラ１ａ，１ｂは、複数のノード＃１〜＃４を制御する。
【０１５３】
ネットワーク制御サーバ２は、不揮発性メモリ２８と、更新処理部２５０と、メッセージ送信部２５２とを有する。不揮発性メモリ２８は、各ノード＃１〜＃４と、各ノード＃１〜＃４を制御するコントローラ１ａ，１ｂとの対応関係を示すコントローラ情報２０，２０ｘ，２０ｙを記憶する。更新処理部２５０は、負荷制御サーバ３の更新指示に従いコントローラ情報２０，２０ｘ，２０ｙを更新する。メッセージ送信部２５２は、コントローラ情報２０，２０ｘ，２０ｙ内で制御対象ノード＃１〜＃４に対応付けられたコントローラ１ａ，１ｂに制御メッセージを送信する。
【０１５４】
コントローラ１ａ，１ｂは、不揮発性メモリ１３と、更新処理部１６０と、ノード制御部１６１，１６１ａと、メッセージ転送処理部１６２，１６２ａとを有する。不揮発性メモリ１３は、、各ノード＃１〜＃４と、各ノード＃１〜＃４を制御するコントローラ１ａ，１ｂとの対応関係を示すコントローラ情報１０ａ，１０ａｘ，１０ａｙ，１０ｂ，１０ｂｘ，１０ｂｙを記憶する。
【０１５５】
更新処理部１６０は、負荷制御サーバ３の更新指示に従いコントローラ情報１０ａ，１０ａｘ，１０ａｙ，１０ｂ，１０ｂｘ，１０ｂｙを更新する。ノード制御部１６１，１６１ａは、メッセージ送信部２５２から送信された制御メッセージを受信する。
【０１５６】
メッセージ転送処理部１６２，１６２ａは、コントローラ情報１０ａ，１０ａｘ，１０ａｙ，１０ｂ，１０ｂｘ，１０ｂｙ内で制御対象ノード＃１〜＃４に対応付けられたコントローラ１ａ，１ｂが自装置ではないとき、制御対象ノード＃１〜＃４に対応付けられた他のコントローラ１ａ，１ｂに制御メッセージを転送する。
【０１５７】
負荷制御サーバ３は、ネットワーク制御サーバ２及びコントローラ１ａ，１ｂにコントローラ情報２０，２０ｘ，２０ｙ，１０ａ，１０ａｘ，１０ａｙ，１０ｂ，１０ｂｘ，１０ｂｙの更新をそれぞれ指示する。
【０１５８】
実施例に係るネットワークシステムは、上記のコントローラ１ａ，１ｂと同様の構成を含むので、上述した内容と同様の作用効果を奏する。
【０１５９】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【０１６０】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内の通信制御装置において、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第１情報を記憶する記憶部と、
更新装置の指示に従い前記第１情報を更新する更新処理部と、
前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、
前記第１情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有することを特徴とする通信制御装置。
（付記２）  前記ネットワーク制御装置は、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第２情報を記憶し、前記第２情報を前記更新装置からの指示に従い更新し、
前記制御情報は、前記第２情報内で前記制御対象ノードに対応付けられた通信制御装置に送信されることを特徴とする付記１に記載の通信制御装置。
（付記３）  前記更新処理部は、前記第１情報を更新した回数に関する第１更新情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第２情報が前記更新装置からの指示に従い更新された回数に関する第２更新情報が付与され、
前記制御対象ノードについて前記第１更新情報と前記第２更新情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第２情報が前記第１情報より新しいと判定した場合、前記第１情報を前記第２情報に基づき変更する変更処理部を、さらに有することを特徴とする付記２に記載の通信制御装置。
（付記４）  前記転送処理部は、前記比較の結果に基づき、前記第１情報が前記第２情報より新しいと判定した場合、前記制御対象ノードについて前記第１更新情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記３に記載の通信制御装置。
（付記５）  前記更新処理部は、前記第１情報を更新した時刻に関する第１時刻情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第２情報が前記更新装置からの指示に従い更新された時刻に関する第２時刻情報が付与され、
前記制御対象ノードについて前記第１時刻情報と前記第２時刻情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第２情報が前記第１情報より新しいと判定した場合、前記第１情報を前記第２情報に基づき変更する変更処理部を、さらに有することを特徴とする付記２に記載の通信制御装置。
（付記６）  前記転送処理部は、前記比較の結果に基づき、前記第１情報が前記第２情報より新しいと判定した場合、前記制御対象ノードについて前記第１時刻情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記５に記載の通信制御装置。
（付記７）  前記転送処理部は、前記第１情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置であるとき、前記制御対象ノードに前記制御情報を転送することを特徴とする付記１乃至６の何れかに記載の通信制御装置。
（付記８）  複数のノードと、前記複数のノードの各々に対する制御情報を生成するネットワーク制御装置と、前記複数のノードを制御する複数の通信制御装置と、更新装置とを有し、
前記ネットワーク制御装置は、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第３情報を記憶する第１記憶部と、
前記更新装置の指示に従い前記第３情報を更新する第１更新処理部と、
前記複数の通信制御装置のうち、前記第３情報内で制御対象ノードに対応付けられた通信制御装置に前記制御情報を送信する送信部とを有し、
前記複数の通信制御装置は、それぞれ、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第４情報を記憶する第２記憶部と、
前記更新装置の指示に従い前記第４情報を更新する第２更新処理部と、
前記送信部から送信された前記制御情報を受信する受信部と、
前記第４情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有し、
前記更新装置は、前記ネットワーク制御装置及び前記複数の通信制御装置に前記第３情報及び前記第４情報の更新をそれぞれ指示することを特徴とするネットワークシステム。
（付記９）  前記第１更新処理部は、前記第３情報を更新した回数に関する第３更新情報を、前記複数のノードのそれぞれについて前記第１記憶部に記憶させ、
前記第２更新処理部は、前記第４情報を更新した回数に関する第４更新情報を、前記複数のノードのそれぞれについて前記第２記憶部に記憶させ、
前記送信部は、前記制御情報に、前記制御対象ノードについて第３更新情報を付与して、前記制御情報を送信し、
前記複数の通信制御装置は、それぞれ、
前記制御対象ノードについて前記第３更新情報と前記第４更新情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第３情報が前記第４情報より新しいと判定した場合、前記第４情報を前記第３情報に基づき変更する変更処理部を、さらに有することを特徴とする付記８に記載のネットワークシステム。
（付記１０）  前記転送処理部は、前記比較の結果に基づき、前記第４情報が前記第３情報より新しいと判定した場合、前記制御対象ノードについて前記第４更新情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記９に記載のネットワークシステム。
（付記１１）  前記第１更新処理部は、前記第３情報を更新した時刻に関する第３時刻情報を、前記複数のノードのそれぞれについて前記第１記憶部に記憶させ、
前記第２更新処理部は、前記第４情報を更新した時刻に関する第４時刻情報を、前記複数のノードのそれぞれについて前記第２記憶部に記憶させ、
前記送信部は、前記制御情報に、前記制御対象ノードについて第３時刻情報を付与して、前記制御情報を送信し、
前記複数の通信制御装置は、それぞれ、
前記制御対象ノードについて前記第３時刻情報と前記第４時刻情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第３情報が前記第４情報より新しいと判定した場合、前記第４情報を前記第３情報に基づき変更する変更処理部を、さらに有することを特徴とする付記８に記載のネットワークシステム。
（付記１２）  前記転送処理部は、前記比較の結果に基づき、前記第４情報が前記第３情報より新しいと判定した場合、前記制御対象ノードについて前記第４時刻情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記１１に記載のネットワークシステム。
（付記１３）  前記転送処理部は、前記第３情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置であるとき、前記制御対象ノードに前記制御情報を転送することを特徴とする付記８乃至１２の何れかに記載のネットワークシステム。
【符号の説明】
【０１６１】
１ａ，１ｂ                                     コントローラ
２                                             ネットワーク制御サーバ
３                                             負荷制御サーバ
４                                             中継装置
１０ａ，１０ａｘ，１０ａｙ                            コントローラ情報
１０ｂ，１０ｂｘ，１０ｂｙ                            コントローラ情報
２０，２０ｘ，２０ｙ                                  コントローラ情報
１３，２８，３３                               不揮発性メモリ
１６０                                         更新処理部
１６１                                         ノード制御部
１６２                                         メッセージ転送処理部
１６３                                         変更処理部
１６４                                         情報比較部
２５０                                         更新処理部
２５１                                         ネットワーク制御部
２５２                                         メッセージ送信部
３０１                                         更新指示部
【図１】
2017085294.tif 000003
【図２】
2017085294.tif 000004
【図３】
2017085294.tif 000005
【図４】
2017085294.tif 000006
【図５】
2017085294.tif 000007
【図６】
2017085294.tif 000008
【図７】
2017085294.tif 000009
【図８】
2017085294.tif 000010
【図９】
2017085294.tif 000011
【図１０】
2017085294.tif 000012
【図１１】
2017085294.tif 000013
【図１２】
2017085294.tif 000014
【図１３】
2017085294.tif 000015
【図１４】
2017085294.tif 000016
【図１５】
2017085294.tif 000017
【図１６】
2017085294.tif 000018