(57)【要約】【課題】サービスの負荷に応じて複数のサーバでサービスを提供するシステムにおいて、アプリケーション通信単位に転送制御を可能とするアプリケーション通信制御システムおよびアプリケーション通信制御方法を提供する。【解決手段】端末から受信したパケットのペイロードを分析し、それぞれのパケットにフロー識別子を割り当て、フロー識別子をパケットヘッダに格納するフロー識別部１０と、フロー識別子に従いパケットを転送するフロースイッチ２０と、フロー識別子と端末にサービスを提供するサーバの負荷状況とに応じてフロースイッチを制御する制御部３０とを備える。【選択図】図１０
2014039141.tif 000002
【特許請求の範囲】
【請求項１】
端末から受信したパケットのペイロードを分析し、それぞれのパケットにフロー識別子を割り当て、前記フロー識別子をパケットヘッダに格納するフロー識別部と、
前記フロー識別子に従いパケットを転送するフロースイッチと、
前記フロー識別子と前記端末に前記サービスを提供するサーバの負荷状況とに応じて前記フロースイッチを制御する制御部とを備えた
ことを特徴とするアプリケーション通信制御システム。
【請求項２】
フロー識別部は、
受信したパケットのペイロードからアプリケーションを特定する情報を抽出する情報抽出部と、抽出した情報をもとにフロー識別子を決定するフロー判定部と、前記フロー識別子をパケットヘッダに格納するヘッダ変換部とを備え、
制御部は、
サービスを提供するサーバから負荷状況を示す情報を取得するリソース管理部と、前記負荷状況に応じて別のサーバでサービスを提供すべきか否かを判定する切替判定部と、前記判定の結果に応じて、当該サービスに対応するフロー識別子が格納されたパケットを前記別のサーバに転送させるための経路設定をフロースイッチに登録するフロー設定部とを備える
請求項１に記載のアプリケーション通信制御システム。
【請求項３】
フロー設定部は、通常時は宛先ＩＰアドレスを用いて転送し、経路を切り替える必要があるトラヒックをフロー識別子を用いて転送するようにフロースイッチの経路設定を行う
請求項２に記載のアプリケーション通信制御システム。
【請求項４】
フロー識別部は、受信したパケットの宛先アドレスをもとに宛先情報と優先度とを解決する宛先解決部と、前記宛先情報と前記優先度と利用者を識別するためのフロー情報とを含むフロー識別子を生成するフロー識別子生成部を備え、
フロースイッチは、前記フロー識別子の宛先情報と優先度とフロー情報との組み合わせをもとにパケットの転送を行う
請求項１から請求項３のうちのいずれか１項に記載のアプリケーション通信制御システム。
【請求項５】
ヘッダ変換部は、受信したパケットの送信元ＭＡＣアドレスにフロー識別子を格納する
請求項２から請求項４のうちのいずれか１項に記載のアプリケーション通信制御システム。
【請求項６】
端末から受信したパケットのペイロードを分析し、
それぞれのパケットにフロー識別子を割り当て、前記フロー識別子をパケットヘッダに格納し、
前記フロー識別子と前記端末にサービスを提供するサーバの負荷状況とに応じて、前記フロー識別子に従いパケットを転送するフロースイッチを制御する
ことを特徴とするアプリケーション通信制御方法。
【請求項７】
受信したパケットのペイロードからアプリケーションを特定する情報を抽出し、抽出した情報をもとにフロー識別子を決定し、
前記フロー識別子をパケットヘッダに格納し、
サービスを提供するサーバから負荷状況を示す情報を取得し、
前記負荷状況に応じて別のサーバでサービスを提供すべきか否かを判定し、
前記判定の結果に応じて、当該サービスに対応するフロー識別子が格納されたパケットを前記別のサーバに転送させるための経路設定をフロースイッチに登録する
請求項６に記載のアプリケーション通信制御方法。
【請求項８】
通常時は宛先ＩＰアドレスを用いて転送し、経路を切り替える必要があるトラヒックをフロー識別子を用いて転送するようにフロースイッチの経路設定を行う
請求項６または請求項７に記載のアプリケーション通信制御方法。
【請求項９】
受信したパケットの宛先アドレスをもとに宛先情報と優先度とを解決し、
前記宛先情報と前記優先度と利用者を識別するためのフロー情報とを含むフロー識別子を生成し、
前記フロー識別子の宛先情報と優先度とフロー情報との組み合わせをもとにパケットの転送を行う
請求項６から請求項８のうちのいずれか１項に記載のアプリケーション通信制御方法。
【請求項１０】
受信したパケットの送信元ＭＡＣアドレスにフロー識別子を格納する
請求項６から請求項９のうちのいずれか１項に記載のアプリケーション通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御システムに関し、特にアプリケーション通信の制御を行うアプリケーション通信制御システムおよびアプリケーション通信制御方法に関する。
【背景技術】
【０００２】
端末からのリクエストを複数のサーバに分散することで、サーバの負荷を軽減する技術としてロードバランサーが存在する。ロードバランサーは、同一の拠点内で提供されるＷｅｂサイトなどのサービスにおいて、アクセス数の多いサービスに対して複数のサーバに負荷を分散することを目的としている。近年、自然災害などにより提供されるサービスの停止を避けるために、地理的に異なる複数拠点でサービスを提供する事例が増え、地理的に異なる複数サイトに負荷分散可能なグローバルロードバランサーが登場している（例えば、非特許文献１参照。）。非特許文献１に記載された技術によれば、複数のサイトもしくはサーバに対するアプリケーション通信の転送を制御することが可能となる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「ＢＩＧ−ＩＰ  Ｇｌｏｂａｌ  Ｔｒａｆｆｉｃ  Ｍａｎａｇｅｒ」、［online］、［平成２４年７月９日検索］、インターネット＜http://www.f5networks.co.jp/product/bigip/gtm/index.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、非特許文献１に記載された技術には次のような課題がある。第１の課題は、ネットワークの負荷を考慮した負荷分散ができないため、途中経路でネットワークの輻輳などによりパケット廃棄が発生することである。その理由は、負荷分散してからサービスを提供するサーバまでの転送経路は、従来のＩＰアドレスの転送制御であり、ネットワークの輻輳状況に応じた転送制御ができないためである。
【０００５】
第２の課題は、優先度の低いトラヒックが優先度の高いトラヒックに影響をおよぼすことである。その理由は、負荷分散後の転送経路は、同一の宛先であれば同一経路となり、優先度による制御ができないためである。
【０００６】
そこで、本発明は、サービスの負荷に応じて複数のサーバでサービスを提供するシステムにおいて、アプリケーション通信単位に転送制御を可能とするアプリケーション通信制御システムおよびアプリケーション通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によるアプリケーション通信制御システムは、端末から受信したパケットのペイロードを分析し、それぞれのパケットにフロー識別子を割り当て、フロー識別子をパケットヘッダに格納するフロー識別部と、フロー識別子に従いパケットを転送するフロースイッチと、フロー識別子と端末にサービスを提供するサーバの負荷状況とに応じてフロースイッチを制御する制御部とを備えたことを特徴とする。
【０００８】
本発明によるアプリケーション通信制御方法は、端末から受信したパケットのペイロードを分析し、それぞれのパケットにフロー識別子を割り当て、フロー識別子をパケットヘッダに格納し、フロー識別子と端末にサービスを提供するサーバの負荷状況とに応じて、フロー識別子に従いパケットを転送するフロースイッチを制御することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、サービスの負荷に応じて複数のサーバでサービスを提供するシステムにおいて、アプリケーション通信単位に転送制御を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明によるアプリケーション通信制御システムの第１の実施形態の構成を示すブロック図である。
【図２】第１の実施形態におけるフロー識別部の構成を示すブロック図である。
【図３】第１の実施形態における制御部の構成を示すブロック図である。
【図４】第１の実施形態におけるアプリケーション通信制御システムの動作を示すフローチャートである。
【図５】第１の実施形態におけるアプリケーション通信制御システムの切替要求時の動作の一例を示すフローチャートである。
【図６】第２の実施形態におけるフロー識別部の構成を示すブロック図である。
【図７】第２の実施形態におけるアプリケーション通信制御システムの動作を示すフローチャートである。
【図８】フロー識別子の構成の一例を示す説明図である。
【図９】第２の実施形態におけるアプリケーション通信制御システムの切替要求時の動作の一例を示すフローチャートである。
【図１０】本発明によるアプリケーション通信制御システムの最小構成を示すブロック図である。
【図１１】本発明によるアプリケーション通信制御システムの他の最小構成を示すブロック図である。
【図１２】本発明によるアプリケーション通信制御システムの他の最小構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００１２】
図１は、本発明によるアプリケーション通信制御システムの第１の実施形態の構成を示すブロック図である。図１に示すように、第１の実施形態におけるアプリケーション通信制御システムは、サーバ１０５−１〜１０５−４と、端末１０３を収容するネットワーク１００と、フロー単位に転送を行うフロースイッチ１０４−１〜１０４−５と、ネットワーク１００を収容しフロースイッチ１０４−１〜１０４−５を含むフロー制御ネットワーク１０１と、フロー識別部１０２と、制御部１０６とを備える。
【００１３】
ネットワーク１００は、例えば、ＩＰネットワークである。なお、ネットワーク１００は、ＩＰネットワークに限定されない。
【００１４】
サーバ１０５−１〜１０５−４は、フロー制御ネットワーク１０１に接続され、ネットワーク１００に収容されている端末１０３に対してサービスを提供するサーバ装置である。なお、図１には、１つの端末１０３が例示されているが、ネットワーク１００にはいくつ端末が収容されていてもよい。
【００１５】
フロー制御ネットワーク１０１は、フロー単位の転送制御が可能なフロースイッチ１０４−１〜１０４−５を含む。なお、フロー制御ネットワーク１０１には、いくつフロースイッチが含まれていてもよい。
【００１６】
フロースイッチ１０４−１〜１０４−５は、制御部１０６の指示により、フロー単位に転送先を設定可能である。フロースイッチ１０４−１〜１０４−５は、例えば、ＯｐｅｎＦｌｏｗ（ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗ．ｏｒｇ／参照。）に準拠したスイッチである。フローは、例えば、送信元や送信先のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＩＰアドレス、ポート番号の組み合わせで特定される一連のパケットの流れである。なお、フローの要素は、これらに限定されるものではない。
【００１７】
フロー識別部１０２は、ネットワーク１００から受信したパケットに対して、パケットヘッダの解析を行い、ペイロードの情報を分析しアプリケーションを識別する。フロー識別部１０２は、識別したアプリケーションごとに、フロー制御ネットワーク１０１でパケットを転送させるため、パケットに対してフロー識別子の割り当てを行う。フロー識別部１０２は、例えば、サーバ装置やネットワーク専用プロセッサを搭載したハードウェア等で実現される。
【００１８】
制御部１０６は、フロー識別部１０２から、アプリケーションに対して割り当てたフロー構成情報を受信して管理を行う。また、制御部１０６は、サーバ１０５−１〜１０５−４からＣＰＵ負荷やメモリやハードディスクなどのリソースの利用状況を取得して、サービスの負荷状況を把握する。制御部１０６は、サーバ１０５−１〜１０５−４で提供されるサービスの品質が低下していることを検出すると、新たなサービスを別のサーバで起動し、フロースイッチ１０４−１〜１０４−５に設定を行い、パケット転送を制御する。制御部１０６は、例えば、パーソナルコンピュータ等の情報処理装置で実現される。
【００１９】
図２は、第１の実施形態におけるフロー識別部１０２の構成を示すブロック図である。フロー識別部１０２は、パケット解析部２００と、情報抽出部２０１と、フロー判定部２０２と、フロー管理部２０３と、ヘッダ変換部２０４と、フロー通知部２０５とを含む。
【００２０】
パケット解析部２００は、ネットワーク１００から受信したパケットのヘッダを解析して、パケットペイロードの開始位置を特定し、その情報を情報抽出部２０１へ送信する。
【００２１】
情報抽出部２０１は、パケットペイロードに格納されているデータを分析して、アプリケーションを特定するための情報を抽出し、その情報をフロー判定部２０２へ送信する。抽出する情報は、たとえばＷｅｂサイトで提供されるサービスに対するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）が該当する。
【００２２】
フロー判定部２０２は、フロー管理部２０３に対して情報抽出部２０１で抽出された情報が登録されているかを確認し、フロー識別子を割り当てる。
【００２３】
フロー管理部２０３は、フロー管理テーブルを記憶する。フロー管理テーブルは、端末１０３のＩＰアドレスと、たとえばＵＲＬのようなサービスを特定する情報と、フロー識別子との組み合わせを管理するためのテーブルである。
【００２４】
フロー通知部２０５は、フロー識別子とＵＲＬの情報とを含むフロー構成情報を制御部１０６へ通知する。
【００２５】
ヘッダ変換部２０４は、通知されたフロー識別子をパケットヘッダに格納して、フロー制御ネットワーク１０１へ送信する。
【００２６】
なお、パケット解析部２００、情報抽出部２０１、フロー判定部２０２、フロー管理部２０３、ヘッダ変換部２０４およびフロー通知部２０５は、フロー識別部１０２が備えるＣＰＵ等によって実現される。
【００２７】
図３は、第１の実施形態における制御部１０６の構成を示すブロック図である。制御部１０６は、通知受信部３００と、フロー記憶部３０１と、フローテーブル３０２と、切替判定部３０３と、フロー設定部３０４と、リソース管理部３０５と、リソース制御部３０６とを含む。
【００２８】
通知受信部３００は、フロー識別部１０２から送信されたフロー構成情報を受信してフロー記憶部３０１に渡す。
【００２９】
フロー記憶部３０１は、フローテーブル３０２にフロー構成情報を格納する。
【００３０】
リソース管理部３０５は、サーバ１０５−１〜１０５−４の状況を監視し、負荷が上昇するなどサービスの品質に影響が出た場合に、切替判定部３０３へ切替要求を送信する。また、リソース管理部３０５は、切替要求に格納するための情報を監視対象のサーバから取得する。本実施形態では、リソース管理部３０５は、監視対象のサーバがサービスを提供するＵＲＬや、当該サービスを利用する端末のＩＰアドレスを取得する。
【００３１】
切替判定部３０３は、リソース制御部３０６へサービスの起動要求を送信するとともに、フロー設定部３０４へ経路設定の要求を送信する。
【００３２】
フロー設定部３０４は、パケットの転送経路を決定し、決定した転送経路にもとづいて、フロースイッチ１０４−１〜１０４−５の設定を行う。
【００３３】
なお、通知受信部３００、フロー記憶部３０１、切替判定部３０３、フロー設定部３０４、リソース管理部３０５およびリソース制御部３０６は、制御部１０６が備えるＣＰＵ等によって実現される。また、フローテーブル３０２は、制御部１０６が備えるメモリ等の記憶装置によって実現される。
【００３４】
次に、本実施形態の動作を説明する。
【００３５】
まず、サーバ１０５−１でサービスが提供されている状態において、サーバ１０５−１が高負荷になったため新規にサーバ１０５−４でサービスを起動する場合の動作を説明する。
【００３６】
フロー識別部１０２からサーバ１０５−１宛てのパケットは、フロースイッチ１０４−１、１０４−４を経由して転送される。なお、転送経路は、これに限定されない。フロースイッチ１０４−１および１０４−４には、サーバ１０５−１のＩＰアドレスにもとづく転送のためのフローが登録されている。具体的には、フロースイッチ１０４−１には、サーバ１０５−１のＩＰアドレスに対して、フロースイッチ１０４−４が接続されているポートへ出力するように設定されている。また、フロースイッチ１０４−４には、サーバ１０５−１のＩＰアドレスに対して、サーバ１０５−１が接続されているポートへ出力するように設定されている。ここでは、サーバ１０５−１でＷｅｂのサービスが提供されているものとするが、サービスはこれに限定されない。
【００３７】
図４は、第１の実施形態におけるアプリケーション通信制御システムの動作を示すフローチャートである。
【００３８】
端末１０３は、サーバ１０５−１で提供されるサービスの利用を開始すると、フロー識別部１０２は、ネットワーク１００からサーバ１０５−１宛てのパケットを受信する（ステップＳ１００）。
【００３９】
フロー識別部１０２のパケット解析部２００は、受信したパケットのヘッダを解析してパケットのペイロードの位置を特定し（ステップＳ１０１）、受信したパケットが処理対象かを判定する（ステップＳ１０２）。本実施形態では、処理対象の判定のために、対象となるサービスを識別するポート番号としてＨＴＴＰを示す“８０”や“８０８０”を登録しておき、受信したパケットの宛先ポート番号と比較して判定する。
【００４０】
受信したパケットが処理対象でない場合は（ステップＳ１０２のＮｏ）、情報抽出部２０１は、以降の処理を行わず、フロー制御ネットワーク１０１へ送信する。受信したパケットが処理対象である場合は（ステップＳ１０２のＹｅｓ）、情報抽出部２０１は、パケット解析部２００から通知されたペイロードの位置情報をもとにアプリケーションを特定する情報としてＵＲＬを抽出する（ステップＳ１０３）。
【００４１】
フロー判定部２０２は、抽出したＵＲＬをもとにフロー管理部２０３に対してフローが登録されているかを確認する（ステップＳ１０４）。
【００４２】
端末１０３のＩＰアドレスとＵＲＬとフロー識別子の組み合わせからなるフロー構成情報がフロー管理部２０３に登録されている場合は（ステップＳ１０５のＹｅｓ）、フロー判定部２０２は、登録されたフロー識別子を取得する（ステップＳ１０６）。登録されていない場合は（ステップＳ１０５のＮｏ）、フロー判定部２０３は、新規のフロー識別子の割り当てを行う（ステップＳ１０７）。
【００４３】
フロー判定部２０２は、ステップＳ１０７の後、端末１０３のＩＰアドレスと、ＵＲＬと新規に割り当てたフロー識別子とを含むフロー構成情報とをフロー管理部２０３に登録する（ステップＳ１０８）。また、フロー判定部２０３は、当該フロー構成情報を、フロー通知部２０５を介して、制御部１０６へ通知する（ステップＳ１０９）。制御部１０６の通知受信部３００は、フロー構成情報を受信する。フロー記憶部３０１は、当該フロー構成情報をフローテーブル３０２に格納し記憶する（ステップＳ１１０）。
【００４４】
ヘッダ変換部２０４は、フロー識別子をヘッダに格納してフロー制御ネットワーク１０１へ送信する（ステップＳ１１１）。フロー識別子を格納する領域は、たとえば送信元ＭＡＣアドレスである。
【００４５】
フロー識別部１０２から送信されたパケットは、フロー制御ネットワーク１０１において、サーバ１０５−１のＩＰアドレスが格納された宛先ＩＰアドレスにもとづき転送される。フロースイッチ１０４−１は、サーバ１０５−１宛てのパケットをフロースイッチ１０４−４が接続されているポートへ出力する。フロースイッチ１０４−４は、サーバ１０５−１宛てのパケットをサーバ１０５−１が接続されたポートへ出力する。フロースイッチ１０４−１およびフロースイッチ１０４−４には、宛先ＩＰアドレスと出力ポートとの関係を示す情報が記憶されている。フロースイッチ１０４−１およびフロースイッチ１０４−４は、その情報にもとづき転送処理を行う。
【００４６】
次に、サーバ１０５−１の負荷が上昇し、別のサーバ、例えばサーバ１０５−４でサービスを提供する場合の動作を説明する。
【００４７】
図５は、第１の実施形態におけるアプリケーション通信制御システムの切替要求時の動作の一例を示すフローチャートである。
【００４８】
制御部１０６のリソース管理部３０５は、サーバ１０５−１のＣＰＵ利用率やメモリ使用量などの状況を監視する。
【００４９】
リソース管理部３０５は、サーバ１０５−１の負荷が上昇してサービス品質に影響が出ると判断した場合に、切替判定部３０３へ切替要求を送信する（ステップＳ２００）。このとき、リソース管理部３０５は、端末１０３のＩＰアドレスとサービスを特定する情報であるＵＲＬとを切替要求に格納する。
【００５０】
フロー記憶部３０１は、フローテーブル３０２に対して、切替要求に格納された情報が登録されているかを確認する（ステップＳ２０１）。登録されている場合には、リソース制御部３０６は、切替判定部３０３の要求に従い、サーバ１０５−４でサービスを起動させる（ステップＳ２０２）。
【００５１】
フロー設定部３０４は、サーバ１０５−４に対する経路として、例えば、フロースイッチ１０４−１、１０４−２、１０４−５の順に転送することを決定する（ステップＳ２０３）。次に、フロー設定部３０４は、フロースイッチ１０４−１、１０４−２、１０４−５に対して、設定を登録する（ステップＳ２０４）。
【００５２】
具体的には、フロースイッチ１０４−１は、対象となるフロー識別子が格納されたパケットをフロースイッチ１０４−２が接続されたポートに出力するように設定される。フロースイッチ１０４−２は、対象となるフロー識別子が格納されたパケットをフロースイッチ１０４−５が接続されたポートに出力するように設定される。フロースイッチ１０４−５は、対象となるフロー識別子が格納されたパケットをサーバ１０５−４が接続されたポートに出力し、宛先ＩＰアドレスをサーバ１０５−４のＩＰアドレスに変更するように設定される。
【００５３】
以上に説明したように、本実施形態では、受信したパケットのペイロードの情報にもとづきフロー識別子を付与するフロー識別部１０２と、フロー単位に転送制御が可能なフロースイッチ１０４−１〜１０４−５とを含むアプリケーション通信制御システムにおいて、通常時、つまり、転送制御の対象外のパケットの転送時には宛先ＩＰアドレスによる転送を行い、転送制御の対象パケットのみフロースイッチにフロー識別子の設定を登録して制御を行う。
【００５４】
従って、本実施形態によれば、ネットワーク１００から受信したパケットに対して、アプリケーション通信単位にフロー識別子をパケットに格納し、フロー制御ネットワークでフロー識別子ごとに転送制御を行うことができる。つまり、アプリケーション通信ごとの転送制御が可能となる。
【００５５】
また、通常の転送処理では宛先ＩＰアドレスを用いることができるので、従来のＩＰアドレスによる制御とフロー識別子による制御とを組み合わせることができる。それにより、フロースイッチ１０４−１〜１０４−５の設定を削減することが可能となる。
【００５６】
また、本実施形態では、サーバの負荷状況に応じて別のサーバでサービスを起動し、フロー識別子が格納されたパケットを当該別のサーバに転送するようにフロースイッチを制御する。従って、サービスの品質低下を回避することができる。また、ネットワークの輻輳状況などに応じた転送制御をすることができる。
【００５７】
実施形態２．
以下、本発明の第２の実施形態を図面を参照して説明する。
【００５８】
第２の実施形態におけるアプリケーション通信制御システムは、フロー識別部１０２の代わりに、フロー識別部１１２を備える。
【００５９】
図６は、第２の実施形態におけるフロー識別部１１２の構成を示すブロック図である。フロー識別部１１２の構成は、第１の実施形態におけるフロー制御部１０２の構成と同様である。
【００６０】
しかし、フロー制御部１１２は、図６に示すように、第１の実施形態の構成に加えて、宛先解決部４００とフロー識別子生成部４０１とを含む。
【００６１】
宛先解決部４００は、受信したパケットの宛先ＩＰアドレスを参照して、宛先情報の解決を行う。宛先情報は、サーバに割り当てる識別子である。
【００６２】
フロー識別子生成部４０１は、宛先解決部４００が解決した宛先情報をもとに、フロー識別子を生成する。
【００６３】
なお、宛先解決部４００およびフロー識別子生成部４０１は、制御部１０６が備えるＣＰＵ等によって実現される。
【００６４】
次に、本実施形態の動作を説明する。
【００６５】
まず、第１の実施形態と同様に、サーバ１０５−１でサービスが提供されている状態において、サーバ１０５−１の高負荷になったため新規にサーバ１０５−４でサービスを起動する場合の動作を説明する。
【００６６】
フロー識別部１０２からサーバ１０５−１への通信は、フロー識別子に格納される宛先情報と優先度とで制御される。具体的には、フロースイッチ１０４−１〜１０４−５は、次に示す動作を行うように設定がなされている。フロースイッチ１０４−１は、サーバ１０５−１宛てのパケットを受信すると、パケットに格納されたフロー識別子と優先度とをもとに出力先を決定する。たとえば、優先度１（高優先）の場合には、フロースイッチ１０４−４が接続されたポートへ出力し、優先度２（低優先）の場合には、フロースイッチ１０４−２が接続されたポートへ出力する。フロースイッチ１０４−２は、宛先情報がサーバ１０５−１を示し優先度２のパケットを受信するとフロースイッチ１０４−３が接続されたポートへ出力する。フロースイッチ１０４−４は、宛先情報がサーバ１０５−１を示し優先度１および優先度２のパケットを受信すると、サーバ１０５−１が接続されたポートへ出力する。
【００６７】
図７は、第２の実施形態におけるアプリケーション通信制御システムの動作を示すフローチャートである。
【００６８】
フロー識別部１０２は、ネットワーク１００からパケットを受信する。なお、パケット解析部２００、情報抽出部２０１、フロー判定部２０２の動作（ステップＳ３００〜Ｓ３０５）は、第１の実施形態のステップＳ１００〜Ｓ１０５の処理と同様であるため説明を省略する。
【００６９】
フロー判定部２０２においてフロー識別子が登録されていると判定された場合は（ステップＳ３０５のＹｅｓ）、第１の実施形態と同様に、フロー判定部２０２が登録されたフロー識別子を取得する（ステップＳ３０６）。フロー判定部２０２においてフロー識別子が登録されていないと判定された場合は（ステップＳ３０５のＮｏ）、宛先解決部４００が、受信したパケットの宛先ＩＰアドレスを参照して、宛先情報の解決を行う（ステップＳ３０７）。
【００７０】
宛先情報は、フロー制御ネットワーク１０１に接続されるサーバ１０５−１〜１０５−４に割り当てられる識別子である。宛先情報は、たとえば宛先情報としてサーバ１０５−１に“１”、サーバ１０５−２に“２”を割り当てる。
【００７１】
フロー識別子生成部４０１は、宛先情報と優先度とをもとにフロー識別子を生成する（ステップＳ３０８）。優先度は、端末１０３やアクセスするサービスごとに定義されるものである。フロー識別子生成部４０１は、端末１０３のＩＰアドレスやアクセスするサービスに対応する優先度を管理する。フロー識別子生成部４０１で生成されたフロー識別子は、フロー管理部２０３へ通知され管理される（ステップＳ３０９）。
【００７２】
図８は、フロー識別子の構成の一例を示す説明図である。フロー識別子５００は、宛先情報５０１と優先度５０２とフロー情報５０３とを含む。フロー識別子５００は、フロー制御ネットワーク１０１においてパケットを転送するための情報として利用される。
【００７３】
宛先情報５０１は、サーバ１０５−１〜１０５−４へ転送する経路を決定するために利用される。優先度５０２は、同一の宛先において、複数の経路を利用できることを可能とする情報である。優先度５０２は、高優先のものにネットワーク帯域に余裕がある経路を割り当てるといった制御を行うための情報である。フロー情報５０３は、サービスの利用者を識別するための情報である。具体的には、フロー情報５０３は、同一の宛先や優先度のパケットにおいて、サービスや端末のＩＰアドレスで区別される利用者ごとに制御を可能とする情報であって、より細かい粒度で制御を行うための情報である。
【００７４】
フロー制御ネットワーク１０１において、フロースイッチ１０４−１〜１０４−５に対して、宛先情報のみ、宛先情報と優先度、または、宛先情報と優先度とフロー情報に対応づけて出力ポートを設定することにより、さまざまな要求に対応する転送制御を行うことが可能となる。
【００７５】
フロー識別子生成部４０１からフロー管理部２０３へ通知されたフロー識別子を含むフロー構成情報は、フロー通知部２０５を介して、制御部１０６へ通知される（ステップＳ３１０）。制御部１０６は、通知受信部３００でフロー構成情報を受信し、フロー記憶部３０１でフローテーブル３０２に格納し記憶する（ステップＳ３１１）。ヘッダ変換部２０４は、フロー識別子をヘッダに格納してフロー制御ネットワーク１０１へ送信する（ステップＳ３１２）。フロー識別子を格納する領域は、たとえば送信元ＭＡＣアドレスである。
【００７６】
次に、サーバ１０５−１の負荷が上昇し、別のサーバ１０５−４でサービスを提供する場合の動作について説明する。
【００７７】
図９は、第２の実施形態におけるアプリケーション通信制御システムの切替要求時の動作の一例を示すフローチャートである。
【００７８】
別のサーバ１０５−４でサービスを起動するまでの処理（ステップＳ４００〜Ｓ４０２）は、第１の実施形態のステップＳ２００〜Ｓ２０２の処理と同様であるため、説明を省略する。
【００７９】
フロー設定部３０４は、フロー単位に接続を切り替えるか、サーバ１０５−１からサーバ１０５−４へすべての通信を切り替えるかを判断する（ステップＳ４０３）。すべての通信を切り替える場合、つまり、サーバ単位の切り替えである場合は、フロー設定部３０４は、宛先情報と優先度に対する転送経路を決定する（ステップＳ４０４）。フロー単位の切り替えである場合は、フロー情報を含むフロー識別子に対する転送経路を決定する（ステップＳ４０５）。決定した転送経路は、フロースイッチ１０４−１〜１０４−５へ設定される（ステップＳ４０６）。
【００８０】
フロースイッチ１０４−１〜１０４−５は、受信したパケットからフロー識別子を抽出して、フロー識別子の宛先情報、優先度、フロー情報にもとづき出力ポートを決定する。フロースイッチ１０４−１〜１０４−５は、フロー識別子に対する出力ポートの設定がなされていて、かつ、受信したパケットから抽出したフロー識別子が登録されているかどうかの検索を行う。
【００８１】
フロースイッチ１０４−１〜１０４−５は、フロー識別子と、どの情報（宛先情報、優先度、フロー情報）が有効かを示す情報との組み合わせを管理し、受信したパケットのフロー識別子と一致もしくは部分的に一致するかを判定する。
【００８２】
以上に説明したように、本実施形態では、宛先情報と優先度とフロー情報とから構成されるフロー識別子をパケットに格納し、制御部１０６は、宛先情報と優先度とフロー情報の組み合わせでフロースイッチに設定を行う。従って、本実施形態によれば、優先度やフロー情報にもとづく転送制御を行うことが可能となり、同一宛先のアプリケーション通信に関して複数の転送経路を指定することができる。これにより、例えば、優先度の低いトラヒックが優先度の高いトラヒックに影響をおよぼすことを回避することができる。
【００８３】
図１０は、本発明によるアプリケーション通信制御システムの最小構成を示すブロック図である。図１１および図１２は、本発明によるアプリケーション通信制御システムの他の最小構成を示すブロック図である。
【００８４】
図１０に示すように、アプリケーション通信制御システムは、端末から受信したパケットのペイロードを分析し、それぞれのパケットにフロー識別子を割り当て、フロー識別子をパケットヘッダに格納するフロー識別部１０（図１に示すフロー識別部１０２に相当。）と、フロー識別子に従いパケットを転送するフロースイッチ２０（図１に示すフロースイッチ１０４−１〜１０４−５に相当。）と、フロー識別子と端末にサービスを提供するサーバの負荷状況とに応じてフロースイッチを制御する制御部３０（図１に示す制御部１０６に相当。）とを備える。
【００８５】
上記の実施形態には、以下のようなアプリケーション通信制御システムも開示されている。
【００８６】
（１）図１１に示すように、フロー識別部１０は、受信したパケットのペイロードからアプリケーションを特定する情報を抽出する情報抽出部１１（図２に示すフロー制御部１０２における情報抽出部２０１に相当。）と、抽出した情報をもとにフロー識別子を決定するフロー判定部１２（図２に示すフロー制御部１０２におけるフロー判定部２０２に相当。）と、フロー識別子をパケットヘッダに格納するヘッダ変換部１３（図２に示すフロー制御部１０２におけるヘッダ変換部２０４に相当。）とを備え、制御部３０は、サービスを提供するサーバから負荷状況を示す情報を取得するリソース管理部３１（図３に示す制御部１０３におけるリソース管理部３０５に相当。）と、負荷状況に応じて別のサーバでサービスを提供すべきか否かを判定する切替判定部３２（図３に示す制御部１０３における切替判定部３０３に相当。）と、判定の結果に応じて、当該サービスに対応するフロー識別子が格納されたパケットを別のサーバに転送させるための経路設定をフロースイッチ２０に登録するフロー設定部３３（図３に示す制御部１０３におけるフロー設定部３０４に相当。）とを備えるアプリケーション通信制御システム。
【００８７】
そのような構成によれば、端末を収容するネットワークから受信したパケットに対して、アプリケーション通信単位にフロー識別子をパケットに格納し、フロー制御ネットワークでフロー識別子ごとに転送制御を行うことができる。つまり、アプリケーション通信ごとの転送制御が可能となる。
【００８８】
また、サーバの負荷状況に応じて、別のサーバでサービスを提供することができるので、サービスの品質低下を回避することができる。
【００８９】
（２）フロー設定部３３は、通常時は宛先ＩＰアドレスを用いて転送し、経路を切り替える必要があるトラヒックをフロー識別子を用いて転送するようにフロースイッチ２０の経路設定を行うアプリケーション通信制御システム。
【００９０】
そのような構成によれば、通常の転送処理では宛先ＩＰアドレスを用いることができるので、従来のＩＰアドレスによる制御とフロー識別子による制御とを組み合わせることができる。それにより、フロースイッチ１０４−１〜１０４−５の設定を削減することが可能となる。従って、アプリケーション通信単位の経路制御のための設定を削減できる。
【００９１】
（３）図１２に示すように、フロー識別部１０は、受信したパケットの宛先アドレスをもとに宛先情報と優先度とを解決する宛先解決部１４（図６に示すフロー識別部１１２における宛先解決部４００に相当。）と、宛先情報と優先度と利用者を識別するためのフロー情報とを含むフロー識別子を生成するフロー識別子生成部１５（図６に示すフロー識別部１１２におけるフロー識別子生成部４０１に相当。）を備え、フロースイッチ２０は、フロー識別子の宛先情報と優先度とフロー情報との組み合わせをもとにパケットの転送を行うアプリケーション通信制御システム。
【００９２】
そのような構成によれば、優先度やフロー情報にもとづく転送制御を行うことが可能となり、同一宛先のアプリケーション通信に関して複数の転送経路を指定することができる。
【００９３】
（４）ヘッダ変換部１３は、受信したパケットの送信元ＭＡＣアドレスにフロー識別子を格納するアプリケーション通信制御システム。
【００９４】
このように、フロー識別子をフロー制御ネットワークで制御可能なヘッダ領域に格納することにより、既存のスイッチ、例えば、ＯｐｅｎＦｌｏｗに準拠したスイッチを、フロースイッチに適用することができる。
【符号の説明】
【００９５】
１０、１０２  フロー識別部
１１、２０１  情報抽出部
１２、２０２  フロー判定部
１３、２０４  ヘッダ変換部
１４、４００  宛先解決部
１５、４０１  フロー識別子生成部
２０、１０４−１〜１０４−５  フロースイッチ
３０、１０６  制御部
３１、３０５  リソース管理部
３２、３０３  切替判定部
３３、３０４  フロー設定部
１００  ネットワーク
１０１  フロー制御ネットワーク
１０３  端末
１０５−１〜１０５−４  サーバ
２００  パケット解析部
２０３  フロー管理部
２０５  フロー通知部
３００  通知受信部
３０１  フロー記憶部
３０２  フローテーブル
３０６  リソース制御部
５００  フロー識別子
５０１  宛先情報
５０２  優先度
５０３  フロー情報
【図１】
2014039141.tif 000003
【図２】
2014039141.tif 000004
【図３】
2014039141.tif 000005
【図４】
2014039141.tif 000006
【図５】
2014039141.tif 000007
【図６】
2014039141.tif 000008
【図７】
2014039141.tif 000009
【図８】
2014039141.tif 000010
【図９】
2014039141.tif 000011
【図１０】
2014039141.tif 000012
【図１１】
2014039141.tif 000013
【図１２】
2014039141.tif 000014