JP2017085294A - 通信制御装置及びネットワークシステム - Google Patents
通信制御装置及びネットワークシステム Download PDFInfo
- Publication number
- JP2017085294A JP2017085294A JP2015210174A JP2015210174A JP2017085294A JP 2017085294 A JP2017085294 A JP 2017085294A JP 2015210174 A JP2015210174 A JP 2015210174A JP 2015210174 A JP2015210174 A JP 2015210174A JP 2017085294 A JP2017085294 A JP 2017085294A
- Authority
- JP
- Japan
- Prior art keywords
- information
- control
- controller
- update
- communication control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 制御の遅延時間が低減された通信制御装置及びネットワークシステムを提供する。
【解決手段】 通信制御装置は、複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内にあり、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第1情報を記憶する記憶部と、更新装置の指示に従い前記第1情報を更新する更新処理部と、前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有する。
【選択図】図3
【解決手段】 通信制御装置は、複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内にあり、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第1情報を記憶する記憶部と、更新装置の指示に従い前記第1情報を更新する更新処理部と、前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有する。
【選択図】図3
Description
本件は、通信制御装置及びネットワークシステムに関する。
通信需要の増加により、1つのネットワークに接続されるネットワーク機器の台数が増加している。例えば、ネットワーク内の各中継装置(例えばルータ)は、パケットを転送する経路を個別に制御するため、ネットワーク全体として、パケットの経路を柔軟に構成することが難しい。
これに対し、SDN(Software Defined Networking)の技術が適用されたネットワークでは、各ネットワーク機器の制御機能が1つのソフトウェアに集約されるため、例えば柔軟な経路構成が可能である。例えばオープンフロープロトコルでは、パケットの中継装置からパケットの経路制御機能が分離され、SDNコントローラと呼ばれる単一の装置に集約されている(例えば特許文献1参照)。SDNコントローラは、オープンなAPI(Application Programming Interface)を備えるため、外部の制御アプリケーションに従い経路情報を各中継装置に設定することにより、ネットワーク全体として、パケットの経路を柔軟に構成することが可能となる。
また、SDNコントローラへの制御の集中に伴う耐障害性及び性能のスケーラビリティの問題を解決するため、分散型SDNコントローラが研究開発されている(例えば非特許文献1参照)。分散型SDNコントローラは、ネットワーク内の全ての中継装置ではなく、一部の中継装置の制御を分担するため、中継装置の制御処理の負荷を複数の分散型SDNコントローラ(以下、「コントローラ」と表記)に分散させることができる。
制御アプリケーションは、中継装置宛ての制御メッセージを、その中継装置を制御するコントローラだけに送信する。コントローラは、オープンフローネットワークの仕様の制約のため、自装置が制御対象とする中継装置だけに制御メッセージを送信することができ、他のコントローラが制御対象とする中継装置には制御メッセージを送信することができない。
このため、制御アプリケーション及びコントローラの間において、コントローラとそのコントローラが制御する中継装置の対応関係を示す情報(以下、「コントローラ情報」)が一致している必要がある。コントローラ情報は、負荷分散処理やフェイルオーバ処理を行うため、運用中であっても動的に変更される。コントローラ情報の管理方式としては、特定の情報管理サーバがコントローラ情報を管理する集中管理方式と、制御アプリケーション及びコントローラにコントローラ情報をキャッシュとして保持させるキャッシュ方式(例えば非特許文献2参照)とが挙げられる。
引地、他3名、「分散型SDNコントローラにおけるスケーラビリティ向上手法に関する検討」、電子情報通信学会NV研究会、2015年
Pankaj Berde et al、「ONOS Towards an Open Distributed SDN OS」、 HotSDN’14、August 22, 2014
集中管理方式の場合、制御アプリケーション及びコントローラは、共通の情報管理サーバのコントローラ情報を参照するため、制御アプリケーション及びコントローラの間においてコントローラ情報の不一致が生ずることはない。しかし、情報管理サーバに制御アプリケーション及び複数のコントローラからアクセスが集中して情報管理サーバの負荷が増加するため、集中管理方式では処理速度などの性能の向上が難しい。
一方、キャッシュ方式の場合、制御アプリケーション及びコントローラは、それぞれ、コントローラ情報の更新元の装置から送信された更新指示に従い、自装置に保持されたコントローラ情報のキャッシュを更新する。このため、キャッシュ方式の場合、集中管理方式の場合のような性能の問題は生じない。
しかし、制御アプリケーションのキャッシュの更新タイミングとコントローラのキャッシュの更新タイミングは、ネットワークの負荷状態や制御アプリケーションを動作させる装置及びコントローラ自体の負荷状態に応じて変動する。このため、制御アプリケーション及びコントローラの間において、キャッシュの更新タイミングがばらつき、その結果、コントローラ情報の不一致が生ずるおそれがある。
制御アプリケーション及びコントローラの間においてコントローラ情報の不一致が生ずると、制御アプリケーションからコントローラに、そのコントローラの制御対象ではない中継装置宛ての制御メッセージが送信される。このとき、コントローラは、制御メッセージを送信せずに廃棄し、制御アプリケーションにエラー通知を行う。
制御アプリケーションは、エラー通知を受けると制御メッセージを再送するため、キャッシュの更新により制御アプリケーション及びコントローラのコントローラ情報が一致した後、制御メッセージは、正しいコントローラから中継装置へと送信される。しかし、制御メッセージの再送により中継装置の制御処理に遅延が生ずるという問題が生ずる。
そこで本件は上記の課題に鑑みてなされたものであり、制御の遅延時間が低減された通信制御装置及びネットワークシステムを提供することを目的とする。
本明細書に記載の通信制御装置は、複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内にあり、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第1情報を記憶する記憶部と、更新装置の指示に従い前記第1情報を更新する更新処理部と、前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有する。
本明細書に記載のネットワークシステムは、複数のノードと、前記複数のノードの各々に対する制御情報を生成するネットワーク制御装置と、前記複数のノードを制御する複数の通信制御装置と、更新装置とを有し、前記ネットワーク制御装置は、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第3情報を記憶する第1記憶部と、前記更新装置の指示に従い前記第3情報を更新する第1更新処理部と、前記複数の通信制御装置のうち、前記第3情報内で制御対象ノードに対応付けられた通信制御装置に前記制御情報を送信する送信部とを有し、前記複数の通信制御装置は、それぞれ、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第4情報を記憶する第2記憶部と、前記更新装置の指示に従い前記第4情報を更新する第2更新処理部と、前記送信部から送信された前記制御情報を受信する受信部と、前記第4情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有し、前記更新装置は、前記ネットワーク制御装置及び前記複数の通信制御装置に前記第3情報及び前記第4情報の更新をそれぞれ指示する。
制御の遅延時間を低減できる。
図1は、ネットワークシステムの一例を示す構成図である。ネットワークシステムは、通信制御装置の一例であるコントローラ1a,1bと、ネットワーク制御装置の一例であるネットワーク制御サーバ2と、更新装置の一例である負荷制御サーバ3と、複数のノード#1〜#4に配置された中継装置4とを有する。なお、本実施例において、コントローラ1a,1b及び中継装置4のノード数は一例であり、限定されるものではない。
コントローラ1a,1b、ネットワーク制御サーバ2、及び負荷制御サーバ3は、LAN(Local Area Network)などの制御用ネットワークNW1を介して通信する。コントローラ1a,1b及び各ノード#1〜#4の中継装置4は、LANなどの制御用ネットワークNW2を介して通信する。
中継装置4は、パケットが伝送されるネットワークNW3のノード#1〜#4(カッコ内参照)に配置されている。中継装置4は、例えばルータなどのスイッチ装置であり、パケットを他の通信装置に中継する。なお、パケットとしては、例えばIP(Internet Protocol)パケットが挙げられるが、これに限定されない。
コントローラ1a,1bは、ノード#1〜#4の中継装置4を制御する。コントローラ1a,1bは、ノード#1〜#4の中継装置4の制御をそれぞれ分担する。このため、ノード#1〜#4の中継装置4の制御処理の負荷がコントローラ1a,1bに分散される。
コントローラ1a,1b及びネットワーク制御サーバ2は、それぞれ、コントローラ1a,1bとコントローラ1a,1bが制御する中継装置4のノード#1〜#4の対応関係を示すコントローラ情報10a,10b,20を、キャッシュとして保持している。すなわち、コントローラ情報10a,10b,20は、各ノード#1〜#4と、各ノード#1〜#4を制御するコントローラ1a,1bとの対応関係を示す。なお、コントローラ情報10a,10bは、第1情報及び第4情報の一例であり、コントローラ情報20は、第2情報及び第3情報の一例である。
コントローラ情報10a,10b,20には、ノードID(#1〜#4)とコントローラ1a,1bを識別する装置ID(一例として符号10a,10bで示す)が対応付けられて登録されている。このため、コントローラ1a,1b及びネットワーク制御サーバ2は、各々のコントローラ情報10a,10b,20を参照することにより、コントローラ1a,1bの制御対象ノードの中継装置4を判別することができる。
負荷制御サーバ3は、コントローラ1a,1b及びネットワーク制御サーバ2にコントローラ情報10a,10b,20の更新を指示する(「更新指示」参照)。コントローラ1a,1b及びネットワーク制御サーバ2は、負荷制御サーバ3の更新指示に従いコントローラ情報10a,10b,20を更新する。
図1の例において、コントローラ情報10a,10b,20は、ノード#2に対応する装置IDが「1a」から「1b」に更新されている(「1a(→1b)」参照)。これにより、コントローラ1aは、ノード#2の中継装置4を制御対象ノードから除外し、コントローラ1bは、ノード#2の中継装置4を制御対象ノードに加える(点線の矢印参照)。
負荷制御サーバ3は、コントローラ1a,1b間の分散処理やフェイルオーバ処理を行うため、運用中、コントローラ情報10a,10b,20を動的に更新する。コントローラ1a,1b及びネットワーク制御サーバ2は、負荷制御サーバ3の更新指示に従い、コントローラ情報10a,10b,20のキャッシュを更新する。このキャッシュ方式によると、特定の情報管理サーバがコントローラ情報を管理する集中管理方式とは異なり、アクセスの集中による中継装置4の制御処理性能の低下は生じない。
ネットワーク制御サーバ2には、例えばオープンフローのAPIに基づく制御アプリケーション21が実装されている。制御アプリケーション21は、中継装置4を制御するための制御メッセージを生成する。制御メッセージは、制御情報の一例であり、例えばオープンフローの規格に準じており、宛先情報や中継装置4のパケットの中継経路の設定情報などが含まれる。
制御アプリケーション21は、コントローラ情報20を参照し、制御対象ノードのノードIDに対応する装置IDを検索する。制御アプリケーション21は、検索された装置IDのコントローラ1a,1bだけに制御メッセージを送信する。制御アプリケーション21は、例えば、ノード#1の中継装置4宛ての制御メッセージを、ノード#1に対応する装置ID「1a」のコントローラ1aだけに送信する。
コントローラ1a,1bは、ネットワーク制御サーバ2から制御メッセージを受信すると、制御メッセージの宛先に該当するノードIDに対応する装置IDを検出する。コントローラ1a,1bは、検出した装置IDが自装置の装置IDに一致する場合、制御メッセージを宛先の中継装置4に転送する。例えば、コントローラ1aは、ノード#1の中継装置4宛ての制御メッセージを受信した場合、ノードID「#1」に対応する装置IDは「1a」、つまり自装置の装置IDであるため、制御メッセージをノード#1の中継装置4に転送する。
しかし、コントローラ1a,1bは、検出した装置IDが自装置の装置IDに一致しない場合、制御メッセージを宛先の中継装置4に転送することができない。このため、制御アプリケーション21及びコントローラ1a,1bの間において、コントローラ情報10a,10b,20の不一致があると、制御メッセージは制御対象ノード#1〜#4の中継装置4に送信されない。
上述したように、コントローラ情報10a,10b,20は、負荷制御サーバ3の更新指示に従って更新されるが、コントローラ情報10a,10b,20の更新タイミングは、ネットワークNW1の負荷状態やネットワーク制御サーバ2及びコントローラ1a,1b自体の負荷状態に応じて変動する。このため、コントローラ情報10a,10b,20の更新タイミングがばらつき、その結果、コントローラ情報10a,10b,20の不一致が生ずるおそれがある。この場合の動作について、以下に例を挙げて説明する。
図2には、ネットワークシステムの比較例の動作が示されている。図2において、図1と共通する構成については同一の符号を付し、その説明を省略する。
本例は、図1の例における負荷制御サーバ3の更新指示に対し、ネットワーク制御サーバ2のコントローラ情報20の更新が遅延した場合を示す。すなわち、コントローラ1a,1bのコントローラ情報10a,10bにおいて、ノードID「#2」に対応する装置IDは「1b」に更新済みであるのに対し、ネットワーク制御サーバ2のコントローラ情報20において、ノードID「#2」に対応する装置IDは「1a」のままである。
制御アプリケーション21は、ノード#2の中継装置4を宛先とする制御メッセージを生成する。コントローラ情報20において、ノード#2は装置ID「1a」(点線の丸参照)に対応付けられている。このため、制御アプリケーション21は、制御メッセージをコントローラ1aに送信する。
コントローラ1aは、制御メッセージを受信すると、自装置に保持されたコントローラ情報10aから、制御メッセージの宛先に該当するノードID「#2」に対応する装置ID「1b」(点線の丸参照)を検出する。コントローラ1aは、装置ID「1b」が自装置の装置ID「1a」に一致しないため、制御メッセージを廃棄する(「廃棄」参照)。
このように、制御アプリケーション21のコントローラ情報20とコントローラ1aのコントローラ情報10aに差異が生ずると、制御メッセージが宛先の中継装置4に送信されない。この場合、制御アプリケーション21は、コントローラ1aからのエラー通知に応じて制御メッセージを再送する。このため、コントローラ情報20の更新により制御アプリケーション21及びコントローラ1aのコントローラ情報20,10aが一致した後、制御メッセージは、正しいコントローラ1bから中継装置4へと送信されるが、制御メッセージの再送により中継装置4の制御処理に遅延が生ずる。
そこで、実施例では、コントローラ1aは、コントローラ情報10aに基づき、制御対象ノード#2を制御する装置が自装置ではないと判定した場合、制御メッセージを、制御対象ノード#2を制御する他のコントローラ1bに転送することで、制御の遅延時間を低減する。実施例の動作について、以下に例を挙げて説明する。
(第1実施例)
図3には、ネットワークシステムの第1実施例の動作が示されている。図3において、図1と共通する構成については同一の符号を付し、その説明を省略する。なお、本例のコントローラ情報20,10a,10bの内容は図2の例と共通である。
図3には、ネットワークシステムの第1実施例の動作が示されている。図3において、図1と共通する構成については同一の符号を付し、その説明を省略する。なお、本例のコントローラ情報20,10a,10bの内容は図2の例と共通である。
制御アプリケーション21は、制御対象ノード#2の中継装置4宛ての制御メッセージを、その中継装置4に対応するコントローラ1aに送信する。コントローラ1aは、制御メッセージを受信すると、制御メッセージの宛先のノード#2に対応する装置ID「1b」を検出する(点線の丸参照)。コントローラ1aは、検出した装置ID「1b」が自装置の装置ID「1a」に一致しないため、ノード#2の中継装置4を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ1bに転送する(「転送」参照)。
コントローラ1bは、制御メッセージを受信すると、制御メッセージの宛先のノード#2に対応する装置ID「1b」を検出する(点線の丸参照)。コントローラ1bは、検出した装置ID「1b」が自装置の装置ID「1b」に一致するため、ノード#2の中継装置4を制御する装置が自装置であると判定して、制御メッセージをノード#2の中継装置4に転送する。
このように、コントローラ1aは、自装置のコントローラ情報10a内で制御対象ノード#2に対応付けられたコントローラ2bが自装置ではないとき、制御対象ノード#2に対応付けられた他のコントローラ2bに制御メッセージを転送する。このため、制御メッセージは廃棄されないので、ネットワーク制御サーバ2は、制御メッセージを再送する必要がない。したがって、制御対象ノード#2の中継装置4の制御の遅延時間が低減される。
また、図1を参照して述べたように、コントローラ1a,1bは、コントローラ情報10a,10bにおいて、制御メッセージの宛先の該当ノードIDに対応する装置IDが自装置の装置IDに一致した場合、制御メッセージをそのノードIDの中継装置4に転送する。つまり、コントローラ1a,1bは、自装置のコントローラ情報10a,10b内で制御対象ノード#1〜#4に対応付けられたコントローラ1a,1bが自装置であるとき、制御対象ノード#1〜#4に制御メッセージを転送する。このため、コントローラ1a,1bは、制御対象ノード#1〜#4の中継装置4を制御することができる。
図4は、ネットワークシステムの第1実施例の動作を示すシーケンス図である。より具体的には、図4は、図3の動作のシーケンスを示したものである。
まず、負荷制御サーバ3は、ネットワーク(NW)制御サーバ2及びコントローラ1a,1bに更新指示を送信する。コントローラ1a,1bは、ネットワーク制御サーバ2が制御メッセージを送信する前に、更新指示に従いコントローラ情報10a,10bの更新を完了するが(符号S2,S3参照)、ネットワーク制御サーバ2は、コントローラ情報20の更新が遅延し(「遅延」参照)、制御メッセージの送信後に完了する(符号S1参照)。
次に、ネットワーク制御サーバ2は、制御対象ノード#2の中継装置4宛ての制御メッセージをコントローラ1aに送信する。コントローラ1bは、制御メッセージの宛先のノード#2に対応する装置ID「1b」を検出する(符号S4参照)。コントローラ1bは、検出した装置ID「1b」が自装置の装置ID「1a」に一致しないため、ノード#2の中継装置4を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ1bに転送する。
コントローラ1bは、制御メッセージを受信すると、制御メッセージの宛先のノード#2に対応する装置ID「1b」を検出する(符号S5参照)。コントローラ1bは、検出した装置ID「1b」が自装置の装置ID「1b」に一致するため、ノード#2の中継装置4を制御する装置が自装置であると判定して、制御メッセージをノード#2の中継装置4に転送する。このようにして、ネットワークシステムは動作する。
次に、コントローラ1a,1b、ネットワーク制御サーバ2、及び負荷制御サーバ3の構成について説明する。
図5は、負荷制御サーバ3の一例を示す構成図である。負荷制御サーバ3は、CPU(Central Processing Unit)30、ROM31、RAM32、不揮発性メモリ33、及び通信ポート34を有する。CPU30は、互いに信号の入出力ができるように、ROM31、RAM32、不揮発性メモリ33、及び通信ポート34と、データバス35を介して接続されている。
ROM31には、CPU30を駆動するプログラムが格納されている。RAM32は、CPU30のワーキングメモリとして機能する。通信ポート34は、例えばPHY/MACデバイスであり、ネットワークNW1を介してコントローラ1a,1b及びネットワーク制御サーバ2との間で通信する。
不揮発性メモリ33には、更新指示に含まれる指示情報330が保持される。指示情報330には、コントローラ情報10a,10b,20のうち、更新対象のノードID及び装置IDが含まれる。図1の更新指示の場合、指示情報330には、ノードID「#2」及び装置ID「1b」が含まれる。
CPU30は、ROM31からプログラムを読み込むと、機能として、更新制御部300及び更新指示部301が形成される。更新制御部300は、例えば、コントローラ1a,1bの負荷状態に応じて指示情報330を生成して不揮発性メモリ33に書き込み、その旨を更新指示部301に通知する。
更新指示部301は、指示部の一例であり、ネットワーク制御サーバ2及びコントローラ1a,1bにコントローラ情報10a,10b,20の更新をそれぞれ指示する。より具体的には、更新指示部301は、更新制御部300からの通知に応じて、不揮発性メモリ33から指示情報330を読み出し、指示情報330を含む更新指示を、通信ポート34を介してネットワーク制御サーバ2及びコントローラ1a,1bに送信する。
図6は、ネットワーク制御サーバ2の一例を示す構成図である。ネットワーク制御サーバ2は、CPU25、ROM26、RAM27、不揮発性メモリ28、及び通信ポート29を有する。CPU25は、互いに信号の入出力ができるように、ROM26、RAM27、不揮発性メモリ28、及び通信ポート29と、データバス24を介して接続されている。
ROM26には、CPU25を駆動するプログラムが格納されている。RAM27は、CPU25のワーキングメモリとして機能する。通信ポート29は、例えばPHY/MACデバイスであり、ネットワークNW1を介してコントローラ1a,1b及び負荷制御サーバ3との間で通信する。
不揮発性メモリ28には、送信待ちの制御メッセージ280及びコントローラ情報20が保持される。コントローラ情報20は、上述したように、ノード#1〜#4とノード#1〜#4を制御するコントローラ1a,1bの対応関係を示す。なお、不揮発性メモリ33は、コントローラ情報20を記憶する第1記憶部の一例である。
CPU25は、ROM26からプログラムを読み込むと、機能として、更新処理部250、ネットワーク(NW)制御部251、及びメッセージ送信部252が形成される。ネットワーク(NW)制御部251及びメッセージ送信部252は、図1の制御アプリケーション21に相当する。
更新処理部250は、第1更新処理部の一例であり、負荷制御サーバ3の更新指示部301の更新指示に従いコントローラ情報20を更新する。より具体的には、更新処理部250は、負荷制御サーバ3から通信ポート29を介して更新指示を受信すると、更新指示の指示情報330に基づきコントローラ情報20を更新する。
ネットワーク制御部251は、制御対象ノードの制御メッセージ280を生成して不揮発性メモリ33に書き込む。ネットワーク制御部251は、送信タイミングに従い、不揮発性メモリ28から制御メッセージ280を読み出してメッセージ送信部252に出力する。
メッセージ送信部252は、送信部の一例であり、コントローラ情報20のうち、制御対象ノードに対応する装置IDの情報に基づいて、制御対象ノードを制御するコントローラ1a,1bに制御メッセージ280を送信する。すなわち、メッセージ送信部252は、コントローラ情報20内で制御対象ノードに対応付けられたコントローラ1a,1bに制御メッセージ280を送信する。制御メッセージ280は、通信ポート29を介してコントローラ1a,1bに送信される。これにより、制御メッセージ280が、制御対象ノード#1〜#4を制御するコントローラ1a,1bに到達する。
図7は、コントローラ1a,1bの一例を示す構成図である。コントローラ1a,1bは、CPU16、ROM11、RAM12、不揮発性メモリ13、及び通信ポート14を有する。CPU16は、互いに信号の入出力ができるように、ROM11、RAM12、不揮発性メモリ13、及び通信ポート14と、データバス15を介して接続されている。
ROM11には、CPU16を駆動するプログラムが格納されている。RAM12は、CPU16のワーキングメモリとして機能する。通信ポート14は、例えばPHY/MACデバイスであり、ネットワークNW1を介してネットワーク制御サーバ2及び負荷制御サーバ3との間で通信し、ネットワークNW2を介して各ノード#1〜#4の中継装置4との間で通信する。
不揮発性メモリ13には、ネットワーク制御サーバ2または他のコントローラ1a,1bから受信した制御メッセージ130及びコントローラ情報10a,10bが保持される。コントローラ情報10a,10bは、第1情報及び第4情報の一例であり、上述したように、ノード#1〜#4とノード#1〜#4を制御するコントローラ1a,1bの対応関係を示す。なお、不揮発性メモリ13は、コントローラ情報10a,10bを記憶する第2記憶部の一例である。
CPU16は、ROM11からプログラムを読み込むと、機能として、更新処理部160、ノード制御部161、及びメッセージ転送処理部162が形成される。更新処理部160は、第2更新処理部の一例であり、負荷制御サーバ3からの更新指示に従いコントローラ1a,1bをノード#1〜#4ごとに更新する。
ノード制御部161は、受信部の一例であり、ネットワーク制御サーバ2のメッセージ送信部252から送信された制御メッセージ130を受信して不揮発性メモリ13に書き込む。ノード制御部161は、制御メッセージ130に関する所定の処理を行った後、処理の完了をメッセージ転送処理部162に通知する。
メッセージ転送処理部162は、転送処理部の一例であり、コントローラ情報10a,10b内で制御対象ノード#1〜#4に対応付けられたコントローラ1a,1bが自装置ではないとき、制御対象ノード#1〜#4に対応付けられた他のコントローラ1a,1bに制御メッセージを転送する。より具体的には、メッセージ転送処理部162は、ノード制御部161から上記の通知を受けると、制御メッセージ280を読み出し、コントローラ情報10a,10bから、制御メッセージ280の宛先に該当する制御対象ノードの装置IDを検出する。
メッセージ転送処理部162は、検出した装置IDが自装置のIDではない場合、コントローラ情報10a,10bに従い、制御対象ノード#1〜#4を制御する他のコントローラ1a,1bに制御メッセージを転送する。このため、制御メッセージは廃棄されないので、ネットワーク制御サーバ2は、制御メッセージを再送する必要がない。したがって、制御対象ノード#1〜#4の中継装置4の制御の遅延時間が低減される。
また、メッセージ転送処理部162は、コントローラ情報10a,10b内で制御対象ノード#1〜#4に対応付けられたコントローラ1a,1bが自装置であるとき、制御対象ノード#1〜#4の中継装置4に制御メッセージを転送する。より具体的には、メッセージ転送処理部162は、検出した装置IDが自装置のIDである場合、コントローラ情報10a,10bに従い、制御対象ノード#1〜#4を制御する他のコントローラ1a,1bに制御メッセージを転送する。このため、コントローラ1a,1bは、制御対象ノード#1〜#4の中継装置4を制御することができる。
なお、本実施例において、コントローラ情報10a,10bに不一致が生じた場合、以下に述べるように、コントローラ1a,1bの間で制御メッセージ280が繰り返し送受信される現象(いわゆるピンポン伝送)が発生する。
図8には、第1実施例における制御メッセージのピンポン伝送の動作が示されている。図8において、図1と共通する構成については同一の符号を付し、その説明を省略する。
本例は、図1の例における負荷制御サーバ3の更新指示に対し、ネットワーク制御サーバ2及びコントローラ1bのコントローラ情報20,10bの更新が遅延した場合を示す。すなわち、コントローラ1aのコントローラ情報10aにおいて、ノードID「#2」に対応する装置IDは「1b」に更新済みである。しかし、ネットワーク制御サーバ2のコントローラ情報20及びコントローラ1bのコントローラ情報10bにおいて、ノードID「#2」に対応する装置IDは「1a」のままである。
制御アプリケーション21は、ノード#2の中継装置4を宛先とする制御メッセージを生成する。コントローラ情報20において、ノード#2は装置ID「1a」(点線の丸参照)に対応付けられている。このため、制御アプリケーション21は、制御メッセージをコントローラ1aに送信する。
コントローラ1aは、制御メッセージを受信すると、制御メッセージの宛先のノード#2に対応する装置ID「1b」を検出する(点線の丸参照)。コントローラ1aは、検出した装置ID「1b」が自装置の装置ID「1a」に一致しないため、ノード#2の中継装置4を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ1bに転送する(「転送」参照)。
コントローラ1bは、制御メッセージを受信すると、制御メッセージの宛先のノード#2に対応する装置ID「1a」を検出する(点線の丸参照)。コントローラ1bは、検出した装置ID「1a」が自装置の装置ID「1b」に一致しないため、ノード#2の中継装置4を制御する装置が自装置ではないと判定して、制御メッセージを、制御メッセージの送信元のコントローラ1aに転送する(「転送」参照)。
コントローラ1a,1bは、コントローラ1bのコントローラ情報10bが更新されるまで、制御メッセージの送受信動作を繰り返す。すなわち、コントローラ1a,1bは、コントローラ情報10bの更新が完了するまでピンポン伝送を行う。
図9は、第1実施例における制御メッセージのピンポン伝送の動作を示すシーケンス図である。より具体的には、図9は、図8の動作のシーケンスを示したものである。
まず、負荷制御サーバ3は、ネットワーク制御サーバ2及びコントローラ1a,1bに更新指示を送信する。コントローラ1aは、ネットワーク制御サーバ2が制御メッセージを送信する前に、更新指示に従いコントローラ情報10a,10bの更新を完了するが(符号S11参照)、ネットワーク制御サーバ2及びコントローラ1bは、コントローラ情報20,10bの更新が遅延し(「遅延」参照)、制御メッセージの送信後に完了する(符号S12参照)。
次に、ネットワーク制御サーバ2は、制御対象ノード#2の中継装置4宛ての制御メッセージをコントローラ1aに送信する。コントローラ1aは、制御メッセージの宛先のノード#2に対応する装置ID「1b」が自装置の装置ID「1a」に一致しないため、ノード#2の中継装置4を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ1bに転送する。
コントローラ1bは、制御メッセージの宛先のノード#2に対応する装置ID「1a」が自装置の装置ID「1b」に一致しないため、ノード#2の中継装置4を制御する装置が自装置ではないと判定して、制御メッセージを他方のコントローラ1aに転送する。これにより、制御メッセージが、コントローラ1a,1bの間でピンポン伝送される。
コントローラ1bは、コントローラ情報10bの更新の完了後(符号S12参照)、制御メッセージの宛先のノード#2に対応する装置ID「1b」が自装置の装置ID「1b」に一致するため、ノード#2の中継装置4を制御する装置が自装置であると判定する。このため、コントローラ1bは、制御メッセージをノード#2の中継装置4に転送し、ピンポン伝送が停止する。
上記のような制御メッセージのピンポン伝送を防止するため、ネットワーク制御サーバ2及びコントローラ1aは、以下に述べるように、制御メッセージを送信するとき、制御メッセージに、コントローラ情報20,10aの間の新しさを比較するための比較情報を付与してもよい。
(第2実施例)
図10には、ネットワークシステムの第2実施例の動作が示されている。図10において、図1と共通する構成については同一の符号を付し、その説明を省略する。本実施例では、上記の比較情報として、コントローラ情報20x,10ax,10bxの更新された回数に関する情報が用いられる。
図10には、ネットワークシステムの第2実施例の動作が示されている。図10において、図1と共通する構成については同一の符号を付し、その説明を省略する。本実施例では、上記の比較情報として、コントローラ情報20x,10ax,10bxの更新された回数に関する情報が用いられる。
より具体的には、上記の情報として、バージョン情報「VER」が用いられる。VERは、コントローラ情報20x,10ax,10bxのノード#1〜#4ごとに記憶されている。コントローラ情報10ax,10bxのVERは第1更新情報及び第4更新情報の一例であり、コントローラ情報20xのVERは第2更新情報及び第3更新情報の一例である。
また、VERは、負荷制御サーバ3からの更新指示の指示情報330に含まれる。VERは、一例として、更新のたびに1つずつ増加する数値であり、VERが大きいほど、その該当する情報が新しいということになる。本例のように、負荷制御サーバ3が1台である場合、負荷制御サーバ3の更新指示部301にカウンタを設け、カウンタによりVERを生成すればよい。
一方、仮に負荷制御サーバ3が複数存在する場合、VERの一意性を担保するために、例えば「RAFT」(Diego Ongaro and John Ousterhout,「In Search of an Understandable Consensus Algorithm」参照)のような合意形成アルゴリズムを用いることができる。更新処理部250,160は、更新指示の受信時、指示情報330内のVERに従い、コントローラ情報20x,10ax,10bxの該当ノードIDのVERを書き換える。
制御アプリケーション21は、制御対象ノード#2の中継装置4宛ての制御メッセージを生成した後、制御メッセージに、コントローラ情報20xのうち、制御対象ノード#2についての登録情報200を付与する。登録情報200には、ノードID「#2」、装置ID「1a」、及びVER「3」が含まれる。なお、本例のコントローラ情報20x,10ax,10bxのノードID及び装置IDは、図8の例と同一である。
制御アプリケーション21は、登録情報200が付与された制御メッセージをコントローラ1aに送信する。より具体的には、図6において、更新処理部250は、ノードごとにVERを不揮発性メモリ28に記憶させ、メッセージ送信部252は、制御メッセージに、制御対象ノード#1〜#4のVERの登録情報200を付与し、登録情報200が付与された制御メッセージをコントローラ1aに送信する。
また、後述するように、コントローラ1aは、コントローラ情報20x,10axの間で新しさを比較できればよく、登録情報200のノードID及び装置IDは自明であるため、制御メッセージにはVERのみが付与されてもよい。すなわち、ノードIDは、制御メッセージの宛先に該当するノードID「#2」あり、装置IDは、制御メッセージを受信したコントローラ1a自体の装置ID「1a」であることは自明である。
コントローラ1aは、登録情報200が付与された制御メッセージを受信すると、登録情報200に含まれる装置ID「1a」と、コントローラ情報10axのうち、ノードID「#2」に対応する登録情報100aの装置ID「1b」を比較する。コントローラ1aは、比較の結果、各装置IDが不一致であるため、登録情報200のVER「3」(点線の丸参照)と登録情報100aのVER「4」(点線の丸参照)を比較する(「比較」参照)。これにより、コントローラ1aは、制御対象ノード#2について、ネットワーク制御サーバ2の登録情報200と自装置の登録情報100aの何れが新しいかを判定する。
本例では、制御対象ノード#2についての登録情報100aのVER「4」が、制御メッセージに付与された登録情報200のVER「3」より大きい。このため、コントローラ1aは、各VERの比較の結果、自装置の登録情報100aがネットワーク制御サーバ2の登録情報200より新しいと判定する。
したがって、コントローラ1aは、制御対象ノード#2を制御する装置が自装置ではないと判定して、登録情報100aの装置ID「1b」に従い、制御メッセージを他方のコントローラ1bに転送する(「転送」参照)。このとき、コントローラ1aは、登録情報100aを制御メッセージに付与する。
このように、コントローラ1aは、各VERの比較の結果に基づき、自装置の登録情報100aがネットワーク制御サーバ2の登録情報200より新しいと判定した場合、自装置の登録情報100aを制御メッセージに付与し、制御メッセージを転送する。登録情報100aにはVERが含まれるため(点線の丸参照)、転送先のコントローラ1bは、VERに基づき、制御対象ノード#2について、コントローラ情報10ax,10bxの新しさを比較することができる。
コントローラ1bは、登録情報100aの付与された制御メッセージを受信すると、登録情報100aに含まれる装置ID「1b」と、コントローラ情報10bxのうち、ノードID「#2」に対応する登録情報100bの装置ID「1a」を比較する。コントローラ1bは、比較の結果、各装置IDが不一致であるため、登録情報100aのVER「4」(点線の丸参照)と登録情報100bのVER「3」(点線の丸参照)を比較する(「比較」参照)。これにより、コントローラ1bは、制御対象ノード#2について、他方のコントローラ1aの登録情報100aと自装置の登録情報100bの何れが新しいかを判定する。
本例では、制御対象ノード#2についての登録情報100aのVER「4」が、登録情報100bのVER「3」より大きい。このため、コントローラ1bは、各VERの比較の結果、他方のコントローラ1aの登録情報100aが自装置の登録情報100bより新しいと判定して、コントローラ情報10bxを登録情報100aに基づき変更する。
より具体的には、コントローラ1bは、コントローラ情報10bx内の登録情報100bが他方のコントローラ1aの登録情報100aに一致するように、装置IDを「1b」に変更し、VERを「4」に変更する(矢印参照)。このため、コントローラ1bは、自装置のコントローラ情報10bxを最新の更新状態とすることができる。
また、コントローラ1bは、コントローラ情報10bxに基づき、制御対象ノード#2を制御する装置が自装置であると判定できるため、制御対象ノード#2の中継装置4に制御メッセージを転送する。このため、コントローラ1bは、制御対象ノード#2の中継装置4を制御することができる。
図11は、ネットワークシステムの第2実施例の動作を示すシーケンス図である。より具体的には、図11は、図10の動作のシーケンスを示したものである。
まず、ネットワーク制御サーバ2は、VER「3」を含む登録情報200が付与された制御メッセージをコントローラ1aに送信する。次に、コントローラ1aは、登録情報200のVER「3」とコントローラ情報10ax内の登録情報100aのVER「4」を比較する(符号S21参照)。
コントローラ1aは、各VERの比較の結果、自装置の登録情報100aがネットワーク制御サーバ2の登録情報200より新しいと判定し、登録情報100aの装置ID「1b」に従い、VER「4」を含む登録情報100aが付与された制御メッセージをコントローラ1bに送信する。次に、コントローラ1bは、登録情報100aのVER「4」とコントローラ情報10b内の登録情報100bのVER「3」を比較する(符号S22参照)。
コントローラ1bは、各VERの比較の結果、他方のコントローラ1aの登録情報100axが自装置の登録情報100bより新しいと判定し、登録情報100aに基づきコントローラ情報10bxを変更する(符号S23参照)。これにより、コントローラ情報10bxは最新の更新状態となる。
次に、コントローラ1bは、制御メッセージを制御対象ノード#2の中継装置4に転送する。このようにして、ネットワークシステムは動作する。
図12は、本実施例におけるコントローラ1a,1bを示す構成図である。図12において、図7と共通する構成については同一の符号を付し、その説明を省略する。
コントローラ1a,1bは、CPU16、ROM11、RAM12、不揮発性メモリ13、及び通信ポート14を有する。CPU16は、ROM11からプログラムを読み込むと、機能として、更新処理部160、ノード制御部161a、メッセージ転送処理部162a、変更処理部163、及び情報比較部164が形成される。
更新処理部160は、更新指示に従い、VERをノード#1〜#4ごとに不揮発性メモリ13に記憶させる。このため、不揮発性メモリ13には、図10に示されたコントローラ情報10ax,10bxが保持されている。
ノード制御部161aは、受信部の一例であり、登録情報200,100aが付与された制御メッセージを、通信ポート29を介して受信し、登録情報200,100a内のVERを情報比較部164に通知する。
情報比較部164は、比較部の一例であり、制御対象ノードについてVERを比較する。より具体的には、情報比較部164は、受信した制御メッセージに付与されたVERと自装置のコントローラ情報10ax,10bxのVERを比較し、その比較の結果を変更処理部163及びメッセージ転送処理部162aに通知する。
変更処理部163は、各VERの比較の結果に基づき、制御メッセージに付与された登録情報200,100aが自装置の登録情報100a,100bより新しいと判定した場合、自装置の登録情報100a,100bを、制御メッセージに付与された登録情報200,100aに基づき変更する。このため、このため、コントローラ1a,1bは、自装置のコントローラ情報10ax,10bxを最新の更新状態とすることができる。
また、メッセージ転送処理部162aは、転送処理部の一例であり、各VERの比較の結果に基づき、自装置の登録情報100a,100bが、制御メッセージに付与された登録情報200,100aより新しいと判定した場合、コントローラ情報10ax,10bxのうち、制御対象ノードについての登録情報100aを制御メッセージに付与し、制御メッセージを転送する。このため、制御メッセージの転送先のコントローラ1a,1bは、VERの比較を行うことができる。
図13は、第2実施例におけるコントローラ1a,1bの動作を示すフローチャートである。本動作は、例えば周期的に実行される。
ノード制御部161aは、通信ポート29における制御メッセージ(制御MSG)の受信の有無を判定する(ステップSt1)。コントローラ1a,1bは、制御メッセージが受信されていない場合(ステップSt1のNo)、動作を終了する。
また、メッセージ転送処理部162aは、制御メッセージが受信されている場合(ステップSt1のYes)、コントローラ情報10ax,10bxから制御メッセージの宛先のノードIDに対応する装置IDを検出し、自装置の装置IDと比較する(ステップSt2)。メッセージ転送処理部162aは、各装置IDが一致した場合(ステップSt2のYes)、制御対象ノード#1〜#4を制御する装置が自装置であると判定して、制御メッセージを制御対象ノード#1〜#4の中継装置4に転送する(ステップSt3)。
また、情報比較部164は、各装置IDが一致しない場合(ステップSt2のNo)、制御メッセージに付与された登録情報200,100aのVERと、自装置のコントローラ情報10ax,10bxのVERを比較する(ステップSt4)。
メッセージ転送処理部162aは、自装置の登録情報100a,100bのVERが、制御メッセージに付与された登録情報200,100aのVER以上である場合(ステップSt4のYes)、自装置の登録情報100a,100bを制御メッセージに付与する(ステップSt5)。次に、メッセージ転送処理部162aは、登録情報100a,100bが付与された制御メッセージを、登録情報100a,100bの装置IDに応じた他のコントローラ1a,1bに転送する(ステップSt6)。
変更処理部163は、自装置の登録情報100a,100bのVERが、制御メッセージに付与された登録情報200,100aのVERより小さい場合(ステップSt4のNo)、自装置の登録情報100a,100bを、制御メッセージに付与された登録情報200,100aに基づき変更する(ステップSt7)。なお、制御メッセージに登録情報200,100aが付与されていない場合でも、上述したように登録情報200,100a内のノードID及び装置IDは自明であるため、変更処理部163は、その自明なノードID及び装置IDから自装置の登録情報100a,100bを変更できる。
次に、メッセージ転送処理部162aは、登録情報100a,100bに基づき、制御対象ノード#1〜#4を制御する装置が自装置であると判定し、制御対象ノード#1〜#4に制御メッセージを転送する(ステップSt8)。このようにして、コントローラ1a,1bは動作する。
このように、本実施例によると、コントローラ情報10ax,10bx,20xのVERの比較により、新しいコントローラ情報10ax,10bx,20xを判別できるため、上述したような制御メッセージのピンポン伝送が防止される。したがって、中継装置4の制御処理の遅延が低減される。
(第3実施例)
図14には、ネットワークシステムの第3実施例の動作が示されている。図14において、図1と共通する構成については同一の符号を付し、その説明を省略する。本実施例では、上記の比較情報として、コントローラ情報20y,10ay,10byを更新した時刻に関する情報が用いられる。
図14には、ネットワークシステムの第3実施例の動作が示されている。図14において、図1と共通する構成については同一の符号を付し、その説明を省略する。本実施例では、上記の比較情報として、コントローラ情報20y,10ay,10byを更新した時刻に関する情報が用いられる。
より具体的には、上記の情報として、コントローラ情報20y,10ay,10byの更新時刻からの経過時刻(=現在時刻−更新時刻)が用いられる。更新時刻は、更新時刻情報(「時刻」参照)として、コントローラ情報20y,10ay,10bxのノードごとに記憶されている。更新処理部250,160は、更新指示によるコントローラ情報20y,10ay,10byの更新時、例えばタイマにより更新時刻を検出し、コントローラ情報20y,10ay,10by内の更新時刻情報を更新する。
ネットワーク制御サーバ2及びコントローラ1a,1bは、コントローラ情報20y,10ay,10byの更新時刻から算出した経過時刻を示す情報(以下、「経過時刻情報」と表記)を制御メッセージに付与して送信する。また、ネットワーク制御サーバ2及びコントローラ1a,1bは、制御メッセージに付与された経過時刻情報と、コントローラ情報20y,10ay,10byから得られた経過時刻情報とを比較することにより、コントローラ情報20y,10ay,10byの間で新しさを比較する。ここで、コントローラ情報10ay,10byの更新時刻情報は第1時刻情報及び第4時刻情報の一例であり、コントローラ情報20yの更新時刻情報は第2時刻情報及び第3時刻情報の一例である。以下に動作例を挙げて説明する。
制御アプリケーション21は、制御対象ノード#2の中継装置4宛ての制御メッセージを生成した後、制御メッセージに、コントローラ情報20xのうち、制御対象ノード#2についての登録情報201(ノードID「#2」及び装置ID「1a」)及び経過時刻情報「00:10」を付与する。
経過時刻情報は、コントローラ情報20xのうち、制御対象ノード#2についての更新時刻情報(時刻「20:02」)から算出される。本例では、現在時刻を「20:12」として、現在時刻と更新時刻の差分から経過時刻「00:10」が算出される。なお、本例のコントローラ情報20y,10ay,10byのノードID及び装置IDは、図8の例と同一である。
制御アプリケーション21は、登録情報201及び経過時刻情報が付与された制御メッセージをコントローラ1aに送信する。より具体的には、図6において、更新処理部250は、ノードごとに更新時刻情報を不揮発性メモリ28に記憶させ、メッセージ送信部252は、制御メッセージに登録情報200及び経過時刻情報を付与し、登録情報200及び経過時刻情報が付与された制御メッセージをコントローラ1aに送信する。なお、後述するように、コントローラ1aは、コントローラ情報20y,10ayの間で新しさを比較できればよく、上述したように登録情報201のノードID及び装置IDは自明であるため、制御メッセージには経過時刻情報のみが付与されてもよい。
コントローラ1aは、登録情報201及び経過時刻情報が付与された制御メッセージを受信すると、登録情報201に含まれる装置ID「1a」と、コントローラ情報10ayのうち、ノードID「#2」に対応する登録情報101aの装置ID「1b」を比較する。コントローラ1aは、比較の結果、各装置IDが不一致であるため、登録情報201の経過時刻情報「00:10」と、ノードID「#2」に対応する更新時刻情報(点線の丸参照)から算出された経過時刻情報「00:07」(符号102a参照)を比較する(「比較」参照)。
これにより、コントローラ1aは、制御対象ノード#2について、ネットワーク制御サーバ2の登録情報200と自装置の登録情報100aの何れが新しいかを判定する。なお、経過時刻情報102aの時刻は、現在時刻「20:12」と更新時刻「20:05」の差分から算出される。
本例では、制御対象ノード#2についての登録情報101aの経過時刻情報の時刻「00:07」が、制御メッセージに付与された経過時刻情報の時刻「00:10」より小さい。このため、コントローラ1aは、各経過時刻情報の比較の結果、自装置の登録情報101aがネットワーク制御サーバ2の登録情報201より新しいと判定する。
したがって、コントローラ1aは、制御対象ノード#2を制御する装置が自装置ではないと判定して、登録情報101aの装置ID「1b」に従い、制御メッセージを他方のコントローラ1bに転送する(「転送」参照)。このとき、コントローラ1aは、登録情報101a及び経過時刻情報「00:07」を制御メッセージに付与する。
このように、コントローラ1aは、各経過時刻情報、すなわち更新時刻情報の比較の結果に基づき、自装置の登録情報101aがネットワーク制御サーバ2の登録情報201より新しいと判定した場合、自装置の登録情報101a及び経過時刻情報を制御メッセージに付与し、制御メッセージを転送する。このため、転送先のコントローラ1bは、経過時刻情報に基づき、制御対象ノード#2について、コントローラ情報10ay,10byの新しさを比較することができる。
コントローラ1bは、登録情報101a及び経過時刻情報の付与された制御メッセージを受信すると、登録情報101aに含まれる装置ID「1b」と、コントローラ情報10byのうち、ノードID「#2」に対応する登録情報101bの装置ID「1a」を比較する。コントローラ1bは、比較の結果、各装置IDが不一致であるため、制御メッセージに付与された経過時刻情報「00:07」と、ノードID「#2」に対応する更新時刻情報(点線の丸参照)から算出された経過時刻情報「00:10」(符号102b参照)を比較する(「比較」参照)。これにより、コントローラ1bは、制御対象ノード#2について、他方のコントローラ1aの登録情報101aと自装置の登録情報101bの何れが新しいかを判定する。
本例では、コントローラ1bの登録情報102bの経過時刻情報の時刻「00:10」が、制御メッセージに付与された経過時刻情報の時刻「00:07」より大きい。このため、コントローラ1bは、各経過時刻情報の比較の結果、他方のコントローラ1aの登録情報101aが自装置の登録情報101bより新しいと判定して、コントローラ情報10byを登録情報101aに基づき変更する。
より具体的には、コントローラ1bは、コントローラ情報10by内の登録情報101bが他方のコントローラ1aの登録情報101aに一致するように装置IDを「1b」に変更し、さらに更新時刻情報を、受信した経過時刻情報に基づき「20:05」に変更する(矢印参照)。このため、コントローラ1bは、自装置のコントローラ情報10byを最新の更新状態とすることができる。
本実施例において、コントローラ1a,1bは、経過時刻情報を比較することにより、コントローラ情報20,10ay,10byの新しさを比較するが、これに限定されない。例えば、ネットワーク制御サーバ2及び各コントローラ1a,1bの間において、現在時刻を計時するタイマの時刻同期が確立していれば、コントローラ1a,1bは、経過時刻情報に代えて更新時刻情報を比較してもよい。
図15は、ネットワークシステムの第3実施例の動作を示すシーケンス図である。より具体的には、図15は、図14の動作のシーケンスを示したものである。
まず、ネットワーク制御サーバ2は、登録情報201及び経過時刻情報「00:10」が付与された制御メッセージをコントローラ1aに送信する。次に、コントローラ1bは、経過時刻情報「00:10」とコントローラ情報10ay内の更新時刻情報から算出された経過時刻情報「00:07」を比較する(符号S31参照)。
コントローラ1aは、各経過時刻情報の比較の結果、自装置の登録情報101aがネットワーク制御サーバ2の登録情報201より新しいと判定し、登録情報101aの装置ID「1b」に従い、登録情報101a及び経過時刻情報「00:07」が付与された制御メッセージをコントローラ1bに送信する。次に、コントローラ1bは、登録情報101aの経過時刻情報「00:07」とコントローラ情報10by内の経過時刻情報「00:10」を比較する(符号S32参照)。
コントローラ1bは、各経過時刻情報の比較の結果、他方のコントローラ1aの登録情報101ayが自装置の登録情報101bより新しいと判定し、制御メッセージに付与された経過時刻情報に基づきコントローラ情報10byを変更する(符号S33参照)。これにより、コントローラ情報10byは最新の更新状態となる。
次に、コントローラ1bは、制御メッセージを制御対象ノード#2の中継装置4に転送する。このようにして、ネットワークシステムは動作する。
本実施例におけるコントローラ1a,1bは、上述した図12の構成と同様の構成を有する。更新処理部160は、更新指示に従いコントローラ情報10ay,10byの更新したとき、例えば内部タイマから現在時刻を取得し、更新時刻情報としてノード#1〜#4ごとに不揮発性メモリ13に記憶させる。このため、不揮発性メモリ13には、図10に示されたコントローラ情報10ay,10byが保持されている。
ノード制御部161aは、受信部の一例であり、登録情報201,101a及び経過時刻情報が付与された制御メッセージを、通信ポート29を介して受信し、経過時刻情報を情報比較部164に通知する。
情報比較部164は、比較部の一例であり、制御対象ノードについて、制御メッセージに付与された経過時刻情報と、自装置の更新時刻情報、つまり更新時刻情報から算出された経過時刻情報を比較する。情報比較部164は、各経過時刻情報の比較の結果を変更処理部163及びメッセージ転送処理部162aに通知する。
変更処理部163は、各経過時刻情報の比較の結果に基づき、制御メッセージに付与された登録情報201,101aが自装置の登録情報101a,101bより新しいと判定した場合、自装置の登録情報101a,101bを、制御メッセージに付与された登録情報201,101aに基づき変更する。さらに、変更処理部163は、自装置のコントローラ情報10ay,10byの更新時刻情報を、制御メッセージに付与された経過時刻情報に基づき変更する。このため、このため、コントローラ1a,1bは、自装置のコントローラ情報10ay,10byを最新の更新状態とすることができる。
また、メッセージ転送処理部162aは、転送処理部の一例であり、各経過時刻情報の比較の結果に基づき、自装置の登録情報101a,101bが、制御メッセージに付与された登録情報201,101aより新しいと判定した場合、コントローラ情報10ay,10byのうち、制御対象ノードについての登録情報101aを制御メッセージに付与し、制御メッセージを転送する。このため、制御メッセージの転送先のコントローラ1a,1bは、経過時刻情報の比較を行うことができる。
図16は、第3実施例におけるコントローラ1a,1bの動作を示すフローチャートである。図16において、図13と共通する処理については同一の符号を付し、その説明を省略する。本動作は、例えば周期的に実行される。
情報比較部164は、各装置IDが一致しない場合(ステップSt2のNo)、コントローラ情報10ay,10byの更新時刻情報の時刻から経過時刻を算出する(ステップSt4a)。これにより、情報比較部164は、経過時刻情報を取得する。次に、情報比較部164は、制御メッセージに付与された経過時刻情報と、更新時刻情報から取得した自装置の経過時刻情報を比較する(ステップSt4b)。
メッセージ転送処理部162aは、自装置の経過時刻情報の時刻が、制御メッセージに付与された経過時刻情報の時刻以上である場合(ステップSt4bのYes)、自装置の登録情報101a,101b及び経過時刻情報を制御メッセージに付与する(ステップSt5a)。次に、メッセージ転送処理部162aは、登録情報101a,101b及び経過時刻情報が付与された制御メッセージを、登録情報101a,101bの装置IDに応じた他のコントローラ1a,1bに転送する(ステップSt6a)。
変更処理部163は、自装置の経過時刻情報の時刻が、制御メッセージに付与された経過時刻情報の時刻より小さい場合(ステップSt4bのNo)、自装置の登録情報101a,101bを、制御メッセージに付与された登録情報201,101aに基づき変更する(ステップSt7a)。なお、制御メッセージに登録情報201,101aが付与されていない場合でも、上述したように登録情報201,101a内のノードID及び装置IDは自明であるため、変更処理部163は、その自明なノードID及び装置IDから自装置の登録情報101a,101bを変更できる。
次に、メッセージ転送処理部162aは、登録情報101a,101bに基づき、制御対象ノード#1〜#4を制御する装置が自装置であると判定し、制御対象ノード#1〜#4に制御メッセージを転送する(ステップSt8a)。このようにして、コントローラ1a,1bは動作する。
このように、本実施例によると、コントローラ情報10ay,10by,20yの経過時刻情報の比較により、新しいコントローラ情報10ay,10by,20yを判別できるため、上述したような制御メッセージのピンポン伝送が防止される。したがって、中継装置4の制御処理の遅延が低減される。
これまで述べたように、実施例に係るコントローラ1a,1bは、複数のノード#1〜#4と、複数のノード#1〜#4を制御するコントローラ1a,1bとを含む制御用ネットワークNW2内にある。コントローラ1a,1bは、不揮発性メモリ13と、更新処理部160と、ノード制御部161,161aと、メッセージ転送処理部162,162aとを有する。不揮発性メモリ13は、各ノード#1〜#4と、各ノード#1〜#4を制御するコントローラ1a,1bとの対応関係を示すコントローラ情報10a,10ax,10ay,10b,10bx,10byを記憶する。
更新処理部160は、負荷制御サーバ3の更新指示に従いコントローラ情報10a,10ax,10ay,10b,10bx,10byを更新する。ノード制御部161,161aは、制御対象ノード#1〜#4に対する制御メッセージをネットワーク制御サーバ2から受信する。
メッセージ転送処理部162,162aは、コントローラ情報10a,10ax,10ay,10b,10bx,10by内で制御対象ノード#1〜#4に対応付けられたコントローラ1a,1bが自装置ではないとき、制御対象ノード#1〜#4に対応付けられた他のコントローラ1a,1bに制御メッセージを転送する。
上記の構成によると、メッセージ転送処理部162,162aは、制御対象ノードを制御するコントローラ1a,1bが自装置ではないとき、制御対象ノードを制御する他のコントローラ1a,1bに制御メッセージを転送する。このため、制御メッセージは廃棄されないので、ネットワーク制御サーバ2は、制御メッセージを再送する必要がない。したがって、実施例に係るコントローラ1a,1bによると、制御対象ノード#1〜#4の制御の遅延時間が低減される。
また、実施例に係るネットワークシステムは、複数のノード#1〜#4と、ネットワーク制御サーバ2と、コントローラ1a,1bと、負荷制御サーバ3とを有する。ネットワーク制御サーバ2は、各ノード#1〜#4に対する制御メッセージを生成する。コントローラ1a,1bは、複数のノード#1〜#4を制御する。
ネットワーク制御サーバ2は、不揮発性メモリ28と、更新処理部250と、メッセージ送信部252とを有する。不揮発性メモリ28は、各ノード#1〜#4と、各ノード#1〜#4を制御するコントローラ1a,1bとの対応関係を示すコントローラ情報20,20x,20yを記憶する。更新処理部250は、負荷制御サーバ3の更新指示に従いコントローラ情報20,20x,20yを更新する。メッセージ送信部252は、コントローラ情報20,20x,20y内で制御対象ノード#1〜#4に対応付けられたコントローラ1a,1bに制御メッセージを送信する。
コントローラ1a,1bは、不揮発性メモリ13と、更新処理部160と、ノード制御部161,161aと、メッセージ転送処理部162,162aとを有する。不揮発性メモリ13は、、各ノード#1〜#4と、各ノード#1〜#4を制御するコントローラ1a,1bとの対応関係を示すコントローラ情報10a,10ax,10ay,10b,10bx,10byを記憶する。
更新処理部160は、負荷制御サーバ3の更新指示に従いコントローラ情報10a,10ax,10ay,10b,10bx,10byを更新する。ノード制御部161,161aは、メッセージ送信部252から送信された制御メッセージを受信する。
メッセージ転送処理部162,162aは、コントローラ情報10a,10ax,10ay,10b,10bx,10by内で制御対象ノード#1〜#4に対応付けられたコントローラ1a,1bが自装置ではないとき、制御対象ノード#1〜#4に対応付けられた他のコントローラ1a,1bに制御メッセージを転送する。
負荷制御サーバ3は、ネットワーク制御サーバ2及びコントローラ1a,1bにコントローラ情報20,20x,20y,10a,10ax,10ay,10b,10bx,10byの更新をそれぞれ指示する。
実施例に係るネットワークシステムは、上記のコントローラ1a,1bと同様の構成を含むので、上述した内容と同様の作用効果を奏する。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) 複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内の通信制御装置において、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第1情報を記憶する記憶部と、
更新装置の指示に従い前記第1情報を更新する更新処理部と、
前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、
前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有することを特徴とする通信制御装置。
(付記2) 前記ネットワーク制御装置は、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第2情報を記憶し、前記第2情報を前記更新装置からの指示に従い更新し、
前記制御情報は、前記第2情報内で前記制御対象ノードに対応付けられた通信制御装置に送信されることを特徴とする付記1に記載の通信制御装置。
(付記3) 前記更新処理部は、前記第1情報を更新した回数に関する第1更新情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第2情報が前記更新装置からの指示に従い更新された回数に関する第2更新情報が付与され、
前記制御対象ノードについて前記第1更新情報と前記第2更新情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第2情報が前記第1情報より新しいと判定した場合、前記第1情報を前記第2情報に基づき変更する変更処理部を、さらに有することを特徴とする付記2に記載の通信制御装置。
(付記4) 前記転送処理部は、前記比較の結果に基づき、前記第1情報が前記第2情報より新しいと判定した場合、前記制御対象ノードについて前記第1更新情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記3に記載の通信制御装置。
(付記5) 前記更新処理部は、前記第1情報を更新した時刻に関する第1時刻情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第2情報が前記更新装置からの指示に従い更新された時刻に関する第2時刻情報が付与され、
前記制御対象ノードについて前記第1時刻情報と前記第2時刻情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第2情報が前記第1情報より新しいと判定した場合、前記第1情報を前記第2情報に基づき変更する変更処理部を、さらに有することを特徴とする付記2に記載の通信制御装置。
(付記6) 前記転送処理部は、前記比較の結果に基づき、前記第1情報が前記第2情報より新しいと判定した場合、前記制御対象ノードについて前記第1時刻情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記5に記載の通信制御装置。
(付記7) 前記転送処理部は、前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置であるとき、前記制御対象ノードに前記制御情報を転送することを特徴とする付記1乃至6の何れかに記載の通信制御装置。
(付記8) 複数のノードと、前記複数のノードの各々に対する制御情報を生成するネットワーク制御装置と、前記複数のノードを制御する複数の通信制御装置と、更新装置とを有し、
前記ネットワーク制御装置は、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第3情報を記憶する第1記憶部と、
前記更新装置の指示に従い前記第3情報を更新する第1更新処理部と、
前記複数の通信制御装置のうち、前記第3情報内で制御対象ノードに対応付けられた通信制御装置に前記制御情報を送信する送信部とを有し、
前記複数の通信制御装置は、それぞれ、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第4情報を記憶する第2記憶部と、
前記更新装置の指示に従い前記第4情報を更新する第2更新処理部と、
前記送信部から送信された前記制御情報を受信する受信部と、
前記第4情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有し、
前記更新装置は、前記ネットワーク制御装置及び前記複数の通信制御装置に前記第3情報及び前記第4情報の更新をそれぞれ指示することを特徴とするネットワークシステム。
(付記9) 前記第1更新処理部は、前記第3情報を更新した回数に関する第3更新情報を、前記複数のノードのそれぞれについて前記第1記憶部に記憶させ、
前記第2更新処理部は、前記第4情報を更新した回数に関する第4更新情報を、前記複数のノードのそれぞれについて前記第2記憶部に記憶させ、
前記送信部は、前記制御情報に、前記制御対象ノードについて第3更新情報を付与して、前記制御情報を送信し、
前記複数の通信制御装置は、それぞれ、
前記制御対象ノードについて前記第3更新情報と前記第4更新情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第3情報が前記第4情報より新しいと判定した場合、前記第4情報を前記第3情報に基づき変更する変更処理部を、さらに有することを特徴とする付記8に記載のネットワークシステム。
(付記10) 前記転送処理部は、前記比較の結果に基づき、前記第4情報が前記第3情報より新しいと判定した場合、前記制御対象ノードについて前記第4更新情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記9に記載のネットワークシステム。
(付記11) 前記第1更新処理部は、前記第3情報を更新した時刻に関する第3時刻情報を、前記複数のノードのそれぞれについて前記第1記憶部に記憶させ、
前記第2更新処理部は、前記第4情報を更新した時刻に関する第4時刻情報を、前記複数のノードのそれぞれについて前記第2記憶部に記憶させ、
前記送信部は、前記制御情報に、前記制御対象ノードについて第3時刻情報を付与して、前記制御情報を送信し、
前記複数の通信制御装置は、それぞれ、
前記制御対象ノードについて前記第3時刻情報と前記第4時刻情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第3情報が前記第4情報より新しいと判定した場合、前記第4情報を前記第3情報に基づき変更する変更処理部を、さらに有することを特徴とする付記8に記載のネットワークシステム。
(付記12) 前記転送処理部は、前記比較の結果に基づき、前記第4情報が前記第3情報より新しいと判定した場合、前記制御対象ノードについて前記第4時刻情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記11に記載のネットワークシステム。
(付記13) 前記転送処理部は、前記第3情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置であるとき、前記制御対象ノードに前記制御情報を転送することを特徴とする付記8乃至12の何れかに記載のネットワークシステム。
(付記1) 複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内の通信制御装置において、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第1情報を記憶する記憶部と、
更新装置の指示に従い前記第1情報を更新する更新処理部と、
前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、
前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有することを特徴とする通信制御装置。
(付記2) 前記ネットワーク制御装置は、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第2情報を記憶し、前記第2情報を前記更新装置からの指示に従い更新し、
前記制御情報は、前記第2情報内で前記制御対象ノードに対応付けられた通信制御装置に送信されることを特徴とする付記1に記載の通信制御装置。
(付記3) 前記更新処理部は、前記第1情報を更新した回数に関する第1更新情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第2情報が前記更新装置からの指示に従い更新された回数に関する第2更新情報が付与され、
前記制御対象ノードについて前記第1更新情報と前記第2更新情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第2情報が前記第1情報より新しいと判定した場合、前記第1情報を前記第2情報に基づき変更する変更処理部を、さらに有することを特徴とする付記2に記載の通信制御装置。
(付記4) 前記転送処理部は、前記比較の結果に基づき、前記第1情報が前記第2情報より新しいと判定した場合、前記制御対象ノードについて前記第1更新情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記3に記載の通信制御装置。
(付記5) 前記更新処理部は、前記第1情報を更新した時刻に関する第1時刻情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第2情報が前記更新装置からの指示に従い更新された時刻に関する第2時刻情報が付与され、
前記制御対象ノードについて前記第1時刻情報と前記第2時刻情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第2情報が前記第1情報より新しいと判定した場合、前記第1情報を前記第2情報に基づき変更する変更処理部を、さらに有することを特徴とする付記2に記載の通信制御装置。
(付記6) 前記転送処理部は、前記比較の結果に基づき、前記第1情報が前記第2情報より新しいと判定した場合、前記制御対象ノードについて前記第1時刻情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記5に記載の通信制御装置。
(付記7) 前記転送処理部は、前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置であるとき、前記制御対象ノードに前記制御情報を転送することを特徴とする付記1乃至6の何れかに記載の通信制御装置。
(付記8) 複数のノードと、前記複数のノードの各々に対する制御情報を生成するネットワーク制御装置と、前記複数のノードを制御する複数の通信制御装置と、更新装置とを有し、
前記ネットワーク制御装置は、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第3情報を記憶する第1記憶部と、
前記更新装置の指示に従い前記第3情報を更新する第1更新処理部と、
前記複数の通信制御装置のうち、前記第3情報内で制御対象ノードに対応付けられた通信制御装置に前記制御情報を送信する送信部とを有し、
前記複数の通信制御装置は、それぞれ、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第4情報を記憶する第2記憶部と、
前記更新装置の指示に従い前記第4情報を更新する第2更新処理部と、
前記送信部から送信された前記制御情報を受信する受信部と、
前記第4情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有し、
前記更新装置は、前記ネットワーク制御装置及び前記複数の通信制御装置に前記第3情報及び前記第4情報の更新をそれぞれ指示することを特徴とするネットワークシステム。
(付記9) 前記第1更新処理部は、前記第3情報を更新した回数に関する第3更新情報を、前記複数のノードのそれぞれについて前記第1記憶部に記憶させ、
前記第2更新処理部は、前記第4情報を更新した回数に関する第4更新情報を、前記複数のノードのそれぞれについて前記第2記憶部に記憶させ、
前記送信部は、前記制御情報に、前記制御対象ノードについて第3更新情報を付与して、前記制御情報を送信し、
前記複数の通信制御装置は、それぞれ、
前記制御対象ノードについて前記第3更新情報と前記第4更新情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第3情報が前記第4情報より新しいと判定した場合、前記第4情報を前記第3情報に基づき変更する変更処理部を、さらに有することを特徴とする付記8に記載のネットワークシステム。
(付記10) 前記転送処理部は、前記比較の結果に基づき、前記第4情報が前記第3情報より新しいと判定した場合、前記制御対象ノードについて前記第4更新情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記9に記載のネットワークシステム。
(付記11) 前記第1更新処理部は、前記第3情報を更新した時刻に関する第3時刻情報を、前記複数のノードのそれぞれについて前記第1記憶部に記憶させ、
前記第2更新処理部は、前記第4情報を更新した時刻に関する第4時刻情報を、前記複数のノードのそれぞれについて前記第2記憶部に記憶させ、
前記送信部は、前記制御情報に、前記制御対象ノードについて第3時刻情報を付与して、前記制御情報を送信し、
前記複数の通信制御装置は、それぞれ、
前記制御対象ノードについて前記第3時刻情報と前記第4時刻情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第3情報が前記第4情報より新しいと判定した場合、前記第4情報を前記第3情報に基づき変更する変更処理部を、さらに有することを特徴とする付記8に記載のネットワークシステム。
(付記12) 前記転送処理部は、前記比較の結果に基づき、前記第4情報が前記第3情報より新しいと判定した場合、前記制御対象ノードについて前記第4時刻情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする付記11に記載のネットワークシステム。
(付記13) 前記転送処理部は、前記第3情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置であるとき、前記制御対象ノードに前記制御情報を転送することを特徴とする付記8乃至12の何れかに記載のネットワークシステム。
1a,1b コントローラ
2 ネットワーク制御サーバ
3 負荷制御サーバ
4 中継装置
10a,10ax,10ay コントローラ情報
10b,10bx,10by コントローラ情報
20,20x,20y コントローラ情報
13,28,33 不揮発性メモリ
160 更新処理部
161 ノード制御部
162 メッセージ転送処理部
163 変更処理部
164 情報比較部
250 更新処理部
251 ネットワーク制御部
252 メッセージ送信部
301 更新指示部
2 ネットワーク制御サーバ
3 負荷制御サーバ
4 中継装置
10a,10ax,10ay コントローラ情報
10b,10bx,10by コントローラ情報
20,20x,20y コントローラ情報
13,28,33 不揮発性メモリ
160 更新処理部
161 ノード制御部
162 メッセージ転送処理部
163 変更処理部
164 情報比較部
250 更新処理部
251 ネットワーク制御部
252 メッセージ送信部
301 更新指示部
Claims (8)
- 複数のノードと、前記複数のノードを制御する複数の通信制御装置とを含むネットワーク内の通信制御装置において、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第1情報を記憶する記憶部と、
更新装置の指示に従い前記第1情報を更新する更新処理部と、
前記複数のノードのうち、制御対象ノードに対する制御情報をネットワーク制御装置から受信する受信部と、
前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有することを特徴とする通信制御装置。 - 前記ネットワーク制御装置は、前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第2情報を記憶し、前記第2情報を前記更新装置からの指示に従い更新し、
前記制御情報は、前記第2情報内で前記制御対象ノードに対応付けられた通信制御装置に送信されることを特徴とする請求項1に記載の通信制御装置。 - 前記更新処理部は、前記第1情報を更新した回数に関する第1更新情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第2情報が前記更新装置からの指示に従い更新された回数に関する第2更新情報が付与され、
前記制御対象ノードについて前記第1更新情報と前記第2更新情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第2情報が前記第1情報より新しいと判定した場合、前記第1情報を前記第2情報に基づき変更する変更処理部を、さらに有することを特徴とする請求項2に記載の通信制御装置。 - 前記転送処理部は、前記比較の結果に基づき、前記第1情報が前記第2情報より新しいと判定した場合、前記制御対象ノードについて前記第1更新情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする請求項3に記載の通信制御装置。
- 前記更新処理部は、前記第1情報を更新した時刻に関する第1時刻情報を、前記複数のノードのそれぞれについて前記記憶部に記憶させ、
前記制御情報には、前記制御対象ノードについて、前記第2情報が前記更新装置からの指示に従い更新された時刻に関する第2時刻情報が付与され、
前記制御対象ノードについて前記第1時刻情報と前記第2時刻情報を比較する比較部と、
前記比較部の比較の結果に基づき、前記第2情報が前記第1情報より新しいと判定した場合、前記第1情報を前記第2情報に基づき変更する変更処理部を、さらに有することを特徴とする請求項2に記載の通信制御装置。 - 前記転送処理部は、前記比較の結果に基づき、前記第1情報が前記第2情報より新しいと判定した場合、前記制御対象ノードについて前記第1時刻情報を前記制御情報に付与し、前記制御情報を転送することを特徴とする請求項5に記載の通信制御装置。
- 前記転送処理部は、前記第1情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置であるとき、前記制御対象ノードに前記制御情報を転送することを特徴とする請求項1乃至6の何れかに記載の通信制御装置。
- 複数のノードと、前記複数のノードの各々に対する制御情報を生成するネットワーク制御装置と、前記複数のノードを制御する複数の通信制御装置と、更新装置とを有し、
前記ネットワーク制御装置は、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第3情報を記憶する第1記憶部と、
前記更新装置の指示に従い前記第3情報を更新する第1更新処理部と、
前記複数の通信制御装置のうち、前記第3情報内で制御対象ノードに対応付けられた通信制御装置に前記制御情報を送信する送信部とを有し、
前記複数の通信制御装置は、それぞれ、
前記複数のノードの各々と、前記複数の通信制御装置のうち、該ノードを制御する通信制御装置との対応関係を示す第4情報を記憶する第2記憶部と、
前記更新装置の指示に従い前記第4情報を更新する第2更新処理部と、
前記送信部から送信された前記制御情報を受信する受信部と、
前記第4情報内で前記制御対象ノードに対応付けられた通信制御装置が自装置ではないとき、前記制御対象ノードに対応付けられた他の通信制御装置に前記制御情報を転送する転送処理部とを有し、
前記更新装置は、前記ネットワーク制御装置及び前記複数の通信制御装置に前記第3情報及び前記第4情報の更新をそれぞれ指示することを特徴とするネットワークシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015210174A JP2017085294A (ja) | 2015-10-26 | 2015-10-26 | 通信制御装置及びネットワークシステム |
US15/290,411 US20170118072A1 (en) | 2015-10-26 | 2016-10-11 | Communication control method, network system, and communication control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015210174A JP2017085294A (ja) | 2015-10-26 | 2015-10-26 | 通信制御装置及びネットワークシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017085294A true JP2017085294A (ja) | 2017-05-18 |
Family
ID=58562087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015210174A Pending JP2017085294A (ja) | 2015-10-26 | 2015-10-26 | 通信制御装置及びネットワークシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170118072A1 (ja) |
JP (1) | JP2017085294A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020095340A (ja) * | 2018-12-10 | 2020-06-18 | 富士通株式会社 | 情報処理システム、負荷分散処理装置および負荷分散処理プログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270864A (zh) * | 2018-01-22 | 2018-07-10 | 温州索易软件开发有限公司 | 一种会员信息管理系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8842673B2 (en) * | 2010-11-22 | 2014-09-23 | Nec Corporation | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow |
US9154433B2 (en) * | 2011-10-25 | 2015-10-06 | Nicira, Inc. | Physical controller |
-
2015
- 2015-10-26 JP JP2015210174A patent/JP2017085294A/ja active Pending
-
2016
- 2016-10-11 US US15/290,411 patent/US20170118072A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020095340A (ja) * | 2018-12-10 | 2020-06-18 | 富士通株式会社 | 情報処理システム、負荷分散処理装置および負荷分散処理プログラム |
JP7137072B2 (ja) | 2018-12-10 | 2022-09-14 | 富士通株式会社 | 情報処理システム、負荷分散処理装置および負荷分散処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20170118072A1 (en) | 2017-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2643475C2 (ru) | Многодоменная ретрансляция с маршрутизацией от источника на основе взаимодействующих сетевых контроллеров | |
JP2017028698A (ja) | トラフィック切り替え方法、デバイス、およびシステム | |
JP6085263B2 (ja) | 中継ノード及び経路制御方法 | |
JP6570740B2 (ja) | クラスター通信 | |
US9338078B2 (en) | Technique to minimize traffic loss on a router reload/restart | |
JP6265058B2 (ja) | ネットワーク伝送システム、そのマスタノード、スレーブノード | |
JP4789425B2 (ja) | 経路テーブル同期方法、ネットワーク機器および経路テーブル同期プログラム | |
EP3130092A1 (en) | Proxy of routing protocols to redundant controllers | |
KR101464790B1 (ko) | 링크 상태 광고(lsa)에 기반한 신장 트리를 계산하는 방법, 브릿지 및 컴퓨터 네트워크 | |
JP2017511069A5 (ja) | ||
US20170054680A1 (en) | Control method, information processing apparatus, and storage medium | |
US11296973B2 (en) | Path information transmission device, path information transmission method and path information transmission program | |
JP2020510342A (ja) | Avbストリームのモジュール式ルーティングの方法及び装置 | |
JP2014116668A (ja) | 通信システムおよびネットワーク中継装置 | |
CN104363084A (zh) | 一种链路状态同步方法及装置 | |
US20160006684A1 (en) | Communication system, control apparatus, communication method, and program | |
JP2017085294A (ja) | 通信制御装置及びネットワークシステム | |
JP6561656B2 (ja) | 端末およびマルチキャスト・アドレス配布サーバ | |
JP4421458B2 (ja) | ネットワークノード装置およびその経路情報更新方法 | |
US9729427B2 (en) | Method and system for route hardware programming in network devices | |
JP4623317B2 (ja) | 通信装置、ルーティング方法及びプログラム | |
US10356196B2 (en) | Apparatus and method for managing devices | |
JP6207768B1 (ja) | 定周期データ伝送方法 | |
Cisco | IPX Enhanced IGRP Commands | |
JP2018061148A (ja) | 通信装置、中継装置、通信システム、及び通信方法 |