(57)【要約】【課題】各端末においてストリームデータの再生が途切れることを抑制する。【解決手段】無線通信端末は、第１のネットワークまたは第２のネットワークのいずれかに接続する通信モジュールであって、第１のネットワークに接続されるときに前記第１のネットワークを介して前記第１の無線通信端末からストリームデータを受信し、第２のネットワークに接続されるときに前記第２のネットワークを介して前記少なくとも一つの第２の無線通信端末にストリームデータを送信する、前記通信モジュールを有する。また、前記無線通信端末は、前記受信されたストリームデータを保存する記憶装置と、前記記憶装置に保存された前記ストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記通信モジュールが前記第１および前記第２のネットワークに接続する時間長を求めるプロセッサと、を有する。【選択図】      図１０
2016092563.tif 000002
【特許請求の範囲】
【請求項１】
第１の無線通信端末と少なくとも一つの第２の無線通信端末とに接続可能に構成される無線通信端末であって、
第１のネットワークまたは第２のネットワークのいずれかに接続するよう構成される通信モジュールであって、
前記第１のネットワークに接続されるときに前記第１のネットワークを介して前記第１の無線通信端末からストリームデータを受信し、
前記第２のネットワークに接続されるときに前記第２のネットワークを介して前記少なくとも一つの第２の無線通信端末にストリームデータを送信する、ように構成された前記通信モジュールと、
前記通信モジュールにより受信されたストリームデータを保存する記憶装置と、
前記記憶装置に保存された前記ストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記通信モジュールが前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求めるように構成されたプロセッサと、
を備える無線通信端末。
【請求項２】
前記記憶装置と前記少なくとも一つの第２の無線通信端末の記憶装置の中から、保存されているストリームデータの量を比較し、
前記比較された保存されているストリームデータの量に応じて優先順位が決定され、
決定された優先順位に基づき、前記時間長が求められる、
請求項１記載の無線通信端末。
【請求項３】
前記比較の結果、保存されているストリームデータの量が最も少ない記憶装置に保存されるストリームデータの量が最大となるように、前記時間長が、求められる、
請求項２記載の無線通信端末。
【請求項４】
前記無線通信端末の記憶装置および前記少なくとも一つの第２の無線通信端末の記憶装置の少なくとも一つに対する、オフセット値が設定され、
前記設定されたオフセット値に基づいて、前記時間長が求められる、
請求項１乃至３の何れか一項に記載の無線通信端末。
【請求項５】
前記少なくとも一つの第２の無線通信端末に接続される少なくとも一つの第３の無線通信端末に対して、前記少なくとも一つの第２の無線通信端末がストリームデータを転送する転送状況に基づき、前記オフセット値が設定される、
請求項４に記載の無線通信端末。
【請求項６】
前記第１のネットワークまたは前記第２のネットワークを接続切り換えする処理に要する時間に基づき、前記時間長が求められる、
請求項１乃至５の何れか一項に記載の無線通信端末。
【請求項７】
前記通信モジュールは、
前記第２の無線通信端末の記憶装置に保存されているストリームデータの量の通知を受ける、
請求項１乃至６の何れか一項に記載の無線通信端末。
【請求項８】
第１の無線通信端末と、
少なくとも一つの第２の無線通信端末と、
前記第１の無線通信端末と前記少なくとも一つの第２の無線通信端末との通信を中継するよう構成された無線通信端末を有する無線通信システムであって、
前記無線通信端末が、
第１のネットワークまたは第２のネットワークのいずれかに接続するよう構成され、
前記第１のネットワークに接続されるときに前記第１のネットワークを介して前記第１の無線通信端末からストリームデータを受信し、
前記第２のネットワークに接続されるときに前記第２のネットワークを介して前記少なくとも一つの第２の無線通信端末にストリームデータを送信し、
前記受信されたストリームデータを保存し、
前記保存された前記ストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、
無線通信システム。
【請求項９】
第１のネットワークまたは第２のネットワークのいずれかに接続可能に構成される無線通信端末の通信方法であって、
前記第１のネットワークを介して第１の無線通信端末からストリームデータを受信し、
前記受信したストリームデータを保存し、
前記第２のネットワークを介して少なくとも一つの第２の無線通信端末に前記ストリームデータを送信し、
前記保存されたストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、
無線通信端末の通信方法
【請求項１０】
第１のネットワークまたは第２のネットワークのいずれかに接続可能に構成される無線通信端末の通信方法をコンピュータに実行させるプログラムであって、
前記第１のネットワークを介して第１の無線通信端末からストリームデータを受信し、
前記受信したストリームデータを保存し、
前記第２のネットワークを介して少なくとも一つの第２の無線通信端末に前記ストリームデータを送信し、
前記保存されたストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、
ことを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、無線通信端末、無線通信方法、無線通信システム及びプログラムに関する。
【背景技術】
【０００２】
基地局又は上流ネットワークの障害等で移動体通信網を介した通信が困難となる場合に、インフラ網の復旧までに互いの情報を共有するための方式として、無線通信端末間で自律分散的に通信可能な端末間通信が期待されている。特に映像や音声などのストリームデータの共有が必要とされており、各無線通信端末で受信したストリームデータを順次再生しつつ、他の端末にストリームデータを転送するといったシステムが求められている。ストリームデータの再生にあたっては、ユーザビリティの観点から、再生が途切れないことが望ましい。
【０００３】
一方で、端末の台数が多いとき、一つのチャネルではキャパシティが不足し、すべての端末にデータを配信することが不可能になる。この場合は、複数のチャネルを併用して、配信を行うことが有用である。しかしながら、多くの端末では、無線通信インタフェースを一つしか備えておらず、複数のチャネルを同時には使用することができない。このため、周期的に、ある時間帯では一方のチャネルを介して他の通信端末（以下、上流通信端末）からストリームデータを受信し、別のある時間帯では他方のチャネルを介してさらに他の通信端末（以下、下流通信端末）にストリームデータを転送する形で、チャネル間を中継する通信端末を設ける必要がある。
【０００４】
あるいは、通信規格上の制約から一つのネットワークに収容できる端末の台数が限定されている場合でも、同様にネットワーク間を中継する端末を設ける必要がある。例えば、Ｗｉ−Ｆｉ（登録商標）Ｄｉｒｅｃｔを用いて端末間通信を行う場合は、一つのネットワークグループに収容できる端末の台数に上限が存在する。このため、多くの端末間でストリームデータを共有するためには、周期的に、ある時間帯では一方のネットワークグループに接続して上流通信端末からストリームデータを受信し、別のある時間帯では他方のネットワークグループに接続して下流通信端末にストリームデータを転送する通信端末を設ける必要がある。
【０００５】
このように、異なるチャネルや異なるネットワークグループを中継する端末を設ける方式の一例として、特許文献１や非特許文献１に記載の技術が知られている。
【０００６】
特許文献１では、複数のサブネットワークから構成されるシステムにおいて、各サブネットワークにマスタ端末と呼ばれる端末と、サブネットワーク間の中継を行う中継端末が設けられている。
各マスタ端末が、自身の属するネットワークへの参加または離脱を中継端末に対して指示する形で、異なるサブネットワークに属する端末間でのデータ送受信を実現している。
【０００７】
非特許文献１に記載の技術では、Ｂｌｕｅｔｏｏｔｈ（登録商標）において異なるピコネット間の通信を実現するための方式が記載されている。Ｂｌｕｅｔｏｏｔｈ（登録商標）においては時分割多重方式を用いて多重通信を実現しているため、各ピコネットにおいて各端末へのスロット割り当てを行う必要がある。非特許文献１では、各端末の推定送信キュー長で定義される通信需要に、公平に応えることを目的とした、スロット割り当て方式が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４４０８４９６号公報
【非特許文献】
【０００９】
【非特許文献１】Ｒ．Ｋａｐｏｏｒ，Ａ．Ｚａｎｅｌｌａ，ａｎｄ  Ｍ．Ｇｅｒｌａ，“Ａ  Ｆａｉｒ  ａｎｄ  Ｔｒａｆｆｉｃ  Ｄｅｐｅｎｄｅｎｔ  Ｓｃｈｅｄｕｌｉｎｇ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｂｌｕｅｔｏｏｔｈ  Ｓｃａｔｔｅｒｎｅｔｓ，”Ｍｏｂｉｌｅ  Ｎｅｔｗｏｒｋｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，ｖｏｌ．９，ｎｏ．１，ｐｐ．９−２０，Ｆｅｂ．２００４
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記の先行技術では各通信端末でストリームデータを途切れなく再生できなくなるケースが発生する。
【００１１】
各通信端末においてストリームデータを途切れなく再生するためには、ストリームデータの各再生位置について、対応するストリームデータが再生されるよりも先に、当該の再生位置に対応したストリームデータの受信が完了していなければならない。すなわち、中継端末においてストリームデータを途切れなく再生するためには、各再生位置のストリームデータを、自身が再生するよりも先に上流端末から受信しておく必要がある。さらに、下流通信端末においてストリームデータを途切れなく再生するために、中継端末は、下流通信端末において各再生位置のストリームデータが再生されるよりも先に、当該のストリームデータを下流通信端末に送信しておく必要がある。
【００１２】
このように、中継通信端末は自身の再生を途切れさせないための上流通信端末からのストリームデータ受信と、下流通信端末の再生を途切れさせないための下流通信端末へのストリームデータ送信と、を両立させる必要がある。ここで、中継通信端末は上流通信端末からのストリームデータ受信と、下流通信端末へのストリームデータ送信を同時には行うことができない点に注意されたい。このため、上流通信端末からのストリームデータ受信を行う時間帯と、下流通信端末へのストリームデータ送信を行う時間帯とを周期的に分け、さらにそれぞれの時間帯を自通信端末および下流通信端末の再生が途切れないようスケジューリングする必要がある。
【００１３】
特許文献１に記載の技術では、マスタ端末が中継端末にサブネットワークへの参加または離脱するタイミングについての言及がされておらず、上述の、各端末においてストリームデータを途切れなく再生するためのスケジューリングが考慮されていない。このため、各端末でストリームデータを途切れなく再生させることはできない。
【００１４】
また、非特許文献１では、リンクレイヤにおける送信需要に基づいてスケジューリングが行われている。つまり、非特許文献１には、各端末でストリームデータを途切れなく再生させることが、開示されていない。たとえば、ある端末間のリンクの通信品質が悪く、トランスポートレイヤのスループット制御によって、通信速度が低くなっている場合、非特許文献１に記載の技術では送信需要が小さいと判断して当該の端末間の通信時間を短くしてしまう。しかし、リンクの通信品質が悪いときは、むしろ、通信時間をより長く割り当て、各再生位置におけるストリームデータが再生されるまでに、当該のストリームデータの送信を完了させる必要があり、非特許文献１に記載の技術は逆効果である。あるいは、ある端末においてユーザの操作等でストリームデータの再生位置を進めた場合も、当該の端末においては、より通信時間を長く割り当て、より多くのストリームデータを受信する必要があるが、非特許文献１に記載の技術ではこれに対応することができない。
【００１５】
本発明の例示的な実施形態の目的は、上述した課題である、各端末においてストリームデータの再生が途切れることを抑制できる無線通信端末、無線通信方法、無線通信システム及びプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
例示的な実施形態の無線通信端末は、第１の無線通信端末と少なくとも一つの第２の無線通信端末とに接続可能に構成される。該無線通信端末は、第１のネットワークまたは第２のネットワークのいずれかに接続するよう構成される通信モジュールであって、前記第１のネットワークに接続されるときに前記第１のネットワークを介して前記第１の無線通信端末からストリームデータを受信し、前記第２のネットワークに接続されるときに前記第２のネットワークを介して前記少なくとも一つの第２の無線通信端末にストリームデータを送信する、ように構成された前記通信モジュールを有する。また、前記無線通信端末は、前記通信モジュールにより受信されたストリームデータを保存する記憶装置と、前記記憶装置に保存された前記ストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記通信モジュールが前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求めるように構成されたプロセッサと、を有する。
【００１７】
また、例示的な実施形態の無線通信システムは、第１の無線通信端末と、少なくとも一つの第２の無線通信端末と、前記第１の無線通信端末と前記少なくとも一つの第２の無線通信端末との通信を中継するよう構成された無線通信端末を有する。前記無線通信端末は、第１のネットワークまたは第２のネットワークのいずれかに接続するよう構成され、前記第１のネットワークに接続されるときに前記第１のネットワークを介して前記第１の無線通信端末からストリームデータを受信し、前記第２のネットワークに接続されるときに前記第２のネットワークを介して前記少なくとも一つの第２の無線通信端末にストリームデータを送信し、前記受信されたストリームデータを保存する。また、前記無線通信端末は、前記保存された前記ストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める。
【００１８】
また、例示的な実施形態の通信方法は、第１のネットワークまたは第２のネットワークのいずれかに接続可能に構成される無線通信端末の通信方法である。通信方法において、前記第１のネットワークを介して第１の無線通信端末からストリームデータを受信し、前記受信したストリームデータを保存し、前記第２のネットワークを介して少なくとも一つの第２の無線通信端末に前記ストリームデータを送信し、前記保存されたストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長が求められる。
【００１９】
また、例示的な実施形態のプログラムは、第１のネットワークまたは第２のネットワークのいずれかに接続可能に構成される無線通信端末の通信方法をコンピュータに実行させる。前記プログラムは、前記第１のネットワークを介して第１の無線通信端末からストリームデータを受信し、前記受信したストリームデータを保存し、前記第２のネットワークを介して少なくとも一つの第２の無線通信端末に前記ストリームデータを送信し、前記保存されたストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、ことをコンピュータに実行させる。
【発明の効果】
【００２０】
本発明の例示的な実施形態によれば、各通信端末においてストリームデータの再生が途切れることを抑制できる。
【図面の簡単な説明】
【００２１】
【図１】例示的な実施形態に係る通信端末による端末間通信の概要を示す。
【図２】第１の例示的な実施形態に係る中継通信端末の構成を示す。
【図３】第１の例示的な実施形態に係る下流通信端末の構成を示す。
【図４】第１の例示的な実施形態に係る上流通信端末の構成を示す。
【図５】第１の例示的な実施形態に係るフローチャートを示す。
【図６】第２の例示的な実施形態に係る中継通信端末の構成を示す。
【図７】第２の例示的な実施形態に係る中継通信端末の、再生バッファ量オフセット保存部に保存されるデータの一例を示す。
【図８】第２の例示的な実施形態に係るフローチャートを示す。
【図９】例示的な実施形態に係るシステム構成例を示す。
【図１０】例示的な実施形態に係る通信端末の概要を示す。
【発明を実施するための形態】
【００２２】
例示的な実施形態について、図面を参照して詳細に説明する。本明細書における通信端末は、移動可能な無線通信端末を対象とする。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。以下に説明される複数の例示的な実施形態は、独立に実施されることもできるし、適宜組み合わせて実施されることもできる。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００２３】
図１は、例示的な実施形態に係る通信端末による端末間通信の概要を示す。
【００２４】
図１に示すように、通信端末２２は、通信端末２１、通信端末２３、通信端末２４と自律分散的に端末間通信が可能である。通信端末２１と通信端末２２の間はネットワーク１０（以下、上流ネットワーク）を介して接続されている。また、通信端末２２、通信端末２３、通信端末２４との間はネットワーク１１（以下、下流ネットワーク）を介して接続されている。このとき、通信端末２２は上流ネットワーク１０と下流ネットワーク１１に同時には接続できない。通信端末２１はストリームデータの上流通信端末２１であり、通信端末２３と通信端末２４は下流通信端末、通信端末２２は上流通信端末２１と、下流通信端末２３又は下流通信端末２４との間のストリームデータを中継する中継通信端末２２である。
【００２５】
［第１の例示的な実施形態］
図２〜４は、第１の例示的な実施形態に係る通信端末の構成を示す。図２はストリームデータを中継する中継通信端末を示す。図３は下流通信端末を示す。図４は上流通信端末を示す。なお、ここでは便宜上、中継通信端末、下流通信端末および上流通信端末を個別に説明するが、これらは同一の通信端末上で実装されていてもよい。
【００２６】
はじめに、第１の例示的な実施形態におけるストリームデータを中継する通信端末について図２を用いて説明する。
【００２７】
ストリームデータを中継する通信端末１００は、通信部１１０、演算処理部１２０、記憶部１３０、表示部１４０をそれぞれ備える。
【００２８】
通信部１１０は、端末間通信によって他の通信端末と通信する機能を有する。通信部１１０は、例えばＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１で規定されている無線ＬＡＮ通信を行うための、無線のインタフェース部および周辺回路を備え、またそれらを制御するためのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のカーネルモジュールやドライバ等を含んでもよい。また、通信部１１０は、他の通信端末の検知や、ルーティングといったネットワーク制御を行ってもよい。
【００２９】
通信部１１０は、上流ネットワークと下流ネットワークのいずれかに接続して、通信を行う。また、通信部１１０は、ネットワーク接続指示部１２０Ｅからの指示に従って、周期的に上流ネットワークへの接続と、下流ネットワークへの接続を切り替える。
【００３０】
演算処理部１２０は、演算処理部１２０が実現する各機能として、受信処理部１２０Ａ、送信処理部１２０Ｂ、再生バッファ量通知受信部１２０Ｃ、接続時間計算部１２０Ｄ、ネットワーク接続指示部１２０Ｅ、再生処理部１２０Ｆ、再生バッファ量検出部１２０Ｇを備える。なお、演算処理部が実現する各機能は各々が並行して動作してもよい。
【００３１】
受信処理部１２０Ａは、通信部を介して、上流通信端末３００よりストリームデータを受信する処理を行う。上流通信端末との通信プロトコルは任意である。例えば、通信プロトコルとして、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）等が用いられてもよい。受信処理部１２０Ａは、通信部１１０が上流通信端末と通信可能なネットワークに接続しているときのみ動作する。また、受信処理部１２０Ａは、受信したストリームデータを順次ストリームデータ保存部１３０Ａに追加して保存する。
【００３２】
送信処理部１２０Ｂは、ストリームデータ保存部１３０Ａからストリームデータを読み出し、通信部１１０を介して、下流通信端末２００にストリームデータの送信を行う。受信処理部１２０Ａと同様、下流通信端末２００との通信プロトコルは任意である。送信処理部１２０Ｂは、通信部１１０が下流通信端末２００と通信可能なネットワークに接続しているときのみ動作する。また、送信処理部１２０Ｂは、各周期内において、後述する接続時間計算部によって計算される、各下流通信端末２００との通信時間長だけ、各下流通信端末２００との通信を行う。
【００３３】
再生バッファ量通知受信部１２０Ｃは、下流通信端末２００から送信された再生バッファ量通知の受信処理を行う。
【００３４】
ここで、再生バッファ量とは、その通信端末で保存されているストリームデータの最終の再生位置と、再生処理部でその時点で再生中である再生位置との差分の時間を表す。すなわち、仮にその通信端末にストリームデータが追加されなかった場合に、再生が途切れるまでの時間を表す。このため、ある端末における再生バッファ量は、その通信端末における再送の途切れやすさを表す指標の一つと捕えることができる。たとえば、ある通信端末で先頭から再生位置６０秒までのストリームデータを受信済みであり、また先頭から再生位置４０秒のストリームデータを再生中であるとき、その通信端末の再生バッファ量は６０−４０＝２０秒となる。
【００３５】
接続時間計算部１２０Ｄは、再生バッファ量通知受信部１２０Ｃによって受信した下流通信端末の再生バッファ量と、後述する再生バッファ量検出部１２０Ｇによって検出された自通信端末の再生バッファ量に応じて、通信部１１０が、次のネットワーク接続周期において、上流ネットワークに接続する時間長と、下流ネットワークに接続する時間長とを計算する。
【００３６】
特に、接続時間制御部１２０Ｄは、次のネットワーク接続周期（以下、単に周期）の後に期待される、自通信端末１００および各下流通信端末２００における再生バッファ量（以下、期待再生バッファ量）のうちの最小値が最大になるように、上流ネットワークおよび下流ネットワークに接続する時間長をそれぞれ計算する。すなわち、次周期内に、自通信端末１００が上流通信端末３００からストリームデータを受信するべき時間長と、下流通信端末２００のそれぞれについてストリームデータを送信するべき時間長とを求め、前者を上流ネットワークに接続する時間、後者の合計を下流ネットワークに接続する時間とする。
【００３７】
ここで、１周期内に送信および受信できるストリームデータ量の合計は、ネットワークのスループットに周期長を乗じることで求めることができる。さらに、これをストリームデータの平均データレートで除することで、１周期内に自通信端末１００および下流通信端末２００のストリームデータ保存部１３０Ａに追加することのできるストリームデータの再生時間長の合計を求めることができる。接続時間制御部１２０Ｄは、自通信端末１００および各下流通信端末２００における期待再生バッファ量の最小値が最大になるように、この再生時間長を自通信端末１００および各下流通信端末２００に割り振り、その割り振りを行うための上流ネットワークおよび下流ネットワークに接続する時間長を求める。
【００３８】
前述のように、ある端末における再生バッファ量はその端末における再生の途切れやすさを表す指標と考えることができるため、この最小値を最大化することで、再生が途切れやすくなっている端末ほど優先的にストリームデータの受信が行われ、結果すべての通信端末で再生を途切れにくくする効果が得られる。
【００３９】
以下、接続時間計算部１２０Ｄの動作について、具体例を用いて説明する。
【００４０】
たとえば、ストリームデータのデータレートが１Ｍｂｐｓ、ネットワークのスループットが１０Ｍｂｐｓ、通信部のネットワーク接続周期が６秒であるときで、中継通信端末１００が１つの上流通信端末３００から受信したストリームデータを３つの異なる下流通信端末２００に転送している場合が例として用いられる。このとき、１秒あたりに１０／１＝１０秒分の再生時間に相当するストリームデータを、中継通信端末１００は、受信または送信できる。よって、１周期内に１０＊６＝６０秒分の再生時間長に相当するストリームデータを、中継通信端末１００は、受信または送信できる。
【００４１】
このときの一例として、自通信端末１００の再生バッファ量が５０秒、下流通信端末２００の再生バッファ量がそれぞれ４０秒、５０秒、６０秒であったとき、次周期においては、自通信端末１００では上流通信端末３００から１５秒分のストリームデータを受信し、各下流通信端末２００にはそれぞれ２５秒、１５秒、５秒分のストリームデータを送信することで、自通信端末１００および下流通信端末２００の期待再生バッファ量の最小値が最大化される。
【００４２】
このとき、自通信端末１００は、上流通信端末３００と１５／１０＝１．５秒、下流通信端末２００にそれぞれ２５／１０＝２．５秒、１５／１０＝１．５秒、５／１０＝０．５秒だけ通信することになる。すなわち、上流ネットワークへの接続時間は１．５秒、下流ネットワークへの接続時間は２．５＋１．５＋０．５＝４．５秒となる。なお、この場合、次周期後の自通信端末１００における期待再生バッファ量は、元の５０秒から、受信によって追加された１５秒を加算し、１周期の間に再生位置が進むことによって減少する６秒を減算することで、５０＋１５−６＝５９秒と求められる。同様に、各下流通信端末２００における次周期後の期待再生バッファ量は、それぞれ、４０＋２５−６＝５９、５０＋１５−６＝５９、６０＋１５−６＝５９となる。
【００４３】
別の例として、自通信端末１００の再生バッファ量が２０秒、下流通信端末２００の再生バッファ量がそれぞれ１０秒、３０秒、６０秒であったとき、次周期においては、自通信端末１００では上流通信端末３００から２０秒分のストリームデータを受信し、各下流通信端末２００にはそれぞれ３０秒、１０秒、０秒分のストリームデータを送信することで、自通信端末１００および下流通信端末２００の期待再生バッファ量の最小値が最大化される。このとき、上流ネットワークへの接続時間は２０／１０＝２秒、下流ネットワークへの接続時間は（３０＋１０＋０）／１０＝４秒と求められる。なお、このときの次周期後の期待再生バッファ量は、自通信端末１００においては２０＋２０−６＝３４秒、各下流通信端末２００においては、それぞれ、１０＋３０−６＝３４秒、３０＋１０−６＝３４秒、６０＋０−６＝５４秒となる。
【００４４】
さらに別の例として、自通信端末１００の再生バッファ量が６０秒、下流通信端末２００の再生バッファ量がそれぞれ１０秒、２０秒、３０秒であったとき、次周期においては、自通信端末１００では上流通信端末３００からの受信は行わず、各下流通信端末２００にはそれぞれ３０秒、２０秒、１０秒分のストリームデータを送信することで、自通信端末１００および下流通信端末２００の期待再生バッファ量の最小値が最大化される。この場合は、次周期では上流ネットワークには接続せず、下流ネットワークにのみ接続される。
【００４５】
なお、ここで用いるネットワークのスループットはあらかじめ与えられた所定の値を用いてもよいし、図示しない別のスループット手段により求められたものを用いてもよい。あるいは、ネットワークのスループットは、受信処理部１２０Ａまたは送信処理部１２０Ｂによる受信処理または送信処理の履歴から算出されてもよい。
【００４６】
さらに、通信部１１０がネットワークを切り替える際には、切り替えのための時間を要することがある。このため、接続時間計算部１２０Ｄはこの切り替え時間を更に考慮した上で、上述と同様の上流ネットワークおよび下流ネットワークへの接続時間の計算を行ってもよい。
【００４７】
さらに、ここでは周期は、上述のように固定長であってもよいし、再生バッファ量等に応じて可変であってもよい。たとえば、自通信端末１００および下流通信端末２００の再生バッファ量が十分ある場合は、周期を長くする、といった制御を行ってもよい。
【００４８】
ネットワーク接続指示部１２０Ｅは、接続時間計算部１２０Ｄの計算した上流ネットワークおよび下流ネットワークへの接続時間に従って、通信部１１０に対して上流ネットワークまたは下流ネットワークへの接続を指示する。ネットワーク接続指示部１２０Ｅは、上流ネットワークへの接続を通信部１１０に指示した後、上流ネットワークへの接続時間が経過すると、通信部１１０に下流ネットワークへの接続を指示する。また、ネットワーク接続指示部１２０Ｅは、下流ネットワークへの接続を通信部１１０に指示した後、下流ネットワークへの接続時間が経過すると、通信部１１０に上流ネットワークへの接続を指示する。
【００４９】
再生処理部１２０Ｆは、ストリームデータ保存部１３０Ａに保存されているストリームデータを読み出して、出力部１４０に表示するための処理を行う。再生処理部１２０Ｆは、読み出したストリームデータのデコード処理や、映像と音声の同期処理、処理遅延発生時のコマ落ちなどのストリームデータの再生に付随する処理を行ってよい。
【００５０】
再生バッファ量検出部１２０Ｇは、再生処理部１２０Ｆによって再生中であるストリームデータの再生位置と、ストリームデータ保存部１３０Ａに保存済みであるストリームデータの最終の再生位置とを比較し、両者の時間差を再生バッファ量として算出する。
【００５１】
記憶部１３０は、ストリームデータ保存部１３０Ａを含む。記憶部１３０は、磁気ディスクや半導体メモリなどで構成されていてよく、ストリームデータ等のデータを保持する機能をもつ。
【００５２】
ストリームデータ保存部１３０Ａは、受信処理部１２０Ａによって受信されたストリームデータを保存する機能をもつ。
【００５３】
出力部１４０は再生処理部１２０Ｆからの指示に従ってストリームデータを出力する機能を持つ。ストリームデータが映像である場合は、出力部１４０はブラウン管やＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）であってよい。あるいは、ストリームデータが音声の場合は、出力部１４０はスピーカやイヤホンであってよい。
【００５４】
次に、第１の例示的な実施形態におけるストリームデータを受信する下流通信端末について図３を用いて説明する。
【００５５】
ストリームデータを受信する通信端末２００は、通信部１１０、演算処理部２２０、記憶部１３０、表示部１４０をそれぞれ備える。通信部１１０、記憶部１３０、表示部１４０は前述した図２で示した通信端末１００のものと同様の機能を有する。
【００５６】
演算処理部２２０は、演算処理部２２０が実現する各機能として、受信処理部１２０Ａ、再生バッファ量送信部２２０Ｈ、再生処理部１２０Ｆ、再生バッファ量検出部１２０Ｇを備える。なお、演算処理部２２０が実現する各機能は各々が並行して動作してよい。
【００５７】
このうち、受信処理部１２０Ａ、再生処理部１２０Ｆ、再生バッファ量検出部１２０Ｇは図２で示した通信端末１００のものと同様の機能を有する。
【００５８】
再生バッファ量通知送信部２２０Ｈは、再生バッファ量検出部１２０Ｇによって算出される自通信端末２００における再生バッファ量を、中継通信端末１００へと送信する機能を有する。
【００５９】
次に、第１の例示的な実施形態にかかるストリームデータを送信する上流通信端末３００について図４を用いて説明する。
【００６０】
ストリームデータを送信する通信端末３００は、通信部１１０、演算処理部３２０、記憶部１３０をそれぞれ備える。通信部１１０、記憶部１３０は前述した図２および図３で示した通信端末１００および通信端末２００のものと同様の機能を有する。
【００６１】
演算処理部３２０が実現する機能として、送信処理部１２０Ｂを備える。送信処理部１２０Ｂは、図２で示した通信端末１００のものと同様の機能を有する
図４に示した通信端末３００において、ストリームデータは、あらかじめ保存されていてもよいし、さらに他の通信端末（図示せず）から受信してもよいし、カメラ等の入力デバイス（図示せず）から読み取って保存されていてもよい。
【００６２】
図５は、第１の例示的な実施形態に係る通信端末の動作を示すフローチャートである。図１に示すように、ある中継通信端末１００は、上流通信端末３００からストリームデータを受信し、下流通信端末２００へと送信するべき状態にあるとする。
【００６３】
まず、Ｓ１０１において、各下流通信端末２００の再生バッファ量検出部１２０Ｇが各下流通信端末２００の再生バッファ量の検出を行い、再生バッファ量通知送信部２２０Ｈがこれを中継通信端末１００に通知する。中継通信端末１００においては、再生バッファ量通知受信部１２０Ｃが各下流通信端末２００から再生バッファ量通知を受信するとともに、自通信端末１００の再生バッファ量を再生バッファ量検出部１２０Ｇから取得する。次に、収集した再生バッファ量を用いて接続時間計算部１２０Ｄが、自通信端末１００および下流通信端末２００の期待再生バッファ量の最小値が最大となるよう、上流ネットワークおよび下流ネットワークに接続する時間をそれぞれ計算する（Ｓ１０２）。その後、ネットワーク接続指示部１２０Ｅが通信部１１０に対して上流ネットワークに接続するよう指示する（Ｓ１０３）。上流通信端末３００の送信処理部１２０Ｂが中継通信端末１００へのストリームデータを送信し、中継通信端末１００の受信処理部１２０Ａが上流通信端末３００からストリームデータを受信する（Ｓ１０４）。接続時間計算部１２０Ｄによって算出された上流ネットワークへの接続時間が経過すると、ネットワーク接続指示部１２０Ｅは通信部１１０に対して下流ネットワークに接続するよう指示する（Ｓ１０５）。中継通信端末１００の送信処理部１２０Ｂが下流通信端末２００にストリームデータの送信を行うとともに、下流通信端末２００の受信処理部１２０Ａが中継通信端末１００からストリームデータの受信を行う（Ｓ１０６）。ここで、中継通信端末１００の送信処理部１２０Ｂは、接続時間計算部１２０Ｄによって算出された各下流通信端末２００への接続時間に従って、各下流通信端末２００との通信を行う。接続時間計算部１２０Ｄによって算出された下流ネットワークへの接続時間が経過すると、Ｓ１０１に戻る。
【００６４】
なお、Ｓ１０１およびＳ１０２の組、Ｓ１０３およびＳ１０４の組、１０５およびＳ１０６の組について、各組の実行順は前後してもよい。たとえば、Ｓ１０１、Ｓ１０２、Ｓ１０５、Ｓ１０６、Ｓ１０３、Ｓ１０４の順で、それぞれの処理が実行されてもよい。
【００６５】
このように、第１の例示的な実施形態の通信端末によれば、各通信端末でストリームデータを途切れなく再生させることができる。その理由は、通信端末の接続時間計算部が、各通信端末の再生バッファ量の最小値が最大となるように、接続時間を導出するためである。
【００６６】
［第２の例示的な実施形態］
図６は、第２の例示的な実施形態に係るストリームデータの中継通信端末４００の構成を示す。上流通信端末および下流通信端末は第１の例示的な実施形態と同様の構成であるため、説明を省略する。なお、中継通信端末、下流通信端末および上流通信端末の各機能は同一の通信端末上で実現されていてもよい。
【００６７】
第２の例示的な実施形態に係るストリームデータの中継通信端末４００は、通信部１１０、演算処理部４２０、記憶部１３０および表示部１４０を備える。このうち、通信部１１０および表示部１４０は第１の例示的な実施形態と同様の機能を有するため、詳細な説明を省略する。
【００６８】
演算処理部４２０は、演算処理部１２０が実現する各機能として、受信処理部１２０Ａ、送信処理部１２０Ｂ、再生バッファ量通知受信部１２０Ｃ、接続時間計算部４２０Ｄ、ネットワーク接続指示部１２０Ｅ、再生処理部１２０Ｆ、再生バッファ量検出部１２０Ｇを備える。これらのうち、接続時間計算部４２０Ｄのみが第１の例示的な実施形態と異なり、接続時間計算部４２０Ｄを除いた機能については第１の例示的な実施形態と同様の機能を有する。なお、演算処理部１２０Ｂが実現する各機能は各々が並行して動作してもよい。接続時間計算部４２０Ｄについては後述する。
【００６９】
記憶部１３０は、ストリームデータ保存部１３０Ａに加えて、再生バッファ量オフセット保存部４３０Ｂを有する。
【００７０】
再生バッファ量オフセット保存部４３０Ｂは、自通信端末４００および下流通信端末２００の再生バッファ量オフセット値を、それぞれの通信端末に対応付けて保存する。
【００７１】
ここで、再生バッファ量オフセット値は、後述する接続時間計算部４２０Ｄで用いられる値で、対応する通信端末が追加で保存しているべき再生バッファ量を表す。たとえば、再生バッファ量オフセット値が１０である通信端末は、再生バッファ量オフセット値が０である通信端末と比較して、１０秒分の再生バッファを余分に保存しているべきであることを示す。すなわち、再生バッファ量オフセット値が大きい端末ほど、優先して、再生バッファを伸ばすべき端末であることを意味し、つまり、優先して再生を途切れにくくすべき端末であることを意味する。
【００７２】
図７に再生バッファ量オフセット保存部４３０Ｂに保存されている、各通信端末の再生バッファ量オフセット値の一例を示す。
【００７３】
この例においては、中継通信端末は３つの下流通信端末、下流通信端末Ａ、下流通信端末Ｂ、下流通信端末Ｃにストリームデータを送信している想定である。下流通信端末に割り当てられている再生バッファ量オフセットは、それぞれ１０、０、０となっており、また、自通信端末の再生バッファ量オフセットは１０となっている。
【００７４】
ここで、各通信端末の再生バッファ量オフセットは、あらかじめ入力されていてもよいし、再生バッファ量オフセットを決定する決定手段（不図示）を用いて決定してもよい。当該決定手段は、下流通信端末がストリームデータを転送するストリームデータの転送状況に基づき、再生バッファ量オフセットを決定する。たとえば、下流通信端末がさらに他の通信端末にストリームデータを転送している場合に、多くの他の通信端末にストリームデータを転送している通信端末ほど、再生バッファ量オフセットが大きくなるよう再生バッファ量オフセットが決定されてもよい。また、下流通信端末がストリームデータを転送する転送先の通信端末の数に基づき、再生バッファ量オフセットが決定されてもよい。例えば、転送先の端末の数に応じてクラス分けがなされ、クラス分けされたクラスごとに再生バッファ量オフセットが設定されており、転送先の端末の数により特定されるクラスに対応する再生バッファ量オフセットが、決定される。あるいは、当該決定手段は各下流通信端末またはそのユーザの認証を行い、特権を有すると判定された下流通信端末に対して大きい再生バッファ量オフセットを割り当てるようにしてもよい。
【００７５】
さて、第２の例示的な実施形態における接続時間制御部４２０Ｄは、第１の例示的な実施形態における接続時間制御部１２０Ｄと比較して、次周期後の期待再生バッファ量の代わりに、期待再生バッファ量から再生バッファ量オフセットを減じた値（以下、補正期待再生バッファ量）用いて、上流ネットワークおよび下流ネットワークに接続する時間長を計算する点でのみ異なる。すなわち、接続時間制御部４２０Ｄは、自通信端末４００および各下流通信端末２００における、次周期後の補正期待再生バッファ量のうちの、最小値が最大になるよう、上流ネットワークおよび下流ネットワークに接続する時間長をそれぞれ計算する。次周期内に、自通信端末４００が上流通信端末３００からストリームデータを受信するべき時間長と、下流通信端末のそれぞれについてストリームデータを送信するべき時間長とを求め、前者を上流ネットワークに接続する時間、後者の合計を下流ネットワークに接続する時間とする。
【００７６】
これにより、再生バッファ量オフセット値の大きい通信端末ほど、再生が途切れにくくなるようにする効果が得られる。
【００７７】
たとえば、ストリームデータのデータレートが１Ｍｂｐｓ、ネットワークのスループットが１０Ｍｂｐｓ、通信部のネットワーク接続周期が６秒であるときで、中継通信端末４００が１つの上流通信端末３００から受信したストリームデータを３つの異なる下流通信端末２００に転送している場合を想定する。このとき、通信端末４００は、１秒あたりに１０／１＝１０秒分の再生時間に相当するストリームデータを受信または送信できる。よって、通信端末４００は、１周期内に１０＊６＝６０秒分の再生時間長に相当するストリームデータを受信または送信できる。
【００７８】
このときの一例として、自通信端末４００の再生バッファ量が５０秒、自通信端末４００の再生バッファ量オフセット値が１０、下流通信端末２００の再生バッファ量がそれぞれ４０秒、５０秒、６０秒、下流通信端末２００の再生バッファ量オフセット値がそれぞれ１０、０、０であるときを考える。このとき、次周期においては、自通信端末４００では上流通信端末３００から２０秒分のストリームデータを受信し、各下流通信端末２００にはそれぞれ３０秒、１０秒、０秒分のストリームデータを送信することで、自通信端末４００および下流通信端末２００の補正期待再生バッファの最小値が最大化される。このとき、上流通信端末３００と２０／１０＝２．０秒、下流通信端末２００にそれぞれ３０／１０＝３．０秒、１０／１０＝１．０秒、０／１０＝０秒だけ通信することになり、すなわち、上流ネットワークへの接続時間は２．０秒、下流ネットワークへの接続時間は３．０＋１．０＋０＝４．０秒となる。なお、この場合、次周期後の自通信端末４００における期待再生バッファ量は、元の５０秒から、受信によって追加された２０秒を加算し、１周期の間に再生位置が進むことによって減少する６秒を減算することで、５０＋２０−６＝６４秒と求められる。同様に、各下流通信端末２００における次周期後の期待再生バッファ量は、４０＋３０−６＝６４、５０＋１０−６＝５４、６０＋０−６＝５４となる。
【００７９】
図８は、第２の例示的な実施形態に係る通信端末の動作を示すフローチャートである。このうち、Ｓ２０２のみが第１の例示的な実施形態と異なる。
【００８０】
Ｓ２０２においては、収集した再生バッファ量および再生バッファ量オフセット保存部４３０Ｂが保存している再生バッファ量オフセット値を用いて、接続時間計算部４２０Ｄが、自通信端末４００および下流通信端末２００の補正期待再生バッファ量の最小値が最大となるよう、上流ネットワークおよび下流ネットワークに接続する時間をそれぞれ計算する。
【００８１】
このように、第２の例示的な実施形態によれば、ストリームデータを途切れなく再生させるべき端末を、優先度を設けて制御することができる。その理由は、接続時間計算部が、再生バッファ量オフセットを用いて求められる、補正期待バッファ量の最小値が最大となるように、各通信端末との接続時間を求めるためである。
【００８２】
（システム構成例）
図９に例示的な実施形態に係るシステムの構成の一例を示す。
【００８３】
図９においては、異なる３つのネットワーク、ネットワーク１０００、ネットワーク１１００、ネットワーク１２００が構築されている。
【００８４】
通信端末２０００ａ、２０００ｂはネットワーク１０００に接続しており、通信端末２０００ｄはネットワーク１１００に接続しており、通信端末２０００ｆはネットワーク１２００に接続している。また、通信端末２０００ｃはネットワーク１０００またはネットワーク１１００のいずれかに接続し、通信端末２０００ｅはネットワーク１１００またはネットワーク１２００のいずれかに接続するものとする。同一ネットワーク内の通信端末同士は直接通信可能であるが、異なるネットワーク内の通信端末間は直接通信することはできない。
【００８５】
通信端末２０００ａはカメラデバイスを備えており、ストリームデータの作成を行うことができ、同一ネットワーク内に存在する通信端末２０００ｂにストリームデータの配信を行う。
【００８６】
通信端末２０００ｃは、中継通信端末として機能し、ネットワーク１０００を介して通信端末２０００ａおよび通信端末２０００ｂのうちのいずれかからストリームデータを受信し、ネットワーク１１００を介して通信端末２０００ｄおよび通信端末２０００ｅにストリームデータを送信する。
【００８７】
同様に、通信端末２０００ｅは、中継通信端末として機能し、ネットワーク１１００を介して通信端末２０００ｃおよび通信端末２０００ｄのうちのいずれかからストリームデータを受信し、ネットワーク１２００を介して通信端末２０００ｆにストリームデータを送信する。
【００８８】
通信端末２０００ｂは通信端末２０００ａからストリームデータを受信するとともに、通信端末２０００ｃに対する上流通信端末として機能する。通信端末２０００ｄは通信端末２０００ｃに対する下流通信端末として機能するとともに、通信端末２０００ｅに対する上流通信端末としても機能する。通信端末２０００ｆは通信端末２０００ｅに対する下流通信端末として機能する。
【００８９】
このように、異なるネットワークを有する通信システムにおいて、例示的な実施形態にかかる中継通信端末によってネットワーク間のストリームデータの中継を行うことで、システム内の各通信端末での再生が途切れないよう、各通信端末へのストリームデータの配信を行うことができる。
［例示的な実施形態に係る通信端末の概要］
図１０は、上述した例示的な実施形態に係る通信端末の概要を示す。
【００９０】
図１０において、通信端末は無線通信端末である。
【００９１】
通信端末３０００は、プロセッサ３００１と、記憶装置３００２と、通信モジュール３００３とを有する。
【００９２】
通信端末３０００は、通信端末３０００とは異なる第１の無線通信端末と、少なくとも一つの第２の無線通信端末とに接続可能に構成される。
【００９３】
また、通信モジュール３００３は、第１のネットワークまたは第２のネットワークのいずれかに接続するよう構成される。通信モジュール３００３は、第１のネットワークに接続されるときに第１のネットワークを介して第１の無線通信端末からストリームデータを受信する。また、通信モジュール３００３は、第２のネットワークに接続されるときに第２のネットワークを介して少なくとも一つの第２の無線通信端末にストリームデータを送信する。
【００９４】
記憶装置３００２は、通信モジュール３００３により受信されたストリームデータを保存する。
【００９５】
プロセッサ３００１は、記憶装置３００２に保存されたストリームデータの量と、少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、通信モジュール３００３が第１のネットワークおよび第２のネットワークに接続する時間長を求めるように構成される。
【００９６】
本実施形態に係る通信端末によれば、各通信端末においてストリームデータの再生が途切れることを抑制できる。
【００９７】
なお、ここで記憶装置３００２は、ストレージ、メモリ、バッファ、再生バッファ、上述した実施形態のようにストリームデータ保存部と称してもよい。
【００９８】
また、上記通信モジュール３００３は、上述のとおりストリームデータの送受信を実行可能な一体構造である。ただし、通信モジュール３００３の代わりに、送信機能を有する送信機と受信機能を有する受信機との別体とした構成を設けてもよい。
［その他の例示的な実施形態］
以上、例示的な実施形態（及び実施例）を参照して本発明を説明したが、本発明は上記例示的な実施形態（及び実施例）に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。たとえば、以下のような構成も本発明に含まれる。
【００９９】
上記例示的な実施形態において、上述した時間長は、自通信端末１００および各下流通信端末２００における再生バッファ量のうちの最小値が最大になるように、求められた。これはあくまでも一例であり、以下において、他の例が示される。
イ）それぞれの通信端末の再生バッファ量に応じた優先順位に基づき、時間長が求められてもよい。この優先順位は、例えば、再生バッファ量が少ない順に決定される。この場合、時間長は、再生バッファ量が少ない通信端末に対して優先して割り当てられるように、求められる。なお、優先順位は、全ての通信端末の再生バッファに関して設定される必要はない。例えば、所定の閾値以下の再生バッファ量の通信端末に関してのみ優先順位が決定されてもよい。この場合、優先順位が決定された通信端末に対して、優先順位に基づき、時間長が求められる。優先順位が決定されない通信端末に対しては、優先順位に基づき求められた時間長に基づき、時間長が求められる。例えば、ネットワーク接続周期から、優先順位に基づき求められた時間長の合計を引いた残りの時間を求める。この後、残りの時間が、優先順位が決定されない通信端末に対して割り当てられるよう、求められる。残りの時間がゼロの場合（または所定値以下の場合）は、時間長が求められる必要はない。
ロ）また、それぞれ通信端末における再生バッファ量の最小値が次の周期において最小にならないように、時間長が求められてもよい。具体的には、再生バッファ量の最小値が、２番目に大きい値になるように、時間長が求められてもよい。
ハ）また、次のネットワーク接続周期において、其々の通信端末における再生バッファ量が、均等（公平）になるように、それぞれの通信端末における時間長が求められてもよい。
【０１００】
第１の例示的な実施形態および第２の例示的な実施形態では、ある通信端末における再生バッファ量が、その通信端末で保存されているストリームデータの最終の再生位置と、再生処理部でその時点で再生中である再生位置との差分の時間、と定義された。これを、その通信端末で保存されているストリームデータの最終の再生位置と、その通信端末およびその通信端末がストリームデータを送信している先の他通信端末における、その時点で再生中である再生位置の最大値と、の差分の時間、という定義に置き換えてもよい。これは、中継通信端末にストリームデータが十分保存されておらず、下流通信端末に送信すべきストリームデータが尽きてしまい、下流通信端末へのストリームデータ送信を行えず、結果下流通信端末での再生が途切れることを防ぐためである。
【０１０１】
あるいは、第１の例示的な実施形態および第２の例示的な実施形態において、下流通信端末２００から送信された再生バッファ量通知が通信ノイズ等に起因して不達となった場合に、当該の下流通信端末における再生バッファ量の推定を行い、その推定値を当該の下流通信端末における再生バッファ量とみなすようにしてもよい。たとえば、過去の周期において、当該の下流通信端末から受信した最後の再生バッファ量通知を用い、当該の再生バッファ量通知に記載の再生バッファ量から、当該の再生バッファ量通知の受信時刻から現在までの経過時間を減じた値が、現在における再生バッファ量の推定値とされてもよい。あるいは、当該の再生バッファ量通知に記載の再生バッファ量から、当該の再生バッファ量通知の受信時刻から現在までの経過時間を減じ、さらに、当該の再生バッファ量通知の受信時刻から現在までに送信処理部１２０Ｂによって当該の下流通信端末２００に送信されたストリームデータの再生時間長を足したものが、推定値とされてもよい。
【０１０２】
あるいは、第１の例示的な実施形態および第２の例示的な実施形態において、ネットワーク接続指示部は、接続時間計算部で求められた上流通信端末から受信すべき量のストリームデータの受信が完了したとき、接続時間計算部で求められた上流ネットワークへの接続時間の経過を待たずして、通信部１１０に下流ネットワークへの接続を指示してよい。あるいは、ネットワーク接続指示部は、接続時間計算部で求められた下流通信端末へ送信すべき量のストリームデータの送信が完了したとき、接続時間計算部で求められた下流ネットワークへの接続時間の経過を待たずして、通信部１１０に上流ネットワークへの接続を指示してよい。
【０１０３】
上述した実施形態の対象となる通信システムは、無線LANに関する無線通信システムだけでなく、他のシステムに適用可能である。例えば、上記実施形態は、ＬＴＥ（Long Term Evolution）、Ｗ−ＣＤＭＡ（Wideband Code Division Multiple Access）、ＧＳＭ（登録商標）（Global System for Mobile communications）、ＷｉＭＡＸ（Worldwide interoperability for Microwave Access）等に適用可能であるが、これらに限定されない。
【０１０４】
また、上述の例示的な実施形態について、通信端末に関して本明細書で説明する。通信端末は、無線端末、移動端末またはユーザ端末と呼ぶこともできる。また、端末は、システム、加入者ユニット、加入者局、移動局、ワイヤレス端末、モバイルデバイス、ノード、デバイス、リモート局、リモート端末、ワイヤレス通信デバイス、ワイヤレス通信デバイス、ワイヤレス通信装置またはユーザエージェントの機能性の一部または全部を含み得る。端末は、セルラー電話、コードレス電話、セッション開始プロトコル(SIP)電話、スマートフォン、ワイヤレスローカルループ(WLL)局、携帯情報端末(PDA)、ラップトップ、タブレット、ネットブック、スマートブック、ハンドヘルド通信デバイス、ハンドヘルドコンピューティングデバイス、衛星無線、ワイヤレスモデムカードおよび/またはワイヤレスシステムを介して通信する別の処理デバイスでよい。
【０１０５】
また、上記の無線通信端末、無線通信システム、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の通信システムの無線通信方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【０１０６】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Compact Disc - Recordable）、ＣＤ−Ｒ／Ｗ（Compact Disc - Rewritable）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc-ROM）、ＤＶＤ−Ｒ（Digital Versatile Disc - Recordable）、ＤＶＤ−Ｒ／Ｗ（Digital Versatile Disc-Rewritable）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory）)を含む。
【０１０７】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１０８】
＜付記＞
前述の実施形態の一部または全部は、以下の各付記のようにも記載することができる。しかしながら、以下の各付記は、あくまでも、本発明の単なる例示に過ぎず、本発明は、かかる場合のみに限るものではない。
（付記１）
互いにネットワーク接続される無線通信端末であって、
第１のネットワークまたは第２のネットワークのいずれかに接続する通信部と、
前記通信部が前記第１のネットワークに接続時に第１のネットワークを介して他の無線通信端末からストリームデータの受信処理を行う受信処理部と、
前記通信部が前記第２のネットワークに接続時に第２のネットワークを介してさらに他の無線通信端末にストリームデータの送信処理を行う送信処理部と、
受信したストリームデータを保存するストリームデータ保存部と、
自無線通信端末およびストリームデータの送信先である前記他の無線通信端末に保存されているストリームデータ量に応じて、前記通信部が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める接続時間計算部と、
を備える無線通信端末。
（付記２）
前記接続時間計算部は、自無線通信端末およびストリームデータの送信先である他の無線通信端末における、再生バッファの最小値が最大となるよう、前記通信部が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、
付記１に記載の無線通信端末。
（付記３）
自無線通信端末およびストリームデータの送信先である他の無線通信端末のそれぞれについて再生バッファ量オフセットを保存する再生バッファ量オフセット保存部を、さらに備え、
前記接続時間計算部は、自無線通信端末およびストリームデータの送信先である他の無線通信端末における、再生バッファから前記再生バッファ量オフセットを減じた値の最小値が最大となるよう、前記通信部が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、
付記１に記載の無線通信端末。
（付記４）
自無線通信端末およびストリームデータの送信先である他の無線通信端末から再生バッファ量を収集するステップと、
第１のネットワークおよび第２のネットワークへの接続時間長を、自無線通信端末および前記他の無線通信端末の再生バッファの最小値が最大となるよう求めるステップと、
前記第１のネットワークに接続してさらに他の無線通信端末からストリームデータを受信するステップと、
前記第２のネットワークに接続して前記他の無線通信端末にストリームデータを送信するステップと、
を含む無線通信方法。
（付記５）
コンピュータに、
自無線通信端末およびストリームデータの送信先である他の無線通信端末から再生バッファ量を収集し、
第１のネットワークおよび第２のネットワークへの接続時間長を、自無線通信端末および前記他の無線通信端末の再生バッファの最小値が最大となるよう求め、
前記第１のネットワークに接続してさらに他の無線通信端末からストリームデータを受信し、
前記第２のネットワークに接続して前記他の無線通信端末にストリームデータを送信する、
ことを実行させるためのプログラム。
（付記６）
異なる複数のネットワークから構成される無線通信システムであって、
ネットワーク間を中継する無線通信端末は、付記１、２、または３に記載の無線中継端末である、
無線通信システム。
（付記７）
第１の無線通信端末と少なくとも一つの第２の無線通信端末とに接続可能に構成される無線通信端末であって、
第１のネットワークまたは第２のネットワークのいずれかに接続するよう構成される通信モジュールであって、
前記第１のネットワークに接続されるときに前記第１のネットワークを介して前記第１の無線通信端末からストリームデータを受信し、
前記第２のネットワークに接続されるときに前記第２のネットワークを介して前記少なくとも一つの第２の無線通信端末にストリームデータを送信する、ように構成された前記通信モジュールと、
前記通信モジュールにより受信されたストリームデータを保存する記憶装置と、
前記記憶装置に保存された前記ストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記通信モジュールが前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求めるように構成されたプロセッサと、
を備える無線通信端末。
（付記８）
前記記憶装置と前記少なくとも一つの第２の無線通信端末の記憶装置の中から、保存されているストリームデータの量を比較し、
前記比較された保存されているストリームデータの量に応じて優先順位が決定され、
決定された優先順位に基づき、前記時間長が求められる、
付記７記載の無線通信端末。
（付記９）
前記比較の結果、保存されているストリームデータの量が最も少ない記憶装置に保存されるストリームデータの量が最大となるように、前記時間長が、求められる、
付記８記載の無線通信端末。
（付記１０）
前記無線通信端末の記憶装置および前記少なくとも一つの第２の無線通信端末の記憶装置の少なくとも一つに対する、オフセット値が設定され、
前記設定されたオフセット値に基づいて、前記時間長が求められる、
付記７乃至９の何れか一項に記載の無線通信端末。
（付記１１）
前記少なくとも一つの第２の無線通信端末に接続される少なくとも一つの第３の無線通信端末に対して、前記少なくとも一つの第２の無線通信端末がストリームデータを転送する転送状況に基づき、前記オフセット値が設定される、
付記１０に記載の無線通信端末。
（付記１２）
前記第１のネットワークまたは前記第２のネットワークを接続切り換えする処理に要する時間に基づき、前記時間長が求められる、
付記７乃至１１の何れか一項に記載の無線通信端末。
（付記１３）
前記通信モジュールは、
前記第２の無線通信端末の記憶装置に保存されているストリームデータの量の通知を受ける、
付記７乃至１２の何れか一項に記載の無線通信端末。
（付記１４）
前記記憶装置と前記少なくとも一つの第２の無線通信端末の記憶装置の中から、保存されているストリームデータの量が最小の記憶装置を特定し、
前記特定された最小の記憶装置におけるストリームデータの量が、他の記憶装置に比べて最小にならないように、前記時間長が求められる、
付記７記載の無線通信端末。
（付記１５）
前記少なくとも一つの第２の無線通信端末に接続される少なくとも一つの第３の無線通信端末の数に基づき、前記オフセット値が決定される、
付記１０に記載の無線通信端末。
（付記１６）
第１の無線通信端末と、
少なくとも一つの第２の無線通信端末と、
前記第１の無線通信端末と前記少なくとも一つの第２の無線通信端末との通信を中継するよう構成された無線通信端末を有する無線通信システムであって、
前記無線通信端末が、
第１のネットワークまたは第２のネットワークのいずれかに接続するよう構成され、
前記第１のネットワークに接続されるときに前記第１のネットワークを介して前記第１の無線通信端末からストリームデータを受信し、
前記第２のネットワークに接続されるときに前記第２のネットワークを介して前記少なくとも一つの第２の無線通信端末にストリームデータを送信し、
前記受信されたストリームデータを保存し、
前記保存された前記ストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、
無線通信システム。
（付記１７）
第１のネットワークまたは第２のネットワークのいずれかに接続可能に構成される無線通信端末の通信方法であって、
前記第１のネットワークを介して第１の無線通信端末からストリームデータを受信し、
前記受信したストリームデータを保存し、
前記第２のネットワークを介して少なくとも一つの第２の無線通信端末に前記ストリームデータを送信し、
前記保存されたストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、
無線通信端末の通信方法
（付記１８）
第１のネットワークまたは第２のネットワークのいずれかに接続可能に構成される無線通信端末の通信方法をコンピュータに実行させるプログラムであって、
前記第１のネットワークを介して第１の無線通信端末からストリームデータを受信し、
前記受信したストリームデータを保存し、
前記第２のネットワークを介して少なくとも一つの第２の無線通信端末に前記ストリームデータを送信し、
前記保存されたストリームデータの量と、前記少なくとも一つの第２の無線通信端末に保存されているストリームデータの量とに基づき、前記無線通信端末が前記第１のネットワークおよび前記第２のネットワークに接続する時間長を求める、
ことを実行させるためのプログラム。
【符号の説明】
【０１０９】
１０  上流ネットワーク
１１  下流ネットワーク
２１  上流通信端末
２２  中継通信端末
２３、２４  下流通信端末
１００  通信端末
１１０  通信部
１２０  演算処理部
１２０Ａ  受信処理部
１２０Ｂ  送信処理部
１２０Ｃ  再生バッファ量通知受信部
１２０Ｄ  接続時間計算部
１２０Ｅ  ネットワーク接続指示部
１２０Ｆ  再生処理部
１２０Ｇ  再生バッファ量検出部
１３０  記憶部
１３０Ａ  ストリームデータ保存部
１４０  出力部
２００  通信端末
２２０  演算処理部
２２０Ｈ  再生バッファ量通知送信部
３００  通信端末
３２０  演算処理部
４００  通信端末
４２０  演算処理部
４２０Ｄ  接続時間計算部
４３０Ｂ  再生バッファ量オフセット保存部
１０００、１１００、１２００  ネットワーク
２０００ａ、２０００ｂ、２０００ｃ、２０００ｄ、２０００ｆ  通信端末
３０００  通信端末
３００１  プロセッサ
３００２  記憶装置
３００３  通信モジュール
【図１】
2016092563.tif 000003
【図２】
2016092563.tif 000004
【図３】
2016092563.tif 000005
【図４】
2016092563.tif 000006
【図５】
2016092563.tif 000007
【図６】
2016092563.tif 000008
【図７】
2016092563.tif 000009
【図８】
2016092563.tif 000010
【図９】
2016092563.tif 000011
【図１０】
2016092563.tif 000012