(57)【要約】  通信システムは、複数のノードと、ノード間でパケットを転送するためのリンクと、前記複数のノードのうち、前記複数のノードの負荷に基づいて選択されたノードから、前記リンクに関する情報を収集する制御装置とを有する。通信システムのノードから情報を収集する際に、情報収集に伴うノードの負荷増加を軽減する。
2014157460.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと、
ノード間でパケットを転送するためのリンクと、
前記複数のノードのうち、ノードの負荷に基づいて選択したノードから、前記リンクに関する情報を収集する制御装置と
を有することを特徴とする通信システム。
【請求項２】
前記制御装置は、前記リンクに接続するノードのうち負荷が所定の閾値よりも低いノードを選択することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記制御装置は、前記選択したノードに対し、前記リンクに関する情報として前記リンクのトラフィック量を要求し、
前記選択したノードは、前記リンクのトラフィック量を前記制御装置に通知すること
を特徴とする請求項１又は２に記載の通信システム。
【請求項４】
前記制御装置は、前記選択したノードに対し、前記リンクを識別するための識別子を含むメッセージを送信し、
前記選択したノードは、前記識別子に対応するリンクに関する情報を前記制御装置に通知すること
を特徴とする請求項１乃至３のいずれか１項に記載の通信システム。
【請求項５】
前記複数のノードのは、前記リンクと接続するポートを有し、
前記制御装置は、前記リンクに接続するポートを識別するための識別子を含むメッセージにより、前記選択したノードに対して、前記リンクに関する情報を要求し、
前記選択したノードは、前記識別子に対応するポートに接続するリンクに関する情報を、前記制御装置に通知すること
を特徴とする請求項１乃至３のいずれか１項に記載の通信システム。
【請求項６】
前記制御装置は、前記複数のノードから通知された負荷を記憶する第１の記憶手段を有し、
前記制御装置は、前記第１の記憶手段を参照して、前記リンクに関する情報を収集するノードを選択すること
を特徴とする請求項１乃至５のいずれか１項に記載の通信システム。
【請求項７】
前記制御装置は、前記リンクにつき、前記リンクに関する情報を収集するノードを決定したか否かを管理する管理手段を有し、
前記制御装置は、前記管理手段を参照して、前記リンクに対して、前記リンクに関する情報を収集するノードを決定すること
を特徴とする請求項１乃至６のいずれか１項に記載の通信システム。
【請求項８】
前記制御装置は、前記リンクに関する情報を参照し、受信パケットの転送経路を計算し、前記転送経路に従ってパケットを転送するための処理規則を、前記転送経路に対応するノードに通知する
ことを特徴とする請求項１乃至７のいずれか１項に記載の通信システム。
【請求項９】
複数のノードと、ノード間でパケットを転送するためのリンクとを含む通信システムの制御装置であって、
前記複数のノードから、ノードの負荷に基づいてノードを選択し、
選択したノードから、前記リンクに関する情報を収集する
ことを特徴とする制御装置。
【請求項１０】
前記制御装置は、前記リンクに接続するノードのうち負荷が所定の閾値よりも低いノードを選択することを特徴とする請求項９に記載の制御装置。
【請求項１１】
前記制御装置は、前記選択したノードに対し、前記リンクに関する情報として前記リンクのトラフィック量を要求し、
前記選択したノードは、前記リンクのトラフィック量を前記制御装置に通知すること
を特徴とする請求項９又は１０に記載の制御装置。
【請求項１２】
前記制御装置は、前記選択したノードに対し、前記リンクを識別するための識別子を含むメッセージを送信し、
前記選択したノードは、前記識別子に対応するリンクに関する情報を前記制御装置に通知すること
を特徴とする請求項９乃至１１のいずれか１項に記載の制御装置。
【請求項１３】
前記複数のノードは、前記リンクと接続するポートを有し、
前記制御装置は、前記リンクに接続するポートを識別するための識別子を含むメッセージにより、前記選択したノードに対して、前記リンクに関する情報を要求し、
前記選択したノードは、前記識別子に対応するポートに接続するリンクに関する情報を、前記制御装置に通知すること
を特徴とする請求項９乃至１１のいずれか１項に記載の制御装置。
【請求項１４】
前記制御装置は、前記複数のノードから通知された負荷を記憶する第１の記憶手段を有し、
前記制御装置は、前記第１の記憶手段を参照して、前記リンクに関する情報を収集するノードを選択すること
を特徴とする請求項９乃至１３のいずれか１項に記載の制御装置。
【請求項１５】
前記制御装置は、前記リンクにつき、前記リンクに関する情報を収集するノードを決定したか否かを管理する管理手段を有し、
前記制御装置は、前記管理手段を参照して、前記リンクに対して、前記リンクに関する情報を収集するノードを決定すること
を特徴とする請求項９乃至１４のいずれか１項に記載の制御装置。
【請求項１６】
前記制御装置は、前記リンクに関する情報を参照し、受信パケットの転送経路を計算し、前記転送経路に従ってパケットを転送するための処理規則を、前記転送経路に対応するノードに通知する
ことを特徴とする請求項９乃至１５のいずれか１項に記載の制御装置。
【請求項１７】
複数のノードと、ノード間でパケットを転送するためのリンクとを含む通信システムにおける情報収集方法であって、
前記複数のノードから、ノードの負荷に基づいてノードを選択し、
選択したノードから、前記リンクに関する情報を収集する
ことを特徴とする情報収集方法。
【請求項１８】
前記リンクに接続するノードのうち負荷が所定の閾値よりも低いノードを選択することを特徴とする請求項１７に記載の情報収集方法。
【請求項１９】
前記選択したノードに対し、前記リンクに関する情報として前記リンクのトラフィック量を要求し、
前記選択したノードから、前記リンクのトラフィック量を収集すること
を特徴とする請求項１７又は１８に記載の情報収集方法。
【請求項２０】
前記選択したノードに対し、前記リンクを識別するための識別子を含むメッセージを送信し、
前記選択したノードから、前記識別子に対応するリンクに関する情報を収集すること
を特徴とする請求項１７乃至１９のいずれか１項に記載の情報収集方法。
【請求項２１】
前記複数のノードは、前記リンクと接続するポートを有し、
前記リンクに接続するポートを識別するための識別子を含むメッセージにより、前記選択したノードに対して、前記リンクに関する情報を要求し、
前記選択したノードから、前記識別子に対応するポートに接続するリンクに関する情報を収集すること
を特徴とする請求項１７乃至１９のいずれか１項に記載の情報収集方法。
【請求項２２】
前記複数のノードから通知された負荷を記憶し、
前記記憶した負荷を参照して、前記リンクに関する情報を収集するノードを選択すること
を特徴とする請求項１７乃至２１のいずれか１項に記載の情報収集方法。
【請求項２３】
前記リンクにつき、前記リンクに関する情報を収集するノードを決定したか否かを管理し、
前記管理した情報を参照して、前記リンクに対して、前記リンクに関する情報を収集するノードを決定すること
を特徴とする請求項１７乃至２２のいずれか１項に記載の情報収集方法。
【請求項２４】
前記リンクに関する情報を参照し、受信パケットの転送経路を計算し、前記転送経路に従ってパケットを転送するための処理規則を、前記転送経路に対応するノードに通知することを特徴とする請求項１７乃至２３のいずれか１項に記載の情報収集方法。
【請求項２５】
複数のノードと、ノード間でパケットを転送するためのリンクとを含む通信システムの制御装置に、
前記複数のノードから、ノードの負荷に基づいてノードを選択する処理と、
選択したノードから、前記リンクに関する情報を収集する処理と
を実行させることを特徴とするプログラム。
【請求項２６】
前記リンクに接続するノードのうち負荷が所定の閾値よりも低いノードを選択する処理を含むことを特徴とする請求項２５に記載のプログラム。
【請求項２７】
前記選択したノードに対し、前記リンクに関する情報として前記リンクのトラフィック量を要求する処理と、
前記選択したノードから、前記リンクのトラフィック量を収集する処理と
を含むこと特徴とする請求項２５又は２６に記載のプログラム。
【請求項２８】
前記選択したノードに対し、前記リンクを識別するための識別子を含むメッセージを送信する処理と、
前記選択したノードから、前記識別子に対応するリンクに関する情報を収集する処理と
を含むこと特徴とする請求項２５乃至２７のいずれか１項に記載のプログラム。
【請求項２９】
前記複数のノードは、前記リンクと接続するポートを有し、
前記リンクに接続するポートを識別するための識別子を含むメッセージにより、前記選択したノードに対して、前記リンクに関する情報を要求する処理と、
前記選択したノードから、前記識別子に対応するポートに接続するリンクに関する情報を収集する処理と、
を含むことを特徴とする請求項２５乃至２７のいずれか１項に記載のプログラム。
【請求項３０】
前記複数のノードから通知された負荷を記憶する処理と、
前記記憶した負荷を参照して、前記リンクに関する情報を収集するノードを選択する処理と、
を含むことを特徴とする請求項２５乃至２９のいずれか１項に記載のプログラム。
【請求項３１】
前記リンクにつき、前記リンクに関する情報を収集するノードを決定したか否かを管理する処理と、
前記管理する情報を参照して、前記リンクに対して、前記リンクに関する情報を収集するノードを決定する処理と
を含むこと特徴とする請求項２５乃至３０のいずれか１項に記載のプログラム。
【請求項３２】
前記リンクに関する情報を参照し、受信パケットの転送経路を計算し、前記転送経路に従ってパケットを転送するための処理規則を、前記転送経路に対応するノードに通知する処理を含むことを特徴とする請求項２５乃至３１のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−０６９１３０号（２０１３年３月２８日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、情報収集方法およびプログラムに関し、特に、制御装置がノードからリンクに関する情報を収集する通信システム、制御装置、情報収集方法およびプログラムに関する。
【背景技術】
【０００２】
以下に述べる特許文献１および２は、通信システムのノードから、ノード間のリンクに関する情報を収集する技術を開示する。【０００３】
特許文献１は、ネットワークを監視するネットワーク監視システムが、ネットワークに含まれるスイッチ装置から、予め定めた周期（トラヒック取得周期Ｔ）で、スイッチ装置の各ポートの送受信トラヒック情報を取得する発明を開示する。【０００４】
特許文献２は、計測装置が仮想計算機の通信負荷を取得する際に、仮想計算機又はその仮想計算機が稼動する物理計算機ではなく、仮想計算機又は物理計算機に代わって、それらに接続しているスイッチ（対向スイッチ）が、仮想計算機の通信負荷の計測と通知を行う発明を開示する。特許文献２では、対向スイッチが仮想計算機の通信負荷の計測と通知を行なうので、仮想計算機及び物理計算機は通信負荷の通知に伴う処理を実行する必要がなく、仮想計算機及び物理計算機の処理負荷の上昇を抑えることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００９／０４０９０３号公報
【特許文献２】特開２００８−２７１０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワーク監視システムに対してリンクに関する情報を通知する際、情報の通知に要する処理により、ノードの負荷が増加する。【０００７】
しかしながら、特許文献１のネットワーク監視システムは、所定の周期でスイッチ装置から情報を収集するため、情報収集のタイミングが、スイッチ装置の通信負荷の高い時に到来する可能性がある。この場合、スイッチ装置の負荷が、送受信トラフィックを通知する処理により、さらに上昇するという問題が生じる。【０００８】
特許文献２では、対向スイッチが、仮想計算機又は物理計算機に代わって情報の収集と通知を実行することで、仮想計算機又は物理計算機の負荷が軽減されるが、上記特許文献１と同様、対抗スイッチにおける情報収集の負荷軽減については開示・示唆がない。【０００９】
本発明は、通信システムのノードから情報を収集する際に、情報収集に伴うノードの負荷増加を軽減することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の態様に係る通信システムは、複数のノードと、ノード間でパケットを転送するためのリンクと、前記複数のノードのうち、ノードの負荷に基づいて選択されたノードから、前記リンクに関する情報を収集する制御装置とを備える。【００１１】
本発明の第２の態様に係る制御装置は、複数のノードと、ノード間でパケットを転送するためのリンクとを含む通信システムの制御装置であって、前記複数のノードから、ノードの負荷に基づいてノードを選択し、選択したノードから、前記リンクに関する情報を収集する。【００１２】
本発明の第３の態様に係る情報収集方法は、複数のノードと、ノード間でパケットを転送するためのリンクとを含む通信システムにおける情報収集方法であって、前記複数のノードから、ノードの負荷に基づいてノードを選択し、選択したノードから、前記リンクに関する情報を収集する。【００１３】
本発明の第４の態様に係るプログラムは、複数のノードと、ノード間でパケットを転送するためのリンクとを含む通信システムの制御装置に、前記複数のノードから、ノードの負荷に基づいてノードを選択する処理と、選択したノードから、前記リンクに関する情報を収集する処理とを実行させる。なお、プログラムは、非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）に記録されたプログラム製品として提供することもできる。
【発明の効果】
【００１４】
本発明によれば、通信システムのノードから情報を収集する際に、情報収集に伴うノードの負荷増加を軽減される。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態におけるシステムの構成例を示す図である。
【図２】本発明の一実施形態における制御装置の構成例を示す図である。
【図３】本発明の第１の実施形態におけるシステムの構成例を示す図である。
【図４】本発明の第１の実施形態における制御装置の構成例を示す図である。
【図５】本発明の第１の実施形態における制御装置が有するリンク情報ＤＢの構成例を示す図である。
【図６】本発明の第１の実施形態におけるノードの構成例を示す図である。
【図７】本発明の第１の実施形態におけるノードが有するトラフィック量ＤＢ（データーベース）の構成例を示す図である。
【図８】本発明の第１の実施形態における制御装置の動作例を示すフローチャートである。
【図９】本発明の第１の実施形態におけるノードの動作例を示すフローチャートである。
【図１０】本発明の第２の実施形態における制御装置の構成例を示す図である。
【図１１】本発明の第２の実施形態における制御装置が有するノード情報ＤＢの構成例を示す図である。
【図１２】本発明の第２の実施形態における制御装置が有するノード情報ＤＢの他の構成例を示す図である。
【図１３】本発明の第３の実施形態におけるシステムの構成例を示す図である。
【図１４】本発明の第３の実施形態における制御装置が有するリンク情報ＤＢの構成例を示す図である。
【図１５】本発明の第３の実施形態におけるノードの構成例を示す図である。
【図１６】本発明の第３の実施形態におけるノードが有するトラフィック量ＤＢの構成例を示す図である。
【図１７】本発明の第３の実施形態における制御装置の動作例を示すフローチャートである。
【図１８】本発明の第３の実施形態におけるノードの動作例を示すフローチャートである。
【図１９】本発明の第４の実施形態における制御装置が有するリンク情報ＤＢの構成例を示す図である。
【図２０】本発明の第４の実施形態における制御装置の動作例を示すフローチャートである。
【図２１】本発明の第５の実施形態におけるシステムの構成例を示す図である。
【図２２】本発明の第５の実施形態における制御装置の構成例を示す図である。
【図２３】本発明の第５の実施形態における制御装置が有する決定管理部の構成例を示す図である。
【図２４】本発明の第５の実施形態における制御装置が有する決定管理部の他の構成例を示す図である。
【図２５】本発明の第５の実施形態における制御装置の動作例を示す図である。
【図２６】本発明の第６の実施形態に関連する技術の例を示す図である。
【図２７】本発明の第６の実施形態に関連する技術の例を示す図である。
【図２８】本発明の第６の実施形態におけるシステムの構成例を示す図である。
【図２９】本発明の第６の実施形態における制御装置の構成例を示す図である。
【図３０】本発明の第６の実施形態における制御装置が有する処理規則ＤＢの構成例を示す図である。
【図３１】本発明の第６の実施形態におけるノードの構成例を示す図である。
【図３２】本発明の第６の実施形態における制御装置の動作例を示す図である。
【図３３】本発明の第６の実施形態におけるノードの動作例を示す図である。
【発明を実施するための形態】
【００１６】
はじめに本発明の一実施形態の概要について図面を参照して説明する。本発明は、図１に示すように、制御装置１０及びノード２０−１〜２０−２（以下、ノード２０−１と２０−２を特に区別する必要のないときは「ノード２０」と表記する。）を含む構成にて実現できる。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１７】
図１に示すように、ノード２０−１と２０−２は、リンク３０を介して互いに接続する。
【００１８】
制御装置１０は、複数のノード２０を管理する手段として機能する。制御装置１０は、複数のノード２０から、該複数のノード２０で構成されるネットワークに含まれるリンク３０に関する情報を収集する。
【００１９】
リンク３０に関する情報は、例えば、リンク３０のトラフィック量である。また、リンク３０に関する情報は、例えば、リンク３０のパケット遅延時間であってもよい。また、リンク３０に関する情報は、例えば、リンク３０の障害情報であってもよい。なお、リンク３０に関する情報は、これらの例に限られず、リンク３０に関する情報であれば、どのような情報であってもよい。
【００２０】
図２は、制御装置１０の構成例を示す図である。図２に示すように、制御装置１０は、通信部１１と、制御部１２とを有する。
【００２１】
制御部１２は、例えば、通信部１１を介して、ノード２０の各々と通信を行う。
【００２２】
制御部１２は、例えば、所定の条件で、リンク３０に関する情報を収集する。制御部１２は、例えば、予め定められた周期で、リンク３０に関する情報を収集する。制御部１２は、例えば、複数のノード２０の構成が変化したことに応じて、リンク３０に関する情報を収集する。制御部１２は、例えば、パケットの経路制御を実行する際に、リンク３０に関する情報を収集する。
【００２３】
制御部１２は、例えば、リンク３０に関する情報を収集する際に、リンク３０に接続する２つのノード２０のうち、ノード２０の負荷に基づいて決定したノードから、リンク３０に関する情報を収集する。制御部１２は、例えば、リンク３０に関する情報を収集する際に、リンク３０に接続する２つのノード２０のうち、負荷の低いノードから、リンク３０に関する情報を収集する。
【００２４】
ノード２０の負荷は、例えば、ノード２０におけるＣＰＵの負荷である。ノード２０の負荷は、例えば、ノード２０における総トラフィック量である。ノード２０が処理する総トラフィック量は、例えば、そのノード２０が単位時間当たりに処理するパケットの総数である。ノード２０の負荷は、例えば、ノード２０における稼動ポート数である。また、ノード２０の負荷は、例えば、ノード２０における稼動ポート率である。ノード２０における稼動ポート率は、例えば、ノード２０が有する全ポートのうち、稼動しているポートの割合である。なお、制御装置１０が通知を受けるノード２０の負荷は、これらの例に限られず、ノード２０の負荷を表す情報であれば、どのような情報であってもよい。
【００２５】
制御部１２は、例えば、所定の周期で、ノード２０の各々から、ノード２０の負荷に関する情報の通知を受ける。制御部１２は、例えば、ノード２０の各々に対して負荷に関する情報を要求し、その要求に対する応答として、ノード２０の負荷に関する情報の通知を受けてもよい。制御部１２は、ノードの２０の各々から通知されたノード２０の負荷に関する情報を用いて、リンク３０に関する情報を収集するノードを決定する。
【００２６】
以上のような構成によれば、制御装置１０が、リンク３０に接続する２つのノード２０のうち、ノード２０の負荷に基づいて決定したノードから、リンク３０に関する情報を収集するので、特定のノードに負荷が集中することを防止できる。
【００２７】
＜実施形態１＞
本発明の第１の実施形態について図面を参照して説明する。本発明の第１の実施形態は、図３に示すように、制御装置１０及びノード２０を含む構成にて実現できる。図３に示すように、ノード２０−１〜２０−３の各々は、リンク３０−１〜３０−３（以下、リンク３０−１〜３０−３を特に区別する必要のないときは「リンク３０」と表記する。）を介して互いに接続する。
【００２８】
制御装置１０は、複数のノード２０を管理する手段として機能する。
【００２９】
制御装置１０は、複数のノード２０から、該複数のノード２０で構成されるネットワークに含まれるリンク３０に関する情報を収集する。なお、本発明の第１の実施形態において、制御装置１０が、リンク３０に関する情報としてトラフィック量を収集する例を用いて説明するが、制御装置１０が収集するリンク３０に関する情報は、リンク３０のトラフィック量に限られない。
【００３０】
図３の例において、制御部１２は、リンク３０−１〜３０−３の各々のトラフィック量を収集する。制御装置１０は、例えば、収集したリンク３０のトラフィック量を、該複数のノード２０の管理に利用する。また、制御装置１０は、例えば、収集したリンク３０のトラフィック量を、複数のノード２０により転送されるパケットの経路制御に利用する。
【００３１】
図４は、制御装置１０の構成例を示す図である。図４に示すように、制御装置１０は、通信部１１と、制御部１２と、リンク情報ＤＢ１３とを有する。
【００３２】
通信部１１は、例えば、トラフィック量を収集する際に、ノード２０に対し、トラフィック量の通知を要求するメッセージを送信する。通信部１１は、ノード２０から、トラフィック量を要求するメッセージに対する応答として、トラフィック量を通知するメッセージを受信する。
【００３３】
制御部１２は、例えば、所定の周期で、リンク３０のトラフィック量を収集する。制御部１２は、例えば、複数のノード２０の構成が変化したことに応じて、リンク３０のトラフィック量を収集する。制御部１２は、例えば、パケットの経路制御を行うことに応じて、リンク３０のトラフィック量を収集する。
【００３４】
制御部１２は、例えば、トラフィック量の通知を要求するメッセージに、トラフィック量の通知を要求するリンクの識別子を格納する。リンク３０の識別子は、例えば、ネットワークに含まれるリンク３０の各々を一意に識別する情報である。なお、ノード２０は、格納された識別子に対応するリンク３０のトラフィック量を、制御装置１０に通知する。
【００３５】
制御部１２は、例えば、トラフィック量を収集するリンク３０に接続する２つのノード２０のうち、処理負荷の小さいノードからトラフィック量を収集する。制御部１２は、例えば、トラフィック量を収集するリンク３０に接続する２つのノード２０のうち、処理負荷の小さいノードに対して、トラフィック量の通知を要求するメッセージを送信する。
【００３６】
図４の例において、制御部１２は、リンク３０−１のトラフィック量を収集する場合に、リンク３０−１と接続するノード２０−１とノード２０−３のうち、例えば、処理負荷の小さいノード２０−３からリンク３０−１のトラフィック量を収集する。
【００３７】
制御部１２は、例えば、所定の周期で、ノード２０の各々から、ノード２０の処理負荷に関する情報の通知を受ける。制御部１２は、例えば、ノード２０の各々に対して処理負荷に関する情報を要求し、その要求に対する応答として、ノード２０の処理負荷に関する情報の通知を受けてもよい。
【００３８】
制御部１２は、例えば、ノード２０の処理負荷として、ノード２０におけるＣＰＵの負荷の通知を受ける。
【００３９】
制御部１２は、例えば、ノード２０の処理負荷として、ノード２０における総トラフィック量の通知を受ける。ノード２０が処理する総トラフィック量は、例えば、そのノード２０が単位時間当たりに処理するパケットの総数である。
【００４０】
制御部１２は、例えば、ノード２０の処理負荷として、ノード２０における稼動ポート数の通知を受ける。制御部１２は、例えば、ノード２０の処理負荷として、ノード２０における稼動ポート率の通知を受ける。ノード２０における稼動ポート率は、例えば、ノード２０が有する全ポートのうち、稼動しているポートの割合である。
【００４１】
なお、制御装置１０が通知を受けるノード２０の処理負荷は、これらの例に限られず、ノード２０の処理の負荷を表す情報であれば、どのような情報であってもよい。
【００４２】
制御部１２は、例えば、ノード２０の各々のうち、ノード２０の処理負荷が所定の閾値より低いノード２０からのみ、処理負荷の通知を受けてもよい。
【００４３】
制御部１２は、例えば、ノード２０の各々のうち、ＣＰＵの負荷が所定の閾値より低いノードからのみ、ＣＰＵの負荷の通知を受ける。この場合、制御部１２は、複数のノード２０のうち、ＣＰＵの負荷を通知しないノードについて、ＣＰＵの負荷が所定の閾値以上であると判定する。上記構成を有する制御部１２は、ＣＰＵの負荷が高いノード２０からの通知を受けないので、すでに負荷の高いノードの負荷をさらに上昇させることなく、ノード２０のＣＰＵの負荷の状況を把握できる。
【００４４】
制御部１２は、例えば、ノード２０の各々のうち、総トラフィック量が所定の閾値より低いノードからのみ、総トラフィック量の通知を受けてもよい。この場合、制御部１２は、複数のノード２０のうち、総トラフィック量を通知しないノードについて、総トラフィック量が所定の閾値以上と判定する。上記構成を有する制御部１２は、総トラフィック量の多いノードから通知を受けないので、総トラフィック量の多いノードの負荷を上昇させることなく、ノード２０の総トラフィック量の状況を把握できる。
【００４５】
また、制御部１２は、例えば、ノード２０の各々から、稼動ポート数の変化があったことに応じて、稼動ポート数、又は、稼動ポート率の通知を受けてもよい。この場合、制御部１２は、稼動ポート数の変化がない場合には、稼動ポート数、又は、稼動ポート率の通知を受けないため、通知に伴うノード２０の負荷の上昇を防止することができる。
【００４６】
制御部１２は、例えば、リンク３０に接続する２つのノード２０のうち、ＣＰＵの負荷が小さいノードからトラフィック量を収集する。制御部１２は、例えば、リンク３０に接続する２つのノードのうち、稼動ポート数の少ない、又は、稼動ポート率の小さいノードから、トラフィック量を収集する。制御部１２は、例えば、リンク３０に接続する２つのノード２０のうち、総トラフィック量の少ないノードから、トラフィック量を収集する。
【００４７】
リンク情報ＤＢ１３は、ノード２０から受信したリンク３０のトラフィック量を記憶する。
【００４８】
図５は、リンク情報ＤＢ１３の構成例である。図５に示すように、リンク情報ＤＢ１３は、リンク３０ごとに、そのリンクのトラフィック量を記憶する。図５の例では、リンク情報ＤＢ１３は、リンク３０ごとに、順方向と逆方向のトラフィック量の合計値を記憶する。リンク情報ＤＢ１３は、図５の例に限られず、例えば、リンク３０ごとに、順方向と逆方向とを区別して、それぞれのトラフィック量を記憶してもよい。
【００４９】
図５の例では、リンク情報ＤＢ１３は、リンク３０−２のリンクＩＤと、リンク３０−２の順方向と逆方向のトラフィック量の合計値の４０とを、対応付けて記憶する。
【００５０】
ノード２０は、パケットを転送する装置である。
【００５１】
図６は、ノード２０の構成例を示す図である。図６に示すように、ノード２０は、通信部２１と、制御部２２と、トラフィック量ＤＢ２３とを有する。
【００５２】
通信部２１は、パケットを送受信する手段として機能する。また、通信部２１は、例えば、制御装置１０から、トラフィック量の通知を要求するメッセージを受信する。通信部２１は、例えば、該要求に応じて、制御装置１０にトラフィック量を通知するメッセージを送信する。
【００５３】
制御部２２は、受信したパケットを、通信部２１を介して転送する手段として機能する。また、制御部２２は、制御装置１０からの要求に応じて、トラフィック量ＤＢ２３に記憶されたトラフィック量を、該要求の応答として制御装置１０に通知する。
【００５４】
制御部２２は、例えば、制御装置１０から受信したメッセージに格納されたリンクＩＤのリンクにおけるトラフィック量を、制御装置１０に通知する。制御部２２は、例えば、トラフィック量ＤＢ２３を参照して、受信したメッセージに格納されたリンクＩＤのリンクにおけるトラフィック量を把握する。
【００５５】
制御部２２は、例えば、把握したトラフィック量を、制御装置１０に通知する。制御部２２は、例えば、把握したトラフィック量を通知するためのメッセージを作成し、通信部２１を介して、作成したメッセージを制御装置１０に送信する。
【００５６】
制御部２２は、例えば、制御装置１０に対して、ノード２０の処理負荷に関する情報を通知する。制御部２２は、例えば、所定の周期で、制御装置１０に対して、ノード２０の処理負荷に関する情報を通知する。制御部２２は、例えば、制御装置１０からの要求に応じて、制御装置１０に対して、ノード２０の処理負荷を通知する。
【００５７】
制御部２２が制御装置１０に通知するノード２０の処理負荷は、例えば、ノード２０のＣＰＵの負荷や、ノード２０の稼動ポート数、又は、ノード２０の総トラフィック量である。なお、制御部２２が制御装置１０に通知するノード２０の処理負荷は、これらの例に限られず、ノード２０の処理負荷を示す情報であれば、どのような情報であってもよい。また、制御部２２が制御装置１０に通知するノード２０の処理負荷は、１つに限られず、いくつであってもよい。
【００５８】
制御部２２は、例えば、ノード２０の処理負荷が所定の閾値以上であった場合に、制御装置１０に対して、処理負荷に関する情報を通知しないように構成してもよい。制御部２２は、例えば、ノード２０のＣＰＵの負荷が所定の閾値以上である場合に、制御装置１０に対して、ＣＰＵの負荷を通知しない。制御部２２は、例えば、ノード２０のＣＰＵの使用率が７０％以上である場合に、制御装置１０に対してＣＰＵの負荷を通知しない。
【００５９】
制御部２２は、例えば、総トラフィック量が所定の閾値以上である場合に、制御装置１０に対して、総トラフィック量を通知しない。制御部２２は、例えば、ノード２０の須トラフィック量が「１００」以上である場合に、制御装置１０に対して総トラフィック量を通知しない。
【００６０】
制御部２２は、例えば、稼動ポート数に変化があった場合に、制御装置１０に対して、稼動ポート数に関する情報を通知するように構成してもよい。制御部２２は、例えば、稼動ポート数に変化がない場合に、制御装置１０に対して稼動ポート数を通知しない。
【００６１】
図７は、ノード２０−２が有するトラフィック量ＤＢ２３のテーブルの構成例である。トラフィック量ＤＢ２３は、例えば、ノード２０に接続するリンク３０ごとに、トラフィック量を記憶する。図７の例では、トラフィック量ＤＢ２３は、ノード２０−２に接続するリンク３０−２およびリンク３０−３について、トラフィック量を記憶する。
【００６２】
トラフィック量ＤＢ２３は、例えば、ノード２０に接続するリンク３０ごとに、そのリンクから送信するトラフィック量（送信量）と、受信するトラフィック量（受信量）とを記憶する。
【００６３】
図７の例では、トラフィック量ＤＢ２３は、リンク３０−２のリンク識別子と、ノード２０−２がリンク３０−２を介して送信するトラフィック量である「３０」と、受信するトラフィック量である「１０」とを、対応付けて記憶する。
【００６４】
続いて、本発明の第１の実施形態における制御装置１０の動作例について、図面を参照して説明する。図８は、制御装置１０の動作を説明するためのフローチャートである。
【００６５】
制御装置１０の制御部１２が、所定の条件に応じて、リンク３０のトラフィック量の収集を開始する。
【００６６】
制御部１２は、トラフィック量を収集するリンクに接続するノード２０のうち、ノードの処理負荷が小さいノードを、トラフィック量の通知を要求するノードに決定する（Ｓ００１）。その後、制御部１２は、トラフィック量の通知を要求するためのメッセージを作成する（Ｓ００２）。
【００６７】
通知部１１は、制御部１２が作成したメッセージを、決定したノードに送信する（Ｓ００３）。
【００６８】
通信部１１は、リンクのトラフィック量を通知するためのメッセージを、ノードから受信する（Ｓ００４）。
【００６９】
リンク情報ＤＢ１３は、ノードから受信したメッセージに含まれる、リンクのトラフィック量を記憶する（Ｓ００５）。
【００７０】
続いて、本発明の第１の実施形態におけるノード２０の動作例について、図面を参照して説明する。図９は、ノード２０の動作を説明するためのフローチャートである。
【００７１】
ノード２０の通信部２１が、制御装置１０からトラフィック量の通知を要求するメッセージを受信する（Ｓ１０１）。
【００７２】
ノード２０の制御部２２は、トラフィック量ＤＢ２３から、通信部２１で受信したメッセージにより指定されたリンクのトラフィック量を検索する（Ｓ１０２）。
【００７３】
制御部２２は、検索したトラフィック量を通知するためのメッセージを作成する（Ｓ１０３）。
【００７４】
通信部２１は、制御部２２が作成したメッセージを、制御装置１０へ送信する（Ｓ１０４）。
【００７５】
以上のような構成によれば、制御装置１０が、リンク３０に接続するノード２０のうち負荷の低いノードから、そのリンク３０に関する情報を収集するので、特定のノードに負荷が集中することを防止できる。
【００７６】
＜実施形態２＞
制御装置１０が、ノード２０に関する情報を記憶するノード情報ＤＢを参照して、リンク３０に関する情報を通知するノードを決定する本発明の第２の実施形態について、図面を参照して説明する。なお、第１の実施形態と同等である構成については、説明を省略する。
【００７７】
本発明の第２の実施形態は、上述した第１の実施形態に適用することができる。
【００７８】
制御装置１０は、複数のノード２０から、該複数のノード２０で構成されるネットワークに含まれるリンク３０に関する情報を収集する。なお、本発明の第２の実施形態において、制御装置１０が、リンク３０に関する情報としてトラフィック量を収集する例を用いて説明するが、制御装置１０が収集するリンク３０に関する情報は、リンク３０のトラフィック量に限られない。
【００７９】
図１０は、本発明の第２の実施形態における制御装置１０の構成例を示す。図１０に示すように、制御装置１０は、通信部１１と、制御部１２と、リンク情報ＤＢ１３と、ノード情報ＤＢ１４とを有する。
【００８０】
ノード情報ＤＢ１４は、ノード２０ごとに、そのノード２０の処理負荷に関する情報を記憶する。
【００８１】
図１１は、ノード情報ＤＢ１４に記憶されるテーブルの構成例を示す図である。図１１に示すように、ノード情報ＤＢ１４は、例えば、ノード２０ごとに、ノードＩＤと、そのノードのＣＰＵの負荷とを対応付けて記憶する。ノード２０のＣＰＵの負荷は、例えば、ＣＰＵの使用率で示される。なお、ノード情報ＤＢ１４に記憶されるノード２０の処理負荷に関する情報は、ＣＰＵの負荷に限られず、ノード２０の処理負荷に関する情報であれば、どのような情報であってもよい。
【００８２】
図１１の例では、ノード情報ＤＢ１４は、例えば、ノード１０−２のノードＩＤと、ノード１０−２のＣＰＵの使用率である５０％とを対応付けて記憶する。また、図１１の例では、ノード情報ＤＢ１４は、ノード１０−１からＣＰＵの負荷に関する情報の通知が無いことに応じて、ノード１０−１のＣＰＵの使用率を、閾値である７０％以上であると記憶する。
【００８３】
図１２は、ノード情報ＤＢ１４に記憶されるテーブルの他の構成例を示す図である。図１２に示すように、ノード情報ＤＢ１４は、ノード２０ごとに、そのノード２０の処理負荷に関する情報を複数記憶してもよい。ノード情報ＤＢ１４は、例えば、ノード２０ごとに、ノードＩＤと、そのノードにおけるＣＰＵの負荷と、稼動ポート数と、総トラフィック量とを対応付けて記憶する。
【００８４】
図１２の例では、ノード情報ＤＢ１４は、例えば、ノード１０−２のノードＩＤと、ノード１０−２のＣＰＵの負荷である５０％と、ノード１０−２の稼動ポート数である２と、ノード１０−２の総トラフィック量である８０とを、対応付けて記憶する。
【００８５】
なお、ノード情報ＤＢ１４に記憶するノード２０に関する情報は、これらの例に限られず、ノード２０の処理負荷に関する情報であれば、どのような情報であってもよい。
【００８６】
ノード情報ＤＢ１４は、例えば、ノード２０から処理負荷に関する情報を通知されたことに応じて、記憶する情報を更新する。ノード情報ＤＢ１４は、例えば、所定の周期で、記憶する情報を更新する。ノード情報ＤＢ１４は、例えば、制御部１２からの指示に応じて、記憶する情報を更新する。ノード情報ＤＢ１４は、例えば、制御部１２がトラフィック量を通知させるノードを決定する際に、記憶する情報を更新する。
【００８７】
制御部１２は、ノード情報ＤＢ１４を参照して、例えば、リンク３０に接続する２つのノードのうち、処理負荷の小さいノードからトラフィック量を収集する。制御部１２は、図１１のテーブルが記憶されたノード情報ＤＢ１４を参照して、例えば、リンク３０−１に接続するノード２０−１とノード２０−２のうち、ＣＰＵの負荷の小さいノード２０−２からリンク３０−１のトラフィック量を収集する。
【００８８】
制御部１２は、ノード情報ＤＢ１４にノード２０の処理負荷に関する情報が複数記憶されている場合、複数の情報の少なくとも１つを用いて、トラフィック量を収集するノードを決定する。制御部１２は、図１２のテーブルが記憶されたノード情報ＤＢ１４の情報のうち、例えば、ＣＰＵ負荷に基づいて、トラフィック量を収集するノードを決定する。
【００８９】
制御部１２は、例えば、ノード情報ＤＢ１４に記憶されるノード２０の処理負荷に関する複数の情報に優先度を設け、より優先度の高い情報に基づいて、トラフィック量を収集するノードを決定してもよい。制御部１２は、例えば、ノード情報ＤＢ１４において、ＣＰＵ負荷の優先度を、稼動ポート数に比べて高く設定する。この場合、制御部１２は、リンク３０に接続する２つのノードのうち、優先度の高いＣＰＵの負荷に基づいて、トラフィック量を収集するノードを決定する。制御部１２は、例えば、図１２のテーブルが記憶されたノード情報ＤＢ１４を参照して、リンク３０−１のトラフィック量を、稼動ポート数の少ないノード２０−１ではなく、ＣＰＵの負荷の低いノード２０−３から収集する。
【００９０】
制御部１２は、例えば、ノード情報ＤＢ１４に記憶されるノード２０の処理負荷に関する情報のうち、複数の情報に基づいて、トラフィック量を収集するノードを決定してもよい。制御部１２は、例えば、リンクに接続する２つのノードについて、ＣＰＵの負荷がどちらのノードも予め定めた閾値（図１２の例では７０％）より低い場合、ＣＰＵの負荷ではなく稼動ポート数に基づいて、トラフィック量を収集するノードを決定する。制御部１２は、例えば、図１２のテーブルが記憶されたノード情報ＤＢ１４を参照して、リンク３０−３のトラフィック量を、ノード２０−２とノード２０−３とのＣＰＵ負荷が予め定めた閾値よりも低いことから、ＣＰＵ負荷の低いノード２０−３ではなく、稼動ポート数の少ないノード２０−２から収集する。
【００９１】
以上のような構成によれば、制御装置１０は、制御装置１０内のノード情報ＤＢ１４を参照してリンク３０に関する情報を収集するノード２０を決定するので、ノード２０を決定する際に、逐次ノード情報を収集することなく、ノード２０を決定することが可能となる。また、制御装置１０は、ノード情報ＤＢ１４がノード２０の処理負荷に関する複数の情報を記憶している場合に、複数の情報を考慮して、そのリンク３０に関する情報を収集するノード２０を決定することができる。
【００９２】
＜実施形態３＞
制御装置１０が、複数のポートを有するノード２０に対して、ポートを指定してリンクに関する情報の通知を要求し、指定したポートに対応するリンクのリンクに関する情報の通知を受ける本発明の第３の実施形態について図面を参照して説明する。なお、第１及び第２の実施形態と同等である構成については、説明を省略する。
【００９３】
本発明の第３の実施形態は、上述の実施形態のいずれにも適用することができる。
【００９４】
本発明の第３の実施形態は、図１３に示すように、ノード２０の各々が複数のポート４０−Ａ〜４０−Ｃ（以下、ポート４０−Ａ〜４０−Ｃを特に区別する必要のないときは「ポート４０」と表記する。）を有し、ポート４０を介してリンク３０に接続する。
【００９５】
図１３に示すように、リンク３０の各々は、ノード２０が有するポート４０に接続する。リンク３０−１は、例えば、ノード２０−１が有するポート４０−１−Ｂと、ノード２０−３が有するポート４０−３−Ａとに接続する。
【００９６】
制御装置１０は、複数のノード２０から、該複数のノード２０で構成されるネットワークに含まれるリンク３０に関する情報を収集する。なお、本発明の第３の実施形態において、制御装置１０が、リンク３０に関する情報としてトラフィック量を収集する例を用いて説明するが、制御装置１０が収集するリンク３０に関する情報は、リンク３０のトラフィック量に限られない。
【００９７】
本発明の第３の実施形態において、制御装置１０の構成例は、本発明の第１及び第２の実施形態と同様である。
【００９８】
制御装置１０が有するトラフィック量ＤＢ１３は、リンク３０ごとに、そのリンクに接続するポートに関する情報と、ノード２０から受信したリンク３０のトラフィック量とを対応付けて記憶する。
【００９９】
図１４は、本発明の第３の実施形態における、制御装置１０が有するリンク情報ＤＢ１３のテーブルの構成例である。図１４に示すように、リンク情報ＤＢ１３は、リンク３０ごとに、リンク３０に接続するポート４０に関する情報と、リンク３０の順方向と逆方向のトラフィック量とを対応付けて記憶する。なお、リンク情報ＤＢ１３は、リンク３０ごとに、順方向と逆方向のトラフィック量の合計値を記憶してもよい。ポート４０に関する情報は、例えば、そのポートを有するノードの識別子、および、そのポートのポート番号を含む。
【０１００】
図１４の例では、制御装置１０が有するリンク情報ＤＢ１３は、例えば、リンク３０−２のリンクＩＤと、ポートの情報としてノード１０−１のノードＩＤ及びポート４０−１−Ｃのポート番号と、対向ポートの情報としてノード１０−２のノードＩＤ及びポート４０−２−Ａのポート番号と、順方向のトラフィック量として「１０」と、逆方向のトラフィック量として「３０」とを対応付けて記憶する。
【０１０１】
制御部１２は、例えば、リンク３０に接続する２つのノード２０のうち、処理負荷が少ないノードから、トラフィック量を収集する。通信部１１は、例えば、制御部１２がトラフィック量を収集すると決定したノード２０に対して、トラフィック量の通知を要求するメッセージを送信する。
【０１０２】
本発明の第３の実施形態において、制御部１２は、例えば、リンク情報ＤＢ１３を参照して、トラフィック量を収集するノード２０における、リンク３０に対応するポート４０のポート番号を把握する。制御部１２は、例えば、リンク３０−２のトラフィック量をノード２０−２から収集する場合、リンク情報ＤＢ１３を参照して、リンク３０−２に対応するポートが、ノード２０−２のポート４０−２−Ａであることを把握する。
【０１０３】
本発明の第３の実施形態において、制御部１２は、例えば、トラフィック量の通知を要求するメッセージに、トラフィック量を収集するリンク３０に対応するポート４０のポート番号を格納する。制御部１２は、例えば、リンク３０−２のトラフィック量を収集する場合、トラフィック量の通知を要求するメッセージに、把握したポート４０−２−Ａのポート番号を格納する。なお、ノード２０−２は、メッセージに格納されたポート番号のポートで送受信しているトラフィック量を、制御装置１０に通知する。
【０１０４】
図１５は、本発明の第３の実施形態におけるノード２０の構成例を示す。図１５に示すように、ノード２０は、通信部２１と、制御部２２と、トラフィック量ＤＢ２３と、ポート４０−Ａ〜４０−Ｃを有する。
【０１０５】
通信部２１は、ポート４０を介して、パケットを送受信する。
【０１０６】
トラフィック量ＤＢ２３は、ノード２０が有するポート４０ごとに、そのポートで送受信されるトラフィック量を記憶する。
【０１０７】
図１６は、本発明の第３の実施形態における、ノード２０−２が有するトラフィック量ＤＢ２３のテーブルの構成例である。トラフィック量ＤＢ２３は、例えば、ノード２０が有するポート４０ごとに、そのポートに接続するリンクのリンクＩＤと、そのポートで送受信されるトラフィック量とを記憶する。ノード２０−２が有するトラフィック量ＤＢ２３は、ノード２０−２が有するポート４０ごとに、そのポートに接続するリンクのリンクＩＤと、そのポートで送信されるトラフィック量（送信量）と、受信されるトラフィック量（受信量）とを対応付けて記憶する。
【０１０８】
図１６の例では、ノード２０−２が有するトラフィック量ＤＢ２３は、例えば、ポート４０−２−Ａのポート識別子と、リンク３０−２のリンクＩＤと、トラフィックの送信量として「３０」と、トラフィックの受信量として「１０」とを対応付けて記憶する。
【０１０９】
続いて、本発明の第３の実施形態における制御装置１０の動作例について、図面を参照して説明する。図１７は、制御装置１０の動作を説明するためのフローチャートである。
【０１１０】
制御装置１０の制御部１２が、所定の条件に応じて、リンク３０のトラフィック量の収集を開始する。
【０１１１】
制御部１２は、トラフィック量を収集するリンク３０に接続するノード２０のうち、ノードの処理負荷が小さいノードを、トラフィック量の通知を要求するノードに決定する（Ｓ２０１）。その後、制御部１２は、リンク情報ＤＢ１３を参照して、トラフィック量を収集するリンクに対応するポートのポート番号を把握する（Ｓ２０２）。
【０１１２】
制御部１２は、把握したポート番号を格納した、トラフィック量の通知を要求するためのメッセージを作成する（Ｓ２０３）。
【０１１３】
通知部１１は、制御部１２が作成したメッセージを、決定したノードに送信する（Ｓ２０４）。
【０１１４】
通信部１１は、トラフィック量を収集するリンクに対応するポートのトラフィック量を通知するためのメッセージを、ノードから受信する（Ｓ２０５）。
【０１１５】
リンク情報ＤＢ１３は、ノード２０から受信したメッセージに含まれるトラフィック量を記憶する（Ｓ２０６）。
【０１１６】
続いて、本発明の第３の実施形態におけるノード２０の動作例について、図面を参照して説明する。図１８は、ノード２０の動作を説明するためのフローチャートである。
【０１１７】
ノード２０の通信部２１が、制御装置１０からトラフィック量の通知を要求するメッセージを受信する（Ｓ３０１）。
【０１１８】
ノード２０の制御部２２は、トラフィック量ＤＢ２３から、通信部２１で受信したメッセージにより指定されたポートのトラフィック量を検索する（Ｓ３０２）。
【０１１９】
制御部２２は、検索したトラフィック量を通知するためのメッセージを作成する（Ｓ３０３）。
【０１２０】
通信部２１は、制御部２２が作成したメッセージを、制御装置１０へ送信する（Ｓ３０４）。
【０１２１】
以上のような構成によれば、制御装置１０がポート４０を指定してリンク３０に関する情報の通知を要求するので、ノード２０は、ポート４０とリンク３０との対応関係を把握することなく、制御装置１０からのそのリンク３０に関する情報の要求に応答することができる。
【０１２２】
＜実施形態４＞
制御装置１０が、リンク情報ＤＢ１３を参照して、ネットワーク内の各リンクについて、リンクに関する情報を収集するノードを決定する本発明の第４の実施形態について、図面を参照して説明する。なお、第１乃至第３の実施形態と同等である構成については、説明を省略する。
【０１２３】
本発明の第４の実施形態は、上述の実施形態のいずれにも適用することができる。
【０１２４】
制御装置１０は、複数のノード２０から、該複数のノード２０で構成されるネットワークに含まれるリンク３０に関する情報を収集する。なお、本発明の第４の実施形態において、制御装置１０が、リンク３０に関する情報としてトラフィック量を収集する例を用いて説明するが、制御装置１０が収集するリンク３０に関する情報は、リンク３０のトラフィック量に限られない。
【０１２５】
本発明の第４の実施形態において、制御装置１０の構成例は、本発明の第１乃至第３の実施形態と同様である。
【０１２６】
本発明の第４の実施形態において、決定部１２０は、例えば、リンク情報ＤＢ１３に記憶されたテーブルの最初の行のリンク３０から順番に、トラフィック量を収集するノード２０を決定する。決定部１２０は、例えば、テーブルのある行のリンク３０に対してトラフィック量を収集するノード２０を決定したことに応じて、次の行（すなわち、１つ下の行）のリンク３０に、トラフィック量を収集するノード２０を決定する処理を行う。
【０１２７】
決定部１２０は、リンク３０に対してトラフィック量を収集するノード２０を決定するごとに、リンク情報ＤＢ１３に記憶された全てのリンク３０に、トラフィック量を収集するノード２０を決定したか否かを確認する。決定部１２０は、例えば、リンク３０に対してトラフィック量を収集するノード２０を決定するごとに、リンク情報ＤＢ１３に記憶されたテーブルの最終行に記憶されるリンク３０まで、トラフィック量を収集するノードを決定したか否かを確認する。
【０１２８】
決定部１２０は、リンク情報ＤＢ１３の最初の行に記憶されるリンク３０から、最終行に記憶されるリンク３０まで、一行ごとにトラフィック量を収集するノード２０を決定する。そのため、決定部１２０は、リンク情報ＤＢ１３に記憶される全てのリンク３０に対して、トラフィック量を収集するノード２０を決定できる。
【０１２９】
本発明の第４の実施形態において、リンク情報ＤＢ１３は、リンク３０のそれぞれに割り振るリンクＩＤを、互いに連続した番号としてもよい。決定部１２０は、例えば、割り当てられたリンクＩＤが小さいリンク３０から順番に、トラフィック量を収集するノード２０を決定する。
【０１３０】
図１９は、本発明の第４の実施形態における、リンク情報ＤＢ１３の構成例を示す。図１９に示すように、リンク情報ＤＢ１３は、リンク３０に割り当てるリンクＩＤを、連続した番号とする。図１９において、リンク３０−１のリンクＩＤは「１」であり、リンク３０−２のリンクＩＤは「２」である。なお、リンク３０に割り当てるリンクＩＤは、連続であればどのような数であってもよく、１０進法に限られない。
【０１３１】
決定部１２０は、例えば、まず初めに、リンクＩＤの最も小さいリンク３０に対して、トラフィック量を収集するノード２０を決定する。決定部１２０は、図１９に例示するリンク情報ＤＢ１３を参照する場合、まず初めに、リンクＩＤが「１」のリンク３０−１に対して、トラフィック量を収集するノード２０を決定する。
【０１３２】
決定部１２０は、例えば、あるリンク３０に対してトラフィック量を収集するノード２０を決定したことに応じて、次のリンクＩＤ（すなわち、番号が１つ大きいリンクＩＤ）が割り当てられたリンク３０に対して、トラフィック量を収集するノード２０を決定する処理を実行する。決定部１２０は、図１９に例示するリンク情報ＤＢ１３を参照する場合、リンクＩＤが「１」のリンク３０−１にトラフィック量を収集するノード２０を決定したことに応じて、リンクＩＤが「２」のリンク３０−２に対し、トラフィック量を収集するノード２０を決定する処理を実行する。
【０１３３】
決定部１２０は、例えば、トラフィック量を収集するノード２０を決定するリンク３０のリンクＩＤを、要求リンクＩＤとして管理してもよい。決定部１２０は、例えば、リンク３０のトラフィック量の収集を開始することに応じて、要求リンクＩＤを、リンク情報ＤＢ１３に記憶された最も値の小さいリンクＩＤに設定する。決定部１２０は、例えば、リンク３０のトラフィック量を収集するノード２０を決定したことに応じて、要求リンクＩＤをインクリメントする。
【０１３４】
決定部１２０は、例えば、リンク３０に対してトラフィック量を収集するノード２０を決定するごとに、リンク情報ＤＢ１３に記憶された最も値の大きいリンクＩＤに対応するリンク３０まで、トラフィック量を収集するノードを決定したか否かを確認する。決定部１２０は、例えば、リンク３０に対してトラフィック量を収集するノード２０を決定するごとに、要求リンクＩＤが、リンク情報ＤＢ１３に記憶された最大のリンクＩＤか否かを確認する。決定部１２０は、例えば、リンク３０に対してトラフィック量を収集するノード２０を決定するごとに、リンク情報ＤＢ１３に、要求リンクＩＤよりも値の大きいリンクＩＤが記憶されているか否かを確認してもよい。
【０１３５】
続いて、本発明の第４の実施形態における制御装置１０の動作例について、図面を参照して説明する。図２０は、制御装置１０の動作を説明するためのフローチャートである。なお、図２０に示す制御装置１０の動作は、制御装置１０が、図１９に示すリンク情報ＤＢ１３を有する場合の例である。
【０１３６】
制御装置１０の制御部１２が、所定の条件に応じて、リンク３０のトラフィック量の収集を開始する。
【０１３７】
決定部１２０は、例えば、リンクＩＤを最も値の小さいリンクＩＤに設定する（Ｓ４０１）。
【０１３８】
制御部１２は、要求リンクＩＤに対応するリンクＩＤのリンク３０について、そのリンク３０に接続する２つのノード２０のうちノード２０の処理負荷が小さいノードを、トラフィック量を収集するノードに決定する（Ｓ４０２）。
【０１３９】
その後、制御部１２は、トラフィック量の通知を決定したノードに対して要求するためのメッセージを作成する（Ｓ４０３）。
【０１４０】
通知部１１は、制御部１２が作成したメッセージを、決定したノードに送信する（Ｓ４０４）。
【０１４１】
制御部１２は、決定管理部１２１を参照して、ネットワーク内の全てのリンク３０に対して、トラフィック量を通知するノード２０を決定したか否かを確認する（Ｓ４０５）。制御部１２は、例えば、要求リンクＩＤの値が、リンク情報ＤＢに記憶されている最大のリンクＩＤの値か否かを確認する。
【０１４２】
確認の結果、まだトラフィック量を通知するノード２０を決定していないリンク３０があれば、要求リンクＩＤをインクリメントして（Ｓ４０６）、Ｓ４０２に戻り、要求リンクＩＤに対応するリンクＩＤのリンク３０に対してトラフィック量を収集するノード２０を決定する。
【０１４３】
通信部１１は、リンク３０のトラフィック量を通知するためのメッセージを、ノードから受信し（Ｓ４０７）、リンク情報ＤＢ１３に記憶する（Ｓ４０８）。
【０１４４】
以上のような構成によれば、制御装置１０は、ネットワーク内の全てのリンク３０から、リンク３０に関する情報を確実に収集することができる。
【０１４５】
＜実施形態５＞
制御装置１０が、ネットワークに含まれるリンクごとに、リンクに関する情報を収集するノード２０を決定したか否かを記憶する決定管理部を有する本発明の第５の実施形態について、図面を参照して説明する。
【０１４６】
本発明の第５の実施形態は、上述の実施形態のいずれにも適用することができる。
【０１４７】
本発明の第５の実施形態は、図２１に示すように、制御装置１０及びノード２０−１〜２０−９を含む構成にて実現できる。なお、ノードの数は図２１に示す例に限られず、いくつであってもよい。
【０１４８】
図２１に示すように、ノード２０−１〜２０−９各々は、隣接するノードと、リンク３０を介して互いに接続する。
【０１４９】
制御装置１０は、複数のノード２０から、該複数のノード２０で構成されるネットワークに含まれるリンク３０に関する情報を収集する。なお、本発明の第５の実施形態において、制御装置１０が、リンク３０に関する情報としてトラフィック量を収集する例を用いて説明するが、制御装置１０が収集するリンク３０に関する情報は、リンク３０のトラフィック量に限られない。
【０１５０】
図２２は、本発明の第５の実施形態における制御装置１０の構成例である。図２２に示すように、第５の実施形態において、制御部１２は、決定部１２０と決定管理部１２１とを有する。
【０１５１】
決定部１２０は、例えば、ノード情報ＤＢ１４を参照して、リンク３０に接続する２つのノードから、処理負荷に基づいて、リンク３０のトラフィック量を収集するノードを決定する。決定部１２０は、例えば、リンク３０に接続する２つのノードのうち、処理負荷が低いノードを、トラフィック量を収集するノードとして決定する。
【０１５２】
決定部１２０は、例えば、トラフィック量を収集するノード２０を決定したことに応じて、決定したノード２０に関する情報と、トラフィック量を収集するポート４０に関する情報とを、決定管理部１２１に記憶する。
【０１５３】
決定部１２０は、例えば、リンク３０ごとに、トラフィック量を収集するノード２０を決定したことに応じて、トラフィック量を収集するノード２０を決定したことを示すフラグを記憶してもよい。
【０１５４】
決定部１２０は、例えば、決定管理部１２１を参照して、ネットワーク内の各リンク３０について、トラフィック量を収集するノード２０を決定したか否かを確認する。決定部１２０は、例えば、トラフィック量を収集するノード２０を決定していないリンク３０がある場合には、そのリンクに対して、トラフィック量を収集するノードを決定する。決定部１２０は、ネットワーク内の各リンク３０に対して、トラフィック量を収集するノードを決定する。
【０１５５】
決定部１２０は、例えば、決定管理部１２１を参照して、リンク３０について、ノード２０に関する情報とポート４０に関する情報とが記憶されていることに応じて、そのリンクについては、トラフィック量を収集するノード２０を決定済みと判断する。一方、決定部１２０は、決定管理部１２１を参照して、ノード２０に関する情報とポート４０に関する情報とが記憶されていないリンク３０について、トラフィック量を収集するノード２０を決定していないと判断する。
【０１５６】
また、決定部１２０は、例えば、トラフィック量を収集するノード２０の決定したことを示すフラグがリンク３０ごとに設けられた決定管理部１２１を参照して、リンク３０ごとに、トラフィック量を収集するノード２０を決定したか否かを確認してもよい。
【０１５７】
決定部１２０が、リンク３０ごとに、トラフィック量を収集するノード２０を決定したか否かを確認する方法は、上記の例に限られず、どのような方法であってもよい。
【０１５８】
決定管理部１２１は、例えば、リンク３０ごとに、決定部１２０が決定したノード２０と、トラフィック量を収集するリンク３０に対応するポート４０とを管理する。決定管理部１２１は、例えば、決定部１２０が決定したノード２０のノードＩＤと、トラフィック量を収集するリンク３０に対応するポート４０とを対応付けて記憶する。決定管理部１２１は、例えば、ネットワーク内の各リンク３０ごとに、決定部１２０が決定したノード２０と、トラフィック量を収集するリンク３０に対応するポート４０とを管理する。
【０１５９】
図２３は、制御部１２０が有する決定管理部１２１が記憶するテーブルの構成例を示す。図２３に示すように、決定管理部１２１は、リンクごとに、決定したノードのノードＩＤと、そのリンクに対応するポートのポート番号とを、対応付けて記憶する。図２３の例では、決定管理部１２１は、リンク３０−１のリンクＩＤと、リンク３０−１のトラフィック量を収集するノード２０−１のノードＩＤと、ノード２０−１において、リンク３０−１に接続するポート４０−Ｂとを、対応付けて記憶する。また、図２３の例では、決定管理部１２１は、リンク３０−４について、トラフィック量を収集するノード２０を決定していないため、ノードＩＤとポート番号とを記憶していない。
【０１６０】
また、決定管理部１２１は、リンク３０ごとに、トラフィック量を収集するノード２０を決定したことを示すフラグを記憶してもよい。
【０１６１】
図２４は、制御部１２０が有する決定管理部１２１が記憶するテーブルの他の構成例を示す。図２４に示すように、決定管理部１２１は、リンクごとに、トラフィック量を収集するノード２０の決定したことを示すフラグを記憶する。図２４の例では、決定管理部１２１は、トラフィック量を収集するノード２０を決定したリンクに対して、フラグである「○」を記憶する。図２４の例では、制御部１２０は、リンク３０−１〜３０−３のフラグである「○」が記憶されているため、すでにトラフィック量を収集するノードが決定していると判断する。一方、制御部１２０は、リンク３０−４について、フラグである「○」が記憶されていないので、まだトラフィック量を収集するノードを決定していないと判断する。
【０１６２】
決定管理部１２１は、例えば、制御装置１０がリンク３０のトラフィック量の収集を開始することに応じて、記憶している情報を消去する。また、決定管理部１２１は、例えば、制御装置１０がリンク３０のトラフィック量の収集を開始することに応じて、トラフィック量を収集するノード２０を決定したことを示すフラグだけを消去してもよい。
【０１６３】
続いて、本発明の第５の実施形態における制御装置１０の動作例について、図面を参照して説明する。図２５は、制御装置１０の動作を説明するためのフローチャートである。
【０１６４】
制御装置１０の制御部１２が、所定の条件に応じて、リンク３０のトラフィック量の収集を開始する。
【０１６５】
制御部１２は、リンクのトラフィック量の収集を開始したことに応じて、決定管理部１２１に記憶される情報を消去する（Ｓ５０１）。
【０１６６】
制御部１２は、トラフィック量を収集するリンクに接続するノード２０のうち、ノードの処理負荷が小さいノードを、トラフィック量の通知を要求するノードに決定する（Ｓ５０２）。
【０１６７】
その後、制御部１２は、トラフィック量の通知を要求するためのメッセージを作成する（Ｓ５０３）。また、制御部１２は、例えば、トラフィック量を収集するノード２０を決定したリンク３０に対して、決定部１２０が決定したノード２０と、トラフィック量を収集するリンク３０に対応するポート４０とを、決定管理部１２１に記憶する（Ｓ５０４）。
【０１６８】
通知部１１は、制御部１２が作成したメッセージを、決定したノードに送信する（Ｓ５０５）。
【０１６９】
制御部１２は、決定管理部１２１を参照して、ネットワーク内の各リンク３０に対して、トラフィック量を通知するノード２０を決定したか否かを確認する（Ｓ５０６）。確認の結果、まだトラフィック量を通知するノード２０を決定していないリンク３０があれば、Ｓ５０２に戻り、そのリンク３０に対してトラフィック量を収集するノード２０を決定する。
【０１７０】
通信部１１は、リンクのトラフィック量を通知するためのメッセージをノード２０から受信し（Ｓ５０７）、ノードから受信したメッセージに含まれる、リンク２０のトラフィック量をリンク情報ＤＢ１３に記憶する（Ｓ５０８）。
【０１７１】
以上のような構成によれば、制御装置１０は、リンク３０に関する情報を収集するノード２０を決定したか否かをネットワーク内のリンク毎に記憶する決定管理部１２１を有するので、例えば図２１に示すようにネットワークシステム全体における情報収集を効率的に実行できる。
【０１７２】
＜実施形態６＞
本発明の第６の実施形態は、本発明を、集中制御型のネットワークアーキテクチャであるオープンフロー（OpenFlow）という技術を改良して実施する例を示す。
【０１７３】
第６の実施形態は、上述の実施形態のいずれにも適用することができる。
【０１７４】
オープンフローは、通信をエンドツーエンドのフローとして認識し、フロー単位で経路制御等を実行できる。よって、オープンフローを本発明に利用することにより、通信料金に応じた無線アクセス方式の制御をより柔軟に実行できる。
【０１７５】
図２６及び図２７を参照し、オープンフローについて説明する。
【０１７６】
図２６に、オープンフロー技術により構成された通信システムの概要を示す。なお、フローとは、例えば、所定の属性（通信の宛先や送信元等に基づいて識別される属性）を有する一連の通信パケット群である。オープンフロースイッチ５１は、オープンフロー技術を採用したネットワークスイッチである。オープンフローコントローラ５０は、オープンフロースイッチ５１を制御する情報処理装置である。
【０１７７】
オープンフロースイッチ５１は、オープンフローコントローラ５０との間に設定されたセキュアチャネル５２を介して、オープンフローコントローラ５０と通信する。オープンフローコントローラ５０は、セキュアチャネル５２を介して、オープンフロースイッチ５１のフローテーブル５１０の設定を行う。なお、セキュアチャネル５２は、スイッチとコントローラ間の通信の盗聴や改ざん等を防止するための処置がなされた通信経路である。
【０１７８】
図２７は、フローテーブル５１０の各エントリ（フローエントリ）の構成例を示す。フローエントリは、スイッチが受信したパケットのヘッダに含まれる情報（例えば、宛先ＩＰアドレスやＶＬＡＮ  ＩＤ等）と照合するためのマッチングルールと、パケットフローごとの統計情報である統計情報（Counters）と、マッチングルールにマッチするパケットの処理方法を規定するアクション（Actions）とで構成される。
【０１７９】
オープンフロースイッチ５１は、パケットを受信すると、フローテーブル５１０を参照する。オープンフロースイッチ５１は、受信したパケットのヘッダ情報にマッチするフローエントリを検索する。受信パケットのヘッダ情報にマッチするエントリが検索された場合、オープンフロースイッチ５１は、検索されたエントリのアクションフィールドに定義された処理方法に従って、受信パケットを処理する。処理方法は、例えば、“受信パケットを所定のポートから転送する”、“受信したパケットを廃棄する”、“受信パケットのヘッダの一部を書き換えて、所定のポートから転送する”といったことが規定されている。
【０１８０】
一方、受信パケットのヘッダ情報にマッチするエントリが見つからない場合、オープンフロースイッチ５１は、例えば、セキュアチャネル５２を介して、オープンフローコントローラ５０に対して受信パケットを転送する。オープンフロースイッチ５１は、受信パケットを転送することにより、オープンフローコントローラ５０に対して、受信パケットの処理方法を規定したフローエントリの設定を要求する。
【０１８１】
オープンフローコントローラ５０は、受信パケットの処理方法を決定し、決定した処理方法を含むフローエントリをフローテーブル５１０に設定する。その後、オープンフロースイッチ５１は、設定されたフローエントリにより、受信パケットと同一のフローに属する後続のパケットを処理する。
【０１８２】
図２８は、上記のオープンフローを改良して構成された、本発明の第６の実施形態のシステムの構成例を示す。本発明の第６の実施形態は、図２８に示すように、制御装置１０と、ノード２０と、リンク３０と、セキュアチャネル６０とを含む構成にて実現できる。
【０１８３】
制御装置１０は、複数のノード２０から、該複数のノード２０で構成されるネットワークに含まれるリンク３０に関する情報を収集する。なお、本発明の第６の実施形態において、制御装置１０が、リンク３０に関する情報としてトラフィック量を収集する例を用いて説明するが、制御装置１０が収集するリンク３０に関する情報は、リンク３０のトラフィック量に限られない。
【０１８４】
図２９は、本発明の第６の実施形態における、制御装置１０の構成例を示す図である。制御装置１０は、ノード２０と物理的に分離された装置である。図２９に示すように、制御装置１０は、通信部１１と、制御部１２と、リンク情報ＤＢ１３と、ノード情報ＤＢ１４と、処理規則決定部１５と、処理規則ＤＢ１６とを有する。
【０１８５】
通信部１１は、ノード２０から、パケットの処理規則の要求を受け取る手段として機能する。また、通信部１１は、ノード２０に処理規則を通知する手段として機能する。
【０１８６】
決定部１２０は、リンク情報ＤＢ１３を参照して、リンク３０に接続する２つのノードから、処理負荷に基づいて、リンク３０のトラフィック量を収集するノードを決定する。決定部１２０は、例えば、リンク３０に接続する２つのノードのうち、処理負荷が低いノードを、トラフィック量を収集するノードとして決定する。
【０１８７】
図２９に示すように、制御部１２は、ネットワーク管理部１２２を有してもよい。ネットワーク管理部１２２は、制御装置１０が管理するネットワークのトポロジ情報を構築する。ネットワーク管理部１２２は、例えば、ＬＬＤＰ（Link Layer Discovery Protocol）を用いて、制御装置１０が管理するネットワークのトポロジを管理する。
【０１８８】
リンク情報ＤＢ１３は、例えば、図３又は図１５に示す情報に加えて、ネットワーク管理部１２２が構築したネットワークのトポロジ情報を記憶してもよい。
【０１８９】
ノード情報ＤＢ１４は、実施形態１乃至４のいずれかで説明した方法に加えて、OpenFlowに準拠した通信機器が有する機能により通知された情報を記憶してもよい。OpenFlowに準拠した通信機器（ネットワークスイッチ等）は、通信機器のポートのステータスをコントローラに通知する機能（Port Status）や、スイッチの特性をコントローラに通知する機能（Feature Request/Reply）を有する。
【０１９０】
処理規則決定部１５は、ノード２０が受信したパケットを処理するための処理規則を生成する。
【０１９１】
図３０は、処理規則決定部１５が生成する処理規則の例を示す。処理規則は、例えば、OpenFlowのフローエントリに対応する。図３０のテーブルのそれぞれの行が、処理規則である。
【０１９２】
“Match Field”は、フローを識別するための条件である。例えば、通信のポート番号によりフローを識別するための条件や、パケットに含まれる情報（宛先アドレスや送信元アドレス等）に基づいてフローを識別するための条件が、“Match Field”に設定される。図３０の例では、「宛先アドレスが“Ｘ”かつ送信元アドレス“Ｙ”」という条件が、”Match Field”に設定される。また、図３０の例では、クライアント側のポート番号とサーバ側のポート番号に基づく条件が、“Match Field”に設定される。
【０１９３】
“Action”は、“Match Field”の条件に合致するフローに属するパケットの処理方法である。図３０の例では、ノード２０−１のポート４０−１―Ｂからパケットを転送する動作が、“Action”フィールドに設定されている。
【０１９４】
処理規則決定部１５は、例えば、ノード２０が受信したパケットの転送経路を計算する。処理規則決定部１５は、例えば、リンク情報ＤＢ１３を参照して、ノード２０が受信したパケットの転送経路を計算する。
【０１９５】
処理規則決定部１５は、例えば、リンク情報ＤＢ１３を参照して、ネットワーク内のリンク３０のトラフィックの状況を把握し、把握したトラフィックの状況に基づいて、ノード２０が受信したパケットの転送経路を計算する。処理規則決定部１５は、例えば、リンク情報ＤＢ１３を参照して、ネットワーク内のリンク３０のトラフィックを分散するように、ノード２０が受信したパケットの転送経路を計算する。処理規則決定部１５は、例えば、リンク情報ＤＢ１３を参照して、特定のリンクにトラフィックが集中しないように、ノード２０が受信したパケットの転送経路を計算する。
【０１９６】
処理規則決定部１５は、例えば、計算した転送経路に基づいて、ノード２０が受信したパケットを転送するための処理規則を生成する。
【０１９７】
処理規則決定部１５は、生成した処理規則を、通信部１１を介してノード２０の少なくとも１つに通知する。
【０１９８】
処理規則ＤＢ１６は、処理規則決定部６１が生成した処理規則を記憶する。
【０１９９】
図３１は、本発明の第６の実施形態におけるノード２０の構成の例を示す。図３１に示すように、ノード２０は、通信部２１と、制御部２２と、トラフィック量ＤＢ２３と、処理規則ＤＢ２４と、ポート４０とを有する。制御部２２は、処理規則検索部２２０と、アクション実行部２２１とを有する。
【０２００】
通信部２１は、OpenFlowプロトコルに従って、制御装置１０と通信する。
【０２０１】
制御部２２は、制御装置１０から通知された処理規則に従って、パケットを処理する。
【０２０２】
処理規則検索部２２０は、処理規則ＤＢ２４から、受信したパケットに対応する処理規則を検索する。処理規則検索部２２０は、パケットと、処理規則ＤＢ２４に記憶された処理規則の“Match Field”とを照合し、パケットに対応する処理規則を検索する。
【０２０３】
アクション実行部２２１は、検索された処理規則の“Action”フィールドに規定された処理方法に従って、パケットを処理する。
【０２０４】
処理規則検索部２２０は、例えば、処理規則ＤＢ２４に、受信したパケットに対応する処理規則が存在しない場合、処理規則の設定を制御装置１０に要求する。
【０２０５】
また、制御部２２は、制御装置１０からの要求に応じて、トラフィック量ＤＢ２３に記憶されたトラフィック量を、該要求の応答として制御装置１０に通知する。
【０２０６】
処理規則ＤＢ２４は、制御装置１０から通知された処理規則を記憶する。
【０２０７】
続いて、本発明の第６の実施形態における制御装置１０の動作例について、図面を参照して説明する。
【０２０８】
図３２は、本発明の第６の実施形態における制御装置１０が、ノード２０の少なくとも１つに処理規則を設定する際の動作例を示す。なお、本発明の第６の実施形態において、制御装置１０がリンク３０のトラフィック量を収集する際の動作例は、第１乃至第５のいずれかの実施形態と同様である。
【０２０９】
通信部６０が、ノード２０から、パケットを処理するための処理規則の要求を受ける（Ｓ６０１）。なお、通信部６０は、ノード２０から、処理規則の要求とともに、ノード２０が受信したパケットの通知を受ける。
【０２１０】
処理規則決定部１５が、リンク情報ＤＢ１３を参照して、ノード２０が受信したパケットを転送するための転送経路を計算する（Ｓ６０２）。
【０２１１】
処理規則決定部１５が、計算した転送経路に基づいて、ノード２０の少なくとも１つに設定する処理規則を生成する（Ｓ６０３）。
【０２１２】
処理規則決定部１５が、通信部１１を介して、生成した処理規則をノード２０に通知する（Ｓ６０４；FlowMod）。なお、処理規則決定部１５は、処理規則を要求したノード２０に対しては、処理規則の通知とともに、Ｓ６０２で受信したパケットを戻す。
【０２１３】
続いて、本発明の第６の実施形態におけるノード２０の動作例について、図面を参照して説明する。
【０２１４】
図３３は、本発明の第６の実施形態におけるノード２０が、制御装置１０から、パケットを処理するための処理規則の設定を受ける場合の動作例を示す。
【０２１５】
図３３を参照すると、まず、ノード２０の少なくとも１つが、パケットを受信する（Ｓ７０１）。
【０２１６】
パケットを受信したノード２０の処理規則検索部２２０は、処理規則ＤＢ２４から受信したパケットに適合するマッチフィールドを持つ処理規則を検索する（Ｓ７０２）。
【０２１７】
検索の結果、適合する処理規則が見つかった場合、アクション実行部２２１が、処理規則に従って、パケットを処理する（Ｓ７０３）。
【０２１８】
一方、検索の結果、適合する処理規則が見つからない場合、制御部２２は、制御装置１０に対し、受信したパケットを添えて処理規則の設定を要求する（Ｓ７０４；Packet-In）。
【０２１９】
通信部２１は、処理規則検索部２２０が行った処理規則の要求に対する応答として、制御装置１０から通知された処理規則を受信する（Ｓ７０５）。なお、通信部２１は、処理規則とともに、Ｓ６０４で通知したパケットを制御装置１０から受信する（戻される）。
処理規則ＤＢ２４は、受信した処理規則を記憶する（Ｓ７０６）。
【０２２０】
アクション実行部２２１は、制御装置１０から戻されたパケットを、制御装置１０から通知された処理規則に従って処理する（Ｓ７０７）。
【０２２１】
以上のような構成によれば、本発明を、集中制御型のネットワークアーキテクチャであるオープンフロー（OpenFlow）という技術を改良して実施することができる。
【０２２２】
なお、上記特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
なお、本発明において、以下の形態が可能である。
［形態１］
複数のノードと、
ノード間でパケットを転送するための複数のリンクと、
前記複数のノードのうち、前記ノードの負荷に基づいて選択されたノードから、前記リンクに関する情報を収集する制御装置と
を有することを特徴とする通信システム。
［形態２］
前記制御装置は、前記リンクに接続するノードのうち負荷が所定の閾値よりも低いノードを選択することを特徴とする形態１に記載の通信システム。
［形態３］
前記制御装置は、前記選択したノードに対し、前記リンクに関する情報として前記リンクのトラフィック量を要求し、
前記ノードは、前記リンクのトラフィック量を前記制御装置に通知すること
を特徴とする形態１又は２に記載の通信システム。
［形態４］
前記制御装置は、前記選択したノードに対し、前記リンクを識別するための識別子を含むメッセージを送信し、
前記ノードは、前記識別子に対応するリンクに関する情報を前記制御装置に通知すること
を特徴とする形態１乃至３のいずれか一に記載の通信システム。
［形態５］
前記複数のノードのそれぞれは、前記リンクと接続するポートを有し、
前記制御装置は、前記リンクに接続するポートを識別するための識別子を含むメッセージにより、選択されたノードに対して、前記リンクに関する情報を要求し、
前記ノードは、前記識別子に対応するポートに接続するリンクに関する情報を、前記制御装置に通知すること
を特徴とする形態１乃至３のいずれか一に記載の通信システム。
［形態６］
前記制御装置は、各ノードから通知された負荷を記憶する第１の記憶手段を有し、
前記制御装置は、前記第１の記憶手段を参照して、前記リンクに関する情報を収集するノードを選択すること
を特徴とする形態１乃至５のいずれか一に記載の通信システム。
［形態７］
前記制御装置は、前記リンクごとに、前記リンクに関する情報を収集するノードを決定したか否かを管理する管理手段を有し、
前記制御装置は、前記管理手段を参照して、前記リンクのそれぞれに対して、前記リンクに関する情報を収集するノードを決定すること
を特徴とする形態１乃至６のいずれか一に記載の通信システム。
［形態８］
前記制御装置は、前記リンクに関する情報を参照し、受信パケットの転送経路を計算し、前記転送経路に従ってパケットを転送するための処理規則を、前記転送経路に対応するノードに通知する
ことを特徴とする形態１乃至７のいずれか一に記載の通信システム。
［形態９］
複数のノードと、ノード間でパケットを転送するための複数のリンクとを含む通信システムの制御装置であって、
前記複数のノードから、各ノードの負荷に基づいてノードを選択し、
選択したノードから、前記リンクに関する情報を収集する
ことを特徴とする制御装置。
［形態１０］
前記制御装置は、前記リンクに接続するノードのうち負荷が所定の閾値よりも低いノードを選択することを特徴とする形態９に記載の制御装置。
［形態１１］
前記制御装置は、前記選択したノードに対し、前記リンクに関する情報として前記リンクのトラフィック量を要求し、
前記ノードは、前記リンクのトラフィック量を前記制御装置に通知すること
を特徴とする形態９又は１０に記載の制御装置。
［形態１２］
前記制御装置は、前記選択したノードに対し、前記リンクを識別するための識別子を含むメッセージを送信し、
前記ノードは、前記識別子に対応するリンクに関する情報を前記制御装置に通知すること
を特徴とする形態９乃至１１のいずれか一に記載の制御装置。
［形態１３］
前記複数のノードのそれぞれは、前記リンクと接続するポートを有し、
前記制御装置は、前記リンクに接続するポートを識別するための識別子を含むメッセージにより、選択されたノードに対して、前記リンクに関する情報を要求し、
前記ノードは、前記識別子に対応するポートに接続するリンクに関する情報を、前記制御装置に通知すること
を特徴とする形態９乃至１１のいずれか一に記載の制御装置。
［形態１４］
前記制御装置は、各ノードから通知された負荷を記憶する第１の記憶手段を有し、
前記制御装置は、前記第１の記憶手段を参照して、前記リンクに関する情報を収集するノードを選択すること
を特徴とする形態９乃至１３のいずれか一に記載の制御装置。
［形態１５］
前記制御装置は、前記リンクごとに、前記リンクに関する情報を収集するノードを決定したか否かを管理する管理手段を有し、
前記制御装置は、前記管理手段を参照して、前記リンクのそれぞれに対して、前記リンクに関する情報を収集するノードを決定すること
を特徴とする形態９乃至１４のいずれか一に記載の制御装置。
［形態１６］
前記制御装置は、前記リンクに関する情報を参照し、受信パケットの転送経路を計算し、前記転送経路に従ってパケットを転送するための処理規則を、前記転送経路に対応するノードに通知する
ことを特徴とする形態９乃至１５のいずれか一に記載の制御装置。
［形態１７］
複数のノードと、ノード間でパケットを転送するための複数のリンクとを含む通信システムにおける情報収集方法であって、
前記複数のノードから、各ノードの負荷に基づいてノードを選択し、
選択したノードから、前記リンクに関する情報を収集する
ことを特徴とする情報収集方法。
［形態１８］
前記リンクに接続するノードのうち負荷が所定の閾値よりも低いノードを選択することを特徴とする形態１７に記載の情報収集方法。
［形態１９］
前記選択したノードに対し、前記リンクに関する情報として前記リンクのトラフィック量を要求し、
前記ノードから、前記リンクのトラフィック量を収集すること
を特徴とする形態１７又は１８に記載の情報収集方法。
［形態２０］
前記選択したノードに対し、前記リンクを識別するための識別子を含むメッセージを送信し、
前記ノードから、前記識別子に対応するリンクに関する情報を収集すること
を特徴とする形態１７乃至１９のいずれか一に記載の情報収集方法。
［形態２１］
前記複数のノードのそれぞれは、前記リンクと接続するポートを有し、
前記リンクに接続するポートを識別するための識別子を含むメッセージにより、選択されたノードに対して、前記リンクに関する情報を要求し、
前記ノードから、前記識別子に対応するポートに接続するリンクに関する情報を収集すること
を特徴とする形態１７乃至１９のいずれか一に記載の情報収集方法。
［形態２２］
各ノードから通知された負荷を記憶し、
前記記憶した負荷を参照して、前記リンクに関する情報を収集するノードを選択すること
を特徴とする形態１７乃至２１のいずれか一に記載の情報収集方法。
［形態２３］
前記リンクごとに、前記リンクに関する情報を収集するノードを決定したか否かを管理し、
前記管理した情報を参照して、前記リンクのそれぞれに対して、前記リンクに関する情報を収集するノードを決定すること
を特徴とする形態１７乃至２２のいずれか一に記載の情報収集方法。
［形態２４］
前記リンクに関する情報を参照し、受信パケットの転送経路を計算し、前記転送経路に従ってパケットを転送するための処理規則を、前記転送経路に対応するノードに通知することを特徴とする形態１７乃至２３のいずれか一に記載の情報収集方法。
［形態２５］
複数のノードと、ノード間でパケットを転送するための複数のリンクとを含む通信システムの制御装置に、
前記複数のノードから、各ノードの負荷に基づいてノードを選択する処理と、
選択したノードから、前記リンクに関する情報を収集する処理と
を実行させることを特徴とするプログラム。
［形態２６］
前記リンクに接続するノードのうち負荷が所定の閾値よりも低いノードを選択する処理を含むことを特徴とする形態２５に記載のプログラム。
［形態２７］
前記選択したノードに対し、前記リンクに関する情報として前記リンクのトラフィック量を要求する処理と、
前記ノードから、前記リンクのトラフィック量を収集する処理と
を含むこと特徴とする形態２５又は２６に記載のプログラム。
［形態２８］
前記選択したノードに対し、前記リンクを識別するための識別子を含むメッセージを送信する処理と、
前記ノードから、前記識別子に対応するリンクに関する情報を収集する処理と
を含むこと特徴とする形態２５乃至２７のいずれか一に記載のプログラム。
［形態２９］
前記複数のノードのそれぞれは、前記リンクと接続するポートを有し、
前記リンクに接続するポートを識別するための識別子を含むメッセージにより、選択されたノードに対して、前記リンクに関する情報を要求する処理と、
前記ノードから、前記識別子に対応するポートに接続するリンクに関する情報を収集する処理と、
を含むことを特徴とする形態２５乃至２７のいずれか一に記載のプログラム。
［形態３１］
各ノードから通知された負荷を記憶する処理と、
前記記憶した負荷を参照して、前記リンクに関する情報を収集するノードを選択する処理と、
を含むことを特徴とする形態２５乃至２９のいずれか一に記載のプログラム。
［形態３２］
前記リンクごとに、前記リンクに関する情報を収集するノードを決定したか否かを管理する処理と、
前記管理する情報を参照して、前記リンクのそれぞれに対して、前記リンクに関する情報を収集するノードを決定する処理と
を含むこと特徴とする形態２５乃至３０のいずれか一に記載のプログラム。
［形態３３］
前記リンクに関する情報を参照し、受信パケットの転送経路を計算し、前記転送経路に従ってパケットを転送するための処理規則を、前記転送経路に対応するノードに通知する処理を含むことを特徴とする形態２５乃至３１のいずれか一に記載のプログラム。
【符号の説明】
【０２２３】
１０  制御装置
１１  通信部
１２  制御部
１３  リンク情報ＤＢ
１４  ノード情報ＤＢ
１５  処理規則決定部
１６  処理規則ＤＢ
２０、２０−１〜２０−９  ノード
２１  通信部
２２  制御部
２３  トラフィック量ＤＢ
２４  処理規則ＤＢ
３０、３０−１〜３０−４  リンク
４０、４０−１〜４０−３  ポート
５０  オープンフローコントローラ
５１  オープンフロースイッチ
５２  セキュアチャネル
６０  セキュアチャネル
１２０  決定部
１２１  決定管理部
１２２  ネットワーク管理部
２２０  処理規則検索部
２２１  アクション実行部
５１０  フローテーブル
【図１】
2014157460.tif 000003
【図２】
2014157460.tif 000004
【図３】
2014157460.tif 000005
【図４】
2014157460.tif 000006
【図５】
2014157460.tif 000007
【図６】
2014157460.tif 000008
【図７】
2014157460.tif 000009
【図８】
2014157460.tif 000010
【図９】
2014157460.tif 000011
【図１０】
2014157460.tif 000012
【図１１】
2014157460.tif 000013
【図１２】
2014157460.tif 000014
【図１３】
2014157460.tif 000015
【図１４】
2014157460.tif 000016
【図１５】
2014157460.tif 000017
【図１６】
2014157460.tif 000018
【図１７】
2014157460.tif 000019
【図１８】
2014157460.tif 000020
【図１９】
2014157460.tif 000021
【図２０】
2014157460.tif 000022
【図２１】
2014157460.tif 000023
【図２２】
2014157460.tif 000024
【図２３】
2014157460.tif 000025
【図２４】
2014157460.tif 000026
【図２５】
2014157460.tif 000027
【図２６】
2014157460.tif 000028
【図２７】
2014157460.tif 000029
【図２８】
2014157460.tif 000030
【図２９】
2014157460.tif 000031
【図３０】
2014157460.tif 000032
【図３１】
2014157460.tif 000033
【図３２】
2014157460.tif 000034
【図３３】
2014157460.tif 000035
【国際調査報告】
2014157460.tif 000036
2014157460.tif 000037
2014157460.tif 000038
2014157460.tif 000039