(57)【要約】  通信システムにおける経路計算の負荷を軽減すること。通信システムは、複数の通信ノードと、前記複数の通信ノードのパケット処理を制御する制御装置と、を備え、前記制御装置は、前記複数の通信ノードのうちの複数の通信ノードから仮想ノードを構成する仮想化部と、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する制御部と、前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する経路計算部と、をさらに備え、前記複数の通信ノードは、それぞれ、前記処理規則に従って、前記転送経路に対応するパケットを処理する。（図１）
2012108382.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信ノードと、
前記複数の通信ノードのパケット処理を制御する制御装置と、を備え、
前記制御装置は、前記複数の通信ノードのうちの複数の通信ノードから仮想ノードを構成する仮想化部と、
前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する制御部と、
前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する経路計算部と、をさらに備え、
前記複数の通信ノードは、それぞれ、前記処理規則に従って、前記転送経路に対応するパケットを処理することを特徴とする通信システム。
【請求項２】
前記制御部は、前記仮想ノードの仮想ポートに対応する通信ノードにパケットが転送されるように、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して前記処理規則を設定することを特徴とする、請求項１に記載の通信システム。
【請求項３】
前記制御部は、前記処理規則を、前記仮想ノードの仮想ポートを表す識別子と対応付けて、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して設定することを特徴とする、請求項１に記載の通信システム。
【請求項４】
前記複数の通信ノードは、それぞれ、前記識別子に対応するパケットを受信した場合、前記識別子と対応付けられた処理規則に従って該パケットを処理することを特徴とする、請求項３に記載の通信システム。
【請求項５】
前記複数の通信ノードは、それぞれ、前記識別子を格納したパケットを受信した場合、前記識別子と対応付けられた処理規則に従って該パケットを処理することを特徴とする、請求項３に記載の通信システム。
【請求項６】
前記仮想ポートに対応する通信ノードは、前記識別子を格納したパケットを処理する際、前記識別子が他の通信ノードで参照されないように該パケットを処理することを特徴とする、請求項５に記載の通信システム。
【請求項７】
前記仮想化部は、複数の前記仮想ノードのうちの複数の仮想ノードから上位仮想ノードを構成し、
前記制御部は、前記上位仮想ノードに含まれる複数の仮想ノードの少なくとも１つの仮想ノードが前記上位仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの仮想ノードに対してパケットの処理規則を設定し、
前記経路計算部は、前記上位仮想ノードで構成される上位仮想ネットワークトポロジに基づいて、パケットの転送経路を計算し、
前記複数の通信ノードは、それぞれ、前記処理規則に従って、前記転送経路に対応するパケットを処理することを特徴とする、請求項１ないし６のいずれか１項に記載の通信システム。
【請求項８】
複数の通信ノードのパケット処理を制御する制御装置であって、
前記複数の通信ノードのうちの複数の通信ノードを含む仮想ノードを構成する仮想化部と、
前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する制御部と、
前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する経路計算部と、を備えることを特徴とする制御装置。
【請求項９】
前記制御部は、前記仮想ノードの仮想ポートに対応する通信ノードにパケットが転送されるように、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して前記処理規則を設定することを特徴とする、請求項８に記載の制御装置。
【請求項１０】
前記制御部は、前記処理規則を、前記仮想ノードの仮想ポートを表す識別子と対応付けて、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して設定することを特徴とする、請求項８に記載の制御装置。
【請求項１１】
前記仮想化部は、複数の前記仮想ノードのうちの複数の仮想ノードから上位仮想ノードを構成し、
前記制御部は、前記上位仮想ノードに含まれる複数の仮想ノードの少なくとも１つの仮想ノードが前記上位仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの仮想ノードに対してパケットの処理規則を設定し、
前記経路計算部は、前記上位仮想ノードで構成される上位仮想ネットワークトポロジに基づいて、パケットの転送経路を計算し、
前記複数の通信ノードは、それぞれ、前記処理規則に従って、前記転送経路に対応するパケットを処理することを特徴とする、請求項８ないし１０のいずれか１項に記載の制御装置。
【請求項１２】
複数の通信ノードのパケット処理を制御する制御装置が、該複数の通信ノードのうちの複数の通信ノードから仮想ノードを構成する工程と、
前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する工程と、
前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する工程と、を含むことを特徴とする通信方法。
【請求項１３】
前記制御装置が、前記仮想ノードの仮想ポートに対応する通信ノードにパケットが転送されるように、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して前記処理規則を設定することを特徴とする、請求項１２に記載の通信方法。
【請求項１４】
前記制御装置が、前記処理規則を、前記仮想ノードの仮想ポートを表す識別子と対応付けて、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して設定することを特徴とする、請求項１２に記載の通信方法。
【請求項１５】
前記制御装置が、複数の前記仮想ノードのうちの複数の仮想ノードから上位仮想ノードを構成する工程と、
前記上位仮想ノードに含まれる複数の仮想ノードの少なくとも１つの仮想ノードが前記上位仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの仮想ノードに対してパケットの処理規則を設定する工程と、
前記上位仮想ノードで構成される上位仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する工程と、を含むことを特徴とする、請求項１２ないし１４のいずれか１項に記載の通信方法。
【請求項１６】
複数の通信ノードのパケット処理を制御する制御装置を備えた通信システムにおける該複数の通信ノードのうちの１つの通信ノードであって、
前記制御装置は、前記複数の通信ノードのうちの複数の通信ノードから仮想ノードを構成する仮想化部と、
前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する制御部と、
前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する経路計算部と、をさらに備え、
前記処理規則に従って、前記転送経路に対応するパケットを処理することを特徴とする通信ノード。
【請求項１７】
前記制御装置は、前記処理規則を、前記仮想ノードの仮想ポートを表す識別子と対応付けて、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して設定し、
前記識別子に対応するパケットを受信した場合、前記識別子と対応付けられた処理規則に従って該パケットを処理することを特徴とする、請求項１６に記載の通信ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１１−０２４０４５号（２０１１年２月７日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、通信ノードおよび通信方法に関し、特に、ネットワーク上のノードを仮想化してパケットを転送する通信システム、かかる通信システムにおける通信を制御する制御装置、通信ノードおよび、通信方法に関する。
【背景技術】
【０００２】
非特許文献１、２において、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が記載されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換えを指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール（ＦｌｏｗＫｅｙ；マッチングキー）と、処理内容を定義したアクション（Ａｃｔｉｏｎ）と、フロー統計情報（Ｓｔａｔｓ）との組が定義される。【０００３】
図１２に、非特許文献２に定義されているアクション名とアクションの内容を例示する。ＯＵＴＰＵＴは、パケットを指定ポート（インタフェース）に出力するアクションである。ＳＥＴ＿ＶＬＡＮ＿ＶＩＤからＳＥＴ＿ＴＰ＿ＤＳＴは、パケットヘッダのフィールドを修正するアクションである。【０００４】
例えば、オープンフロースイッチは、最初のパケット（ｆｉｒｓｔ  ｐａｃｋｅｔ）を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール（ＦｌｏｗＫｅｙ）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。【０００５】
このように、オープンフローでは、フロー毎に細粒度の経路制御が可能であるが、フロー数の増大によってフローエントリの設定負荷が増大しうる。したがって、非特許文献１、２に記載技術は、大規模のネットワークに適用する際、フローエントリの設定負荷が大きくなるおそれがある。【０００６】
非特許文献３において、この問題に対する解決策が記載されている。非特許文献３では、通常オープンフロースイッチに設けられているフローテーブルに対して、フロー毎のエントリを定義する代わりに、パケットのヘッダ部分に各オープンフロースイッチで実行されるべき処理のリストを記載する。これにより、上記の問題を解決している。【０００７】
例えば、図１１のように、各オープンフロースイッチに対してそのスイッチが実行する可能性のあるアクションを定義しておき、アクション毎にアドレスをつける。パケットに対しては、経由するオープンフロースイッチの系列に従って各オープンフロースイッチで実行されるアクションのアドレスを指すポインタの系列をパケットヘッダに埋め込む。オープンフロースイッチは、このパケットヘッダ中のポインタ系列を順に読み込み、各自実行すべきアクションを呼び出すことで転送を行う。この方法によると、パケット受信時のフローエントリを設定することなく、パケットを転送することができ、転送時の遅延を削減することができる。【０００８】
一方、特許文献１には、大規模ネットワークにおけるパケット転送に関する技術が記載されている。また、特許文献１には、複数のドメインからなる大規模ネットワークにおいて、計算効率の高いルート計算手法が記載されている。特許文献１に記載された手法は、階層的にドメインを定義し、各階層のドメインにＰＣＥ（パス計算エレメント、Ｐａｔｈ  Ｃｏｍｐｕｔａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を配置する。ルート計算は階層毎に行われ、上位のＰＣＥが下位ドメインの入力と出力のノードを決定し、計算タスクを下位ドメインに依頼することでルート計算を並列に実行させており、複数ドメインからなるネットワークにおけるルート計算を提供する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００９−５３９１５６号公報
【非特許文献】
【００１０】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ，”［ｏｎｌｉｎｅ］、［平成２３年２月７日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ〉．
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，”  Ｖｅｒｓｉｏｎ  １．０．０．（Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０１）［ｏｎｌｉｎｅ］、［平成２３年２月７日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ〉．
【非特許文献３】千葉  靖伸  ほか３名、「フローベースネットワークおけるフローエントリ削減手法の提案とＯｐｅｎＦｌｏｗネットワークへの適用」、［電子情報通信学会研究会技報、ｖｏｌ．１０９、ｎｏ．４４８、ＮＳ２００９−１６３、ｐｐ．７−１２］．
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者によってなされたものである。【００１２】
非特許文献３に記載された方法によると、広域ネットワークのような長大な通信経路を扱う割合の高いネットワークへ適用した場合に、パケットヘッダ長の増大という新たな問題が生じる。すべての経由スイッチにおける処理ポインタをパケットヘッダに記載した場合、パケットヘッダ長が増大し、通信効率に悪影響を及ぼす。また、パケットヘッダ長を一定値以下に制限する場合、通信経路の途中までの処理ポインタをパケットヘッダに記載し、残りの経路に対応する処理ポインタをパケットヘッダに改めて記載する処理が必要となる。したがって、パケットヘッダに処理ポインタを改めて記載するために、制御装置とスイッチとの間に通信トラフィックが発生し、制御装置とスイッチの負荷が増大する。【００１３】
一方、特許文献１に記載された技術は、大規模ネットワークにおいてフロー単位で通信を制御するシステムにも適用可能である。しかし、フロー数によってルート計算要求は増大することが考えられるため、フロー単位で通信を制御する大規模ネットワークではＰＣＥの負荷が増大する。また、フロー毎にルート設定が為され得るため、フローエントリ数が膨大となる問題がある。さらに、制御対象となる新たなフローが発生する度に、階層化した全ドメインに亘って経路計算が実行される。つまり、新たなフローが発生する度に、ネットワークを構成する物理ノード（即ち、通信ノード）の粒度で経路を再計算する必要がある。物理ノードの粒度で経路計算をする場合、経路計算の対象となるエンティティが多く、計算負荷が増大するという問題がある。【００１４】
そこで、大規模ネットワークにおいて、高速・低負荷でフロー制御を実行できるようにすることが課題となる。本発明の目的は、かかる課題を解決する通信システム、制御装置、通信ノードおよび通信方法を提供することにある。
【課題を解決するための手段】
【００１５】
本発明の第１の視点に係る通信システムは、
複数の通信ノードと、
前記複数の通信ノードのパケット処理を制御する制御装置と、を備え、
前記制御装置は、前記複数の通信ノードのうちの複数の通信ノードから仮想ノードを構成する仮想化部と、
前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する制御部と、
前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する経路計算部と、をさらに備え、
前記複数の通信ノードは、それぞれ、前記処理規則に従って、前記転送経路に対応するパケットを処理する。【００１６】
本発明の第２の視点に係る制御装置は、
複数の通信ノードのパケット処理を制御する制御装置であって、
前記複数の通信ノードのうちの複数の通信ノードから仮想ノードを構成する仮想化部と、
前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する制御部と、
前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する経路計算部と、を備えている。【００１７】
本発明の第３の視点に係る通信方法は、
複数の通信ノードのパケット処理を制御する制御装置が、該複数の通信ノードのうちの複数の通信ノードから仮想ノードを構成する工程と、
前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する工程と、
前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する工程と、を含む。【００１８】
本発明の第４の視点に係る通信ノードは、
複数の通信ノードのパケット処理を制御する制御装置を備えた通信システムにおける該複数の通信ノードのうちの１つの通信ノードであって、
前記制御装置は、前記複数の通信ノードのうちの複数の通信ノードから仮想ノードを構成する仮想化部と、
前記仮想ノードに含まれる複数の通信ノードの少なくとも１つの通信ノードが前記仮想ノードの動作に対応するパケット処理を実行するように、該少なくとも１つの通信ノードに対してパケットの処理規則を設定する制御部と、
前記仮想ノードで構成される仮想ネットワークトポロジに基づいて、パケットの転送経路を計算する経路計算部と、をさらに備え、
前記処理規則に従って、前記転送経路に対応するパケットを処理する。
【発明の効果】
【００１９】
本発明に係る通信システム、制御装置、通信ノードおよび通信方法によると、大規模ネットワークにおいて、高速・低負荷でフロー制御を実行することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の概要を説明する図である。
【図２】実施形態に係る通信システムの構成例を示す図である。
【図３】通信ノードに設定される処理規則を格納するテーブルの例を示す図である。
【図４】実施形態における制御装置の構成例を表すブロック図である。
【図５】実施形態の動作例を説明するための図である。
【図６】実施形態の動作例を説明するための図である。
【図７】実施形態の動作例を説明するための図である。
【図８】実施形態の動作例を説明するための図である。
【図９】実施形態の動作例を説明するための図である。
【図１０】実施形態の動作概要を表す図である。
【図１１】実施形態におけるｈｏｓｔ１、ｈｏｓｔ２間の通信時に送信されるパケットの構成例を示す図である。
【図１２】非特許文献２に定義されているアクション名とアクションの内容を示す図である。
【発明を実施するための形態】
【００２１】
はじめに、図１を参照して、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００２２】
通信ノード１〜３は、制御装置１０による制御に従って、パケットを処理する。制御装置１０は、パケットの処理方法を規定した処理規則を通信ノード１〜３に設定することにより、各通信ノードによるパケットの転送を制御する。
【００２３】
制御装置１０は、制御装置１０により制御される通信ノード１〜３を仮想化し、仮想ノード１００を生成する。制御装置１０は、仮想ノード１００が他の仮想ノードと接続するリンクに、仮想ポート番号を割り当てる。仮想ノード１００は、仮想ポート番号に対応する識別子が含まれるパケットを、識別子に対応する仮想ポート番号のリンクから転送する。図１では、仮想ノード１００には、仮想ポート番号“３２”が割り当てられている。
【００２４】
制御装置１０は、通信ノードが仮想ノード１００によるパケット転送に対応する動作をするように、各通信ノードに対して処理規則を設定する。図１の例では、制御装置１０は、各通信ノードに、仮想ポート番号“３２”に対応するパケットに対応するパケット処理（例えば、パケットを所定のポートに転送する処理等）を規定した処理規則を設定する。
【００２５】
処理規則の設定後、処理装置（通信ノード１〜３）は、パケット転送のための経路を、仮想化されたネットワークトポロジに基づいて計算する。仮想化されたドメインによるトポロジは、元の通信ノードにより構成されるトポロジよりも、ホップ数や管理エンティティが少ないので、経路計算の負荷が削減される。制御装置１０は、様々な種類のパケット通信（即ち、パケットによるフロー）毎に多様な通信経路を設定する。制御装置１０は、一旦仮想化されたネットワークを構築してしまえば、転送経路の設定が必要な新たなフローが発生しても、各通信ノードによる現実のトポロジを考慮した経路計算や処理規則の設定を行う必要がない。仮想化されたネットワークトポロジに対応する処理規則が、通信ノードに対して設定されているからである。
【００２６】
本発明において、下記の形態が可能である。
［形態１］
上記第１の視点に係る通信システムのとおりである。
［形態２］
前記制御部は、前記仮想ノードの仮想ポートに対応する通信ノードにパケットが転送されるように、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して前記処理規則を設定するようにしてもよい。
［形態３］
前記制御部は、前記処理規則を、前記仮想ノードの仮想ポートを表す識別子と対応付けて、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して設定するようにしてもよい。
［形態４］
前記複数の通信ノードは、それぞれ、前記識別子に対応するパケットを受信した場合、前記識別子と対応付けられた処理規則に従って該パケットを処理するようにしてもよい。
［形態５］
前記複数の通信ノードは、それぞれ、前記識別子を格納したパケットを受信した場合、前記識別子と対応付けられた処理規則に従って該パケットを処理するようにしてもよい。
［形態６］
前記仮想ポートに対応する通信ノードは、前記識別子を格納したパケットを処理する際、前記識別子が他の通信ノードで参照されないように該パケットを処理するようにしてもよい。
［形態７］
上記第２の視点に係る制御装置のとおりである。
［形態８］
前記制御部は、前記仮想ノードの仮想ポートに対応する通信ノードにパケットが転送されるように、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して前記処理規則を設定するようにしてもよい。
［形態９］
前記制御部は、前記処理規則を、前記仮想ノードの仮想ポートを表す識別子と対応付けて、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して設定するようにしてもよい。
［形態１０］
上記第３の視点に係る通信方法のとおりである。
［形態１１］
前記複数の通信ノードが、それぞれ、前記処理規則に従って、前記転送経路に対応するパケットを処理する工程を含んでいてもよい。
［形態１２］
前記制御装置が、前記仮想ノードの仮想ポートに対応する通信ノードにパケットが転送されるように、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して前記処理規則を設定する工程を含んでいてもよい。
［形態１３］
前記制御装置が、前記処理規則を、前記仮想ノードの仮想ポートを表す識別子と対応付けて、前記仮想ノードに含まれる複数の通信ノードの少なくとも１つに対して設定する工程を含んでいてもよい。
［形態１４］
前記複数の通信ノードが、前記識別子に対応するパケットを受信した場合、前記識別子と対応付けられた処理規則に従って該パケットを処理する工程を含んでいてもよい。
［形態１５］
前記複数の通信ノードが、前記識別子を格納したパケットを受信した場合、前記識別子と対応付けられた処理規則に従って該パケットを処理する工程を含んでいてもよい。
［形態１６］
前記仮想ポートに対応する通信ノードにおいて、前記識別子を格納したパケットを処理する際、前記識別子が他の通信ノードで参照されないように該パケットを処理する工程を含んでいてもよい。
【００２７】
（実施形態）
実施形態に係る通信システムについて、図面を参照して説明する。図２は、本実施形態に係る通信システムの構成と本実施形態により提供される仮想ネットワークを示す図である。
【００２８】
図２を参照すると、Ｎ１〜Ｎ１９は通信ノードを表し、Ｃ１〜Ｃ７は通信ノードを制御する制御装置を表す。各制御装置は、あるフローに属するパケットの処理方法を定めた処理規則を、自身が制御する通信ノードに対して設定する。各通信ノードは、制御装置により設定された処理規則をテーブルに保持する。各通信ノードは、受信パケットに対応する処理規則をテーブルから検索し、対応する処理規則により受信パケットの処理（パケットの転送等）を実行する。通信ノードは、受信パケットに対応する処理規則がテーブルに存在しない場合、その受信パケットに対応する処理規則の設定を、制御装置に対して要求する。上述のような動作例により、制御装置は、自身の配下の通信ノードを集中制御する。
【００２９】
図２を参照すると、通信システムは、通信ノードＮ１〜Ｎ３，Ｎ４〜Ｎ５，Ｎ６〜Ｎ８，Ｎ９〜Ｎ１１，Ｎ１２〜Ｎ１４，Ｎ１５〜Ｎ１６，Ｎ１７〜Ｎ１９と、これらを制御する制御装置Ｃ１〜Ｃ７とを備えている。通信ノードは、実線によって表されたリンクによって接続されており、それぞれドメインＤ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６，Ｄ７に含まれている。ドメインの境界は、図２において破線で示されている。
【００３０】
ドメインＤ１−Ｄ３，Ｄ４−Ｄ５，Ｄ６−Ｄ７は、それぞれ更に上位のドメインＤ８，Ｄ９，Ｄ１０に含まれる。
【００３１】
上位ドメインＤ８，Ｄ９，Ｄ１０の制御は、下位ドメインに含まれる各制御装置（Ｃ１−Ｃ７）により行われる。
【００３２】
各制御装置（Ｃ１−Ｃ７）は、自身の管理するドメインを上位ドメインに含まれるドメインノードとして仮想化する。すなわち、ドメインノードは、仮想ノードとして機能する。例えば、図２において、制御装置Ｃ１は、通信ノードＮ１〜Ｎ３を含むドメインＤ１を、上位ドメインＤ８のドメインノードＤＮ１として仮想化する。すなわち、制御装置Ｃ１は、通信ノードＮ１〜Ｎ３を含むドメインＤ１を、１つの仮想的な通信ノード（ＤＮ１）に仮想化する。ドメインノードＤＮ１〜ＤＮ１０は、それぞれドメインＤ１〜Ｄ１０と対応する。
【００３３】
仮想化は、各ドメインの出口に対応するリンク（ｅｇｒｅｓｓ  ｌｉｎｋ）へパケットを転送する処理規則を通信ノードに対して設定することで行われる。例えば、ドメインＤ１では、ｅｇｒｅｓｓ  ｌｉｎｋは、通信ノードＮ３とＮ４とを結ぶリンクとなる。処理規則には、ドメインのｅｇｒｅｓｓ  ｌｉｎｋ毎にユニークな識別子がドメインノードの仮想ポート番号として割り当てられる。仮想ポート番号と処理規則を対応させることで、任意のノードからの入力パケットを、ドメイン中で共通のポート番号指定で、ドメイン外へ出力することができる。すなわち、通信ノードが、識別子に対応する処理規則に従ってパケットを処理することにより、ドメインノードによる仮想的なパケット転送が実現する。ドメインノードの所定の仮想ポートからパケットを転送する場合、そのドメインノードに属する各通信ノードは、その仮想ポートの識別子に対応する処理規則に従って、ｅｇｒｅｓｓ  ｌｉｎｋに向けてパケットを転送する。したがって、仮想的に、ドメインノードの仮想ポートからパケットが転送される。
【００３４】
制御装置は、ドメインの通信ノードを仮想的な通信ノード（ドメインノード）に仮想化する。したがって、ドメインのｅｇｒｅｓｓ  ｌｉｎｋは、ドメインノードにおける仮想的なポートに対応する。仮想化により構成されたドメインノードは、この仮想的なポートにパケットを転送することにより、ドメインノード間の通信を実行する。実際には、各ドメインノードに対応する通信ノードがパケットを転送しているが、制御装置は、通信ノードによるパケット転送を、ドメインノードによるパケット転送に仮想化する。
【００３５】
制御装置は、通信ノードによるパケット転送を、ドメインノードによるパケット転送に仮想化するために、処理規則を利用する。仮想化されたドメインノードの仮想ポートからパケットを転送するために、制御装置は、自身の配下の通信ノードに対して、ドメインのｅｇｒｅｓｓ  ｌｉｎｋに向けてパケットを転送する処理を規定した処理規則を設定する。
【００３６】
例えば、あるドメインのｅｇｒｅｓｓ  ｌｉｎｋに対して、仮想ポート番号５０を割り当てて、ドメインノードを仮想化する。図３は、ドメインに含まれる通信ノードにドメインノードへの仮想化のために設定されるべき２種類の処理規則テーブルを示す。処理規則テーブルＡは、ドメインｅｇｒｅｓｓ  ｌｉｎｋを持たない通信ノードへ設定される処理規則を表す。一方、処理規則テーブルＢは、ドメインｅｇｒｅｓｓ  ｌｉｎｋを持つ通信ノードへ設定される処理規則を表す。
【００３７】
識別子列は、通信ノードが受信したパケットのヘッダに格納されている、処理規則に対応付けられた識別子の系列である。ホップカウンタは、通信ノードが受信したパケットのヘッダに格納されている識別子列のうち、参照すべき識別子を特定するために用いるカウンタである。識別子とホップカウンタを合わせて、パケットヘッダとのマッチング条件とする。
【００３８】
例えば、識別子にポート番号“５０”と設定され、カウンタに“０”が設定されているパケットを受信した場合、通信ノードは、処理規則テーブルＡの１列目のエントリに従ってパケットを処理する。“処理”フィールドに格納される内容は、受信パケットのヘッダがマッチング条件と一致した場合、通信ノードが受信パケットに実行する処理である。ここでは、通信ノードでの識別子の特定手段をホップカウンタとしているが、ホップカウンタを搭載せず、常に先頭の識別子を参照し、参照済みの識別子を削除していく等の別の手段でもよい。
【００３９】
処理規則テーブルＡの処理規則が設定される通信ノードは、ｅｇｒｅｓｓ  ｌｉｎｋを持たない通信ノードである。処理規則テーブルＡの処理規則はパケットヘッダ中の処理規則列の中に仮想ポート番号５０を含むパケットが通信ノードに入力された際、ドメインｅｇｒｅｓｓ  ｌｉｎｋへ向かうポート番号へ出力する処理を実行する規則となる。図３の処理フィールドに記載されたポート番号は通信ノードによって異なり、各通信ノードからｅｇｒｅｓｓ  ｌｉｎｋへの転送に使用される出力ポートを表す。
【００４０】
処理規則テーブルＢの処理規則を設定される通信ノードは、ｅｇｒｅｓｓ  ｌｉｎｋを持つ通信ノードである。ｅｇｒｅｓｓ  ｌｉｎｋを持つ通信ノードでの処理規則では、マッチング条件と一致するパケットヘッダをもつパケットが入力された場合、ホップカウンタをインクリメントさせ、その後ｅｇｒｓｓ  ｌｉｎｋへ出力する。この処理によって、ｅｇｒｅｓｓ  ｌｉｎｋの出力先の通信ノードに到達したパケットは、次の識別子を参照して処理される。
【００４１】
上記のように処理規則を設定することにより、ドメイン中の任意の通信ノードがパケットヘッダに識別子“５０”を格納したパケットを受信すると、識別子“５０”に対応するｅｇｒｅｓｓ  ｌｉｎｋに出力されるまで単一の識別子で転送されることになり、ドメイン外への転送を単一の識別子で指定することができる。
【００４２】
図４は、制御装置の構成を一例として示すブロック図である。図４を参照すると、制御装置は、ノード通信部１１、制御メッセージ処理部１２、フローエントリ管理部１３、ドメイン管理部１４、および、仮想化管理部１５を備えている。
【００４３】
ノード通信部１１は、通信ノードと通信する。また、制御装置は、仮想化を行う際、他の制御装置と通信を行う場合がある。この場合、制御装置は、ノード通信部１１を用いて他の制御装置と通信する。制御メッセージ処理部１２は、通信ノードへの制御内容を制御メッセージとして変換し、または、通信ノードからの制御用メッセージを解析して処理する。フローエントリ管理部１３は、通信ノードにおけるパケット転送に関する処理規則を生成および管理する。ドメイン管理部１４は、自身が管理するドメインを制御する。仮想化管理部１５は、複数の下位ドメインを１つの上位ドメインノードとして制御する。
【００４４】
ドメイン管理部１４の構成要素について説明する。図４を参照すると、ドメイン管理部１４は、ドメイントポロジ管理部１４１、経路木計算部１４２、および、処理規則計算部１４３を備えている。
【００４５】
ドメイントポロジ管理部１４１は、最下位ドメインＤ１〜Ｄ７（すなわち、通信ノードで構成されるドメイン）のトポロジ情報を管理する。経路木計算部１４２は、各最下位ドメイン内の経路、すなわち、ｅｇｒｅｓｓ  ｌｉｎｋに対応する通信ノードへ向かう経路を、最下位ドメインのトポロジに基づいて計算する。処理規則計算部１４３は、経路木計算部１４２の計算結果から処理規則を生成する。
【００４６】
次に、仮想化管理部１５の各構成要素について説明する。図４を参照すると、仮想化管理部１５は、仮想トポロジ管理部１５１、仮想ポート番号管理部１５２、経路木計算部１５３、および、処理規則設定依頼部１５４を備えている。
【００４７】
仮想トポロジ管理部１５１は、各階層の仮想化ドメイン、または、各ドメインノードの接続関係からなる仮想トポロジを管理する。仮想ポート番号管理部１５２は、あるドメインをドメインノードとして仮想化する際、他のドメインノードに接続されているリンクポートに対して仮想ポート番号を割り振る。仮想ポート番号管理部１５２は、仮想ポート番号を割り振るためのデータベースを有している。経路木計算部１５３は、ドメイン内の経路、すなわち、他のドメインに接続されているドメインエグレスリンクポート（ｄｏｍａｉｎ  ｅｇｒｅｓｓ  ｌｉｎｋ  ｐｏｒｔ）に対応するドメインノードへ向かう経路を計算する。上記のｄｏｍａｉｎ  ｅｇｒｅｓｓ  ｌｉｎｋ  ｐｏｒｔは、ドメイン内のドメインノードのうち、他のドメインへの出口となるリンクに対応するドメインノードの仮想ポートを表す。処理規則設定依頼部１５４は、仮想ポート番号管理部１５２によって指定された仮想ポート番号と、それに対応する経路木計算部１５３により計算された経路木に従った処理規則を設定するようにドメイン管理部１４に依頼する。
【００４８】
上述のように、制御装置は、経路木計算部１４２，１５３の計算結果に基づいて、通信ノードに処理規則を設定しておく。この動作は、例えば、通信システムの初期化時等に実行される。制御装置は、ネットワークを階層的に仮想化することで構築される各ドメインに対応する処理規則を通信ノードに設定する。よって、処理規則の設定後、処理装置は、パケット転送のための経路として、仮想化されたドメインによるトポロジに基づいて計算するだけでよい。仮想化されたドメインによるトポロジは、通信ノードにより構成されるトポロジよりも、ホップ数や管理エンティティが少ないので、経路計算の負荷が削減される。また、仮想化されたトポロジは通信ノードによるトポロジよりもポップ数が少ないので、パケットの転送途中における制御装置への経路設定問い合わせの数を削減できる。さらに、制御装置は、多階層に構成されたトポロジによりパケットの転送経路を制御できるので、転送経路の粒度を柔軟に制御できる。
【００４９】
次に、制御装置が通信ノードを仮想化し、仮想ネットワークを構築する動作例を説明する。
【００５０】
図５は、制御装置が、通信ノードで構成されるドメインを、ドメインノードに仮想化する動作例を示す。Ｎ＃１〜Ｎ＃８が、制御装置配下のドメインに属する。Ｎ＃１〜Ｎ＃４の接頭語として、“Ｅ”が付与されている。この“Ｅ”は、ドメインの外部リンクに対応する通信ノードであることを意味する。外部リンクとは、ドメインが他のドメインと接続するリンク、即ちｅｇｒｅｓｓ  ｌｉｎｋであることを示す。なお、通信ノードＮ＃１〜Ｎ＃８は、動作例を説明するために用いられており、図２等で示した通信ノードＮ１〜Ｎ１９とは関係ない。
【００５１】
四角（太実線）で囲まれた数字は、ドメインノードに付与される仮想ポート番号である。その他の数字は、通信ノードＮ＃１のポート番号である。
【００５２】
図５に示した例では、ドメインの通信ノードを制御する制御装置は、通信ノードＮ＃１〜Ｎ＃８で構成されるドメインを仮想化し、仮想ポート番号３２〜３５を有するドメインノードを生成する。以下、この動作を詳細に説明する。
【００５３】
仮想トポロジ管理部１５１は、仮想化されるドメインにおいて他のドメインとの接続に使用されているリンク（外部リンク）およびそのポートを検索する。検索された外部リンクとポートは、ドメインを仮想化して生成されるドメインノードのリンクとポートに対応する。図５の例では、仮想トポロジ管理部１５１は、通信ノードＥＮ＃１〜ＥＮ＃４の各通信ノードのリンクを外部リンクとして認識する。
【００５４】
仮想ポート番号管理部１５２は、検索された外部リンクに対し、新たに仮想ポート番号を割り当てる。仮想ポート番号管理部１５２は、ポート番号ＤＢから新たな仮想ポート番号を検索する。なお、ポート番号ＤＢは、他のドメイン間で共用の内容であってよい。この場合、それぞれのドメインを管理する制御装置間で情報交換することにより、共用のポート番号ＤＢが形成される。この仮想ポート番号が、仮想化により生成されるドメインノードの仮想ポート番号となる。仮想ポート番号管理部１５２は、ユニークな仮想ポート番号を割り当てるため、未使用の仮想ポート番号から割り当てられる。
【００５５】
経路木計算部１５３は、仮想化により生成されるドメインノードによるパケット転送を実現するために、仮想化されるドメインに属するドメインノードに基づく経路を計算する。
【００５６】
経路木計算部１５３による経路計算について、図６を参照して説明する。
【００５７】
例えば、仮想ポート番号が“３２”である仮想ポートへ出力すべきパケットに対応する経路を計算する場合について説明する。経路木計算部１５３は、仮想ポート番号“３２”を割り当てられたｅｇｒｅｓｓ  ｌｉｎｋに対応する通信ノードＮ＃１が経路木の根になるように計算する。ここでは、Ｎ＃１に対応するリンクに仮想ポート番号“３２”を割り当てており、図６に示すように、葉ノード（Ｎ＃２、Ｎ＃３、Ｎ＃４）から根ノード（Ｎ＃１）へ向かう上り方向の経路木が計算される。
【００５８】
仮想ポート番号が“３２”である仮想ポートへ出力すべきパケットについて、Ｎ＃２からＮ＃１へ転送する場合、経路木を参照すると、そのパケットを、Ｎ＃２のポート３番、Ｎ＃６のポート４番、Ｎ＃５のポート５番、Ｎ＃１のポート５番の順番で転送する経路が計算される。仮想ポート番号“３２”に関し、その他の経路も同様に計算される。また、他の仮想ポート番号“３３”〜“３５”に関しても同様の計算方法となる。
【００５９】
処理規則設定依頼部１５４は、経路木計算部１５３で計算された結果を基に、ドメイン管理部１４に、通信ノードへの処理規則の設定を依頼する。
【００６０】
処理規則設定依頼部１５４からの依頼により、ドメイン管理部１４は、通信ノードに対して処理規則を設定する。例えば、経路木計算部１５３の計算結果に基づき、Ｎ＃２に対して、識別子が仮想ポート番号“３２”を示すパケットをポート３番へ転送することを規定した処理規則を設定する。ドメイン管理部１４は、Ｎ＃６に対して、識別子が仮想ポート番号“３２”を示すパケットをポート４番へ転送することを規定した処理規則を設定する。ドメイン管理部１４は、Ｎ＃５に対して、識別子が仮想ポート番号“３２”を示すパケットをポート５番へ転送することを規定した処理規則を設定する。ドメイン管理部１４は、外部リンクに対応するＥＮ＃１に対して、識別子が仮想ポート番号“３２”を示すパケットをポート５番へ転送すること、および、パケットに格納されているカウンタ値をインクリメント（またはデクリメント）することを規定した処理規則を設定する。ドメイン管理部１４は、仮想ポート番号“３２”に対応する処理規則の設定を、ドメイン内の他の通信ノードに対しても同様の手順で実行する。また、ドメイン管理部１４は、他の仮想ポート番号“３３”〜“３５”に対応する処理規則の設定を、ドメイン内の通信ノードに対して同様の手順で実行する。
【００６１】
以上の動作により、制御装置は、ドメインの通信ノードを仮想化してドメインノードを生成する。
【００６２】
次に、図７を参照し、通信ノードの仮想化で生成したドメインノードから構成されるドメインを更に仮想化し、上位のドメインノードを生成する動作例を説明する。
【００６３】
ドメインに属するドメインノードのうち、例えば１つのドメインノードが代表ドメインノードとなり、上位のドメインノードの生成処理を実行する。図７の例では、ドメインノード８が代表ドメインノードとなる。なお、代表ドメインノードを選定せず、各ドメインノードに対応する制御装置それぞれが協同して、上位のドメインノードの生成処理を実行してもよい。
【００６４】
代表ドメインノードの制御装置の仮想トポロジ管理部１５１、仮想ポート番号管理部１５２、経路木計算部１５３による動作は、図５および図６を参照して説明した内容と同様であるため、説明を省略する。ただし、仮想ポート番号管理部１５２によって割り当てられる仮想ポート番号は、このドメインに属するすべてのドメインノードでユニークなポート番号を使用する。
【００６５】
経路木計算部１５３は、ドメインの各外部リンク（図７で、仮想ポート番号“４０”〜“４３”が付与されたリンク）に至るそれぞれの経路を算出する。また、経路木計算部１５３が算出した経路から、各外部リンクに至るそれぞれの経路に対応する、各ドメインノードの仮想ポート番号が検出される。図８に示すように、代表ドメインノード８の制御装置は、他のドメインノードに対応する制御装置に対して、検出された仮想ポート番号に対応する経路の計算と、計算された経路に対応する処理規則の設定を要求する（図８の破線の矢印）。
【００６６】
例えば、図８を参照すると、仮想ポート番号“４０”の外部リンクから出力されるべきパケットは、ドメインノード２の仮想ポート３０番、ドメインノード６の仮想ポート３６番、ドメインノード５の仮想ポート３２番、ドメインノード１の仮想ポート３１番の順に転送される。この例において、代表ドメインノード８の制御装置は、ドメインノード２に対応する制御装置に対して、ドメインノード２が属するドメイン内の経路で仮想ポート３０番に至る経路を計算することを依頼する。ドメインノード２の制御装置による経路計算は、図５および６を参照して説明した方法と同様である。ドメインノード２に対応する制御装置は、計算した経路に対応する処理規則を、仮想ポート番号“４０”と対応付けて、各通信ノードに設定する。すなわち、ドメインノード２に対応する制御装置は、仮想ポート番号“４０”に対応するパケットに対して実行する処理規則を、各通信ノードに設定する。仮想ポート番号“４０”は、仮想化により生成された上位のドメインノードの仮想ポート番号である。したがって、ドメインノード２が属するドメイン内の通信ノードは、上位のドメインノードの仮想ボート番号“４０”に対応する動作を実行できるようになる。代表ドメインノード８の制御装置は、他のドメインノードの制御装置に対して、同様の依頼をする。依頼を受けた制御装置は、上位のドメインノードの各仮想ポート番号“４０”〜“４３”に対応する処理規則を、通信ノードに対して設定する。
【００６７】
次に、図９を参照して、仮想化により生成された上位のドメインノードをさらに仮想化し、より上位の第２の上位ドメインノードを生成する動作例を説明する。
【００６８】
ドメインＡに属するドメインノードのうち、例えば１つのドメインノードが代表上位ドメインノードとなり、第２の上位のドメインノードの生成処理を実行する。図９では、ドメインノード８が代表上位ドメインノードとなる。なお、代表上位ドメインノードを選定せず、各ドメインノードに対応する制御装置それぞれが協同して、第２の上位のドメインノードの生成処理を実行してもよい。
【００６９】
代表上位ドメインノード８の制御装置の仮想トポロジ管理部１５１、仮想ポート番号管理部１５２、経路木計算部１５３による動作は、図５および図６を参照して説明した内容と同様であるため、説明を省略する。代表上位ドメインノード８の制御装置は、ドメインＡを仮想化し、仮想ポート番号が“５０”〜“５３”を有する第２の上位ドメインノードを生成する。
【００７０】
経路木計算部１５３は、ドメインＡの各外部リンク（図９において、仮想ポート番号“５０”〜“５３”が付与されたリンク）に至るそれぞれの経路を算出する。また、経路木計算部１５３により、各外部リンクに至るそれぞれの経路に対応する、各上位ドメインノードの仮想ポート番号も検出される。代表上位ドメインノード８の制御装置は、他のドメインノードに対応する制御装置に対して、検出された上位ドメインノードの仮想ポート番号とその仮想ポート番号に対応する経路の計算を要求する。なお、各上位ドメインノードは、１つの制御装置で制御されている場合と、複数の制御装置で制御されている場合とが考えられる。代表上位ドメインノード８の制御装置は、上位ドメインノードが複数の制御装置により制御されている場合、それら複数の制御装置に対して要求を送出する。図９では、代表上位ドメインノード８の制御装置が、上位ドメインノード６の制御装置に対して要求する例を示す。図９において、代表上位ドメインノード８の制御装置が、他の上位ドメインノードへ要求する動作は省略されている。以下、代表上位ドメインノード８の制御装置が、上位ドメインノード６に対して要求を送出した場合を例として説明する。代表上位ドメインノード８の制御装置は、以下の説明と同様の要求を、他の上位ドメインノードに対応する制御装置に対しても送出する。なお、この要求は、仮想化により生成する第２の上位ドメインノードの各仮想ポート番号“５０”〜“５３”毎に送出される。
【００７１】
代表上位ドメインノード８の制御装置は、仮想化により生成する第２の上位ドメインノードの仮想ポート番号“５０”に至る経路に対応する、上位ドメインノードの仮想ポート番号は“４２”であると算出する。代表ドメインノード８の制御装置は、仮想ポート番号“４２”に対応する経路の計算を、上位ドメインノード６に対応する制御装置に送出する。
【００７２】
要求を受けた上位ドメインノード６に対応する制御装置は、上位ドメインノード６は、ドメインノード１−４が属するドメインＢを仮想化して生成されたと認識する。よって、制御装置は、ドメインＢを構成するのは仮想化されたドメインノードであり、通信ノードにより構成されたドメインではないと認識する。この場合、制御装置は、代表上位ドメインノード８の制御装置からの要求に対応する処理規則を通信ノードに設定せず、さらに下位層の制御装置に対して処理規則の設定要求を送出する。
【００７３】
ドメインＢに属するドメインノード１−４のうち、代表ドメインノード２に対応する制御装置は、ドメインＢの外部リンクに対応する仮想ポート番号“４２”に至る経路を計算する。経路の計算方法は、図５および図６を参照して説明した方法と同様であるため、説明を省略する。代表ドメインノード２の制御装置は、仮想ポート番号“４２”に至る経路に対応する各ドメインノードの仮想ポート番号を検出する。代表ドメインノード２の制御装置は、他のドメインノードに対応する制御装置に対して、検出された各ドメインノードの仮想ポート番号とその仮想ポート番号に対応する経路の計算を要求する。例えば、代表ドメインノード２の制御装置は、ドメインノード３の仮想ポート番号“３２”が、仮想ポート番号“４２”に至る経路に対応する仮想ポートであることを検出する。代表ドメインノード２の制御装置は、ドメインノード３に対応する制御装置に対して、検出されたドメインノードの仮想ポート番号とその仮想ポート番号に対応する経路の計算を要求する。なお、代表ドメインノード２の制御装置は、この要求に、第２の上位ドメインノードの仮想ポート番号“５０”も含めて送出する。
【００７４】
ドメインノード３の制御装置が要求を受けると、仮想ポート番号“３２”に対応する経路を計算する。経路の計算方法は、図５および図６を参照して説明した方法と同様であるため、説明を省略する。ドメインノード３の制御装置は、ドメインノード３が通信ノードＮ＃１〜Ｎ＃３を仮想化して生成されたものと認識する。よって、ドメインノード３の制御装置は、計算した経路に対応する通信ノードのポート番号を検出し、検出したポート番号に基づいて、処理規則を計算し、各通信ノードに対して設定する。なお、ドメインノード３の制御装置は、通信ノードに設定する処理規則を、第２の上位ドメインノードの仮想ポート番号“５０”に対応付けて設定する。例えば、図９において、制御装置は、Ｎ＃３に、仮想ポート番号“５０”に対応するパケットを、ポート５番から送出することを規定する処理規則を設定する。また、制御装置は、ＥＮ＃１に、仮想ポート番号“５０”に対応するパケットを、ポート３番から送出し、パケットに格納されているカウンタ値をインクリメント（またはデクリメント）することを規定した処理規則を設定する。各通信ノードに、第２の上位ドメインノードの仮想ポート番号に対応する処理規則が設定されることにより、第２の上位ドメインノードによる仮想的な動作を、通信ノードの動作により実現できる。
【００７５】
以上、図５〜図９で説明した動作を繰り返すことにより、多階層に仮想化されたネットワークが構築される。
【００７６】
処理装置は、パケット転送のための経路として、仮想化されたネットワークのトポロジに基づいて、パケット転送の経路を計算する。仮想化されたネットワークのトポロジは、通信ノードにより構成されるトポロジよりも、ホップ数や管理エンティティが少ないので、経路計算の負荷が削減される。なお、多階層に仮想化されたネットワークのトポロジは、例えば、複数の制御装置により共有され、それぞれの制御装置は多階層に仮想化されたネットワークのトポロジに基づいてパケットの経路を計算できる。また、複数の制御装置を統括する制御装置が、多階層に仮想化されたネットワークのトポロジを管理し、そのトポロジ情報に基づいてパケットの経路を計算し、それぞれの制御装置に対して計算した経路によるパケット転送を支持してもよい。
【００７７】
図１０および図１１を参照して、仮想化されたネットワークが構築された後の、パケットの転送動作の一例を説明する。
【００７８】
図１０のＰ５０、Ｐ５１、Ｐ３５は、ドメインノードの出力ポートとして割り当てられた仮想ポート番号の一部を表示したものであり、Ｐ３、Ｐ１は、通信ノードの実ポート番号の一部を表示したものである。
【００７９】
図１０中の通信システムは、３層のネットワークに仮想化されている。
【００８０】
ｈｏｓｔ１、ｈｏｓｔ２は、通信を行うホストを示している。
【００８１】
ｈｏｓｔ１からｈｏｓｔ２へパケットが送信されると、通信ノードＮ１へパケットが入力される。通信ノードＮ１は、新規にパケットを受け取ると、制御装置Ｃ１にパケットに付加すべき識別子を問い合わせる。ここでは、通信ノードが制御装置にパケットに付加すべき識別子を問い合わせ、通信ノードがパケットに識別子を付加する方法を述べる。ただし、ホストが、制御装置Ｃ１〜Ｃ７のうちのいずれかの制御装置に、パケットに付加すべき識別子を問い合わせる方法を採用してもよい。また、ホストが制御装置Ｃ１〜Ｃ７のうちのいずれかからトポロジを取得し、自らのポリシーにしたがって経路を計算し、識別子を計算してもよい。識別子をホストへ通知するサーバを設けてもよい。
【００８２】
制御装置は、問い合わせを受けると、３層のトポロジを用いて通信に用いる経路を計算する。このとき、計算に用いるトポロジ階層をホップ毎に選択することが可能であり、柔軟な経路選択が可能である。
【００８３】
制御装置は、計算した経路に基づいて、パケットに付加すべき識別子を計算する。この識別子となるのは、各階層のノードにおける出力ポートである。
【００８４】
通信ノードＮ１は、制御装置から受けとった識別子をパケットに付加し、その識別子に対応する処理規則を検索する。識別子に対応する処理規則に基づき、通信ノードＮ１がパケットを通信ノードＮ３に転送する。
【００８５】
図１１を参照すると、パケットヘッダ内に識別子の列を埋め込み、ホップカウンタを保持することでホップ毎に使用すべき識別子を特定している。ただし、ホップカウンタを使用せず、先頭から使用済み識別子を削除する方法を採用することもできる。
【００８６】
通信ノードＮ１で参照すべき識別子は５０となっており、これは最上位階層のノードにおける出力ポートを示している。ＤＮ８に含まれる通信ノードには識別子５０と対応した処理規則が設定済みである。この場合、パケットを受け取った通信ノードＮ１、Ｎ３、Ｎ４、Ｎ５での処理規則は、図３の処理規則テーブルＡと同様であり、パケット中の識別子５０を参照し続けつつ、パケットを転送する。通信ノードＮ７では、処理規則は図３の処理規則テーブルＢと同様であり、ホップカウンタを加算したのち、ＤＮ８におけるポート５０に相当する実ポートであるＮ７からＮ９へのリンクへ出力される。このようにパケットに含まれる先頭の識別子５０を用いてＤＮ８のｅｇｒｅｓｓ  ｌｉｎｋへ出力される。通信ノードＮ９に入力されたパケットでは、参照すべき識別子は５１となっており、同様にＮ１５に到達するまで転送が続けられ、ホップカウンタが加算される。
【００８７】
通信ノードＮ１５で参照される識別子は３５であり、これは上位２番目の階層におけるノード、ＤＮ６におけるポート３５を表している。この場合、通信ノードＮ１７に到達するまで転送され、最後の転送時にホップカウンタが加算される。
【００８８】
通信ノードＮ１７で参照される識別子は３であり、これは通信ノードの実ポート番号を示す。よって最下層の次ホップである通信ノードＮ１９へ転送され、ホップカウンタが加算される。
【００８９】
通信ノードＮ１９で参照される識別子は１であり、同様に次ホップへ転送され、ｈｏｓｔ２へ転送される。
【００９０】
以上の動作例のように、パケットは仮想化されたネットワークを転送される。
【００９１】
以上のように、各階層のホップ分の識別子をパケットに付加することでパケット転送が行われ、付加される識別子の数を削減することができる。
【００９２】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではない。本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した各実施形態では、オープンフローの技術を参照して説明したが、本発明はオープンフローの技術に基づくことに限定するものではない。
【００９３】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００９４】
１〜３    通信ノード
１０    制御装置
１１    ノード通信部
１２    制御メッセージ処理部
１３    フローエントリ管理部
１４    ドメイン管理部
１５    仮想化管理部
１００    仮想ノード
１４１    ドメイントポロジ管理部
１４２    経路木計算部
１４３    処理規則計算部
１５１    仮想トポロジ管理部
１５２    仮想ポート番号管理部
１５３    経路木計算部
１５４    処理規則設定依頼部
Ｃ１〜Ｃ７    制御装置
Ｄ１〜Ｄ１０    ドメイン
ＤＮ１〜ＤＮ１０    ドメインノード
Ｎ１〜Ｎ１９    通信ノード
Ｐ１，Ｐ３    実ポート番号の一部
Ｐ３５，Ｐ５０，Ｐ５１    仮想ポート番号の一部
【図１】
2012108382.tif 000003
【図２】
2012108382.tif 000004
【図３】
2012108382.tif 000005
【図４】
2012108382.tif 000006
【図５】
2012108382.tif 000007
【図６】
2012108382.tif 000008
【図７】
2012108382.tif 000009
【図８】
2012108382.tif 000010
【図９】
2012108382.tif 000011
【図１０】
2012108382.tif 000012
【図１１】
2012108382.tif 000013
【図１２】
2012108382.tif 000014
【国際調査報告】
2012108382.tif 000015
2012108382.tif 000016
2012108382.tif 000017
2012108382.tif 000018