(57)【要約】  端末間におけるコンテンツデータの配信において、コンテンツデータにロスが発生した場合に、ロスしたデータの再送を良好に制御する通信端末等を提供する。  通信端末は、コンテンツデータを再生する再生処理部と、他の端末から受信したコンテンツデータを再生処理部に送信し、受信したコンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信部と、データ送受信部からの指示を受けて、ロスデータの再送がコンテンツデータの再生処理部による再生予定時刻に間に合う可能性があれば、ロスデータの再送を要求するための再送要求の優先度を上げ、優先度がより高いロスデータから順番に、ロスデータを保有する他の端末に対して再送を要求する再送制御部とを備える。
2016067561.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを再生する再生処理手段と、
他の端末から受信した前記コンテンツデータを前記再生処理手段に送信し、受信した前記コンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信手段と、
前記データ送受信手段からの指示を受けて、前記ロスデータの再送が前記コンテンツデータの前記再生処理手段による再生予定時刻に間に合う可能性があれば、前記ロスデータの再送を要求するための再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する再送制御手段とを備える
通信端末。
【請求項２】
前記再送制御手段は、前記ロスデータの再送が前記コンテンツデータの前記再生処理手段による再生予定時刻に間に合う可能性がなければ、前記ロスデータの再送要求の優先度を下げる
請求項１に記載の通信端末。
【請求項３】
前記再送制御手段は、前記ロスデータが、現在時刻よりあらかじめ定めた時間経過以降に再生予定のデータである場合に再送が間に合う可能性があると判断する
請求項１乃至２の何れか一項記載の通信端末。
【請求項４】
前記再送制御手段は、前記コンテンツデータの先頭位置から、最も新しく受信したデータまでにおける、前記ロスデータのロス率を算出し、前記ロス率が予め設定した閾値よりも大きい場合に前記ロスデータの再送を要求する
請求項１乃至３の何れか一項記載の通信端末。
【請求項５】
前記再送制御手段は、前記コンテンツデータに対してあらかじめ設定したデータ保管範囲における、前記ロスデータのロス率を算出し、前記ロス率が予め設定した閾値よりも大きい場合に前記ロスデータの再送を要求する
請求項１乃至３の何れか一項記載の通信端末。
【請求項６】
前記閾値は、複数の段階に設定される優先度の各々に対して設定され、前記ロスデータの優先度に対応した前記閾値と前記ロス率とを比較することにより、前記再送を要求するか否かを判定する
請求項４または５に記載の通信端末。
【請求項７】
前記データ送受信手段は、前記再送の要求を受信した場合に、前記優先度がより高い前記ロスデータから順に、前記再送の要求の要求元に送信する
請求項１乃至６の何れか一項記載の通信端末。
【請求項８】
請求項１乃至７の何れか一項記載の通信端末が通信可能に接続された
通信システム。
【請求項９】
受信したコンテンツデータにロスデータが発生した際に、前記ロスデータの再送が前記コンテンツデータの再生予定時刻に間に合う可能性があれば、前記ロスデータの再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する
通信方法。
【請求項１０】
コンテンツデータを再生する再生処理機能と、
他の端末から受信した前記コンテンツデータを前記再生処理機能に送信し、
受信した前記コンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信機能と、
前記データ送受信機能からの指示を受けて、前記ロスデータの再送が前記コンテンツデータの前記再生処理機能による再生予定時刻に間に合う可能性があれば、前記ロスデータの再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する再送制御機能とを
コンピュータに実現させるコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータを配信する場合における配信制御技術に関する。
【背景技術】
【０００２】
近年、インターネットなどの通信媒体を介した音声や映像等のストリーム型コンテンツの配信サービスが普及している。このようなストリーム型コンテンツの配信および視聴方法には、ダウンロード配信、ストリーミング配信およびプログレッシブ配信などの方法がある。【０００３】
ダウンロード配信は、コンテンツファイルをユーザの通信端末にダウンロードしてから再生を行う。そのため、ダウンロード配信は、ファイルのダウンロードが完了しないと再生を行うことができない。【０００４】
一方、ストリーミング配信は、コンテンツファイルをダウンロードしながら順次再生を行う。そのため、ストリーミング配信は、ビデオオンデマンドのようにユーザが所望のストリーム型コンテンツの配信を要求し、要求したコンテンツを成すコンテンツデータを受信しながら順次再生を行うようなリアルタイム型の配信には適している。しかしながら、ストリーミング配信は、通信時に発生するパケットロスなどによりロスしたデータの再送が、再生時刻までに間に合わなければ、当該部分の映像はスキップされたり、停止したりする。【０００５】
プログレッシブ配信は、コンテンツファイルのダウンロードを行いながら、順次再生を行うことが可能である。しかし、プログレッシブ配信は、パケットロス等が発生すると、ダウンロード配信のように当該データが配信されるまで再送が停止してしまう。【０００６】
また、音声や映像等のストリーミング配信のためのトランスポートプロトコルとして、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）が利用されることがある。ＲＴＰは、パケットに格納された時刻情報を受信端末で参照することにより、リアルタイム性を確保しながら再生を行うデータ通信方式である。しかしながら、ＲＴＰは、リアルタイム性の確保に重点を置いたものであり、パケットロス等のデータの信頼性を担保するものではない。信頼性のあるトランスポートプロトコルとして、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いるという手段もある。しかし、ＴＣＰは、パケットのロスにより転送レートを変化させるため、リアルタイム性の確保が困難である。【０００７】
さらに、データの送受信時における誤り訂正手法として、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ、前方誤り訂正）が利用されることもある。ＦＥＣは、各パケットに対して、通信状況に応じた冗長データを付加し、データのロスやエラーが発生した際に、これらの冗長データから当該部分のデータを復元する手法である。しかしながら、ＦＥＣは、想定よりも多くのロスやエラーが発生した場合などに、全てのデータを復元することができず、結果的にデータのロスが発生する。【０００８】
特許文献１は、上述のように通信時におけるパケットロス等によりコンテンツデータにロスが発生した際の動作として、再生時刻に基づいて当該データの再送要求を送信する方式を開示している。本方式は、ロスしたデータの再生時刻に間に合うのであれば、当該データの再送要求を送信する。そして、本方式は、再送しても再生時刻に間に合わないロスデータの再送要求を送信することをスキップすることで、不要なデータの再送を抑制する。【０００９】
特許文献２は、コンテンツデータにロスが発生して、再送要求が送信された場合に、再送要求を受信したパケット送信装置における処理方法を開示している。本装置は、再送を要求されたパケットを再送した場合の到着予定時刻を求め、再生時刻に間に合うと判断したパケットに対して、重要度が高いと設定する。そして、本装置は、重要度が高いパケットから順番に送信する。【００１０】
また、特許文献３は、送受信端末間の通信状況に応じて、コンテンツデータの品質を制御して配信し、後から残りのデータを転送する方式を開示している。本方式は、送受信端末間の通信状況に応じて、コンテンツデータを間引き、例えば低品質映像として配信する。この低品質映像の配信が完了した後、送信端末は、間引いた残りのコンテンツデータを配信し、配信を受けた受信端末は、コンテンツデータを高品質映像として再構築する。これにより、配信時の通信状況によって例えば低品質映像を配信することで、ユーザは、スキップや停止のない映像を視聴することができる。そして、後から配信された残りのデータを受信後、ユーザは、高品質映像を視聴することが可能となる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第３９１２０９１号公報
【特許文献２】特開２００５−０５１２９９号公報
【特許文献３】特許第４５２６２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１に開示の方式は、再生時刻に間に合うロスデータのみ再送要求を送信し、再生時刻に間に合わないロスデータの再送を抑制するため、効率的なコンテンツのダウンロードおよび再生に有効である。しかしながら、この方式は、再生時刻に間に合わないと判断して、再送要求を送信しなかったロスデータを取得する仕組みがない。このため、コンテンツを再度視聴しても、コンテンツの品質は、初回の視聴時と同等である。また、他の端末に配信する場合に、ロスデータの発生により品質は、さらに低下する虞がある。【００１３】
特許文献２に開示の方式は、再送要求を受信した端末で重要度を設定し、重要度が高いデータから順番に再送する。この方式は、多数の再送要求を受信するなどのように再送要求を受信した端末の処理負荷が高いときには、重要度の比較を行うと考えられる。しかし、負荷が低い場合には、この方式は、重要度の比較を行わず、再送要求を受信した順に再送してしまう。【００１４】
一方、特許文献３に開示の方式は、通信路の状況に応じて、コンテンツデータを間引きして、品質を劣化させたコンテンツデータを配信する。そして、この方式は、当該コンテンツの配信が終了した後に、残りの間引いたデータを配信する。これにより、本方式は、全てのコンテンツデータの配信が完了した後では、受信端末内に全てのコンテンツデータが保存される。そのため、本方式は、再度視聴したり、他の端末へ配信したりすることに影響を与えない。しかしながら、通信路の状況は、時々刻々と変化するため、間引きして送信するデータがロスすることも考えられる。本方式は、このような場合については考慮されていない。さらに、受信端末において全てのコンテンツデータが揃うまでの時間は、配信するコンテンツの再生時間に依存して長くなる。そのため、コンテンツデータをダウンロードしながら再生（視聴）し、さらに、他の端末に配信する場合に、その端末は、低品質のコンテンツデータを配信することになる。【００１５】
そこで、本発明は、端末間におけるコンテンツデータの配信において、コンテンツデータにロスが発生した場合に、ロスしたデータの再送を良好に制御することが可能な通信端末等を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の目的を達成すべく、本発明の一態様に係る通信端末は、以下の構成を備える。【００１７】
即ち、本発明の一態様に係る通信端末は、
コンテンツデータを再生する再生処理手段と、
他の端末から受信した前記コンテンツデータを前記再生処理手段に送信し、
受信した前記コンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信手段と、
前記データ送受信手段からの指示を受けて、前記ロスデータの再送が前記コンテンツデータの前記再生処理手段による再生予定時刻に間に合う可能性があれば、前記ロスデータの再送を要求するための再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する再送制御手段と
を備える。【００１８】
同目的を達成する本発明の一態様に係る通信システムは、
上述の通信端末が互いに通信可能に接続される。【００１９】
同目的を達成する本発明の一態様に係る通信方法は、
受信したコンテンツデータにロスデータが発生した際に、前記ロスデータの再送が前記コンテンツデータの再生予定時刻に間に合う可能性があれば、前記ロスデータの再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する。【００２０】
更に、同目的は、上記構成を有する通信端末、或いは、通信方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００２１】
本発明によれば、端末間におけるコンテンツデータの配信において、コンテンツデータにロスが発生した場合に、ロスしたデータの再送を良好に制御することができるという効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態に係る通信端末を含む無線通信システムの構成を例示するブロック図である。
【図２】本発明の第１の実施形態に係る通信端末の構成を例示するブロック図である。
【図３】本発明の第１の実施形態に係る記憶部の通信端末情報を例示する図である。
【図４】本発明の第１の実施形態に係る記憶部のコンテンツ情報を例示する図である。
【図５】本発明の第１の実施形態に係る通信端末の入出力部の表示イメージを例示する図である。
【図６】本発明の第１の実施形態に係る通信端末が制御メッセージを受信する処理を示すフローチャートである。
【図７】本発明の第１の実施形態に係る通信端末がコンテンツデータを受信する処理を示すフローチャートである。
【図８】本発明の第１の実施形態に係る通信端末が再送要求処理を行う手順を示すフローチャートである。
【図９】本発明の第１の実施形態に係る通信端末が再送要求の優先度を決定する処理を説明する図である。
【図１０】本発明の第１の実施形態に係る通信端末が送信する再送要求メッセージの一例を示す図である。
【図１１】本発明の第１の実施形態に係る通信端末が制御メッセージを送信する処理を示すフローチャートである。
【図１２】本発明の第１の実施形態に係る通信端末がコンテンツデータを送信する処理を示すフローチャートである。
【図１３】本発明の第２の実施形態に係る通信端末の構成を例示するブロック図である。
【図１４】本発明の第２の実施形態に係る記憶部のコンテンツ情報を例示する図である。
【図１５】本発明の第２の実施形態に係る通信端末が再送要求処理を行う手順を示すフローチャートである。
【図１６】本発明の第１および第２の実施形態に係る通信端末を含む無線通信システムの構成を例示するブロック図である。
【図１７】本発明の第３の実施形態に係る通信端末の構成を例示するブロック図である。
【発明を実施するための形態】
【００２３】
＜第１の実施形態＞
〜構成〜
次に、本発明の第１の実施形態に係る通信端末について、図面を参照して説明する。
【００２４】
図１は、本発明の第１の実施形態に係る複数の通信端末を含む無線通信システムの構成を例示するブロック図である。図１では、通信端末の例として通信端末１００ａ〜１００ｈを示しているが、通信端末１００ａ〜１００ｈのおのおのは、互いに同じ構成であることより、通信端末１００と総称する。通信端末１００は、無線通信機能を有する。無線通信機能は、例えば、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、Ｗｉ−Ｆｉ（登録商標、Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）ともいう）の接続機能である。無線通信システムに含まれる各通信端末１００は、例えば、アドホックモードで互いの端末間において通信することができるとする。また、各通信端末１００ａ〜１００ｈは、有線通信ネットワークに接続され、当該有線通信ネットワークを介して互いの端末間で通信するように構成されていてもよい。
【００２５】
図２は、本発明の第１の実施形態に係る通信端末１００の構成を例示するブロック図である。ただし、図２に示す構成は、一例であって、本発明の第１の実施形態は、図２に示す通信端末に限定されない。また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００２６】
本実施形態に係る通信端末１００は、入出力部１１０と、再生処理部１２０と、コンテンツ配信制御部１３０と、記憶部１４０と、通信部１５０とを含む。
【００２７】
入出力部１１０は、例えば、通信端末１００に備わるディスプレイやカメラ、マイク、ソフトウェアキーボード、タッチパネルなどの入出力装置である。また、これらの入出力装置は、通信端末１００とケーブル類で接続されていてもよい。
【００２８】
再生処理部１２０と、コンテンツ配信制御部１３０は、例えば、プログラム制御に従って処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。具体的には、再生処理部１２０およびコンテンツ配信制御部１３０は、例えば、通信端末１００に搭載されたＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に基づいて動作するアプリケーションソフトウェアの制御に従って処理を実行するＣＰＵである。
【００２９】
記憶部１４０は、例えば、ＣＰＵによって制御されるメモリなどの記憶媒体である。
【００３０】
通信部１５０は、例えば、以下の処理を行うネットワーク処理部や無線ＬＡＮ通信モジュールである。
【００３１】
・ＯＳのカーネルによって制御されるＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などのトランスポート層の処理、
・ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などのネットワーク層の処理および
・ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）などの処理。
【００３２】
記憶部１４０には、通信端末情報１４１とコンテンツ情報１４２とが記憶されている。また、記憶部１４０には、コンテンツデータ（図示せず）も記憶されている。なお、コンテンツデータは、音声や映像等のストリーム型のデータファイルであってもよいし、ストリーム型データの一部であってもよい。また、コンテンツデータは、入出力部１１０のカメラやマイクを通して撮影や録音したデータの一部であってもよい。通信端末１００の記憶部１４０に記憶されていることを、単に、通信端末１００に記憶されている、ということがある。
【００３３】
各通信端末１００は、所定の周期、または必要に応じて、送信元の通信端末１００を示す通信端末識別子と、記憶部１４０に記憶しているコンテンツデータに関する情報（以下において、コンテンツリストともいう）を含む制御メッセージを互いに送受信する。通信端末識別子は、例えば、ＩＰアドレス、ユーザ名、あるいは、通信端末名などの通信端末を一意に識別可能な識別子である。コンテンツリストは、送信元の通信端末１００が保有するコンテンツデータから成るコンテンツの識別子と、当該コンテンツの保有データの範囲とを組にしたものを、保有する全てのコンテンツに対して生成し、リスト化したものである。コンテンツの識別子は、以下において、コンテンツ識別子またはコンテンツ名ともいう。また、当該コンテンツの保有データの範囲は、例えば、当該コンテンツを成すコンテンツデータのうち、先頭データからの最小のオフセットと最大のオフセットの組で表すことができる。なお、映像コンテンツデータの場合、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）と呼ばれる映像データ圧縮技術が使われることが多い。このような圧縮技術を用いた際には、映像コンテンツデータは、Ｉフレーム、ＰフレームおよびＢフレームの各種フレームや、それらを一定の個数にまとめたＧＯPと呼ばれるグループ単位で処理される。上述のＩフレームのIは、Ｉｎｔｒａ  Ｐｉｃｔｕｒｅを略したものである。上述のＰフレームのPは、Ｐｒｅｄｉｃｔｉｖｅ  Ｐｉｃｔｕｒｅを略したものである。上述のＢフレームのBは、Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  Ｐｒｅｄｉｃｔｉｖｅ  Ｐｉｃｔｕｒｅを略したものである。さらに、上述のＧＯＰは、Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅを略したものである。これらのフレームやＧＯＰに予め付与した識別子が、保有データの範囲を指定するために用いられてもよい。すなわち、通信端末１００が他の通信端末１００が保有するコンテンツデータの範囲を認識可能であれば、保有データの範囲を表す方法は、限定されない。以後、保有データの範囲は、保有データ範囲と呼ばれる。
【００３４】
通信端末１００は、他の通信端末１００から受信した制御メッセージを基に、通信端末情報１４１を記憶部１４０に記憶する。
【００３５】
図３は、本発明の第１の実施形態に係る記憶部の通信端末情報１４１を例示する図である。通信端末情報１４１は、通信端末識別子１４１Ａと、有効期限１４１Ｂと、コンテンツリスト１４１Ｃとを有する。
【００３６】
通信端末識別子１４１Ａは、例えば、ＩＰアドレス、ユーザ名あるいは通信端末名などによって、制御メッセージの送信元である通信端末１００を一意に識別可能な識別子である。通信端末１００（例えば、通信端末１００ａ）の記憶部１４０には、例えばアドホックモードで通信可能な他の通信端末１００（例えば、通信端末１００ｂ〜１００ｈ）を示す通信端末識別子１４１Ａを含む通信端末情報１４１がそれぞれ記憶されている。
【００３７】
有効期限１４１Ｂは、例えば、制御メッセージを受信した日時から、あらかじめ定めた時間Ｔ経過後の日時を示す情報である。有効期限１４１Ｂによって示される日時が到来すると、その有効期限１４１Ｂを含む通信端末情報１４１は、失効したものとして取り扱われる。具体的に、例えば、通信端末情報１４１は、有効期限１４１Ｂによって示される日時が到来した後に記憶部１４０から消去されてもよい。
【００３８】
時間Ｔが長過ぎると、例えば、通信端末識別子１４１Ａによって示される通信端末１００ｈが通信端末１００ａとアドホックモードで互いの間で通信が不可能な場所に移動した後も通信端末情報１４１が通信端末１００ａの記憶部１４０に記憶され続けることになる。また、時間Ｔが短過ぎると、例えば、通信端末識別子１４１Ａによって示される通信端末１００ｈが通信端末１００ａとアドホックモードで互いの間で通信が可能であっても、通信端末情報１４１が通信端末１００ａの記憶部１４０から消去されることになる。したがって、時間Ｔは、制御メッセージの送信周期よりも長い時間が適切である。
【００３９】
コンテンツリスト１４１Ｃは、制御メッセージに含まれるコンテンツリストの内容を設定する。
【００４０】
図４は、本発明の第１の実施形態に係る記憶部１４０のコンテンツ情報１４２を例示する図である。図４に示すように、コンテンツ情報１４２は、自通信端末１００が保有するコンテンツデータから成る全てのコンテンツに対するコンテンツ識別子１４２Ａと、保有データ範囲１４２Ｂとを含む。ここで、保有データ範囲１４２Ｂは、上述のコンテンツリスト１４１Ｃの保有データ範囲と同様である。
【００４１】
コンテンツ配信制御部１３０は、メッセージ送受信部１３１と、コンテンツ管理部１３２と、再送制御部１３３とを含む。
【００４２】
メッセージ送受信部１３１は、通信部１５０を介して通信可能な通信端末１００と互いに制御メッセージを送受信する。例えば、メッセージ送受信部１３１は、制御メッセージを送信する所定のタイミングが到来した場合、または例えば、新たなコンテンツを登録、受信した時など必要に応じたタイミングで、制御メッセージを生成してブロードキャスト送信する。なお、メッセージ送受信部１３１は、例えば、記憶部１４０に記憶されているコンテンツ情報１４２に含まれるコンテンツ識別子１４２Ａおよび保有データ範囲１４２Ｂに基づいて、制御メッセージに含むコンテンツリストを作成する。
【００４３】
メッセージ送受信部１３１は、所定の周期、または必要に応じて、繰り返し制御メッセージを送信する。メッセージ送受信部１３１は、自通信端末１００の記憶部１４０に複数のコンテンツを成すコンテンツデータが記憶されている場合、例えば、以下に示すような制御メッセージを生成して送信する。すなわち、メッセージ送受信部１３１は、例えば、記憶部１４０に記憶されているコンテンツデータから成る全てのコンテンツのコンテンツ識別子と保有データ範囲とによるコンテンツリスト１４１Ｃを含む制御メッセージを生成する。また、メッセージ送受信部１３１は、記憶部１４０に記憶されているコンテンツデータから成る全てのコンテンツに関する情報を、必ずしも一つの制御メッセージとして生成しなくてもよい。つまり、メッセージ送受信部１３１は、コンテンツリストを複数個に分割し、分割した各々のコンテンツリストを含む複数の制御メッセージを生成して送信してもよい。
【００４４】
なお、メッセージ送受信部１３１は、分割したコンテンツリストを含む複数の制御メッセージを送信する場合に、追加情報を各制御メッセージに付加する。追加情報は、例えば、コンテンツリストが分割されていることを示す情報や、各制御メッセージに含まれているコンテンツリストが、分割されたうちの何番目であるかを示す情報等である。メッセージ送受信部１３１は、その追加情報により、複数の制御メッセージを送信した場合にも、自通信端末１００の記憶部１４０に記憶されているコンテンツデータから成る全てのコンテンツのコンテンツ識別子とその保有データ範囲を送信先の通信端末１００に通知することができる。
【００４５】
また、メッセージ送受信部１３１は、制御メッセージを受信した場合に、当該制御メッセージを基に送信元の通信端末識別子１４１Aを抽出する。そして、メッセージ送受信部１３１は、抽出した通信端末識別子１４１Aと、前述した有効期限１４１Bと、受信した制御メッセージに含まれるコンテンツリスト１４１Cとを含む通信端末情報１４１を生成して記憶部１４０に記憶する。
【００４６】
なお、メッセージ送受信部１３１は、新たに生成した通信端末情報１４１と同じ通信端末識別子１４１Ａに関する通信端末情報１４１が記憶部１４０に既に記憶されている場合には、以下の処理を行ってもよい。すなわち、メッセージ送受信部１３１は、記憶されていた通信端末情報１４１の内容を新たな通信端末情報１４１の内容によって更新してもよい。
【００４７】
また、メッセージ送受信部１３１は、有効期限１４１Ｂによって示される日時が到来した通信端末情報１４１を記憶部１４０から消去してもよい。
【００４８】
コンテンツ管理部１３２は、通信部１５０を介して、コンテンツデータを他の通信端末１００との間で送受信する機能と、記憶部１４０に記憶されているコンテンツデータから成るコンテンツを管理する機能とを有する。コンテンツ管理部１３２は、他の通信端末１００が送信した制御メッセージをメッセージ送受信部１３１が受信すると、当該制御メッセージに含まれるコンテンツリストに基づいて、以下の処理を行う。すなわち、コンテンツ管理部１３２は、その制御メッセージの送信元の通信端末１００に記憶されているコンテンツと自通信端末１００に記憶されているコンテンツとの差分を検出する。具体的には、コンテンツ管理部１３２は、例えば、その制御メッセージに含まれるコンテンツリストのコンテンツ識別子と、記憶部１４０において自通信端末１００が保有するコンテンツ情報１４２に含まれるコンテンツ識別子１４２Ａとを比較する。そして、コンテンツ管理部１３２は、自通信端末１００が保有するコンテンツ情報１４２に含まれないが、受信した制御メッセージに含まれるコンテンツ識別子があると判定した場合に、当該コンテンツを入出力部１１０の例えばディスプレイに表示してユーザに通知する。
【００４９】
図５は、本発明の第１の実施形態に係る通信端末の入出力部１１０の表示イメージを例示する図である。図５に示す表示例は、右側に、以下の２種類のコンテンツ名の一覧が表示されている。１種類目のコンテンツ名は、自通信端末１００が保有するコンテンツのコンテンツ名（コンテンツ識別子）である。もう１種類のコンテンツ名は、自通信端末１００は保有していないが、他の通信端末１００から受信した制御メッセージに含まれるコンテンツ名（コンテンツ識別子）である。ユーザは、これらのコンテンツ名の一覧からあるコンテンツを選択すると、左側のコンテンツ表示領域にその一部の画像が表示されると共に、再生操作を行うことによりその映像を視聴することができる。また、入出力部１１０は、コンテンツ名が選択された場合に、当該コンテンツを成すコンテンツデータを保有する通信端末１００の一覧や、各通信端末１００が保有するコンテンツデータの保有データ範囲を表示してもよい。通信端末１００は、再生するよう選択されたコンテンツを成すコンテンツデータを自通信端末１００が保有する（記憶している）場合に、そのコンテンツデータを再生処理部１２０により再生し、図５に示すコンテンツ表示領域に表示して、視聴可能にする。また、自通信端末１００が保有していない（記憶していない）コンテンツが選択された場合に、通信端末１００は、当該コンテンツを成すコンテンツデータを保有する他の通信端末１００に当該コンテンツデータの配信要求を送信する。そして、通信端末１００は、その配信要求に対して送信されたコンテンツデータを受信して、そのデータを記憶部１４０に記憶しながら、再生処理部１２０により再生し、図５に示すコンテンツ表示領域に表示することにより視聴可能にする。この際、コンテンツデータを受信した通信端末１００は、受信したコンテンツデータから成るコンテンツのコンテンツ識別子や保有データ範囲を表す情報を、コンテンツ情報１４２として記憶する。なお、入出力部１１０がコンテンツデータの範囲を示す保有データ範囲を表示することにより、ユーザは、コンテンツを、所望の位置（オフセット）から再生することを要求できるようにしてもよい。
【００５０】
また、コンテンツ管理部１３２は、データパケットを受信した際、当該コンテンツの先頭オフセットから新たに受信したデータパケットのオフセットまでのデータの中で、自通信端末１００が保有していないロスデータの有無を確認する。確認の結果、ロスデータが存在すれば、コンテンツ管理部１３２は、再送制御部１３３に再送を要求するための処理を実行するように指示する。
【００５１】
再送制御部１３３は、他の通信端末１００から受信したコンテンツデータに、通信中のパケットロスやエラー等に基づくデータロスを検知した場合、当該データの再送要求に対する優先度を決定する。さらに、再送制御部１３３は、ロス率に応じて優先度が高いロスデータから再送を要求する。ここで、現在の時刻に予め設定した時間Ｔｒを加算した時刻以降に、再生処理部１２０により再生されるデータは、再送要求によるロスデータの再送が間に合うと判断される。この結果、そのロスデータの再送要求に対する優先度は、高く設定される。一方、現在の時刻に予め設定した時間Ｔｒを加算した時刻より前に、再生処理部１２０により再生されるデータは、再送を要求してもロスデータの再送が再生予定時刻に間に合わないと判断される。この結果、そのロスデータの再送要求に対する優先度は、低く設定される。そして、再送制御部１３３は、ロス率の算出を行い、ロス率が予め設定された閾値より大きければ、優先度が高いロスデータから再送を要求する。ここで、ロス率は、当該コンテンツの先頭オフセットから現在までに受信したデータの最大のオフセットまでのデータサイズに対するロスデータのサイズで算出し、閾値は０以上１以下の数として設定する。そして、再送制御部１３３は、算出したロス率が予め設定した閾値よりも大きければ、再送要求に対する優先度が高いロスデータから順番に再送を要求する。なお、再送要求の送信先端末は、当該コンテンツを成すコンテンツデータの送信元である通信端末１００でもよいし、通信端末情報１４１を基に当該ロスデータを保有していると判断できる他の通信端末１００でもよい。
【００５２】
通信部１５０は、物理層（ＰＨＹ：ＰＨＹｓｉｃａｌ  Ｌａｙｅｒ）やＭＡＣ層、ＩＰ層、ＴＣＰやＵＤＰといったトランスポート層のネットワーク処理を行う。
【００５３】
〜処理〜
次に、本発明の第１の実施形態に係る通信端末１００の処理について説明する。
【００５４】
まず、通信端末１００が、制御メッセージ、またはコンテンツデータを受信する場合の処理について説明する。通信部１５０は、物理層において、フレーム（データ）の受信を検知すると、ＭＡＣ層や、ＩＰ層、トランスポート層などのネットワークプロトコル処理に従い、コンテンツ配信制御部１３０にデータを入力する。コンテンツ配信制御部１３０は、通信部１５０が受信したデータを組み立てて、当該データが制御メッセージに応じたデータであるか否かを確認する。データが制御メッセージに応じたデータであれば、コンテンツ配信制御部１３０は、制御メッセージを受信した場合の処理を行う。
【００５５】
図６は、本発明の第１の実施形態に係る通信端末１００が制御メッセージを受信する処理を示すフローチャートである。
【００５６】
ステップＡ１：
通信端末１００が制御メッセージを受信した場合、メッセージ送受信部１３１は、当該制御メッセージを基に、上述したように通信端末情報１４１を生成し、記憶部１４０に記憶する。また、制御メッセージの送信元の通信端末１４０に関する通信端末情報１４１が記憶部１４０にすでに記憶されている場合、メッセージ送受信部１３１は、以下の処理を行う。すなわち、メッセージ送受信部１３１は、新たに受信した制御メッセージの内容を基に、その通信端末情報１４１を更新し、ステップＡ１の処理を終了する。
【００５７】
なお、ステップＡ１の処理の際、コンテンツ配信制御部１３０は、通信端末情報１４１のコンテンツリスト１４１Ｃに記載されているコンテンツと、自通信端末１００が保有するコンテンツの和集合を取る。すなわち、コンテンツ配信制御部１３０は、それらの一方、または両方に含まれるコンテンツのリストを作成する。次に、それらコンテンツ識別子（コンテンツ名）のリストを入出力部１１０は、例えば図５に示すように表示する。入出力部１１０は、コンテンツ名だけでなく、どの通信端末１００が当該コンテンツを成すコンテンツデータを保有するか、またそれらの通信端末１００がどの範囲のデータを保有するかもあわせて表示してもよい。
【００５８】
次に、ユーザが通信端末１００においてコンテンツの視聴を希望する際に通信端末１００で行われる処理について説明する。
【００５９】
ユーザは、通信端末１００における入出力部１１０に表示されたコンテンツ名のリストから視聴したいコンテンツを選択する。
【００６０】
選択されたコンテンツを成すコンテンツデータを自通信端末１００が保有する場合は、入出力部１１０は、再生処理部１２０に当該コンテンツの再生を要求する。要求を受けた再生処理部１２０は、当該コンテンツを成すコンテンツデータを記憶部１４０から読み出しながら再生処理を行い、入出力部１１０に表示する。なお、再生処理部１２０におけるコンテンツの再生処理は、ＭＰＥＧ等の映像データ圧縮技術を用いた再生処理であり、既存の技術を用いて行うため、詳細な説明は省略する。
【００６１】
次に、選択したコンテンツを成すコンテンツデータを自通信端末１００が保有しない場合について、図７のフローチャートを用いて説明する。図７は、本発明の第１の実施形態に係る通信端末１００がコンテンツデータを受信する処理を示すフローチャートである。
【００６２】
ステップＢ１：
入出力部１１０は、コンテンツ配信制御部１３０に、入出力部１１０によりユーザが指定したコンテンツを要求する。コンテンツの要求を受けたコンテンツ配信制御部１３０は、メッセージ送受信部１３１に対して、当該コンテンツの要求を行う制御メッセージ（これをコンテンツ要求メッセージと呼ぶ）の送信を指示する。コンテンツ要求メッセージは、コンテンツデータの送信先となる自通信端末１００の識別子と、要求するコンテンツのコンテンツ識別子とを含む。メッセージ送受信部１３１は、コンテンツ識別子を基に通信端末情報１４１を参照して、当該コンテンツを成すコンテンツデータを保有する通信端末１００から１つの通信端末１００を、コンテンツ要求メッセージの送信先として選択する。そして、メッセージ送受信部１３１は、送信先として選択した通信端末１００に対して、通信部１５０を介してコンテンツ要求メッセージを送信する。メッセージ送受信部１３１は、当該コンテンツ要求メッセージの送信先である通信端末１００からコンテンツデータとなるパケットを受信する。予め設定したタイムアウト時間が経過してもパケットを受信しない場合、メッセージ送受信部１３１は、何らかの原因でコンテンツ要求メッセージが送信先の通信端末１００に届かなかったものと判断し、再度、コンテンツ要求メッセージを送信する。このコンテンツ要求メッセージを送信する送信先は、先のコンテンツ要求メッセージの送信先と同じ通信端末１００でもよいし、新たな送信先を再度選択してもよい。
【００６３】
ここで、入出力部１１０から視聴したいコンテンツを選択する際、当該コンテンツにおける視聴を開始したい位置を、コンテンツの先頭からの時間で指定するようにしてもよい。例えば、当該コンテンツの開始から５分後の位置から視聴したいとして指定する。この際、入出力部１１０は、指定された開始位置（時間）も併せてコンテンツ配信制御部１３０に要求し、コンテンツ配信制御部１３０が当該開始位置のデータのオフセットを計算してもよい。また、入出力部１１０が当該開始位置のデータのオフセットを計算してもよい。このように視聴の開始位置を指定された場合、メッセージ送受信部１３１は、通信端末情報１４１を参照して、当該コンテンツの開始位置となるオフセットからのデータを保有する通信端末１００を選択する。そして、メッセージ送受信部１３１は、当該通信端末１００に対して当該オフセットに関する情報を追加したコンテンツ要求メッセージを通信部１５０を介して送信する。以上がステップB1の処理である。
【００６４】
ステップＢ２：
コンテンツ管理部１３２は、通信部１５０を介してデータパケットを受信すると（ステップＢ２で「Ｙｅｓ」）、後述するステップＢ３の処理を行う。データパケットを受信しない場合（ステップＢ２で「Ｎｏ」）、コンテンツ管理部１３２は、データパケットを受信するまで待つ。なお、図示していないが、データパケットが届かないと判定するタイムアウト時間を予め設定する。タイムアウト時間が経過するまでに次のデータパケットを受信しない場合、コンテンツ管理部１３２は、当該送信元の通信端末１００が通信可能な範囲の外に移動した等の理由により、これ以上コンテンツデータを受信できないものと判断する。そして、コンテンツ管理部１３２は、ステップＢ１から新たに処理を開始する。このタイムアウト時間は、ステップＢ１で説明したコンテンツ要求メッセージのタイムアウト時間と等しくてもよいし、異なる値として設定してもよい。
【００６５】
ステップＢ３：
コンテンツ管理部１３２は、受信したデータパケット（コンテンツデータ）を記憶部１４０に記憶すると共に、再生処理を行うため再生処理部１２０に送信する。また、コンテンツ管理部１３２は、新たにコンテンツ情報１４２を作成、または記憶されている当該コンテンツのコンテンツ情報１４２の保有データ範囲を更新する。
【００６６】
ステップＢ４：
コンテンツ管理部１３２は、当該コンテンツの先頭オフセットから新たに受信したデータパケットのオフセットまでのデータの中で、自通信端末１００が保有していないデータ（ロスデータ）の有無を確認する。ロスデータが存在する場合（ステップＢ４で「Ｙｅｓ」）、コンテンツ管理部１３２は、再送制御部１３３に対し、ステップＢ５において再送を要求するための処理（再送要求処理）を行うよう指示する。ロスデータが存在しない場合（ステップＢ４で「Ｎｏ」）、コンテンツ管理部１３２は、ステップＢ６の処理を行う。
【００６７】
ステップＢ５：
再送制御部１３３は、再送要求処理を実行する。再送制御部１３３は、再送要求処理が終了すると、処理が終了したことをコンテンツ管理部１３２に通知し、ステップＢ７の処理に進む。なお、この再送要求処理の詳細については後述する。
【００６８】
ステップＢ６：
コンテンツ管理部１３２は、要求したコンテンツの先頭から最後まで全てのデータを受信済みであるかを確認し、全てのデータを受信済みであれば（ステップＢ６で「Ｙｅｓ」）、処理を終了する。全てのデータを受信していなければ（ステップＢ６で「Ｎｏ」）、コンテンツ管理部１３２は、ステップＢ７の処理に進む。
【００６９】
ステップＢ７：
コンテンツ管理部１３２は、通信端末情報１４１を参照し、次に受信する予定のコンテンツデータを、送信元である通信端末１００が保有しているか否かを確認する。送信元である通信端末１００が次のコンテンツデータを保有している場合（ステップＢ７で「Ｙｅｓ」）、コンテンツ管理部１３２は、ステップＢ２に戻り、次のコンテンツデータのデータパケットの受信を待つ。送信元通信端末１００が次のコンテンツデータを保有していない場合（ステップＢ７で「Ｎｏ」）、コンテンツ管理部１３２は、ステップＢ１に戻り、次のコンテンツデータを保有する通信端末１００を検索し、処理を続ける。
【００７０】
図８は、本発明の第１の実施形態に係る通信端末１００が再送要求処理を行う手順を示すフローチャートである。
【００７１】
ステップＣ１：
コンテンツ管理部１３２から再送要求処理の実行通知を受けた再送制御部１３３は、再送要求処理を開始する。まず、再送制御部１３３は、受信中のコンテンツデータにおいて、コンテンツの先頭から現在受信済みのデータの末尾までの間で、ロスしているデータの範囲を抽出する。このデータの範囲は、コンテンツの先頭からのオフセット（第１のオフセット）で表してもよいし、映像コンテンツであればフレームの識別子やＧＯＰの識別子を用いてもよい。ここでは、ロスデータの第１のオフセットを使用する。再送制御部１３３は、抽出した範囲のロスデータから、既に再送要求を送信済みのデータを除いたロスデータに対し、再生時刻に間に合うか否かによって再送要求の優先度を決定する。具体的には、再送制御部１３３は、再生処理部１２０に現在再生しているコンテンツデータについてコンテンツの先頭からのオフセット（第２のオフセット）を問い合わせる。さらに、再送制御部１３３は、予め設定した時間Ｔｒの間、再生を行うために必要なコンテンツデータのサイズを映像または音声のビットレートから概算する。そして、再送制御部１３３は、再生処理部１２０より得られた第２のオフセットに、概算したサイズを加算することによりオフセット（第３のオフセット）を求める。再送制御部１３３は、求めた第３のオフセットと、ロスデータの第１のオフセットとを比較して、優先度を決定する。つまり、再送制御部１３３は、算出した再生時刻に相当するデータのオフセット（第３のオフセット）よりも小さい範囲（第１のオフセット）のロスデータについては、再生時刻に間に合わないと判断して、該データの優先度を低く設定する。一方、再送制御部１３３は、算出した再生時刻に相当するデータのオフセットよりも大きい範囲のロスデータについては、再生時刻に間に合うと判断して、該データの優先度を高く設定する。再送制御部１３３は、ロスデータに対する優先度を決定すると、ステップＣ２の処理に進む。
【００７２】
図９は、本発明の第１の実施形態に係る通信端末１００が再送要求の優先度を決定する処理を説明する図である。図９において、通信端末１００は、コンテンツデータのうち先頭０バイトから２９９９バイト、４０００バイトから４９９９バイト、７０００バイトから７９９９バイトのデータを受信していないとする。そして、通信端末１００は、このうち０バイトから２９９９バイトのデータについては再送要求を送信済みであるものとする。このとき、通信端末１００は、４０００バイトから４９９９バイトのデータと７０００バイトから７９９９バイトのデータに対する再送要求の優先度を決定する。また、現在再生を行っているデータは、６０００バイト目（＝第２のオフセット）のデータであるとする。さらに、予め設定した時間Ｔｒの再生に必要なデータサイズは、５００バイトとする。このとき、再生時刻に間に合うと判定するデータのオフセット（第３のオフセット）は、６０００＋５００＝６５００（バイト）である。４０００バイトから４９９９バイト（＝第１のオフセット）のロスデータは、６５００バイトよりも小さいことから、再生時刻に間に合わないと判定し、優先度が低いと決定される。一方、７０００バイトから７９９９バイトのデータは、６５００バイトよりも大きいことから、再生時刻に間に合うと判定し、優先度が高いと決定される。
【００７３】
ステップＣ２：
再送制御部１３３は、抽出した範囲のロスデータから、そのロス率を算出する。算出したロス率が予め設定した閾値以下の場合（ステップＣ２で「Ｙｅｓ」）、再送制御部１３３は、再送要求処理を行わず、処理を終了する。一方、算出したロス率が予め設定した閾値よりも大きい場合（ステップＣ２で「Ｎｏ」）、再送制御部１３３は、ステップＣ３に進む。なお、ロス率は、当該コンテンツの先頭オフセットから現在までに受信したデータの最大のオフセットまでのデータサイズに対するロスデータのサイズで算出する。閾値は、０以上１以下の数が設定される。ここで、閾値が０と設定されている場合、再送制御部１３３は、ロス率を算出せずに（ステップＣ２を行わずに）、ステップＣ３に進んでよい。
【００７４】
ステップＣ３：
再送制御部１３３は、ステップＣ１で優先度を決定したロスデータに対する再送要求を送信する。具体的に、再送制御部１３３は、通信端末情報１４１を参照し、当該ロスデータを保有する通信端末１００を選択して、メッセージ送受信部１３１に再送要求メッセージの送信を指示する。ここで、再送要求のメッセージを再送要求メッセージと呼ぶ。図１０は、本発明の第１の実施形態に係る通信端末１００が送信する再送要求メッセージの一例を示す図である。再送要求メッセージは、再送を要求する自通信端末１００を示す要求元通信端末識別子と、再送要求コンテンツ情報とを含む。再送要求コンテンツ情報は、当該コンテンツのコンテンツ識別子と、再送を要求する対象であるデータのオフセット範囲（データ範囲）およびその優先度を含む。再送制御部１３３は、全てのロスデータを保有する通信端末１００が存在すれば、当該通信端末１００に対して再送要求メッセージを送信するよう、メッセージ送受信部１３１に指示する。図９に示す例であれば、全てのロスデータは、（ロスデータのオフセット範囲、優先度）＝（４０００、４９９９、低）、（７０００、７９９９、高）である。なお、このとき送信先とする通信端末１００は、当該コンテンツを成すコンテンツデータの送信元である通信端末１００でもよいし、他の通信端末１００でもよい。また、通信端末１００は、複数の再送要求メッセージを送信する必要がある場合に、全ての再送要求メッセージを単一の通信端末１００に送信してもよいし、複数の通信端末１００に分散して送信してもよい。例えば、通信端末１００は、優先度が低いロスデータと、優先度が高いロスデータとに分けて、それぞれ異なる通信端末１００に送信してもよい。さらに、通信端末１００は、優先度が低い、または優先度が高いロスデータのオフセット範囲を、例えばパケットのペイロードサイズに分割する等して、さらに異なる通信端末１００に対して送信してもよい。但し、再送要求メッセージを送信する順序は、上述したように優先度が高いロスデータと優先度が低いロスデータを同一の再送要求メッセージにまとめて送信する場合を除いて、優先度が高いロスデータから順番に送信する。再送制御部１３３は、メッセージ送受信部１３１に、対象となる全てのロスデータに対する再送要求メッセージの送信を指示すると、処理を終了する。
【００７５】
なお、再送制御部１３３は、メッセージ送受信部１３１が、各々の再送要求メッセージを送信した時刻を記憶しておく。そして、再送制御部１３３は、タイマを用いる等して、予め設定したタイムアウトＲＴＯ（Ｒｅｔｒаｎｓｍｉｓｓｉｏｎ  Ｔｉｍｅ−Ｏｕｔ）値が経過するまでにデータが到着しない場合は、当該再送要求はタイムアウトしたと判断する。再送要求がタイムアウトしたと判断した場合、再送制御部１３３は、再度ステップＣ１から処理を行う。以上が図７のステップＢ５の処理である。
【００７６】
次に、通信端末１００が制御メッセージを送信する場合について説明する。図１１は、本発明の第１の実施形態に係る通信端末１００が制御メッセージを送信する処理を示すフローチャートである。
【００７７】
ステップＤ１：
コンテンツ配信制御部１３０のメッセージ送受信部１３１は、例えば、タイマなどを用いて、所定の周期で到来する、制御メッセージを送信する所定のタイミングであるか否かを判断する。メッセージ送受信部１３１は、所定のタイミングであると判断した場合（ステップＤ１で「Ｙｅｓ」）、ステップＤ２で制御メッセージの送信を行う。メッセージ送受信部１３１は、所定のタイミングでないと判断した場合（ステップＤ１で「Ｎｏ」）、何も行わずに終了する。なお、メッセージ送受信部１３１は、所定の周期以外にも、例えば、新たなコンテンツデータを受信した時など、必要に応じてステップＤ２で制御メッセージを送信しても良い。
【００７８】
ステップＤ２：
メッセージ送受信部１３１は、記憶部１４０からコンテンツ情報１４２を読み出して、自通信端末１００が保有するコンテンツデータから成るコンテンツのコンテンツリストを作成する。メッセージ送受信部１３１は、作成したコンテンツリストと自通信端末１００の識別子とを含む制御メッセージを生成する。そして、メッセージ送受信部１３１は、生成した制御メッセージを通信部１５０を介して、通信端末１００に送信する。
【００７９】
次に、通信端末１００がコンテンツデータを送信する処理について説明する。通信端末１００は、図７のステップB1でのコンテンツ要求メッセージまたは図８のステップC3での再送要求メッセージを他の通信端末１００から受信することを契機に、コンテンツデータを送信する処理を行う。図１２は、本発明の第１の実施形態に係る通信端末１００がコンテンツデータを送信する処理を示すフローチャートである。
【００８０】
ステップＥ１：
コンテンツ要求メッセージを受信した場合、コンテンツ管理部１３２は、以下の処理を行う。すなわち、コンテンツ管理部１３２は、当該メッセージの送信元端末に対して、メッセージ内に指定されたコンテンツ識別子に相当するコンテンツデータの送信開始位置を示すオフセットからのデータを順次通信部１５０を介して送信する。また、コンテンツ管理部１３２は、再送要求メッセージを受信した場合、異なる優先度のロスデータの範囲が指定されていたら、優先度が高いロスデータから順次通信部１５０を介して送信する。なお、異なる通信端末１００から複数の再送要求メッセージを受信した場合も、コンテンツ管理部１３２は、優先度が高いロスデータから優先して送信を行い、続いて優先度が低いロスデータの送信を行う。同一優先度のロスデータは、例えば、当該ロスデータを要求する再送要求メッセージの到着順に送信処理される。このような優先度に基づくデータの送信方法には、優先度の段階（本実施形態では、「２」）と同じ数のキューを用意し、これを用いる方法がある。具体的には、再送要求メッセージが到着すると、コンテンツ管理部１３２は、当該メッセージで要求されているデータ範囲を、指定された優先度に対応するキューに挿入する。そして、コンテンツ管理部１３２は、最も優先度が高いキューに入っているデータ範囲から順に送信処理を行い、当該キューが空になったら、処理の対象を次に高い優先度に対応するキューに移す。また、コンテンツ管理部１３２は、コンテンツデータとロスデータを、予め決められたパケット数、または時間間隔でラウンドロビンしながらデータパケットとして送信してもよい。あるいは、コンテンツ管理部１３２は、再送要求メッセージよりもコンテンツ要求メッセージで要求されたコンテンツデータの送信を優先してもよい。このようにコンテンツデータとロスデータの送信方法は、さまざまな方針が考えられるが、予め方針を設定して、その方針に従えばよい。コンテンツ管理部１３２は、データ送信を完了すると、ステップＥ１の処理を終了する。
【００８１】
本実施形態によれば、通信端末１００は、ストリーム型コンテンツの再生（視聴）を行うために受信したコンテンツデータにロスデータが存在した場合、以下の処理を行う。すなわち、通信端末１００は、当該ロスデータが再生される時刻までに再送が間に合うか否かに基づいて、再送要求の優先度を決定する。そして、通信端末１００は、優先度が高いロスデータから順番に他の通信端末１００に再送を要求する。当該再送要求を受けた通信端末１００は、再送要求の優先度が高いものを優先して再送する。これにより、再送要求を受けた通信端末１００は、優先度の高いロスデータ、つまり、早期に再送すれば、受信通信端末１００において再生に間に合うデータを優先して再送することが可能となる。さらに、再生に間に合わないデータについても、後から再度再生（視聴）したり、他の通信端末に配信したりすることに備えて、再送要求を受けた通信端末１００は、再送を行う。この結果、通信端末１００は、ロスデータが補われたコンテンツデータを記憶することが可能となり、再送処理を良好に制御することが可能となる。
【００８２】
また、通信端末１００は、再送要求処理を実行するか否かを判定するために、ロス率を用いる。これにより、通信端末１００は、コンテンツを成す全てのコンテンツデータを受信しなくても、ロス率が予め設定した閾値以下であれば、ロスデータが存在しても再送を要求しない。ストリーム型コンテンツに対し、その視聴に影響のない範囲で閾値を適切に設定することにより、視聴に影響のないロスデータの再送は、停止できる。これにより、その他の重要なロスデータの再送処理にネットワークリソースが割り当てられ、効率的な再送の制御を実行することが可能となる。
【００８３】
＜第２の実施形態＞
〜構成〜
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。
【００８４】
本発明の第２の実施形態に係る通信端末２００について説明する。図１３は、本発明の第２の実施形態に係る通信端末２００の構成を例示するブロック図である。図１３に示すように、通信端末２００は、コンテンツ配信制御部２３０と、記憶部２４０とを含む。その他の構成は、図２に示す第１の実施形態の通信端末１００における構成と同様であるため、対応する構成要素に図２と同じ符号を付して説明を省略する。また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００８５】
通信端末２００のコンテンツ配信制御部２３０は、再送制御部２３３を含む。その他の構成は、図２に示す第１の実施形態のコンテンツ配信制御部１３０における構成と同様であるため、対応する構成要素に図２と同じ符号を付して説明を省略する。
【００８６】
第１の実施形態における再送制御部１３３は、ロスデータに対して優先度を決定後、当該コンテンツの先頭オフセットから現在までに受信したデータの最大のオフセットまでのデータを対象にロス率を算出する。そして、再送制御部１３３は、算出したロス率が予め設定した閾値よりも大きい場合にロスデータの再送を要求する。
【００８７】
それに対して、本実施形態の再送制御部２３３は、ロスデータに対して優先度を決定後、当該コンテンツに対して、予め設定した保管データ範囲におけるロス率を算出する。そして、再送制御部２３３は、算出したロス率が予め設定した閾値よりも大きい場合にロスデータの再送を要求する。
【００８８】
また、本実施形態の通信端末２００の記憶部２４０は、コンテンツ情報２４２を記憶する。その他の構成は、図２に示す第１の実施形態の記憶部１４０と同様であるため、対応する構成要素に図２と同じ符号を付して説明を省略する。
【００８９】
記憶部２４０に記憶されるコンテンツ情報２４２は、自通信端末２００が保有するコンテンツデータから成る全てのコンテンツに対して、本発明の第１の実施形態におけるコンテンツ情報１４２の内容に加え、予め設定した保管データ範囲を含む。図１４は、本発明の第２の実施形態に係る記憶部２４０のコンテンツ情報２４２を例示する図である。図１４に示すように、コンテンツ情報２４２は、保管データ範囲２４２Ｃを含む。その他の構成は、図４に示す第１の実施形態のコンテンツ情報１４２における構成と同様であるため、対応する構成要素に図４と同じ符号を付して説明を省略する。また、保管データ範囲２４２Ｃは、上述のコンテンツリスト１４１Ｃの保有データ範囲１４２Bと同様の形式であるため、説明を省略する。
【００９０】
〜処理〜
次に、本発明の第２の実施形態に係る通信端末２００の処理について説明する。本実施形態の通信端末２００は、第１の実施形態に係る通信端末１００と、図７に示すステップＢ５の再送要求処理の内容が異なる。それ以外の処理は、第１の実施形態における通信端末１００と同様であるため、説明を省略する。
【００９１】
図１５は、本発明の第２の実施形態に係る通信端末２００が再送要求処理を行う手順を示すフローチャートである。図１５に示すフローチャートにおいて、ステップＣ１、Ｃ３における処理は、図８に示す処理とそれぞれ同様であるため、説明を省略する。
【００９２】
ステップＣ４：
再送制御部２３３は、コンテンツ情報２４２を参照し、当該コンテンツの保管データ範囲２４２Ｃを取得する。そして、再送制御部２３３は、当該保管データ範囲２４２Ｃにおけるロスデータのロス率を算出する。算出したロス率が予め設定した閾値以下の場合（ステップＣ４で「Ｙｅｓ」）、再送制御部２３３は、ロスデータの再送を要求せず、処理を終了する。一方、算出したロス率が予め設定した閾値よりも大きい場合（ステップＣ４で「Ｎｏ」）、再送制御部２３３は、当該保管データ範囲２４２Ｃにおけるロスデータの再送を要求するため、ステップＣ３に進む。なお、本実施形態においてロス率は、当該コンテンツの保管データ範囲のデータサイズに対する、当該保管データ範囲２４２Ｃにおけるロスデータのサイズで算出する。また、閾値を０と設定している場合、ロス率を算出する必要はなく、当該保管データ範囲においてロスデータが存在すれば、ステップＣ４を行わずに、ステップＣ３に進んでもよい。
【００９３】
なお、再送制御部２３３は、メッセージ送受信部１３１を通じて再送要求メッセージを送信すると、第１の実施形態の動作と同様、その送信時刻を記憶しておく。再送制御部２３３は、タイマを用いる等して、予め設定したタイムアウトＲＴＯまでにデータが到着しないことを検出した場合に、当該再送要求処理はタイムアウトしたと判断する。再送要求処理がタイムアウトしたと判断した場合、再送制御部２３３は、再度ステップＣ１からの処理を実行する。
【００９４】
本実施形態によれば、第１の実施形態における通信端末１００の効果に加え、以下の効果がある。本実施形態によれば、コンテンツ全体のロス率が閾値以下になるまでではなく、予め設定した保管データ範囲のデータに対するロス率が閾値以下になるまで、通信端末２００は、再送要求処理を行えばよい。これにより、各通信端末２００は、一部分のデータを保管することから、複数の通信端末２００で分散してコンテンツデータを管理することができる。よって、自通信端末２００の保管データ範囲外のロスデータに対する再送が停止できる。従って、その再送に使用されていたネットワークリソースは、他の通信端末によるコンテンツデータの送受信に割り当てられることが可能になる。
【００９５】
以上に述べた第１および第２の実施形態において、通信端末１００、２００は、無線ＬＡＮのアドホックモードで互いに通信を行う。しかし、通信端末１００、２００は、無線ＬＡＮのアクセスポイントを介して互いの間の通信を行うように構成されてもよい。図１６は、本発明の第１および第２の実施形態に係る通信端末を含む無線通信システムの構成を例示するブロック図である。図１６に示すように、通信端末１００あるいは通信端末２００の例である通信端末１００ａ〜１００ｈは、アクセスポイント３００を介して互いに通信を行っている。また、通信端末のうちの１つがアクセスポイントと同様の働きを行うＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）と呼ばれる接続形態で、通信端末１００、２００が接続されてもよい。このような構成によれば、各通信端末１００、２００は、直接に通信を行うことができない場合であっても、無線ＬＡＮのアクセスポイント３００を介して互いの間の通信を行い、第１および第２の実施形態における効果と同様な効果を奏することができる。
【００９６】
なお、以上に述べた各実施形態における通信端末１００、２００の各構成要素は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を含む半導体処理部品を用いて実現してもよい。また、これらの構成要素は、少なくとも１つのプロセッサ（例えば、マイクロプロセッサ（ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））、やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ））を含むコンピュータシステムにプログラムを実行させることによって実現してもよい。具体的には、再生処理部１２０、コンテンツ配信制御部１３０および２３０と、記憶部１４０および２４０とが行う処理に関するアルゴリズムをコンピュータで実行する命令群を含む１または複数のプログラムを作成し、当該プログラムをコンピュータに実行させればよい。
【００９７】
当該プログラムは、様々な種類の非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）に格納されて、コンピュータに提供可能である。非一時的なコンピュータ可読媒体は、様々な種類の記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体は、例えば、以下に示す媒体の何れかである。
【００９８】
・磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスク）、
・光磁気記録媒体（例えば光磁気ディスク）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、
・ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅｃｏｒｄａｂｌｅ）、
・ＣＤ−Ｒ／Ｗ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅｗｒｉｔａｂｌｅ）、
・半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、
・ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、
・フラッシュＲＯＭおよび
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））。
【００９９】
また、プログラムは、様々な種類の一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号および電磁波を含む。一時的なコンピュータ可読媒体は、電線や光ファイバ等の有線通信路、または無線通信路を介して、プログラムをコンピュータに提供できる。
【０１００】
なお、以上に述べた各実施形態は、上述した内容に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１０１】
例えば、上述した第１の実施形態では、再送制御部１３３は、ロスデータに対して優先度を決定した後、ロス率を算出して予め設定された閾値と比較し、ロス率が閾値よりも大きければロスデータの再送要求を他の通信端末に送信する。しかし、優先度が低いロスデータと、優先度が高いロスデータとに、それぞれの閾値を設定し、再送制御部１３３は、ロス率を算出後に、それぞれに対応する閾値と比較して再送を要求するか否かを決定してもよい。
【０１０２】
同様に、上述した第２の実施形態で、再送制御部２３３は、ロスデータに対して優先度を決定した後、保管データ範囲におけるロス率を算出し、そのロス率が予め設定された閾値よりも大きければロスデータの再送要求を他の通信端末に送信する。しかし、優先度が低いロスデータと、優先度が高いロスデータとに、それぞれの閾値を設定し、再送制御部２３３は、保管データ範囲におけるロス率を算出後に、それぞれに対応する閾値と比較して再送を要求するか否かを決定してもよい。
【０１０３】
このように閾値を複数設定する場合、例えば、優先度が高いと判定されたロスデータに対しては、閾値を小さく設定する。そうすれば、上述した第１および第２の実施形態における効果に加えて、優先度が高い、つまり、再送処理が再生に間に合うようなロスデータに対しては、積極的に再送を要求するようになる。これにより、再生および視聴するコンテンツの品質を向上させることが可能になる。
【０１０４】
また、上述した各実施形態では、再送制御部１３３および再送制御部２３３は、ロスデータに対して、再生時刻までに再送処理が間に合うか否かで、優先度を２種類に設定している。しかし、再送制御部１３３および再送制御部２３３は、例えば、再送処理が再生時刻に間に合うロスデータや、再生時刻を過ぎてしまったロスデータに対して、それぞれ複数の優先度を設定することも可能である。このようにすることで、再送制御部１３３および再送制御部２３３は、より効率のよい再送制御が可能となる。なお、その際、それぞれの優先度のロス率に対して、それぞれの閾値を設定してもよい。
【０１０５】
また、上述した各実施形態では、入出力部１１０から選択された、視聴したいコンテンツを成すコンテンツデータを自通信端末が保有していない場合に、その通信端末は、他の通信端末のうち当該コンテンツデータを保有する通信端末に対してコンテンツ要求メッセージを送信する。しかし、各通信端末は、他の通信端末から受信した制御メッセージにより、自通信端末が保有していないコンテンツを認識した時点で、当該通信端末に対してコンテンツ要求メッセージを送信し、コンテンツデータの受信を開始してもよい。
【０１０６】
上述した各実施形態は、本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
【０１０７】
＜第３の実施形態＞
〜構成〜
次に、本発明の第３の実施形態に係る通信端末１０について、図面を参照して説明する。図１７は、本発明の第３の実施形態に係る通信端末１０の構成を例示するブロック図である。図１７に示すように、通信端末１０は、再生処理部２０と、データ送受信部３０と、再送制御部３１とを含む。
【０１０８】
なお、再生処理部２０は、図２および図１３に示す再生処理部１２０に相当する。データ送受信部３０は、図２および図１３に示すコンテンツ管理部１３２に相当する。再送制御部３１は、図２および図１３に示すメッセージ送受信部１３１と、図２に示す再送制御部１３３と、図１３に示す再送制御部２３３とに相当する。
【０１０９】
再生処理部２０は、コンテンツデータを再生する。
【０１１０】
データ送受信部３０は、他の端末から受信したコンテンツデータを再生処理部２０に送信する。さらに、受信したコンテンツデータにロスが発生した際に、再送制御部３１に再送を要求するように指示する。
【０１１１】
再送制御部３１は、データ送受信部３０からの指示を受けて、ロスデータの再送が該データの再生予定時刻に間に合う可能性があれば、ロスデータの再送を要求するための再送要求の優先度を上げる。そして、再送制御部３１は、優先度がより高いロスデータから順番に、当該ロスデータを保有する他の通信端末１０に対して再送を要求する。
【０１１２】
以上、説明したように、本実施形態には、端末間におけるコンテンツデータの配信において、コンテンツデータにロスが発生した場合に、ロスしたデータの再送を良好に制御することができるという効果がある。
【０１１３】
その理由は、本実施形態は、ストリーム型コンテンツの再生（視聴）を行うために受信中のデータに対し、優先度がより高いロスデータ、つまり、早期に再送すれば、受信通信端末１００において再生に間に合うデータを優先して再送を要求するからである。さらに、本実施形態は、優先度が高いロスデータから順番に再送を要求するので、再生に間に合わないデータについても、遅い順番で再送を要求する。したがって、後から再度再生（視聴）したり、他の通信端末に配信したりすることに備えて、ロスデータが補われたコンテンツデータを取得することが可能となる。これらの理由により、本実施形態は、再送処理を良好に制御することができる。
【０１１４】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１１５】
この出願は、２０１４年１０月３１日に出願された日本出願特願２０１４−２２２１０８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１１６】
１０、１００、２００    通信端末
２０、１２０    再生処理部
３０    データ送受信部
３１、１３３、２３３    再送制御部
１１０    入出力部
１３０、２３０    コンテンツ配信制御部
１３１    メッセージ送受信部
１３２    コンテンツ管理部
１４０、２４０    記憶部
１４１    通信端末情報
１４２、２４２    コンテンツ情報
１５０    通信部
３００    アクセスポイント
【図１】
2016067561.tif 000003
【図２】
2016067561.tif 000004
【図３】
2016067561.tif 000005
【図４】
2016067561.tif 000006
【図５】
2016067561.tif 000007
【図６】
2016067561.tif 000008
【図７】
2016067561.tif 000009
【図８】
2016067561.tif 000010
【図９】
2016067561.tif 000011
【図１０】
2016067561.tif 000012
【図１１】
2016067561.tif 000013
【図１２】
2016067561.tif 000014
【図１３】
2016067561.tif 000015
【図１４】
2016067561.tif 000016
【図１５】
2016067561.tif 000017
【図１６】
2016067561.tif 000018
【図１７】
2016067561.tif 000019
【手続補正書】
【提出日】平成29年4月14日(2017.4.14)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテンツデータを再生する再生処理手段と、
他の端末から受信した前記コンテンツデータを前記再生処理手段に送信し、受信した前記コンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信手段と、
前記データ送受信手段からの指示を受けて、前記ロスデータの再送が前記コンテンツデータの前記再生処理手段による再生予定時刻に間に合う可能性があれば、前記ロスデータの再送を要求するための再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する再送制御手段とを備える
通信端末。
【請求項２】
前記再送制御手段は、前記ロスデータの再送が前記コンテンツデータの前記再生処理手段による再生予定時刻に間に合う可能性がなければ、前記ロスデータの再送要求の優先度を下げる
請求項１に記載の通信端末。
【請求項３】
前記再送制御手段は、前記ロスデータが、現在時刻よりあらかじめ定めた時間経過以降に再生予定のデータである場合に再送が間に合う可能性があると判断する
請求項１乃至２の何れか一項記載の通信端末。
【請求項４】
前記再送制御手段は、前記コンテンツデータの先頭位置から、最も新しく受信したデータまでにおける、前記ロスデータのロス率を算出し、前記ロス率が予め設定した閾値よりも大きい場合に前記ロスデータの再送を要求する
請求項１乃至３の何れか一項記載の通信端末。
【請求項５】
前記再送制御手段は、前記コンテンツデータに対してあらかじめ設定したデータ保管範囲における、前記ロスデータのロス率を算出し、前記ロス率が予め設定した閾値よりも大きい場合に前記ロスデータの再送を要求する
請求項１乃至３の何れか一項記載の通信端末。
【請求項６】
前記閾値は、複数の段階に設定される優先度の各々に対して設定され、前記ロスデータの優先度に対応した前記閾値と前記ロス率とを比較することにより、前記再送を要求するか否かを判定する
請求項４または５に記載の通信端末。
【請求項７】
前記データ送受信手段は、前記再送の要求を受信した場合に、前記優先度がより高い前記ロスデータから順に、前記再送の要求の要求元に送信する
請求項１乃至６の何れか一項記載の通信端末。
【請求項８】
請求項１乃至７の何れか一項記載の通信端末が通信可能に接続された
通信システム。
【請求項９】
受信したコンテンツデータにロスデータが発生した際に、前記ロスデータの再送が前記コンテンツデータの再生予定時刻に間に合う可能性があれば、前記ロスデータの再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する
通信方法。
【請求項１０】
コンテンツデータを再生する再生処理機能と、
他の端末から受信した前記コンテンツデータを前記再生処理機能に送信し、
受信した前記コンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信機能と、
前記データ送受信機能からの指示を受けて、前記ロスデータの再送が前記コンテンツデータの前記再生処理機能による再生予定時刻に間に合う可能性があれば、前記ロスデータの再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する再送制御機能とを
コンピュータに実現させるコンピュータ・プログラム。
【国際調査報告】
2016067561.tif 000020
2016067561.tif 000021
2016067561.tif 000022
2016067561.tif 000023