以下に添付図面を参照して、本発明にかかる通信方法、無線端末および通信システムの実施の形態を詳細に説明する。
(実施の形態)
(通信システム)
図1は、実施の形態にかかる通信システムの一例を示す図である。図1に示すように、実施の形態にかかる通信システム100は、ストリーミング配信サーバ110と、基地局121,122と、端末131,132と、を含んでいる。端末131は、基地局121のセルに在圏し、基地局121に接続している。端末132は、基地局122のセルに在圏し、基地局122に接続している。
基地局121は、端末131と、ストリーミング配信サーバ110と、の間の通信を中継する。基地局122は、基地局122に接続している端末132と、ストリーミング配信サーバ110と、の間の通信を中継する。基地局121,122のそれぞれは、たとえば、3G(3rd Generation)の基地局や無線LAN(Local Area Network:構内通信網)のアクセスポイントなどである。
端末131,132は、それぞれ基地局121,122との無線通信を介して、ストリーミング配信サーバ110との間で通信を行う無線端末である。そして、端末131,132は、ストリーミング配信サーバ110によって配信されるストリーミングデータ150を再生する。ストリーミングデータ150は、たとえば、複数の端末に対して同時期に同一内容が配信されるライブストリーミングなどのデータである。
また、端末131,132は、互いに直接、無線通信が可能である。たとえば、端末132が、ストリーミング配信サーバ110から配信されるストリーミングデータ150を基地局122から受信している状態において、端末131もストリーミングデータ150の受信を開始する場合について説明する。
端末131は、ストリーミングデータ150を受信中であり、かつ自身と直接通信可能な端末132を検出する。たとえば、端末131は、ストリーミングデータ150を示す識別情報を含む信号を端末131の周辺へ無線送信し、無線送信した信号に対する応答を受信することによって端末132を検出する。そして、端末131は、端末132とともにストリーミングデータ150の連携受信を開始する。
具体的には、端末131は、ストリーミングデータ150を分割した分割データ#0,#1のうちの分割データ#0を基地局121から受信する。そして、端末131は、受信した分割データ#0を端末132へ直接送信する。また、端末132は、分割データ#0,#1のうちの分割データ#1を基地局122から受信する。そして、端末132は、受信した分割データ#1を端末131へ直接送信する。
これにより、端末131,132のそれぞれは、分割データ#0,#1の両方を受信することができる。端末131,132のそれぞれは、受信した分割データ#0,#1を結合し、結合結果に基づいてストリーミングデータ150を再生(出力)する。
このとき、基地局121から端末131へ送信される分割データ#0は、ストリーミングデータ150の一部のデータである。このため、基地局121から端末131へストリーミングデータ150の全部を送信する場合よりも、基地局121と端末131との間の無線リソースの使用量を低減することができる。
同様に、基地局122から端末132へ送信される分割データ#1は、ストリーミングデータ150の一部のデータである。このため、基地局122から端末132へストリーミングデータ150の全部を送信する場合よりも、基地局122と端末132との間の無線リソースの使用量を低減することができる。
このように、端末131は、特定のストリーミングデータ150を受信中であり、かつ自端末と直接通信可能な端末132(所定端末)を検出する。そして、端末131は、ストリーミングデータ150のうちの一部のデータ(分割データ#0)を基地局121から受信し、ストリーミングデータ150のうちの残りの部分のデータ(分割データ#1)を端末132から受信する。これにより、端末131と基地局121との間の無線リソースの使用量を低減しつつストリーミングデータ150を再生することが可能になる。
また、端末131は、受信した一部のデータ(分割データ#0)を端末132へ送信する。これにより、端末132は、基地局122から自端末が受信する分割データ#1と、端末131から受信する分割データ#0と、を結合してストリーミングデータ150を再生することができる。
また、端末132は、自端末と直接通信可能であり、かつ自端末が受信中のストリーミングデータ150の受信を開始する端末131を検出する。そして、端末132は、ストリーミングデータ150のうちの一部のデータを基地局122から受信し、ストリーミングデータ150のうちの残りの部分のデータを端末131から受信する。これにより、端末132と基地局122との間の無線リソースの使用量を低減しつつストリーミングデータ150を再生することが可能になる。
このように、通信システム100においては、互いに直接通信可能であり、同一のストリーミングデータ150を同時期に受信する端末131,132が基地局121,122からストリーミングデータ150を分担受信して互いに送受信する。これにより、基地局121,122がそれぞれ端末131,132にストリーミングデータ150を送信するなどの重複データの送信を削減することができる。このため、基地局121,122と端末131,132との間の通信区間における無線リソースの使用効率を向上させることができる。
また、ストリーミングデータ150の分割処理は、基地局121,122が行ってもよいし、ストリーミング配信サーバ110が行ってもよい。また、端末131,132がそれぞれ基地局121,122から分割データを受信する場合について説明したが、端末131,132は同一の基地局から分割データを受信してもよい。
(2つの端末による連携受信)
図2は、2つの端末による連携受信の一例を示すシーケンス図である。図2に示すストリーミング配信サーバ210は、たとえば図1に示したストリーミング配信サーバ110に対応する構成である。基地局221,222は、たとえばそれぞれ図1に示した基地局121,122に対応する構成である。端末231,232は、たとえばそれぞれ図1に示した端末131,132に対応する構成である。端末231,232とストリーミング配信サーバ210との間の通信は、それぞれ基地局221,222を介して行われる。
図2においては、端末231がストリーミングデータを受信中に端末232が同一のストリーミングの受信を開始し、端末231,232が連携受信を行う場合について説明する。以下、先行してストリーミングデータを受信していた端末(たとえば端末231)を「親端末」と称する。また、ストリーミングデータの受信に後から加わった端末(たとえば端末232)を「子端末」と称する。
まず、端末231が、所望のストリーミングデータを要求するストリーミング要求をストリーミング配信サーバ210へ送信する(ステップS201)。ストリーミング要求には、たとえば、所望のストリーミングデータを示す、たとえばURL(Uniform Resource Locator)などの情報が含まれている。
つぎに、端末231が、ストリーミング配信サーバ210から、端末231が要求したストリーミングデータを識別するストリーミング識別コードを受信する(ステップS202)。つぎに、端末231が、ストリーミング配信サーバ210からのストリーミングデータの受信を開始する(ステップS203)。
つぎに、端末232が、端末231が受信中のストリーミングデータと同一のストリーミングデータを要求するストリーミング要求をストリーミング配信サーバ210へ送信したとする(ステップS204)。つぎに、端末232が、ストリーミング配信サーバ210から、端末232が要求したストリーミングデータを識別するストリーミング識別コードを受信する(ステップS205)。
つぎに、端末232が、ステップS205によって受信したストリーミング識別コードに基づいて、ストリーミング識別コードが示すストリーミングデータを受信中であり、端末232と直接通信可能な端末231を検出する(ステップS206)。
具体的には、端末232は、ストリーミング識別コードを含むストリーミング開始通知を近距離無線通信により通信可能な周辺の端末に送信することにより、同一のストリーミングデータを受信中か否かを問い合わせる。これに対して、端末231は、受信したストリーミング開始通知に含まれるストリーミング識別コードが、ステップS202において受信したストリーミング識別コードと同一であるため、ストリーミング開始通知応答を端末232へ送信する。
端末232は、ストリーミング開始通知応答を受信することによって端末231を検出する。このように、端末232は、ストリーミングデータを示す情報(ストリーミング識別コード)を含む信号(ストリーミング開始通知)を送信し、送信した信号に対する応答信号(ストリーミング開始通知応答)を受信することによって端末231を検出する。
つぎに、端末232が、ステップS206によって検出した端末231へ近距離無線通信により連携要求を送信する(ステップS207)。連携要求には、ステップS205によって受信したストリーミング識別コードが含まれる。
つぎに、端末231が、受信中のストリーミングデータについて端末231,232の2つの端末で連携受信することを決定し、端末231,232に一意に識別番号を割り振る(ステップS208)。図2の例では、端末231は、端末231,232にそれぞれ識別番号「0」,「1」を割り振っている。
つぎに、端末231が、端末232へ連携応答を送信する(ステップS209)。連携応答には、連携端末数(図2の例では「2」)と、ステップS208において端末232に割り振られた識別番号(図2の例では「1」)と、が含まれる。ステップS209により、端末231,232の間の連携準備が完了する。
つぎに、端末232が、ステップS209によって送信された連携応答に含まれる連携端末数と識別番号とを含むデータ分割送信指示を基地局222へ送信する(ステップS210)。また、端末231が、連携端末数(図2の例では「2」)と、ステップS208において自端末に割り振った識別番号(図2の例では「0」)と、を含むデータ分割送信指示を基地局221へ送信する(ステップS211)。
つぎに、基地局222が、端末232へ割り当てる無線リソース量を1/連携端末数にする(ステップS212)。また、基地局221が、端末231へ割り当てる無線リソース量を1/連携端末数にする(ステップS213)。これにより、基地局221と端末231との間における無線区間と、基地局222と端末232との間における無線区間と、の無線リソースの使用量を低減することができる。
つぎに、端末231,232および基地局221,222は、ストリーミングデータを連携伝送する連携状態201へ移行する。具体的には、基地局221,222のそれぞれは、ストリーミング配信サーバ210から配信されるストリーミングデータを連携端末数と同数(図2の例では2つ)のグループ#0,#1に分割する。
そして、基地局221は、端末231の識別番号「0」に対応するグループ#0のデータを分割データ#0として端末231へ送信する(ステップS214)。また、基地局222は、端末232の識別番号「1」に対応するグループ#1のデータを分割データ#1として端末232へ送信する(ステップS215)。
端末231は、ステップS214によって基地局221から送信される分割データ#0を近距離無線通信により端末232へ送信する(ステップS216)。また、端末232は、ステップS215によって基地局222から送信される分割データ#1を近距離無線通信により端末231へ送信する(ステップS217)。
つぎに、端末231は、ステップS214によって基地局221から送信された分割データ#0と、ステップS217によって端末232から送信された分割データ#1と、を結合して元のストリーミングデータを再生する(ステップS218)。また、端末232は、ステップS215によって基地局222から送信された分割データ#1と、ステップS216によって端末231から送信された分割データ#0と、を結合して元のストリーミングデータを再生する(ステップS219)。
以上の各ステップにより、基地局222と端末232との間における無線区間と、基地局221と端末231との間における無線区間と、の無線リソースの使用量を低減しつつ、端末231,232が同一のストリーミングデータを再生することができる。たとえば、端末231,232のそれぞれが基地局221,222からストリーミングデータを受信する場合に比べて、端末231,232と基地局221,222との間の通信区間における無線リソースの使用量をたとえば1/2程度にすることができる。
また、端末231,232は、ストリーミングデータのうちの自身が受信する一部のデータを特定可能な情報をそれぞれ基地局221,222へ送信することにより、自身が受信する一部のデータをそれぞれ基地局221,222から受信することができる。これにより、端末231,232の主導でストリーミングデータの連携受信が可能になる。
一部のデータを特定可能な情報は、具体的には、端末231,232との合計の端末数(図2の例では2つ)と、端末231,232に割り当てられた識別情報(図2に示す例では「0」,「1」)と、を含む。これにより、基地局221は、ストリーミングデータを端末数で分割した各分割データのうちの端末231に割り当てられた識別情報「0」に対応する分割データ#0を端末231へ送信することができる。また、基地局222は、ストリーミングデータを端末数で分割した各分割データのうちの端末232に割り当てられた識別情報「1」に対応する分割データ#1を端末232へ送信することができる。
なお、ステップS202,S205においてストリーミング配信サーバ210からストリーミング識別コードを受信する場合について説明したが、識別コードはURL等の情報であってもよい。この場合は、端末231は、ステップS201においてストリーミング要求を行ったストリーミングデータのURL等を記憶しておき、記憶しておいたURL等をステップS202において取得してもよい。また、端末232は、ステップS204においてストリーミング要求を行ったストリーミングデータのURL等を記憶しておき、記憶しておいたURL等をステップS205において取得してもよい。
(3つの端末による連携受信)
図3A,図3Bは、3つの端末による連携受信の一例を示すシーケンス図である。図3A,図3Bに示す端末233は、端末231,232との間で直接通信可能であり、基地局223を介してストリーミング配信サーバ210からのストリーミングデータを受信可能な無線端末である。端末233とストリーミング配信サーバ210との間の通信は、基地局223を介して行われる。
端末231,232の2つの端末がストリーミングデータを連携受信する連携状態201(たとえば図2参照)において、端末233が同一のストリーミングデータの受信を開始し、端末231〜233の3つの端末で連携受信を行う場合について説明する。
まず、端末233が、端末231,232が受信中のストリーミングデータと同一のデータを要求するストリーミング要求をストリーミング配信サーバ210へ送信したとする(ステップS301)。つぎに、端末233が、ストリーミング配信サーバ210から、端末233が受信するストリーミングデータを識別するストリーミング識別コードを受信する(ステップS302)。
つぎに、端末233が、ステップS302によって受信したストリーミング識別コードに基づいて、ストリーミング識別コードが示すストリーミングデータを受信中の端末231,232を検出する(ステップS303)。
具体的には、端末233は、ストリーミング識別コードを含むストリーミング開始通知を近距離無線通信により通信可能な周辺の端末に送信する。これに対して、端末231,232は、受信したストリーミング開始通知に含まれるストリーミング識別コードが、自端末が受信中のストリーミング識別コードと同一であるため、ストリーミング開始通知応答を端末233へ送信する。端末233は、ストリーミング開始通知応答を受信することによって端末231,232を検出する。
つぎに、端末233が、ステップS303によって検出した端末231,232へ近距離無線通信により連携要求を送信する(ステップS304)。連携要求には、ステップS302によって受信したストリーミング識別コードが含まれる。
つぎに、連携受信における子端末である端末232が、連携中の他の端末(図3A,図3Bの例では端末231)へ近距離無線通信により連携要求を送信する(ステップS305)。また、端末232が、端末233へ近距離無線通信により連携応答を送信する(ステップS306)。
つぎに、連携受信における親端末である端末231が、連携受信におけるすべての子端末(図3A,図3Bの例では端末232)から連携要求を受信すると、受信中のストリーミングデータについて端末231〜233の3つの端末で連携受信することを決定する。そして、端末231は、端末231〜233に一意に識別番号を割り振る(ステップS307)。図3A,図3Bの例では、端末231は、端末231〜233にそれぞれ識別番号「0」〜「2」を割り振っている。
つぎに、端末231が、近距離無線通信により連携応答を端末232,233へ送信する(ステップS308)。端末232へ送信される連携応答には、連携端末数(図3A,図3Bの例では「3」)と、ステップS307において端末232に割り振られた識別番号「1」と、が含まれる。端末233へ送信される連携応答には、連携端末数(図3A,図3Bの例では「3」)と、ステップS307において端末233に割り振られた識別番号「2」と、が含まれる。ステップS308により、端末231〜233の間の連携準備が完了する。
つぎに、端末231が、連携端末数「3」と、ステップS307において自端末に割り当てた識別番号「0」と、を含むデータ分割送信指示を基地局221へ送信する(ステップS309)。また、端末232が、ステップS308によって送信された連携応答に含まれる連携端末数「3」と識別番号「1」とを含むデータ分割送信指示を基地局222へ送信する(ステップS310)。また、端末233が、ステップS308によって送信された連携応答に含まれる連携端末数「3」と識別番号「2」とを含むデータ分割送信指示を基地局223へ送信する(ステップS311)。
つぎに、基地局221が、端末231へ割り当てる無線リソース量を1/連携端末数にする(ステップS312)。また、基地局222が、端末232へ割り当てる無線リソース量を1/連携端末数にする(ステップS313)。また、基地局223が、端末233へ割り当てる無線リソース量を1/連携端末数にする(ステップS314)。
つぎに、端末231〜233および基地局221〜223は、ストリーミングデータを連携伝送する連携状態301へ移行する。具体的には、基地局221〜223のそれぞれは、ストリーミング配信サーバ210から配信されるストリーミングデータを連携端末数と同数(図3A,図3Bの例では「3」)のグループ#0〜#2に分割する。
そして、基地局221は、端末231の識別番号「0」に対応するグループ#0のデータを分割データ#0として端末231へ送信する(ステップS315)。また、基地局222は、端末232の識別番号「1」に対応するグループ#1のデータを分割データ#1として端末232へ送信する(ステップS316)。また、基地局223は、端末233の識別番号「2」に対応するグループ#2のデータを分割データ#2として端末233へ送信する(ステップS317)。
つぎに、端末231は、ステップS315によって送信される分割データ#0を近距離無線通信により端末232,233へ送信する(ステップS318)。また、端末232は、ステップS316によって送信される分割データ#1を近距離無線通信により端末231,233へ送信する(ステップS319)。また、端末233は、ステップS317によって送信される分割データ#2を近距離無線通信により端末231,232へ送信する(ステップS320)。
つぎに、端末231は、ステップS315によって受信した分割データ#0と、ステップS319,S320によって受信した分割データ#1,#2と、を結合して元のストリーミングデータを再生する(ステップS321)。また、端末232は、ステップS316によって受信した分割データ#1と、ステップS318,S320によって受信した分割データ#0,#2と、を結合して元のストリーミングデータを再生する(ステップS322)。また、端末233は、ステップS317によって受信した分割データ#2と、ステップS318,S319によって受信した分割データ#0,#1と、を結合して元のストリーミングデータを再生する(ステップS323)。
以上の各ステップにより、2端末による連携状態201から、3端末による連携状態301へ移行することができる。この場合は、端末231〜233のそれぞれが基地局221〜223からストリーミングデータを受信する場合に比べて、端末231〜233と基地局221〜223との間の通信区間における無線リソースの使用量をたとえば1/3程度にすることができる。
このように、端末233は、ストリーミングデータを受信中の複数の所定端末(端末231,232)を検出した場合は、端末231,232のそれぞれから、自端末が受信する分割データ#2と異なる部分の分割データ#0,#0のうちの異なる部分を受信する。具体的には、端末233は、端末231から分割データ#0を受信し、端末232から分割データ#1を受信する。
なお、図2,図3A,図3Bにおいて、端末231〜233がそれぞれ異なる基地局221〜223に接続している場合について説明したが、端末231〜233は同一の基地局に接続していてもよい。また、図3A,図3Bにおいて2端末による連携状態201から3端末による連携状態301へ移行する場合について説明したが、以後、4つ目以降の端末が連携受信に加わる場合についても同様である。
また、ステップS307において、親端末である端末231は、いずれかの子端末が近距離無線通信の圏外に存在する場合等により、いずれの子端末から連携要求を所定期間内に受信できなかった場合は、連携失敗と判断する。この場合は、端末231は、連携要求の送信元(端末233)や他の子端末(たとえば端末232)へ連携失敗通知を送信する。連携失敗通知を受信した端末は、単独でのストリーミング受信を開始する。また連携失敗通知を受信した端末が既に連携受信によるストリーミング受信を行っている場合は、既存の連携制御を継続してもよい。
(ストリーミングデータの分割の一例)
たとえば、図3A,図3Bのように3端末で連携受信している場合に、ストリーミング配信サーバ210からストリーミングデータ「abcdefghijklmnopqrstuvwxyz」が配信されるとする。a,b,c,d,…のそれぞれは、たとえば受信側において復号可能な単位のデータ(たとえば動画における1フレーム)である。
この場合は、たとえば、基地局221から端末231へは分割データ「adgjmpsvy」が送信される。また、基地局222から端末232へは分割データ「behknqtwz」が送信される。また、基地局223から端末233へは分割データ「cfilorux」が送信される。
このため、基地局221〜223から端末231〜233へ3つのストリーミングデータ「abcdefghijklmnopqrstuvwxyz」を送信する場合に比べて、端末基地局間の無線リソースの使用量を約1/3に低減することができる。
また、端末231〜233が互いに直接通信する場合は、一般的に基地局221〜223から受信するより高速であるため、分割データを互いに送受信するための時間は短くて済む。ただし、端末間での通信品質が低い端末については連携受信に加えないようにしてもよい。これにより、連携受信の伝送効率の低下を抑えることができる。
また、端末231〜233が受信する各分割データは、それぞれ独立して復号可能なデータとなるように生成されてもよい。これにより、端末231〜233が受信する各分割データのうちのいずれかの伝送に障害が発生しても、障害が発生していない分割データについては復号して再生することができる。
また、端末231〜233が受信する各分割データは、ストリーミングデータから周期的にデータを間引きした残余のデータに基づき生成されてもよい(たとえば図21参照)。これにより、端末231〜233のそれぞれは、ストリーミングデータの先頭部分から順次再生していくことが可能になり、ストリーミングデータを連携受信しつつリアルタイム性を保つことが可能になる。また、端末231〜233が受信する各分割データのうちのいずれかの伝送に障害が発生しても、ストリーミングデータの再生が長時間途切れることを回避することができる。
(端末の構成)
図4は、端末の構成の一例を示す図である。上述した端末231〜233のそれぞれは、たとえば図4に示す端末400によって実現することができる。端末400は、基地局間通信部401と、プロトコル制御部402と、接続制御部403と、基地局通信送受信部404と、を備えている。また、端末400は、近距離通信部405と、端末間連携制御部406と、近距離通信送受信部407と、データ結合制御部408と、ストリーミング再生部409と、を備えている。
基地局間通信部401は、基地局500(たとえば図5参照)との間で無線通信を行う。基地局間通信部401には、たとえば3Gや無線LAN等の通信方式を適用することができる。
プロトコル制御部402は、基地局間通信部401を介して、基地局500との間の無線通信におけるプロトコル制御を行う。接続制御部403は、プロトコル制御部402および基地局間通信部401を介して、基地局500との間の無線通信における接続制御を行う。基地局通信送受信部404は、基地局間通信部401を介して、基地局500との間でデータを送受信する。また、基地局通信送受信部404は、基地局500から受信したデータをデータ結合制御部408へ出力する。
近距離通信部405は、端末400の周辺の端末との間で近距離通信を行う。近距離通信部405には、たとえばBluetooth(登録商標)等の通信方式を適用することができる。
端末間連携制御部406は、近距離通信部405を介して、端末間の連携受信を制御する。近距離通信送受信部407は、近距離通信部405を介して、端末400の周辺の端末との間でデータを送受信する。
データ結合制御部408は、端末400が単独で基地局500からストリーミングデータを受信する場合に、基地局通信送受信部404から出力されるストリーミングデータをストリーミング再生部409へ出力する。また、データ結合制御部408は、端末400が他の端末とデータを連携受信する場合に、基地局通信送受信部404から出力される分割データと、近距離通信送受信部407から出力される分割データと、の結合制御を行う。そして、データ結合制御部408は、結合制御により得られたストリーミングデータをストリーミング再生部409へ出力する。
ストリーミング再生部409は、ユーザのキー操作等によって、ストリーミングの受信開始指示を受け付ける。そして、ストリーミング再生部409は、受信開始指示を受け付けると、接続制御部403、プロトコル制御部402、基地局間通信部401を介して、ストリーミングデータを基地局500から受信するコネクションを確立する。そして、ストリーミング再生部409は、確立したコネクションによって受信され、データ結合制御部408から出力されるストリーミングデータを再生する。
分割データバッファ410は、基地局500や他の端末から受信した分割データを一時的に記憶するバッファである。データ結合制御部408は、分割データバッファ410を用いて分割データの結合処理を行う。
連携制御用データ記憶部411は、端末間連携制御部406による端末間連携制御に用いる連携制御用データを記憶する。また、データ結合制御部408は、連携制御用データ記憶部411に記憶された連携制御用データに基づいて結合処理を行う。
(基地局の構成)
図5は、基地局の構成の一例を示す図である。上述した基地局221〜223のそれぞれは、たとえば図5に示す基地局500によって実現することができる。基地局500は、端末間通信部501と、プロトコル制御部502と、接続制御部503と、端末間通信送受信部504と、データ分割制御部505と、サーバプロトコル制御部506と、サーバ間通信部507と、分割制御用データ記憶部508と、を備えている。
端末間通信部501は、端末400(たとえば図4参照)との間で無線通信を行う。端末間通信部501には、たとえば3Gや無線LAN等の通信方式を適用することができる。プロトコル制御部502は、端末間通信部501を介して、端末400との間の無線通信におけるプロトコル制御を行う。
接続制御部503は、プロトコル制御部502および端末間通信部501を介して、端末400との間の無線通信における接続制御を行う。具体的には、接続制御部503は、プロトコル制御部502および端末間通信部501を介して、端末400からのコネクション確立要求を受信する。
また、接続制御部503は、サーバプロトコル制御部506およびプロトコル制御部502を介して、ストリーミングデータをストリーミング配信サーバ210から受信して端末400に送信するコネクションを確立する。また、接続制御部503は、端末400から連携端末数および識別番号を受信し、データ分割制御部505に通知する。
端末間通信送受信部504は、端末間通信部501を介して、端末400との間でデータを送受信する。
データ分割制御部505は、サーバ間通信部507を介してストリーミング配信サーバ210から受信したストリーミングデータから該当端末向けのデータのみを抽出する。データ分割制御部505は、連携を行っていない状態ではストリーミング配信サーバ210から受信したストリーミングデータをそのまま端末間通信送受信部504へ出力する。したがって、連携を行っていない状態ではサーバ間通信部507から出力されたストリーミングデータを直接、端末間通信送受信部504へ出力してもよい。
また、データ分割制御部505は、接続制御部503から通知される連携端末数および識別番号に応じてデータ分割および送信制御を実施する。なお、データ分割および送信制御は、端末400から連携端末数および識別番号が通知される度に実施する。連携端末数および識別番号は、たとえば連携端末数が増減した場合等に端末400から通知される。
サーバプロトコル制御部506は、サーバ間通信部507を介して、ストリーミング配信サーバ210との間の通信におけるプロトコル制御を行う。サーバ間通信部507は、ストリーミング配信サーバ210との間の通信を行う。サーバ間通信部507とストリーミング配信サーバ210との間の通信には、たとえば有線通信を適用することができる。
分割制御用データ記憶部508は、データ分割制御部505が分割処理のために用いる分割制御用データを記憶する。
(端末のハードウェア構成)
図6は、端末のハードウェア構成の一例を示す図である。図4に示した端末400は、たとえば図6に示す通信装置600によって実現することができる。通信装置600は、CPU601と、メモリ602と、ユーザインタフェース603と、無線通信インタフェース604と、を備えている。CPU601、メモリ602、ユーザインタフェース603および無線通信インタフェース604は、バス609によって接続されている。
CPU601(Central Processing Unit)は、通信装置600の全体の制御を司る。また、通信装置600はCPU601を複数備えていてもよい。メモリ602には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAM(Random Access Memory)である。メインメモリは、CPU601のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置600を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてCPU601によって実行される。
ユーザインタフェース603は、たとえば、ユーザからの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばキー(たとえばキーボード)やリモコンなどによって実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどによって実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース603は、CPU601によって制御される。
無線通信インタフェース604は、無線によって通信装置600の外部(たとえば基地局500や他の端末400)との間で通信を行う通信インタフェースである。無線通信インタフェース604は、CPU601によって制御される。
図4に示した基地局間通信部401および近距離通信部405は、たとえば無線通信インタフェース604によって実現することができる。図4に示したプロトコル制御部402、接続制御部403、基地局通信送受信部404、端末間連携制御部406および近距離通信送受信部407は、たとえばCPU601および無線通信インタフェース604によって実現することができる。
図4に示したデータ結合制御部408は、たとえばCPU601によって実現することができる。図4に示したストリーミング再生部409は、たとえばCPU601およびユーザインタフェース603によって実現することができる。図4に示した分割データバッファ410および連携制御用データ記憶部411は、たとえばメモリ602によって実現することができる。
(基地局のハードウェア構成)
図7は、基地局のハードウェア構成の一例を示す図である。図5に示した基地局500は、たとえば図7に示す通信装置700によって実現することができる。通信装置700は、CPU701と、メモリ702と、ユーザインタフェース703と、有線通信インタフェース704と、無線通信インタフェース705と、を備えている。CPU701、メモリ702、ユーザインタフェース703、有線通信インタフェース704および無線通信インタフェース705は、バス709によって接続されている。
CPU701は、通信装置700の全体の制御を司る。また、通信装置700はCPU701を複数備えていてもよい。メモリ702には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAMである。メインメモリは、CPU701のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置700を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてCPU701によって実行される。
ユーザインタフェース703は、たとえば、管理者等のユーザからの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばキー(たとえばキーボード)やリモコンなどによって実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどによって実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース703は、CPU701によって制御される。
有線通信インタフェース704は、有線によって通信装置700の外部(たとえばストリーミング配信サーバ210)との間で通信を行う通信インタフェースである。有線通信インタフェース704は、CPU701によって制御される。無線通信インタフェース705は、無線によって通信装置700の外部(たとえば端末400)との間で通信を行う通信インタフェースである。近距離通信部405は、CPU701によって制御される。
図5に示した端末間通信部501は、たとえば無線通信インタフェース705によって実現することができる。図5に示したサーバ間通信部507は、たとえば有線通信インタフェース704によって実現することができる。
図5に示したプロトコル制御部502、接続制御部503および端末間通信送受信部504は、たとえばCPU701および無線通信インタフェース705によって実現することができる。図5に示したサーバプロトコル制御部506およびサーバ間通信部507は、たとえばCPU701および有線通信インタフェース704によって実現することができる。図5に示したデータ分割制御部505は、たとえばCPU701によって実現することができる。
(端末に記憶される連携制御用データ)
図8は、親端末に記憶される連携制御用データの一例を示す図である。図8に示す連携制御用データ800は、たとえば図3A,図3Bに示した連携状態301において親端末である端末231の連携制御用データ記憶部411(図4参照)に記憶された連携制御用データの一例である。
図9は、子端末(その1)に記憶される連携制御用データの一例を示す図である。図9に示す連携制御用データ900は、たとえば図3A,図3Bに示した連携状態301において1つ目の子端末である端末232の連携制御用データ記憶部411(図4参照)に記憶された連携制御用データの一例である。
図10は、子端末(その2)に記憶される連携制御用データの一例を示す図である。図10に示す連携制御用データ1000は、たとえば図3A,図3Bに示した連携状態301において2つ目の子端末である端末233の連携制御用データ記憶部411(図4参照)に記憶された連携制御用データの一例である。
図8〜図10に示す各連携制御用データにおいて、「ストリーミング識別コード」は、それぞれ端末231〜232が受信を要求したストリーミングデータを示す識別情報である。図3A,図3Bの例では、端末231〜232は同一のストリーミングデータの受信を要求しているため、各連携制御用データにおいて「ストリーミング識別コード」は同一である。また、図8〜図10の例では、「ストリーミング識別コード」はストリーミングデータのURL(http://aaa.ccc.com/abcdeef.wmv)である。
「親/子種別」は、自端末が親端末および子端末のいずれであるかを示す情報である。図3A,図3Bに示した例では、端末231が親端末であるため、端末231の連携制御用データ800の「親/子種別」は「親」を示している。また、図3A,図3Bに示した例では、端末232,233が子端末であるため、端末232,233の連携制御用データ900,1000の「親/子種別」は「子」を示している。
「自端末識別番号」は、連携制御における自端末の識別番号である。図3A,図3Bに示した例では、端末231の連携制御用データ800の「自端末識別番号」は、端末231が自身に割り当てた「0」である。また、図3A,図3Bに示した例では、端末232,233の連携制御用データ900,1000の「自端末識別番号」は、端末231がそれぞれ端末232,233に割り当てた「1」,「2」である。
「連携端末数」は、連携を行っている端末の総数を示す情報である。図3A,図3Bに示した例では、端末231〜233の3つの端末で連携を行っているため、端末231〜233の連携制御用データ800,900,1000の「連携端末数」はともに「3」である。
「連携端末x 近距離無線通信用識別番号」(x=1,2,3,…)は、連携を行う他の端末の近距離無線通信用の識別番号を示す情報である。たとえば、「連携端末x 近距離無線通信用識別番号」は、近距離無線通信で送受信を行う端末を一意に識別できる番号である。
たとえば、端末231〜233の近距離無線通信用識別番号をそれぞれ「12345670」〜「12345672」とする。この場合は、端末231の連携制御用データ800の「連携端末x 近距離無線通信用識別番号」には、端末232,233を示す「12345671」,「12345672」が格納される。
また、端末232の連携制御用データ900の「連携端末x 近距離無線通信用識別番号」には、端末231,233を示す「12345670」,「12345672」が格納される。また、端末233の連携制御用データ1000の「連携端末x 近距離無線通信用識別番号」には、端末231,232を示す「12345670」,「12345671」が格納される。
たとえば、連携制御用データ800,900,1000の各値の初期には無効値が設定される。また、たとえば、連携終了時には連携制御用データ800,900,1000の各値が初期化される。
(基地局に記憶される分割制御用データ)
図11は、基地局に記憶される分割制御用データの一例を示す図である。図11に示す分割制御用データ1100は、たとえば図3A,図3Bに示した連携状態301において基地局221〜223のそれぞれの分割制御用データ記憶部508(図5参照)に記憶された分割制御用データの一例である。
分割制御用データ1100の「端末ID」は、端末231〜233をそれぞれ識別する識別情報である。たとえば、端末231〜233の「端末ID」がそれぞれ「09012345670」〜「09012345672」であるとする。
「連携端末数」は、対応する端末から受信したデータ分割送信指示に含まれていた連携端末数である。図3A,図3Bに示した例では、端末231〜233の3つの端末で連携を行っているため、分割制御用データ1100における端末231〜233の「連携端末数」はすべて「3」である。
「端末識別番号」は、対応する端末から受信したデータ分割送信指示に含まれていた識別番号である。図3A,図3Bに示した例では、分割制御用データ1100における端末231〜233の「端末識別番号」はそれぞれ「0」,「1」,「2」である。
なお、端末231〜233の情報を含む分割制御用データ1100を基地局221〜223のそれぞれが記憶している場合について説明したが、基地局221〜223のそれぞれは、少なくとも自身に接続した端末に関する分割制御用データを記憶していればよい。また、分割制御用データ1100の各値の初期には無効値が設定される。また、たとえば、連携終了時には分割制御用データ1100の各値が初期化される。
(各端末の分割データバッファ)
図12は、各端末の分割データバッファの一例を示す図である。図12に示す分割データバッファ1200は、たとえば図4に示した分割データバッファ410の一例である。分割データバッファ1200は、ブロック0〜Mに分かれている。そして、基地局500や他の端末400から受信した分割データのうちのブロック番号xに対応するデータブロックが、分割データバッファ1200のブロックxに格納される。
たとえば、分割データバッファ1200の各値の初期値は「データ未設定」である。また、たとえば、連携終了時には分割データバッファ1200の各値が初期化される。
(端末のストリーミング再生部によるストリーミング開始処理)
図13は、端末のストリーミング再生部によるストリーミング開始処理の一例を示すフローチャートである。端末400のストリーミング再生部409は、ユーザによるキー操作等によりストリーミング再生の開始を検知すると、ストリーミング開始動作として、たとえば以下の各ステップを実行する。
まず、ストリーミング再生部409は、連携受信を行うか否かを判断する(ステップS1301)。ステップS1301における判断は、たとえば端末400に記憶された設定値に基づいて行うことができる。また、設定値は、たとえば端末400の設定メニュー画面等によってユーザが設定できるようにしてもよい。連携受信を行わない場合(ステップS1301:No)は、ストリーミング再生部409はステップS1303へ移行する。
ステップS1301において、連携受信を行う場合(ステップS1301:Yes)は、ストリーミング再生部409は、端末間連携制御部406へストリーミング受信開始を通知する(ステップS1302)。
つぎに、ストリーミング再生部409は、基地局500を介してストリーミング配信サーバ210との間でコネクションを確立し、データ結合制御部408から出力されるデータを再生する受信制御処理を開始する(ステップS1303)。
(端末の端末間連携制御部によるストリーミング開始処理)
図14は、端末の端末間連携制御部によるストリーミング開始処理の一例を示すフローチャートである。非連携中の端末400の端末間連携制御部406は、ストリーミング再生部409からストリーミング受信開始が通知されたか否かを判断し(ステップS1401)、ストリーミング受信開始が通知されるまで待つ(ステップS1401:Noのループ)。ストリーミング受信開始が通知されると(ステップS1401:Yes)、端末間連携制御部406は、ストリーミング開始動作として、たとえば以下の各ステップを実行する。
まず、端末間連携制御部406は、ストリーミング配信サーバ210からストリーミング識別コードを取得する(ステップS1402)。つぎに、端末間連携制御部406は、近距離無線通信が可能な周辺の端末へ、ステップS1402によって取得したストリーミング識別コードを含むストリーミング開始通知を近距離無線通信により送信する(ステップS1403)。つぎに、端末間連携制御部406は、ステップS1403によってストリーミング開始通知を送信してから一定時間、周辺の端末からのストリーミング開始通知応答の受信を待つ(ステップS1404)。
つぎに、端末間連携制御部406は、ステップS1404においてストリーミング開始通知応答を受信したか否かを判断する(ステップS1405)。ストリーミング開始通知応答を受信していない場合(ステップS1405:No)は、端末間連携制御部406は、連携可能な端末が無いと判断し、自端末を親端末に設定する。具体的には、端末間連携制御部406は、連携端末数「1」,識別番号「0」を含むデータ分割送信指示を基地局500へ送信し(ステップS1406)、ステップS1412へ移行する。
ステップS1405において、ストリーミング開始通知応答を受信した場合(ステップS1405:Yes)は、端末間連携制御部406は、自端末を子端末に設定する。この場合は、端末間連携制御部406は、ストリーミング開始通知応答の送信元へ連携要求を近距離無線通信により送信する(ステップS1407)。つぎに、端末間連携制御部406は、ステップS1407によって連携要求を送信してから一定時間、連携要求の送信先の端末からの連携応答の受信を待つ(ステップS1408)。
つぎに、端末間連携制御部406は、ステップS1408において連携要求の送信先のすべての端末から連携応答を受信したか否かを判断する(ステップS1409)。少なくともいずれかの送信先の端末から連携応答を受信していない場合(ステップS1409:No)は、端末間連携制御部406は、ステップS1406へ移行する。
ステップS1409において、すべての端末から連携応答を受信した場合(ステップS1409:Yes)は、端末間連携制御部406は、親端末からの連携応答に含まれる連携端末数および識別番号を取得する(ステップS1410)。つぎに、端末間連携制御部406は、ステップS1410によって取得した連携端末数および識別番号を含むデータ分割送信指示を基地局500へ送信する(ステップS1411)。
つぎに、端末間連携制御部406は、連携中の端末を示す連携制御用データを連携制御用データ記憶部411に記憶し(ステップS1412)、一連のストリーミング開始処理を終了する。たとえば、端末間連携制御部406は、図9に示した連携制御用データ900の「ストリーミング識別コード」、「親/子種別」、「自端末識別番号」、「連携端末数」および「近距離無線通信用識別番号」を設定する。
以上の各ステップにより、ストリーミング受信開始が通知された場合に、周辺の端末400のうちの連携受信が可能な端末400を検出し、検出した端末400との連携受信を開始することが可能になる。
(ストリーミング開始通知の受信時の端末間連携制御部による処理)
図15は、ストリーミング開始通知の受信時の端末による処理の一例を示すフローチャートである。端末間連携制御部406は、他の端末400からのストリーミング開始通知を受信したか否かを判断し(ステップS1501)、ストリーミング開始通知を受信するまで待つ(ステップS1501:Noのループ)。ストリーミング開始通知を受信すると(ステップS1501:Yes)、端末間連携制御部406は、以下の各ステップを実行する。
まず、端末間連携制御部406は、自端末がストリーミング受信中か否かを判断する(ステップS1502)。自端末がストリーミング受信中でない場合(ステップS1502:No)は、端末間連携制御部406は、一連の処理を終了する。
ステップS1502において、自端末がストリーミング受信中である場合(ステップS1502:Yes)は、端末間連携制御部406は、ストリーミング開始通知に含まれるストリーミング識別コードを取得する(ステップS1503)。つぎに、端末間連携制御部406は、連携制御用データ記憶部411に記憶された連携制御用データから、自身がストリーミング受信中のストリーミングデータを示すストリーミング識別コードを取得する(ステップS1504)。
つぎに、端末間連携制御部406は、ステップS1503,S1504において取得した各ストリーミング識別コードが同一か否かを判断する(ステップS1505)。各ストリーミング識別コードが同一でない場合(ステップS1505:No)は、端末間連携制御部406は、ストリーミング開始通知の送信元との連携は不可と判断し、一連の処理を終了する。
ステップS1505において、各ストリーミング識別コードが同一である場合(ステップS1505:Yes)は、端末間連携制御部406は、ステップS1506へ移行する。すなわち、端末間連携制御部406は、ストリーミング開始通知の送信元へストリーミング開始通知応答を送信し(ステップS1506)、一連の処理を終了する。
以上の各ステップにより、自身が受信中のストリーミングデータについてのストリーミング開始通知を他の端末400から受信した場合にストリーミング開始通知応答を返し、連携受信を開始することが可能になる。
(端末間連携制御部による連携要求受信時の処理)
図16は、端末による連携要求受信時の処理の一例を示すフローチャートである。図16において、新たにストリーミングデータの受信を開始する端末400が最初に送信する連携要求を「トリガ連携要求」と称する。端末間連携制御部406は、他の端末400からのトリガ連携要求を受信したか否かを判断し(ステップS1601)、トリガ連携要求を受信するまで待つ(ステップS1601:Noのループ)。トリガ連携要求を受信すると(ステップS1601:Yes)、端末間連携制御部406は、以下の各ステップを実行する。
まず、端末間連携制御部406は、連携制御用データ記憶部411に記憶された連携制御用データを取得する(ステップS1602)。つぎに、端末間連携制御部406は、ステップS1602によって取得した連携制御用データに基づいて、自端末が連携の親端末であるか否かを判断する(ステップS1603)。
ステップS1603において、自端末が親端末ではなく子端末である場合(ステップS1603:No)は、端末間連携制御部406は、ステップS1601によって受信したトリガ連携要求の送信元へ連携応答を送信する(ステップS1604)。
つぎに、端末間連携制御部406は、ステップS1602において取得した連携制御用データの「近距離無線通信用識別番号」を用いて、連携中のすべての他端末へ連携応答を送信する(ステップS1605)。つぎに、端末間連携制御部406は、一定時間、他端末からの連携応答の受信を待つ(ステップS1606)。
つぎに、端末間連携制御部406は、ステップS1607において、連携中のすべての他端末から連携応答を受信したか否かを判断する(ステップS1607)。連携中のすべての他端末から連携応答を受信した場合(ステップS1607:Yes)は、端末間連携制御部406は、親端末からの連携応答に含まれる連携端末数および識別番号を取得する(ステップS1608)。
つぎに、端末間連携制御部406は、ステップS1608によって取得した連携端末数および識別番号を含むデータ分割送信指示を基地局500へ送信する(ステップS1609)。つぎに、端末間連携制御部406は、連携中の端末を示す連携制御用データを連携制御用データ記憶部411に記憶し(ステップS1610)、一連の処理を終了する。ステップS1610において、端末間連携制御部406は、たとえば図9に示した連携制御用データ900の「近距離無線通信用識別番号」に、トリガ応答要求の送信元の近距離無線通信用識別番号を追加する。
ステップS1607において、少なくともいずれかの他端末から連携応答を受信しなかった場合(ステップS1607:No)は、端末間連携制御部406は、トリガ連携要求の送信元へ連携失敗通知を送信し(ステップS1611)、一連の処理を終了する。
ステップS1603において、自端末が連携の親端末である場合(ステップS1603:Yes)は、端末間連携制御部406は、親端末処理を実行し(ステップS1612)、一連の処理を終了する。親端末処理については後述する(たとえば図17参照)。
以上の各ステップにより、他端末からトリガ連携要求を受信し、対応するストリーミングデータの受信について自端末が子端末であった場合に、トリガ連携要求の送信元へ連携応答を送信するとともに、親端末へ連携要求を送信することができる。また、連携中のすべての他端末から連携応答を受信した場合は、トリガ連携要求の送信元を加えた各端末による連携受信を開始することができる。
(端末間連携制御部による親端末処理)
図17は、端末による親端末処理の一例を示すフローチャートである。端末間連携制御部406は、図16に示したステップS1612の親端末処理として、たとえば以下の各ステップを実行する。まず、端末間連携制御部406は、一定時間、連携中の子端末からの連携要求の受信を待つ(ステップS1701)。つぎに、端末間連携制御部406は、ステップS1701において、連携中のすべての子端末から連携要求を受信したか否かを判断する(ステップS1702)。
ステップS1702において、少なくともいずれかの子端末から連携要求を受信していない場合(ステップS1702:No)は、端末間連携制御部406は、各端末へ連携失敗通知を送信し(ステップS1703)、一連の処理を終了する。連携失敗通知の送信先の各端末には、トリガ連携要求の送信元の端末や、連携中の子端末が含まれる。
ステップS1702において、すべての子端末から連携要求を受信した場合(ステップS1702:Yes)は、トリガ連携要求の送信元の端末を子端末として連携に加えることが可能と判断することができる。この場合は、端末間連携制御部406は、連携を行う各端末に一意に識別番号を割り振る(ステップS1704)。連携を行う各端末には、たとえば、自端末と、トリガ連携要求の送信元の端末と、連携中の子端末と、が含まれる。
つぎに、端末間連携制御部406は、連携応答を他の各端末へ送信する(ステップS1705)。連携応答の送信先の各端末には、トリガ連携要求の送信元の端末と、連携中の子端末と、が含まれる。連携応答には、連携端末数と、ステップS1704において送信先の端末に割り振った識別番号と、が含まれる。連携端末数は、たとえば、自端末と、トリガ連携要求の送信元の端末と、連携中の子端末と、の合計の端末数である。
つぎに、端末間連携制御部406は、連携端末数と、ステップS1704によって自端末に割り振った識別番号と、を含むデータ分割送信指示を基地局500へ送信する(ステップS1706)。つぎに、端末間連携制御部406は、連携中の端末を示す連携制御用データを連携制御用データ記憶部411に記憶し(ステップS1707)、一連の処理を終了する。
ステップS1707において、端末間連携制御部406は、たとえば図8に示した連携制御用データ800の「近距離無線通信用識別番号」に、トリガ応答要求の送信元の近距離無線通信用識別番号を追加する。また、端末間連携制御部406は、「連携端末数」を更新(1を追加)する。
以上の各ステップにより、他端末からトリガ連携要求を受信し、対応するストリーミングデータの受信について自端末が親端末であった場合に、トリガ連携要求の送信元を加えた各端末に識別番号を新たに割り振ることができる。そして、トリガ連携要求の送信元を加えた各端末による連携受信を開始することができる。
(基地局のデータ分割制御部によるデータ分割処理)
図18は、基地局によるデータ分割処理の一例を示すフローチャートである。基地局500のデータ分割制御部505は、端末400からデータ分割送信指示を受信したか否かを判断し(ステップS1801)、データ分割送信指示を受信するまで待つ(ステップS1801:Noのループ)。データ分割送信指示を受信すると(ステップS1801:Yes)、データ分割制御部505は、データ分割処理としてたとえば以下の各ステップを実行する。
まず、データ分割制御部505は、ステップS1801において受信したデータ分割送信指示に含まれる連携端末数および識別番号を取得する(ステップS1802)。つぎに、データ分割制御部505は、ステップS1802によって取得した連携端末数および識別番号を、データ分割送信指示の送信元の端末の識別情報と対応付けて分割制御用データ記憶部508に記憶する(ステップS1803)。データ分割送信指示の送信元の端末の識別情報は、たとえば図11に示した分割制御用データ1100の「端末ID」である。
つぎに、データ分割制御部505は、データ分割送信指示の送信元の端末についてチャネル構成変更処理を行い(ステップS1804)、一連の処理を終了する。ステップS1804において、具体的には、データ分割制御部505は、データ分割送信指示の送信元に割り当てる無線リソースを現在の1/連携端末数とする。
以上の各ステップにより、端末400からデータ分割送信指示を受信した場合に端末400のチャネル構成変更処理を行うことができる。
(基地局によるストリーミングデータ受信時の処理)
図19は、基地局によるストリーミングデータ受信時の処理の一例を示すフローチャートである。データ分割制御部505は、ストリーミング配信サーバ210からストリーミングデータを受信すると(ステップS1901)、たとえば以下の各ステップを実行する。まず、データ分割制御部505は、分割制御用データ記憶部508に記憶された分割制御用データから、各端末に対応する連携端末数および識別番号を取得する(ステップS1902)。
つぎに、データ分割制御部505は、ステップS1902によって対応する連携端末数および識別番号が取得された各端末に、ステップS1901において受信したストリーミングデータの送信先の端末が含まれるか否かを判断する(ステップS1903)。
ステップS1903において、ストリーミングデータの送信先の端末が含まれない場合(ステップS1903:No)は、データ分割制御部505は、ステップS1901において受信したストリーミングデータの分割を行わない。そして、データ分割制御部505は、受信したストリーミングデータを送信先の端末へ送信し(ステップS1904)、一連の処理を終了する。
ステップS1903において、ストリーミングデータの送信先の端末が含まれる場合(ステップS1903:Yes)は、データ分割制御部505は、ステップS1901において受信したストリーミングデータの分割データを生成する(ステップS1905)。分割データの生成処理については後述する(たとえば図20参照)。つぎに、データ分割制御部505は、ステップS1905によって生成した分割データを送信先の端末へ送信し(ステップS1906)、一連の処理を終了する。
以上の各ステップにより、データ分割送信指示を受信済みの端末400へのストリーミングデータをストリーミング配信サーバ210から受信した場合に、受信したストリーミングデータを分割した分割データを送信することができる。
(基地局による分割データの生成処理)
図20は、基地局による分割データの生成処理の一例を示すフローチャートである。データ分割制御部505は、図19に示したステップS1905において、たとえば以下の各ステップを実行する。
まず、データ分割制御部505は、図19のステップS1901において受信したストリーミングデータを一定の大きさごとにシーケンシャルに分割したデータブロックを生成する(ステップS2001)。ストリーミングデータを分割する「一定の大きさ」は、たとえば、基地局221〜223および端末231〜233に対してあらかじめ共通して設定された値である。
つぎに、データ分割制御部505は、ステップS2001によって生成した各データブロックに、先頭から順に連続した番号であるインデックスを割り振る(ステップS2002)。インデックスの開始値は、ストリーミングデータの箇所を特定可能な値とする。たとえば、インデックスには、ストリーミングデータの先頭からのオフセット位置(バイト数等)を用いることができる。また、データ分割制御部505は、インデックスがデータブロックに設定可能な範囲を超えないように、設定可能な最大値でオフセット位置を除算した剰余をインデックスとして用いてもよい。
つぎに、データ分割制御部505は、ステップS2002によってインデックスを割り振った各データブロックの中から、インデックス÷連携端末数の剰余が、分割データの送信先の端末400の識別番号となるデータブロックを抽出する(ステップS2003)。つぎに、データ分割制御部505は、ステップS2003によって抽出した各データブロックを、ステップS2002によって割り振ったインデックスの順(たとえば昇順)に並べる(ステップS2004)。
つぎに、データ分割制御部505は、ステップS2004によって並べた各データブロックに一定間隔でインデックスブロックを挿入する(ステップS2005)。インデックスブロックを挿入する「一定の間隔」は、たとえば、基地局221〜223および端末231〜233に対してあらかじめ共通して設定された値である。
つぎに、データ分割制御部505は、ステップS2005によって挿入した各インデックスブロックに、インデックスブロックの直後のデータブロックのインデックスを格納し(ステップS2006)、一連の処理を終了する。以上の各ステップにより、ストリーミングデータの分割データを生成することができる。基地局500は、以上の各ステップによって生成した分割データを端末400へ送信する。
図21は、基地局によるストリーミングデータの分割の一例を示す図である。図21においては、図3A,図3Bに示した例について、基地局221のデータ分割制御部505によるストリーミングデータの分割について説明する。
図21に示すストリーミングデータ2110は、分割前のストリーミングデータを示している。ストリーミングデータ2110の各ブロックは、データ分割制御部505がストリーミングデータ2110を一定の大きさごとに分割したデータブロックである。ストリーミングデータ2110の各データブロック内の数字「0」〜「29」…は、データ分割制御部505によって各データブロックに割り振られたインデックスを示している。
データブロック2121〜2130…は、ストリーミングデータ2110の各データブロックの中から抽出された、インデックス÷連携端末数(3)の剰余が、分割データの送信先の端末の識別番号(図3A,図3Bに示した例では「0」)となるデータブロックである。具体的には、データブロック2121〜2130…は、インデックスが「0」,「3」,「6」,「9」,「12」,…のデータブロックである。
分割データ2140は、基地局221のデータ分割制御部505が生成して端末231へ送信する分割データである。データ分割制御部505は、抽出したデータブロック2121〜2130…に一定間隔(図21の例では30)でインデックスブロック2141,2142,2143,…(I0,I1,I2,…)を挿入することによって分割データ2140を生成する。
インデックスブロック2141,2142,2143,…には、分割データ2140における挿入位置の直後のデータブロックのインデックスが格納される。具体的には、インデックスブロック2141,2142,2143,…には、それぞれ「0」,「30」,「60」,…が格納される。このように、分割データ2140は、ストリーミングデータ2110から周期的にデータを間引きした残余のデータ(データブロック2121〜2130…)に基づき生成される。
(端末のデータ結合制御部によるデータ分割処理)
図22は、端末によるデータ結合処理の一例を示すフローチャートである。データ結合制御部408は、基地局500および連携中の他端末から分割データを受信する(ステップS2201)と、以下の各ステップを実行する。
まず、データ結合制御部408は、連携制御用データ記憶部411から連携制御用データを取得する(ステップS2202)。つぎに、データ結合制御部408は、ステップS2201において受信した各分割データを一定の大きさで分割したブロックを生成する(ステップS2203)。分割データを分割する「一定の大きさ」は、たとえば図20のステップS2001においてストリーミングデータを分割する大きさと同じである。
つぎに、データ結合制御部408は、ステップS2203によって生成した各ブロックにブロック番号を割り振る(ステップS2204)。たとえば、データ結合制御部408は、各ブロックに先頭から0始まりのブロック番号を割り振る。つぎに、データ結合制御部408は、ステップS2204によってブロック番号を割り振った各ブロックについて、先頭のブロックから順に以下のステップS2205〜S2208を実行する。
まず、データ結合制御部408は、対象のブロックに対してステップS2204によって割り振ったブロック番号に基づいて、ブロック番号÷インデックスブロック間隔の剰余が0か否かを判断する(ステップS2205)。インデックスブロック間隔は、たとえば図20のステップS2005におけるインデックスブロックの挿入間隔と同じである。
ステップS2205において、剰余が0である場合(ステップS2205:Yes)は、対象のブロックがインデックスブロックであると判断することができる。この場合は、データ結合制御部408は、対象のブロックに格納されたインデックスを変数Xに設定する(ステップS2206)。変数Xは、つぎのデータの保存先となる分割データバッファ410のブロックを示す情報であり、たとえば図6に示したメモリ602に記憶される。
ステップS2205において、剰余が0でない場合(ステップS2205:No)は、対象のブロックがデータブロックであると判断することができる。この場合は、データ結合制御部408は、対象のブロックに格納されているデータを分割データバッファ410のXブロック目に保存する(ステップS2207)。つぎに、データ結合制御部408は、変数Xに連携端末数を加算する(ステップS2208)。
ステップS2204によってブロック番号を割り振った各ブロックについてステップS2205〜S2208を実行すると、データ結合制御部408は、ステップS2209へ移行する。すなわち、データ結合制御部408は、分割データバッファ410に保存されたデータを取得し(ステップS2209)、一連の処理を終了する。ステップS2209において、データ分割制御部505は、たとえば、分割データバッファ410の最初のデータ設定済みブロックからデータ未設定ブロックが現れる直前までのデータを読み出す。これにより、元のストリーミングデータを取得することができる。
また、データ分割制御部505は、読み出し済みのデータが格納されていた分割データバッファ410のブロックをデータ未設定とする。ただし、データ分割制御部505は、読み出そうとするデータのブロック数が連携端末数より小さい場合は、読み出し処理を行わず処理を終了し、つぎの分割データ受信を待つ。ストリーミング再生部409は、データ分割制御部505によって取得されたストリーミングデータを再生する。
図23は、端末による分割データの結合の一例を示す図である。図23においては、図3A,図3Bに示した例の端末231による分割データの結合について説明する。図23に示す分割データ2310は、端末231が基地局221から受信した分割データ(図21に示した分割データ2140)である。インデックスブロック2311〜2313,…は、分割データ2310に挿入されたインデックスブロックである。
分割データ2320,2330は、それぞれ端末231が端末232,233から受信した分割データである。インデックスブロック2321〜2323,…は、分割データ2320に挿入されたインデックスブロックである。インデックスブロック2331〜2333,…は、分割データ2330に挿入されたインデックスブロックである。
ストリーミングデータ2340は、データ結合制御部408による結合処理によって得られる、元のストリーミングデータ2110(図21参照)と同等のストリーミングデータである。データ結合制御部408は、分割データ2310,2320,2330を各ブロックに分割し、インデックスブロックおよび連携端末数に基づいて、データブロックをインデックス順に並べることによりストリーミングデータ2340を得ることができる。
(連携受信からの子端末の離脱)
図24は、連携受信からの子端末の離脱の一例を示すシーケンス図である。端末231〜233の3つの端末がストリーミングデータを連携受信する連携状態301(図3A,図3B参照)において、子端末である端末233が、ユーザのキー操作や電波圏外等によるストリーミング再生の中断を検出したとする(ステップS2401)。まず、端末233が、親端末である端末231へ連携解除要求を送信する(ステップS2402)。
つぎに、端末231が、受信中のストリーミングデータについて端末231,232の2つの端末で連携受信することを決定し、端末231,232に一意に識別番号を割り振る(ステップS2403)。図24の例では、端末231は、端末231,232にそれぞれ識別番号「0」,「1」を割り振っている。また、端末231は、連携端末数を再計算する(図24の例では「2」)。
つぎに、端末231が、端末232へ連携更新を送信する(ステップS2404)。連携更新は、連携端末数(図24の例では「2」)と、ステップS2403において端末232に割り振られた識別番号(図24の例では「1」)と、を含む情報である。ステップS2404により、端末231,232の間の連携準備が完了する。また、端末231が、端末233へ連携解除応答を送信する(ステップS2405)。
つぎに、端末231が、連携端末数(図24の例では「2」)と、ステップS2403において自端末に割り振った識別番号(図24の例では「0」)と、を含むデータ分割送信指示を基地局221へ送信する(ステップS2406)。また、端末232が、ステップS2404によって送信された連携更新に含まれる連携端末数と識別番号とを含むデータ分割送信指示を基地局222へ送信する(ステップS2407)。
つぎに、基地局221が、端末231へ割り当てる無線リソース量を1/連携端末数にする(ステップS2408)。また、基地局222が、端末232へ割り当てる無線リソース量を1/連携端末数にする(ステップS2409)。また、端末233が、ストリーミング配信サーバ210との間でストリーミング受信終了処理を行うことによってストリーミングデータの受信を終了する(ステップS2410)。
つぎに、端末231,232および基地局221,222は、ストリーミングデータを連携伝送する連携状態2401へ移行する。連携状態2401のステップS2411〜S2416は、図2に示したステップS214〜S219と同様である。このように、連携受信において子端末である端末233が連携受信から離脱しても、残った端末231,232によって連携受信を継続することができる。
(連携受信からの親端末の離脱)
図25は、連携受信からの親端末の離脱の一例を示すシーケンス図である。端末231〜233の3つの端末がストリーミングデータを連携受信する連携状態301(図3A,図3B参照)において、親端末である端末231がユーザのキー操作や電波圏外等によるストリーミング再生の中断を検出したとする(ステップS2501)。
まず、端末231が、子端末の1つである端末232へ連携交代要求を送信する(ステップS2502)。つぎに、端末232が、受信中のストリーミングデータについて端末232,233の2つの端末で連携受信することを決定し、端末232,233に一意に識別番号を割り振る(ステップS2503)。図25の例では、端末232は、端末232,233にそれぞれ識別番号「0」,「1」を割り振っている。また、端末232は、連携端末数を再計算する(図25の例では「2」)。
つぎに、端末232が、端末233へ連携更新を送信する(ステップS2504)。連携更新は、連携端末数(図25の例では「2」)と、ステップS2503において端末233に割り振られた識別番号(図25の例では「1」)と、を含む情報である。ステップS2504により、端末232,233の間の連携準備が完了する。また、端末231が、端末232へ連携交代応答を送信する(ステップS2505)。
つぎに、端末231が、ストリーミング配信サーバ210との間でストリーミング受信終了処理を行うことによってストリーミングデータの受信を終了する(ステップS2506)。つぎに、端末232が、連携端末数(図25の例では「2」)と、ステップS2503において自端末に割り振った識別番号(図25の例では「0」)と、を含むデータ分割送信指示を基地局222へ送信する(ステップS2507)。また、端末233が、ステップS2504によって送信された連携更新に含まれる連携端末数と識別番号とを含むデータ分割送信指示を基地局223へ送信する(ステップS2508)。
つぎに、基地局222が、端末232へ割り当てる無線リソース量を1/連携端末数にする(ステップS2509)。また、基地局223が、端末233へ割り当てる無線リソース量を1/連携端末数にする(ステップS2510)。
つぎに、端末232,233および基地局222,223は、ストリーミングデータを連携伝送する連携状態2501へ移行する。具体的には、基地局222,223のそれぞれは、ストリーミング配信サーバ210から配信されるストリーミングデータを連携端末数と同数(図25の例では2つ)のグループ#0,#1に分割する。
そして、基地局222は、端末232の識別番号「0」に対応するグループ#0のデータを分割データ#0として端末232へ送信する(ステップS2511)。また、基地局223は、端末233の識別番号「1」に対応するグループ#1のデータを分割データ#1として端末233へ送信する(ステップS2512)。
端末232は、ステップS2511によって基地局222から送信される分割データ#0を近距離無線通信により端末233へ送信する(ステップS2513)。また、端末233は、ステップS2512によって基地局223から送信される分割データ#1を近距離無線通信により端末232へ送信する(ステップS2514)。
つぎに、端末232は、ステップS2511によって基地局222から送信された分割データ#0と、ステップS2514によって端末233から送信された分割データ#1と、を結合して元のストリーミングデータを再生する(ステップS2515)。また、端末233は、ステップS2512によって基地局223から送信された分割データ#1と、ステップS2513によって端末232から送信された分割データ#0と、を結合して元のストリーミングデータを再生する(ステップS2516)。
このように、連携受信において親端末である端末231が連携受信から離脱しても、たとえば端末232を新たな親端末とし、残った端末232,233によって連携受信を継続することができる。
なお、連携受信中に近距離無線通信での通信が途絶えた場合(電池切れ等)も、上記と同様に端末識別番号および連携端末数の再計算を行い、親端末が子端末へ連携更新を送信することによって連携離脱制御を行うことができる。
(分割の比率について)
上述した実施の形態において、ストリーミングデータを各端末に均等に分割して伝送する場合について説明したが、各端末と基地局間のリソースの状況に応じて各端末への分割データの配分に偏りを持たせてもよい。
たとえば、端末231〜233の3端末による連携で端末231,232は3G通信による接続であり、端末233は無線LAN通信による接続であるとする。この場合は、3G通信より無線LAN通信の方が使用可能な無線リソースに余裕があることが一般的であるため、端末233へ送信するデータを端末231,232より多めに配分してもよい。
具体的には、端末231〜233は、たとえば図2,図3A,図3Bに示した連携要求に、自端末の配分係数を格納する。配分係数は、通常は1に設定され、自端末の無線リソースに余裕がある状況(無線LAN使用時等)の場合には1より大きく設定される。配分係数によって、分割データのサイズが変更される。たとえば、配分係数がXの端末は、配分係数が1の端末に比べてX倍の分割データを受信する。
たとえば、親端末である端末231は、各端末の識別番号を割り振る際に、1端末に対して配分係数分の識別番号を割り振る。具体的には、端末231は、配分係数Xを通知してきた端末に対してはX個の識別番号を割り振る。また、連携端末数は、割り振った識別番号の総数とする。そして、上述した連携応答やデータ分割送信指示には、複数の識別番号を設定可能とする。
基地局500は、データ分割において、複数の識別番号それぞれに対してデータ分割処理を行い、生成された分割データを端末400に送信する。具体的には、基地局500は、X個の識別番号を割り振られた端末にはX個の分割データを送信する。これにより、使用する無線リソースに偏りを持たせた連携受信を行うことが可能となる。このため、たとえば輻輳を軽減することができ、通信品質を向上させることが可能になる。
(伝送レートの向上について)
上述した実施の形態においては、無線区間の使用リソース削減を行うことができることについて説明したが、無線区間のリソースが逼迫していない場合は使用リソース削減を行わなくてもよい。この場合は、ストリーミングデータを複数の端末400で連携受信することにより、伝送レートを向上させることが可能となる。
たとえば、基地局500は、データ分割送信指示の受信時に、無線リソースを削減するチャネル構成変更の削減率をX/連携端末数とする。そして、基地局500は、基地局500とストリーミング配信サーバ210との間で使用する通信リソースをX倍するようチャネル構成変更を実施する。これにより、伝送レートをX倍とすることが可能となる。
(連携受信の対象のデータについて)
上述した実施の形態においては、ストリーミングデータを連携受信する場合について説明したが、連携受信の対象のデータはストリーミングデータに限らない。たとえば、連携受信の対象のデータは、同一のコンテンツを同時期に複数の端末が受信し得るデータに適用することができる。
(端末の移動速度による連携の制御)
上述したように、連携中の子端末が近距離無線通信の圏外となった場合等は、親端末が外れた端末を除外して改めて連携制御(連携端末数の再計算や識別番号の振り直し等)を行う。また、連携中の親端末が近距離無線通信の圏外となった場合等は、各子端末の連携制御は解除され、いずれかの子端末が親端末となって連携グループが構築される。このため、連携に加わった端末が、直後に圏外となるような状況では連携受信が不安定となる場合がある。
これに対して、たとえば、端末の移動速度の差異による連携抑止を行う構成としてもよい。具体的には、新たに連携に加わる端末が送信する連携要求に、自端末の移動速度を示す移動速度情報を付加する。自端末の移動速度は、たとえばGPS(Global Positioning System:全地球測位システム)や加速度センサなどによって取得することができる。
親端末は、受信した連携要求に付加された移動速度情報が示す移動速度と自端末の移動速度との比較を行い、一定値以上の差異がある場合は、連携受信を受信していないとみなし、連携要求の送信元を連携対象としないようにする。
たとえば、道路沿いのある事務所内で複数の端末(移動速度0[km/h])がストリーミングデータを連携受信している際に、自動車(移動速度50[km/h])に乗って通りがかった端末が同一のストリーミングデータの受信を開始したとする。この場合は、事務所内の親端末は、自転車の端末と自端末との移動速度の差が50[km/h]と大きいため、自転車の端末を連携受信に加える制御を行わない。これにより、自転車の端末を連携受信に加えた後、すぐに自転車の端末が連携受信から離脱し、連携受信が不安定になることを回避することができる。
また、たとえば、バス車内で複数の端末(移動速度30[km/h])がストリーミングデータを連携受信している際に、傍の歩道を歩行中の人物の端末(移動速度3[km/h])が同一のストリーミングデータの受信を開始したとする。この場合は、バス車内の親端末は、歩行中の人物の端末と自端末との移動速度の差が27[km/h]と大きいため、歩行中の人物の端末を連携受信に加える制御を行わない。これにより、歩行中の人物の端末を連携受信に加えた後、すぐに歩行中の人物の端末が連携受信から離脱し、連携受信が不安定になることを回避することができる。
このように、親端末は、自端末が受信中のストリーミングデータと同一のストリーミングデータの受信を開始する無線端末であって、自端末との移動速度の差が所定値以下である無線端末を連携先の無線端末として検出するようにしてもよい。これにより、連携受信をより安定させることができる。
または、上述したストリーミング開始通知応答に、自端末の移動速度を示す移動速度情報を付加してもよい。そして、新たにストリーミングデータの受信を開始する端末は、受信したストリーミング開始通知応答に付加された移動速度情報が示す速度と、自端末の速度と、に一定値以上の差異がある場合は、連携受信に加わらないようにする。
(端末の通信品質による連携の制御)
また、上述したように、親端末は、自端末との通信品質(たとえば通信速度)が低い端末については連携受信に加えないようにしてもよい。具体的には、新たに連携に加わる端末が送信する連携要求に、自端末の近距離通信の通信品質を示す通信品質情報を付加する。通信品質情報には、たとえば近距離通信の規格や性能を示す情報や、近距離通信による通信速度や電波環境の測定結果などを示す情報を用いることができる。
親端末は、受信した連携要求に付加された通信品質情報が示す通信品質が所定の条件を満たさない場合は、連携受信を受信していないとみなし、連携要求の送信元を連携対象としないようにする。このように、親端末は、自端末が受信中のストリーミングデータと同一のストリーミングデータの受信を開始する無線端末であって、自端末との直接通信における通信品質が所定の条件を満たす無線端末を連携先の無線端末として検出するようにしてもよい。これにより、連携受信における伝送効率の低下を抑えることができる。
以上説明したように、通信方法、無線端末および通信システムによれば、無線リソースの使用効率を向上させることができる。
たとえば、伝送レートを維持したまま、無線区間の無線リソースの使用量を低減することが可能になる。これにより、たとえば通信事業者は、空いた無線リソースを使用して、新たなユーザの獲得や、新たなサービスの提供を図ることができる。また、無線区間リソース拡張のための基地局や無線LANアクセスポイント等の増設を行わなくてもよいため、コストを低減することができる。
また、無線リソースの使用量を抑えつつ、より高速なデータ伝送が可能となる。たとえば1つの端末がすべてのデータを受信して他の端末に配信する方式に比べて、たとえばより大容量のストリーミングデータの配信を行うことができる。
また、端末および基地局によって分割制御を行うことが可能であるため、たとえば分割制御をサーバ主導で行う構成に比べて導入コストを低減することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)他の無線端末との間で直接通信可能な無線端末による通信方法において、
前記他の無線端末の中から特定のストリーミングデータを受信中の所定端末を検出し、
前記所定端末を検出した場合に前記ストリーミングデータのうちの一部のデータを基地局から受信し、
前記ストリーミングデータのうちの前記一部のデータとは異なる部分のデータを前記所定端末から受信し、
受信した前記一部のデータと前記異なる部分のデータとを結合し、
結合結果に基づいて前記ストリーミングデータを出力する、
ことを特徴とする通信方法。
(付記2)受信した前記一部のデータを前記所定端末へ送信することを特徴とする付記1に記載の通信方法。
(付記3)前記所定端末を複数検出した場合は、複数の前記所定端末のそれぞれから前記異なる部分のデータのうちの異なる部分を受信することを特徴とする付記1または2に記載の通信方法。
(付記4)前記ストリーミングデータを示す情報を含む信号を前記他の無線端末へ送信し、
送信した前記信号に対する応答信号を受信することによって前記所定端末を検出する、
ことを特徴とする付記1〜3のいずれか一つに記載の通信方法。
(付記5)前記ストリーミングデータのうちの前記一部のデータを特定可能な情報を前記基地局へ送信することにより前記一部のデータを前記基地局から受信することを特徴とする付記1〜4のいずれか一つに記載の通信方法。
(付記6)前記所定端末と自端末との合計の端末数と、前記所定端末に含まれる無線端末によって前記所定端末と自端末とにそれぞれ割り当てられた識別情報のうちの自端末に割り当てられた識別情報と、を前記基地局へ送信し、
前記基地局から受信する前記一部のデータは、前記ストリーミングデータを前記端末数に分割した各データのうちの前記自端末に割り当てられた識別情報に対応するデータである、
ことを特徴とする付記5に記載の通信方法。
(付記7)前記一部のデータおよび前記異なる部分のデータは、それぞれ独立して復号可能なデータであることを特徴とする付記1〜6のいずれか一つに記載の通信方法。
(付記8)前記一部のデータおよび前記異なる部分のデータのそれぞれは、前記ストリーミングデータから周期的にデータを間引きした残余のデータに基づき生成されることを特徴とする付記7に記載の通信方法。
(付記9)他の無線端末との間で直接通信可能な無線端末による通信方法において、
前記他の無線端末の中から、自端末が受信中のストリーミングデータの受信を開始する所定端末を検出し、
前記所定端末を検出した場合に前記ストリーミングデータのうちの一部のデータを基地局から受信し、
前記ストリーミングデータのうちの前記一部のデータとは異なる部分のデータを前記所定端末から受信し、
受信した前記一部のデータと前記異なる部分のデータとを結合し、
結合結果に基づいて前記ストリーミングデータを出力する、
ことを特徴とする通信方法。
(付記10)自端末との直接通信における通信品質が所定の条件を満たす前記所定端末を検出することを特徴とする付記8または9に記載の通信方法。
(付記11)自端末との移動速度の差が所定値以下である前記所定端末を検出することを特徴とする付記10に記載の通信方法。
(付記12)他の無線端末との間で直接通信可能な無線端末において、
前記他の無線端末の中から特定のストリーミングデータを受信中の所定端末を検出する検出部と、
前記検出部によって前記所定端末が検出された場合に前記ストリーミングデータのうちの一部のデータを受信する第1受信部と、
前記ストリーミングデータのうちの前記一部のデータとは異なる部分のデータを前記所定端末から受信する第2受信部と、
前記第1受信部によって受信されたデータと、前記第2受信部によって受信されたデータと、を結合する結合部と、
前記結合部による結合結果に基づいて前記ストリーミングデータを出力する出力部と、
を備えることを特徴とする無線端末。
(付記13)他の無線端末との間で直接通信可能な無線端末において、
前記他の無線端末の中から、自端末が受信中のストリーミングデータの受信を開始する所定端末を検出する検出部と、
前記検出部によって前記所定端末が検出された場合に前記ストリーミングデータの一部を基地局から受信する第1受信部と、
前記ストリーミングデータのうちの前記一部のデータとは異なる部分のデータを前記所定端末から受信する第2受信部と、
前記第1受信部によって受信されたデータと、前記第2受信部によって受信されたデータと、を結合する結合部と、
前記結合部による結合結果に基づいて前記ストリーミングデータを出力する出力部と、
を備えることを特徴とする無線端末。
(付記14)互いに直接通信可能な複数の無線端末と、
ストリーミングデータを前記複数の無線端末の端末数のデータに分割し、分割した各データをそれぞれ前記複数の無線端末へ送信する基地局と、を含み、
前記複数の無線端末のそれぞれは、
前記基地局から受信したデータを互いに送受信し、
前記基地局から受信したデータと、前記複数の無線端末のうちの他の無線端末から受信したデータと、を結合し、
結合結果に基づいて前記ストリーミングデータを出力する、
ことを特徴とする通信システム。