JP2004013440A - Data distribution system, data relay device and method therefor, and program for implementing data relay method by computer - Google Patents

Data distribution system, data relay device and method therefor, and program for implementing data relay method by computer Download PDF

Info

Publication number
JP2004013440A
JP2004013440A JP2002164852A JP2002164852A JP2004013440A JP 2004013440 A JP2004013440 A JP 2004013440A JP 2002164852 A JP2002164852 A JP 2002164852A JP 2002164852 A JP2002164852 A JP 2002164852A JP 2004013440 A JP2004013440 A JP 2004013440A
Authority
JP
Japan
Prior art keywords
data
replacement
packet
server
distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002164852A
Other languages
Japanese (ja)
Inventor
Toshihiko Munetsugi
宗續 敏彦
Yoshiaki Iwata
岩田 芳明
Kentaro Tanigawa
谷川 賢太郎
Kazuhiro Nishitani
西谷 和博
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002164852A priority Critical patent/JP2004013440A/en
Publication of JP2004013440A publication Critical patent/JP2004013440A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To distribute separate contents in compliance with individual conditions to a maximally large number of clients without putting a great load to a server side in a content distribution system. <P>SOLUTION: In this data distribution system, client terminals are grouped, and contents are distributed to each group via a specific data relay device. In the data relay device, a part, to which a receipt packet belongs, is determined by a data selection part 13, and if the part is the one to be replaced, the receipt packet is discarded while a packet of replacement requiring data is formed by a data packet formation part 15. The formed replacement packet is transmitted to a client terminal T. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、インターネットなどのネットワークを通じてマルチメディアデータをユーザに配信するデータ配信システムにおいて、データ配信元とユーザとの間でデータの中継を行うデータ中継装置に関する。
【0002】
【従来の技術】
近年、通信技術の発達により、静止画像、動画、音声などのマルチメディアコンテンツ(以下、「コンテンツ」)をネットワーク上で流通させるサービスが行われるようになっている。その背景には、ネットワークのブロードバンド化により、デジタルデータの高速伝送が可能になったことがある。コンテンツのデータは小さなパケットに区切られて配信され、ストリーミングなどリアルタイム性が重視される場合は、リアルタイムトランスポートプロトコル(RTP)と呼ばれるプロトコルにしたがって伝送される。
【0003】
コンテンツの配信形態は、コンテンツを保持するサーバからクライアント(ユーザ)の端末にコンテンツを送信する、というものであるが、サーバから個々のクライアントへ個別のコンテンツを送る「ユニキャスト」と、1つのサーバから複数のクライアントに同じコンテンツを送る「マルチキャスト」とに大きく分かれる。
【0004】
マルチキャストの場合は、サーバから送出されるデータは全クライアントに対して同一なので、クライアント数がいくら増えてもサーバからのデータ送出用回線の容量(レート)は大きくする必要がなく、対応できるクライアント数は理論上無限である。しかし、ユーザ毎に内容の異なるコンテンツを送出する形のサービスには向かない。一方、ユニキャストの場合、各クライアントに対し、その要求に従って異なる内容のコンテンツを配送できる反面、サーバは同時に複数種類のコンテンツを送出することになるので、回線容量を大きくしても同時に対応できるクライアント数には限りがあり、多数のクライアントに同時にデータ配信するサービスには向かない。
【0005】
【発明が解決しようとする課題】
しかしながら、コンテンツ配信サービスにおいては、多数のクライアントに対して同時に内容の異なるコンテンツを配信する必要が生じる場合もある。例えば、ある番組(映画やスポーツ中継など)にコマーシャルや地域情報(天気予報など)を付加して1つのコンテンツとし、全国のクライアントに配信するサービスの場合、番組部分は共通でもコマーシャルや地域情報の部分はクライアントの所在地(地域)や嗜好によって異なるので、クライアント別にコンテンツの内容は異なる。その場合、コマーシャルや地域情報のみ異なる複数種類のコンテンツを編集、制作してサーバに保持させる必要があるが、その数はかなり多くなりデータ量も非常に大きい。さらに、これら複数種類のコンテンツを同時に配信することになると、サーバからのデータ送出に用いられる回線の容量は非常に大きなものが求められる。
【0006】
本発明は、上記の課題に鑑み、コンテンツ配信システムにおいて、サーバ側に大量のデータの管理などの負荷を負わせることなく、なるべく多くのクライアントに対し所在地や嗜好などの各クライアント個別の条件に合わせた内容のコンテンツ配信を可能とできるような、データ配信システム及びデータ中継装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記の課題を解決するために、本発明のデータ配信システムは、サーバから複数のクライアント端末に対して1以上のデータ中継装置を介して配信データを配信するデータ配信システムであって、前記クライアントは複数のグループに分けられており、前記サーバが配信する配信データは複数のパートから成るというデータ配信システムであって、前記1以上のデータ中継装置は各々が、前記複数のグループのいずれかに対応しており、前記サーバから配信データを受信するデータ受信手段と、前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、前記要否判定手段が差し替え要と判定したパートを固有の差し替え用パートに差し替えた形の差し替え後配信データを、対応するグループに属するクライアントに送信する差し替え送信手段と、を有することを特徴とする。
【0008】
この構成のシステムによれば、サーバが送出した単一のコンテンツを、1以上のデータ中継装置がそれぞれ部分的に更新してクライアント端末に送出するので、各データ中継装置に対応するクライアント端末ごとに内容の異なるコンテンツを配信することができる。
また、上記の課題を解決するために、本発明のデータ中継装置は、サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継装置であって、複数のパートから成る配信データを前記サーバから受信するデータ受信手段と、前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、前記要否判定手段が差し替え要と判定したパートを固有の差し替え用データに差し替えた形の差し替え後配信データをクライアント端末に送信する差し替え送信手段とを有することとする。
【0009】
【発明の実施の形態】
以下、図面を参照しながら、本発明のデータ配信システム及びデータ中継装置の実施の形態について説明する。
(データ配信システムの概要)
図1は、データ中継装置1とこれが含まれるデータ配信システムAの概要を示す図である。データ配信システムAは、サーバが保持するマルチメディアコンテンツデータ(以下「コンテンツデータ」と言う)をデータ中継装置経由でクライアント(ユーザ)に配信するサービスを行うものである。この配信は予め決められたタイムテーブルに従ってクライアントにコンテンツデータが配信されるもので、現行のテレビ放送サービスのイメージに近いものである。サービスの性質上、リアルタイム性が重視されるので、コンテンツデータはRTPに従って送られる。
【0010】
図1に示す通り、データ配信システムAは、1台のマルチメディアコンテンツサーバS(以下、単に「サーバS」と言う)に複数のデータ中継装置1がネットワークNを介して接続され、データ中継装置の各々には1台以上のクライアント端末がネットワークを介して接続されている。クライアント端末はいくつかのグループに分かれてグループ毎に特定のデータ中継装置に対応している。なお、複数あるデータ中継装置、クライアント端末の構成は同一であるため、それぞれ単一の参照番号を付して、以下、「データ中継装置1」、「クライアント端末T」とする。
【0011】
サーバSは、RTPに従ってコンテンツデータをパケット単位でデータ中継装置1に送出する。サーバSからのコンテンツデータの送出は、マルチキャスト方式で行われ、全てのデータ中継装置1に同一内容のコンテンツデータを送出する。
各データ中継装置1はサーバSから受け取ったコンテンツデータの一部を、あらかじめ保持している固有の差し替え情報に従って同様に予め保持している固有の差し替え用データに差し替えた上で、各々が接続されたクライアント端末Tに送出する(この時点で、データ中継装置毎に送出するコンテンツデータ内容は異なったものとなる)。個々のデータ中継装置からそれが対応する複数のクライアント端末へのコンテンツデータの送信もマルチキャスト方式で行われる。なお、データ中継装置1の実体は、ルータなどの既存の中継装置に組み込まれた装置(計算機によって実行されるプログラムも含む概念)である。
【0012】
クライアント端末Tは対応するデータ中継装置1からパケットを受信し、ここからコンテンツデータを取り出して再生し、ユーザに提示する。
すなわち、データ配信システムAは、クライアントをグループ化し、グループ毎に特定のデータ中継装置を経由して配信するものであり、各データ中継装置が別々にコンテンツデータの一部を差し替えることで、グループ毎に内容の異なるコンテンツを配信できるようにしている。
(コンテンツの編成及び差し替え情報)
次いで、サーバSが配信するコンテンツデータの編成、データ中継装置1が保持する差し替え情報の概略について説明する。
【0013】
サーバSが配信するコンテンツデータは、番組本編にCMや地域情報などが挿入されたものであり、番組本編は全クライアントに共通であるが、CMや地域情報の内容はクライアント端末Tの所在地に応じて異なる。データ中継装置1で差し替えが行われるのはCM及び地域情報である。サーバSはコンテンツデータをいくつかのパートに分け、さらに各パートをパケット単位に分割して、データ中継装置1経由でクライアント端末Tに配信する。また、サーバSは、コンテンツデータの各々について、その構成を示す編成情報を保持しており、コンテンツデータ配信に先立って編成情報をデータ中継装置1に送出しておく。なお、この送出の際、サーバSは、個々の編成情報に対応するコンテンツを識別するための識別情報を付加しておく。
【0014】
図2は、上記のようなコンテンツデータの編成の一例を示す模式図である。コンテンツデータ200は、番組本編を形成する3つの本編パート211、212、213、CMに対応するCMパート221、222、地域情報に対応する地域情報パート231から成り、3つの本編パートの間にCMパート221、222が挿入され、末尾に地域情報パート231が付加された構成である。
【0015】
図3は、図2に示すコンテンツデータ200を例に編成情報の構成と内容の一例とを表形式で示す図である。編成情報は各パートに1件ずつ対応する。編成情報301は図2に示した本編パート211に、編成情報302〜306は、CMパート221、本編パート212、CMパート222、本編パート213、地域情報パート231にそれぞれ対応する。各編成情報は各パートをユニークに識別するIDが格納されるパートID欄310、各パートのコンテンツデータにおける範囲を再生開始タイミング及び再生終了タイミングの値で示す情報が格納されるタイミング欄320から成り、タイミング欄320は更に開始タイミング欄321と終了タイミング欄322とから成る。タイミング欄320に格納される値は、データ配信時の各パケットに設定されるタイムスタンプに対応するものである。すなわち、コンテンツデータの先頭の再生開始時点を「00:00:00」として、各パートの再生時の開始、終了時点を再生開始時点からの経過時間長(オフセット)で表わす。例えば、編成情報301は本編パート211について、再生開始から「00:00:00」以上、「00:15:00」未満の範囲で再生される部分であることを示す。逆に、あるパケットに格納されたタイムスタンプの値が「00:00:00」以上、「00:15:00」未満の範囲であれば、当該パケットは本編パート211に含まれることを意味する。
【0016】
一方、データ中継装置1は、パート単位でコンテンツデータの一部を差し替えるが、そのために、差し替え後のデータである差し替え用データと差し替え処理内容を示す差し替え情報とを保持している。差し替え用データ及び差し替え情報は、コンテンツの制作と並行して作成され、配信サービス休止期間(深夜など)にネットワークを介して各中継装置に送信される。データ中継装置1は受信した差し替え用データ及び差し替え情報を付属する記憶装置に格納しておく。差し替え情報はコンテンツデータ毎、更にはデータ中継装置毎に作成される。
【0017】
図4は、データ中継装置1が保持する差し替え情報の構成と内容の一例とを、図2に示したコンテンツデータ200の場合を例に示してある。なお、差し替え情報400は、どのコンテンツデータに対応するかを示すコンテンツ識別情報が付加されているものとする(図示せず)。差し替え情報400は、差し替え対象パートの識別情報が格納されるパートID欄410(図3に示す編成情報のパートID欄310に対応)、差し替え用データの識別情報が格納される差し替え用データID欄420とから成る。
【0018】
図4に示すのは、識別情報の値が「CM1」、「DI01」であるパート(CMパート221、地域情報パート231)が差し替え対象であり、それぞれ、識別情報の値が「R01」、「R02」である差し替え用データに差し替える、という内容の情報である。なお、データ配信システムAに含まれる各データ中継装置は、図4に示すものと構成が同じで内容の異なる差し替え情報をそれぞれ保持している。
(データ中継装置1の構成)
次いで、本実施の形態におけるデータ中継装置1の構成について説明する。
【0019】
図5は、図1に示したデータ中継装置1の詳細な構成を示すブロック図である。なお、データ中継装置1には、差し替え用データが格納された記憶装置19が接続されている。
データ中継装置1は、コンテンツサーバSがRTPパケット単位で送出してくるコンテンツデータをネットワークN経由で受信するデータ受信部11、編成情報(図3参照)、差し替え情報(図4参照)、差し替え用データを受信する編成情報取得部12、編成情報及び差し替え情報を参照してデータ受信部11が受信したコンテンツデータについてパート毎に差し替えの要否を判定するデータ選択部13、データ選択部13が差し替え要と判定したパーツについて、これに対応する差し替え用データを記憶装置19から読み出すデータ読取部14、及び、読み出された1パート分の差し替え用データを送信用のRTPパケットに分割するデータパケット作成部15、クライアントに送信するパケットに関し、必要に応じてヘッダ情報の一部を変更するパケット情報変更部16、ネットワークN’経由でパケットをクライアント端末Tに送出するデータ送出部17を有する。
【0020】
記憶装置19には編成情報取得部12が受信した差し替え用データが格納される。なお、これ以降の説明では、便宜上、データ受信部11がサーバSから受信するパケットを受信パケット、差し替え用データからデータパケット作成部15が作成したパケットを差し替えパケットと区別する。
以下、上記構成部のうち主要なものについて、更に詳しく説明する。
(データ選択部13)
データ選択部13は、データ受信部11から受信パケットを受け取ると、その内容を参照してパートの先頭パケットであるか否か判定する。そして、パートの先頭パケットを検出すると、当該パートが差し替え対象のパートであるか否か判定する。そして、差し替え対象パートであれば、次のパートの先頭パケットを検出するまでの間、データ受信部11から送られてくる受信パケットは廃棄する。その一方で、データパケット作成部15に指示して、当該差し替え対象パートに対応する差し替えデータから差し替えパケットを作成させ、その差し替えパケットをパケット情報変更部16に出力する。
【0021】
データ選択部13は、各パートの先頭パケットの検出、当該パートが差し替え対象パートか否かの判定を、受信パケットのタイムスタンプの情報、編成情報及び差し替え情報を参照して行う。これは、受信パケットには属するパートを直接示す情報が格納されないからである。タイムスタンプは受信パケット(RTPパケット)のヘッダ又はペイロードに格納され、コンテンツデータの先頭からのオフセットをタイミングで示すものである。なお、データ選択部13は、編成情報、差し替え情報を編成情報受信部12から予め得て保持している。
【0022】
データ選択部13は、データ受信部11から新たな受信パケットを受け取ると、当該受信パケットのタイムスタンプを読み出す。そして、このタイムスタンプを編成情報のタイミング欄320(図3参照)に照会して、当該パケットが属するパートのパートID(パートID欄310の値)を得ると、保持しておいた受信済みパートのパートIDと比較する。比較の結果、当該パケットのパートIDがそれ以前に受信済みのパートのパートIDと異なれば、当該パケットはパートの変わり目、すなわち新たなパートの先頭パケットと分かる。コンテンツの最初のパケットについては、「受信済みパートのパートID」が存在しない(空値である)ため、必ずパートの先頭パケットと認識される。受け取った受信パケットがパートの先頭であると判定した場合、データ選択部13は更に、この受信パケットが属するパートのパートIDを差し替え情報のパートID欄410(図4参照)の内容に照会して、当該パートが差し替え対象か否か判定する。
【0023】
データ選択部13は、パートの先頭パケットを検出し、当該パートが差し替え対象か否か判定すると、判定結果に応じて以下の処理を行う。
先ず、差し替え対象パートでなければ、データ選択部13は、次のパートの先頭パケットを検出するまで、データ受信部11から送られてくる受信パケットをそのままパケット情報変更部16に出力する。
【0024】
一方、差し替え対象パートであれば、データ選択部13はその後、当該パートに含まれる後続の受信パケットを廃棄する処理と、データパケット作成部15に差し替えパケットを作成させてパケット情報更新部16に出力する処理とを並行して行う。
廃棄処理については、先ず、検出した先頭パケットが差し替え対象のパートであると判定した時点で廃棄フラグをON設定し、当該先頭パケットを廃棄する。データ選択部13は、「データ受信部11から送られてくる受信パケットが属するパートが直前のパートと同じ」で、しかも「廃棄フラグ=ON」という条件が満たされる場合、受信パケットを廃棄する。廃棄フラグ=ONの状態で、受信パケットと直前パケットの所属パートが異なる場合(次パートの先頭パケットを検出した場合)、データ選択部13は廃棄フラグをOFFに戻した上で、上に記したように、次パートが差し替え対象か否かの判定とそれに続く処理を行う。
【0025】
データ選択部13は、差し替えパケット作成、出力のための処理として、先ず、データパケット作成部15に差し替えデータの識別情報(差し替え情報の差し替え用データID欄420の値)を送り、当該差し替えデータを格納したRTPパケットの作成を指示する。そして、指示に応じてデータパケット作成部15から出力されてくる差し替えパケットを順次、パケット情報変更部16へ出力する。
【0026】
なお、データ選択部13は、パケット作成部15に差し替えデータのパケット作成を指示する時点で、「作成中フラグ」をON設定し、当該指示対象の差し替え用データの最終パケットをパケット作成部15から受け取った時点でOFFに戻す。この作成中フラグは、データ選択部13が、差し替えパケットをパケット作成部15から受け取ってパケット情報変更部16へ出力する処理の間に、次パートの先頭パケットをデータ受信部11から受け取った場合に参照される。すなわち、上記の作成中フラグがONの状態で、次パートの先頭パケットを検出した場合、データ選択部13は、最終の差し替えパケットをデータパケット作成部15から受け取ってパケット情報変更部16に出力するまで、すなわち、作成中フラグがOFFになるまで、データ受信部11から送られてくる次パートの受信パケットを一時記憶に保管しておく。そして、差し替えパートの最終パケットをパケット情報変更部16に送出した後、この次パートが差し替え対象か否かに応じて、一時保存しておいた受信パケットを廃棄、又はパケット情報変更部16へ出力する。
【0027】
データ選択部13は、コンテンツデータの全パートの処理が終るまで上記の処理を繰り返す。また、データ選択部13は、パケット情報変更部16にパケットを出力するたびに、パケットの管理情報の一部(シーケンス番号)を変更する際に参照される情報をパケット情報変更部16に出力する。この情報とは、コンテンツデータの配信開始からの廃棄パケットの総数、及び、配信開始からの差し替えパケットの総数である。これらの情報を得るために、データ選択部13は廃棄したパケット用のカウンタ、及び作成パケット用のカウンタを保持している。
(データパケット作成部15)
データパケット作成部15は、データ選択部13からの指示に応じて差し替えパケットを作成しデータ選択部13に送出する。まず、データ選択部13から指示と共に送られてくる差し替え用データの識別情報をデータ読取部14へ送り、当該識別情報に対応する差し替え用データを記憶装置19から読み出させる。なお、RTPパケット化に必要な情報(MP4フォーマットのHintTrackなど)がある場合は、その部分もデータ読取部14に読み出させるものとする。続いて、読み出させた差し替え用データを分割してRTPパケットに格納、そしてパケットに必要な管理情報を設定してデータ選択部13に送出する。さらに、当該差し替え用データの最終差し替えパケットをデータ選択部13に送出する際は、最終である旨を通知する。また、作成した差し替えパケットについては、管理情報の一部であるシーケンス番号を空値にしておく。
(パケット情報変更部16)
パケット情報変更部16では、必要な場合に、クライアント端末Tに送出されるパケットのシーケンス番号を更新する。シーケンス番号は1つのコンテンツデータを構成するパケットの通し番号であり、受信側装置(ここではクライアント端末T)が伝送中に発生する「パケット損失」や「パケット順序の逆転」を検出できるように設定される情報である。例えば、1つのコンテンツデータが100個のパケットに分割されてクライアントの端末に送信される場合、個々のパケットには送信される順序に応じて1〜100のいずれかのシーケンス番号が設定される。これをクライアント端末が受信する際に「シーケンス番号:10」のパケットの次に「シーケンス番号:12」のパケットを受信したとすれば、クライアント側で「シーケンス番号:11」のパケットが送信中に失われたものと認識できる(パケット損失)。この場合、クライアント端末は、受信したマルチメディアデータの再生時に、損失分パケットを考慮した調整を行う。
【0028】
また、パケット順序の逆転とは、パケットの送信順序と受信順序とが一致しない現象である。例えば、「シーケンス番号:10」、「シーケンス番号:11」、「シーケンス番号:12」の順序で送信された3つのパケットが、クライアント端末には「シーケンス番号:10」、「シーケンス番号:12」、「シーケンス番号:11」の順番で受信される。この場合、クライアント側は「シーケンス番号:11」を廃棄する。
【0029】
しかし、データの差し替えが行われる場合、差し替え対象パートと差し替えデータとでは、再生時の時間長が同じでも圧縮後データ量は同じにならないので、差し替え前後のデータ量に差がでる。このデータ量の差が大きいとパケット数も違ってくる。例えば、差し替え対象パートが10個のパケット(シーケンス番号は「11」〜「20」とする)に収まるデータ量であるのに対し、差し替え用データが9個のパケットに収まる量であれば、データ中継装置1からクライアント端末Tに送られる差し替え用データの最終差し替えパケットに納められるシーケンス番号は「19」となる一方、サーバから次に送られてくるパケットのシーケンス番号は「21」であるので、当該パケットをそのままクライアント端末Tに送信すると、「シーケンス番号:20」のパケットが失われたと誤認識されてしまう。
【0030】
また、逆に差し替え対象パートが10個のパケットに収まるデータ量であるのに対し、差し替え用データが12個のパケットに収まる量であれば、クライアント端末Tに送られる差し替え用データの最終差し替えパケットに納められるシーケンス番号は「22」となる一方、サーバから次に送られてくるパケットのシーケンス番号は「21」であるので、当該パケットをシーケンス番号の調整なしにクライアント端末に送信すると、クライアント側では上記のような「パケット順序の逆転」が発生したと誤認識してパケット廃棄を行ってしまう。
【0031】
そこで、パケット情報変更部16は、こうしたパケット損失やパケット順序の逆転に関する誤認識を防ぐためにクライアント端末Tへの送信に先立ってシーケンス番号を変更する。
パケット情報変更部16によるシーケンス番号変更処理の内容は、データ選択部13が出力してくるパケットが、データ受信部11が受信した受信パケットであるかパケットデータ作成部15が作成した差し替えパケットであるかによって分かれる。いずれのパケットであるかは、シーケンス番号が空値であるか否かによって判定する(上で述べた通り、差し替えパケットのシーケンス番号は空値となっている)。
【0032】
データ受信部11が受信したパケット(シーケンス番号が空値でないパケット)がデータ選択部13から送出されてくると、パケット情報変更部16は、データ選択部13から提供される2種類の情報、▲1▼廃棄パケットの総数、▲2▼差し替えパケットの総数、を参照して変更後シーケンス番号を算出する。すなわち、上記▲2▼の値から▲1▼の値を差し引いた調整値を当該パケットの変更前シーケンス番号の値に加える。
【0033】
一方、データパケット作成部15によって作成された差し替えパケットの場合、パケット情報変更部16は、直前に自身がデータ送出部17に送出したパケットのシーケンス番号を1つカウントアップした値を、当該パケットのシーケンス番号として設定し、データ送出部17に送出する。なお、パケット情報変更部16は、上記の処理が可能となるよう、データ送出部17に直前に送出したパケットのシーケンス番号を保存し、パケットを送出するたびに更新する。
【0034】
なお、パケットの損失やパケット順序の逆転が、サーバSからデータ中継装置1へのデータ送信においても発生するのであれば、これらの検出と調整とは、データ選択部13による差し替え要否判定以前に行うこととする(例えば、データ受信部11において)。
(動作)
次いで、データ中継装置1の動作について図面を参照しながら説明する。
【0035】
図6は、本実施の形態におけるデータ中継装置1が、1つのコンテンツデータの配信に当たって行う処理の流れを、サーバSから順次受信する受信パケットに対する処理を中心に示すフローチャートである。
先ず、データ受信部11がサーバSからの配信開始の通知を受けて、処理が開始され(S601:Yes)、データ選択部13は各種カウンタ及びフラグを初期化する(廃棄パケット用カウンタ及び差し替えパケット用カウンタ←0、廃棄フラグ及び作成中フラグ←OFF)。そして、データ受信部11が、配信対象のコンテンツをパケット単位で受信する(S602)。
【0036】
受信パケットはデータ選択部13に送られ、データ選択部13は受信パケットの属性(パートの先頭パケットであるか否か、属するパートが差し替え対象か否か)をチェックする(S603)。以下、受信パケットがパートの先頭であるか否かによって処理が分かれる。
受信パケットがパートの先頭であった場合(S604:Yes)、データ選択部13は当該受信パケットが属するパートの識別情報を当該パートが属するコンテンツに対応する編成情報(図4参照)に照会して、そのパートが差し替え対象となっているか否か判定する。
【0037】
差し替え対象であれば(S605:Yes)、データ選択部13はこの後データ受信部11が受信する受信パケットのうち同パートに属するものは廃棄すべきことを示す廃棄フラグをONに設定する。さらに、当該受信パケットを廃棄し、廃棄パケット用のカウンタの値を「1」カウントアップする(S606、S607)。
【0038】
さらに、ステップS608の処理として、差し替え対象パートに対応する差し替え用データのパケット化、クライアント端末Tへの送信の処理が行われる。ただし、当該処理は図6に示す受信パケット用の処理(S608を除く)と並行して行われるので、別の図面(図7)を参照しながら別途説明する。
一方、ステップS605の判定処理において、検出した先頭パケットが属するパートが差し替え対象でなかった場合(S605:No)、データ選択部13は廃棄フラグを参照し、これがONであればOFFに設定し直し(S609)、受信パケットをパケット情報変更部16に送る。このとき、廃棄パケットの総数及び作成パケットの総数を併せてパケット情報変更部16に送る。パケット情報変更部16は、廃棄パケットの総数及び作成したパケットの総数の情報によって当該受信パケットのシーケンス番号を調整した上でデータ送出部17に送り、データ送出部1はこの受信パケットをクライアント端末Tに送出する(S610)。
【0039】
ただし、データ選択部13は、受信パケットをパケット情報変更部16に送る前に、作成中フラグを参照する。作成中フラグ=OFFの場合はそのまま受信パケットをパケット情報変更部16に送るが、ONの場合は、OFFになるまで(差し替え用データの最終パケットをパケット情報変更部16に送るまで)受信パケットを保持しておき、OFFになった後、受信パケットの属性(差し替え対象か否か)に応じてパケット情報変更部16への送出又は廃棄を行う。
【0040】
次いで、受信パケットがパートの先頭でなかった場合(S604:No)について説明する。この場合、データ選択部13はさらに、当該受信パケットを廃棄すべき否か廃棄フラグを元に判定する。
廃棄フラグがONの場合(受信パケットが差し替え対象パートに属する場合)(S611:Yes)、データ選択部13は当該受信パケットを廃棄し、廃棄パケット用カウンタの値を「1」カウントアップする(S612)。
【0041】
廃棄フラグがOFFの場合(差し替え対象パートに属さない場合)(S611:No)、データ選択部13は、受信パケットを廃棄パケット総数及び作成パケット総数の値と共にパケット情報変更部16に送る。パケット情報変更部16は、廃棄パケット数及び作成パケット数の情報によって当該受信パケットのシーケンス番号を調整した上でデータ送出部17に送り、データ送出部17はこの受信パケットをクライアント端末に送出する(S613)。
【0042】
ただし、データ選択部13は、受信パケットをパケット情報変更部16に送る前に、作成中フラグを参照する。作成中フラグ=OFFの場合はそのまま受信パケットをパケット情報変更部16に送るが、ONの場合は、OFFになるまで(差し替え用データの最終パケットがパケット情報変更部16に送られるまで)受信パケットを保持しておき、OFFになった後、パケット情報変更部16への送出又は廃棄を行う。なお、作成中フラグのOFF待ちで受信パケットを複数個保持することになった場合、データ選択部13は順番を記憶しておき、作成中フラグ=OFFとなった後、受信順序の早いものからパケット情報変更部16に送る(受信パケットが差し替え対象パートに属さない場合)。
【0043】
以上の処理は、配信対象のコンテンツデータの最終パケットが処理されるまで繰り返される(S614:Yes)。
次いで、図6にステップS608として示した、差し替え用データのパケット化及び送信処理の流れを、図面を参照しながら説明する。
図7は、差し替え用データのパケット化及び送信処理の流れを示すフローチャートである。
【0044】
先ず、データ選択部13がデータパケット作成部15に差替え用データのパケット化を指示し、作成中フラグをON設定する(S701)。
その後、データパケット作成部15から順次出力されてくる差し替え用データのパケットを、データ選択部13はパケット情報変更部16に送る(S702)。また、データ選択部13は更に、データパケット作成部15から差し替え用データパケットが1つ送られてくる度に、差し替えパケット用のカウンタの値を「1」カウントアップする(S703)。
【0045】
データ選択部13から差し替えパケットを受け取ったパケット情報変更部16は、直前に送出された差し替えパケットのシーケンス番号に「1」を加えた値を当該パケットのシーケンス番号として設定した上でデータ送出部17に送り(S704)、差し替えパケットはデータ送出部17によってクライアント端末に送出される(S705)。
【0046】
その後、データパケット作成部15から最終の差し替えパケットが出力されてきた時点で(S706:Yes)、データ選択部13は作成中フラグをOFFに設定し、差し替え用データのパケット化及び送信処理は完了する(S707)。
なお、以上に述べた差し替えパケット作成、送信、そして作成中フラグに関する処理は、図6に示した受信パケットに関する処理と並行して行われる。
(まとめ)
上記の通り、本実施の形態によるデータ中継装置は、各々が差し替え情報に基づいてサーバSから送られてくるコンテンツデータの一部を別個に差し替えるものである。サーバとクライアント端末との間にこうしたデータ中継装置を配することで、コンテンツ配信システムAでは各クライアントに対してその所在地に応じた内容の異なるコンテンツデータを配信することができ、しかも、サーバSには、一部のみ異なる複数パターンのコンテンツデータを保持したり、同時に配信したりするなどの負荷がかかることがない。
(その他)
なお、本実施の形態については、コンテンツ配信の形態として、タイムテーブルに従った放送イメージのデータ配信を例に説明したが、発明対象となる配信形態はこれに限定されない。サーバから複数のユーザ端末に対し、内容が部分的に異なるコンテンツを配信する事態が生じる形態であれば、本発明は効果を発揮する。例えば、CM視聴を条件に無料でコンテンツの視聴を認める形のビデオオンデマンドなどで、CMの内容が異なるコンテンツを配信する場合が考えられる。
【0047】
また、データ中継装置を階層構造にした形のデータ配信システムも考えられる。例えば、1つのサーバから日本国中のユーザにコンテンツを配信するシステムにおいて、第1階層として都道府県単位で複数のデータ中継装置を配し、更に第1階層データ中継装置の各々の下に第2階層として市区単位のデータ中継装置を配する、という形態である。サーバは標準の内容のコンテンツを第1階層データ中継装置に送り、各第1階層データ中継装置はその一部を都道府県単位の固有データに差し替えて、自身の下位にある複数の第2階層データ中継装置に送る。そして、各第2階層データ中継装置は、更にコンテンツの一部を市区単位の固有データに差し替えてユーザに送る。これによれば、サーバや個々のデータ中継装置の負荷を大きくすることなく、ユーザ別にコンテンツ内容を細かく差し替えた上で配信できる。
【0048】
なお、上記の実施の形態では、配信システムが複数のデータ中継装置を有し、全てのクライアント端末が、いずれかのデータ中継装置を介してデータサーバからデータ配信を受けることとしているが、データ中継装置が1台の場合もありうる。この場合、クライアント端末は、標準のコンテンツデータが配信される標準グループと、一部パートを差し替えて配信すべき差し替えグループとに分かれている。データ中継装置は差し替えグループのクライアント端末とデータサーバとの間に位置し、データの差し替えを行う。標準グループはデータサーバから、データ中継装置を介することなく標準のコンテンツデータを受信する。具体的には、有料で番組のみを視聴するユーザと、無料でCM付き番組を視聴するユーザとがある配信システムが考えられる。サーバは番組データのみをマルチキャストで送出し、有料ユーザには送出された番組データが送られるのに対し、無料ユーザにはデータ中継装置を介して番組データが送られ、データ中継装置でCMが追加される、というものである。あるいは、特定地域内のユーザを標準、他の地域のユーザを差し替え対象とし、標準以外の地域のユーザに対して配信されるコンテンツデータのみデータ中継装置を経由させる、というシステムも考えられる。
【0049】
また、上記の実施の形態では、配信を受けるクライアントは地域によってグループ分けされているが、他の基準でグループ分けしてもよい。例えば、コンテンツのジャンル(映画、スポーツ、音楽など)などが考えられる。
また、上記実施の形態では、差し替え情報はサーバを管理するコンテンツ提供者の側が一方的に作成することとしたが、ユーザからの要求又はユーザアンケートの結果などに応じる形で、個々のユーザのし好を反映して作成してもよい。
【0050】
また、上記実施の形態では、記憶装置に格納される差し替え用データは、編成情報などと共に外部から受信、格納されることとしたが、格納の様態はこれに限定されない。媒体に記録した上で搬送し、記憶装置に格納するなどしてもよい。
また、上記実施の形態では、データ中継装置とサーバ、データ中継装置とクライアント端末は、いずれもネットワークを介して接続されるものとしたが、接続形態はこれに限定されない。ネットワークを介することなく直接接続されていてもよい。
【0051】
なお、編成情報において、各パートの範囲は開始タイミングと終了タイミングとの組み合わせで定義したが、開始タイミングと継続時間長との組み合わせで定義することもできる。
また、上記実施の形態では、パケットごとに所属するパートをタイムスタンプで判定しているが、パケットが有する他の情報で判定することもできる。例えば、SSRC識別子(Synchronization Source identifier:同期送信元識別子)を参照して判定することが考えられる。SSRC識別子は、音声ストリームと映像ストリームなど、組み合わせて扱うべき複数のストリームが同じ値を共有するように割り当てられる識別子である。サーバからコンテンツを送信する際に、各パートごとに値が異なるように、各パケットにSSRC識別子の値を割り当てておけば、データ中継装置の側では、SSRC識別子の変化によってパートの先頭パケットを検出できる。
【0052】
また、上記実施の形態では、データ中継装置ごとに別々の差し替え用データを保持させているが、同じ差し替え用データを持たせておいて、各データ中継装置には、その共通の差し替え用データのうち必要な部分を特定できる情報を渡しておくことも可能である。例えば、差し替えCMをまとめたCM差し替え用データと地域情報をまとめた地域差し替え用データとを全データ中継装置に持たせておき、差し替え情報としては、図4に示す情報に加えて「差し替え用データのどの範囲を使用するか」を示す範囲情報を加える。範囲情報は図3の編成情報と同様、開始位置と終了位置とをデータの先頭からのオフセットで示してもよい。よって、データ選択部からデータパケット作成部に指示を出す場合は、差し替え用データの識別情報と上記範囲情報とを指示と共に送ることになる。例えば「識別情報が“CM1”の差し替え用データのうち、「00:01:00」から「00:03:00」の範囲の部分について差し替えパケットを作成せよ」という形になる。
【0053】
【発明の効果】
以上の説明から明らかなように、本発明のデータ配信システムは、サーバから複数のクライアント端末に対して1以上のデータ中継装置を介して配信データを配信するデータ配信システムであって、前記クライアントは複数のグループに分けられており、前記サーバが配信する配信データは複数のパートから成るというデータ配信システムであって、前記1以上のデータ中継装置は各々が、前記複数のグループのいずれかに対応しており、前記サーバから配信データを受信するデータ受信手段と、前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、前記要否判定手段が差し替え要と判定したパートを固有の差し替え用パートに差し替えた形の差し替え後配信データを、対応するグループに属するクライアントに送信する差し替え送信手段と、を有する構成を特徴とする。
【0054】
この構成によれば、サーバが送出した単一のデータを、1以上のデータ中継装置がそれぞれ部分的に更新してクライアント端末に送出するので、各データ中継装置に対応するユーザ端末ごとに内容の異なるデータを配信することができ、サーバには複数パターンのデータを同時に多数のユーザに送信するなどの負荷はかからない。
【0055】
また、サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継装置であって、複数のパートから成る配信データを前記サーバから受信するデータ受信手段と、前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、前記要否判定手段が差し替え要と判定したパートを固有の差し替え用データに差し替えた形の差し替え後配信データをクライアント端末に送信する差し替え送信手段とを有する、というデータ中継装置によっても、同様の効果は得られる。
【0056】
そして、上記効果を得るため、具体的には、前記配信データを構成するパートはパケット単位で送信され、前記データ受信手段は前記配信データをパケット単位で前記サーバから受信し、前記差し替え送信手段は、前記要否判定手段が差し替え要と判定したパートに属するパケットを廃棄し、前記差し替え用パートをパケット単位でクライアント端末に送信すること、としてもよい。
【0057】
さらに、上記データ中継装置に関しては、前記差し替え送信手段は、1つの配信データの配信の過程で廃棄したパケットの総数である廃棄パケット数、及び、1つの配信データの配信の過程で差し替え用データの送信に用いたパケットの総数である差し替えパケット数をカウントしており、クライアント端末へのパケット送信にあたって、その時点での前記廃棄パケット数と前記差し替えパケット数とに基づいて送信対象パケットのシーケンス番号を調整するパケット更新手段を更に有する、とすることで、データのパート差し替えによって生じうるパケットのシーケンス番号の不整合から生じうる、パケット損失やパケット順序の逆転に関する誤認識を防止できる。
【0058】
また、上記の効果は、上記構成の各々が行う処理を順次実行するデータ中継方法、さらには、コンピュータに当該データ中継方法を実行させるプログラムによっても実現できる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるデータ中継装置を含むデータ配信システムを示す図である。
【図2】同実施の形態におけるコンテンツデータの構成の一例を示す図である。
【図3】同実施の形態における構成情報の構成と内容との一例を示した図である。
【図4】同実施の形態における差し替え情報の構成と内容との一例を示した図である。
【図5】同実施の形態におけるデータ中継装置の構成を示すブロック図である。
【図6】同実施の形態におけるデータ中継装置が1つのコンテンツデータの配信において行う処理の流れを示すフローチャートである。
【図7】同実施の形態におけるデータ中継装置が差し替え用データのパケット化及び送信を行う際の処理の流れを示すフローチャートである。
【符号の説明】
1 データ中継装置
11 データ受信部
12 編成情報取得部
13 データ選択部
14 データ読取部
15 データパケット作成部
16 パケット情報変更部
17 データ送出部
19 記憶装置
S マルチメディアコンテンツサーバ
T クライアント端末
N,N’ ネットワーク
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data relay device that relays data between a data distribution source and a user in a data distribution system that distributes multimedia data to a user via a network such as the Internet.
[0002]
[Prior art]
2. Description of the Related Art In recent years, with the development of communication technology, services for distributing multimedia contents (hereinafter, “contents”) such as still images, moving images, and audio on a network have been provided. Behind the background is the fact that broadband networks have enabled high-speed transmission of digital data. The content data is distributed in small packets and is transmitted according to a protocol called a real-time transport protocol (RTP) when real-time performance is important such as streaming.
[0003]
The content distribution mode is to transmit the content from the server that holds the content to the terminal of the client (user). One server is called “unicast” that sends individual content from the server to each client. From "multicast" that sends the same content to multiple clients.
[0004]
In the case of multicast, since the data sent from the server is the same for all clients, it is not necessary to increase the capacity (rate) of the line for sending data from the server regardless of the number of clients, and the number of clients that can respond Is theoretically infinite. However, it is not suitable for a service that sends out contents having different contents for each user. On the other hand, in the case of unicast, different contents can be delivered to each client in accordance with the request, but since the server sends out multiple types of contents at the same time, even if the line capacity is increased, the client can respond simultaneously. The number is limited and it is not suitable for services that deliver data to many clients at the same time.
[0005]
[Problems to be solved by the invention]
However, in the content distribution service, it may be necessary to simultaneously distribute contents having different contents to a large number of clients. For example, in the case of a service that adds a commercial or regional information (such as a weather forecast) to a certain program (such as a movie or live sports broadcast) to create one content and distributes it to clients nationwide, the program portion is common but the commercial and regional information Since the portion differs depending on the location (region) and taste of the client, the content of the content differs for each client. In such a case, it is necessary to edit and produce a plurality of types of contents that differ only in commercials and regional information, and hold the edited contents on a server. Furthermore, if these plural types of contents are to be distributed simultaneously, a very large line capacity is required for the data transmission from the server.
[0006]
The present invention has been made in view of the above problems, and in a content distribution system, it is possible to adjust as many clients as possible to each client's individual conditions such as locations and preferences without imposing a load such as management of a large amount of data on a server side. It is an object of the present invention to provide a data distribution system and a data relay device capable of distributing contents having the above contents.
[0007]
[Means for Solving the Problems]
In order to solve the above problem, a data distribution system of the present invention is a data distribution system that distributes distribution data from a server to a plurality of client terminals via one or more data relay devices, wherein the client A data distribution system that is divided into a plurality of groups, and the distribution data distributed by the server is composed of a plurality of parts, wherein the one or more data relay devices correspond to any of the plurality of groups. A data receiving unit for receiving distribution data from the server; a necessity determining unit for determining whether replacement is necessary for each of a plurality of parts constituting the distribution data received by the data receiving unit; The post-replacement distribution data in the form of replacing the part determined to be required by the rejection determination unit with the replacement part unique to the part, And having a replacement transmitting means for transmitting to the clients belonging to the group to respond, the.
[0008]
According to the system having this configuration, the single content transmitted by the server is partially updated by the one or more data relay devices and transmitted to the client terminals. Content with different contents can be distributed.
Further, in order to solve the above-mentioned problem, a data relay device of the present invention is directed to a distribution system that distributes distribution data from a server to a plurality of client terminals, wherein the data relay device is arranged between the server and a part of the plurality of client terminals. What is claimed is: 1. A data relay device for relaying distribution data, comprising: data receiving means for receiving distribution data composed of a plurality of parts from the server; and replacing each of the plurality of parts constituting the distribution data received by the data receiving means. And a replacement transmitting unit that transmits to the client terminal the post-replacement distribution data in which the part determined to be required for replacement is replaced with unique replacement data. It shall be.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of a data distribution system and a data relay device of the present invention will be described with reference to the drawings.
(Overview of data distribution system)
FIG. 1 is a diagram showing an outline of a data relay device 1 and a data distribution system A including the same. The data distribution system A performs a service of distributing multimedia content data (hereinafter, referred to as “content data”) held by a server to a client (user) via a data relay device. In this distribution, the content data is distributed to the client according to a predetermined time table, and is close to the image of the current television broadcasting service. Since the real-time property is emphasized due to the nature of the service, the content data is transmitted according to RTP.
[0010]
As shown in FIG. 1, a data distribution system A includes a plurality of data relay devices 1 connected to one multimedia content server S (hereinafter, simply referred to as “server S”) via a network N. Are connected to one or more client terminals via a network. The client terminals are divided into several groups, and each group corresponds to a specific data relay device. Since the configurations of a plurality of data relay devices and client terminals are the same, they are assigned a single reference number, and are hereinafter referred to as “data relay device 1” and “client terminal T”.
[0011]
The server S sends the content data to the data relay device 1 in packet units according to RTP. The transmission of the content data from the server S is performed by a multicast method, and the same content data is transmitted to all the data relay apparatuses 1.
Each data relay device 1 replaces a part of the content data received from the server S with the unique replacement data held in advance similarly in accordance with the unique replacement information held in advance, and connects each of them. To the client terminal T (at this point, the content data content to be transmitted differs for each data relay device). Transmission of content data from each data relay device to a plurality of corresponding client terminals is also performed by a multicast method. The entity of the data relay device 1 is a device (a concept including a program executed by a computer) incorporated in an existing relay device such as a router.
[0012]
The client terminal T receives the packet from the corresponding data relay device 1, takes out the content data therefrom, reproduces it, and presents it to the user.
That is, the data distribution system A is for grouping clients and distributing them via a specific data relay device for each group. Each data relay device separately replaces a part of the content data, and Content that has different contents.
(Content organization and replacement information)
Next, the organization of the content data distributed by the server S and the outline of the replacement information held by the data relay device 1 will be described.
[0013]
The content data distributed by the server S is obtained by inserting a commercial and regional information into the main program. The main program is common to all clients, but the content of the commercial and the regional information depends on the location of the client terminal T. Different. What is replaced in the data relay device 1 is the CM and the area information. The server S divides the content data into several parts, further divides each part into packet units, and distributes the data to the client terminal T via the data relay device 1. Further, the server S holds organization information indicating the configuration of each piece of content data, and sends the organization information to the data relay device 1 prior to content data distribution. At the time of this transmission, the server S adds identification information for identifying the content corresponding to each piece of organization information.
[0014]
FIG. 2 is a schematic diagram showing an example of the organization of the content data as described above. The content data 200 is composed of three main parts 211, 212, 213 forming a main part of a program, CM parts 221 and 222 corresponding to CMs, and a local information part 231 corresponding to regional information, and CM between the three main parts. In this configuration, parts 221 and 222 are inserted, and a regional information part 231 is added to the end.
[0015]
FIG. 3 is a diagram showing, in the form of a table, an example of the structure and content of the organization information using the content data 200 shown in FIG. 2 as an example. The composition information corresponds to each part. The knitting information 301 corresponds to the main part 211 shown in FIG. 2, and the knitting information 302 to 306 correspond to the CM part 221, the main part 212, the CM part 222, the main part 213, and the region information part 231. Each set information includes a part ID column 310 in which an ID for uniquely identifying each part is stored, and a timing column 320 in which information indicating a range in content data of each part by values of a reproduction start timing and a reproduction end timing is stored. The timing column 320 further includes a start timing column 321 and an end timing column 322. The value stored in the timing column 320 corresponds to the time stamp set for each packet at the time of data distribution. That is, the start of playback of the content data is set to "00: 00: 00: 00", and the start and end of playback of each part are represented by the elapsed time length (offset) from the start of playback. For example, the composition information 301 indicates that the main part 211 is to be reproduced in a range from “00: 00: 0” to “00:15:00” from the start of reproduction. Conversely, if the value of the time stamp stored in a certain packet is in the range of “00: 00: 0” or more and less than “00:15:00”, it means that the packet is included in the main part 211. .
[0016]
On the other hand, the data relay device 1 replaces a part of the content data on a part-by-part basis. For this purpose, the data relay device 1 retains replacement data, which is data after replacement, and replacement information indicating the content of replacement processing. The replacement data and replacement information are created in parallel with the production of the content, and are transmitted to each relay device via the network during a distribution service suspension period (such as midnight). The data relay device 1 stores the received replacement data and replacement information in an attached storage device. The replacement information is created for each content data and further for each data relay device.
[0017]
FIG. 4 shows an example of the configuration and contents of the replacement information held by the data relay device 1 in the case of the content data 200 shown in FIG. It is assumed that the replacement information 400 is added with content identification information indicating which content data corresponds to the content data (not shown). The replacement information 400 includes a part ID column 410 (corresponding to the part ID column 310 of the composition information shown in FIG. 3) in which the identification information of the replacement target part is stored, and a replacement data ID column in which the identification information of the replacement data is stored. 420.
[0018]
FIG. 4 shows that the parts whose identification information values are “CM1” and “DI01” (CM part 221 and regional information part 231) are to be replaced, and the identification information values are “R01” and “DI01”, respectively. It is information that the content is replaced with replacement data of “R02”. Each data relay device included in the data distribution system A has the same configuration as that shown in FIG. 4 and holds replacement information having different contents.
(Configuration of Data Relay Device 1)
Next, the configuration of the data relay device 1 according to the present embodiment will be described.
[0019]
FIG. 5 is a block diagram showing a detailed configuration of the data relay device 1 shown in FIG. The storage device 19 storing replacement data is connected to the data relay device 1.
The data relay device 1 includes a data receiving unit 11 that receives, via the network N, content data transmitted from the content server S in RTP packet units, organization information (see FIG. 3), replacement information (see FIG. 4), and replacement data. The composition information acquisition unit 12 that receives data, the data selection unit 13 that determines the necessity of replacement for each part of the content data received by the data reception unit 11 with reference to the composition information and replacement information, and the data selection unit 13 replaces the content data. The data reading unit 14 reads the replacement data corresponding to the part determined to be necessary from the storage device 19, and creates a data packet that divides the read replacement data for one part into RTP packets for transmission. Unit 15, a part of the header information as needed regarding the packet to be transmitted to the client. Packet information changing unit 16 for changing, with the data sending unit 17 for sending the packets over the network N 'to the client terminal T.
[0020]
The storage device 19 stores the replacement data received by the composition information acquisition unit 12. In the following description, for convenience, the packet received by the data receiving unit 11 from the server S is distinguished from the received packet, and the packet created by the data packet creating unit 15 from the replacement data is distinguished from the replaced packet.
Hereinafter, the main components of the components will be described in more detail.
(Data selector 13)
When receiving the received packet from the data receiving unit 11, the data selecting unit 13 refers to the content and determines whether or not the received packet is the first packet of the part. When the first packet of the part is detected, it is determined whether or not the part is a part to be replaced. If it is a replacement target part, the received packet sent from the data receiving unit 11 is discarded until the head packet of the next part is detected. On the other hand, it instructs the data packet creation unit 15 to create a replacement packet from the replacement data corresponding to the replacement target part, and outputs the replacement packet to the packet information change unit 16.
[0021]
The data selection unit 13 detects the first packet of each part and determines whether the part is a replacement target part with reference to the time stamp information, the organization information, and the replacement information of the received packet. This is because information directly indicating the part to which the packet belongs is not stored. The time stamp is stored in a header or a payload of a received packet (RTP packet), and indicates an offset from the head of the content data at a timing. The data selection unit 13 obtains the organization information and the replacement information from the organization information receiving unit 12 in advance and holds the information.
[0022]
When receiving a new received packet from the data receiving unit 11, the data selecting unit 13 reads the time stamp of the received packet. Then, the time stamp is referred to the timing column 320 (see FIG. 3) of the composition information to obtain the part ID of the part to which the packet belongs (the value of the part ID column 310). With the part ID of As a result of the comparison, if the part ID of the packet is different from the part ID of a previously received part, the packet is known as a part change, that is, a leading packet of a new part. Since the “part ID of the received part” does not exist (is a null value) for the first packet of the content, it is always recognized as the first packet of the part. If it is determined that the received packet is the head of the part, the data selection unit 13 further queries the part ID of the part to which the received packet belongs to the contents of the part ID column 410 (see FIG. 4) of the replacement information. Then, it is determined whether the part is to be replaced.
[0023]
When the data selection unit 13 detects the first packet of the part and determines whether the part is a replacement target, the data selection unit 13 performs the following processing according to the determination result.
First, if it is not the replacement target part, the data selection unit 13 outputs the received packet sent from the data reception unit 11 to the packet information change unit 16 as it is until the head packet of the next part is detected.
[0024]
On the other hand, if the part is a replacement target part, the data selection unit 13 then performs a process of discarding a subsequent received packet included in the part, causes the data packet creation unit 15 to create a replacement packet, and outputs the replacement packet to the packet information update unit 16 Is performed in parallel.
In the discarding process, first, when it is determined that the detected first packet is the replacement target part, the discard flag is set to ON, and the first packet is discarded. The data selection unit 13 discards the received packet when “the part to which the received packet sent from the data receiving unit 11 belongs is the same as the previous part” and the condition that “discard flag = ON” is satisfied. If the received packet and the previous packet belong to different parts with the discard flag = ON (when the first packet of the next part is detected), the data selection unit 13 returns the discard flag to OFF, Thus, the determination whether the next part is a replacement target and the subsequent processing are performed.
[0025]
As a process for creating and outputting the replacement packet, the data selection unit 13 first sends identification information of the replacement data (the value of the replacement data ID column 420 of the replacement information) to the data packet creation unit 15 and converts the replacement data. Instruct creation of the stored RTP packet. Then, the replacement packets output from the data packet creating unit 15 in response to the instruction are sequentially output to the packet information changing unit 16.
[0026]
The data selection unit 13 sets the “creating flag” to ON at the time of instructing the packet creation unit 15 to create a packet of replacement data, and sends the last packet of the replacement data to be instructed from the packet creation unit 15 to the packet creation unit 15. Return to OFF when received. This flag is set when the data selection unit 13 receives the first packet of the next part from the data reception unit 11 during the process of receiving the replacement packet from the packet generation unit 15 and outputting the replacement packet to the packet information change unit 16. Referenced. That is, when the first packet of the next part is detected while the above-mentioned creation flag is ON, the data selection unit 13 receives the last replacement packet from the data packet creation unit 15 and outputs it to the packet information change unit 16. Until the creation flag is turned off, the received packet of the next part sent from the data receiving unit 11 is temporarily stored. Then, after sending the last packet of the replacement part to the packet information change unit 16, the received packet temporarily stored is discarded or output to the packet information change unit 16, depending on whether or not this next part is to be replaced. I do.
[0027]
The data selection unit 13 repeats the above processing until the processing of all parts of the content data is completed. Further, every time the data selection unit 13 outputs a packet to the packet information change unit 16, the data selection unit 13 outputs to the packet information change unit 16 information referred to when a part (sequence number) of the management information of the packet is changed. . The information is the total number of discarded packets from the start of the distribution of the content data and the total number of replacement packets from the start of the distribution. In order to obtain such information, the data selector 13 holds a counter for discarded packets and a counter for created packets.
(Data packet creation unit 15)
The data packet creation unit 15 creates a replacement packet according to the instruction from the data selection unit 13 and sends the replacement packet to the data selection unit 13. First, the identification information of the replacement data sent together with the instruction from the data selection unit 13 is sent to the data reading unit 14, and the replacement data corresponding to the identification information is read from the storage device 19. If there is information necessary for RTP packetization (such as HintTrack in the MP4 format), that part is also read by the data reading unit 14. Subsequently, the read replacement data is divided and stored in the RTP packet, and management information necessary for the packet is set and transmitted to the data selection unit 13. Further, when transmitting the final replacement packet of the replacement data to the data selection unit 13, the terminal device notifies the data selection unit 13 that the replacement data is final. For the created replacement packet, the sequence number, which is a part of the management information, is set to a null value.
(Packet information change unit 16)
The packet information changing unit 16 updates the sequence number of the packet sent to the client terminal T when necessary. The sequence number is a serial number of a packet constituting one piece of content data, and is set so that the receiving apparatus (here, the client terminal T) can detect “packet loss” or “reversal of packet order” occurring during transmission. Information. For example, when one piece of content data is divided into 100 packets and transmitted to a client terminal, a sequence number from 1 to 100 is set for each packet according to the transmission order. If the client terminal receives the packet of “sequence number: 12” after the packet of “sequence number: 12” after the packet of “sequence number: 10”, the packet of “sequence number: 11” is being transmitted on the client side. Can be recognized as lost (packet loss). In this case, when reproducing the received multimedia data, the client terminal performs adjustment in consideration of the lost packet.
[0028]
The inversion of the packet order is a phenomenon in which the transmission order and the reception order of the packets do not match. For example, three packets transmitted in the order of “sequence number: 10”, “sequence number: 11”, and “sequence number: 12” are sent to the client terminal as “sequence number: 10” and “sequence number: 12”. , "Sequence number: 11". In this case, the client side discards “sequence number: 11”.
[0029]
However, when data replacement is performed, the data amount after compression is not the same between the replacement target part and the replacement data even if the time length at the time of reproduction is the same, so that the data amount before and after the replacement is different. If the difference in the data amount is large, the number of packets will be different. For example, while the replacement target part has a data amount that can be accommodated in 10 packets (sequence numbers are “11” to “20”), if the replacement data is an amount that can be accommodated in 9 packets, the data Since the sequence number contained in the last replacement packet of the replacement data sent from the relay device 1 to the client terminal T is “19”, the sequence number of the next packet sent from the server is “21”. If the packet is directly transmitted to the client terminal T, it is erroneously recognized that the packet of “sequence number: 20” has been lost.
[0030]
On the other hand, if the replacement target part has a data amount that can be accommodated in 10 packets, while the replacement data has an amount that can be accommodated in 12 packets, the final replacement packet of the replacement data sent to the client terminal T is provided. Since the sequence number of the packet transmitted from the server is "21" while the sequence number of the packet transmitted next from the server is "21", the packet is transmitted to the client terminal without adjusting the sequence number. In this case, the packet is discarded by erroneously recognizing that the above-mentioned "reverse of the packet order" has occurred.
[0031]
Therefore, the packet information change unit 16 changes the sequence number prior to transmission to the client terminal T in order to prevent such erroneous recognition regarding packet loss and inversion of the packet order.
The content of the sequence number changing process by the packet information changing unit 16 is that the packet output by the data selecting unit 13 is a received packet received by the data receiving unit 11 or a replacement packet created by the packet data creating unit 15. Divided by Which packet is determined by determining whether the sequence number is null (as described above, the sequence number of the replacement packet is null).
[0032]
When a packet received by the data receiving unit 11 (a packet whose sequence number is not null) is transmitted from the data selecting unit 13, the packet information changing unit 16 sends two types of information provided from the data selecting unit 13, ▲ The sequence number after change is calculated by referring to 1) the total number of discarded packets and 2) the total number of replacement packets. That is, an adjustment value obtained by subtracting the value of (1) from the value of (2) is added to the value of the sequence number before change of the packet.
[0033]
On the other hand, in the case of the replacement packet created by the data packet creation unit 15, the packet information change unit 16 counts up the sequence number of the packet sent by the packet information change unit 16 immediately before itself to the data send unit 17 by one. It is set as a sequence number and sent to the data sending unit 17. Note that the packet information change unit 16 stores the sequence number of the packet transmitted immediately before to the data transmission unit 17 and updates the sequence number each time the packet is transmitted so that the above processing can be performed.
[0034]
If the packet loss and the reversal of the packet order also occur in the data transmission from the server S to the data relay device 1, the detection and adjustment of these are performed before the data selection unit 13 determines whether the replacement is necessary. (For example, in the data receiving unit 11).
(motion)
Next, the operation of the data relay device 1 will be described with reference to the drawings.
[0035]
FIG. 6 is a flowchart showing a flow of processing performed by the data relay device 1 in the present embodiment in distributing one content data, focusing on processing for received packets sequentially received from the server S.
First, the data receiving unit 11 receives the notification of the distribution start from the server S, and the processing is started (S601: Yes), and the data selecting unit 13 initializes various counters and flags (the discarded packet counter and the replacement packet). Counter 0, discard flag and creation flag ← OFF). Then, the data receiving unit 11 receives the content to be distributed in packet units (S602).
[0036]
The received packet is sent to the data selecting unit 13, and the data selecting unit 13 checks the attribute of the received packet (whether or not it is the first packet of the part and whether or not the part to which the packet belongs is to be replaced) (S603). Hereinafter, the processing is divided depending on whether the received packet is the head of the part.
When the received packet is the head of the part (S604: Yes), the data selecting unit 13 refers to the identification information of the part to which the received packet belongs to the organization information (see FIG. 4) corresponding to the content to which the part belongs. It is determined whether or not the part is to be replaced.
[0037]
If the data is to be replaced (S605: Yes), the data selection unit 13 sets a discard flag indicating that a packet belonging to the same part among the received packets received by the data reception unit 11 should be discarded to ON. Further, the received packet is discarded, and the value of the discarded packet counter is incremented by "1" (S606, S607).
[0038]
Further, as the processing in step S608, processing of packetizing replacement data corresponding to the replacement target part and transmitting the replacement data to the client terminal T is performed. However, since this process is performed in parallel with the process (except for S608) for the received packet shown in FIG. 6, it will be described separately with reference to another drawing (FIG. 7).
On the other hand, in the determination processing of step S605, if the part to which the detected head packet belongs is not a replacement target (S605: No), the data selection unit 13 refers to the discard flag, and if it is ON, resets it to OFF. (S609), the received packet is sent to the packet information changing unit 16. At this time, the total number of discarded packets and the total number of created packets are sent to the packet information changing unit 16 together. The packet information changing unit 16 adjusts the sequence number of the received packet according to the information on the total number of discarded packets and the total number of created packets, and sends the adjusted packet number to the data sending unit 17. (S610).
[0039]
However, the data selection unit 13 refers to the in-progress flag before sending the received packet to the packet information change unit 16. If the creation flag is OFF, the received packet is sent to the packet information changing unit 16 as it is. If it is ON, the received packet is sent to the OFF state (until the last packet of the replacement data is sent to the packet information changing unit 16). After being held and turned OFF, the packet is sent to the packet information changing unit 16 or discarded according to the attribute of the received packet (whether or not the packet is to be replaced).
[0040]
Next, a case where the received packet is not the head of the part (S604: No) will be described. In this case, the data selection unit 13 further determines whether to discard the received packet based on the discard flag.
When the discard flag is ON (when the received packet belongs to the replacement target part) (S611: Yes), the data selecting unit 13 discards the received packet and increments the value of the discarded packet counter by "1" (S612). ).
[0041]
When the discard flag is OFF (when the discard flag does not belong to the replacement target part) (S611: No), the data selecting unit 13 sends the received packet to the packet information changing unit 16 together with the values of the total number of discarded packets and the total number of created packets. The packet information changing unit 16 adjusts the sequence number of the received packet according to the information on the number of discarded packets and the number of created packets, and sends the adjusted packet to the data sending unit 17. The data sending unit 17 sends the received packet to the client terminal ( S613).
[0042]
However, the data selection unit 13 refers to the in-progress flag before sending the received packet to the packet information change unit 16. If the creation flag is OFF, the received packet is sent to the packet information changing unit 16 as it is. If it is ON, the received packet is turned OFF (until the last packet of the replacement data is sent to the packet information changing unit 16). Is held, and after being turned off, the packet is sent to the packet information changing unit 16 or discarded. In the case where a plurality of received packets are to be held while waiting for the OFF of the creation flag, the data selection unit 13 stores the order, and after the creation flag is set to OFF, the data reception unit 13 starts from the earliest reception order. The packet is sent to the packet information changing unit 16 (when the received packet does not belong to the replacement target part).
[0043]
The above processing is repeated until the last packet of the content data to be distributed is processed (S614: Yes).
Next, the flow of the packetization and transmission processing of the replacement data shown as step S608 in FIG. 6 will be described with reference to the drawings.
FIG. 7 is a flowchart showing the flow of packetization and transmission processing of replacement data.
[0044]
First, the data selection unit 13 instructs the data packet creation unit 15 to packetize replacement data, and sets a creation flag to ON (S701).
Thereafter, the data selection unit 13 sends the replacement data packets sequentially output from the data packet creation unit 15 to the packet information change unit 16 (S702). Further, the data selection unit 13 further counts up the value of the replacement packet counter by “1” each time one replacement data packet is sent from the data packet creation unit 15 (S703).
[0045]
Upon receiving the replacement packet from the data selection unit 13, the packet information change unit 16 sets a value obtained by adding “1” to the sequence number of the replacement packet transmitted immediately before as the sequence number of the packet, and then sets the value to the data transmission unit 17. (S704), and the replacement packet is sent to the client terminal by the data sending unit 17 (S705).
[0046]
Thereafter, when the final replacement packet is output from the data packet creation unit 15 (S706: Yes), the data selection unit 13 sets the creation flag to OFF, and completes the packetization and transmission processing of the replacement data. (S707).
The above-described processing relating to the creation, transmission, and creation of the replacement packet is performed in parallel with the processing relating to the received packet shown in FIG.
(Summary)
As described above, the data relay device according to the present embodiment separately replaces a part of the content data sent from the server S based on the replacement information. By arranging such a data relay device between the server and the client terminal, the content distribution system A can distribute content data having different contents according to the location to each client in the content distribution system A. Does not impose a load such as holding or distributing a plurality of patterns of content data that are only partially different.
(Other)
In the present embodiment, the distribution of broadcast image data in accordance with a time table has been described as an example of a content distribution form, but the distribution form to be invented is not limited to this. The present invention is effective as long as a situation occurs in which a server distributes contents having partially different contents to a plurality of user terminals. For example, it is conceivable that content with different CM contents is distributed, for example, on video-on-demand in which the content can be viewed free of charge on condition that the CM is viewed.
[0047]
A data distribution system in which the data relay device has a hierarchical structure is also conceivable. For example, in a system for distributing contents from one server to users all over Japan, a plurality of data relay devices are arranged as a first layer in each prefecture, and a second layer is provided under each of the first layer data relay devices. In this embodiment, a data relay device for each city and district is arranged as a hierarchy. The server sends standard-content to the first-tier data relay device, and each first-tier data relay device replaces a part of the content with unique data for each prefecture, and stores a plurality of second-tier data under its own. Send to relay device. Then, each second-tier data relay device further replaces a part of the content with unique data in units of city and district, and sends the data to the user. According to this, it is possible to distribute the contents after substituting the contents for each user finely without increasing the load on the server and the individual data relay devices.
[0048]
In the above embodiment, the distribution system has a plurality of data relay devices, and all the client terminals receive data distribution from the data server via any one of the data relay devices. There may be one device. In this case, the client terminal is divided into a standard group to which standard content data is distributed, and a replacement group to which some parts are to be replaced and distributed. The data relay device is located between the client terminal of the replacement group and the data server, and performs data replacement. The standard group receives the standard content data from the data server without passing through the data relay device. Specifically, a distribution system in which there are users who view only programs for a fee and users who watch programs with CM for free can be considered. The server sends only the program data by multicast, and the paid program receives the sent program data, while the free user receives the program data via the data relay device, and the data relay device adds a CM. Is to be done. Alternatively, a system in which a user in a specific area is set as a standard and a user in another area as a replacement target, and only content data distributed to a user in a non-standard area is passed through a data relay device is also conceivable.
[0049]
Further, in the above embodiment, the clients to receive the distribution are grouped by region, but the clients may be grouped by other criteria. For example, the genre of the content (movie, sports, music, etc.) can be considered.
Further, in the above embodiment, the replacement information is created unilaterally by the content provider who manages the server. However, the replacement information is created by each user in response to the request from the user or the result of the user questionnaire. It may be created to reflect your preferences.
[0050]
Further, in the above embodiment, the replacement data stored in the storage device is received and stored from the outside together with the organization information, but the storage mode is not limited to this. The data may be recorded on a medium, transported, and stored in a storage device.
In the above embodiment, the data relay device and the server, and the data relay device and the client terminal are all connected via the network, but the connection form is not limited to this. They may be directly connected without going through a network.
[0051]
In the composition information, the range of each part is defined by a combination of a start timing and an end timing, but may be defined by a combination of a start timing and a duration.
Further, in the above-described embodiment, the part to which each packet belongs is determined by the time stamp. However, the determination may be made by other information included in the packet. For example, the determination may be made with reference to an SSRC identifier (Synchronization Source identifier). The SSRC identifier is an identifier assigned so that a plurality of streams to be handled in combination, such as an audio stream and a video stream, share the same value. When transmitting the content from the server, if the value of the SSRC identifier is assigned to each packet so that the value differs for each part, the data relay device detects the first packet of the part based on the change in the SSRC identifier. it can.
[0052]
Further, in the above embodiment, different replacement data is held for each data relay device. However, the same replacement data is provided, and each data relay device has the same replacement data. It is also possible to pass information that can specify a necessary part. For example, all the data relay devices have CM replacement data in which replacement CMs are combined and regional replacement data in which regional information is combined, and the replacement information includes “replacement data” in addition to the information shown in FIG. Which range to use "is added. The range information may indicate the start position and the end position as offsets from the head of the data, similarly to the composition information in FIG. Therefore, when an instruction is issued from the data selecting unit to the data packet creating unit, the identification information of the replacement data and the range information are sent together with the instruction. For example, in the replacement data having the identification information “CM1”, a replacement packet should be created for a portion in the range of “00:01:00” to “00:03:00”.
[0053]
【The invention's effect】
As is apparent from the above description, the data distribution system of the present invention is a data distribution system that distributes distribution data from a server to a plurality of client terminals via one or more data relay devices. A data distribution system that is divided into a plurality of groups, and the distribution data distributed by the server is composed of a plurality of parts, wherein the one or more data relay devices correspond to any of the plurality of groups. A data receiving unit for receiving distribution data from the server; a necessity determining unit for determining whether replacement is necessary for each of a plurality of parts constituting the distribution data received by the data receiving unit; The post-replacement distribution data in the form of replacing the part that the rejection determination means determined to require replacement with a unique replacement part It characterized the structure having a replacement transmitting means for transmitting to the clients belonging to the corresponding group, the.
[0054]
According to this configuration, the single data transmitted by the server is partially updated by the one or more data relay devices and transmitted to the client terminal, so that the content is stored for each user terminal corresponding to each data relay device. Different data can be distributed, and no load is imposed on the server, such as transmitting a plurality of patterns of data to many users at the same time.
[0055]
Further, in a distribution system for distributing distribution data from a server to a plurality of client terminals, a data relay device for relaying the distribution data between the server and a part of the plurality of client terminals, comprising a plurality of parts Data receiving means for receiving distribution data from the server, necessity determining means for determining whether or not replacement is necessary for each of a plurality of parts constituting the distribution data received by the data receiving means, and the necessity determining means The same effect can be obtained by a data relay device having a replacement transmitting unit for transmitting the post-replacement distribution data in a form in which the part determined to be required to be replaced is replaced with unique replacement data to the client terminal.
[0056]
In order to obtain the above effect, specifically, the parts constituting the distribution data are transmitted in packet units, the data receiving means receives the distribution data from the server in packet units, and the replacement transmitting means Alternatively, the packet belonging to the part that the necessity determining unit determines that replacement is necessary may be discarded, and the replacement part may be transmitted to the client terminal in packet units.
[0057]
Further, with regard to the data relay device, the replacement transmitting means may include a number of discarded packets, which is a total number of packets discarded in a process of distributing one distribution data, and a value of replacement data in a process of distributing one distribution data. The number of replacement packets, which is the total number of packets used for transmission, is counted, and when transmitting a packet to the client terminal, the sequence number of the packet to be transmitted is determined based on the number of discarded packets and the number of replacement packets at that time. By further providing a packet updating unit for adjusting, it is possible to prevent erroneous recognition regarding packet loss and inversion of the packet order, which may be caused by mismatching of packet sequence numbers which may be caused by data part replacement.
[0058]
The effects described above can also be realized by a data relay method for sequentially executing the processing performed by each of the above configurations, and further by a program for causing a computer to execute the data relay method.
[Brief description of the drawings]
FIG. 1 is a diagram showing a data distribution system including a data relay device according to an embodiment of the present invention.
FIG. 2 is a diagram showing an example of a configuration of content data according to the embodiment.
FIG. 3 is a diagram showing an example of the configuration and content of configuration information according to the embodiment.
FIG. 4 is a diagram showing an example of a configuration and contents of replacement information in the embodiment.
FIG. 5 is a block diagram showing a configuration of a data relay device according to the embodiment.
FIG. 6 is a flowchart showing a flow of a process performed by the data relay device in the embodiment for distributing one content data.
FIG. 7 is a flowchart showing a flow of processing when the data relay device in the embodiment performs packetization and transmission of replacement data.
[Explanation of symbols]
1 Data relay device
11 Data receiving unit
12 formation information acquisition section
13 Data selector
14 Data reading unit
15 Data packet generator
16 Packet information change unit
17 Data transmission unit
19 Storage device
S Multimedia content server
T client terminal
N, N 'network

Claims (7)

サーバから複数のクライアント端末に対して1以上のデータ中継装置を介して配信データを配信するデータ配信システムであって、前記クライアントは複数のグループに分けられており、前記サーバが配信する配信データは複数のパートから成るというデータ配信システムであって、
前記1以上のデータ中継装置は各々が、
前記複数のグループのいずれかに対応しており、
前記サーバから配信データを受信するデータ受信手段と、
前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、
前記要否判定手段が差し替え要と判定したパートを固有の差し替え用パートに差し替えた形の差し替え後配信データを、対応するグループに属するクライアントに送信する差し替え送信手段と、を有すること
を特徴とするデータ配信システム。
A data distribution system for distributing distribution data from a server to a plurality of client terminals via one or more data relay devices, wherein the clients are divided into a plurality of groups, and the distribution data distributed by the server is A data distribution system comprising a plurality of parts,
The one or more data relay devices are each
Corresponds to any of the plurality of groups,
Data receiving means for receiving distribution data from the server;
Necessity determining means for determining whether replacement is necessary for each of a plurality of parts constituting the distribution data received by the data receiving means,
Replacement transmission means for transmitting post-replacement distribution data in a form in which the part required to be replaced by the necessity determination means is replaced with a unique replacement part, to a client belonging to a corresponding group. Data distribution system.
サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継装置であって、
複数のパートから成る配信データを前記サーバから受信するデータ受信手段と、
前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、
前記要否判定手段が差し替え要と判定したパートを固有の差し替え用データに差し替えた形の差し替え後配信データをクライアント端末に送信する差し替え送信手段と、を有すること、
を特徴としたデータ中継装置。
In a distribution system that distributes distribution data from a server to a plurality of client terminals, a data relay device that relays the distribution data between the server and a part of the plurality of client terminals,
Data receiving means for receiving distribution data composed of a plurality of parts from the server;
Necessity determining means for determining whether replacement is necessary for each of a plurality of parts constituting the distribution data received by the data receiving means,
Replacement transmitting means for transmitting to the client terminal the post-replacement distribution data in the form of replacing the part determined to be required by the necessity determination means with replacement data unique to the part,
A data relay device characterized by the following.
前記配信データを構成するパートはパケット単位で送信され、前記データ受信手段は前記配信データをパケット単位で前記サーバから受信し、
前記差し替え送信手段は、前記要否判定手段が差し替え要と判定したパートに属するパケットを廃棄し、前記差し替え用パートをパケット単位でクライアント端末に送信すること、
を特徴とする請求項2に記載のデータ中継装置。
The parts constituting the distribution data are transmitted in packet units, and the data receiving means receives the distribution data from the server in packet units,
The replacement transmission unit, discards a packet belonging to the part that the necessity determination unit has determined that replacement is necessary, and transmits the replacement part to the client terminal in packet units,
The data relay device according to claim 2, wherein:
前記差し替え送信手段は、1つの配信データの配信の過程で廃棄したパケットの総数である廃棄パケット数、及び、1つの配信データの配信の過程で差し替え用データの送信に用いたパケットの総数である差し替えパケット数をカウントしており、
クライアント端末へのパケット送信にあたって、その時点での前記廃棄パケット数と前記差し替えパケット数とに基づいて送信対象パケットのシーケンス番号を調整するパケット更新手段を更に有すること、
を特徴とする請求項3に記載のデータ中継装置。
The replacement transmitting means is a total number of discarded packets, which is a total number of packets discarded in a process of distributing one distribution data, and a total number of packets used for transmitting replacement data in a process of distributing one distribution data. The number of replacement packets is counted,
In transmitting a packet to the client terminal, further comprising a packet updating unit that adjusts a sequence number of a transmission target packet based on the discarded packet number and the replacement packet number at that time,
The data relay device according to claim 3, wherein:
サーバから複数のクライアント端末に対して1以上のデータ中継装置を介して配信データを配信するデータ配信システムにおいて、前記データ中継装置が実行するデータ中継方法であって、
前記サーバから配信データを受信するデータ受信ステップと、
前記データ受信ステップで受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定ステップと、
前記要否判定ステップが差し替え要と判定されたパートを固有の差し替え用パートに差し替えた形の差し替え後配信データをクライアントに送信する差し替え送信ステップと、を有すること、
を特徴としたデータ中継方法。
In a data distribution system that distributes distribution data from a server to a plurality of client terminals via one or more data relay devices, a data relay method executed by the data relay device,
A data receiving step of receiving distribution data from the server;
A necessity determination step of determining whether replacement is necessary for each of a plurality of parts constituting the distribution data received in the data reception step,
A replacement transmission step of transmitting the distribution data after replacement in a form where the necessity determination step is replaced with a unique replacement part to the part determined to be replacement, to the client,
A data relay method characterized by the following.
サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継方法をコンピュータに実行させるためのプログラムであって、
前記データ中継方法が、
前記サーバから配信データを受信するデータ受信ステップと、
前記データ受信ステップで受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定ステップと、
前記要否判定ステップが差し替え要と判定されたパートを固有の差し替え用パートに差し替えた形の差し替え後配信データをクライアントに送信する差し替え送信ステップと、を有すること、
を特徴とするプログラム。
In a distribution system for distributing distribution data from a server to a plurality of client terminals, a program for causing a computer to execute a data relay method of relaying the distribution data between the server and a part of the plurality of client terminals. ,
The data relay method,
A data receiving step of receiving distribution data from the server;
A necessity determination step of determining whether replacement is necessary for each of a plurality of parts constituting the distribution data received in the data reception step,
A replacement transmission step of transmitting the distribution data after replacement in a form where the necessity determination step is replaced with a unique replacement part to the part determined to be replacement, to the client,
Program characterized by the following.
サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継処理の実行に用いられるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
前記サーバから配信データを受信するデータ受信ステップと、
前記データ受信ステップで受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定ステップと、
前記要否判定ステップが差し替え要と判定されたパートを固有の差し替え用パートに差し替えた形の差し替え後配信データをクライアントに送信する差し替え送信ステップと、を有すること、
を特徴とする記録媒体。
In a distribution system for distributing distribution data from a server to a plurality of client terminals, a computer-readable recording program for executing a data relay process for relaying the distribution data between the server and a part of the plurality of client terminals A possible recording medium,
The program is
A data receiving step of receiving distribution data from the server;
A necessity determination step of determining whether replacement is necessary for each of a plurality of parts constituting the distribution data received in the data reception step,
A replacement transmission step of transmitting the distribution data after replacement in a form where the necessity determination step is replaced with a unique replacement part to the part determined to be replacement, to the client,
Recording medium characterized by the above-mentioned.
JP2002164852A 2002-06-05 2002-06-05 Data distribution system, data relay device and method therefor, and program for implementing data relay method by computer Pending JP2004013440A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002164852A JP2004013440A (en) 2002-06-05 2002-06-05 Data distribution system, data relay device and method therefor, and program for implementing data relay method by computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002164852A JP2004013440A (en) 2002-06-05 2002-06-05 Data distribution system, data relay device and method therefor, and program for implementing data relay method by computer

Publications (1)

Publication Number Publication Date
JP2004013440A true JP2004013440A (en) 2004-01-15

Family

ID=30432890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002164852A Pending JP2004013440A (en) 2002-06-05 2002-06-05 Data distribution system, data relay device and method therefor, and program for implementing data relay method by computer

Country Status (1)

Country Link
JP (1) JP2004013440A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236146A (en) * 2007-03-19 2008-10-02 Fujitsu Ltd Contents distribution method, relay node, data communication program, and recording medium storing the program
JPWO2007102209A1 (en) * 2006-03-08 2009-07-23 株式会社山武 Communication relay device and communication relay method
JP2011507441A (en) * 2007-12-17 2011-03-03 アルカテル−ルーセント Method for broadcasting customized information on an IPTV network and device for implementing the method
JP2016057757A (en) * 2014-09-08 2016-04-21 株式会社メディアプラットフォームラボ Content distribution system, content distribution method, and content distribution program
JP2016171440A (en) * 2015-03-12 2016-09-23 日本電気株式会社 CM (commercialmessage) MANAGEMENT DEVICE, CM MANAGEMENT METHOD, AND PROGRAM
JP2016213684A (en) * 2015-05-08 2016-12-15 株式会社リクルートホールディングス Content distribution system
JP6078682B1 (en) * 2015-07-31 2017-02-08 エフエムアール エルエルシー Insert personalized information into digital content
JP2021524714A (en) * 2018-07-16 2021-09-13 グレースノート インコーポレイテッド Dynamic control of fingerprint rate to facilitate time-accurate modification of media content

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007102209A1 (en) * 2006-03-08 2009-07-23 株式会社山武 Communication relay device and communication relay method
JP4526045B2 (en) * 2006-03-08 2010-08-18 株式会社山武 Communication relay device and communication relay method
JP2008236146A (en) * 2007-03-19 2008-10-02 Fujitsu Ltd Contents distribution method, relay node, data communication program, and recording medium storing the program
JP2011507441A (en) * 2007-12-17 2011-03-03 アルカテル−ルーセント Method for broadcasting customized information on an IPTV network and device for implementing the method
JP2016057757A (en) * 2014-09-08 2016-04-21 株式会社メディアプラットフォームラボ Content distribution system, content distribution method, and content distribution program
JP2016171440A (en) * 2015-03-12 2016-09-23 日本電気株式会社 CM (commercialmessage) MANAGEMENT DEVICE, CM MANAGEMENT METHOD, AND PROGRAM
JP2016213684A (en) * 2015-05-08 2016-12-15 株式会社リクルートホールディングス Content distribution system
JP6078682B1 (en) * 2015-07-31 2017-02-08 エフエムアール エルエルシー Insert personalized information into digital content
JP2021524714A (en) * 2018-07-16 2021-09-13 グレースノート インコーポレイテッド Dynamic control of fingerprint rate to facilitate time-accurate modification of media content
JP2021524713A (en) * 2018-07-16 2021-09-13 グレースノート インコーポレイテッド Dynamic control of fingerprint rate to facilitate time-accurate modification of media content
US11290770B2 (en) 2018-07-16 2022-03-29 Roku, Inc. Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content
JP7053943B2 (en) 2018-07-16 2022-04-12 ロク インコーポレイテッド Dynamic control of fingerprint rate to facilitate time-accurate modification of media content
JP7053944B2 (en) 2018-07-16 2022-04-12 ロク インコーポレイテッド Dynamic control of fingerprint rate to facilitate time-accurate modification of media content
US11503362B2 (en) 2018-07-16 2022-11-15 Roku, Inc. Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content

Similar Documents

Publication Publication Date Title
JP6441521B2 (en) Control message composition apparatus and method in broadcast system
US7530086B2 (en) Media program timing and identity delivery method and system
US11632578B2 (en) Apparatus and method for configuring control message in broadcasting system
CN101675664B (en) Iptv architecture for dynamic commercial insertion
JP4443833B2 (en) Information reproducing method, transmitting apparatus and receiving apparatus
US9197857B2 (en) IP-based stream splicing with content-specific splice points
JP5086285B2 (en) Video distribution system, video distribution apparatus, and synchronization correction processing apparatus
US7710983B2 (en) Method and apparatus for determining information associated with a particular multicast channel in a multicast network
US20060075449A1 (en) Distributed architecture for digital program insertion in video streams delivered over packet networks
US20100083305A1 (en) Interface Device Having Multiple Software Clients to Facilitate Display of Targeted Information
US20020067730A1 (en) Method and apparatus for IP multicast content distribution system having national and regional demographically targeted advertisement insertion
US20100088426A1 (en) Reception apparatus reception method, and computer program
CN107409234A (en) The stream transmission based on file format of DASH forms is utilized based on LCT
CN104737514A (en) A method and apparatus for distributing a media content service
JP2004013440A (en) Data distribution system, data relay device and method therefor, and program for implementing data relay method by computer
US20070033609A1 (en) Media stream multicast distribution method and apparatus
Brassil et al. Structuring internet media streams with cueing protocols
WO2011079477A1 (en) Method and device for providing comments on multimedia contents
Brassil et al. Enhancing internet streaming media with cueing protocols
Furht et al. IP simulcast: A new technique for multimedia broadcasting over the Internet
WO2018180572A1 (en) Information processing apparatus, reception apparatus, and information processing method
JP6178893B1 (en) Unicast delivery apparatus, playback synchronization system, unicast delivery method, and unicast delivery program
WO2008095314A1 (en) System and method for distributed and dynamic transcoding
KR20090009352A (en) Method and system for providing time-shifted broadcasting service
JP2008187368A (en) Content sending out apparatus