(57)【要約】【課題】マルチパスな通信経路から動的に通信経路を選択することより、データ通信の信頼性を高め、通信経路の障害や動的な性能変化に対応し、ランニングコスト低下を可能とする。【解決手段】送信元スイッチは、性能計測依頼メッセージを受信すると、送信先スイッチ宛ての計測用パケットを複数の通信経路へ送信し、計測用パケットを受信した送信先スイッチからの応答状況に基づいて、各通信経路の性能計測値を算出し、当該通信経路の性能計測値を集計装置へ送信し、集計装置は、受信した性能計測値から各通信経路について性能分析結果データを生成し、この性能分析結果データをスイッチ制御装置へ送信し、スイッチ制御装置は、性能分析結果データとアプリケーションの要求性能データから、使用する通信経路を決定し、使用する通信経路を指定するフローテーブルを生成し、このフローテーブルを送信元スイッチ及び送信先スイッチに送信する。【選択図】図３
2014230114.tif 000002
【特許請求の範囲】
【請求項１】
フローテーブルを記憶しており、このフローテーブルに従って、受信した通信パケットの転送を行う第1の中継手段と、
フローテーブルを記憶しており、このフローテーブルに従って、受信した通信パケットを複数の通信経路を経由して前記第1の中継手段に転送する第2の中継手段と、
前記第2の中継手段と通信可能な集計手段と、
前記第1の中継手段、前記第2の中継手段、前記集計手段と通信可能であって、アプリケーションの要求性能データをあらかじめ記憶している制御手段と
を有する通信システムであって、
前記制御手段は性能計測依頼メッセージを前記第2の中継手段に送信し、
前記第2の中継手段は、前記性能計測依頼メッセージを受信すると、前記第1の中継手段宛ての計測用パケットを前記複数の通信経路へ送信し、前記計測用パケットを受信した前記第1の中継手段からの応答状況に基づいて、各通信経路の性能計測値を算出し、当該通信経路の性能計測値を前記集計手段へ送信し、
前記集計手段は、受信した性能計測値から各通信経路について性能分析結果データを生成し、この性能分析結果データを前記制御手段へ送信し、
前記制御手段は、前記性能分析結果データと前記アプリケーションの要求性能データから、使用する通信経路を決定し、使用する通信経路を指定するフローテーブルを生成し、このフローテーブルを前記第1の中継手段及び前記第2の中継手段に送信し、
前記第1の中継手段及び前記第2の中継手段は、受信した前記フローテーブルに従って、フローテーブルで指定された通信経路を使用して通信パケットの送受信を行う、
通信システム。
【請求項２】
前記第1の中継手段は、複数の通信経路を経由して所定の時間内に受信した通信パケットであって、同一のパケット番号を有する通信パケットを一つのみ転送し、
前記制御手段は、前記性能分析結果データに基づいて前記所定の時間を決定するためのマージン時間を算出し、このマージン時間を前記第1の中継手段に送信し、
前記第1の中継手段は、前記マージン時間に基づいて前記所定の時間を算出する、
請求項1に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の実施の形態は、通信システムに関する。
【背景技術】
【０００２】
従来の社会インフラシステムでは性能が保証できる専用線を使用してきたが、今後新興国展開をしていく上で、ベストエフォートなネットワークを経路とする可能性が高い。この場合、複数のISP（Internet Service Provider）と契約し、マルチパスな通信経路で通信することで、信頼性の向上を図ることが考えられる。通信経路はシステム構築時に固定でなく、拡張することがあり得るため、通信するアプリには意識させない方法が望ましい。
【０００３】
マルチパスな通信経路を用いる場合、送信元となるシステムにおいてパケットを複製し、送信先となるシステムにおいてパケットを単一化する処理が必要であった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２１０１０５号公報
【特許文献２】特開２０１２−４９６７４号公報
【特許文献３】特開２０１２−５００２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マルチパスな通信を用いる場合、通信経路間の性能差が大きいときは、上記のような単一化処理は難しくなってしまう。例えば、「ある程度の時間受信パケットの内容を記憶し、既に受信したパケットはドロップするような単一化処理」において、受信パケットの内容を記憶しておく時間が長くなってしまうためである。
また、ISPとの契約が従量課金のとき、通信量はコストに関わるため、コスト面で有利な通信経路を絞り込みたいという要求がある。
【０００６】
本発明の一の実施の形態は、マルチパスな通信経路から動的に通信経路を選択することより、データ通信の信頼性を高め、通信経路の障害や動的な性能変化に対応すること可能としてシステム全体の信頼性を高め、ランニングコストの低下を可能とする技術を提供することを目的とする。
【０００７】
本発明の別の実施の形態は、必要なデータ容量の点で有利なパケット単一化処理を可能とする技術を提供することをさらなる目的とする。
【課題を解決するための手段】
【０００８】
一の実施の形態によれば、通信システムであって、第1の中継手段、第2の中継手段、集計手段、制御手段とを有する。
第1の中継手段は、フローテーブルを記憶しており、このフローテーブルに従って、受信した通信パケットの転送を行う。
【０００９】
第2の中継手段は、フローテーブルを記憶しており、このフローテーブルに従って、受信した通信パケットを複数の通信経路を経由して第1の中継手段に転送する。
集計手段は第2の中継手段と通信可能に接続されている。
制御手段は、第1の中継手段、第2の中継手段、集計手段と通信可能であって、アプリケーションの要求性能データをあらかじめ記憶している。
【００１０】
制御手段は性能計測依頼メッセージを第2の中継手段に送信し、第2の中継手段は、性能計測依頼メッセージを受信すると、第1の中継手段宛ての計測用パケットを複数の通信経路へ送信し、計測用パケットを受信した第1の中継手段からの応答状況に基づいて、各通信経路の性能計測値を算出し、当該通信経路の性能計測値を集計手段へ送信し、集計手段は、受信した性能計測値から各通信経路について性能分析結果データを生成し、この性能分析結果データを制御手段へ送信し、制御手段は、性能分析結果データとアプリケーションの要求性能データから、使用する通信経路を決定し、使用する通信経路を指定するフローテーブルを生成し、このフローテーブルを第1の中継手段及び第2の中継手段に送信し、第1の中継手段及び第2の中継手段は、受信したフローテーブルに従って、フローテーブルで指定された通信経路を使用して通信パケットの送受信を行う。
【００１１】
本発明の別の実施の態様において、第1の中継手段は、複数の通信経路を経由して所定の時間内に受信した通信パケットであって、同一のパケット番号を有する通信パケットを一つのみ転送し、制御手段は、性能分析結果データに基づいて所定の時間を決定するためのマージン時間を算出し、このマージン時間を第1の中継手段に送信し、第1の中継手段は、マージン時間に基づいて所定の時間を算出する、という構成としてもよい。
【図面の簡単な説明】
【００１２】
【図１】OpenFlow動作原理を示したブロック図
【図２】フローテーブルのデータ構成例を示す図
【図３】実施の形態に係る通信システムの構成例を示すブロック図
【図４】本実施の形態がT1間の複数回の計測を行う場合を示した図
【図５】送信元スイッチの構成例を示す機能ブロック図
【図６】送信先スイッチの構成例を示す機能ブロック図
【図７】パケット単一化処理の一例を示すフローチャート
【図８】受信パケット番号リスト更新処理の一例を示すフローチャート
【図９】集計装置の構成例を示した機能ブロック図
【図１０】スイッチ制御装置の構成例を示した機能ブロック図
【図１１】経路選択処理の一例を示したフローチャート
【図１２】スコア算出処理の一例を示したフローチャート
【図１３】スコア算出処理で生成されるデータ構成例を示す図
【図１４】通信システムの主たる動作を示したフローチャート
【図１５】ステップS141における通信システム内のデータの流れを示す図
【図１６】ステップS142における通信システムでのデータの流れを示す図
【図１７】ステップS143における通信システム内のデータの流れを示す図
【図１８】ステップS144における通信システム内のデータの流れを示す図
【図１９】ステップS145における通信システム内のデータの流れを示す図
【図２０】ステップS146における通信システム内のデータの流れを示す図
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態に係る通信システムを説明する。
[０．用語の定義]
本明細書で使用する用語の定義を述べる。
（１）OpenFlow
OpenFlowとは、SDN(Software Defined Network)を実現する規格をいう
（２）OpenFlowスイッチ(OFSW)
OpenFlowスイッチとはOpenFlow対応のスイッチをいう。OpenFlowを構成する要素の一つであって、パケット転送機能を司る。
（３）OpenFlowコントローラ(OFC)
OpenFlowコントローラとは、OpenFlow対応のコントローラをいう。OpenFlowコントローラは、パケット制御機能を司る。
（４）フローテーブル
フローテーブルとはOpenFlowにおいて、パケット制御方法が記載されたテーブルをいう。OFCがフローテーブルを作成しOFSWに送付することで、OFSWは受信したフローテーブルに従ったパケット制御をする。
（５）ISP
ISPとは、Internet Service Providerであって、NW（Network：通信経路）を提供する事業者等をいう。本文中でISP1のように記述した場合、ISP1というInternet Service Provider（通信事業者）が提供するNWを意味することがある。
【００１４】
[０．１．OpenFlow動作原理]
ここでOpenFlow動作原理を説明する。図１はOpenFlow動作原理を示したブロック図である。OpenFlowシステムは、OFCと、OFCに接続されたOFSWとで構成される。OFCはフローテーブルを生成し、このフローテーブルをOFSWに送信する。OFSWはパケットを受信し、パケットを送信する。OFSWは、OFSWに入力されたパケットがフローテーブルの入力パケット情報の条件を満たす場合に、制御方法に記載された制御を実行する。
【００１５】
図２にフローテーブルのデータ構成例を示す。フローテーブルは、一つのルールごとに一つのレコードを有し、各レコードは入力パケット情報を格納するフィールドと、制御方法を格納するフィールドを有する。入力パケット情報としては、送信元IPやトランスポート層のヘッダなどの情報が使用可能である。制御方法には、パケット転送やパケットドロップなどの処理がある。また、制御方法には、転送・ドロップ以外に、新たなパケット生成・送信を指定することも可能である。また、特定のパケット受信をトリガにして、処理を開始させることもできる。また、制御方法では、パケットのヘッダフィールド修正を行わせることも可能である。よって、宛先IPを変更する、といった制御などをOFSWに行わせることが可能である。
【００１６】
[１．第1の実施の形態]
本発明の第１の実施の形態について説明する。図３は、本実施の形態に係る通信システムの構成例を示すブロック図である。通信システム１は、遠隔制御装置５０と、この遠隔制御装置５０に接続された送信元スイッチ１０と、この送信元スイッチ１０から接続可能なｎ個（ｎは2以上の整数）の通信経路ISP１、ISP２、ISP３、…、ISPｎと、通信経路ISP１、ISP２、ISP３、…、ISPｎに接続可能な送信先スイッチ２０と、この送信先スイッチ２０に接続されたデータ受信装置６０と、送信元スイッチ１０と通信可能に接続された集計装置３０と、送信元スイッチ１０及び送信先スイッチ２０と通信可能に接続されたスイッチ制御装置４０とを有している。
【００１７】
なお、送信元スイッチ１０は本実施の形態の第2の中継手段に相当する。送信先スイッチ２０は本実施の形態の第1の中継手段に相当する。集計装置３０は本実施の形態の集計手段に相当する。スイッチ制御装置４０は本実施の形態の制御手段に相当する。
【００１８】
[１．０．本実施の形態の主たる特徴]
まず、本実施の形態の主たる特徴について説明する。
[１．０．１．動的なマルチパス選択]
本実施の形態は、n（nは2以上の整数）個の通信経路が使用できる状態で、m（n≧m）個の通信経路を使用する場合、性能差の小さいm個を任意の時間間隔T1で動的に決定していく。
【００１９】
任意の時間間隔T2(T2<T1)で任意の回数Kだけ、送信元スイッチ１０より送信先スイッチ２０へn個すべての通信経路を使用して計測用パケットを送信する。この計測用パケットは、経路選択要因となるパラメータを計測するためのものである。経路選択要因には、到達時間、ターンアラウンドタイム、パケットロス率、ホップ数等が考えられる。計測は任意のタイミングで開始することができる。
【００２０】
計測用パケットとして、到達時間、ターンアラウンドタイムペイロードを計測する場合は、領域に送信時刻(ターンアラウンドタイムのときは返信時刻を追記)が書かれたパケットが用いられる。パケットロス率を測定する場合は、全計測用パケット数の情報が共有されていれば、パケットには特別なデータは不要である。また、ホップ数を測定する場合は、ペイロードに送信時のTTLが書かれたパケットを用いる。
【００２１】
計測用パケットにより、n個の通信経路の”その時点での”通信経路性能の値、もしくは、分布が計測できる。この結果に基づいて、本実施の形態はm個の通信経路を決定する。決定した通信経路を利用するよう、OpenFlowによってパケット制御する。
【００２２】
1回の計測に基づいてm個の通信経路を選択することも可能だが、図４に示すようにT1間の複数回の結果に基づいて選択することも可能である。図４は本実施の形態がT1間の複数回の計測を行う場合を示した図である。
【００２３】
[１．０．２．マルチパスでのパケット単一化]
本実施の形態では、m個の通信経路から同一のパケットが送信先スイッチ２０に到達した場合、送信先スイッチ２０は一つのパケットを除き他のパケットをドロップする。
送信元スイッチ１０でパケット複製時に、パケット中に十分大きな長さのデータを付与する。これは、パケット番号を表すデータである。パケット番号は、パケットを複製し転送するたびにインクリメントする。
【００２４】
パケット単一化では、送信先スイッチ２０は到着したパケット番号を記録する。この記録は、選択されている通信経路中、最も通信速度が遅い通信経路のパケット到着時間＋マージン時間分だけ保持する。
【００２５】
マージン時間はユーザが独自に見積もる値ではなく、計測用パケットによって計測する到達時間、ターンアラウンドタイムから選択しているマルチパスの性能に即した最適な値を使用することができる。
【００２６】
送信先スイッチ２０がパケットを通過させる条件は、(1)記録中に該当するパケット番号がない、(2)到着したパケットのパケット番号よりも大きなパケット番号が記録されていない、の両者を満たした場合である。
次に本実施の形態に係る通信システムの構成要素のそれぞれについて説明する。
【００２７】
[１．１．送信元スイッチ]
送信元スイッチ１０は、OFSWとして機能する通信装置であって、スイッチ制御装置４０からの性能計測開始要求を受信すると、送信先スイッチ２０宛ての計測用パケットを各通信経路ISP１、ISP２、ISP３、…、ISPｎに送信し、送信先スイッチ２０から返信された計測パケットを受信して、この計測用パケットに基づいて各通信経路の性能計測値を生成し、この性能計測値を集計装置３０に送信する機能を有する。
【００２８】
送信元スイッチ１０は、通信機能を備えた情報処理装置であって、この情報処理装置は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読み出し専用メモリ（ROM）、入出力装置（Ｉ／Ｏ）、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。
【００２９】
図５に送信元スイッチ１０の構成例を示す機能ブロック図を掲げる。なお、機能ブロック図中に示す構成要素は、送信元スイッチ１０の機能を機能ごとにまとめてブロックとして捉えたものであり、送信元スイッチ１０が各構成要素に対応する基板、装置、回路、部品などの物理的構成要素を備えていなければならないことを意味するわけではない。また、「接続されている」とは、データ、情報、命令などの送受信、受け取り、受け渡しなどが可能な状態になっていることをいい、互いに配線で連結されているような物理的な接続に限られる意味ではない。本明細書中の他の構成要素の機能ブロック図の説明についても同様である。
【００３０】
送信元スイッチ１０は、計測用パケット送信部１１と、この計測用パケット送信部１１に接続された性能計測部１２と、性能計測部１２に接続された性能計測値記憶部１３と、この性能計測値記憶部１３に接続された性能計測値送信部１４と、フローテーブル受信部１５と、フローテーブル受信部１５に接続されたフローテーブル記憶部１６と、このフローテーブル記憶部１６に接続されたパケット複製部１７と、このパケット複製部１７に接続されたパケット転送部１８及び現パケット番号記憶部１９を有する。
【００３１】
計測用パケット送信部１１は、スイッチ制御装置４０から性能計測開始メッセージを受信すると、計測用パケットを生成し、各通信経路ISP１、ISP２、ISP３、…、ISPｎを経由して送信先スイッチ２０宛てに送信する機能を有する。
【００３２】
性能計測部１２は、計測用パケット送信部１１から送信された計測用パケットに対する送信先スイッチからの応答（例えば、TCP応答パケット）を受信し、その受信内容に基づいて、当該計測用パケットが送信された通信経路についてのパケットロス回数、ターンアラウンドタイム、合計データ送信量等を算出し、算出した値を当該通信経路の経路性能値として出力する。
【００３３】
性能計測値記憶部１３は、性能計測部１２から出力された経路性能値を記憶する機能を有する。なお、経路性能値は新たな性能計測開始メッセージを受信すると新しい内容に更新されてよい。
【００３４】
性能計測値送信部１４は、性能計測値記憶部１３に記憶された各通信経路の性能計測値を集計装置３０に送信する機能を有する。
フローテーブル受信部１５は、スイッチ制御装置４０からフローテーブルを受信する機能を有する。
フローテーブル記憶部１６は、フローテーブル受信部１５が受信したフローテーブルを記憶する機能を有する。
【００３５】
パケット複製部１７は、遠隔制御装置５０からパケット（入力パケット）を受信し、フローテーブルに記述されている入力パケット情報及び制御方法に従って入力パケットを処理する機能を有する。また、パケット複製部１７は、複製したパケット中に現パケット番号記憶部１９に記憶されている現パケット番号を付与（書き込み）する。現パケット番号が付与されると、パケット複製部１７は現パケット番号記憶部１９に記憶されている現パケット番号をインクリメントする。現パケット番号はオーバーフローが発生すると０に戻される。現パケット番号は、パケット単一化処理に影響が出ない程度に大きなサイズの値を使用するのが好ましい。
【００３６】
パケット転送部１８はパケット複製部１７で処理されたパケットを通信経路へ送信する機能を有する。
現パケット番号記憶部１９は、現パケット番号を記憶する機能を有する。
【００３７】
[１．２．送信先スイッチ]
送信先スイッチ２０は、複数の通信経路を経由して到達したパケットについて、パケット中に付与されたパケット番号に基づいて、同一のパケット番号を有する複数のパケットを単一のパケットにするパケット単一化処理を行う機能を有する。
【００３８】
送信先スイッチ２０は、OFSWとして機能する通信装置であって、この情報処理装置は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読み出し専用メモリ（ROM）、入出力装置（Ｉ／Ｏ）、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。
【００３９】
図６は、送信先スイッチ２０の構成例を示す機能ブロック図である。送信先スイッチ２０は、到着パケット番号記憶部２１と、設定値記憶部２２と、到着パケット番号記憶部２１並びに設定値記憶部２２に接続されたパケット単一化部２３と、送信先フローテーブル受信部２４と、この送信先フローテーブル受信部２４に接続された送信先フローテーブル記憶部２５と、この送信先フローテーブル記憶部２５及びパケット単一化部２３に接続された送信先パケット転送部２６とを有する。
【００４０】
送信先フローテーブル受信部２４、送信先フローテーブル記憶部２５は、先に述べた送信元スイッチ１０におけるこれらと同様の機能を有する。
パケット単一化部２３は、ｍ個の通信経路から同一のパケットが到達した場合、一つのパケットを除き他をドロップする機能を有する。
【００４１】
到着パケット番号記憶部２１は、送信先スイッチ２０に到着したパケットのパケット番号のリスト（「受信済みパケット番号リスト」と呼ぶ）を記憶する機能を有する。受信済みパケット番号リストは、パケット番号と、当該パケット番号を有するパケットの到着時刻の対からなるレコードの集まりである。
【００４２】
設定値記憶部２２は、スイッチ制御装置４０によって決定されたマージン時間を記憶する機能を有する。
パケット単一化部２３が実行するパケット単一化処理の例を説明する。図７はパケット単一化処理の一例を示すフローチャートである。
【００４３】
パケット単一化処理において、パケット単一化部２３はまず受信したパケット（「受信パケット」と呼ぶ）中のパケット番号を読み取る（S71）。次にパケット単一化部２３は、受信パケット番号が受信済みパケット番号リストに含まれているか否かを判定する（S72）。受信パケット番号が受信済みパケット番号リストに含まれていると判定した場合（S72,Yes）、パケット単一化部２３は受信パケットをドロップ（破棄）して(S75)、パケット単一化処理を終了する。一方、受信パケット番号が受信済みパケット番号リストに含まれていないと判定した場合（S72, No）、パケット単一化部２３は受信パケット番号より大きなパケット番号が受信済みパケット番号リストに含まれているか否かを判定する（S73）。
【００４４】
受信パケット番号より大きなパケット番号が受信済みパケット番号リストに含まれていると判定した場合（S73, Yes）、パケット単一化部２３は受信パケットをドロップ（破棄）して(S75)、パケット単一化処理を終了する。一方、受信パケット番号より大きなパケット番号が受信済みパケット番号リストに含まれていないと判定した場合（S73, No）、パケット単一化部２３は受信パケットのパケット番号とパケットの到着時刻（現在時刻でも可）を受信パケット番号リストに書き加えて、パケットをアプリケーションに転送して（S74）パケット単一化処理を終了する。
以上でパケット単一化処理の説明を終了する。
【００４５】
パケット単一化部２３は、受信パケット番号リスト更新処理も実行する。図８は受信パケット番号リスト更新処理の一例を示すフローチャートである。
受信パケット番号リスト更新処理において、パケット単一化部２３は一定時間の経過を確認する（S81）。一定時間は受信パケット番号リスト更新が必要となる時間が設定される。一定時間の経過が確認できると、パケット単一化部２３は受信パケット番号リストから一つのレコードを読み出す（S82）。次にパケット単一化部２３は現在時刻が、当該レコードに記述されている到着時刻にマージン時間を加算した時刻より大きいか否かを判定する（S83）。
【００４６】
現在時刻が到着時刻にマージン時間を加算した時刻より大きくないと判定した場合（S83, No）、パケット単一化部２３は当該レコードを受信パケット番号リストに残したままとし、次に受信パケット番号リスト中のすべてのレコードについてステップS83の判定を行ったか否かを判定する（S84）。受信パケット番号リスト中のすべてのレコードについてステップS83の判定を行ったと判定した場合（S84, Yes）、パケット単一化部２３はステップS81に戻り、一定時間の経過を待って処理を続行する。一方、受信パケット番号リスト中のすべてのレコードについてステップS83の判定を行っていないと判定した場合（S84, No）、パケット単一化部２３は受信パケット番号リストから未処理のレコードを一つ読み込み（S85）、その後ステップS83に戻る。
【００４７】
一方、前述のステップS83において、現在時刻が到着時刻にマージン時間を加算した時刻より大きいと判定した場合（S83, Yes）、パケット単一化部２３はステップS83で判定の対象としたレコードを受信パケット番号リストから削除する（S86）。その後ステップS84に進む。
以上で受信パケット番号リスト更新処理の説明を終了する。
【００４８】
[１．３．集計装置]
図３に戻り、通信システム１の構成要素の説明を続ける。  
集計装置３０は、送信元スイッチ１０から各通信経路の性能計測値を受信し、性能計測値に基づいて当該通信経路の性能分析結果情報を生成し、この性能分析結果情報をスイッチ制御装置４０に送信する機能を有する。
【００４９】
集計装置３０は、通信機能を備えた情報処理装置であって、この情報処理装置は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読み出し専用メモリ（ROM）、入出力装置（Ｉ／Ｏ）、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。
【００５０】
図９に集計装置３０の構成例を示した機能ブロック図を掲げる。集計装置３０は、集計締切時間記憶部３１と、この集計締切時間記憶部３１に接続された性能計測値受信部３２と、この性能計測値受信部３２に接続された各通信経路性能計測値記憶部３３と、この各通信経路性能計測値記憶部３３に接続された性能分析部３４と、この性能分析部３４に接続された性能分析結果記憶部３５と、性能分析結果記憶部３５に接続された性能分析結果送信部３６とを有する。
【００５１】
集計締切時間記憶部３１は、最初の通信経路の性能計測値の受信時刻から集計の締め切りまでの時間である集計締切時間を記憶する機能を有する。なお、集計締切時間は、集計時の結果に基づいて新たな値が計算され、更新されてよい。
【００５２】
性能計測値受信部３２は、送信元スイッチ１０から送信された、各通信経路の性能計測値データを受信する機能を有する。性能計測値受信部３２は、集計締切時間記憶部３１を参照して、最初の性能計測値データを受信した時刻から集計締切時間経過後、性能集計データの受信を終了する。性能計測値受信部３２は、前記集計締め切り時間経過までに受信した性能集計データを各通信経路性能計測値記憶部３３に出力する。
【００５３】
各通信経路性能計測値記憶部３３は、性能計測値受信部３２から出力された性能集計データを記憶する機能を有する。
性能分析部３４は、各通信経路性能計測値記憶部３３に記憶された性能集計データに基づいて、各通信経路の性能分析結果データを生成する。性能分析結果データには、各通信経路のパケットロス率、平均通信時間、単位時間当たり平均データ送信量が含まれる。
【００５４】
性能分析結果記憶部３５は、性能分析部３４から出力された性能分析結果データを記憶する機能を有する。
性能分析結果送信部３６は、制御装置内性能分析結果記憶部４２に記憶された性能分析結果データをスイッチ制御装置４０に送信する機能を有する。
【００５５】
[１．４．スイッチ制御装置]
スイッチ制御装置４０は、OFCとして機能する装置であって、集計装置３０から受信した性能分析結果データと、予め記憶している経路情報やアプリケーションの要求性能データに基づいて通信経路ISP１、ISP２、ISP３、…、ISPｎから一又は複数の通信経路と、パケット単一化のマージン時間を決定し、フローテーブルを生成し、生成したフローテーブルを送信元スイッチ１０及び送信先スイッチ２０に送信し、マージン時間を送信先スイッチ２０に送信する機能を有する。
【００５６】
スイッチ制御装置４０は、通信機能を備えた情報処理装置であって、この情報処理装置は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読み出し専用メモリ（ROM）、入出力装置（Ｉ／Ｏ）、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。
【００５７】
図１０にスイッチ制御装置４０の構成例を示した機能ブロック図を掲げる。スイッチ制御装置４０は、入力情報記憶部４６と、入力情報記憶部４６に接続された性能計測依頼部４７と、入力情報記憶部４６に接続された経路選択部４３と、経路選択部４３に接続された制御装置内性能分析結果記憶部４２と、制御装置内性能分析結果記憶部４２に接続された性能分析結果受信部４１と、経路選択部４３に接続された制御装置内フローテーブル記憶部４４と、制御装置内フローテーブル記憶部４４に接続されたフローテーブル送信部４５とを有している。
【００５８】
入力情報記憶部４６は、本通信システム1のユーザや管理者等によって入力される情報を記憶する機能を有する。記憶される情報には、経路情報、アプリ要求性能情報、設定値情報が含まれている。
【００５９】
「経路情報」は、通信経路のコスト、セキュリティレベルの高低が含まれる。例えば、「経路１：コストX円/日 or  X円/GB、セキュリティレベル  高」、「経路２：コストY円/日 or  Y円/GB、セキュリティレベル  低」のような内容を有する情報である。経路情報は各通信経路について上記のような情報を有している。
【００６０】
「アプリ要求性能情報」は、送信元スイッチ１０から送信先スイッチ２０を経由してパケットを遠隔制御装置５０からデータ受信装置６０に送信するアプリケーションが必要とする通信性能を含む情報である。具体的には、アプリ要求性能情報は、当該アプリケーションについての通信速度、通信コスト、セキュリティレベルと、これら各項目についての重み値（例えば０（無視）、1−5、100（必須）など）を含む。
【００６１】
「設定値」は、性能計測依頼の周期時間、選択経路数又は選択許容値を含む情報である。性能計測依頼の周期時間は、性能計測依頼メッセージを送信した後、次の性能計測依頼メッセージの送信を開始するまでの時間を定める。選択経路数は、通信システム１が選択する通信経路の数を示す情報である。選択許容値は、通信システム１が選択する通信経路の数の上限を示す情報である。選択する通信経路の数が選択許容値を下回ることも許容される。
【００６２】
性能計測依頼部４７は、送信元スイッチ１０に性能計測依頼メッセージを送信する機能を有する。性能計測依頼部４７は、前述の性能計測依頼の周期時間を参照して、周期的に性能計測依頼メッセージを送信する。
【００６３】
性能分析結果受信部４１は、集計装置３０から受信した性能分析結果データを受信し、これを制御装置内性能分析結果記憶部４２に出力する機能を有する。
制御装置内性能分析結果記憶部４２は、集計装置３０から受信した性能分析結果データを記憶する機能を有する。
経路選択部４３は、制御装置内性能分析結果記憶部４２に記憶された性能分析結果データ及び入力情報記憶部４６に記憶された情報に基づいて、使用する通信経路、マージン時間を決定し、使用する通信経路を指定するフローテーブルを生成し、出力する機能を有する。
【００６４】
図１１に経路選択部４３が実行する経路選択処理の一例を示したフローチャートを掲げる。経路選択処理において、経路選択部４３は制御装置内性能分析結果記憶部４２から各通信経路の性能分析結果データを読み出す（S111）。次に経路選択部４３は、入力情報記憶部４６に記憶された経路情報を読み出し、性能分析結果データと合わせ各通信経路性能値を生成する（S112）。
【００６５】
次に経路選択部４３は、アプリ要求性能情報を入力情報記憶部４６から読み出し、各通信経路性能値とアプリ要求性能情報とを用いて性能項目ごとのスコアを算出する処理であるスコア算出処理を実行する（S113）。
【００６６】
図１２に、経路選択処理中のスコア算出処理の一例を示したフローチャートを掲げる。スコア算出処理において、経路選択部４３は、アプリ要求性能情報の性能項目の値を、その通信経路の性能項目の値が満たしている場合、当該性能項目の比較値を「１」とし、満たしていない場合は当該性能項目の比較値を「０」とする（S121）。
【００６７】
次に経路選択部４３は、比較値とその性能項目の重み値を乗じて得た値をその性能項目の得点として出力する（S122）。
次に経路選択部４３は、全性能項目の得点を合計した値を算出し、その通信経路の総合得点値とする（S123）。
以上でスコア算出処理が終了する。なお、経路選択部４３は、スコア算出処理は各通信経路について実行し各通信経路について総合得点値を算出する。
【００６８】
図１３にスコア算出処理で生成されるデータ構成例を示す。この例では、スコア算出処理はスコア算出テーブルを用いるとして説明するが、係るデータ構成を使用しなければならないわけではない。
【００６９】
スコア算出テーブル１３０は、経路性能格納レコード１３１と、アプリ要求性能格納レコード１３２と、比較値格納レコード１３３と、重み値格納レコード１３４と、得点格納レコード１３５とを有する。これらレコードはそれぞれ、性能項目である「通信速度」格納フィールド１３６、「セキュリティ」格納フィールド１３７、「価格」格納フィールド１３８を有している。
【００７０】
経路性能格納レコード１３１では、経路選択部４３は経路性能値から「通信速度」、「セキュリティ」、「価格」を各格納フィールド１３６，１３７，１３８に格納する。
アプリ要求性能格納レコード１３２では、経路選択部４３はアプリ要求性能情報から「通信速度」、「セキュリティ」、「価格」を各格納フィールド１３６，１３７，１３８に格納する。
【００７１】
比較値格納レコード１３３では、経路選択部４３は経路性能格納レコード１３１とアプリ要求性能格納レコード１３２の対応する格納フィールド１３６，１３７，１３８に格納されている値を比較し、比較結果に基づいて比較値を決定して比較値格納レコード１３４の対応する格納フィールド１３６，１３７，１３８に入力する。図１３に示す例では性能項目「通信速度」については、経路性能がアプリ要求性能を満たしていないので、比較値として「０」が格納され、性能項目「セキュリティ」については、経路性能がアプリ要求性能を満たしているので、比較値として「１」が格納され、性能項目「価格」については、経路性能がアプリ要求性能を満たしているので、比較値として「１」が格納されている。
【００７２】
重み値格納レコード１３４では、経路選択部４３はアプリ要求性能情報から各性能項目の重み値を格納フィールドに格納する。図１３に示した例では、性能項目「通信速度」について重み値「５」、性能項目「セキュリティ」について重み値「０」、性能項目「価格」について重み値「３」が格納されている。
【００７３】
得点格納レコード１３５では、経路選択部４３は性能項目「通信速度」について比較値「０」と重み値「５」を乗じた値「０」が格納され、性能項目「セキュリティ」について比較値「１」と重み値「０」を乗じた値「０」が格納され、性能項目「価格」について比較値「１」と重み値「３」を乗じた値「３」が格納される。
【００７４】
図１３に示した例では、このスコア算出テーブル１３０の経路の総合得点値は、性能項目「通信速度」についての得点「０」、性能項目「セキュリティ」についての得点「０」、性能項目「価格」についての得点「３」の合計値「３」となる。
【００７５】
図１１に戻り経路選択処理の説明を続ける。ステップS113のスコア算出処理の結果、各通信経路について総合得点値を得ると、スイッチ制御装置４０、より詳しくは経路選択部４３は所定の条件を満たす通信経路を経由して通信を行う条件、制御方法を格納したフローテーブルを生成し、フローテーブル送信部４５はこのフローテーブルを送信元スイッチ１０及び送信先スイッチ２０に送信する（S114）。
【００７６】
なお所定の条件は、総合得点値によって決定できる条件であればどのようなものでもよいが、例をあげると、
（例１）最高得点を有する通信経路（経路数：１）
（例２）選択経路数が設定された場合、経路数分の総合得点値上位の通信経路
（例３）選択許容値が設定された場合、最高得点から選択許容値を引いた値以上の総合得点値を有する通信経路
などである。
【００７７】
ステップS114の後、スイッチ制御装置４０、より詳しくは経路選択部４３は選択された通信経路のマージン時間を算出し、マージン時間を送信先スイッチ２０に送信する（S115）。
以上で経路選択処理は終了する。
【００７８】
図１０に戻りスイッチ制御装置４０の構成例の説明に戻る。
制御装置内フローテーブル記憶部４４は、経路選択部４３が経路選択処理の結果得られた通信経路の使用を記述したフローテーブル及びマージン時間を記憶する機能を有する。
【００７９】
フローテーブル送信部４５は、制御装置内フローテーブル記憶部４４に記憶されたフローテーブルを送信元スイッチ１０に送信し、制御装置内フローテーブル記憶部４４に記憶されたフローテーブル及びマージン時間を送信先スイッチ２０へ送信する機能を有する。
【００８０】
[１．５．遠隔制御装置]
遠隔制御装置５０は、送信元スイッチ１０、通信経路ISP１、ISP２、ISP３、…、ISPｎ、及び送信先スイッチ２０を経由して、データ受信装置６０へ通信パケットを送信可能な装置であって、例えばコンピュータ、携帯電話機、タブレットPC、携帯ゲーム機、その他の通信端末装置などである。
【００８１】
[１．６．データ受信装置]
データ受信装置６０は、送信元スイッチ１０、通信経路ISP１、ISP２、ISP３、…、ISPｎ、及び送信先スイッチ２０を経由して、遠隔制御装置５０から送信された通信パケットを受信可能な装置であって、例えば、コンピュータ、サーバなどである。
【００８２】
[１．７．通信経路ISP１、ISP２、ISP３、…、ISPｎ]
通信経路ISP１、ISP２、ISP３、…、ISPｎは、それぞれInternet Service Providerによって提供されるIX(Internet Exchange)ヘ接続する通信回線である。なお、送信元スイッチ１０、送信先スイッチ２０は通信経路ISP１、ISP２、ISP３、…、ISPｎを経由してインターネット（WWW：図略）に接続される。
【００８３】
[１．８．計測サイト]
計測サイト７０は、遠隔制御装置５０が収容されるネットワークであって、例えば家庭内LAN、企業内LANである。送信元スイッチ１０は計測サイト７０とWANの通信経路境界である。
【００８４】
[１．９．クラウド]
クラウド８０は、データ受信装置６０が収容されるネットワークであって、例えばデータセンター内の仮想マシン群から構築されるLANである。送信先スイッチ２０はクラウド８０とWANの通信経路境界である。
【００８５】
［２．動作例］
本実施の形態に係る通信システム１の動作例を説明する。図１４は通信システム１の主たる動作を示したフローチャートである。また、図１５から図２０はそれぞれ図１４に示した各処理（ステップ）での通信システム１中のデータの流れを示すブロック図である。
【００８６】
スイッチ制御装置４０は、既定の周期時間で性能計測依頼メッセージを送信元スイッチ１０に送信する（S141）。図１５にステップS141における通信システム１内のデータの流れを示す。
【００８７】
送信元スイッチ１０は、性能計測依頼メッセージを受信すると、送信先スイッチ２０宛ての計測用パケットを全通信経路へ送信する（S142）。図１６にステップS142における通信システム１でのデータの流れを示す。
【００８８】
計測用パケットを受信した送信先スイッチ２０は応答パケットを同じ通信経路を経由して送信元スイッチ１０に送信する。応答パケットを受信した送信元スイッチ１０は、応答パケットの受信状況に基づいてその通信経路の性能計測値を算出する（S143）。図１７にステップS143における通信システム１内のデータの流れを示す。
【００８９】
送信元スイッチ１０は通信経路の性能計測値を算出すると、当該通信経路の性能計測値データを集計装置３０へ送信する（S144）。図１８にステップS144における通信システム１内のデータの流れを示す。
【００９０】
集計装置３０は、最初の通信経路の性能計測値データ受信から集計締切時間経過すると、性能計測値データ受信を終了し、受信した性能計測値データから各通信経路について性能分析結果データを生成する。集計装置３０は性能分析結果データをスイッチ制御装置４０へ送信する（S145）。図１９にステップS145における通信システム１内のデータの流れを示す。また、集計装置３０は集計時の結果により集計締切時間を更新する。
【００９１】
スイッチ制御装置４０は、受信した性能分析結果データと経路情報やアプリケーションの要求性能データから、使用する通信経路とパケット単一化のマージン時間とを決定し、使用する通信経路を指定するフローテーブルを生成し、フローテーブルを送信元スイッチ１０と送信先スイッチ２０に送信し、またマージン時間を送信先に送信する（S146）。図２０にステップS146における通信システム１内のデータの流れを示す。
【００９２】
送信元スイッチ１０は受信したフローテーブルを記憶し（S147）、このフローテーブルに従ってパケット転送処理を行う。すなわち、ステップS146で選択された通信経路を経由させて通信を行う。また、送信先スイッチ２０は受信したフローテーブル及びマージン時間を記憶し（S147）、このフローテーブルに従ってパケット転送処理（送受信）を行い、このマージン時間に従ってパケット単一化処理を行う。
以上で、通信システム１の動作例の説明を終了する。
【００９３】
[３．本実施の形態の利点]
（１）マルチパス（複数の通信経路）による通信によりデータ通信の信頼性が高まる。
（２）通信経路性能をモニタリングするので、実際の通信経路性能を反映したマルチパスを選択することができる。
（３）動的にマルチパスが選択されるため、通信経路の障害や動的な性能変化に対応することができ、通信システム全体の信頼性が高まる。
（４）通信経路のコスト等のパラメータにより通信経路を選択することが可能なため、ランニングコストの低下を図ることができる。
（５）選択されているマルチパスの性能を考慮にいれたマージン時間を使用することで、必要なデータ容量の点で有利なパケット単一化処理が可能である。
【００９４】
［４．まとめ、その他］
以上、本発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加、組み合わせ等が可能である。
【符号の説明】
【００９５】
１・・・通信システム；  １０・・・送信元スイッチ；  ２０・・・送信先スイッチ；  ３０・・・集計装置；  ４０・・・スイッチ制御装置；  ５０・・・遠隔制御装置；  ６０・・・データ受信装置；  ７０・・・計測サイト；  ８０・・・クラウド；  ISP・・・通信経路。
【図１】
2014230114.tif 000003
【図２】
2014230114.tif 000004
【図３】
2014230114.tif 000005
【図４】
2014230114.tif 000006
【図５】
2014230114.tif 000007
【図６】
2014230114.tif 000008
【図７】
2014230114.tif 000009
【図８】
2014230114.tif 000010
【図９】
2014230114.tif 000011
【図１０】
2014230114.tif 000012
【図１１】
2014230114.tif 000013
【図１２】
2014230114.tif 000014
【図１３】
2014230114.tif 000015
【図１４】
2014230114.tif 000016
【図１５】
2014230114.tif 000017
【図１６】
2014230114.tif 000018
【図１７】
2014230114.tif 000019
【図１８】
2014230114.tif 000020
【図１９】
2014230114.tif 000021
【図２０】
2014230114.tif 000022