(57)【要約】【課題】制御装置に、各通信装置における個々の処理規則毎の通信量の把握、分析を行わせることなく、通信装置側で、通信量に基づくきめ細かい制御を行う。【解決手段】通信装置は、制御装置から通知された処理規則を記憶可能な第一の記憶手段と、受信パケットに対応する前記処理規則に基づいて該受信パケットを処理可能なパケット処理部と、前記処理規則によるパケット処理に関する統計値を計測可能な計測部と、当該統計値に基づいてパケット転送レートを制御するための条件を記憶可能な第二の記憶手段と、前記統計値と前記条件とに基づいて、前記処理規則に基づくパケット転送レートを制御可能な制御部と、を備える。【選択図】図１
2014027696.tif 000002
【特許請求の範囲】
【請求項１】
制御装置から通知された処理規則を記憶可能な第一の記憶手段と、
受信パケットに対応する前記処理規則に基づいて該受信パケットを処理可能なパケット処理部と、
前記処理規則によるパケット処理に関する統計値を計測可能な計測部と、
当該統計値に基づいてパケット転送レートを制御するための条件を記憶可能な第二の記憶手段と、
前記統計値と前記条件とに基づいて、前記処理規則に基づくパケット転送レートを制御可能な制御部と、を備える通信装置。
【請求項２】
前記制御部は、前記統計値と前記条件に基づいて、前記処理規則に対応するパケットを廃棄する
ことを特徴とする請求項１の通信装置。
【請求項３】
前記第二の記憶手段は、通信フロー毎に、前記条件を記憶可能である
ことを特徴とする請求項１または２の通信装置。
【請求項４】
前記第二の記憶手段は、前記制御装置から通知された前記条件を記憶可能である
ことを特徴とする請求項１乃至３のいずれか１項の通信装置。
【請求項５】
制御装置から通知された処理規則を第一の記憶手段に記憶し、
受信パケットに対応する前記処理規則に基づいて該受信パケットを処理し、
前記処理規則によるパケット処理に関する統計値を計測し、
当該統計値に基づいてパケット転送レートを制御するための条件を第二の記憶手段に記憶し、
前記統計値と前記条件とに基づいて、前記処理規則に基づくパケット転送レートを制御する
ことを特徴とする通信方法。
【請求項６】
前記統計値と前記条件とに基づいて、前記処理規則に対応するパケットを廃棄する
ことを特徴とする請求項５の通信方法。
【請求項７】
通信フロー毎に前記条件を管理する
ことを特徴とする請求項５または６の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、制御装置、通信システム、通信制御方法及びプログラムに関し、特に、制御装置からの制御に従って受信パケットの処理を行う通信装置、制御装置、通信システム、通信制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（特許文献１、非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合する条件が定められたマッチフィールド（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（図１６参照）。
【０００３】
例えば、オープンフロースイッチは、パケットを受信すると（図１７の「データパケット」）、フローテーブルから、受信パケットのヘッダ情報に適合するマッチフィールドを持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットの処理内容の決定の要求を送信する（図１７の「Ｐａｃｋｅｔ−Ｉｎ」）。オープンフロースイッチは、要求に対応するフローエントリを受け取ってフローテーブルを更新する（図１７の「ＦｌｏｗＭｏｄ」）。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを処理規則として用いてパケット転送を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／０９５０１０号
【非特許文献】
【０００５】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２３（２０１１）年７月２６日検索］、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）  ［ｏｎｌｉｎｅ］、［平成２３（２０１１）年７月２６日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明によって与えられたものである。非特許文献１、２のオープンフロースイッチは、フロー毎に設定されたハードタイムアウト値と、アイドルタイムアウト値とに基づいて、フローエントリの設定後の一定期間の経過、または一定期間の該当パケットの不受信が成立した場合、当該フローエントリを削除する機能を備えている（図１７の「タイムアウト」、非特許文献２の５．７  ＦＬＯＷ  Ｒｅｍｏｖａｌ参照）。
【０００７】
非特許文献１、２は、タイマに基づくフローエントリの削除を開示しているが、タイマによる削除だけでは、フロー制御の柔軟性が十分ではないという問題がある。
【０００８】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、より柔軟にフロー制御を実行することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の視点によれば、制御装置から通知された処理規則を記憶可能な第一の記憶手段と、受信パケットに対応する前記処理規則に基づいて該受信パケットを処理可能なパケット処理部と、前記処理規則によるパケット処理に関する統計値を計測可能な計測部と、当該統計値に基づいてパケット転送レートを制御するための条件を記憶可能な第二の記憶手段と、前記統計値と前記条件とに基づいて、前記処理規則に基づくパケット転送レートを制御可能な制御部と、を備える通信装置が提供される。
【００１０】
本発明の第２の視点によれば、上記した通信装置に対して、前記処理規則を送信する通信部と、を備える制御装置が提供される。
【００１１】
本発明の第３の視点によれば、上記した制御装置と、通信装置と、を含む通信システムが提供される。
【００１２】
本発明の第４の視点によれば、制御装置から通知された処理規則を第一の記憶手段に記憶し、受信パケットに対応する前記処理規則に基づいて該受信パケットを処理し、前記処理規則によるパケット処理に関する統計値を計測し、当該統計値に基づいてパケット転送レートを制御するための条件を第二の記憶手段に記憶し、前記統計値と前記条件とに基づいて、前記処理規則に基づくパケット転送レートを制御する通信方法が提供される。本方法は、所定の制御装置から設定された処理規則に基づいて、パケットを処理する通信装置という、特定の機械に結びつけられている。
【００１３】
本発明の第５の視点によれば、上記した通信装置の機能を実現するためのプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１４】
本発明によれば、制御装置に、各通信装置における個々の処理規則毎の通信量の把握、分析を行わせることなく、通信装置側で、通信量に基づくきめ細かい制御を行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る通信システムの構成例を表した図である。
【図２】本発明の一実施形態のパケット転送ノードが保持する処理規則の構成例を示す図である。
【図３】本発明の第１の実施形態に係る通信システムの構成例を表した図である。
【図４】本発明の第１の実施形態のパケット転送ノードの構成例を表したブロック図である。
【図５】本発明の第１の実施形態のパケット転送ノードが保持する処理規則の構成例である。
【図６】本発明の第１の実施形態の制御装置の構成例を表したブロック図である。
【図７】本発明の第１の実施形態に係る通信システムの動作例を説明するためのシーケンス図である。
【図８】本発明の第２の実施形態に係る通信システムの構成例を表した図である。
【図９】本発明の第２の実施形態の通信端末の構成例を表したブロック図である。
【図１０】本発明の第２の実施形態の通信端末が保持する処理規則の構成例である。
【図１１】本発明の第２の実施形態に係る通信システムの動作例を説明するためのシーケンス図である。
【図１２】本発明の第３の実施形態の制御装置の構成例を表したブロック図である。
【図１３】本発明の第４の実施形態に係る通信システムの動作例を説明するためのシーケンス図である。
【図１４】本発明の第４の実施形態に係る通信システムの動作例を説明するためのシーケンス図である。
【図１５】本発明の第５の実施形態のパケット転送ノードが保持する処理規則の構成例である。
【図１６】非特許文献２のオープンフロースイッチが保持するフローエントリの構成例を示す図である。
【図１７】非特許文献２のフローエントリの設定からタイムアウトによる削除までの動作例を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１６】
はじめに本発明の一実施形態の概要について図面を参照して説明する。本発明は、図１に示すように、通信端末３０と、サーバ（Ｓｅｒｖｅｒ）４０間の通信を実現するパケット転送ノード１０と、これらパケット転送ノード１０を制御する制御装置２０と、を含む構成にて実現できる。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。なお、上述した通信装置は、パケット転送ノードに相当する。
【００１７】
図２は、図１のパケット転送ノード１０が保持する処理規則１００の構成例を示す図である。図２は例示であり、処理規則の構成は、図２の構成例に限定されない。制御装置２０が、パケット転送ノード１０に処理規則１００を設定する。図１６に示した非特許文献２のオープンフロースイッチが保持するフローエントリとの相違点は、タイムアウト値（Ｔｉｍｅｏｕｔ  Ｖａｌｕｅ）の代わりに、処理規則１００の失効条件１０１が設定されている点である。なお、制御装置２０は、パケット転送ノード１０に対して処理規則１００を設定する。パケット転送ノード１０は、処理規則１００のマッチフィールド（Ｍａｔｃｈ  Ｆｉｅｌｄ）を参照して受信パケットに適合する処理規則１００を検索し、検索された処理規則１００のインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）に従ってパケットを処理する。処理規則１００の統計情報（Ｃｏｕｎｔｅｒｓ）は、パケットの処理に応じて更新される。パケット転送ノード１０は、受信パケットに対応する処理規則１００が存在しない場合、制御装置２０に対して処理規則の設定を要求する。
【００１８】
この処理規則の失効条件としては、例えば、当該処理規則により処理可能な統計値を示すしきい値が設定される。もちろん、非特許文献２のように、処理規則の設定後の一定期間の経過、一定期間の該当パケットの不受信を判定するためのタイムアウト値を設定してもよい。
【００１９】
パケット転送ノード１０は、受信パケットに適合する処理規則を用いてパケットを処理するパケット処理部と、パケットの処理に応じて更新される処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）に基づいて統計値を計測する統計値計測部とを備える。つまり、統計値計測部は、所定の処理規則によるパケット処理に対応する統計値を計測する。統計値は、例えば、所定の処理規則により処理されたパケットの数又はバイト数、所定の処理規則により処理されたパケットに対応する通信量である。統計値計測部は、各処理規則それぞれについて統計値を計測してもよい。また、統計値計測部は、複数の処理規則の各々によるパケットの処理量から求められる統計値を計測してもよい。統計値計測部は、パケット転送ノード１０が保持している複数の処理規則のうち、所定の条件に合致する処理規則によるパケットの処理量から求められる統計値を計測してもよい。統計値計測部は、複数の処理規則の各々によるパケットの処理量から求められる統計値を計測することにより、通信装置の通信量を計測することができる。なお、前記パケット処理部は、例えば、非特許文献１、２のオープンフロースイッチと同様の仕組みを用いて実現してもよい。
【００２０】
さらに、本発明のパケット転送ノード１０は、失効条件に基づいて処理規則を削除又は失効させる。パケット転送ノード１０は、例えば、統計情報（Ｃｏｕｎｔｅｒｓ）に示される統計値が前記処理規則の失効条件に設定されたしきい値を超える場合に当該処理規則を無効にする（例えば、処理規則を削除又は失効させる）処理規則管理部を備える。なお、処理規則管理部は、複数の処理規則の各々によるパケットの処理量から求められた統計値と、各処理規則に対応するそれぞれの失効条件とを比較し、ある失効条件に統計値が合致した場合、その失効条件に対応する処理規則を無効にする（例えば、処理規則を削除又は失効させる）。また、処理規則管理部は、統計値が失効条件に合致した場合、その失効条件に対応する処理規則が規定するパケット処理を、パケットを廃棄する処理に書き換えてもよい。つまり、処理規則管理部は、統計値に基づいて、各処理規則が有効か否かを決定する。
【００２１】
以上のような構成によれば、処理規則の設定により通信端末３０と、サーバ（Ｓｅｒｖｅｒ）４０間の通信を許可した後、所定のデータ量の超過を契機に、当該処理規則が削除される。この結果、通信端末３０からサーバ（Ｓｅｒｖｅｒ）４０宛の後続パケットは、パケット転送ノード１０で廃棄、または、制御装置２０に転送されて処理規則の設定要求が行われる。つまり、データ量に基づいて処理規則を削除等することにより、通信端末３０から送信された後続パケットの通信を遮断したり、制御装置２０が通信端末３０からの後続パケットが狭帯域の通信経路を経由するような処理規則を設定する、という制御が可能になる。このように、本発明によれば、通信量に基づく柔軟なフロー制御を行うことが可能となる。
【００２２】
なお、各処理規則の失効条件フィールドに設定するしきい値は、予め決められた値でもよいし、制御装置２０が、処理規則の設定時に、決定するものとしてもよい。また、制御装置２０は、マッチフィールド（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）にて、通信量を計測する対象のパケットを指定し、該対象のパケットの通信量に基づいて処理規則を削除し、又は、失効させてもよい。
【００２３】
パケット転送ノード１０が通信量に基づいて処理規則を削除又は失効させる例を示したが、通信端末３０が通信量に基づいて処理規則を削除又は失効させてもよい。これは、以下で説明する実施形態でも同様である。なお、通信端末３０は、例えば、携帯電話、パーソナルコンピュータ、モバイルルータ等である。本発明は、パケット転送ノード１０や通信端末３０等の通信装置に適用できる。
【００２４】
通信端末３０は、制御装置２０から設定される処理規則１００を保持し、当該処理規則１００に基づいてパケットを処理する。通信端末３０は、失効条件１０１を含む処理規則１００を保持し、該失効条件１０１に基づいて処理規則を削除又は失効させる。なお、失効条件が処理規則に含まれている構成例を示したが、失効条件が、処理規則とは別に、パケット転送ノードに設定されていてもよい。
【００２５】
［第１の実施形態］
本発明の第１の実施形態について図面を参照して説明する。図３は、本発明の第１の実施形態に係る通信システムの構成例を表した図である。図３を参照すると、通信端末３０と、サーバ（Ｓｅｒｖｅｒ）４０間の通信を実現するパケット転送ノード１０−１〜１０−３と、これらパケット転送ノード１０−１〜１０−３を制御する制御装置２０Ａと、を含む構成が示されている。
【００２６】
図４は、パケット転送ノード１０（以下、パケット転送ノード１０−１〜１０−３を特に区別する必要のないときは「パケット転送ノード１０」と表記する。）の詳細構成を表したブロック図である。図４を参照すると、通信部１１と、テーブル管理部１２と、テーブルデータベース（テーブルＤＢ）１３と、転送処理部１４とを含む構成が示されている。
【００２７】
通信部１１は、パケット転送ノード１０に処理規則を設定する制御装置２０Ａとの通信を実現する手段である。本実施形態では、通信部１１は、非特許文献２のオープンフロープロトコルを用いて制御装置２０Ａと通信するものとする。但し、通信部１１と制御装置２０Ａとの通信プロトコルは、オープンフロープロトコルに限定されるものではない。
【００２８】
テーブル管理部１２は、テーブルデータベース（テーブルＤＢ）１３に保持されているテーブルを管理する手段である。本実施形態では、テーブル管理部１２が、上述した処理規則管理部として機能する。具体的には、テーブル管理部１２は、制御装置２０Ａから指示された処理規則をテーブルＤＢ１３に登録し、転送処理部１４から新規パケットを受信したことを通知されると、制御装置２０Ａに対し、処理規則の設定を要求する。また、テーブル管理部１２は、各テーブルに格納された処理規則の失効条件と統計情報（Ｃｏｕｎｔｅｒｓ）とを参照し、統計情報（Ｃｏｕｎｔｅｒｓ）に示された統計値が前記処理規則の失効条件に設定されたしきい値を超える場合に当該処理規則を削除又は失効させる処理を行う。また、テーブル管理部１２は、統計値が失効条件に合致した場合、その失効条件に対応する処理規則が規定するパケット処理を、パケットを廃棄する処理に書き換えてもよい。また、テーブル管理部１２は、統計値が失効条件に合致した場合、その失効条件に対応する処理規則が規定するパケット処理に対してトラフィックシェーピングを開始しても良い。トラフィックシェーピングとは、例えば、統計値がしきい値を超過した処理規則に対応するパケットフローの転送レートを制御することを意味する。転送レートの制御とは、例えば、パケットフローを遅延させる処理や転送レートが所定の値を超えないように制御する処理を意味する。但し、転送レートの制御は、パケットフローを遅延させる処理や転送レートが所定の値を超えないように制御する処理に限定されない。
【００２９】
テーブルデータベース（テーブルＤＢ）１３は、転送処理部１４が受信パケットの処理を行う際に参照するテーブルを一つ以上格納可能なデータベースによって構成される。
【００３０】
転送処理部１４は、テーブルＤＢ１３に格納されたテーブルから、受信パケットに適合するマッチフィールドを持つ処理規則を検索するテーブル検索部１４１と、テーブル検索部１４１にて検索された処理規則のインストラクションフィールドに示す処理内容に従ってパケット処理を行うアクション実行部１４２とを備えて構成される。また、転送処理部１４は、受信パケットに適合するマッチフィールドを持つ処理規則が見つからなかった場合は、その旨をテーブル管理部１２に通知する。さらに、転送処理部１４は、パケット処理に応じて、テーブルＤＢに登録されている統計情報（Ｃｏｕｎｔｅｒｓ）を更新する。転送処理部１４は、複数の処理規則の各々に対応する統計情報（Ｃｏｕｎｔｅｒｓ）から統計値を求めてもよい。例えば、転送処理部１４は、複数の処理規則の各々に対応する統計情報を合算して統計値を算出し、テーブル管理部１２はこの統計値と各処理規則の失効条件とを比較して各処理規則が有効か否かを判断する。また、例えば、転送処理部１４は、テーブルＤＢに格納された処理規則のうち、所定の条件に対応する処理規則に対応する統計情報から統計値を算出する。例えば、転送処理部１４は、所定のポートから入力されたパケットを処理するための処理規則や、所定のポートへパケットを出力するための処理規則に対応する統計情報から統計値を算出する。すなわち、本実施形態では、転送処理部１４が、上述したパケット処理部と統計値計測部として機能する。
【００３１】
図５は、パケット転送ノード１０−１のテーブルＤＢ１３に設定されているテーブルの例である。図５の例では、図３の通信端末３０と、サーバ（Ｓｅｒｖｅｒ）４０間の通信を実現する処理規則が設定されている。例えば、通信端末３０からサーバ（Ｓｅｒｖｅｒ）４０に宛てられたパケットのヘッダフィールドには、送信元ＩＰアドレスとして通信端末３０のＩＰアドレスが設定され、宛先ＩＰアドレスとしてサーバ（Ｓｅｒｖｅｒ）４０のＩＰアドレスが設定されている。このため、通信端末３０からサーバ（Ｓｅｒｖｅｒ）４０に宛てられたパケットを受信すると、パケット転送ノード１０−１のテーブル検索部１４１は、図５のテーブルの上から２番目の処理規則を、受信パケットに適合する処理規則として探し出す。そして、パケット転送ノード１０−１のアクション実行部１４２は、そのインストラクションフィールドに示された内容に従って、パケット転送ノード１０−２と接続されたポートから当該受信パケットを転送する。なお、パケット転送ノード１０−１は、受信パケットに対応する処理規則が存在しない場合、制御装置２０Ａに対して処理規則の設定を要求する。
【００３２】
同様に、例えば、サーバ（Ｓｅｒｖｅｒ）４０から通信端末３０に宛てられたパケットのヘッダフィールドには、送信元ＩＰアドレスとしてサーバ（Ｓｅｒｖｅｒ）４０のＩＰアドレスが設定され、宛先ＩＰアドレスとして通信端末３０のＩＰアドレスが設定されている。このため、サーバ（Ｓｅｒｖｅｒ）４０から通信端末３０に宛てられたパケットを受信すると、パケット転送ノード１０−１のテーブル検索部１４１は、図５のテーブルの上から１番目の処理規則を、受信パケットに適合する処理規則として探し出す。そして、パケット転送ノード１０−１のアクション実行部１４２は、そのインストラクションフィールドに示された内容に従って、通信端末３０と接続されたポートから当該受信パケットを転送する。なお、パケット転送ノード１０−１は、受信パケットに対応する処理規則が存在しない場合、制御装置２０Ａに対して処理規則の設定を要求する。
【００３３】
また、図５の例では、各処理規則の失効条件として、１００Ｍｂｙｔｅ、１０Ｍｂｙｔｅといった値（しきい値）が設定されている。この場合、テーブル管理部１２は、図５の上から１番目の処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）が１００Ｍバイトを超えた場合に、当該処理規則を削除する動作を行う。なお、処理規則の統計情報は、その処理規則によるパケット処理に応じて更新される。
【００３４】
また、テーブル管理部１２は、図５の上から２番目の処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）が１０Ｍバイトを超えた場合に、当該処理規則を削除する動作を行う。なお、処理規則の統計情報は、その処理規則によるパケット処理に応じて更新される。テーブル管理部１２は、図５に例示されたテーブルの１番目と２番目の処理規則の統計情報から統計値を求め、その統計値と各々の処理規則の失効条件とをそれぞれ比較してもよい。統計値は、例えば、各処理規則の統計情報を合算することで求められる。例えば、求めた統計値が１０Ｍｂｙｔｅだった場合、統計値は、図５に例示されたテーブルの２番目の処理規則の失効条件に合致する。この場合、テーブルの２番目の処理規則は削除される。
【００３５】
なお、図５の例では、処理規則を削除するしきい値となる統計値の単位をバイトで規定しているが、パケット数を用いることも可能である。また、統計情報（Ｃｏｕｎｔｅｒｓ）において、ビット等その他の単位で統計情報を管理している場合には、前記ビット等のその他の単位を用いることもできる。
【００３６】
以上のような処理規則は、パケット転送ノード１０−２、パケット転送ノード１０−３にも同様に設定される。
【００３７】
なお、上記したパケット転送ノード１０は、非特許文献２のオープンフロースイッチに、上述した統計値による処理規則の削除機能を追加することで実現することも可能である。
【００３８】
図６は、制御装置２０Ａの構成例を表したブロック図である。図６を参照すると、失効条件管理部２１と、通信端末位置管理部２２と、トポロジ管理部２３と、経路・アクション計算部２４と、パケット転送ノード管理部２５と、処理規則データベース（処理規則ＤＢ）２６と、処理規則管理部２７と、制御メッセージ処理部２８と、パケット転送ノード１０との通信を行うノード通信部２９とを含む構成例が示されている。
【００３９】
失効条件管理部２１は、例えば、処理規則毎あるいは送信元と宛先（それぞれＭＡＣアドレス等にて管理）との組み合わせ毎に、統計値の上限値（しきい値）を含む失効条件を管理する。なお、送信元と宛先の組み合わせで管理する場合、送信元と宛先のいずれか一方をワイルドカード、すなわち不定としてもよい。失効条件としては、上述した統計値のほか、各種タイムアウト値などを設定できるようにしてもよい。例えば、統計値とは別に、タイムアウト値（ハードタイムアウト値、アイドルタイムアウト値）を設定しておけば、統計値が所定のしきい値を超えなくとも、一定時間経過した処理規則を削除させることができる。
【００４０】
通信端末位置管理部２２は、通信システムに接続している通信端末の位置を特定するための情報を管理する。各通信端末の位置は、例えば、各通信端末が接続しているパケット転送ノード１０を識別する情報とそのポートの情報によって管理できる。
【００４１】
トポロジ管理部２３は、ノード通信部２９を介して収集されたパケット転送ノード１０の接続関係に基づいてネットワークトポロジ情報を構築する。また、トポロジ情報が変化した場合、トポロジ管理部２３が経路・アクション計算部２４にトポロジ情報の変化を通知し、経路・アクション計算部２４に既存の処理規則の再設定等を行わせるようにしてもよい。
【００４２】
制御メッセージ処理部２８は、パケット転送ノード１０から受信した制御メッセージを解析して、制御装置２０Ａ内の該当する処理手段に制御メッセージ情報を引き渡す。
【００４３】
経路・アクション計算部２４は、通信端末位置管理部２２にて管理されている通信端末の位置情報とトポロジ管理部２３にて管理されているトポロジ情報とに基づいてパケットの転送経路を計算する手段と、パケット転送ノード管理部２５にて管理されている各パケット転送ノードの能力情報を参照して各パケット転送ノード１０に実行させる処理内容（アクション）を求める手段として機能する。さらに、経路・アクション計算部２４は、失効条件管理部２１にて管理されている処理規則毎の失効条件を参照して、各処理規則の失効条件フィールドに設定する値を決定する手段としても機能する。
【００４４】
パケット転送ノード管理部２５は、管理対象のパケット転送ノード１０−１〜１０−３の能力（例えば、ポートの数や種類、サポートするアクションの種類など）を管理する。
【００４５】
処理規則管理部２７は、パケット転送ノード１０に設定されている処理規則を管理する。具体的には、経路・アクション計算部２４にて計算された結果を処理規則として処理規則ＤＢ２６に記憶するとともに、パケット転送ノード１０からの処理規則削除通知などにより、パケット転送ノード１０に設定された処理規則に変更が生じた場合にも対応して処理規則ＤＢ２６の内容を更新する。
【００４６】
上記のような制御装置２０Ａは、例えば、非特許文献２のオープンフローコントローラに、失効条件管理部２１を追加し、経路・アクション計算部２４を失効条件付きの処理規則を生成するよう変更した構成にて実現することも可能である。
【００４７】
なお、図４、図６に示したパケット転送ノード１０および制御装置２０Ａの各部（処理手段）は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４８】
続いて、本実施形態の動作例について図面を参照して説明する。なお、図７は例示であり、本発明の動作は図７のシーケンスに限定されない。図７は、本発明の第１の実施形態に係る通信システムの動作を説明するためのシーケンス図である。また、以下の説明では、パケット転送ノード１０−１〜１０−３には、初期状態において、通信端末３０とサーバ（Ｓｅｒｖｅｒ）４０間の通信を実現する処理規則が設定されていないものとする。
【００４９】
図７を参照すると、まず、通信端末３０がサーバ（Ｓｅｒｖｅｒ）４０宛てのユーザパケットを、送信すると（図７のＳ００１）、これを受信したパケット転送ノード１０−１は、テーブルから受信パケットに適合するマッチフィールドを持つ処理規則を検索するが、見つからないため、制御装置２０Ａに対し、受信パケットを添えて、処理規則の設定を要求する（図７のＳ００２；Ｐａｃｋｅｔ−Ｉｎ）。
【００５０】
前記処理規則の設定要求を受けた制御装置２０Ａは、経路・アクション計算部２４にて、図５に示すような失効条件付きの処理規則（両方向）を作成し、各パケット転送ノード１０に設定する（図７のＳ００３；ＦｌｏｗＭｏｄ）。また、制御装置２０Ａは、パケット転送ノード１０−１に対し、Ｓ００２で受信したパケットを戻し、パケット転送ノード１０−２に転送するよう指示する（図７のＳ００４；Ｐａｃｋｅｔ−Ｏｕｔ）。
【００５１】
前記指示に基づいて、パケット転送ノード１０−１が、パケット転送ノード１０−２にパケットを転送すると、パケット転送ノード１０−２、１０−３は、それぞれ設定された処理規則に従って、パケットをサーバ（Ｓｅｒｖｅｒ）４０に転送する（図７のＳ００５）。
【００５２】
その後、パケット転送ノード１０−１〜１０−３は、それぞれ設定された処理規則に従って、通信端末３０とサーバ（Ｓｅｒｖｅｒ）４０間で送受信されるユーザパケットを転送する（図７のＳ００６、Ｓ００７）。
【００５３】
その後、サーバ（Ｓｅｒｖｅｒ）４０から通信端末３０に宛てられたパケットを処理する処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）に示された統計値が、当該処理規則の失効条件に設定されたしきい値を超えると、パケット転送ノード１０−１〜１０−３は、当該処理規則（図５の上から１番目の処理規則）を削除する。
【００５４】
パケット転送ノード１０−１〜１０−３は、前記処理規則の削除を制御装置２０Ａに通知する（図７のＳ００８；ＦｌｏｗＲｅｍｏｖｅｄ）。制御装置２０Ａは、前記通知に基づいて処理規則ＤＢ２６を更新する。
【００５５】
その後、通信端末３０からサーバ（Ｓｅｒｖｅｒ）４０に宛てられたパケットの転送により（図７のＳ００９）、前記パケットを処理する処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）に示された統計値も、当該処理規則の失効条件に設定されたしきい値を超えると、パケット転送ノード１０−１〜１０−３は、当該処理規則（図５の上から２番目の処理規則）を削除する。
【００５６】
パケット転送ノード１０−１〜１０−３は、前記処理規則の削除を制御装置２０Ａに通知する（図７のＳ０１０；ＦｌｏｗＲｅｍｏｖｅｄ）。制御装置２０Ａは、前記通知に基づいて処理規則ＤＢ２６を更新する。
【００５７】
なお、制御装置２０Ａは、処理規則を削除後、パケット転送ノード１０−１〜１０−３に、削除した処理規則に対応する後続のパケットを廃棄する新たな処理規則を設定してもよい。これにより、統計値が所定のしきい値を超えたパケットのトラフィックを制限することができる。
【００５８】
また、制御装置２０Ａは、処理規則の削除後、パケット転送ノード１０−１〜１０−３に、削除した処理規則に対応する後続のパケットの転送方法を規定した新たな処理規則を設定し、更に、パケット転送ノード１０−１〜１０−３のうちの所定のノードに対してトラフィックシェーピングの指示をしてもよい。トラフィックシェーピングとは、例えば、統計値がしきい値を超過した処理規則に対応するパケットフローの転送レートを制御することを意味する。転送レートの制御とは、例えば、パケットフローを遅延させる処理や転送レートが所定の値を超えないように制御する処理を意味する。但し、転送レートの制御は、パケットフローを遅延させる処理や転送レートが所定の値を超えないように制御する処理に限定されない。
【００５９】
制御装置２０Ａは、統計値がしきい値を超過した処理規則に対応するパケットフローだけでなく、そのパケットフローに対応する別のパケットフローに対しても転送レートを制御することを所定のノードに指示してもよい。例えば、統計値がしきい値を超過した処理規則に対応するパケットフローが、通信端末３０からサーバ４０に送信されるフローであり、そのパケットフローに対応する別のパケットフローが、サーバ４０から通信端末３０に送信されるフローである。
【００６０】
以上のように、本実施形態によれば、通信量に基づく柔軟なフロー制御を行うことが可能となる。
【００６１】
［第２の実施形態］
通信端末３０に上記したパケット転送ノードの機能を追加した本発明の第２の実施形態について図面を参照して説明する。なお、通信端末３０も、上述した通信装置に相当する。例えば、通信端末は、携帯電話、パーソナルコンピュータ、モバイルルータ等の通信機能を有する装置である。図８は、本発明の第２の実施形態に係る通信システムの構成例を表した図である。図３に表した第１の実施形態との相違点は、通信端末３０Ａの構成のみである。その他は、第１の実施形態と同等であるため、以下その相違点を中心に説明する。
【００６２】
図９は、通信端末３０Ａの構成例を表したブロック図である。図９を参照すると、複数のアプリケーション部３１１〜３１ｎと、これらアプリケーション部３１１〜３１ｎに任意のプロトコルによる通信機能を提供するプロトコルスタック部３２と、プロトコルスタック部３２と接続され、上述した第１の実施形態のパケット転送ノード１０と同等のパケット処理を行うパケット転送機能部３３とを備えた構成が示されている。
【００６３】
パケット転送機能部３３は、第１の実施形態のパケット転送ノード１０と同様に、制御装置２０Ａから設定された失効条件付きの処理規則に基づいたパケット処理を行う。具体的には、パケット転送機能部３３は、第１の実施形態のパケット転送ノード１０と同様に、通信部１１、テーブル管理部１２、テーブルＤＢ１３および転送処理部１４を備え、プロトコルスタック部３２から出力されたパケットの処理およびパケット転送ノード１０−１から転送されたユーザトラフィックの処理を行う。なお、このパケット転送機能部３３は、通信端末３０Ａを構成するコンピュータのハードウェア（メモリ、通信手段）を用いて、上述したパケット処理を行うコンピュータプログラムにて実現することもできる。また、このコンピュータプログラムは、通信端末３０Ａにプレインストールされていてもよいし、図示省略するアプリケーションサーバ等から、ダウンロードしてインストールできるようにしてもよい。また、各処理規則の失効条件に設定するしきい値は、このダウンロード時に支払われた金額や、コンピュータプログラムの代金に含まれる金額によって変更するようにしてもよい。
【００６４】
図１０は、パケット転送機能部３３内部のテーブルＤＢに設定されているテーブルの具体例である。図１０の例では、図９の通信端末３０Ａ内のプロトコルスタック部３２と、サーバ（Ｓｅｒｖｅｒ）４０間の通信を実現する処理規則が設定されている。例えば、通信端末３０Ａ内のプロトコルスタック部３２からサーバ（Ｓｅｒｖｅｒ）４０に宛てられたパケットのヘッダフィールドには、送信元ＩＰアドレスとして通信端末３０ＡのＩＰアドレスが設定され、宛先ＩＰアドレスとしてサーバ（Ｓｅｒｖｅｒ）４０のＩＰアドレスが設定されている。このため、通信端末３０Ａ内のプロトコルスタック部３２からサーバ（Ｓｅｒｖｅｒ）４０に宛てられたパケットを受信すると、パケット転送機能部３３内部のテーブル検索部は、図１０のテーブルの上から２番目の処理規則を、受信パケットに適合する処理規則として探し出す。そして、パケット転送機能部３３内部のアクション実行部は、そのインストラクションフィールドに示された内容に従って、パケット転送ノード１０−１と接続されたポートから当該受信パケットを転送する。なお、通信端末３０Ａは、受信パケットに対応する処理規則が存在しない場合、制御装置に対して処理規則の設定を要求する。
【００６５】
同様に、例えば、サーバ（Ｓｅｒｖｅｒ）４０から通信端末３０Ａに宛てられたパケットのヘッダフィールドには、送信元ＩＰアドレスとしてサーバ（Ｓｅｒｖｅｒ）４０のＩＰアドレスが設定され、宛先ＩＰアドレスとして通信端末３０ＡのＩＰアドレスが設定されている。このため、サーバ（Ｓｅｒｖｅｒ）４０から通信端末３０Ａに宛てられたパケットを受信すると、パケット転送機能部３３内部のテーブル検索部は、図１０のテーブルの上から１番目の処理規則を、受信パケットに適合する処理規則として探し出す。そして、パケット転送機能部３３内部のアクション実行部は、そのインストラクションフィールドに示された内容に従って、通信端末３０Ａのプロトコルスタック部３２と接続されたポートから当該受信パケットを転送する。なお、通信端末３０Ａは、受信パケットに対応する処理規則が存在しない場合、制御装置に対して処理規則の設定を要求する。
【００６６】
また、図１０の例では、第１の実施形態と同様に、各処理規則の失効条件として、１００Ｍｂｙｔｅ、１０Ｍｂｙｔｅといった値（しきい値）が設定されている。この場合、パケット転送機能部３３内部のテーブル管理部は、図１０の上から１番目の処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）が１００Ｍｂｙｔｅを超えた場合に、当該処理規則を削除する動作を行う。また、パケット転送機能部３３内部のテーブル管理部は、図１０の上から２番目の処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）が１０Ｍｂｙｔｅを超えた場合に、当該処理規則を削除する動作を行う。
【００６７】
また、パケット転送機能部３３は、図１０のテーブルの１番目と２番目の処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）から統計値を求め、その統計値と各々の処理規則の失効条件とをそれぞれ比較してもよい。統計値は、例えば、各処理規則の統計情報を合算することで求められる。例えば、求めた統計値が１０Ｍｂｙｔｅだった場合、統計値は、図１０に例示されたテーブルの２番目の処理規則の失効条件に合致する。この場合、テーブルの２番目の処理規則は削除される。
【００６８】
また、例えば、パケット転送機能部３３は、テーブルＤＢに格納された処理規則のうち、所定の条件に対応する処理規則に対応する統計情報から統計値を算出する。例えば、転送処理部１４は、所定のポートから入力されたパケットを処理するための処理規則や、所定のポートへパケットを出力するための処理規則に対応する統計情報（Ｃｏｕｎｔｅｒｓ）から統計値を算出する。通信端末３０が、複数の通信ポート（例えば、３Ｇ通信用ポート、ＷｉＦｉ通信用ポート、ＷｉＭＡＸ通信用ポート等）を備えている場合、複数の通信ポートのうちの所定の通信ポート（例えば３Ｇ通信用ポート）を介してパケットの送受信するための処理規則に対応する統計情報（Ｃｏｕｎｔｅｒｓ）から統計値を算出する。
【００６９】
以上のような処理規則は、パケット転送ノード１０−１〜１０−３にも同様に設定されてもよい。
【００７０】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図１１は、本発明の第２の実施形態に係る通信システムの動作を説明するためのシーケンス図である。また、以下の説明では、通信端末３０Ａのパケット転送機能部３３およびパケット転送ノード１０−１〜１０−３には、初期状態において、通信端末３０Ａとサーバ（Ｓｅｒｖｅｒ）４０間の通信を実現する処理規則が設定されていないものとする。
【００７１】
図１１を参照すると、まず、通信端末３０Ａのパケット転送機能部３３が、プロトコルスタック部３２からサーバ（Ｓｅｒｖｅｒ）４０宛てのユーザパケットを受信すると、パケット転送機能部３３は、テーブルから受信パケットに適合するマッチフィールドを持つ処理規則を検索するが、見つからないため、制御装置２０Ａに対し、受信パケットを添えて、処理規則の設定を要求する（図１１のＳ１０１；Ｐａｃｋｅｔ−Ｉｎ）。
【００７２】
前記処理規則の設定要求を受けた制御装置２０Ａは、経路・アクション計算部２４にて、図１０に示すような失効条件付きの処理規則（両方向）を作成し、通信端末３０Ａのパケット転送機能部３３および各パケット転送ノード１０に設定する（図１１のＳ１０２；ＦｌｏｗＭｏｄ）。また、制御装置２０Ａは、通信端末３０Ａのパケット転送機能部３３に対し、Ｓ００２で受信したパケットを戻し、パケット転送ノード１０−１に転送するよう指示する（図１１のＳ１０３；Ｐａｃｋｅｔ−Ｏｕｔ）。
【００７３】
前記指示に基づいて、通信端末３０Ａのパケット転送機能部３３が、パケット転送ノード１０−１にパケットを転送すると、パケット転送ノード１０−１〜１０−３は、それぞれ設定された処理規則に従って、パケットをサーバ（Ｓｅｒｖｅｒ）４０に転送する（図１１のＳ１０４）。
【００７４】
その後、通信端末３０Ａのパケット転送機能部３３およびパケット転送ノード１０−１〜１０−３は、それぞれ設定された処理規則に従って、通信端末３０Ａとサーバ（Ｓｅｒｖｅｒ）４０間で送受信されるユーザパケットを転送する（図１１のＳ１０５、Ｓ１０６）。
【００７５】
その後、サーバ（Ｓｅｒｖｅｒ）４０から通信端末３０Ａに宛てられたパケットを処理する処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）に示された統計値が、当該処理規則の失効条件に設定されたしきい値を超えると、通信端末３０Ａのパケット転送機能部３３およびパケット転送ノード１０−１〜１０−３は、当該処理規則（図１０の上から１番目の処理規則）を削除する。
【００７６】
通信端末３０Ａのパケット転送機能部３３およびパケット転送ノード１０−１〜１０−３は、前記処理規則の削除を制御装置２０Ａに通知する（図１１のＳ１０７；ＦｌｏｗＲｅｍｏｖｅｄ）。制御装置２０Ａは、前記通知に基づいて処理規則ＤＢ２６を更新する。
【００７７】
その後、通信端末３０からサーバ（Ｓｅｒｖｅｒ）４０に宛てられたパケットの転送により（図１１のＳ１０８）、前記パケットを処理する処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）に示された統計値も、当該処理規則の失効条件に設定されたしきい値を超えると、通信端末３０Ａのパケット転送機能部３３およびパケット転送ノード１０−１〜１０−３は、当該処理規則（図５の上から２番目の処理規則）を削除する。
【００７８】
通信端末３０Ａのパケット転送機能部３３およびパケット転送ノード１０−１〜１０−３は、前記処理規則の削除を制御装置２０Ａに通知する（図１１のＳ１０９；ＦｌｏｗＲｅｍｏｖｅｄ）。制御装置２０Ａは、前記通知に基づいて処理規則ＤＢ２６を更新する。
【００７９】
なお、制御装置２０Ａは、処理規則を削除後、通信端末３０Ａのパケット転送機能部３３及びパケット転送ノード１０−１〜１０−３に、削除した処理規則に対応する後続のパケットを廃棄する新たな処理規則を設定してもよい。これにより、統計値が所定のしきい値を超えたパケットのトラフィックを制限することができる。
【００８０】
また、制御装置２０Ａは、処理規則の削除後、パケット転送機能部３３およびパケット転送ノード１０−１〜１０−３に、削除した処理規則に対応する後続のパケットの転送方法を規定した新たな処理規則を設定し、更に、パケット転送機能部３３とパケット転送ノード１０−１〜１０−３のうちの所定のノードに対してトラフィックシェーピングの指示をしてもよい。トラフィックシェーピングとは、例えば、統計値がしきい値を超過した処理規則に対応するパケットフローの転送レートを制御することを意味する。転送レートの制御とは、例えば、パケットフローを遅延させる処理や転送レートが所定の値を超えないように制御する処理を意味する。但し、転送レートの制御は、パケットフローを遅延させる処理や転送レートが所定の値を超えないように制御する処理に限定されない。
【００８１】
制御装置２０Ａは、統計値がしきい値を超過した処理規則に対応するパケットフローだけでなく、そのパケットフローに対応する別のパケットフローに対しても転送レートを制御することを所定のノードに指示してもよい。例えば、統計値がしきい値を超過した処理規則に対応するパケットフローが、通信端末３０Ａからサーバ４０に送信されるフローであり、そのパケットフローに対応する別のパケットフローが、サーバ４０から通信端末３０Ａに送信されるフローである。
【００８２】
以上のように、本発明は、通信端末側に、パケット転送機能部３３を内蔵させた構成例でも実現できる。また、本実施形態は、上記した第１の実施形態に比べ、通信端末内部で、パケット廃棄等のフロー制御を行うことが可能となるため、パケット転送ノード１０に流れるトラフィックを減らし、パケット転送ノード１０および制御装置２０Ａの負荷を低減させることができるという効果を奏する。なお、失効条件が処理規則に含まれている構成例を示したが、失効条件が、処理規則とは別に、通信端末に設定されていてもよい。
【００８３】
［第３の実施形態］
続いて、制御装置の構成例に変更を加えた本発明の第３の実施形態について図面を参照して説明する。図１２は、本発明の第３の実施形態に係る制御装置２０Ｂの構成例を表した図である。第１の実施形態及び第２の実施形態の制御装置との相違点は、失効条件管理部２１が契約情報管理部２１Ａに置き換えられている点である。その他は、第１の実施形態及び第２の実施形態と同等であるため、以下その相違点を中心に説明する。
【００８４】
本実施形態の契約情報管理部２１Ａは、通信端末３０のユーザの契約情報を管理し、経路・アクション計算部２４からの要求に応じて、該契約情報を参照して失効条件を生成する機能を備えている。また、この契約情報を経路・アクション計算部２４に提供し、経路・アクション計算部２４が経路計算に契約情報を用いることとしてもよい。例えば、通信端末３０のユーザが、１０Ｍバイトを上限としてサーバ（Ｓｅｒｖｅｒ）４０と通信できるという契約を結んでいる場合、契約情報管理部２１Ａは、経路・アクション計算部２４に、失効条件として１０Ｍバイトを設定した処理規則を作成するよう通知する。なお、この場合、計客情報管理部２１Ａは、失効条件として１０Ｍバイトを設定した複数の処理規則を作成するように通知してもよい。
【００８５】
また、前記失効条件による処理規則の削除が行われることがなく、タイムアウトや通信端末３０からの通信終了通知やログアウト動作等により通信が終了した場合、制御装置２０Ａが、該当する処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）を収集し、契約情報管理部２１Ａに、通信端末３０のユーザの残りの通信可能な統計値を記録するようにしてもよい。
【００８６】
以下、本実施形態の動作は、第１、第２の実施形態と同様であるので説明を省略する。
【００８７】
以上のように、本実施形態によれば、契約情報に基づいて失効条件を柔軟に設定することが可能となる。
【００８８】
また、上述したように、パケット転送ノード１０からの処理規則の削除通知に、その原因（統計値の超過であるのか、タイムアウトの成立であるのか等）を含めることで、制御装置２０Ａの契約情報管理部２１Ａにおける契約情報の更新要否等に役立てることができる。
【００８９】
［第４の実施形態］
続いて、第４の実施形態を説明する。第４の実施形態では、統計値が失効条件に規定されたしきい値を超過した場合、通信端末３０が課金サーバ５０との間で新たなしきい値を設定する。通信端末３０のユーザは、例えば、元々の契約で決められた統計値を越えた後に、追加の料金を支払うことにより契約情報を更新し、契約情報の更新によって失効条件のしきい値も新たに設定される。新たなしきい値が設定されて、かつ統計値がリセットされることにより、通信端末３０はデータ通信を継続することができる。
【００９０】
パケット転送ノード１０、通信端末３０は、第１の実施形態、第２の実施形態又は第３の実施形態のいずれかと同様なので、詳細な説明は省略する。また、制御装置の構成は、第３の実施形態の制御装置２０Ｂと同様なので、詳細な説明は省略する。
【００９１】
図１３、図１４を参照し、第４の実施形態の動作について説明する。通信端末３０のパケット転送機能部３３が、プロトコルスタック部３２からサーバ（Ｓｅｒｖｅｒ）４０宛てのユーザパケットを受信すると、パケット転送機能部３３は、テーブルから受信パケットに適合するマッチフィールドを持つ処理規則を検索するが、見つからないため、制御装置２０Ｂに対し、受信パケットを添えて、処理規則の設定を要求する（図１３のＳ２０１；Ｐａｃｋｅｔ−Ｉｎ）。
【００９２】
前記処理規則の設定要求を受けた制御装置２０Ｂは、経路・アクション計算部２４にて、図１０に示すような失効条件付きの処理規則（両方向）を作成し、パケット転送機能部３３および各パケット転送ノード１０に設定する（図１３のＳ２０２；ＦｌｏｗＭｏｄ）。また、制御装置２０Ｂは、Ｓ２０１で受信したパケットを通信端末３０に戻し、そのパケット転送機能部３３に対し、パケット転送ノード１０−１に前記パケットを転送するよう指示する（図１３のＳ２０３；Ｐａｃｋｅｔ−Ｏｕｔ）。
【００９３】
前記指示に基づいて、パケット転送機能部３３が、パケット転送ノード１０−１にパケットを転送すると、パケット転送ノード１０−１〜１０−３は、それぞれ設定された処理規則に従って、パケットをサーバ（Ｓｅｒｖｅｒ）４０に転送する（図１３のＳ２０４）。
【００９４】
その後、パケット転送機能部３３およびパケット転送ノード１０−１〜１０−３は、それぞれ設定された処理規則に従って、通信端末３０とサーバ（Ｓｅｒｖｅｒ）４０間で送受信されるユーザパケットを転送する（図１３のＳ２０５、Ｓ２０６）。
【００９５】
その後、サーバ（Ｓｅｒｖｅｒ）４０から通信端末３０に宛てられたパケットを処理する処理規則の統計情報（Ｃｏｕｎｔｅｒｓ）に示された統計値が、当該処理規則の失効条件に設定されたしきい値を超えると、パケット転送機能部３３およびパケット転送ノード１０−１〜１０−３は、当該処理規則（例えば、図１０の上から１番目の処理規則）を削除する。
【００９６】
パケット転送機能部３３およびパケット転送ノード１０−１〜１０−３は、前記処理規則の削除を制御装置２０Ｂに通知する（図１３のＳ２０７；ＦｌｏｗＲｅｍｏｖｅｄ）。制御装置２０Ｂは、前記通知に基づいて処理規則ＤＢ２６を更新する。
【００９７】
なお、図１０等の失効条件に設定されたしきい値は、例えば、第３の実施形態で説明したように、通信端末３０のユーザの契約情報に基づいて設定されたものである。よって、制御装置２０Ｂは、通信端末３０の通信量が失効条件に規定されたしきい値を超過した場合、課金サーバ５０に対して、通信端末３０の通信量が契約した通信量を超過したことを通知してもよい（図１３の契約切れ通知）。
【００９８】
図１４を参照して、図１３以降の動作を説明する。図１３のＳ２０７で、統計値がしきい値を超過したことにより処理規則が削除された後、通信端末３０のパケット転送機能部３３が、プロトコルスタック部３２からサーバ（Ｓｅｒｖｅｒ）４０宛てのユーザパケットを受信すると、パケット転送機能部３３は、テーブルから受信パケットに適合するマッチフィールドを持つ処理規則を検索するが、処理規則が削除されているため、制御装置２０Ｂに対し、受信パケットを添えて、処理規則の設定を要求する（図１４のＳ２０８；Ｐａｃｋｅｔ−Ｉｎ）。
【００９９】
制御装置２０Ｂは、通信端末３０は契約した通信量を超過しているので（図１４の契約情報チェック）、通信端末３０がサーバ４０宛に送信したパケットを課金サーバ５０に転送することを規定した処理規則（リダイレクト用処理規則）を、通信端末３０のパケット転送機能部３３、パケット転送ノード１０−１〜１０−３にそれぞれ設定する（図１４のＳ２０９）。
【０１００】
課金サーバ５０は、リダイレクト用処理規則に従って通信端末３０から転送されたパケットを受信すると、通信端末３０に対してリダイレクトメッセージを送信する（図１４のＳ２１０）。リダイレクトメッセージの受信により、通信端末３０は、サーバ４０との通信セッションを、課金サーバ５０との通信セッションに切り替える。
【０１０１】
通信端末３０は、課金サーバ５０との間で通信を行い（図１４のＳ２１３）、契約情報を更新し、失効条件のしきい値も新たに設定する。例えば、通信端末３０のユーザは、追加の料金を支払う処理を課金サーバ５０との間で実行することで、契約情報を更新する。
【０１０２】
課金サーバ５０は、契約情報の更新完了後、制御装置２０Ｂに対して、契約情報の更新が完了したことを通知する（図１４のＳ２１４）。制御装置２０Ｂは、契約情報管理部２１Ａに格納された通信端末３０の契約情報を更新し、処理規則に設定される失効条件のしきい値を更新する。
【０１０３】
以上の動作により、通信端末３０のデータ通信量が契約した許容量を超過した場合に、通信端末３０に対して追加料金の支払い等の勧誘を行うことができる。
【０１０４】
［第５の実施形態］
続いて、本発明の第５の実施形態について図面を参照して説明する。上記した第１〜第４の実施形態との相違点は、テーブルが、パケットを処理するために処理規則を格納する第１のテーブルと、その第１のテーブルを参照するために所定の条件を管理する第２のテーブルに分けられている点である。その他は、第１〜第４の実施形態と同等であるため、以下その相違点を中心に説明する。
【０１０５】
通信端末３０Ａのパケット転送機能部３３やパケット転送ノード１０の転送処理部１４は、第２のテーブルが管理する所定の条件に基づいて、パケットを処理するための処理規則を格納する第１のテーブルを参照できるか否かを判定する。所定の条件は、例えば、通信量や第１のテーブルに処理規則が設定されてから経過した時間等に基づいて定められる。但し、所定の条件は、通信量や経過時間に限定されない。
【０１０６】
図１５は、図８に示すような通信端末３０Ａ内にパケット転送機能部３３が備えられている構成において、パケット転送機能部３３に設定されるテーブルの一例を示す図である。図１５の上段のテーブル（Ｔａｂｌｅ０）は、所定の条件（例えば、Ｔａｂｌｅ０の失効条件）として、下段のテーブル（Ｔａｂｌｅ１）に格納された所定の処理規則によるパケットの処理量を管理する。図１５では、所定の条件の一例である失効条件として、“１００Ｍｂｙｔｅ”の処理量が規定されている。例えば、パケット転送機能部３３は、Ｓｅｒｖｅｒ４０から通信端末３０Ａに対して送信されるパケットフローに対応する処理規則（Ｔａｂｌｅ１の１番目のエントリ）と、通信端末３０ＡからＳｅｒｖｅｒ４０に送信されるパケットフローに対応する処理規則（Ｔａｂｌｅ１の２番目のエントリ）によるパケットの処理量を、統計値（Ｔａｂｌｅ０のＣｏｕｎｔｅｒｓ）として計測する。なお、統計値の管理対象となる処理規則の選択方法は任意であり、上述のようにパケットフローの宛先・送信元に基づいて選択する方法に限定されない。
【０１０７】
図１５の例では、テーブル（Ｔａｂｌｅ０）は、統計値が１００Ｍバイトを超えるまで、図１５の下段のテーブル（Ｔａｂｌｅ１）による処理を許容する処理内容（Ｇｏｔｏ  Ｔａｂｌｅ１）が定められた処理規則が設定されている。
【０１０８】
なお、図１５の上段のテーブル（Ｔａｂｌｅ０）は、所定の条件として、所定の処理規則が下段のテーブル（Ｔａｂｌｅ１）に設定されてから経過した時間を、統計値として計測してもよい。
【０１０９】
図１５の例において、上段のテーブル（Ｔａｂｌｅ０）は、１つのエントリしか設定されていないが、複数のエントリが設定されてもよい。例えば、パケット転送ノード１０が複数の通信端末３０Ａが送受信するパケットの転送を行う場合、パケット転送ノード１０のＴａｂｌｅ０は、複数の通信端末３０Ａのそれぞれに対応した複数のエントリを保持してもよい。この場合、各エントリの失効条件には、そのエントリに対応する通信端末３０Ａ用の条件が設定されている。また、各エントリの統計値（Ｃｏｕｎｔｅｒｓ）には、そのエントリに対応する通信端末３０Ａ用の統計値が格納される。パケット転送機能部３３は、例えば、パケットフローの送信元アドレスを参照して通信端末３０Ａを識別して、Ｔａｂｌｅ０の対応するエントリに統計値を格納する。
【０１１０】
一方、図１５の下段のテーブル（Ｔａｂｌｅ１）には、一例として、通信端末３０Ａ内のプロトコルスタック部３２と、サーバ（Ｓｅｒｖｅｒ）４０間の通信を実現する処理規則が設定されている。なお、図１５の下段のテーブル（Ｔａｂｌｅ１）には、失効条件は設定されていない。
【０１１１】
通信端末３０Ａのパケット転送機能部３３やパケット転送ノード１０のテーブル管理部１２は、統計値が所定の条件を満たした場合(例えば、処理量が所定のしきい値を超過した場合)、Ｔａｂｌｅ１に格納されている処理規則に対して所定の処理を実行する。例えば、パケット転送機能部３３やテーブル管理部１２は、Ｔａｂｌｅ１の処理規則を削除する処理、処理規則に規定されたパケットの処理方法をパケットの廃棄に書き換える処理等を実行する。
【０１１２】
以上のような２つのテーブルを持つ本実施形態によれば、失効条件が成立した場合であっても、図１５の上段のフロー制御用のテーブルから処理規則を削除すればよく、図１５の下段のパケット処理用のテーブルを更新する必要がないという利点がある。これにより、通信端末３０Ａ、パケット転送ノード１０および制御装置２０それぞれの処理規則の管理負荷を低減させることが可能になる。
【０１１３】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した各実施形態で示したパケット転送ノード、制御装置、通信端末およびサーバ（Ｓｅｒｖｅｒ）４０の数や接続構成は、本発明を簡単に説明するために示したものであり、これらの数や接続構成は、適宜変更することが可能である。各実施形態は関連技術であるオープンフローを参照しているが、本発明はオープンフローを用いることに限定されない。例えば、オープンフローに限らず、パケットの転送経路を制御装置が集中制御する通信アーキテクチャは、本発明に適用できる。
【０１１４】
また、上記した実施形態では、処理規則を用いたパケットの転送後に、処理規則の失効条件を用いた処理規則の削除判定を行うものとして説明したが、テーブル管理部が所定の時間間隔で、処理規則の削除判定を行うようにしてもよい。
【０１１５】
また、上記した実施形態では、処理規則の失効条件を用いて処理規則を削除するものとして説明したが、処理規則の処理内容をパケット廃棄（Ｄｒｏｐ）などに書き換えるようにしてもよい。
【符号の説明】
【０１１６】
１０、１０−１〜１０−３  パケット転送ノード
１１  通信部
１２  テーブル管理部
１３  テーブルデータベース（テーブルＤＢ）
１４  転送処理部
２０、２０Ａ、２０Ｂ  制御装置
２１  失効条件管理部
２１Ａ  契約情報管理部
２２  通信端末位置管理部
２３  トポロジ管理部
２４  経路・アクション計算部
２５  パケット転送ノード管理部
２６  処理規則データベース（処理規則ＤＢ）
２７  処理規則管理部
２８  制御メッセージ処理部
２９  ノード通信部
３０、３０Ａ  通信端末
３２  プロトコルスタック部
３３  パケット転送機能部
４０  サーバ（Ｓｅｒｖｅｒ）
５０  課金サーバ
１００  処理規則
１０１  失効条件
１４１  テーブル検索部
１４２  アクション実行部
３１１〜３１ｎ  アプリケーション部
【図１】
2014027696.tif 000003
【図２】
2014027696.tif 000004
【図３】
2014027696.tif 000005
【図４】
2014027696.tif 000006
【図５】
2014027696.tif 000007
【図６】
2014027696.tif 000008
【図７】
2014027696.tif 000009
【図８】
2014027696.tif 000010
【図９】
2014027696.tif 000011
【図１０】
2014027696.tif 000012
【図１１】
2014027696.tif 000013
【図１２】
2014027696.tif 000014
【図１３】
2014027696.tif 000015
【図１４】
2014027696.tif 000016
【図１５】
2014027696.tif 000017
【図１６】
2014027696.tif 000018
【図１７】
2014027696.tif 000019