(57)【特許請求の範囲】
【請求項１】
マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリと、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件とを、スイッチに送信する制御装置と、
前記２以上のフローエントリを保持し、前記制御装置から送信された条件に従って前記適用優先度を切り替えて、受信パケットを処理するスイッチと、
を含む通信システム。
【請求項２】
前記制御装置は、前記適用優先度を所定時間毎に変更するとの条件を、前記スイッチに送信する請求項１の通信システム。
【請求項３】
前記制御装置は、前記スイッチから、各ポートにおいて送信されずに破棄されたパケットの統計情報の値を収集し、前記破棄されたパケットが多いポートからの出力が指示されているフローエントリに対し、前記２以上のフローエントリを作成し、前記スイッチに対し、前記作成したフローエントリと、前記条件とを送信する請求項１又は２の通信システム。
【請求項４】
前記スイッチは、前記制御装置に対し、ポート単位又はスイッチ毎にまとめて、前記スイッチの各ポートにおいて送信されずに破棄されたパケットの統計情報を送信する請求項３の通信システム。
【請求項５】
マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリと、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件とを、制御装置から受信し、
前記２以上のフローエントリを保持し、前記制御装置から受信した条件に従って前記適用優先度を切り替えて、受信パケットを処理するスイッチ。
【請求項６】
マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリを保持し、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件に従って、受信パケットを処理するスイッチに対し、
前記２以上のフローエントリと、前記条件とを、送信する制御装置。
【請求項７】
マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリと、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件とを、制御装置から受信するステップと、
前記２以上のフローエントリを保持し、前記制御装置から受信した条件に従って適用優先度を切り替えて、受信パケットを処理するステップとを含むパケット処理方法。
【請求項８】
マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリを保持し、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件に従って、受信パケットを処理するスイッチを制御するコンピュータに、
前記２以上のフローエントリと、前記条件とを、作成する処理と、
前記２以上のフローエントリと、前記条件とを、前記スイッチに対し送信する処理と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−０４３９０９号（２０１３年  ３月  ６日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、スイッチ、制御装置、パケット処理方法及びプログラムに関し、特に、スイッチを集中制御する制御装置が配置された通信システム、スイッチ、制御装置、パケット処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００３】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「５．３  Ｍａｔｃｈｉｎｇ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンター）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。【０００４】
特許文献１には、上記オープンフローを用いた通信システムにおいて、オープンフローコントローラが登録用フローエントリと通常パケットとを関連付けたカプセル化パケットを生成、送信し、特定の経路上のオープンフロースイッチに、フローエントリを一括して登録できるようにした構成が開示されている。【０００５】
特許文献２には、上記オープンフローを用いた通信システムにおいて、クライアント端末に対してサービスを提供する複数のサービス提供サーバが、オープンフローコントローラに対し、負荷分散要求を発行すると、オープンフローコントローラが、前記スイッチに設定したフローエントリを変更する構成が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１０／１０３９０９号
【特許文献２】特開２０１１−１７０７１８号公報
【非特許文献】
【０００７】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年２月１８日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．３．１  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０４）、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年２月１８日検索］、インターネット〈URL:https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明によって与えられたものである。上記オープンフローネットワークにおいては、オープンフローコントローラで、一旦経路が計算されると、通信が終了するまでパケットは当該経路で転送される。また、特許文献２のように経路の変更が行われることもあるが、その場合も新たな負荷分散要求がない限り当該変更後の経路でパケット転送が継続される。このように集中制御型のネットワークにおいては、その制御装置の経路計算の結果、特定のリンクにだけトラヒックが集中してしまうといった現象が起こりうる。【０００９】
もちろん、オープンフローコントローラが、絶え間なくトラヒックを監視して、経路を変更するようフローエントリを書き換えれば、上記の問題を解消できるが、特許文献１の課題ともなっているように、オープンフローコントローラの負荷を増やすことは現実的ではない。【００１０】
本発明は、上記したオープンフローに代表される集中制御型のネットワークの経路制御の柔軟性の向上に貢献できる通信システム、スイッチ、制御装置、パケット処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の視点によれば、マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリと、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件とを、スイッチに送信する制御装置と、前記２以上のフローエントリを保持し、前記制御装置から送信された条件に従って前記適用優先度を切り替えて、受信パケットを処理するスイッチと、を含む通信システムが提供される。
【００１２】
第２の視点によれば、マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリと、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件とを、制御装置から受信し、前記２以上のフローエントリを保持し、前記制御装置から受信した条件に従って適用優先度を切り替えて、受信パケットを処理するスイッチが提供される。
【００１３】
第３の視点によれば、マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリを保持し、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件に従って、受信パケットを処理するスイッチに対し、前記２以上のフローエントリと、前記条件とを、送信する制御装置が提供される。
【００１４】
第４の視点によれば、マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリと、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件とを、制御装置から受信するステップと、前記２以上のフローエントリを保持し、前記制御装置から受信した条件に従って適用優先度を切り替えて、受信パケットを処理するステップとを含むパケット処理方法が提供される。本方法は、外部から設定されたフローエントリを参照して受信パケットを処理するスイッチという、特定の機械に結びつけられている。
【００１５】
第５の視点によれば、マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリを保持し、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記２以上のフローエントリ間の適用優先度を変更することを示す条件に従って、受信パケットを処理するスイッチを制御するコンピュータに、前記２以上のフローエントリと、前記条件とを、作成する処理と、前記２以上のフローエントリと、前記条件とを、前記スイッチに対し送信する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１６】
本発明によれば、上記したオープンフローに代表される集中制御型のネットワークの経路制御の柔軟性の向上に貢献することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の通信システムの構成を示す図である。
【図３】本発明の第１の実施形態の制御装置とスイッチ間で授受するキュー情報の一例を示す図である。
【図４】本発明の第１の実施形態の制御装置の構成を示す図である。
【図５】本発明の第１の実施形態の制御装置がスイッチに設定する処理分散型フローエントリの一例を示す図である。
【図６】本発明の第１の実施形態の制御装置の動作を示す流れ図である。
【図７】本発明の第１の実施形態のスイッチの動作を説明するための図である。
【図８】本発明の第１の実施形態のスイッチの動作を説明するための図である。
【図９】本発明の第１の実施形態によって達成される効果の一例を説明するための図である。
【発明を実施するための形態】
【００１８】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１９】
本発明は、その一実施形態において、図１に示すように、スイッチ２００−１〜２００−４を制御する制御装置１００Ａと、制御装置１００Ａから設定されたフローエントリを参照して受信パケットを処理するスイッチ２００−１〜２００−４と、を含む通信システムにて実現できる。
【００２０】
より具体的には、制御装置１００Ａは、例えば、スイッチ２００−１に、マッチ条件が同一で適用する処理内容が異なる２以上のフローエントリと、前記２以上のフローエントリ間の適用優先度を変更する条件とを、送信し、保持させる。
【００２１】
前記スイッチ２００−１は、前記制御装置から指定された条件に従って適用優先度を切り替えて、前記フローエントリを用いて受信パケットを処理する。例えば、前記２以上のフローエントリの一方にスイッチ２００−２へ転送（ポート＃１から転送）するとの処理内容を設定し、他方にスイッチ２００−３へ転送（ポート＃２から転送）するとの処理内容を設定する。そして、例えば、所定数のパケット受信毎に前記各フローエントリの適用優先度を変更するとの条件を設定すると、前記スイッチ２００−１は、所定数のパケット受信毎に、スイッチ２００−２への転送（ポート＃１から転送）と、スイッチ２００−３への転送（ポート＃２から転送）とを切り替える動作を行う。
【００２２】
以上のようにすることで、スイッチ側単独での経路変更動作が実現される。なお、上記の例では、２つのフローエントリに設定する処理内容の双方にパケット転送動作を設定したが、その他の処理内容を設定することも可能である。例えば、フローエントリの一方にパケットを破棄する処理内容を設定すれば、パケットポリシングのような動作を行わせることもできる。
【００２３】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の通信システムの構成を示す図である。図２を参照すると、制御装置１００と、スイッチ２００とが制御チャネルを介して、接続された構成が示されている。
【００２４】
スイッチ２００は、複数のポートＡ〜Ｎと、制御装置１００から送信されたフローエントリを格納するフローエントリ記憶部２１０と、パケット処理部２２０と、キュー情報送信部２３０と、優先度変更部２４０とを備えている。
【００２５】
パケット処理部２２０は、入力ポート、例えば図２のポートＣからパケットを受信すると、フローエントリ記憶部２１０から受信パケットに適合するマッチ条件を持つフローエントリを検索する。前記検索の結果、受信パケットに適合するマッチ条件を持つフローエントリが見つかった場合、パケット処理部２２０は、そのフローエントリの処理内容フィールド（アクションフィールド）に設定された処理内容を受信パケットに適用する。
【００２６】
キュー情報送信部２３０は、所定間隔で、制御装置１００に対して、キュー情報を送信する。キュー情報とは、図３に示すように、スイッチのポート毎の送信キューに積まれずに廃棄したパケット数を計測したものである。このキュー情報に含まれる廃棄パケット数により当該ポートにおいて帯域不足の発生有無やその程度を定量的に把握することが可能となる。なお、図３のスイッチＩＤは、各スイッチに一意に割り当てられたＩＤ（Ｄａｔａｐａｔｈ  ＩＤ）である。
【００２７】
優先度変更部２４０は、後に詳説するように、制御装置１００から設定された条件を元に、同一のマッチ条件が設定されている処理分散型のフローエントリ間の優先度を変更する動作を行う。本実施形態では、優先度変更部２４０は、フローエントリのカウンターの値と、制御装置１００から指定されたしきい値を比較し、フローエントリのカウンターの値が前記しきい値を超えた場合に、前記カウンターをクリアするとともに、同一マッチ条件のフローエントリ間の適用優先度（図５の関連エントリ間優先度）を変更する（詳細は後述）。
【００２８】
図４は、本発明の第１の実施形態の制御装置１００の構成を示す図である。図４を参照すると、制御装置１００は、処理分散型フローエントリ作成部１１０と、キュー情報収集部１２０と、スイッチと所定のプロトコル（例えば、非特許文献２のオープンフロープロトコル）で通信するためのプロトコル処理部１３０と、を備えている。
【００２９】
処理分散型フローエントリ作成部１１０は、スイッチ２００に設定する処理分散型フローエントリを作成する。なお、処理分散型フローエントリ作成部１１０が、通常のフローエントリを作成してもよい。もちろん、処理分散型フローエントリ作成部１１０とは別に、経路計算の結果や端末位置を元に、フローエントリを作成するフローエントリ作成部を備えていていてもよい。
【００３０】
図５は、処理分散型フローエントリの一例を示す図である。図５を参照すると、エントリＩＤと、マッチ条件と、アクションと、関連エントリＩＤと、関連エントリ間優先度と、カウンターとを対応付けたエントリが示されている。
【００３１】
エントリＩＤは、少なくともスイッチ内で一意にフローエントリを識別するために設定される識別子である。
【００３２】
マッチ条件フィールドは、受信パケットのヘッダ情報等と照合するためのマッチ条件を設定するためのフィールドである。図５の例では、マッチ条件として入力ポート（Ｉｎ  ｐｏｒｔ）がポートＣであるとのマッチ条件が設定されている。もちろん、入力ポート（Ｉｎ  ｐｏｒｔ）のほかに、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）アドレス（送信元／宛先）やＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス（送信元／宛先）、ＴＣＰ／ＵＤＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）のポート番号（送信元／宛先）等を設定することもできる。
【００３３】
アクションフィールドは、マッチ条件に適合するパケットに適用する処理内容を設定するためのフィールドである。図５の例では、アクションとしてポートＡからの出力（転送）を指示するアクションを設定したエントリ（Ｏｕｔｐｕｔ  ｐｏｒｔ  Ａ）と、ポートＢからの出力（転送）を指示するアクションを設定したエントリ（Ｏｕｔｐｕｔ  ｐｏｒｔ  Ｂ）とが設定されている。なお、アクションフィールドもＯｕｔｐｕｔアクションだけでなく、その他のアクション（ヘッダ書換、廃棄、他テーブルの参照等）設定することができる。
【００３４】
関連エントリＩＤは、マッチ条件が同一でアクションフィールドが異なる関連エントリのＩＤを設定するフィールドである。図５の例では、エントリＩＤ＝５０００のフローエントリの関連エントリＩＤに５００１が設定され、エントリＩＤ＝５００１のフローエントリの関連エントリＩＤに５０００が設定されている。つまり、エントリＩＤ＝５０００のフローエントリと、エントリＩＤ＝５００１のフローエントリと、マッチ条件が同一でアクションフィールドが異なる関連エントリ（処理分散型フローエントリのセット）であることを示している。なお、図５の例では、関連エントリが２つの場合を示しているが、関連エントリが３つ以上あってもよい。また、関連エントリが空欄の場合、そのフローエントリは、通常のフローエントリとして取り扱うようにしてもよい。
【００３５】
関連エントリ間優先度は、上記関連エントリ間の適用優先度を示している。図５の例では、数値の小さい方が、適用優先度が高いものとしている。例えば、ポートＣからパケットを受信した場合、エントリＩＤ＝５０００のフローエントリとエントリＩＤ＝５００１のフローエントリとがヒットすることになるが、関連エントリ間優先度の高いエントリＩＤ＝５０００のフローエントリが選択されることになる。
【００３６】
カウンターフィールドは、マッチ条件に適合したパケットの数をカウントした値を保持するフィールドである。本実施形態では、このカウンターの値を所定のしきい値を比較することで、関連エントリ間の適用優先度を変更する。なお、このカウンターとして、非特許文献２のオープンフロースイッチが記録するエントリごとのフロー統計情報を用いてもよいが、別個にカウンターを設けてもよい。
【００３７】
以上のような、フローエントリは、非特許文献２の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」に記載されているフローエントリに、エントリＩＤと、関連エントリＩＤと、関連エントリ間優先度等を格納するフィールドを追加することで構成できる。
【００３８】
キュー情報収集部１２０は、スイッチ２００のキュー情報送信部２３０からキュー情報を受信して、所定期間、蓄積する動作を行う。
【００３９】
なお、図２、図４に示した制御装置１００及びスイッチ２００の各部（処理手段）は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４０】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図６は、本発明の第１の実施形態の制御装置の動作を示す流れ図である。図６を参照すると、制御装置１００は、所定の時間間隔で、スイッチ２００から図３に例示したキュー情報を収集する（ステップＳ００１）。なお、キュー情報の送信単位は、図３に示したポート毎のキュー情報を単位に個別に送信してもよいし、スイッチ毎に図３に示したキュー情報をまとめて送信することとしてもよい。後者のようにスイッチ毎に図３に示したキュー情報をまとめて送信することとすれば、キュー情報の送信回数を減らすことができる。
【００４１】
次に、制御装置１００は、受信したキュー情報を元に、スイッチに設定済みのフローエントリの中から、処理分散型のフローエントリに変更するフローエントリを選定する（ステップＳ００２）。具体的には、制御装置１００は、キュー情報に示された廃棄パケット数が多いポートを出力先とするフローエントリを選択する。
【００４２】
次に、制御装置１００は、前記フローエントリに置き換えて設定する、処理分散型のフローエントリを作成し、該当するスイッチに設定する（ステップＳ００３）。例えば、同一のマッチ条件にて、図７のスイッチ２００のポートＡから出力するフローエントリと、図８のスイッチ２００のポートＢから出力するフローエントリと、を作成し、図５に示すように、スイッチに設定する。また、制御装置１００は、スイッチ２００に対し、処理分散型のフローエントリに適用する優先度の変更条件を送信する。例えば、カウンターが１００になったら、といった条件が送信される。送信された優先度の変更条件は、スイッチ２００の優先度変更部２４０にて保持される。
【００４３】
また、前記条件が成就したときの優先度の変更方法を指定できるようにしてもよい。最も簡単方法は、２つのフローエントリの優先度を入れ替える方法である。そのほか、処理分散型フローエントリが３つ以上ある場合には、２位以下の優先度を持つフローエントリの優先度を１つ繰り上げ、従前の最上位の優先度を持つフローエントリの優先度を最下位に繰り下げるといった方法を用いることもできる。
【００４４】
以上により、制御装置１００側の処理が完了する。その後は、スイッチ２００側での動作となり、スイッチ２００は、処理分散型フローエントリにマッチするパケットを受信すると、その適用優先度の高い方のフローエントリを選択してパケットを処理する。その際に、スイッチ２００は、カウンターを更新し、制御装置１００から指定された条件にて、処理分散型フローエントリ間の適用優先度を変更する。
【００４５】
例えば、図５に示すような処理分散型フローエントリが設定されている場合、スイッチ２００は、ポートＣからパケットを受信すると、そのエントリＩＤ＝５０００のフローエントリのアクションフィールドに従い、図７に示すように、パケットをポートＡから送信する。また、その際に、スイッチ２００は、エントリＩＤ＝５０００のフローエントリのカウンターフィールドをインクリメントする。
【００４６】
一方で、スイッチ２００の優先度変更部２４０が、処理分散型フローエントリのカウンターフィールドを参照して、処理分散型フローエントリの優先度の変更の要否を判定する。例えば、ポートＣから受信したパケット数が指定のしきい値を超えた場合、スイッチ２００の優先度変更部２４０は、図５のエントリＩＤ＝５００１のフローエントリの優先度を「１」に変更し、エントリＩＤ＝５０００のフローエントリの優先度を「２」に変更する。これにより、その後、ポートＣからパケットを受信すると、スイッチ２００は、エントリＩＤ＝５００１のフローエントリのアクションフィールドに従い、図８に示すように、パケットをポートＢから送信する。
【００４７】
以上のように、本実施形態によれば、あるマッチ条件に適合するパケット群をスイッチ側の動作にて異なる処理を適用することが可能となる。例えば、前記カウンターと比較するしきい値としてＮを採用すれば、そのスイッチは、あるパケットをＮ個受信する毎に、経路や処理内容を変更する動作を行うことになる。
【００４８】
また、本発明の効果は、１つのスイッチに設定した場合に限られない。例えば、図９に示すように、ネットワーク上のスイッチ２００−１〜２００−６に、それぞれ転送先を切り替えるタイプの処理分散型フローエントリのセットを設定することで、図９の矢線に示すように、トラヒックを分散させることが可能となる。また、図９の例では、分散されたトラヒックは、最終的にスイッチ２００−７に集約されることになる。このため、輻輳等により、途中のポートで廃棄される可能性を低減することが可能となる。
【００４９】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００５０】
例えば、上記した実施形態では、処理分散型フローエントリのカウンターフィールドを参照して、処理分散型フローエントリの優先度の変更の要否を判定するものとして説明したが、例えば、スイッチ２００にタイマーを持たせ、所定時間毎に、処理分散型フローエントリの適用優先度を変更させてもよい。もちろん、所定時間の経過、所定パケット数の受信のいずれか／双方が成立したことを契機に処理分散型フローエントリの適用優先度を変更するといった複合条件を設定してもよい。
【００５１】
また、スイッチ２００が非特許文献２のオープンフロースイッチの機能を有している場合には、上述したキュー情報を用いるまでもなく、そのフロー統計機能を用いて得られた情報（フローエントリ毎、ポート毎の処理パケット数）を元に、処理分散型フローエントリを作成、送信することもできる。
【００５２】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態の通信システムにおいて、
前記制御装置は、前記スイッチに対し、前記条件として、フローエントリ毎に設けられているカウンター値が所定のしきい値を超える度に前記適用優先度を変更するとの内容を指示する通信システム。
［第３の形態］
第１又は第２の形態の通信システムにおいて、
前記制御装置は、前記スイッチに対し、前記条件として、前記適用優先度を所定時間毎に変更するとの内容を指示する通信システム。
［第４の形態］
第１から第３いずれか一の形態の通信システムにおいて、
前記制御装置は、前記スイッチから収集したフローエントリ毎のカウンターの値に基づいて、前記２以上のフローエントリと前記条件とを送信するスイッチを決定する通信システム。
［第５の形態］
第１から第４いずれか一の形態の通信システムにおいて、
前記制御装置は、前記スイッチから、各ポートにおいて送信されずに破棄されたパケットの統計情報の値を収集し、前記破棄されたパケットが多いポートからの出力が指示されているフローエントリに対し、同一マッチ条件を持ち他のポートからの出力を指示するフローエントリを作成し、前記スイッチに対し、前記作成したフローエントリと、前記２つのフローエントリ間の適用優先度を変更する条件とを送信する通信システム。
［第６の形態］
第５の形態の通信システムにおいて、
前記スイッチは、前記制御装置に対し、ポート単位又はスイッチ毎にまとめて、前記スイッチの各ポートにおいて送信されずに破棄されたパケットの統計情報を送信する通信システム。
［第７の形態］
（上記第２の視点によるスイッチ参照）
［第８の形態］
（上記第３の視点による制御装置参照）
［第９の形態］
（上記第４の視点によるパケット処理方法参照）
［第１０の形態］
（上記第５の視点によるプログラム参照）
なお、上記第７〜第１０の形態は、第１の形態と同様に、第２〜第６の形態に展開することが可能である。
【００５３】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００５４】
１００、１００Ａ  制御装置
１１０  処理分散型フローエントリ作成部
１２０  キュー情報収集部
１３０  プロトコル処理部
２００、２００−１〜２００−７  スイッチ
２１０  フローエントリ記憶部
２２０  パケット処理部
２３０  キュー情報送信部
２４０  優先度変更部
Ａ〜Ｎ  ポート
【図１】
0005999251.tif 000002
【図２】
0005999251.tif 000003
【図３】
0005999251.tif 000004
【図４】
0005999251.tif 000005
【図５】
0005999251.tif 000006
【図６】
0005999251.tif 000007
【図７】
0005999251.tif 000008
【図８】
0005999251.tif 000009
【図９】
0005999251.tif 000010