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