(57)【要約】【課題】通信制御装置が中継装置あるいは中継装置群を制御する形態のネットワークシステムにおいて、通信制御装置の負荷を抑えながら細粒度のフロー制御を行うことができる通信システムを提供する。【解決手段】フロー識別情報送信手段は、処理方法決定手段がパケットの通信フローに対する処理方法を決定できない場合に、その通信フローを識別する第一のフロー識別情報の一部または全体に相当するパケット内の情報を処理決定装置に送信する。制御動作決定手段は、通信フロー処理装置から受信した情報と制御動作記憶手段に記憶された第二のフロー識別情報とをもとに制御動作を決定する。制御指示手段は、その制御動作に基づいて、通信フロー処理装置に通信フローの制御指示を行う。処理方法登録手段は、制御装置からの制御指示に基づいてその通信フローに対する処理方法を処理方法記憶手段に登録する。【選択図】図９
2014112927.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御装置を含む通信システムであって、
下位階層の制御装置に第一の制御情報を発行する第一の制御装置と、
前記第一の制御装置により発行された前記第一の制御情報を、パケットを転送する転送装置の制御に用いられる第二の制御情報に変換する第二の制御装置を含み、
前記第二の制御装置は、前記第一の制御情報に基づいてパケットを識別するための第一の識別条件と、前記第二の制御情報に基づいてパケットを識別するための第二の識別条件とが異なるように、前記第一の制御情報を前記第二の制御情報に変換する
ことを特徴とする通信システム。
【請求項２】
前記第二の制御装置は、前記第一の識別条件が前記第二の識別条件を包含するように、前記第一の制御情報を前記第二の制御情報に変更する
請求項１記載の通信システム。
【請求項３】
前記第二の制御情報は、前記第一の識別条件で識別されるパケット数が、前記第二の識別条件で識別されるパケット数よりも多くなるように、前記第一の制御情報を前記第二の制御情報に変更する
請求項１または請求項２記載の通信システム。
【請求項４】
上位階層の制御装置が発行した第一の制御情報を受信する手段と、
前記第一の制御情報を、パケットを転送する転送装置の制御に用いられる第二の制御情報に変換する制御手段とを含み、
前記制御手段は、前記第一の制御情報に基づいてパケットを識別するための第一の識別条件と、前記第二の制御情報に基づいてパケットを識別するための第二の識別条件とが異なるように、前記第一の制御情報を前記第二の制御情報に変換する
ことを特徴とする制御装置。
【請求項５】
前記制御手段は、前記第一の識別条件が前記第二の識別条件を包含するように、前記第一の制御情報を前記第二の制御情報に変更する
請求項４記載の制御装置。
【請求項６】
前記制御手段は、前記第一の識別条件で識別されるパケット数が、前記第二の識別条件で識別されるパケット数よりも多くなるように、前記第一の制御情報を前記第二の制御情報に変更する
請求項４または請求項５記載の制御装置。
【請求項７】
下位階層の制御装置に第一の制御情報を発行し、
前記第一の制御情報に基づいてパケットを識別するための第一の識別条件と、パケットを転送する転送装置の制御に用いられる第二の制御情報に基づいてパケットを識別するための第二の識別条件とが異なるように、前記第一の制御情報を前記第二の制御情報に変換する
ことを特徴とする通信方法。
【請求項８】
前記第一の識別条件が前記第二の識別条件を包含するように、前記第一の制御情報を前記第二の制御情報に変更する
請求項７記載の通信方法。
【請求項９】
前記第一の識別条件で識別されるパケット数が、前記第二の識別条件で識別されるパケット数よりも多くなるように、前記第一の制御情報を前記第二の制御情報に変更する
請求項７または請求項８記載の通信方法。
【請求項１０】
上位階層の制御装置が発行した第一の制御情報を受信し、
前記第一の制御情報に基づいてパケットを識別するための第一の識別条件と、パケットを転送する転送装置の制御に用いられる第二の制御情報に基づいてパケットを識別するための第二の識別条件とが異なるように、前記第一の制御情報を前記第二の制御情報に変換する
ことを特徴とする通信方法。
【請求項１１】
前記第一の識別条件が前記第二の識別条件を包含するように、前記第一の制御情報を前記第二の制御情報に変更する
請求項１０記載の通信方法。
【請求項１２】
前記第一の識別条件で識別されるパケット数が、前記第二の識別条件で識別されるパケット数よりも多くなるように、前記第一の制御情報を前記第二の制御情報に変更する
請求項１０または請求項１１記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置が通信フローを制御するネットワークシステムにおいて、その通信制御装置が行うフロー制御の負荷を抑える通信システム、制御装置および通信方法に関する。
【背景技術】
【０００２】
ネットワークシステムにおいて、通信情報はフローと呼ばれる一定の単位で扱われ、各々のフローに対して経路制御、フィルタリング、優先度を用いた品質制御等を行う機構が存在する。フロー（パケットフローと記すこともある。）とは、パケットの分類単位の一つであり、ＴＣＰ（Transmission Control Protocol ）セッションや、送受信ノードのペア等を基準に分類されることが多い。
【０００３】
例えば、送受信ノードのＩＰ（Internet Protocol ）アドレスとＴＣＰポートでフローを区別する場合を例に挙げて説明する。この場合、「Ｆｒｏｍ［ＩＰ１９２．１６８．０．１：ｐｏｒｔ１０００］ｔｏ［ＩＰ１９２．１６８．０．２：ｐｏｒｔ８０］」で表わされるパケットは全て同一のフローに属するとすることができる。また、「Ｆｒｏｍ［ＩＰ１９２．１６８．０．１：ｐｏｒｔ１０００］ｔｏ［ＩＰ１９２．１６８．０．２：ｐｏｒｔ４４３］」で表わされるパケットは別のフローと判断することができる。このような機構では、このフロー単位で、パケットの取扱内容（例えば、経路設定、優先度処理など）が決定される。
【０００４】
また、フローを中継する中継装置では、フローテーブルと呼ばれるテーブル内にフローとそれに対応する処理情報（たとえば、出力ポートや優先度等）を記憶しておく。中継装置は、パケットを受信すると、受信したパケットの内容をもとにフローテーブルを検索し、対応する処理情報を読み取って転送や廃棄等の処理を決定する。
【０００５】
例えば、特許文献１には、パケット中継装置が、フローテーブルのエントリを追加登録する際、パターンの圧縮処理を行い、より多くのエントリを登録可能とするエントリの圧縮伸長方法が記載されている。特許文献１に記載された圧縮伸長方法は、新たに登録する新規パターンがエントリのフロー識別パターンに対し差分が１ビットであるインクリメンタルパターンであった場合、フロー識別においてフロー識別パターンに対するドントケアビットの位置を示すエントリのマスクパターンを変更する。
【０００６】
また、上記中継装置を用いてシステムを構成する場合、ネットワーク上に接続された中継装置は、自身の備える機能に基づいてポート毎にＭＡＣ（Media Access Control）アドレスの学習を行ったり、他の中継装置と情報交換を行ったりすることで、自律的に経路を学習する方法が存在する。なお、中継装置が他の中継装置と情報交換を行う場合、ルーティングを最適化するためのルーティングプロトコルが用いられることもある。
【０００７】
別の方法として、通信制御装置がネットワーク上の中継装置（もしくは中継装置群）を制御するシステムも存在する。このようなシステムでは、パケットを受信した中継装置が、中継装置内のフローテーブル検索ではパケットの処理内容が決定できない場合に、通信制御装置に問い合わせを行うことでパケットの処理内容を決定する。
【０００８】
図１０は、通信制御装置が中継装置を制御するシステムにおける一般的な処理を示すフローチャートである。中継装置は、パケットを受信すると（ステップＳ９１）、中継装置内のフローテーブルを検索し、パケットの出力ポート決定を試みる（ステップＳ９２）。出力ポートが決定できた場合（ステップＳ９２におけるＹＥＳ）、中継装置は該当ポートからパケットを出力して処理を終了させる（ステップＳ９６）。一方、出力ポートが決定できなかった場合（ステップＳ９２におけるＮＯ）、中継装置は、通信制御装置に対してイベントを送信し、パケットの処理解決方法を問い合わせる（ステップＳ９３）。ここで、中継装置は、入力ポートから受信したパケットの一部または全体と、中継装置の情報とを含むデータ列を通信制御装置にイベントとして送信する。通信制御装置は、イベントを受信すると、その内容をもとに中継装置がそのパケットを出力する出力先ポートを解決し、フローテーブルの更新指示を中継装置に行う。中継装置は、通信制御装置からの更新指示を受信すると（ステップＳ９４）、フローテーブルを更新し（ステップＳ９５）、その内容をもとにパケットを出力する（ステップＳ９６）。
【０００９】
なお、イベントとは、少なくとも入出力ポートから受信したパケットの一部または全体と、中継装置の情報を含むデータ列である。通信制御装置は、中継装置が送信したイベント内容を参照して、出力先ポートの解決を行い、受信したパケットを転送できるよう中継装置内のフローテーブルを更新する。これにより、パケットは正常に転送される。
【００１０】
他にも、特許文献２には、ネットワーク制御装置がネットワーク全体の伝送帯域を制御し、ユーザ端末からのフロー転送要求を受けて、関係するルータ設定情報を生成し、各ルータに設定する伝送帯域制御装置が記載されている。特許文献２に記載された伝送帯域制御装置では、ネットワーク制御装置がユーザ端末からのフロー転送要求を受け付けると、そのネットワーク制御装置が受け付けた要求を満たすような経路を検索して経路情報を生成する。また、ネットワーク制御装置は、ネットワークの負荷が均一になる方向に負荷を分散するために、ルータ設定情報を生成する。ネットワーク制御装置は、これらの経路情報及びルータ設定情報を各ルータに設定する。
【００１１】
また、特許文献３には、網管理サーバが、オープンプログラマブル・ルータを制御するとともにフロー制御テーブルを設定するネットワークルータが記載されている。特許文献３に記載されたネットワークルータは、ネットワークに到着したパケットを受信すると、パケットのヘッダ情報を用いて、ヘッダ情報の除去、新アドレス情報でのヘッダ情報の置き換え、その他の公知の操作を含むパケットへの適切な操作を実行する。このとき、ルータコントローラは、フロー制御テーブルの設定に基づいて、パケットの一部を制御する。なお、フロー制御テーブルは、ルータコントローラによって保守されており、ルータコントローラ自体は、コントローラから情報を受信している。
【００１２】
一方、上述したとおり、中継装置は、フローテーブル内に、フローとそれに対応する処理情報を格納しておき、受信したパケットにもとにフローテーブルを検索して、転送や廃棄等の処理を決定する。そのため、細かいレベルでフローを制御するためには、制御するフローごとに細かい単位（細粒度）で処理を設定する必要がある。
【００１３】
特許文献４には、転送装置検索用のテーブルを２段持ち、粒度の異なるフローを混在させるＩＰフロー多段ハッシュ方法が開示されている。特許文献４に記載された方法では、第１のテーブルには、ＩＰパケットの宛先ＩＰアドレスをハッシュし、第２のテーブルには、ＩＰパケットの宛先ＩＰアドレスと送信元ＩＰアドレスを組にしてハッシュする。転送手段は、第１のテーブルへのリンクを検出すると、宛先ＩＰアドレスによって第１のテーブルのハッシュ値先にリンクされたエントリをサーチし、第２のテーブルへのリンクを検出すると、宛先ＩＰアドレスと送信元ＩＰアドレスの組をハッシュして第２のテーブルのハッシュ値先にリンクされたエントリをサーチする。転送手段は、一致するエントリを検出するとその情報に従い、ＩＰパケットの中継を行う。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００８−１６７３４０号公報（段落００１８〜００２８、図１）
【特許文献２】特開２００４−２３６１９８号公報（段落００９５〜００９７、図５，６）
【特許文献３】特開２００３−６０６９１号公報（段落００２１〜００２４、図２）
【特許文献４】特開２００４−５６３４０号公報（段落００２２）
【発明の概要】
【発明が解決しようとする課題】
【００１５】
通信制御装置が中継装置を制御するシステムにおいて、パケットを受信した中継装置は、中継装置内のフローテーブル検索ではパケットの処理内容が決定できない場合に、中継装置を制御する通信制御装置にパケットの処理内容を問い合わせる。通信制御装置は、そのパケットの内容に応じて処理内容を決定する。例えば、中継装置がパケットの出力先を決定できない場合には、通信制御装置はそのパケットの配送経路を計算する。しかし、通信制御装置は、一般的に複数の中継装置を制御しているため、複数の中継装置からパケット処理内容の問い合わせが集中した場合、通信制御装置の負荷が高くなってしまう。
【００１６】
通信制御装置に対する問い合わせの量を軽減させるため、中継装置内で細粒度のレベルでフローを処理できるよう、あらかじめフローテーブルに細粒度の処理情報を設定しておくことが考えられる。しかし、細粒度のフローに対する処理情報を設定しすぎると、フローテーブルに設定するデータ量が増加するため、消費資源を増加させてしまうという課題がある。
【００１７】
そこで、本発明は、通信制御装置が中継装置あるいは中継装置群を制御する形態のネットワークシステムにおいて、通信制御装置の負荷を抑えながら細粒度のフロー制御を行うことができる通信システム、制御装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明による通信システムは、複数の制御装置を含む通信システムであって、下位階層の制御装置に第一の制御情報を発行する第一の制御装置と、第一の制御装置により発行された第一の制御情報を、パケットを転送する転送装置の制御に用いられる第二の制御情報に変換する第二の制御装置を含み、第二の制御装置が、第一の制御情報に基づいてパケットを識別するための第一の識別条件と、第二の制御情報に基づいてパケットを識別するための第二の識別条件とが異なるように、第一の制御情報を第二の制御情報に変換することを特徴とする。
【００１９】
本発明による制御装置は、上位階層の制御装置が発行した第一の制御情報を受信する手段と、第一の制御情報を、パケットを転送する転送装置の制御に用いられる第二の制御情報に変換する制御手段とを含み、制御手段が、第一の制御情報に基づいてパケットを識別するための第一の識別条件と、第二の制御情報に基づいてパケットを識別するための第二の識別条件とが異なるように、第一の制御情報を第二の制御情報に変換することを特徴とする。
【００２０】
本発明による通信方法は、下位階層の制御装置に第一の制御情報を発行し、第一の制御情報に基づいてパケットを識別するための第一の識別条件と、パケットを転送する転送装置の制御に用いられる第二の制御情報に基づいてパケットを識別するための第二の識別条件とが異なるように、第一の制御情報を第二の制御情報に変換することを特徴とする。
【００２１】
本発明による他の通信方法は、上位階層の制御装置が発行した第一の制御情報を受信し、第一の制御情報に基づいてパケットを識別するための第一の識別条件と、パケットを転送する転送装置の制御に用いられる第二の制御情報に基づいてパケットを識別するための第二の識別条件とが異なるように、第一の制御情報を第二の制御情報に変換することを特徴とする。
【発明の効果】
【００２２】
本発明によれば、通信制御装置が中継装置あるいは中継装置群を制御する形態のネットワークシステムにおいて、通信制御装置の負荷を抑えながら細粒度のフロー制御を行うことができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態における通信フロー制御システムの例を示すブロック図である。
【図２】フローマクロテーブルの例を示す説明図である。
【図３】フローテーブルの例を示す説明図である。
【図４】中継装置がミドルボックスにパケットの出力先を問い合わせる処理の例を示すフローチャートである。
【図５】第１の実施形態の変形例における通信フロー制御システムの例を示すブロック図である。
【図６】第２の実施形態における通信フロー制御システムの例を示すブロック図である。
【図７】問合先条件記憶部の内容の例を示す説明図である。
【図８】中継装置が通信制御装置又はミドルボックスにパケットの出力先を問い合わせる処理の例を示すフローチャートである。
【図９】本発明における通信フロー制御システムの最小構成を示すブロック図である。
【図１０】通信制御装置が中継装置を制御するシステムにおける処理を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態を図面を参照して説明する。
【００２５】
実施形態１．
図１は、本発明の第１の実施形態における通信フロー制御システムの例を示すブロック図である。第１の実施形態における通信フロー制御システムは、通信制御装置１と、ミドルボックス２と、中継装置３とを備えている。通信制御装置１と、ミドルボックス２と、中継装置３とは、例えば、公衆回線網などの通信ネットワークを介して接続されるが、通信ネットワークの形態は、公衆回線網に限定されない。
【００２６】
通信制御装置１は、経路計算部１１と、中継装置制御部１２と、ミドルボックス制御部１３とを備えている。中継装置制御部１２は、中継装置３が通信制御装置１に接続されている場合、中継装置３に対して制御命令を発行したり、中継装置３からのイベントを受信したりするためのインタフェースである。ここで、イベントとは、入出力ポートから受信したパケットの一部または全体及び中継装置の情報を含むデータ列であり、フローの内容を識別できる情報であると言える。中継装置制御部１２に接続される中継装置３の台数は、１台であってもよく、複数台であってもよい。または、後述するミドルボックス制御部１３にミドルボックス２が接続されている場合、中継装置制御部１２に中継装置３は接続されていなくてもよい。
【００２７】
ミドルボックス制御部１３は、ミドルボックス２が通信制御装置１に接続されている場合、ミドルボックス２に対して制御命令を発行したり、ミドルボックス２からのイベントを受信したりするためのインタフェースである。ミドルボックス制御部１３に接続されるミドルボックス２の台数は、１台であってもよく、複数台であってもよい。
【００２８】
経路計算部１１は、中継装置制御部１２に接続された中継装置３や、ミドルボックス制御部１３に接続されたミドルボックス２からの要求に応じて、パケットの処理方法を決定する。例えば、パケットの出力先決定要求を受信した場合、経路計算部１１は、配送経路を計算する。また、経路計算部１１は、計算結果等をもとに、後述のフローマクロテーブル記憶部２２やフローテーブル記憶部３２の内容を更新するよう、中継装置３及びミドルボックス２に指示を行う。経路計算部１１は、例えば、通信制御装置１の記憶部（図示せず）に予め記憶されたネットワーク内のエンドノードや中継装置３の配置情報をもとに、中継装置３やミドルボックス２からの要求に応じてパケットの配送経路を計算する。このようにして、通信制御装置１は要求に応じて通信フローに対する処理方法を決定する。なお、配送経路の計算方法は、上記方法に限定されない。
【００２９】
経路計算部１１は、例えば、プログラム（経路計算プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、通信制御装置１が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、経路計算部１１として動作してもよい。
【００３０】
ミドルボックス２は、イベント処理部２１と、フローマクロテーブル記憶部２２と、上流通信部２３と、下流通信部２４と、エントリ設定部２５とを備えている。下流通信部２４は、下流側の装置に対して制御命令を発行したり、下流側の装置からのイベントを受信したりするためのインタフェースである。なお、下流側の装置とは、ミドルボックス２に対してパケットの配送経路や処理方法などの問い合わせを行う装置のことを示す。逆に、ミドルボックス２から処理方法などの問い合わせを受ける装置を、上流側の装置と記す。下流通信部２４に接続される中継装置３の台数は、１台であってもよく、複数台であってもよい。本実施形態では、下流側の装置が中継装置３である場合について説明する。すなわち、下流通信部２４は、中継装置３に対して制御命令を発行したり、中継装置３からのイベントを受信したりする場合について説明する。
【００３１】
上流通信部２３は、上流側の装置に対してイベントを送信したり、上流側の装置からの制御命令を受信したりするためのインタフェースである。本実施形態では、上流側の装置が通信制御装置１である場合について説明する。すなわち、上流通信部２３は、通信制御装置１に対してイベントを送信したり、通信制御装置１からの制御命令を受信したりする場合について説明する。
【００３２】
フローマクロテーブル記憶部２２は、ミドルボックス２が行う動作を、下流側の装置から送信されるイベントと対応付けたテーブル（以下、フローマクロテーブルと記す。）を記憶する記憶装置である。例えば、フローマクロテーブル記憶部２２は、中継装置３から送信されるイベントと、そのイベントに対してミドルボックス２が行う動作とを対応付けたフローマクロテーブルを記憶する。フローマクロテーブルのエントリは、通信制御装置１からの指示に応じ、後述のエントリ設定部２５によって登録される。すなわち、フローマクロテーブルは、通信制御装置１によって管理されるテーブルであると言える。このフローマクロテーブルのエントリは、明示的に記述されていない他の情報（例えば、送信元アドレスやプロトコル種別等）に対しては、ドントケア（Ｄｏｎ’ｔ  Ｃａｒｅ）である。すなわち、フローマクロテーブル記憶部２２は、複数の細粒度フローに対してマッチする、粗粒度のエントリからなるフローマクロテーブルを記憶する。
【００３３】
図２は、フローマクロテーブルの例を示す説明図である。図２に示す例では、フローマクロテーブルは、中継装置識別子２２１と、イベント種別２２２と、フロー識別情報２２３と、ミドルボックス動作２２４とを示す内容を含む。中継装置識別子２２１は、中継装置３を識別するための識別子である。イベント種別２２２は、経路設定要求、フローのタイムアウト通知、機器の異常通知等の、イベントを識別する識別子である。フロー識別情報２２３は、フローを区別するための情報である。図２に示す例では、宛先アドレスをもとに、フローを区別していることを示す。なお、フロー識別情報２２３が示す情報は、宛先アドレスに限定されない。フロー識別情報２２３が示す情報は、宛先アドレスに加え、プロトコル番号や、上位プロトコル情報など、より多いパラメータを使用してもよい。例えば、図２に示す例の２行目は、中継装置３から受信したイベントが「宛先アドレスＹ」に対する経路設定要求であった場合、そのイベントに対しては、「ポート３００３からパケット出力するエントリを中継装置３に対して設定するよう指示する」ことを示す。
【００３４】
ミドルボックス動作２２４は、中継装置識別子２２１、イベント種別２２２及びフロー識別情報２２３によって識別できるイベントに対して、ミドルボックス２が行う動作を示す。図２に示す例では、ミドルボックス２が行う動作を１つ示しているが、ミドルボックス動作２２４は、１つの動作に限定されず、複数の動作を含んでいてもよい。
【００３５】
イベント処理部２１は、下流側の装置から受信したイベントに対応する動作を決定する。まず、イベント処理部２１は、下流側の装置から受信したイベントに対応する処理をフローマクロテーブルから検索する。すなわち、イベント処理部２１は、中継装置３から受信したイベントに対応する処理をフローマクロテーブルから検索する。上述の通り、フローマクロテーブルのエントリは、明示的に記述されていない他の情報に対しては、ドントケア（Ｄｏｎ’ｔ  Ｃａｒｅ）であり、複数の細粒度フローに対してマッチする、粗粒度のエントリである。したがって、イベント処理部２１は、フロー識別情報２２３に設定された内容以外の情報が受信したイベントに含まれていても、その情報を検索条件として使用しない。例えば、図２に示す例では、フロー識別情報２２３には「宛先情報」の内容が設定されているため、イベント処理部２１は、受信したイベントに送信元アドレスやプロトコル種別が含まれていても、その情報を検索条件として使用しない。イベント処理部２１は、抽出した（図２に示す例では、ミドルボックス動作２２４が示す内容）動作に基づいて、下流側の装置にそのイベントが示すフローの制御指示を行う。例えば、イベント処理部２１は、下流通信部２４を介して、後述する中継装置３内のフローテーブル記憶部３２の更新指示を行う。このとき、イベント処理部２１は、フローマクロテーブルの内容とイベント情報を用いて細粒度のエントリを生成し、フローテーブル記憶部３２の内容を更新する。例えば、イベント処理部２１は、フローマクロテーブルから情報を抽出したときに、その抽出した情報に含まれていない要件であって、後述のフローテーブルに存在する要件（例えば、送信元アドレス）を、受信したイベントから抽出し、それらの情報をもとに、後述のフローテーブルを更新してもよい。このようにして、ミドルボックス２は中継装置３を制御する。
【００３６】
また、中継装置３から受信したイベントに対応する処理がフローマクロテーブルに存在しない場合、イベント処理部２１は、上流通信部２３を介して通信制御装置１へイベントの転送等を行う。なお、中継装置３から受信したイベントに対応する処理がフローマクロテーブルに存在しない場合とは、ミドルボックス２が、中継装置３から受信したパケットの処理を決定できない場合であると言える。
【００３７】
図２に示す例の場合、イベント処理部２１は、中継装置識別子２２１と、イベント種別２２２と、フロー識別情報２２３とをキーとして検索を行い、検索条件にマッチしたミドルボックス動作２２４を抽出する。一致するエントリが存在しない場合、イベント処理部２１は、上流側の装置（すなわち、通信制御装置１）へイベントを転送し、処理内容を問い合わせる。
【００３８】
エントリ設定部２５は、上流側の装置からの指示に応じて、フローマクロテーブルのエントリを更新する。例えば、上流通信部２３を介して、イベント処理部２１が通信制御装置１へイベントの転送等を行い、通信制御装置１が計算した配送経路を受信すると、エントリ設定部２５は、その配送経路をフローマクロテーブルのエントリとして登録する。
【００３９】
また、イベント処理部２１は、下流側の装置に対して行った処理の内容を通信制御装置１に通知してもよい。通信制御装置１が中継装置３を制御するネットワークシステムにおいては、これらの処理内容を通信制御装置１に通知することで、通信制御装置１がネットワーク上のフローに対する処理を把握できる。
【００４０】
イベント処理部２１と、エントリ設定部２５とは、例えば、プログラム（装置制御プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、ミドルボックス２が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、イベント処理部２１及びエントリ設定部２５として動作してもよい。
【００４１】
中継装置３は、パケット処理部３１と、フローテーブル記憶部３２と、上流通信部３３と、エントリ設定部３４と、入出力ポート３００１〜３００３とを備えている。中継装置３は、入出力ポート３００１〜３００３を介して、他の計算機９１〜９５に直接、又は公衆送信網などのネットワーク９９を介して接続される。なお、上記説明では、入出力ポートを３つ備えている場合について説明しているが、入出力ポートの数は３つに限られない。以下の説明では、中継装置３が、ポート３００１及びネットワーク９９を介して、アドレスＡを持つ計算機９３、アドレスＢを持つ計算機９４、及びアドレスＣを持つ計算機９５に接続されているものとする。また、中継装置３は、ポート３００２を介してアドレスＸを持つ計算機９１に、ポート３００３を介してアドレスＹを持つ計算機９２にそれぞれ接続されているものとする。
【００４２】
上流通信部３３は、ミドルボックス２もしくは通信制御装置１に対してイベントを送信したり、ミドルボックス２もしくは通信制御装置１から制御命令を受信したりするためのインタフェースである。
【００４３】
フローテーブル記憶部３２は、フローを識別する情報と、そのフローに対する処理方法とを対応付けたテーブル（以下、フローテーブルと記す。）を記憶する記憶装置である。例えば、フローテーブル記憶部３２は、中継装置３がパケットを出力するポートを、フローの内容と対応付けたフローテーブルを記憶する。フローテーブルのエントリは、通信制御装置１やミドルボックス２からの指示に応じ、後述のエントリ設定部３４によって登録される。すなわち、フローテーブルは、通信制御装置１やミドルボックス２によって管理されるテーブルであると言える。また、フローテーブル記憶部３２は、フローマクロテーブルよりも細粒度のエントリからなるフローテーブルを記憶する。
【００４４】
図３は、フローテーブルの例を示す説明図である。図３に示す例では、フローテーブルは、フロー識別情報３２１と、出力ポート３２２とを示す内容を含む。フロー識別情報３２１は、フローを区別するための情報である。図３に示す例では、送信元アドレスと宛先アドレスによってフローを区別することを示す。なお、フロー識別情報３２１が示す情報は、送信元アドレスと宛先アドレスに限定されない。フロー識別情報３２１が示す情報は、送信元アドレスや宛先アドレスに加え、プロトコル番号や、上位プロトコル情報など、より多いパラメータを使用してもよい。出力ポート３２２は、フロー識別子３２１によって区別できるフローのパケットを出力するポートを示す。このように、本例では、フローを区別するための情報として、フローマクロテーブルが宛先アドレスを保持しているのに対し、フローテーブルが送信元アドレスと宛先アドレスを保持している。すなわち、フローテーブルは、フローマクロテーブルよりも細粒度のエントリを保持している。
【００４５】
パケット処理部３１は、フローを受信したときに、フローテーブルに設定された情報をもとにそのフローに対する処理方法を決定する。まず、パケット処理部３１は、入出力ポートから受信したパケットを参照して、フローの内容に対応する出力ポートがフローテーブルに存在するか検索する。フローの内容に対応する出力ポートがフローテーブルに存在する場合、パケット処理部３１は、その出力ポートへパケットを転送する。フローの内容に対応する出力ポートがフローテーブルに存在しない場合、パケット処理部３１は、上流通信部３３を介して、通信制御装置１もしくはミドルボックス２へイベントの転送等を行う。具体的には、パケット処理部３１は、フローを識別する識別情報の一部または全体に相当する情報をミドルボックス２に送信する。本例では、フローを識別する識別情報が「送信元アドレス及び宛先アドレス」に該当し、ミドルボックス２に送信される識別情報の一部または全体が「宛先アドレス」に該当する。
【００４６】
エントリ設定部３４は、上流側の装置からの制御指示に応じて、フローテーブルのエントリを更新する。例えば、通信制御装置１が計算した配送経路や、ミドルボックス２が決定した配送経路を受信すると、エントリ設定部３４は、その配送経路をフローテーブルのエントリとして登録する。
【００４７】
パケット処理部３１と、エントリ設定部３４とは、例えば、プログラム（通信フロー処理プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、中継装置３が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、パケット処理部３１及びエントリ設定部３４として動作してもよい。
【００４８】
なお、本実施形態では、通信制御装置１は、ミドルボックス２に直接接続され、ミドルボックス２は、中継装置３に直接接続されているものとする。
【００４９】
次に、動作について説明する。以下の説明では、初期状態のフローマクロテーブル及びフローテーブルのエントリが、図２及び図３の例に示す状態にあるものとする。また、フローマクロテーブルには、中継装置３から送信されるイベントの処理情報が記憶されているものとする。
【００５０】
図４は、中継装置３がミドルボックス２にパケットの出力先を問い合わせる処理の例を示すフローチャートである。中継装置３がパケットを受信すると、パケット処理部３１は、そのパケットを参照してフローの内容に対応する出力ポートがフローテーブルに存在するか否か検索する（ステップＳ３１）。フローの内容に対応する出力ポートがフローテーブルに存在する場合（ステップＳ３２におけるＹＥＳ）、パケット処理部３１は、その出力ポートからパケットを出力する（ステップＳ３７）。すなわち、フローテーブルにエントリが存在するパケットは、中継装置３内で出力ポートが解決され、他の計算機に向けて送出される。例えば、アドレスＡを持つ計算機９３からアドレスＹを持つ計算機９２に向かって送信されたパケットは、出力先はポート３００３であることが、図３に示したフローテーブルから明らかであり、そのパケットはポート３００３から送出される。
【００５１】
一方、フローの内容に対応する出力ポートがフローテーブルに存在しない場合（ステップＳ３２におけるＮＯ）、パケット処理部３１は、上流通信部３３を介して、ミドルボックス２へイベント転送等を行う（ステップＳ３３）。すなわち、パケット処理部３１は、フローテーブルにエントリが存在しないフローに属するパケットの出力ポートを中継装置３内で決定できないため、出力ポート決定のために、経路決定要求イベントをミドルボックス２に送出する。例えば、パケット処理部３１は、アドレスＣを持つ計算機９３からアドレスＹを持つ計算機９２に向かって送信されたパケットの宛先を、図３に示したフローテーブルでは解決できない。そのため、パケット処理部３１は、パケット情報を含んだ経路決定要求イベントを上流通信部３３から送出する。
【００５２】
ミドルボックス２の下流通信部２４が中継装置３からイベントを受信すると、イベント処理部２１は、中継装置３から受信したイベントに対応する処理をフローマクロテーブルから検索する（ステップＳ３４）。例えば、イベント処理部２１は、イベント内に含まれるパケット情報とフローマクロテーブルの該当エントリとから、「送信元アドレスＣ、且つ、宛先アドレスＹのパケットは、ポート３００３から出力する」ことを示すエントリを抽出する。イベント処理部２１は、中継装置３に対してフローテーブルの更新を指示する制御情報を送信する（ステップＳ３５）。中継装置３の上流通信部３３が制御情報を受信すると、エントリ設定部３４は、フローテーブルのエントリを更新する（ステップＳ３６）。その後、パケット処理部３１は、更新したエントリの示す出力ポートからパケットを出力する（ステップＳ３７）。
【００５３】
なお、フローの制御を通信制御装置１が行うため、イベント処理部２１は、中継装置３に制御情報を送信するのと同時に、又はその後に、制御情報に関する情報を通信制御装置１へと通知（報告）してもよい。また、イベント処理部２１は、この通知（報告）動作を、経路解決のたびに行ってもよいし、負荷軽減等のために、０個以上の経路解決動作をまとめて行ってもよい。なお、イベント処理部２１が０個以上の経路解決動作をまとめて行うとは、イベント処理部２１が予め定められた時間の間隔で通知（報告）動作を行うということができる。また、イベント処理部２１が一定時間の経過をトリガーとして通知（報告）動作を行うとも言える。すなわち、イベント処理部２１は、一定時間ごとに通知（報告）動作を行ってもよく、前回通知（報告）時点から一定時間経過後に通知（報告）動作を行ってもよい。
【００５４】
上記処理により、中継装置３は、例えば、アドレスＣを持つ計算機９３からアドレスＹを持つ計算機９２に向かって送信されたパケットを処理する場合、通信制御装置１へ問い合わせなくても、パケットの出力先を解決することができる。具体的には、中継装置３は、通信制御装置１に経路計算処理を発生させることなく、上記パケットをポート３００３から出力し、計算機９２へと到達させることができる。
【００５５】
なお、上記説明では、ステップＳ３４でフローマクロテーブルから該当データを抽出できた場合について説明した。ステップＳ３４において該当データを抽出できなかった場合には、イベント処理部２１が通信制御装置１へイベントの転送等を行い、通信制御装置１から制御情報を受信したときに、エントリ設定部２５がその制御情報に応じてフローマクロテーブルのエントリを更新すればよい。
【００５６】
このように、通信制御装置１が中継装置３（もしくは、中継装置群）を制御する形態のネットワークシステムにおいて、中継装置３がパケットを受信した際に、パケット処理部３１が中継装置３内のフローテーブルによって処理が決定できない場合がある。このとき、パケット処理部３１は、中継装置３と通信制御装置１の中間に配置され、中継装置３が扱うフロー単位よりも粗粒度の処理、または中継装置３が扱う粒度のエントリを生成するためのルールが設定されたミドルボックス２に中継装置３からイベントを送信する。ミドルボックス２がイベントを受信すると、イベント処理部２１は、フローマクロテーブルの内容とイベント情報を用いて細粒度のエントリを生成する。そして、イベント処理部２１は中継装置３に対してフローテーブルを更新する指示を行う。そのため、通信制御装置１の負荷を抑えながら、細粒度でフローを制御することができる。
【００５７】
本発明によれば、中継装置３がパケットを受信したときに、パケット処理部３１は、フローテーブル記憶部３２のフロー識別情報３２１をもとにそのフローに対する処理方法（例えば、出力ポート）を決定する。パケット処理部３１は、処理方法を決定できない場合に、ミドルボックス２にそのフローを識別する情報を送信する。ミドルボックス２が中継装置３からフローを識別する情報を受信したときに、イベント処理部２１は、受信した情報とフローマクロテーブル記憶部２２のフロー識別情報２２３などをもとにミドルボックス動作２２４を決定する。そして、イベント処理部２１は、その制御動作に基づいて中継装置３にフローを制御させるため、フローテーブル記憶部３２の更新指示を行う。中継装置３が更新指示を検知したときに、エントリ設定部２５は、その更新指示に基づいてそのフローに対する処理方法（例えば、出力ポート）をフローテーブル記憶部３２に登録する。そのため、通信制御装置１が中継装置３あるいは中継装置群を制御する形態のネットワークシステムにおいて、通信制御装置１の負荷を抑えながら細粒度のフロー制御を行うことができる。
【００５８】
次に、第１の実施形態の変形例について説明する。図５は、本発明の第１の実施形態の変形例における通信フロー制御システムの例を示すブロック図である。第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。
【００５９】
第１の実施形態では、ミドルボックス２の下流側の装置が中継装置３である場合について説明した。以下の説明では、通信制御装置１と中継装置３の間にミドルボックスが複数存在する場合について説明する。図５に示す例では、通信制御装置１と中継装置３の間に２台のミドルボックス（ミドルボックス２ａ，２ｂ）が接続されていることを示す。なお、以下の説明では、通信制御装置１と中継装置３の間に接続されたミドルボックスが２台の場合について説明するが、ミドルボックスの台数は２台に限定されず、３台以上であってもよい。図５に示す例では、ミドルボックス２ａの下流通信部２４ａは、ミドルボックス２ｂに対して制御命令を発行し、ミドルボックス２ｂからのイベントを受信する。また、ミドルボックス２ｂの上流通信部２３ｂは、ミドルボックス２ａに対してイベントを送信し、ミドルボックス２ａからの制御命令を受信する。
【００６０】
具体的には、イベント処理部２１ｂは、中継装置３から受信したイベントに対応する処理をフローマクロテーブルから検索する。受信したイベントに対応する処理がフローマクロテーブルに存在しない場合、イベント処理部２１ｂは、上流通信部２３ｂを介してミドルボックス２ａへイベントの転送等を行う。また、イベント処理部２１ａは、ミドルボックス２ｂから受信したイベントに対応する処理をフローマクロテーブルから検索する。受信したイベントに対応する処理がフローマクロテーブルに存在しない場合、イベント処理部２１ａは、上流通信部２３ａを介して通信制御部１へイベントの転送等を行う。
【００６１】
なお、フローマクロテーブル記憶部２２ａ，２２ｂ及びエントリ設定部２５ａ，２５ｂは、それぞれ、第１の実施形態におけるフローマクロテーブル記憶部２２及びエントリ設定部２５と同様である。また、上流通信部２３ａは、第１の実施形態における上流通信部２３と、下流通信部２４ｂは、第１の実施形態おける下流通信部２４とそれぞれ同様である。また、通信制御装置１及び中継装置３の構成については、第１の実施形態と同様のため、説明を省略する。すなわち、イベント処理部２１ａ（２１ｂ）と、エントリ設定部２５ａ（２５ｂ）とは、例えば、プログラム（装置制御プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、ミドルボックス２ａ（２ｂ）が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、イベント処理部２１ａ（２１ｂ）及びエントリ設定部２５ａ（２５ｂ）として動作してもよい。
【００６２】
本発明における上記変形例では、通信制御装置１と中継装置３の間にミドルボックス２ａ，２ｂが接続されている。また、上記変形例では、第１の実施形態に加え、イベント処理部２１ａ（２１ｂ）が、下流側の装置（ミドルボックス２ｂ又は中継装置３）からフローを識別する情報を受信したときに、受信した情報とフローマクロテーブル記憶部２２ａ（２２ｂ）に記憶された情報をもとに処理を決定する。その処理に基づき、イベント処理部２１ａ（２１ｂ）は、フローテーブル記憶部３２の更新指示を行う。よって、第１の実施形態の効果に加え、フローマクロテーブルの負荷や消費資源を調整することができる。
【００６３】
実施形態２．
図６は、本発明の第２の実施形態における通信フロー制御システムの例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。第２の実施形態における通信フロー制御システムは、通信制御装置１と、ミドルボックス２と、ミドルボックス２’と、中継装置３’とを備えている。中継装置３’は、通信制御装置１、ミドルボックス２及びミドルボックス２’と直接接続される。また、通信制御装置１と、ミドルボックス２と、ミドルボックス２’と、中継装置３とは、例えば、公衆回線網などの通信ネットワークを介して接続されるが、通信ネットワークの形態は、公衆回線網に限定されない。すなわち、本実施形態では、中継装置３’が複数の上流側の装置に接続されている場合について説明する。
【００６４】
中継装置３’は、パケット処理部３１’と、フローテーブル記憶部３２と、上流通信部３３と、エントリ設定部３４と、入出力ポート３００１〜３００３に加え、問合先条件記憶部３５を備えている。問合先条件記憶部３５は、パケット処理部３１’がイベントを送信する送信先と、その送信先を決定するための条件（以下、イベント送信条件と記す。）とを対応付けて記憶する記憶装置である記憶装置である。例えば、問合先条件記憶部３５は、中継装置３’が受信した未知のパケットの満たすべき条件と、その条件に該当するときに問い合わせる上流側の装置とを対応付けて記憶する。問合先条件記憶部３５のエントリは、例えば、管理者等により予め設定される。
【００６５】
パケット処理部３１’は、パケット処理部３１’は、入出力ポート３００１〜３００３から受信したパケットを参照して、フローの内容に対応する出力ポートがフローテーブルに存在するか検索する。フローの内容に対応する出力ポートがフローテーブルに存在しない場合、パケット処理部３１’は、上流通信部３３を介して、通信制御装置１もしくはミドルボックス２へイベント転送等を行う。この際、パケット処理部３１’は、問合先条件記憶部３５に記憶されたイベント送信条件のうち、そのフローが満たす送信条件に対応する送信先にイベントを送信する。
【００６６】
図７は、問合先条件記憶部３５の内容の例を示す説明図である。図７に示す例では、例えば、受信したパケットの宛先がマルチキャストの場合、パケット処理部３１’は、対応する送信先である上流側の装置を通信制御装置１に決定する。
【００６７】
パケット処理部３１’と、エントリ設定部３４とは、例えば、プログラム（通信フロー処理プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、中継装置３’が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、パケット処理部３１’及びエントリ設定部３４として動作してもよい。
【００６８】
通信制御装置１及びミドルボックス２の構成については、第１の実施形態と同様であり、また、ミドルボックス２’の構成はミドルボックス２の構成と同様であるため、説明を省略する。なお、第２の実施形態における通信フロー制御システムでは、ミドルボックス２を２台備えている場合について説明するが、ミドルボックス２の台数は２台に限られず、３台以上であってもよい。
【００６９】
次に、動作について説明する。図８は、中継装置３’が通信制御装置１又はミドルボックス２にパケットの出力先を問い合わせる処理の例を示すフローチャートである。中継装置３’がパケットの出力ポートを解決できる場合の処理は、図４に示す処理（ステップＳ３１〜Ｓ３２におけるＹＥＳ、及びステップＳ３７）と同様であるため、説明を省略する。
【００７０】
フローの内容に対応する出力ポートがフローテーブルに存在しない場合（ステップＳ３２におけるＮＯ）、パケット処理部３１’は、問合先条件記憶部３５を参照してイベント転送等を行う上流側の装置を決定する（ステップＳ４１）。パケット処理部３１’は、決定した上流側の装置（通信制御装置１もしくはミドルボックス２）へイベント転送等を行う（ステップＳ４２）。上流側の装置（通信制御装置１もしくはミドルボックス２）は、受信したイベントに基づいて処理を決定し（ステップＳ４３）、中継装置３’に対してフローテーブルの更新を指示する制御情報を送信する（ステップＳ４４）。以降、中継装置３’のパケット処理部３１’が出力ポートからパケットを出力するまでの処理は、図４に示すステップＳ３６〜Ｓ３７の処理と同様である。
【００７１】
本発明によれば、第１の実施形態に加え、パケット処理部３１’がフローに対する処理方法を決定できない場合に、問合先条件記憶部３５に記憶された情報をもとに決定した上流側の装置にフローを識別する情報を送信する。よって、第１の実施形態の効果に加え、ネットワークシステム全体の負荷を調整することができる。
【００７２】
図９は、本発明における通信フロー制御システムの最小構成を示すブロック図である。本発明による通信フロー制御システムは、通信フローに対する処理方法を決定する装置である通信制御装置（例えば、通信制御装置１）が決定した処理方法に基づいて通信フローを処理する通信フロー処理装置８０（例えば、中継装置３）と、通信制御装置と通信フロー処理装置８０との間に接続され、通信フロー処理装置８０からの要求に応じて通信フローに対する処理を決定する処理決定装置７０（例えば、ミドルボックス２）とを備えている。
【００７３】
通信フロー処理装置８０は、通信フローを識別するための情報である第一のフロー識別情報（例えば、フロー識別情報３２１）と処理方法（例えば、出力ポート３２２）とを対応付けて記憶する処理方法記憶手段８１（例えば、フローテーブル記憶部３２）と、パケットを受信したときに、処理方法記憶手段８１に記憶された第一のフロー識別情報をもとに処理方法を決定する処理方法決定手段８２（例えば、パケット処理部３１）と、処理方法決定手段８２がパケットの通信フローに対する処理方法を決定できない場合に、その通信フローを識別する第一のフロー識別情報の一部または全体に相当するパケット内の情報（例えば、イベント）を処理決定装置７０に送信するフロー識別情報送信手段８３（例えば、パケット処理部３１）と、処理決定装置７０から通信フローに対する制御指示（例えば、フローテーブル記憶部３２の更新指示）を検知したときに、その制御指示に基づいてその通信フローに対する処理方法（例えば、送信元アドレスＣで宛先アドレスＹのパケットは、ポート３００３から出力する）を処理方法記憶手段８１に登録する処理方法登録手段８４（例えば、エントリ設定部２５）とを備えている。
【００７４】
処理決定装置７０は、第一のフロー識別情報の一部または全体である第二のフロー識別情報（例えば、中継装置識別子２２１、イベント種別２２２、フロー識別情報２２３）と処理決定装置７０が行う動作である制御動作（例えば、ミドルボックス動作２２４）とを対応付けて記憶する制御動作記憶手段７１（例えば、フローマクロテーブル記憶部２２）と、通信フロー処理装置８０から第一のフロー識別情報の一部または全体に相当するパケット内の情報を受信したときに、受信したその情報と制御動作記憶手段７１に記憶された第二のフロー識別情報とをもとに制御動作を決定する制御動作決定手段７２（例えば、イベント処理部２１）と、制御動作決定手段７２が決定した制御動作に基づいて、通信フロー処理装置８０に通信フローの制御を指示（例えば、フローテーブル記憶部３２の更新指示）する制御指示手段７３（例えば、イベント処理部２１）とを備えている。
【００７５】
そのような構成により、通信制御装置が中継装置あるいは中継装置群を制御する形態のネットワークシステムにおいて、通信制御装置の負荷を抑えながら細粒度のフロー制御を行うことができる。
【００７６】
また、上記実施形態には、処理決定装置７０が、通信制御装置と通信フロー処理装置８０との間に２台以上接続され（例えば、ミドルボックス２ａ，２ｂ）、各処理決定装置８０の制御動作決定手段７２が、他の処理決定装置７０又は通信フロー処理装置８０（例えば、下流側の装置）から第一のフロー識別情報の一部または全体に相当するパケット内の情報を受信したときに、受信したその情報と制御動作記憶手段７１に記憶された第二のフロー識別情報とをもとに制御動作を決定し、各処理決定装置８０の制御指示手段７３が、制御動作決定手段７２が決定した制御動作に基づいて、第一のフロー識別情報の一部または全体に相当するパケット内の情報を受信した他の処理決定装置７０又は通信フロー処理装置８０に通信フローの制御指示を行う構成が開示されている。
【００７７】
また、上記実施形態には、通信フロー処理装置８０が、第一のフロー識別情報の一部または全体に相当するパケット内の情報を送信する送信先と、その送信先を決定するための条件である送信条件（例えば、イベント送信条件）とを対応付けて記憶する送信条件記憶手段（例えば、問合先条件記憶部３５）を備え、フロー識別情報送信手段８３（例えば、パケット処理部３１’）が、処理方法決定手段８２がパケットの通信フローに対する処理方法を決定できない場合に、送信条件記憶手段に記憶された送信条件のうち、その通信フローが満たす送信条件に対応する送信先（例えば、上流側の装置）に第一のフロー識別情報の一部または全体に相当するパケット内の情報を送信する構成が開示されている。このようにすることで、ネットワークシステム全体の負荷を調整することができる。
【００７８】
また、上記実施形態には、処理決定装置７０が、制御動作決定手段７２が制御動作を決定できない場合に、通信フローに対する処理方法の決定要求を通信制御装置（例えば、通信制御装置１）に送信する処理方法要求手段（例えば、イベント処理部２１）と、通信制御装置から処理方法を受信したときに、その処理方法に基づく制御動作を制御動作記憶手段７１に登録する制御動作登録手段（例えば、エントリ設定部２５）とを備えた構成が開示されている。
【００７９】
また、上記実施形態には、処理決定装置７０が、制御動作決定手段７２が決定した制御動作を、通信制御装置に通知する通知手段（例えば、イベント処理部２１）を備えた構成が開示されている。このようにすることで、通信制御装置がネットワーク上のフローに対する処理を把握できる。
【００８０】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００８１】
この出願の原出願は、２００９年３月３０日に出願された日本特許出願２００９−８１９３８を基礎とする優先権を主張し、その開示の全てを取り込む。
【産業上の利用可能性】
【００８２】
本発明は、通信制御装置が通信フローを制御するネットワークシステムにおいて、その通信制御装置が行うフロー制御の負荷を抑える通信フロー制御システムに好適に適用される。
【符号の説明】
【００８３】
１  通信制御装置
２，２ａ，２ｂ，２’  ミドルボックス
３，３’  中継装置
１１  経路計算部
１２  中継装置制御部
１３  ミドルボックス制御部
２１，２１ａ，２１ｂ  イベント処理部
２２，２２ａ，２２ｂ  フローマクロテーブル記憶部
２３，２３ａ，２３ｂ  上流通信部
２４，２４ａ，２４ｂ  下流通信部
２５，２５ａ，２５ｂ  エントリ設定部
３１，３１’  パケット処理部
３２  フローテーブル記憶部
３３  上流通信部
３４  エントリ設定部
３５  問合先条件記憶部
９１〜９５  計算機
９９  ネットワーク
３００１〜３００３  入出力ポート
【図１】
2014112927.tif 000003
【図２】
2014112927.tif 000004
【図３】
2014112927.tif 000005
【図４】
2014112927.tif 000006
【図５】
2014112927.tif 000007
【図６】
2014112927.tif 000008
【図７】
2014112927.tif 000009
【図８】
2014112927.tif 000010
【図９】
2014112927.tif 000011
【図１０】
2014112927.tif 000012