JP4237608B2 - データ通信装置及びデータ通信システム - Google Patents

データ通信装置及びデータ通信システム Download PDF

Info

Publication number
JP4237608B2
JP4237608B2 JP2003404418A JP2003404418A JP4237608B2 JP 4237608 B2 JP4237608 B2 JP 4237608B2 JP 2003404418 A JP2003404418 A JP 2003404418A JP 2003404418 A JP2003404418 A JP 2003404418A JP 4237608 B2 JP4237608 B2 JP 4237608B2
Authority
JP
Japan
Prior art keywords
group
terminal device
player
unit
data
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.)
Expired - Fee Related
Application number
JP2003404418A
Other languages
English (en)
Other versions
JP2005167675A (ja
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003404418A priority Critical patent/JP4237608B2/ja
Publication of JP2005167675A publication Critical patent/JP2005167675A/ja
Application granted granted Critical
Publication of JP4237608B2 publication Critical patent/JP4237608B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データ通信における帯域制御及び再送制御に関する。特に、カメラ等で取り込んだ映像や音声などのマルチメディアデータをIP(Internet Protocol)ネットワーク経由で配信、受信、再生するライブ型コンテンツのストリーミング配信方式およびシステムに関する。また、本発明は、このようなライブ型コンテンツのストリーミング配信システムにおいて、通信保証がないベストエフォートなネットワーク(例えば、インターネット)経由でのデータ欠損や再生品質の劣化を防止するためのQoS(Quality of Service)制御方式およびシステムに関する。
IPネットワークへのストリーミング配信においては、ユニキャスト配信技術とマルチキャスト配信技術がある。ユニキャスト配信は単一のアドレスを指定して特定の相手にデータを送信する配信方式で、主にオンデマンド系のコンテンツ配信に使われている。マルチキャスト配信はあらかじめ決められた複数のノードに対して同時に送信する配信方式で、主にライブ型コンテンツや放送系コンテンツの配信に使われている。
また、ストリーミング配信の帯域制御技術においては、特開2001−230809号公報に記載の「通信システム及び通信方法及び送信端末及び受信端末」がある。当技術では、パケット網の通信システムにおいて、端末間における輻輳状態の予測および検出を行い、その状態に適応してパケットを配送する輻輳制御を行う。輻輳制御方式はジッタの移動平均とパケットロス率を取得し、通信状態を判定し、通信状態の変化を予測し、送信ビットレート及び符号化レートを制御するものである。
また、ルータ等のネットワーク機器において帯域を制御する技術として、ネットワーク上で送信先までの帯域を予約し通信品質を確保するRSVP(Resource reSerVation Protocol)やIntServや、各IPパケットに優先制御に関する情報を持たせ相対的な転送性能差をつけることによってトラフィックの優先制御を行うDiffServなどのネットワークQoS(Quality of Service)/CoS(Class of Service)技術がある。また、複数の符号化デートで構成したマルチキャスト・ストリームを配信して、通信状況に応じてルータ等で動的にストリーム数を制御する階層型マルチキャスト配信技術がある。
また、ストリーミング配信の再送制御技術においては、データが欠落したときや、誤ったデータを受信したときに、受信側が送信側に対してそのデータを再送するように要求するARQ(Automatic Repeat Request)技術がある。また、ブロードキャスト通信における再送制御技術において、特開2003−179640号公報に記載の「ブロードキャスト通信における欠損パケットの補完方式および方法」がある。当技術では、各グループに分けられシーケンスに受信するブロードキャストのパケットをグループ毎に分担しかつシーケンス番号単位に分けて保存するクライアントに対して配信サーバが配信データをパケットによりUDP/IPブロードキャストでシーケンスに送信することにより、クライアントがパケットを受信中に欠損パケットを検出した場合に他のクライアントに対して欠損パケットの再送要求を行い、そのクライアントが再送要求された欠損パケットを保存していたならばサーバの代わりにその欠損パケットを要求元のクライアントに送信する。
また、受信端末のネットワーク情報共有技術においては、特開2002−335255号公報に記載の「分散型無線通信システムおよび分散型無線通信方法」がある。当技術では、移動体端末などの無線通信システムにおいて、独立したローカル無線リンクを利用して無線端末間で直接通信し、ネットワーク構成/近隣セルのリスト/ページング要求などのネットワーク環境情報を共有することで、無線通信システムでは一般的に時間/通信リソース/消費電力を必要とするモニタリング処理の負荷を軽減する。
特開2001−230809号公報 特開2003−179640号公報 特開2002−335255号公報
インターネットのようなベストエフォート・ネットワークでは、トラフィックが混雑して輻輳が発生すると、パケットロスや遅延によるデータ欠損が発生する。ライブ型コンテンツや放送系コンテンツにおいては、多くの端末が同じ時間にストリームを受信するため、ユニキャスト配信では輻輳が発生しやすい。一方、マルチキャスト配信では1つのアドレスで多くのホストがストリームを受信できるため、ライブ型/放送系コンテンツに適しており、また配信装置やネットワークのトラフィックが抑えられ輻輳も発生しにくい。しかし、マルチキャスト配信では、個々の端末とのセッションが存在しないため、輻輳が発生してしまっても端末毎に最適な帯域制御が行えない。また、現在のインターネットのバックボーンルータはマルチキャストに対応しているものが少なく、ほとんどがマルチキャストデータを受信できない環境であるのが現状である。
また、ストリーミング配信の帯域制御技術においては、従来技術ではジッタやパケットロス率の取得を、クライアント(受信側)からサーバ(送信側)へ定期的にフィードバックすることで実現するが、ライブ型コンテンツのストリーミング配信の場合、一時に多数のクライアントがフィードバックするため、上り方向の帯域が大きくなり、フィードバック情報が届かなかったり、下り方向の輻輳にも影響を与えたりする。
また、ルータ等のネットワーク機器において帯域を制御する技術では、マルチキャスト配信と同じくそれらの帯域制御技術をネットワーク上のすべてのルータに適用しなくてはならない。
また、ストリーミング配信の再送制御技術においては、従来技術ではサーバ(送信側)へ再送要求を行い、サーバから再送される。しかし、ライブ型コンテンツのストリーミング配信ではリアルタイム性が重要視され、サーバからの再送が間に合わない場合がある。また、再送要求においても、多数のクライアント(受信側)から発せられるため、再送要求によって帯域が圧迫され、再送要求および再送パケットが欠損しやすくなり、再送によるリカバリー率も低下し、サーバの再送プロセスにも負担をかけてしまう。特開2003−179640号公報に記載の再送制御方式では、パケットをグループ化し、各クライアントが任意のグループのパケットを一時蓄積しておき、欠損したパケットと同じグループのパケットを一時蓄積しているクライアントに対して欠損したパケットの再送要求を行う。しかし、同グループのパケットを一時蓄積しているクライアントは多数あると考えられ、それらのクライアントにそれぞれ再送要求を行うことは上述の課題と同じく帯域が圧迫される。また、多数のクライアントから同じ再送パケットが送られてくるため、重複したパケットの処理が必要となってくる。再送要求先のクライアントを1つに選定しても、そのクライアントの通信状態が悪い場合、再送要求されたパケットを同クライアントも受信・蓄積できていない可能性が高く、再送によるリカバリー率も低下するという問題が生じる。
本発明は、以上の問題点を解決することを主な目的としている。
本発明に係るデータ通信装置は、
端末装置に対するデータ送信を行うデータ送信部と、
複数の端末装置を少なくとも一つ以上のグループに分類するグループ情報を管理するグループ管理部と、
複数の端末装置について、各端末装置の通信状態を示す通信状態情報を管理する通信状態管理部と、
いずれかの端末装置へのデータ送信に先立ち、前記グループ管理部により管理されているグループ情報と前記通信状態管理部により管理されている通信状態情報とを参照し、データ送信の対象となる端末装置と同じグループに所属する少なくとも一つ以上の他の端末装置の通信状態に基づき、データ送信の対象となる端末装置に対する有効帯域を予測する有効帯域予測部と、
前記有効帯域予測部により予測された有効帯域の範囲内でデータ送信の対象となる端末装置へのデータ送信の帯域を制御する帯域制御部とを有することを特徴とする。
本発明によれば、データ通信装置と端末装置の間に中継装置やネットワーク機器といった装置を組み込むことなく、End to Endでの帯域制御が実現でき、これにより輻輳を抑制することができ、より安定したデータ通信が可能となる。
実施の形態1.
図1は、本実施の形態に係るシステム構成例を示す図である。実施の形態1ではライブ映像のストリーミング配信における帯域制御手法を説明する。
配信サーバ装置101(データ通信装置に相当)では、映像や音声などのマルチメディアデータを生成するライブエンコーダ装置などからエンコードされたデータをエンコードデータ受信部103が受信し、エンコーダ受信バッファ104に蓄積する。次に、ストリーミング配信部105がエンコーダ受信バッファ104からエンコードデータを取得し、ストリーミング配信部105(データ送信部に相当)がネットワーク132経由でプレイヤー102(端末装置に相当)へライブ型コンテンツのストリーミング配信を行う。プレイヤー102では、配信サーバ装置101からのストリーミングデータをストリーミング受信部120(データ受信部に相当)が受信し、受信バッファ121に蓄積する。
また、プレイヤーのグループ化においては、プレイヤー102では、グループ化部123のグループ情報受信部124が配信サーバ装置101から現在のグループ情報を取得し、グループ判定部126が自分がどのグループに属するべきかを判定し、その結果を配信サーバ装置101へ回答する。配信サーバ装置101では、プレイヤー102からのグループについての回答に基づき、グループ管理部114のメンバー登録部116又はグループ生成部118がグループ管理テーブル115を更新する。
また、プレイヤー102では、配信サーバ装置101から通信状態情報を要求されると、通信状態情報送受信部122が配信サーバ装置101とプレイヤー102間の現在の通信状態情報を配信サーバ装置101に返信し、配信サーバ装置101では、通信状態情報制御部106(通信状態管理部に相当)が各グループ/プレイヤーの通信状態情報を通信状態テーブル109にて管理する。
また、プレイヤー102に対する帯域制御においては、配信サーバ装置101では、有効帯域予測部107がグループ管理テーブル115を用いてプレイヤー102が属するグループ内のすべてのプレイヤーを認識し、それらのプレイヤーの通信状態情報を通信状態テーブル109から取得する。次に、有効帯域予測部107は、それらの通信状態情報から現在のプレイヤー102と配信サーバ装置101間の有効帯域を予測する。そして、帯域制御部108が、有効帯域予測部107により予測された有効帯域よりプレイヤー102へのストリーミング配信の帯域が大きくならないようにストリーミング配信部105の送信量を調節し、ストリーミング配信部105がエンコーダ受信バッファ104からその送信量分のエンコードデータを取得し、プレイヤー102へストリーミング配信する。
なお、配信サーバ装置101及びプレイヤー102は、図示していないが、例えばマイクロプロセッサ等のCPU、半導体メモリ等や磁気ディスク等の記録手段、及び通信手段を有する計算機により実現することができる。記録手段には、配信サーバ装置101及びプレイヤー102に含まれる各構成要素の機能を実現するプログラムが記録されており、CPUがこれらのプログラムを読み込むことにより配信サーバ装置101及びプレイヤー102の動作を制御し、各構成要素の機能を実現することができる。
以下に実施の形態1の処理の流れや詳細を説明する。
はじめに、配信サーバ装置におけるグループ管理処理を説明する。図2は実施の形態1におけるグループ化処理のフローチャート図である。
配信サーバ装置と各プレイヤーはセッションを確立してからストリーミングの配信および受信を行うこととする。セッション管理は例えばRTSP(Real Time Streaming Protocol)(RFC2326)を利用して実現する。各プレイヤーとのセッションをモニタし、セッションが新規に発生したかあるいは既存のセッションが終了したのかをチェックする(203)。新規にセッションが発生した場合はグループ化処理を行う(204)。グループ化処理においては、図3にて後述する。既存のセッションが終了した場合は、メンバー削除部117がグループ管理テーブル115からセッションが終了するプレイヤーを削除する(205)。そのとき、削除したプレイヤーが属していたグループ内にもうメンバーが存在しない場合は、グループ削除部119がグループ管理テーブル115からそのグループも削除する。図11は実施の形態1における1つの配信サーバ装置と12個のプレイヤーで構成されるグループ化の構成例であり、図12は図11におけるグループ管理テーブル115の例である。
次に、上述の新規セッションの場合(204)のグループ化処理を説明する。図3は実施の形態1におけるグループ化処理のフローチャート図である。図3では、プレイヤー(1)が新たにセッションを確立し、プレイヤー(1)(グループに未所属のプレイヤー(グループ未所属端末装置))をグループに割り当てるまでのフローを表している。まず配信サーバ装置では、グループ管理部114がグループ管理テーブルから現在のグループ情報を取得する(302)。グループ情報は、グループ数や、各グループの代表メンバーM(i)の情報(アドレス等)である。ここでiはグループを識別するIDであり、0≦i<グループ数となる。次に、グループ情報通知部110がグループ管理部114よりグループ情報を取得し、取得したグループ情報をプレイヤー(1)へ通知する(303)。プレイヤー(1)では、グループ情報受信部124が配信サーバ装置からグループ情報を受信すると(322)、距離測定部125が各グループの代表メンバーM(i)とのネットワーク距離を測定する(323)。ネットワーク距離の測定方法としては、代表メンバーM(i)とプレイヤー(1)とのホップ数を利用する。ホップ数を取得する方法としては、例えばICMP(Internet Control Message Protocol)を利用し、プレイヤー(1)はICMPパケットのTTL(Time To Live)に0から順に値をセットし、そのICMPパケットを代表メンバーM(i)に送出し、正常に返答が来たときのセットしたTTL値を代表メンバーM(i)とプレイヤー(1)とのホップ数とする。ここで、代表メンバーM(i)とプレイヤー(1)とのホップ数をH(i)とし、最も小さいH(i)をH_minとし、そのときのグループID(すなわちi)をGとする(324)。また、最大許容範囲のホップ数をHmaxとし、Hmaxの値はプレイヤーあるいはシステムが決定する。H_minが0より大きくHmaxより小さいとき(325)、プレイヤー(1)はID=Gのグループに属することになる。もし、H_minがHmaxより大きいとき、プレイヤー(1)はすべての代表メンバーとのネットワーク距離が遠いことを意味しており、どのグループにも属せないことを表すために、Gを−1にセットする(326)。以上の所属するグループの選択処理はグループ判定部126で行われる。最後にプレイヤー(1)のグループ判定部126は、グループ識別Gを配信サーバ装置へ通知する(327)。配信サーバ装置では、グループ識別受信部111がプレイヤー(1)からグループ識別Gを受信すると(304)、グループ生成部118がGの値をチェックし、Gが−1でなければグループIDがGであるグループにプレイヤー(1)をメンバーとして登録するために、メンバー登録部116が、グループ管理テーブル115のGのグループメンバーにプレイヤー(1)を追加する(306)。Gが−1のとき、既存のグループには属さなかったことを意味するので、グループ生成部118が新しいグループを生成して、その新規グループをグループ管理テーブルに追加登録し(307)、メンバー登録部116が新規グループにプレイヤー(1)をメンバー登録する(308)。また、代表メンバー選定部112が新規グループの代表メンバーをプレイヤー(1)とする(309,310)。
次に、配信サーバ装置とプレイヤーの通信状態情報処理を説明する。図4は実施の形態1における通信状態情報処理のフローチャート図である。
図4は、グループAに属するN個のプレイヤー(i)(0≦i<N)における通信状態情報処理を表している。通信状態情報処理において、配信サーバ装置では2つのプロセスが起動する。1つが通信状態情報を各プレイヤーへ要求する送信プロセス(402〜407)と、もう1つが各プレイヤーから通信状態情報を受信する受信プロセス(408〜412)である。ここで、通信状態情報とは、例えばジッタやパケット欠損率であり、RTP(Real−Time Transport Protocol)(RFC1889)およびRTCP(RTP Control Protocol)などを利用して通信状態情報の要求/返信を実現することができる。まず、送信プロセスでは、グループ管理テーブル115から現在のグループAの情報を取得する。取得する情報としては、グループAに属するメンバー数や、グループAに属する各プレイヤーの情報(アドレス等)である。次に送信プロセスはグループAの各プレイヤーに通信状態情報を要求する(405)。そのとき、各プレイヤーからの通信状態情報の返信が集中しないように、通信状態情報の要求間隔を調節する(404)。例えば、最低でもM秒に1度各プレイヤーから通信状態情報を受信するには、M/N秒間隔で通信状態情報の要求を行う。すなわち、プレイヤー(i)には(M×i/N)秒後に通信状態情報の要求を行う。受信プロセスでは、各プレイヤーから通信状態情報を受信し(410)、通信状態テーブル109のグループAの通信状態を更新する(411)。プレイヤー(i)では、通信状態情報送受信部122が配信サーバ装置から通信状態情報の要求を受信すると(423,433,443)、現在の配信サーバ装置とプレイヤー(i)との通信状態情報を配信サーバ装置へ送信する(424,434,444)。
次に、配信サーバ装置における帯域制御処理を説明する。図5は実施の形態1における帯域制御処理のフローチャート図である。図5は、グループAに属するプレイヤー(1)における帯域制御処理を表している。配信サーバ装置はグループ管理テーブル115からプレイヤー(1)がグループAに属していることを認識する(502)。次に、有効帯域予測部107が、通信状態テーブル109からグループAの現在の通信状態を取得する(504)。通信状態は上述の通信状態情報処理において常に最新の通信状態に更新されている。次に、有効帯域予測部107は、グループAの通信状態からプレイヤー(1)に対する有効帯域を予測する(505)。有効帯域の予測方法としては、例えば、従来技術の特開2001−230809号公報のように、ジッタの移動平均とパケットロス率から現在の通信状態を判定し、通信状態の変化から現在の利用可能な帯域を算出する方法などを用いる。ここで、グループAに所属しているすべてのプレイヤーの通信状態に基づいて有効帯域の予測を行ってもよいし、グループAに所属している特定のプレイヤーの通信状態に基づいて有効帯域の予測を行ってもよい。次に、帯域制御部108が、実際に配信する転送レートが有効帯域に近くなるように制御する(506)。ただし、有効帯域より大きくならないように制御する。つまり、予測された有効帯域の範囲内でデータ送信の帯域を制御する。制御方法としては、例えば、エンコードデータが階層的なスケーラブル符号データであるときは、エンコーダ受信バッファ104からエンコードデータを取得する際に、転送レートが有効帯域より小さく且つ最大になるような最適な取得サイズを割り出し、エンコードデータを取得する。あるいはエンコードデータが複数の符号化データで構成されるマルチエンコードデータである場合は、有効帯域より小さく且つ最大になるような最適な符号化データを選択して、エンコードデータを取得する。最後に、ストリーミング配信部105が、取得したエンコードデータをパケット化してプレイヤー(1)に送信する。この帯域制御処理を各プレイヤーに対して行う。
以上のように、本実施の形態に係るデータ通信システムは、ライブ映像をストリーミング配信する配信サーバ装置と、配信サーバから配信されたパケットを受信してライブ映像を再生するプレイヤーとを有し、プレイヤーが、配信サーバからのパケットを受信するストリーミング受信部と、同じストリーミングを受信している複数のプレイヤーをグループ化するグループ化部と、通信状態の情報を配信サーバ装置へ送信する通信状態情報送受信部とを備え、配信サーバ装置が、映像や音声などのマルチメディアデータを生成するライブエンコーダ装置からのエンコードデータを受信しエンコーダ受信バッファに蓄積するエンコードデータ受信部と、エンコーダ受信バッファに蓄積されたエンコードデータをネットワークへ配信するストリーミング配信部と、プレイヤーへ通信状態の情報を要求し、プレイヤーからの通信状態の情報を受信する通信状態情報制御部と、通信状態制御部で取得した各プレイヤーの通信状態情報とプレイヤーが属するグループ内のすべてのプレイヤーの通信状態情報を基に、各プレイヤーの有効な帯域を予測する有効帯域予測部と、有効帯域予測部で予測された有効帯域にしたがってストリーミング配信の帯域を制御する帯域制御部とを備えることにより、配信サーバ装置とプレイヤー間の中継装置やネットワーク機器に新たな技術を組み込むことなく、End to Endでの帯域制御が実現でき、より安定したストリーミング配信が可能である。
また、本実施の形態に係るデータ通信システムでは、配信サーバ装置が、プレイヤーのグループ化部によって同プレイヤーが属するグループの識別情報を受信するグループ識別受信部と、グループ内のメンバーの中から代表となるプレイヤーを選定する代表メンバー選定部と、各グループのメンバーの情報を管理するグループ管理部と、各グループの代表メンバーの情報をプレイヤーへ通知するグループ情報通知部とを備え、プレイヤーが、配信サーバ装置のグループ情報通知部によって送信された各グループの代表メンバーの情報を受信するグループ情報受信部と、グループ情報受信部によって得られた各グループの代表メンバーとのネットワークの距離を測定する距離測定部と、距離測定部によって得られた各代表メンバーとのネットワーク距離から所属するグループを判定し、そのグループの識別情報を配信サーバ装置へ通知するグループ判定部と、自分と各代表メンバー間のホップ数Hをカウントし、有効ネットワーク距離(ホップ数)をHmaxとしたとき、0≦H<Hmaxを満たし、最も小さいHであったメンバーを代表メンバーに選定し、上記条件を満たすメンバーが存在しないときは、どのグループにも属さないことを配信サーバ装置へ通知するグループ判定部とを備え、更に、配信サーバ装置が、グループの管理テーブルを保持し、グループ識別受信部によって得られたグループに、グループ識別情報送信元のプレイヤーを加入メンバーとして管理テーブルに登録するメンバー登録部と、プレイヤーがストリーミング受信を終了したときあるいは配信サーバがプレイヤーへの配信を終了したときに、同プレイヤーを所属するグループから除外するため、管理テーブルの同グループメンバーから削除するメンバー削除部と、グループ識別受信部によって得られたグループがどのグループにも属さないものであれば、新規にグループを生成して管理テーブルに新規グループを登録し、同グループにグループ識別情報送信元のプレイヤーをメンバー登録するグループ生成部と、メンバー削除部によってグループからメンバーが削除され、その結果同グループ内にメンバー存在しないとき、同グループを管理テーブルから削除して同グループを消去するグループ削除部と、各プレイヤーからの通信状態の情報を受信し、それら通信状態を通信状態テーブルに保存する通信状態情報制御部と、グループの数や各グループのメンバーの情報を管理するグループ管理部と、通信状態情報制御部によって得られるプレイヤーの通信状態の情報と、同プレイヤーが所属するグループ内のすべてのプレイヤーの通信状態情報とから、同プレイヤーの有効な帯域を動的に予測する有効帯域予測部と、各プレイヤーに対して有効帯域予測部で予測された有効帯域よりストリーミング配信の帯域が大きくならないように送信量を動的に制御する帯域制御部とを備えることにより、グループ内の通信状態を共有することができ、ライブ型コンテンツのストリーミング配信のように、一時に多くのプレイヤーがストリーミング受信していても、帯域制御による通信トラフィックを削減し、輻輳を抑制することができる。これらの効果によって、ライブの映像や音声などの途切れや品質劣化を防ぐことができる。
また、本実施の形態に係るデータ通信システムは、プレイヤーが、配信サーバ装置の通信状態情報制御部から通信状態情報の要求を受けたときに、現在の配信サーバとプレイヤー間の通信状態の情報を配信サーバ装置へ送信する通信状態情報送受信部を備え、配信サーバ装置が、グループ内の各プレイヤーから送信される通信状態情報の受信間隔がグループ内で均等になるように、各プレイヤーへの通信状態情報の要求を行うタイミングを制御する通信状態情報制御部を備えることによって、配信サーバ装置が、各プレイヤーに対する最新な通信状態を得ることができ、精度の高い帯域制御を実現することができる。図10は、従来の帯域制御と本実施の形態における帯域制御の効果の差を示したものである。図10のように、本実施の形態による帯域制御では、短い時間間隔で各プレイヤーに対する有効帯域を見積もることができ、急激な輻輳変化においても柔軟に対処できる。これらの効果によって、従来の帯域制御による映像・音声のストリーミング配信に比べ、途切れや品質劣化を防ぐことができる。
実施の形態2.
実施の形態2ではライブ映像のストリーミング配信における再送制御手法を説明する。
図15は、本実施の形態に係る配信サーバ装置101とプレイヤー102の構成例を示す。本実施の形態では、配信サーバ装置101において、代表メンバー通知部113が追加され、プレイヤー102において、代表メンバー受信部127、代表メンバー管理部128、再送要求送信部129(データ送信要求送信部に相当)、再送要求受信部130(データ送信要求受信部に相当)、再送部131(データ送信部に相当)、再送パケット受信部133(欠損データ受信部)が追加されている。他の要素については、図1に示したものと同様である。
配信サーバ装置101は映像や音声などのマルチメディアデータを生成するライブエンコーダ装置などからエンコードされたデータを受信し、エンコーダ受信バッファ104に蓄積する。次にエンコーダ受信バッファからエンコードデータを取得し、ネットワーク132経由でプレイヤー102へライブ型コンテンツのストリーミング配信を行う。配信方式はユニキャストでもマルチキャストでも構わない。プレイヤー102は配信サーバ装置101からのストリーミングデータを受信し、受信バッファ121に蓄積する。
また、プレイヤーのグループ化においては、プレイヤー102は配信サーバ装置101から現在のグループ情報を取得し、自分がどのグループに属するべきかを判定し、その結果を配信サーバ装置101へ回答する。配信サーバ装置101はグループ管理テーブル115を更新する。
また、プレイヤー102は配信サーバ装置101から通信状態情報を要求されると、現在の配信サーバ装置101とプレイヤー102間の通信状態情報を配信サーバ装置101に返信し、配信サーバ装置101では各グループ/プレイヤーの通信状態情報を通信状態テーブル109にて管理する。通信状態テーブル109から最新の通信状態を取得し、各グループの中で通信状態の良いプレイヤーをそのグループの代表メンバーとし、代表メンバー通知部113が逐次各プレイヤー102へ通知し、プレイヤー102では、代表メンバー受信部127が自分のグループの代表メンバーを受信し、代表メンバー管理部128が代表メンバーの情報を管理する。
また、プレイヤー102対する再送制御においては、配信サーバ装置101からのストリーミング受信の際に欠損したパケットがあった場合、再送要求送信部129が自分のグループの代表メンバーにそのパケットの再送要求を行う。再送要求受信部130により再送要求を受信したプレイヤー(代表メンバー)は自分の受信バッファに再送要求されたパケットがあった場合、再送部131によりそのパケットを再送要求元のプレイヤーへ送信する。再送要求元のプレイヤーでは、再送パケット受信部133が代表メンバーから送信された再送パケット(欠損パケット)を受信する。
以下に実施の形態2の処理の流れや詳細を説明する。
配信サーバ装置におけるグループ管理処理は実施の形態1と同様である。図13は実施の形態2における1つの配信サーバ装置と12個のプレイヤーで構成されるグループ化の構成例であり、図14は図13におけるグループ管理テーブル115の例である。
次に、実施の形態2における新規セッションの場合(204)のグループ化処理を説明する。図6は実施の形態2におけるグループ化処理のフローチャート図である。図6では、プレイヤー(1)が新たにセッションを確立し、プレイヤー(1)をグループに割り当てるまでのフローを表している。まず配信サーバ装置では、グループ管理テーブルから現在のグループ情報を取得する(602)。グループ情報は、グループ数や、各グループの代表メンバーM(i,j)の情報(アドレス等)である。ここでiはグループを識別するIDであり、0≦i<グループ数となる。jはそのグループの代表メンバー数である。つまり、各グループの代表メンバー数は複数でも構わない。取得したグループ情報をプレイヤー(1)へ通知する(603)。プレイヤー(1)は配信サーバ装置からグループ情報を受信すると(622)、各グループの代表メンバーM(i,j)とのネットワーク距離を測定する(623)。ネットワーク距離の測定方法としては、代表メンバーM(i,j)とプレイヤー(1)とのホップ数を利用する。ホップ数を取得する方法としては、例えばICMP(Internet Control Message Protocol)を利用し、プレイヤー(1)はICMPパケットのTTL(Time To Live)に0から順に値をセットし、そのICMPパケットを代表メンバーM(i,j)に送出し、正常に返答が来たときのセットしたTTL値を代表メンバーM(i,j)とプレイヤー(1)とのホップ数とする。ここで、代表メンバーM(i,j)とプレイヤー(1)とのホップ数をH(i,j)とする。次にH(i,j)を値が小さい方から順列したリストL(k)を作成する(624)。L(k)の要素は、ホップ数H(i,j)とそのときのグループIDとなるiである。また、グループ化の有効なネットワーク距離として最大距離のホップ数Hmaxと最小距離のホップ数Hminを、ユーザやシステムが既定しておく。L(k)のH(i,j)の値がHminより大きくHmaxより小さいという条件を満たし、且つ最も小さいL(k)が代表メンバーとなり(625〜627)、そのときのL(k)のiがプレイヤー(1)の属するグループのIDとなる。したがって、グループ識別G=iとする(629)。もし、上述の条件を満たす代表メンバーH(i,j)が存在しないとき、プレイヤー(1)はすべての代表メンバーとのネットワーク距離が近すぎるかあるいは遠すぎることを意味しており、どのグループにも属せないことを表すために、グループ識別Gに−1をセットする(628)。最後にプレイヤー(1)はグループ識別Gを配信サーバ装置へ通知する(630)。配信サーバ装置はプレイヤー(1)からグループ識別Gを受信すると(604)、Gの値をチェックし、Gが−1でなければグループIDがGであるグループにプレイヤー(1)をメンバーとして登録するために、グループ管理テーブル115のGのグループメンバーにプレイヤー(1)を追加する(606)。Gが−1のとき、既存のグループには属さなかったことを意味するので、新しいグループを生成して、その新規グループをグループ管理テーブルに追加登録し(607)、新規グループにプレイヤー(1)をメンバー登録する(608)。また、新規グループの代表メンバーをプレイヤー(1)とする(609,610)。
次に、配信サーバ装置とプレイヤーの通信状態情報処理を説明する。図7は実施の形態2における通信状態情報処理のフローチャート図である。図7は、グループAに属するN個のプレイヤー(i)(0≦i<N)における通信状態情報処理を表している。通信状態情報処理において、配信サーバ装置では2つのプロセスが起動する。1つが通信状態情報を各プレイヤーへ要求する送信プロセス(702〜707)と、もう1つが各プレイヤーから通信状態情報を受信する受信プロセス(708〜712)である。ここで、通信状態情報とは、例えばジッタやパケット欠損率であり、RTP(Real−Time Transport Protocol)(RFC1889)およびRTCP(RTP Control Protocol)などを利用して通信状態情報の要求/返信を実現することができる。まず、送信プロセスでは、グループ管理テーブル115から現在のグループAの情報を取得する。取得する情報としては、グループAに属するメンバー数や、グループAに属する各プレイヤーの情報(アドレス等)である。次に送信プロセスはグループAの各プレイヤーに通信状態情報を要求する(705)。そのとき、各プレイヤーからの通信状態情報の返信が集中しないように、通信状態情報の要求間隔を調節する(704)。例えば、最低でもM秒に1度各プレイヤーから通信状態情報を受信するには、M/N秒間隔で通信状態情報の要求を行う。すなわち、プレイヤー(i)には(M×i/N)秒後に通信状態情報の要求を行う。受信プロセスでは、各プレイヤーから通信状態情報を受信し(710)、通信状態テーブル109のグループAの通信状態を更新する(411)。プレイヤー(i)では、配信サーバ装置から通信状態情報の要求を受信すると(723,733,743)、現在の配信サーバ装置とプレイヤー(i)との通信状態情報を配信サーバ装置へ送信する(724,734,744)。配信サーバ装置では、通信状態に変化があったとき、逐次代表メンバーを選定する(711)。
次に、上述の代表メンバー選定処理を説明する。図8は実施の形態2の代表メンバー選定処理のフローチャート図である。まず、グループ内の代表メンバー数は複数でも良いため、各グループの代表メンバー数をユーザやシステムが既定しておく。図8ではグループAの代表メンバー数をMtとする(802)。次に通信状態テーブル109のグループAの代表メンバーをリセットする(803)。次にグループA内の通信状態の良いメンバーを上からMt個選定する(804〜808)。グループ内のメンバーがMt個に満たない場合は、代表メンバー数もMt以下でも構わない。この結果、グループAにおいて、前代表メンバーと比較し、代表メンバーに変更があった場合(809)、グループAの各メンバーに新しい代表メンバーの情報を通知する(810)。
次に、配信サーバ装置とプレイヤーにおける再送制御処理を説明する。図9は実施の形態2における再送制御処理のフローチャート図である。図9では、配信サーバ装置のフロー(901〜907)と、代表メンバー以外のプレイヤーのフロー(921〜930)と、代表メンバーのプレイヤーのフロー(941〜954)の3つのフローで再送制御処理の流れを示す。
まず配信サーバ装置ではエンコードデータをパケット化してプレイヤーに送信する(902)。転送プロトコルとしては、例えばRTP(Real−Time Transport Protocol)(RFC1889)を利用する。RTPではシーケンス番号がパケット毎に割り当てられるため、欠損したパケットをシーケンス番号から識別することができる。配信サーバ装置からのパケットを受信した(923)代表メンバー以外のプレイヤーは、パケットを受信バッファ121に蓄積する。また同時にシーケンス番号などから欠損したパケットを調べる(925)。もし、欠損したパケットがあった場合、自分のグループの代表メンバーを認識し(926)、欠損したパケットの再送要求を行うための再送要求パケット(データ送信要求)を再送要求送信部129から代表メンバーに送信する(929)。一方、代表メンバーのプレイヤーでは、再送要求受信部130において再送要求パケットを受信することができ(951)、再送部131が、配信サーバ装置から受信した(943)パケットを蓄積した(944)受信バッファ121に再送要求されたパケットが存在するかどうかを調べ(952)、もし存在した場合、そのパケットを再送要求元のプレイヤーへ送信する(953)。代表メンバーのプレイヤーが配信サーバ装置から送られてくるパケットを受信する(943)際に欠損したパケットがあった場合(945)、自分のグループの代表メンバーを認識して、その代表メンバーへ再送要求を行うが(949)、代表メンバーが自分しかいない場合(947)、配信サーバ装置へ再送要求を行う(948)。
以上のように、実施の形態に係るデータ通信システムは、ライブ映像をストリーミング配信する配信サーバ装置と、配信サーバから配信されたパケットを受信してライブ映像を再生するプレイヤーとを有し、プレイヤーが、配信サーバからのパケットや再送パケットを受信し、それらのパケットを受信バッファに蓄積し、欠損したパケットがあった場合、同パケットが欠損したことを再送要求送信部へ通知するストリーミング受信部と、同じストリーミングを受信している複数のプレイヤーをグループ化するグループ化部と、通信状態の情報を配信サーバ装置へ送信する通信状態情報送受信部と、ストリーミング受信部から通知された欠損したパケットを自分と同じグループに属するプレイヤーへ再送要求する再送要求送信部と、再送要求を受信する再送要求受信部と、再送要求されたパケットが受信バッファに存在する場合は再送要求元のプレイヤーへ同パケットを送信する再送部とを備え、配信サーバ装置が、映像や音声などのマルチメディアデータを生成するライブエンコーダ装置からのエンコードデータを受信しエンコーダ受信バッファに蓄積するエンコードデータ受信部と、エンコーダ受信バッファに蓄積されたエンコードデータをネットワークへ配信するストリーミング配信部と、プレイヤーへ通信状態の情報を要求し、プレイヤーからの通信状態の情報を受信する通信状態情報制御部とを有するため、プレイヤー同士での再送処理が可能となり、配信サーバ装置の再送処理の負荷を軽減することができる。
また、実施の形態2に係るデータ通信システムは、配信サーバ装置が、プレイヤーのグループ化部によって同プレイヤーが属するグループの識別情報を受信するグループ識別受信部と、グループ内のメンバーの中から代表となるプレイヤーを選定する代表メンバー選定部と、各グループのメンバーの情報を管理するグループ管理部と、各グループの代表メンバーの情報をプレイヤーへ通知するグループ情報通知部と、グループの管理テーブルを保持し、プレイヤーからのグループ識別情報を受信するグループ識別受信部によって得られたグループにそのプレイヤーを加入メンバーとして管理テーブルに登録するメンバー登録部と、プレイヤーがストリーミング受信を終了したときあるいは配信サーバがプレイヤーへの配信を終了したときに、同プレイヤーを所属するグループから除外するため、管理テーブルの同グループメンバーから削除するメンバー削除部と、プレイヤーからのグループ識別情報を受信するグループ識別受信部によって得られたグループがどのグループにも属さないものであれば、新規にグループを生成して管理テーブルに新規グループを登録し、同グループに同プレイヤーをメンバー登録するグループ生成部と、メンバー削除部によってグループからメンバーが削除され、その結果同グループ内にメンバー存在しないとき、同グループを管理テーブルから削除して同グループを消去するグループ削除部とを備え、プレイヤーが、配信サーバ装置の代表メンバー通知部から自分と同じグループの代表メンバーを受信する代表メンバー受信部と、代表メンバー受信部で取得した代表メンバーを記憶・管理する代表メンバー管理部と、ストリーミング受信部から通知された欠損したパケットを代表メンバー管理部から取得した代表メンバーへ再送要求する再送要求送信部と、再送要求を受信する再送要求受信部と、再送要求されたパケットが受信バッファに存在する場合は再送要求元のプレイヤーへ同パケットを送信する再送部と、代表メンバー管理部から取得した代表メンバーが自分であり、且つその他に代表メンバーが存在しない場合は、欠損したパケットを配信サーバ装置へ再送要求する再送要求送信部を備えるため、再送要求先を限定することができ、ライブ型コンテンツのストリーミング配信のように、一時に多くのプレイヤーがストリーミング受信していても、再送によるトラフィックを軽減することができ、再送要求および再送処理による通信量も削減することができる。
また、実施の形態2に係るデータ通信システムは、プレイヤーが、配信サーバ装置のグループ情報通知部によって送信された各グループの代表メンバーの情報を受信するグループ情報受信部と、グループ情報受信部によって得られた各グループの代表メンバーとのネットワークの距離を測定する距離測定部と、距離測定部によって得られた各代表メンバーとのネットワーク距離から所属するグループを判定し、そのグループの識別情報を配信サーバ装置へ通知するグループ判定部と、自分と各代表メンバー間のホップ数Hをカウントし、最短ネットワーク距離(ホップ数)をHminとし、有効ネットワーク距離(ホップ数)をHmaxとしたとき、1<Hmin、Hmin≦H<Hmaxを満たし、最も小さいHであったメンバーを代表メンバーに選定し、上記条件を満たすメンバーが存在しないときは、どのグループにも属さないことを配信サーバ装置へ通知するグループ判定部とを備え、配信サーバ装置が、各プレイヤーからの通信状態の情報を受信し、それら通信状態を通信状態テーブルに保存する通信状態情報制御部と、通信状態テーブルから、グループ内のメンバーの中で代表となる通信状態の良い単数あるいは複数メンバーを動的に選定する代表メンバー選定部と、グループ内において代表メンバーに変更があった場合、同グループに属する各プレイヤーへ同代表メンバーを通知する代表メンバー通知部を備えるため、再送レスポンスが早くなり、リアルタイム性を重要視するライブ型コンテンツのストリーミングにおいても有効である。また、再送要求側と再送側とのネットワーク距離が近いため,再送要求パケットおよび再送パケットの欠損や遅延が発生する割合が小さくなり、再送によるリカバリー率も高くなる。これらの効果によって、ライブの映像や音声などの途切れや品質劣化を防ぐことができる。
ここで、以上の実施の形態1及び実施の形態2で示したデータ通信システムの特徴を説明する。
実施の形態1に示したデータ通信システムは、
ライブ映像のストリーミング配信における帯域制御を行うシステムであって、
ライブ映像をストリーミング配信する配信サーバ装置と、
配信サーバから配信されたパケットを受信してライブ映像を再生するプレイヤーとを有し、
プレイヤーにおいて、
配信サーバからのパケットを受信するストリーミング受信部と、
同じストリーミングを受信している複数のプレイヤーをグループ化するグループ化部と、
通信状態の情報を配信サーバ装置へ送信する通信状態情報送受信部と、
配信サーバ装置において、
映像や音声などのマルチメディアデータを生成するライブエンコーダ装置からのエンコードデータを受信しエンコーダ受信バッファに蓄積するエンコードデータ受信部と、
エンコーダ受信バッファに蓄積されたエンコードデータをネットワークへ配信するストリーミング配信部と、
プレイヤーへ通信状態の情報を要求し、プレイヤーからの通信状態の情報を受信する通信状態情報制御部と、
通信状態制御部で取得した各プレイヤーの通信状態情報とプレイヤーが属するグループ内のすべてのプレイヤーの通信状態情報を基に、各プレイヤーの有効な帯域を予測する有効帯域予測部と、
有効帯域予測部で予測された有効帯域にしたがってストリーミング配信の帯域を制御する帯域制御部を有することを特徴とする。
実施の形態1に示した配信サーバ装置は、
プレイヤーのグループ化部によって同プレイヤーが属するグループの識別情報を受信するグループ識別受信部と、
グループ内のメンバーの中から代表となるプレイヤーを選定する代表メンバー選定部と、
各グループのメンバーの情報を管理するグループ管理部と、
各グループの代表メンバーの情報をプレイヤーへ通知するグループ情報通知部を有することを特徴とする。
実施の形態1に示したプレイヤーは、
配信サーバ装置のグループ情報通知部によって送信された各グループの代表メンバーの情報を受信するグループ情報受信部と、
グループ情報受信部によって得られた各グループの代表メンバーとのネットワークの距離を測定する距離測定部と、
距離測定部によって得られた各代表メンバーとのネットワーク距離から所属するグループを判定し、そのグループの識別情報を配信サーバ装置へ通知するグループ判定部を有することを特徴とする。
実施の形態1に示したプレイヤーは、
自分と各代表メンバー間のホップ数Hをカウントし、有効ネットワーク距離(ホップ数)をHmaxとしたとき、0≦H<Hmaxを満たし、最も小さいHであったメンバーを代表メンバーに選定し、上記条件を満たすメンバーが存在しないときは、どのグループにも属さないことを配信サーバ装置へ通知するグループ判定部を有することを特徴とする。
実施の形態1に示す配信サーバ装置は、
グループの管理テーブルを保持し、
グループ識別受信部によって得られたグループに、グループ識別情報送信元のプレイヤーを加入メンバーとして管理テーブルに登録するメンバー登録部と、
プレイヤーがストリーミング受信を終了したときあるいは配信サーバがプレイヤーへの配信を終了したときに、同プレイヤーを所属するグループから除外するため、管理テーブルの同グループメンバーから削除するメンバー削除部と、
グループ識別受信部によって得られたグループがどのグループにも属さないものであれば、新規にグループを生成して管理テーブルに新規グループを登録し、同グループにグループ識別情報送信元のプレイヤーをメンバー登録するグループ生成部と、
メンバー削除部によってグループからメンバーが削除され、その結果同グループ内にメンバー存在しないとき、同グループを管理テーブルから削除して同グループを消去するグループ削除部を有することを特徴とする。
実施の形態1に示す配信サーバ装置は、
各プレイヤーからの通信状態の情報を受信し、それら通信状態を通信状態テーブルに保存する通信状態情報制御部と、
グループの数や各グループのメンバーの情報を管理するグループ管理部と、
通信状態情報制御部によって得られるプレイヤーの通信状態の情報と、同プレイヤーが所属するグループ内のすべてのプレイヤーの通信状態情報とから、同プレイヤーの有効な帯域を動的に予測する有効帯域予測部と、
各プレイヤーに対して有効帯域予測部で予測された有効帯域よりストリーミング配信の帯域が大きくならないように送信量を動的に制御する帯域制御部を有することを特徴とする。
実施の形態1に示すプレイヤーは、
配信サーバ装置の通信状態情報制御部から通信状態情報の要求を受けたときに、現在の配信サーバとプレイヤー間の通信状態の情報を配信サーバ装置へ送信する通信状態情報送受信部を備え、
実施の形態1に示す配信サーバ装置は、
グループ内の各プレイヤーから送信される通信状態情報の受信間隔がグループ内で均等になるように、各プレイヤーへの通信状態情報の要求を行うタイミングを制御する通信状態情報制御部を有することを特徴とする。
実施の形態2に示すデータ通信システムは、
ライブ映像のストリーミング配信における再送制御を行うシステムであって、
ライブ映像をストリーミング配信する配信サーバ装置と、
配信サーバから配信されたパケットを受信してライブ映像を再生するプレイヤーとを有し、
プレイヤーにおいて、
配信サーバからのパケットや再送パケットを受信し、それらのパケットを受信バッファに蓄積し、欠損したパケットがあった場合、同パケットが欠損したことを再送要求送信部へ通知するストリーミング受信部と、
同じストリーミングを受信している複数のプレイヤーをグループ化するグループ化部と、
通信状態の情報を配信サーバ装置へ送信する通信状態情報送受信部と、
ストリーミング受信部から通知された欠損したパケットを自分と同じグループに属するプレイヤーへ再送要求する再送要求送信部と、
再送要求を受信する再送要求受信部と、
再送要求されたパケットが受信バッファに存在する場合は再送要求元のプレイヤーへ同パケットを送信する再送部と、
配信サーバ装置において、
映像や音声などのマルチメディアデータを生成するライブエンコーダ装置からのエンコードデータを受信しエンコーダ受信バッファに蓄積するエンコードデータ受信部と、
エンコーダ受信バッファに蓄積されたエンコードデータをネットワークへ配信するストリーミング配信部と、
プレイヤーへ通信状態の情報を要求し、プレイヤーからの通信状態の情報を受信する通信状態情報制御部を有することを特徴とする。
実施の形態2に示す配信サーバ装置は、
プレイヤーのグループ化部によって同プレイヤーが属するグループの識別情報を受信するグループ識別受信部と、
グループ内のメンバーの中から代表となるプレイヤーを選定する代表メンバー選定部と、
各グループのメンバーの情報を管理するグループ管理部と、
各グループの代表メンバーの情報をプレイヤーへ通知するグループ情報通知部を有することを特徴とする。
実施の形態2に示すプレイヤーは、
配信サーバ装置のグループ情報通知部によって送信された各グループの代表メンバーの情報を受信するグループ情報受信部と、
グループ情報受信部によって得られた各グループの代表メンバーとのネットワークの距離を測定する距離測定部と、
距離測定部によって得られた各代表メンバーとのネットワーク距離から所属するグループを判定し、そのグループの識別情報を配信サーバ装置へ通知するグループ判定部を有することを特徴とする。
実施の形態2に示すプレイヤーは、
自分と各代表メンバー間のホップ数Hをカウントし、最短ネットワーク距離(ホップ数)をHminとし、有効ネットワーク距離(ホップ数)をHmaxとしたとき、1<Hmin、Hmin≦H<Hmaxを満たし、最も小さいHであったメンバーを代表メンバーに選定し、上記条件を満たすメンバーが存在しないときは、どのグループにも属さないことを配信サーバ装置へ通知するグループ判定部を有することを特徴とする。
実施の形態2に示す配信サーバ装置は、
グループの管理テーブルを保持し、
プレイヤーからのグループ識別情報を受信するグループ識別受信部によって得られたグループにそのプレイヤーを加入メンバーとして管理テーブルに登録するメンバー登録部と、
プレイヤーがストリーミング受信を終了したときあるいは配信サーバがプレイヤーへの配信を終了したときに、同プレイヤーを所属するグループから除外するため、管理テーブルの同グループメンバーから削除するメンバー削除部と、
プレイヤーからのグループ識別情報を受信するグループ識別受信部によって得られたグループがどのグループにも属さないものであれば、新規にグループを生成して管理テーブルに新規グループを登録し、同グループに同プレイヤーをメンバー登録するグループ生成部と、
メンバー削除部によってグループからメンバーが削除され、その結果同グループ内にメンバー存在しないとき、同グループを管理テーブルから削除して同グループを消去するグループ削除部を有することを特徴とする。
実施の形態2に示す配信サーバ装置は、
各プレイヤーからの通信状態の情報を受信し、それら通信状態を通信状態テーブルに保存する通信状態情報制御部と、
通信状態テーブルから、グループ内のメンバーの中で代表となる通信状態の良い単数あるいは複数メンバーを動的に選定する代表メンバー選定部と、
グループ内において代表メンバーに変更があった場合、同グループに属する各プレイヤーへ同代表メンバーを通知する代表メンバー通知部を有することを特徴とする。
実施の形態2に示すプレイヤーは、
配信サーバ装置の代表メンバー通知部から自分と同じグループの代表メンバーを受信する代表メンバー受信部と、
代表メンバー受信部で取得した代表メンバーを記憶・管理する代表メンバー管理部を有することを特徴とする。
実施の形態2に示すプレイヤーは、
ストリーミング受信部から通知された欠損したパケットを代表メンバー管理部から取得した代表メンバーへ再送要求する再送要求送信部と、
再送要求を受信する再送要求受信部と、
再送要求されたパケットが受信バッファに存在する場合は再送要求元のプレイヤーへ同パケットを送信する再送部を有することを特徴とする。
実施の形態2に示すプレイヤーは、
代表メンバー管理部から取得した代表メンバーが自分であり、且つその他に代表メンバーが存在しない場合は、欠損したパケットを配信サーバ装置へ再送要求する再送要求送信部を有することを特徴とする。
実施の形態1のデータ通信システムの構成図。 実施の形態1および2のグループ管理処理のフローチャート。 実施の形態1のグループ化処理のフローチャート。 実施の形態1の通信状態情報処理のフローチャート。 実施の形態1の帯域制御処理のフローチャート。 実施の形態2のグループ化処理のフローチャート。 実施の形態2の通信状態情報処理のフローチャート。 実施の形態2の代表メンバー選定処理のフローチャート。 実施の形態2の再送制御処理のフローチャート。 実施の形態1の帯域制御による効果を説明する図。 実施の形態1のグループ構成例を示す図。 実施の形態1のグループ管理テーブルの例を示す図。 実施の形態2のグループ構成例を示す図。 実施の形態2のグループ管理テーブルの例を示す図。 実施の形態2のデータ通信システムの構成図。
符号の説明
101 配信サーバ装置、102 プレイヤー、103 エンコードデータ受信部、104 エンコーダ受信バッファ、105 ストリーミング配信部、106 通信状態情報制御部、107 有効帯域予測部、108 帯域制御部、109 通信状態テーブル、110 グループ情報通知部、111 グループ識別受信部、112 代表メンバー選定部、113 代表メンバー通知部、114 グループ管理部、115 グループ管理テーブル、116 メンバー登録部、117 メンバー削除部、118 グループ生成部、119 グループ削除部、120 ストリーミング受信部、121 受信バッファ、122 通信状態情報送受信部、123 グループ化部、124 グループ情報受信部、125 距離測定部、126 グループ判定部、127 代表メンバー受信部、128 代表メンバー管理部、129 再送要求送信部、130 再送要求受信部、131 再送部、132 ネットワーク、133 再送パケット受信部。

Claims (12)

  1. 端末装置に対するデータ送信を行うデータ送信部と、
    複数の端末装置を少なくとも一つ以上のグループに分類するグループ情報を管理するグループ管理部と、
    複数の端末装置について、各端末装置の通信状態を示す通信状態情報を管理する通信状態管理部と、
    いずれかの端末装置へのデータ送信に先立ち、前記グループ管理部により管理されているグループ情報と前記通信状態管理部により管理されている通信状態情報とを参照し、データ送信の対象となる端末装置と同じグループに所属する少なくとも一つ以上の他の端末装置の通信状態に基づき、データ送信の対象となる端末装置に対する有効帯域を予測する有効帯域予測部と、
    前記有効帯域予測部により予測された有効帯域の範囲内でデータ送信の対象となる端末装置へのデータ送信の帯域を制御する帯域制御部とを有することを特徴とするデータ通信装置。
  2. 前記有効帯域予測部は、
    データ送信の対象となる端末装置の通信状態及びデータ送信の対象となる端末装置と同じグループに所属する少なくとも一つ以上の他の端末装置の通信状態に基づき、データ送信の対象となる端末装置に対する有効帯域を予測することを特徴とする請求項1に記載のデータ通信装置。
  3. 前記グループ管理部は、
    いずれのグループにも所属していないグループ未所属端末装置が存在する場合に、各グループの特性を解析するためのグループ情報を前記グループ未所属端末装置に送信し、グループ情報に基づいて前記グループ未所属端末装置に各グループの特性を解析させて所属するグループを選択させるとともに、前記グループ未所属端末装置が選択したグループに前記グループ未所属端末装置を所属させるための登録処理を行うことを特徴とする請求項1に記載のデータ通信装置。
  4. 前記通信状態管理部は、
    それぞれの端末装置の通信状態を通知するよう要求する通信状態通知要求を生成し、生成した通信状態通知要求をそれぞれの送信タイミングをずらして各端末装置に対して送信することを特徴とする請求項1に記載のデータ通信装置。
  5. 前記データ通信装置は、更に、
    端末装置が受信したデータ中にデータ欠損があった場合に当該端末装置が欠損データの送信要求を行うべき他の端末装置を、グループごとに、代表メンバー端末装置として選定する代表メンバー選定部と、
    前記代表メンバー選定部により選定された代表メンバー端末装置を、グループごとに、各端末装置に対して通知する代表メンバー通知部とを有することを特徴とする請求項1に記載のデータ通信装置。
  6. 前記代表メンバー選定部は、
    前記グループ管理部により管理されているグループ情報と前記通信状態管理部により管理されている通信状態情報とを参照し、グループごとに、通信状態が良好な順に所定数の端末装置を選択し、選択した所定数の端末装置を代表メンバー端末装置として選定することを特徴とする請求項5に記載のデータ通信装置。
  7. 複数の端末装置と、前記複数の端末装置に対してデータ送信を行うデータ通信装置とを有する通信システムであって、
    各端末装置は、
    前記データ通信装置からの問い合わせに対してそれぞれの通信状態を前記データ通信装置に通知し、
    前記データ通信装置は、
    前記複数の端末装置を少なくとも一つ以上のグループに分類し、
    各端末装置に対して通信状態の問い合わせを行うとともに、各端末装置から通信状態の通知を受け付け、
    いずれかの端末装置へのデータ送信に先立ち、データ送信の対象となる端末装置と同じグループに所属する少なくとも一つ以上の他の端末装置の通信状態に基づき、データ送信の対象となる端末装置に対する有効帯域を予測し、
    予測した有効帯域の範囲内でデータ送信の対象となる端末装置へのデータ送信の帯域を制御することを特徴とするデータ通信システム。
  8. 前記データ通信装置は、
    データ送信の対象となる端末装置の通信状態及びデータ送信の対象となる端末装置と同じグループに所属する少なくとも一つ以上の他の端末装置の通信状態に基づき、データ送信の対象となる端末装置に対する有効帯域を予測することを特徴とする請求項に記載のデータ通信システム。
  9. 前記データ通信装置は、
    いずれのグループにも所属していないグループ未所属端末装置が存在する場合に、各グループの特性を解析するためのグループ情報を前記グループ未所属端末装置に送信し、グループ情報に基づいて前記グループ未所属端末装置に各グループの特性を解析させて所属するグループを選択させるとともに、前記グループ未所属端末装置が選択したグループに前記グループ未所属端末装置を所属させるための登録処理を行い、
    各端末装置は、
    いずれのグループにも所属していないグループ未所属端末装置である場合に、前記データ通信装置からグループ情報を受信し、グループ情報に基づき各グループの特性を解析し、解析結果に基づきいずれのグループに所属するかを選択するとともに、選択したグループを前記データ通信装置に通知することを特徴とする請求項に記載のデータ通信システム。
  10. 各端末装置は、
    前記データ通信装置から受信したグループ情報に基づき各グループの特性を解析した結果、既存のいずれのグループにも所属しないことを決定する場合があり、既存のいずれのグループにも所属しないことを決定した場合に、前記データ通信装置に対して新規グループの設定を要求し、
    前記データ通信装置は、
    いずれかの端末装置より新規グループの設定を要求された場合に、新規グループを設定するとともに当該端末装置を新規グループに所属させるための登録処理を行うことを特徴とする請求に記載のデータ通信システム。
  11. 前記データ通信装置は、
    グループ情報として、グループごとに、各グループの代表である代表メンバー端末装置を示すグループ情報を前記グループ未所属端末装置に対して送信し、
    各端末装置は、
    前記データ通信装置よりグループ情報を受信した場合に、グループ情報に基づき各グループの代表メンバー端末装置とのネットワーク距離を計測し、計測した各グループの代表メンバー端末装置とのネットワーク距離に基づきいずれのグループに所属するかを選択することを特徴とする請求項に記載のデータ通信システム。
  12. 前記データ通信装置は、
    それぞれの問い合わせタイミングをずらして各端末装置に対して通信状態の問い合わせを行うことを特徴とする請求項に記載のデータ通信システム。
JP2003404418A 2003-12-03 2003-12-03 データ通信装置及びデータ通信システム Expired - Fee Related JP4237608B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003404418A JP4237608B2 (ja) 2003-12-03 2003-12-03 データ通信装置及びデータ通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003404418A JP4237608B2 (ja) 2003-12-03 2003-12-03 データ通信装置及びデータ通信システム

Publications (2)

Publication Number Publication Date
JP2005167675A JP2005167675A (ja) 2005-06-23
JP4237608B2 true JP4237608B2 (ja) 2009-03-11

Family

ID=34727417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003404418A Expired - Fee Related JP4237608B2 (ja) 2003-12-03 2003-12-03 データ通信装置及びデータ通信システム

Country Status (1)

Country Link
JP (1) JP4237608B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622546B2 (ja) 2005-01-31 2011-02-02 パナソニック株式会社 通信方法及び無線通信装置
JP4593426B2 (ja) * 2005-09-30 2010-12-08 Kddi株式会社 無線端末及び無線トラフィック制御方法
JP2010226447A (ja) * 2009-03-24 2010-10-07 Toshiba Corp コンテンツ配布システムおよびコンテンツ配布方法
WO2012011378A1 (ja) 2010-07-22 2012-01-26 日本電気株式会社 コンテンツ配信システム、コンテンツ配信装置、コンテンツ配信方法およびプログラム
US9348824B2 (en) 2014-06-18 2016-05-24 Sonos, Inc. Device group identification

Also Published As

Publication number Publication date
JP2005167675A (ja) 2005-06-23

Similar Documents

Publication Publication Date Title
Matsuzono et al. Low latency low loss streaming using in-network coding and caching
KR101099800B1 (ko) 미디어 서버로의 피드백 제공 방법
JP3662907B2 (ja) データ送受信方法、送信装置、受信装置、送受信システム、およびプログラム
US20110058554A1 (en) Method and system for improving the quality of real-time data streaming
Kouvelas et al. Network adaptive continuous-media applications through self organised transcoding
KR20060068445A (ko) 디지털 홈 서비스에서 하이브리드 모니터링을 통한 동적서비스 품질 매핑 장치 및 방법
CN105340237B (zh) 在内容递送网络中从源向至少一个目的地分发内容的方法
JP2015521434A (ja) 優先順位マーキングを用いる適応ストリーミングアウェアネットワークノード、クライアント及び方法
CN109495326B (zh) 网络带宽分配方法和系统
JP4969342B2 (ja) 受信端末及び受信方法
US20200120152A1 (en) Edge node control
JP2010521099A (ja) マルチキャストネットワークにおいてチャネル状態フィードバックを行う方法及び装置
Setton et al. Low latency video streaming over peer-to-peer networks
JP4237608B2 (ja) データ通信装置及びデータ通信システム
Lucas et al. MESH: Distributed error recovery for multimedia streams in wide-area multicast networks
Setton et al. Congestion-distortion optimized peer-to-peer video streaming
Hsiao et al. Streaming video over TCP with receiver-based delay control
JP2014522594A (ja) マルチメディア・コンテンツをストリーミングする方法および装置
Lucas et al. Distributed Error Recovery for Continuous Media Data in Wide-Area Multicast
Peng et al. Multicasting with localized control in wireless Ad Hoc networks
CN105340284B (zh) 在内容递送网络中从源向目的地递送内容的方法
Youssef et al. A scalable and robust feedback mechanism for adaptive multimedia multicast systems
JPWO2006013618A1 (ja) 伝送制御装置
Kang et al. NLM: Network-based Layered Multicast for traffic control of heterogeneous network
Krithivasan et al. Mechanisms for Effective and Efficient Dissemination of Multimedia

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees