(57)【要約】  集中制御型ネットワークの通信ノードが、その都度制御装置に問い合わせたり、フローテーブルに障害時の代替フローエントリを配置しておかなくとも、制御装置から与えられた指示（制御情報）を変更できるようにする。通信ノードは、受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブルを参照して、受信パケットを処理するパケット処理部と、事象と、該事象の発生を検出した際に前記第１のテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換える自律動作部と、を備える。
2014175423.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブルを参照して、受信パケットを処理するパケット処理部と、
事象と、該事象の発生を検出した際に前記第１のテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換える自律動作部と、
を備える通信ノード。
【請求項２】
所定の制御装置から、前記第１のテーブル及び前記第２のテーブルに格納するエントリの設定を受け付ける請求項１の通信ノード。
【請求項３】
前記第２のテーブルを参照して、前記第１のテーブルのエントリを書き換えた場合、前記所定の制御装置に対して、前記書き換えた内容を報告する請求項２の通信ノード。
【請求項４】
前記第２のテーブルに、ネットワークの障害を検出した際に、前記障害によって影響を受けるパケット転送経路を、別の経路に切り替えるためのエントリが設定されている請求項１から３いずれか一の通信ノード。
【請求項５】
前記第２のテーブルに、通信先の障害を検出した際に、前記障害によって影響を受ける前記第１のテーブルのエントリのパケット転送先を、前記通信先の代替装置に変更するエントリが設定されている請求項１から３いずれか一の通信ノード。
【請求項６】
受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブルを参照して、受信パケットを処理するパケット処理部と、
事象と、該事象の発生を検出した際に前記第１のテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換える自律動作部と、
を備える通信ノードと、
前記通信ノードの前記第１のテーブル及び前記第２のテーブルに、エントリを設定する制御装置と、
を含む通信システム。
【請求項７】
受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブルを参照して、受信パケットを処理するパケット処理部を備える通信ノードが、
所定の事象の発生を検出するステップと、
事象と、該事象の発生を検出した際に前記第１のテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換えるステップと、
を含むパケット処理方法。
【請求項８】
受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブルを参照して、受信パケットを処理するパケット処理部を備えるコンピュータに、
所定の事象の発生を検出する処理と、
事象と、該事象の発生を検出した際に前記第１のテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換える処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−０９３７３８号（２０１３年４月２６日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信ノード、通信システム、パケット処理方法及びプログラムに関し、特に、制御装置から設定された制御情報に基づいて動作する通信ノード、通信システム、パケット処理方法及びプログラムに関する。
【背景技術】
【０００２】
非特許文献１、２に、コントロールプレーンとデータプレーンの分離した集中制御型のネットワークを実現するオープンフローという技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「５．３  Ｍａｔｃｈｉｎｇ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。【０００４】
特許文献１には、上記オープンフローを用いたネットワークの障害または輻輳発生時に、高速な経路切り替えを行うという通信装置（オープンフロースイッチに相当）が開示されている。具体的には、この通信装置は、受信パケットの識別情報と前記受信パケットに対する処理とを対応付けた処理規則を記憶する処理記憶部（上記フローテーブルに相当）と、前記受信パケットに対する前記処理記憶部に記憶された処理とは異なる処理を含む処理規則を記憶する代替処理記憶部（上記フローテーブルのエントリの代替エントリを格納したテーブル）と、前記受信パケットの識別情報に基づき、前記処理記憶部または前記代替処理記憶部を検索して得られた処理規則に従って前記受信パケットの処理を行う処理部と、を備える、と記載されている。【０００５】
特許文献２には、端末間のコネクション確立を確認してから、制御情報（転送ルール）を設定することで、不要なフローセットアップ（スイッチへの制御情報の設定）を削減できるというオープンフローコントローラが開示されている。【０００６】
特許文献３には、オープンフロースイッチに保持させた複数のフローテーブルを用いて、保持可能なエントリ数を増大させる構成が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−４９６７４号公報
【特許文献２】特開２０１２−１９５８０７号公報
【特許文献３】国際公開第２０１２／０３２８６４号
【非特許文献】
【０００８】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年４月１０日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．３．１  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０４）、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年４月１０日検索］、インターネット〈URL: https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以下の分析は、本発明によって与えられたものである。特許文献１の段落０００６〜０００８にも指摘されているとおり、上記オープンフローに代表されるコントロールプレーンとデータプレーンの分離したネットワークでは、障害が発生した際に、再度通信可能となるまでに時間が掛かってしまうという問題点がある。その理由は、ネットワーク配下のスイッチがコントロールプレーンを支配している制御装置（オープンフローコントローラ）に対し、次の挙動やデータの転送先を確認する必要があるためである。とりわけ、ネットワークが大規模化し、制御装置の配下のスイッチ数が増えると制御装置に一度に問い合わせが殺到してしまうため、コントロールプレーンに輻輳が発生してしまうという問題点がある。【００１０】
特許文献１には、通常時の経路に対応する基本フローエントリグループと、障害時に用いる代替経路に対応する代替フローエントリグループと、が登録された１つ又は複数のフローテーブルを用意し、通常時には、基本フローエントリグループを参照し、障害時に代替フローエントリグループを参照することで経路の切替を行っている（段落００６２参照。ほかに、２つのフローエントリグループの検索を並列実行する方法やスイッチがどちらを実行するか判定する方法も記載。）。【００１１】
しかしながら、特許文献１の方法では、フローテーブルに、代替フローエントリグループを格納するための領域を確保しなければならないという問題点がある。とりわけ、フローテーブルが、ＣＡＭ（Ｃｏｎｔｅｎｔ‐Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）等を用いて構成されている場合には、障害時にしか使用しないフローエントリに貴重な領域が占有されてしまうことになる。【００１２】
また、コントロールプレーンとデータプレーンの分離したネットワークにおいては、あるスイッチのポートダウン検出に限らず、制御装置（コントローラ）との通信断絶、輻輳の発生等の種々のタイミングで、スイッチ等の通信ノードへの指示を変更することが望まれる。【００１３】
本発明は、上記のように、障害等の所定の事象の発生時に、その都度制御装置に問い合わせたり、フローテーブルに障害時の代替フローエントリを配置しておかなくとも、制御装置から与えられた指示（制御情報）を変更できるようにした通信ノード、通信システム、パケット処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
第１の視点によれば、受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブルを参照して、受信パケットを処理するパケット処理部と、事象と、該事象の発生を検出した際に前記第１のテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換える自律動作部と、を備える通信ノードが提供される。【００１５】
第２の視点によれば、上記した通信ノードと、前記通信ノードの前記第１のテーブル及び前記第２のテーブルに、エントリを設定する制御装置と、を含む通信システムが提供される。【００１６】
第３の視点によれば、受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブルを参照して、受信パケットを処理するパケット処理部を備える通信ノードが、所定の事象の発生を検出するステップと、事象と、該事象の発生を検出した際に前記第１のテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換えるステップと、を含むパケット処理方法が提供される。本方法は、上記した第１のテーブルを参照して受信パケットを処理する通信ノードという、特定の機械に結びつけられている。【００１７】
第４の視点によれば、受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブルを参照して、受信パケットを処理するパケット処理部を備えるコンピュータに、所定の事象の発生を検出する処理と、事象と、該事象の発生を検出した際に前記第１のテーブルに格納されたエントリに対して適用する変更内容と、を対応付けた第２のテーブルを参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換える処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１８】
本発明によれば、その都度制御装置に問い合わせたり、フローテーブルに障害時の代替フローエントリを配置しておかなくとも、通信ノードに、制御装置から与えられた指示（制御情報）を変更させることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態のオープンフロースイッチ（ＯＦＳ）の構成を示す図である。
【図４】本発明の第１の実施形態のオープンフロースイッチ（ＯＦＳ）が保持するイベントテーブルの構成の一例を示す図である。
【図５】本発明の第１の実施形態のオープンフロースイッチ（ＯＦＳ）の動作を説明するための図である。
【図６】本発明の第１の実施形態のオープンフロースイッチ（ＯＦＳ）の動作を説明するための図である。
【図７】本発明の第１の実施形態のオープンフロースイッチ（ＯＦＳ）が保持するイベントテーブルの構成の別の一例を示す図である。
【図８】本発明の第２の実施形態の通信システムの構成を示す図である。
【図９】本発明の第２の実施形態のオープンフロースイッチ（ＯＦＳ）が保持するイベントテーブルの構成の一例を示す図である。
【図１０】本発明の第１の実施形態のオープンフロースイッチ（ＯＦＳ）の動作を説明するための図である。
【図１１】本発明の第２の実施形態のオープンフロースイッチ（ＯＦＳ）の動作を説明するための図である。
【発明を実施するための形態】
【００２０】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００２１】
本発明は、その一実施形態において図１に示すように、受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納した第１のテーブル１１を参照して、受信パケットを処理するパケット処理部１２と、第２のテーブル１３を参照して、発生した事象に応じて前記第１のテーブルのエントリを書き換える自律動作部１４と、を備える通信ノード１０にて実現できる。
【００２２】
具体的には、第２のテーブル１３には、通信ノードが検出可能な事象と、該事象の発生を検出した際に前記第１のテーブル１１に格納されたエントリに対して適用する変更内容と、が対応付けられている。そして、自律動作部１４が発生した事象に応じて前記第１のテーブル１１のエントリを書き換える。
【００２３】
以上により、通信ノード１０は、制御装置に問い合わせなくとも、前記発生した事象に応じて、受信パケットに適用する処理を変更することができるようになる。
【００２４】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、２つのネットワーク３０１、３０２のエッジに配置されたオープンフロースイッチ（以下、「ＯＦＳ」）１０１、１０２と、これらＯＦＳ１０１、１０２と制御チャネル５０１、５０２を介して接続され、ＯＦＳ１０１、１０２を制御するオープンフローコントローラ（以下、「ＯＦＣ」）２００と、ＯＦＳ１０１、１０２に接続して互いに通信する端末４０１、４０２とが示されている。
【００２５】
ＯＦＳ１０１、１０２は、Ｅｔｈｅｒ−ＯＡＭ機能を有するオープンフロースイッチであり、ＯＦＣ２００から設定されたフローテーブルやイベントテーブルのエントリを参照して動作する。Ｅｔｈｅｒ−ＯＡＭ機能とは、ＩＴＵ−Ｔ  Ｙ．１７３１、ＩＥＥＥ  ８０２．１ａｇなどに規定されているイーサネット（登録商標）網の保守管理機能である。
【００２６】
ＯＦＣ２００は、制御チャネル５０１、５０２を介して、ＯＦＳ１０１、１０２と制御用メッセージを授受し、ＯＦＳ１０１、１０２のフローテーブルやイベントテーブル（それぞれ後述）にエントリを追加する。
【００２７】
図３は、ＯＦＳ１０１、１０２の詳細構成を表した図である。図３を参照すると、フローテーブル１１１と、パケット処理部１１２と、イベントテーブル１１３と、自律動作部１１４と、プロトコル通信部１１５と、監視部１１６とを備えた構成が示されている。
【００２８】
フローテーブル１１１は、受信パケットと照合するマッチ条件と、該マッチ条件に適合するパケットに適用する処理内容を定めたエントリを格納する上述した第１のテーブルに相当するテーブルである。非特許文献２に記載されているように、フローテーブル１１１は複数配置されていてもよい。
【００２９】
パケット処理部１１２は、外部からパケットを受信すると、フローテーブル１１１から、受信パケットの入力ポートやヘッダ情報に適合するマッチ条件を持つエントリを検索する。検索の結果、受信パケットに適合するマッチ条件を持つエントリが見つかった場合、パケット処理部１１２は、そのエントリに定められた処理内容をパケットに適用する。なお、検索の結果、受信パケットに適合するマッチ条件を持つエントリが見つからなかった場合、パケット処理部１１２は、パケット破棄、ＯＦＣ２００への転送等予め定められた動作を実行する。また、パケット処理部１１２は、Ｅｔｈｅｒ−ＯＡＭ障害通知を受信した場合、自律動作部１１４に出力する。Ｅｔｈｅｒ−ＯＡＭ障害通知を受信した場合のＯＦＳ１０１／１０２の動作は、フローテーブル１１１に、自律動作部１１４に接続された仮想ポートへの出力を指示するエントリを設定することでも実現できる。
【００３０】
イベントテーブル１１３は、ＯＦＳ１０１／１０２が検出可能な各種のイベント条件と、そのイベントが発生したときに実行する処理内容（イベントアクション）とを対応付けたエントリを格納する上記した第２のテーブルに相当するテーブルある。なお、イベントテーブル１１３のエントリは、ＯＦＣ２００が、フローテーブル１１１に設定するエントリの作成時に、経路計算の結果等を利用して設定することが好ましい。もちろん、ネットワーク管理者等が手動でイベントテーブル１１３にエントリを設定してもよい。なお、このイベントテーブル１１３は、フローテーブル１１１よりも参照頻度や書換頻度は少ないと考えられるため、フローテーブル１１１のようにＣＡＭ等で構成しなくともよい。
【００３１】
自律動作部１１４は、イベントテーブル１１３に記載されたイベント条件に合致する状態（障害など）が発生した場合、該当エントリに定められた処理内容（イベントアクション）を実行する。また、自律動作部１１４は、前記イベントテーブル１１３のエントリに定められた処理内容（イベントアクション）を実行することによって、フローテーブル１１１のエントリに変更が生じた場合、ＯＦＣ２００に対し、実行した処理内容またはフローテーブル１１１に対して行った変更内容を報告する。これにより、ＯＦＣ２００が把握している各ＯＦＳ１０１／１０２に設定しているフローエントリと、実際にＯＦＳ１０１／１０２に設定されているフローエントリとの一貫性が保たれる。
【００３２】
図４は、ＯＦＳ１０１が保持するイベントテーブルの構成の一例を示す図である。図４の例では、ＯＦＳ１０１は、ネットワークＡ（図２のネットワーク３０１）からＥｔｈｅｒ−ＯＡＭ障害通知を受信すると、フローテーブル１１１のネットワークＡへの転送を行うエントリを抽出し、そのエントリの転送先をネットワークＢ（図２のネットワーク３０２）に変更する動作を行う（１番目のエントリ参照）。同様に、ＯＦＳ１０１は、ネットワークＢ（図２のネットワーク３０２）からＥｔｈｅｒ−ＯＡＭ障害通知を受信すると、フローテーブル１１１のネットワークＢへの転送を行うエントリを抽出し、そのエントリの転送先をネットワークＡ（図２のネットワーク３０１）に変更する動作を行う（２番目のエントリ参照）。
【００３３】
プロトコル通信部１１５は、ＯＦＣ２００と、非特許文献２のオープンフロープロトコル等で通信する手段である。
【００３４】
監視部１１６は、自装置の稼働状況やリンク状態の監視を行い、異常が見つかった場合、他のＯＦＳ等に、Ｅｔｈｅｒ−ＯＡＭ障害通知やＥｔｈｅｒ−ＯＡＭ障害回復通知を送信する。
【００３５】
なお、図３に示したＯＦＳ１０１／１０２の各部（処理手段）は、ＯＦＳに搭載されたコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３６】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下、図５の両矢線に示すように、ＯＦＳ１０１とＯＦＳ１０２のフローテーブル１１１に、端末４０１と端末４０２間のパケットをネットワーク３０１経由で転送するエントリが設定されているものとして説明する。
【００３７】
図５のネットワーク３０１に障害が発生し、その内部のＯＦＳ等からＥｔｈｅｒ−ＯＡＭ障害通知を受信すると、ＯＦＳ１０１は、イベントテーブル１１３の当該イベント条件に適合するエントリに従い、端末４０１と端末４０２間のパケットをネットワーク３０２経由で転送するよう変更する。具体的には、ＯＦＳ１０１は、端末４０１から端末４０２宛てのパケットの転送先を規定したフローテーブル１１１のエントリの転送先を、ネットワーク３０１からネットワーク３０２に属するＯＦＳ等へと変更する。また、必要に応じて、ＯＦＳ１０１は、端末４０２から端末４０１宛てのパケットを処理するためのエントリのマッチ条件中の入力ポートがネットワーク３０１接続ポートになっている場合、当該エントリの入力ポートを、ネットワーク３０１からネットワーク３０２接続ポートへと変更する。
【００３８】
ＯＦＳ１０２も、同様に、端末４０１と端末４０２間のパケットをネットワーク３０２経由で転送するよう変更する。
【００３９】
以上により、端末４０１と端末４０２間のパケットの転送経路は、図６に示すようにＯＦＣ２００の制御を介することなく切り替えられる。このため、ネットワーク３０１に障害が発生しても迅速に通信を再開することが可能となる。
【００４０】
また、本実施形態によれば、ＯＦＣとＯＦＳ間の制御メッセージの授受も削減されるため、制御チャネル５０１、５０２の輻輳等も回避できる。非特許文献２の基本構成では、障害が発生したネットワークに多数のＯＦＳが接続している場合、これら多数のＯＦＳからＯＦＣ２００に対して、フローテーブル１１１のエントリの登録要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）が発行され、ＯＦＣ２００は各ＯＦＳに設定するエントリを作成し、送信することになる。本実施形態では、各ＯＦＳの自律動作部１１４から、ＯＦＣ２００に対するフローテーブル１１１の変更内容を通知すればよいので、通信料は少なくとも半分に削減される。
【００４１】
なお、イベントテーブル１１３にエントリを設定することで、図６に示した状態から図５に示すような状態へのＯＦＳ単体での復旧も実現可能である。図７は、そのためのイベントテーブルの別の一例を示す図である。図７の例では、ＯＦＳ１０１は、ネットワークＢ（図２のネットワーク３０２）からＥｔｈｅｒ−ＯＡＭ障害回復通知を受信すると、フローテーブル１１１のネットワークＢへの転送を行うエントリを抽出し、そのエントリの転送先をネットワークＡ（図２のネットワーク３０１）に変更する動作を行う（図７の１番目のエントリ参照）。同様に、ＯＦＳ１０１は、ネットワークＡ（図２のネットワーク３０１）からＥｔｈｅｒ−ＯＡＭ障害回復通知を受信すると、フローテーブル１１１のネットワークＡへの転送を行うエントリを抽出し、そのエントリの転送先をネットワークＢ（図２のネットワーク３０２）に変更する動作を行う（図７の２番目のエントリ参照）。
【００４２】
以上のように、ＯＦＣ２００の制御を介することなく図６の端末４０１と端末４０２間のパケットの転送経路を、図５に示す経路に戻すことができる。このため、例えば、ネットワーク３０１に障害が発生して、一時的にネットワーク３０２を利用していた状態からの復旧も高速に実施することできる。
【００４３】
［第２の実施形態］
続いて、上記した第１の実施形態と同様のＯＦＳを利用してサーバ間のフェイルオーバーを実現する第２の実施形態について説明する。本実施形態は、第１の実施形態と同様の構成にて実現可能であるので、以下、その相違点を中心に説明する。
【００４４】
図８は、本発明の第２の実施形態の通信システムの構成を示す図である。図８を参照すると、ネットワーク３０１のエッジに配置されたオープンフロースイッチ（以下、「ＯＦＳ」）１０１、１０２と、これらＯＦＳ１０１、１０２と制御チャネル５０１、５０２を介して接続され、ＯＦＳ１０１、１０２を制御するオープンフローコントローラ（以下、「ＯＦＣ」）２００と、ＯＦＳ１０１、１０２に接続して互いに通信する端末４０１と、端末４０１から要求に応じてサービスを提供するサーバ７０１と、サーバ７０１に代替して処理継続可能なサーバ７０２とが示されている。
【００４５】
図９は、図８のＯＦＳ１０２が保持するイベントテーブルの構成の一例を示す図である。図９の例では、ＯＦＳ１０２は、監視部１１６にてサーバの故障を検出すると、フローテーブル１１１のサーバ７０１への転送を行うエントリを抽出し、そのエントリの転送先をサーバ７０２に変更する動作を行う（１番目のエントリ参照）。
【００４６】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下、図１０の両矢線に示すように、ＯＦＳ１０１とＯＦＳ１０２のフローテーブル１１１に、端末４０１とサーバ７０１間のパケットをネットワーク３０１経由で転送するエントリが設定されているものとして説明する。
【００４７】
図８のサーバ７０１に障害が発生したことを検出すると、ＯＦＳ１０２は、端末４０１からサーバ７０１宛てのパケットをサーバ７０２に送り、サーバ７０２からの応答を端末４０１に転送するよう変更する。具体的には、ＯＦＳ１０２は、端末４０１からサーバ７０１宛てのパケットの転送先を規定したフローテーブル１１１のエントリの転送先を、サーバ７０２の接続ポートに変更する。また、ＯＦＳ１０２は、フローテーブル１１１に、サーバ７０２から端末４０１宛ての応答パケットを処理するためのエントリを追加する。
【００４８】
さらに、ＯＦＳ１０２において、パケットヘッダ中の宛先又は送信元に設定されているサーバ７０１のアドレスと、サーバ７０２のアドレスとの変換を行うことも好ましい。このようにすることで、ＯＦＳ１０１におけるフローテーブル１１１のエントリ変更が不要となる。
【００４９】
以上により、端末４０１とサーバ７０１間のパケットの転送経路は、図１１に示すようにＯＦＣ２００の制御を介することなく切り替えられる。このため、サーバ７０１に障害が発生しても迅速にサーバ７０２によりサービスを継続することが可能となる。
【００５０】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００５１】
例えば、上記した各実施形態では、非特許文献１、２のＯＦＣとＯＦＳとを用いた例を挙げて説明したが、その他、コントロールプレーンと、データプレーンとが分離した集中制御型のネットワークにも適用可能である。
【００５２】
また、上記した各実施形態では、単一のイベントテーブルを用いる例を挙げて説明したが、非特許文献２の複数のフローテーブルを用いたパイプライン処理のように、複数のテーブルを順次参照して、最終的に、複数の条件に適合するエントリを選択して、イベントアクションを決定するようなテーブル構成も採用可能である。このようにすることで、個々のイベントテーブルを小さく持つことができ、その管理も容易化される。
【００５３】
また、上記した各実施形態では、イベントテーブル１１３により、経路の切替えと、フェイルオーバーを行う例を挙げて説明したが、その他フローテーブルの特定のエントリを削除したり、フローテーブルの特定のエントリの処理内容をパケット破棄（Ｄｒｏｐ）に書き換えるといった変形例も採用可能である。
【００５４】
また、上記した各実施形態では、ＯＦＳがＥｔｈｅｒ−ＯＡＭ機能を備えるものとして説明したが、その他同等の機能を備えていればよい。例えば、ポートのリンクダウンを検出した際に、フローテーブル１１１のパケット転送先を変更するようなエントリをイベントテーブル１１３に設定することでも同様の効果を期待することができる。また例えば、ＯＦＣ等との制御チャネルの障害を検出した際に、別のＯＦＣからの制御を受ける（パケットを転送し、フローエントリの送信を要求する）といった運用も可能である。
【００５５】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信ノード参照）
［第２の形態］
第１の形態の通信ノードにおいて、
所定の制御装置から、前記第１のテーブル及び前記第２のテーブルに格納するエントリの設定を受け付ける通信ノード。
［第３の形態］
第２の形態の通信ノードにおいて、
前記第２のテーブルを参照して、前記第１のテーブルのエントリを書き換えた場合、前記所定の制御装置に対して、前記書き換えた内容を報告する通信ノード。
［第４の形態］
第１から第３いずれか一の形態の通信ノードにおいて、
前記第２のテーブルに、ネットワークの障害を検出した際に、前記障害によって影響を受けるパケット転送経路を、別の経路に切り替えるためのエントリが設定されている通信ノード。
［第５の形態］
第１から第３いずれか一の形態の通信ノードにおいて、
前記第２のテーブルに、通信先の障害を検出した際に、前記障害によって影響を受ける前記第１のテーブルのエントリのパケット転送先を、前記通信先の代替装置に変更するエントリが設定されている通信ノード。
［第６の形態］
（上記第２の視点による通信システム参照）
［第７の形態］
（上記第３の視点によるパケット処理方法参照）
［第８の形態］
（上記第４の視点によるプログラム参照）
なお、上記第６〜第８の形態は、第１の形態と同様に、第２〜第５の形態に展開することが可能である。
【００５６】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００５７】
１０  通信ノード
１１  第１のテーブル
１２  パケット処理部
１３  第２のテーブル
１４  自律動作部
１０１、１０２  オープンフロースイッチ（ＯＦＳ）
１１１  フローテーブル
１１２  パケット処理部
１１３  イベントテーブル
１１４  自律動作部
１１５  プロトコル通信部
１１６  監視部
２００  オープンフローコントローラ（ＯＦＣ）
３０１、３０２  ネットワーク
４０１、４０２  端末
５０１、５０２  制御チャネル
７０１、７０２  サーバ
【図１】
2014175423.tif 000003
【図２】
2014175423.tif 000004
【図３】
2014175423.tif 000005
【図４】
2014175423.tif 000006
【図５】
2014175423.tif 000007
【図６】
2014175423.tif 000008
【図７】
2014175423.tif 000009
【図８】
2014175423.tif 000010
【図９】
2014175423.tif 000011
【図１０】
2014175423.tif 000012
【図１１】
2014175423.tif 000013
【国際調査報告】
2014175423.tif 000014
2014175423.tif 000015
2014175423.tif 000016
2014175423.tif 000017