(57)【要約】【課題】  ネットワーク内で早期にコンテンツの同期を取ることを可能とする。【解決手段】  通信端末は、自通信端末が保有するコンテンツ情報として、全ての保有コンテンツに対してコンテンツの識別子と前記コンテンツのロスデータの情報を他の通信端末に通知するためのメッセージ、他の通信端末に対するコンテンツの送信要求、および不足データの再送要求を送受信する制御メッセージ送受信手段と、他の通信端末からの送信要求またはデータの再送要求を受けて他の通信端末に対して所望のデータを送信すると共に、自通信端末が要求したデータを他の通信端末から受信するデータ送受信手段と、他の通信端末から不足データの再送要求を受信した際、どの他の通信端末への再送を優先するかを決定する再送順序決定手段と、を備える。再送順序決定手段は、再送要求の送信元通信端末が保有する再送要求で指定しているコンテンツのロスデータの情報を参照して、再送を優先する他の通信端末を決定する。【選択図】  図２２
2016092615.tif 000002
【特許請求の範囲】
【請求項１】
自通信端末が保有するコンテンツ情報として、全ての保有コンテンツに対してコンテンツの識別子と前記コンテンツのロスデータの情報を他の通信端末に通知するためのメッセージ、他の通信端末に対するコンテンツの送信要求、および不足データの再送要求を送受信する制御メッセージ送受信手段と、
他の通信端末からの送信要求またはデータの再送要求を受けて他の通信端末に対して所望のデータを送信すると共に、自通信端末が要求したデータを他の通信端末から受信するデータ送受信手段と、
他の通信端末から不足データの再送要求を受信した際、どの他の通信端末への再送を優先するかを決定する再送順序決定手段と
を備え、
前記再送順序決定手段は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツのロスデータの情報を参照して、再送を優先する他の通信端末を決定する
ことを特徴とする通信端末。
【請求項２】
前記再送順序決定手段は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツのロスデータが小さい再送要求を優先して処理する
ことを特徴とする請求項１に記載の通信端末。
【請求項３】
前記制御メッセージ送受信手段は、送信する自通信端末の保有コンテンツ情報を他の通信端末に通知するメッセージに、全てのコンテンツに対するロスデータの情報の代わりに、前記コンテンツを他の通信端末に配信しているか否かの情報を含め、
前記再送順序決定手段は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツを他の通信端末に配信しているか否かの情報を参照して、再送を優先する通信端末を決定する
ことを特徴とする請求項１に記載の通信端末。
【請求項４】
前記再送順序決定手段は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツを他の通信端末に配信している通信端末からの再送要求を優先して処理する
ことを特徴とする請求項３に記載の通信端末。
【請求項５】
前記制御メッセージ送受信手段は、送信する自通信端末の保有コンテンツ情報を他の通信端末に通知するメッセージに、全てのコンテンツに対して、さらにコンテンツの保有データ範囲と連続してロスしている区間のデータサイズ、または、どちらか一方を含め、
前記再送順序決定手段は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツの保有データ範囲とロスデータの情報からロス率を算出し、前記ロス率を参照して、再送を優先する通信端末を決定する、または、連続してロスしている区間のデータサイズを参照して、再送を優先する通信端末を決定する、または、これらの情報を組み合わせて再送を優先する通信端末を決定する
ことを特徴とする請求項１に記載の通信端末。
【請求項６】
前記制御メッセージ送受信手段は、送信する自通信端末の保有コンテンツ情報を他の通信端末に通知するメッセージに、さらに全てのコンテンツに対して、当該コンテンツを他の通信端末に配信しているか否かの情報を含め、
前記再送順序決定手段は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツのロスデータの情報と前記コンテンツを他の通信端末に配信しているか否かの情報を参照して、再送を優先する優先する通信端末を決定する
ことを特徴とする請求項１に記載の通信端末。
【請求項７】
自通信端末が保有するコンテンツ情報として、全ての保有コンテンツに対してコンテンツの識別子と前記コンテンツのロスデータの情報を他の通信端末に通知するためのメッセージ、他の通信端末に対するコンテンツの送信要求、および不足データの再送要求を送受信する制御メッセージ送受信ステップと、
他の通信端末からの送信要求またはデータの再送要求を受けて他の通信端末に対して所望のデータを送信すると共に、自通信端末が要求したデータを他の通信端末から受信するデータ送受信ステップと、
他の通信端末から不足データの再送要求を受信した際、どの他の通信端末への再送を優先するかを決定する再送順序決定ステップと
を備え、
前記再送順序決定ステップは、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツのロスデータの情報を参照して、再送を優先する通信端末を決定する
ことを特徴とする通信方法。
【請求項８】
通信端末のコンピュータに、
自通信端末が保有するコンテンツ情報として、全ての保有コンテンツに対してコンテンツの識別子と前記コンテンツのロスデータの情報を他の通信端末に通知するためのメッセージ、他の通信端末に対するコンテンツの送信要求、および不足データの再送要求を送受信する制御メッセージ送受信処理と、
他の通信端末からの送信要求またはデータの再送要求を受けて他の通信端末に対して所望のデータを送信すると共に、自通信端末が要求したデータを他の通信端末から受信するデータ送受信処理と、
他の通信端末から不足データの再送要求を受信した際、どの他の通信端末への再送を優先するかを決定する再送順序決定処理と
を実行させ、
前記再送順序決定処理は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツのロスデータの情報を参照して、再送を優先する他の通信端末を決定する処理を含む
ことを特徴とする通信プログラム。
【請求項９】
請求項１−６のうちのいずれか１項に記載の前記通信端末を複数含む
ことを特徴とする通信システム。
【請求項１０】
前記通信端末間の通信を中継するアクセスポイントをさらに含む
ことを特徴とする請求項９に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末、通信方法、通信用プログラム、および通信システムに関し、特に、通信ネットワークを利用してストリーム型のコンテンツを配信する通信端末、通信方法、通信用プログラム、および通信システムに関する。
【背景技術】
【０００２】
近年、インターネットなどの通信媒体を介した音声や映像等のストリーム型コンテンツの配信サービスが普及している。このようなストリーム型コンテンツの配信・視聴方法として、コンテンツファイルを全てユーザのＰＣ（Personal Computer）、スマートフォン、タブレット端末等の通信端末にダウンロードしてから再生を行うダウンロード配信、コンテンツファイルをユーザの通信端末にダウンロードしながら同時に再生を行うストリーミング配信、プログレッシブ配信などの方法が利用されている。
【０００３】
ダウンロード配信は、コンテンツファイルをユーザの通信端末にダウンロードしてから再生を行うため、ファイルのダウンロードが完了しないと再生を行うことができないという課題がある。一方、ストリーミング配信は、コンテンツファイルをダウンロードしながら順次再生を行うため、ビデオオンデマンドのようにユーザが所望のストリーム型コンテンツの配信を要求し、コンテンツデータを受信しながら順次再生を行うようなリアルタイム型の配信には適している。しかしながら、通信時に発生するパケットロスなどによりロスしたデータの再送が、再生時刻までに間に合わなければ、当該部分の映像はスキップされたり、停止したりするという課題がある。プログレッシブ配信は、コンテンツファイルのダウンロードを行いながら、順次再生を行うことが可能であるものの、パケットロス等が発生すると、ダウンロード配信のように当該データが配信されるまでは再送が停止してしまうという課題がある。
【０００４】
また、音声や映像等のストリーミング配信のためのトランスポートプロトコルとして、ＲＴＰ（Real-time Transport Protocol）が利用されることがある。ＲＴＰは、パケットに時刻情報を格納し、この時刻情報を参照しながら受信端末側でリアルタイム性を確保しながら再生を行うデータ通信方式である。しかしながら、ＲＴＰ自体はリアルタイム性の確保に重点を置いたものであり、パケットロス等のデータの信頼性を担保するものではない。信頼性のあるトランスポートプロトコルとして、ＴＣＰ（Transmission Control Protocol）を用いるという手段もあるが、ＴＣＰはパケットのロスにより転送レートを変化させるため、リアルタイム性の確保が困難である。
【０００５】
さらに、データの送受信時における誤り訂正手法として、ＦＥＣ（Forward Error Correction／前方誤り訂正）が利用されることもある。ＦＥＣは、各パケットに対して、通信状況に応じた冗長データを付加し、データにロスやエラーが発生した際には、これらの冗長データから当該部分のデータを復元する手法である。しかしながら、ＦＥＣを用いたとしても、想定よりも多くのロス（エラー）が発生した場合などには、全てのデータを復元することができず、結果的にデータのロスが発生する。
【０００６】
特許文献１には、上記のように通信時におけるパケットロス等によりコンテンツデータにロスが発生した際の動作として、再生時刻に基づいて当該データの再送要求を行う方式が開示されている。本方式では、ロスしているデータの再生時刻に間に合うのであれば、当該データの再送要求を行い、再生時刻が過ぎている場合には、当該ロスデータの再送要求をスキップすることで、不要なデータの再送を抑制している。
【０００７】
特許文献２には、送受信端末間の通信状況に応じて、コンテンツデータの品質を制御して配信し、後から残りのデータを転送する方式が開示されている。本方式では、送受信端末間の通信状況に応じて、コンテンツデータは、情報の一部が間引かれた低品質映像として配信される。この低品質映像の配信が完了した後、送信端末は間引いた残りのコンテンツデータを配信し、受信端末は高品質映像として再構築を行う。これにより、配信時は通信状況によって例えば低品質映像を配信することで、ユーザはスキップや停止のない映像を視聴することができ、後から残りのデータを配信することで、次に視聴するような場合には、高品質映像として視聴が可能となる。
【０００８】
特許文献３には、個別の受信装置毎のパケットロス率情報およびロストしたパケットの重要度情報と、パケット再送レートとから最終的に再送を行なうパケットを決定する技術が記載されている。
【０００９】
非特許文献１には、移動により通信端末同士が接近した際に、エピデミック（Epidemic）法に基づいて記憶内容を示す情報を交換し、記憶内容を同期させる方法について開示されている。図２３は、エピデミック法によって記憶内容を同期させる通信システムの例を示す説明図である。図２３に示すように、通信端末１、２は、自身が記憶しているコンテンツのリストであるサマリーベクタ（Summary Vector）を含む制御メッセージを隣接する他の通信端末２、１と周期的に送受信して、サマリーベクタを交換する。そして、各通信端末１、２は、他の通信端末２、１から受信したサマリーベクタに基づいて、制御メッセージの送信元の他の通信端末２、１に記憶されているコンテンツと自通信端末１、２が記憶しているコンテンツとの差分を検出する。図２３に示す例では、通信端末１にコンテンツＡ、Ｂ、Ｃが記憶され、通信端末２にコンテンツＡ、Ｂが記憶されている。したがって、通信端末１に記憶されているコンテンツと通信端末２に記憶されているコンテンツとの差分はコンテンツＣである。通信端末２は、その差分を無くすように制御メッセージの送信元の通信端末１にコンテンツＣの送信を要求する。通信端末１は、要求に応じてコンテンツＣを通信端末２に送信する。以上のような処理によって、図２３に示す通信システムにおける通信端末１と通信システム２との間で差分のコンテンツが送受信される。そして、各通信端末１、２に記憶されているコンテンツが互いに同一になり、記憶内容が同期される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００３−１６９０４０号公報
【特許文献２】特開２００５−３０３９２５号公報
【特許文献３】特開２００８−３１２１２６号公報
【非特許文献】
【００１１】
【非特許文献１】Ａ．Ｖａｈｄａｔ,  Ｄ．Ｂｅｃｋｅｒ、  “Ｅｐｉｄｅｍｉｃ  Ｒｏｕｔｉｎｇ  ｆｏｒ  Ｐａｒｔｉａｌｌｙ−Ｃｏｎｎｅｃｔｅｄ  Ａｄ  Ｈｏｃ  Ｎｅｔｗｏｒｋｓ、”  Ｔｅｃｈ．  Ｒｅｐｏｒｔ  ＣＳ−２００００６、  Ｄｕｋｅ  Ｕｎｉｖｅｒｓｉｔｙ、  Ａｐｒ．２０００
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、ビデオオンデマンドのようにユーザが所望のストリーム型コンテンツの配信を要求し、コンテンツデータを受信しながら順次再生・視聴を行うようなリアルタイム型配信には、ストリーム配信が適している。しかしながら、通信時に発生するパケットロスなどにより、ロスしたデータがあれば、当該部分の映像はスキップされる等、品質が低下するという課題がある。ダウンロードしたコンテンツデータをユーザ端末に保存し、後から巻き戻して視聴したとしても、ロスしたデータが再送されなければ品質は向上しない。さらに、当該コンテンツデータを他の端末に配信することを考えた場合、当該端末の下流に位置する端末へ配信するコンテンツの品質は低いままであり、ホップ数が増加するにつれて、さらなるロスデータが生じ、品質はますます劣化していくという課題がある。
【００１３】
また、例えば、ある映像コンテンツのうち、途中からのコンテンツを視聴することを想定した場合、ユーザは所望の時間以降のコンテンツデータをダウンロードし、再生・視聴すればよい。しかしながら、上述したように、ダウンロードしたコンテンツデータを他の端末に配信することを考えた場合、当該端末の下流に位置する端末へは、当該時間以降のデータしか配信できないため、例えば最初からコンテンツを視聴したいといった要望には応えられないという課題がある。
【００１４】
これらの課題に対し、特許文献１を用いることで、再生時刻に間に合うロスデータのみの再送要求が実行され、再生に間に合わないロスデータの再送は抑制されるため、効率的なコンテンツのダウンロード・再生が可能となる。しかしながら、上述したように、後から巻き戻して視聴したり、他の端末に配信したりすることを考えた場合には、再生時刻に間に合わないと判断し、再送要求を行わなかったロスデータを取得する仕組みがないため、上記の課題を解決することはできない。
【００１５】
一方、特許文献２を用いた場合、通信路の状況に応じて、コンテンツデータを間引きして、品質を劣化させたコンテンツデータを配信し、当該コンテンツの配信が終了した後に、残りの間引いたデータを配信することで、全てのコンテンツデータの配信が完了した後では、巻き戻して視聴したり、他の端末へ配信したりすることには影響を与えない。しかしながら、通信路の状況は時々刻々と変化するため、間引きして送信するデータがロスすることも考えられるが、このような場合については考慮されていない。さらに、受信端末において全てのコンテンツデータが揃うまでの時間は、配信するコンテンツの再生時間に依存して長くなるため、コンテンツデータをダウンロードしながら再生・視聴し、同時に他の端末に配信することを考えた場合には、低品質のコンテンツデータを配信することになる。
【００１６】
また、特許文献３の技術は、動画像データ（コンテンツ）を受信する際には各受信装置が常に同じ送信装置から受信し、再送要求を行う際には同一の送信装置へ再送要求を行う通信システムが前提となっている。しかしながら、通信システムには、例えば、本発明が想定するように、コンテンツを直接受ける送信装置以外の装置から受信するシステムが存在しうる。すなわち、特許文献３の技術では、そのようなシステムにおいて発生する上記課題を解決することはできない。
【００１７】
本発明は、上記課題を解決するためになされたものであり、ネットワーク内で早期にコンテンツの同期を取ることができる通信端末、通信方法、通信用プログラム、および通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の通信端末は、自通信端末が保有するコンテンツ情報として、全ての保有コンテンツに対してコンテンツの識別子と前記コンテンツのロスデータの情報を他の通信端末に通知するためのメッセージ、他の通信端末に対するコンテンツの送信要求、および不足データの再送要求を送受信する制御メッセージ送受信手段と、他の通信端末からの送信要求またはデータの再送要求を受けて他の通信端末に対して所望のデータを送信すると共に、自通信端末が要求したデータを他の通信端末から受信するデータ送受信手段と、他の通信端末から不足データの再送要求を受信した際、どの他の通信端末への再送を優先するかを決定する再送順序決定手段と、を備え、前記再送順序決定手段は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツのロスデータの情報を参照して、再送を優先する他の通信端末を決定する。
【００１９】
本発明の通信方法は、自通信端末が保有するコンテンツ情報として、全ての保有コンテンツに対してコンテンツの識別子と前記コンテンツのロスデータの情報を他の通信端末に通知するためのメッセージ、他の通信端末に対するコンテンツの送信要求、および不足データの再送要求を送受信する制御メッセージ送受信ステップと、他の通信端末からの送信要求またはデータの再送要求を受けて他の通信端末に対して所望のデータを送信すると共に、自通信端末が要求したデータを他の通信端末から受信するデータ送受信ステップと、他の通信端末から不足データの再送要求を受信した際、どの他の通信端末への再送を優先するかを決定する再送順序決定ステップと、を備え、前記再送順序決定ステップは、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツのロスデータの情報を参照して、再送を優先する通信端末を決定する。
【００２０】
本発明の通信プログラムは、通信端末のコンピュータに、自通信端末が保有するコンテンツ情報として、全ての保有コンテンツに対してコンテンツの識別子と前記コンテンツのロスデータの情報を他の通信端末に通知するためのメッセージ、他の通信端末に対するコンテンツの送信要求、および不足データの再送要求を送受信する制御メッセージ送受信処理と、他の通信端末からの送信要求またはデータの再送要求を受けて他の通信端末に対して所望のデータを送信すると共に、自通信端末が要求したデータを他の通信端末から受信するデータ送受信処理と、他の通信端末から不足データの再送要求を受信した際、どの他の通信端末への再送を優先するかを決定する再送順序決定処理と、を実行させ、前記再送順序決定処理は、前記再送要求の送信元通信端末が保有する前記再送要求で指定しているコンテンツのロスデータの情報を参照して、再送を優先する他の通信端末を決定する処理を含む。
【発明の効果】
【００２１】
本発明によれば、ネットワーク内で早期にコンテンツの同期を取ることが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態の通信端末を含む無線通信システムの構成例を示すブロック図である。
【図２】第１の実施形態の通信端末の構成例を示すブロック図である。
【図３】第１の実施形態の通信端末において定期的、または必要に応じて送信される制御メッセージの構成例を示す図である。
【図４】第１の実施形態の通信端末の記憶部に記憶される通信端末情報の構成例を示す図である。
【図５】第１の実施形態の通信端末の記憶部に記憶されるコンテンツ情報の構成例を示す図である。
【図６】第１の実施形態の通信端末が送信する再送要求メッセージの構成例を示す図である。
【図７】第１の実施形態の通信端末が、制御メッセージまたはコンテンツを受信する場合の動作例を示すフローチャートである。
【図８】第１の実施形態の通信端末が、制御メッセージまたはコンテンツを送信する場合の動作例を示すフローチャートである。
【図９】第１の実施形態の通信端末において定期的、または必要に応じて送信される制御メッセージの別の構成例を示す図である。
【図１０】第１の実施形態の通信端末の記憶部に記憶される通信端末情報の別の構成例を示す図である。
【図１１】本発明の第２の実施形態の通信端末の構成例を示すブロック図である。
【図１２】第２の実施形態の通信端末において定期的、または必要に応じて送信される制御メッセージの構成例を示す図である。
【図１３】第２の実施形態の通信端末の記憶部に記憶される通信端末情報の構成例を示す図である。
【図１４】第２の実施形態の通信端末の記憶部に記憶されるコンテンツ情報の構成例を示す図である。
【図１５】第２の実施形態の通信端末が、制御メッセージまたはコンテンツを受信する場合の動作例を示すフローチャートである。
【図１６】本発明の第３の実施形態の通信端末の構成例を示すブロック図である。
【図１７】第３の実施形態の通信端末において定期的、または必要に応じて送信される制御メッセージの構成例を示す図である。
【図１８】第３の実施形態の通信端末が送信する再送要求メッセージの構成例を示す図である。
【図１９】第３の実施形態の通信端末の記憶部に記憶される通信端末情報の構成例を示す図である。
【図２０】第３の実施形態の通信端末が、制御メッセージまたはコンテンツを受信する場合の動作例を示すフローチャートである。
【図２１】各通信端末がアクセスポイントを介して通信を行うように構成された無線通信システムの構成例を示すブロック図である。
【図２２】本発明の第４の実施形態の通信端末の構成例を示すブロック図である。
【図２３】エピデミック法によって記憶内容を同期させる通信システムの構成図である。
【発明を実施するための形態】
【００２３】
＜第１の実施形態＞
（構成の説明）
図１は、本発明の第１の実施形態の通信端末１００を含む無線通信システム５００の構成例を示すブロック図である。図１には、通信端末１００の例として通信端末１００ａ−１００ｈが示されているが、通信端末１００ａ−１００ｈは互いに同じ構成であるので、通信端末１００と総称する。通信端末１００は、無線通信機能を有する。無線通信機能は、例えば、無線ＬＡＮ（Ｗｉ−Ｆｉ（登録商標）とも呼ばれる））に接続する機能である。上記において、ＬＡＮは、Local Area Networkの略であり、Ｗｉ−Ｆｉは、Wireless Fidelityの略である。本実施形態では、無線通信システム５００に含まれている各通信端末１００は、例えば、アドホックモードで互いの間の通信が可能であるとする。なお、各通信端末１００ａ−１００ｈは、有線通信ネットワークに接続され、当該有線通信ネットワークを介して互いの間の通信を行うように構成されていてもよい。
【００２４】
図２は、第１の実施形態の通信端末１００の構成例を示すブロック図である。通信端末１００は、入出力部１１０と、再生処理部１２０と、コンテンツ配信制御部１３０と、記憶部１４０と、通信部１５０とを含む。
【００２５】
入出力部１１０は、通信端末１００に備え付けられたディスプレイやカメラ、マイク、ソフトウェアキーボード、タッチパネルなどの入出力装置であり、これらの入出力装置は通信端末１００とケーブル類で接続されていても良い。
【００２６】
再生処理部１２０およびコンテンツ配信制御部１３０は、例えば、プログラム制御に従って処理を実行するＣＰＵ（Central Processing Unit）である。具体的には、再生処理部１２０およびコンテンツ配信制御部１３０は、例えば、通信端末１００に搭載されたＯＳ（Operating System）に基づいて動作するアプリケーションソフトウェアの制御に従って処理を実行するＣＰＵである。
【００２７】
記憶部１４０は、例えば、メモリなどの記憶媒体である。記憶部１４０には、通信端末情報１４１とコンテンツ情報１４２が記憶されている。また、記憶部１４０には、コンテンツデータが記憶されている。なお、コンテンツは、音声や映像等のストリーム型のデータファイルであってもよいし、ストリーム型データの一部であってもよい。また、コンテンツは、入出力部１１０のカメラやマイクを通して撮影、録音されているデータの一部であってもよい。なお、以下の説明では、通信端末１００の記憶部１４０に記憶されていることを、単に、通信端末１００に記憶されている、ということがある。
【００２８】
通信部１５０は、例えば、ＯＳのカーネルによって制御されるＴＣＰやＵＤＰ（User Datagram Protocol）などのトランスポート層の処理や、ＩＰ（Internet Protocol）などのネットワーク層の処理、ＭＡＣ（Media Access Control）などの処理を行うネットワーク処理部や無線ＬＡＮ通信モジュールである。
【００２９】
各通信端末１００は、所定の周期で定期的、または必要に応じて「制御メッセージ」を互いに送受信する。図３は、第１の実施形態の通信端末１００において定期的に送信される制御メッセージの構成例を示す図である。制御メッセージは、通信端末識別子とコンテンツリストとを含む。
【００３０】
通信端末識別子は、例えば、ＩＰアドレス、ユーザ名、通信端末名など、当該制御メッセージの送信元の通信端末１００を識別する情報である。
【００３１】
コンテンツリストは、送信元の通信端末１００が保有するコンテンツの識別子と、当該コンテンツの保有データの範囲と、当該保有データの範囲のうちロスしているデータのサイズとを組にしたものである。送信元の通信端末１００は、保有する全てのコンテンツに対してこれらの組を生成し、リスト化する。保有データの範囲は、例えば、当該コンテンツのデータのうち先頭データからの最小のオフセットと最大のオフセットの組で表すことができる。なお、映像コンテンツの場合、ＭＰＥＧ（Moving Picture Experts Group）と呼ばれる映像データ圧縮技術が使われることが多い。このような圧縮技術を用いた際には、Ｉフレーム（Intra Picture）、Ｐフレーム（Predictive Picture）、Ｂフレーム（Bidirectionally Predictive Picture）の各種フレームや、それらを一定の個数にまとめたＧＯＰ（Group of Picture）と呼ばれるグループ単位で処理される。このため、これらのフレームやＧＯＰに予め識別子を付与し、これらの識別子を用いて保有データの範囲を指定することもできる。すなわち、通信端末１００が互いにそれぞれが保有しているコンテンツデータの範囲が認識できれば十分である。
【００３２】
図４は、通信端末１００の記憶部１４０に記憶される通信端末情報１４１の構成例を示す図である。他の通信端末１００から制御メッセージを受信した通信端末１００は、図４に示すような通信端末情報１４１を生成し、記憶部１４０に記憶する。通信端末情報１４１は、受信された制御メッセージに含まれる送信元を示す通信端末識別子１４１Ａと、当該通信端末情報１４１の有効期限を示す有効期限情報１４１Ｂと、当該通信端末が保有するコンテンツリスト１４１Ｃとを含む。
【００３３】
すなわち、通信端末１００（例えば、通信端末１００ａ）の記憶部１４０には、アドホックモードで通信可能な他の通信端末１００（例えば、通信端末１００ｂ−１００ｈ）を示す通信端末識別子を含む通信端末情報１４１がそれぞれ記憶されている。
【００３４】
有効期限情報１４１Ｂは、例えば、制御メッセージを受信した日時から時間Ｔ経過後の日時を示す情報である。有効期限情報１４１Ｂによって示される日時が到来すると、通信端末情報１４１は失効したものとして取り扱われる。具体的には、例えば、通信端末情報１４１は、有効期限情報１４１Ｂによって示される日時が到来した後に記憶部１４０から消去される。
【００３５】
時間Ｔを長くし過ぎると、例えば、通信端末識別子１４１Ａによって示される通信端末１００ｈが通信端末１００ａとアドホックモードで互いの間の通信が不可能な場所に移動した後も通信端末情報１４１が通信端末１００ａの記憶部１４０に記憶され続けることになる。また、時間Ｔを短くし過ぎると、例えば、通信端末識別子１４１Ａによって示される通信端末１００ｈが通信端末１００ａとアドホックモードで互いの間の通信が可能であっても、通信端末情報１４１が通信端末１００ａの記憶部１４０から消去されることになる。したがって、時間Ｔは、制御メッセージの送信周期よりも長い時間が適切である。
【００３６】
図５は、通信端末１００の記憶部１４０に記憶されるコンテンツ情報１４２の構成例を示す図である。コンテンツ情報１４２は、自通信端末１００が保有する全てのコンテンツに対するコンテンツ識別子１４２Ａと保有データリスト１４２Ｂとを含む。保有データリスト１４２Ｂとは、例えば、自通信端末１００が保有する当該コンテンツの先頭からのオフセットで表したデータ範囲のリストであり、コンテンツ毎に記憶する。例えば、自通信端末１００がコンテンツＡのデータとして、オフセットとして１０００バイトから４９９９バイトのデータのうち、２０００から２９９９バイトをロスしている場合、保有データリスト１４２Ｂとして、１０００から１９９９と３０００から４９９９のリストとして記憶する。また、上述したように、ＭＰＥＧなどの圧縮技術を用いた際には、各種フレームやＧＯＰに予め識別子を付与し、これらの識別子を用いて保有データの範囲を指定してもよい。なお、上述の制御メッセージに含めるコンテンツリストの保有データ範囲は、当該保有データリスト１４２Ｂに含まれる保有データのうち、最小オフセットと最大オフセットとして表すことができる。また、ロスデータサイズは保有データ範囲のうち、保有データリストに含まれない（つまり、保有していない）データの合計サイズとして表す。
【００３７】
コンテンツ配信制御部１３０は、制御メッセージ送受信部１３１と、コンテンツ管理部１３２と、再送順序決定部１３３とを含む。
【００３８】
制御メッセージ送受信部１３１は、通信部１５０を介して隣接する通信端末１００と互いに制御メッセージを送受信する。制御メッセージ送受信部１３１は、制御メッセージを送信する所定のタイミングが到来した場合に、または例えば、新たなコンテンツを登録、受信した時など必要に応じたタイミングで、制御メッセージを生成してブロードキャスト送信する。
【００３９】
制御メッセージ送受信部１３１は、所定の周期、または必要に応じて、繰り返し制御メッセージを送信する。制御メッセージ送受信部１３１は、自通信端末１００の記憶部１４０に複数のコンテンツが記憶されている場合、例えば、以下に示すような制御メッセージを生成して送信する。すなわち、制御メッセージ送受信部１３１は、例えば、記憶部１４０に記憶されている全てのコンテンツのコンテンツ識別子と保有データ範囲とロスデータサイズとによるコンテンツリストを含む制御メッセージを生成する。
【００４０】
また、制御メッセージ送受信部１３１は、例えば、複数のコンテンツのうちの一部のコンテンツについてのコンテンツリストを含む制御メッセージと、残りのコンテンツについてのコンテンツリストを含む制御メッセージと、をそれぞれ生成する。つまり、制御メッセージ送受信部１３１は、コンテンツリストを分割し、分割後のコンテンツリストを含む制御メッセージをそれぞれ生成して送信してもよい。
【００４１】
なお、制御メッセージ送受信部１３１は、分割したコンテンツリストを含む制御メッセージを送信する場合に、以下に示す情報を当該制御メッセージに含ませる。すなわち、コンテンツリストが分割されていることを示す情報や、当該制御メッセージに含まれているコンテンツリストが、いくつに分割されたうちの何番目であるのかをそれぞれ示す情報等である。制御メッセージ送受信部１３１が制御メッセージにそのような情報を含ませることにより、複数の制御メッセージに含まれるコンテンツリストによって、自通信端末１００の記憶部１４０に記憶されている全コンテンツとその保有データ範囲とロスデータサイズを送信先に通知することができる。
【００４２】
制御メッセージ送受信部１３１は、制御メッセージを受信した場合に、当該制御メッセージから送信元の通信端末識別子を抽出する。そして、制御メッセージ送受信部１３１は、抽出した通信端末識別子と、前述した有効期限情報と、受信した制御メッセージに含まれるコンテンツリストとを含む通信端末情報１４１を生成して記憶部１４０に記憶する。
【００４３】
なお、制御メッセージ送受信部１３１は、新たに生成した通信端末情報１４１と同じ通信端末識別子の通信端末情報１４１が記憶部１４０に記憶されている場合には、以下の処理を行ってもよい。すなわち、制御メッセージ送受信部１３１は、既に記憶されている古い通信端末情報１４１の内容を新たな通信端末情報１４１の内容によって更新してもよい。また、制御メッセージ送受信部１３１は、有効期限情報によって示される日時が到来した通信端末情報１４１を記憶部１４０から消去するように構成されていてもよい。
【００４４】
また、制御メッセージ送受信部１３１は、コンテンツ管理部１３２（詳細は後述）がコンテンツデータを受信中にロスデータを検知し、当該ロスデータの送信を送信元通信端末、又は他の通信端末に要求するための再送要求メッセージの送信を通知されると、再送要求メッセージを送信する。ここで、ある通信端末が送信したデータを同じ通信端末宛に再度送信することを「再送」と呼ぶが、本実施形態では、他の通信端末へ要求することも再送要求と呼ぶこととする。
【００４５】
図６は、第１の実施形態の通信端末１００が送信する再送要求メッセージの構成例を示す説明図である。再送要求メッセージは、要求元送信端末識別子と、再送要求コンテンツ情報と、を含む。
【００４６】
要求元送信端末識別子は、当該再送要求メッセージの送信元通信端末の通信端末識別子である。
【００４７】
再送要求コンテンツ情報は、ロスデータの再送を要求するコンテンツのコンテンツ識別子と、再送要求するデータ範囲と、を含む。データ範囲は、例えば、コンテンツの先頭からのオフセットを用いて指定することができる。
【００４８】
コンテンツ管理部１３２は、通信部１５０を介して、コンテンツを他の通信端末１００との間で送受信するための機能や、記憶部１４０に記憶されているコンテンツの管理を行う機能を有する。他の通信端末１００が送信した制御メッセージが制御メッセージ送受信部１３１によって受信されると、コンテンツ管理部１３２は、当該制御メッセージに含まれているコンテンツリストに基づいて、以下の処理を行う。
【００４９】
すなわち、コンテンツ管理部１３２は、その制御メッセージの送信元の通信端末１００に記憶されているコンテンツと自通信端末１００に記憶されているコンテンツとの差分を検出する。具体的には、コンテンツ管理部１３２は、例えば、その制御メッセージに含まれているコンテンツリストのコンテンツ識別子と、記憶部１４０において自通信端末１００が保有しているコンテンツ情報１４２に含まれているコンテンツ識別子とを比較する。そして、コンテンツ管理部１３２は、コンテンツ情報１４２には含まれていないが、受信した制御メッセージには含まれているコンテンツ識別子があると判定した場合に、当該コンテンツを入出力部１１０のディスプレイを通してユーザに通知する。
【００５０】
このユーザへの通知は、例えば、自通信端末１００が保有するコンテンツのコンテンツ名と、自通信端末１００は保有していないが、他の通信端末１００から受信した制御メッセージに含まれるコンテンツのコンテンツ名の一覧を表示する。ユーザは、これらのコンテンツの一覧からあるコンテンツを選択し、再生操作を行うことでその映像を視聴する。また、各コンテンツ名を選択することで、当該コンテンツを保有する通信端末１００の一覧や各通信端末１００が保有するデータ範囲を表示しても良い。通信端末１００は、再生するよう選択されたコンテンツを自通信端末１００が保有する場合には、自通信端末１００が保有するコンテンツデータを再生処理部１２０により再生処理を行い、視聴する。自通信端末１００が保有していないコンテンツが選択された場合は、当該コンテンツを保有する他の通信端末１００に当該コンテンツの配信要求を送信し、受信されたコンテンツデータを用いて記憶部１４０に記憶させながら再生処理部１２０により再生処理を行い、視聴する。この際、新たに受信したコンテンツの識別子やデータ範囲は、コンテンツ情報１４２として記憶させる。
【００５１】
また、コンテンツ管理部１３２は、データパケットを受信した際、当該コンテンツの先頭オフセットから新たに受信したデータパケットのオフセットまでのデータの中で、自通信端末１００が保有していないロスデータの有無を確認する。この結果、ロスデータが存在すれば、コンテンツ管理部１３２は、再送要求先の通信端末識別子と要求するロスデータの範囲を制御メッセージ送受信部１３１に通知し、再送要求メッセージの送信を行う。ここで、再送要求先の通信端末は、記憶部１４０に記憶されている通信端末情報１４１を参照し、当該コンテンツ、かつ、要求するロスデータの範囲を保有データ範囲として記憶している通信端末から、例えば、ランダムに選択する。また、コンテンツ管理部１３２は、１度再送要求を出したデータに対するＲＴＯ（Retransmission Time Out：再送タイムアウト）を予め設定しておき、その時間が経過するまでに当該データが再送されなければ、再度再送要求メッセージを送信するよう制御メッセージ送受信部１３１に通知する。この際、タイムアウトと判定する条件は、ＲＴＯが過ぎても当該再送要求メッセージで要求しているデータ範囲の全てを受信していない場合でも良いし、要求しているデータ範囲のうち一部のデータを受信していない場合でも良い。但し、データ範囲のうち一部のデータを受信していない場合をタイムアウトと判定する場合、先に送信した送要求メッセージの要求するデータ範囲から、既に受信したデータの範囲を除く処理が必要である。また、再度送信する再送要求メッセージの送信先通信端末は、先に送信した再送要求メッセージと同じ通信端末でも良いし、再度上述したように選択しなおしても良い。さらに、再送要求メッセージは、要求するデータ範囲を分割して、複数の通信端末に送信しても良い。
【００５２】
再送順序決定部１３３は、他の通信端末１００から受信した複数の再送要求メッセージで要求されるデータの送信順序を決定し、コンテンツ管理部１３２を通じて当該データを送信する。ここで、再送要求メッセージの処理順序は、記憶部１４０に記憶されている通信端末情報１４１を参照して決定する。すなわち、受信した複数の再送要求メッセージの送信元通信端末の通信端末情報１４１を参照し、ロスデータサイズが大きさを確認し、受信している再送要求メッセージ間でロスデータサイズが小さいものから順に処理するよう決定し、コンテンツ管理部１３２を通じて当該データを再送する。
【００５３】
再生処理部１２０は、入出力部１１０に表示したコンテンツ一覧の中から、視聴すると選択されたコンテンツデータの再生処理を行う。具体的に、当該コンテンツを自通信端末１００が保有する場合は、記憶部１４０に記憶されたコンテンツデータを読み出しながら、再生処理を行い、その映像を入出力部１１０に表示する。一方、自通信端末１００が当該コンテンツを保有しない場合は、制御メッセージ送受信部１３１は、記憶部１４０に記憶された通信端末情報１４１を参照し、当該コンテンツを保有する通信端末１００を選択し、当該通信端末１００に対して、制御メッセージ送受信部１３１を通じてコンテンツ要求メッセージを送信し、当該コンテンツデータを受信する。ここで、コンテンツ要求メッセージには、コンテンツデータの送信先となる自通信端末１００の識別子と、要求するコンテンツの識別子が含まれる。制御メッセージ送受信部１３１は、通信端末情報１４１から当該コンテンツを保有する他の通信端末１００から１つを選択し、その通信端末１００に対して通信部１５０を通して、当該コンテンツ要求メッセージを送信する。なお、この際、予め設定されたタイムアウト時間を待っても当該コンテンツ要求メッセージで要求するコンテンツのデータパケットを受信しない場合は、何らかの原因でコンテンツ要求メッセージが送信先の通信端末１００に届かなかったものとし、再度コンテンツ要求メッセージを送信する。このコンテンツ要求メッセージの送信先は先のコンテンツ要求メッセージの送信先通信端末１００と同じでも良いし、再度選択しなおしても良い。
【００５４】
また、入出力部１１０から視聴したいコンテンツを選択する際、当該コンテンツの先頭から視聴を開始する時刻を指定することができる。例えば、当該コンテンツの開始５分後から視聴したいと指定することができる。この際、入出力部１１０はこの開始時刻も併せてコンテンツ配信制御部１３０に要求し、コンテンツ配信制御部１３０が当該開始時刻のデータのオフセットを計算しても良いし、入出力部１１０で当該開始時刻のデータのオフセットを計算しても良い。このように視聴の開始時刻を指定された場合、制御メッセージ送受信部１３１は、当該コンテンツの開始時刻となるオフセットからのデータを保有している通信端末１００を、通信端末情報１４１を参照して選択し、当該通信端末１００に対して当該オフセットを追加したコンテンツ要求メッセージを送信する。このようなコンテンツ要求メッセージを受信した通信端末１００は、受信したコンテンツ要求メッセージで通知されたコンテンツデータのうち、指定されたオフセットからのコンテンツデータを、当該通信端末に送信する。
【００５５】
通信端末１００は、このようにして受信したコンテンツデータを記憶部１４０に記憶しながら、再生処理部１２０に送信し、再生処理部１２０にて再生処理を行い、その映像を入出力部１１０に表示する。なお、再生・視聴の選択時に、コンテンツデータの範囲を示しておくことで、所望の時刻の映像から要求を行うことが可能となる。
【００５６】
通信部１５０は、物理層（ＰＨＹ：PHYsical Layer）やＭＡＣ層、ＩＰ層、ＴＣＰ（Transmission Control Protocol）やＵＤＰ（User Datagram Protocol）といったトランスポート層のネットワーク処理を行う。
（動作の説明）
次に、本発明の第１の実施形態の通信端末１００の動作について説明する。
【００５７】
まず、通信端末１００が、制御メッセージ、またはコンテンツを受信する場合の動作例について説明する。通信部１５０は、物理層（ＰＨＹ）において、フレーム（データ）の受信を検知すると、ＭＡＣ層や、ＩＰ層、トランスポート層などのネットワークプロトコル処理に従い、コンテンツ配信制御部１３０にデータを入力する。コンテンツ配信制御部１３０は、通信部１５０が受信したデータを組み立てて、当該データが制御メッセージ、コンテンツデータ、コンテンツの要求メッセージ、再送要求メッセージのどれに応じたデータであるか否かを確認し、データ種別に応じた動作を行う。なお、通信端末１００は、ロスデータを検知した場合に、当該ロスデータの送信を要求する再送要求メッセージを送信する。この再送要求メッセージを送信した後、予め設定したＲＴＯの時間を過ぎても当該再送要求メッセージで要求するロスデータが返信されなかった場合、再度再送要求メッセージを送信する。このＲＴＯの判定も本動作に含めて説明する。
【００５８】
図７は、第１の実施形態の通信端末１００が、制御メッセージまたはコンテンツを受信する場合の動作例を示すフローチャートである。
【００５９】
通信端末１００のコンテンツ管理部１３２は、既に送信済みの再送要求メッセージがあれば、当該再送要求メッセージのＲＴＯが過ぎているか否かを確認する（ステップＡ１）。
【００６０】
ＲＴＯが過ぎた再送要求メッセージがある場合（ステップＡ１のＹｅｓ）、ステップＡ２の処理が実行される。一方、ＲＴＯが過ぎた再送要求メッセージが無い場合（ステップＡ１のＮｏ）、ステップＡ３の処理が実行される。
【００６１】
なお、ＲＴＯが過ぎた再送要求メッセージがあると判定する条件は、当該再送要求メッセージで要求しているロスデータの範囲全てを受信していない場合としても良いし、ロスデータの範囲のうち一部のデータを受信していない場合としても良い。
【００６２】
コンテンツ管理部１３２は、制御メッセージ送受信部１３１を通じて再送要求メッセージを送信し（ステップＡ２）、本フローチャートの処理は終了する。
【００６３】
ここで、ステップＡ２の処理が、後述するステップＡ５の処理の結果に基づいて実行される場合、コンテンツ管理部１３２は、記憶部１４０に記憶されているコンテンツ情報１４２を参照し、ロスデータから既に再送要求メッセージを送信したデータを除いた範囲のデータに対して再送要求メッセージを送信する。この際の送信先通信端末は、記憶部１４０に記憶されている通信端末情報１４１を参照し、当該コンテンツ、かつ、要求するロスデータの範囲を保有データ範囲として記憶している通信端末から、例えばランダムに選択する。一方、ステップＡ２の処理が、ステップＡ１の処理の結果に基づいて実行される場合、コンテンツ管理部１３２は、ＲＴＯが過ぎた再送要求メッセージを再度送する。この際、ＲＴＯが過ぎた再送要求メッセージとして、要求しているデータのうち一部のデータを受信していない再送要求メッセージと判定している場合は、先に送信した再送要求メッセージの要求するデータ範囲から、既に受信したデータの範囲を除いてロスデータとして要求するよう制御メッセージ送受信部１３１に通知する。なお、再度送信する再送要求メッセージの送信先通信端末は、先に送信した再送要求メッセージと同じ通信端末でも良いし、再度記憶部１４０に記憶されている通信端末情報１４１を参照し、上述した方法と同様に、ランダムに選択しても良い。また、再送要求メッセージは、要求するデータ範囲を分割して、複数の通信端末に送信しても良い。
【００６４】
コンテンツ配信制御部１３０は、受信したデータがデータパケット（コンテンツデータ）であるか否かを判定する（ステップＡ３）。受信したデータがコンテンツデータである場合（ステップＡ３のＹｅｓ）、ステップＡ４の処理が実行される。一方、受信したデータがコンテンツデータでない場合（ステップＡ３のＮｏ）、ステップＡ６の処理が実行される。
【００６５】
コンテンツ管理部１３２は、コンテンツデータの受信処理を実行する（ステップＡ４）。例えば、コンテンツ管理部１３２は、受信したコンテンツデータを記憶部１４０に記憶すると共に、再生処理を行う必要があれば、再生処理部１２０に送信する。また、コンテンツ管理部１３２は、コンテンツ情報１４２を新規に作成するか、あるいは、既に記憶されている当該コンテンツのコンテンツ情報１４２の保有データ範囲を更新する。なお、再生処理部１２０におけるコンテンツの再生処理は、ＭＰＥＧ等の映像データ圧縮技術を用いた再生処理であり、既存の技術を用いて行うため、詳細な説明は省略する。
【００６６】
コンテンツ管理部１３２は、ステップＡ４にて作成または更新されたコンテンツ情報１４２に、ロスデータがあるか否かを判定する（ステップＡ５）。ロスデータがあると判定された場合（ステップＡ５のＹｅｓ）、前述したステップＡ２の処理が実行される。一方、ロスデータがないと判定された場合（ステップＡ５のＮｏ）、本フローチャートの処理は、終了する。
【００６７】
通信端末１００のコンテンツ配信制御部１３０は、受信したデータが制御メッセージであるか否かを判定する（ステップＡ６）。受信したデータが制御メッセージである場合（ステップＡ６のＹｅｓ）、ステップＡ７の処理が実行される。一方、受信したデータが制御メッセージでない場合（ステップＡ６のＮｏ）、ステップＡ８の処理が実行される。
【００６８】
制御メッセージ送受信部１３１は、通信端末情報１４１を更新する（ステップＡ７）。例えば、制御メッセージ送受信部１３１は、当該制御メッセージの送信元の通信端末１００の通信端末情報１４１を生成し、記憶部１４０に記憶するか、あるいは、記憶部１４０に記憶されている通信端末情報１４１における有効期限情報およびコンテンツリストの更新を行う。
【００６９】
なお、この際、コンテンツ配信制御部１３０は、記憶部１４０に記憶されている各通信端末に対応する通信端末情報１４１のコンテンツリストに記載されているコンテンツと、自通信端末１００が保有するコンテンツの和集合を取り、それらのコンテンツ名のリストを入出力部１１０に表示する。また、コンテンツ名だけでなく、どの通信端末１００が当該コンテンツを保有しているか、またそれらの通信端末１００がどの範囲のデータを保有しているかも合わせて表示しても良い。
【００７０】
コンテンツ配信制御部１３０は、受信したデータが再送要求メッセージであるか否かを判定する（ステップＡ８）。受信したデータが再送要求メッセージである場合（ステップＡ８のＹｅｓ）、ステップＡ９の処理が実行される。一方、受信したデータが再送要求メッセージでない場合（ステップＡ８のＮｏ）、ステップＡ１０の処理が実行される。
【００７１】
制御メッセージ送受信部１３１は、再送の優先度を決定する（ステップＡ９）。例えば、制御メッセージ送受信部１３１は、受信した再送要求メッセージを再送順序決定部１３３に送る。再送順序決定部１３３は、受信した再送要求メッセージの送信元通信端末の通信端末情報１４１を参照し、受信した再送要求メッセージで指定されているコンテンツのロスデータサイズの大きさを確認する。そして、既に受信している再送要求メッセージに対応するロスデータサイズが小さいものから順に処理するよう並び替えて管理し、処理を終了する。具体的に、このような再送要求メッセージの処理順序を決定する方法としては、個々の再送要求メッセージに対して当該コンテンツのロスデータサイズの大きさを付与しておき、新たに受信した再送要求メッセージの送信元通信端末のロスデータの大きさを順番に比較していき、決定するという方法が考えられる。このような、ロスデータサイズの大きさに従って再送要求メッセージの順序を並び替える方法については、既存の手法を用いることができる。
【００７２】
コンテンツ配信制御部１３０は、受信したデータがコンテンツ要求メッセージであるか否かを判定する（ステップＡ１０）。受信したデータがコンテンツ要求メッセージである場合（ステップＡ１０のＹｅｓ）、ステップＡ１１の処理が実行される。一方、受信したデータがコンテンツ要求メッセージでない場合（ステップＡ１０のＮｏ）、本フローチャートの処理は、終了する。
【００７３】
コンテンツ管理部１３２は、コンテンツ要求メッセージを受信すると、当該メッセージの送信元通信端末に対して、メッセージ内で要求されたコンテンツのデータの送信を開始する（ステップＡ１１）。コンテンツ要求メッセージに送信開始データオフセットが設定されている場合、当該オフセットからのデータの送信が開始される。ここで、データの送信を開始するとは、受信したコンテンツ要求メッセージの送信元通信端末に対して、要求されたコンテンツのデータを送信するよう記憶することを意味する。このように、コンテンツ管理部１３２は、コンテンツデータの送信を開始すると、処理を終了する。
【００７４】
図８は、第１の実施形態の通信端末１００が、制御メッセージまたはコンテンツデータを送信する場合の動作例を示すフローチャートである。
【００７５】
コンテンツ配信制御部１３０の制御メッセージ送受信部１３１は、例えば、タイマなどを用いて、所定の周期で到来する、または例えば、新たなコンテンツを登録、受信した時など必要に応じて制御メッセージを送信する所定のタイミングであるか否かを判断する（ステップＢ１）。
【００７６】
所定のタイミングであると判断された場合（ステップＢ１のＹｅｓ）、制御メッセージ送受信部１３１は、制御メッセージの送信を実行する（ステップＢ２）。例えば、制御メッセージ送受信部１３１は、記憶部１４０からコンテンツ情報１４２を読み出して、自通信端末１００が保有するコンテンツのコンテンツリストを作成する。制御メッセージ送受信部１３１は、作成したコンテンツリストと自通信端末１００の識別子とを含む制御メッセージを生成する。そして、制御メッセージ送受信部１３１は、生成した制御メッセージを通信部１５０へ入力する。そして、本フローチャートの処理は終了する。
【００７７】
一方、所定のタイミングでないと判断された場合（ステップＢ１のＮｏ）、コンテンツ管理部１３２は、コンテンツ配信データがあるか否かを判断する（ステップＢ３）。ここで、コンテンツ管理部１３２は、図７のステップＡ１１において、要求されたコンテンツのデータを送信するよう記憶した情報を参照し、コンテンツ配信データがあるか否かを判断する。
【００７８】
コンテンツ配信データがある場合（ステップＢ３のＹｅｓ）、コンテンツ管理部１３２は、要求されているコンテンツのデータを当該要求元通信端末に順次送信する（ステップＢ４）。ここで、１度に送信するコンテンツデータのサイズは、予め設定されたサイズのデータとし、コンテンツ管理部１３２は、通信部１５０を通じて当該データを送信する。このようなコンテンツデータの送信は、既存の通信端末においても行われているため、詳細な説明は省略する。また、複数の通信端末からコンテンツの要求メッセージを受信している場合もあるが、そのような場合も既存の通信端末では行われているため、詳細な説明は省略する。コンテンツ管理部１３２は、予め設定されたサイズのデータを送信する。そして、本フローチャートの処理は終了する。
【００７９】
一方、コンテンツ配信データが無い場合（ステップＢ３のＮｏ）、コンテンツ管理部１３２は、再送順序決定部１３３に対して、再送要求メッセージを受信しているかを問い合わせる（ステップＢ５）。
【００８０】
再送要求メッセージを受信している場合（ステップＢ５のＹｅｓ）、コンテンツ管理部１３２は、再送データを送信する（ステップＢ６）。例えば、コンテンツ管理部１３２は、再送順序決定部１３３に対して、最も早く処理すべき再送要求メッセージの送信を要求し、それを受信する。コンテンツ管理部１３２は、受信した再送要求メッセージで要求されているデータ範囲のデータを送信する。そして、本フローチャートの処理は終了する。
【００８１】
なお、再送順序決定部１３３は、このときコンテンツ管理部１３２に送信した再送要求メッセージは、既に処理済みのメッセージとして削除する。このような再送要求データの送信は、再送要求メッセージ１つずつ行い、終了しても良いし、予め設定した数の再送要求メッセージに対して行ってから処理を終了しても良い。
【００８２】
一方、再送要求メッセージを受信していない場合（ステップＢ５のＮｏ）、本フローチャートの処理は終了する。
（効果の説明）
以上説明した第１の実施形態において、通信端末１００は、ストリーム型コンテンツの再生・視聴を行うために受信したコンテンツデータに、通信路でのパケットロスなどによりロスデータが存在した場合、当該ロスデータの送信を、同一コンテンツ、かつ、同一範囲のデータを保有する他の通信端末に再送要求メッセージを用いて要求する。そして、通信端末１００は、他の通信端末から受信した複数の再送要求メッセージについて、当該メッセージの送信元通信端末のロスデータのサイズが小さいものから順に処理する。これにより、ロスデータのサイズが小さい通信端末が送信する再送要求メッセージから優先されて処理される（つまり、ロスデータが送信される）ことになり、より早期に当該通信端末のロスデータが補完されることが可能となる。つまり、当該通信端末が受信しているコンテンツデータが早期に全て揃いやすくなり、高品質なコンテンツとして、他の通信端末に配信することが可能となる。
【００８３】
以上を纏めると、第１の実施形態によれば、ネットワーク内で早期にコンテンツの同期を取ることが可能となる。
（第１の実施形態の変形例についての説明）
なお、本実施形態における通信端末１００の再送順序決定部１３３は、ロスデータのサイズが小さい順に再送要求メッセージの処理順序を決定したが、これをロスデータのサイズが大きい順に処理順序を決定しても良い。この場合、ネットワーク内の通信端末間において、ロスデータのサイズが同一になるような制御が働くため、公平なサービスの提供が可能となる。
【００８４】
また、本実施形態における通信端末１００の再送順序決定部１３３は、ロスデータのサイズではなく、ロス率を算出して順序を決定しても良い。ロス率は、ロスデータサイズを通信端末情報１４１の保有データ範囲に相当するサイズで割った値として算出が可能である。ロス率が小さい通信端末の再送制御メッセージの処理を優先することで、受信しているコンテンツデータにおける相対的なロスの割合を考慮して優先度を決定することができ、当該通信端末はより大きなサイズのコンテンツが早期に受信することが可能となる。
【００８５】
本実施形態における通信端末１００の再送順序決定部１３３は、ロスデータのサイズに加え、連続するロスデータのサイズを含めて再送要求メッセージの処理順序を決定しても良い。この場合、通信端末１００が定期的に送信する制御メッセージと通信端末１００が記憶部１４０に記憶する通信端末情報１４１の構成が異なる。図９は、本発明の第１の実施形態の通信端末１００において定期的に送信される制御メッセージの別の構成例を示す図である。図９に示すように、本制御メッセージには、図３の制御メッセージの内容に加えて、コンテンツリストに連続ロスデータサイズが含まれる。本連続ロスデータサイズは、記憶部１４０に記憶されている当該コンテンツのコンテンツ情報１４２に含まれる保有データリストから、ロスしているデータ区間のうち最も大きな区間のサイズである。
【００８６】
また、図１０は、第１の実施形態の通信端末１００の記憶部１４０に記憶される通信端末情報の別の構成例を示す説明図である。この場合、通信端末情報１４１は、制御メッセージに含まれる当該制御メッセージの送信元を示す通信端末識別子１４１Ａと、当該通信端末情報１４１の有効期限を示す有効期限情報１４１Ｂと、当該通信端末が保有するコンテンツリスト１４１Ｃを含む。通信端末情報１４１は、記憶部１４０に記憶される。このように、連続ロスデータサイズの情報を記憶することで、再送順序決定部１３３は、連続ロスデータサイズとロスデータのサイズを考慮して、再送要求メッセージの処理順序を決定することができる。ロスデータサイズは、当該コンテンツにおけるロスデータの合計サイズを表すため、当該コンテンツデータをより早く全て受信させるためには、このサイズが小さい通信端末の再送要求メッセージを優先して処理するのが良い。一方で、連続ロスデータサイズは、受信しているコンテンツデータに存在する最も大きなロスデータ区間を表すため、連続ロスデータサイズが小さいほど当該コンテンツの再生時にスキップや停止することが少なくなるなど、品質により大きく影響する。従って、このような通信端末への再送要求メッセージをより早く処理することで、連続するロスデータ区間が小さくなり、当該通信端末におけるコンテンツの品質が高まることが期待できる。このような２つの指標を用いて順序を決定する際には、様々な組み合わせが考えられる。例えば、再送順序決定部１３３は、連続ロスデータサイズが大きい通信端末の再送制御メッセージを優先し、連続ロスデータサイズが同一の通信端末からの再送要求メッセージを複数受信している場合は、ロスデータサイズが小さい通信端末からの再送要求メッセージを優先して処理することで、各通信端末のコンテンツの品質を高めながら、より早期に当該通信端末のロスデータが補完されることが可能となる。このように、再送要求メッセージの処理順序を決定する際、これら２つの指標を様々に組み合わせて方針を決定することができる。なお、再送順序決定部１３３は、ロスデータサイズの代わりとしてロス率と連続ロスデータサイズを用いることも可能であることはもちろんである。
＜第２の実施形態＞
（構成の説明）
図１１は、本発明の第２の実施形態の通信端末２００の構成例を示すブロック図である。図１１に示すように、通信端末２００は、コンテンツ配信制御部２３０と、記憶部２４０と、を含む。その他の構成は、図２に示す第１の実施形態の通信端末１００における構成と同様であるため、対応する構成要素には図２と同じ符号を付して説明を省略する。
【００８７】
第２の実施形態の通信端末２００のコンテンツ配信制御部２３０は、制御メッセージ送受信部２３４と、コンテンツ管理部２３５と、再送順序決定部２３６と、を含む。
【００８８】
第１の実施形態における制御メッセージ送受信部１３１は、図３に示す制御メッセージを定期的、または必要に応じて送信するのに対して、第２の実施形態の制御メッセージ送受信部２３４は、図１２に示す制御メッセージを定期的、または必要に応じて送信する。図１２に示すように、本実施形態において通信端末２００が送信する制御メッセージには、図３に示す第１の実施形態における制御メッセージのコンテンツリストに、配信状況が含まれる。ここで、配信状況とは、自通信端末が当該コンテンツを他の通信端末に配信しているか否かを表すものであり、例えば、‘１’であれば他の通信端末に配信中であり、‘０’であれば他の通信端末には配信していないということを示す。この配信状況は、後述するコンテンツ情報２４４で記憶されるコンテンツリストに含まれるため、制御メッセージ送受信部２３４は、コンテンツ情報２４４に記憶されるコンテンツリストの配信状況を参照し、この値を制御メッセージに含める。その他については、第１の実施形態における制御メッセージ送受信部１３１と同様であるため、説明を省略する。
【００８９】
第１の実施形態におけるコンテンツ管理部１３２は、他の通信端末からコンテンツ要求メッセージを受信すると、メッセージ内で要求されたコンテンツのデータの送信を開始していた。
【００９０】
それに対し、本実施形態のコンテンツ管理部２３５は、他の通信端末からコンテンツ要求メッセージを受信すると、メッセージ内で要求されたコンテンツのデータの送信を開始すると共に、記憶部２４０に記憶されているコンテンツ情報２４４の配信状況を‘１’、つまり、他の通信端末に当該コンテンツを配信していることを示すように設定する。また、コンテンツ管理部２３５は、当該コンテンツの送信を要求した他の通信端末の全てに配信完了した時点で、記憶部２４０に記憶されているコンテンツ情報２４４の配信状況を‘０’、つまり、他の通信端末に当該コンテンツを配信していないことを示すように設定する。その他については、第１の実施形態におけるコンテンツ管理部１３２と同様であるため、説明を省略する。
【００９１】
第１の実施形態における再送順序決定部１３３は、他の通信端末から再送要求メッセージを受信した際、記憶部１４０に記憶されている通信端末情報１４１を参照し、当該再送要求メッセージの送信元端末に関する当該要求コンテンツのロスデータサイズやロス率、連続ロスデータサイズを参照して、当該再送要求メッセージの処理順序を決定していた。
【００９２】
それに対して、本実施形態の再送制御部２３６は、他の通信端末から再送要求メッセージを受信した際、記憶部２４０に記憶されている通信端末情報２４３を参照し、当該再送要求メッセージの送信元端末に関する当該要求コンテンツの配信状況を参照して、当該再送要求メッセージの処理順序を決定する。
【００９３】
また、本実施形態の通信端末２００の記憶部２４０は、通信端末情報２４３とコンテンツ情報２４４を記憶する。
【００９４】
図１３は、第２の実施形態の記憶部２４０に記憶される通信端末情報２４３の構成例を示す説明図である。他の通信端末２００から制御メッセージを受信した通信端末２００は、図４に示す第１の実施形態における通信端末情報１４１と同様の通信端末識別子と、当該通信端末情報２４３の有効期限を示す有効期限情報と、当該通信端末が保有するコンテンツリストを含むように生成し、通信端末情報２４３として記憶部２４０に記憶する。ここで、コンテンツリストは、第１の実施形態におけるコンテンツ識別子と保有データ範囲に加え、本実施形態の制御メッセージによって通知される当該コンテンツの配信状況を含む。
【００９５】
図１４は、記憶部２４０に記憶されるコンテンツ情報２４４の構成例を示す説明図である。図１４に示すように、コンテンツ情報２４４は、図５に示す第１の実施形態におけるコンテンツ情報１４２と同様のコンテンツ識別子と保有データリストに加え、配信状況を含む。配信状況は上述した通り、自通信端末１００が当該コンテンツを他の通信端末に配信しているか否かを示す情報であり、コンテンツ管理部２３５が他の通信端末から当該コンテンツに対するコンテンツ要求メッセージを受信し、当該要求通信端末に当該コンテンツの配信を開始してから、当該コンテンツの送信を要求する他の通信端末全てに配信を完了するまでの期間、自通信端末１００が当該コンテンツを他の通信端末に配信していると判断する。
（動作の説明）
次に、第２の実施形態の通信端末２００の動作について説明する。本実施形態の通信端末２００の動作と第１の実施形態の通信端末１００の動作とを比較すると、通信端末が制御メッセージまたはコンテンツを受信する場合の動作例を示すフローチャート（図７）におけるステップＡ７、Ａ９、Ａ１１の各処理が異なる。上記各ステップ以外の処理は、第１の実施形態（図７）と同様であるため、説明を省略する。
【００９６】
図１５は、本発明の第２の実施形態の通信端末２００が、制御メッセージまたはコンテンツを受信する場合の動作例を示すフローチャートである。図１５に示すフローチャートにおいて、ステップＡ１−Ａ６、ステップＡ８、ステップＡ１０における各処理は、図７に示す処理とそれぞれ同様なため、説明を省略する。図１５において、図７のステップＡ７、Ａ９、Ａ１１の各々は、ステップＡ１２、Ａ１３、Ａ１４に置き換わる。
【００９７】
ステップＡ１２において、制御メッセージ送受信部２３４は、受信した制御メッセージの送信元の通信端末２００の通信端末情報２４３を生成し記憶部２４０に記憶し、あるいは、記憶部２４０に既に記憶されている通信端末情報２４３における有効期限情報およびコンテンツリストの更新を行う。この際、制御メッセージ送受信部２３４は、受信した制御メッセージに含まれるコンテンツリストの配信状況を通信端末情報２４３に含める。
【００９８】
ステップＡ１３において、制御メッセージ送受信部２３４は、受信した再送要求メッセージを再送順序決定部２３６に送る。再送順序決定部２３６は、受信した再送要求メッセージの送信元通信端末の通信端末情報２４３を参照し、当該再送要求メッセージで要求されているコンテンツの配信状況を確認する。そして、配信状況が‘１’、つまり当該再送要求メッセージの送信元通信端末が他の通信端末に当該コンテンツを配信していると通知されている場合、再送順序決定部２３６は、当該再送要求メッセージを優先して処理するよう並び替えて管理する。
【００９９】
具体的に、このような再送要求メッセージの処理順序を決定する方法としては、個々の再送要求メッセージに対して受信した再送要求メッセージで指定されているコンテンツの配信状況を付与しておく。また、再送順序決定部２３６は、新たに受信した再送要求メッセージの送信元通信端末における当該要求コンテンツの配信状況を参照し、もし配信状況が‘０’であれば、最後に処理する再送要求メッセージであると決定し、もし配信状況が‘１’であれば、処理する順序で並んだ再送要求メッセージのうち、‘１’の配信状況が付与された再送要求メッセージの最後に処理するものとして順序を決定する。このような、配信状況の値に従って再送要求メッセージの順序を並び替える方法については、例えば、配信状況が‘１’、‘０’のそれぞれでキューを管理し、受信した再送要求メッセージに対する通信端末の配信状況の値に応じていずれかのキューの最後に挿入し、再送要求メッセージは配信状況が‘１’のキューの先頭のメッセージから処理していくという既存の手法を用いることができる。
【０１００】
ステップＡ１４において、コンテンツ管理部２３５は、他の通信端末からコンテンツ要求メッセージを受信すると、メッセージ内で要求されたコンテンツのデータの送信を開始すると共に、記憶部２４０に記憶されているコンテンツ情報２４４の配信状況を‘１’、つまり、他の通信端末に当該コンテンツを配信していることを示すように設定する。
【０１０１】
なお、本実施形態の通信端末が制御メッセージまたはコンテンツを送信する場合の動作についての図示および説明は省略する。なお、第１の実施形態の上記動作例を説明する図８のステップＢ４において、コンテンツ管理部２３５は、当該コンテンツの送信を要求した他の通信端末の全てに配信完了したと判断すると、記憶部２４０に記憶されているコンテンツ情報２４４の配信状況を‘０’、つまり、他の通信端末に当該コンテンツを配信していないことを示すように設定する。このような配信完了の判断については、送信先通信端末に全てのデータを送信した時点、あるいは確認応答などを用いている場合には、当該コンテンツの全てのデータについて確認応答が取れた時点として判断可能である。
（効果の説明）
以上説明した第２の実施形態において、通信端末２００は、他の通信端末から受信した複数の再送要求メッセージについて、当該メッセージの送信元通信端末における当該要求コンテンツの配信状況が‘１’、つまり再送要求メッセージで要求するコンテンツを他の通信端末に配信している通信端末から受信した再送要求メッセージを優先して処理する。これにより、他の通信端末にコンテンツを配信している通信端末からの再送要求メッセージから優先されて処理される（つまり、ロスデータが送信される）ことになり、より早期に当該通信端末のロスデータが補完されることが可能となる。従って、他の通信端末にコンテンツを配信している通信端末が受信しているコンテンツデータが早期に全て揃いやすくなり、高品質なコンテンツとして、他の通信端末に配信することが可能となる。
【０１０２】
以上を纏めると、第２の実施形態によれば、ネットワーク内で早期にコンテンツの同期を取ることが可能となる。
（第２の実施形態の変形例についての説明）
なお、本実施形態における通信端末２００は、記憶部２４０に記憶するコンテンツ情報２４４の配信状況として、他の通信端末に配信中か否かを‘１’、‘０’で表したが、この配信状況として、当該コンテンツを配信している他の通信端末数として表しても良い。そして、この配信状況を、制御メッセージに格納して他の通信端末へ通知し、制御メッセージを受信した他の通信端末は、上記の配信状況を通信端末情報２４３として記憶しても良い。この場合、再送順序決定部２３６は、他の通信端末から再送要求メッセージを受信した場合、当該要求メッセージの送信元通信端末における当該要求コンテンツの配信状況が示す数が大きい順に再送要求メッセージの処理順序を決定する。これにより、より多くの他の通信端末にコンテンツを配信している通信端末が受信しているコンテンツデータが早期に全て揃いやすくなり、高品質なコンテンツとして、他の通信端末に配信することが可能となる。
【０１０３】
また、本実施形態における通信端末２００は、本発明の第１の実施形態のように、再送要求メッセージの送信元通信端末におけるコンテンツ毎のロスデータサイズやロス率、連続ロスデータサイズを上記の配信状況と共に用いて、再送要求メッセージの処理順序を決定しても良い。この場合、同一の配信状況を示す通信端末のうち、当該要求コンテンツのロスデータサイズやロス率が小さい通信端末や大きい通信端末、連続ロスデータサイズが小さい通信端末や大きい通信端末など、様々な観点で再送要求メッセージの処理順序を決定することができる。このような判断基準を用いるためには、制御メッセージや通信端末情報２４３、コンテンツ情報２４４の構成が第１の実施形態と第２の実施形態を組み合わせた形となる。
＜第３の実施形態＞
（構成の説明）
図１６は、本発明の第３の実施形態の通信端末３００の構成例を示すブロック図である。図１６に示すように、第３の実施形態の通信端末３００は、コンテンツ配信制御部３３０と記憶部３４０とを含む。その他の構成は、図２に示す第１の実施形態の通信端末１００における構成と同様なため、対応する構成要素には図２と同じ符号を付して説明を省略する。
【０１０４】
本発明の第３の実施形態の通信端末３００のコンテンツ配信制御部３３０は、制御メッセージ送受信部３３７とコンテンツ管理部３３８と再送順序決定部３３９を含む。
【０１０５】
第１の実施形態における制御メッセージ送受信部１３１は、図３に示す制御メッセージを定期的、または必要に応じて送信し、コンテンツ管理部１３２から要求があれば図６に示す再送要求メッセージを送信する。
【０１０６】
それに対して、本実施形態の制御メッセージ送受信部３３７は、図１７に示す制御メッセージを定期的、または必要に応じて送信する。図１７は、本発明の第３の実施形態の通信端末３００において定期的、または必要に応じて送信される制御メッセージの構成例を示す図である。本実施形態において通信端末３００が送信する制御メッセージには、図３に示す第１の実施形態における制御メッセージのコンテンツリストから、ロスデータサイズを除いたものである。
【０１０７】
また、本実施形態の制御メッセージ送受信部３３７は、コンテンツ管理部３３８から要求があれば、図１８に示す再送要求メッセージを送信する。図１８は、第３の実施形態の通信端末３００が送信する再送要求メッセージの構成例を示す説明図である。本再送要求メッセージには、再送要求先の通信端末識別子と要求するロスデータの範囲に加え、当該コンテンツのロスデータのサイズが含まれる。このロスデータのサイズについては、後述する通り、コンテンツ管理部３３８から通知される。その他については、第１の実施形態における制御メッセージ送受信部１３１と同様であるため、説明を省略する。
【０１０８】
第１の実施形態におけるコンテンツ管理部１３２は、コンテンツデータを受信中、データパケットを受信した際、当該コンテンツの先頭オフセットから新たに受信したデータパケットのオフセットまでのデータの中で、自通信端末１００が保有していないロスデータの有無を確認し、ロスデータが存在すれば、再送要求先の通信端末識別子と要求するロスデータの範囲を制御メッセージ送受信部１３１に通知し、再送要求メッセージの送信を行っていた。
【０１０９】
それに対し、本実施形態のコンテンツ管理部３３８は、上記と同様の方法でロスデータを確認し、ロスデータが存在すれば、記憶部３４０に記憶されているコンテンツ情報１４２から、当該コンテンツのコンテンツ情報を参照し、再送要求先の通信端末識別子と要求するロスデータの範囲に加え、当該コンテンツのロスデータのサイズを制御メッセージ送受信部３３７に通知し、再送要求メッセージの送信を行う。その他については、第１の実施形態におけるコンテンツ管理部１３２と同様であるため、説明を省略する。
【０１１０】
第１の実施形態における再送順序決定部１３３は、他の通信端末から再送要求メッセージを受信した際、記憶部１４０に記憶されている通信端末情報１４１を参照し、当該再送要求メッセージの送信元端末に関する当該要求コンテンツのロスデータサイズやロス率、連続ロスデータサイズを参照して、当該再送要求メッセージの処理順序を決定していた。
【０１１１】
それに対して、本実施形態の再送制御部３３９は、他の通信端末から再送要求メッセージを受信した際、受信した再送要求メッセージに含まれる当該要求コンテンツのロスデータのサイズを用いて当該再送要求メッセージの処理順序を決定する。
【０１１２】
また、本実施形態の通信端末３００の記憶部３４０は、通信端末情報３４５を記憶する。その他の構成については、第１の実施形態と同様であるため、説明を省略する。
【０１１３】
図１９は、第３の実施形態の記憶部３４０に記憶される通信端末情報３４５の構成例を示す説明図である。他の通信端末３００から制御メッセージを受信した通信端末３００は、図４に示す第１の実施形態における通信端末情報１４１と同様の通信端末識別子１４１Ａと、当該通信端末情報３４５の有効期限を示す有効期限情報１４１Ｂと、当該制御メッセージによって通知されるコンテンツリスト３４５Ｃとを含むように生成し、通信端末情報３４５として記憶部３４０に記憶する。ここで、コンテンツリストは、第１の実施形態と同様のコンテンツ識別子と保有データ範囲を含む。
（動作の説明）
次に、第３の実施形態の通信端末３００の動作について説明する。本実施形態の通信端末３００の動作と第１の実施形態の通信端末１００の動作とを比較すると、通信端末が制御メッセージまたはコンテンツを受信する場合の動作例を示すフローチャート（図７）におけるステップＡ２、Ａ７、Ａ９の各処理が異なる。上記各ステップ以外の処理は、第１の実施形態（図７）と同様であるため、説明を省略する。
【０１１４】
図２０は、第３の実施形態の通信端末３００が、制御メッセージまたはコンテンツを受信する場合の動作例を示すフローチャートである。図２０に示すフローチャートにおいて、ステップＡ１、Ａ３−Ａ６、Ａ８、Ａ１０、Ａ１１における各処理は、図７に示す処理とそれぞれ同様なため、説明を省略する。図２０において、図７のステップＡ２、Ａ７、Ａ９の各々は、ステップＡ１５、Ａ１６、Ａ１７に置き換わる。
【０１１５】
ステップＡ１５において、コンテンツ管理部３３８は、制御メッセージ送受信部３３７を通じて再送要求メッセージを送信する。ここで、本ステップＡ１５の動作は、ステップＡ１の動作によって行う場合とステップＡ５の動作によって行う場合とがあるが、基本的な動作は第１の実施形態と同様の動作である。異なる点は、コンテンツ管理部３３８は、記憶部３４０に記憶されているコンテンツ情報１４２から、当該コンテンツのコンテンツ情報を参照し、再送要求先の通信端末識別子と要求するロスデータの範囲に加え、当該コンテンツのロスデータのサイズを制御メッセージ送受信部３３７に通知し、再送要求メッセージの送信を行う点である。
【０１１６】
ステップＡ１６において、制御メッセージ送受信部３３７は、受信した制御メッセージの送信元の通信端末３００の通信端末情報３４５を生成し記憶部３４０に記憶し、あるいは記憶部３４０に既に記憶されている通信端末情報４４５における有効期限情報およびコンテンツリストの更新を行う。ここで、本実施形態におけるコンテンツリストは、コンテンツ識別子と保有データ範囲である。
【０１１７】
ステップＡ１７において、制御メッセージ送受信部３３７は、受信した再送要求メッセージを再送順序決定部３３９に送る。再送順序決定部３３９は、受信した再送要求メッセージに含まれる当該要求コンテンツのロスデータのサイズの大きさを確認する。そして、既に受信している再送要求メッセージに対応するロスデータサイズが小さいものから順に処理するよう並び替えて管理する。
【０１１８】
その他の処理については、制御メッセージ送受信部３３７が図１７に示す制御メッセージ、または、図１８に示す再送要求メッセージを送信することを除き、第１の実施形態における動作と同様であるため、詳細は省略する。
（効果の説明）
以上説明した第３の実施形態において、通信端末３００は、他の通信端末から受信した複数の再送要求メッセージについて、当該メッセージに含まれるロスデータのサイズを用いて再送要求メッセージの処理順序を決定する。これにより、各通信端末は再送要求メッセージを送信する時点でのロスデータサイズを再送要求メッセージに格納し、それを受信した通信端末は最新の情報を用いて再送要求メッセージの処理順序を決定することができるため、より現状を反映した形で第１の実施形態における効果を提供することが可能となる。
（第３の実施形態の変形例についての説明）
なお、本実施形態における通信端末３００は、第１の実施形態のように、再送要求メッセージにさらにコンテンツの保有データ範囲を加えることでロス率を利用して再送要求メッセージの処理順序を決定しても良い。また、再送要求メッセージに連続ロスデータサイズを加えることで、連続ロスデータサイズを用いて再送要求メッセージの処理順序を決定することが可能となる。さらに、第２の実施形態のように、通信端末３００は当該コンテンツの配信中の情報を再送要求メッセージに追加して送信し、受信した通信端末３００は、受信した再送要求メッセージに含まれる配信中の情報を用いて処理順序を決定しても良い。このように、本実施形態においては、第１の実施形態に加え、第２の実施形態を組み合わせることで、当該要求コンテンツのロスデータサイズやロス率が小さい通信端末や大きい通信端末、連続ロスデータサイズが小さい通信端末や大きい通信端末、他の通信端末にコンテンツを配信しているか否かなど、様々な観点で再送要求メッセージの処理順序を決定することができる。
（第１−３の各実施形態の変形例についての説明）
以上に述べた各実施形態では、各通信端末１００、２００、３００は、無線ＬＡＮのアドホックモードで互いの間の通信を行う。しかし、各通信端末１００、２００、３００は、無線ＬＡＮのアクセスポイントを介して互いの間の通信を行うように構成されてもよい。図２１は、各通信端末がアクセスポイント４００を介して通信を行うように構成された無線通信システム５０１の例を示すブロック図である。図２１に示す例では、通信端末１００、２００、３００の例として、通信端末１００ａ−１００ｈがアクセスポイント４００を介して互いの間の通信を行っている。また、各通信端末のうちの１つがアクセスポイントと同様の働きを行うＷｉ−Ｆｉ  Ｄｉｒｅｃｔと呼ばれる接続形態で、通信端末１００、２００、３００が接続されても良い。
【０１１９】
そのような構成によれば、各通信端末１００、２００、３００で直接に通信を行うことができない場合であっても、無線ＬＡＮのアクセスポイント４００を介して互いの間の通信を行い、第１−第３の実施形態における効果と同様な効果を奏することができる。
【０１２０】
なお、以上に述べた各実施形態における通信端末１００、２００、３００の各構成要素は、ＡＳＩＣ（Application Specific Integrated Circuit）を含む半導体処理部品が用いられて実現されてもよい。また、これらの構成要素は、少なくとも１つのプロセッサを含むコンピュータシステムにプログラムを実行させることによって実現されてもよい。プロセッサは、例えば、ＭＰＵ（Micro Processing Unit）やＤＳＰ（Digital Signal Processor）である。
【０１２１】
具体的には、第１の実施形態における再生処理部１２０、コンテンツ配信制御部１３０、および記憶部１４０と、第２の実施形態における再生処理部１２０、コンテンツ配信制御部２３０、および記憶部２４０と、第３の実施形態における再送制御部１２０、コンテンツ配信制御部３３０、および記憶部３４０が行う送信信号処理または受信信号処理に関するアルゴリズムをコンピュータシステムに行わせるための命令群を含む１または複数のプログラムを作成し、当該プログラムをコンピュータに実行させればよい。
【０１２２】
上記プログラムは、様々な種類の非一時的なコンピュータ可読媒体（non-transitory computer readable medium）に格納されて、コンピュータに提供可能である。非一時的なコンピュータ可読媒体は、様々な種類の記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体は、例えば、磁気記録媒体（フレキシブルディスク、磁気テープ、ハードディスク等）、光磁気記録媒体（光磁気ディスク等）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（マスクＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＲＯＭ、およびＲＡＭ等）である。また、プログラムは、様々な種類の一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体は、例えば、電気信号、光信号、および電磁波である。一時的なコンピュータ可読媒体は、電線や光ファイバ等の有線通信路、または無線通信路を介して、プログラムをコンピュータに提供することができる。
【０１２３】
なお、上記において、ＣＤ−ＲＯＭは、Compact Disc Read Only Memoryの略であり、ＣＤ−Ｒは、Compact Disc-Recordableの略であり、ＣＤ−Ｒ／Ｗは、Compact Disc-Rewritableの略である。また、ＰＲＯＭは、Programmable ROMの略であり、ＥＰＲＯＭは、Erasable PROMの略であり、ＲＡＭは、Random Access Memoryの略である。
【０１２４】
なお、以上に述べた各実施形態は、上記に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１２５】
例えば、上述した各実施形態では、入出力部１１０から視聴したいコンテンツを選択し、そのコンテンツを自通信端末が保有していない場合に、他の通信端末のうち当該コンテンツを保有する通信端末に対してコンテンツ要求メッセージを送信する。しかし、各通信端末は、他の通信端末から受信した制御メッセージにより、自通信端末が保有していないコンテンツを認識した時点で、当該通信端末に対してコンテンツ要求メッセージを送信し、コンテンツの受信を開始しても良い。
【０１２６】
上述した各実施形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
＜第４の実施形態＞
（構成および動作の説明）
図２２は、本発明の第４の実施形態の通信端末１０の構成例を示すブロック図である。通信端末１０は、制御メッセージ送受信部３０と、データ送受信部３１と、再送順序決定部３２と、を含む。
【０１２７】
なお、制御メッセージ送受信部３０は、図２、１１、１６に示す制御メッセージ送受信部１３１、２３４、３３７に相当する。データ送受信部３１は、図２、１１、１６に示すコンテンツ管理部１３２、２３５、３３８に相当する。再送順序決定部３２は、図２、１１、１６に示す再送順序決定部１３３、２３４、３３９に相当する。
【０１２８】
制御メッセージ送受信部３０は、所定の周期、または必要に応じて、自通信端末が保有するコンテンツ全てに対し、当該コンテンツの識別子と保有データ範囲に加え、ロスデータのサイズや配信状況から構成されるコンテンツリストを含む制御メッセージを互いに送受信する。また、自通信端末が保有せず、自通信端末と直接通信可能な隣接の通信端末が保有するコンテンツの送信を要求するコンテンツ要求メッセージ、あるいは、コンテンツ受信中にロスデータがあることを認識した際に、当該ロスデータの送信を同一コンテンツの当該ロスデータを保有する隣接の他の通信端末へ要求する再送要求メッセージの送受信を行う。さらに、制御メッセージ送受信部３０は、再送要求メッセージを受信した場合、それを再送順序決定部３２に送信する。
【０１２９】
データ送受信部３１は、他の通信端末から受信したコンテンツ要求メッセージで要求されたコンテンツデータの送信、または、他の通信端末から受信した再送要求メッセージで要求されたロスデータを再送順序決定部３２が決定した順序で送信する。また、自通信端末が要求したコンテンツデータ、または、再送の要求を行ったロスデータの受信を行う。
【０１３０】
再送順序決定部３２は、制御メッセージ送受信部３０が受信した再送要求メッセージを受信し、当該再送要求メッセージの送信元通信端末における要求コンテンツのロスデータサイズや、ロス率、連続ロスデータサイズ、他の通信端末に配信しているかを示す配信状況を用いて、再送要求メッセージの処理順序を決定する。
（効果の説明）
以上説明した第４の実施形態において、通信端末１０は、他の通信端末から受信した複数の再送要求メッセージについて、当該メッセージの送信元通信端末における当該要求コンテンツのロスデータサイズの大小やロス率の高低、連続ロスデータサイズの大小、あるいは他の通信端末にコンテンツを配信しているか否かの情報など、様々な観点で再送要求メッセージの処理順序を決定することができる。例えば、通信端末１０は、ロスデータサイズが小さい通信端末や他の通信端末に当該コンテンツを配信している通信端末からの再送要求メッセージを優先して処理することができる。従って、第４の実施形態によれば、ネットワーク内で早期にコンテンツの同期を取ることが可能となる。
【産業上の利用可能性】
【０１３１】
本発明は、通信端末間でストリーム型コンテンツの配信が可能な無線ＬＡＮ（Ｗｉ−Ｆｉ）対応通信端末やそれを用いた通信システムといった用途に適用できる。また、本発明は、無線ＬＡＮ機能を有する情報端末間でストリーム型コンテンツの配信を実現するといった用途に適用できる。
【０１３２】
以上、各実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上記各実施形態の記載に限定されない。上記各実施形態に多様な変更又は改良を加えることが可能であることは当業者にとって自明である。従って、そのような変更又は改良を加えた形態もまた本発明の技術的範囲に含まれることは説明するまでもない。また、以上説明した各実施形態において使用される、数値や各構成の名称等は例示的なものであり適宜変更可能である。
【符号の説明】
【０１３３】
１、２、１０    通信端末
３０    制御メッセージ送受信部
３１    データ送受信部
３２    再送順序決定部
１００、１００ａ−１００ｈ    通信端末
１１０    入出力部
１２０    再生処理部
１３０    コンテンツ配信制御部
１３１    制御メッセージ送受信部
１３２    コンテンツ管理部
１３３    再送順序決定部
１４０    記憶部
１４１    通信端末情報
１４２    コンテンツ情報
１５０    通信部
２００    通信端末
２３０    コンテンツ配信制御部
２３４    制御メッセージ送受信部
２３５    コンテンツ管理部
２３６    再送順序決定部
２４０    記憶部
２４３    通信端末情報
２４４    コンテンツ情報
３００    通信端末
３３０    コンテンツ配信制御部
３３７    制御メッセージ送受信部
３３８    コンテンツ管理部
３３９    再送順序決定部
３４０    記憶部
３４５    通信端末情報
４００    アクセスポイント
５００、５０１    無線通信システム
【図１】
2016092615.tif 000003
【図２】
2016092615.tif 000004
【図３】
2016092615.tif 000005
【図４】
2016092615.tif 000006
【図５】
2016092615.tif 000007
【図６】
2016092615.tif 000008
【図７】
2016092615.tif 000009
【図８】
2016092615.tif 000010
【図９】
2016092615.tif 000011
【図１０】
2016092615.tif 000012
【図１１】
2016092615.tif 000013
【図１２】
2016092615.tif 000014
【図１３】
2016092615.tif 000015
【図１４】
2016092615.tif 000016
【図１５】
2016092615.tif 000017
【図１６】
2016092615.tif 000018
【図１７】
2016092615.tif 000019
【図１８】
2016092615.tif 000020
【図１９】
2016092615.tif 000021
【図２０】
2016092615.tif 000022
【図２１】
2016092615.tif 000023
【図２２】
2016092615.tif 000024
【図２３】
2016092615.tif 000025