(57)【要約】【課題】コンテンツ配信システムにおいて、サーバ側に大きな負荷を負わせることなく、なるべく多くのクライアントに対して個別の条件に合わせた別個のコンテンツを配信できるようにする。【解決手段】クライアント端末をグループ化し、グループ毎に特定のデータ中継装置を経由してコンテンツを配信するものであり、データ中継装置においては、データ選択部１３が受信パケットの属するパートを判定し、パートが差し替え対象でれば当該受信パケットを破棄する一方、差し替え要データのパケット作成をデータパケット作成部１５に実行させ、作成された差し替えパケットをクライアント端末Ｔに送信させる。【選択図】　図５
2004013440.tif 000002
【特許請求の範囲】
【請求項１】
サーバから複数のクライアント端末に対して１以上のデータ中継装置を介して配信データを配信するデータ配信システムであって、前記クライアントは複数のグループに分けられており、前記サーバが配信する配信データは複数のパートから成るというデータ配信システムであって、
前記１以上のデータ中継装置は各々が、
前記複数のグループのいずれかに対応しており、
前記サーバから配信データを受信するデータ受信手段と、
前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、
前記要否判定手段が差し替え要と判定したパートを固有の差し替え用パートに差し替えた形の差し替え後配信データを、対応するグループに属するクライアントに送信する差し替え送信手段と、を有すること
を特徴とするデータ配信システム。
【請求項２】
サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継装置であって、
複数のパートから成る配信データを前記サーバから受信するデータ受信手段と、
前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、
前記要否判定手段が差し替え要と判定したパートを固有の差し替え用データに差し替えた形の差し替え後配信データをクライアント端末に送信する差し替え送信手段と、を有すること、
を特徴としたデータ中継装置。
【請求項３】
前記配信データを構成するパートはパケット単位で送信され、前記データ受信手段は前記配信データをパケット単位で前記サーバから受信し、
前記差し替え送信手段は、前記要否判定手段が差し替え要と判定したパートに属するパケットを廃棄し、前記差し替え用パートをパケット単位でクライアント端末に送信すること、
を特徴とする請求項２に記載のデータ中継装置。
【請求項４】
前記差し替え送信手段は、１つの配信データの配信の過程で廃棄したパケットの総数である廃棄パケット数、及び、１つの配信データの配信の過程で差し替え用データの送信に用いたパケットの総数である差し替えパケット数をカウントしており、
クライアント端末へのパケット送信にあたって、その時点での前記廃棄パケット数と前記差し替えパケット数とに基づいて送信対象パケットのシーケンス番号を調整するパケット更新手段を更に有すること、
を特徴とする請求項３に記載のデータ中継装置。
【請求項５】
サーバから複数のクライアント端末に対して１以上のデータ中継装置を介して配信データを配信するデータ配信システムにおいて、前記データ中継装置が実行するデータ中継方法であって、
前記サーバから配信データを受信するデータ受信ステップと、
前記データ受信ステップで受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定ステップと、
前記要否判定ステップが差し替え要と判定されたパートを固有の差し替え用パートに差し替えた形の差し替え後配信データをクライアントに送信する差し替え送信ステップと、を有すること、
を特徴としたデータ中継方法。
【請求項６】
サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継方法をコンピュータに実行させるためのプログラムであって、
前記データ中継方法が、
前記サーバから配信データを受信するデータ受信ステップと、
前記データ受信ステップで受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定ステップと、
前記要否判定ステップが差し替え要と判定されたパートを固有の差し替え用パートに差し替えた形の差し替え後配信データをクライアントに送信する差し替え送信ステップと、を有すること、
を特徴とするプログラム。
【請求項７】
サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継処理の実行に用いられるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
前記サーバから配信データを受信するデータ受信ステップと、
前記データ受信ステップで受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定ステップと、
前記要否判定ステップが差し替え要と判定されたパートを固有の差し替え用パートに差し替えた形の差し替え後配信データをクライアントに送信する差し替え送信ステップと、を有すること、
を特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットなどのネットワークを通じてマルチメディアデータをユーザに配信するデータ配信システムにおいて、データ配信元とユーザとの間でデータの中継を行うデータ中継装置に関する。
【０００２】
【従来の技術】
近年、通信技術の発達により、静止画像、動画、音声などのマルチメディアコンテンツ（以下、「コンテンツ」）をネットワーク上で流通させるサービスが行われるようになっている。その背景には、ネットワークのブロードバンド化により、デジタルデータの高速伝送が可能になったことがある。コンテンツのデータは小さなパケットに区切られて配信され、ストリーミングなどリアルタイム性が重視される場合は、リアルタイムトランスポートプロトコル（ＲＴＰ）と呼ばれるプロトコルにしたがって伝送される。
【０００３】
コンテンツの配信形態は、コンテンツを保持するサーバからクライアント（ユーザ）の端末にコンテンツを送信する、というものであるが、サーバから個々のクライアントへ個別のコンテンツを送る「ユニキャスト」と、１つのサーバから複数のクライアントに同じコンテンツを送る「マルチキャスト」とに大きく分かれる。
【０００４】
マルチキャストの場合は、サーバから送出されるデータは全クライアントに対して同一なので、クライアント数がいくら増えてもサーバからのデータ送出用回線の容量（レート）は大きくする必要がなく、対応できるクライアント数は理論上無限である。しかし、ユーザ毎に内容の異なるコンテンツを送出する形のサービスには向かない。一方、ユニキャストの場合、各クライアントに対し、その要求に従って異なる内容のコンテンツを配送できる反面、サーバは同時に複数種類のコンテンツを送出することになるので、回線容量を大きくしても同時に対応できるクライアント数には限りがあり、多数のクライアントに同時にデータ配信するサービスには向かない。
【０００５】
【発明が解決しようとする課題】
しかしながら、コンテンツ配信サービスにおいては、多数のクライアントに対して同時に内容の異なるコンテンツを配信する必要が生じる場合もある。例えば、ある番組（映画やスポーツ中継など）にコマーシャルや地域情報（天気予報など）を付加して１つのコンテンツとし、全国のクライアントに配信するサービスの場合、番組部分は共通でもコマーシャルや地域情報の部分はクライアントの所在地（地域）や嗜好によって異なるので、クライアント別にコンテンツの内容は異なる。その場合、コマーシャルや地域情報のみ異なる複数種類のコンテンツを編集、制作してサーバに保持させる必要があるが、その数はかなり多くなりデータ量も非常に大きい。さらに、これら複数種類のコンテンツを同時に配信することになると、サーバからのデータ送出に用いられる回線の容量は非常に大きなものが求められる。
【０００６】
本発明は、上記の課題に鑑み、コンテンツ配信システムにおいて、サーバ側に大量のデータの管理などの負荷を負わせることなく、なるべく多くのクライアントに対し所在地や嗜好などの各クライアント個別の条件に合わせた内容のコンテンツ配信を可能とできるような、データ配信システム及びデータ中継装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記の課題を解決するために、本発明のデータ配信システムは、サーバから複数のクライアント端末に対して１以上のデータ中継装置を介して配信データを配信するデータ配信システムであって、前記クライアントは複数のグループに分けられており、前記サーバが配信する配信データは複数のパートから成るというデータ配信システムであって、前記１以上のデータ中継装置は各々が、前記複数のグループのいずれかに対応しており、前記サーバから配信データを受信するデータ受信手段と、前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、前記要否判定手段が差し替え要と判定したパートを固有の差し替え用パートに差し替えた形の差し替え後配信データを、対応するグループに属するクライアントに送信する差し替え送信手段と、を有することを特徴とする。
【０００８】
この構成のシステムによれば、サーバが送出した単一のコンテンツを、１以上のデータ中継装置がそれぞれ部分的に更新してクライアント端末に送出するので、各データ中継装置に対応するクライアント端末ごとに内容の異なるコンテンツを配信することができる。
また、上記の課題を解決するために、本発明のデータ中継装置は、サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継装置であって、複数のパートから成る配信データを前記サーバから受信するデータ受信手段と、前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、前記要否判定手段が差し替え要と判定したパートを固有の差し替え用データに差し替えた形の差し替え後配信データをクライアント端末に送信する差し替え送信手段とを有することとする。
【０００９】
【発明の実施の形態】
以下、図面を参照しながら、本発明のデータ配信システム及びデータ中継装置の実施の形態について説明する。
（データ配信システムの概要）
図１は、データ中継装置１とこれが含まれるデータ配信システムＡの概要を示す図である。データ配信システムＡは、サーバが保持するマルチメディアコンテンツデータ（以下「コンテンツデータ」と言う）をデータ中継装置経由でクライアント（ユーザ）に配信するサービスを行うものである。この配信は予め決められたタイムテーブルに従ってクライアントにコンテンツデータが配信されるもので、現行のテレビ放送サービスのイメージに近いものである。サービスの性質上、リアルタイム性が重視されるので、コンテンツデータはＲＴＰに従って送られる。
【００１０】
図１に示す通り、データ配信システムＡは、１台のマルチメディアコンテンツサーバＳ（以下、単に「サーバＳ」と言う）に複数のデータ中継装置１がネットワークＮを介して接続され、データ中継装置の各々には１台以上のクライアント端末がネットワークを介して接続されている。クライアント端末はいくつかのグループに分かれてグループ毎に特定のデータ中継装置に対応している。なお、複数あるデータ中継装置、クライアント端末の構成は同一であるため、それぞれ単一の参照番号を付して、以下、「データ中継装置１」、「クライアント端末Ｔ」とする。
【００１１】
サーバＳは、ＲＴＰに従ってコンテンツデータをパケット単位でデータ中継装置１に送出する。サーバＳからのコンテンツデータの送出は、マルチキャスト方式で行われ、全てのデータ中継装置１に同一内容のコンテンツデータを送出する。
各データ中継装置１はサーバＳから受け取ったコンテンツデータの一部を、あらかじめ保持している固有の差し替え情報に従って同様に予め保持している固有の差し替え用データに差し替えた上で、各々が接続されたクライアント端末Ｔに送出する（この時点で、データ中継装置毎に送出するコンテンツデータ内容は異なったものとなる）。個々のデータ中継装置からそれが対応する複数のクライアント端末へのコンテンツデータの送信もマルチキャスト方式で行われる。なお、データ中継装置１の実体は、ルータなどの既存の中継装置に組み込まれた装置（計算機によって実行されるプログラムも含む概念）である。
【００１２】
クライアント端末Ｔは対応するデータ中継装置１からパケットを受信し、ここからコンテンツデータを取り出して再生し、ユーザに提示する。
すなわち、データ配信システムＡは、クライアントをグループ化し、グループ毎に特定のデータ中継装置を経由して配信するものであり、各データ中継装置が別々にコンテンツデータの一部を差し替えることで、グループ毎に内容の異なるコンテンツを配信できるようにしている。
（コンテンツの編成及び差し替え情報）
次いで、サーバＳが配信するコンテンツデータの編成、データ中継装置１が保持する差し替え情報の概略について説明する。
【００１３】
サーバＳが配信するコンテンツデータは、番組本編にＣＭや地域情報などが挿入されたものであり、番組本編は全クライアントに共通であるが、ＣＭや地域情報の内容はクライアント端末Ｔの所在地に応じて異なる。データ中継装置１で差し替えが行われるのはＣＭ及び地域情報である。サーバＳはコンテンツデータをいくつかのパートに分け、さらに各パートをパケット単位に分割して、データ中継装置１経由でクライアント端末Ｔに配信する。また、サーバＳは、コンテンツデータの各々について、その構成を示す編成情報を保持しており、コンテンツデータ配信に先立って編成情報をデータ中継装置１に送出しておく。なお、この送出の際、サーバＳは、個々の編成情報に対応するコンテンツを識別するための識別情報を付加しておく。
【００１４】
図２は、上記のようなコンテンツデータの編成の一例を示す模式図である。コンテンツデータ２００は、番組本編を形成する３つの本編パート２１１、２１２、２１３、ＣＭに対応するＣＭパート２２１、２２２、地域情報に対応する地域情報パート２３１から成り、３つの本編パートの間にＣＭパート２２１、２２２が挿入され、末尾に地域情報パート２３１が付加された構成である。
【００１５】
図３は、図２に示すコンテンツデータ２００を例に編成情報の構成と内容の一例とを表形式で示す図である。編成情報は各パートに１件ずつ対応する。編成情報３０１は図２に示した本編パート２１１に、編成情報３０２〜３０６は、ＣＭパート２２１、本編パート２１２、ＣＭパート２２２、本編パート２１３、地域情報パート２３１にそれぞれ対応する。各編成情報は各パートをユニークに識別するＩＤが格納されるパートＩＤ欄３１０、各パートのコンテンツデータにおける範囲を再生開始タイミング及び再生終了タイミングの値で示す情報が格納されるタイミング欄３２０から成り、タイミング欄３２０は更に開始タイミング欄３２１と終了タイミング欄３２２とから成る。タイミング欄３２０に格納される値は、データ配信時の各パケットに設定されるタイムスタンプに対応するものである。すなわち、コンテンツデータの先頭の再生開始時点を「００：００：００」として、各パートの再生時の開始、終了時点を再生開始時点からの経過時間長（オフセット）で表わす。例えば、編成情報３０１は本編パート２１１について、再生開始から「００：００：００」以上、「００：１５：００」未満の範囲で再生される部分であることを示す。逆に、あるパケットに格納されたタイムスタンプの値が「００：００：００」以上、「００：１５：００」未満の範囲であれば、当該パケットは本編パート２１１に含まれることを意味する。
【００１６】
一方、データ中継装置１は、パート単位でコンテンツデータの一部を差し替えるが、そのために、差し替え後のデータである差し替え用データと差し替え処理内容を示す差し替え情報とを保持している。差し替え用データ及び差し替え情報は、コンテンツの制作と並行して作成され、配信サービス休止期間（深夜など）にネットワークを介して各中継装置に送信される。データ中継装置１は受信した差し替え用データ及び差し替え情報を付属する記憶装置に格納しておく。差し替え情報はコンテンツデータ毎、更にはデータ中継装置毎に作成される。
【００１７】
図４は、データ中継装置１が保持する差し替え情報の構成と内容の一例とを、図２に示したコンテンツデータ２００の場合を例に示してある。なお、差し替え情報４００は、どのコンテンツデータに対応するかを示すコンテンツ識別情報が付加されているものとする（図示せず）。差し替え情報４００は、差し替え対象パートの識別情報が格納されるパートＩＤ欄４１０（図３に示す編成情報のパートＩＤ欄３１０に対応）、差し替え用データの識別情報が格納される差し替え用データＩＤ欄４２０とから成る。
【００１８】
図４に示すのは、識別情報の値が「ＣＭ１」、「ＤＩ０１」であるパート（ＣＭパート２２１、地域情報パート２３１）が差し替え対象であり、それぞれ、識別情報の値が「Ｒ０１」、「Ｒ０２」である差し替え用データに差し替える、という内容の情報である。なお、データ配信システムＡに含まれる各データ中継装置は、図４に示すものと構成が同じで内容の異なる差し替え情報をそれぞれ保持している。
（データ中継装置１の構成）
次いで、本実施の形態におけるデータ中継装置１の構成について説明する。
【００１９】
図５は、図１に示したデータ中継装置１の詳細な構成を示すブロック図である。なお、データ中継装置１には、差し替え用データが格納された記憶装置１９が接続されている。
データ中継装置１は、コンテンツサーバＳがＲＴＰパケット単位で送出してくるコンテンツデータをネットワークＮ経由で受信するデータ受信部１１、編成情報（図３参照）、差し替え情報（図４参照）、差し替え用データを受信する編成情報取得部１２、編成情報及び差し替え情報を参照してデータ受信部１１が受信したコンテンツデータについてパート毎に差し替えの要否を判定するデータ選択部１３、データ選択部１３が差し替え要と判定したパーツについて、これに対応する差し替え用データを記憶装置１９から読み出すデータ読取部１４、及び、読み出された１パート分の差し替え用データを送信用のＲＴＰパケットに分割するデータパケット作成部１５、クライアントに送信するパケットに関し、必要に応じてヘッダ情報の一部を変更するパケット情報変更部１６、ネットワークＮ’経由でパケットをクライアント端末Ｔに送出するデータ送出部１７を有する。
【００２０】
記憶装置１９には編成情報取得部１２が受信した差し替え用データが格納される。なお、これ以降の説明では、便宜上、データ受信部１１がサーバＳから受信するパケットを受信パケット、差し替え用データからデータパケット作成部１５が作成したパケットを差し替えパケットと区別する。
以下、上記構成部のうち主要なものについて、更に詳しく説明する。
（データ選択部１３）
データ選択部１３は、データ受信部１１から受信パケットを受け取ると、その内容を参照してパートの先頭パケットであるか否か判定する。そして、パートの先頭パケットを検出すると、当該パートが差し替え対象のパートであるか否か判定する。そして、差し替え対象パートであれば、次のパートの先頭パケットを検出するまでの間、データ受信部１１から送られてくる受信パケットは廃棄する。その一方で、データパケット作成部１５に指示して、当該差し替え対象パートに対応する差し替えデータから差し替えパケットを作成させ、その差し替えパケットをパケット情報変更部１６に出力する。
【００２１】
データ選択部１３は、各パートの先頭パケットの検出、当該パートが差し替え対象パートか否かの判定を、受信パケットのタイムスタンプの情報、編成情報及び差し替え情報を参照して行う。これは、受信パケットには属するパートを直接示す情報が格納されないからである。タイムスタンプは受信パケット（ＲＴＰパケット）のヘッダ又はペイロードに格納され、コンテンツデータの先頭からのオフセットをタイミングで示すものである。なお、データ選択部１３は、編成情報、差し替え情報を編成情報受信部１２から予め得て保持している。
【００２２】
データ選択部１３は、データ受信部１１から新たな受信パケットを受け取ると、当該受信パケットのタイムスタンプを読み出す。そして、このタイムスタンプを編成情報のタイミング欄３２０（図３参照）に照会して、当該パケットが属するパートのパートＩＤ（パートＩＤ欄３１０の値）を得ると、保持しておいた受信済みパートのパートＩＤと比較する。比較の結果、当該パケットのパートＩＤがそれ以前に受信済みのパートのパートＩＤと異なれば、当該パケットはパートの変わり目、すなわち新たなパートの先頭パケットと分かる。コンテンツの最初のパケットについては、「受信済みパートのパートＩＤ」が存在しない（空値である）ため、必ずパートの先頭パケットと認識される。受け取った受信パケットがパートの先頭であると判定した場合、データ選択部１３は更に、この受信パケットが属するパートのパートＩＤを差し替え情報のパートＩＤ欄４１０（図４参照）の内容に照会して、当該パートが差し替え対象か否か判定する。
【００２３】
データ選択部１３は、パートの先頭パケットを検出し、当該パートが差し替え対象か否か判定すると、判定結果に応じて以下の処理を行う。
先ず、差し替え対象パートでなければ、データ選択部１３は、次のパートの先頭パケットを検出するまで、データ受信部１１から送られてくる受信パケットをそのままパケット情報変更部１６に出力する。
【００２４】
一方、差し替え対象パートであれば、データ選択部１３はその後、当該パートに含まれる後続の受信パケットを廃棄する処理と、データパケット作成部１５に差し替えパケットを作成させてパケット情報更新部１６に出力する処理とを並行して行う。
廃棄処理については、先ず、検出した先頭パケットが差し替え対象のパートであると判定した時点で廃棄フラグをＯＮ設定し、当該先頭パケットを廃棄する。データ選択部１３は、「データ受信部１１から送られてくる受信パケットが属するパートが直前のパートと同じ」で、しかも「廃棄フラグ＝ＯＮ」という条件が満たされる場合、受信パケットを廃棄する。廃棄フラグ＝ＯＮの状態で、受信パケットと直前パケットの所属パートが異なる場合（次パートの先頭パケットを検出した場合）、データ選択部１３は廃棄フラグをＯＦＦに戻した上で、上に記したように、次パートが差し替え対象か否かの判定とそれに続く処理を行う。
【００２５】
データ選択部１３は、差し替えパケット作成、出力のための処理として、先ず、データパケット作成部１５に差し替えデータの識別情報（差し替え情報の差し替え用データＩＤ欄４２０の値）を送り、当該差し替えデータを格納したＲＴＰパケットの作成を指示する。そして、指示に応じてデータパケット作成部１５から出力されてくる差し替えパケットを順次、パケット情報変更部１６へ出力する。
【００２６】
なお、データ選択部１３は、パケット作成部１５に差し替えデータのパケット作成を指示する時点で、「作成中フラグ」をＯＮ設定し、当該指示対象の差し替え用データの最終パケットをパケット作成部１５から受け取った時点でＯＦＦに戻す。この作成中フラグは、データ選択部１３が、差し替えパケットをパケット作成部１５から受け取ってパケット情報変更部１６へ出力する処理の間に、次パートの先頭パケットをデータ受信部１１から受け取った場合に参照される。すなわち、上記の作成中フラグがＯＮの状態で、次パートの先頭パケットを検出した場合、データ選択部１３は、最終の差し替えパケットをデータパケット作成部１５から受け取ってパケット情報変更部１６に出力するまで、すなわち、作成中フラグがＯＦＦになるまで、データ受信部１１から送られてくる次パートの受信パケットを一時記憶に保管しておく。そして、差し替えパートの最終パケットをパケット情報変更部１６に送出した後、この次パートが差し替え対象か否かに応じて、一時保存しておいた受信パケットを廃棄、又はパケット情報変更部１６へ出力する。
【００２７】
データ選択部１３は、コンテンツデータの全パートの処理が終るまで上記の処理を繰り返す。また、データ選択部１３は、パケット情報変更部１６にパケットを出力するたびに、パケットの管理情報の一部（シーケンス番号）を変更する際に参照される情報をパケット情報変更部１６に出力する。この情報とは、コンテンツデータの配信開始からの廃棄パケットの総数、及び、配信開始からの差し替えパケットの総数である。これらの情報を得るために、データ選択部１３は廃棄したパケット用のカウンタ、及び作成パケット用のカウンタを保持している。
（データパケット作成部１５）
データパケット作成部１５は、データ選択部１３からの指示に応じて差し替えパケットを作成しデータ選択部１３に送出する。まず、データ選択部１３から指示と共に送られてくる差し替え用データの識別情報をデータ読取部１４へ送り、当該識別情報に対応する差し替え用データを記憶装置１９から読み出させる。なお、ＲＴＰパケット化に必要な情報（ＭＰ４フォーマットのＨｉｎｔＴｒａｃｋなど）がある場合は、その部分もデータ読取部１４に読み出させるものとする。続いて、読み出させた差し替え用データを分割してＲＴＰパケットに格納、そしてパケットに必要な管理情報を設定してデータ選択部１３に送出する。さらに、当該差し替え用データの最終差し替えパケットをデータ選択部１３に送出する際は、最終である旨を通知する。また、作成した差し替えパケットについては、管理情報の一部であるシーケンス番号を空値にしておく。
（パケット情報変更部１６）
パケット情報変更部１６では、必要な場合に、クライアント端末Ｔに送出されるパケットのシーケンス番号を更新する。シーケンス番号は１つのコンテンツデータを構成するパケットの通し番号であり、受信側装置（ここではクライアント端末Ｔ）が伝送中に発生する「パケット損失」や「パケット順序の逆転」を検出できるように設定される情報である。例えば、１つのコンテンツデータが１００個のパケットに分割されてクライアントの端末に送信される場合、個々のパケットには送信される順序に応じて１〜１００のいずれかのシーケンス番号が設定される。これをクライアント端末が受信する際に「シーケンス番号：１０」のパケットの次に「シーケンス番号：１２」のパケットを受信したとすれば、クライアント側で「シーケンス番号：１１」のパケットが送信中に失われたものと認識できる（パケット損失）。この場合、クライアント端末は、受信したマルチメディアデータの再生時に、損失分パケットを考慮した調整を行う。
【００２８】
また、パケット順序の逆転とは、パケットの送信順序と受信順序とが一致しない現象である。例えば、「シーケンス番号：１０」、「シーケンス番号：１１」、「シーケンス番号：１２」の順序で送信された３つのパケットが、クライアント端末には「シーケンス番号：１０」、「シーケンス番号：１２」、「シーケンス番号：１１」の順番で受信される。この場合、クライアント側は「シーケンス番号：１１」を廃棄する。
【００２９】
しかし、データの差し替えが行われる場合、差し替え対象パートと差し替えデータとでは、再生時の時間長が同じでも圧縮後データ量は同じにならないので、差し替え前後のデータ量に差がでる。このデータ量の差が大きいとパケット数も違ってくる。例えば、差し替え対象パートが１０個のパケット（シーケンス番号は「１１」〜「２０」とする）に収まるデータ量であるのに対し、差し替え用データが９個のパケットに収まる量であれば、データ中継装置１からクライアント端末Ｔに送られる差し替え用データの最終差し替えパケットに納められるシーケンス番号は「１９」となる一方、サーバから次に送られてくるパケットのシーケンス番号は「２１」であるので、当該パケットをそのままクライアント端末Ｔに送信すると、「シーケンス番号：２０」のパケットが失われたと誤認識されてしまう。
【００３０】
また、逆に差し替え対象パートが１０個のパケットに収まるデータ量であるのに対し、差し替え用データが１２個のパケットに収まる量であれば、クライアント端末Ｔに送られる差し替え用データの最終差し替えパケットに納められるシーケンス番号は「２２」となる一方、サーバから次に送られてくるパケットのシーケンス番号は「２１」であるので、当該パケットをシーケンス番号の調整なしにクライアント端末に送信すると、クライアント側では上記のような「パケット順序の逆転」が発生したと誤認識してパケット廃棄を行ってしまう。
【００３１】
そこで、パケット情報変更部１６は、こうしたパケット損失やパケット順序の逆転に関する誤認識を防ぐためにクライアント端末Ｔへの送信に先立ってシーケンス番号を変更する。
パケット情報変更部１６によるシーケンス番号変更処理の内容は、データ選択部１３が出力してくるパケットが、データ受信部１１が受信した受信パケットであるかパケットデータ作成部１５が作成した差し替えパケットであるかによって分かれる。いずれのパケットであるかは、シーケンス番号が空値であるか否かによって判定する（上で述べた通り、差し替えパケットのシーケンス番号は空値となっている）。
【００３２】
データ受信部１１が受信したパケット（シーケンス番号が空値でないパケット）がデータ選択部１３から送出されてくると、パケット情報変更部１６は、データ選択部１３から提供される２種類の情報、▲１▼廃棄パケットの総数、▲２▼差し替えパケットの総数、を参照して変更後シーケンス番号を算出する。すなわち、上記▲２▼の値から▲１▼の値を差し引いた調整値を当該パケットの変更前シーケンス番号の値に加える。
【００３３】
一方、データパケット作成部１５によって作成された差し替えパケットの場合、パケット情報変更部１６は、直前に自身がデータ送出部１７に送出したパケットのシーケンス番号を１つカウントアップした値を、当該パケットのシーケンス番号として設定し、データ送出部１７に送出する。なお、パケット情報変更部１６は、上記の処理が可能となるよう、データ送出部１７に直前に送出したパケットのシーケンス番号を保存し、パケットを送出するたびに更新する。
【００３４】
なお、パケットの損失やパケット順序の逆転が、サーバＳからデータ中継装置１へのデータ送信においても発生するのであれば、これらの検出と調整とは、データ選択部１３による差し替え要否判定以前に行うこととする（例えば、データ受信部１１において）。
（動作）
次いで、データ中継装置１の動作について図面を参照しながら説明する。
【００３５】
図６は、本実施の形態におけるデータ中継装置１が、１つのコンテンツデータの配信に当たって行う処理の流れを、サーバＳから順次受信する受信パケットに対する処理を中心に示すフローチャートである。
先ず、データ受信部１１がサーバＳからの配信開始の通知を受けて、処理が開始され（Ｓ６０１：Ｙｅｓ）、データ選択部１３は各種カウンタ及びフラグを初期化する（廃棄パケット用カウンタ及び差し替えパケット用カウンタ←０、廃棄フラグ及び作成中フラグ←ＯＦＦ）。そして、データ受信部１１が、配信対象のコンテンツをパケット単位で受信する（Ｓ６０２）。
【００３６】
受信パケットはデータ選択部１３に送られ、データ選択部１３は受信パケットの属性（パートの先頭パケットであるか否か、属するパートが差し替え対象か否か）をチェックする（Ｓ６０３）。以下、受信パケットがパートの先頭であるか否かによって処理が分かれる。
受信パケットがパートの先頭であった場合（Ｓ６０４：Ｙｅｓ）、データ選択部１３は当該受信パケットが属するパートの識別情報を当該パートが属するコンテンツに対応する編成情報（図４参照）に照会して、そのパートが差し替え対象となっているか否か判定する。
【００３７】
差し替え対象であれば（Ｓ６０５：Ｙｅｓ）、データ選択部１３はこの後データ受信部１１が受信する受信パケットのうち同パートに属するものは廃棄すべきことを示す廃棄フラグをＯＮに設定する。さらに、当該受信パケットを廃棄し、廃棄パケット用のカウンタの値を「１」カウントアップする（Ｓ６０６、Ｓ６０７）。
【００３８】
さらに、ステップＳ６０８の処理として、差し替え対象パートに対応する差し替え用データのパケット化、クライアント端末Ｔへの送信の処理が行われる。ただし、当該処理は図６に示す受信パケット用の処理（Ｓ６０８を除く）と並行して行われるので、別の図面（図７）を参照しながら別途説明する。
一方、ステップＳ６０５の判定処理において、検出した先頭パケットが属するパートが差し替え対象でなかった場合（Ｓ６０５：Ｎｏ）、データ選択部１３は廃棄フラグを参照し、これがＯＮであればＯＦＦに設定し直し（Ｓ６０９）、受信パケットをパケット情報変更部１６に送る。このとき、廃棄パケットの総数及び作成パケットの総数を併せてパケット情報変更部１６に送る。パケット情報変更部１６は、廃棄パケットの総数及び作成したパケットの総数の情報によって当該受信パケットのシーケンス番号を調整した上でデータ送出部１７に送り、データ送出部１はこの受信パケットをクライアント端末Ｔに送出する（Ｓ６１０）。
【００３９】
ただし、データ選択部１３は、受信パケットをパケット情報変更部１６に送る前に、作成中フラグを参照する。作成中フラグ＝ＯＦＦの場合はそのまま受信パケットをパケット情報変更部１６に送るが、ＯＮの場合は、ＯＦＦになるまで（差し替え用データの最終パケットをパケット情報変更部１６に送るまで）受信パケットを保持しておき、ＯＦＦになった後、受信パケットの属性（差し替え対象か否か）に応じてパケット情報変更部１６への送出又は廃棄を行う。
【００４０】
次いで、受信パケットがパートの先頭でなかった場合（Ｓ６０４：Ｎｏ）について説明する。この場合、データ選択部１３はさらに、当該受信パケットを廃棄すべき否か廃棄フラグを元に判定する。
廃棄フラグがＯＮの場合（受信パケットが差し替え対象パートに属する場合）（Ｓ６１１：Ｙｅｓ）、データ選択部１３は当該受信パケットを廃棄し、廃棄パケット用カウンタの値を「１」カウントアップする（Ｓ６１２）。
【００４１】
廃棄フラグがＯＦＦの場合（差し替え対象パートに属さない場合）（Ｓ６１１：Ｎｏ）、データ選択部１３は、受信パケットを廃棄パケット総数及び作成パケット総数の値と共にパケット情報変更部１６に送る。パケット情報変更部１６は、廃棄パケット数及び作成パケット数の情報によって当該受信パケットのシーケンス番号を調整した上でデータ送出部１７に送り、データ送出部１７はこの受信パケットをクライアント端末に送出する（Ｓ６１３）。
【００４２】
ただし、データ選択部１３は、受信パケットをパケット情報変更部１６に送る前に、作成中フラグを参照する。作成中フラグ＝ＯＦＦの場合はそのまま受信パケットをパケット情報変更部１６に送るが、ＯＮの場合は、ＯＦＦになるまで（差し替え用データの最終パケットがパケット情報変更部１６に送られるまで）受信パケットを保持しておき、ＯＦＦになった後、パケット情報変更部１６への送出又は廃棄を行う。なお、作成中フラグのＯＦＦ待ちで受信パケットを複数個保持することになった場合、データ選択部１３は順番を記憶しておき、作成中フラグ＝ＯＦＦとなった後、受信順序の早いものからパケット情報変更部１６に送る（受信パケットが差し替え対象パートに属さない場合）。
【００４３】
以上の処理は、配信対象のコンテンツデータの最終パケットが処理されるまで繰り返される（Ｓ６１４：Ｙｅｓ）。
次いで、図６にステップＳ６０８として示した、差し替え用データのパケット化及び送信処理の流れを、図面を参照しながら説明する。
図７は、差し替え用データのパケット化及び送信処理の流れを示すフローチャートである。
【００４４】
先ず、データ選択部１３がデータパケット作成部１５に差替え用データのパケット化を指示し、作成中フラグをＯＮ設定する（Ｓ７０１）。
その後、データパケット作成部１５から順次出力されてくる差し替え用データのパケットを、データ選択部１３はパケット情報変更部１６に送る（Ｓ７０２）。また、データ選択部１３は更に、データパケット作成部１５から差し替え用データパケットが１つ送られてくる度に、差し替えパケット用のカウンタの値を「１」カウントアップする（Ｓ７０３）。
【００４５】
データ選択部１３から差し替えパケットを受け取ったパケット情報変更部１６は、直前に送出された差し替えパケットのシーケンス番号に「１」を加えた値を当該パケットのシーケンス番号として設定した上でデータ送出部１７に送り（Ｓ７０４）、差し替えパケットはデータ送出部１７によってクライアント端末に送出される（Ｓ７０５）。
【００４６】
その後、データパケット作成部１５から最終の差し替えパケットが出力されてきた時点で（Ｓ７０６：Ｙｅｓ）、データ選択部１３は作成中フラグをＯＦＦに設定し、差し替え用データのパケット化及び送信処理は完了する（Ｓ７０７）。
なお、以上に述べた差し替えパケット作成、送信、そして作成中フラグに関する処理は、図６に示した受信パケットに関する処理と並行して行われる。
（まとめ）
上記の通り、本実施の形態によるデータ中継装置は、各々が差し替え情報に基づいてサーバＳから送られてくるコンテンツデータの一部を別個に差し替えるものである。サーバとクライアント端末との間にこうしたデータ中継装置を配することで、コンテンツ配信システムＡでは各クライアントに対してその所在地に応じた内容の異なるコンテンツデータを配信することができ、しかも、サーバＳには、一部のみ異なる複数パターンのコンテンツデータを保持したり、同時に配信したりするなどの負荷がかかることがない。
（その他）
なお、本実施の形態については、コンテンツ配信の形態として、タイムテーブルに従った放送イメージのデータ配信を例に説明したが、発明対象となる配信形態はこれに限定されない。サーバから複数のユーザ端末に対し、内容が部分的に異なるコンテンツを配信する事態が生じる形態であれば、本発明は効果を発揮する。例えば、ＣＭ視聴を条件に無料でコンテンツの視聴を認める形のビデオオンデマンドなどで、ＣＭの内容が異なるコンテンツを配信する場合が考えられる。
【００４７】
また、データ中継装置を階層構造にした形のデータ配信システムも考えられる。例えば、１つのサーバから日本国中のユーザにコンテンツを配信するシステムにおいて、第１階層として都道府県単位で複数のデータ中継装置を配し、更に第１階層データ中継装置の各々の下に第２階層として市区単位のデータ中継装置を配する、という形態である。サーバは標準の内容のコンテンツを第１階層データ中継装置に送り、各第１階層データ中継装置はその一部を都道府県単位の固有データに差し替えて、自身の下位にある複数の第２階層データ中継装置に送る。そして、各第２階層データ中継装置は、更にコンテンツの一部を市区単位の固有データに差し替えてユーザに送る。これによれば、サーバや個々のデータ中継装置の負荷を大きくすることなく、ユーザ別にコンテンツ内容を細かく差し替えた上で配信できる。
【００４８】
なお、上記の実施の形態では、配信システムが複数のデータ中継装置を有し、全てのクライアント端末が、いずれかのデータ中継装置を介してデータサーバからデータ配信を受けることとしているが、データ中継装置が１台の場合もありうる。この場合、クライアント端末は、標準のコンテンツデータが配信される標準グループと、一部パートを差し替えて配信すべき差し替えグループとに分かれている。データ中継装置は差し替えグループのクライアント端末とデータサーバとの間に位置し、データの差し替えを行う。標準グループはデータサーバから、データ中継装置を介することなく標準のコンテンツデータを受信する。具体的には、有料で番組のみを視聴するユーザと、無料でＣＭ付き番組を視聴するユーザとがある配信システムが考えられる。サーバは番組データのみをマルチキャストで送出し、有料ユーザには送出された番組データが送られるのに対し、無料ユーザにはデータ中継装置を介して番組データが送られ、データ中継装置でＣＭが追加される、というものである。あるいは、特定地域内のユーザを標準、他の地域のユーザを差し替え対象とし、標準以外の地域のユーザに対して配信されるコンテンツデータのみデータ中継装置を経由させる、というシステムも考えられる。
【００４９】
また、上記の実施の形態では、配信を受けるクライアントは地域によってグループ分けされているが、他の基準でグループ分けしてもよい。例えば、コンテンツのジャンル（映画、スポーツ、音楽など）などが考えられる。
また、上記実施の形態では、差し替え情報はサーバを管理するコンテンツ提供者の側が一方的に作成することとしたが、ユーザからの要求又はユーザアンケートの結果などに応じる形で、個々のユーザのし好を反映して作成してもよい。
【００５０】
また、上記実施の形態では、記憶装置に格納される差し替え用データは、編成情報などと共に外部から受信、格納されることとしたが、格納の様態はこれに限定されない。媒体に記録した上で搬送し、記憶装置に格納するなどしてもよい。
また、上記実施の形態では、データ中継装置とサーバ、データ中継装置とクライアント端末は、いずれもネットワークを介して接続されるものとしたが、接続形態はこれに限定されない。ネットワークを介することなく直接接続されていてもよい。
【００５１】
なお、編成情報において、各パートの範囲は開始タイミングと終了タイミングとの組み合わせで定義したが、開始タイミングと継続時間長との組み合わせで定義することもできる。
また、上記実施の形態では、パケットごとに所属するパートをタイムスタンプで判定しているが、パケットが有する他の情報で判定することもできる。例えば、ＳＳＲＣ識別子（Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ　Ｓｏｕｒｃｅ　ｉｄｅｎｔｉｆｉｅｒ：同期送信元識別子）を参照して判定することが考えられる。ＳＳＲＣ識別子は、音声ストリームと映像ストリームなど、組み合わせて扱うべき複数のストリームが同じ値を共有するように割り当てられる識別子である。サーバからコンテンツを送信する際に、各パートごとに値が異なるように、各パケットにＳＳＲＣ識別子の値を割り当てておけば、データ中継装置の側では、ＳＳＲＣ識別子の変化によってパートの先頭パケットを検出できる。
【００５２】
また、上記実施の形態では、データ中継装置ごとに別々の差し替え用データを保持させているが、同じ差し替え用データを持たせておいて、各データ中継装置には、その共通の差し替え用データのうち必要な部分を特定できる情報を渡しておくことも可能である。例えば、差し替えＣＭをまとめたＣＭ差し替え用データと地域情報をまとめた地域差し替え用データとを全データ中継装置に持たせておき、差し替え情報としては、図４に示す情報に加えて「差し替え用データのどの範囲を使用するか」を示す範囲情報を加える。範囲情報は図３の編成情報と同様、開始位置と終了位置とをデータの先頭からのオフセットで示してもよい。よって、データ選択部からデータパケット作成部に指示を出す場合は、差し替え用データの識別情報と上記範囲情報とを指示と共に送ることになる。例えば「識別情報が“ＣＭ１”の差し替え用データのうち、「００：０１：００」から「００：０３：００」の範囲の部分について差し替えパケットを作成せよ」という形になる。
【００５３】
【発明の効果】
以上の説明から明らかなように、本発明のデータ配信システムは、サーバから複数のクライアント端末に対して１以上のデータ中継装置を介して配信データを配信するデータ配信システムであって、前記クライアントは複数のグループに分けられており、前記サーバが配信する配信データは複数のパートから成るというデータ配信システムであって、前記１以上のデータ中継装置は各々が、前記複数のグループのいずれかに対応しており、前記サーバから配信データを受信するデータ受信手段と、前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、前記要否判定手段が差し替え要と判定したパートを固有の差し替え用パートに差し替えた形の差し替え後配信データを、対応するグループに属するクライアントに送信する差し替え送信手段と、を有する構成を特徴とする。
【００５４】
この構成によれば、サーバが送出した単一のデータを、１以上のデータ中継装置がそれぞれ部分的に更新してクライアント端末に送出するので、各データ中継装置に対応するユーザ端末ごとに内容の異なるデータを配信することができ、サーバには複数パターンのデータを同時に多数のユーザに送信するなどの負荷はかからない。
【００５５】
また、サーバから複数のクライアント端末に配信データを配信する配信システムにおいて、前記サーバと前記複数クライアント端末の一部との間で前記配信データを中継するデータ中継装置であって、複数のパートから成る配信データを前記サーバから受信するデータ受信手段と、前記データ受信手段が受信した配信データを構成する複数のパートの各々について差し替えの要否を判定する要否判定手段と、前記要否判定手段が差し替え要と判定したパートを固有の差し替え用データに差し替えた形の差し替え後配信データをクライアント端末に送信する差し替え送信手段とを有する、というデータ中継装置によっても、同様の効果は得られる。
【００５６】
そして、上記効果を得るため、具体的には、前記配信データを構成するパートはパケット単位で送信され、前記データ受信手段は前記配信データをパケット単位で前記サーバから受信し、前記差し替え送信手段は、前記要否判定手段が差し替え要と判定したパートに属するパケットを廃棄し、前記差し替え用パートをパケット単位でクライアント端末に送信すること、としてもよい。
【００５７】
さらに、上記データ中継装置に関しては、前記差し替え送信手段は、１つの配信データの配信の過程で廃棄したパケットの総数である廃棄パケット数、及び、１つの配信データの配信の過程で差し替え用データの送信に用いたパケットの総数である差し替えパケット数をカウントしており、クライアント端末へのパケット送信にあたって、その時点での前記廃棄パケット数と前記差し替えパケット数とに基づいて送信対象パケットのシーケンス番号を調整するパケット更新手段を更に有する、とすることで、データのパート差し替えによって生じうるパケットのシーケンス番号の不整合から生じうる、パケット損失やパケット順序の逆転に関する誤認識を防止できる。
【００５８】
また、上記の効果は、上記構成の各々が行う処理を順次実行するデータ中継方法、さらには、コンピュータに当該データ中継方法を実行させるプログラムによっても実現できる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるデータ中継装置を含むデータ配信システムを示す図である。
【図２】同実施の形態におけるコンテンツデータの構成の一例を示す図である。
【図３】同実施の形態における構成情報の構成と内容との一例を示した図である。
【図４】同実施の形態における差し替え情報の構成と内容との一例を示した図である。
【図５】同実施の形態におけるデータ中継装置の構成を示すブロック図である。
【図６】同実施の形態におけるデータ中継装置が１つのコンテンツデータの配信において行う処理の流れを示すフローチャートである。
【図７】同実施の形態におけるデータ中継装置が差し替え用データのパケット化及び送信を行う際の処理の流れを示すフローチャートである。
【符号の説明】
１　データ中継装置
１１　データ受信部
１２　編成情報取得部
１３　データ選択部
１４　データ読取部
１５　データパケット作成部
１６　パケット情報変更部
１７　データ送出部
１９　記憶装置
Ｓ　マルチメディアコンテンツサーバ
Ｔ　クライアント端末
Ｎ，Ｎ’　ネットワーク
【図１】
2004013440.tif 000003
【図２】
2004013440.tif 000004
【図３】
2004013440.tif 000005
【図４】
2004013440.tif 000006
【図５】
2004013440.tif 000007
【図６】
2004013440.tif 000008
【図７】
2004013440.tif 000009