(57)【特許請求の範囲】
【請求項１】
複数のノードを含む通信システムであって、
第一のパケットを処理するための処理規則を要求する第一のノードと、
前記要求に応じて、前記第一のパケットに対応する第一の処理規則を決定し、前記第一のパケットに関連する第二のパケットに対応する第二の処理規則を予め決定する第一の手段と、
前記第一の処理規則を前記第一のノードに通知し、前記第二の処理規則を前記複数のノードの少なくとも１つに通知する第二の手段と、を備える制御装置と、
を含むことを特徴とする通信システム。
【請求項２】
前記制御装置が、
前記第一のパケットに関する情報と、前記第一のパケットに関連する前記第二のパケットに関する情報とを対応付けて記憶する記憶部と、
前記記憶部を参照して、前記第一のパケットと前記第二のパケットとが関連すると決定する手段と、
を備える請求項１に記載の通信システム。
【請求項３】
前記第一の手段は、
前記第二の処理規則として、前記第二のパケットを前記第一のパケットの送信先から前記第一のパケットの送信元まで転送する経路に対応する処理規則を決定する請求項１又は２に記載の通信システム。
【請求項４】
前記第一の手段は、前記第一の処理規則を予め決定し、
前記第二の手段は、前記第一の処理規則を、前記複数のノードの少なくとも一つに対して通知する
請求項１乃至３のいずれか一項に記載の通信システム。
【請求項５】
前記複数のノードの少なくとも１つは、
前記第一のパケットを受信した場合に、前記制御装置に対して第一のパケットを受信したことを示す受信通知を通知する手段を備え、
前記第一の手段は、前記受信通知に応じて、前記第二の処理規則を決定する
請求項４に記載の通信システム。
【請求項６】
前記第一の手段は、前記第一のパケットを受信した場合に、前記制御装置に対して前記受信通知を送信することを規定した第三の処理規則を予め決定し、
前記第二の手段は、前記第三の処理規則を前記複数のノードの少なくとも１つに通知する
請求項５に記載の通信システム。
【請求項７】
前記第一の手段は、前記第一のパケットに対応する前記パケット受信通知を受信した場合に、該第一のパケットに対応する前記パケット受信通知の送信を抑止するように、前記パケット受信通知を送信したノードに指示する
請求項６に記載の通信システム。
【請求項８】
複数のノードと接続する制御装置であって、
第一のノードから、第一のパケットを処理するための処理規則の要求を受信する手段と、
前記要求に応じて、前記第一のパケットに対応する第一の処理規則を決定し、前記第一のパケットに関連する第二のパケットに対応する第二の処理規則を予め決定する第一の手段と、
前記第一の処理規則を前記第一のノードに通知し、前記第二の処理規則を前記複数のノードの少なくとも１つに通知する第二の手段と、
を備えることを特徴とする制御装置。
【請求項９】
前記第一のパケットに関する情報と、前記第一のパケットに関連する前記第二のパケットに関する情報とを対応付けて記憶する記憶部と、
前記記憶部を参照して、前記第一のパケットと前記第二のパケットとが関連すると決定する手段と、
を備える請求項８に記載の制御装置。
【請求項１０】
前記第一の手段は、
前記第二の処理規則として、前記第二のパケットを前記第一のパケットの送信先から前記第一のパケットの送信元まで転送する経路に対応する処理規則を決定する
請求項８又は９に記載の制御装置。
【請求項１１】
前記第一の手段は、前記第一の処理規則を予め決定し、
前記第二の手段は、前記第一の処理規則を、前記複数のノードの少なくとも一つに対して通知する
請求項８乃至１０のいずれか一項に記載の制御装置。
【請求項１２】
前記複数のノードの少なくとも１つから、前記第一のパケットを受信したことを示す受信通知を受信する手段を備え、
前記第一の手段が、前記受信通知に応じて、前記第二の処理規則を決定する
請求項１１に記載の制御装置。
【請求項１３】
前記第一の手段は、前記第一のパケットを受信した場合に、前記制御装置に対して前記受信通知を送信することを規定した第三の処理規則を予め決定し、
前記第二の手段は、前記第三の処理規則を前記複数のノードの少なくとも１つに通知する
請求項１２に記載の制御装置。
【請求項１４】
前記第一の手段は、前記第一のパケットに対応する前記パケット受信通知を受信した場合に、該第一のパケットに対応する前記パケット受信通知の送信を抑止するように、前記パケット受信通知を送信したノードに指示する
請求項１３に記載の制御装置。
【請求項１５】
複数のノードと接続する制御装置が実行する制御方法であって、
第一のノードから、第一のパケットを処理するための処理規則の要求を受信するステップと、
前記要求に応じて、前記第一のパケットに対応する第一の処理規則を決定し、前記第一のパケットに関連する第二のパケットに対応する第二の処理規則を予め決定するステップと、
前記第一の処理規則を前記第一のノードに通知し、前記第二の処理規則を前記複数のノードの少なくとも１つに通知するステップと、
を有することを特徴とする制御方法。
【請求項１６】
前記第一のパケットに関する情報と、前記第一のパケットに関連する前記第二のパケットに関する情報とに基づいて、前記第一のパケットと前記第二のパケットとが関連すると決定するステップ
を有する請求項１５に記載の制御方法。
【請求項１７】
前記第二の処理規則として、前記第二のパケットを前記第一のパケットの送信先から前記第一のパケットの送信元まで転送する経路に対応する処理規則を決定するステップ
を有する請求項１５又は１６に記載の制御方法。
【請求項１８】
前記第一の処理規則を予め決定するステップと、
前記第一の処理規則を、前記複数のノードの少なくとも一つに対して通知するステップと、
を有する請求項１５乃至１７のいずれか一項に記載の制御方法。
【請求項１９】
前記複数のノードの少なくとも１つから、前記第一のパケットを受信したことを示す受信通知を受信するステップと、
前記受信通知に応じて、前記第二の処理規則を決定するステップと、
を有する請求項１８に記載の制御方法。
【請求項２０】
前記第一のパケットを受信した場合に、前記制御装置に対して前記受信通知を送信することを規定した第三の処理規則を予め決定するステップと、
前記第三の処理規則を前記複数のノードの少なくとも１つに通知するステップと、
を有する請求項１９に記載の制御方法。
【請求項２１】
前記第一のパケットに対応する前記パケット受信通知を受信した場合、該第一のパケットに対応する前記パケット受信通知の送信を抑止するように、前記パケット受信通知を送信したノードに指示するステップ
を有する請求項２０に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１１−２１４４８２号（２０１１年９月２９日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置及びその制御方法に関する。特に、通信ネットワークに関し、通信の経路を設定する通信システム、制御装置及びその制御方法に関する。
【背景技術】
【０００２】
複数のノードにおけるパケットの転送経路の制御を制御装置が集中して行う、集中管理型のネットワークの経路制御手法がある。このような集中管理型の関連技術の例として、オープンフロー（ＯｐｅｎＦｌｏｗ）技術がある。
【０００３】
特許文献１には、オープンフロー技術を用いた集中管理型の経路制御手法が開示されている。特許文献１に記載のオープンフロー技術は、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御を行い、負荷分散や経路の最適化を行うものである。
【０００４】
特許文献１において、転送ノードとして機能するスイッチは、パケットの経路を計算するコントローラ（制御装置）との通信用のセキュアチャネルを備え、コントローラが設定するフローテーブルに従って動作する。フローテーブルでは、パケットのヘッダ情報に照合するマッチングルール（照合規則）と、そのマッチングルールに適合するパケットに適用する処理の内容を記述したアクション（Ａｃｔｉｏｎ）との組が定義されている。アクションは、パケットを特定のインターフェイスへ転送する処理などである。
【０００５】
特許文献１に記載のスイッチは、パケットを受信すると、フローテーブルから、受信したパケットのヘッダ情報に適合するマッチングルールを持つエントリを検索する。検索の結果、受信したパケットに適合するエントリが見つかった場合、スイッチは、そのエントリのアクションフィールドに記述された処理内容（例えば、受信したパケットを特定のインターフェイスへの転送すること）を実施する。
【０００６】
一方、検索の結果、パケットに適合するエントリが見つからない場合、スイッチは、コントローラに対して、受信したパケットに対するエントリの設定を要求する。コントローラは、該要求に応じて、該受信したパケットの経路を計算し、計算した経路に関係するスイッチに対して、該経路を用いた転送を実現するエントリを通知する。エントリの通知を受けたスイッチは、フローテーブルを更新し、更新後のフローテーブルのエントリに記述された処理内容、すなわち受信したパケットの転送を実施する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２０１０−５４１４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献の各開示は、本書に引用をもって繰り込むものとする。以下の分析は、本発明によって与えられたものである。上記の通り、特許文献１が開示する関連技術において、スイッチは、互いに関連するパケットであっても、ヘッダ情報が異なれば、それぞれのパケットが異なるフローに属するものと認識する。よって、スイッチは、互いに関連するパケットのそれぞれについて、コントローラに対してエントリの設定を要求する。
【０００９】
コントローラは、エントリ設定の要求に対して、互いに関連するパケットのそれぞれについてエントリを計算する必要があり、コントローラの計算負荷増大の要因となる。
【課題を解決するための手段】
【００１０】
本発明の第１の視点によれば、複数のノードを含む通信システムであって、第一のパケットを処理するための処理規則を要求する第一のノードと、前記要求に応じて、前記第一のパケットに対応する第一の処理規則を決定し、前記第一のパケットに関連する第二のパケットに対応する第二の処理規則を予め決定する第一の手段と、前記第一の処理規則を前記第一のノードに通知し、前記第二の処理規則を前記複数のノードの少なくとも１つに通知する第二の手段と、を備える制御装置と、を含む通信システムが提供される。
【００１１】
本発明の第２の視点によれば、複数のノードと接続する制御装置であって、第一のノードから、第一のパケットを処理するための処理規則の要求を受信する手段と、前記要求に応じて、前記第一のパケットに対応する第一の処理規則を決定し、前記第一のパケットに関連する第二のパケットに対応する第二の処理規則を予め決定する第一の手段と、前記第一の処理規則を前記第一のノードに通知し、前記第二の処理規則を前記複数のノードの少なくとも１つに通知する第二の手段と、を備える制御装置が提供される。
【００１２】
本発明の第３の視点によれば、複数のノードと接続する制御装置が実行する制御方法であって、第一のノードから、第一のパケットを処理するための処理規則の要求を受信するステップと、前記要求に応じて、前記第一のパケットに対応する第一の処理規則を決定し、前記第一のパケットに関連する第二のパケットに対応する第二の処理規則を予め決定するステップと、前記第一の処理規則を前記第一のノードに通知し、前記第二の処理規則を前記複数のノードの少なくとも１つに通知するステップと、を有する制御方法が提供される。
【発明の効果】
【００１３】
本発明によれば、コントローラが、互いに関連するパケットの経路の計算をまとめて行うため、コントローラの負荷を低減させることができる。
【図面の簡単な説明】
【００１４】
【図１】第一の実施形態のネットワークシステムの構成例を示す図である。
【図２】第一の実施形態のノードの構成例を示す図である。
【図３】第一の実施形態のコントローラの構成例を示す図である。
【図４】第二の実施形態のパケット関連性テーブルの一例を示す図である。
【図５】第一の実施態様のパケットのヘッダ情報の構成例を示す図である。
【図６】第一の実施形態のパケット受信した際のノードの動作例を示す図である。
【図７】第一の実施形態のフローエントリの要求を受けた際のコントローラの動作例を示す図である。
【図８】第二の実施形態のネットワークシステムの構成例を示す図である。
【図９】第二の実施形態のコントローラの構成例を示す図である。
【図１０】第三の実施形態のネットワークシステムの構成例を示す図である。
【図１１】第三の実施形態のフローエントリの要求を受けた際のコントローラの動作例を示す図である。
【図１２】第四の実施形態のノードの構成例を示す図である。
【図１３】第四の実施形態のコントローラの構成例を示す図である。
【図１４】第四の実施形態のフローエントリ記憶部の一例を示す図である。
【図１５】第四の実施形態の事前に経路を設定する際のコントローラの動作例を示す図である。
【図１６】第四の実施形態のパケットを受信した際のノードの動作例を示す図である。
【図１７】第四の実施形態の要求を受けた際のコントローラの動作例を示す図である。
【発明を実施するための形態】
【００１５】
以下では、各実施形態について、図面を用いて説明する。
【００１６】
[第一の実施形態]
図１は、第一の実施形態のネットワークシステムの構成例を示す図である。
【００１７】
第一の実施形態では、コントローラＣ１が、複数のノードＲ１〜Ｒ３の少なくとも１つからの要求に応じて、パケットの転送経路を制御する。このような集中管理型の関連技術の一例として、上述した通り、オープンフロー技術がある。ネットワークシステムを実施するためには、オープンフロー技術を適用してもよい。以下では、ネットワークシステムにオープンフロー技術を適用した場合の実施形態を説明する。なお、第１の実施形態のネットワークシステムを実施するためには、コントローラ（経路制御装置）が複数のノードにおけるパケットの転送経路を集中制御できればよく、オープンフロー技術に限定されるものではない。
【００１８】
図１に示すように、第一の実施形態のネットワークシステムは、パケットの転送を行うノードＲ１〜Ｒ３を含む。また、該ネットワークシステムは、ノードＲ１〜Ｒ３の少なくとも１つからの要求に応じて、パケットの転送経路を制御するコントローラＣ１を含む。
【００１９】
ノードＲ１〜Ｒ３の各々は、コントローラＣ１と通信するために、コントローラＣ１との間にセキュリティが確保された通信チャネルを確立する（図１の点線）。そして、ノードＲ１〜Ｒ３の各々は、コントローラＣ１から適宜追加または書き換えられる処理規則（以下、「フローエントリ」と記す。）に従って受信したパケットを処理する。
【００２０】
ノードＲ１〜Ｒ３の各々の構成例を図２に示す。
【００２１】
パケット受信手段１０がパケットを受信し、パケット処理手段１１は、コントローラＣ１から通知されるフローエントリに応じて、受信したパケットを処理する。フローエントリ要求手段１２は、例えば、受信したパケットに対応するフローエントリが存在しない場合、受信したパケットを処理するためのフローエントリを、コントローラＣ１に要求する。フローエントリ記憶部１３は、パケットに適用する処理と、前記処理を適用するパケットを特定するための照合規則とを対応付けたフローエントリを記憶する。フローエントリ変更手段１４は、コントローラＣ１から通知されるフローエントリに基づいて、フローエントリ記憶部１３のフローエントリを変更する。
【００２２】
パケット処理手段１１は、フローエントリ記憶部１３を参照して、パケット受信手段１０で受信したパケットに適合する照合規則を持つフローエントリを検索する。そして、受信したパケットに対応するフローエントリが存在する場合、パケット処理手段１１が、対応するフローエントリに基づいて、受信したパケットを処理する。
【００２３】
受信したパケットに対応するフローエントリが存在しない場合、フローエントリ要求手段１２は、セキュアチャネルを介して、コントローラＣ１に受信したパケットを処理するためのフローエントリを要求する。
【００２４】
フローエントリ変更手段１４は、コントローラＣ１から通知されるフローエントリを、フローエントリ記憶部１３に格納する。パケット処理手段１１は、コントローラＣ１から通知されたフローエントリに従って、受信したパケットを処理する。
【００２５】
コントローラＣ１は、図３に示すように、第一のノードからの要求に応じて、第一のパケットに対応する第一のフローエントリを決定し、該第一のパケットに関連する第二のパケットに対応する第二のフローエントリを予め決定するフローエントリ決定手段２０を有する。また、コントローラＣ１は、セキュアチャネルを介してノードと通信する通信手段２１を有する。また、コントローラＣ１は、互いに関連のあるパケットの情報を記憶するパケット関連性テーブル２２を有する。
【００２６】
フローエントリ決定手段２０は、例えば、ノードＲ１からの要求に応じて、ノードＲ１が受信したパケットＰ１に対応する第一のフローエントリを決定し、パケットＰ１に関連するパケットＰ２に対応する第二のフローエントリを予め決定する。フローエントリ決定手段２０は、関連する複数のパケットに対応するエントリを、１つのトランザクションで計算する。関連するパケットは、例えば、所定のパケット（第一のパケット）に起因して発生する他のパケット（第二のパケット）を意味する。
【００２７】
例えば、端末が送信したパケットを第一のパケットとすると、該パケットに対する応答パケットは、第一のパケットに関連する第二のパケットである。該応答パケットは、端末が送信したパケットに起因して発生するためである。具体的には、ＤＮＳやＡＲＰ、ＥＡＰ、ＮＴＰ、ＷＩＮＳなどのプロトコルにおいて、端末が送信するパケットを第一のパケットとすると、サーバが返信する応答パケットが、第一のパケットに関連する第二のパケットに該当する。
【００２８】
例えば、データを格納したパケットを第一のパケットとすると、該データを格納したパケットを受信したことを通知する確認応答（ＡＣＫ：Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）パケットは、第一のパケットに関連する第二のパケットである。
【００２９】
例えば、端末がロードバランサなどの装置を介してサーバにアクセスする場合に、端末からロードバランサへのパケットに起因して、ロードバランサからサーバへのパケットが発生する。この場合において、端末からロードバランサへのパケットを第一のパケットとすると、ロードバランサからサーバへのパケットは、第一のパケットに関連する第二のパケットである。
【００３０】
関連するパケットは、上記の例に限られず、所定のパケットに起因して発生する他のパケットであれば、どのようなパケットであってもよい。
【００３１】
なお、関連するパケットの数に限定はなく、任意の数のパケットを関連するパケットと定義してもよい。例えば、端末からロードバランサを介してパケットを受信したサーバが、さらにデータベースとやり取りを行う場合、以下の第一のパケット、第二のパケット及び第三のパケットが互いに関連するパケットとなる：（１）端末からロードバランサへのパケットを第一のパケット、（２）ロードバランサからサーバへのパケットを第二のパケット、（３）サーバからデータベースへのパケット。
【００３２】
フローエントリ決定手段２０は、関連するパケットを決定するために、互いに関連のあるパケットの情報を記憶するパケット関連性テーブル２２を参照してもよい。
【００３３】
図４は、パケット関連性テーブル２２のテーブル構成の一例を示す図である。
【００３４】
パケット関連性テーブル２２は、図４に示すとおり、パケットの情報と、該パケットに関連する少なくとも１つの他のパケットの情報とが、対応して記憶されている。例えば、パケット関連性テーブル２２には、端末が送信するパケットの情報に対応して、サーバが返信する応答パケットが対応付けられている。
【００３５】
図４において、Ａ〜Ｇは、第一又は第二のパケットの情報を示す。
【００３６】
例えば、Ａ〜Ｇは、図５で示されるパケットのヘッダ情報である。この場合において、パケット関連性テーブル２２には、例えば、第一のパケットのヘッダ情報Ａに対して、第二のパケットのヘッダ情報Ｂ、Ｃ、Ｄが記憶される。
【００３７】
例えば、Ａ〜Ｇは、図５で示されるパケットのヘッダ情報の一部から構成される情報であってもよい。具体的には、Ａ〜Ｇは、ＭＡＣ宛先アドレス３１、ＭＡＣ送信元アドレス３２、ＩＰ宛先アドレス３４及びＩＰ送信元アドレス３５から構成される情報であってもよい。もちろん、Ａ〜Ｇは、パケットのヘッダ情報の要素３０〜３７をどのように組み合わせて構成してもよい。
【００３８】
例えば、Ａ〜Ｇで示される第一又は第二のパケットの情報は、パケットそのものであってもよい。
【００３９】
Ａ〜Ｇで示される第一又は第二のパケットの情報は、上記の例に限られず、パケットを識別できる情報であれば、どのような情報であってもよい。
【００４０】
また、パケット関連性テーブル２２は、第二のパケットの情報に関連するパケットの情報として第三のパケットの情報を記憶してもよい。フローエントリ決定手段２０は、パケット関連性テーブル２２により、第二のパケットと第三のパケットとが関連すると決定できる。フローエントリ決定手段２０は、第一、第二及び第三のパケットを互いに関連するパケットとして、１つのトランザクションとしてまとめて経路の計算を行うことができる。フローエントリ決定手段２０は、この動作を繰り返すことにより、互いに関連するパケットを、１つのトランザクションとしてまとめて経路計算できる。なお、１つのトランザクションとしてまとめて経路計算できるパケットの数や種類は、いくつであってもよい。
【００４１】
コントローラＣ１の通信手段２１は、少なくとも１つのノードからフローエントリの要求を受信する。例えば、通信手段２１は、ノードＲ１が受信したパケットＰ１を処理するためのフローエントリの要求をノードＲ１から受信する。
【００４２】
また、通信手段２１は、フローエントリ決定手段２０が決定したフローエントリをノードに通知する。すなわち、通信手段２１は、第一のフローエントリを第一のノードに通知し、第二のフローエントリを少なくとも１つのノードに通知する。例えば、通信手段２１は、パケットＰ１に対応する第一のフローエントリをノードＲ１に通知し、パケットＰ１に関連するパケットＰ２に対応する第二のフローエントリをノードＲ２に通知する。
【００４３】
第一の実施形態において、ノードＲ３がパケットを受信した際の動作例について、図６を用いて説明する。
【００４４】
ステップ１１（Ｓ１１）において、ノードＲ３のパケット処理手段１１は、受信したパケットに対応するフローエントリが、フローエントリ記憶部１３に記憶されているか否かを判定する。
【００４５】
判定の結果フローエントリが登録されている場合には、ステップ１２（Ｓ１２）において、パケット受信手段１０で受信したパケットをフローエントリに応じて転送する。
【００４６】
判定の結果フローエントリが登録されていない場合には、ステップ１３（Ｓ１３）において、フローエントリ要求手段１２が、コントローラＣ１に対して、パケットに対するフローエントリの設定を要求する。
【００４７】
ステップ１４（Ｓ１４）において、フローエントリ変更手段１４が、コントローラから通知されるフローエントリを、フローエントリ記憶部１３に登録する。そして、ステップ１２（Ｓ１２）において、パケット受信手段１０で受信したパケットをフローエントリに応じて転送する。
【００４８】
第一の実施形態において、コントローラＣ１が、ノードＲ３からパケットを処理するためのフローエントリの要求を受信した場合の動作例について、図７を用いて説明する。
【００４９】
ステップ２０（Ｓ２０）で、コントローラＣ１の通信手段２１は、ノードＲ３から、受信したパケットを処理するためのフローエントリの要求を受信する。
【００５０】
ステップ２１（Ｓ２１）で、フローエントリ決定手段２０は、ノードＲ３からの要求に応じて、ノードＲ３が受信した第一のパケットに対応する第一のフローエントリを決定し、該第一のパケットに関連する第二のパケットに対応する第二のフローエントリを予め決定する。
【００５１】
ステップ２２（Ｓ２２）で、通信手段２１は、第一のフローエントリをノードＲ３に通知し、第二のフローエントリを少なくとも１つのノードに通知する。
【００５２】
上記の通り、第一の実施形態では、コントローラＣ１が、第一のノードからの要求に応じて、第一のパケットに対応する第一のフローエントリを決定し、該第一のパケットに関連する第二のパケットに対応する第二のフローエントリを予め決定するため、第一のパケットと第二のパケットとに対応するフローエントリを別々に決定する場合に比べて、コントローラＣ１の負荷を低減することができる。
【００５３】
［第二の実施形態］
第二の実施形態は、第一の実施形態のネットワークシステムに、受信したパケットを適切な送信先に振り分けるロードバランサを有する実施形態である。
【００５４】
図８は、第二の実施形態のネットワークシステムの構成例を示す図である。なお、第一の実施形態と同じ構成については、説明を省略する。
【００５５】
図８に示される通り、第二の実施形態におけるネットワークシステムは、ノードＲ１〜Ｒ３の少なくとも１つを介してネットワークに接続する端末Ｔ１を有する。また、該ネットワークシステムは、端末Ｔ１とパケットの送受信を行うサーバＳ１及びＳ２を有する。さらに、該ネットワークシステムは、パケットを受け取り、適切なサーバに該パケットを転送するロードバランサＬＢを有する。図８に示されるネットワークシステムにおいて、ロードバランサＬＢは、端末Ｔ１からのパケットを適切なサーバに振り分ける。
【００５６】
端末Ｔ１は、サーバＳ１とパケットの送受信を行う。端末Ｔ１は、複数のノードＲ１〜Ｒ３の少なくとも１つを介して、ネットワークに接続する。端末Ｔ１とノードＲ１〜Ｒ３との接続は、無線通信を含むどのような接続方式であってもよい。
【００５７】
端末Ｔ１は、サーバＳ１及びＳ２を送信先とするパケットを送信する。例えば、サーバＳ１及びＳ２は、端末Ｔ１から送信されたパケットに応じて、端末Ｔ１にサービスを提供するため、応答パケットを返信する。
【００５８】
ロードバランサＬＢは、端末Ｔ１が送信するパケットを受信し、該パケットの適切な送信先を決定し、パケットのＭＡＣアドレスなどを書き換えて、適切なサーバに転送する。図８の例では、ロードバランサＬＢは、端末Ｔ１から受信したパケットを、サーバＳ１又はＳ２のどちらか一方に転送する。
【００５９】
ノードＲ１〜Ｒ３の各々は、端末Ｔ１が接続可能であり、該端末Ｔ１からパケットを受信する。なお、ノードＲ１〜Ｒ３の構成は、第一の実施形態と同様である。
【００６０】
コントローラＣ１は、ノードＲ１〜Ｒ３の少なくもと１つからの要求に応じて、パケットの転送経路を制御する。コントローラＣ１は、図９に示す通り、決定したフローエントリをノードに設定するフローエントリ設定手段２３を有する。また、コントローラＣ１は、関連するパケット同士を対応付けて記憶するパケット関連性テーブル２２を有する。なお、フローエントリ決定手段２０、通信手段２１、及びパケット関連性テーブル２２は、第一の実施形態と同様である。
【００６１】
通信手段２１は、図８の例において、端末Ｔ１が接続するノードＲ３から、ノードＲ３が受信したパケットに対するフローエントリの設定の要求を受信する。
【００６２】
フローエントリ決定手段２０は、通信手段２１が受信した要求に応じて、第一のパケットを処理するフローエントリを決定し、該第一のパケットに関連する第二のパケットを処理するフローエントリを予め決定する。図８の例では、フローエントリ決定手段２０は、第一のパケットを処理するフローエントリとして、端末Ｔ１からロードバランサＬＢへパケットを転送するための経路を計算し、該経路を実現するためのフローエントリを決定する。また、フローエントリ決定手段２０は、第二のパケットを処理するフローエントリとして、ロードバランサＬＢからサーバＳ１又はＳ２へパケットを転送するための経路を計算し、該経路を実現するためのフローエントリを予め決定する。
【００６３】
ここで、ノードＲ３がパケットを受信した際には、ロードバランサＬＢが実際にサーバＳ１とサーバＳ２とのどちらにパケットを振り分けるか分からない。そこで、フローエントリ決定手段２０は、サーバＳ１へのパケットと、サーバＳ２へのパケットとの両方に対して経路を計算し、該経路を実現するためのフローエントリを予め決定する。このようにして、ロードバランサＬＢがパケットを振り分けるサーバを決定し、パケットを転送した際に、ノードＲ２が、コントローラにフローエントリを要求することなく、該パケットを処理できる。
【００６４】
例えば、フローエントリ決定手段２０は、サーバＳ１へのパケットの経路としてＬＢ→Ｒ２→Ｒ１→Ｓ１と計算し、サーバＳ２へのパケットの経路としてＬＢ→Ｒ２→Ｒ１→Ｓ２と計算し、該経路を実現するためのフローエントリを予め決定する。そして、フローエントリ設定手段２３が、予め決定したフローエントリを、ノードＲ２とＲ３とに設定する。そのため、例えばロードバランサＬＢがサーバＳ１に振り分けると決定し、サーバＳ１へのパケットをノードＲ２に転送した場合に、ノードＲ２は、コントローラＣ１にフローエントリを要求することなく、該パケットを転送することができる。
【００６５】
パケット関連性テーブル２２には、端末Ｔ１からロードバランサＬＢまでのパケットの情報に対応して、（１）ロードバランサＬＢからサーバＳ１宛のパケットの情報と、（２）ロードバランサＬＢからサーバＳ２宛のパケットの情報とが対応付けられている。フローエントリ決定手段２０は、パケット関連性テーブル２２を参照して、端末Ｔ１からロードバランサＬＢまでのパケットに関連するパケットとして、（１）ロードバランサＬＢからサーバＳ１宛のパケットと、（２）ロードバランサＬＢからサーバＳ２宛のパケットとを決定することもできる。
【００６６】
フローエントリ設定手段２３は、フローエントリ決定手段２０が決定した、第一のパケットを処理するフローエントリと第二のパケットを処理するフローエントリとを、少なくとも１つのノードに対して通知する。図８の例では、第一のパケットを処理するフローエントリはノードＲ３及びＲ２に、第二のパケットを処理するフローエントリはノードＲ２及びＲ１に通知する。
【００６７】
上記の通り、コントローラＣ１が、ノードＲ３が受信する第一のパケットと、第一のパケットに関連する第二のパケットとを、１つのトランザクションとしてまとめて経路の計算を行うため、それぞれのパケットの経路を別々に計算する場合に比べてコントローラＣ１の負荷を低減することができる。
【００６８】
［第三の実施形態］
第三の実施形態は、第一の実施形態において、コントローラＣ１が、ノードからの要求に対して、パケットの往路と復路とを計算し、該計算した経路を実現するフローエントリを決定する場合の実施形態である。
【００６９】
例えば、ＤＮＳやＡＲＰ、ＥＡＰ、ＮＴＰ、ＷＩＮＳなどのプロトコルでは、端末が送信するパケットに対して、サーバが応答パケットの返信を行う。したがって、往復の経路を設定する必要性が高い。一方で、ＤＮＳやＡＲＰ、ＥＡＰ、ＮＴＰ、ＷＩＮＳなどのプロトコルでは、ヘッダ情報が互いに異なるパケットを高い頻度で送受信するため、ノードは、パケットに対するフローエントリを高頻度で要求する。
【００７０】
このような場合に、コントローラＣ１が、パケットの往復の経路をまとめて計算することにより、コントローラの負荷を低減することができる。
【００７１】
図１０は、第三の実施形態のネットワークシステムの構成例を示す図である。図１０に示される通り、第三の実施形態のネットワークシステムは、ノードＲ１〜Ｒ３の少なくとも１つを介してネットワークに接続する端末Ｔ１を有する。また、前記端末Ｔ１とパケットの送受信を行うサーバＳ１を有する。
【００７２】
第三の実施形態において、ノードＲ１〜Ｒ３の構成例と、コントローラＣ１の構成例は、第二の実施形態と同様である。
【００７３】
コントローラＣ１のフローエントリ決定手段２０は、ノードＲ１〜Ｒ３の少なくとも１つから受信した要求に応じて、（１）パケットの経路（往路）と、（２）パケットに対する応答パケットの経路（復路）とを計算し、該計算した経路を実現するためのフローエントリを決定する。このように、第三の実施形態において、コントローラＣ１は、パケットを処理するためのフローエントリの要求があった場合に、そのパケットの往復の経路を計算し、それぞれの経路を実現するためのフローエントリを決定する。
【００７４】
図１０の例では、コントローラＣ１のフローエントリ決定手段２０は、ノードＲ３から受信した要求に応じて、（１）端末Ｔ１がサーバＳ１に送信するパケットの経路（往路）と、（２）サーバＳ１が端末Ｔ１に送信する応答パケットの経路（復路）とを計算する。パケットの経路としては、例えばノードＲ３→ノードＲ２→ノードＲ１と計算する。一方、応答パケットの経路としては、例えばノードＲ１→ノードＲ２→ノードＲ３と計算する。そして、フローエントリ設定手段２３は、（１）パケットの経路を実現するためのフローエントリをノードＲ３及びＲ２に通知し、（２）応答パケットの経路を実現するためのフローエントリをノードＲ２及びＲ１に通知する。
【００７５】
ここで、図１１を用いて、第三の実施形態において、コントローラＣ１がノードＲ３から、パケットに対するフローエントリの設定の要求を受信した際の動作例を説明する。なお、ノードＲ３の動作は、第一の実施形態と同様である。
【００７６】
ステップ３０（Ｓ３０）において、コントローラＣ１の通信手段２１は、端末Ｔ１が送信したパケットを受信したノードＲ３から、受信したパケットを処理するためのフローエントリの要求を受信する。
【００７７】
ステップ３１（Ｓ３１）において、フローエントリ決定手段２０は、（１）端末Ｔ１がサーバＳ１に送信するパケットの経路（往路）と、（２）サーバＳ１が端末Ｔ１に送信する応答パケットの経路（復路）とを計算し、該計算した経路を実現するためのフローエントリを決定する。
【００７８】
ステップ３２（Ｓ３２）において、フローエントリ設定手段２３は、フローエントリ決定手段２０が計算した第一の経路（往路）と第二の経路（復路）とを実現するためのフローエントリを、それぞれの経路に関連するノードに設定する。
【００７９】
上記の通り、コントローラＣ１が、端末Ｔ１から送信されるパケットに対して往復の経路を設定するため、往路と復路とを別々に経路を計算する場合に比べて、コントローラＣ１の負荷を低減することができる。
【００８０】
なお、フローエントリ決定手段２０は、ネットワークの端点に存在するノードからフローエントリの要求があった場合に、パケットの経路（往路）と、パケットに対する応答パケットの経路（復路）とをまとめて計算するように構成してもよい。コントローラが往復の経路を設定する場合を限ることで、コントローラの負荷を低減することができる。端末Ｔ１は、例えば、ネットワークの端点に存在するノードと接続する。また、ネットワークの端点に存在するノードは、例えば、コントローラＣ１が管理するネットワークドメインと、他のネットワークドメインとの接点となる。
【００８１】
例えば、フローエントリ決定手段２０は、端末Ｔ１が接続する可能性のあるノードからフローエントリの要求があった場合にだけ、パケットの経路（往路）と、パケットに対する応答パケットの経路（復路）とをまとめて計算するように構成してもよい。
【００８２】
例えば、フローエントリ決定手段２０は、他のネットワークとの接続点となるノードからフローエントリの要求があった場合に、パケットの経路（往路）と、パケットに対する応答パケットの経路（復路）とをまとめて計算するように構成してもよい。
【００８３】
［第四の実施形態］
第四の実施形態は、第三の実施形態において、各ノードから端末Ｔ１が送信したパケットの送信先となるサーバＳ１までの経路が、予め設定されている場合の実施形態である。
【００８４】
コントローラが、各ノードからパケットの送信先となりえる装置までの経路に対応するフローエントリをノートに対して予め計算しておき、ノードが実際にパケットを受信した際には該パケットの復路だけを計算するように構成することで、コントローラの負荷を低減する。
【００８５】
第四の実施形態のネットワークシステムの構成例は、第三の実施形態と同様である。
【００８６】
端末Ｔ１とサーバＳ１の動作は、第三の実施形態と同様である。
【００８７】
第四の実施形態において、ノードＲ１〜Ｒ３は、図１２に示すように、パケット受信手段１０が受信したパケットを検知して、コントローラＣ１に対して、パケットを受信したことを示すパケット受信通知を送信するパケット受信通知手段１５を具備する。
【００８８】
パケット受信通知手段１５は、パケット受信手段１０が受信したパケットを検知して、コントローラＣ１にパケットが受信したことを示すパケット受信通知を送信する。例えば、パケット受信手段１０がパケットを受信したことに応じて、ノードＲ３のパケット受信通知手段１５が、該受信したパケットに対するパケット受信通知をコントローラＣ１に通知する。
【００８９】
パケット受信通知は、ノードがパケットを受信したことを、コントローラＣ１に通知するものであり、コントローラＣ１にフローエントリを設定させる、フローエントリの要求とは異なる。
【００９０】
第四の実施形態では、ノードがパケットを受信した際に、受信したパケットに対応するフローエントリは、すでにノードのフローエントリ記憶部１３に格納されている。したがって、ノードのフローエントリ要求手段１２は、コントローラＣ１に対して、受信したパケットを処理するためのフローエントリの要求を行わない。そのため、コントローラＣ１は、ノードからフローエントリの要求を受信しない。したがって、コントローラＣ１は、第三の実施形態のように、パケットの復路の計算をノードからのフローエントリの要求に応じて行うことができない。
【００９１】
そこで、第四の実施形態では、ノードのパケット受信通知手段１５が、コントローラＣ１に対して、パケットを受信したことを示すパケット受信通知を通知する。コントローラＣ１は、該パケット受信通知に応じて、パケットの復路を計算する。
【００９２】
なお、コントローラＣ１は、パケット受信通知を受信しても、パケットの往路の計算を行わない。パケットの往路を実現するためのフローエントリは、すでにノードのフローエントリ記憶部１３に格納されているからである。
【００９３】
なお、パケット受信通知手段１５は、パケット処理手段１１が検索したフローエントリに記述されているアクションに基づいて、パケット受信通知を送信するように構成することもできる。この場合、検索されたフローエントリには、パケットの転送に関するアクションと、パケット受信通知の送信に関するアクションとが定義される。すなわち、フローエントリには、パケットの受信に応じて、該受信したパケットの受信を示すパケット受信通知を送信する処理が含まれる。
【００９４】
パケット受信通知手段１５が送信するパケット受信通知には、受信したパケットに関する情報と、通知を行うノードの識別子とが含まれる。ここで、パケットに関する情報には、ＩＰアドレスやＭＡＣアドレス等のパケットの送信元及び送信先に関する情報、該パケットを受信したポート番号、並びにシーケンス番号などのヘッダ情報などが含まれる。また、パケットに関する情報は、受信したパケットそのものであってもよい。一方、ノードの識別子には、ノードのＩＰアドレス、ＭＡＣアドレス、及びネットワーク管理者によって付与されたルータＩＤなどが含まれる。
【００９５】
なお、パケットに関する情報及びノードの識別子は、上記の例に限られず、コントローラがパケット及びノードを識別できる情報であればよい。
【００９６】
第四の実施形態において、コントローラＣ１は、図１３に示すように、予めサーバＳ１までの経路の設定を行う事前経路設定手段２４を有する。また、コントローラＣ１は、パケット受信通知を複数回送信することを防止する重複排除処理手段２５を有する。
【００９７】
事前経路設定手段２４は、第一のパケットの経路として、コントローラＣ１が制御するノードから、サーバＳ１までの経路を計算する。例えば、コントローラＣ１は、システムの起動時などに、ノードＲ１〜Ｒ３に対して、サーバＳ１に送信されるパケットに対応するフローエントリを設定する。事前経路設定手段２４は、例えば、サーバＳ１へのパケットが発生する可能性のあるノードに対して、そのノードからサーバＳ１までの経路を計算する。そして、コントローラＣ１のフローエントリ設定手段２３が、事前経路設定手段２４が予め計算した経路を実現するためのフローエントリを、少なくとも１つのノードに通知する。このように、ノードに予めパケットを処理するためのフローエントリが設定されているため、パケットを受信したノードは、フローエントリの要求を行わない。したがって、コントローラＣ１は、ノードがパケットを受信した際に、該受信したパケットの往路に関して経路を計算する必要がなく、コントローラＣ１の負荷を低減することができる。
【００９８】
重複排除処理手段２５は、パケット受信通知を通知したノードに対して、同じヘッダを有するパケットを再び受信しても、再度パケット受信通知を通知しないように、フローエントリを設定する。これにより、パケット受信通知手段１５が、一度パケット受信通知を通知したことに応じて復路を設定したパケットに関して、再びパケット受信通知を送信することを抑制することができる。
【００９９】
オープンフロー技術において、ノードのフローエントリ記憶部１３は、図１４に示すように、例えば、フローエントリを格納したフローテーブルを格納する。パケット処理手段１１は、該フローテーブルの一番目のエントリから順番に（すなわち、図１４のフローエントリＡから順番に）、受信したパケットのヘッダ情報に適合するマッチングルールを持つフローエントリを検索する。その結果、適合するマッチングルールを持つフローエントリが見つかった場合、パケット処理手段１１は、検索を中止し、該フローエントリに記載されたアクションに基づいて受信パケットを処理する。即ち、受信パケットがフローテーブルの上位のエントリに適合した場合、そのエントリ以降のフローエントリは検索されないので、優先度が高いフローエントリほどフローテーブルの上位に設定される。
【０１００】
重複排除処理手段２５は、パケット受信通知を通知することが記述されているフローエントリよりも優先度が高いフローエントリであって、パケット受信通知に対応するパケットの転送に関する処理が記述されているフローエントリを、パケット受信通知を通知したノードに設定する。すなわち、重複排除処理手段２５は、パケット受信通知を通知したノードのフローテーブルに対して、パケット受信通知の通知が記述されているフローエントリよりも上位の位置に、パケット受信通知に対応するパケットの転送に関する処理が記述されているフローエントリを設定する。
【０１０１】
また、重複排除処理手段２５は、パケット受信通知を通知したノードから、パケット受信通知を通知することが記述されているフローエントリを削除し、パケット受信通知に対応するパケットの転送に関する処理が記述されているフローエントリを登録してもよい。
【０１０２】
上記の通り、重複排除処理手段２５は、パケット受信通知を通知したノードに対して、同じヘッダを有するパケットを再び受信しても、再度パケット受信通知を通知しないように、フローエントリを設定する。したがって、ノードが、同じヘッダを有するパケットを複数回受信しても、複数回パケット受信通知を通知することがなく、該受信通知を受け取るコントローラＣ１の負荷を低減することができる。
【０１０３】
フローエントリ決定手段２０は、ノードＲ１〜Ｒ３の少なくとも１つから通知されるパケット受信通知をもとに、パケットに対する応答パケットの経路を実現するフローエントリの設定を行う。例えば、コントローラＣ１は、サーバＳ１から端末Ｔ１に向う経路を計算し、計算した経路を実現するためのフローエントリを決定する。より具体的には、フローエントリ決定手段２０が、ノードＲ３からパケット受信通知の通知を受け、応答パケットの経路としてパケットの送信先であるサーバＳ１からパケットの送信元である端末Ｔ１までの経路を計算し、該経路を実現するフローエントリを決定する。
【０１０４】
ここで、第四の実施形態に係るフローの経路制御処理を詳細に説明する。図１５は、事前に経路を設定する際のコントローラの動作例を示す図である。
【０１０５】
ステップ４０（Ｓ４０）において、事前経路設定手段２４が、サーバＳ１へのパケットが発生する可能性のあるノードＲ１及びＲ３から、サーバＳ１までの経路を予め計算する。なお、サーバＳ１宛の経路だけでなく、サーバＳ１のようなパケットの送信先となり得る装置（すなわちパケットの送信先の候補となる装置）が複数ある場合は、複数の装置それぞれについて各ノードからその複数の装置までの経路を計算する。
【０１０６】
ステップ４１（Ｓ４１）において、コントローラＣ１のフローエントリ設定手段２３が、ノードに対して、サーバＳ１までのパケットの経路を実現する処理と、サーバＳ１宛のパケットを受信した場合に、パケット受信通知をコントローラＣ１に通知させるための処理とが記述されたフローエントリを設定する。このフローエントリを設定することにより、コントローラＣ１には、ノードがサーバＳ１宛のパケットを受信した場合に、パケット受信通知が通知される。
【０１０７】
パケット受信通知を通知するためのフローエントリは、別ネットワークとの接続点に相当するノードや端末が接続しているノードなど、パケットがＯｅｎＦｌｏｗネットワークへ新規に流入する可能性が高いノードに対して設定するように構成してもよい。これにより、パケットが新規に流入する可能性の高いノードからパケット受信通知が通知されるようになり、コントローラＣ１の負荷を低減することができる。
【０１０８】
次に、第四の実施形態において、ノードＲ３が端末Ｔ１からパケット受信した際の動作例について、図１６を用いて説明する。
【０１０９】
ステップ５０（Ｓ５０）で、ノードＲ３が、端末Ｔ１からパケットを受信する。
【０１１０】
ステップ５１（Ｓ５１）で、パケットを受信したノードは、パケット処理手段１１において、パケットのヘッダ情報に適合するマッチングルールをもつフローエントリを検索する。
【０１１１】
第四の実施形態では、予めフローエントリが登録されているため、ステップ５２（Ｓ５２）において、パケットが受信したことを示すパケット受信通知をコントローラＣ１に送信する。例えば、サーバＳ１宛のパケットの経路が予め設定されている場合、パケット処理手段１１は、検索の結果予め設定されたフローエントリを見つける。この場合、ノードＲ３のパケット受信通知手段１５は、パケットに対するパケット受信通知をコントローラＣ１に通知する。
【０１１２】
ステップ５３（Ｓ５３）で、パケット処理手段１１が、パケット受信手段１０から受信したパケットをフローエントリに応じて転送する。
【０１１３】
図１７を用いて、第四の実施形態において、コントローラＣ１がノードＲ３からパケット受信通知を受信した際の動作例を説明する。
【０１１４】
ステップ６０（Ｓ６０）において、コントローラＣ１の通信手段２１は、端末Ｔ１からパケットを受信したノードＲ３から、パケットが受信したことを示すパケット受信通知を受信する。
【０１１５】
ステップ６１（Ｓ６１）において、フローエントリ決定手段２０が、受け取ったパケット受信通知をもとに、パケットに対する応答パケットの経路、すなわち復路、を計算する。
【０１１６】
なお、コントローラＣ１のフローエントリ決定手段２０は、通信手段２１でパケット受信通知を受け取ったのか、フローエントリの設定の要求を受け取ったのかを判定するように構成してもよい。フローエントリ決定手段２０は、パケット受信通知と判定すれば、通知された情報を基にサーバＳ１から端末Ｔ１までの経路（すなわち復路）を計算する。ここで、サーバＳ１から端末Ｔ１までの経路の計算は、その都度最適な経路を計算してもよいし、予め計算しておいた経路から選択してもよい。一方、フローエントリ決定手段２０は、フローエントリの設定の要求と判定すれば、ノードからサーバＳ１までの経路（すなわちパケットの往路）と、サーバＳ１から端末Ｔ１までの経路（すなわち該パケットの復路）とを計算する。
【０１１７】
ステップ６２（Ｓ６２）において、フローエントリ設定手段２３は、フローエントリ決定手段２０が計算した経路を、該計算した経路に関係するノードに設定する。
【０１１８】
ステップ６３（Ｓ６３）において、重複排除処理手段２５は、一度パケット受信通知を通知したパケットに対して、再びパケット受信通知を通知しないように、フローエントリを設定する。
【０１１９】
上記のとおり、各ノードからサーバＳ１までの経路が予め設定されているため、ノードＲ３が実際にパケットを受信した際には、コントローラＣ１が、サーバＳ１からノードＲ３宛のパケットの経路（復路）だけを計算するため、コントローラＣ１の負荷を低減することができる。
【０１２０】
さらに、好ましくは下記の形態とすることができる。
【０１２１】
［形態１］
上記の第１の視点に係る通信システムのとおり。
［形態２］
前記制御装置が、
前記第一のパケットに関する情報と、前記第一のパケットに関連する前記第二のパケットに関する情報とを対応付けて記憶する記憶部と、
前記記憶部を参照して、前記第一のパケットと前記第二のパケットとが関連すると決定する手段と、
を備えることが好ましい。
［形態３］
前記第一の手段は、
前記第二の処理規則として、前記第二のパケットを前記第一のパケットの送信先から前記第一のパケットの送信元まで転送する経路に対応する処理規則を決定することが好ましい。
［形態４］
前記第一の手段は、前記第一の処理規則を予め決定し、
前記第二の手段は、前記第一の処理規則を、前記複数のノードの少なくとも一つに対して通知することが好ましい。
［形態５］
前記複数のノードの少なくとも１つは、
前記第一のパケットを受信した場合に、前記制御装置に対して第一のパケットを受信したことを示す受信通知を通知する手段を備え、
前記第一の手段は、前記受信通知に応じて、前記第二の処理規則を決定することが好ましい。
［形態６］
前記第一の手段は、前記第一のパケットを受信した場合に、前記制御装置に対して前記受信通知を送信することを規定した第三の処理規則を予め決定し、
前記第二の手段は、前記第三の処理規則を前記複数のノードの少なくとも１つに通知することが好ましい。
［形態７］
前記第一の手段は、前記第一のパケットに対応する前記パケット受信通知を受信した場合に、該第一のパケットに対応する前記パケット受信通知の送信を抑止するように、前記パケット受信通知を送信したノードに指示することが好ましい。
［形態８］
上記の第２の視点に係る制御装置のとおり。
［形態９］
前記第一のパケットに関する情報と、前記第一のパケットに関連する前記第二のパケットに関する情報とを対応付けて記憶する記憶部と、
前記記憶部を参照して、前記第一のパケットと前記第二のパケットとが関連すると決定する手段と、を備えることが好ましい。
［形態１０］
前記第一の手段は、
前記第二の処理規則として、前記第二のパケットを前記第一のパケットの送信先から前記第一のパケットの送信元まで転送する経路に対応する処理規則を決定することが好ましい。
［形態１１］
前記第一の手段は、前記第一の処理規則を予め決定し、
前記第二の手段は、前記第一の処理規則を、前記複数のノードの少なくとも一つに対して通知することが好ましい。
［形態１２］
前記複数のノードの少なくとも１つから、前記第一のパケットを受信したことを示す受信通知を受信する手段を備え、
前記第一の手段が、前記受信通知に応じて、前記第二の処理規則を決定することが好ましい。
［形態１３］
前記第一の手段は、前記第一のパケットを受信した場合に、前記制御装置に対して前記受信通知を送信することを規定した第三の処理規則を予め決定し、
前記第二の手段は、前記第三の処理規則を前記複数のノードの少なくとも１つに通知することが好ましい。
［形態１４］
前記第一の手段は、前記第一のパケットに対応する前記パケット受信通知を受信した場合に、該第一のパケットに対応する前記パケット受信通知の送信を抑止するように、前記パケット受信通知を送信したノードに指示することが好ましい。
［形態１５］
上記の第３の視点に係る制御方法のとおり。
［形態１６］
前記第一のパケットに関する情報と、前記第一のパケットに関連する前記第二のパケットに関する情報とに基づいて、前記第一のパケットと前記第二のパケットとが関連すると決定するステップを有することが好ましい。
［形態１７］
前記第二の処理規則として、前記第二のパケットを前記第一のパケットの送信先から前記第一のパケットの送信元まで転送する経路に対応する処理規則を決定するステップを有することが好ましい。
［形態１８］
前記第一の処理規則を予め決定するステップと、
前記第一の処理規則を、前記複数のノードの少なくとも一つに対して通知するステップと、
を有することが好ましい。
［形態１９］
前記複数のノードの少なくとも１つから、前記第一のパケットを受信したことを示す受信通知を受信するステップと、
前記受信通知に応じて、前記第二の処理規則を決定するステップと、
を有することが好ましい。
［形態２０］
前記第一のパケットを受信した場合に、前記制御装置に対して前記受信通知を送信することを規定した第三の処理規則を予め決定するステップと、
前記第三の処理規則を前記複数のノードの少なくとも１つに通知するステップと、
を有することが好ましい。
［形態２１］
前記第一のパケットに対応する前記パケット受信通知を受信した場合、該第一のパケットに対応する前記パケット受信通知の送信を抑止するように、前記パケット受信通知を送信したノードに指示するステップを有することが好ましい。
【０１２２】
なお、上記の特許文献の先行技術文献の開示を、本書に引用をもって繰り込むものとする。
【０１２３】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではない。
【０１２４】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、本発明において以下の形態が可能である。
【符号の説明】
【０１２５】
１０  パケット受信手段
１１  パケット処理手段
１２  フローエントリ要求手段
１３  フローエントリ記憶部
１４  フローエントリ変更手段
１５  パケット受信通知手段
２０  フローエントリ決定手段
２１  通信手段
２２  パケット関連性テーブル
２３  フローエントリ設定手段
２４  事前経路設定手段
２５  重複排除処理手段
【図１】
0005935881.tif 000002
【図２】
0005935881.tif 000003
【図３】
0005935881.tif 000004
【図４】
0005935881.tif 000005
【図５】
0005935881.tif 000006
【図６】
0005935881.tif 000007
【図７】
0005935881.tif 000008
【図８】
0005935881.tif 000009
【図９】
0005935881.tif 000010
【図１０】
0005935881.tif 000011
【図１１】
0005935881.tif 000012
【図１２】
0005935881.tif 000013
【図１３】
0005935881.tif 000014
【図１４】
0005935881.tif 000015
【図１５】
0005935881.tif 000016
【図１６】
0005935881.tif 000017
【図１７】
0005935881.tif 000018