(57)【要約】 【課題】端末の振る舞いに起因する制御装置やネットワークの負荷の低減。【解決手段】通信システムは、複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する第１の手段と、前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示する第２の手段と、を備える制御装置と、前記制御装置による指示に応じて、前記第２の条件に基づいて前記通信を実行する第３の手段を備える端末と、を含む。【選択図】図１
2015530766.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する第１の手段と、
前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示する第２の手段と、
を備える制御装置と、
前記制御装置による指示に応じて、前記第２の条件に基づいて前記通信を実行する第３の手段を備える端末と、
を含む通信システム。
【請求項２】
前記第２の条件は、前記通信の開始時期を遅らせることである請求項１の通信システム。
【請求項３】
前記端末は、送信対象パケットを所定期間格納するキューを備え、
前記第３の手段は、前記制御装置から指示されたパケットを前記キューに格納してから送信することにより、前記通信の開始を遅らせる
ことを特徴とする請求項１または２の通信システム。
【請求項４】
前記キューに送信対象パケットを格納してから送信するまでの時間を一様乱数により決定する
ことを特徴とする請求項３の通信システム。
【請求項５】
前記第２の条件は、前記通信の開始時期を早めさせることである請求項１または２の通信システム。
【請求項６】
前記第２の条件は、前記通信に用いる通信インタフェースを変更することである請求項１または２の通信システム。
【請求項７】
前記第２の条件は、通信に係るパケットを所定期間廃棄させ、その後に再送させることである請求項１または２の通信システム。
【請求項８】
前記第２の条件は、前記通信に係るパケット間にダミーパケットを送信させることである請求項１または２の通信システム。
【請求項９】
前記第１の条件は、前記複数の端末が、所定期間内に通信を行うことである請求項１から８のいずれかに記載の通信システム。
【請求項１０】
前記第１の手段は、前記複数の端末による通信に関する統計値が、所定期間内に閾値を超えたことに応じて、前記通信を検出する
ことを特徴とする請求項１から９のいずれかに記載の通信システム。
【請求項１１】
前記統計値は、前記複数の端末から特定の宛先に対するトラヒック量であることを特徴とする請求項１０に記載の通信システム。
【請求項１２】
前記統計値は、前記複数の端末から特定の宛先に対して接続する前記端末の数であることを特徴とする請求項１０に記載の通信システム。
【請求項１３】
複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する第１の手段と、
前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示する第２の手段と、
を備える制御装置。
【請求項１４】
前記第２の条件は、前記通信の開始時期を遅らせることである請求項１３の制御装置。
【請求項１５】
前記第２の手段は、前記制御装置から指示されたパケットを前記端末に備えられた送信対象パケットを所定期間格納するキューに格納してから送信させることにより、前記通信の開始を遅らせる
ことを特徴とする請求項１３または１４の制御装置。
【請求項１６】
前記キューに送信対象パケットを格納してから送信するまでの時間を一様乱数により決定する
ことを特徴とする請求項１５の制御装置。
【請求項１７】
前記第２の条件は、前記通信の開始時期を早めさせることである請求項１３または１４の制御装置。
【請求項１８】
前記第２の条件は、前記通信に用いる通信インタフェースを変更することである請求項１３または１４の制御装置。
【請求項１９】
前記第２の条件は、通信に係るパケットを所定期間廃棄させ、その後に再送させることである請求項１３または１４の制御装置。
【請求項２０】
前記第２の条件は、前記通信に係るパケット間にダミーパケットを送信させることである請求項１３または１４の制御装置。
【請求項２１】
前記第１の条件は、前記複数の端末が、所定期間内に通信を行うことである請求項１３から２０のいずれかに記載の制御装置。
【請求項２２】
前記第１の手段は、前記複数の端末による通信に関する統計値が、所定期間内に閾値を超えたことに応じて、前記通信を検出する
ことを特徴とする請求項１３から２１のいずれかに記載の制御装置。
【請求項２３】
前記統計値は、前記複数の端末から特定の宛先に対するトラヒック量であることを特徴とする請求項２２に記載の制御装置。
【請求項２４】
前記統計値は、前記複数の端末から特定の宛先に対して接続する前記端末の数であることを特徴とする請求項２２に記載の制御装置。
【請求項２５】
複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する第１の手段を備える制御装置と、接続され、
前記制御装置による指示に応じて、第一の条件とは異なる第２の条件に基づいて前記通信を実行する第３の手段を備える端末。
【請求項２６】
複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出するステップと、
前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示するステップと、を含む端末制御方法。
【請求項２７】
制御装置に搭載されたコンピュータに、
複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する処理と、
前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示する処理と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、日本国特許出願：特願２０１２−２１７８５４号（２０１２年９月２８日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、端末、端末制御方法及びプログラムに関し、特に、端末群と、これら端末を集中制御する制御装置とを含む通信システム、制御装置、端末、端末制御方法及びプログラムに関する。
【背景技術】
【０００２】
データ同期のための通信など、所定の時刻、条件で通信を開始するように振る舞うアプリケーションプログラム（以下、「アプリケーション」という。）が存在する。例えば、この種のアプリケーションをインストールした端末は、同じ時刻、条件で一斉に通信を開始する。この結果、これらのアプリケーションの通信先のサーバに至るパケット経路上で、比較的短い期間に、急激に増大し、急激に減少するスパイク状のトラヒックが観測される。
【０００３】
近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている（非特許文献１、２参照）。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献２に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献２の「４．１  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。
【０００４】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献２の「４．３  Ｍａｔｃｈ  Ｆｉｅｌｄｓ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年７月１３日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）、［ｏｎｌｉｎｅ］、［平成２４（２０１２）年７月１３日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明によって与えられたものである。上記スパイク状のトラヒックが発生すると、ネットワーク輻輳やパケット損失が起こりうる。とりわけ、近年のスマートフォンに代表される高機能端末と様々なアプリケーションの普及により、スパイク状のトラヒックが発生する頻度が高まる可能性があり、より早急な対策が望まれている。
【０００７】
本発明は、上記スパイク状のトラヒックの発生頻度の低減に代表される端末の振る舞いに起因する制御装置やネットワークの負荷の低減に貢献できるようにした通信システム、制御装置、端末、端末制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の視点によれば、複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する第１の手段と、前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示する第２の手段と、を備える制御装置と、前記制御装置による指示に応じて、前記第２の条件に基づいて前記通信を実行する第３の手段を備える端末と、を含む通信システムが提供される。
【０００９】
第２の視点によれば、複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する第１の手段と、前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示する第２の手段と、を備える制御装置が提供される。
【００１０】
第３の視点によれば、複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する第１の手段を備える制御装置と、接続され、前記制御装置による指示に応じて、第一の条件とは異なる第２の条件に基づいて前記通信を実行する第３の手段を備える端末が提供される。
【００１１】
第４の視点によれば、複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出するステップと、前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示するステップと、を含む端末制御方法が提供される。本方法は、端末を集中制御する制御装置という、特定の機械に結びつけられている。
【００１２】
第５の視点によれば、制御装置に搭載されたコンピュータに、複数の端末に対して共通に設定された第１の条件に応じて、前記複数の端末の各々が実行する通信を検出する処理と、前記通信の検出に応じて、前記複数の端末の少なくとも１つに対して、前記第１の条件とは異なる第２の条件に基づいて前記通信を実行するように指示する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１３】
本発明によれば、上記したアプリケーションの振る舞いによるスパイク状のトラヒック等、端末の振る舞いに起因する制御装置やネットワークの負荷の低減に貢献することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態の動作を説明するための図である。
【図３】本発明の一実施形態の動作を説明するための図である。
【図４】本発明の第１の実施形態の通信システムの構成を示す図である。
【図５】本発明の第１の実施形態の通信システムの動作を表したフローチャートである。
【図６】本発明の第１の実施形態の制御装置によるトラヒック解析処理の流れを表したフローチャートである。
【図７】本発明の第１の実施形態の制御装置によるトラヒック解析処理の一例を説明するための図である。
【図８】本発明の第１の実施形態の制御装置によるトラヒック解析処理の一例を説明するための図である。
【図９】本発明の第１の実施形態の制御装置によるトラヒック解析処理の一例を説明するための図である。
【図１０】図９の集計結果をグラフで表した図である。
【図１１】図９の集計結果から制御対象フローを選択した図である。
【図１２】本発明の第１の実施形態の端末による通信遅延動作の一例を説明するための図である。
【図１３】本発明の第１の実施形態の端末による通信遅延動作の一例を説明するための図である。
【図１４】本発明の第１の実施形態の端末による通信遅延動作の一例を説明するための図である。
【図１５】本発明の第２の実施形態の端末による通信遅延動作の一例を説明するための図である。
【図１６】本発明の一実施形態の構成を示す別の図である。
【発明を実施するための形態】
【００１５】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１６】
本発明は、その一実施形態において、図１６に示すように、複数の端末１と、制御装置２と、を含む構成にて実現できる。端末１には、その各々に、第１の条件が共通に設定されている。第１の条件とは、例えば、あるアプリケーションにおいて、決まった時刻に通信を開始することや、端末に対する所定の動作に応じて、通信を開始することなどが挙げられる。より具体的には、例えば、複数の端末が、毎日１３：００と２０：００に、ごく短い時間に一斉に通信を行うことが挙げられる。
【００１７】
このように、複数の端末が、第１の条件に応じて通信を実行することにより、上述したような、スパイク状のトラヒックが発生してしまう。このスパイク状のトラヒックは、ネットワークにおける通信量が短時間の間に急増することや、多数の端末が同時にネットワークとの間で制御信号の通信を行うことが原因である。さらに、このスパイク状のトラヒックを原因として、ネットワーク輻輳やパケット損失が起こりうる。
【００１８】
制御装置２は、第１の条件に応じて、複数の端末の各々が実行する通信を検出する機能を備える。制御装置は、例えば、図２に示したような、スパイク状のトラヒックを検出する。
【００１９】
また、制御装置２は、複数の端末１の少なくとも１つに対して、第２の条件に基づいて、端末１に対して、通信を実行するように指示する機能を備える。
【００２０】
ここで、第２の条件とは、例えば、端末が通信を開始する時間を変更することや、端末が通信を行う通信インタフェースを変更することなどが挙げられる。
【００２１】
端末は、制御装置からの指示に従い、通信を実行する。例えば、第２の条件として、通信を開始する時間を変更することが指示された場合には、端末は、通信を開始する時間を変更する。ここでは、通信を開始する時間を早めてもよいし、遅らせてもよい。また、第２の条件として、通信を行う通信インタフェースを変更することを指示された場合には、端末は、使用する通信インタフェースを、モバイル網に対する通信インタフェースから、ＷｉＦｉ（登録商標）に対する通信インタフェースに変更する。
【００２２】
以上のように、制御装置が、第２の条件に基づいて、端末に対して通信を実行するように指示し、端末が、制御装置による指示に応じて、第２の条件に基づいて通信を実行することにより、上述したようなスパイク状のトラヒックを回避することができる。よって、複数の端末が、第１の条件に応じて、同時刻に一斉に通信を開始したとしても、通信量や通信を行う端末数を分散化、あるいは平準化させることができる。
【００２３】
本発明は、別の一実施形態において、図１に示すように、複数の端末１０Ａと、制御装置２０Ａと、を含む構成にて実現できる。より具体的には、制御装置２０Ａは、制御対象の複数の端末から通信の統計情報を収集する統計情報収集部２１Ａと、前記収集した統計情報に基づいて、複数の端末が同時期に通信を開始することによる特定の宛先への通信の集中が発生するタイミングを検出する統計情報解析部２２Ａと、前記特定の宛先への通信の集中が発生するタイミングを検出した場合、前記複数の端末から選択した端末に対して、該当する通信に対する制御を指示する制御指示部２３Ａと、を備える。また、端末１０Ａは、制御装置２０Ａからの指示により、該当する通信に対する制御を行う通信制御部１１Ａと、を備える。より具体的には、前記通信の集中は、通信の統計情報から得られる、後述するトラヒック量や、モバイル網に接続（Ａｔｔａｃｈ）する同時接続端末数、あるいは特定の宛先に接続する端末数等の各種の統計値を用いて検出することができる。なお、ここでのトラヒック量とは、例えば、端末からモバイル網または特定の宛先に対して送信されるデータ量や、端末とモバイル網とのコネクションを設定するまでの間に発生する制御信号のデータ量などが挙げられる。
【００２４】
図２は、ある時刻や条件が成立すると特定の宛先に通信を開始するアプリケーション（図１の１３Ａ参照）が搭載された端末が多数接続されたネットワークにおける特定宛先へのトラヒックの変化を表した図である。ここで、特定宛先とは、各端末に搭載されたアプリケーションが通信を開始するサーバ等である。図２の例では、毎日１３：００と２０：００に、ごく短い期間に、トラヒックが急増した後、急減するスパイク状の波形を呈するトラヒックが発生している。統計情報解析部２２Ａは、このようなトラヒックの変化から、毎日１３：００と２０：００に、特定宛先へのトラヒックの集中が発生するタイミングがあることを検出する。そして、制御指示部２３Ａは、これら毎日１３：００と２０：００に通信を開始する端末の中から、所定の基準で選択した端末に対して、該当する通信に対する制御を指示する。前記通信に対する制御を指示としては、通信の開始時期を前後にずらす（開始時期を早める、開始時期を遅らせる）、前記通信に係るパケットを一旦廃棄させてから所定期間後に再送させる、前記通信に係るパケット間にダミーパケット等を挿入させる、前記通信の転送経路を変更させる（例えば、モバイル網経由から無線ＬＡＮ経由、ＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）経由に切替える）等、種々の形態を採用できる。
【００２５】
前記通信の集中が発生するタイミングの検出は、例えば、ある観測時点におけるトラヒック量の増加幅（図２のα１）が所定の閾値（第１の閾値）を超え、かつ、その後所定時間（第１の時間ｔ１）内にトラヒック量の減少幅（図２のα２）が所定の閾値（第２の閾値）を超え、さらにそのような急増・急減パターン（スパイク状トラヒック）がほぼ一定の周期（図２のｔ２）で表れていること等を条件として検出できる（図２参照）。統計値として、モバイル網に接続する端末数や、特定のサイトに接続する端末数を用いる場合には、上述したトラヒック量の場合と同じように、端末数の増加幅と減少幅を用いて、通信の集中を検出することができる。すなわち、短時間にトラヒック量や、モバイル網または特定の宛先への同時接続端末数が急増しているかどうかを検出することができれば良い。
【００２６】
例えば、前記制御装置から通信の開始時期を遅らせる指示を受けた端末は、制御装置２０Ａから指示された時間分、あるいは、それぞれ乱数等によって決定した時間分、該当する通信の開始時期を遅らせる。これにより、図３の太線に示すように、特定宛先への通信開始時期を分散させることができる。これにより、ネットワークの輻輳やパケットロスの発生を低減することができる。また、非特許文献１、２のような集中制御方式のネットワークにおいては、制御装置に対する制御信号（例えば、新規フロー検出時のＰａｃｋｅｔ−Ｉｎメッセージや、端末とモバイル網の間でコネクションを設定するまでの間に発生する制御信号）の発生時期を分散させ、制御装置の負荷を抑えることができる。
【００２７】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図４は、本発明の第１の実施形態の通信システムの構成を示す図である。図４を参照すると、複数の端末１０と、制御装置２０と、を含む構成が示されている。
【００２８】
端末１０は、通信制御部１１と、パケット送信部１２と、アプリケーション１３と、フローテーブル１４とを備えている。
【００２９】
通信制御部１１は、制御装置２０からの指示に従ってフローテーブル１４に格納されたフローエントリの書き換えを行う。また、通信制御部１１は、アプリケーション１３から送信パケットを受信するとパケット送信部１２に出力する。また、通信制御部１１は、パケット送信部１２からの要求に基づいて、制御装置２０に対するフローエントリの設定要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）の送信等を行う。
【００３０】
パケット送信部１２は、通信制御部１１を介して、アプリケーション１３から送信パケットを受信すると、フローテーブル１４から、送信パケットのヘッダ等に適合するマッチ条件を持つエントリを検索する。前記検索の結果、送信パケットのヘッダ等に適合するマッチ条件を持つエントリが見つかった場合、パケット送信部１２は、当該エントリのインストラクションフィールドに格納されている処理内容（指定ポートからのパケット送信、ヘッダ書換え等）を実行する。また、このとき、パケット送信部１２は、パケット送信に使用したエントリのフロー統計情報（Ｃｏｕｎｔｅｒｓ）フィールドの値を更新する。
【００３１】
一方、前記検索の結果、送信パケットのヘッダ等に適合するマッチ条件を持つエントリが見つからなかった場合、パケット送信部１２は、通信制御部１１を介して、制御装置２０に対して送信パケットを処理するためのフローエントリの設定を要求する。
【００３２】
アプリケーション１３は、一定時刻や所定の条件が成立すると、特定の宛先への通信を開始し、データ同期等を行うアプリケーションプログラムである。
【００３３】
フローテーブル１４は、非特許文献２のオープンフロースイッチのフローテーブルと同様に、マッチ条件に適合するパケットを処理するためのエントリを格納するテーブルである。
【００３４】
上記のような端末１０は、例えば、各種の情報処理装置（携帯端末、パーソナルコンピュータ等）である。また、端末１０は、非特許文献２のオープンフロースイッチと同等の機能を搭載することにより実現することも可能である。また、端末１０は、Ｍ２Ｍ（Ｍａｃｈｉｎｅ  ｔｏ  Ｍａｃｈｉｎｅ）システムの構成機器であってもよい。
【００３５】
制御装置２０は、トラヒック情報収集部２１と、トラヒック解析部２２と、遅延指示部２３と、を備えている。
【００３６】
トラヒック情報収集部２１は、所定の時間間隔で、端末の通信制御部１１に対して、フローテーブル１４の各エントリのフロー統計情報（Ｃｏｕｎｔｅｒｓ）フィールドの値を問い合わせ、トラヒック情報を収集する。このようなトラヒック情報の収集には、スイッチ（スイッチ機能を備えた端末１０を含む）に対し、フローテーブル１４の内容を問い合わせる非特許文献２のＲｅａｄ  Ｓｔａｔｅメッセージを用いることができる（非特許文献２の「Ａ．３．６  Ｒｅａｄ  Ｓｔａｔｅ  Ｍｅｓｓａｇｅ」参照）。
【００３７】
トラヒック解析部２２は、各端末から収集したトラヒック情報を元に、宛先別に、時間あたりのトラヒック量を集計し、トラヒック量の急増と急減が、規則的に表れている宛先を、前記通信の開始時期を遅らせる対象として選択する。トラヒック解析部２２は、前記選択した宛先へのトラヒックが次に急増するタイミングを特定し、遅延指示部２３に通知する。
【００３８】
遅延指示部２３は、トラヒック解析部２２から通知された内容に基づいて、複数の端末１０の中から所定の規則で選択した端末に対し、前記トラヒック解析部２２にて特定された通信の開始時期を遅らせるよう指示する。具体的には、遅延指示部２３は、端末１０に対し、該当する通信を処理するためのフローエントリのインストラクションフィールドの内容を書き換えることで、通信の開始時期を遅らせる。
【００３９】
これらトラヒック解析部２２によるトラヒックの解析処理及び遅延指示部２３による通信の開始時期の遅延方法については、後に具体的な例を示して詳説する。
【００４０】
上記のような制御装置２０は、非特許文献２のオープンフローコントローラに、トラヒック解析部２２と、遅延指示部２３と、を追加することで実現できる。
【００４１】
なお、図１、図４に示した制御装置２０、２０Ａの各部（処理手段）は、制御装置２０を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４２】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図５は、本発明の第１の実施形態の通信システムの動作を表したフローチャートである。図５を参照すると、まず、制御装置２０が所定のタイミング（例えば、ｎ分間隔）で、制御対象の複数の端末１０からトラヒック情報を収集する（ステップＳ００１、Ｓ１０１）。
【００４３】
次に、制御装置２０は、収集したトラヒック情報を元に、所定数以上の端末が同時期に開始する通信先と、そのタイミングと、を特定する（ステップＳ００２；トラヒック解析）。
【００４４】
前記トラヒック解析の結果、所定数以上の端末が同時期に開始する通信先と、そのタイミングと、を特定できた場合（ステップＳ００３のＹｅｓ；制御対象トラヒックの検出）、制御装置２０は、所定の規則で制御対象端末を選択し、遅延指示を送信する（ステップＳ００４）。
【００４５】
前記指示を受け取った端末１０は、所定の遅延処理（例えば、パケットキューや、送信バッファへの格納や、送信待機処理等）を行った後（ステップＳ１０２）、パケットを送信する（ステップＳ１０３）。
【００４６】
ここで、上記ステップＳ００２における制御装置２０によるトラヒック解析処理の一例について図面を参照して詳細に説明する。
【００４７】
図６は、本発明の第１の実施形態の制御装置によるトラヒック解析処理の流れを表したフローチャートである。図６を参照すると、まず、制御装置２０は、各端末１０から受信したトラヒック情報を集計して、制御対象フロー候補リストを作成する（ステップＳ２０１）。このような制御対象フロー候補リストは、所定時間分保存される。
【００４８】
図７は、図６のステップＳ２０１において作成される制御対象候補リストの一例である。図７を参照すると、制御対象候補リストは、各端末１０から収集したトラヒック情報を元に、予め定められたタイムスロット（図７〜図９の例では１分）における宛先別にトラヒック量を集計したものとなっている。なお、トラヒック量としては、パケット数やバイト数等、任意の粒度の情報を用いることができる。また、図７の例では、タイムスロットでｍ回分の制御対象候補リストが保存されている。
【００４９】
次に、制御装置２０は、制御対象候補リストの各エントリの中のうち、トラヒック量が所定の閾値未満であるエントリを除外する（ステップＳ２０２）。
【００５０】
図８は、図７の制御対象候補リストからトラヒック量が所定の閾値未満である宛先を持つエントリを除外する例を示している。なお、図８では、所定の閾値として１０００を設定しているが、閾値は制御対象とするトラヒックの特徴や、誤判定となりうる他の通信トラヒックの特徴に応じて適宜設定することができる。
【００５１】
次に、制御装置２０は、過去分から複数のタイムスロット分の制御対象フロー候補リストを参照し、スパイク状の増減パターンを周期的に出現させている宛先と、次にスパイク状の増減パターンが発生するであろう時期を特定する（ステップＳ２０３）。
【００５２】
図９は、制御対象候補リストの各エントリの中のうち、トラヒック量が所定の閾値未満であるエントリを除外した後の制御対象候補リストである（ｍタイムスロット分）。
【００５３】
図１０は、図９の制御対象候補リストのトラヒック量の宛先別にグラフで表わした図である。例えば、図１０の例では、宛先１９２．１６８．１０．５の通信が、タイムスロット１４：００−１４：０１、１５：００−１５：０１、１６：００−１６：０１に、スパイク状のトラヒックを発生させている。この宛先１９２．１６８．１０．５の通信のように、あるタイムスロットにおいて、閾値以上の接続端末数が発生している宛先への通信に関して、さらに接続端末数の変動に周期性や特徴が見受けられる場合には、その通信を制御対象とする。接続端末数の変動の周期性は、例えば、以下のような方法で検出することができる。まず、第１の所定期間（例えば１日や、数時間）の図９（図１１）の表、あるいは図１０のグラフから、制御対象となる通信を絞り込む。その後、制御対象となる通信について、第２の所定期間（数日・数時間）分、時間を遡って接続端末数の記録を参照する。このとき、第２の所定期間中における制御対象となる通信の発生時刻が、第１の所定期間中の発生時刻と同じである場合には、その制御対象となる通信に関して、周期性があると判断できる。
【００５４】
一方、宛先１９２．１６８．０．１の通信と宛先１９２．１６８．５．１０の通信は、宛先１９２．１６８．１０．５の通信と異なり、ある特定のタイムスロットだけに接続端末数が集中していないことが分かる。加えて、宛先１９２．１６８．１０．５の通信のように、トラヒック量の変化に周期性が見当たらない。以上から、宛先１９２．１６８．０．１の通信と宛先１９２．１６８．５．１０の通信は、制御対象から除外することができる。以上のように、制御装置２０は、図１０に示したようなトラヒックの特性から、図１１に示すように、宛先１９２．１６８．１０．５のパケットを制御対象通信として特定する。また、制御装置２０は、次にスパイク状のトラヒックが発生するタイミングとして、１７：００−１７：０１、１８：００−１８：０１といった１時間おきのタイミングや、翌日の１４：００−１４：０１、１５：００−１５：０１、１６：００−１６：０１を特定する。
【００５５】
前記制御対象通信とそのタイミングを特定した制御装置２０は、所定の規則を用いてトラヒックの分散効果が表れるように選択した端末１０に対し、制御対象通信の通信開始時期を遅らせるように指示する。
【００５６】
例えば、制御装置２０は、図１２に示すように、対象の端末に対し、制御対象フローエントリのインストラクションフィールドの値を、指定ポートからの出力（Ｏｕｔｐｕｔ  ｐｏｒｔ＃Ｒ）を、キューへの格納（ＥＮＱＵＥＵＥ）を指示する内容に書き換えるよう指示する。
【００５７】
このようにインストラクションフィールドの値を書き換えることにより、該当端末１０は、アプリケーション１３から渡されたパケットが制御対象通信のパケットである場合、図１３に示すように、キューへと格納し、所定時間経過してから、送信する動作を行う。
【００５８】
なお、前記キューへの格納期間は、トラヒックの分散効果が表れるように制御装置２０が個々の端末１０に指示するようにしてもよいし、あるいは、個々の端末が乱数等を用いて決定するものとしてもよい。
【００５９】
例えば、前記乱数として一様乱数を用いれば、図１４に示すように、スパイク状のトラヒックは、時間あたりの流量が所定の範囲内に収まるような矩形状のトラヒックになる。これにより、ネットワークの輻輳やパケットロスの発生が低減される。また、制御装置２０に対する制御信号（例えば、経路上のオープンフロースイッチからのＰａｃｋｅｔ−Ｉｎメッセージや、端末とモバイル網の間でコネクションを設定するまでの間に発生する制御信号）の発生時期を分散させ、制御装置２０の負荷を抑えることができる。
【００６０】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成や要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００６１】
［第２の実施形態］
また、上記した実施形態では、送信パケットをキューに格納させることにより、スパイク状のトラヒックを平準化するものとして説明したが、他の方法を用いることも可能である。例えば、図１５に示すように、個々の端末１０に、前記該当する通信に係るパケット間に、宛先を変えたダミーパケットを送信させることにより、前記特定の宛先へのトラヒック（通信）の集中を平準化することもできる。
【００６２】
図１５には、制御対象となるパケットをｎ個送信する場合の例を示している。図１５の例では、パケット送信部が制御対象のパケットを１つ送信する度に、ダミーパケットを１つ送信している。このように、パケット送信部が、制御対象のパケットを１つ送るごとに、ダミーパケットを１つ送信することで、制御対象のパケットｎ個の送信に要する時間を引き延ばす（遅延させる）ことが可能となる。このとき、ダミーパケットは、最終的には廃棄するパケットであるため、宛先としては、どこを設定しても良い。例えば、端末内の通信制御部１１やパケット送信部１２にダミーパケットを送信させた上で、廃棄するという方法が考えられる。あるいは、ダミーパケット専用の送信先を用意しておいて、その送信先が受信するダミーパケットはすべて廃棄するようにしても良い。
【００６３】
より望ましくは、制御対象のパケットと、ダミーパケットとに異なる送信優先度を設定することもできる。例えば、ダミーパケットに制御対象のパケットよりも高い送信優先度を設定することで、制御対象のパケットの送信を遅らせることができる。このように、各端末が制御対象のパケットを送信するタイミングを分散させることで、前記特定の宛先へのトラヒック（通信）の集中を平準化することができる。
【００６４】
また、制御対象のパケットの送信を遅延させる方法としては、制御対象のパケットを一旦廃棄した後、再送する方法も考えられる。より具体的には、まず、制御対象のパケットを、端末内の通信制御部１１やパケット送信部１２等で廃棄する。次に、一定時間（パケット廃棄処理実施時間）が経過した後に、端末の通信制御部１１またはパケット送信部１２から、廃棄した制御対象のパケットを再送する。このようにしても制御対象のパケットの送信を遅延させることができる。また、このとき、各端末に指示するパケット廃棄処理実施時間として異なる値を設定し、各端末が制御対象のパケットを送信するタイミングを分散させることで、前記特定の宛先へのトラヒック（通信）の集中を平準化することができる。
【００６５】
また、端末１０側には、制御装置２０と同等の機能を有する仮想制御装置が備えられていてもよい。この場合には、次のような動作も採用できる。このような仮想制御装置を持つ構成では、端末内の仮想制御装置が、制御装置２０への制御信号を中継する。端末内の仮想制御装置が、制御対象フローのフローエントリの設定要求メッセージ（Ｐａｃｋｅｔ−Ｉｎメッセージ）を所定時間あるいは所定回数廃棄する動作を行うことで、上記パケットの廃棄と同様に、前記特定の宛先へのトラヒック（通信）の集中を平準化することができる。さらに、端末内の仮想制御装置を、第１の実施形態で述べたキューと同様に動作させることも可能である。具体的には、仮想制御装置は、制御対象フローのフローエントリの設定要求メッセージを受信すると、所定時間、設定要求メッセージを保持しておけばよい。
【００６６】
また、上記した実施形態では、制御対象のパケットの送信時期を遅らせることにより、前記特定の宛先へのトラヒック（通信）の集中を平準化するものとして説明したが、制御対象のパケットの送信時期を早めることでも同様の効果を得ることができる。例えば、制御装置２０から端末１０内の時計を早めることで、端末１０に搭載されたアプリケーション等からのパケットの送信時期を早めることができる。また、例えば、端末１０に搭載されたアプリケーション内のタイマを早めることでもよい。なお、この場合タイマを早める対象のアプリケーションの特定が問題となるが、例えば、制御装置２０にて制御対象となる通信を発生させているアプリケーションのポート番号を特定することで、対象のアプリケーションを特定することができる。
【００６７】
これにより、アプリケーション１３の開発者により出荷時（送信可能化時）に必要に応じ行われていたアプリケーションの通信タイミングの調整、乱数等を用いた通信タイミング調整機能の搭載が行われなくとも、ネットワーク側で送信タイミングの通信の集中の平準化が実現される。同様に、ユーザによる通信タイミングの調整等のアプリケーションの設定変更操作も不要化される。
【００６８】
また、上記した実施形態では、制御対象のパケットの送信時期を遅らせることにより、前記特定の宛先へのトラヒック（通信）の集中を平準化するものとして説明したが、パケットの送信経路を変更させる制御を行うこともできる。制御対象となる通信が発生した場合、モバイル網を介さずに、その他のモバイル網や無線ＬＡＮアクセスポイントを介した接続に切替えることで、モバイル網の負荷を軽減することができる。より具体的には、例えば、制御装置２０は端末１０が備える通信インタフェースを把握しておき、パケット送信部に該当パケットの送出先となるインタフェースを切替えるよう指示する。加えて、モバイル網では、通信開始のため、端末がモバイル網に接続する度に、端末毎にリソースの確保、情報の管理を行う必要があるが、本発明によれば、モバイル網側の制御信号の増大、サーバ負荷の増大の問題等も解消される。
【００６９】
また、上記した実施形態では、スパイク状のトラヒックを、所定の周期で発生させているフローを制御対象フローとして特定するものとして説明したが、例えば、日の出、日没といった自然現象のほか、祝祭日の到来、特定のテレビ番組の開始、タイムセールの開始、著名人によるミニブログへの書き込みといったイベントの発生など、何らかの規則により、スパイク状のトラヒックの発生が予想される場合にも本発明を適用することが可能である。
【００７０】
また、トラヒック量としては、端末からモバイル網または特定の宛先に対して送信されるデータ量や、端末とモバイル網とのコネクションを設定するまでの間に発生する制御信号のデータ量などを用いることも可能である。さらに、これらのトラヒック量の代替として、モバイル網に接続する端末数や、特定のサイトに接続する端末数を用いることも可能である。この場合においても、トラヒック量の場合と同様に、端末数の増加幅と減少幅を用いて、通信の集中を検出することができる。すなわち、短時間にトラヒック量や、モバイル網または特定の宛先への同時接続端末数が急増しているかどうかを検出することができれば良い。
【００７１】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態の通信システムにおいて、
前記第２の条件は、前記通信の開始時期を遅らせることである通信システム。
［第３の形態］
第１又は第２の形態の通信システムにおいて、
前記端末は、送信対象パケットを所定期間格納するキューを備え、
前記第３の手段は、前記制御装置から指示されたパケットを前記キューに格納してから送信することにより、前記通信の開始を遅らせる通信システム。
［第４の形態］
第３の形態の通信システムにおいて、
前記キューに送信対象パケットを格納してから送信するまでの時間を一様乱数により決定する通信システム。
［第５の形態］
第１又は第２の形態の通信システムにおいて、
前記第２の条件は、前記通信の開始時期を早めさせることである通信システム。
［第６の形態］
第１又は第２の形態の通信システムにおいて、
前記第２の条件は、前記通信に用いる通信インタフェースを変更することである通信システム。
［第７の形態］
第１又は第２の形態の通信システムにおいて、
前記第２の条件は、通信に係るパケットを所定期間廃棄させ、その後に再送させることである通信システム。
［第８の形態］
第１又は第２の形態の通信システムにおいて、
前記第２の条件は、前記通信に係るパケット間にダミーパケットを送信させることである通信システム。
［第９の形態］
第１から第８いずれか一の形態の通信システムにおいて、
前記第１の条件は、前記複数の端末が、所定期間内に通信を行うことである通信システム。
［第１０の形態］
第１から第９いずれか一の形態の通信システムにおいて、
前記第１の手段は、前記複数の端末による通信に関する統計値が、所定期間内に閾値を超えたことに応じて、前記通信を検出する通信システム。
［第１１の形態］
第１０の形態の通信システムにおいて、
前記統計値は、前記複数の端末から特定の宛先に対するトラヒック量である通信システム。
［第１２の形態］
第１０の形態の通信システムにおいて、
前記統計値は、前記複数の端末から特定の宛先に対して接続する前記端末の数である通信システム。
［第１３の形態］
第１の形態の通信システムにおいて、
前記第１の手段は、前記通信の統計情報に基づいて、前記通信の集中が発生するタイミングを検出し、
前記第２の手段は、前記特定の宛先への通信の集中が発生するタイミングを検出した場合、前記特定の宛先に対する通信を行う端末のいずれかに対して、該当する通信の開始時期を遅らせるよう制御し、
前記第３の手段は、
前記制御装置による制御に応じて、前記該当する通信の開始を遅らせる通信システム。
［第１４の形態］
第１３の形態の通信システムにおいて、
前記制御装置は、
前記制御対象の複数の端末から収集した前記統計情報に基づいて、宛先別に、時間あたりの統計値を集計し、
所定時間内に統計値の急増と急減が、規則的に表れている宛先への通信を、前記通信の開始時期を遅らせる対象として選択する通信システム。
［第１５の形態］
第１４の形態の通信システムにおいて、
前記制御装置は、
前記集計した宛先別の時間あたりの統計値が所定のしきい値を超えている宛先と、前記集計した統計値とを記録した制御対象候補リストを過去所定時間にわたって保持し、
前記過去所定時間分の制御対象候補リストを参照して、前記通信の開始時期を遅らせる対象を選択する通信システム。
［第１６の形態］
第１、第１３〜第１５いずれか一の形態の通信システムにおいて、
前記端末は、前記第３の手段として、送信対象パケットを所定期間格納するキューを備え、
前記制御装置から指示されたパケットを前記キューに格納してから送信することにより、前記該当する通信の開始を遅らせる通信システム。
［第１７の形態］
第１６の形態の通信システムにおいて、
前記キューに送信対象パケットを格納してから送信するまでの時間を一様乱数により決定する通信システム。
［第１８の形態］
第１、第１３〜第１６いずれか一の形態の通信システムにおいて、
前記第２の手段による前記通信に対する制御の指示として、
前記該当する通信に係るパケットの送信時期を早めることにより、前記特定の宛先への通信の集中を平準化する通信システム。
［第１９の形態］
第１、第１３〜第１６いずれか一の形態の通信システムにおいて、
前記第２の手段による前記通信に対する制御の指示として、
前記該当する通信に係るパケットの転送経路を変更させることにより、前記特定の宛先への通信の集中を平準化する通信システム。
［第２０の形態］
第１、第１３〜第１６いずれか一の形態の通信システムにおいて、
前記第２の手段による前記通信に対する制御の指示として、
前記端末に、前記該当する通信に係るパケットを所定期間廃棄させ、その後に再送させることにより、前記特定の宛先への通信の集中を平準化する通信システム。
［第２１の形態］
第１、第１３〜第１６いずれか一の形態の通信システムにおいて、
前記第２の手段による前記通信に対する制御の指示として、
前記端末に、前記該当する通信に係るパケット間にダミーパケットを送信させることにより、前記特定の宛先への通信の集中を平準化する通信システム。
［第２２の形態］
第１、第１３〜第２１いずれか一の形態の通信システムにおいて、
前記統計値は、前記特定の宛先に対するトラヒック量であることを特徴とする通信システム。
［第２３の形態］
第１、第１３〜第２２いずれか一の形態の通信システムにおいて、
前記統計値は、前記特定の宛先に対して接続する前記端末の数であることを特徴とする通信システム。
［第２４の形態］
（上記第２の視点による制御装置参照）
［第２５の形態］
（上記第３の視点による端末参照）
［第２６の形態］
（上記第４の視点による端末制御方法参照）
［第２７の形態］
（上記第５の視点によるプログラム参照）
なお、上記第２４〜第２７の形態は、第１の形態と同様に、第２〜第２３の形態に展開することが可能である。
【００７２】
なお、上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００７３】
１、１０、１０Ａ  端末
２、２０、２０Ａ  制御装置
２１  トラヒック情報収集部
２１Ａ  統計情報収集部
２２  トラヒック解析部
２２Ａ  統計情報解析部
２３  遅延指示部
２３Ａ  制御指示部
１１、１１Ａ  通信制御部
１２、１２Ａ  パケット送信部
１３、１３Ａ  アプリケーション
１４  フローテーブル
【図１】
2015530766.tif 000003
【図２】
2015530766.tif 000004
【図３】
2015530766.tif 000005
【図４】
2015530766.tif 000006
【図５】
2015530766.tif 000007
【図６】
2015530766.tif 000008
【図７】
2015530766.tif 000009
【図８】
2015530766.tif 000010
【図９】
2015530766.tif 000011
【図１０】
2015530766.tif 000012
【図１１】
2015530766.tif 000013
【図１２】
2015530766.tif 000014
【図１３】
2015530766.tif 000015
【図１４】
2015530766.tif 000016
【図１５】
2015530766.tif 000017
【図１６】
2015530766.tif 000018
【国際調査報告】
2015530766.tif 000019
2015530766.tif 000020