(57)【要約】【課題】ファイルを受信及び処理する際のスループットを考慮して、結合するファイル数又はファイルサイズを変更することにより、サーバからファイルを効率的に受信する。【解決手段】サーバからファイルを受信する通信装置は、ファイル数又はファイルサイズを指定して、前記サーバに対してファイルを結合して送信するこように要求する結合要求部と、結合されたファイルを受信する受信部と、結合されたファイルを分割する分割部と、ファイルを受信及び処理する際のスループットを計測する計測部とを有する。前記結合要求部は、計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更する。【選択図】図１
2014029585.tif 000002
【特許請求の範囲】
【請求項１】
サーバからファイルを受信する通信装置であって、
ファイル数又はファイルサイズを指定して、前記サーバに対してファイルを結合して送信するように要求する結合要求部と、
結合されたファイルを受信する受信部と、
結合されたファイルを分割する分割部と、
ファイルを受信及び処理する際のスループットを計測する計測部と、
を有し、
前記結合要求部は、計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更する通信装置。
【請求項２】
受信しようとするファイルのファイル数、ファイルサイズ及びネットワーク状況のうち少なくとも1つを含む情報を収集する情報収集部と、
計測されたスループットが最適化されたときのファイル数又はファイルサイズを、前記情報収集部で収集された情報と対応付けて記憶する記憶部と、
を更に有する、請求項１に記載の通信装置。
【請求項３】
前記記憶部から、前記情報収集部で収集された情報に対応するファイル数又はファイルサイズを取得し、取得されたファイル数又はファイルサイズから、前記結合要求部が指定するファイル数又はファイルサイズの初期値を判定する初期値判定部を更に有する、請求項２に記載の通信装置。
【請求項４】
前記計測部は、スループットとして、前記結合要求部がファイルを要求してから前記分割部がファイルを分割するまでの期間における単位時間当たりの受信ファイル数又はファイルサイズを計測し、単位時間当たりの受信ファイル数又はファイルサイズが最大となる場合にスループットが最適化されたと判定する、請求項１乃至３のうちいずれか１項に記載の通信装置。
【請求項５】
前記計測部は、スループットとして、前記結合要求部がファイルを要求してから前記分割部がファイルを分割するまでの期間における単位時間当たりの受信ファイル数又はファイルサイズを計測し、単位時間当たりの受信ファイル数又はファイルサイズの増分が所定の閾値未満となる場合にスループットが最適化されたと判定する、請求項１乃至３のうちいずれか１項に記載の通信装置。
【請求項６】
サーバと、該サーバからファイルを受信する通信装置とを有するファイル送受信システムであって、
前記サーバは、
前記通信装置からの要求に従ってファイルを結合する結合部と、
結合されたファイルを送信する送信部と、
を有し、
前記通信装置は、
ファイル数又はファイルサイズを指定して、前記サーバに対してファイルを結合して送信するように要求する結合要求部と、
結合されたファイルを受信する受信部と、
結合されたファイルを分割する分割部と、
ファイルを受信及び処理する際のスループットを計測する計測部と、
を有し、
前記結合要求部は、計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更するファイル送受信システム。
【請求項７】
前記通信装置は、
受信しようとするファイルのファイル数、ファイルサイズ及びネットワーク状況のうち少なくとも1つを含む情報を収集する情報収集部と、
計測されたスループットが最適化されたときのファイル数又はファイルサイズを、前記情報収集部で収集された情報と対応付けて記憶する記憶部と、
前記記憶部から、前記情報収集部で収集された情報に対応するファイル数又はファイルサイズを取得し、取得されたファイル数又はファイルサイズから、前記結合要求部が指定するファイル数又はファイルサイズの初期値を判定する初期値判定部と、
を更に有する、請求項６に記載のファイル送受信システム。
【請求項８】
前記通信装置は、
受信しようとするファイルのファイル数、ファイルサイズ及びネットワーク状況のうち少なくとも１つを含む情報を収集し、前記通信装置の機種と共に前記サーバに送信する情報収集部と、
計測されたスループットが最適化されたときのファイル数又はファイルサイズを前記サーバに送信する送信部と、
を更に有し、
前記サーバは、
計測されたスループットが最適化されたときのファイル数又はファイルサイズと、前記通信装置から受信した情報と、前記通信装置の機種とを対応付けて記憶する記憶部と、
前記記憶部から、前記通信装置から受信した情報と通信装置の機種とに対応するファイル数又はファイルサイズを取得し、取得されたファイル数又はファイルサイズから、前記通信装置が指定するファイル数又はファイルサイズの初期値を判定し、前記通信装置に通知する初期値判定部と、
を更に有する、請求項６に記載のファイル送受信システム。
【請求項９】
サーバからファイルを受信する通信装置におけるファイル受信方法であって、
ファイル数又はファイルサイズを指定して、前記サーバに対してファイルを結合して送信するように要求する結合要求ステップと、
結合されたファイルを受信する受信ステップと、
結合されたファイルを分割する分割ステップと、
ファイルを受信及び処理する際のスループットを計測する計測ステップと、
を有し、
前記結合要求ステップは、計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更するファイル受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、ファイル送受信システム及びファイル受信方法に関する。
【背景技術】
【０００２】
携帯電話又はスマートフォンのようなクライアントとサービス提供サーバとの間でファイルを送受信する場合に、HTTP（Hypertext  Transfer  Protocol）のようなステートレスな通信プロトコルが使用されることがある。ステートレスな通信プロトコルでは、クライアントからの要求に対してサーバが応答した時点で接続が終了し、状態が保持されない。多数のファイルを送受信する場合に送受信のオーバーヘッドを削減するために、ファイルをバイナリ結合して送受信することが考えられている。例えば、サービス提供サーバが複数のファイルを圧縮して記憶しておき、クライアントが圧縮されたファイルをダウンロードすることが検討されている。また、クライアントからの要求により、ファイルを統合せずに送信するかファイルを統合して送信するかを選択することも検討されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2008-090490号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようにファイルをバイナリ結合することにより、送受信のオーバーヘッドを削減することができる。しかし、バイナリ結合するかバイナリ結合しないかはクライアントの要求によって決まり、ファイルサイズ、ネットワーク状況及びクライアントの性能等は考慮されていない。その結果、どのような送受信環境でもバイナリ結合されるファイル数は同じになる。例えば、ファイルサイズが小さい場合、バイナリ結合するファイル数又は結合後の上限ファイルサイズを大きくすれば、送受信のオーバーヘッドを削減できると考えられる。一方、バイナリ結合するファイル数又は上限サイズを大きくすればするほど、クライアント及びサーバでの処理負荷が大きくなり、クライアントによってはバイナリ結合による効果が得られない可能性がある。
【０００５】
一方、ファイルサイズが大きい場合、バイナリ結合されたファイルを受信すると、タイムアウトとなる可能性がある。このような場合には、ファイルをバイナリ結合しない方が効率的である。
【０００６】
本発明は、ファイルを受信及び処理する際のスループットを考慮して、結合するファイル数又は上限サイズを変更することにより、サーバからファイルを効率的に受信することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一形態に係る通信装置は、
サーバからファイルを受信する通信装置であって、
ファイル数又はファイルサイズを指定して、前記サーバに対してファイルを結合して送信するように要求する結合要求部と、
結合されたファイルを受信する受信部と、
結合されたファイルを分割する分割部と、
ファイルを受信及び処理する際のスループットを計測する計測部と、
を有し、
前記結合要求部は、計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更することを特徴とする。
【０００８】
本発明の一形態に係るファイル送受信システムは、
サーバと、該サーバからファイルを受信する通信装置とを有するファイル送受信システムであって、
前記サーバは、
前記通信装置からの要求に従ってファイルを結合する結合部と、
結合されたファイルを送信する送信部と、
を有し、
前記通信装置は、
ファイル数又はファイルサイズを指定して、前記サーバに対してファイルを結合して送信するように要求する結合要求部と、
結合されたファイルを受信する受信部と、
結合されたファイルを分割する分割部と、
ファイルを受信及び処理する際のスループットを計測する計測部と、
を有し、
前記結合要求部は、計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更することを特徴とする。
【０００９】
本発明の一形態に係るファイル受信方法は、
サーバからファイルを受信する通信装置におけるファイル受信方法であって、
ファイル数又はファイルサイズを指定して、前記サーバに対してファイルを結合して送信するように要求する結合要求ステップと、
結合されたファイルを受信する受信ステップと、
結合されたファイルを分割する分割ステップと、
ファイルを受信及び処理する際のスループットを計測する計測ステップと、
を有し、
前記結合要求ステップは、計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ファイルを受信及び処理する際のスループットを考慮して、結合するファイル数又はファイルサイズを変更することにより、サーバからファイルを効率的に受信することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例に係るファイル送受信システムの機能ブロック図
【図２】本発明の実施例に係る記憶部に記憶される情報を示す例
【図３】スループットとファイル数又はファイルサイズとの関係を示す図
【図４】本発明の実施例に係るファイル受信方法のシーケンス図
【図５】本発明の変形例に係るファイル送受信システムの機能ブロック図
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について、図面を参照して説明する。
【００１３】
本発明の実施例では、携帯電話又はスマートフォンのようなクライアントがサーバに記憶されている複数のファイルをダウンロードする場合について説明する。サーバはファイルを結合してクライアントに送信できるものとする。
【００１４】
クライアントがファイルを受信して処理する時間は、結合するファイル数又はファイルサイズ、クライアントの性能、ネットワーク状況等に依存する。結合するファイル数又はファイルサイズの最適化を図るため、まず、クライアントは、初期値としてのファイル数又はファイルサイズを指定して、サーバに対してファイルを結合して送信するように要求する。サーバは、クライアントからの要求に従ってファイルを結合して送信する。クライアントは、結合されたファイルを受信し、分割する。
【００１５】
このとき、クライアントは、ファイルを受信及び処理する際のスループットを計測する。スループットとは、ファイルを受信及び処理する際の単位時間当たりの受信ファイル数又はファイルサイズを意味する。そして、計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更する。例えば、クライアントは、ファイルを要求してからファイルを分割するまでの期間における単位時間当たりの分割済みの受信ファイル数または合計ファイルサイズを計測する。次に、指定するファイル数又はファイルサイズを所定値だけ増やし、クライアントは、所定値だけ増やしたファイル数又はファイルサイズを指定して、サーバに対してファイルを結合して送信するように要求する。このときも同様に、クライアントは、ファイルを受信及び処理する際のスループットを計測する。単位時間当たりの分割済みの受信ファイル数または合計ファイルサイズが最大となるまで、又は単位時間当たりの受信ファイルの増分が所定の閾値未満となるまで、クライアントは、指定するファイル数又はファイルサイズを所定値だけ増やす。そして、最適なファイル数又はファイルサイズでサーバからファイルを受信する。
【００１６】
本発明の実施例に係るシステムの構成及び動作について、以下に詳細に説明する。
【００１７】
＜システムの構成＞
図１に、本発明の実施例に係るファイル送受信システム１の機能ブロック図を示す。ファイル送受信システム１は、クライアント１０と、サーバ２０とを有する。クライアント１０とサーバ２０とは、無線通信ネットワーク又は有線通信ネットワーク等の通信ネットワークで結合されている。クライアント１０は、サーバ２０に対してファイルを結合して送信するように要求し、サーバ２０から結合されたファイルを受信して処理する通信装置である。例えば、クライアント１０は、HTTPのような通信プロトコルに従ってサーバに対してファイルを要求する。サーバ２０は、複数のファイルを記憶しており、クライアント１０からの要求に従ってファイルを結合してクライアント１０に送信する。
【００１８】
例えば、サーバ２０には、複数の写真のサムネイル画像が記憶されている場合を想定する。クライアント１０は、サーバから複数の写真のサムネイル画像を受信し、画面に一覧表示する。この場合、クライアント１０がHTTPのようなステートレスな通信プロトコルに従ってサーバから１つずつサムネイル画像を受信すると、送受信のオーバーヘッドが大きくなり、複数のサムネイル画像がクライアントの画面に表示されるまでの時間が長くなる。このため、クライアント１０は、結合するファイル数又はファイルサイズを指定して、サーバ２０に対してファイルを結合して送信するように要求する。例えば、写真のサムネイル画像の場合には各ファイルのサイズが予め想定されるため、クライアント１０はファイル数を指定すればよい。しかし、各ファイルのサイズが異なる場合、クライアント１０はファイルサイズを指定する必要がある。サーバ２０は、指定されたファイル数又はファイルサイズに従ってファイルを結合し、クライアント１０に送信する。例えば、写真のサムネイル画像の場合には、サーバ２０は、Unix（登録商標）のtarコマンドを使用して、指定されたファイル数のファイルをバイナリ結合してもよく、指定されたファイルサイズになるまでファイルをバイナリ結合してもよい。
【００１９】
クライアント１０及びサーバ２０の詳細な機能について以下に説明する。
【００２０】
クライアント１０は、制御部１０１と、情報収集部１０３と、記憶部１０５と、初期値判定部１０７と、結合要求部１０９と、送受信部１１１と、計測部１１３と、分割部１１５とを有する。
【００２１】
制御部１０１は、クライアント１０の各機能部の動作を制御する。制御部１０１は、各機能部に対して必要な情報を提供し、各機能部から処理結果を受け取る。なお、制御部１０１が存在せずに、制御部１０１の機能が各機能部に分散されてもよい。この場合、１つの機能部の処理結果は、制御部１０１を介さずに他の機能部に提供される。
【００２２】
情報収集部１０３は、受信しようとするファイルのファイル数、ファイルサイズ及びネットワーク状況等のうち少なくとも１つを含む情報を収集する。例えば、情報収集部１０３は、受信しようとするファイルのファイルサイズとして、受信しようとするファイルの個別ファイルサイズを取得してもよく、送受信の種類に応じて予め与えられた想定ファイルサイズ（例えば、サムネイル画像の平均サイズ）を取得してもよく、直近Ｎ回（Nは任意の定数）の受信ファイルの平均ファイルサイズを取得してもよい。また、携帯電話の画面に受信状況として表示されるアンテナ数を取得してもよく、基地局からの電波強度の測定値を取得してもよい。
【００２３】
記憶部１０５は、結合するファイル数又はファイルサイズの最適値を、情報収集部１０３で収集された情報であるファイル数、ファイルサイズ、ネットワーク状況等と対応付けて記憶する。なお、結合するファイル数又はファイルサイズの最適値は、以下に説明する通り、計測部１１３における計測結果から判定される。
【００２４】
図２に、記憶部１０５に記憶される情報の例を示す。上記のように、各ファイルのサイズが予め想定される場合、クライアント１０は、サーバ２０に対して結合するファイル数を指定してもよい。この場合、記憶部１０５は、結合するファイル数の最適値と、情報収集部１０３で収集された情報であるファイル数、ファイルサイズ、ネットワーク状況等のうち少なくとも１つとを対応付けて記憶する。図２（Ａ）の例では、結合するファイル数の最適値と、１つ当たりのファイルサイズと、ネットワーク状況とが記憶されている。例えば、１つ当たりのファイルサイズは、予め与えられた想定ファイルサイズ又は直近N回の受信ファイルの平均ファイルサイズでもよい。また、１つ当たりのファイルサイズは、受信しようとするファイル群の個別ファイルサイズを平均することにより算出されてもよい。なお、各ファイルのサイズがほぼ一定である場合、１つ当たりのファイルサイズは、受信しようとするファイルのファイル数から求められてもよい。ネットワーク状況が安定している場合、典型的には、図２（Ａ）に示すように、１つ当たりのファイルサイズが小さいほど、結合するファイル数は大きくなり、１つ当たりのファイルサイズが大きいほど、結合するファイル数は小さくなる。各ファイルのサイズが異なる場合、クライアント１０は、サーバ２０に対して結合するファイルサイズを指定してもよい。この場合、記憶部１０５は、ファイルサイズの最適値と、情報収集部１０３で収集された情報であるファイル数、ファイルサイズ、ネットワーク状況等のうち少なくとも１つとを対応付けて記憶する。結合するファイル数の最適値を記憶部１０５に記憶する場合と同様に、記憶部１０５は、図２（Ｂ）に示すように、１つ当たりのファイルサイズを記憶してもよい。ネットワーク状況が安定している場合、典型的には、図２（Ｂ）に示すように、１つ当たりのファイルサイズが小さいほど結合及び分割に要する時間が長くなるため、結合するファイルサイズは小さくなり、１つ当たりのファイルサイズが大きいほど、結合するファイルサイズは大きくなる。図２では、ネットワーク状況として、「良」又は「悪」が記憶されているが、受信状況を示すアンテナ数又は電波強度の測定値が記憶されてもよい。なお、ネットワーク状況が良好であると想定される場合には、ネットワーク状況は「良」として扱われ、記憶部１０３に記憶されなくてもよい。
【００２５】
初期値判定部１０７は、記憶部１０５から、受信しようとするファイルのファイル数、個別又は平均ファイルサイズ、ネットワーク状況等に対応するファイル数又はファイルサイズの履歴情報を読み出して取得し、取得されたファイル数又はファイルサイズから、結合するファイル数又はファイルサイズの初期値を判定する。例えば、初期値判定部１０７は、受信しようとするファイル群の想定される平均ファイルサイズに対応するファイル数又はファイルサイズを取得する。上記のように、平均ファイルサイズは、予め与えられた想定ファイルサイズ又は直近N回の受信ファイルの平均ファイルサイズでもよく、受信しようとするファイル群の個別ファイルサイズの平均ファイルサイズでもよく、受信しようとするファイルのファイル数から求められた値でもよい。また、例えば、初期値判定部１０７は、情報収集部１０３で収集された現在のネットワーク状況に対応するファイル数又はファイルサイズを取得してもよい。１つのファイル数又はファイルサイズのみが取得された場合、初期値判定部１０７は、そのファイル数又はファイルサイズを初期値とする。複数のファイル数又はファイルサイズが取得された場合、初期値判定部１０７は、平均値を初期値としてもよく、度数分布における最大となる値を初期値としてもよい。また、ファイル数又はファイルサイズを徐々に増やすことを考慮して、平均値又は度数分布における最大となる値から一定の値だけ低い値を初期値としてもよい。受信しようとするファイル群の想定される平均ファイルサイズに対応するファイル数又はファイルサイズが取得されなかった場合、初期値判定部１０７は、予め設定された値、例えば、ファイル数＝１又はファイルサイズ＝10kByte（例えば、サムネイル画像の平均サイズ）を初期値としてもよい。
【００２６】
結合要求部１０９は、ファイル数又はファイルサイズを指定して、サーバ２０に対してファイルを結合して送信するように要求する。サーバ２０から複数のファイルを数回に分けて受信する場合、結合要求部１０９は、１回目は、初期値判定部１０７により判定された初期値のファイル数又はファイルサイズを指定して、サーバ２０に対してファイルを結合して送信するように要求する。２回目以降は、以下に説明するように計測されたスループットに基づいて、指定するファイル数又はファイルサイズを変更し、サーバ２０に対してファイルを結合して送信するように要求する。具体的には、２回目以降は、結合するファイル数又はファイルサイズが最適値になるまで、指定するファイル数又はファイルサイズを所定値だけ増やし、所定値だけ増やしたファイル数又はファイルサイズを指定して、サーバに対してファイルを結合して送信するように要求する。ファイル数又はファイルサイズが最適値になった場合、結合要求部１０９は、最適値となったファイル数又はファイルサイズを指定して、サーバに対してファイルを結合して送信するように要求する。
【００２７】
送受信部１１１は、サーバ２０に要求を送信したり、サーバ２０からファイルを受信したりする通信インタフェースである。サーバ２０によりファイルが結合された場合、送受信部１０９は、結合されたファイルを受信する。
【００２８】
計測部１１３は、ファイルを受信及び処理する際のスループットを計測し、スループットが最適化されたかどうかを判定する。具体的には、計測部１１３は、結合要求部１０９がファイルを要求してから分割部１１５がファイルを分割するまでの期間における単位時間当たりの受信ファイル数又はファイルサイズを計測する。すなわち、計測部１１３は、以下の式に従ってスループットを計測する。
【００２９】
スループット＝（受信したファイル数又はファイルのサイズ）／（ファイルの処理時間）
なお、ファイルの処理時間は、ファイルの要求、結合、受信及び分割に要した時間を含む。
【００３０】
図３に、スループットとファイル数又はファイルサイズとの関係を示す。結合するファイル数又はファイルサイズが大きくすれば、送受信のオーバーヘッドが削減されるため、スループットが増加する。しかし、結合するファイル数又はファイルサイズが大きくなると、サーバにおいて結合に要する時間が長くなり、クライアントにおいて分割に要する時間が長くなる。このため、図３の（Ａ）において、スループットの増分が緩やかに減少する。そして、サーバ及びクライアントの性能によっては、結合による送受信のオーバーヘッドの削減効果よりも、結合に要する時間及び分割に要する時間の影響の方が大きくなる。このため、図３の（Ｂ）において、スループットが最大となる。更に、結合するファイル数又はファイルサイズが大きくなると、クライアントの要求がタイムアウトになる可能性があり、図３の（Ｃ）において、スループットが急激に低下する。
【００３１】
計測部１１３は、単位時間当たりの受信ファイルサイズが最大となる場合（図３の（Ｂ））に、スループットが最適化されたと判定してもよい。また、計測部１１３は、単位時間当たりの受信ファイルサイズの増分が所定の閾値未満となる場合（図３の（Ａ））に、スループットが最適化されたと判定してもよい。スループットが最適化されたときのファイル数又はファイルサイズは、最適値として情報収集部１０３で収集されたファイル数、ファイルサイズ、ネットワーク状況等と対応付けて記憶部１０５に記憶される。
【００３２】
分割部１１５は、結合されたファイルを分割する。分割されたファイルは、クライアントの画面に表示されてもよい。
【００３３】
サーバ２０は、制御部２０１と、送受信部２０３と、結合部２０５とを有する。
【００３４】
制御部２０１は、サーバ２０の各機能部の動作を制御する。制御部２０１は、各機能部に対して必要な情報を提供し、各機能部から処理結果を受け取る。クライアント１０の制御部１０１と同様に、制御部２０１が存在せずに、制御部２０１の機能が各機能部に分散されてもよい。
【００３５】
送受信部２０３は、クライアント１０から要求を受信したり、クライアント１０にファイルを送信したりする通信インタフェースである。サーバ２０がファイルを結合して送信する場合、送受信部２０３は、結合されたファイルを送信する。
【００３６】
結合部２０５は、クライアント１０からの要求に従ってファイルを結合する。ファイル数が指定された場合、結合部２０５は、指定された数のファイルを結合する。ファイルサイズが指定された場合、結合部２０５は、指定されたサイズになるまでファイルを結合する。
【００３７】
＜システムの動作＞
図４に、本発明の実施例に係るファイル受信方法のシーケンス図を示す。
【００３８】
制御部１０１は、クライアント１０の入力部で受け付けたユーザによるファイル取得要求等により、情報収集部１０３に対して、受信しようとするファイルのファイル数、ファイルサイズ、ネットワーク状況等のうち少なくとも１つを含む情報を収集するように要求する（Ｓ１０１）。情報収集部１０３が情報を収集すると（Ｓ１０３）、収集された情報は、制御部１０１に戻される（Ｓ１０５）。
【００３９】
制御部１０１は、初期値判定部１０７に対して、収集した情報に対応するファイル数又はファイルサイズの初期値を要求する（Ｓ１０７）。初期値判定部１０７は、記憶部１０５から収集した情報に対応するファイル数又はファイルサイズの履歴情報を読み出して取得する。（Ｓ１０９〜Ｓ１１３）、初期値判定部１０７は、取得されたファイル数又はファイルサイズから、結合するファイル数又はファイルサイズの初期値を判定する（Ｓ１１５）。判定されたファイル数又はファイルサイズの初期値は、制御部１０１に戻される（Ｓ１１７）。
【００４０】
制御部１０１は、ファイル数又はファイルサイズを結合要求部１０９に指示し（Ｓ１１９）、結合要求部１０９は、ファイル数又はファイルサイズを指定して、サーバ２０に対してファイルを結合して送信するように要求する（Ｓ１２１）。サーバ２０の結合部２０５は、指定されたファイル数又はファイルサイズになるまでファイルを結合し（Ｓ１２３）、結合されたファイルを送受信部２０３からクライアント１０に送信する（Ｓ１２５）。
【００４１】
制御部１０１は、結合されたファイルを受信すると、分割部１１５に対して結合されたファイルを分割するように要求する（Ｓ１２７）。分割部１１５は、結合されたファイルを分割する（Ｓ１２９）。分割されたファイルは、制御部１０１に戻され、画面に表示されてもよい（Ｓ１３１）。
【００４２】
制御部１０１は、ファイルの受信及び処理する際のスループットを計測するように計測部１１３に要求する（Ｓ１３３）。計測部１１３は、結合要求部１０９がファイル数又はファイルサイズの指示に基づいてファイルを要求してから分割部１１５がファイルを分割するまでの期間（Ｓ１１９〜Ｓ１３１）におけるスループットを計測し、スループットが最適化されたかどうかを判定する（Ｓ１３５）。判定結果は、制御部１０１に戻される（Ｓ１３７）。
【００４３】
制御部１０１は、計測部１１３の判定結果がスループットが最適化されていないというものであった場合、ファイル数又はファイルサイズを変更し、上記のステップＳ１１９〜Ｓ１３１を繰り返す。そして、計測部１１３の判定結果がスループットが最適値になったというものであった場合、最適値となったファイル数又はファイル数を使用して、上記のステップＳ１１９〜Ｓ１３１を繰り返す。
【００４４】
ファイルの受信が終了した場合、制御部１０１は、ファイル数又はファイルサイズの最適値を記憶部１０５に記憶するように要求する（Ｓ１３９）。記憶部１０５への記憶が完了した場合（Ｓ１４１）、その結果が制御部１０１に戻されてもよい（Ｓ１４３）。
【００４５】
＜変形例＞
上記の実施例では、クライアント１０がファイル数又はファイルサイズの初期値を判定しているが、ファイル数又はファイルサイズの初期値は、サーバ２０で判定されてもよい。このような変形例について以下に説明する。
【００４６】
図５に、本発明の変形例に係るファイル送受信システムの機能ブロック図を示す。
【００４７】
クライアント１０は、制御部１２１と、情報収集部１２３と、結合要求部１２９と、送受信部１３１と、計測部１３３と、分割部１３５とを有する。制御部１２１、情報収集部１２３、結合要求部１２９、送受信部１３１、計測部１３３及び分割部１３５の機能は、下記の点を除き、図１に示す制御部１０１、情報収集部１０３、結合要求部１０９、送受信部１１１、計測部１１３及び分割部１１５の機能と同じである。
【００４８】
情報収集部１２３は、受信しようとするファイルのファイル数、ファイルサイズ及びネットワーク状況等のうち少なくとも１つを含む情報を収集し、また、クライアントの情報として、例えばクライアント１０の機種を収集する。クライアント１０の機種とは、クライアントの仕様に応じてクライアントに付与される端末モデルを示す番号でもよい。これらの情報は、送受信部１３１を介してサーバ２０に送信される。
【００４９】
結合要求部１２９は、ファイル数又はファイルサイズを指定して、サーバ２０に対してファイルを結合して送信するように要求する。１回目のファイルの受信に使用する初期値は、送受信部１３１を介してサーバ２０から受信される。
【００５０】
計測部１３３は、図１を参照して説明したように、結合するファイル数又はファイルサイズの最適値を計測する。結合するファイル数又はファイルサイズの最適値は、送受信部１３１を介してサーバ２０に送信される。
【００５１】
サーバ２０は、制御部２２１と、送受信部２２３と、結合部２２５と、記憶部２３５と、初期値判定部２３７とを有する。制御部２２１、送受信部２２３及び結合部２２５の機能は、図１に示す制御部２０１、送受信部２０３及び結合部２０５の機能と同じである。
【００５２】
記憶部２３５は、クライアント１０から受信したファイル数又はファイルサイズの最適値を、情報収集部１０３で収集された情報であるファイル数、ファイルサイズ、又はクライアント１０から受信したネットワーク状況等のうち少なくとも１つと対応付けて記憶する。このときに、記憶部２３５は、クライアント１０から受信したクライアント１０の機種も対応付けて記憶してもよい（図２に図示せず）。
【００５３】
初期値判定部２３７は、記憶部２３５から、受信しようとするファイルのファイル数、ファイルサイズ、クライアント１０から受信したネットワーク状況等に対応するファイル数又はファイルサイズの履歴情報を読み出して取得し、取得されたファイル数又はファイルサイズから、結合するファイル数又はファイルサイズの初期値を判定する。初期値の判定方法は、図１を参照して説明した通りである。ただし、この変形例において、初期値判定部２３７は、クライアント１０の機種を考慮してもよい。具体的には、初期値判定部２３７は、記憶部２３５から、ファイル数、ファイルサイズ、クライアント１０から受信したネットワーク状況等とクライアント１０の機種とに対応するファイル数又はファイルサイズの履歴情報を読み出して取得し、図１を参照して説明した通り、取得されたファイル数又はファイルサイズから、結合するファイル数又はファイルサイズの初期値を判定してもよい。
【００５４】
この変形例に係るファイル送受信方法は、下記の点を除き、図４と同様に行われる。
【００５５】
ステップＳ１０５とＳ１０７との間に、制御部１２１から記憶部２３５に対して、ファイル数、ファイルサイズ、収集されたネットワーク状況及びクライアント１０の機種等を記憶するように要求する。このネットワーク状況及びクライアント１０の機種に対応するファイル数又はファイルサイズの最適値は、以下の通り、ステップＳ１３９〜Ｓ１４１において設定される。
【００５６】
ステップＳ１３９において、制御部１２１は、ファイル数又はファイルサイズの最適値を記憶部２３５に記憶するように要求すると、ステップＳ１４１において、記憶部２３５は、計測されたファイル数又はファイルサイズの最適値を記憶する。
【００５７】
説明の便宜上、本発明の実施例に係るファイル送受信システムは機能的なブロック図を用いて説明しているが、本発明の実施例に係るファイル送受信システムは、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。
【００５８】
説明の便宜上、本発明の実施例に係る方法は処理の流れを示すシーケンス図を用いて説明しているが、本発明の方法は、実施例に示す順序と異なる順序で実施されてもよい。
【００５９】
＜実施例の効果＞
本発明の実施例によれば、ファイルを受信及び処理する際のスループットを考慮して、結合するファイル数又はファイルサイズを変更することにより、サーバからファイルを効率的に受信することが可能になる。
【００６０】
写真のサムネイル画像のように、一度に多数のファイルをダウンロードする必要がある場合、初めの数回の受信効率は低くても、徐々に最適なファイル数又はファイルサイズでダウンロードされるようになる。
【００６１】
この最適なファイル数又はファイルサイズを記憶部に記憶しておくことにより、別のファイルを受信する場合に、過去に計測した最適なファイル数又はファイルサイズで受信することが可能になる。
【００６２】
また、上記の変形例のように、最適なファイル数又はファイルサイズをサーバで管理することにより、同じ機種を使うユーザに対して、最適なファイル数又はファイルサイズを適用することが可能になる。
【００６３】
以上、サーバからファイルを効率的に受信するための通信装置、ファイル送受信システム及びファイル受信方法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【００６４】
１      ファイル送受信システム
１０    クライアント
２０    サーバ
１０１  制御部
１０３  情報収集部
１０５  記憶部
１０７  初期値判定部
１０９  結合要求部
１１１  送受信部
１１３  計測部
１１５  分割部
２０１  制御部
２０３  送受信部
２０５  結合部
【図１】
2014029585.tif 000003
【図２】
2014029585.tif 000004
【図３】
2014029585.tif 000005
【図４】
2014029585.tif 000006
【図５】
2014029585.tif 000007