(57)【要約】  オープンフローネットワークと通常のネットワークの境界において、コントローラとの通信障害の発生時に、経路が適切に切り替えられない。本発明では、コントローラは、複数の内部スイッチの各々に対してフローテーブルの更新を行い、複数の内部スイッチにより形成される経路を最適経路にする。複数の内部スイッチのうち内部スイッチＡは、外部スイッチと最適経路を形成し、現用系の内部スイッチとなる。複数の内部スイッチのうち内部スイッチＢは、外部スイッチと冗長経路を形成し、待機系の内部スイッチとなる。内部スイッチＡは、コントローラと内部スイッチＡとの接続ができなくなったことを検知した際に、外部スイッチと接続するポートのリンクダウンを実施する。外部スイッチは、内部スイッチＡと接続するポートのリンクダウンを検知した際に、経路の切り替えを行い、現用系の内部スイッチＡへのトラヒックを、待機系の内部スイッチＢに転送する。
2012165446.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに配置された複数のスイッチと、
前記複数のスイッチの各々に対する経路制御を行うコントローラと、
前記ネットワークの外側に存在し、前記複数のスイッチのうち現用系のスイッチと接続する外部通信装置と
を含み、
前記現用系のスイッチは、前記コントローラとの通信タイムアウトを検知した場合、前記外部通信装置との接続に使用するポートのリンクダウンを実施し、
前記コントローラは、前記現用系のスイッチとの通信タイムアウトを検知した場合、前記現用系のスイッチを前記ネットワークから切り離し、前記複数のスイッチのうち待機系のスイッチを経由する経路へ切り替える経路制御を実施し、
前記外部通信装置は、前記現用系のスイッチとの接続に使用するポートのリンクダウンを検知した場合、前記現用系のスイッチに送信していたトラヒックを、前記待機系のスイッチ及び前記ネットワークの外側に存在するスイッチのいずれかに送信する
通信経路制御システム。
【請求項２】
請求項１に記載の通信経路制御システムであって、
前記現用系のスイッチは、リンクダウンを実施するポートを予め決めておき、前記コントローラとの通信タイムアウトを検知した場合、予め決められたポートの有無を確認し、予め決められたポートが存在する場合、当該ポートのリンクダウンを実施する
通信経路制御システム。
【請求項３】
請求項１に記載の通信経路制御システムであって、
前記現用系のスイッチは、前記複数のスイッチの各々と相互に接続しており、前記コントローラとの通信タイムアウトを検知した場合、前記複数のスイッチの各々との接続に使用するポートのリンクダウンを実施し、
前記複数のスイッチの各々は、前記現用系のスイッチとの接続に使用するポートのリンクダウンを検知した場合、前記コントローラとの接続状態を確認し、前記コントローラとの接続状態が正常であれば、前記コントローラに対して経路制御を要求して新たな最適経路を設定し、前記コントローラとの接続状態が正常でなければ、前記コントローラとの通信タイムアウトを検知する
通信経路制御システム。
【請求項４】
請求項１に記載の通信経路制御システムであって、
前記現用系のスイッチは、前記外部通信装置と無線アクセス方式で接続する場合、前記コントローラとの通信タイムアウトを検知した際に停波を実施して、前記外部通信装置との接続に使用するポートのリンクダウンを実施する
通信経路制御システム。
【請求項５】
請求項１乃至４のいずれか一項に記載の通信経路制御システムで、スイッチ、コントローラ、及び外部通信装置のいずれかとして使用される計算機。
【請求項６】
コントローラが、ネットワークに配置された複数のスイッチの各々に対する経路制御を行うことと、
前記ネットワークの外側に存在する外部通信装置が、前記複数のスイッチのうち現用系のスイッチと接続することと、
前記現用系のスイッチが、前記コントローラとの通信タイムアウトを検知した場合、前記外部通信装置との接続に使用するポートのリンクダウンを実施することと、
前記コントローラが、前記現用系のスイッチとの通信タイムアウトを検知した場合、前記現用系のスイッチを前記ネットワークから切り離し、前記複数のスイッチのうち待機系のスイッチを経由する経路へ切り替える経路制御を実施することと、
前記外部通信装置が、前記現用系のスイッチとの接続に使用するポートのリンクダウンを検知した場合、前記現用系のスイッチに送信していたトラヒックを、前記待機系のスイッチ及び前記ネットワークの外側に存在するスイッチのいずれかに送信することと
を含む
通信経路制御方法。
【請求項７】
請求項６に記載の通信経路制御方法であって、
前記現用系のスイッチが、
リンクダウンを実施するポートを予め決めておき、前記コントローラとの通信タイムアウトを検知した場合、予め決められたポートの有無を確認することと、
予め決められたポートが存在する場合、当該ポートのリンクダウンを実施すること
を更に含む
通信経路制御方法。
【請求項８】
請求項６に記載の通信経路制御方法であって、
前記現用系のスイッチが、
前記複数のスイッチの各々と相互に接続することと、
前記コントローラとの通信タイムアウトを検知した場合、前記複数のスイッチの各々との接続に使用するポートのリンクダウンを実施することと、
前記複数のスイッチの各々が、
前記現用系のスイッチとの接続に使用するポートのリンクダウンを検知した場合、前記コントローラとの接続状態を確認することと、
前記コントローラとの接続状態が正常であれば、前記コントローラに対して経路制御を要求して新たな最適経路を設定することと、
前記コントローラとの接続状態が正常でなければ、前記コントローラとの通信タイムアウトを検知することと
を更に含む
通信経路制御方法。
【請求項９】
請求項６に記載の通信経路制御方法であって、
前記現用系のスイッチが、前記外部通信装置と無線アクセス方式で接続する場合、前記コントローラとの通信タイムアウトを検知した際に停波を実施して、前記外部通信装置との接続に使用するポートのリンクダウンを実施すること
を更に含む
通信経路制御方法。
【請求項１０】
請求項６乃至９のいずれか一項に記載の通信経路制御方法における処理を、スイッチ、コントローラ、及び外部通信装置のいずれかとして使用される計算機に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信経路制御システムに関し、特にスイッチノードの通信経路の制御を行う通信経路制御システムに関する。
【背景技術】
【０００２】
従来のネットワーク機器は、外部から負荷分散や片寄等、柔軟性に富んだ制御ができないという問題があった。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更には多大なコストを伴うことが問題であった。【０００３】
こうした課題を解決するための技術として、ネットワーク機器のパケット転送機能と経路制御機能を分離する手法が考えられている。例えば、パケット転送機能をネットワーク機器が担当し、制御機能をネットワーク機器の外部に分離した制御装置が担当することで、制御装置がパケットの転送を集中して管理することができ、柔軟性に富んだネットワークを構築することが可能になる【０００４】
［ＣＤ分離型ネットワークの説明］
機能を分離した集中管理型のネットワークの１つとして、コントロールプレーン側の制御装置からデータプレーン側のノード装置を制御するＣＤ（Ｃ：コントロールプレーン／Ｄ：データプレーン）分離型ネットワークが提案されている。【０００５】
ＣＤ分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー（ＯｐｅｎＦｌｏｗ）技術を利用したオープンフローネットワークが挙げられる。オープンフロー技術の詳細については、非特許文献１に記載されている。なお、オープンフローネットワークは一例に過ぎない。【０００６】
［オープンフローネットワークの説明］
オープンフローネットワークでは、制御装置に相当するオープンフローコントローラ（ＯＦＣ：ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）が、ノード装置に相当するオープンフロースイッチ（ＯＦＳ：ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ）の経路制御に関するフローテーブル（Ｆｌｏｗ  ｔａｂｌｅ）を操作することにより、オープンフロースイッチ（ＯＦＳ）の挙動を制御する。【０００７】
以下、記載の簡略化のため、オープンフローコントローラ（ＯＦＣ）を「コントローラ」と表記し、オープンフロースイッチ（ＯＦＳ）を「スイッチ」と表記する。【０００８】
コントローラとスイッチの間は、専用線やＳＳＬ（ＳｅｃｕｒｅＳｏｃｋｅｔＬａｙｅｒ）等により保護された通信路である「セキュアチャンネル」（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）と呼ばれる制御チャネル（制御用の通信チャネル）により接続されている。コントローラとスイッチとは、制御チャネルを介して、オープンフロープロトコル（ＯｐｅｎＦｌｏｗ  Ｐｒｏｔｏｃｏｌ）に則った（準拠した）制御メッセージであるオープンフローメッセージ（ＯｐｅｎＦｌｏｗ  Ｍｅｓｓａｇｅ）を送受信する。【０００９】
オープンフローネットワークにおけるスイッチとは、オープンフローネットワークに配置され、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入口側エッジスイッチ（Ｉｎｇｒｅｓｓ）でのパケット（ｐａｃｋｅｔ）の受信から出口側エッジスイッチ（Ｅｇｒｅｓｓ）での送信までのパケットの一連の流れをフロー（Ｆｌｏｗ）と呼ぶ。オープンフローネットワークでは、通信をエンドツーエンド（Ｅ２Ｅ：Ｅｎｄ  ｔｏ  Ｅｎｄ）のフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。【００１０】
パケットは、フレーム（ｆｒａｍｅ）と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位（ＰＤＵ：Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）の違いに過ぎない。パケットは、「ＴＣＰ／ＩＰ」（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のＰＤＵである。一方、フレームは、「イーサネット（登録商標）」（Ｅｔｈｅｒｎｅｔ）のＰＤＵである。【００１１】
フローテーブルとは、フローとして扱うパケットを特定するための判別条件（ルール）と、パケットがルールに適合（マッチ）した回数を示す統計情報と、パケットに対して行うべき処理内容（アクション）の組を定義したフローエントリ（Ｆｌｏｗ  ｅｎｔｒｙ）の集合である。【００１２】
フローエントリのルールは、パケットのヘッダ領域（フィールド）に含まれる各プロトコル階層の情報のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。各プロトコル階層の情報の例として、送信先アドレス（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ）、送信元アドレス（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ）、送信先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）、送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）等が考えられる。なお、上記のアドレスには、ＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）やＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）を含むものとする。また、上記に加えて、入口ポート（Ｉｎｇｒｅｓｓ  Ｐｏｒｔ）の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローとして扱うパケットのヘッダ領域の値の一部（又は全部）を、正規表現やワイルドカード「＊」等で表現したものを設定することもできる。【００１３】
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報（出力ポート番号等）が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを廃棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。【００１４】
スイッチは、フローエントリのルールに適合するパケット群（パケット系列）に対して、フローエントリのアクションを実行する。具体的には、スイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルールを持つフローエントリを検索する。検索の結果、受信パケットのヘッダ情報に適合するルールを持つフローエントリが見つかった場合、当該フローエントリの統計情報を更新すると共に、受信パケットに対して、当該フローエントリのアクションとして指定された動作を実施する。一方、検索の結果、受信パケットのヘッダ情報に適合するルールを持つフローエントリが見つからなかった場合、当該受信パケットを最初のパケット（ｆｉｒｓｔ  ｐａｃｋｅｔ）と判断し、制御チャネルを介して、オープンフローネットワークにおけるコントローラに対して、受信パケット（又はそのコピー）を転送し、受信パケットの送信元・送信先（宛先）等に基づいたパケットの経路計算を要求し、応答としてフローエントリの設定用メッセージを受信し、フローテーブルを更新する。【００１５】
なお、フローテーブルには、低い優先度で、全てのパケットのヘッダ情報に適合するルールを持つデフォルトエントリが登録されている。受信パケットに適合するフローエントリが他に見つからなかった場合、受信パケットは、このデフォルトエントリに適合する。デフォルトエントリのアクションは、「コントローラへの当該受信パケットの問い合わせ情報の送信」である。【００１６】
［従来のオープンフローネットワークの例示］
図１を参照して、従来のオープンフローネットワークについて説明する。ここでは、内部スイッチが４台である場合を例に説明する。【００１７】
図１に示すように、従来のオープンフローネットワークは、内部スイッチ１〜４と、コントローラ５と、外部スイッチ６と、端末７と、サーバ８を含む。【００１８】
内部スイッチとは、オープンフローネットワークに配置され、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。外部スイッチとは、オープンフローネットワークの外側（オープンフローネットワーク以外のネットワーク）に存在し、コントローラの制御下にないスイッチのことである。【００１９】
内部スイッチ１〜４の各々は、コントローラ５と、オープンフロープロトコルに準拠した制御メッセージを送受信するためのセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）により接続されている。内部スイッチ１は、外部スイッチ６と接続する。内部スイッチ２は、内部スイッチ１の冗長経路（予備の経路、迂回経路）として外部スイッチ６と接続する。内部スイッチ３は、内部スイッチ１及びサーバ８等と接続する。内部スイッチ４は、内部スイッチ２及びサーバ８等と接続する。コントローラ５は、内部スイッチ１〜４の経路を制御し、最適経路を設定する。外部スイッチ６は、端末７と接続する。端末７は、外部スイッチ６及び内部スイッチ１〜４を介してサーバ８と通信を行う。外部スイッチ６及び端末７は、いずれもオープンフローネットワークの外側に存在する外部通信装置に相当する。【００２０】
［従来のオープンフローネットワークの課題］
従来のオープンフローネットワークにおいては、次のような課題がある。【００２１】
第１の課題は、コントローラと内部スイッチ１との通信ができなくなった場合、内部スイッチ１は通信が切れる前の経路情報で通信を継続するため、コントローラの制御と実際の通信との不一致が発生し、制御ができないということである。【００２２】
第２の課題は、内部スイッチ１とコントローラとの通信ができなくなった場合のため、内部スイッチと外部スイッチには、新しい経路設定ができないということである。【００２３】
すなわち、オープンフローネットワークのようなＣＤ分離型ネットワークにおいては、内部スイッチとコントローラとの通信障害が発生した場合、コントローラは、コントローラと通信できない内部スイッチを経路制御の対象から外し、他の内部スイッチを用いた経路選択を行うよう切り替えるが、外部スイッチは、その通信障害を検知し、対応することができなかった。【００２４】
そのため、障害の発生した内部スイッチに接続する外部スイッチからのトラヒックに対しては、障害発生前の経路情報に従って経路制御を行うことになるため、コントローラとの通信が復旧するまで最適な経路制御が不可能であった。なお、トラヒックとは、ネットワーク上を移動するデジタルデータ（パケット）のことである。
【先行技術文献】
【非特許文献】
【００２５】
【非特許文献１】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｖｅｒｓｉｏｎ  １．０．０”，［ｏｎｌｉｎｅ］，Ｄｅｃｅｍｂｅｒ  ３１，２００９，［２０１１年５月１６日検索］，インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ）
【発明の概要】
【００２６】
本発明の目的は、ＣＤ分離型ネットワーク上で、内部スイッチとコントローラとの通信に障害が発生した場合に、ＣＤ分離型ネットワークに配置された内部スイッチにおいて、ＣＤ分離型ネットワークの外側に存在する外部通信装置との接続に使用するポート（ＶＬＡＮポート、物理ポート等）のリンクダウン（ｌｉｎｋｄｏｗｎ）を実施し、外部からの冗長経路への切り替えを可能にする通信経路制御システムを提供することである。
【００２７】
本発明に係る通信経路制御システムは、ネットワークに配置された複数のスイッチと、該複数のスイッチの各々に対する経路制御を行うコントローラと、該ネットワークの外側に存在し、該複数のスイッチのうち現用系のスイッチと接続する外部通信装置とを含む。該現用系のスイッチは、該コントローラとの通信タイムアウトを検知した場合、該外部通信装置との接続に使用するポートのリンクダウンを実施する。該コントローラは、該現用系のスイッチとの通信タイムアウトを検知した場合、該現用系のスイッチを該ネットワークから切り離し、該複数のスイッチのうち待機系のスイッチを経由する経路へ切り替える経路制御を実施する。該外部通信装置は、該現用系のスイッチとの接続に使用するポートのリンクダウンを検知した場合、該現用系のスイッチに送信していたトラヒックを、該待機系のスイッチ及び前記ネットワークの外側に存在するスイッチのいずれかに送信する。
【００２８】
本発明に係る通信経路制御方法では、コントローラにおいて、ネットワークに配置された複数のスイッチの各々に対する経路制御を行う。また、該ネットワークの外側に存在する外部通信装置において、該複数のスイッチのうち現用系のスイッチと接続する。また、該現用系のスイッチにおいて、該コントローラとの通信タイムアウトを検知した場合、該外部通信装置との接続に使用するポートのリンクダウンを実施する。また、該コントローラにおいて、該現用系のスイッチとの通信タイムアウトを検知した場合、該現用系のスイッチを該ネットワークから切り離し、該複数のスイッチのうち待機系のスイッチを経由する経路へ切り替える経路制御を実施する。また、該外部通信装置において、該現用系のスイッチとの接続に使用するポートのリンクダウンを検知した場合、該現用系のスイッチに送信していたトラヒックを、該待機系のスイッチ及び前記ネットワークの外側に存在するスイッチのいずれかに送信する。
【００２９】
本発明に係るプログラムは、上記の通信経路制御方法における処理を、上記のスイッチ、コントローラ、及び外部通信装置のいずれかとして使用される計算機（スイッチ、サーバ等を含む）に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
【００３０】
これにより、内部スイッチとコントローラとの通信に障害が発生した場合に、内部スイッチと外部通信装置の両方において、現在の経路から冗長経路への切り替えができるようになる。
【図面の簡単な説明】
【００３１】
【図１】従来のオープンフローネットワークの構成例について説明するための図である。
【図２】本発明の第１実施形態に係る通信経路制御システムの構成例について説明するための図である。
【図３】本発明の第１実施形態に係る通信経路制御システムの動作について説明するための図である。
【図４】本発明の第１実施形態に係る内部スイッチの構成例について説明するための図である。
【図５】本発明の第１実施形態に係るコントローラの構成例について説明するための図である。
【図６】本発明の第１実施形態に係る外部スイッチの構成例について説明するための図である。
【図７】本発明の第２実施形態に係る通信経路制御システムの構成例について説明するための図である。
【発明を実施するための形態】
【００３２】
本発明は、ＣＤ分離型ネットワークを対象としている。ここでは、ＣＤ分離型ネットワークの１つであるオープンフローネットワークを例に説明する。但し、実際には、オープンフローネットワークに限定されない。
【００３３】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
【００３４】
［システム構成］
図２に示すように、本発明の第１実施形態に係る通信経路制御システムは、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ：ｎは任意）と、コントローラ２０と、外部スイッチ３０と、端末４０と、サーバ５０を含む。
【００３５】
内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）は、オープンフローネットワークに配置されたエッジスイッチ又はコアスイッチである。
【００３６】
ここでは、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）が４台である場合（ｎ＝４）を例に説明する。内部スイッチ１０−１〜１０−４の各々は、コントローラ２０と、オープンフロープロトコルに準拠した制御メッセージを送受信するためのセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）により接続されている。内部スイッチ１０−１は、外部スイッチ３０と接続する。内部スイッチ１０−２は、内部スイッチ１０−１の冗長経路として外部スイッチ３０と接続する。すなわち、内部スイッチ１０−１は現用系（主系、本番系）であり、内部スイッチ１０−２は待機系（従系、予備系）である。内部スイッチ１０−３は、内部スイッチ１０−１及びサーバ５０等と接続する。内部スイッチ１０−４は、内部スイッチ１０−２及びサーバ５０等と接続する。但し、実際には、内部スイッチ１０−１〜１０−４の各々は、相互に接続されていても良い。図１に示した実線による接続は、最適経路と冗長経路の例を示したものに過ぎない。
【００３７】
コントローラ２０は、内部スイッチ１０−１〜１０−４の経路を制御し、最適経路を設定する。
【００３８】
外部スイッチ３０は、オープンフローネットワークの外側に存在するスイッチである。外部スイッチ３０は、端末４０と接続する。
【００３９】
端末４０は、外部スイッチ３０及び内部スイッチ１０−１〜１０−４を介してサーバ５０と通信を行う。
【００４０】
外部スイッチ３０及び端末４０は、いずれもオープンフローネットワークの外側に存在する外部通信装置に相当する。
【００４１】
ここでは、外部スイッチ３０は、内部スイッチ１０−１、内部スイッチ１０−２とリンクアグリゲーション（ｌｉｎｋ  ａｇｇｒｅｇａｔｉｏｎ）等を用いて接続され、冗長経路を形成している。なお、リンクアグリゲーションとは、複数の回線を仮想的に１本の回線と見なすことで、通信速度及び耐故障性を向上させる技術のことである。
【００４２】
また、コントローラ２０は、外部スイッチ３０の経路を直接制御することはできない。
【００４３】
［障害発生時の動作］
次に、図３を参照して、内部スイッチ１０−１の障害発生時の動作について説明する。
【００４４】
（１）ステップＳ１０１
内部スイッチ１０−１は、コントローラ２０との通信タイムアウト（ｔｉｍｅ  ｏｕｔ：時間切れ）を検知した際に、外部スイッチ３０との接続に使用するポート（ＶＬＡＮポート、物理ポート等）のリンクダウン（ｌｉｎｋｄｏｗｎ）を実施する。また、内部スイッチ１０−１は、外部スイッチ３０との接続に使用するポートと同様に、内部スイッチ間の接続に使用するポートのリンクダウンを実施するようにすることも可能である。
【００４５】
通信タイムアウトとは、データ転送等に時間がかかりすぎる時に、途中で打ち切って終了することである。リンクダウンとは、通信の第二層となるデータリンク層で通信できない状態を指す。すなわち、リンクダウンの実施とは、ハードウェア制御／ソフトウェア制御による電子的／物理的なポートの閉鎖や、該ポートからの信号出力の停止等により、リンクを切断し、通信できない状態にすることを指す。
【００４６】
（２）ステップＳ１０２
コントローラ２０は、内部スイッチ１０−１との通信タイムアウトを検知した際に、内部スイッチ１０−１を経由しない最適経路を計算し、経路の切り替えを行うためのフローテーブルの更新を行い、内部スイッチ１０−１をオープンフローネットワークから切り離し、内部スイッチ１０−２〜１０−４に対して、内部スイッチ１０−１を経由しない最適経路を設定する。
【００４７】
フローテーブルの更新とは、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）のフローテーブルに対して、フローエントリの新規登録／変更／削除等を行うことである。コントローラ２０は、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）の各々に対して、制御メッセージを送信してフローテーブルを更新し、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）の各々のトラヒックの出力ポート及び転送先に関する情報を変更する。
【００４８】
（３）ステップＳ１０３
外部スイッチ３０は、内部スイッチ１０−１との接続に使用するポートのリンクダウンを検知し、内部スイッチ１０−１に転送していたトラヒックを内部スイッチ１０−２に転送するように、経路を切り替える。なお、実際には、外部スイッチ３０は、内部スイッチ１０−１に転送していたトラヒックを、他のネットワーク上のスイッチに転送するように、経路を切り替えても良い。他のネットワーク上のスイッチの例として、他のオープンフローネットワークに配置された内部スイッチ（コントローラ２０以外のコントローラにより経路制御される内部スイッチ）や、他の外部スイッチ等が考えられる。
【００４９】
［内部スイッチの動作の詳細］
内部スイッチの動作（図３のステップＳ１０１）の詳細について説明する。
【００５０】
内部スイッチ１０−１は、緊急用テーブル（Ｅｍｅｒｇｅｎｃｙ  ｔａｂｌｅ）に、リンクダウンを実施するポートを予め登録しておく。ここでは、内部スイッチ１０−１は、緊急用テーブルに、リンクダウンを実施するポートとして、外部スイッチ３０との接続に使用するポートを予め登録しておく。なお、内部スイッチ１０−１は、コントローラ２０からの制御により、緊急用テーブルへのポートの登録を行うようにしても良い。
【００５１】
内部スイッチ１０−１は、コントローラ２０との通信タイムアウト（ｔｉｍｅ  ｏｕｔ：時間切れ）を検知した際に、コントローラ２０自体又はコントローラ２０との通信回線の障害発生と判断し、緊急用テーブルを参照し、予め登録されたポートの有無を確認する
【００５２】
内部スイッチ１０−１は、予め登録されたポートが存在する場合、当該ポートのリンクダウンを実施する。反対に、内部スイッチ１０−１は、予め登録されたポートが存在しない場合、ポートのリンクダウンを実施しない。
【００５３】
なお、実際には、内部スイッチ１０−１は、予め登録されたポートが存在する場合に、予め登録されたポートが外部スイッチ３０との接続に使用するポートであるか確認するようにすることも可能である。例えば、内部スイッチ１０−１は、予め登録されたポートを確認し、外部スイッチ３０との接続に使用中であるか確認する。
【００５４】
この例では、内部スイッチ１０−１は、予め登録されたポートが外部スイッチ３０との接続に使用するポートである場合、当該ポートのリンクダウンを実施する。反対に、内部スイッチ１０−１は、予め登録されたポートが存在しても外部スイッチ３０との接続に使用するポートでない場合、ポートのリンクダウンを実施しない。
【００５５】
更に、内部スイッチ１０−１は、フローテーブルを参照し、外部スイッチ３０向け及び外部スイッチ３０からのトラヒックの転送経路を示す経路情報（フローエントリ等）を消去（クリア）する。例えば、内部スイッチ１０−１は、フローテーブルを初期化する。
【００５６】
なお、経路情報の消去（フローテーブルの初期化等）は、外部スイッチ３０との接続中の経路消失を回避するために、ポートのリンクダウンの実施に関する処理が完了した後であると好適である。
【００５７】
また、内部スイッチ１０−１は、必要に応じて、内部スイッチ１０−２〜内部スイッチ１０−４との接続に使用するポートのリンクダウンを実施することも可能である。例えば、内部スイッチ１０−１は、緊急用テーブルに、リンクダウンを実施するポートとして、内部スイッチ１０−２〜内部スイッチ１０−４との接続に使用するポートを予め登録しておくことで、内部スイッチ１０−２〜内部スイッチ１０−４との接続に使用するポートのリンクダウンを実施できる。
【００５８】
上記の例では、内部スイッチ１０−２〜内部スイッチ１０−４の各々は、内部スイッチ１０−１との接続に使用するポートのリンクダウンを検知した際に、自機とコントローラ２０との接続状態を確認し、自機とコントローラ２０との接続状態が正常であれば、コントローラ２０に対して経路制御を要求して新たな最適経路を設定するようにしても良い。内部スイッチ１０−２〜内部スイッチ１０−４の各々は、自機とコントローラ２０との接続状態が正常でなければ、コントローラ２０との通信タイムアウトを検知することになるため、上記の内部スイッチ１０−１と同様の処理を行うことになる。
【００５９】
［コントローラの動作の詳細］
コントローラの動作（図３のステップＳ１０２）の詳細について説明する。
【００６０】
コントローラ２０は、内部スイッチ１０−１との通信タイムアウトを検知した際に、内部スイッチ１０−１自体又は内部スイッチ１０−１との通信回線の障害発生と判断し、内部スイッチ１０−１を経由しない最適経路を計算する。
【００６１】
コントローラ２０は、経路の切り替えを行うためのフローテーブルの更新を行い、内部スイッチ１０−１をネットワークから切り離し、内部スイッチ１０−２〜１０−４に対して、最適経路を設定する。このとき、内部スイッチ１０−２〜１０−４は、コントローラ２０からの最適経路の設定に従い、フローテーブルに、トラヒックを最適経路に転送する旨のフローエントリを登録し、最適経路へのトラヒック転送を開始する。
【００６２】
［外部スイッチの動作の詳細］
外部スイッチの動作（図３のステップＳ１０１）の詳細について説明する。
【００６３】
外部スイッチ３０は、内部スイッチ１０−１との接続に使用するポートのリンクダウンを検知した際に、内部スイッチ１０−１に転送していたトラヒックを他のスイッチ（内部スイッチ１０−２、又は他のネットワーク上のスイッチ）に転送するように、経路を切り替え、トラヒック転送を開始する。
【００６４】
例えば、外部スイッチ３０は、トラヒックの出力ポートを、内部スイッチ１０−１との接続に使用するポートから、他のスイッチとの接続に使用するポートに切り替え、トラヒック転送を開始する。
【００６５】
なお、外部スイッチ３０は、外部スイッチ３０は、内部スイッチ１０−１との接続に使用するポートのリンクダウンを検知した際に、再度、内部スイッチ１０−１との接続を試みるようにしても良い。ステップＳ１０１のような内部スイッチ１０−１の処理によるリンクダウンである場合、内部スイッチ１０−１は、コントローラ２０からの制御を受けておらず、フローテーブルが初期化されているが、正常に稼働しているため、初期設定（デフォルト）の経路情報があれば、当該経路情報を基にトラヒック転送が可能である。
【００６６】
この場合、外部スイッチ３０は、内部スイッチ１０−１との再接続が不可能であれば（例えば、所定の回数の再接続要求にも応答がない場合）、内部スイッチ１０−１に転送していたトラヒックを他のスイッチに転送するように、経路を切り替え、トラヒック転送を開始する。
【００６７】
［内部スイッチの構成］
次に、図４を参照して、内部スイッチの構成例について説明する。
【００６８】
内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）の各々は、フローテーブル管理部１１と、転送処理部１２と、通信タイムアウト検知部１３と、リンクダウン実行部１４を備える。
【００６９】
フローテーブル管理部１１は、コントローラ２０から、セキュアチャネルを介して、オープンフロープロトコルに準拠した制御メッセージを受信し、当該制御メッセージの内容に基づいて、自機のフローテーブルにフローエントリを登録する。
【００７０】
転送処理部１２は、自機のフローテーブルに登録されたフローエントリに従って、受信パケットを処理する。
【００７１】
通信タイムアウト検知部１３は、コントローラ２０と接続されたセキュアチャネルを監視し、コントローラ２０との通信タイムアウトを検知する。
【００７２】
リンクダウン実行部１４は、自機に外部スイッチ３０との接続に使用するポートが存在する場合、コントローラ２０との通信タイムアウトが検知された際に、外部スイッチ３０との接続に使用するポートのリンクダウンを実施する。
【００７３】
［コントローラの構成］
次に、図５を参照して、コントローラの構成例について説明する。
【００７４】
コントローラ２０は、最適経路計算部２１と、経路制御部２２と、通信タイムアウト検知部２３を備える。
【００７５】
最適経路計算部２１は、トポロジ情報（ｔｏｐｏｌｏｇｙ）等に基づき、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）のいずれかを経由する最適経路を算出する。最適経路計算部２１は、現在の経路上の内部スイッチのうち少なくとも１つの内部スイッチとの通信タイムアウトが検知された際、通信タイムアウトが検知された内部スイッチを経由せず、他の内部スイッチを経由する最適経路を算出する。
【００７６】
経路制御部２２は、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）のうち、算出された最適経路上の内部スイッチに対して、セキュアチャネルを介して、オープンフロープロトコルに準拠した制御メッセージを送信してフローテーブルの設定を行う。経路制御部２２は、通信タイムアウトが検知され、最適経路が算出された際、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）のフローテーブルの設定を変更することで、通信タイムアウトが検知された内部スイッチをオープンフローネットワークから切り離し、当該内部スイッチを経由する現在の経路から、他の内部スイッチを経由する最適経路に切り替えるよう、他の内部スイッチに設定する。
【００７７】
通信タイムアウト検知部２３は、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）の各々と接続されたセキュアチャネルを監視し、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）の各々との通信タイムアウトを検知する。
【００７８】
［外部スイッチの構成］
次に、図６を参照して、外部スイッチの構成例について説明する。
【００７９】
外部スイッチ３０は、転送処理部３１と、リンクダウン検知部３２と、経路切替部３３を備える。
【００８０】
転送処理部３１は、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）のいずれかと接続する自機のポートを介して、接続先の内部スイッチにトラヒックを転送する。
【００８１】
リンクダウン検知部３２は、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）のいずれかと接続する自機のポートのリンクダウンを検知する。
【００８２】
経路切替部３３は、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）のうち、通信タイムアウトが検知された内部スイッチに転送していたトラヒックを他の内部スイッチに転送するように、経路を切り替える。例えば、経路切替部３３は、通信タイムアウトが検知された内部スイッチと接続する自機のポートを閉鎖して無効にし、他の内部スイッチと接続する自機のポートを開放して有効にする。或いは、経路切替部３３は、信号出力するポートを、通信タイムアウトが検知された内部スイッチと接続する自機のポートから、他の内部スイッチと接続する自機のポートへ切り替える。
【００８３】
［本実施形態の効果］
本実施形態では、内部スイッチから外部スイッチへのリンクをダウンしているので、内部スイッチをネットワークから切り離すことができる。
【００８４】
また、本実施形態では、内部スイッチとコントローラとの通信不能により、コントローラから制御不能な内部スイッチがネットワークから切り離されるので、コントロールプレーンとデータプレーンの状態の不一致が防げる。
【００８５】
また、本実施形態では、ネットワークから切り離された内部スイッチと他の内部スイッチとの間ではリンクダウンしないので、他の内部スイッチを経由して当該内部スイッチにログインし、問題解析できる。
【００８６】
また、本実施形態では、外部スイッチへのリンクのみダウンするので、コントローラの障害発生時も内部ネットワークでは通信ができる。
【００８７】
＜第２実施形態＞
以下に、本発明の第２実施形態について説明する。
【００８８】
本発明の第２実施形態として、内部スイッチが無線アクセス（無線接続）の機能を持つ場合について説明する。
【００８９】
［システム構成］
図７に示すように、本発明の第２実施形態に係る通信経路制御システムは、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）と、コントローラ２０と、端末４０と、サーバ５０と、無線機６０（６０−ｊ、ｊ＝１〜ｍ：ｍは任意）を含む。
【００９０】
内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）、コントローラ２０、端末４０、サーバ５０については、基本的に、図２に示す上記の第１実施形態と同じである。
【００９１】
無線機６０（６０−ｊ、ｊ＝１〜ｍ）の各々は、端末４０と無線アクセス方式で接続し、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）と有線／無線に関係なく接続する。
【００９２】
また、無線機６０（６０−ｊ、ｊ＝１〜ｍ）の各々も、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）と同じく、コントローラ２０とセキュアチャネルにより接続されている。無線機６０−１は、内部スイッチ１０−３と接続する。無線機６０−２は、無線機６０−１の冗長経路として内部スイッチ１０−４と接続する。
【００９３】
すなわち、無線機６０（６０−ｊ、ｊ＝１〜ｍ）の各々は、外部スイッチ３０と接続する代わりに端末４０と無線アクセス方式で直接接続する点を除けば、第１実施形態で説明した内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）と同じである。
【００９４】
無線機６０（６０−ｊ、ｊ＝１〜ｍ）の各々は、オープンフローネットワークに配置されたエッジスイッチに相当する。
【００９５】
［本実施形態の詳細］
端末４０は、無線機６０−１に対して接続要求を行い、無線アクセス方式で接続する。
【００９６】
無線機６０−１は、コントローラ２０からの経路制御（自機のフローテーブル）に従い、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）のいずれかと接続する自機のポートを介して、接続先の内部スイッチにトラヒックを転送する。
【００９７】
無線機６０−１は、コントローラ２０との通信ができなくなった場合、端末４０との無線アクセスにおいて、停波（電波の送信の停止）を実施する。この「停波の実施」が、他の実施形態における「リンクダウンの実施」に相当する。
【００９８】
端末４０は、無線機６０−１との無線アクセス方式での接続が切断されるため、無線機６０−２と無線アクセス方式で接続する。
【００９９】
［本実施形態の効果］
本実施形態では、無線アクセスをネットワークの経路制御と連動させているので、経路制御と連動した無線アクセスにより、電波資源も含めたリソースを有効活用することができる。
【０１００】
＜各実施形態の関係＞
なお、上記の各実施形態は、組み合わせて実施することも可能である。
【０１０１】
＜ハードウェアの例示＞
以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
【０１０２】
内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）、外部スイッチ３０、及び無線機６０（６０−ｊ、ｊ＝１〜ｍ）の例として、ネットワークスイッチ（ｎｅｔｗｏｒｋ  ｓｗｉｔｃｈ）、ルータ（ｒｏｕｔｅｒ）、プロキシ（ｐｒｏｘｙ）、ゲートウェイ（ｇａｔｅｗａｙ）、ファイアウォール（ｆｉｒｅｗａｌｌ）、ロードバランサ（ｌｏａｄ  ｂａｌａｎｃｅｒ：負荷分散装置）、帯域制御装置（ｐａｃｋｅｔ  ｓｈａｐｅｒ）、セキュリティ監視制御装置（ＳＣＡＤＡ：Ｓｕｐｅｒｖｉｓｏｒｙ  Ｃｏｎｔｒｏｌ  Ａｎｄ  Ｄａｔａ  Ａｃｑｕｉｓｉｔｉｏｎ）、ゲートキーパー（ｇａｔｅｋｅｅｐｅｒ）、基地局（ｂａｓｅ  ｓｔａｔｉｏｎ）、アクセスポイント（ＡＰ：Ａｃｃｅｓｓ  Ｐｏｉｎｔ）、通信衛星（ＣＳ：Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ）、或いは、複数の通信ポートを有する計算機等が考えられる。
【０１０３】
コントローラ２０、端末４０、及びサーバ５０の例として、ＰＣ（パソコン）、アプライアンス（ａｐｐｌｉａｎｃｅ）、シンクライアント端末／サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。端末４０の他の例として、ＩＰ電話機、携帯電話機、スマートフォン、スマートブック、カーナビ（カーナビゲーションシステム）、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット（電子機器）、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電（ｉｎｆｏｒｍａｔｉｏｎ  ｈｏｍｅ  ａｐｐｌｉａｎｃｅ）、ＯＡ（Ｏｆｆｉｃｅ  Ａｕｔｏｍａｔｉｏｎ）機器、店頭端末・高機能コピー機、デジタルサイネージ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｇｅ：電子看板）等も考えられる。なお、コントローラ２０、端末４０、及びサーバ５０は、中継機器や周辺機器でも良い。
【０１０４】
また、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）、コントローラ２０、外部スイッチ３０、端末４０、サーバ５０、及び無線機６０（６０−ｊ、ｊ＝１〜ｍ）の各々は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）でも良い。
【０１０５】
また、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）、コントローラ２０、外部スイッチ３０、端末４０、サーバ５０、及び無線機６０（６０−ｊ、ｊ＝１〜ｍ）の各々は、車両や船舶、航空機等の移動体に搭載されていても良い。
【０１０６】
図示しないが、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）、コントローラ２０、外部スイッチ３０、端末４０、サーバ５０、及び無線機６０（６０−ｊ、ｊ＝１〜ｍ）の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
【０１０７】
上記のプロセッサの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ネットワークプロセッサ（ＮＰ：Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ（ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ）、或いは、専用の機能を有する半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等が考えられる。
【０１０８】
上記のメモリの例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクや、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。また、バッファ（ｂｕｆｆｅｒ）やレジスタ（ｒｅｇｉｓｔｅｒ）等でも良い。或いは、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いたストレージ装置でも良い。
【０１０９】
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の１チップ化が進んでいる。従って、電子機器等に搭載される１チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
【０１１０】
上記のインターフェースの例として、ネットワーク通信に対応した基板（マザーボード、Ｉ／Ｏボード）やチップ等の半導体集積回路、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口（コネクタ）等の通信ポート等が考えられる。
【０１１１】
また、ネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【０１１２】
なお、内部スイッチ１０（１０−ｉ、ｉ＝１〜ｎ）、コントローラ２０、外部スイッチ３０、端末４０、サーバ５０、及び無線機６０（６０−ｊ、ｊ＝１〜ｍ）の各々の内部の構成要素は、モジュール（ｍｏｄｕｌｅ）、コンポーネント（ｃｏｍｐｏｎｅｎｔ）、或いは専用デバイス、又はこれらの起動（呼出）プログラムでも良い。
【０１１３】
但し、実際には、これらの例に限定されない。
【０１１４】
＜本発明の特徴＞
以上のように、本発明は、オープンフローネットワークを始めとするＣＤ分離型ネットワークを対象としている。なお、オープンフローネットワークは一例に過ぎない。実際には、本発明は、「オープンフロー技術を使用したフローテーブルの更新」以外の経路制御を行うネットワークを対象とすることもできる。
【０１１５】
本発明は、ＣＤ分離型ネットワークと通常のネットワークとの境界において、通信障害発生時、経路の迂回が適切に切り替えられない問題を解消できるようにしたことを特徴としている。
【０１１６】
本発明では、ＣＤ分離型ネットワークの境界におけるポートシャットダウンにより経路を迂回する。
【０１１７】
コントローラは、複数の内部スイッチの各々に対してフローテーブルの更新を行い、複数の内部スイッチにより形成される経路を最適経路にする。
【０１１８】
複数の内部スイッチのうち内部スイッチＡは、外部スイッチと最適経路を形成し、現用系の内部スイッチとなる。複数の内部スイッチのうち内部スイッチＢは、外部スイッチと冗長経路を形成し、待機系の内部スイッチとなる。
【０１１９】
内部スイッチＡに障害が発生した場合、コントローラは、複数の内部スイッチの各々に対するフローテーブルの更新により、内部スイッチＡを経由する経路から、内部スイッチＢを経由する経路に切り替えられる。
【０１２０】
コントローラでの障害発生等により、コントローラと内部スイッチＡとの接続ができなくなった場合、内部スイッチＡは、コントローラの制御が利かないため、フローテーブルの更新による経路の追加／削除（経路の切り替え）ができなくなる。
【０１２１】
内部スイッチＡは、コントローラと内部スイッチＡとの接続ができなくなったことを検知した際に、外部スイッチと接続するポートのリンクダウンを実施する。
【０１２２】
外部スイッチは、内部スイッチＡと接続するポートのリンクダウンを検知した際に、経路の切り替えを行い、現用系の内部スイッチＡへのトラヒックを、待機系の内部スイッチＢに転送する。
【０１２３】
このようにして、本願発明では、コントローラとの通信の障害が発生した内部スイッチにおいて、接続する外部スイッチとのリンクをダウンすることで、正常な運用が不可能であることを外部に知らせることができるため、正常な運用が可能なスイッチを経由する経路への切り替えをすることができる。
【０１２４】
＜付記＞
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
【０１２５】
（付記１）
ネットワークに配置された複数のスイッチと、
パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、前記複数のスイッチの各々のフローテーブルに設定するコントローラと、
前記ネットワークの外側に存在し、前記複数のスイッチのうち現用系のスイッチと接続する外部通信装置と
を含み、
前記現用系のスイッチは、前記コントローラとの通信タイムアウトを検知した場合、前記外部通信装置との接続に使用するポートのリンクダウンを実施し、
前記コントローラは、前記現用系のスイッチとの通信タイムアウトを検知した場合、前記現用系のスイッチを前記ネットワークから切り離し、前記複数のスイッチのうち待機系のスイッチを経由する経路へ切り替える経路制御を実施し、
前記外部通信装置は、前記現用系のスイッチとの接続に使用するポートのリンクダウンを検知した場合、前記現用系のスイッチに送信していたトラヒックを、前記待機系のスイッチ及び前記ネットワークの外側に存在するスイッチのいずれかに送信する
通信経路制御システム。
【０１２６】
（付記２）
付記１に記載の通信経路制御システムであって、
リンクダウンを実施するポートを予め決めておき、前記コントローラとの通信タイムアウトを検知した場合、予め決められたポートの有無を確認し、予め決められたポートが存在する場合、当該ポートのリンクダウンを実施する
通信経路制御システム。
【０１２７】
（付記３）
付記１又は２に記載の通信経路制御システムであって、
前記現用系のスイッチは、前記複数のスイッチの各々と相互に接続しており、前記コントローラとの通信タイムアウトを検知した場合、前記複数のスイッチの各々との接続に使用するポートのリンクダウンを実施し、
前記複数のスイッチの各々は、前記現用系のスイッチとの接続に使用するポートのリンクダウンを検知した場合、前記コントローラとの接続状態を確認し、前記コントローラとの接続状態が正常であれば、前記コントローラに対して経路制御を要求して新たな最適経路を設定し、前記コントローラとの接続状態が正常でなければ、前記コントローラとの通信タイムアウトを検知する
通信経路制御システム。
【０１２８】
（付記４）
付記１乃至３のいずれかに記載の通信経路制御システムであって、
前記現用系のスイッチは、前記外部通信装置と無線アクセス方式で接続する場合、前記コントローラとの通信タイムアウトを検知した際に停波を実施して、前記外部通信装置との接続に使用するポートのリンクダウンを実施する
通信経路制御システム。
【０１２９】
＜備考＞
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【０１３０】
なお、本出願は、日本出願番号２０１１−１２０１１５に基づく優先権を主張するものであり、日本出願番号２０１１−１２０１１５における開示内容は引用により本出願に組み込まれる。
【図１】
2012165446.tif 000003
【図２】
2012165446.tif 000004
【図３】
2012165446.tif 000005
【図４】
2012165446.tif 000006
【図５】
2012165446.tif 000007
【図６】
2012165446.tif 000008
【図７】
2012165446.tif 000009
【国際調査報告】
2012165446.tif 000010
2012165446.tif 000011