(57)【特許請求の範囲】
【請求項１】
第１通信を行う第１通信部と、
第２通信を行う第２通信部と、
前記第１通信と前記第２通信とを用いてコンテンツデータを複数の分割データに分割して取得する際の、それぞれの前記分割データのデータ量を決定する分割容量決定部と、
前記第１通信と前記第２通信とのそれぞれを用いて前記分割データを取得するのに要した時間と、それぞれの前記分割データのデータ量とに基づいて、それぞれの通信の処理能力を算出する算出部と、
前記分割容量決定部が決定したデータ量の分割データを送信装置に要求し、該要求に基づいて送信された分割データを受信する管理部と、
を備え、
前記分割容量決定部は、
前記第１通信と前記第２通信とのそれぞれの通信を用いて次に取得する前記分割データのデータ量を、前記算出部が算出したそれぞれの通信の処理能力に基づいて、それぞれ取得に要する時間が同一の所定の時間となるようなデータ量に決定する、
受信装置。
【請求項２】
前記分割容量決定部は、
前記第１通信と前記第２通信とを用いて前記分割データを取得する度に、前記所定の時間を長くする、
請求項１に記載の受信装置。
【請求項３】
前記分割容量決定部は、
前記第１通信と前記第２通信とのそれぞれを用いて次に取得する前記分割データのデータ量を、以前にそれぞれの通信を用いて前記分割データを取得したときの通信の処理能力の移動平均に基づいて決定する、
請求項１または２に記載の受信装置。
【請求項４】
前記分割容量決定部は、
前記第１通信を用いて前記分割データを取得中に、前記第２通信を用いて次に取得する前記分割データのデータ量を決定する場合、前記コンテンツデータのうち未取得の残りのコンテンツデータを、前記第１通信を用いて取得する前記分割データと前記第２通信を用いて取得する前記分割データとに分割し、それぞれの前記分割データの取得完了予定時刻が同じになるように、それぞれの前記分割データのデータ量を決定する、
請求項１から３のいずれか一項に記載の受信装置。
【請求項５】
前記分割容量決定部は、
前記残りのコンテンツデータのうち、前記第１通信を用いて取得中の前記分割データの取得完了予定時刻と同じ時刻に前記第２通信を用いて取得完了となる分のデータ量を、前記第２通信を用いて次に取得する前記分割データのデータ量として決定し、
さらに、前記残りのコンテンツデータから前記決定したデータ量の前記分割データを除いたコンテンツデータを、前記第１通信を用いて取得中の前記分割データの次に取得する前記分割データと、前記第２通信を用いて次に取得する前記分割データのさらに次に取得する前記分割データと、に分割するとともに、当該分割するそれぞれの前記分割データのデータ量を、それぞれの通信を用いて取得に要する時間が同じになるように決定する、
請求項４に記載の受信装置。
【請求項６】
前記第１通信と前記第２通信は、論理的又は物理的な通信のインターフェースが異なり、
前記分割容量決定部は、
前記第１通信と前記第２通信とのそれぞれを用いて取得する前記分割データのデータ量をそれぞれ決定する、
請求項１から５のいずれか一項に記載の受信装置。
【請求項７】
分割容量決定部が、第１通信と第２通信とを用いてコンテンツデータを複数の分割データに分割して取得する際の、それぞれの前記分割データのデータ量を決定する分割過程と、
算出部が、前記第１通信と前記第２通信とのそれぞれを用いて前記分割データを取得するのに要した時間と、それぞれの前記分割データのデータ量とに基づいて、それぞれの通信の処理能力を算出する算出過程と、
管理部が、前記分割容量決定部が決定したデータ量の分割データを送信装置に要求し、該要求に基づいて送信された分割データを受信する管理過程と、
を有し、
前記分割過程において、前記分割容量決定部が、前記第１通信と前記第２通信とのそれぞれの通信を用いて次に取得する前記分割データのデータ量を、前記算出部が算出したそれぞれの通信の処理能力に基づいて、それぞれ取得に要する時間が同一の所定の時間となるようなデータ量に決定する、
受信方法。
【請求項８】
コンピュータに、
第１通信と第２通信とを用いてコンテンツデータを複数の分割データに分割して取得する際の、それぞれの前記分割データのデータ量を決定する手順と、
前記第１通信と前記第２通信とのそれぞれを用いて前記分割データを取得するのに要した時間と、それぞれの前記分割データのデータ量とに基づいて、それぞれの通信の処理能力を算出する手順と、
前記データ量を決定する手順において決定したデータ量の分割データを送信装置に要求し、該要求に基づいて送信された分割データを受信する手順と、
前記第１通信と前記第２通信とのそれぞれの通信を用いて次に取得する前記分割データのデータ量を、前記処理能力を算出する手順において算出したそれぞれの通信の処理能力に基づいて、それぞれ取得に要する時間が同一の所定の時間となるようなデータ量に決定する手順と、
を実行させるためのプログラム。
【請求項９】
第１通信と第２通信とを用いてコンテンツデータを複数の分割データに分割して取得する際の、それぞれの前記分割データのデータ量を決定する分割容量決定部と、
前記第１通信と前記第２通信とのそれぞれを用いて前記分割データを取得するのに要した時間と、それぞれの前記分割データのデータ量とに基づいて、それぞれの通信の処理能力を算出する算出部と、
前記分割容量決定部が決定したデータ量の分割データを送信装置に要求し、該要求に基づいて送信された分割データを受信する管理部と、
を備え、
前記分割容量決定部は、
前記第１通信と前記第２通信とのそれぞれの通信を用いて次に取得する前記分割データのデータ量を、前記算出部が算出したそれぞれの通信の処理能力に基づいて、それぞれ取得に要する時間が同一の所定の時間となるようなデータ量に決定する、
プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、通信プログラム、及びプロセッサに関する。
【背景技術】
【０００２】
無線通信を用いてファイルをダウンロードする際に、ファイルを複数の無線リンクで分割してダウンロードし、全体のダウンロード速度を向上させるリンクアグリゲーション技術が一般的に知られている（例えば、特許文献１、２、非特許文献１、２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２２３８１１号公報
【特許文献２】特開２００７−３３６３３５号公報
【非特許文献】
【０００４】
【非特許文献１】“ワイヤレスジャパン ２０１２：実効速度が２倍以上に−ＫＤＤＩの「リンクアグリゲーション無線技術」”、［online］、平成２４年５月３０日、ＩＴｍｅｄｉａ＋Ｄモバイル、［平成２６年１１月１３日検索］、インターネット（ＵＲＬ：http://plusd.itmedia.co.jp/mobile/articles/1205/30/news066.html）
【非特許文献２】蕨野貴之 Takayuki WARABINO他,端末間のシームレスな切り換えを実現するデバイスハンドオフ方式の提案 Proposal of a device handoff methods for seamless communications, 情報処理学会研究報告 Vol.2003 No. 114 IPSJ SIG Technical Reports, 日本, 社団法人情報処理学会 Information Processing Society of Japan, 2003年11月14日,第2003巻,第105-112頁
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、ＨＴＴＰのレンジリクエストを利用して、ファイルを分割ダウンロードする場合、各無線リンクに対してどれだけダウンロードサイズを割り当てればよいかをどのように決めるかが課題となる。例えば、ダウンロードしようとするファイルを等分して、各無線リンクに割り当てた場合、互いの無線リンクのスループットの差が２倍以上ある場合、単一の（早い側の）リンクでダウンロードした場合より遅くなってしまう。また、例えば各無線リンクの物理リンク速度の比でダウンロードサイズを割り当てた場合も、動的に時々刻々と変化する実スループットの変化には追随できない。そのため、途中でスループットが低下した場合などでは、分割ダウンロードを実施しない場合のほうが、全体のダウンロード速度が早い場合が発生してしまうことがある。このように、複数の無線リンクを用いて通信する際に、各無線リンクを効率よく利用できない場合があった。
【０００６】
本発明は上記の点に鑑みてなされたものであり、複数の無線リンクを効率よく利用することができる通信装置、通信方法、通信プログラム、及びプロセッサを提供する。
【課題を解決するための手段】
【０００７】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、第１通信を行う第１通信部と、第２通信を行う第２通信部と、前記第１通信と前記第２通信とを用いてコンテンツデータを複数の分割データに分割して取得する際の、それぞれの前記分割データのデータ量を決定する分割容量決定部と、前記第１通信と前記第２通信とのそれぞれを用いて前記分割データを取得するのに要した時間と、それぞれの前記分割データのデータ量とに基づいて、それぞれの通信の処理能力を算出する算出部と、を備え、前記分割容量決定部は、前記算出部が算出した前記第１通信と前記第２通信とのそれぞれの通信の処理能力に基づいて、それぞれの通信を用いて次に取得する前記分割データのデータ量を決定する、通信装置である。
【０００８】
また、本発明の一態様は、上記の通信装置において、前記分割容量決定部は、前記第１通信と前記第２通信とのそれぞれの通信を用いて次に取得する前記分割データのデータ量を、前記算出部が算出したそれぞれの通信の処理能力に基づいて、それぞれ取得に要する時間が同一の所定の時間となるようなデータ量に決定する。
【０００９】
また、本発明の一態様は、上記の通信装置において、前記分割容量決定部は、前記第１通信と前記第２通信とを用いて前記分割データを取得する度に、前記所定の時間を長くする。
【００１０】
また、本発明の一態様は、上記の通信装置において、前記分割容量決定部は、前記第１通信と前記第２通信とのそれぞれを用いて次に取得する前記分割データのデータ量を、以前にそれぞれの通信を用いて前記分割データを取得したときの通信の処理能力の移動平均に基づいて決定する。
【００１１】
また、本発明の一態様は、上記の通信装置において、前記分割容量決定部は、前記第１通信を用いて前記分割データを取得中に、前記第２通信を用いて次に取得する前記分割データのデータ量を決定する場合、前記コンテンツデータのうち未取得の残りのコンテンツデータを、前記第１通信を用いて取得する前記分割データと前記第２通信を用いて取得する前記分割データとに分割し、それぞれの前記分割データの取得完了予定時刻が同じになるように、それぞれの前記分割データのデータ量を決定する。
【００１２】
また、本発明の一態様は、上記の通信装置において、前記分割容量決定部は、前記残りのコンテンツデータのうち、前記第１通信を用いて取得中の前記分割データの取得完了予定時刻と同じ時刻に前記第２通信を用いて取得完了となる分のデータ量を、前記第２通信を用いて次に取得する前記分割データのデータ量として決定し、さらに、前記残りのコンテンツデータから前記決定したデータ量の前記分割データを除いたコンテンツデータを、前記第１通信を用いて取得中の前記分割データの次に取得する前記分割データと、前記第２通信を用いて次に取得する前記分割データのさらに次に取得する前記分割データと、に分割するとともに、当該分割するそれぞれの前記分割データのデータ量を、それぞれの通信を用いて取得に要する時間が同じになるように決定する。
【００１３】
また、本発明の一態様は、上記の通信装置において、前記第１通信と前記第２通信は、論理的又は物理的な通信のインターフェースが異なり、前記分割容量決定部は、前記第１通信と前記第２通信とのそれぞれを用いて取得する前記分割データのデータ量をそれぞれ決定する。
【００１４】
また、本発明の一態様は、分割容量決定部が、第１通信と第２通信とを用いてコンテンツデータを複数の分割データに分割して取得する際の、それぞれの前記分割データのデータ量を決定する分割過程と、算出部が、前記第１通信と前記第２通信とのそれぞれを用いて前記分割データを取得するのに要した時間と、それぞれの前記分割データのデータ量とに基づいて、それぞれの通信の処理能力を算出する算出過程と、を有し、前記分割過程において、前記分割容量決定部が、前記第１通信と前記第２通信とのそれぞれの通信の処理能力に基づいて、それぞれの通信を用いて次に取得する前記分割データのデータ量を決定する、通信方法である。
【００１５】
また、本発明の一態様は、コンピュータに、第１通信と第２通信とを用いてコンテンツデータを複数の分割データに分割して取得する際の、それぞれの前記分割データのデータ量を決定する手順と、前記第１通信と前記第２通信とのそれぞれを用いて前記分割データを取得するのに要した時間と、それぞれの前記分割データのデータ量とに基づいて、それぞれの通信の処理能力を算出する手順と、前記第１通信と前記第２通信とのそれぞれの通信の処理能力に基づいて、それぞれの通信を用いて次に取得する前記分割データのデータ量を決定する手順と、を実行させるための通信プログラムである。
【００１６】
また、本発明の一態様は、第１通信と第２通信とを用いてコンテンツデータを複数の分割データに分割して取得する際の、それぞれの前記分割データのデータ量を決定する分割容量決定部と、前記第１通信と前記第２通信とのそれぞれを用いて前記分割データを取得するのに要した時間と、それぞれの前記分割データのデータ量とに基づいて、それぞれの通信の処理能力を算出する算出部と、を備え、前記分割容量決定部は、前記第１通信と前記第２通信とのそれぞれの通信の処理能力に基づいて、それぞれの通信を用いて次に取得する前記分割データのデータ量を決定する、プロセッサである。
【発明の効果】
【００１７】
本発明によれば、複数の無線リンクを効率よく利用することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態に係る通信システムの構成を示す概略図である。
【図２】第１実施形態に係る通信装置の構成を示す概略ブロック図である。
【図３】第１実施形態に係るプロキシ部の構成を示す概略ブロック図である。
【図４】第１実施形態に係る分割ダウンロードの処理の動作を説明する説明図である。
【図５】第１実施形態に係る初回のスループットの算出例の説明図である。
【図６】第１実施形態に係る２回目に取得する分割データの分割サイズの算出例の説明図である。
【図７】第１実施形態に係る各無線リンクで繰り返し行われる分割ダウンロードの説明図である。
【図８】第４実施形態によるコンテンツデータの分割ダウンロードの最後の部分を説明する説明図である。
【図９】第４実施形態によるコンテンツデータの分割ダウンロードの最後の部分の改善を説明する説明図である。
【発明を実施するための形態】
【００１９】
（第１実施形態）
以下、図面を参照しながら本発明の第１実施形態について詳しく説明する。
図１は、本発明の第１実施形態に係る通信システムの構成を示す概略図である。この図において、通信システムは、通信装置１、アクセスポイントＡＰ１、基地局装置ＢＳ１、及び、サーバ装置Ｓｖ１０１〜１０４を具備する。
【００２０】
通信装置１は、Ｗｉ−Ｆｉ（登録商標。以下同じ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ：第３世代移動通信システム）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）等のように、複数の異なる通信を行うことができる装置である。通信装置１は、複数の物理リンクを束ねて、１つの論理リンクとして扱うこと（リンクアグリゲーション）ができる。通信装置１は、例えば、スマートフォン、タブレット端末、フィーチャーフォン、パーソナルコンピュータ、モバイルルーター等である。
【００２１】
アクセスポイントＡＰ１は、通信装置１からの接続要求を受け付けて、ネットワークへの通信を仲介する機器である。例えば、アクセスポイントＡＰ１は、無線ＬＡＮのアクセスポイントであり、通信装置１とＷｉ−Ｆｉによる通信（「無線リンクＬ１」と称する。また、「Ｗｉ−Ｆｉ通信」とも称する）を行うことができる。
基地局装置ＢＳ１は、携帯電話と直接電波を送受信する装置である。基地局装置ＢＳ１は、通信装置１と３Ｇ又はＬＴＥによる通信（「無線リンクＬ２」と称する。また、「セルラー通信」とも称する）を行うことができる。基地局装置ＢＳ１は、携帯電話網Ｎ１に接続され、携帯電話網Ｎ１を介して、ネットワークＮ２に接続された機器と通信を行うことができる。例えば、ネットワークＮ２はインターネットであり、携帯電話網Ｎ１と通信プロトコルが異なる。
【００２２】
サーバ装置Ｓｖ１０１は、例えば、ゲートウェイサーバであり、携帯電話網Ｎ１とネットワークＮ２の通信プロトコルの変換等を行う。サーバ装置Ｓｖ１０２は、ネットワークＮ１に接続され、基地局装置ＢＳ１を介して、通信装置１と通信を行うことができる。
サーバ装置Ｓｖ１０３、Ｓｖ１０４は、ネットワークＮ２に接続され、アクセスポイントＡＰ１、又は、携帯電話網Ｎ１と基地局装置ＢＳ１を介して、通信装置１と通信を行うことができる。例えば、サーバ装置Ｓｖ１０２、Ｓｖ１０３は、ドメインネームシステム（ＤＮＳ）のサーバ装置（ＤＮＳサーバとも称する）であり、ネットワーク上のホスト名やドメイン名と、ＩＰアドレスとを対応付けたドメインネーム情報を管理する。例えば、サーバ装置Ｓｖ１０４は、コンテンツサーバであり、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：ハイパーテキスト・トランスファー・プロトコル）等のプロトコルの通信（ＨＴＴＰ通信と称する）を行う。サーバ装置Ｓｖ１０４は、例えば、ＨＴＭＬ形式のコンテンツデータを、通信装置１へ提供する。
【００２３】
通信装置１は、１つの無線リンクとして束ねて扱う複数の無線リンクを用いて、コンテンツデータを複数回に分割して取得する。ここで、コンテンツデータとは、一まとまりのデータであって、例えば、サーバ装置Ｓｖ１０４からダウンロードする一ファイルのデータである。例えば、通信装置１は、無線リンクＬ１と無線リンクＬ２とを用いて、コンテンツデータを複数に分割して取得する。なお、以下の説明において、コンテンツデータを複数に分割した個々のデータを、「分割データ」とも称する。
【００２４】
具体的には、通信装置１は、ＨＴＴＰのレンジリクエストを行い、無線リンクＬ１と無線リンクＬ２とのそれぞれを用いて取得する分割データを要求する。レンジリクエストとは、ＨＴＴＰのヘッダフィールドでデータの範囲を指定して、データの一部分だけを要求する指令である。例えば、通信装置１は、無線リンクＬ１では、コンテンツデータの「０ＫＢ〜１２５ＫＢ」をレンジリクエストで指定することで、コンテンツデータのうち先頭から１２５ＫＢ分の分割データを要求して、取得（ダウンロード）できる。また、通信装置１は、無線リンクＬ２では、コンテンツデータの「１２６ＫＢ〜２５０ＫＢ」をレンジリクエストで指定することで、コンテンツデータのうち次の１２５ＫＢ分の分割データを要求して、取得（ダウンロード）できる。通信装置１は、無線リンクＬ１と無線リンクＬ２とを用いた分割データの要求と取得をコンテンツデータのうちの最後の分割データを取得するまで繰り返し行うことで、コンテンツデータを取得する。
【００２５】
また、通信装置１は、無線リンクＬ１と無線リンクＬ２とのそれぞれのスループットに基づいて、各無線リンクを用いて次に取得する分割データのデータ量（以下、「データサイズ」とも称する）を決める。このとき、コンテンツデータを初めから大きなデータサイズで分割すると（例えば、単にコンテンツデータを２つに分割すると）、各無線リンクのそれぞれのスループットの変化に追随できないため、通信装置１は、コンテンツデータを細かいデータサイズで分割して要求する。
【００２６】
また、ＴＣＰ通信の性質上、ある程度ダウンロードするデータサイズが大きくなければスループットが向上していかない。そのため、通信装置１は、固定長で細かいデータサイズで分割して要求するのではなく、例えば、ＴＣＰ通信におけるウィンドウサイズの拡大のように、徐々に分割するデータサイズを大きくしていくようにする。通信装置１は、分割して要求する分割データのデータサイズを、その時々の動的なスループットに基づいて決定する。
【００２７】
例えば、通信装置１は、コンテンツデータの取得の開始時は、無線リンクＬ１及び無線リンクＬ２のスループットを未計測である。そのため、通信装置１は、各々１２５ＫＢ程度の小さなデータサイズの分割データを要求し、各無線リンクで各々の分割データを取得するのに要した時間に基づいて、各無線リンクのスループット（実スループット）を算出する。次に、通信装置１は、算出した各無線リンクのスループットに基づいて、各無線リンクで同じ時間α[ｓ：秒]で取得可能なデータサイズとして決定する。ここで、時間α[ｓ：秒]は、コンテンツデータを取得する度に徐々にデータサイズが大きくなるように設定される（例えば、α＝２，４，６，８，１０，１０，・・・）。
【００２８】
以上により、通信装置１は、各無線リンクを用いてコンテンツデータを分割して取得する場合、スループットの変動や低下の激しい無線リンクが含まれていても、コンテンツデータを細かく分割して、各無線リンクのスループットに応じて各無線リンクに適切にデータサイズを割り当てて取得することができるため、コンテンツデータ全体の取得速度が速くなる。よって、通信装置１は、複数の無線リンクを効率よく利用することができる。
【００２９】
なお、以下の説明において、コンテンツデータを複数の分割データに分割して取得することを、単に「分割ダウンロード」とも称する。また、以下の説明において、コンテンツデータのデータサイズのことを「コンテンツサイズ」とも称し、分割データのデータサイズのことを「分割サイズ」とも称する。
【００３０】
＜通信装置１について＞
図２は、本実施形態に係る通信装置１の構成を示す概略ブロック図である。通信装置１は、入力部１１、出力部１２、制御部１３、記憶部１４、及び通信部１５を含んで構成される。制御部１３は、アプリケーション部１３１とプロキシ部Ｐ１を含んで構成される。通信部１５は、Ｎ個のインターフェース１５１−１〜１５１−Ｎ、及び信号強度検出部１５２を含んで構成される。
【００３１】
入力部１１は、通信装置１のユーザからの入力を受け付け、受け付けた入力を示す情報を制御部１３へ出力する。入力部１１は、例えば、タッチパネルやボタン、キーボード、カメラである。
出力部１２は、制御部１３の制御に基づいて、出力を行う。出力部１２は、例えば、ディスプレイやスピーカー、振動子、発光素子である。
【００３２】
制御部１３は、入力部１１や通信部１５から入力された情報、又は記憶部１４が記憶する情報に基づいて、通信装置１の各部を制御する。制御部１３のうち、アプリケーション部１３１は、記憶部１４からプログラムを読み込み、読み込んだプログラムを実行することで、様々なアプリケーション機能を発揮する。
【００３３】
プロキシ部Ｐ１は、アプリケーション部１３１からの要求に基づいて、通信部１５を介してデータの送受信を行う。例えば、プロキシ部Ｐ１は、アプリケーション部１３１からの要求に基づいて、通信部１５の複数のインターフェース１５１−Ｎ（ｎ＝１、２、・・・、Ｎ）を介して、サーバ装置Ｓｖ１０４からコンテンツデータを分割ダウンロードする。具体的には、プロキシ部Ｐ１は、インターフェース１５１−１〜１５１−Ｎの中から選択した複数のインターフェースのそれぞれを介して、ＨＴＴＰのＧＥＴリクエストをサーバ装置Ｓｖ１０４に送信する。また、プロキシ部Ｐ１は、送信したＧＥＴリクエストに対する応答に分割ダウンロードを許可する情報（Ａｃｃｅｐｔ−Ｒａｎｇｅｓ：ｂｙｔｅｓ）が含まれ、且つ、コンテンツデータのコンテンツサイズが所定の閾値以上（例えば２０ＭＢ以上）である場合、分割ダウンロードを実行する。プロキシ部Ｐ１の詳細については、後述する。
【００３４】
通信部１５は、複数の通信方式の通信を行うことができる。例えば、インターフェース１５１−１は、Ｗｉ−Ｆｉ通信を行うことができる。インターフェース１５１−２は、ＬＴＥによる通信（「ＬＴＥ通信」とも称する）を行うことができる。また、インターフェース１５１−３は、３Ｇによる通信（「３Ｇ通信」とも称する）を行うことができる。なお、インターフェース１５１−Ｎは、無線通信に限らず、有線通信を行うものであってもよい。また、インターフェース１５１−Ｎは、物理的なインターフェースに限らず、論理的なインターフェースであってもよい。
【００３５】
信号強度検出部１５２は、インターフェース１５１−Ｎ毎に、通信信号の受信する信号の強度（受信信号強度）を示す信号強度情報を検出する。例えば、信号強度検出部１５２は、インターフェース１５１−１による通信（Ｗｉ−Ｆｉ通信）では、ＲＳＳＩ（Ｒｅｃｅｉｖｅｄ  Ｓｉｇｎａｌ  Ｓｔｒｅｎｇｔｈ  Ｉｎｄｉｃａｔｏｒ（又はＩｎｄｉｃａｔｉｏｎ）を検出する。また、インターフェース１５１−２、１５−３による通信（ＬＴＥ通信、３Ｇ通信）では、ＣＱＩ（Ｃｈａｎｎｅｌ Ｑｕａｌｉｔｙ Ｉｎｄｉｃａｔｏｒ）を検出してもよい。信号強度検出部１５２は、検出した信号強度情報を、制御部１３（例えば、プロキシ部Ｐ１）へ出力する。
【００３６】
＜プロキシ部Ｐ１について＞
図３は、本実施形態に係るプロキシ部Ｐ１の構成を示す概略ブロック図である。プロキシ部Ｐ１は、セッション管理部Ｐ１１１、スループット取得部Ｐ１１２、分割容量決定部Ｐ１１３、信号強度取得部Ｐ１２１、計時部Ｐ１２２、及び、ＩＦ選択部Ｐ１４を含んで構成される。
【００３７】
セッション管理部Ｐ１１１は、セッションを管理する。セッションとは、一連の通信のことであり、例えば、接続を確立してから切断するまでの単位である。例えば、セッションは、アプリケーションからの要求毎に生成され、各要求に対する応答後に、それぞれのセッションが終了する。例えば、アプリケーションからのコンテンツデータのダウンロード要求に基づいてセッションが生成され、このセッションでコンテンツデータのダウンロードが行われる。具体的には、セッション管理部Ｐ１１１は、アプリケーション部１３１からコンテンツデータのダウンロード要求を受け取ると、予め選択された優先的に接続されるインターフェース１５１−Ｎを介して、ＨＴＴＰのＧＥＴリクエストをサーバ装置Ｓｖ１０４に送信する。また、セッション管理部Ｐ１１１は、送信したＧＥＴリクエストに対する応答に分割ダウンロードを許可する情報（Ａｃｃｅｐｔ−Ｒａｎｇｅｓ：ｂｙｔｅｓ）が含まれ、且つ、コンテンツデータのコンテンツサイズが所定の閾値以上（例えば２０ＭＢ以上）である場合、分割ダウンロードを開始する。例えば、セッション管理部Ｐ１１１は、分割ダウンロードを開始すると、各リンクのスループット（実スループット）に基づいて、次に取得する分割データの分割サイズをリンクごとに決定する。そして、セッション管理部Ｐ１１１は、決定した分割サイズの分割データを取得するためのレンジリクエストを含むＧＥＴリクエストを、各リンクに対応するインターフェース１５１−Ｎのそれぞれを介して、サーバ装置Ｓｖ１０４に送信する。
【００３８】
また、セッション管理部Ｐ１１１は、セッションの識別情報（「セッション識別情報」とも称する）、セッションの開始時刻、セッションの終了時刻、リクエストの識別情報、リクエストをしたアプリケーションの識別情報、セッション確立の成否、セッション異常の理由を示すセッション異常理由情報、セッションに用いた無線リンクを示す情報等を、記憶部１４に記憶させ、参照や更新をすることで、セッションを管理する。
【００３９】
スループット取得部Ｐ１１２は、通信部１５の送受信する情報量に基づいて、通信のスループットを算出する算出部を具備する。スループットとは、通信の処理能力を表す指標であり、一定時間内に通信したデータサイズのことである。具体的には、スループット取得部Ｐ１１２は、各無線リンクのそれぞれを用いて分割データを取得するのに要した時間と、それぞれの分割データの分割サイズとに基づいて、それぞれの無線リンクの通信のスループットを算出する。本実施形態のスループットは、下りの通信、つまり、アクセスポイントＡＰ１又は基地局装置ＢＳ１から通信装置１への通信のスループットとするが、本発明は、これに限られない。スループット取得部Ｐ１１２は、算出したスループットを示すスループット情報を、セッション識別情報と対応付けて、分割容量決定部Ｐ１１３へ出力する。
【００４０】
分割容量決定部Ｐ１１３は、コンテンツデータを複数の分割データに分割して取得する際の、それぞれの分割データの分割サイズを決定する。例えば、分割容量決定部Ｐ１１３は、まず、コンテンツデータの取得の開始時には、各リンクの通信のスループットが未計測であるため、各リンクそれぞれを用いて取得する分割データの分割サイズを予め定めた分割サイズ（例えば、１２５ＫＢ）に決定する。次に、分割容量決定部Ｐ１１３は、上記決定した分割サイズ（例えば、１２５ＫＢ）の分割データを複数のリンクのそれぞれを用いて取得したときの通信のスループットをスループット取得部Ｐ１１２から取得する。そして、分割容量決定部Ｐ１１３は、取得したそれぞれのスループットに基づいて、それぞれのリンクを用いて次に取得する分割データの分割サイズを決定する。
また、分割容量決定部Ｐ１１３は、決定した分割サイズを、セッション識別情報と対応付けてセッション管理部Ｐ１１１へ出力する。
信号強度取得部Ｐ１２１は、信号強度検出部１５２からインターフェース１５１−Ｎ毎の信号強度情報を取得し、取得した信号強度情報をＩＦ選択部Ｐ１４へ出力する。
【００４１】
計時部Ｐ１２２は、計時を行う。例えば、計時部Ｐ１２２は、各リンクを用いて分割データを取得するのに要した時間を計時する。計時部Ｐ１２２は、計時した取得時間をスループット取得部Ｐ１１２に出力する。
【００４２】
ＩＦ選択部Ｐ１４は、通信装置１の各部から入力された情報に基づいて、インターフェース１５１−１〜１５１−Ｎのうちから通信を行う複数のインターフェースを選択する。例えば、ＩＦ選択部Ｐ１４は、複数の無線リンクを用いてコンテンツデータをダウンロードする場合の一例として、無線リンクＬ１（Ｗｉ−Ｆｉ通信）と無線リンクＬ２（セルラー通信）との２つの無線リンクを用いる場合には、インターフェース１５１−１と、インターフェース１５１−２とを選択する。なお、ＩＦ選択部Ｐ１４は、無線リンクＬ２（セルラー通信）を用いる場合として、インターフェース１５１−３を選択してもよい。
【００４３】
＜分割ダウンロード処理について＞
次に、図４から図７を参照して、本実施形態による分割ダウンロードの処理について説明する。図４は、本実施形態に係る分割ダウンロードの処理の動作を説明する説明図である。この図４は、無線リンクＬ１（Ｗｉ−Ｆｉ通信）と無線リンクＬ２（セルラー通信）との２つの無線リンクが分割ダウンロードを行う無線リンクとして選択されている例であって、各無線リンクで行われる分割ダウンロードの処理を時系列に示している。また、図５から図７は、本実施形態に係る分割ダウンロードの処理の説明を補足する説明図である。なお、通信装置１がダウンロードするコンテンツデータＤＴのコンテンツサイズは２０ＭＢであるとする。
【００４４】
プロキシ部Ｐ１は、アプリケーション部１３１からコンテンツデータＤＴのダウンロード要求を受けると、無線リンクＬ１を介して通信を開始する。
セッション管理部Ｐ１１１は、ＨＴＴＰリクエスト（ＧＥＴリクエスト）を無線リンクＬ１を用いてサーバ装置Ｓｖ１０４に送信し、送信したＧＥＴリクエストに対するＨＴＴＰレスポンス内に分割ダウンロードを許可する情報（Ａｃｃｅｐｔ−Ｒａｎｇｅｓ：ｂｙｔｅｓ）が含まれ、且つ、コンテンツデータＤＴのコンテンツサイズが２０ＭＢ以上である場合、分割ダウンロードの対象データであると判定して分割ダウンロードを実行する。ここでは、分割ダウンロードを許可する情報（Ａｃｃｅｐｔ−Ｒａｎｇｅｓ：ｂｙｔｅｓ）が含まれるとし、且つ、コンテンツデータＤＴのコンテンツサイズが２０ＭＢ以上としているため、セッション管理部Ｐ１１１は、分割ダウンロードを開始する。また、セッション管理部Ｐ１１１は、ＨＴＴＰリクエストにより取得したヘッダのみを、アプリケーション部１３１に出力する。
【００４５】
まず、コンテンツデータＤＴのダウンロードの開始時は、無線リンクＬ１及び無線リンクＬ２のスループットが未計測であるため、分割容量決定部Ｐ１１３は、無線リンクＬ１及び無線リンクＬ２を用いて取得するそれぞれの分割データの分割サイズをいずれも１２５ＫＢに決定し、セッション管理部Ｐ１１１へ出力する。
【００４６】
セッション管理部Ｐ１１１は、無線リンクＬ２に対して、コンテンツデータＤＴのうちの先頭から１２５ＫＢ分の分割データＤ（１）をレンジリクエストで指定して、ＨＴＴＰリクエストを、無線リンクＬ２を用いてサーバ装置Ｓｖ１０４へ送信する（ステップＳ１１０）。
同様に、セッション管理部Ｐ１１１は、無線リンクＬ１に対して、コンテンツデータＤＴのうち、上記分割データＤ（１）の次の１２５ＫＢ分の分割データＤ（２）をレンジリクエストで指定して、分割データの取得を要求するＨＴＴＰリクエストを、無線リンクＬ１を用いてサーバ装置Ｓｖ１０４へ送信する（ステップＳ１２０）。
【００４７】
ステップＳ１１０及びステップＳ１２０において、無線リンクＬ２及び無線リンクＬ１に対してそれぞれＨＴＴＰリクエストが送信されることにより、無線リンクＬ２と無線リンクＬ１とのそれぞれで平行して、分割データＤ（１）と分割データＤ（２）とのそれぞれのダウンロードが開始される（ステップＳ１１１、ステップＳ１２１）。
【００４８】
ここでは、無線リンクＬ２よりも無線リンクＬ１による分割データのダウンロードが先に完了する。つまり、無線リンクＬ２より無線リンクＬ１の方が高いスループットであったことがわかる。無線リンクＬ１で分割データＤ（２）のダウンロードが完了すると（ステップＳ１２２）、セッション管理部Ｐ１１１は、ダウンロードした分割データＤ（２）をバッファ１４０内のバッファ１に格納する（ステップＳ１２３）。一方、無線リンクＬ２で分割データＤ（１）のダウンロードが完了すると（ステップＳ１１２）、セッション管理部Ｐ１１１は、ダウンロードした分割データＤ（１）をバッファ１４０内のバッファ２に格納する（ステップＳ１１３）。ここで、バッファ１４０は、記憶部１４内のバッファ領域である。セッション管理部Ｐ１１１は、バッファ１４０に格納されたデータを、順次アプリケーション部１３１へ出力する。
【００４９】
また、スループット取得部Ｐ１１２は、無線リンクＬ１で分割データＤ（２）のダウンロードに要した時間と分割サイズとに基づいて、無線リンクＬ１の初回の分割データのダウンロード時のスループットを算出する。同様に、スループット取得部Ｐ１１２は、無線リンクＬ２で分割データＤ（１）のダウンロードに要した時間と分割サイズとに基づいて、無線リンクＬ２の初回の分割データのダウンロード時のスループットを算出する。
【００５０】
図５は、初回のスループットの算出例の説明図である。無線リンクＬ１で１２５ＫＢの分割データＤ（２）のダウンロードに要した時間をＴＷ（１）[ｓ：秒]とすると、無線リンクＬ１の初回のスループットＴＰＷ（１）[ｂｐｓ]は、以下の式で表される。
ＴＰＷ（１）＝１２５ＫＢ×８÷ＴＷ（１）
【００５１】
また、無線リンクＬ２で１２５ＫＢの分割データＤ（１）のダウンロードに要した時間をＴＣ（１）[ｓ：秒]とすると、無線リンクＬ２の初回のスループットＴＰＣ（１）[ｂｐｓ]は、以下の式で表される。
ＴＰＣ（１）＝１２５ＫＢ×８÷ＴＣ（１）
【００５２】
次に、分割容量決定部Ｐ１１３は、無線リンクＬ１及び無線リンクＬ２のそれぞれの初回のスループットに基づいて、無線リンクＬ１及び無線リンクＬ２のそれぞれの次（２回目）に取得する分割データの分割サイズを決定する。例えば、分割容量決定部Ｐ１１３は、無線リンクＬ１及び無線リンクＬ２のそれぞれで同じ時間α[ｓ：秒]で取得可能な分割サイズを算出し、次（２回目）に取得する分割データの分割サイズとして決定する。ここで、時間αは、例えば、分割データの取得回数（Ｋ回目。Ｋ＝２，３，４，５，６，７，・・・）にしたがって、α＝２，４，６，８，１０，１０，・・・と徐々に大きくなる（ここでは、上限が１０秒）ように設定されている。なお、各取得回数に対する時間αの値、及び上限の値は任意に設定できる。
【００５３】
図６は、２回目に取得する分割データの分割サイズの算出例の説明図である。
無線リンクＬ１で２回目に取得する分割データＤ（３）の分割サイズとして、無線リンクＬ１の初回のスループットＴＰＷ（１）[ｂｐｓ]により時間α[ｓ：秒]で取得可能な分割サイズＳＩＺＥＷ（２）[ｂｙｔｅ]は、以下の式で表される。
ＳＩＺＥＷ（２）＝ＴＰＷ（１）×α÷８
ここでは、２回目に取得する分割データの分割サイズであるため、α＝２である。
なお、ＴＷ（２）[ｓ：秒]は、分割データＤ（３）のダウンロードに要した時間であり、算出したスループットＴＰＷ（１）[ｂｐｓ]で実際にダウンロードできれば、時間α[ｓ：秒]となる。
【００５４】
また、無線リンクＬ２で２回目に取得する分割データＤ（４）の分割サイズとして、無線リンクＬ２の初回のスループットＴＰＣ（１）[ｂｐｓ]により時間α[ｓ：秒]で取得可能な分割サイズＳＩＺＥＣ（２）[ｂｙｔｅ]は、以下の式で表される。
ＳＩＺＥＣ（２）＝ＴＰＣ（１）×α÷８
ここでは、２回目に取得する分割データの分割サイズであるため、α＝２である。
なお、ＴＣ（２）[ｓ：秒]は、分割データＤ（４）のダウンロードに要した時間であり、算出したスループットＴＰＣ（１）[ｂｐｓ]で実際にダウンロードできれば、時間α[ｓ：秒]となる。
【００５５】
図４に戻り、２回目の分割データのダウンロードの処理を説明する。分割容量決定部Ｐ１１３は、初回の分割データのダウンロードが先に完了した方の無線リンクから２回目に取得する分割データの分割サイズを算出して、セッション管理部Ｐ１１１に出力する。そして、セッション管理部Ｐ１１１は、初回の分割データのダウンロードが先に完了した方の無線リンクから２回目の分割データのダウンロードを開始する。
【００５６】
具体的には、まず、分割容量決定部Ｐ１１３は、初回のダウンロードが先に完了した無線リンクＬ１について、初回のスループットＴＰＷ（１）[ｂｐｓ]により２秒で取得可能な分割サイズＳＩＺＥＷ（２）[ｂｙｔｅ]を算出して、２回目に取得する分割データＤ（３）の分割サイズとして、セッション管理部Ｐ１１１へ出力する。セッション管理部Ｐ１１１は、無線リンクＬ１に対して、コンテンツデータＤＴのうち、分割データＤ（２）の次のＳＩＺＥＷ（２）[ｂｙｔｅ]分の分割データＤ（３）をレンジリクエストで指定して、分割データＤ（３）の取得を要求するＨＴＴＰリクエストを、無線リンクＬ１を用いてサーバ装置Ｓｖ１０４へ送信する（ステップＳ１３０）。このリクエストにより、無線リンクＬ１で分割データＤ（３）のダウンロードが開始される（ステップＳ１３１）。また、無線リンクＬ１で分割データＤ（３）のダウンロードが完了すると（ステップＳ１３２）、セッション管理部Ｐ１１１は、ダウンロードした分割データＤ（３）をバッファ１４０内のバッファ３に格納する（ステップＳ１３３）。
【００５７】
一方、無線リンクＬ２についても、初回のダウンロードが完了すると、分割容量決定部Ｐ１１３は、初回のスループットＴＰＣ（１））[ｂｐｓ]により２秒で取得可能な分割サイズＳＩＺＥＣ（２）[ｂｙｔｅ]を算出して、２回目に取得する分割データＤ（４）の分割サイズとして、セッション管理部Ｐ１１１へ出力する。セッション管理部Ｐ１１１は、無線リンクＬ２に対して、コンテンツデータＤＴのうち、上記分割データＤ（３）の次のＳＩＺＥＣ（２）[ｂｙｔｅ]分の分割データＤ（４）をレンジリクエストで指定して、分割データＤ（４）の取得を要求するＨＴＴＰリクエストを、無線リンクＬ２を用いてサーバ装置Ｓｖ１０４へ送信する（ステップＳ１４０）。このリクエストにより、無線リンクＬ２で分割データＤ（４）のダウンロードが開始される（ステップＳ１４１）。また、無線リンクＬ２で分割データＤ（４）のダウンロードが完了すると（ステップＳ１４２）、セッション管理部Ｐ１１１は、ダウンロードした分割データＤ（４）をバッファ１４０内のバッファ４に格納する（ステップＳ１４３）。
【００５８】
なお、ここでは、無線リンクＬ２よりも無線リンクＬ１の方が初回のダウンロード時のスループットが高いため、分割データＤ（３）の分割サイズＳＩＺＥＷ（２）は分割データＤ（４）のＳＩＺＥＣ（２）よりも大きいデータサイズとなる。
【００５９】
そして、コンテンツデータＤＴのダウンロードが完了するまで、無線リンクＬ１と無線リンクＬ２とのそれぞれで、前回の分割データのダウンロード時のスループットに基づいて次回の分割データの分割サイズが決定され、分割データのダウンロードが繰り返される。例えば、３回目の分割サイズは２回目のスループットにより４秒で取得可能な分割サイズ、４回目の分割サイズは３回目のスループットにより６秒で取得可能な分割サイズ、５回目の分割サイズは４回目のスループットにより８秒で取得可能な分割サイズ、といったように徐々に分割サイズを大きくし、６回目以降は前回のスループットにより１０秒で取得可能な分割サイズとする。
【００６０】
図７は、各無線リンクで繰り返し行われる分割ダウンロードの説明図である。無線リンクＬ１では、分割サイズ１２５ＫＢの分割データＤ（２）が初回にダウンロードされ、分割サイズＳＩＺＥＷ（２）[ｂｙｔｅ]の分割データＤ（３）が２回目にダウンロードされる。そして、Ｘ回目では（Ｘは自然数）、分割サイズＳＩＺＥＷ（Ｘ）[ｂｙｔｅ]の分割データＤ（Ｍ）がダウンロードされる（Ｍは自然数）。ここで、分割サイズＳＩＺＥＷ（Ｘ）[ｂｙｔｅ]は、「Ｘ−１」回目のスループットＴＰＷ（Ｘ−１）[ｂｐｓ]によりα秒で取得可能なデータサイズであり、以下の式で表すことができる。
ＳＩＺＥＷ（Ｘ）＝ＴＰＷ（Ｘ−１）×α÷８
【００６１】
また、Ｘ回目のスループットＴＰＷ（Ｘ）[ｂｐｓ]は、分割データＤ（Ｍ）のダウンロードに要した時間をＴＷ（Ｘ）[ｓ：秒]とすると、以下の式で表すことができる。
ＴＰＷ（Ｘ）＝ＳＩＺＥＷ（Ｘ）×８÷ＴＷ（Ｘ）
【００６２】
一方、無線リンクＬ２では、分割サイズ１２５ＫＢの分割データＤ（１）が初回にダウンロードされ、分割サイズＳＩＺＥＣ（２）[ｂｙｔｅ]の分割データＤ（４）が２回目にダウンロードされる。そして、Ｙ回目では（Ｙは自然数）、分割サイズＳＩＺＥＣ（Ｙ）[ｂｙｔｅ]の分割データＤ（Ｍ−１）がダウンロードされる。ここで、分割サイズＳＩＺＥＣ（Ｙ）[ｂｙｔｅ]は、「Ｙ−１」回目のスループットＴＰＣ（Ｙ−１）[ｂｐｓ]によりα秒で取得可能なデータサイズであり、以下の式で表すことができる。
ＳＩＺＥＣ（Ｙ）＝ＴＰＣ（Ｙ−１）×α÷８
【００６３】
また、Ｙ回目のスループットＴＰＣ（Ｙ）[ｂｐｓ]は、分割データＤ（Ｍ−１）のダウンロードに要した時間をＴＣ（Ｙ）[ｓ：秒]とすると、以下の式で表すことができる。
ＴＰＣ（Ｙ）＝ＳＩＺＥＣ（Ｙ）×８÷ＴＣ（Ｙ）
【００６４】
このように、アプリケーション部１３１からコンテンツデータのダウンロード要求を受けると、プロキシ部Ｐ１は、コンテンツデータを分割ダウンロードする。プロキシ部Ｐ１によって、分割ダウンロードされた各分割データは合成され、アプリケーション部１３１へ出力される。
【００６５】
以上説明したように、本実施形態によれば、通信装置１において、インターフェース１５１−１（第１通信部の一例）は、Ｗｉ−Ｆｉ通信（第１通信の一例）を行う。また、インターフェース１５１−２（第２通信部の一例）は、セルラー通信（第２通信の一例）を行う。プロキシ部Ｐ１は、第１通信と第２通信とを用いてコンテンツデータを複数のデータに分割して取得する際の、それぞれの分割データの分割サイズ（データ量）を決定する。また、プロキシ部Ｐ１は、第１通信と第２通信とのそれぞれを用いて分割データを取得するのに要した時間と、それぞれの分割データの分割サイズとに基づいて、それぞれの通信のスループット（処理能力）を算出する。そして、プロキシ部Ｐ１は、第１通信と第２通信とのそれぞれの通信のスループットに基づいて、それぞれの通信を用いて次に取得する分割データの分割サイズを決定する。
これにより、通信装置１は、複数の無線リンクを効率よく利用することができる。例えば、通信装置１は、スループットの変動や低下の激しい無線リンクが含まれていても、コンテンツデータを細かく分割して、各無線リンクのスループットに応じて各無線リンクに適切にデータサイズを割り当てて取得することができるため、コンテンツデータ全体のダウンロード速度を速くすることができる。
【００６６】
また、本実施形態によれば、プロキシ部Ｐ１は、第１通信と第２通信とのそれぞれの通信を用いて次に取得する分割データの分割サイズを、算出したそれぞれの通信のスループットに基づいて、それぞれの通信を用いて取得に要する時間が同一の所定の時間（例えば、α秒）となるような分割サイズに決定する。
これにより、通信装置１は、各無線リンクでコンテンツデータを分割して得する際に、スループットの高い無線リンクがスループットの低い無線リンクの分を補うようにすることができる。そのため、通信装置１は、スループットの高い無線リンクがスループットの低い無線リンクに引っ張られてしまうことによりダウンロード時間が長くなってしまうことを抑制できる。また、通信装置１は、どんなにスループットの低い無線リンクであっても、そのスループットで所定の時間（例えば、α秒）で取得可能な分についてはダウンロード時間の速度改善に寄与することができる。つまり、通信装置１は、複数の無線リンクで補い合うようにコンテンツデータをダウンロードすることができ、コンテンツデータ全体のダウンロード速度を速くすることができる。
【００６７】
また、ＴＣＰ通信のウィンドウサイズの仕様によれば、帯域が十分であれば大きなデータサイズのデータをダウンロードすることで、ウィンドウサイズが広がり、スループットの向上につながる。そこで、本実施形態によれば、プロキシ部Ｐ１は、第１通信と第２通信とを用いて分割データを取得する度に、上記所定の時間を長くする（例えば、α＝２，４，６，８，１０，１０，・・・）。これにより、通信装置１は、コンテンツデータ全体のダウンロード速度を速くすることができる。
【００６８】
また、本実施形態によれば、第１通信と第２通信は、論理的又は物理的な通信のインターフェースが異なる。プロキシ部Ｐ１は、第１通信と第２通信とのそれぞれを用いて取得する分割データの分割サイズをそれぞれ決定する。
【００６９】
（第２実施形態）
プロキシ部Ｐ１は、各無線リンクを用いて次に取得する分割データの分割サイズを決定する際に、各無線リンクの直前のスループットのみに基づくのではなく、各無線リンクの以前のスループットの移動平均に基づいて決定してもよい。これにより、通信装置１は、瞬時的なスループットの変動があった場合に、必要以上に追従して分割サイズを決定してしまうことを防止することができる。
【００７０】
具体的には、分割容量決定部Ｐ１１３は、無線リンクＬ１と無線リンクＬ２とのそれぞれを用いて次に取得する分割データの分割サイズを、以前にそれぞれの通信を用いて分割データを取得したときの通信のスループットの移動平均に基づいて決定する。
例えば、図７に示す各無線リンクで繰り返し行われる分割ダウンロードにおいて、無線リンクＬ１のＸ回目の分割サイズＳＩＺＥＷ（Ｘ）[ｂｙｔｅ]は、以下の式で表すことができる。
ＳＩＺＥＷ（Ｘ）＝ＴＰＷａｖｅ×α÷８
ここで、ＴＰＷａｖｅ［ｂｐｓ］は、初回からＸ−１回目までの無線リンクＬ１のスループットの移動平均である。
【００７１】
また、無線リンクＬ２のＹ回目の分割サイズＳＩＺＥＣ（Ｙ）[ｂｙｔｅ]は、以下の式で表すことができる。
ＳＩＺＥＣ（Ｙ）＝ＴＰＣａｖｅ×α÷８
ここで、ＴＰＣａｖｅ［ｂｐｓ］は、初回からＹ−１回目までの無線リンクＬ２のスループットの移動平均である。
【００７２】
なお、スループットの移動平均は、各回のスループットに重み付けをしない単純移動平均としてもよいし、重み付けを加えた加重移動平均としてもよい。また、スループットの移動平均は、直近の数回分（例えば、３回分）のスループットの移動平均としてもよい。
【００７３】
（第３実施形態）
第１の実施形態において、分割データの取得回数に従って、次に取得する分割データの分割サイズが徐々に大きくなるように、時間αを徐々に長くしていく（例えば、α＝２，４，６，８，１０，１０，・・・）例を説明したが、これに限られるものではない。例えば、通信装置１は、２回目以降の分割データの分割サイズを決定する際に、時間αを固定値としてもよい。
【００７４】
（第４実施形態）
各無線リンクのスループットは常に一定ではなく、時々刻々と変化している。そのため、例えば２つの無線リンクで分割ダウンロードを行う場合に、一方の無線リンクのスループットが途中で低下した場合、想定していた時間よりも多くダウンロードに要する時間が掛ってしまうことがある。例えば、２つの無線リンクで同時に終了するはずであった分割ダウンロードが同時に終了せず、スループットが低下してしまった無線リンクのダウンロードが完了するまで全体のダウンロードの完了が引っ張られてしまうことがある。
【００７５】
図８は、コンテンツデータの分割ダウンロードの最後の部分を説明する説明図である。
この図を参照して、無線リンクＬ１と無線リンクＬ２とに割り当てた分割データの取得予定時間に差ができてしまった場合の例を説明する。なお、横軸は時刻Ｔを示しており、無線リンクＬ１と無線リンクＬ２の分割データの最後の部分を時系列に示している。分割データＤ（Ｍ）は、コンテンツデータＤＴのうちの最後の分割データであって、無線リンクＬ２でダウンロードする最後の分割データである。また、分割データＤ（Ｍ−１）は、コンテンツデータＤＴのうちの最後から２番目の分割データであって、無線リンクＬ１でダウンロードする最後の分割データである。分割データＤ（Ｍ−２）は、コンテンツデータＤＴのうちの最後から３番目の分割データであって、無線リンクＬ２でダウンロードする最後から２番目の分割データである。
【００７６】
時刻Ｔ１０において、無線リンクＬ２では、分割データＤ（Ｍ−２）のダウンロードが完了する。そして、分割データＤ（Ｍ−２）の取得に要した時間ＴＣ（Ｙ−１）[ｓ：秒]によりスループットが算出され、算出されたスループット又はそれまでのスループットの移動平均により時間α（例えば、α＝１０）［ｓ：秒］で取得可能なデータサイズが、次にダウンロードする分割データＤ（Ｍ）の分割サイズＳＩＺＥＣ（Ｙ）[ｂｙｔｅ]として決定される。ここで、分割データＤ（Ｍ）は、コンテンツデータＤＴの最後のデータであるため、分割データＤ（Ｍ）の分割サイズＳＩＺＥＣ（Ｙ）［ｂｙｔｅ］は、時間α（例えば、α＝１０）［ｓ：秒］で取得可能なデータサイズ以下である。
【００７７】
一方、無線リンクＬ１では、時刻Ｔ１０において、コンテンツデータＤＴの最後から２番目の分割データである分割データＤ（Ｍ−１）が、ダウンロード中である。また、分割データＤ（Ｍ−１）のダウンロードの完了予定時刻は、分割データＤ（Ｍ−１）のダウンロードに要する時間ＴＷ（Ｘ）[ｓ：秒]により定まる時刻Ｔ２０である。従って、このまま分割ダウンロードが継続されると、時刻Ｔ２０で、無線リンクＬ１を用いた分割データＤ（Ｍ−１）のダウンロードが完了し、その後、時刻Ｔ２０から時刻Ｔ３０までの間は、無線リンクＬ２を用いた分割データＤ（Ｍ）のダウンロードのみが、ダウンロードが完了する時刻Ｔ３０まで続くことになる。つまり、片方の無線リンクのみでダウンロードが行われる時刻Ｔ２０から時刻Ｔ３０の期間が生じてしまい、ダウンロードの速度低下につながる。
【００７８】
そこで、本実施形態では、各無線リンクに割り当てた分割データのダウンロード完了予定時刻に差ができてしまった場合、一方の無線リンクが先にダウンロードを完了し、他方の無線リンクのダウンロードが完了するまでの間遊んでしまう（ダウンロードに寄与しない）ことを改善する。具体的には、コンテンツデータのうちの最後の分割データをダウンロードする部分で改善する。
例えば、通信装置１は、無線リンクＬ１と無線リンクＬ２とを用いてコンテンツデータを分割して取得する際に、一方の無線リンクで次に取得する分割データがコンテンツデータの最後（ファイルの最後）に到達した場合、他方の無線リンクの空き状況を確認し、両方の無線リンクが同時に分割データの取得を終了するように、各無線リンクを用いて取得する分割データそれぞれの分割サイズを調整する。
【００７９】
図９は、コンテンツデータの分割ダウンロードの最後の部分の改善を説明する説明図である。この図は、図８に示す分割ダウンロードの最後の部分の改善の一例を示しており、図８と同様に、横軸は時刻Ｔを示している。
【００８０】
時刻Ｔ１０において、分割容量決定部Ｐ１１３は、無線リンクＬ２を用いて分割データＤ（Ｍ−２）の取得に要した時間ＴＣ（Ｙ−１）[ｓ：秒]により算出されたスループット又はそれまでのスループットの移動平均により時間α（例えば、α＝１０）［ｓ：秒］で取得可能な分割データＤ（Ｍ）の分割サイズＳＩＺＥＣ（Ｙ）[ｂｙｔｅ]を算出する。なお、ここでは、スループットの移動平均を用いることとして説明する。分割データＤ（Ｍ）がコンテンツデータのうちの最後のデータを含む場合（ファイルエンドまでのデータである場合）、この分割データＤ（Ｍ）を、無線リンクＬ１と無線リンクＬ２との最終のダウンロード完了予定時刻が同じになるように、さらに分割して各無線リンクに割り当てる。なお、前述したように、分割データＤ（Ｍ）の分割サイズＳＩＺＥＣ（Ｙ）［ｂｙｔｅ］は、時間α（例えば、α＝１０）［ｓ：秒］で取得可能なデータサイズ以下である。
【００８１】
具体的には、分割容量決定部Ｐ１１３は、分割データＤ（Ｍ）を、分割データＤ（Ｍ１）と、分割データＤ（Ｍ２）と、分割データＤ（Ｍ３）とに分割する。
分割データＤ（Ｍ１）は、無線リンクＬ１を用いて取得中の分割データＤ（Ｍ−１）のダウンロードの完了予定時刻Ｔ２０と同じ時刻に、無線リンクＬ２を用いてダウンロード完了となる分の分割データである。
分割データＤ（Ｍ１）の分割サイズＳＩＺＥＣ（Ｙ１）［ｂｙｔｅ］は、時刻Ｔ１０から時刻Ｔ２０までの時間を時間ＴＬ１０［ｓ：秒］、無線リンクＬ２のスループットの移動平均をＴＰＣａｖｅ［ｂｐｓ］、とすると、以下の式で表すことができる。
ＳＩＺＥＣ（Ｙ１）＝ＴＰＣａｖｅ×ＴＬ１０÷８
【００８２】
分割データＤ（Ｍ２）と、分割データＤ（Ｍ３）とは、分割データＤ（Ｍ）から分割データＤ（Ｍ１）を除いた残りのデータを、さらに２つに分割したデータである。この分割データＤ（Ｍ２）と、分割データＤ（Ｍ３）とは、それぞれ無線リンクＬ１と無線リンクＬ２とでダウンロードするのに要する時間が同じになるように分割される。この図に示す例では、時刻Ｔ２０から時刻Ｔ２５までの時間ＴＬ２０［ｓ：秒］で、分割データＤ（Ｍ２）が無線リンクＬ２を用いてダウンロードされ、分割データＤ（Ｍ３）が無線リンクＬ１を用いてダウンロードされるように分割される。
ここで、無線リンクＬ１のスループットの移動平均をＴＰＷａｖｅ［ｂｐｓ］、無線リンクＬ２のスループットの移動平均をＴＰＣａｖｅ［ｂｐｓ］とすると、時間ＴＬ２０［ｓ：秒］は、以下の式で表すことができる。
時間ＴＬ２０＝（ＳＩＺＥＣ（Ｙ）−ＳＩＺＥＣ（Ｙ１））×８÷（ＴＰＣａｖｅ＋ＴＰＷａｖｅ）
【００８３】
この場合、分割データＤ（Ｍ２）の分割サイズＳＩＺＥＣ（Ｙ２）［ｂｙｔｅ］は、無線リンクＬ２のスループットの移動平均をＴＰＣａｖｅ［ｂｐｓ］、とすると、以下の式で表すことができる。
ＳＩＺＥＣ（Ｙ２）＝ＴＰＣａｖｅ×ＴＬ２０÷８
【００８４】
また、分割データＤ（Ｍ３）の分割サイズＳＩＺＥＣ（Ｙ３）［ｂｙｔｅ］は、無線リンクＬ１を用いてダウンロードされるため、無線リンクＬ１のスループットの移動平均をＴＰＷａｖｅ［ｂｐｓ］、とすると、以下の式で表すことができる。
ＳＩＺＥＣ（Ｙ３）＝ＴＰＷａｖｅ×ＴＬ２０÷８
【００８５】
そして、セッション管理部Ｐ１１１は、時刻Ｔ１０において、分割データＤ（Ｍ１）をレンジリクエストで指定して、ＨＴＴＰリクエストを、無線リンクＬ２を用いてサーバ装置Ｓｖ１０４へ送信する。また、セッション管理部Ｐ１１１は、無線リンクＬ２で分割データＤ（Ｍ１）のダウンロードが完了すると（例えば、時刻Ｔ２０）、分割データＤ（Ｍ２）をレンジリクエストで指定して、ＨＴＴＰリクエストを、無線リンクＬ２を用いてサーバ装置Ｓｖ１０４へ送信する。また、セッション管理部Ｐ１１１は、無線リンクＬ１で分割データＤ（Ｍ−１）のダウンロードが完了すると（例えば、時刻Ｔ２０）、分割データＤ（Ｍ３）をレンジリクエストで指定して、ＨＴＴＰリクエストを、無線リンクＬ１を用いてサーバ装置Ｓｖ１０４へ送信する。これにより、ダウンロード全体の完了予定時刻を、時刻Ｔ３０から時刻Ｔ２５に早めることができ、コンテンツデータ全体のダウンロード速度を速くすることができる。
【００８６】
このように、本実施形態では、プロキシ部Ｐ１は、Ｗｉ−Ｆｉ通信（第１通信の一例）を用いて分割データを取得中に、セルラー通信（第２通信の一例）を用いて次に取得する分割データの分割サイズを決定する場合、コンテンツデータのうち最後の分割データ（すなわち、未取得の残りのコンテンツデータ）を、第１通信を用いて取得する分割データと第２通信を用いて取得する分割データとに分割する。また、プロキシ部Ｐ１は、それぞれの分割データのダウンロードの完了予定時刻（取得完了予定時刻）が同じになるように、それぞれの分割データの分割サイズを決定する。
【００８７】
つまり、通信装置１は、コンテンツデータの分割ダウンロードの最後の部分で、各無線リンクのダウンロードの最終の完了予定時刻が同じになるように各無線リンクに分割データを割り当てる。これにより、通信装置１は、一方の無線リンクが先にダウンロードを完了し他方の無線リンクのダウンロードが完了するまでの間遊んでしまう（ダウンロードに寄与しない）期間が生じてしまうことを抑制することができる。よって、通信装置１は、無線リンクの利用効率を最大にすることができ、コンテンツデータ全体の取得速度を最大現に引き出すことができる。
【００８８】
例えば、本実施形態では、プロキシ部Ｐ１は、上述の最後の分割データ（例えば、分割データＤ（Ｍ））のうち、第１通信を用いて取得中の分割データ（例えば、分割データＤ（Ｍ−１））のダウンロードの完了予定時刻と同じ時刻に第２通信を用いて取得完了となる分の分割サイズを、第２通信を用いて次に取得する分割データ（例えば、分割データＤ（Ｍ１））の分割サイズとして決定する。また、プロキシ部Ｐ１は、上述の最後の分割データ（例えば、分割データＤ（Ｍ））から、決定した分割サイズの分割データ（例えば、分割データＤ（Ｍ１））を除いたコンテンツデータを、第１通信を用いて取得中の分割データの次に取得する分割データ（例えば、分割データＤ（Ｍ２））と、第２通信を用いて次に取得する分割データのさらに次に取得する分割データ（例えば、分割データＤ（Ｍ３））とに分割する。ここで、プロキシ部Ｐ１は、分割するそれぞれの分割データ（例えば、分割データＤ（Ｍ２）と分割データＤ（Ｍ３））の分割サイズを、それぞれの通信を用いて取得に要する時間が同じになるように決定する。
【００８９】
なお、本実施形態では、プロキシ部Ｐ１は、コンテンツデータの分割ダウンロードの最後の部分（例えば、分割データＤ（Ｍ））を３つの分割データに分割して、各無線リンクの最終のダウンロードの完了予定時刻（取得完了予定時刻）が同じになるように、各無線リンクに割り当てる例を説明したが、これに限られるものではない。例えば、プロキシ部Ｐ１は、コンテンツデータの分割ダウンロードの最後の部分（例えば、分割データＤ（Ｍ））を２つの分割データに分割してもよい。この場合、プロキシ部Ｐ１は、無線リンクＬ２を用いて時刻Ｔ１０から時刻Ｔ２５までの時間（時間ＴＬ１０＋時間ＴＬ２０）で取得可能な分割データ（分割データＤ（Ｍ１）＋分割データＤ（Ｍ２）に相当）と、無線リンクＬ１を用いて時刻Ｔ２０から時刻Ｔ２５までの時間（時間ＴＬ２０）で取得可能な分割データ（分割データＤ（Ｍ３）に相当）と、の２つの分割データに分割する。
【００９０】
なお、上述した実施形態における通信装置１の一部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、通信装置１に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
また、上述した実施形態における通信装置１の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。通信装置１の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００９１】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【００９２】
１・・・通信装置、ＡＰ１・・・アクセスポイント、ＢＳ１・・・基地局装置、Ｓｖ１０１、Ｓｖ１０２、Ｓｖ１０３、Ｓｖ１０４・・・サーバ装置、１１・・・入力部、１２・・・出力部、１３・・・制御部、１４・・・記憶部、１５・・・通信部、１３１・・・アプリケーション部、Ｐ１・・・プロキシ部、１５１−１〜１５１−Ｎ・・・インターフェース、１５２・・・信号強度検出部、Ｐ１１１・・・セッション管理部、Ｐ１１２・・・スループット取得部、Ｐ１１３・・・分割容量決定部、Ｐ１２１・・・信号強度取得部、Ｐ１２２・・・計時部、Ｐ１４・・・ＩＦ選択部
【図１】
0006488527.tif 000002
【図２】
0006488527.tif 000003
【図３】
0006488527.tif 000004
【図４】
0006488527.tif 000005
【図５】
0006488527.tif 000006
【図６】
0006488527.tif 000007
【図７】
0006488527.tif 000008
【図８】
0006488527.tif 000009
【図９】
0006488527.tif 000010