(57)【特許請求の範囲】
【請求項１】
コンテンツサーバからセグメントごとにコンテンツデータを取得する複数の通信端末と、前記複数の通信端末と通信する情報サーバと、を備えるデータ配信システムであって、
前記情報サーバは、
前記通信端末間のアドホック接続の確立に必要なアドホック接続情報を生成するアドホック接続情報生成部と、
アドホックネットワークごとに、前記コンテンツデータの取得所要時間が最も短い通信端末が先頭のコンテンツデータを取得するように、前記各通信端末が前記コンテンツサーバから取得するコンテンツデータを指示する取得データ情報を生成する取得データ判定部と、
前記アドホック接続情報及び前記取得データ情報を前記各通信端末に通知する端末通知部と、
を備え、
前記通信端末は、
前記アドホック接続情報に基づいて通信端末間のアドホックネットワークを構築するアドホック接続部と、
前記取得データ情報に基づいて、前記コンテンツサーバからコンテンツデータを取得するデータ取得部と、を備える
ことを特徴とするデータ配信システム。
【請求項２】
前記取得データ判定部は、アドホックネットワークごとに、前記コンテンツデータの取得所要時間が短い通信端末ほど多くのコンテンツデータを取得するように、前記取得データ情報を生成することを特徴とする、請求項１に記載のデータ配信システム。
【請求項３】
前記取得データ判定部は、アドホックネットワーク内の各通信端末が前記コンテンツサーバから異なるコンテンツデータを取得し、全コンテンツデータの取得完了時間が最も短くなるように、前記通信端末が前記コンテンツサーバから取得するコンテンツデータを決定することを特徴とする、請求項２に記載のデータ配信システム。
【請求項４】
コンテンツサーバからセグメントごとにコンテンツデータを取得する複数の通信端末と通信する情報サーバであって、
前記通信端末間のアドホック接続の確立に必要なアドホック接続情報を生成するアドホック接続情報生成部と、
前記アドホック接続情報に基づいて構築されたアドホックネットワークごとに、前記コンテンツデータの取得所要時間が最も短い通信端末が先頭のコンテンツデータを取得するように、前記各通信端末が前記コンテンツサーバから取得するコンテンツデータを指示する取得データ情報を生成する取得データ判定部と、
前記アドホック接続情報及び前記取得データ情報を前記各通信端末に通知する端末通知部と、
を備えることを特徴とする情報サーバ。
【請求項５】
請求項４に記載の情報サーバと通信を行うとともに、コンテンツサーバからセグメントごとにコンテンツデータを取得する通信端末であって、
前記情報サーバから前記アドホック接続情報及び前記取得データ情報を受信する無線通信部と、
前記アドホック接続情報に基づいて、通信端末間のアドホックネットワークを構築するアドホック接続部と、
前記取得データ情報に基づいて、前記コンテンツサーバからコンテンツデータを取得するデータ取得部と、
を備えることを特徴とする通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータを配信するデータ配信システム、データ配信システムを構成する情報サーバ、及びデータ配信システムを構成する通信端末に関する。
【背景技術】
【０００２】
スポーツイベントが行われるスタジアムなどのようにユーザが地理的に集中し、各通信端末が同一のコンテンツデータを取得するために一斉にモバイル通信を行う場合には、地理的に近い通信端末同士でアドホックネットワークを構築してコンテンツデータを共有することで、配信サーバの負荷を軽減する方法が有効である。また、アドホックネットワーク内の通信端末で分割して外部通信回線によりコンテンツデータを取得し、その後アドホックネットワーク内でコンテンツデータを転送して足りないコンテンツデータを補完しあうことで、通信端末の外部通信回線の通信費用の低減が可能となる。
【０００３】
特許文献１には、複数の通信端末による同一のコンテンツデータのダウンロードを効率良く行うために、配信サーバでアドホックネットワーク内の通信端末数に応じて、配信するコンテンツデータを分割・配信し、通信端末間でコンテンツデータを共有する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１３２６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術はアドホックネットワークのグループ単位でコンテンツデータを共有するもので、分割されたコンテンツデータを各通信端末で取得処理し、その後コンテンツデータを通信端末間で共有するものであるが、各通信端末で独自にコンテンツデータを取得するため、他の通信端末がコンテンツデータの取得を完了できたか否かを確認することができず、アドホックネットワークグループ内で部分的にコンテンツデータが欠損してしまうおそれがある。
【０００６】
また、特許文献１に記載の技術は各通信端末の回線状況に応じて分割割合に冗長性を持たせるものであるが、割当割合を変えるだけであり、ＭＰＥＧ−ＤＡＳＨ（Dynamic Adaptive Streaming over HTTP）やＨＬＳ（HTTP Live Streaming）のようなシーケンス番号に沿ってコンテンツデータが再生される配信形式の場合には、各通信端末へのコンテンツデータの割り当て方によっては、コンテンツデータの取得が遅れ、コンテンツデータの再生に間に合わなくなってしまう場合がある。
【０００７】
かかる事情に鑑みてなされた本発明の目的は、アドホックネットワークにおいて各通信端末で外部通信回線費用を低減させつつ、コンテンツデータの実行開始を早めることが可能なデータ配信システム、情報サーバ、及び通信端末を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係るデータ配信システムは、コンテンツサーバからセグメントごとにコンテンツデータを取得する複数の通信端末と、前記複数の通信端末と通信する情報サーバと、を備えるデータ配信システムであって、前記情報サーバは、前記通信端末間のアドホック接続の確立に必要なアドホック接続情報を生成するアドホック接続情報生成部と、アドホックネットワークごとに、前記コンテンツデータの取得所要時間が最も短い通信端末が先頭のコンテンツデータを取得するように、前記各通信端末が前記コンテンツサーバから取得するコンテンツデータを指示する取得データ情報を生成する取得データ判定部と、前記アドホック接続情報及び前記取得データ情報を前記各通信端末に通知する端末通知部と、を備え、前記通信端末は、前記アドホック接続情報に基づいて通信端末間のアドホックネットワークを構築するアドホック接続部と、前記取得データ情報に基づいて、前記コンテンツサーバからコンテンツデータを取得するデータ取得部と、を備えることを特徴とする。
【０００９】
さらに、本発明に係るデータ配信システムにおいて、前記取得データ判定部は、アドホックネットワークごとに、前記コンテンツデータの取得所要時間が短い通信端末ほど多くのコンテンツデータを取得するように、前記取得データ情報を生成することを特徴とする。
【００１０】
さらに、本発明に係るデータ配信システムにおいて、前記取得データ判定部は、アドホックネットワーク内の各通信端末が前記コンテンツサーバから異なるコンテンツデータを取得し、全コンテンツデータの取得完了時間が最も短くなるように、前記通信端末が前記コンテンツサーバから取得するコンテンツデータを決定することを特徴とする。
【００１１】
また、上記課題を解決するため、本発明に係る情報サーバは、コンテンツサーバからセグメントごとにコンテンツデータを取得する複数の通信端末と通信する情報サーバであって、前記通信端末間のアドホック接続の確立に必要なアドホック接続情報を生成するアドホック接続情報生成部と、前記アドホック接続情報に基づいて構築されたアドホックネットワークごとに、前記コンテンツデータの取得所要時間が最も短い通信端末が先頭のコンテンツデータを取得するように、前記各通信端末が前記コンテンツサーバから取得するコンテンツデータを指示する取得データ情報を生成する取得データ判定部と、前記アドホック接続情報及び前記取得データ情報を前記各通信端末に通知する端末通知部と、を備えることを特徴とする。
【００１２】
また、上記課題を解決するため、本発明に係る通信端末は、上記情報サーバと通信を行うとともに、コンテンツサーバからセグメントごとにコンテンツデータを取得する通信端末であって、前記情報サーバから前記アドホック接続情報及び前記取得データ情報を受信する無線通信部と、前記アドホック接続情報に基づいて、通信端末間のアドホックネットワークを構築するアドホック接続部と、前記取得データ情報に基づいて、前記コンテンツサーバからコンテンツデータを取得するデータ取得部と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、アドホックネットワークにおいて各通信端末で外部通信回線費用を低減させつつ、コンテンツデータの実行開始を早めることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るデータ配信システムの概略を示す図である。
【図２】本発明の一実施形態に係るデータ配信システムにおけるプレイリストとコンテンツデータの割り当ての一例を示す図である。
【図３】本発明の一実施形態に係る通信端末の構成例を示すブロック図である。
【図４】本発明の一実施形態に係る情報サーバの構成例を示すブロック図である。
【図５】本発明の一実施形態に係る情報サーバにおける取得データ判定処理の一例を示すフローチャートである。
【図６】本発明の一実施形態に係る情報サーバにおける取得データ判定処理の一例を示す図である。
【図７】本発明の一実施形態に係る情報サーバが記憶する端末情報テーブルの一例を示す図である。
【図８】本発明の一実施形態に係る通信端末のコンテンツデータ取得処理の一例を示すフローチャートである。
【図９】本発明の一実施形態に係る情報サーバのアドホック通信制御処理の一例を示すフローチャートである。
【図１０】本発明の効果を説明する図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００１６】
＜データ配信システム＞
図１は、本発明の一実施形態に係るデータ配信システムの概略を示す図である。図１に示す例では、データ配信システム１は、複数の通信端末１０と、情報サーバ２０と、コンテンツサーバ３０とを備える。
【００１７】
データ配信システム１は、同一のコンテンツデータを携帯電話やＰＣのような通信端末１０に配信する場合において、近い通信端末１０間でアドホックネットワークを構築し、アドホックネットワークのグループ内の各通信端末１０が外部通信回線により、分割されたコンテンツデータ（映像や音声のストリームデータなど）を取得し、その後アドホックネットワーク内で取得したコンテンツデータを転送しあうことにより、各通信端末１０の外部通信回線費用を低減（通常、外部通信は有料、アドホック通信は無料）する。
【００１８】
コンテンツサーバ３０は、パケット単位に分割（セグメント化）された連続的なコンテンツデータを配信するサーバであり、コンテンツデータの取得先及びコンテンツデータ名を示すファイル（プレイリスト）を有する。なお、本実施形態ではコンテンツサーバ３０がコンテンツデータ及びプレイリストを有するが、それぞれ異なるサーバが有していてもよい。
【００１９】
通信端末１０は、コンテンツサーバ３０からプレイリストを取得する。そして、プレイリストに従って、コンテンツサーバ３０からセグメントごとにコンテンツデータを取得し、シーケンス番号に沿って順次コンテンツデータを実行する。また、通信端末１０は、自身の端末情報（外部通信回線速度、位置情報、端末種別、アドホックパス情報など）を定期的に情報サーバ２０へ送信する。
【００２０】
情報サーバ２０は、複数の通信端末１０から端末情報を受信し、すべての通信端末１０の端末情報を把握する。
【００２１】
各通信端末１０は情報サーバ２０からの指示によって、通信端末１０間のアドホック接続を確立し、アドホックネットワークを構築する。図１に示す例では、通信端末１０−１，１０−２及び１０−３の間でアドホックネットワークを構築してアドホック通信を行い、通信端末１０−４，１０−５及び１０−６の間でアドホックネットワークを構築してアドホック通信を行う。
【００２２】
アドホックネットワークが構築されたら、情報サーバ２０は各通信端末１０に対し、コンテンツサーバ３０から取得したプレイリストの中から、その通信端末１０が取得するコンテンツデータの指示を行う。
【００２３】
図１に示す例では、情報サーバ２０からの指示に従って、通信端末１０−１はコンテンツサーバ３０からシーケンス番号が１番のコンテンツデータ１を取得し、通信端末１０−２はコンテンツサーバ３０からシーケンス番号が２番のコンテンツデータ２を取得し、通信端末１０−３はコンテンツサーバ３０からシーケンス番号が３番のコンテンツデータ３を取得する。そして、通信端末１０−１は取得したコンテンツデータ１を通信端末１０−２及び１０−３に送信するともに、通信端末１０−２からコンテンツデータ２を取得し、通信端末１０−３からコンテンツデータ３を取得する。通信端末１０−２は取得したコンテンツデータ２を通信端末１０−１及び１０−３に送信するともに、通信端末１０−１からコンテンツデータ１を取得し、通信端末１０−３からコンテンツデータ３を取得する。通信端末１０−３は取得したコンテンツデータ３を通信端末１０−１及び１０−２に送信するともに、通信端末１０−１からコンテンツデータ１を取得し、通信端末１０−２からコンテンツデータ２を取得する。
【００２４】
同様に、情報サーバ２０からの指示に従って、通信端末１０−４はコンテンツサーバ３０からシーケンス番号が１番のコンテンツデータ１を取得し、通信端末１０−５はコンテンツサーバ３０からシーケンス番号が２番のコンテンツデータ２を取得し、通信端末１０−６はコンテンツサーバ３０からシーケンス番号が３番のコンテンツデータ３を取得する。そして、通信端末１０−４は取得したコンテンツデータ１を通信端末１０−５及び１０−６に送信するともに、通信端末１０−５からコンテンツデータ２を取得し、通信端末１０−６からコンテンツデータ３を取得する。通信端末１０−５は取得したコンテンツデータ２を通信端末１０−４及び１０−６に送信するともに、通信端末１０−４からコンテンツデータ１を取得し、通信端末１０−６からコンテンツデータ３を取得する。通信端末１０−６は取得したコンテンツデータ３を通信端末１０−４及び１０−５に送信するともに、通信端末１０−４からコンテンツデータ１を取得し、通信端末１０−５からコンテンツデータ２を取得する。
【００２５】
図２は、コンテンツサーバ３０から通信端末１０へ配信されるプレイリストと、各通信端末１０がコンテンツサーバ３０から直接取得するコンテンツデータの割り当ての一例を示す図である。プレイリストには、各通信端末１０が取得すべき全コンテンツデータの取得先及びコンテンツデータ名が記載されている。この例では、コンテンツデータ名を「１」〜「１０」としている。ストリームのようなコンテンツデータ配信時には、リアルタイムに配信ファイルが生成されるためにプレイリストは時間とともに更新される。
【００２６】
各通信端末１０は情報サーバ２０の指示により、このプレイリストの中からコンテンツサーバ３０から取得すべきコンテンツデータを取得し、アドホックネットワーク内の通信端末１０で取得したコンテンツデータを転送しあうことで、全てのコンテンツデータを取得する。図２では、通信端末１０−１，１０−２及び１０−３が情報サーバ２０からの指示に基づきコンテンツサーバ３０から取得するコンテンツデータに下線を付して示した。すなわち、１０個のコンテンツデータ「１」〜「１０」のうち、通信端末１０−１がコンテンツデータ「１」、「２」、「４」、「６」、「８」、「１０」を取得し、通信端末１０−２がコンテンツデータ「３」、「５」、「９」を取得し、通信端末１０−３がコンテンツデータ「７」を取得する。なお、本実施形態では、プレイリストに記載された各コンテンツデータのサイズは同等のものと仮定する。
【００２７】
＜通信端末＞
つぎに、通信端末１０の詳細について説明する。図３は、図１に示す通信端末１０の構成例を示すブロック図である。この例では、通信端末１０は、制御部１１と、入力部１２と、無線通信部１３と、記憶部１４と、表示部１５とを備える。
【００２８】
入力部１２は、ユーザ操作を制御部１１へ通知する。ユーザ操作は、コンテンツデータの取得開始、コンテンツデータの取得終了などに区分される。
【００２９】
無線通信部１３は、情報サーバ２０、コンテンツサーバ３０、及び他の通信端末１０と通信を行う。具体的には、無線通信部１３は、端末情報の情報サーバ２０への送信、情報サーバ２０からアドホック接続の確立に必要な情報を有するアドホック接続情報の受信、情報サーバ２０から各通信端末１０が取得するコンテンツデータを指示する取得データ情報の受信、コンテンツサーバ３０からコンテンツデータの取得、コンテンツデータの他の通信端末１０への転送などを行う。なお、通信端末１０から情報サーバ２０への端末情報の送信は基本的には一定時間周期で行うが、任意のタイミングで行ってもよい。
【００３０】
制御部１１は、通信端末１０の動作や信号フローを制御する。具体的には、制御部１１は、アドホック接続部１１１と、データ取得部１１２とを備える。
【００３１】
アドホック接続部１１１は、端末情報を無線通信部１３を介して情報サーバ２０へ送信する。そして、情報サーバ２０から無線通信部１３を介してアドホック接続情報を受信すると、該アドホック接続情報に基づいて、他の通信端末１０とアドホック接続処理を行う。
【００３２】
データ取得部１１２は、情報サーバ２０から無線通信部１３を介して取得データ情報を受信すると、取得データ情報により指示されたコンテンツデータをコンテンツサーバ３０から無線通信部１３を介して取得し、取得したコンテンツデータを記憶部１４に記憶する。また、データ取得部１１２は、プレイリスト内で足りないコンテンツデータを他の通信端末１０からアドホック通信にて取得し、取得したコンテンツデータを記憶部１４に記憶する。
【００３３】
また、制御部１１は、ユーザ操作に対応する処理、記憶部１４からコンテンツデータの読み出し、コンテンツデータの表示部１５への出力などを行う。
【００３４】
記憶部１４は、コンテンツサーバ３０及び他の通信端末１０から取得したコンテンツデータを記憶する。
【００３５】
表示部１５は、記憶部１４に記憶されているコンテンツデータを表示する。
【００３６】
＜情報サーバ＞
つぎに、情報サーバ２０の詳細について説明する。図４は、情報サーバ２０の構成例を示すブロック図である。この例では、情報サーバ２０は、アドホック接続情報生成部２１と、取得データ判定部２２と、端末通知部２３と、通信Ｉ／Ｆ部２４と、記憶部２５とを備える。
【００３７】
アドホック接続情報生成部２１は、地理的に近い通信端末１０間のアドホック接続の確立に必要なアドホック接続情報を生成し、記憶部２５に記憶する。アドホック接続情報とは、ペアリングＩＤ、パスワードなどのペアリング情報である。通信端末１０間のアドホック接続がＩＥＥＥ８０２．１１に従う場合には、ペアリングＩＤはＳＳＩＤを表すこととなる。なお、通信端末１０間の接続はＩＥＥＥ８０２．１１に限らずBluetooth（登録商標）などでもよい。
【００３８】
取得データ判定部２２は、各通信端末１０の回線速度などにより、各通信端末１０がコンテンツサーバ３０から取得するコンテンツデータを決定する。その際には、アドホックネットワークごとに、コンテンツデータの取得所要時間が最も短い通信端末１０が先頭（シーケンス番号が１番）のコンテンツデータを取得するように決定する。これにより、各通信端末１０は先頭のコンテンツデータを早期に取得することができるため、シーケンス番号に沿ってコンテンツデータを再生する際に、実行開始時間を早くすることができる。
【００３９】
本実施形態では、取得データ判定部２２は各通信端末１０が取得するコンテンツデータを指示する取得データ情報を生成し、各通信端末１０へ送信することにより、通信端末１０がコンテンツサーバ３０から取得するコンテンツデータを通知する。その代わりに、取得データ判定部２２は各通信端末１０が取得するコンテンツデータをコンテンツサーバ３０へ通知し、プレイリストを書き換えることにより、通信端末１０がコンテンツサーバ３０から取得するコンテンツデータを通知するようにしてもよい。
【００４０】
取得データ判定部２２は、アドホックネットワークごとに、コンテンツデータの取得所要時間が短い通信端末１０ほど多くのコンテンツデータを取得するように、通信端末１０がコンテンツサーバ３０から取得するコンテンツデータを決定するようにしてもよい。
【００４１】
更に、取得データ判定部２２は、アドホックネットワーク内の各通信端末１０がコンテンツサーバ３０から異なるコンテンツデータを取得し、全コンテンツデータの取得完了時間が最も短くなるように、通信端末１０がコンテンツサーバ３０から取得するコンテンツデータを決定するようにしてもよい。このときの取得データ判定部２２の動作を図５に示す。
【００４２】
ここで、プレイリストに記載されているコンテンツデータ数をＸ、プレイリストに記載されているコンテンツデータのシーケンス番号をＳ（１≦Ｓ≦Ｘ）、アドホックネットワーク内の通信端末数をｎ、ｋ番目の通信端末１０が１つのコンテンツデータを取得するのに要する所要時間をｔk、ｋ番目の通信端末１０に割り当てられるコンテンツデータ数をａk（１≦ａk≦Ｘ）、判定に使用するための、ｋ番目の通信端末１０の判定変数をＴkとする。
【００４３】
初期値としてＳ＝１とし（ステップＳ１１）、ａ1＝１、ａ2＝１、・・・ａn＝１とする（ステップＳ１２）。そして、Ｔ1＝ｔ1×ａ1、Ｔ2＝ｔ2×ａ2、・・・Ｔn＝ｔn×ａnを算出する（ステップＳ１３）。この中で最小値がＴmであった場合、ｋ＝ｍの通信端末１０をシーケンス番号Ｓのコンテンツデータを取得する端末に決定する（ステップＳ１４）。
【００４４】
Ｘ＞Ｓであれば（ステップＳ１５−Ｙｅｓ）、Ｓ＝Ｓ＋１とし（ステップＳ１６）、ａm＝ａm＋１として（ステップＳ１７）、ステップＳ１３のフローに戻る。一方、Ｘ＞Ｓでなければ（ステップＳ１５−Ｎｏ）、処理を終了する。なお、リアルタイムなコンテンツデータ配信の場合には、プレイリストが随時更新されるため、Ｘを予め定数として定義し、Ｘ個の取得ファイルを１つの単位として、この単位ごとに取得するコンテンツデータの割り当てを行う。
【００４５】
図６は、コンテンツデータ数Ｘ＝９、アドホックネットワーク内の通信端末数ｎ＝３である場合の取得データ判定部２２の動作を、図５に基づいて説明する図である。ここでは、ｋ＝１，２及び３の通信端末１０の判定変数Ｔ1，Ｔ2及びＴ3の値をそれぞれ長方形の長さで示している。
【００４６】
Ｓ＝１のとき、Ｔ1＝ｔ1、Ｔ2＝ｔ2、Ｔ3＝ｔ3を比較すると、図６（ａ）に示すようにＴ1が最小であるため、ｋ＝１の通信端末１０がＳ＝１のコンテンツデータを取得するように決定する。そして、Ｓ＝２、ａ1＝２に更新する。
【００４７】
次に、Ｓ＝２のとき、Ｔ1＝２ｔ1、Ｔ2＝ｔ2、Ｔ3＝ｔ3を比較すると、図６（ｂ）に示すようにＴ2が最小であるため、ｋ＝２の通信端末１０がＳ＝２のコンテンツデータを取得するように決定する。そして、Ｓ＝３、ａ2＝２に更新する。
【００４８】
次に、Ｓ＝３のとき、Ｔ1＝２ｔ1、Ｔ2＝２ｔ2、Ｔ3＝ｔ3を比較すると、図６（ｃ）に示すようにＴ1が最小であるため、ｋ＝１の通信端末１０がＳ＝３のコンテンツデータを取得するように決定する。そして、Ｓ＝４、ａ1＝３に更新する。
【００４９】
次に、Ｓ＝４のとき、Ｔ1＝３ｔ1、Ｔ2＝２ｔ2、Ｔ3＝ｔ3を比較すると、図６（ｄ）に示すようにＴ3が最小であるため、ｋ＝３の通信端末１０がＳ＝４のコンテンツデータを取得するように決定する。そして、Ｓ＝５、ａ3＝２に更新する。
【００５０】
次に、Ｓ＝５のとき、Ｔ1＝３ｔ1、Ｔ2＝２ｔ2、Ｔ3＝２ｔ3を比較すると、図６（ｅ）に示すようにＴ1が最小であるため、ｋ＝１の通信端末１０がＳ＝５のコンテンツデータを取得するように決定する。そして、Ｓ＝６、ａ1＝４に更新する。
【００５１】
次に、Ｓ＝６のとき、Ｔ1＝４ｔ1、Ｔ2＝２ｔ2、Ｔ3＝２ｔ3を比較すると、図６（ｆ）に示すようにＴ2が最小であるため、ｋ＝２の通信端末１０がＳ＝６のコンテンツデータを取得するように決定する。そして、Ｓ＝７、ａ2＝３に更新する。
【００５２】
次に、Ｓ＝７のとき、Ｔ1＝４ｔ1、Ｔ2＝３ｔ2、Ｔ3＝２ｔ3を比較すると、図６（ｇ）に示すようにＴ1が最小であるため、ｋ＝１の通信端末１０がＳ＝７のコンテンツデータを取得するように決定する。そして、Ｓ＝８、ａ1＝５に更新する。
【００５３】
次に、Ｓ＝８のとき、Ｔ1＝５ｔ1、Ｔ2＝３ｔ2、Ｔ3＝２ｔ3を比較すると、図６（ｈ）に示すようにＴ2が最小であるため、ｋ＝２の通信端末１０がＳ＝８のコンテンツデータを取得するように決定する。そして、Ｓ＝９、ａ2＝４に更新する。
【００５４】
次に、Ｓ＝９のとき、Ｔ1＝５ｔ1、Ｔ2＝４ｔ2、Ｔ3＝２ｔ3を比較すると、図６（ｉ）に示すようにＴ1が最小であるため、ｋ＝１の通信端末１０がＳ＝９のコンテンツデータを取得するように決定する。そして、このときＸ＞Ｓではなくなるため、処理を終了する。
【００５５】
端末通知部２３は、アドホック接続情報及び取得データ情報を、通信Ｉ／Ｆ部２４を介し各通信端末１０へ通知する。
【００５６】
通信Ｉ／Ｆ部２４は、各通信端末１０から端末情報を受信するとともに、アドホック接続情報及び取得データ情報を各通信端末１０へ送信する。
【００５７】
記憶部２５は、通信端末１０から受信した端末情報、アドホック接続情報生成部２１により生成されたアドホック接続情報、及び取得データ判定部２２により生成された取得データ情報を含む端末情報テーブル２５１を記憶する。
【００５８】
図７は、記憶部２５が記憶する端末情報テーブル２５１の一例を示す図である。この例では、端末情報テーブル２５１は、各通信端末１０の位置情報及び外部通信回線速度と、アドホック接続情報と、取得データ情報とを関連付けて記憶しており、取得データ情報はデータ番号としている。なお、通信端末１０のステータス状況は時間とともに変化するため、一定周期で通信端末１０から受信する端末情報により更新される。
【００５９】
＜通信端末の処理＞
図８は、通信端末１０のコンテンツデータの取得処理の一例を示すフローチャートである。通信端末１０はアプリケーションを実行すると（ステップＳ１０１）、コンテンツサーバ３０及び情報サーバ２０とセッションを確立する（ステップＳ１０２）。これ以降、確立したセッションにより、定期的に端末情報を情報サーバ２０へ送信する。
【００６０】
続いて、通信端末１０は確立したセッションによりコンテンツサーバ３０からプレイリスト及びコンテンツデータを取得し、記憶部１４に記憶する（ステップＳ１０３）。ここで、通信端末１０は情報サーバ２０からアドホック接続情報を受信していない場合には（ステップＳ１０４−Ｎｏ）、ステップＳ１０３の処理に戻る。情報サーバ２０からアドホック接続情報を受信している場合には（ステップＳ１０４−Ｙｅｓ）、受信したアドホック接続情報に基づいて他の通信端末１０とアドホック接続処理を行う（ステップＳ１０５）。
【００６１】
通信端末１０はアドホック接続処理が完了したら（ステップＳ１０６−Ｙｅｓ）、アドホック接続完了通知を情報サーバ２０へ送信する（ステップＳ１０７）。アドホック接続が完了していなければ（ステップＳ１０６−Ｎｏ）、ステップＳ１０３に戻り、コンテンツサーバ３０からコンテンツデータを取得する。
【００６２】
その後、通信端末１０は情報サーバ２０から取得データ情報を受信すると（ステップＳ１０８）、指示されたコンテンツデータをコンテンツサーバ３０から取得し、取得したコンテンツデータを記憶部１４に記憶する（ステップＳ１０９）。また、プレイリストが更新される形式である場合には、合わせてプレイリストもコンテンツサーバ３０から取得する。次に、プレイリスト内で足りないコンテンツデータをアドホック通信にて他の通信端末１０から取得し、取得したコンテンツデータを記憶部１４に記憶する（ステップＳ１１０）。
【００６３】
ここで、プレイリストに記載されたコンテンツデータのうち、記憶部１４に記憶されていないコンテンツデータが存在する場合には（ステップＳ１１１−Ｎｏ）、通信端末１０はコンテンツサーバ３０から未取得のコンテンツデータを取得し、記憶部１４に記憶する（ステップＳ１１２）。そして、ステップＳ１０８の処理に戻る。
【００６４】
一方、プレイリストに記載されたコンテンツデータが全て記憶部１４に記憶されている場合には（ステップＳ１１１−Ｙｅｓ）、通信端末１０がアドホックネットワークから離脱しているか否かの判定を行う（ステップＳ１１３）。アドホックネットワークから離脱している場合には（ステップＳ１１３−Ｙｅｓ）、ステップＳ１０４の処理に戻る。アドホックネットワークから離脱していない場合には（ステップＳ１１３−Ｎｏ）、アプリケーション終了の判定を行う（ステップＳ１１４）。アプリケーションが終了していない場合には（ステップＳ１１４−Ｎｏ）、ステップＳ１０８の処理に戻り、アプリケーションが終了している場合には（ステップＳ１１４−Ｙｅｓ）、コンテンツデータの取得処理を終了する。
【００６５】
＜情報サーバの処理＞
図９は、情報サーバ２０のアドホック通信制御処理の一例を示すフローチャートである。まず、情報サーバ２０は通信端末１０からセッション確立要求待ちをする（ステップＳ２０１）。次に、通信端末１０とセッションを確立し、通信端末１０から端末情報を受信したら（ステップＳ２０２−Ｙｅｓ）、アドホック接続情報生成部２１でアドホック接続情報を生成し、記憶部２５に記憶する（ステップ２０３）。続いて、情報サーバ２０はアドホック接続情報を通信端末１０へ送信する（ステップＳ２０４）。
【００６６】
その後、情報サーバ２０は通信端末１０からアドホック接続完了通知を受信したら（ステップＳ２０５）、取得データ判定部２２で各通信端末１０が取得するコンテンツデータを判定し、取得データ情報を記憶部２５に記憶する（ステップＳ２０６）。続いて、情報サーバ２０は取得データ情報を通信端末１０へ送信する（ステップＳ２０７）。
【００６７】
そして、情報サーバ２０はコンテンツサーバ３０によるコンテンツの配信が終了しているか否かを判定する（ステップＳ２０８）。配信が終了していない場合には（ステップＳ２０８−Ｎｏ）、ステップＳ２０２の処理に戻り、配信が終了している場合には（ステップＳ２０８−Ｙｅｓ）、アドホック通信制御処理を終了する。
【００６８】
このように、本発明はアドホックネットワーク内で、各通信端末１０がコンテンツサーバ３０から取得したコンテンツデータを転送しあうため、外部通信回線費用を低減させつつ、配信サーバの負荷軽減を実現することができる。
【００６９】
図１０は、本発明の更なる効果を説明する図である。図１０（ａ）は各通信端末１０が均等にコンテンツサーバ３０からコンテンツデータを取得する方法を示している。コンテンツデータ数が９であり、アドホックネットワーク内の通信端末数が３である場合、各通信端末１０は３つずつコンテンツデータを取得する。図１０（ｂ）は、上述した本発明によるコンテンツデータを取得する方法を示している。
【００７０】
図１０（ａ）に示すように、外部通信回線速度が遅い通信端末１０−３が、実行開始時刻が最も早いシーケンス番号１のコンテンツデータをコンテンツサーバ３０から取得した場合、アドホックネットワークグループ内の全ての通信端末１０−１，１０−２，１０−３は、時刻ｔA以降でないとコンテンツデータを実行することができない。それに対し、本発明では図１０（ｂ）に示すように、外部通信回線速度が速い通信端末１０−１がシーケンス番号１のコンテンツデータをコンテンツサーバ３０から取得するため、アドホックネットワークグループ内の全ての通信端末１０−１，１０−２，１０−３は、時刻ｔB以降にコンテンツデータを実行することができる。したがって、本発明によれば、アドホックネットワークグループ内のコンテンツデータの実行開始を早くすることができる。
【００７１】
また、アドホックネットワークのグループ単位で見た場合に、従来では図１０（ａ）に示すように全てのコンテンツデータの取得を完了するのが時刻ｔCとなるが、本発明では図１０（ｂ）に示すように全てのコンテンツデータの取得を完了するのが時刻ｔDとなる。コンテンツデータの実行はシーケンス番号順に行われるため、本発明によれば、アドホックネットワークグループ内のデータ実行時に時間的余裕を作り出すことが可能となり、安定してコンテンツデータを実行することができる。
【００７２】
なお、上述した通信端末１０の制御部１１として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、該機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【００７３】
また、上述した情報サーバ２０のアドホック接続情報生成部２１、取得データ判定部２２、端末通知部２３として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、該機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【００７４】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックを１つに組み合わせたり、あるいは１つの構成ブロックを分割したりすることが可能である。
【符号の説明】
【００７５】
１      データ配信システム
１０    通信端末
１１    制御部
１２    入力部
１３    無線通信部
１４    記憶部
１５    表示部
２０    情報サーバ
２１    アドホック接続情報生成部
２２    取得データ判定部
２３    端末通知部
２４    通信Ｉ／Ｆ部
２５    記憶部
３０    コンテンツサーバ
１１１  アドホック接続部
１１２  データ取得部
２５１  端末情報テーブル
【図１】
0006581858.tif 000002
【図２】
0006581858.tif 000003
【図３】
0006581858.tif 000004
【図４】
0006581858.tif 000005
【図５】
0006581858.tif 000006
【図６】
0006581858.tif 000007
【図７】
0006581858.tif 000008
【図８】
0006581858.tif 000009
【図９】
0006581858.tif 000010
【図１０】
0006581858.tif 000011