(57)【特許請求の範囲】
【請求項１】
フロー毎に処理内容を定めたフローテーブルに従って動作するスイッチノードと、
前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録する端末管理部を備え、前記対応情報を参照して、前記スイッチノードに前記フローテーブルのフローエントリの変更または削除を実行させるフロー制御装置と、
を含む通信システム。
【請求項２】
前記フロー制御装置は、
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶し、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させることを特徴とする請求項１に記載の通信システム。
【請求項３】
前記端末管理部は、さらに、前記端末毎に、該端末のフローを処理するスイッチノードのポート情報を記憶し、
前記フロー制御装置は、
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶しており、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させることを特徴とする請求項１に記載の通信システム。
【請求項４】
前記フロー制御装置は、
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶しており、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させてから、少なくとも前記別のスイッチノードに、前記端末のための新しいフローエントリの追加を指示する
ことを特徴とする請求項１に記載の通信システム。
【請求項５】
フロー毎に処理内容を定めたフローテーブルに従って動作するスイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録し、
前記対応情報を参照して、前記スイッチノードに前記フローテーブルのフローエントリの変更または削除を実行させる
ことを特徴とするフロー制御装置。
【請求項６】
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶し、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させる
ことを特徴とする請求項５に記載のフロー制御装置。
【請求項７】
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶し、
さらに、前記端末毎に、該端末のフローを処理するスイッチノードのポート情報を記憶し、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させる
ことを特徴とする請求項５に記載のフロー制御装置。
【請求項８】
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶し、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させてから、少なくとも前記別のスイッチノードに、前記端末のための新しいフローエントリの追加を指示する
ことを特徴とする請求項５に記載のフロー制御装置。
【請求項９】
フロー毎に処理内容を定めたフローテーブルに従って動作するスイッチノードと、
前記スイッチノードを制御するフロー制御装置と、を含む通信システムにおけるフローテーブルの更新方法であって、
前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録するステップと、
前記対応情報を参照して、前記スイッチノードに前記フローテーブルのフローエントリの変更または削除を実行させるステップと、
を含むことを特徴とするフローテーブルの更新方法。
【請求項１０】
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶するステップと、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させるステップと、
を含むことを特徴とする請求項９に記載のフローテーブルの更新方法。
【請求項１１】
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶するステップと、
前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録するステップにおいて、さらに、前記端末のフローを処理するスイッチノードのポート情報を記憶し、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させるステップと、
を含むことを特徴とする請求項９に記載のフローテーブルの更新方法。
【請求項１２】
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶するステップと、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記端末のために設定したフローエントリを前記スイッチノードに削除させてから、少なくとも前記別のスイッチノードに、前記端末のための新しいフローエントリの追加を指示するステップと、
を含むことを特徴とする請求項９に記載のフローテーブルの更新方法。
【請求項１３】
フロー毎に処理内容を定めたフローテーブルに従って動作するスイッチノードと、
前記スイッチノードを制御するフロー制御装置と、を含む通信システムにおける前記フロー制御装置を構成するコンピュータに、
前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録する処理と、
前記対応情報を参照して、前記スイッチノードに前記フローテーブルのフローエントリの変更または削除を指示する処理と、
を実行させることを特徴とするプログラム。
【請求項１４】
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶する処理と、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記スイッチノードに、前記端末のために設定したフローエントリの削除を指示する処理と、
を実行させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記フローエントリの設定要求に基づいて前記スイッチノードに設定したフローエントリを記憶する処理と、
前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録する処理において、さらに、前記端末のフローを処理するスイッチノードのポート情報を対応付けて記憶する処理と、
前記フローエントリを記憶したスイッチノードとは別のスイッチノードから新規のフローエントリの設定要求を受けたことに応じて、前記スイッチノードに、前記端末のために設定したフローエントリの削除を指示する処理と、
を実行させることを特徴とする請求項１３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２００９−２４０４１０号（２００９年１０月１９日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、フロー制御装置、フローテーブルの更新方法およびプログラムに関し、パケットを転送するスイッチノードの振る舞いを制御するフロー制御装置を有する通信システム、フロー制御装置、フローテーブルの更新方法およびプログラムに関する。
【背景技術】
【０００２】
非特許文献１にオープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。オープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルールと、処理内容を定義したアクションと、フロー統計情報との組からなるフローエントリが登録される。
【０００３】
例えば、オープンフロースイッチは、最初のパケット（ｆｉｒｓｔ  ｐａｃｋｅｔ）を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール（ＦｌｏｗＫｅｙ）を持つエントリ（フローエントリ）を検索する。検索の結果、受信パケットに適合するフローエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該フローエントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するフローエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
【０００４】
また上記オープンフローとは直接関係を有するものではないが、以下の特許文献１、２が検出されているので言及する。
【０００５】
特許文献１には、モバイルＩＰに準拠する移動通信システムのホームエージェントであって、受信したパケットを転送テーブルに従ってルーティングするインターフェース手段と、転送テーブルを管理する位置情報管理手段とを有するものが開示されている。同文献のホームエージェントが有する転送テーブルは、モバイルノードのグローバルなＩＰアドレス（ＨｏＡ）、モバイルノードの気付けアドレス（ＣｏＡ）及びアプリケーションを識別するポート番号の対応関係を少なくとも含み、ホームエージェントが受信したパケットの転送先は、ＣｏＡ及びポート番号の組み合わせで区別される。同文献では、複数のモバイルノードの各々が、自ノードのＨｏＡ、ＣｏＡ及びポート番号の１以上が変わったことを検出し、ホームエージェントに報告する構成となっている。
【０００６】
また特許文献２に、フローテーブルを用いて、フロー間重み付き公平キューイングを行うパケットバッファ装置が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−０６７０５５号公報
【特許文献２】特開平０９−１４９０５１号公報
【非特許文献】
【０００８】
【非特許文献１】Nick McKeownほか７名、“OpenFlow: Enabling Innovation in Campus Networks”、［online］、［平成21年10月15日検索］、インターネット〈URL：http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記特許文献１、２及び非特許文献１の全開示内容はその引用をもって本書に繰込み記載する。
以下の分析は、本発明によってなされたものである。
上記した非特許文献１のＥｘａｍｐｌｅ３として、オープンフロー技術が移動無線ＶＯＩＰクライアントにも適用できることが記載されている。同記載によると、フロー制御装置として動作するオープンフローコントローラは、端末の移動を追跡する機能を備え、上記したフローテーブルを更新することにより経路の再設定を行うと記載されている。
【００１０】
図８に示すように、オープンフロースイッチに相当する複数のスイッチノードＳＷ１〜ＳＷ５と、オープンフローコントローラに相当するフロー制御装置ＣＴＲＬから構成される構成を用いて、非特許文献１のＥｘａｍｐｌｅ３の動作を説明する。なお、図中のＰ１〜Ｐ４は、それぞれのスイッチノードが有するポートを特定するための記号である。
【００１１】
ここで、図９に示すように、端末Ｔ１が、スイッチノードＳＷ２に接続して、サーバＳ１と通信しようとした場合を考える。スイッチノードＳＷ２は、端末Ｔ１が送信した宛先をサーバＳ１とするパケットのフロータイプ（フローの特徴）を抽出する。ここで抽出されるのは、ＳＷ１のフローテーブルに登録されたフローエントリにマッチングしなかったパケットであり、主にＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットや、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のＳＹＮパケットや、特定のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスと特定のポート番号を持つ初回のＵＤＰパケットなどが対象となる。
【００１２】
スイッチノードＳＷ２は、図１０に示すように、フロー制御装置ＣＴＲＬに対して当該フローについての問い合わせを行ない、パケットの転送可否判定、転送可の場合は経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。ここでは、フロー制御装置ＣＴＲＬにおいて、該当パケットを転送できる経路があると判断され、スイッチノードＳＷ２、スイッチノードＳＷ３、スイッチノードＳＷ５の順で転送する経路が設定されたものとする。この場合、スイッチノードＳＷ２には、スイッチノードＳＷ３に接続されたポートＰ３から該当フロータイプのパケットを出力するアクションを定めたフローエントリを追加するよう指示が行われる。図１０の「Ｔ１−Ｓ１：Ｐ１  ｏｕｔｐｕｔＰ３（４）」は、フローエントリを簡単化したものであり、ポートＰ１から入ってきた端末Ｔ１からサーバＳ１へのパケットを、ポートＰ３から出力するという意である（具体例は、非特許文献１のＴａｂｌｅ１参照）。また、カッコ内の数値「４」は、当該フローエントリの有効期間（秒）であり、該当期間内に適合するパケットが入力されなかった場合、当該フローエントリは削除されるというようにソフトステート方式で管理されているものとする。
【００１３】
図１１に示すように、スイッチノードＳＷ３、スイッチノードＳＷ５においても同様に、フロー制御装置ＣＴＲＬに対する当該フローについての問い合わせが行われ、スイッチノードＳＷ２、スイッチノードＳＷ３、スイッチノードＳＷ５という経路を実現するフローエントリが設定される。
【００１４】
以上の結果、図１２に示すように、スイッチノードＳＷ２、スイッチノードＳＷ３、スイッチノードＳＷ５のフローテーブルに、フローエントリが追加されることにより、以後、該当フローエントリに適合するパケットは、端末１、スイッチノードＳＷ２、スイッチノードＳＷ３、スイッチノードＳＷ５、サーバＳ１という経路でやり取りされる。
【００１５】
その後、端末Ｔ１が移動し、スイッチノードＳＷ４に接続してパケットを送出したような場合、図１３に示すように、スイッチノードＳＷ４、スイッチノードＳＷ５がそれぞれフロー制御装置ＣＴＲＬに対して当該フローについての問い合わせを行ない、スイッチノードＳＷ４、スイッチノードＳＷ５という経路を実現するフローエントリが追加されることになる。
【００１６】
上記のようなフローテーブルの更新方法の第１の問題点は、図１４のように、通信が行なわれないにも拘らず、スイッチノードＳＷ２、ＳＷ３、ＳＷ５に、フローエントリが一定期間残り、フローの抜け道になる可能性があることである。例えば、図１４の例では、スイッチノードＳＷ２、ＳＷ３、ＳＷ５を経由する経路の再更新から１秒後に、スイッチノードＳＷ４、ＳＷ５を経由する新しい経路が設定された状態を示している。スイッチノードＳＷ２、ＳＷ３、ＳＷ５の該当フローエントリは、３秒間経過しないと削除されないことになってしまう。
【００１７】
上記のようなフローテーブルの更新方法の第２の問題点は、図１４のスイッチノードＳＷ５のように、移動前後の経路において重複する区間にあるスイッチノードが、もはや使用されない経路にもパケットを転送する可能性があることである。この状態も３秒間続くことになる。なお、オープンフローでは、ある端末宛のパケットを別の経路で送る冗長構成を可能とするため、重複した経路を設定すること自体は問題ではない。ここでは、冗長性に寄与しない経路が残ることを問題としている。
【００１８】
また、フローテーブルに一定期間残ってしまうフローエントリがセキュリティホールとなってしまう可能性もある。
【００１９】
上記各問題点は、端末が転々と移動するような状況や、多数の端末が接続かつ移動するような状況下では一層顕著になるものと予想される。多数のスイッチノードに、それぞれ無用なフローエントリが格納された状態になれば、個々のスイッチノードの応答性能はもちろん、通信システム全体の性能等にも影響する。
【００２０】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、端末が接続しているスイッチノードを把握し、その状態に応じて速やかにフローテーブルを更新することのできる通信システム、フロー制御装置、フローテーブルの更新方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００２１】
本発明の第１の視点によれば、フロー毎に処理内容を定めたフローテーブルに従って動作するスイッチノードと、前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録する端末管理部を備え、前記対応情報を参照して、前記スイッチノードに前記フローテーブルのフローエントリの変更または削除を実行させるフロー制御装置と、を含む通信システムが提供される。
【００２２】
本発明の第２の視点によれば、フロー毎に処理内容を定めたフローテーブルに従って動作するスイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録し、前記対応情報を参照して、前記スイッチノードに前記フローテーブルのフローエントリの変更または削除を実行させることを特徴とするフロー制御装置が提供される。
【００２３】
本発明の第３の視点によれば、フロー毎に処理内容を定めたフローテーブルに従って動作するスイッチノードと、前記スイッチノードを制御するフロー制御装置と、を含む通信システムにおけるフローテーブルの更新方法であって、前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録するステップと、前記対応情報を参照して、前記スイッチノードに前記フローテーブルのフローエントリの変更または削除を実行させるステップと、を含むことを特徴とするフローテーブルの更新方法が提供される。本方法は、スイッチノードおよびスイッチノードを制御するフロー制御装置という、特定の機械に結びつけられている。
【００２４】
本発明の第４の視点によれば、フロー毎に処理内容を定めたフローテーブルに従って動作するスイッチノードと、前記スイッチノードを制御するフロー制御装置と、を含む通信システムにおける前記フロー制御装置を構成するコンピュータに、前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末のフローを処理するスイッチノードと、の対応情報を記録する処理と、前記対応情報を参照して、前記スイッチノードに前記フローテーブルのフローエントリの変更または削除を指示する処理と、を実行させることを特徴とするプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００２５】
本発明によれば、個々のスイッチノードのフローテーブルに、必要性の乏しいフローエントリが残ってしまう状態を速やかに解消することが可能になる。その理由は、フロー制御装置に、フローの起点となるパケット送信元の端末とスイッチノードとの対応関係を把握させ、スイッチノードにフローテーブルの更新を指示させる構成を採用したことにある。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態の通信システムの構成を表した図である。
【図２】本発明の第１の実施形態の通信システムの動作を説明するための図である。
【図３】図２の続図である。
【図４】図３の続図である。
【図５】図４の続図である。
【図６】図５の続図である。
【図７】図６の続図である。
【図８】非特許文献１に開示された通信システムの概略構成を表した図である。
【図９】非特許文献１に開示された通信システムの動作例を説明するための図である。
【図１０】図９の続図である。
【図１１】図１０の続図である。
【図１２】図１１の続図である。
【図１３】図１２の続図である。
【図１４】図１３の続図である。
【発明を実施するための形態】
【００２７】
はじめに、本発明の概要について説明する。本発明は、図１に示すように、フロー毎に処理内容を定めたフローテーブルに従って動作する複数のスイッチノードＳＷ１〜ＳＷ５と、これらスイッチノードＳＷ１〜ＳＷ５を集中制御するフロー制御装置ＣＴＲＬとを有する構成に適用できる。なお、図１の例では、５つのスイッチノードＳＷ１〜ＳＷ５を示しているが、スイッチノードの数は、特に限定するものではない。なお、この概要に付記した図面参照符号は、専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。
【００２８】
各スイッチノードは、各自のフローテーブルに、受信したパケットに適合するフローエントリが無い場合、受信したパケットの情報とともにフロー制御装置ＣＴＲＬに対し、当該パケットに対する処理内容を定めたフローエントリの作成（設定）を要求する。
【００２９】
前記要求を受けたフロー制御装置ＣＴＲＬは、端末管理部１１にて、当該パケットの送信元の端末と、該端末が接続しているスイッチノードと、との対応情報を記録する。さらに、フロー制御装置ＣＴＲＬは、別途保持する経路トポロジ情報を用いて、前記スイッチノードから受信した該当パケットの転送経路およびこれを実現するフローエントリを作成し、スイッチノードに応答する。さらに、フロー制御装置ＣＴＲＬは、前記対応情報を参照して、必要に応じ、その他のスイッチノードに前記フローテーブルからのフローエントリの削除を実行させる。例えば、図１４において同一端末Ｔ１からのフローについてのフローエントリーを持つスイッチノードＳＷ２、ＳＷ３、ＳＷ５に対し、端末Ｔ１の移動前の「Ｔ１−Ｓ１：Ｐ１  ｏｕｔｐｕｔＰ３（４）」、「Ｔ１−Ｓ１：Ｐ４  ｏｕｔｐｕｔＰ３（４）」、「Ｔ１−Ｓ１：Ｐ１  ｏｕｔｐｕｔＰ３（４）」とのフローエントリを削除させる。なお、スイッチノードＳＷ５においてはフローエントリの削除に代えて、「Ｔ１−Ｓ１：Ｐ１  ｏｕｔｐｕｔＰ３（４）」とのフローエントリを「Ｔ１−Ｓ１：Ｐ２  ｏｕｔｐｕｔＰ３（４）」と変更する方法も採用可能である。
【００３０】
以上により、端末が転々と移動するような状況下においても、ソフトステートによるフローエントリの削除を待たずに、その接続中のスイッチノードを把握し、適切にフローエントリを追加、変更、削除させることが可能になる。
本発明において下記の形態が可能である。
［形態１］
前記第１の視点の通信システムのとおり。
［形態２］
前記フロー制御装置は、端末が接続しているスイッチノードの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させることが好ましい。
［形態３］
前記端末管理部は、さらに、前記端末毎に、接続しているスイッチノードのポート情報を対応付けて記憶し、前記フロー制御装置は、端末が接続しているポートの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させることが好ましい。
［形態４］
前記フロー制御装置は、端末が接続しているスイッチノードまたはポートの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させてから、前記各スイッチノードに、該当する端末のための新しいフローエントリの追加を指示することが好ましい。
［形態５］
前記第２の視点のフロー制御装置のとおり。
［形態６］
端末が接続しているスイッチノードの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させることが好ましい。
［形態７］
前記端末管理部は、さらに、前記端末毎に、接続しているスイッチノードのポート情報を対応付けて記憶し、端末が接続しているポートの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させることが好ましい。
［形態８］
端末が接続しているスイッチノードまたはポートの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させてから、前記各スイッチノードに、該当する端末のための新しいフローエントリの追加を指示することが好ましい。
［形態９］
前記第３の視点のフローテーブルの更新方法のとおり。
［形態１０］
端末が接続しているポートの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させることが好ましい。
［形態１１］
前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末が接続しているスイッチノードと、の対応情報を記録するステップにおいて、さらに、前記端末が接続しているスイッチノードのポート情報を対応付けて記憶し、端末が接続しているポートの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させることが好ましい。
［形態１２］
前記端末が接続しているスイッチノードまたはポートの変化を検出したときに、該当する端末のために設定したフローエントリを各スイッチノードに削除させてから、前記各スイッチノードに、該当する端末のための新しいフローエントリの追加を指示することが好ましい。
［形態１３］
前記第４の視点のプログラムのとおり。
［形態１４］
端末が接続しているポートの変化を検出したときに、各スイッチノードに、該当する端末のために設定したフローエントリの削除を指示することが好ましい。
［形態１５］
前記スイッチノードからのフローエントリの設定要求に基づいて、パケット送信元の端末と、該端末が接続しているスイッチノードと、の対応情報を記録する処理において、さらに、前記端末が接続しているスイッチノードのポート情報を対応付けて記憶し、端末が接続しているポートの変化を検出したときに、各スイッチノードに、該当する端末のために設定したフローエントリの削除を指示することが好ましい。
【００３１】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態の構成を表した図である。図１を参照すると、スイッチノードＳＷ１〜ＳＷ５と、これらスイッチノードＳＷ１〜ＳＷ５を集中制御するフロー制御装置ＣＴＲＬと、端末Ｔ１と、サーバＳ１とが示されている。図１中のＰ１〜Ｐ４の記号は、各スイッチノードがそれぞれ入出力ポートを一意に特定するためのポート番号であるものとする。
【００３２】
スイッチノードＳＷ１〜ＳＷ５は、非特許文献１のオープンフロースイッチとして動作可能なスイッチノードである。より具体的には、スイッチノードＳＷ１〜ＳＷ５は、フロー制御装置ＣＴＲＬからの指示に従い、フローテーブルのフローエントリの追加、変更、削除等を実行する。
【００３３】
他のノードからパケットが入力されると、スイッチノードＳＷ１〜ＳＷ５は、入力パケットに適合するフローエントリを探索し、その内容に従って、当該パケットの転送等を実施する機能を備えている。
【００３４】
フロー制御装置ＣＴＲＬは、上記のように動作するスイッチノードＳＷ１〜ＳＷ５に、それぞれ保持するフローテーブルを更新させることにより、フローの制御を行う、非特許文献１のオープンフローコントローラに相当する集中管理ノードである。前記スイッチノードＳＷ１〜ＳＷ５に対するオープンフローテーブルの更新指示等は、非特許文献１のセキュアチャネルを介してオープンフロープロトコルでやり取りする方法を用いることが可能である。
【００３５】
さらに、本実施形態のフロー制御装置ＣＴＲＬは、端末と、該端末が接続しているスイッチノードと、との対応情報を記録する端末管理部１１を備え、上述したスイッチノードＳＷ１〜ＳＷ５へのフローテーブルの修正等を指示する際に、前記対応情報を参照して、使われなくなったフローエントリの削除を行う。
【００３６】
端末管理部１１は、端末Ｔ１のＭＡＣアドレス等の端末識別情報と、該端末が接続しているスイッチノードの識別情報と、当該スイッチノードのポート番号とを対応付けて記憶する端末管理表（端末管理テーブル）を保持・管理する構成にて実現することができる。
【００３７】
本実施形態の端末Ｔ１は、ＭＡＣアドレスＴ１ＭＡを持ち、少なくともスイッチノードＳＷ１、ＳＷ２に接続可能な移動端末であるものとする。
【００３８】
サーバＳ１は、スイッチノードＳＷ５に接続され、端末Ｔ１を含む各種端末からの要求に応じてサービスを提供するサーバであるものとする。
【００３９】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下、本実施形態では、端末Ｔ１がサーバＳ１に通信する場合を想定して説明するが、端末Ｔ１、サーバＳ１は本発明を解りやすく説明するために例示したものであり、それぞれ複数あってもかまわない。
【００４０】
まず、図２に示すように、端末Ｔ１がＳＷ２のポートＰ１に接続し、Ｓ１を宛先とした最初のパケットを送出すると、スイッチノードＳＷ２は、フローテーブルに入力パケットに適合するフローエントリがあるか否かを検索する。ここでは、入力パケットに適合するフローエントリがないため、スイッチノードＳＷ２は、フロー制御装置ＣＴＲＬに対し、当該パケットの転送経路の作成と、当該転送経路を実現するフローエントリの作成を依頼する。
【００４１】
前記パケット転送経路の作成およびフローエントリの作成依頼を受けたフロー制御装置ＣＴＲＬは、まず、スイッチノードＳＷ２から送信されたパケットのヘッダ情報を参照して、送信元である端末Ｔ１のＭＡＣアドレスＴ１ＭＡが端末管理部１１に登録済みであるか否かを確認する。前記確認の結果、端末Ｔ１のＭＡＣアドレスＴ１ＭＡが端末管理部１１に未登録であれば、フロー制御装置ＣＴＲＬは、端末Ｔ１のＭＡＣアドレスＴ１ＭＡと、スイッチノードの識別情報（ここでは「ＳＷ２」とする。）と、その入力ポート番号（ここでは、図２に示すとおり「Ｐ１」とする）とを対応付けた対応情報を端末管理部１１に新規エントリとして登録する。
【００４２】
またここでは、フロー制御装置ＣＴＲＬは、スイッチノードＳＷ２から送信されたパケットの転送経路作成可と判断し、スイッチノードＳＷ２、スイッチノードＳＷ３、スイッチノードＳＷ５の順で転送する転送経路を作成したものとする。
【００４３】
図３は、上記スイッチノードＳＷ２、ＳＷ３、ＳＷ５にて、フローテーブルにないパケットであると判定され、フロー制御装置ＣＴＲＬにより、各スイッチノードのフローテーブルに、スイッチノードＳＷ２、スイッチノードＳＷ３、スイッチノードＳＷ５の順で転送する転送経路を実現するフローエントリが追加された状態を示している。
【００４４】
図３の例では、スイッチノードＳＷ２には、「Ｔ１−Ｓ１：Ｐ１  ｏｕｔｐｕｔＰ３（４）」とのフローエントリが追加されている。これにより、端末Ｔ１を送信元とし、サーバＳ１に宛先とし、入力ポートをＰ１とするパケットは、スイッチノードＳＷ２のポートＰ３から出力されることになる。スイッチノードＳＷ２のポートＰ３は、スイッチノードＳＷ３に接続されているので、このフローエントリにより、該当するパケットの、スイッチノードＳＷ２からスイッチノードＳＷ３への転送が実現される。なお、括弧内の数値は、当該フローエントリの有効時間（秒）を示す。例えば、図２のように（４）と示されている場合、４秒内に適合するパケットが入力されなければ当該フローエントリは削除されることになる。
【００４５】
スイッチノードＳＷ３、スイッチノードＳＷ５にても同様に、スイッチノードＳＷ５経由でサーバＳ１へ該当するパケットを転送する旨のフローエントリが追加されている。
【００４６】
その後、図４に示すように、端末Ｔ１が移動し、ＳＷ４のポートＰ１に接続し、Ｓ１を宛先としたパケットを送出した場合を考える。この場合、スイッチノードＳＷ４は、フローテーブルに入力パケットに適合するフローエントリがあるか否かを検索する。ここでは、入力パケットに適合するフローエントリがないため、スイッチノードＳＷ４は、フロー制御装置ＣＴＲＬに対し、当該パケットの転送経路の作成と、当該転送経路を実現するフローエントリの作成を依頼する。
【００４７】
前記パケット転送経路の作成およびフローエントリの作成依頼を受けたフロー制御装置ＣＴＲＬは、スイッチノードＳＷ２から送信されたパケットのヘッダ情報を参照して、送信元である端末Ｔ１のＭＡＣアドレスＴ１ＭＡが端末管理部１１に登録済みであるか否かを確認する。前記確認の結果、端末Ｔ１がスイッチノードＳＷ２のポートＰ１に接続中であったこと、つまり、端末Ｔ１が移動したこと（端末Ｔ１に設定した古いフローエントリ無用になったこと）が判明する。
【００４８】
このとき、フロー制御装置ＣＴＲＬは、図５に示すように、端末管理部１１に保持された端末Ｔ１の接続先をスイッチノードＳＷ２のポートＰ１からスイッチノードＳＷ４ポートＰ１に変更するとともに、スイッチノードＳＷ２、スイッチノードＳＷ３、スイッチノードＳＷ５に対し、従前に設定した経路に対応するフローエントリの削除を指示する。
【００４９】
またここでは、フロー制御装置ＣＴＲＬは、スイッチノードＳＷ４から送信されたパケットの転送経路作成可と判断し、スイッチノードＳＷ４、スイッチノードＳＷ５の順で転送する転送経路を作成したものとする。
【００５０】
このとき、フロー制御装置ＣＴＲＬは、図５に示すように、スイッチノードＳＷ４に、「Ｔ１−Ｓ１：Ｐ１  ｏｕｔｐｕｔＰ３（４）」とのフローエントリの追加を指示する。これにより、端末Ｔ１を送信元とし、サーバＳ１に宛先とし、入力ポートをＰ１とするパケットは、スイッチノードＳＷ４のポートＰ３から出力されることになる。スイッチノードＳＷ４のポートＰ３は、スイッチノードＳＷ５に接続されているので、このフローエントリにより、該当するパケットの、スイッチノードＳＷ４からスイッチノードＳＷ５への転送が実現される。
【００５１】
同様に、スイッチノードＳＷ５においても、サーバＳ１への該当パケットの転送を指示する、「Ｔ１−Ｓ１：Ｐ１  ｏｕｔｐｕｔＰ３（４）」とのフローエントリの追加が指示する。
【００５２】
以上により、図７に示すように、スイッチノードＳＷ４、スイッチノードＳＷ５、サーバＳ１の順での経路に従ったパケット転送が実現される。また、図７と図１４とを対比すれば明らかなように、本実施形態では、ソフトステートによる時間経過を待つことなく、スイッチノードＳＷ２、スイッチノードＳＷ３、スイッチノードＳＷ５における無用のフローエントリを削除することが可能になる。
【００５３】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。
【００５４】
例えば、上記の実施形態では、フロー制御装置ＣＴＲＬは、スイッチノードＳＷ５の古いフローエントリを一旦削除してから、新しいフローエントリの登録を指示するものとして説明したが、フローエントリを直接変更させてしまう方法も採用可能である。
【００５５】
また上記した実施形態では、端末Ｔ１がスイッチノードＳＷ２に接続している状態からスイッチノードＳＷ４に接続している状態に遷移した例を挙げて説明したが、古いフローエントリを削除してよい状況が生じるのは、端末Ｔ１の移動に限られない。例えば、端末Ｔ１が接続するスイッチノードＳＷ２のポートが変わった場合など、端末管理部１１にて管理された情報により、端末Ｔ１が接続している設定した古いフローエントリが無用になったことが判明したケースであれば、同様の制御を行うことができる。
【００５６】
また、上記した実施形態のフロー制御装置ＣＴＲＬは、端末管理部１１を持つ専用のサーバとして実現することもできる。また、スイッチノードとしては、非特許文献１のオープンフロースイッチのほか、ＩＰ網におけるルータ、ＭＰＬＳ網におけるＭＰＬＳスイッチにて実現することもできる。その他、サーバがネットワーク内のスイッチノードを集中管理するようなネットワークであれば、本発明を適用することが可能である。
【産業上の利用可能性】
【００５７】
上記したように本発明は、フロー制御装置の変更だけで実現可能であり、既存のスイッチノード、既存の端末、通信先のサーバ等に、機能の追加等を要求するものではない。従って、オープンフロー技術を用いて、移動端末への通信サービスを提供するといった用途に好適に利用することが可能である。
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００５８】
１１  端末管理部
Ｓ１  サーバ
Ｔ１  端末
ＳＷ１〜ＳＷ５  スイッチノード
Ｐ１〜Ｐ４  ポート
【図１】
0005850128.tif 000002
【図２】
0005850128.tif 000003
【図３】
0005850128.tif 000004
【図４】
0005850128.tif 000005
【図５】
0005850128.tif 000006
【図６】
0005850128.tif 000007
【図７】
0005850128.tif 000008
【図８】
0005850128.tif 000009
【図９】
0005850128.tif 000010
【図１０】
0005850128.tif 000011
【図１１】
0005850128.tif 000012
【図１２】
0005850128.tif 000013
【図１３】
0005850128.tif 000014
【図１４】
0005850128.tif 000015