(57)【要約】【課題】ユーザの体感品質を向上させるようにした通信装置、及び通信方法を提供すること。【解決手段】通信装置において、端末装置において実行される第１のアプリケーションに関する第１のアプリケーション情報と、前記端末装置において実行される第２のアプリケーションに関する第２のアプリケーション情報を、前記端末装置から受信する通信インタフェースと、前記第１のアプリケーション情報と前記第２のアプリケーション情報の関係に基づいて、前記第１のアプリケーションに対応する第１の通信セッションに対する第１の通信帯域と前記第２のアプリケーションに対応する第２の通信セッションに対する第２の通信帯域を制御する端末通信管理部とを備える。【選択図】図９
2018026653.tif 000002
【特許請求の範囲】
【請求項１】
端末装置において実行される第１のアプリケーションに関する第１のアプリケーション情報と、前記端末装置において実行される第２のアプリケーションに関する第２のアプリケーション情報を、前記端末装置から受信する通信インタフェースと、
前記第１のアプリケーション情報と前記第２のアプリケーション情報の関係に基づいて、前記第１のアプリケーションに対応する第１の通信セッションに対する第１の通信帯域と前記第２のアプリケーションに対応する第２の通信セッションに対する第２の通信帯域を制御する端末通信管理部と
を備えることを特徴とする通信装置。
【請求項２】
前記第１のアプリケーション情報は、前記第１のアプリケーションの種類と前記第１のアプリケーションの前記端末装置における実行状態を含み、前記第２のアプリケーション情報は、前記第２のアプリケーションの種類と前記第２のアプリケーションの前記端末装置における実行状態を含むことを特徴とする請求項１記載の通信装置。
【請求項３】
前記端末通信管理部は、前記第１のアプリケーションの種類と前記端末装置における実行状態と、前記第２のアプリケーションの種類と前記端末装置における実行状態に基づいて、前記第１の通信帯域に対する第１の目標通信帯域と前記第２の通信帯域に対する第２の目標通信帯域をそれぞれ設定し、前記第１及び第２の目標通信帯域に基づいて前記第１及び第２の通信帯域をそれぞれ制御することを特徴とする請求項２記載の通信装置。
【請求項４】
前記端末通信管理部は、前記第１の通信セッションにおいて前記端末装置から応答確認を受信して前記第１の通信帯域が前記応答確認前の前記第１の通信帯域よりも増加するときにおいて、前記第１の通信帯域が前記第１の目標通信帯域より大きいとき、前記第１の通信帯域を前記第１の目標通信帯域より小さくして前記第１の通信帯域を更新し、前記第２の通信帯域を前記応答確認受信前の前記第２の通信帯域よりも増加させて前記第２の通信帯域を更新することを特徴とする請求項３記載の通信装置。
【請求項５】
前記第１のアプリケーション情報は、前記第１の通信帯域と前記第２の通信帯域を加算した加算値を前記第１の通信セッションと前記第２の通信セッションへ振り分ける比率を含むことを特徴とする請求項１記載の通信装置。
【請求項６】
通信インタフェースと端末通信管理部を有する通信装置における通信方法であって、
前記通信インタフェースにより、端末装置において実行される第１のアプリケーションに関する第１のアプリケーション情報と、前記端末装置において実行される第２のアプリケーションに関する第２のアプリケーション情報を、前記端末装置から受信し、
前記端末通信管理部により、前記第１のアプリケーション情報と前記第２のアプリケーション情報の関係に基づいて、前記第１のアプリケーションに対応する第１の通信セッションに対する第１の通信帯域と前記第２のアプリケーションに対応する第２の通信セッションに対する第２の通信帯域を制御する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、及び通信方法に関する。
【背景技術】
【０００２】
現在、標準化団体である３ＧＰＰ（3rd Generation Partnership Project）では、大容量で高速の無線ネットワークシステムの技術として、ＬＴＥ（Long Term Evolution）及びＬＴＥ−Ａｄｖａｎｃｅｄの後継システムが検討されている。このようなシステムは第５世代移動通信（5G:the 5th Generation mobile communication）と呼ばれている。日本においてはＬＴＥ−Ａｄｖａｎｃｅｄ技術の一つであるＣＡ（Carrier Aggregation）を用いたサービスが２０１５年より本格的に導入され、２００Ｍｂｐｓを超えた伝送速度で無線通信が可能となっている。
【０００３】
このような無線通信の分野においては、ＭＥＣ（Mobile Edge Computing：モバイルエッジコンピューティング）の技術が注目されつつある。ＭＥＣは、例えば、端末装置近傍の通信装置にコンピューティングリソースやストレージなどを配し、当該通信装置を介して通信アプリケーションやサーバプリケーションを適用する技術である。これにより、例えば、端末装置に対して高レスポンスの通信の提供が可能となり、ネットワークトラフィックの削減も可能となる。
【０００４】
他方、通信について輻輳制御の技術が用いられる場合がある。輻輳制御とは、例えば、パケットの送信量に相当する輻輳ウィンドウを調整する技術である。例えば、輻輳制御がＴＣＰ（Transmission Control Protocol）に適用される場合、Ｗｅｂ閲覧サービスなど、サービスが実行される毎にＴＣＰによる通信セッション（以下、「ＴＣＰセッション」と称する場合がある。）が確立され、ＴＣＰセッション毎に輻輳制御が行われる。輻輳制御により、例えば、ＴＣＰセッションを介した通信において輻輳の発生を防止させることが可能となる。
【０００５】
このような通信に関する技術として、例えば、以下がある。すなわち、アクセスネットワーク装置から送信されたサービスパケットを受信し、当該装置側に配置され、当該装置から独立又は当該装置の中にあり、少なくとも１つのサービスを運用するアプリケーションサーバがある。この技術によれば、ユーザ要求の応答時間を大いに改善してサービス遅延を減らし、サービスのＱｏＳ（Quality of Service）を改善して、ユーザ経験を改善できる、とされる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１４−５３１８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、１つの通信回線で利用可能な通信リソースは有限である。従って、そのような回線の中で複数のＴＣＰセッションが発生しているとき、あるＴＣＰセッションが他のＴＣＰセッションに影響を与える場合がある。
【０００８】
例えば、以下の場合がある。すなわち、端末装置では、システムとしてあるアプリケーション（アプリケーションプログラムの更新など）が実行され、このアプリケーションに対応するＴＣＰセッションが他のＴＣＰセッションよりも多くの通信リソースを占有している。その後、端末装置（又はユーザ）が映像視聴用のアプリケーションを実行する場合、システムとして実行するアプリケーションによる通信リソースの占有によって、映像視聴用のアプリケーションに対応するＴＣＰセッションの通信リソースが制限される。この場合、映像視聴用のアプリケーションに対応するＴＣＰ通信のスループットが上がらず、ユーザの体感品質も劣化する場合がある。
【０００９】
アクセスネットワーク装置側に配置され、少なくとも１つのサービスを運用するアプリケーションサーバに関する技術については、複数のＴＣＰセッションに対する対処方法については何ら議論されていない。従って、かかる技術では、ユーザの体感品質が劣化する場合がある。
【００１０】
そこで、一開示は、ユーザの体感品質を向上させるようにした通信装置、及び通信方法を提供することにある。
【課題を解決するための手段】
【００１１】
一開示は、通信装置において、端末装置において実行される第１のアプリケーションに関する第１のアプリケーション情報と、前記端末装置において実行される第２のアプリケーションに関する第２のアプリケーション情報を、前記端末装置から受信する通信インタフェースと、前記第１のアプリケーション情報と前記第２のアプリケーション情報の関係に基づいて、前記第１のアプリケーションに対応する第１の通信セッションに対する第１の通信帯域と前記第２のアプリケーションに対応する第２の通信セッションに対する第２の通信帯域を制御する端末通信管理部とを備える。
【発明の効果】
【００１２】
一開示によれば、ユーザの体感品質を向上させるようにした通信装置、及び通信方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は通信システムの構成例を表す図である。
【図２】図２は端末の構成例を表す図である。
【図３】図３はＭＥＣサーバの構成例を表す図である。
【図４】図４（Ａ）はアプリケーション情報、図４（Ｂ）は通信情報、図４（Ｃ）はＭＥＣサーバ通知情報の例を夫々表す図である。
【図５】図５はＭＥＣサーバ通知情報を送信するパケットの構成例を表す図である。
【図６】図６は端末通信管理情報の例を表す図である。
【図７】図７はポリシーテーブルの例を表す図である。
【図８】図８は端末通信管理情報の更新処理の動作例を表すフローチャートである。
【図９】図９は輻輳ウィンドウ調整処理の動作例の例を表すフローチャートである。
【図１０】図１０は輻輳ウィンドウ調整動作の例を表すフローチャートである。
【図１１】図１１は輻輳ウィンドウ調整動作の例を表すフローチャートである。
【図１２】図１２（Ａ）から図１２（Ｃ）は輻輳ウィンドウ値の例を表す図である。
【図１３】図１３（Ａ）から図１３（Ｃ）は輻輳ウィンドウ値の例を表す図である。
【図１４】図１４（Ａ）から図１４（Ｃ）は輻輳ウィンドウ値の例を表す図である。
【図１５】図１５（Ａ）はＭＥＣサーバ通知情報、図１５（Ｂ）は端末通信管理情報の例をそれぞれ表す図である。
【図１６】図１６は端末又はＭＥＣサーバのハードウェア構成例を表す図である。
【図１７】図１７は通信システムの構成例を表す図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について説明する。なお、以下の実施例は開示の技術を限定するものではない。特に、記載の表現が異なっていたとしても技術的に同等であれば、異なる表現であっても本願の技術を適用可能であり、権利範囲を限定するものではない。そして、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、本明細書で使用している用語や記載した技術的内容は、３ＧＰＰなど通信に関する規格として仕様書に記載された用語や技術的内容が適宜用いられてもよい。
【００１５】
［第１の実施の形態］
第１の実施の形態について説明する。
【００１６】
＜通信システムの構成例＞
図１は通信システム１０の構成例を表す図である。通信システム１０は、端末装置（以下、「端末」と称する場合がある。）１００−１，１００−２、基地局装置（以下、「基地局」と称する場合がある。）２００−１，２００−２、ＭＥＣサーバ３００−１，３００−２、及びサーバ装置（以下、「サーバ」と称する場合がある。）４００−１〜４００−３を備える。
【００１７】
なお、ＭＥＣサーバ３００−１，３００−２は、基地局２００−１,２００−２内に含まれても良い。図１に示す通信システム１０では、各ＭＥＣサーバ３００−１，３００−２は各基地局２００−１,２００−２の近傍において各基地局２００−１，２００−２と接続されている例を表している。また、図１に示すように、基地局２００−１，２００−２とＭＥＣサーバ３００−１，３００−２はモバイルＮＷ（Network）５００に接続された装置となっている。
【００１８】
端末１００−１，１００−２は、例えば、フィーチャーフォン、スマートフォン、タブレット端末、ゲーム装置などの通信装置（又は無線通信装置）である。端末１００−１，１００−２は、各基地局２００−１，２００−２のサービス提供可能範囲（又はセル範囲）において、通話サービスやＷｅｂ閲覧サービスなど種々のサービスの提供を受けることが可能である。
【００１９】
基地局２００−１，２００−２は、自局のサービス提供可能範囲において各端末１００−１，１００−２と無線通信を行う通信装置（又は無線通信装置）である。また、各基地局２００−１，２００−２は、各ＭＥＣサーバ３００−１，３００−２とそれぞれ接続される。各基地局２００−１，２００−２は、各ＭＥＣサーバ３００−１，３００−２と各端末１００−１，１００−２の間でデータなどをそれぞれ交換する。
【００２０】
ＭＥＣサーバ３００−１，３００−２は、例えば、端末１００−１，１００−２からの要求に応じて、内部のストレージなどに記憶したコンテンツを端末１００−１，１００−２へ向けて配信する。
【００２１】
図１の例では、ＭＥＣサーバ３００−１は、当該要求に対応するコンテンツをサーバ４００−１から取得し、取得したコンテンツを端末１００−１へ向けて配信する例を表している。この場合、ＭＥＣサーバ３００−１は、サーバ４００−１との間でＴＣＰによる通信セッション（以下、「ＴＣＰセッション」と称する場合がある。）を確立してコンテンツを取得し、端末１００−１との間で別のＴＣＰセッションを確立してコンテンツを配信している。そのため、ＭＥＣサーバ３００−１はＴＣＰプロキシの役割を果たしている。
【００２２】
他方、ＭＥＣサーバ３００−２は、端末１００−２からの要求に応じたコンテンツをストレージに記憶しており、ストレージから読み出したコンテンツを配信している例を表している。この場合でも、ＭＥＣサーバ３００−２は、端末１００−２との間でＴＣＰセッションを確立し、当該ＴＣＰセッションを利用して当該コンテンツを配信している。
【００２３】
なお、通信セッション又はセッションとは、例えば、トランスポート層プロトコルでの通信の開始から終了までをいう。また、ＴＣＰセッションとは、例えば、トランスポート層プロトコルとしてＴＣＰプロトコルを用いた場合の通信セッションのことである。装置間においてＴＣＰセッションが設定されると装置間においてＴＣＰパケットが伝送可能となる。同一の装置間に設定されたＴＣＰセッションであっても、Ｗｅｂ閲覧サービスや電子メールサービスなど、サービスが異なるとサービス毎に異なるＴＣＰセッションが設定可能である。従って、ＴＣＰセッションとは、例えば、サービスによって異なるＴＣＰパケットの通信の開始から終了までということもできる。
【００２４】
サーバ４００−１〜４００−３は、例えば、Ｗｅｂ配信サーバや映像コンテンツ配信サーバなど、端末１００−１，１００−２にサービスを提供するサーバである。例えば、サーバ４００−１はＷｅｂ配信サーバ、サーバ４００−２は映像コンテンツ配信サーバなど、サービス毎に各サーバ４００−１〜４００−３が配置されてもよい。
【００２５】
なお、以下においては、とくに断らない限り、端末１００−１，１００−２を端末１００、基地局２００−１，２００−２を基地局２００、ＭＥＣサーバ３００−１，３００−２をＭＥＣサーバ３００、サーバ４００−１〜４００−３をサーバ４００と称する場合がある。
【００２６】
＜端末の構成例＞
図２は端末１００の構成例を表す図である。端末１００は、通信インタフェース１１０、アプリケーション管理部１２０、通信管理部１３０、ＭＥＣサーバ連携機能部１４０を備える。なお、図２に示す端末１００においては、３つのアプリケーション（アプリケーション１５０−１〜１５０−３）がＯＳ（Operating System）上において実行されている例を表している。
【００２７】
なお、以下においては、アプリケーション１５０−１〜１５０−３はＯＳを介して端末１００のＣＰＵなどのプロセッサにおいて実行されるが、以下ではアプリケーション１５０−１〜１５０−３はＯＳ上で実行される、と称する場合がある。
【００２８】
通信インタフェース１１０は、例えば、通信管理部１３０からの指示に従って、ＭＥＣサーバ３００やサーバ４００（以下、「外部サーバ」と称する場合がある。）との間で、各アプリケーション１５０−１〜１５０−３に対応するＴＣＰセッションを設定する。通信インタフェース１１０は、当該ＴＣＰセッションを利用して、外部サーバとの間でＴＣＰパケットを交換する。
【００２９】
アプリケーション管理部１２０は、端末１００において実行されるアプリケーション１５０−１〜１５０−３を管理する。例えば、アプリケーション管理部１２０は、通信インタフェース１１０を介して、外部サーバから受信したアプリケーションプログラムを受け取り、アプリケーションプログラムに対して、ＣＰＵ（Central Processing Unit）リソースやメモリなどのリソース割当を行う。そして、アプリケーション管理部１２０は、割り当てたリソースを用いて当該プログラムをＯＳ（又はＣＰＵ。以下では、ＯＳとＣＰＵを区別しないで用いる場合がある。）上で実行させることで、当該アプリケーション１５０−１〜１５０−３を実行させる。
【００３０】
また、アプリケーション管理部１２０はアプリケーション情報を管理する。図４（Ａ）はアプリケーション情報の例を表している。アプリケーション情報には、アプリケーション１５０−１〜１５０−３の種類と状態に関する情報とプロセスＩＤが含まれる。
【００３１】
アプリケーション１５０−１〜１５０−３の種類としては、例えば、ユーザアプリケーションとシステムアプリケーションがある。ユーザアプリケーションとは、例えば、ユーザが自ら端末１００を操作することで実行されるアプリケーションのことである。Ｗｅｂ閲覧や映像コンテンツ視聴などのアプリケーションは、ユーザアプリケーションの例である。一方、システムアプリケーションは、例えば、システムにより自動的に実行されるアプリケーションのことである。例えば、プログラムを自動更新したり、ＯＳを自動更新したりするアプリケーションはシステムアプリケーションである。システムアプリケーションは、例えば、ユーザが端末１００を操作することなく自動的に動作するアプリケーションと称することもできる。
【００３２】
また、アプリケーション１５０−１〜１５０−３の状態（又は実行状態）は、例えば、アプリケーション１５０−１〜１５０−３がフォアグランドで実行されているのかバックグランドで実行されているのかを表している。
【００３３】
例えば、マルチタスク環境の端末１００において、複数のアプリケーションが端末１００の画面上に表示されている場合で画面上、最上位にあって、ユーザが操作可能なアクティブなアプリケーションがフォアグランドのアプリケーションとなる。例えば、それ以外で端末１００において実行されるアプリケーションがバックグランドのアプリケーションとなる。
【００３４】
或いは、端末１００がスマートフォンなどの場合、端末１００の画面上で表示されるアプリケーション１５０−１はフォアグランド、画面上で表示されることなく実行されるアプリケーション１５０−２はバックグランドとなる。
【００３５】
アプリケーション管理部１２０は、例えば、以下のようにしてアプリケーション情報を取得する。すなわち、アプリケーション管理部１２０は、通信インタフェース１１０から取得したアプリケーションプログラムをＯＳ上で実行させると、ＯＳではアプリケーション１５０−１〜１５０−３の開始順にプロセスＩＤを割り振る。また、ＯＳでは、アプリケーション１５０−１〜１５０−３を実行する際に、ユーザの端末１００に対する操作などに応じて、ユーザアプリケーションかシステムアプリケーションを識別したり、フォアグランドかバックグランドかを識別したりすることが可能である。アプリケーション管理部１２０は、プロセスＩＤ、ユーザアプリケーションかシステムアプリケーションか、フォアグランドかバックグランドかに関する情報を、ＯＳから取得可能である。これにより、アプリケーション管理部１２０は、例えば、図４（Ａ）に示すアプリケーション情報を取得することができる。
【００３６】
図２に戻り、アプリケーション管理部１２０は、アプリケーション情報をＭＥＣサーバ連携機能部１４０へ出力する。
【００３７】
通信管理部１３０は、端末１００とＭＥＣサーバ３００の間の通信を管理する。具体的には、通信管理部１３０は、例えば、通信情報の管理や通信制御、通信のためのバッファ管理などを行う。また、通信管理部１３０は、例えば、各アプリケーション１５０−１〜１５０−３に対応するＴＣＰセッションの設定を通信インタフェース１１０に指示することもできる。
【００３８】
図４（Ｂ）は通信情報の例である。通信情報としては、例えば、外部サーバのＩＰ（Internet Protocol）アドレスやポート番号、端末１００自身のポート番号などを含む。これらの情報は、例えば、ＭＥＣサーバ３００が端末１００における各ＴＣＰセッションを識別するために用いられる情報である。通信管理部１３０は、例えば、以下のようにして通信情報を取得する。
【００３９】
すなわち、通信インタフェース１１０が外部サーバからアプリケーションプログラムに関するデータを取得した場合、通信管理部１３０は、取得先の外部サーバのＩＰアドレスやポート番号などを通信インタフェース１１０から取得する。その後、ＯＳにおいて当該アプリケーションプログラムが実行されると、通信管理部１３０はＯＳからプロセスＩＤを取得することが可能である。通信管理部１３０は当該プロセスＩＤと外部サーバのＩＰアドレスやポート番号などを関連付けることで、例えば、図４（Ｂ）に示す通信情報を取得することが可能となる。
【００４０】
図２に戻り、通信管理部１３０は、通信情報をＭＥＣサーバ連携機能部１４０へ出力する。
【００４１】
ＭＥＣサーバ連携機能部１４０は、アプリケーション管理部１２０からアプリケーション情報、通信管理部１３０から通信情報を受け取り、アプリケーション情報と通信情報に基づいて、ＭＥＣサーバ通知情報を生成する。
【００４２】
図４（Ｃ）はＭＥＣサーバ通知情報の例を表す図である。ＭＥＣサーバ通知情報は、外部サーバのＩＰアドレスとポート番号、端末１００のポート番号、アプリケーション１５０−１〜１５０−３の種類と状態に関する情報を含む。ＭＥＣサーバ連携機能部１４０は、同一のプロセスＩＤを持つアプリケーション情報と通信情報を関連付けることで、ＭＥＣサーバ通知情報を取得するようにしてもよい。なお、ＭＥＣサーバ通知情報にはプロセスＩＤは含まれていない。これは、例えば、ＭＥＣサーバ３００では端末１００で実行される各アプリケーション１５０−１〜１５０−３に対応するＴＣＰセッションを識別できればよく、プロセスＩＤを用いてアプリケーション１５０−１〜１５０−３自体を識別しなくてもよいからである。
【００４３】
図２に戻り、ＭＥＣサーバ連携機能部１４０は、ＭＥＣサーバ通知情報を通信インタフェース１１０へ出力し、ＭＥＣサーバ３００へ向けて送信する。
【００４４】
図５は、ＭＥＣサーバ通知情報を含むパケットの構成例を表している。ＩＰヘッダにはＭＥＣサーバのＩＰアドレスなどが含まれ、ＵＤＰ（User Datagram Protocol）ヘッダにＭＥＣサーバのポート番号などが含まれる。さらに、当該パケットには、アプリケーションヘッダが含まれ、ＭＥＣサーバ通知情報が含まれることを示す情報（又はフラグ）が挿入される。そして、当該パケットのデータ領域にはＭＥＣサーバ通知情報が挿入される。通信インタフェース１１０は、ＭＥＣサーバ連携機能部１４０からＭＥＣサーバ通知情報を受け取ると、各ヘッダなどを付加することで図５に示すＵＤＰパケットを生成する。そして、通信インタフェース１１０は、生成したパケットを、基地局２００を介してＭＥＣサーバ３００へ送信する。
【００４５】
＜ＭＥＣサーバの構成例＞
図３はＭＥＣサーバ３００の構成例を表す図である。ＭＥＣサーバ３００は、通信インタフェース３１０と端末通信管理部３２０、及びＴＣＰ通信管理部３３０−１〜３３０−３を備える。
【００４６】
通信インタフェース３１０は、例えば、ＴＣＰ通信管理部３３０−１〜３３０−３からの指示に従って、端末１００との間でＴＣＰセッションを設定し、当該ＴＣＰセッションを利用して端末１００との間でＴＣＰパケットを交換する。通信インタフェース３１０は、例えば、ＴＣＰセッションを利用して端末１００から送信されたＭＥＣサーバ通知情報を含むＴＣＰパケットを受信すると、当該ＴＣＰパケットからＭＥＣサーバ通知情報を抽出し、抽出したＭＥＣサーバ通知情報を端末通信管理部３２０へ出力する。
【００４７】
また。通信インタフェース３１０は、例えば、ＴＣＰ通信管理部３３０−１〜３３０−３からの指示に従って、サーバ４００との間でＴＣＰセッションを設定し、当該ＴＣＰセッションを利用してＴＣＰパケットを交換してもよい。
【００４８】
端末通信管理部３２０は、例えば、ＭＥＣサーバ通知情報に基づいて、端末１００全体の通信管理を行う。本第１の実施の形態においては、端末通信管理部３２０は、例えば、ＭＥＣサーバ通知情報に含まれるアプリケーション情報に基づいて、端末１００で実行されるアプリケーション１５０−１〜１５０−３に対応するＴＣＰセッションの通信帯域を制御する。詳細については動作例で説明する。
【００４９】
ＴＣＰ通信管理部３３０−１〜３３０−３は、例えば、端末通信管理部３２０と連携して、端末１００とＭＥＣサーバ３００の間で発生するＴＣＰセッション（又はＴＣＰ通信。以下では、「ＴＣＰセッション」と称する場合がある。）を管理する。図３の例では、端末１００とＭＥＣサーバ３００との間で、３つのＴＣＰセッションが発生しているため、３つのＴＣＰ通信管理部３３０−１〜３３０−３を備えている。
【００５０】
例えば、１つのＴＣＰセッションは、端末１００で実行されるアプリケーション１５０−１〜１５０−３の１つに対応する。端末１００で実行されるアプリケーション１５０−１は、１つのＴＣＰセッションによりＭＥＣサーバ３００とＴＣＰパケットの通信が可能となる。そのＴＣＰセッションはＴＣＰ通信管理部３３０−１が管理する。同様に、ＴＣＰ通信管理部３３０−２，３３０−３は、端末１００で実行されるアプリケーション１５０−２，１５０−３に対応するＴＣＰセッションをそれぞれ管理する。  
【００５１】
図６は端末通信管理情報の例を表す図である。端末通信管理情報は、ＭＥＣサーバ通知情報に、さらに、「輻輳ウィンドウ」と「目標輻輳ウィンドウ」が付加されたものとなっている。
【００５２】
「輻輳ウィンドウ」は、例えば、送信データの送信レートに相当するパラメータ値であり、ＴＣＰパケットの送信可能サイズを制限する値を表す。また、「輻輳ウィンドウ」は、例えば、ＴＣＰセッション毎に実際にＴＣＰ制御に用いられるパラメータ値であって、当該ＴＣＰセッションにおいて送信可能な通信帯域を表している。
【００５３】
「目標輻輳ウィンドウ」は、例えば、ＭＥＣサーバ通知情報の受信を契機に設定されるパラメータ値であり、各ＴＣＰセッションにおける輻輳ウィンドウの目標値（又は目標通信帯域）を表している。
【００５４】
図７はポリシーテーブル３２１の例を表す。ポリシーテーブル３２１には、アプリケーション１５０−１〜１５０−３の「種類」と「状態」、さらに、種類と状態に応じて設定可能な「比率」を含む。「比率」は、例えば、「種類」と「状態」の組み合わせにおいて目標輻輳ウィンドウ値を設定する（又は振り分ける）ための「比率」を表している。
【００５５】
例えば、図７の例では、「ユーザアプリケーション」が「フォアグランド」で実行される場合の「比率」は「５０％」となっている。また、「ユーザアプリケーション」が「バックグランド」で実行される場合の「比率」は「４０％」、「システムアプリケーション」が「バックグランド」で実行される場合の「比率」は「１０％」となっている。このような比率となるように、図６に示す端末通信管理情報の各「目標輻輳ウィンドウ」が設定される。すなわち、「ＴＷ１」：「ＴＷ２」：「ＴＷ３」＝５０％：４０％：１０％となる。
【００５６】
なお、図７に示すポリシーテーブル３２１の「比率」は一例であって、システムのポリシーなどに従って、それ以外の比率が設定されてもよい。例えば、「システムアプリケーション」であっても、セキュリティに関するアプリケーション１５０−１〜１５０−３は重要であることから、その比率を上げて、他の比率をその分少なくする、などとすることが可能である。
【００５７】
端末通信管理部３２０は、例えば、ＭＥＣサーバ通知情報を受信すると、ポリシーテーブル３２１に基づいて目標輻輳ウィンドウ値を設定し、端末通信管理情報を更新する。例えば、ポリシーテーブル３２１や端末通信管理情報は端末通信管理部３２０内のメモリなどに記憶されている。そして、端末通信管理部３２０は、端末通信管理情報を利用して、複数のＴＣＰセッションの輻輳ウィンドウ値を調整しながら、全体として「目標輻輳ウィンドウ」に近づけるよう処理を行う。例えば、「ユーザアプリケーション」が「フォアグランド」で実行されるアプリケーションを優先する場合、当該アプリケーションの輻輳ウィンドウ値を他よりも大きくすることが可能となる。これにより、例えば、ユーザが端末１００において実行する当該アプリケーションのスループットが上昇し、ユーザの体感品質の向上を図ることが可能となる。
【００５８】
以下では動作例について説明する。
【００５９】
＜動作例＞
動作例は、端末通信管理情報（例えば図６）の更新処理の動作例について最初に説明し、次に、端末通信管理情報に基づいて輻輳ウィンドウを調整する調整処理の動作例について説明する。
【００６０】
＜１  端末通信管理情報の更新処理＞
図８は更新処理の動作例を表すフローチャートである。図８に示す各処理は、例えば、ＭＥＣサーバ３００の端末通信管理部３２０で行われる。なお、ＴＣＰ通信管理部３３０−１〜３３０−３では、端末１００において実行される各アプリケーション（アプリケーション１５０−１〜１５０−３、以下、「アプリケーション１５０」と称する場合がある。）にそれぞれ対応する各ＴＣＰセッションを管理し、ＴＣＰ通信を行っているものとする。
【００６１】
ＭＥＣサーバ３００は、ＭＥＣサーバ通知情報を受信すると処理を開始する（Ｓ１０）。例えば、端末通信管理部３２０は、通信インタフェース３１０からＭＥＣサーバ通知情報を受け取ると処理を開始する。
【００６２】
次に、ＭＥＣサーバ３００は、輻輳ウィンドウ値の総和を計算する（Ｓ１１）。例えば、端末通信管理部３２０は、ＭＥＣサーバ通知情報を受信したときの「輻輳ウィンドウ」の総和を計算する。図６の例では、端末通信管理部３２０は、「Ｗ１」＋「Ｗ１」＋「Ｗ３」を計算する。
【００６３】
図８に戻り、次に、ＭＥＣサーバ３００は、端末通信管理情報におけるＭＥＣサーバ通知情報の該当箇所を更新する（Ｓ１２）。例えば、図６の例で、「ＩＰ２」、「ＳＰ２」、「ＴＰ２」、「ユーザ」となっているＴＣＰセッションが「フォアグランド」であったものが、受信したＭＥＣサーバ通知情報では、当該ＴＣＰセッションの状態が「バックグランド」となっている場合などがある。ユーザの端末１００に対する操作によりＭＥＣサーバ通信情報が変更される場合がある。例えば、図６は更新後の端末通信管理情報の例を表している。
【００６４】
図８に戻り、次に、ＭＥＣサーバ３００はポリシーテーブル３２１に基づき各目標輻輳ウィンドウを設定する（Ｓ１３）。例えば、端末通信管理部３２０は、図７に示すポリシーテーブル３２１で、図６の端末通信管理情報においては、種類が「システム」、状態が「バックグランド」のアプリケーション１５０に対し、｛（「Ｗ１」＋「Ｗ１」＋「Ｗ３」）×１０％｝を目標輻輳ウィンドウ（ＴＷ１）に設定する。また、種類が「ユーザ」、状態が「フォアグランド」のアプリケーション１５０に対し、端末通信管理部３２０は、｛（「Ｗ１」＋「Ｗ１」＋「Ｗ３」）×５０％｝を目標輻輳ウィンドウ（ＴＷ２）に設定する。
【００６５】
なお、端末通信管理情報においてポリシーテーブル３２１の組み合わせが全て含まれない場合もある。このような場合、その他の組み合わせの比率の和に基づいて計算すればよい。例えば、種類が「ユーザ」で状態が「バックグランド」が端末通信管理情報に含まれていない場合などである。この場合、端末通信管理部３２０は、種類が「ユーザ」で状態が「フォアグランド」の比率「５０％」と、種類が「システム」で状態が「バックグランド」の比率「１０％」の和「６０％」を計算する。そして、端末通信管理部３２０は、種類が「ユーザ」で状態が「フォアグランド」について、残りの比率の和「６０％」を「１００％」に換算して、｛（「Ｗ１」＋「Ｗ１」＋「Ｗ３」）×５０／６０｝を計算してもよい。
【００６６】
また、端末通信管理情報において、種類と状態が重複して複数のアプリケーション１５０が含まれる場合がある。この場合は、端末通信管理部３２０は、重複数分、均等に割り振るようにしてもよい。
【００６７】
そして、ＭＥＣサーバ３００は一連の処理を終了する（Ｓ１４）。例えば、端末通信管理部３２０は、図６に示すように、目標輻輳ウィンドウが更新された端末通信管理情報を生成する。端末通信管理部３２０は、例えば、更新後の端末通信管理情報をメモリなどに記憶する。
【００６８】
＜２  輻輳ウィンドウの調整処理＞
図９から図１１は輻輳ウィンドウの調整処理の動作例を表すフローチャートである。上述したように、ＭＥＣサーバ３００は、各ＴＣＰセッションと連携しながら、各ＴＣＰセッションの輻輳ウィンドウを目標ウィンドウに近づけるように調整処理を行う。
【００６９】
ＭＥＣサーバ３００は、いずれかのＴＣＰセッションにおいて、ＡＣＫ信号（受信確認の応答信号。以下、「ＡＣＫ」と称する場合がある。）を受信すると処理を開始する（Ｓ２０）。ＡＣＫ受信を契機に処理を開始するようにしたのは、例えば、ＴＣＰの輻輳制御においては、ＡＣＫ受信を契機に輻輳ウィンドウ値の更新が行われるからである。例えば、端末通信管理部３２０は、通信インタフェース１１０を介して端末１００からＡＣＫを受信すると処理を開始する。
【００７０】
次に、ＭＥＣサーバ３００は、輻輳ウィンドウの更新値Ｗ’を計算する（Ｓ２１）。例えば、端末通信管理部３２０は、ＴＣＰの輻輳制御アルゴリズムにより、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値の更新値Ｗ’を計算する。更新値Ｗ’としては、例えば。「＋１０」や「−１０」などである。更新値Ｗ’は、例えば、更新前の輻輳ウィンドウ値に対して増加分又は減少分の（或いは増加も減少もしない）値となっている。なお、端末通信管理部３２０は、更新値Ｗ’を計算するだけであり、輻輳ウィンドウ値自体の更新は本処理においては行わず、後段のＳ２７，Ｓ３１，Ｓ３３，Ｓ３５，Ｓ３７などで更新する。
【００７１】
次に、ＭＥＣサーバ３００は、計算した輻輳ウィンドウの更新値は増加しているか否かを判別する（Ｓ２２）。ＴＣＰの輻輳制御においては、例えば、送信側は、ＡＣＫの受信により送信先にＴＣＰパケットが送達されたことを確認すると、輻輳が発生していないと判別して、輻輳ウィンドウ値を所定の増加分だけ増加させて、スループットを向上させるようにしている。例えば、ＭＥＣサーバ３００では以下の処理を行う。
【００７２】
すなわち、端末通信管理部３２０は、ＡＣＫを受信したＴＣＰセッションに対応するＴＣＰ通信管理部３３０−１〜３３０−３に対してＡＣＫ受信を通知し、ＴＣＰ通信管理部３３０−１〜３３０−３はＴＣＰ輻輳制御アルゴリズムにより、輻輳ウィンドウの更新値Ｗ’を計算し、更新値Ｗ’を端末通信管理部３２０へ通知する。端末通信管理部３２０は、受け取った更新値Ｗ’に基づいて増加したか否かを判別すればよい。
【００７３】
ＭＥＣサーバ３００は、輻輳ウィンドウの更新値Ｗ’が増加したと判別したとき（Ｓ２２でＹｅｓ）、目標輻輳ウィンドウ値を更新する（Ｓ２３）。ＴＣＰセッションの輻輳ウィンドウ値の増加により、全ＴＣＰセッションの輻輳ウィンドウ値の総和も増加する。例えば、端末通信管理部３２０は、増加後の更新値Ｗ’に基づいて目標輻輳ウィンドウ値を更新する。目標輻輳ウィンドウ値の更新は、端末通信管理情報の目標輻輳ウィンドウ値の場合（例えば図８のＳ１２，Ｓ１３）と同様に、Ｓ２１で計算した輻輳ウィンドウの更新値Ｗ’を、ポリシーテーブル３２１の「比率」に応じて割り振る。例えば、Ｓ２１で計算した輻輳ウィンドウ値の増加分が「＋１０」の場合、「ユーザ」で「フォアグランド」のＴＣＰセッションに対して「１０」×「５０％」＝「５」、「ユーザ」で「バックグランド」のＴＣＰセッションに対して「１０」×「４０％」＝「４」などとなる。そして、端末通信管理部３２０は、端末通信管理情報の各「目標輻輳ウィンドウ値」を、増加分だけ増加させる。例えば、「ユーザ」で「フォアグランド」の目標輻輳ウィンドウは「ＴＷ２＋５」、「ユーザ」で「バックグランド」の目標輻輳ウィンドウは「ＴＷ３＋４」、「システム」で「バックグランド」の目標輻輳ウィンドウは「ＴＷ１＋１」となる。
【００７４】
次に、ＭＥＣサーバ３００は、輻輳ウィンドウ値が更新後の目標輻輳ウィンドウ値より低いか否かを判別する（Ｓ２４）。例えば、端末通信管理部３２０は、ＡＣＫを受信したＴＣＰセッション（Ｓ２０）の輻輳ウィンドウ値と、当該ＴＣＰセッションにおける更新後の目標輻輳ウィンドウ値（Ｓ２３）を比較して判別する。
【００７５】
ＭＥＣサーバ３００は、輻輳ウィンドウ値が更新後の目標輻輳ウィンドウ値より低いとき（Ｓ２４でＹｅｓ）、Ｓ２５からＳ２７の処理を行う。
【００７６】
ここで、Ｓ２５からＳ２７までの処理を説明するために、具体例として、図１２（Ａ）から図１３（Ｃ）の例について説明する。図１２（Ａ）から図１３（Ｃ）は輻輳ウィンドウ値とパケットの関係例を表している。
【００７７】
このうち、図１２（Ａ）から図１２（Ｃ）は輻輳ウィンドウ値の変更がない場合の例を表している。図１２（Ａ）に示すように、輻輳ウィンドウ値が「６」で、ＭＥＣサーバ３００は端末１００に対して「２」番から「７」番までの６個のパケットを送信する場合を考える。この場合、ＭＥＣサーバ３００は、「２」番のパケットに対してＡＣＫを受信すると、「３」番から「７」番の５個のパケットが端末１００に送信中のパケットとなる（図１２（Ｂ））。輻輳ウィンドウは「６」であり、１個のパケット分の空きができる。そのため、ＭＥＣサーバ３００は「８」番目のパケットを送信する可能となる。
【００７８】
一方、図１３（Ａ）から図１３（Ｃ）は輻輳ウィンドウ値を増加させた場合の例を表している。ＭＥＣサーバ３００は、輻輳ウィンドウ値が「６」で、「２」番目のパケットに対してＡＣＫを受信し、輻輳ウィンドウ値を「７」に変更した場合を考える（図１３（Ａ），図１３（Ｂ）。この場合、ＭＥＣサーバ３００は、「８」番と「９」番のパケットを送信することが可能となる。「８」番のパケットは輻輳ウィンドウ値を変更しなくても送信可能なパケット、「９」番のパケットは輻輳ウィンドウ値を「１」増加させたことで送信可能なパケットとなる。
【００７９】
例えば、端末通信管理部３２０は、以下の処理を行う。すなわち、端末通信管理部３２０は、ＡＣＫを受信した受信分のパケット（「１」個分のパケット）として、「８」番のパケットを送信する（Ｓ２５）。また、端末通信管理部３２０は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値「６」）を、Ｓ２１で計算した更新値Ｗ’（例えば増加分「１」）だけ増加させ、輻輳ウィンドウ値「７」にする（Ｓ２６）。そして、端末通信管理部３２０は、輻輳ウィンドウ値が増加したことで、増加分のパケットとして、「９」番のパケットを送信する（Ｓ２７）。
【００８０】
例えば、端末通信管理部３２０は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値を更新値Ｗ’分、増加させて更新し、当該ＴＣＰセッションを管理するＴＣＰ通信管理部３３０−１〜３３０−３に対して、更新後の輻輳ウィンドウ値を通知する。通知を受けたＴＣＰ通信管理部３３０−１〜３３０−３は、増加分の「９」番のパケットを送信する。
【００８１】
そして、ＭＥＣサーバ３００は一連の処理を終了する（Ｓ２８）。
【００８２】
一方、ＭＥＣサーバ３００は、輻輳ウィンドウ値が更新後の目標ウィンドウ値以上のとき（Ｓ２４でＮｏ）、輻輳ウィンドウ値が更新後の目標ウィンドウ値よりも大きいか否かを判別する（Ｓ３０）。
【００８３】
ＭＥＣサーバ３００は、輻輳ウィンドウ値が更新後の目標ウィンドウ値よりも大きいとき（Ｓ３０でＹｅｓ）、Ｓ３１からＳ３４までの処理を行う。この場合は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値が更新後の目標ウィンドウ値を超えた場合の処理となっている。この場合、ＭＥＣサーバ３００では、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値を減少させて、目標ウィンドウ値以下となるように処理を行うようにしている（Ｓ３１）。
【００８４】
Ｓ３１からＳ３４までの処理について説明するために、図１４（Ａ）から図１４（Ｃ）の例について説明する。ＭＥＣサーバ３００は、輻輳ウィンドウ値が「６」で「２」番のパケットについてＡＣＫを受信した場合を考える（図１４（Ａ）と図１４（Ｂ））。この場合、輻輳ウィンドウ値「６」は更新後の目標輻輳ウィンドウ値「４」を超えており、端末通信管理部３２０は輻輳ウィンドウ値を「６」から目標輻輳ウィンドウ値「４」よりも小さい「３」に減少させる（Ｓ３１）。送信中のパケットは「２」番から「７」番までの５個のパケットが送信中のパケットとなる。この場合、端末通信管理部３２０は、ＡＣＫを受信した当該ＴＣＰセッションに対してはこのままの状態にし、とくに何も送信しない（図１４（Ｃ））。
【００８５】
この場合、ＡＣＫを受信したＴＣＰセッションの更新値Ｗ’は増加している（Ｓ２２でＹｅｓ）。そのため、端末通信管理部３２０は、他のＴＣＰセッションを選定し（Ｓ３２）、選定した他のＴＣＰセッションに対して、増加分である更新値Ｗ’を割り振る（Ｓ３３）。他のＴＣＰセッションとしては、当該他のＴＣＰセッションの輻輳ウィンドウ値が目標輻輳ウィンドウ値よりも小さいＴＣＰセッションであることが望ましい。そのようなＴＣＰセッションが複数あれば、端末通信管理部３２０は、輻輳ウィンドウ値を均等に割り振るようにしてもよい。
【００８６】
例えば、端末通信管理部３２０は、輻輳ウィンドウ値を更新値Ｗ’分増加させて更新し、増加対象のＴＣＰセッションを管理するＴＣＰ通信管理部３３０−１〜３３０−３に対して、更新後の輻輳ウィンドウ値を通知する。通知を受けたＴＣＰ通信管理部３３０−１〜３３０−３は、増加分のパケットを送信する（Ｓ３４）。例えば、図１２（Ｃ）の例を用いると、通知を受けたＴＣＰ通信管理部３３０−１〜３３０−３は、「９」番のパケットを増加分として送信する。
【００８７】
そして、ＭＥＣサーバ３００は一連の処理を終了する（Ｓ２８）。
【００８８】
一方、ＭＥＣサーバ３００は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値と目標輻輳ウィンドウ値が同じ値のとき（Ｓ３０でＮｏ）、ＡＣＫ受信分のデータを送信する（Ｓ３５）。例えば、図１２（Ａ）から図１２（Ｃ）の例では、端末通信管理部３２０は、輻輳ウィンドウ値が「６」で、「２」番のパケットのＡＣＫを受信すると、「７」番のパケットをＡＣＫ受信分のデータとして送信する。この場合、端末通信管理部３２０は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値は、増加させることなく、ＡＣＫ受信前と同じ値に更新する。
【００８９】
次に、ＭＥＣサーバ３００は、増加対象とＴＣＰセッションを選定する（Ｓ３６）。Ｓ２１により、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値は増加可能であり、例えば、端末通信管理部３２０は、この増加分を、当該ＴＣＰセッションではなく他のＴＣＰセッションに振り分ける。増加対象となるＴＣＰセッションは、輻輳ウィンドウ値が目標輻輳ウィンドウ値よりも小さいＴＣＰセッションであることが望ましい。
【００９０】
そのため、ＭＥＣサーバ３００は、選択したＴＣＰセッションの輻輳ウィンドウ値を増加させ（Ｓ３７）、増加分のデータを送信する（Ｓ３８）。例えば、端末通信管理部３２０は、選択したＴＣＰセッションの輻輳ウィンドウ値を更新値Ｗ’分増加させて更新し、選択したＴＣＰセッションを管理するＴＣＰ通信管理部３３０−１〜３３０−３に対して、更新後の輻輳ウィンドウ値を通知する。通知を受けたＴＣＰ通信管理部３３０−１〜３３０−３は、増加分のデータを端末１００へ送信する。
【００９１】
そして、ＭＥＣサーバ３００は一連の処理を終了する（Ｓ２８）。
【００９２】
一方、ＭＥＣサーバ３００は、輻輳ウィンドウ値の更新値Ｗ’が増加しないとき（Ｓ２２でＮｏ）、更新値Ｗ’が減少したか否かを判別する（図１０のＳ４０）。輻輳制御アルゴリズムによっては、ＡＣＫを受信しても、パケット送信後からＡＣＫを受信するまでに相当期間経過した場合や、送信したパケット数に対してＡＣＫを受信したパケット数の比率が閾値より低い場合、パケットロスが発生していると判別する場合がある。このような場合、輻輳制御アルゴリズムは輻輳ウィンドウ値の更新値Ｗ’を減少させるようにしている。パケットロスと判別して輻輳ウィンドウ値を減少させる輻輳制御アルゴリズムを考慮して、ＭＥＣサーバ３００では本処理（Ｓ４０）を判別している。
【００９３】
ＭＥＣサーバ３００は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値に対する更新値Ｗ’が減少しているとき（Ｓ４０でＹｅｓ）、目標輻輳ウィンドウ値を更新する（Ｓ４１）。目標ウィンドウ値の更新は、ポリシーテーブル３２１の場合（図８のＳ１２，Ｓ１３）と同様である。例えば、端末通信管理部３２０は、更新値Ｗ’が「−１０」の場合、ポリシーテーブル３２１に従って、「ユーザ」で「フォアグランド」、「ユーザ」で「バックグランド」、「システム」で「バックグランド」の３つに割り振り、それぞれ「−５」，「−４」，「−１」となる。そして、端末通信管理部３２０は、端末通信管理情報の各「目標輻輳ウィンドウ値」において割り振った分を加算する。例えば、「ＴＷ１−１」、「ＴＷ２−５」、「ＴＷ３−４」などとなる。
【００９４】
次に、ＭＥＣサーバ３００は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値は更新後の目標輻輳ウィンドウ値以下であるか否かを判別する（Ｓ４２）。
【００９５】
ＭＥＣサーバ３００は、輻輳ウィンドウ値が目標輻輳ウィンドウ値以下のとき（Ｓ４２でＹｅｓ）、減少対象のＴＣＰセッションを選定する（Ｓ４３）。この場合、当該ＴＣＰセッションの輻輳ウィンドウの更新値Ｗ’は減少しているため（Ｓ４０でＹｅｓ）、当該ＴＣＰセッションの輻輳ウィンドウ値を減少させることになる。しかし、減少前の輻輳ウィンドウ値が目標輻輳ウィンドウ値以下となっているため（Ｓ４２でＹｅｓ）、輻輳は発生しておらず、当該ＴＣＰセッションの輻輳ウィンドウ値を減少させることはしなくもよい。この場合、ＭＥＣサーバ３００では、当該ＴＣＰセッションの減少分の更新値Ｗ’を、当該ＴＣＰセッションではなく他のＴＣＰセッションに割り振るようにしている。選定対象のＴＣＰセッションは、例えば、輻輳ウィンドウ値が目標輻輳ウィンドウ値を超えているＴＣＰセッションが望ましい。
【００９６】
すなわち、ＭＥＣサーバ３００は、選定したＴＣＰセッションの輻輳ウィンドウ値を減少させる（Ｓ４４）。例えば、端末通信管理部３２０は、選択したＴＣＰセッションの輻輳ウィンドウ値を更新値Ｗ’分減少させて更新し、減少対象として選定したＴＣＰセッションを管理するＴＣＰ通信管理部３３０−１〜３３０−３に対して、更新後の輻輳ウィンドウ値を通知する。この場合、端末通信管理部３２０は、例えば、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値はＡＣＫ受信前のままにして、当該輻輳ウィンドウ値を更新する。
【００９７】
そして、ＭＥＣサーバ３００は一連の処理を終了する（Ｓ４５）。
【００９８】
一方、ＭＥＣサーバ３００は、輻輳ウィンドウ値が目標輻輳ウィンドウ値よりも大きいとき（Ｓ４２でＮｏ）、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値を減少させる（Ｓ４６）。この場合、ＡＣＫを受信した当該ＴＣＰセッションでは更新後の目標輻輳ウィンドウ値であっても、輻輳ウィンドウ値はその更新後の目標輻輳ウィンドウ値を超えてしまっている。このような場合は、ＭＥＣサーバ３００では、当該ＴＣＰセッションの輻輳ウィンドウ値を減少させるようにしている。例えば、端末通信管理部３２０は、当該ＴＣＰセッションの輻輳ウィンドウ値を、更新値Ｗ’分減少させて更新し、当該ＴＣＰセッションを管理するＴＣＰ通信管理部３３０−１〜３３０−３に対して、更新後の輻輳ウィンドウ値を通知する。
【００９９】
そして、ＭＥＣサーバ３００は一連の処理を終了する（Ｓ４５）。
【０１００】
一方、ＭＥＣサーバ３００は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値に対する更新値Ｗ’の変更がないとき（Ｓ４０でＮｏ）、当該ＴＣＰセッションの輻輳ウィンドウ値が目標輻輳ウィンドウ値以下であるか否かを判別する（図１１のＳ５０）。
【０１０１】
ＭＥＣサーバ３００は、輻輳ウィンドウ値が目標輻輳ウィンドウ値以下となっているとき（Ｓ５０でＹｅｓ）、ＡＣＫ受信分のデータを送信する（Ｓ５１）。例えば、端末通信管理部３２０は、当該ＴＣＰセッションの輻輳ウィンドウ値の変更がないため、図１２（Ａ）から図１２（Ｃ）に示す場合と同様に、ＡＣＫを受信した分のパケットを送信する。
【０１０２】
図１１に戻り、そして、ＭＥＣサーバ３００は、一連の処理を終了する（Ｓ５２）。
【０１０３】
一方、ＭＥＣサーバ３００は、輻輳ウィンドウ値が目標輻輳ウィンドウ値よりも大きいとき（Ｓ５０でＮｏ）、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値を減少させる（Ｓ５３）。この場合、端末通信管理部３２０は、当該ＴＣＰセッションの更新値Ｗ’は「０」であり、当該ＴＣＰセッションの輻輳ウィンドウ値を変更することはしない。しかし、その輻輳ウィンドウ値が目標輻輳ウィンドウ値を超えている。そのため、端末通信管理部３２０は、当該ＴＣＰセッションの輻輳ウィンドウ値が目標輻輳ウィンドウ値よりも低くなるように、当該輻輳ウィンドウ値を減少させる。
【０１０４】
次に、ＭＥＣサーバ３００は、増加対象のＴＣＰセッションを選定する（Ｓ５４）。例えば、端末通信管理部３２０は、ＡＣＫを受信したＴＣＰセッションの輻輳ウィンドウ値を減少させたため、減少させた分、他のＴＣＰセッションを増加させ、全体として、更新値Ｗ’が「０」となるようにする。増加対象のＴＣＰセッションとしては、例えば、輻輳ウィンドウ値が目標輻輳ウィンドウ値以下となっているＴＣＰセッションが望ましい。
【０１０５】
次に、ＭＥＣサーバ３００は、選定したＴＣＰセッションの輻輳ウィンドウ値を、減少させた分（Ｓ５３）、増加させ（Ｓ５５）、増加分のデータを送信する（Ｓ５６）。例えば、端末通信管理部３２０は、選定したＴＣＰセッションの輻輳ウィンドウ値を増加させて更新し、更新後の輻輳ウィンドウ値を、選定したＴＣＰセッションを管理するＴＣＰ通信管理部３３０−１〜３３０−３へ通知する。通知を受けたＴＣＰ通信管理部３３０−１〜３３０−３は、例えば、図１３（Ａ）から図１３（Ｃ）に示すように、増加させた輻輳ウィンドウ値に対応するパケット数分のパケットを端末１００へ送信する。
【０１０６】
図１１に戻り、そして、ＭＥＣサーバ３００は、一連の処理を終了する（Ｓ５２）。
【０１０７】
端末１００においてあるアプリケーション１５０が終了する場合がある。この場合、端末１００は新たにＭＥＣサーバ通知情報を送信する。このＭＥＣサーバ通知情報には、終了したアプリケーション１５０に対応する情報は削除され、含まれていない。この場合、ＭＥＣサーバ３００では、目標輻輳ウィンドウ値を設定する際に（例えば図８）、削除されたアプリケーション１５０に対応するＴＣＰセッションにおいて利用した輻輳ウィンドウ値を利用してもよい。例えば、端末通信管理部３２０は、当該輻輳ウィンドウ値を、ポリシーテーブル３２１に従って（又は均等に）他のＴＣＰセッションの輻輳ウィンドウ値に割り振る。そして、端末通信管理部３２０は、割り振られた後の更新後の各輻輳ウィンドウ値に基づいて総和の計算を行う（Ｓ１１）などして、目標輻輳ウィンドウ値を設定する。
【０１０８】
［第２の実施の形態］
次に第２の実施の形態について説明する。例えば、端末１００がポリシーテーブル３２１に含まれる各情報を生成し、ＭＥＣサーバ通知情報として、ＭＥＣサーバ３００へ送信するようにしてもよい。
【０１０９】
図１５（Ａ）はＭＥＣサーバ通知情報の例を表している。ＭＥＣサーバ通知情報には、第１の実施の形態におけるアプリケーション１５０の状態と種類（例えば図４（Ｃ））に代えて、比率の情報が含まれる。例えば、アプリケーション管理部１２０又は通信管理部１３０がアプリケーション１５０−１〜１５０−３に対応するＴＣＰセッション毎に比率を設定し、設定した比率を含むＭＥＣサーバ通知情報を生成すればよい。この場合、比率を含むＭＥＣサーバ通知情報は、例えば、アプリケーション１５０−１〜１５０−３毎に設定されている。そのため、比率を含むＭＥＣサーバ通知情報は、例えば、第１の実施の形態と同様に、端末１００において実行されるアプリケーション１５０−１〜１５０−３に関するアプリケーション情報が含まれる、と言うことができる。
【０１１０】
この場合、ＭＥＣサーバ３００では、端末１００から送信されたＭＥＣサーバ通知情報を受信し、端末通信管理情報を生成又は更新することになる。図１５（Ｂ）は端末通信管理情報の例を表している。端末通信管理情報には、ＴＣＰセッション毎に「優先度」が含まれる。この「優先度」はＭＥＣサーバ通知情報に含まれる比率に対応している。端末通信管理部３２０がＭＥＣサーバ通知情報に基づいて、例えばメモリに端末通信管理情報を記憶することで、図１５（Ｂ）に示す端末通信管理情報を生成又は更新する。以降は、第１の実施の形態と同様に、例えば、端末通信管理部３２０は、あるＴＣＰセッションにおいてＡＣＫを受信すると、「優先度」に基づいて目標輻輳ウィンドウ値を設定する。そして、端末通信管理部３２０は、目標輻輳ウィンドウ値に近づけるように各ＴＣＰセッションの輻輳ウィンドウ値を調整する（例えば図９から図１１）。
【０１１１】
本第２の実施の形態においては、ＭＥＣサーバ３００は、第１の実施の形態で示したポリシーテーブル３２１が不要となり、更に、処理の軽減やメモリの記憶容量の削減などを図ることが可能となる。
【０１１２】
［その他の実施の形態］
上述した第１及び第２の実施の形態においては、ＭＥＣサーバ３００において目標輻輳ウィンドウ値の更新処理や、輻輳ウィンドウの調整処理が行われる例を説明した。このような更新処理や調整処理は、例えば、基地局２００や、モバイルＮＷ５００に接続された他の通信装置において行われてもよい。このような他の通信装置の例としては、例えば、ＬＴＥなどのモバイルＮＷに接続されたＳ−ＧＷ（Serving Gateway）やＰ−ＧＷ（Packet Data Network Gateway）などがある。
【０１１３】
図１６は端末１００のハードウェアの構成例を表している。図１６に示す端末１００においても第１及び第２の実施の形態で説明した機能や処理を実現することが可能である。
【０１１４】
端末１００は、ＣＰＵ（Central Processing Unit）１６０、ＲＡＭ（Random Access Memory）１６１、ＲＯＭ（Read Only Memory）１６２、メモリ１６３、通信インタフェース１６４を備える。
【０１１５】
ＣＰＵ１６０は、ＲＯＭ１６２に記憶されたプログラムをＲＡＭ１６１にロードし、ロードしたプログラムを実行することで、第１の実施の形態で説明したアプリケーション管理部１２０、通信管理部１３０、ＭＥＣサーバ連携機能部１４０を実行できる。また、ＣＰＵ１６０は、当該プログラムを実行することで、各アプリケーション１５０−１〜１５０−３も実行できる。よって、ＣＰＵ１６０は、例えば、アプリケーション管理部１２０、通信管理部１３０、ＭＥＣサーバ連携機能部１４０、アプリケーション１５０−１〜１５０−３に対応する。
【０１１６】
メモリ１６３は、例えば、アプリケーション情報（例えば図４（Ａ））、通信情報（例えば図４（Ｂ））、ＭＥＣサーバ通知情報（例えば図４（Ｃ））を記憶してもよい。通信インタフェース１６４は、例えば、第１の実施の形態における通信インタフェース１１０に対応する。
【０１１７】
図１６はＭＥＣサーバ３００のハードウェア構成例も表している。図１７に示すＭＥＣサーバ３００においても第１及び第２の実施の形態で説明した機能や処理を実現することが可能である。
【０１１８】
ＭＥＣサーバ３００は、ＣＰＵ３６０、ＲＡＭ３６１、ＲＯＭ３６２、メモリ３６３、通信インタフェース３６４を備える。
【０１１９】
ＣＰＵ３６０は、ＲＯＭ３６２に記憶されたプログラムをＲＡＭ３６１にロードし、ロードしたプログラムを実行することで、第１の実施の形態で説明した端末通信管理部３２０、ＴＣＰ通信管理部３３０−１〜３３０−３の機能を実現できる。ＣＰＵ３６０は、例えば、端末通信管理部３２０、ＴＣＰ通信管理部３３０−１〜３３０−３に対応する。
【０１２０】
メモリ３６３は、例えば、端末通信管理情報（例えば図６）やポリシーテーブル３２１（例えば図７）を記憶する。通信インタフェース３６４は、例えば、第１の実施の形態における通信インタフェース３１０に対応する。
【０１２１】
なお、ＣＰＵ１６０，３６０については、ＣＰＵ１６０，３６０以外にもＭＰＵ（Micro Processing Unit）やＦＰＧＡ（Field Programmable Gate Array）などのコントローラやプロセッサが用いられても良い。
【０１２２】
図１７は、通信システム１０の他の構成例を表す図である。通信システム１０は、端末装置１００と通信装置３００を備える。通信装置３００は、例えば、第１の実施の形態におけるＭＥＣサーバ３００に対応する。
【０１２３】
通信装置３００は、通信インタフェース３１０と端末通信管理部３２０を備える。通信インタフェース３１０は、端末装置１００において実行される第１のアプリケーションに関する第１のアプリケーション情報と、端末１００において実行される第２のアプリケーションに関する第２のアプリケーション情報を、端末装置１００から受信する。
【０１２４】
端末通信管理部３２０は、第１及び第２のアプリケーション情報に基づいて、第１のアプリケーションに対応する第１の通信セッションに対する第１の通信帯域と、前記第２のアプリケーションに対応する第２の通信セッションに対する第２の通信帯域を制御する。
【０１２５】
例えば、第１のアプリケーションはユーザが端末装置１００を操作することで実行を開始したアプリケーションであり、第２のアプリケーションはユーザが端末装置１００を操作することなく実行を開始したアプリケーションであるとする。第１及び第２のアプリケーション情報には、そのようなアプリケーションであることを表す情報がそれぞれ含まれている。この場合、端末通信管理部３２０は、第１及び第２のアプリケーション情報に基づいて、第１の通信帯域と第２の通信帯域の双方を制御することで、第１の通信帯域を第２の通信帯域よりも優先して通信帯域を割り振ることが可能となる。
【０１２６】
従って、端末装置１００においては、このような割り振りが行われない場合と比較して、ユーザ自身の操作により実行されるアプリケーションに関する通信のスループットの向上を図ることが可能となる。よって、本通信システム１０では、ユーザの体感品質を向上させることが可能となる。
【０１２７】
以上まとめると付記のようになる。
【０１２８】
（付記１）
端末装置において実行される第１のアプリケーションに関する第１のアプリケーション情報と、前記端末装置において実行される第２のアプリケーションに関する第２のアプリケーション情報を、前記端末装置から受信する通信インタフェースと、
前記第１のアプリケーション情報と前記第２のアプリケーション情報の関係に基づいて、前記第１のアプリケーションに対応する第１の通信セッションに対する第１の通信帯域と前記第２のアプリケーションに対応する第２の通信セッションに対する第２の通信帯域を制御する端末通信管理部と
を備えることを特徴とする通信装置。
【０１２９】
（付記２）
前記第１のアプリケーション情報は、前記第１のアプリケーションの種類と前記第１のアプリケーションの前記端末装置における実行状態を含み、前記第２のアプリケーション情報は、前記第２のアプリケーションの種類と前記第２のアプリケーションの前記端末装置における実行状態を含むことを特徴とする付記１記載の通信装置。
【０１３０】
（付記３）
前記アプリケーションの種類は、前記第１又は第２のアプリケーションが前記端末装置に対するユーザ操作により実行されるユーザアプリケーション、又は、ユーザ操作なく前記端末装置において実行されるシステムアプリケーションを表し、
前記端末装置における実行状態は、前記第１又は第２のアプリケーションが前記端末装置の表示画面上において最上位に表示されてユーザ操作が可能なフォアグランドで実行されるアプリケーション、又は、最上位に表示されることなく実行されるバックグランドで実行されるアプリケーションを表す
ことを特徴とする付記２記載の通信装置。
【０１３１】
（付記４）
前記端末通信管理部は、前記第１のアプリケーションの種類と前記端末装置における実行状態と、前記第２のアプリケーションの種類と前記端末装置における実行状態に基づいて、前記第１の通信帯域に対する第１の目標通信帯域と前記第２の通信帯域に対する第２の目標通信帯域をそれぞれ設定し、前記第１及び第２の目標通信帯域に基づいて前記第１及び第２の通信帯域をそれぞれ制御することを特徴とする付記２記載の通信装置。
【０１３２】
（付記５）
前記端末通信管理部は、前記第１のアプリケーションの種類と前記端末装置における実行状態と、前記第２のアプリケーションの種類と前記端末装置における実行状態に基づいて、前記第１の通信帯域と前記第２の通信帯域の加算値を前記第１の目標通信帯域と前記第２の目標通信帯域を振り分けて前記第１及び第２の目標通信帯域を設定することを特徴とする付記４記載の通信装置。
【０１３３】
（付記６）
前記端末通信管理部は、アプリケーションの種類と実行状態の組み合わせに応じて振り分ける比率を含むポリシーテーブルに基づいて、前記加算値を前記第１の目標通信帯域と前記第２の目標通信帯域に振り分けることを特徴とする付記５記載の通信装置。
【０１３４】
（付記７）
前記端末通信管理部は、前記第１の通信セッションにおいて前記端末装置から応答確認を受信して前記第１の通信帯域が前記応答確認前の前記第１の通信帯域よりも増加するときにおいて、前記第１の通信帯域が前記第１の目標通信帯域より大きいとき、前記第１の通信帯域を前記第１の目標通信帯域より小さくして前記第１の通信帯域を更新し、前記第２の通信帯域を前記応答確認受信前の前記第２の通信帯域よりも増加させて前記第２の通信帯域を更新することを特徴とする付記４記載の通信装置。
【０１３５】
（付記８）
前記端末通信管理部は、前記応答確認の受信により前記第１の通信帯域が第１の値、増加するとき、前記第２の通信帯域を前記第１の値、増加させて前記第２の通信帯域を更新することを特徴とする付記７記載の通信装置。
【０１３６】
（付記９）
前記端末通信管理部は、前記第１の通信帯域が前記第１の目標通信帯域より小さいとき、前記第１の通信帯域を前記応答確認受信前の前記第１の通信帯域よりも増加させて前記第１の通信帯域を更新することを特徴とする付記７記載の通信装置。
【０１３７】
（付記１０）
前記端末通信管理部は、前記第１の通信セッションにおいて前記端末装置から応答確認を受信して前記第１の通信帯域が前記応答確認前の前記第１の通信帯域よりも増加するときにおいて、前記第１の通信帯域が前記第１の目標通信帯域と同じとき、前記第１の通信帯域を前記応答確認前と同じ値に更新し、前記第２の通信帯域を前記応答確認前の前記第２の通信帯域よりも増加させて前記第２の通信帯域を更新することを特徴とする付記４記載の通信装置。
【０１３８】
（付記１１）
前記端末通信管理部は、前記応答確認の受信により前記第１の通信帯域を第１の値、増加するとき、前記第２の通信帯域を前記第１の値、増加させて前記第２の通信帯域を更新することを特徴とする付記７記載の通信装置。
【０１３９】
（付記１２）
前記端末通信管理部は、前記第１の通信セッションにおいて前記端末装置から応答確認を受信して前記第１の通信帯域が前記応答確認前の前記第１の通信帯域よりも減少するときにおいて、前記第１の通信帯域が前記第１の目標通信帯域以下のとき、前記第１の通信帯域を前記応答確認前と同じ値に更新し、前記第２の通信帯域を前記応答確認前の前記第２の通信帯域よりも減少させて前記第２の通信帯域を更新することを特徴とする付記４記載の通信装置。
【０１４０】
（付記１３）
前記端末通信管理部は、前記応答確認の受信により前記第１の通信帯域を第２の値、減少するとき、前記第２の通信帯域を前記第２の値、減少させて前記第２の通信帯域を更新することを特徴とする付記１２記載の通信装置。
【０１４１】
（付記１４）
前記端末通信管理部は、前記第１の通信帯域が前記第１の目標通信帯域より大きいとき、前記第１の通信帯域を関応答確認前の前記第１の通信帯域よりも減少させて前記第１の通信帯域を更新することを特徴とする付記１２記載の通信装置。
【０１４２】
（付記１５）
前記端末通信管理部は、前記第１の通信セッションにおいて前記端末装置から応答確認を受信して前記第１の通信帯域の変更がないときにおいて、前記第１の通信帯域が前記第１の目標通信帯域より大きいとき、前記第１の通信帯域を前記第１の目標通信帯域より小さくして前記第１の通信帯域を更新し、前記第２の通信帯域を前記応答確認受信前の前記第２の通信帯域よりも増加させて前記第２の通信帯域を更新することを特徴とする付記４記載の通信装置。
【０１４３】
（付記１６）
前記端末通信管理部は、前記第１の通信セッションにおいて前記端末装置から応答確認を受信して前記第１の通信帯域の変更がないときにおいて、前記第１の通信帯域が前記第１の目標通信帯域以下のとき、前記第１の通信帯域を変更させることなく更新することを特徴とする付記１５記載の通信装置。
【０１４４】
（付記１７）
前記第１のアプリケーション情報は、前記第１の通信帯域と前記第２の通信帯域を加算した加算値を前記第１の通信セッションと前記第２の通信セッションへ振り分ける比率を含むことを特徴とする付記１記載の通信装置。
【０１４５】
（付記１８）
前記端末通信管理部は、前記比率に基づいて、前記第１の通信帯域に対する第１の目標通信帯域と前記第２の通信帯域に対する第２の目標通信帯域をそれぞれ設定することを特徴とする付記１７記載の通信装置。
【０１４６】
（付記１９）
前記端末通信管理部は、前記第１のアプリケーションが終了したとき、前記第１の通信帯域を前記第２の通信帯域へ振り分けることを特徴とする付記１記載の通信装置。
【０１４７】
（付記２０）
前記第１及び第２の通信セッションは、ＴＣＰ（Transmission Control Protocol）による通信セッションであり、前記第１及び第２の通信帯域は、それぞれ第１及び第２の輻輳ウィンドウ値であることを特徴とする付記１記載の通信装置。
【０１４８】
（付記２１）
通信インタフェースと端末通信管理部を有する通信装置における通信方法であって、
前記通信インタフェースにより、端末装置において実行される第１のアプリケーションに関する第１のアプリケーション情報と、前記端末装置において実行される第２のアプリケーションに関する第２のアプリケーション情報を、前記端末装置から受信し、
前記端末通信管理部により、前記第１のアプリケーション情報と前記第２のアプリケーション情報の関係に基づいて、前記第１のアプリケーションに対応する第１の通信セッションに対する第１の通信帯域と前記第２のアプリケーションに対応する第２の通信セッションに対する第２の通信帯域を制御する
ことを特徴とする通信方法。
【０１４９】
（付記２２）
端末装置において実行される第１のアプリケーションに関する第１のアプリケーション情報と、前記端末装置において実行される第２のアプリケーションに関する第２のアプリケーション情報を、前記端末装置から受信する通信インタフェースと、
前記第１のアプリケーション情報と前記第２のアプリケーション情報の関係に基づいて、前記第１のアプリケーションに対応する第１の通信セッションに対する第１の通信帯域と前記第２のアプリケーションに対応する第２の通信セッションに対する第２の通信帯域を制御するコントローラと
を備えることを特徴とする通信装置。
【符号の説明】
【０１５０】
１０：通信システム                    １００：端末装置
１１０：通信インタフェース            １２０：アプリケーション管理部
１３０：通信管理部                    １４０：ＭＥＣサーバ連携機能部
１５０：アプリケーション              ２００：基地局装置
３００：ＭＥＣサーバ                  ３１０：通信インタフェース
３２０：端末通信管理部                ３２１：ポリシーテーブル
３３０−１〜３３０−３：ＴＣＰ通信管理部
【図１】
2018026653.tif 000003
【図２】
2018026653.tif 000004
【図３】
2018026653.tif 000005
【図４】
2018026653.tif 000006
【図５】
2018026653.tif 000007
【図６】
2018026653.tif 000008
【図７】
2018026653.tif 000009
【図８】
2018026653.tif 000010
【図９】
2018026653.tif 000011
【図１０】
2018026653.tif 000012
【図１１】
2018026653.tif 000013
【図１２】
2018026653.tif 000014
【図１３】
2018026653.tif 000015
【図１４】
2018026653.tif 000016
【図１５】
2018026653.tif 000017
【図１６】
2018026653.tif 000018
【図１７】
2018026653.tif 000019