(57)【要約】  データプレーンによる迅速な障害回復と、制御プレーンによる確実な障害回復と、を適宜使い分けることに寄与する通信システムを提供する。通信システムは、ＯＡＭ機能を備える複数のノードと、複数のノードを制御する制御装置と、を含む。複数のノードのそれぞれは、複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を制御装置に送信する。制御装置は、状態変更通知と、ネットワークの構成に関する情報と、に基づいて、ネットワークにおける経路制御を実行するか否かを判断する。
2014077313.tif 000002
【特許請求の範囲】
【請求項１】
ＯＡＭ（Operation Administration and Maintenance）機能を備える複数のノードと、
前記複数のノードを制御する制御装置と、
を含み、
前記複数のノードのそれぞれは、前記複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を前記制御装置に送信し、
前記制御装置は、前記状態変更通知と、前記ネットワークの構成に関する情報と、に基づいて、前記ネットワークにおける経路制御を実行するか否かを判断する、通信システム。
【請求項２】
前記制御装置は、
前記ネットワークの構成に関する情報として、前記ネットワークのトポロジ情報とパス情報を用いて、前記ネットワークに生じた障害を回復するために前記経路制御が必要か否かを判断する請求項１の通信システム。
【請求項３】
前記制御装置は、
前記複数のノードにより形成されるパスであって、前記ネットワークに生じた障害により影響を受けるパスが１本以下の場合には、前記経路制御を実行しないと判断する請求項１又は２の通信システム。
【請求項４】
前記制御装置は、
前記複数のノードにより形成されるパスであって、現用系パスと現用系パスに対応する予備系パスとが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する請求項１乃至３のいずれか一項に記載の通信システム。
【請求項５】
前記制御装置は、
前記複数のノードにより形成されるパスであって、予備系パスを共有する複数の現用系パスが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する請求項１乃至４のいずれか一項に記載の通信システム。
【請求項６】
前記制御装置は、
前記経路制御が必要と判断した場合に、前記ネットワークに関する情報に基づいて、前記ネットワークに生じた障害を回避するパスを探索する請求項１乃至５のいずれか一項に記載の通信システム。
【請求項７】
前記複数のノードのそれぞれは、パケットを処理するための処理規則を要求し、
前記制御装置は、前記要求に応じて、受信したパケットを処理するための処理規則を作成し、作成した処理規則を前記複数のノードの少なくとも１つに通知する請求項１乃至６のいずれか一項に記載の通信システム。
【請求項８】
前記複数のノードのそれぞれは、ポートのリンクダウンを検出したことに応じて、受信したパケットの処理を規定するフローテーブル及びグループテーブルに従い、前記受信したパケットを前記リンクダウンしたポート以外のポートに転送する請求項１乃至７のいずれか一項に記載の通信システム。
【請求項９】
ＯＡＭ（Operation Administration and Maintenance）機能を備える複数のノードの少なくとも１つから、前記複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を受信する通信部と、
前記状態変更通知と、前記ネットワークの構成に関する情報と、に基づいて、前記ネットワークにおける経路制御を実行するか否かを判断する経路制御判断部と、
を備える制御装置。
【請求項１０】
前記経路制御判断部は、
前記ネットワークの構成に関する情報として、前記ネットワークのトポロジ情報とパス情報を用いて、前記ネットワークに生じた障害を回復するために前記経路制御を実行するか否かを判断する請求項９の制御装置。
【請求項１１】
前記経路制御判断部は、
複数の前記ノードにより形成されるパスであって、前記ネットワークに生じた障害により影響を受けるパスが１本以下の場合には、前記経路制御を実行しないと判断する請求項９又は１０の制御装置。
【請求項１２】
前記経路制御判断部は、
複数の前記ノードにより形成されるパスであって、現用系パスと現用系パスに対応する予備系パスとが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する請求項９乃至１１のいずれか一項に記載の制御装置。
【請求項１３】
前記経路制御判断部は、
複数の前記ノードにより形成されるパスであって、予備系パスを共有する複数の現用系パスが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する請求項９乃至１２のいずれか一項に記載の制御装置。
【請求項１４】
前記経路制御判断部により、前記経路制御を実行すると判断された場合に、前記ネットワークに関する情報に基づいて、前記ネットワークに生じた障害を回避するパスを探索する経路探索部を備える請求項９乃至１３のいずれか一項に記載の制御装置。
【請求項１５】
ＯＡＭ（Operation Administration and Maintenance）機能を備える複数のノードの少なくとも１つから、前記複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を受信する工程と、
前記状態変更通知と、前記ネットワークの構成に関する情報と、に基づいて、前記ネットワークにおける経路制御を実行するか否かを判断する工程と、
を含む制御装置の制御方法。
【請求項１６】
前記経路制御の要否を判断する工程は、
前記ネットワークの構成に関する情報として、前記ネットワークのトポロジ情報とパス情報を用いて、前記ネットワークに生じた障害を回復するために前記経路制御を実行するか否かを判断する請求項１５の制御装置の制御方法。
【請求項１７】
前記経路制御の要否を判断する工程は、
複数の前記ノードにより形成されるパスであって、前記ネットワークに生じた障害により影響を受けるパスが１本以下の場合には、前記経路制御を実行しないと判断する請求項１５又は１６の制御装置の制御方法。
【請求項１８】
前記経路制御の要否を判断する工程は、
複数の前記ノードにより形成されるパスであって、現用系パスと現用系パスに対応する予備系パスとが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する請求項１５乃至１７のいずれか一項に記載の制御装置の制御方法。
【請求項１９】
前記経路制御の要否を判断する工程は、
複数の前記ノードにより形成されるパスであって、予備系パスを共有する複数の現用系パスが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する請求項１５乃至１８のいずれか一項に記載の制御装置の制御方法。
【請求項２０】
前記経路制御の要否を判断する工程により、前記経路制御を実行すると判断された場合に、前記ネットワークに関する情報に基づいて、前記ネットワークに生じた障害を回避するパスを探索する工程を含む請求項１５乃至１９のいずれか一項に記載の制御装置の制御方法。
【請求項２１】
ＯＡＭ（Operation Administration and Maintenance）機能を備える複数のノードの少なくとも１つから、前記複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を受信する処理と、
前記状態変更通知と、前記ネットワークの構成に関する情報と、に基づいて、前記ネットワークにおける経路制御を実行するか否かを判断する処理と、
を制御装置を制御するコンピュータに実行させるプログラム。
【請求項２２】
前記経路制御の要否を判断する処理は、
前記ネットワークの構成に関する情報として、前記ネットワークのトポロジ情報とパス情報を用いて、前記ネットワークに生じた障害を回復するために前記経路制御を実行するか否かを判断する請求項２１のプログラム。
【請求項２３】
前記経路制御の要否を判断する処理は、
複数の前記ノードにより形成されるパスであって、前記ネットワークに生じた障害により影響を受けるパスが１本以下の場合には、前記経路制御を実行しないと判断する請求項２１又は２２のプログラム。
【請求項２４】
前記経路制御の要否を判断する処理は、
複数の前記ノードにより形成されるパスであって、現用系パスと現用系パスに対応する予備系パスとが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する請求項２１乃至２３のいずれか一項に記載のプログラム。
【請求項２５】
前記経路制御の要否を判断する処理は、
複数の前記ノードにより形成されるパスであって、予備系パスを共有する複数の現用系パスが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する請求項２１乃至２４のいずれか一項に記載のプログラム。
【請求項２６】
前記経路制御の要否を判断する処理により、前記経路制御を実行すると判断された場合に、前記ネットワークに関する情報に基づいて、前記ネットワークに生じた障害を回避するパスを探索する処理を実行させる請求項２１乃至２５のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１２−２５２４２５号（２０１２年１１月１６日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、その制御方法及びプログラムに関する。特に、ネットワークを集中制御する制御装置を含む通信システム、制御装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークを構成するノードにＯＡＭ（Operation Administration and Maintenance）機能を与え、制御プレーンに依存せずに、データプレーンでの障害回復が可能なトランスポートネットワークが運用されている。【０００３】
特許文献１において、ＧＭＰＬＳ（Generalized Multi-Protocol Label Switching）を制御プレーンとして採用し、光スイッチ（特許文献１におけるデータプレーン）のみで障害回復できる場合には、光スイッチを切り替えることで障害を回復する技術が開示されている。一方、光スイッチだけでは障害回復できない場合には、ＧＭＰＬＳ制御プレーンの制御により障害を回復する。【０００４】
特許文献２において、データプレーンと制御プレーンを異なる媒体により構成されるネットワークにおいて、制御プレーンにのみ障害が発生した場合は、データ転送中のデータプレーンのパス切断を防ぐ技術が開示されている。【０００５】
特許文献３において、多重障害時の障害回復を分散制御により効率的に行う技術が開示されている。【０００６】
特許文献４において、データプレーンと制御プレーンを同期させることにより、信頼性の高い経路状態情報を取得し、データプレーンと制御プレーンとを連携して管理する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−３１８９８３号公報
【特許文献２】特開２０１２−１７０１６１号公報
【特許文献３】特開２００７−０５３７９３号公報
【特許文献４】特開２００８−０６６９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。【０００９】
制御プレーンに依存せず、データプレーンのみで障害の回復を行うことで、迅速な障害の回復が期待できる。一方で、多重障害が生じた場合には、データプレーンのみに依存した障害の回復は困難である。そのような場合には、制御プレーンにより新たな経路を設定する制御（経路制御）が必要となる。しかしながら、データプレーンによる障害の回復が期待できる単一障害に対しても、制御プレーンにより障害を回避したのでは迅速な障害の回復は期待できない。【００１０】
従って、単一障害が発生した場合にはデータプレーンによる迅速な障害回復が、多重障害が発生した場合には制御プレーンによる確実な障害回復が望まれる。【００１１】
なお、特許文献１における制御プレーンは、ＧＭＰＬＳを用いた分散制御である。従って、集中制御による制御プレーンの場合と比較して、障害箇所の特定に時間を要する。さらに、単一障害には対応できても、制御プレーンが分散制御である場合には多重障害への対応が複雑となり、結果として確実な障害回復が行えない可能性もある。また、特許文献１が開示する技術では、データプレーンによる障害の回復は不可能であると判断した後に、制御プレーンに対して障害情報を通知するため、制御プレーンでの障害回復が遅れる。【００１２】
また、特許文献２が開示する技術は、制御プレーンに障害が発生した際、データプレーンにおけるパス切断を防止する技術であって、データプレーン及び制御プレーンを用いた障害の回復とは無関係である。さらに、特許文献３が開示する技術では、特許文献１と同様に分散制御を用いた障害回復手法であるため、多重障害への対応が複雑である。さらにまた、特許文献４が開示する技術はデータプレーンと制御プレーンとを連携させ、信頼性の高い経路状態情報の取得を実現する。即ち、特許文献４が開示する技術は、障害回復を主たる目的としていない。【００１３】
以上のような状況を鑑み、本発明は、複数のノードによる障害回復と、複数のノードを制御する制御装置による障害回復と、を適宜使い分けることに寄与する通信システム、制御装置、その制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の視点によれば、ＯＡＭ（Operation Administration and Maintenance）機能を備える複数のノードと、前記複数のノードを制御する制御装置と、を含み、前記複数のノードのそれぞれは、前記複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を前記制御装置に送信し、前記制御装置は、前記状態変更通知と、前記ネットワークの構成に関する情報と、に基づいて、前記ネットワークにおける経路制御を実行するか否かを判断する通信システムが提供される。【００１５】
本発明の第２の視点によれば、ＯＡＭ（Operation Administration and Maintenance）機能を備える複数のノードの少なくとも１つから、前記複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を受信する通信部と、前記状態変更通知と、前記ネットワークの構成に関する情報と、に基づいて、前記ネットワークにおける経路制御を実行するか否かを判断する経路制御判断部と、を備える制御装置が提供される。【００１６】
本発明の第３の視点によれば、ＯＡＭ（Operation Administration and Maintenance）機能を備える複数のノードの少なくとも１つから、前記複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を受信する工程と、前記状態変更通知と、前記ネットワークの構成に関する情報と、に基づいて、前記ネットワークにおける経路制御を実行するか否かを判断する工程と、を含む制御装置の制御方法が提供される。
なお、本方法は、ネットワークを制御する制御装置という、特定の機械に結びつけられている。【００１７】
本発明の第４の視点によれば、ＯＡＭ（Operation Administration and Maintenance）機能を備える複数のネットワークを構成するノードの少なくとも１つから、前記複数のノードにより構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を受信する処理と、前記状態変更通知と、前記ネットワークの構成に関する情報と、に基づいて、前記ネットワークにおける制御プレーンによる経路制御を実行するが必要か否かを判断する処理と、を制御装置を制御するコンピュータに実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（ｎｏｎ−ｔｒａｎｓｉｅｎｔ）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１８】
本発明の各視点によれば、複数のノードによる障害回復と、複数のノードを制御する制御装置による障害回復と、を適宜使い分けることに寄与する通信システム、制御装置、その制御方法及びプログラムが、提供される。
【図面の簡単な説明】
【００１９】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係る通信システムにおける構成の一例を示す図である。
【図３】制御装置２０の内部構成の一例を示す図である。
【図４】トポロジ情報の一例を示す図である。
【図５】パス情報の一例を示す図である。
【図６】第１の実施形態に係る通信システムの動作を説明するためのフローチャートである。
【図７】障害の影響を受けたパスが１本の場合の動作を説明するための図である。
【図８】現用系パスと予備系パスが共に障害の影響を受ける場合の動作を説明するための図である。
【図９】複数の現用系パスが障害の影響を受ける場合の動作を説明するための図である。
【図１０】複数の現用系パスが障害の影響を受けるが、予備系パスを共有していない場合の動作を説明するための図である。
【図１１】第２の実施形態に係る制御装置２０ａの内部構成の一例を示す図である。
【図１２】第２の実施形態に係る通信システムの動作を説明するためのフローチャートである。
【図１３】迂回経路の決定に関する動作を説明するための図である。
【図１４】第３の実施形態に係る通信システムにおける構成の一例を示す図である。
【図１５】オープンフローコントローラ３０の内部構成の一例を示す図である。
【図１６】オープンフロースイッチ４０の内部構成の一例を示す図である。
【図１７】第３の実施形態に係る通信システムの動作を説明するためのフローチャートである。
【図１８】Ｐｏｒｔ＿ｓｔａｔｕｓメッセージの一例を示す図である。
【図１９】経路制御判断部３３における障害箇所を把握する動作を説明するための図である。
【図２０】障害回復にオープンフローコントローラ３０が関与しない場合の動作を説明するための図である。
【図２１】フローテーブルとグループテーブルの一例を示す図である。
【図２２】オープンフローコントローラ３０による迂回経路の設定を説明するための図である。
【図２３】Ｆｌｏｗ＿ｍｏｄメッセージにより更新されたテーブルの一例を示す図である。
【図２４】Ｆｌｏｗ＿ｍｏｄメッセージにより更新されたテーブルの一例を示す図である。
【発明を実施するための形態】
【００２０】
初めに、図１を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００２１】
上述したように、制御プレーンに依存せず、データプレーンのみで障害の回復を行うことで、迅速な障害の回復が期待できる。一方で、多重障害が生じた場合には、データプレーンのみに依存した障害の回復は困難である。そのため、データプレーンによる迅速な障害回復と、制御プレーンによる確実な障害回復と、を適宜使い分けることに寄与する通信システムが望まれる。一実施形態において、データプレーンによる障害回復は、例えば、ＯＡＭ機能を備える複数のノードによる障害回復である。また、一実施形態において、制御プレーンによる障害回復は、例えば、制御装置が複数のノードにより構成されるネットワークの経路制御を実行する障害回復である。なお、一実施形態において、データプレーンは、複数のノードで構成される。また、一実施形態において、制御プレーンは、制御装置で構成される。また、一実施形態において、データプレーンを下位レイヤ、制御プレーンをデータプレーン（下位レイヤ）に対する上位レイヤと捉えてもよい。
【００２２】
そこで、一例として図１に示す通信システムを提供する。図１に示す通信システムは、ＯＡＭ機能を備える複数のノード１００と、複数のノード１００を制御する制御装置１０１と、を含む。複数のノード１００のそれぞれは、複数のノード１００により構成されるネットワークに生じた障害により影響を受けたポートに関する情報を含む状態変更通知を制御装置１０１に送信する。制御装置１０１は、状態変更通知と、ネットワークの構成に関する情報と、に基づいて、ネットワークにおける経路制御を実行するか否かを判断する。
【００２３】
制御装置１０１は、制御プレーンによる経路制御を実行しないと判断すれば、特段の動作を行わない。ネットワークに生じた障害の回復をデータプレーンに委ねる。即ち、制御装置１０１は、単一障害のようなデータプレーンによる障害の回復が期待できる場合には、障害回復動作に関与しない。その結果、図１に示す通信システムでは、データプレーンによる迅速な障害回復が達成できる。
【００２４】
一方、制御装置１０１が、制御プレーンによる経路制御を実行すると判断した場合には、適切な経路制御を複数のノード１００に対して実施することで、多重障害のようなデータプレーンによる障害回復が期待できない障害を確実に回復させることができる。
【００２５】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
【００２６】
［第１の実施形態］
第１の実施形態について図面を参照して説明する。
【００２７】
図２は、第１の実施形態に係る通信システムにおける構成の一例を示す図である。図２を参照すると、ノード１０−１〜１０−４と、ノード１０−１〜１０−４を集中制御する制御装置２０と、を含む構成が示されている。第１の実施形態において、データプレーンは、複数のノード１０−１〜１０−４で構成されるネットワークである。また、第１の実施形態において、制御プレーンは、制御装置２０で構成される。あるいは、データプレーンを下位レイヤ、制御プレーンをデータプレーン（下位レイヤ）に対する上位レイヤと捉えてもよい。
【００２８】
制御装置２０は、ノード１０−１〜１０−４に対して、受信パケットの処理を規定する処理規則を設定する。ノード１０−１〜１０−４は、制御装置２０が設定する処理規則に従い、パケット処理（パケットの転送）を行う。
【００２９】
図２に示すネットワークでは、ノード１０−１〜１０−４の間でパスが設定される。より具体的には、図２において、パスＰ０１及びＰ０２が設定され、パスＰ０１は現用系パス（図２における実線）であり、パスＰ０２は予備系パス（図２における点線）である。予備系パスＰ０２は、現用系パスＰ０１に障害が生じた場合の、パックアップ経路として使用される。なお、以降の説明において、ノード１０−１〜１０−４を特に区別する必要のないときは「ノード１０」と表記する。
【００３０】
ノード１０は、通信の信号断を検出すると、制御装置２０に対して状態変更通知を送信する。制御装置２０は、ノード１０が送信する状態変更通知と、内部に保持するトポロジ情報及びパス情報と、からネットワークに生じた障害を回復するための経路制御を実施すべきか否かを判断し、必要に応じて経路制御を行う。なお、状態変更通知、トポロジ情報及びパス情報の詳細は後述する。
【００３１】
図３は、制御装置２０の内部構成の一例を示す図である。制御装置２０は、ネットワーク構成管理部２１と、ネットワーク構成データベース（ネットワーク構成ＤＢ）２２と、経路制御判断部２３と、ノード１０等の装置と通信を行う通信部２４と、を含んで構成される。
【００３２】
ネットワーク構成管理部２１は、通信部２４を介してネットワーク管理者から入力されるトポロジ情報及びパス情報を受け付ける。ネットワーク構成管理部２１は、受け付けたトポロジ情報及びパス情報をネットワーク構成ＤＢ２２に登録する。あるいは、制御装置２０が、ノード１０と相互に通信し、トポロジ情報及びパス情報を収集し、収集したトポロジ情報及びパス情報をネットワーク構成ＤＢ２２に登録してもよい。
【００３３】
経路制御判断部２３は、通信部２４を介して、ノード１０から状態変更通知を受信する。経路制御判断部２３は、状態変更通知を受信すると、ネットワーク構成ＤＢ２２が記憶するトポロジ情報及びパス情報を参照する。経路制御判断部２３は、状態変更通知と、トポロジ情報及びパス情報と、に基づいて障害を回復するための経路制御が必要か否か（経路制御を実行するか否か）を判断する。
【００３４】
経路制御判断部２３は、障害の回復に経路制御は必要ない（経路制御を実行しない）と判断した場合には、特段の動作を行わない。一方、経路制御判断部２３は、障害の回復のために経路制御が必要である（経路制御を実行する）と判断した場合には、迂回経路の決定をする構成要素（図示せず）等に迂回経路の決定を指示する。あるいは、経路制御判断部２３は、通信部２４等を用いてネットワーク管理者に、障害を回復するための経路制御が必要である旨の通知をする。通知を受けたネットワーク管理者は、障害を回復するのに必要なパスをノード１０に設定する。あるいは、制御装置２０が、ノード１０と相互に通信し、トポロジ情報及びパス情報を収集し、収集したトポロジ情報及びパス情報をネットワーク構成ＤＢ２２に登録してもよい。
【００３５】
なお、図３に示す制御装置２０の各部（処理手段）は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、後述する各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３６】
状態変更通知は、ノード１０において状態変更が生じたポートに関する情報を含む。例えば、ノード１０においてリンク障害が発生した場合には、その障害が発生したリンクに対応するポートに関する情報が、状態変更通知に含まれる。
【００３７】
トポロジ情報は、制御装置２０が制御対象とするネットワークのトポロジ（接続形態）に関する情報である。トポロジ情報には、ノード１０の間を接続するポートに関する情報が含まれている。
【００３８】
図４は、トポロジ情報の一例を示す図である。なお、図４以降の図面において、ネットワークのトポロジを図示する際に、制御装置２０の記載を省略する。制御装置２０が制御対象とするネットワークのトポロジは、図４（ａ）のとおりとする。図４（ａ）において、ノード１０−１〜１０−４を接続する実線の近傍に付した数字は、当該ノードにおける接続ポートを明示する。図４（ａ）示すトポロジをまとめた情報がトポロジ情報であり、図４（ｂ）がトポロジ情報の一例である。
【００３９】
パス情報は、制御装置２０が制御対象とするネットワークのパスに関する情報である。パス情報には、現用系パスと予備系パスに関する情報が含まれている。より具体的には、各パスが経由するノードや、予備系パスがどの現用系パスに関連付けられているかといった情報が、含まれている。
【００４０】
図５は、パス情報の一例を示す図である。図５（ａ）を参照すると、図４（ａ）に示すトポロジに対して、２本のパス（パスＰ０１及びＰ０２）が設定されている。
・パスＰ０１は、ノード１０−１とノード１０−４を経由する現用系パスである。
・パスＰ０２は、ノード１０−１、１０−２及び１０−４を経由する予備系パスである。
これらの情報をまとめた情報がパス情報であり、図５（ｂ）がパス情報の一例である。図５（ｂ）を参照することで、現用系パスであるパスＰ０１の予備系パスは、パスＰ０２であると認識される。
【００４１】
次に、本実施形態の動作例について図面を参照して説明する。なお、図６は例示であり、本実施形態に係る通信システムの動作は図６のフローチャートに限定されない。図６は、第１の実施形態に係る通信システムの動作を説明するためのフローチャートである。
【００４２】
ステップＳ０１において、制御装置２０の経路制御判断部２３は、通信部２４を介して状態変更通知を受信する。
【００４３】
ステップＳ０２において、経路制御判断部２３は、受信した状態変更通知から得られる状態変更があったポートに関する情報と、トポロジ情報及びパス情報とに基づいて、ネットワークに生じた障害からどのパスが影響を受けたかを特定する。
【００４４】
ステップＳ０３において、経路制御判断部２３は、影響を受けたパスを特定した後、影響を受けたパスの本数を確認し、影響を受けたパスの本数が１本以下であれば図６の処理を終了する（ステップＳ０３、Ｙｅｓ分岐）。影響を受けたパスの本数が１本以下であれば、そのパスが現用系パス又は予備系パスのいずれであっても、制御装置２０では特段の対応を行わない。つまり、影響を受けたパスが１本であって、そのパスが現用系パスである場合には、ノード１０の持つＯＡＭ機能が働くことで予備系パスが使用され、ノード１０自身が障害の回復を行う。一方、影響を受けたパスが１本であって、そのパスが予備系パスであれば、現用系パスが影響を受けていないので、リンクは維持される。
【００４５】
図７は、障害の影響を受けたパスが１本の場合の動作を説明するための図である。図４及び図５に示すネットワークにおいて、ノード１０−１及び１０−４間のリンクに障害が発生したものとする。すると、ノード１０−１及び１０−４は、制御装置２０に対して状態変更通知を送信する。
【００４６】
経路制御判断部２３は、状態変更通知から、ノード１０−１のポート２と、ノード１０−４のポート２に状態変更が生じたことを認識する。経路制御判断部２３は、トポロジ情報におけるノード１０−１のポート２と、ノード１０−４のポート２に関する情報を参照することで、ノード１０−１と１０−４の間のリンクに障害が発生したことを認識する。さらに、経路制御判断部２３は、リンクの障害位置（図７の例では、ノード１０−１と１０−４）と、パス情報と、から影響を受けたパスを特定する。
【００４７】
図７の例においては、現用系パスであるパスＰ０１が障害の影響を受けるパスであることが特定される。現用系パスに限り障害の影響を受けているため、データプレーンにおけるＯＡＭ機能により障害回復が可能である。即ち、単一障害の場合には、制御プレーンに依存しない迅速な障害回復が達成される。
【００４８】
障害の影響を受けたパスが２本以上（ステップＳ０３、Ｎｏ分岐）の場合に、ステップＳ０４〜Ｓ０７の処理が実行される。即ち、ネットワークに多重障害が発生した場合に、ステップＳ０４〜Ｓ０７の処理が実行される可能性がある。
【００４９】
図６のステップＳ０４において、経路制御判断部２３は、現用系パスと、その現用系パスに関連付けられた予備系パスが共に障害の影響を受けているか否かを判断する。現用系パスと予備系パスが共に、障害の影響を受けている場合には（ステップＳ０４、Ｙｅｓ分岐）、経路制御判断部２３は、経路制御が必要と判断し（経路制御を実行すると判断し）、経路制御を実施する（ステップＳ０６）。
【００５０】
図８は、現用系パスと予備系パスが共に障害の影響を受ける場合の動作を説明するための図である。図８では、ノード１０−１と１０−４の間のリンクに加えて、ノード１０−２と１０−４の間のリンクにおいても障害が発生したものとする。
【００５１】
この場合、経路制御判断部２３は、ノード１０−１、１０−２及び１０−４から送信される状態変更通知から、ノード１０−１のポート２、ノード１０−２のポート２、ノード１０−４のポート１及び２、のそれぞれについて状態変更が発生したことを認識する。経路制御判断部２３は、トポロジ情報における上記の各ポートに関する情報を参照することで、ノード１０−１と１０−４の間と、ノード１０−２と１０−４の間のリンクに障害が発生したことを認識する。さらに、経路制御判断部２３は、リンクの障害位置（図８の例では、ノード１０−１、１０−２及び１０−４）と、パス情報と、から影響を受けたパスを特定する。
【００５２】
図８の例においては、現用系パスであるパスＰ０１と、パスＰ０１に関連付けられた予備系パスであるパスＰ０２と、が障害の影響を受けたパスであることが特定される。現用系パスと、その現用系パスのパックアップ経路として用意されている予備系パスと、が共に障害の影響を受けているため、データプレーンでのＯＡＭ機能を使用したとしても障害の回復は行えない。そこで、制御装置２０を使用した制御プレーンによる障害の回復を行う（ステップＳ０６）。
【００５３】
現用系パスと予備系パスが共に障害の影響を受けていない場合（ステップＳ０４、Ｎｏ分岐）には、ステップＳ０５の処理が実行される。
【００５４】
ステップＳ０５において、経路制御判断部２３は、予備系パスを共有する複数の現用系パスが、障害の影響を受けたか否かを判断する。複数の現用系パスが障害の影響を受ける場合（ステップＳ０５、Ｙｅｓ分岐）には、経路制御判断部２３は、経路制御が必要と判断し（経路制御を実行すると判断し）、経路制御を実施する（ステップＳ０７）。
【００５５】
図９は、複数の現用系パスが障害の影響を受ける場合の動作を説明するための図である。図９では、図４（ａ）に示すトポロジに対して、図９（ｂ）に示すパス情報が設定されているものとする。図９（ａ）に示すネットワークには、３本のパス（パスＰ０１〜Ｐ０３）が形成されている。
・パスＰ０１は、ノード１０−１とノード１０−４を経由する現用系パスである。
・パスＰ０３は、ノード１０−１、１０−３及び１０−４を経由する現用系パスである。
・パスＰ０２は、ノード１０−１、１０−２及び１０−４を経由する予備系パスである。
・パスＰ０２は、現用系パスＰ０１及びＰ０３の予備系パスである。
これらの情報をまとめたパス情報が、図９（ｂ）である。さらに、図９（ａ）では、ノード１０−１と１０−４の間と、ノード１０−３と１０−４の間のリンクに障害が発生したものとする。
【００５６】
ノード１０−１、１０−３及び１０−４のそれぞれのノードは、状態変更通知を制御装置２０に送信する。制御装置２０は、受信した状態変更通知から、ノード１０−１のポート２、ノード１０−３のポート２、ノード１０−４のポート２及びポート３のそれぞれにおける状態変更の発生を認識する。経路制御判断部２３は、トポロジ情報における上記の各ポートに関する情報を参照することで、ノード１０−１と１０−４の間とノード１０−３と１０−４の間のリンクに障害が発生したことを認識する。さらに、経路制御判断部２３は、リンクの障害位置（図９の例では、ノード１０−１、１０−３及び１０−４）と、パス情報と、から影響を受けたパスを特定する。図９の例においては、現用系パスであるパスＰ０１とＰ０３が障害の影響を受けるパスであることが特定される。
【００５７】
経路制御判断部２３は、パス情報を参照することで、これら２本の現用系パス（パスＰ０１及びＰ０３）が予備系パスであるパスＰ０２を共有していることが認識できる。予備系パスを共有する２本の現用系パスに障害が生じた場合には、どちらかの現用系パスについては、データプレーンのＯＡＭ機能を使用しても障害を回復することができない。そこで、制御装置２０を使用した制御プレーンによる障害の回復を行うと判断される（ステップＳ０７）。
【００５８】
図１０は、複数の現用系パスが障害の影響を受けるが、予備系パスを共有していない場合の動作を説明するための図である。図１０（ａ）において、図４（ａ）に示すネットワークに対して、ノード１０−５が追加されている。図１０（ａ）のトポロジ情報をまとめた図が、図１０（ｂ）である。
【００５９】
図１０（ａ）のネットワークには、４本のパス（パスＰ０１〜Ｐ０４）が形成されている。
・パスＰ０１は、ノード１０−１とノード１０−４を経由する現用系パスである。
・パスＰ０３は、ノード１０−１、１０−３及び１０−４を経由する現用系パスである。
・パスＰ０２は、ノード１０−１、１０−２及び１０−４を経由する予備系パスであって、パスＰ０１の予備系パスに設定されている。
・パスＰ０４は、ノード１０−１、１０−５及び１０−４を経由する予備系パスであって、パスＰ０３の予備系パスに設定されている。
これらの情報をまとめると、図１０（ｃ）となる。
【００６０】
図１０（ａ）では、図９（ａ）と同様に、ノード１０−１と１０−４の間と、ノード１０−３と１０−４の間のリンクに障害が発生したものとする。そのため、ノード１０−１、１０−３及び１０−４のそれぞれのノードは、状態変更通知を制御装置２０に送信する。制御装置２０は、受信した状態変更通知から、ノード１０−１のポート２、ノード１０−３のポート２、ノード１０−４のポート２及びポート３のそれぞれにおいて、状態変更の発生を認識する。
【００６１】
経路制御判断部２３は、トポロジ情報における上記の各ポートに関する情報を参照することで、ノード１０−１と１０−４の間とノード１０−３と１０−４の間のリンクに障害が発生したことを認識する。さらに、経路制御判断部２３は、リンクの障害位置（図８の例では、ノード１０−１、１０−３及び１０−４）と、パス情報と、から影響を受けたパスを特定する。図１０の例においては、現用系パスであるパスＰ０１とＰ０３が障害の影響を受けるパスと特定される。経路制御判断部２３は、パス情報を参照すると、これら２本の現用系パス（パスＰ０１及びＰ０３）は、予備系パスを共有していないことが認識できる。従って、それぞれの現用系パスＰ０１及びＰ０３は、データプレーンのＯＡＭ機能により障害の回復が行われる。
【００６２】
このように、制御プレーンに依存せず、障害の回復が可能であるため、制御装置２０では特段の対応を行わない。即ち、予備系パスを共有する複数の現用系パスが障害の影響を受けていない場合（ステップＳ０５、Ｎｏ分岐）には、図６に示す処理を終了する。このように、障害の影響を受けるパスが２本以上の場合であっても、制御プレーンによる障害の回復を行わない場合もある。
【００６３】
以上のように、制御装置２０は、各ノードが送信する状態変更通知に基づいて、データプレーンによる障害の回復が可能であるか、あるいは、制御プレーンによる障害の回復が必要であるか判断する。判断した結果、データプレーンによる障害の回復が可能と判断すれば、制御装置２０は特段の対応を行わず、データプレーンに障害の回復を委ねる。
【００６４】
一方、ネットワークに多重障害が発生し、データプレーン単独による障害の回復は困難であると判断すれば、制御装置２０は、その障害を回復するための処置を行う。即ち、本実施形態に係る通信システムは、ノードから障害発生の通知（状態変更通知）を受信した際に、その障害の回復がデータプレーンのみで回復できる場合には、障害回復の対応をデータプレーンに委ねることで迅速な障害の回復を実現する。一方、多重障害のようにデータプレーンのみの対応では、障害を回復することができないと判断した場合には、制御装置２０が適切な対応を取ることで、制御プレーンによる確実な障害の回復を実現する。
【００６５】
［第２の実施形態］
続いて、第２の実施形態について図面を参照して詳細に説明する。
【００６６】
図１１は、本実施形態に係る制御装置２０ａの内部構成の一例を示す図である。図１１において図３と同一構成要素には、同一の符号を付し、その説明を省略する。
【００６７】
制御装置２０ａと制御装置２０の相違点は、経路制御判断部２３ａの動作が異なる点と、経路探索部２５が追加されている点である。
【００６８】
経路制御判断部２３ａは、図６に示すフローチャートに従って処理を行う際に、制御プレーンによる障害回復が必要と判断（図６のステップＳ０６及びＳ０７）すると、経路探索部２５に対して経路制御を行うために必要なパス情報を出力する。
【００６９】
経路探索部２５は、受信したパス情報と、ネットワーク構成ＤＢ２２が記憶する情報と、に基づいて障害の回復に必要な迂回経路を決定する。さらに、経路探索部２５は、通信部２４を介して、決定したパスを実現するための処理規則をノード１０に設定する。即ち、本実施形態に係る制御装置２０ａは、制御プレーンによる障害回復が必要な場合において、障害を回復するのに必要な迂回経路を決定する。その後、決定したパスを実現するための処理規則をノード１０に設定する。
【００７０】
次に、本実施形態の動作例について図面を参照して説明する。なお、図１２は例示であり、本実施形態に係る通信システムの動作は図１２のフローチャートに限定されない。図１２は、第１の実施形態において説明した図６のステップＳ０６及びＳ０７における動作の一例を示すフローチャートである。
【００７１】
制御装置２０ａは、図６におけるステップＳ０４及びＳ０５の判断が真（Ｔｒｕｅ）である場合に、図１２に示すフローチャートに従った動作を行う。
【００７２】
ステップＳ１０１において、経路制御判断部２３ａは、制御装置２０ａによる経路制御が必要であると判断する（制御装置２０ａによる経路制御を実行すると判断する）。
【００７３】
ステップＳ１０２において、経路探索部２５は、経路制御の対象となるパスと、トポロジ情報と、から迂回経路を探索する。なお、図６のステップＳ０４における判断が真（ステップＳ０４、Ｙｅｓ分岐）の場合には、現用系パスと予備系パスが共に、障害の影響を受けたパスである。そのため、ステップＳ０６に対応するステップＳ１０２では、障害の影響を受けた現用系パスが迂回経路の探索対象となるパスである。換言するならば、予備系パスは迂回経路の探索対象とはならない。
【００７４】
また、図６のステップＳ０５における判断が真（ステップＳ０５、Ｙｅｓ分岐）の場合には、障害の影響を受けた複数の現用系パスが存在する。そのため、複数の現用系パスのうち、１本の現用系パスは予備系パスに切り替わる。そこで、予備系パスに切り替えることができない現用系パスが、迂回経路の探索対象となる。なお、複数の現用系パスのうち、いずれの現用系パスを予備系パスにより回復するかについては、ネットワークの運用方針等に基づき、運用パスに対して予め優先度が設定されているものとする。優先度は、制御装置２０ａが保持し、例えば、ネットワーク管理者により予め決定される。あるいは、制御装置２０ａが、複数の現用系パスのうち、いずれの現用系パスを予備系パスにより回復するかについて、自動的に定めることもできる（制御装置２０ａが、現用系パスの優先度を決定することもできる）。
【００７５】
ステップＳ１０３において、経路探索部２５は、迂回経路を決定し、ノード１０が保持する処理規則を更新する。
【００７６】
図１３は、迂回経路の決定に関する動作を説明するための図である。図１３を参照しつつ、図８に示すような現用系パスと予備系パスが共に障害の影響を受ける場合の迂回経路の設定について説明する。
【００７７】
図１３（ｂ）は、障害が発生する前のパス情報である。上述したように、経路探索部２５は、現用系のパスＰ０１に関する迂回経路を探索する。経路探索部２５は、パス情報を参照することで、現用系パスＰ０１を終端するノードはノード１０−１及び１０−４であることを認識する。さらに、ノード１０−１、１０−２及び１０−４の各ノードから受信する状態変更通知に基づき、ノード１０−１及び１０−４と、ノード１０−２及び１０−４と、にリンク障害が発生してことを認識する。
【００７８】
経路探索部２５は、トポロジ情報（図４参照）を参照し、これらのリンク障害が発生したノードのポートを避けつつ、迂回経路を決定する。例えば、図１３（ａ）において、経路探索部２５は、ノード１０−１及び１０−４を終端するパスＰ０３を迂回経路に決定する。即ち、経路探索部２５は、トポロジ情報を参照することで、現用系パスＰ０１の迂回経路としてパスＰ０３を設定する。経路探索部２５は、迂回経路を決定した後は、通信部２４を介して、当該迂回経路を実現するための処理規則をノード１０に設定する。さらに、経路探索部２５は、パス情報を更新する。更新されたパス情報の一例が、図１３（ｃ）である。
【００７９】
以上のように、本実施形態に係る制御装置２０ａは、障害が発生した際に、その障害を回復するための迂回経路を決定し、迂回経路を実現する処理規則をノード１０に設定する。その結果、データプレーンのみでは対応できない多重障害に対して、確実かつ迅速な対応を行うことができる。
【００８０】
［第３の実施形態］
続いて、第３の実施形態について図面を参照して詳細に説明する。
【００８１】
本実施形態に係る通信システムでは、ＯＡＭ機能を備えるオープンフロースイッチによりデータプレーンを構成すると共に、制御プレーンとしてオープンフローを適用する。
【００８２】
図１４は、本実施形態に係る通信システムにおける構成の一例を示す図である。
【００８３】
図１４に示す通信システムは、オープンフローコントローラ（ＯＦＣ；Open Flow Controller）３０と、オープンフロースイッチ（ＯＦＳ；Open Flow Switch）４０−１〜４０−４と、を含んで構成される。オープンフロースイッチ４０−１〜４０−４は、ＯＡＭ機能を備えている。また、オープンフロースイッチ４０−１〜４０−４の間にフローが設定される。より具体的には、図１４において、フローＦ０１及びＦ０２が設定され、フローＦ０１は現用系フロー（図１４における実線）であり、フローＦ０２は予備系フロー（図１４における点線）である。予備系フローＦ０２は、現用系フローＦ０１に障害が生じた場合の、パックアップとして使用される。なお、オープンフロースイッチ４０−１〜４０−４を特に区別する必要のないときは「オープンフロースイッチ４０」と表記する。
【００８４】
オープンフロースイッチ４０は、それぞれのオープンフロースイッチ間のリンク断等を検出すると、オープンフローコントローラ３０に対してＰｏｒｔ＿ｓｔａｔｕｓメッセージを送出する。
【００８５】
オープンフローコントローラ３０は、オープンフロースイッチ４０から送出されたＰｏｒｔ＿ｓｔａｔｕｓメッセージと、オープンフローコントローラ３０の内部に保持しているトポロジ情報及びフロー情報と、に基づき障害回復のための経路制御が必要か否かを判断する（経路制御を実行するか否かを判断する）。また、オープンフローコントローラ３０は、経路制御が必要であると判断した場合には、迂回経路を探索し、迂回経路を決定する。さらに、オープンフローコントローラ３０は、迂回経路上のオープンフロースイッチ４０に対してＦｌｏｗ＿ｍｏｄメッセージを送出する。オープンフロースイッチ４０は、受信したＦｌｏｗ＿ｍｏｄメッセージに基づきフローテーブルを更新する。オープンフロースイッチ４０は、更新されたフローテーブルに従って受信パケットを処理することで、迂回経路を実現する（迂回経路にフローを収容する）。
【００８６】
図１５は、本実施形態に係るオープンフローコントローラ３０の内部構成の一例を示す図である。図１５に示すように、オープンフローコントローラ３０は、ネットワーク構成管理部３１と、ネットワーク構成データベース（ネットワーク構成ＤＢ）３２と、経路制御判断部３３と、経路探索部３４と、オープンフローメッセージ変換部３５と、オープンフロースイッチ４０等の装置と通信を行う通信部３６と、を含んで構成される。
【００８７】
ネットワーク構成管理部３１の機能は、第１の実施形態において説明したネットワーク構成管理部２１と相違する点は存在しないので、さらなる説明を省略する。また、ネットワーク構成ＤＢ３２は、トポロジ情報及びフロー情報を記憶するデータベースである。なお、トポロジ情報は、第１の実施形態において説明したトポロジ情報と相違する点は存在しないので、さらなる説明を省略する。また、フロー情報は、第１の実施形態において説明したパス情報に相当する。即ち、フロー情報には、フローの属性が規定される。例えば、フロー情報は、フローの種類（現用系又は予備系）や、現用系フローに対する予備系フローに関する情報（予備系フローの有無、予備系フローの特定）を規定する。
【００８８】
通信部３６は、オープンフロースイッチ４０からＰｏｒｔ＿ｓｔａｔｕｓメッセージを受信した場合であって、Ｐｏｒｔ＿ｓｔａｔｕｓメッセージにリンクダウンの情報が含まれる場合には、経路制御判断部３３に対してリンクダウンのポート情報を通知する。具体的には、通信部３６は、Ｐｏｒｔ＿ｓｔａｔｕｓメッセージに含まれるリンクダウンのフラグがセットされている場合に、経路制御判断部３３に対してポート情報を通知する。
【００８９】
経路制御判断部３３は、通信部３６からリンクダウンのポート情報を受信した際、ネットワーク構成ＤＢ３２に格納されているトポロジ情報を参照しつつ、障害箇所を特定する。また、経路制御判断部３３は、ネットワーク構成ＤＢ３２に格納されているフロー情報を参照することで、障害が発生したフローを特定し、当該フローに対する迂回経路の設定が必要か否かを判断する。経路制御判断部３３は、迂回経路の設定が必要であると判断した場合には、経路探索部３４に迂回が必要なフローの情報を通知する。
【００９０】
経路探索部３４は、経路制御判断部３３が生成した迂回が必要なフローの情報に基づき、発生した障害を回避する迂回経路を探索する。探索した迂回経路に関する情報は、オープンフローメッセージ変換部３５に通知される。
【００９１】
オープンフローメッセージ変換部３５は、経路探索部３４から通知を受けた迂回経路の情報をＦｌｏｗ＿ｍｏｄメッセージに変換し、迂回経路上のオープンフロースイッチ４０に対してＦｌｏｗ＿ｍｏｄメッセージを、通信部３６を使用して送出する。
【００９２】
図１６は、オープンフロースイッチ４０の内部構成の一例を示す図である。
【００９３】
オープンフロースイッチ４０は、通信部４１と、テーブル管理部４２と、テーブルデータベース（テーブルＤＢ）４３と、転送処理部４４と、を含んで構成されている。
【００９４】
通信部４１は、オープンフロースイッチ４０を制御するオープンフローコントローラ３０との通信を実現する手段である。通信部４１は、オープンフロープロトコルを用いてオープンフローコントローラ３０と通信するものとする。
【００９５】
テーブル管理部４２は、テーブルＤＢ４３に保持されているテーブルを管理する手段である。より具体的には、テーブル管理部４２は、オープンフローコントローラ３０から設定されたフローテーブルをテーブルＤＢ４３に登録する。また、テーブル管理部４２は、後述するグループテーブルに対する管理を行う。
【００９６】
テーブルＤＢ４３は、転送処理部４４が受信パケットの処理を行う際に参照するフローテーブル及びグループテーブルを格納可能なデータベースによって構成される。
【００９７】
転送処理部４４は、テーブル検索部１４１と、アクション実行部１４２と、を含んで構成される。テーブル検索部１４１は、テーブルＤＢ４３に格納されたフローテーブルから、受信パケットに適合するマッチフィールドを持つ規則（アクション）を検索する手段である。アクション実行部１４２は、テーブル検索部１４１にて検索された規則のインストラクションフィールドに規定された処理に従ってパケット処理を行う手段である。オープンフロースイッチ４０は、フローテーブル及びグループテーブルに規定された処理に従って、受信パケットを処理することで、オープンフロースイッチ４０間に生じた障害を回復する。
【００９８】
次に、本実施形態の動作例について図面を参照して説明する。なお、図１７は例示であり、本実施形態に係る通信システムの動作は図１７のフローチャートに限定されない。
【００９９】
ステップＳ１１において、オープンフローコントローラ３０の通信部３６は、オープンフロースイッチ４０からＰｏｒｔ＿ｓｔａｔｕｓメッセージを受信する。
【０１００】
ステップＳ１２において、経路制御判断部３３は、Ｐｏｒｔ＿ｓｔａｔｕｓメッセージに含まれるリンクダウンのポート情報を把握する。
【０１０１】
図１８は、Ｐｏｒｔ＿ｓｔａｔｕｓメッセージの一例を示す図である。図１８（ａ）には、オープンフロースイッチ４０のポート構成が示されている。なお、図１８を含む以降の図面において、オープンフローコントローラ３０の記載を省略する。
【０１０２】
各オープンフロースイッチ４０には、オープンフローコントローラ３０により管理されるデータパス識別子が付与されている。例えば、図１８に示すオープンフロースイッチ４０−１には、データパス識別子として０ｘ０ａが与えられ、オープンフロースイッチ４０−２には、データパス識別子として０ｘ０ｂが与えられている（図１８（ｂ）参照）。
【０１０３】
ここで、図１８（ａ）に示すネットワークにおいて、オープンフロースイッチ４０−１及び４０−４の間のフローＦ０１に障害が発生したものとする。その場合、オープンフロースイッチ４０−１及び４０−４のそれぞれが、Ｐｏｒｔ＿ｓｔａｔｕｓメッセージを送出する。つまり、オープンフロースイッチ４０は、リンクダウンしたポート情報をＰｏｒｔ＿ｓｔａｔｕｓメッセージとしてオープンフローコントローラ３０に送出する。図１８（ｃ）は、オープンフロースイッチ４０−１及び４０−４のそれぞれが送出するＰｏｒｔ＿ｓｔａｔｕｓメッセージの一例を示す図である。図１８（ａ）を参照すると、オープンフロースイッチ４０−１及び４０−４のそれぞれのポート２がリンクダウンしているので、これらの情報がオープンフローコントローラ３０に通知される。
【０１０４】
オープンフローコントローラ３０では、自らが管理するデータパス識別子と、Ｐｏｒｔ＿ｓｔａｔｕｓメッセージと、に基づいて、いずれのオープンフロースイッチ４０のポートがリンクダウンしたかを把握する。
【０１０５】
ステップＳ１３において、オープンフローコントローラ３０の経路制御判断部３３は、オープンフロースイッチ４０から送信されるリンクダウンしたポートに関する情報と、ネットワーク構成ＤＢ３２が記憶するトポロジ情報と、に基づいて障害箇所を把握する。
【０１０６】
図１９は、経路制御判断部３３における障害箇所を把握する動作を説明するための図である。経路制御判断部３３は、例えば、図１８（ｃ）に示すＰｏｒｔ＿ｓｔａｔｕｓメッセージを受信すると、データパス識別子として０ｘ０ａが与えられたオープンフロースイッチ４０−１のポート２と、データパス識別子として０ｘ０ｃが与えられたオープンフロースイッチ４０−４のポート２がリンクダウンしていることをトポロジ情報にマッピングする（ネットワーク構成ＤＢ３２のトポロジ情報を更新する）。その結果、オープンフロースイッチ４０−１と４０−４との間に障害が発生していることが把握される。
【０１０７】
ステップＳ１４において、経路制御判断部３３は、更新されたトポロジ情報と、フロー情報と、に基づいて、発生した障害の影響を受けるフローを特定する。なお、障害の影響を受けるフローとは、障害箇所（上記の例では、オープンフロースイッチ４０−１及び４０−４）を通過するフローが該当する。
【０１０８】
ステップＳ１５において、経路制御判断部３３は、障害の影響を受けるフローが１本以下であるか否かを確認する。障害の影響を受けるフローが１本以下であれば（ステップＳ１５、Ｙｅｓ分岐）、オープンフローコントローラ３０は図１７に示す処理を終了する。この場合、各オープンフロースイッチ４０が備えるＯＡＭ機能により、制御プレーンに依存せず、障害の回復が可能である。従って、オープンフローコントローラ３０は、障害回復動作に関与しない。
【０１０９】
図２０は、障害回復にオープンフローコントローラ３０が関与しない場合の動作を説明するための図である。図２０において、現用系のフローに設定されているフローＦ０１が障害の影響を受けるフローである。また、フローＦ０２は、フローＦ０１の予備系のフローである。
【０１１０】
図２０において、オープンフロースイッチ４０−１及び４０−４は、グループテーブルを使用することで、データプレーンでの障害回復（制御プレーンに依存しない障害回復）が可能である。
【０１１１】
図２１は、フローテーブルとグループテーブルの一例を示す図である。図２１（ａ）及び（ｃ）は、それぞれオープンフロースイッチ４０−１及び４０−４が備えるフローテーブルの一例である。図２１（ｂ）及び（ｄ）は、それぞれオープンフロースイッチ４０−１及び４０−４が備えるグループテーブルの一例である。なお、図２１（ａ）及び（ｃ）において、失効条件及び統計情報を記載するフィールドの記載は省略する。
【０１１２】
図２１（ａ）を参照すると、オープンフロースイッチ４０−１のポート４における受信パケットに対する処理はグループテーブルに従うことが記載されている。また、図２１（ｂ）を参照すると、グループテーブルにはアクション及びタイプが指定されている。図２１（ｂ）及び（ｄ）に示す例では、タイプとして「フェイルオーバー（Failover）」が指定されると共に、アクションには監視ポート（生存確認の監視を行うポート）の設定がなされている。例えば、図２１（ｂ）に示すアクション１では、ポート２の生存確認を行い、ポート２の生存が確認できれば、ポート２から受信パケットの転送を行うことが記載されている。なお、ポートの生存確認には、ＯＡＭの信号等が用いられる。
【０１１３】
また、オープンフロースイッチ４０−１及び４０−４には、グループテーブルで指定されるタイプの中でも、「ファストフェイルオーバー（Fast Failover）」が指定されている。この場合には、オープンフロースイッチ４０−１及び４０−４は、アクションを昇順（アクション１、アクション２、・・・）で検索し、最初にポートの生存が確認されたアクションを実行する。図２１（ｂ）に示す例では、ポート２の生存確認がなされず、ポート１の生存が確認されるため、アクション２が実行される。このように、オープンフロースイッチ４０は、ポートのリンクダウンを検出した際に、受信パケットの処理を規定するフローテーブル及びグループテーブルに従い、受信パケットを生存が確認されているポートに転送する。
【０１１４】
なお、図２１に示すグループテーブルを使用した障害の回復は、１：１プロテクションを想定している。しかし、１＋１プロテクションによる障害の回復も可能である。１＋１プロテクションによる障害回復の場合には、送信側のオープンフロースイッチ４０−１におけるグループテーブルのタイプをＡＬＬに設定する。その場合には、受信側の動作には変更が生じない。グループテーブルのタイプにＡＬＬが設定された場合には、グループテーブルに設定されたアクションを同時に実行する。例えば、図２１（ｂ）に示す例では、アクション１及び２が実行され、ポート１及び２に同時にフローを伝送する。その結果、現用系と予備系のフローが同時に伝送され、受信側で２本のフローのいずれか一方を選択する１＋１プロテクションと同等の動作を行うことができる。
【０１１５】
障害の影響を受けたフローが２本以上の場合には（ステップＳ１５、Ｎｏ分岐）、経路制御判断部３３は、現用系フローと、当該現用系に対応する予備系フローと、が共に障害を受けるか否かを確認する（ステップＳ１６）。
【０１１６】
現用系フローと予備系フローとが共に影響を受けた場合（ステップＳ１６、Ｙｅｓ分岐）には、経路探索部３４は、フローの迂回経路を探索し、決定する（ステップＳ１７）。
【０１１７】
ステップＳ１８において、オープンフローメッセージ変換部３５は、経路探索部３４が決定した迂回経路を、Ｆｌｏｗ＿ｍｏｄメッセージに変換する。
【０１１８】
ステップＳ１９において、オープンフローメッセージ変換部３５は、迂回経路上のオープンフロースイッチ４０に、通信部３６を介してＦｌｏｗ＿ｍｏｄメッセージを送出する。
【０１１９】
図２２は、オープンフローコントローラ３０による迂回経路の設定を説明するための図である。図２２に示すフローＦ０１及びＦ０２が、障害の影響を受けるフローとする。経路探索部３４は、現用系フローＦ０１に対する迂回経路としてフローＦ０３を決定する。オープンフローコントローラ３０は、フローＦ０３を実現するためにオープンフロースイッチ４０−１、４０−３及び４０−４に対してＦｌｏｗ＿ｍｏｄメッセージを送出し、それぞれのオープンフロースイッチが備えるフローテーブルを更新する。
【０１２０】
図２３は、Ｆｌｏｗ＿ｍｏｄメッセージにより更新されたテーブルの一例を示す図である。フローＦ０３において、オープンフロースイッチ４０−１は、送信側のスイッチとなる。そのため、オープンフローコントローラ３０は、オープンフロースイッチ４０−１のポート４で受け付けたフローの収容先をポート３に修正するＦｌｏｗ＿ｍｏｄメッセージを送出する（図２３（ａ）参照）。なお、この場合には、オープンフロースイッチ４０−１のフローテーブルには、グループテーブルを参照するアクションを設定しない。ポート１及び２は生存が確認できないポートだからである（図２３（ｂ）参照）。
【０１２１】
フローＦ０３において、オープンフロースイッチ４０−３は、中継用のスイッチとなる。そのため、オープンフローコントローラ３０は、オープンフロースイッチ４０−３のポート１で受け付けたフローの収容先をポート２とするＦｌｏｗ＿ｍｏｄメッセージを送出する（図２３（ｃ）参照）。つまり、新たなフローが、オープンフロースイッチ４０−３を通過するため、フローテーブルに新たな規則を追加するＦｌｏｗ＿ｍｏｄメッセージを送出する。
【０１２２】
フローＦ０３において、オープンフロースイッチ４０−４は、受信側のスイッチとなる。そのため、オープンフローコントローラ３０は、オープンフロースイッチ４０−４のポート３で受け付けたフローの収容先をポート４とするＦｌｏｗ＿ｍｏｄメッセージを送出する（図２３（ｄ）参照）。より具体的には、オープンフロースイッチ４０−４が備えるフローテーブルに新たな条件を追加する。
【０１２３】
また、図２４に示すように、フローＦ０１及びＦ０２が回復した場合に備え（フローの切り戻しを想定し）、フローテーブルを変更するＦｌｏｗ＿ｍｏｄメッセージに加えて、グループテーブルを更新するＧｒｏｕｐ＿ｍｏｄメッセージをオープンフローコントローラ３０が送出してもよい。
【０１２４】
現用系フロー及び予備系フローが共に、障害の影響を受けていない場合（図１７のステップＳ１６、Ｎｏ分岐）には、オープンフローコントローラ３０は、予備系フローを共有している複数の現用系フローが障害の影響を受けたか否かを確認する（ステップＳ２０）。
【０１２５】
複数の現用系フローが障害の影響を受けている場合（ステップＳ２０、Ｙｅｓ分岐）には、１本のフローに限り、予備系パスを伝送できるとすれば、他のフローに関しては迂回経路を探索する必要がある。従って、予備系フローを共有している複数の現用系フローが障害の影響を受けた場合には（ステップＳ２０、Ｙｅｓ分岐）、オープンフローコントローラ３０は、ステップＳ１７〜Ｓ１９において説明した動作を行う。
【０１２６】
また、複数の現用系フローが障害の影響を受けていない場合（ステップＳ２０、Ｎｏ分岐）には、オープンフローコントローラ３０は動作を終了する。つまり、このような場合には、ステップＳ１５と同様に、データプレーンのＯＡＭ機能により、制御プレーンに依存しない障害の回復が可能であるため、オープンフローコントローラ３０は障害の回復動作に関与しない。
【０１２７】
以上のように、本実施形態に係る通信システムにおいては、制御プレーンとしてオープンフローを採用し、オープンフロースイッチ４０からのメッセージに基づいて、障害の回復が必要か否かを迅速に判断する。そのため、ＯＡＭ機能を用いたデータプレーンでの高速な障害回復をサポートしつつ、オープンフローにより多重障害に対しても確実に対応することができる。
【０１２８】
上記の実施形態の一部又は全部は、以下のようにも記載され得るが、以下には限られない。
【０１２９】
［形態１］
上述の第１の視点に係る通信システムのとおりである。
［形態２］
前記制御装置は、
前記ネットワークの構成に関する情報として、前記ネットワークのトポロジ情報とパス情報を用いて、前記ネットワークに生じた障害を回復するために前記経路制御が必要か否かを判断する形態１の通信システム。
［形態３］
前記制御装置は、
前記複数のノードにより形成されるパスであって、前記ネットワークに生じた障害により影響を受けるパスが１本以下の場合には、前記経路制御を実行しないと判断する形態１又は２の通信システム。
［形態４］
前記制御装置は、
前記複数のノードにより形成されるパスであって、現用系パスと現用系パスに対応する予備系パスとが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する形態１乃至３のいずれか一に記載の通信システム。
［形態５］
前記制御装置は、
前記複数のノードにより形成されるパスであって、予備系パスを共有する複数の現用系パスが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する形態１乃至４のいずれか一に記載の通信システム。
［形態６］
前記制御装置は、
前記経路制御が必要と判断した場合に、前記ネットワークに関する情報に基づいて、前記ネットワークに生じた障害を回避するパスを探索する形態１乃至５のいずれか一に記載の通信システム。
［形態７］
前記複数のノードのそれぞれは、パケットを処理するための処理規則を要求し、
前記制御装置は、前記要求に応じて、受信したパケットを処理するための処理規則を作成し、作成した処理規則を前記複数のノードの少なくとも１つに通知する形態１乃至６のいずれか一に記載の通信システム。
［形態８］
前記複数のノードのそれぞれは、ポートのリンクダウンを検出したことに応じて、受信したパケットの処理を規定するフローテーブル及びグループテーブルに従い、前記受信したパケットを前記リンクダウンしたポート以外のポートに転送する形態１乃至７のいずれか一に記載の通信システム。
［形態９］
上述の第２の視点に係る制御装置のとおりである。
［形態１０］
前記経路制御判断部は、
前記ネットワークの構成に関する情報として、前記ネットワークのトポロジ情報とパス情報を用いて、前記ネットワークに生じた障害を回復するために前記経路制御を実行するか否かを判断する形態９の制御装置。
［形態１１］
前記経路制御判断部は、
複数の前記ノードにより形成されるパスであって、前記ネットワークに生じた障害により影響を受けるパスが１本以下の場合には、前記経路制御を実行しないと判断する形態９又は１０の制御装置。
［形態１２］
前記経路制御判断部は、
複数の前記ノードにより形成されるパスであって、現用系パスと現用系パスに対応する予備系パスとが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する形態９乃至１１のいずれか一に記載の制御装置。
［形態１３］
前記経路制御判断部は、
複数の前記ノードにより形成されるパスであって、予備系パスを共有する複数の現用系パスが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する形態９乃至１２のいずれか一に記載の制御装置。
［形態１４］
前記経路制御判断部により、前記経路制御を実行すると判断された場合に、前記ネットワークに関する情報に基づいて、前記ネットワークに生じた障害を回避するパスを探索する経路探索部を備える形態９乃至１３のいずれか一に記載の制御装置。
［形態１５］
上述の第３の視点に係る制御装置の制御方法のとおりである。
［形態１６］
前記経路制御の要否を判断する工程は、
前記ネットワークの構成に関する情報として、前記ネットワークのトポロジ情報とパス情報を用いて、前記ネットワークに生じた障害を回復するために前記経路制御を実行するか否かを判断する形態１５の制御装置の制御方法。
［形態１７］
前記経路制御の要否を判断する工程は、
複数の前記ノードにより形成されるパスであって、前記ネットワークに生じた障害により影響を受けるパスが１本以下の場合には、前記経路制御を実行しないと判断する形態１５又は１６の制御装置の制御方法。
［形態１８］
前記経路制御の要否を判断する工程は、
複数の前記ノードにより形成されるパスであって、現用系パスと現用系パスに対応する予備系パスとが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する形態１５乃至１７のいずれか一に記載の制御装置の制御方法。
［形態１９］
前記経路制御の要否を判断する工程は、
複数の前記ノードにより形成されるパスであって、予備系パスを共有する複数の現用系パスが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する形態１５乃至１８のいずれか一に記載の制御装置の制御方法。
［形態２０］
前記経路制御の要否を判断する工程により、前記経路制御を実行すると判断された場合に、前記ネットワークに関する情報に基づいて、前記ネットワークに生じた障害を回避するパスを探索する工程を含む形態１５乃至１９のいずれか一に記載の制御装置の制御方法。
［形態２１］
上述の第４の視点に係るプログラムのとおりである。
［形態２２］
前記経路制御の要否を判断する処理は、
前記ネットワークの構成に関する情報として、前記ネットワークのトポロジ情報とパス情報を用いて、前記ネットワークに生じた障害を回復するために前記経路制御を実行するか否かを判断する形態２１のプログラム。
［形態２３］
前記経路制御の要否を判断する処理は、
複数の前記ノードにより形成されるパスであって、前記ネットワークに生じた障害により影響を受けるパスが１本以下の場合には、前記経路制御を実行しないと判断する形態２１又は２２のプログラム。
［形態２４］
前記経路制御の要否を判断する処理は、
複数の前記ノードにより形成されるパスであって、現用系パスと現用系パスに対応する予備系パスとが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する形態２１乃至２３のいずれか一に記載のプログラム。
［形態２５］
前記経路制御の要否を判断する処理は、
複数の前記ノードにより形成されるパスであって、予備系パスを共有する複数の現用系パスが、前記ネットワークに生じた障害により影響を受けるパスである場合には、前記経路制御を実行すると判断する形態２１乃至２４のいずれか一に記載のプログラム。
［形態２６］
前記経路制御の要否を判断する処理により、前記経路制御を実行すると判断された場合に、前記ネットワークに関する情報に基づいて、前記ネットワークに生じた障害を回避するパスを探索する処理を実行させる形態２１乃至２５のいずれか一に記載のプログラム。
【０１３０】
なお、引用した上記の特許文献の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１３１】
１０、１０−１〜１０−５、１００  ノード
２０、２０ａ、１０１  制御装置
２１、３１  ネットワーク構成管理部
２２、３２  ネットワーク構成データベース（ネットワーク構成ＤＢ）
２３、２３ａ、３３  経路制御判断部
２４、３６、４１  通信部
２５、３４  経路探索部
３０  オープンフローコントローラ
３５  オープンフローメッセージ変換部
４０、４０−１〜４０−４  オープンフロースイッチ
４２  テーブル管理部
４３  テーブルデータベース（テーブルＤＢ）
４４  転送処理部
１４１  テーブル検索部
１４２  アクション実行部
【図１】
2014077313.tif 000003
【図２】
2014077313.tif 000004
【図３】
2014077313.tif 000005
【図４】
2014077313.tif 000006
【図５】
2014077313.tif 000007
【図６】
2014077313.tif 000008
【図７】
2014077313.tif 000009
【図８】
2014077313.tif 000010
【図９】
2014077313.tif 000011
【図１０】
2014077313.tif 000012
【図１１】
2014077313.tif 000013
【図１２】
2014077313.tif 000014
【図１３】
2014077313.tif 000015
【図１４】
2014077313.tif 000016
【図１５】
2014077313.tif 000017
【図１６】
2014077313.tif 000018
【図１７】
2014077313.tif 000019
【図１８】
2014077313.tif 000020
【図１９】
2014077313.tif 000021
【図２０】
2014077313.tif 000022
【図２１】
2014077313.tif 000023
【図２２】
2014077313.tif 000024
【図２３】
2014077313.tif 000025
【図２４】
2014077313.tif 000026
【国際調査報告】
2014077313.tif 000027
2014077313.tif 000028
2014077313.tif 000029