JPWO2016067561A1 - 通信端末、通信システムおよび通信方法、並びにコンピュータ・プログラム - Google Patents

通信端末、通信システムおよび通信方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JPWO2016067561A1
JPWO2016067561A1 JP2016556205A JP2016556205A JPWO2016067561A1 JP WO2016067561 A1 JPWO2016067561 A1 JP WO2016067561A1 JP 2016556205 A JP2016556205 A JP 2016556205A JP 2016556205 A JP2016556205 A JP 2016556205A JP WO2016067561 A1 JPWO2016067561 A1 JP WO2016067561A1
Authority
JP
Japan
Prior art keywords
data
content
retransmission
communication terminal
loss
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016556205A
Other languages
English (en)
Inventor
則夫 山垣
則夫 山垣
啓文 植田
啓文 植田
ブンパデイット カンニヤウオン
ブンパデイット カンニヤウオン
峻一 木下
峻一 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2016067561A1 publication Critical patent/JPWO2016067561A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

端末間におけるコンテンツデータの配信において、コンテンツデータにロスが発生した場合に、ロスしたデータの再送を良好に制御する通信端末等を提供する。通信端末は、コンテンツデータを再生する再生処理部と、他の端末から受信したコンテンツデータを再生処理部に送信し、受信したコンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信部と、データ送受信部からの指示を受けて、ロスデータの再送がコンテンツデータの再生処理部による再生予定時刻に間に合う可能性があれば、ロスデータの再送を要求するための再送要求の優先度を上げ、優先度がより高いロスデータから順番に、ロスデータを保有する他の端末に対して再送を要求する再送制御部とを備える。

Description

本発明は、コンテンツデータを配信する場合における配信制御技術に関する。
近年、インターネットなどの通信媒体を介した音声や映像等のストリーム型コンテンツの配信サービスが普及している。このようなストリーム型コンテンツの配信および視聴方法には、ダウンロード配信、ストリーミング配信およびプログレッシブ配信などの方法がある。
ダウンロード配信は、コンテンツファイルをユーザの通信端末にダウンロードしてから再生を行う。そのため、ダウンロード配信は、ファイルのダウンロードが完了しないと再生を行うことができない。
一方、ストリーミング配信は、コンテンツファイルをダウンロードしながら順次再生を行う。そのため、ストリーミング配信は、ビデオオンデマンドのようにユーザが所望のストリーム型コンテンツの配信を要求し、要求したコンテンツを成すコンテンツデータを受信しながら順次再生を行うようなリアルタイム型の配信には適している。しかしながら、ストリーミング配信は、通信時に発生するパケットロスなどによりロスしたデータの再送が、再生時刻までに間に合わなければ、当該部分の映像はスキップされたり、停止したりする。
プログレッシブ配信は、コンテンツファイルのダウンロードを行いながら、順次再生を行うことが可能である。しかし、プログレッシブ配信は、パケットロス等が発生すると、ダウンロード配信のように当該データが配信されるまで再送が停止してしまう。
また、音声や映像等のストリーミング配信のためのトランスポートプロトコルとして、RTP(Real−time Transport Protocol)が利用されることがある。RTPは、パケットに格納された時刻情報を受信端末で参照することにより、リアルタイム性を確保しながら再生を行うデータ通信方式である。しかしながら、RTPは、リアルタイム性の確保に重点を置いたものであり、パケットロス等のデータの信頼性を担保するものではない。信頼性のあるトランスポートプロトコルとして、TCP(Transmission Control Protocol)を用いるという手段もある。しかし、TCPは、パケットのロスにより転送レートを変化させるため、リアルタイム性の確保が困難である。
さらに、データの送受信時における誤り訂正手法として、FEC(Forward Error Correction、前方誤り訂正)が利用されることもある。FECは、各パケットに対して、通信状況に応じた冗長データを付加し、データのロスやエラーが発生した際に、これらの冗長データから当該部分のデータを復元する手法である。しかしながら、FECは、想定よりも多くのロスやエラーが発生した場合などに、全てのデータを復元することができず、結果的にデータのロスが発生する。
特許文献1は、上述のように通信時におけるパケットロス等によりコンテンツデータにロスが発生した際の動作として、再生時刻に基づいて当該データの再送要求を送信する方式を開示している。本方式は、ロスしたデータの再生時刻に間に合うのであれば、当該データの再送要求を送信する。そして、本方式は、再送しても再生時刻に間に合わないロスデータの再送要求を送信することをスキップすることで、不要なデータの再送を抑制する。
特許文献2は、コンテンツデータにロスが発生して、再送要求が送信された場合に、再送要求を受信したパケット送信装置における処理方法を開示している。本装置は、再送を要求されたパケットを再送した場合の到着予定時刻を求め、再生時刻に間に合うと判断したパケットに対して、重要度が高いと設定する。そして、本装置は、重要度が高いパケットから順番に送信する。
また、特許文献3は、送受信端末間の通信状況に応じて、コンテンツデータの品質を制御して配信し、後から残りのデータを転送する方式を開示している。本方式は、送受信端末間の通信状況に応じて、コンテンツデータを間引き、例えば低品質映像として配信する。この低品質映像の配信が完了した後、送信端末は、間引いた残りのコンテンツデータを配信し、配信を受けた受信端末は、コンテンツデータを高品質映像として再構築する。これにより、配信時の通信状況によって例えば低品質映像を配信することで、ユーザは、スキップや停止のない映像を視聴することができる。そして、後から配信された残りのデータを受信後、ユーザは、高品質映像を視聴することが可能となる。
特許第3912091号公報 特開2005−051299号公報 特許第4526294号公報
特許文献1に開示の方式は、再生時刻に間に合うロスデータのみ再送要求を送信し、再生時刻に間に合わないロスデータの再送を抑制するため、効率的なコンテンツのダウンロードおよび再生に有効である。しかしながら、この方式は、再生時刻に間に合わないと判断して、再送要求を送信しなかったロスデータを取得する仕組みがない。このため、コンテンツを再度視聴しても、コンテンツの品質は、初回の視聴時と同等である。また、他の端末に配信する場合に、ロスデータの発生により品質は、さらに低下する虞がある。
特許文献2に開示の方式は、再送要求を受信した端末で重要度を設定し、重要度が高いデータから順番に再送する。この方式は、多数の再送要求を受信するなどのように再送要求を受信した端末の処理負荷が高いときには、重要度の比較を行うと考えられる。しかし、負荷が低い場合には、この方式は、重要度の比較を行わず、再送要求を受信した順に再送してしまう。
一方、特許文献3に開示の方式は、通信路の状況に応じて、コンテンツデータを間引きして、品質を劣化させたコンテンツデータを配信する。そして、この方式は、当該コンテンツの配信が終了した後に、残りの間引いたデータを配信する。これにより、本方式は、全てのコンテンツデータの配信が完了した後では、受信端末内に全てのコンテンツデータが保存される。そのため、本方式は、再度視聴したり、他の端末へ配信したりすることに影響を与えない。しかしながら、通信路の状況は、時々刻々と変化するため、間引きして送信するデータがロスすることも考えられる。本方式は、このような場合については考慮されていない。さらに、受信端末において全てのコンテンツデータが揃うまでの時間は、配信するコンテンツの再生時間に依存して長くなる。そのため、コンテンツデータをダウンロードしながら再生(視聴)し、さらに、他の端末に配信する場合に、その端末は、低品質のコンテンツデータを配信することになる。
そこで、本発明は、端末間におけるコンテンツデータの配信において、コンテンツデータにロスが発生した場合に、ロスしたデータの再送を良好に制御することが可能な通信端末等を提供することを目的とする。
上記の目的を達成すべく、本発明の一態様に係る通信端末は、以下の構成を備える。
即ち、本発明の一態様に係る通信端末は、
コンテンツデータを再生する再生処理手段と、
他の端末から受信した前記コンテンツデータを前記再生処理手段に送信し、
受信した前記コンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信手段と、
前記データ送受信手段からの指示を受けて、前記ロスデータの再送が前記コンテンツデータの前記再生処理手段による再生予定時刻に間に合う可能性があれば、前記ロスデータの再送を要求するための再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する再送制御手段と
を備える。
同目的を達成する本発明の一態様に係る通信システムは、
上述の通信端末が互いに通信可能に接続される。
同目的を達成する本発明の一態様に係る通信方法は、
受信したコンテンツデータにロスデータが発生した際に、前記ロスデータの再送が前記コンテンツデータの再生予定時刻に間に合う可能性があれば、前記ロスデータの再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する。
更に、同目的は、上記構成を有する通信端末、或いは、通信方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
本発明によれば、端末間におけるコンテンツデータの配信において、コンテンツデータにロスが発生した場合に、ロスしたデータの再送を良好に制御することができるという効果が得られる。
本発明の第1の実施形態に係る通信端末を含む無線通信システムの構成を例示するブロック図である。 本発明の第1の実施形態に係る通信端末の構成を例示するブロック図である。 本発明の第1の実施形態に係る記憶部の通信端末情報を例示する図である。 本発明の第1の実施形態に係る記憶部のコンテンツ情報を例示する図である。 本発明の第1の実施形態に係る通信端末の入出力部の表示イメージを例示する図である。 本発明の第1の実施形態に係る通信端末が制御メッセージを受信する処理を示すフローチャートである。 本発明の第1の実施形態に係る通信端末がコンテンツデータを受信する処理を示すフローチャートである。 本発明の第1の実施形態に係る通信端末が再送要求処理を行う手順を示すフローチャートである。 本発明の第1の実施形態に係る通信端末が再送要求の優先度を決定する処理を説明する図である。 本発明の第1の実施形態に係る通信端末が送信する再送要求メッセージの一例を示す図である。 本発明の第1の実施形態に係る通信端末が制御メッセージを送信する処理を示すフローチャートである。 本発明の第1の実施形態に係る通信端末がコンテンツデータを送信する処理を示すフローチャートである。 本発明の第2の実施形態に係る通信端末の構成を例示するブロック図である。 本発明の第2の実施形態に係る記憶部のコンテンツ情報を例示する図である。 本発明の第2の実施形態に係る通信端末が再送要求処理を行う手順を示すフローチャートである。 本発明の第1および第2の実施形態に係る通信端末を含む無線通信システムの構成を例示するブロック図である。 本発明の第3の実施形態に係る通信端末の構成を例示するブロック図である。
<第1の実施形態>
〜構成〜
次に、本発明の第1の実施形態に係る通信端末について、図面を参照して説明する。
図1は、本発明の第1の実施形態に係る複数の通信端末を含む無線通信システムの構成を例示するブロック図である。図1では、通信端末の例として通信端末100a〜100hを示しているが、通信端末100a〜100hのおのおのは、互いに同じ構成であることより、通信端末100と総称する。通信端末100は、無線通信機能を有する。無線通信機能は、例えば、無線LAN(Local Area Network、Wi−Fi(登録商標、Wireless Fidelity)ともいう)の接続機能である。無線通信システムに含まれる各通信端末100は、例えば、アドホックモードで互いの端末間において通信することができるとする。また、各通信端末100a〜100hは、有線通信ネットワークに接続され、当該有線通信ネットワークを介して互いの端末間で通信するように構成されていてもよい。
図2は、本発明の第1の実施形態に係る通信端末100の構成を例示するブロック図である。ただし、図2に示す構成は、一例であって、本発明の第1の実施形態は、図2に示す通信端末に限定されない。また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
本実施形態に係る通信端末100は、入出力部110と、再生処理部120と、コンテンツ配信制御部130と、記憶部140と、通信部150とを含む。
入出力部110は、例えば、通信端末100に備わるディスプレイやカメラ、マイク、ソフトウェアキーボード、タッチパネルなどの入出力装置である。また、これらの入出力装置は、通信端末100とケーブル類で接続されていてもよい。
再生処理部120と、コンテンツ配信制御部130は、例えば、プログラム制御に従って処理を実行するCPU(Central Processing Unit)である。具体的には、再生処理部120およびコンテンツ配信制御部130は、例えば、通信端末100に搭載されたOS(Operating System)に基づいて動作するアプリケーションソフトウェアの制御に従って処理を実行するCPUである。
記憶部140は、例えば、CPUによって制御されるメモリなどの記憶媒体である。
通信部150は、例えば、以下の処理を行うネットワーク処理部や無線LAN通信モジュールである。
・OSのカーネルによって制御されるTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)などのトランスポート層の処理、
・IP(Internet Protocol)などのネットワーク層の処理および
・MAC(Media Access Control)などの処理。
記憶部140には、通信端末情報141とコンテンツ情報142とが記憶されている。また、記憶部140には、コンテンツデータ(図示せず)も記憶されている。なお、コンテンツデータは、音声や映像等のストリーム型のデータファイルであってもよいし、ストリーム型データの一部であってもよい。また、コンテンツデータは、入出力部110のカメラやマイクを通して撮影や録音したデータの一部であってもよい。通信端末100の記憶部140に記憶されていることを、単に、通信端末100に記憶されている、ということがある。
各通信端末100は、所定の周期、または必要に応じて、送信元の通信端末100を示す通信端末識別子と、記憶部140に記憶しているコンテンツデータに関する情報(以下において、コンテンツリストともいう)を含む制御メッセージを互いに送受信する。通信端末識別子は、例えば、IPアドレス、ユーザ名、あるいは、通信端末名などの通信端末を一意に識別可能な識別子である。コンテンツリストは、送信元の通信端末100が保有するコンテンツデータから成るコンテンツの識別子と、当該コンテンツの保有データの範囲とを組にしたものを、保有する全てのコンテンツに対して生成し、リスト化したものである。コンテンツの識別子は、以下において、コンテンツ識別子またはコンテンツ名ともいう。また、当該コンテンツの保有データの範囲は、例えば、当該コンテンツを成すコンテンツデータのうち、先頭データからの最小のオフセットと最大のオフセットの組で表すことができる。なお、映像コンテンツデータの場合、MPEG(Moving Picture Experts Group)と呼ばれる映像データ圧縮技術が使われることが多い。このような圧縮技術を用いた際には、映像コンテンツデータは、Iフレーム、PフレームおよびBフレームの各種フレームや、それらを一定の個数にまとめたGOPと呼ばれるグループ単位で処理される。上述のIフレームのIは、Intra Pictureを略したものである。上述のPフレームのPは、Predictive Pictureを略したものである。上述のBフレームのBは、Bidirectionally Predictive Pictureを略したものである。さらに、上述のGOPは、Group Of Pictureを略したものである。これらのフレームやGOPに予め付与した識別子が、保有データの範囲を指定するために用いられてもよい。すなわち、通信端末100が他の通信端末100が保有するコンテンツデータの範囲を認識可能であれば、保有データの範囲を表す方法は、限定されない。以後、保有データの範囲は、保有データ範囲と呼ばれる。
通信端末100は、他の通信端末100から受信した制御メッセージを基に、通信端末情報141を記憶部140に記憶する。
図3は、本発明の第1の実施形態に係る記憶部の通信端末情報141を例示する図である。通信端末情報141は、通信端末識別子141Aと、有効期限141Bと、コンテンツリスト141Cとを有する。
通信端末識別子141Aは、例えば、IPアドレス、ユーザ名あるいは通信端末名などによって、制御メッセージの送信元である通信端末100を一意に識別可能な識別子である。通信端末100(例えば、通信端末100a)の記憶部140には、例えばアドホックモードで通信可能な他の通信端末100(例えば、通信端末100b〜100h)を示す通信端末識別子141Aを含む通信端末情報141がそれぞれ記憶されている。
有効期限141Bは、例えば、制御メッセージを受信した日時から、あらかじめ定めた時間T経過後の日時を示す情報である。有効期限141Bによって示される日時が到来すると、その有効期限141Bを含む通信端末情報141は、失効したものとして取り扱われる。具体的に、例えば、通信端末情報141は、有効期限141Bによって示される日時が到来した後に記憶部140から消去されてもよい。
時間Tが長過ぎると、例えば、通信端末識別子141Aによって示される通信端末100hが通信端末100aとアドホックモードで互いの間で通信が不可能な場所に移動した後も通信端末情報141が通信端末100aの記憶部140に記憶され続けることになる。また、時間Tが短過ぎると、例えば、通信端末識別子141Aによって示される通信端末100hが通信端末100aとアドホックモードで互いの間で通信が可能であっても、通信端末情報141が通信端末100aの記憶部140から消去されることになる。したがって、時間Tは、制御メッセージの送信周期よりも長い時間が適切である。
コンテンツリスト141Cは、制御メッセージに含まれるコンテンツリストの内容を設定する。
図4は、本発明の第1の実施形態に係る記憶部140のコンテンツ情報142を例示する図である。図4に示すように、コンテンツ情報142は、自通信端末100が保有するコンテンツデータから成る全てのコンテンツに対するコンテンツ識別子142Aと、保有データ範囲142Bとを含む。ここで、保有データ範囲142Bは、上述のコンテンツリスト141Cの保有データ範囲と同様である。
コンテンツ配信制御部130は、メッセージ送受信部131と、コンテンツ管理部132と、再送制御部133とを含む。
メッセージ送受信部131は、通信部150を介して通信可能な通信端末100と互いに制御メッセージを送受信する。例えば、メッセージ送受信部131は、制御メッセージを送信する所定のタイミングが到来した場合、または例えば、新たなコンテンツを登録、受信した時など必要に応じたタイミングで、制御メッセージを生成してブロードキャスト送信する。なお、メッセージ送受信部131は、例えば、記憶部140に記憶されているコンテンツ情報142に含まれるコンテンツ識別子142Aおよび保有データ範囲142Bに基づいて、制御メッセージに含むコンテンツリストを作成する。
メッセージ送受信部131は、所定の周期、または必要に応じて、繰り返し制御メッセージを送信する。メッセージ送受信部131は、自通信端末100の記憶部140に複数のコンテンツを成すコンテンツデータが記憶されている場合、例えば、以下に示すような制御メッセージを生成して送信する。すなわち、メッセージ送受信部131は、例えば、記憶部140に記憶されているコンテンツデータから成る全てのコンテンツのコンテンツ識別子と保有データ範囲とによるコンテンツリスト141Cを含む制御メッセージを生成する。また、メッセージ送受信部131は、記憶部140に記憶されているコンテンツデータから成る全てのコンテンツに関する情報を、必ずしも一つの制御メッセージとして生成しなくてもよい。つまり、メッセージ送受信部131は、コンテンツリストを複数個に分割し、分割した各々のコンテンツリストを含む複数の制御メッセージを生成して送信してもよい。
なお、メッセージ送受信部131は、分割したコンテンツリストを含む複数の制御メッセージを送信する場合に、追加情報を各制御メッセージに付加する。追加情報は、例えば、コンテンツリストが分割されていることを示す情報や、各制御メッセージに含まれているコンテンツリストが、分割されたうちの何番目であるかを示す情報等である。メッセージ送受信部131は、その追加情報により、複数の制御メッセージを送信した場合にも、自通信端末100の記憶部140に記憶されているコンテンツデータから成る全てのコンテンツのコンテンツ識別子とその保有データ範囲を送信先の通信端末100に通知することができる。
また、メッセージ送受信部131は、制御メッセージを受信した場合に、当該制御メッセージを基に送信元の通信端末識別子141Aを抽出する。そして、メッセージ送受信部131は、抽出した通信端末識別子141Aと、前述した有効期限141Bと、受信した制御メッセージに含まれるコンテンツリスト141Cとを含む通信端末情報141を生成して記憶部140に記憶する。
なお、メッセージ送受信部131は、新たに生成した通信端末情報141と同じ通信端末識別子141Aに関する通信端末情報141が記憶部140に既に記憶されている場合には、以下の処理を行ってもよい。すなわち、メッセージ送受信部131は、記憶されていた通信端末情報141の内容を新たな通信端末情報141の内容によって更新してもよい。
また、メッセージ送受信部131は、有効期限141Bによって示される日時が到来した通信端末情報141を記憶部140から消去してもよい。
コンテンツ管理部132は、通信部150を介して、コンテンツデータを他の通信端末100との間で送受信する機能と、記憶部140に記憶されているコンテンツデータから成るコンテンツを管理する機能とを有する。コンテンツ管理部132は、他の通信端末100が送信した制御メッセージをメッセージ送受信部131が受信すると、当該制御メッセージに含まれるコンテンツリストに基づいて、以下の処理を行う。すなわち、コンテンツ管理部132は、その制御メッセージの送信元の通信端末100に記憶されているコンテンツと自通信端末100に記憶されているコンテンツとの差分を検出する。具体的には、コンテンツ管理部132は、例えば、その制御メッセージに含まれるコンテンツリストのコンテンツ識別子と、記憶部140において自通信端末100が保有するコンテンツ情報142に含まれるコンテンツ識別子142Aとを比較する。そして、コンテンツ管理部132は、自通信端末100が保有するコンテンツ情報142に含まれないが、受信した制御メッセージに含まれるコンテンツ識別子があると判定した場合に、当該コンテンツを入出力部110の例えばディスプレイに表示してユーザに通知する。
図5は、本発明の第1の実施形態に係る通信端末の入出力部110の表示イメージを例示する図である。図5に示す表示例は、右側に、以下の2種類のコンテンツ名の一覧が表示されている。1種類目のコンテンツ名は、自通信端末100が保有するコンテンツのコンテンツ名(コンテンツ識別子)である。もう1種類のコンテンツ名は、自通信端末100は保有していないが、他の通信端末100から受信した制御メッセージに含まれるコンテンツ名(コンテンツ識別子)である。ユーザは、これらのコンテンツ名の一覧からあるコンテンツを選択すると、左側のコンテンツ表示領域にその一部の画像が表示されると共に、再生操作を行うことによりその映像を視聴することができる。また、入出力部110は、コンテンツ名が選択された場合に、当該コンテンツを成すコンテンツデータを保有する通信端末100の一覧や、各通信端末100が保有するコンテンツデータの保有データ範囲を表示してもよい。通信端末100は、再生するよう選択されたコンテンツを成すコンテンツデータを自通信端末100が保有する(記憶している)場合に、そのコンテンツデータを再生処理部120により再生し、図5に示すコンテンツ表示領域に表示して、視聴可能にする。また、自通信端末100が保有していない(記憶していない)コンテンツが選択された場合に、通信端末100は、当該コンテンツを成すコンテンツデータを保有する他の通信端末100に当該コンテンツデータの配信要求を送信する。そして、通信端末100は、その配信要求に対して送信されたコンテンツデータを受信して、そのデータを記憶部140に記憶しながら、再生処理部120により再生し、図5に示すコンテンツ表示領域に表示することにより視聴可能にする。この際、コンテンツデータを受信した通信端末100は、受信したコンテンツデータから成るコンテンツのコンテンツ識別子や保有データ範囲を表す情報を、コンテンツ情報142として記憶する。なお、入出力部110がコンテンツデータの範囲を示す保有データ範囲を表示することにより、ユーザは、コンテンツを、所望の位置(オフセット)から再生することを要求できるようにしてもよい。
また、コンテンツ管理部132は、データパケットを受信した際、当該コンテンツの先頭オフセットから新たに受信したデータパケットのオフセットまでのデータの中で、自通信端末100が保有していないロスデータの有無を確認する。確認の結果、ロスデータが存在すれば、コンテンツ管理部132は、再送制御部133に再送を要求するための処理を実行するように指示する。
再送制御部133は、他の通信端末100から受信したコンテンツデータに、通信中のパケットロスやエラー等に基づくデータロスを検知した場合、当該データの再送要求に対する優先度を決定する。さらに、再送制御部133は、ロス率に応じて優先度が高いロスデータから再送を要求する。ここで、現在の時刻に予め設定した時間Trを加算した時刻以降に、再生処理部120により再生されるデータは、再送要求によるロスデータの再送が間に合うと判断される。この結果、そのロスデータの再送要求に対する優先度は、高く設定される。一方、現在の時刻に予め設定した時間Trを加算した時刻より前に、再生処理部120により再生されるデータは、再送を要求してもロスデータの再送が再生予定時刻に間に合わないと判断される。この結果、そのロスデータの再送要求に対する優先度は、低く設定される。そして、再送制御部133は、ロス率の算出を行い、ロス率が予め設定された閾値より大きければ、優先度が高いロスデータから再送を要求する。ここで、ロス率は、当該コンテンツの先頭オフセットから現在までに受信したデータの最大のオフセットまでのデータサイズに対するロスデータのサイズで算出し、閾値は0以上1以下の数として設定する。そして、再送制御部133は、算出したロス率が予め設定した閾値よりも大きければ、再送要求に対する優先度が高いロスデータから順番に再送を要求する。なお、再送要求の送信先端末は、当該コンテンツを成すコンテンツデータの送信元である通信端末100でもよいし、通信端末情報141を基に当該ロスデータを保有していると判断できる他の通信端末100でもよい。
通信部150は、物理層(PHY:PHYsical Layer)やMAC層、IP層、TCPやUDPといったトランスポート層のネットワーク処理を行う。
〜処理〜
次に、本発明の第1の実施形態に係る通信端末100の処理について説明する。
まず、通信端末100が、制御メッセージ、またはコンテンツデータを受信する場合の処理について説明する。通信部150は、物理層において、フレーム(データ)の受信を検知すると、MAC層や、IP層、トランスポート層などのネットワークプロトコル処理に従い、コンテンツ配信制御部130にデータを入力する。コンテンツ配信制御部130は、通信部150が受信したデータを組み立てて、当該データが制御メッセージに応じたデータであるか否かを確認する。データが制御メッセージに応じたデータであれば、コンテンツ配信制御部130は、制御メッセージを受信した場合の処理を行う。
図6は、本発明の第1の実施形態に係る通信端末100が制御メッセージを受信する処理を示すフローチャートである。
ステップA1:
通信端末100が制御メッセージを受信した場合、メッセージ送受信部131は、当該制御メッセージを基に、上述したように通信端末情報141を生成し、記憶部140に記憶する。また、制御メッセージの送信元の通信端末140に関する通信端末情報141が記憶部140にすでに記憶されている場合、メッセージ送受信部131は、以下の処理を行う。すなわち、メッセージ送受信部131は、新たに受信した制御メッセージの内容を基に、その通信端末情報141を更新し、ステップA1の処理を終了する。
なお、ステップA1の処理の際、コンテンツ配信制御部130は、通信端末情報141のコンテンツリスト141Cに記載されているコンテンツと、自通信端末100が保有するコンテンツの和集合を取る。すなわち、コンテンツ配信制御部130は、それらの一方、または両方に含まれるコンテンツのリストを作成する。次に、それらコンテンツ識別子(コンテンツ名)のリストを入出力部110は、例えば図5に示すように表示する。入出力部110は、コンテンツ名だけでなく、どの通信端末100が当該コンテンツを成すコンテンツデータを保有するか、またそれらの通信端末100がどの範囲のデータを保有するかもあわせて表示してもよい。
次に、ユーザが通信端末100においてコンテンツの視聴を希望する際に通信端末100で行われる処理について説明する。
ユーザは、通信端末100における入出力部110に表示されたコンテンツ名のリストから視聴したいコンテンツを選択する。
選択されたコンテンツを成すコンテンツデータを自通信端末100が保有する場合は、入出力部110は、再生処理部120に当該コンテンツの再生を要求する。要求を受けた再生処理部120は、当該コンテンツを成すコンテンツデータを記憶部140から読み出しながら再生処理を行い、入出力部110に表示する。なお、再生処理部120におけるコンテンツの再生処理は、MPEG等の映像データ圧縮技術を用いた再生処理であり、既存の技術を用いて行うため、詳細な説明は省略する。
次に、選択したコンテンツを成すコンテンツデータを自通信端末100が保有しない場合について、図7のフローチャートを用いて説明する。図7は、本発明の第1の実施形態に係る通信端末100がコンテンツデータを受信する処理を示すフローチャートである。
ステップB1:
入出力部110は、コンテンツ配信制御部130に、入出力部110によりユーザが指定したコンテンツを要求する。コンテンツの要求を受けたコンテンツ配信制御部130は、メッセージ送受信部131に対して、当該コンテンツの要求を行う制御メッセージ(これをコンテンツ要求メッセージと呼ぶ)の送信を指示する。コンテンツ要求メッセージは、コンテンツデータの送信先となる自通信端末100の識別子と、要求するコンテンツのコンテンツ識別子とを含む。メッセージ送受信部131は、コンテンツ識別子を基に通信端末情報141を参照して、当該コンテンツを成すコンテンツデータを保有する通信端末100から1つの通信端末100を、コンテンツ要求メッセージの送信先として選択する。そして、メッセージ送受信部131は、送信先として選択した通信端末100に対して、通信部150を介してコンテンツ要求メッセージを送信する。メッセージ送受信部131は、当該コンテンツ要求メッセージの送信先である通信端末100からコンテンツデータとなるパケットを受信する。予め設定したタイムアウト時間が経過してもパケットを受信しない場合、メッセージ送受信部131は、何らかの原因でコンテンツ要求メッセージが送信先の通信端末100に届かなかったものと判断し、再度、コンテンツ要求メッセージを送信する。このコンテンツ要求メッセージを送信する送信先は、先のコンテンツ要求メッセージの送信先と同じ通信端末100でもよいし、新たな送信先を再度選択してもよい。
ここで、入出力部110から視聴したいコンテンツを選択する際、当該コンテンツにおける視聴を開始したい位置を、コンテンツの先頭からの時間で指定するようにしてもよい。例えば、当該コンテンツの開始から5分後の位置から視聴したいとして指定する。この際、入出力部110は、指定された開始位置(時間)も併せてコンテンツ配信制御部130に要求し、コンテンツ配信制御部130が当該開始位置のデータのオフセットを計算してもよい。また、入出力部110が当該開始位置のデータのオフセットを計算してもよい。このように視聴の開始位置を指定された場合、メッセージ送受信部131は、通信端末情報141を参照して、当該コンテンツの開始位置となるオフセットからのデータを保有する通信端末100を選択する。そして、メッセージ送受信部131は、当該通信端末100に対して当該オフセットに関する情報を追加したコンテンツ要求メッセージを通信部150を介して送信する。以上がステップB1の処理である。
ステップB2:
コンテンツ管理部132は、通信部150を介してデータパケットを受信すると(ステップB2で「Yes」)、後述するステップB3の処理を行う。データパケットを受信しない場合(ステップB2で「No」)、コンテンツ管理部132は、データパケットを受信するまで待つ。なお、図示していないが、データパケットが届かないと判定するタイムアウト時間を予め設定する。タイムアウト時間が経過するまでに次のデータパケットを受信しない場合、コンテンツ管理部132は、当該送信元の通信端末100が通信可能な範囲の外に移動した等の理由により、これ以上コンテンツデータを受信できないものと判断する。そして、コンテンツ管理部132は、ステップB1から新たに処理を開始する。このタイムアウト時間は、ステップB1で説明したコンテンツ要求メッセージのタイムアウト時間と等しくてもよいし、異なる値として設定してもよい。
ステップB3:
コンテンツ管理部132は、受信したデータパケット(コンテンツデータ)を記憶部140に記憶すると共に、再生処理を行うため再生処理部120に送信する。また、コンテンツ管理部132は、新たにコンテンツ情報142を作成、または記憶されている当該コンテンツのコンテンツ情報142の保有データ範囲を更新する。
ステップB4:
コンテンツ管理部132は、当該コンテンツの先頭オフセットから新たに受信したデータパケットのオフセットまでのデータの中で、自通信端末100が保有していないデータ(ロスデータ)の有無を確認する。ロスデータが存在する場合(ステップB4で「Yes」)、コンテンツ管理部132は、再送制御部133に対し、ステップB5において再送を要求するための処理(再送要求処理)を行うよう指示する。ロスデータが存在しない場合(ステップB4で「No」)、コンテンツ管理部132は、ステップB6の処理を行う。
ステップB5:
再送制御部133は、再送要求処理を実行する。再送制御部133は、再送要求処理が終了すると、処理が終了したことをコンテンツ管理部132に通知し、ステップB7の処理に進む。なお、この再送要求処理の詳細については後述する。
ステップB6:
コンテンツ管理部132は、要求したコンテンツの先頭から最後まで全てのデータを受信済みであるかを確認し、全てのデータを受信済みであれば(ステップB6で「Yes」)、処理を終了する。全てのデータを受信していなければ(ステップB6で「No」)、コンテンツ管理部132は、ステップB7の処理に進む。
ステップB7:
コンテンツ管理部132は、通信端末情報141を参照し、次に受信する予定のコンテンツデータを、送信元である通信端末100が保有しているか否かを確認する。送信元である通信端末100が次のコンテンツデータを保有している場合(ステップB7で「Yes」)、コンテンツ管理部132は、ステップB2に戻り、次のコンテンツデータのデータパケットの受信を待つ。送信元通信端末100が次のコンテンツデータを保有していない場合(ステップB7で「No」)、コンテンツ管理部132は、ステップB1に戻り、次のコンテンツデータを保有する通信端末100を検索し、処理を続ける。
図8は、本発明の第1の実施形態に係る通信端末100が再送要求処理を行う手順を示すフローチャートである。
ステップC1:
コンテンツ管理部132から再送要求処理の実行通知を受けた再送制御部133は、再送要求処理を開始する。まず、再送制御部133は、受信中のコンテンツデータにおいて、コンテンツの先頭から現在受信済みのデータの末尾までの間で、ロスしているデータの範囲を抽出する。このデータの範囲は、コンテンツの先頭からのオフセット(第1のオフセット)で表してもよいし、映像コンテンツであればフレームの識別子やGOPの識別子を用いてもよい。ここでは、ロスデータの第1のオフセットを使用する。再送制御部133は、抽出した範囲のロスデータから、既に再送要求を送信済みのデータを除いたロスデータに対し、再生時刻に間に合うか否かによって再送要求の優先度を決定する。具体的には、再送制御部133は、再生処理部120に現在再生しているコンテンツデータについてコンテンツの先頭からのオフセット(第2のオフセット)を問い合わせる。さらに、再送制御部133は、予め設定した時間Trの間、再生を行うために必要なコンテンツデータのサイズを映像または音声のビットレートから概算する。そして、再送制御部133は、再生処理部120より得られた第2のオフセットに、概算したサイズを加算することによりオフセット(第3のオフセット)を求める。再送制御部133は、求めた第3のオフセットと、ロスデータの第1のオフセットとを比較して、優先度を決定する。つまり、再送制御部133は、算出した再生時刻に相当するデータのオフセット(第3のオフセット)よりも小さい範囲(第1のオフセット)のロスデータについては、再生時刻に間に合わないと判断して、該データの優先度を低く設定する。一方、再送制御部133は、算出した再生時刻に相当するデータのオフセットよりも大きい範囲のロスデータについては、再生時刻に間に合うと判断して、該データの優先度を高く設定する。再送制御部133は、ロスデータに対する優先度を決定すると、ステップC2の処理に進む。
図9は、本発明の第1の実施形態に係る通信端末100が再送要求の優先度を決定する処理を説明する図である。図9において、通信端末100は、コンテンツデータのうち先頭0バイトから2999バイト、4000バイトから4999バイト、7000バイトから7999バイトのデータを受信していないとする。そして、通信端末100は、このうち0バイトから2999バイトのデータについては再送要求を送信済みであるものとする。このとき、通信端末100は、4000バイトから4999バイトのデータと7000バイトから7999バイトのデータに対する再送要求の優先度を決定する。また、現在再生を行っているデータは、6000バイト目(=第2のオフセット)のデータであるとする。さらに、予め設定した時間Trの再生に必要なデータサイズは、500バイトとする。このとき、再生時刻に間に合うと判定するデータのオフセット(第3のオフセット)は、6000+500=6500(バイト)である。4000バイトから4999バイト(=第1のオフセット)のロスデータは、6500バイトよりも小さいことから、再生時刻に間に合わないと判定し、優先度が低いと決定される。一方、7000バイトから7999バイトのデータは、6500バイトよりも大きいことから、再生時刻に間に合うと判定し、優先度が高いと決定される。
ステップC2:
再送制御部133は、抽出した範囲のロスデータから、そのロス率を算出する。算出したロス率が予め設定した閾値以下の場合(ステップC2で「Yes」)、再送制御部133は、再送要求処理を行わず、処理を終了する。一方、算出したロス率が予め設定した閾値よりも大きい場合(ステップC2で「No」)、再送制御部133は、ステップC3に進む。なお、ロス率は、当該コンテンツの先頭オフセットから現在までに受信したデータの最大のオフセットまでのデータサイズに対するロスデータのサイズで算出する。閾値は、0以上1以下の数が設定される。ここで、閾値が0と設定されている場合、再送制御部133は、ロス率を算出せずに(ステップC2を行わずに)、ステップC3に進んでよい。
ステップC3:
再送制御部133は、ステップC1で優先度を決定したロスデータに対する再送要求を送信する。具体的に、再送制御部133は、通信端末情報141を参照し、当該ロスデータを保有する通信端末100を選択して、メッセージ送受信部131に再送要求メッセージの送信を指示する。ここで、再送要求のメッセージを再送要求メッセージと呼ぶ。図10は、本発明の第1の実施形態に係る通信端末100が送信する再送要求メッセージの一例を示す図である。再送要求メッセージは、再送を要求する自通信端末100を示す要求元通信端末識別子と、再送要求コンテンツ情報とを含む。再送要求コンテンツ情報は、当該コンテンツのコンテンツ識別子と、再送を要求する対象であるデータのオフセット範囲(データ範囲)およびその優先度を含む。再送制御部133は、全てのロスデータを保有する通信端末100が存在すれば、当該通信端末100に対して再送要求メッセージを送信するよう、メッセージ送受信部131に指示する。図9に示す例であれば、全てのロスデータは、(ロスデータのオフセット範囲、優先度)=(4000、4999、低)、(7000、7999、高)である。なお、このとき送信先とする通信端末100は、当該コンテンツを成すコンテンツデータの送信元である通信端末100でもよいし、他の通信端末100でもよい。また、通信端末100は、複数の再送要求メッセージを送信する必要がある場合に、全ての再送要求メッセージを単一の通信端末100に送信してもよいし、複数の通信端末100に分散して送信してもよい。例えば、通信端末100は、優先度が低いロスデータと、優先度が高いロスデータとに分けて、それぞれ異なる通信端末100に送信してもよい。さらに、通信端末100は、優先度が低い、または優先度が高いロスデータのオフセット範囲を、例えばパケットのペイロードサイズに分割する等して、さらに異なる通信端末100に対して送信してもよい。但し、再送要求メッセージを送信する順序は、上述したように優先度が高いロスデータと優先度が低いロスデータを同一の再送要求メッセージにまとめて送信する場合を除いて、優先度が高いロスデータから順番に送信する。再送制御部133は、メッセージ送受信部131に、対象となる全てのロスデータに対する再送要求メッセージの送信を指示すると、処理を終了する。
なお、再送制御部133は、メッセージ送受信部131が、各々の再送要求メッセージを送信した時刻を記憶しておく。そして、再送制御部133は、タイマを用いる等して、予め設定したタイムアウトRTO(Retrаnsmission Time−Out)値が経過するまでにデータが到着しない場合は、当該再送要求はタイムアウトしたと判断する。再送要求がタイムアウトしたと判断した場合、再送制御部133は、再度ステップC1から処理を行う。以上が図7のステップB5の処理である。
次に、通信端末100が制御メッセージを送信する場合について説明する。図11は、本発明の第1の実施形態に係る通信端末100が制御メッセージを送信する処理を示すフローチャートである。
ステップD1:
コンテンツ配信制御部130のメッセージ送受信部131は、例えば、タイマなどを用いて、所定の周期で到来する、制御メッセージを送信する所定のタイミングであるか否かを判断する。メッセージ送受信部131は、所定のタイミングであると判断した場合(ステップD1で「Yes」)、ステップD2で制御メッセージの送信を行う。メッセージ送受信部131は、所定のタイミングでないと判断した場合(ステップD1で「No」)、何も行わずに終了する。なお、メッセージ送受信部131は、所定の周期以外にも、例えば、新たなコンテンツデータを受信した時など、必要に応じてステップD2で制御メッセージを送信しても良い。
ステップD2:
メッセージ送受信部131は、記憶部140からコンテンツ情報142を読み出して、自通信端末100が保有するコンテンツデータから成るコンテンツのコンテンツリストを作成する。メッセージ送受信部131は、作成したコンテンツリストと自通信端末100の識別子とを含む制御メッセージを生成する。そして、メッセージ送受信部131は、生成した制御メッセージを通信部150を介して、通信端末100に送信する。
次に、通信端末100がコンテンツデータを送信する処理について説明する。通信端末100は、図7のステップB1でのコンテンツ要求メッセージまたは図8のステップC3での再送要求メッセージを他の通信端末100から受信することを契機に、コンテンツデータを送信する処理を行う。図12は、本発明の第1の実施形態に係る通信端末100がコンテンツデータを送信する処理を示すフローチャートである。
ステップE1:
コンテンツ要求メッセージを受信した場合、コンテンツ管理部132は、以下の処理を行う。すなわち、コンテンツ管理部132は、当該メッセージの送信元端末に対して、メッセージ内に指定されたコンテンツ識別子に相当するコンテンツデータの送信開始位置を示すオフセットからのデータを順次通信部150を介して送信する。また、コンテンツ管理部132は、再送要求メッセージを受信した場合、異なる優先度のロスデータの範囲が指定されていたら、優先度が高いロスデータから順次通信部150を介して送信する。なお、異なる通信端末100から複数の再送要求メッセージを受信した場合も、コンテンツ管理部132は、優先度が高いロスデータから優先して送信を行い、続いて優先度が低いロスデータの送信を行う。同一優先度のロスデータは、例えば、当該ロスデータを要求する再送要求メッセージの到着順に送信処理される。このような優先度に基づくデータの送信方法には、優先度の段階(本実施形態では、「2」)と同じ数のキューを用意し、これを用いる方法がある。具体的には、再送要求メッセージが到着すると、コンテンツ管理部132は、当該メッセージで要求されているデータ範囲を、指定された優先度に対応するキューに挿入する。そして、コンテンツ管理部132は、最も優先度が高いキューに入っているデータ範囲から順に送信処理を行い、当該キューが空になったら、処理の対象を次に高い優先度に対応するキューに移す。また、コンテンツ管理部132は、コンテンツデータとロスデータを、予め決められたパケット数、または時間間隔でラウンドロビンしながらデータパケットとして送信してもよい。あるいは、コンテンツ管理部132は、再送要求メッセージよりもコンテンツ要求メッセージで要求されたコンテンツデータの送信を優先してもよい。このようにコンテンツデータとロスデータの送信方法は、さまざまな方針が考えられるが、予め方針を設定して、その方針に従えばよい。コンテンツ管理部132は、データ送信を完了すると、ステップE1の処理を終了する。
本実施形態によれば、通信端末100は、ストリーム型コンテンツの再生(視聴)を行うために受信したコンテンツデータにロスデータが存在した場合、以下の処理を行う。すなわち、通信端末100は、当該ロスデータが再生される時刻までに再送が間に合うか否かに基づいて、再送要求の優先度を決定する。そして、通信端末100は、優先度が高いロスデータから順番に他の通信端末100に再送を要求する。当該再送要求を受けた通信端末100は、再送要求の優先度が高いものを優先して再送する。これにより、再送要求を受けた通信端末100は、優先度の高いロスデータ、つまり、早期に再送すれば、受信通信端末100において再生に間に合うデータを優先して再送することが可能となる。さらに、再生に間に合わないデータについても、後から再度再生(視聴)したり、他の通信端末に配信したりすることに備えて、再送要求を受けた通信端末100は、再送を行う。この結果、通信端末100は、ロスデータが補われたコンテンツデータを記憶することが可能となり、再送処理を良好に制御することが可能となる。
また、通信端末100は、再送要求処理を実行するか否かを判定するために、ロス率を用いる。これにより、通信端末100は、コンテンツを成す全てのコンテンツデータを受信しなくても、ロス率が予め設定した閾値以下であれば、ロスデータが存在しても再送を要求しない。ストリーム型コンテンツに対し、その視聴に影響のない範囲で閾値を適切に設定することにより、視聴に影響のないロスデータの再送は、停止できる。これにより、その他の重要なロスデータの再送処理にネットワークリソースが割り当てられ、効率的な再送の制御を実行することが可能となる。
<第2の実施形態>
〜構成〜
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
本発明の第2の実施形態に係る通信端末200について説明する。図13は、本発明の第2の実施形態に係る通信端末200の構成を例示するブロック図である。図13に示すように、通信端末200は、コンテンツ配信制御部230と、記憶部240とを含む。その他の構成は、図2に示す第1の実施形態の通信端末100における構成と同様であるため、対応する構成要素に図2と同じ符号を付して説明を省略する。また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
通信端末200のコンテンツ配信制御部230は、再送制御部233を含む。その他の構成は、図2に示す第1の実施形態のコンテンツ配信制御部130における構成と同様であるため、対応する構成要素に図2と同じ符号を付して説明を省略する。
第1の実施形態における再送制御部133は、ロスデータに対して優先度を決定後、当該コンテンツの先頭オフセットから現在までに受信したデータの最大のオフセットまでのデータを対象にロス率を算出する。そして、再送制御部133は、算出したロス率が予め設定した閾値よりも大きい場合にロスデータの再送を要求する。
それに対して、本実施形態の再送制御部233は、ロスデータに対して優先度を決定後、当該コンテンツに対して、予め設定した保管データ範囲におけるロス率を算出する。そして、再送制御部233は、算出したロス率が予め設定した閾値よりも大きい場合にロスデータの再送を要求する。
また、本実施形態の通信端末200の記憶部240は、コンテンツ情報242を記憶する。その他の構成は、図2に示す第1の実施形態の記憶部140と同様であるため、対応する構成要素に図2と同じ符号を付して説明を省略する。
記憶部240に記憶されるコンテンツ情報242は、自通信端末200が保有するコンテンツデータから成る全てのコンテンツに対して、本発明の第1の実施形態におけるコンテンツ情報142の内容に加え、予め設定した保管データ範囲を含む。図14は、本発明の第2の実施形態に係る記憶部240のコンテンツ情報242を例示する図である。図14に示すように、コンテンツ情報242は、保管データ範囲242Cを含む。その他の構成は、図4に示す第1の実施形態のコンテンツ情報142における構成と同様であるため、対応する構成要素に図4と同じ符号を付して説明を省略する。また、保管データ範囲242Cは、上述のコンテンツリスト141Cの保有データ範囲142Bと同様の形式であるため、説明を省略する。
〜処理〜
次に、本発明の第2の実施形態に係る通信端末200の処理について説明する。本実施形態の通信端末200は、第1の実施形態に係る通信端末100と、図7に示すステップB5の再送要求処理の内容が異なる。それ以外の処理は、第1の実施形態における通信端末100と同様であるため、説明を省略する。
図15は、本発明の第2の実施形態に係る通信端末200が再送要求処理を行う手順を示すフローチャートである。図15に示すフローチャートにおいて、ステップC1、C3における処理は、図8に示す処理とそれぞれ同様であるため、説明を省略する。
ステップC4:
再送制御部233は、コンテンツ情報242を参照し、当該コンテンツの保管データ範囲242Cを取得する。そして、再送制御部233は、当該保管データ範囲242Cにおけるロスデータのロス率を算出する。算出したロス率が予め設定した閾値以下の場合(ステップC4で「Yes」)、再送制御部233は、ロスデータの再送を要求せず、処理を終了する。一方、算出したロス率が予め設定した閾値よりも大きい場合(ステップC4で「No」)、再送制御部233は、当該保管データ範囲242Cにおけるロスデータの再送を要求するため、ステップC3に進む。なお、本実施形態においてロス率は、当該コンテンツの保管データ範囲のデータサイズに対する、当該保管データ範囲242Cにおけるロスデータのサイズで算出する。また、閾値を0と設定している場合、ロス率を算出する必要はなく、当該保管データ範囲においてロスデータが存在すれば、ステップC4を行わずに、ステップC3に進んでもよい。
なお、再送制御部233は、メッセージ送受信部131を通じて再送要求メッセージを送信すると、第1の実施形態の動作と同様、その送信時刻を記憶しておく。再送制御部233は、タイマを用いる等して、予め設定したタイムアウトRTOまでにデータが到着しないことを検出した場合に、当該再送要求処理はタイムアウトしたと判断する。再送要求処理がタイムアウトしたと判断した場合、再送制御部233は、再度ステップC1からの処理を実行する。
本実施形態によれば、第1の実施形態における通信端末100の効果に加え、以下の効果がある。本実施形態によれば、コンテンツ全体のロス率が閾値以下になるまでではなく、予め設定した保管データ範囲のデータに対するロス率が閾値以下になるまで、通信端末200は、再送要求処理を行えばよい。これにより、各通信端末200は、一部分のデータを保管することから、複数の通信端末200で分散してコンテンツデータを管理することができる。よって、自通信端末200の保管データ範囲外のロスデータに対する再送が停止できる。従って、その再送に使用されていたネットワークリソースは、他の通信端末によるコンテンツデータの送受信に割り当てられることが可能になる。
以上に述べた第1および第2の実施形態において、通信端末100、200は、無線LANのアドホックモードで互いに通信を行う。しかし、通信端末100、200は、無線LANのアクセスポイントを介して互いの間の通信を行うように構成されてもよい。図16は、本発明の第1および第2の実施形態に係る通信端末を含む無線通信システムの構成を例示するブロック図である。図16に示すように、通信端末100あるいは通信端末200の例である通信端末100a〜100hは、アクセスポイント300を介して互いに通信を行っている。また、通信端末のうちの1つがアクセスポイントと同様の働きを行うWi−Fi Direct(登録商標)と呼ばれる接続形態で、通信端末100、200が接続されてもよい。このような構成によれば、各通信端末100、200は、直接に通信を行うことができない場合であっても、無線LANのアクセスポイント300を介して互いの間の通信を行い、第1および第2の実施形態における効果と同様な効果を奏することができる。
なお、以上に述べた各実施形態における通信端末100、200の各構成要素は、ASIC(Application Specific Integrated Circuit)を含む半導体処理部品を用いて実現してもよい。また、これらの構成要素は、少なくとも1つのプロセッサ(例えば、マイクロプロセッサ(MPU(Micro Processing Unit))、やDSP(Digital Signal Processor))を含むコンピュータシステムにプログラムを実行させることによって実現してもよい。具体的には、再生処理部120、コンテンツ配信制御部130および230と、記憶部140および240とが行う処理に関するアルゴリズムをコンピュータで実行する命令群を含む1または複数のプログラムを作成し、当該プログラムをコンピュータに実行させればよい。
当該プログラムは、様々な種類の非一時的なコンピュータ可読媒体(non−transitory computer readable medium)に格納されて、コンピュータに提供可能である。非一時的なコンピュータ可読媒体は、様々な種類の記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体は、例えば、以下に示す媒体の何れかである。
・磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスク)、
・光磁気記録媒体(例えば光磁気ディスク)、
・CD−ROM(Compact Disc Read Only Memory)、
・CD−R(Compact Disc−Recordable)、
・CD−R/W(Compact Disc−Rewritable)、
・半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、
・EPROM(Erasable PROM)、
・フラッシュROMおよび
・RAM(Random Access Memory))。
また、プログラムは、様々な種類の一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号および電磁波を含む。一時的なコンピュータ可読媒体は、電線や光ファイバ等の有線通信路、または無線通信路を介して、プログラムをコンピュータに提供できる。
なお、以上に述べた各実施形態は、上述した内容に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上述した第1の実施形態では、再送制御部133は、ロスデータに対して優先度を決定した後、ロス率を算出して予め設定された閾値と比較し、ロス率が閾値よりも大きければロスデータの再送要求を他の通信端末に送信する。しかし、優先度が低いロスデータと、優先度が高いロスデータとに、それぞれの閾値を設定し、再送制御部133は、ロス率を算出後に、それぞれに対応する閾値と比較して再送を要求するか否かを決定してもよい。
同様に、上述した第2の実施形態で、再送制御部233は、ロスデータに対して優先度を決定した後、保管データ範囲におけるロス率を算出し、そのロス率が予め設定された閾値よりも大きければロスデータの再送要求を他の通信端末に送信する。しかし、優先度が低いロスデータと、優先度が高いロスデータとに、それぞれの閾値を設定し、再送制御部233は、保管データ範囲におけるロス率を算出後に、それぞれに対応する閾値と比較して再送を要求するか否かを決定してもよい。
このように閾値を複数設定する場合、例えば、優先度が高いと判定されたロスデータに対しては、閾値を小さく設定する。そうすれば、上述した第1および第2の実施形態における効果に加えて、優先度が高い、つまり、再送処理が再生に間に合うようなロスデータに対しては、積極的に再送を要求するようになる。これにより、再生および視聴するコンテンツの品質を向上させることが可能になる。
また、上述した各実施形態では、再送制御部133および再送制御部233は、ロスデータに対して、再生時刻までに再送処理が間に合うか否かで、優先度を2種類に設定している。しかし、再送制御部133および再送制御部233は、例えば、再送処理が再生時刻に間に合うロスデータや、再生時刻を過ぎてしまったロスデータに対して、それぞれ複数の優先度を設定することも可能である。このようにすることで、再送制御部133および再送制御部233は、より効率のよい再送制御が可能となる。なお、その際、それぞれの優先度のロス率に対して、それぞれの閾値を設定してもよい。
また、上述した各実施形態では、入出力部110から選択された、視聴したいコンテンツを成すコンテンツデータを自通信端末が保有していない場合に、その通信端末は、他の通信端末のうち当該コンテンツデータを保有する通信端末に対してコンテンツ要求メッセージを送信する。しかし、各通信端末は、他の通信端末から受信した制御メッセージにより、自通信端末が保有していないコンテンツを認識した時点で、当該通信端末に対してコンテンツ要求メッセージを送信し、コンテンツデータの受信を開始してもよい。
上述した各実施形態は、本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
<第3の実施形態>
〜構成〜
次に、本発明の第3の実施形態に係る通信端末10について、図面を参照して説明する。図17は、本発明の第3の実施形態に係る通信端末10の構成を例示するブロック図である。図17に示すように、通信端末10は、再生処理部20と、データ送受信部30と、再送制御部31とを含む。
なお、再生処理部20は、図2および図13に示す再生処理部120に相当する。データ送受信部30は、図2および図13に示すコンテンツ管理部132に相当する。再送制御部31は、図2および図13に示すメッセージ送受信部131と、図2に示す再送制御部133と、図13に示す再送制御部233とに相当する。
再生処理部20は、コンテンツデータを再生する。
データ送受信部30は、他の端末から受信したコンテンツデータを再生処理部20に送信する。さらに、受信したコンテンツデータにロスが発生した際に、再送制御部31に再送を要求するように指示する。
再送制御部31は、データ送受信部30からの指示を受けて、ロスデータの再送が該データの再生予定時刻に間に合う可能性があれば、ロスデータの再送を要求するための再送要求の優先度を上げる。そして、再送制御部31は、優先度がより高いロスデータから順番に、当該ロスデータを保有する他の通信端末10に対して再送を要求する。
以上、説明したように、本実施形態には、端末間におけるコンテンツデータの配信において、コンテンツデータにロスが発生した場合に、ロスしたデータの再送を良好に制御することができるという効果がある。
その理由は、本実施形態は、ストリーム型コンテンツの再生(視聴)を行うために受信中のデータに対し、優先度がより高いロスデータ、つまり、早期に再送すれば、受信通信端末100において再生に間に合うデータを優先して再送を要求するからである。さらに、本実施形態は、優先度が高いロスデータから順番に再送を要求するので、再生に間に合わないデータについても、遅い順番で再送を要求する。したがって、後から再度再生(視聴)したり、他の通信端末に配信したりすることに備えて、ロスデータが補われたコンテンツデータを取得することが可能となる。これらの理由により、本実施形態は、再送処理を良好に制御することができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2014年10月31日に出願された日本出願特願2014−222108を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10、100、200 通信端末
20、120 再生処理部
30 データ送受信部
31、133、233 再送制御部
110 入出力部
130、230 コンテンツ配信制御部
131 メッセージ送受信部
132 コンテンツ管理部
140、240 記憶部
141 通信端末情報
142、242 コンテンツ情報
150 通信部
300 アクセスポイント

Claims (10)

  1. コンテンツデータを再生する再生処理手段と、
    他の端末から受信した前記コンテンツデータを前記再生処理手段に送信し、受信した前記コンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信手段と、
    前記データ送受信手段からの指示を受けて、前記ロスデータの再送が前記コンテンツデータの前記再生処理手段による再生予定時刻に間に合う可能性があれば、前記ロスデータの再送を要求するための再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する再送制御手段とを備える
    通信端末。
  2. 前記再送制御手段は、前記ロスデータの再送が前記コンテンツデータの前記再生処理手段による再生予定時刻に間に合う可能性がなければ、前記ロスデータの再送要求の優先度を下げる
    請求項1に記載の通信端末。
  3. 前記再送制御手段は、前記ロスデータが、現在時刻よりあらかじめ定めた時間経過以降に再生予定のデータである場合に再送が間に合う可能性があると判断する
    請求項1乃至2の何れか一項記載の通信端末。
  4. 前記再送制御手段は、前記コンテンツデータの先頭位置から、最も新しく受信したデータまでにおける、前記ロスデータのロス率を算出し、前記ロス率が予め設定した閾値よりも大きい場合に前記ロスデータの再送を要求する
    請求項1乃至3の何れか一項記載の通信端末。
  5. 前記再送制御手段は、前記コンテンツデータに対してあらかじめ設定したデータ保管範囲における、前記ロスデータのロス率を算出し、前記ロス率が予め設定した閾値よりも大きい場合に前記ロスデータの再送を要求する
    請求項1乃至3の何れか一項記載の通信端末。
  6. 前記閾値は、複数の段階に設定される優先度の各々に対して設定され、前記ロスデータの優先度に対応した前記閾値と前記ロス率とを比較することにより、前記再送を要求するか否かを判定する
    請求項4または5に記載の通信端末。
  7. 前記データ送受信手段は、前記再送の要求を受信した場合に、前記優先度がより高い前記ロスデータから順に、前記再送の要求の要求元に送信する
    請求項1乃至6の何れか一項記載の通信端末。
  8. 請求項1乃至7の何れか一項記載の通信端末が通信可能に接続された
    通信システム。
  9. 受信したコンテンツデータにロスデータが発生した際に、前記ロスデータの再送が前記コンテンツデータの再生予定時刻に間に合う可能性があれば、前記ロスデータの再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する
    通信方法。
  10. コンテンツデータを再生する再生処理機能と、
    他の端末から受信した前記コンテンツデータを前記再生処理機能に送信し、
    受信した前記コンテンツデータにロスデータが発生した際に、再送を要求するように指示するデータ送受信機能と、
    前記データ送受信機能からの指示を受けて、前記ロスデータの再送が前記コンテンツデータの前記再生処理機能による再生予定時刻に間に合う可能性があれば、前記ロスデータの再送要求の優先度を上げ、優先度がより高い前記ロスデータから順番に、前記ロスデータを保有する他の端末に対して再送を要求する再送制御機能とを
    コンピュータに実現させるコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記憶媒体。
JP2016556205A 2014-10-31 2015-10-20 通信端末、通信システムおよび通信方法、並びにコンピュータ・プログラム Pending JPWO2016067561A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014222108 2014-10-31
JP2014222108 2014-10-31
PCT/JP2015/005277 WO2016067561A1 (ja) 2014-10-31 2015-10-20 通信端末、通信システムおよび通信方法、並びにコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記憶媒体

Publications (1)

Publication Number Publication Date
JPWO2016067561A1 true JPWO2016067561A1 (ja) 2017-08-17

Family

ID=55856928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016556205A Pending JPWO2016067561A1 (ja) 2014-10-31 2015-10-20 通信端末、通信システムおよび通信方法、並びにコンピュータ・プログラム

Country Status (2)

Country Link
JP (1) JPWO2016067561A1 (ja)
WO (1) WO2016067561A1 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3348080B1 (ja) * 2000-07-07 2002-11-20 松下電器産業株式会社 データ送信装置とデータ受信装置及びデータ送受信方法
JP2002199019A (ja) * 2000-12-27 2002-07-12 Toshiba Corp 通信制御装置、通信制御方法、及び通信制御プログラムが記録された記録媒体
JP2008048182A (ja) * 2006-08-17 2008-02-28 Sony Corp 通信処理装置、および通信制御方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
WO2016067561A1 (ja) 2016-05-06

Similar Documents

Publication Publication Date Title
US8943206B2 (en) Network bandwidth detection and distribution
US8175036B2 (en) Multimedia wireless distribution systems and methods
JP5069332B2 (ja) 通信装置、通信システム、変換方法、及びそのプログラム
CN108696772B (zh) 一种实时视频的传输方法及装置
US20150271231A1 (en) Transport accelerator implementing enhanced signaling
WO2014063297A1 (zh) 一种播放流媒体文件的方法和装置
US9621617B2 (en) Method and server for sending a data stream to a client and method and client for receiving a data stream from a server
JP7496022B2 (ja) クライアント、サーバ、受信方法及び送信方法
JP5807710B2 (ja) コンテンツ配信システム、コンテンツ配信方法及びプログラム
WO2021000379A1 (zh) 一种网络数据调度方法及边缘节点
JP2010028378A (ja) 通信装置及び通信方法
WO2012046487A1 (ja) コンテンツ再生装置、コンテンツ配信システム、コンテンツ再生装置の同期方法、制御プログラム、および、記録媒体
CN110086797B (zh) 媒体流的实时接收方法、客户端、计算机设备和存储介质
CN113316263A (zh) 数据传输方法、装置、设备和存储介质
JP2005039775A (ja) モバイルアドホックネットワーク環境での効率的なデータ送受信のためのネットワーク装置及びデータ転送方法
WO2014068863A1 (ja) 情報処理装置、情報処理方法及びプログラム
CN114979793B (zh) 一种直播数据传输方法、装置、系统、设备和介质
JP2020150387A (ja) 受信装置、サーバシステム及び受信プログラム
KR101563779B1 (ko) 네트워크상에서 손실된 실시간 멀티미디어 데이터를 재생 한계 시간 이전에 재전송하는 종단 간 프로토콜
WO2016067561A1 (ja) 通信端末、通信システムおよび通信方法、並びにコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記憶媒体
JP2016092615A (ja) 通信端末、通信方法、通信用プログラム、および通信システム
JP2005348015A (ja) リアルタイム・ストリーミングデータ受信装置
US20240298051A1 (en) Data relay apparatus, distribution system, data relay method, and computer-readable medium
KR101996914B1 (ko) Mmtp기반 전송 시 배터리 소비 절감 방법 및 시스템
WO2023095438A1 (ja) 端末装置、無線通信システム、および、端末装置の処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170414