(57)【要約】【課題】複数の上流装置からシーケンス番号を付与されたパケットを受信し、それぞれでパケット抜け検知および再送処理を行うことで、遅延を減少させるとともにパケット喪失の確率を低減させる。【解決手段】コンテンツ配信サーバ１はデータパケットにシーケンス番号を付与して送信し、クライアント装置３は、１乃至複数のコンテンツ配信サーバ装置１または１乃至複数の他の中継機能付きクライアント装置２から同時に、当該装置１、２ごとにシーケンス番号を逐次確認しながら受信処理を行い、予定のシーケンス番号を受信できない場合には、当該シーケンス番号のパケットを当該装置へ再送要求し、当該装置ごとにパケットをバッファリングし、バッファ３−１−１からパケットをシーケンス番号順に読み出す際、当該シーケンス番号が付与されたパケットが複数個バッファ内に存在する場合はいずれか１個だけ読み出す。【選択図】        図１
2004248132.tif 000002
【特許請求の範囲】
【請求項１】
１のクライアント装置が、１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置からデータパケットを受信するコンテンツ配信方法において、
コンテンツ配信サーバはデータパケットにシーケンス番号を付与して送信し、
クライアント装置は、
１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置から同時に、当該装置ごとにデータパケットに付与されたシーケンス番号を逐次確認しながら受信処理を行い、
予定のシーケンス番号を受信できない場合には、当該シーケンス番号のデータパケットを当該装置へ再送要求し、
当該装置ごとにデータパケットをバッファリングし、
バッファからデータパケットをシーケンス番号順に読み出す際、当該シーケンス番号が付与されたデータパケットが複数個バッファ内に存在する場合は、いずれか１個だけ読み出す、
ことを特徴とするコンテンツ配信方法。
【請求項２】
前記クライアント装置も中継機能を具備することを特徴とする請求項１に記載のコンテンツ配信方法。
【請求項３】
前記クライアント装置が受信する複数のコンテンツ配信サーバ装置または複数の中継機能付きクライアント装置は、ほぼ同じタイミングで同じシーケンス番号が付与されたパケットを送信することを特徴とする請求項１に記載のコンテンツ配信方法。
【請求項４】
前記クライアント装置は、任意のタイミングでコンテンツ配信サーバ装置または他の中継機能付きクライアント装置との接続並びに受信処理を行うことを特徴とする請求項１に記載のコンテンツ配信方法。
【請求項５】
前記クライアント装置は、任意のタイミングでコンテンツ配信サーバ装置または他の中継機能付きクライアント装置との切断を行うことを特徴とする請求項１に記載のコンテンツ配信方法。
【請求項６】
前記クライアント装置において、予定のシーケンス番号以外のシーケンス番号を付与されたデータパケットを受信したとき、または一定時間データパケットを受信しないことを検知したときに、予定のシーケンス番号を受信できない場合と判断することを特徴とする請求項１に記載のコンテンツ配信方法。
【請求項７】
１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置からデータパケットを受信するクライアント装置であって、
１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置から同時にパケットを受信するためのバッファと、
前記１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置ごとにコンテンツ配信サーバによってデータパケットに付与されたシーケンス番号を逐次確認しながら受信処理を行う手段と、
予定のシーケンス番号を受信できない場合には、当該シーケンス番号のデータパケットを当該装置へ再送要求する手段と、
当該装置ごとにデータパケットをバッファリングする手段と、
バッファからデータパケットをシーケンス番号順に読み出す際、当該シーケンス番号が付与されたデータパケットが複数個バッファ内に存在する場合は、いずれか１個だけ読み出す手段と、
を具備することを特徴とするクライアント装置。
【請求項８】
中継機能を具備することを特徴とする請求項７に記載のクライアント装置。
【請求項９】
受信する複数のコンテンツ配信サーバ装置または複数の中継機能付きクライアント装置から、ほぼ同じタイミングで同じシーケンス番号が付与されたパケットを受信できるように、トポロジサーバに上流装置として適したコンテンツ配信サーバ装置または中継機能付きクライアント装置を問い合わせることを特徴とする請求項７に記載のクライアント装置。
【請求項１０】
任意のタイミングでコンテンツ配信サーバ装置または他の中継機能付きクライアント装置との接続並びに受信処理を行うことを特徴とする請求項７に記載のクライアント装置。
【請求項１１】
任意のタイミングでコンテンツ配信サーバ装置または他の中継機能付きクライアント装置との切断を行うことを特徴とする請求項７に記載のクライアント装置。
【請求項１２】
予定のシーケンス番号以外のシーケンス番号を付与されたデータパケットを受信したとき、または一定時間データパケットを受信しないことを検知したときに、予定のシーケンス番号を受信できない場合と判断することを特徴とする請求項７に記載のクライアント装置。
【請求項１３】
１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置からデータパケットを受信するクライアント装置のためのプログラムであって、コンピュータに、
１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置ごとにコンテンツ配信サーバによってデータパケットに付与されたシーケンス番号を逐次確認しながら受信処理を行う手順と、
予定のシーケンス番号を受信できない場合には、当該シーケンス番号のデータパケットを当該装置へ再送要求する手順と、
当該装置ごとにデータパケットをバッファリングする手順と、
バッファからデータパケットをシーケンス番号順に読み出す際、当該シーケンス番号が付与されたデータパケットが複数個バッファ内に存在する場合は、いずれか１個だけ読み出す手順と、
を実行させるためのプログラム。
【請求項１４】
中継機能を具備することを特徴とする請求項１３に記載のプログラム。
【請求項１５】
受信する複数のコンテンツ配信サーバ装置または複数の中継機能付きクライアント装置から、ほぼ同じタイミングで同じシーケンス番号が付与されたパケットを受信できるように、トポロジサーバに上流装置として適したコンテンツ配信サーバ装置または中継機能付きクライアント装置を問い合わせることを特徴とする請求項１３に記載のプログラム。
【請求項１６】
任意のタイミングでコンテンツ配信サーバ装置または他の中継機能付きクライアント装置との接続並びに受信処理を行うことを特徴とする請求項１３に記載のプログラム。
【請求項１７】
任意のタイミングでコンテンツ配信サーバ装置または他の中継機能付きクライアント装置との切断を行うことを特徴とする請求項１３に記載のプログラム。
【請求項１８】
予定のシーケンス番号以外のシーケンス番号を付与されたデータパケットを受信したとき、または一定時間データパケットを受信しないことを検知したときに、予定のシーケンス番号を受信できない場合と判断することを特徴とする請求項１３に記載のクライアント装置。
【請求項１９】
請求項１３乃至１８のうちいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声・映像を含むコンテンツ配信において、パケット抜け、コンテンツ配信サーバ装置若しくは中継機能付きクライアント装置（以降、データパケット送信元のこれらの装置を上流装置と呼ぶ）の異常停止でも間断なく正常なデータパケット受信できる高品質コンテンツ配信分野に適用できる。
【０００２】
【従来の技術】
従来のコンテンツ配信装置は、米国ＲｅａｌＮｅｔｗｏｒｋｓ社などの製品を用いた装置が代表的である。従来のコンテンツ配信装置は、１のクライアント装置は、１のサーバ装置からのみデータパケットを受信していた。また、パケット喪失に対しては、再送を行っていた。
従来のコンテンツ配信装置では、ネットワークのルータ輻輳などでパケット喪失した場合、再送処理を行いパケット喪失補償していた。ここで、補償の確度を高めるため、再送の失敗についても再度再送を繰り返していた。
このことは、クライアント側での受信バッファを十分長く保持しておかないと、補償しきれないまま当該喪失したパケットの読み出し時に読み出し失敗し、結果画像が乱れるなどの問題があった。
一方、上流装置を複数とし、冗長性によりパケット喪失の確率を低減する方法が提案されている（特許文献１参照）。
【０００３】
【特許文献１】
特表２００２−５２２９５６号公報
【０００４】
【発明が解決しようとする課題】
上流装置を複数とし、冗長性によりパケット喪失の確率を低減する方法の場合（特許文献１参照）、前記のような複数回の再送に耐えるための十分長い受信バッファを準備する必要がないため、受信バッファによる遅延は低減できる。しかしながら、ある特定のパケットが全ての上流装置から到着しない場合や、冗長性がない状態（上流装置１台だけ接続している状態）でパケット喪失した場合は、やはりパケット喪失は免れなかった。この場合、パケット喪失が発生すれば、以降の装置で全て当該パケット抜けが発生するため、このような多段中継型（ピア・トゥ・ピア型）配信では、パケット抜けの回避が重要な課題であった。
【０００５】
ここで、本発明が解決しようとする主要な目的は次の通りである。
本発明の第１の目的は、複数の上流装置からシーケンス番号を付与されたパケットを受信し、それぞれでパケット抜け検知および再送処理を行うことで、遅延を減少させるとともにパケット喪失の確率を低減させることである。
本発明の第２の目的は、第１の目的に示したクライアント装置も、中継機能を具備することで、当該クライアント装置も他のクライアント装置の上流装置となることで、効率的にコンテンツ配信を行うことである。
本発明の第３の目的は、第１の目的に示した上流装置は、ほぼ同じタイミングで同じシーケンス番号が付与されたパケットを送信するように構成することで、パケット抜け検知のためのバッファ長を短くすることができ、結果遅延を減少させることである。
本発明の第４の目的は、任意のタイミングで上流装置の追加または削除を行い、パケット喪失の補償の確度向上、または、ネットワーク帯域の効率化を行うことである。
本発明の第５の目的は、シーケンス番号の受信順序ずれまたは、タイムアウト発生を検知することで、正常受信か否かを正確に高速に検知し、再送処理開始を高速化しパケット補償の確度を高めることである。
本発明の他の目的は、明細書、図面、特に特許請求の範囲の各請求項の記載から自ずと明らかになろう。
【０００６】
【課題を解決するための手段】
当該課題を解決するために、本発明は次に列挙するコンテンツ配信方法、クライアント装置、プログラム、記録媒体を採用する。
即ち、本発明装置の第１の特徴は、１のクライアント装置が、１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置からデータパケットを受信するコンテンツ配信方法において、コンテンツ配信サーバはデータパケットにシーケンス番号を付与して送信し、クライアント装置は、１乃至複数のコンテンツ配信サーバ装置または１乃至複数の他の中継機能付きクライアント装置から同時に、当該装置ごとにデータパケットに付与されたシーケンス番号を逐次確認しながら受信処理を行い、予定のシーケンス番号を受信できない場合には、当該シーケンス番号のデータパケットを当該装置へ再送要求し、当該装置ごとにデータパケットをバッファリングし、バッファからデータパケットをシーケンス番号順に読み出す際、当該シーケンス番号が付与されたデータパケットが複数個バッファ内に存在する場合は、いずれか１個だけ読み出す、ことを特徴とするコンテンツ配信方法の採用にある。
【０００７】
本発明方法の第２の特徴は、上記本発明方法の第１の特徴において、クライアント装置も、中継機能を具備することを特徴とするコンテンツ配信方法の採用にある。
【０００８】
本発明方法の第３の特徴は、上記本発明方法の第１の特徴において、クライアント装置が受信する複数のコンテンツ配信サーバ装置または複数の中継機能付きクライアント装置は、ほぼ同じタイミングで同じシーケンス番号が付与されたパケットを送信することを特徴とするコンテンツ配信方法の採用にある。
【０００９】
本発明方法の第４の特徴は、上記本発明方法の第１の特徴において、クライアント装置は、任意のタイミングでコンテンツ配信サーバ装置または他の中継機能付きクライアント装置との接続並びに受信処理を行うことを特徴とするコンテンツ配信方法の採用にある。
【００１０】
本発明方法の第５の特徴は、上記本発明方法の第１の特徴において、クライアント装置は、任意のタイミングでコンテンツ配信サーバ装置または他の中継機能付きクライアント装置との切断を行うことを特徴とするコンテンツ配信方法の採用にある。
【００１１】
本発明方法の第６の特徴は、上記本発明方法の第１の特徴において、クライアント装置において、予定のシーケンス番号以外のシーケンス番号を付与されたデータパケットを受信したとき、または一定時間データパケットを受信しないことを検知したときに、予定のシーケンス番号を受信できない場合と判断することを特徴とするコンテンツ配信方法の採用にある。
【００１２】
本発明のクライアント装置、プログラム、記録媒体は、前記コンテンツ配信方法を実施するために好適な構成を有するクライアント装置、そのためのプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１３】
【発明の実施の形態】
以下、図面を参照して、本発明に関わるストリーム配信装置の実施形態について説明する。
【００１４】
（実施形態）
実施形態について第１図を用いて説明する。本実施形態は、複数の中継機能付きクライアント装置から本発明の実施形態であるクライアント装置（中継機能付きクライアント装置。以降、単にクライアント装置と呼ぶ）にデータパケットを送信している。
【００１５】
以下、本実施形態について具体的詳細に説明する。
コンテンツ配信サーバ装置１（ｎ）（ｎは整数）は、データパケットにシーケンス番号を付与し、中継機能付きクライアント装置（本実施形態では表さないが、中継機能がないクライアント装置もあり得る。以降、コンテンツ配信サーバ装置がパケット送信すべき中継機能付きクライアント装置またはクライアント装置を、単に下流装置と呼ぶ）へパケット送信する。
【００１６】
中継機能付きクライアント装置２（ｎ）（ｎは整数）は、コンテンツ配信サーバ装置１（１）、１（２）からデータパケットを受信し、該データパケットをクライアント装置３へ中継する。また、クライアント装置３からの再送要求に応じて、再送要求で指定されたデータパケットをクライアント装置３へ再送する。
【００１７】
中継機能付きクライアント装置４は、クライアント装置３の下流装置である。トポロジサーバ５は、シーケンス番号がほぼ同じタイミングで送信される上流装置を算出し、クライアント装置３のプロキシ管理部３−６へ通知する。
【００１８】
クライアント装置３の内部構成について具体的に説明する。
クライアント装置３内には、上流装置ごとの受信および再送処理を行う機能ブロック３−１（ｎ）（ｎは整数）を保持している。機能ブロック３−１は、バッファ３−１−１、受信パケット監視部３−１−２、再送要求部３−１−３より構成される。
【００１９】
ここで、バッファリングの動作および再送の動作について、図２を用いて説明する。バッファ３−１−１は、上流装置からのデータパケットのシーケンス番号を監視している受信パケット監視部３−１−２をスルーしてきたデータパケットをバッファリングする（図２（１））。スルーしてきたデータパケットを単にバッファリングするため、抜けが発生していてもそのままバッファリングを行う（６−１）。受信パケット監視部３−１−２は、予定しているシーケンス番号と異なるパケットが到着した場合（図で、シーケンス番号９のデータパケットが到着した後は、シーケンス番号１０のデータパケットが到着するところ、今回は到着する前に、シーケンス番号１１のデータパケットが到着している）、当該未到着のパケットを、シーケンス番号を指定して、再送要求部３−１−３に通知する。再送要求部３−１−３は、当該通知にしたがって、上流装置に当該シーケンス番号を再送するよう通知する（６−２）。上流装置は、当該シーケンス番号のパケットを取り出し、クライアント装置３に送信する（６−３）。受信パケット監視部３−１−２は、通常のデータパケット到着（例えば、図中の１２、１３、１４、１５のシーケンス番号を持つデータパケットの到着）に混じって再送されたシーケンス番号１０のデータパケットを取り出し、バッファの適切な位置に挿入する（図２（１）の６−３）。
【００２０】
ここで、複数バッファに同じシーケンス番号が付与されたデータパケットを１個だけ読み出すパケット読み出し部３−２の動作について図３を用いて説明する。パケット読み出し部３−２は、読み出し処理に入るとバッファ３−１−１の（１）から（ｋ）まで順に読み出し予定のシーケンス番号を持つデータパケットが見つかるまで、バッファ内のパケットのシーケンス番号を確認していく（７−１）。読み出し予定のシーケンス番号（図３の例ではシーケンス番号５）をもつデータパケットを確認できたら（７−１）、当該バッファから当該パケットを読み出す（７−２）。以降は、次のデータパケットの読み出し処理まで何もしない（７−３の処理は行わない）。
【００２１】
読み出したデータパケットは、映像再生部３−７、再送用バッファ３−４、データパケット送信部３−３にそれぞれ送信する。それぞれのバッファはＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）で動作し、最後のパケットが格納されれば、先頭に格納されたパケットは破棄される。
【００２２】
ここで、プロキシ管理部３−６について図４〜図７を用いて説明する。プロキシ管理部３−６は、上流装置からのデータパケット受信並びにパケット抜け検知並びに再送処理を行う機能ブロック３−１を任意のタイミングで設定もしくは削除する。図４は、プロキシ管理部３−６が２個の機能ブロックを設定し、２台の上流装置からデータパケットを受信している状態を示している。このとき、上流装置のうち、中継機能付きクライアント装置２（２）からのデータパケットが高確率で喪失している（図の８−１の通り、シーケンス番号１０および１３が喪失している）。そこで、プロキシ管理部３−６は、当該上流装置との接続を切断し、機能ブロックの各部を消滅させる（図５の８−２）。さらに、プロキシ管理部３−６は、トポロジサーバに上流装置として適した別の装置を問い合わせる（図６の８−３）。問い合わせた結果、中継機能付きクライアント装置２（３）が適すると通知を受けたため、プロキシ管理部３−６は、中継機能付きクライアント装置２（３）とのデータパケット受信並びにパケット抜け検知並びに再送処理を行う機能ブロック３−１（３）を新たに設定する。
【００２３】
ここで、上流装置間で、ほぼ同じタイミングで同じシーケンス番号が付与されたパケットを送信するように構成するため、トポロジサーバ５に問い合わせする理由について説明する。図７は、トポロジサーバ５が何の考慮もなく、クライアント装置３の上流装置を適当に選択しプロキシ管理部３−６に通知した場合のコンテンツ配信ネットワークの図である。図中の前提は、２（１）乃至２（４）の中継機能付きクライアントのバッファ長は等しく、また伝送遅延がないものとする。図の通り、中継機能付きクライアント装置２（１）の１段経由の方のバッファ３−１（１）と、中継機能付きクライアント装置２（３）および２（４）の２段経由の方のバッファ３−１（４）は、シーケンス番号が全く異なるデータパケットを保持することになる。ここで、パケット読み出し部３−２は次にシーケンス番号１７のデータパケットを読み出す際、３−１（１）のバッファにしか当該データパケットはないため、３−１（１）から読み出すことになる。３−１（１）のバッファと３−１（４）のバッファは、等速にデータパケットが格納される（本例では、３−１（１）には以降シーケンス番号２６、２７、・・・のデータパケットが格納され、３−１（４）には以降１７、１８、・・・のデータパケットが格納される）ため、実質冗長性がない状態が続く。この状態で、もし３−１（１）の喪失データパケットについて再送が失敗すれば、映像が乱れてしまう。本状態を回避するためには、バッファ長を長くする方法も採用できるが、バッファ長が長くなると遅延が長くなる副作用が生ずる。そこで、できるだけ同じタイミングで同じシーケンス番号を持ったデータパケットが複数の上流装置から該クライアント装置に到着するような上流装置を選択する機能を有するトポロジサーバが利用できる場合は、該トポロジサーバの機能を利用し、冗長性を有する構成を取るべきである。
【００２４】
本実施形態のクライアント装置３は、中継機能を具備している。つまり、下流装置４からの再送要求を再送要求受信部３−５で受信し、再送要求で指定されたシーケンス番号を持つデータパケットを再送用バッファ３−４から取り出し、それを下流装置４に送信する。
【００２５】
以上の中継機能付きクライアント装置は、コンピュータプログラムで作成することもでき、また、そのプログラムを記録媒体に格納することもできる。以下、そのプログラムをフローチャートを用いて説明する。
【００２６】
図８に、上流装置ごとの受信および再送処理を行う機能ブロック３−１のフローチャートの例を示す。コンテンツ配信サーバによってデータパケットに付与されたシーケンス番号を確認しながらパケットを受信する（Ｓ８１）。予定のシーケンス番号のパケットを受信できないときは（Ｓ８２）、上流装置に再送要求を行う（Ｓ８３）。次に、再送要求したパケットかどうかを判断し（Ｓ８４）、再送要求したパケットでなければ当該パケットをそのままバッファに格納し（Ｓ８５）、再送要求したパケットの場合は当該パケットをバッファの適切な位置に挿入する（Ｓ８６）。以上の手順を、プロキシ管理部の管理により、受信している上流装置の数だけ繰り返す。
【００２７】
図９に、パケット読み出し部３−２のフローチャートの例を示す。ｎ番目（ｎは、設定されているバッファの数ｋ以下の整数）のバッファ内のパケットのシーケンス番号を確認する（Ｓ９１）。そのパケットのシーケンス番号が読み出し予定のシークエンス番号かどうかを判断する（Ｓ９２）。読み出し予定のシーケンス番号でなければ、ｎ＝ｋの場合はｎ＝１とし、ｎ＜ｋの場合はｎ＝ｎ＋１として（Ｓ９３）、別のバッファのパケットのシーケンス番号の確認を行う。読み出し予定のシークエンス番号である場合は、そのバッファからパケットを読み出し（Ｓ９４）、そのパケットを、映像再生部３−７に送信し（Ｓ９５）、再生用バッファ３−４に送信し（Ｓ９６）、データパケット送信部３−３に送信する（Ｓ９７）。
【００２８】
図１０に、再送受信部３−５のフローチャートの例を示す。下流装置（中継機能付きクライアント装置４）から再送要求を受信したかどうかを判断し（Ｓ１０１）、受信した場合は再送用バッファ３−４から再送要求で指定されたシーケンス番号のパケットを読み出し（Ｓ１０２）、読み出したパケットをデータパケット送信部に送信する（Ｓ１０３）。そのパケットを受け取ったデータパケット送信部は下流装置に送信する。
【００２９】
図１１に、プロキシ管理部３−６のフローチャートの例を示す。パケットがシステム内に予め設定された閾値よりも高確率で喪失しているかどうかを判断し（Ｓ１１１）、高確率で喪失している場合は、当該上流装置との接続を切断し、当該機能ブロック３−１を消滅させる（Ｓ１１２）。次に、トポロジサーバに上流装置として適した装置を問い合わせ、トポロジサーバから通知を受けた上流装置との受信および再送処理を行うための機能ブロック３−１を新たに設定し、当該上流装置との間で受信および再送処理を始める（Ｓ１１４）。このフローチャートに示す手順により、受信する複数のコンテンツ配信サーバ装置または複数の中継機能付きクライアント装置から、ほぼ同じタイミングで同じシーケンス番号が付与されたパケットを受信することができる。なお、図１１は受信中のフローチャートであるが、クライアント装置４が新たに受信を始めるときにも、Ｓ１１３、Ｓ１１４と同様な手順で、トポロジサーバに上流装置として適した装置を問い合わせ、必要な数の上流装置との間で受信および再送処理を始めることはいうまでもない。
【００３０】
（他の実施形態）
前記実施形態では、中継機能付きクライアント装置が１段のみ記載されているが、複数段経由して本発明にかかわるクライアント装置にパケット送信する構成もあり得る。
【００３１】
また、本発明にかかわるクライアント装置は中継機能付きとなっているが、中継機能がなくとも、つまり下流クライアントの用に供する再送用バッファと再送受信部がなくとも、本発明の目的である上流装置からパケット喪失の補償の確度向上に何ら影響ないため、中継機能がないクライアント装置もあり得る。
【００３２】
また、前記実施形態では、本発明にかかわるクライアント装置の上流装置は、中継機能付きクライアント装置が記載されているが、コンテンツ配信サーバ装置もあり得る。
【００３３】
また、中継機能付きクライアント装置または本発明にかかわるクライアント装置のそれぞれの上流装置が複数記載されているが、それぞれ１台のみの場合も当然あり得る。この場合は、上流装置に対する冗長性がないが、再送が完全に行われればパケット喪失は全くなく品質が保てることは言うまでもない。
【００３４】
また、パケット喪失の発生している上流装置との切断について、切断の判断手段は特に記載していないところ、システムに応じた判断手段を具備すればよい。
【００３５】
また、トポロジサーバの上流装置の選択手段について、選択のアルゴリズム等は特に記載していないところ、システムに応じた手段を具備すればよい。また、トポロジサーバがない場合でも、バッファ長を長く設定することで、冗長性を有する装置を構成可能であることは言うまでもない。
【００３６】
なお、以上の他の実施形態の装置についても、コンピュータプログラムで作成することもでき、また、そのプログラムを記録媒体に格納することもできることは明らかである。
【００３７】
以上、本発明者によってなされた発明を、前記実施の形態に基づき具体的に説明したが、本発明は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【００３８】
【発明の効果】
本発明によれば、複数の上流装置からデータパケットを受信し、冗長性を高めるとともに、それぞれの上流装置との間でデータパケット抜けを再送により補償し、相当な確率で有効データを受信できるため、従来になかった高品質かつ乱れのほとんどない音声映像コンテンツを非常に小さい遅延時間で配信が可能になる。これは、放送レートの高いコンテンツ、またライブ配信で特に有効である。さらに、上流装置のデータ喪失が下流装置全てで映像の乱れ等を発生させる多段中継型において、本発明の装置を適用すれば、大規模な多段中継型ネットワークを構築することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態のコンテンツ配信方法およびクライアント装置を説明するための図である。
【図２】再送要求を説明するための図である。
【図３】パケット読み出しを説明するための図である。
【図４】データパケットの喪失を説明するための図である。
【図５】上流装置の切断を説明するための図である。
【図６】機能ブロックの設定を説明するための図である。
【図７】トポロジサーバが何の考慮もなく上流装置を適当に選択した場合を説明するための図である。
【図８】上流装置ごとの受信および再送処理を行う機能ブロックのフローチャートの例を示す図である。
【図９】パケット読み出し部のフローチャートの例を示す図である。
【図１０】再送受信部のフローチャートの例を示す図である。
【図１１】プロキシ管理部のフローチャートの例を示す図である。
【符号の説明】
１…コンテンツ配信サーバ装置、２…中継機能付きクライアント装置（上流側）、３クライアント装置（中継機能付きクライアント装置）、３−１…上流装置ごとの受信および再送処理を行う機能ブロック、３−１−１…バッファ、３−１−２…受信パケット監視部、３−１−３…再送要求部、３−２…パケット読み出し部、３−３…データパケット送信部、３−４再送用バッファ、３−５…再送受信部、３−６…プロキシ管理部、３−７…映像再生部、４…中継機能付きクライアント装置（下流側）、５…トポロジサーバ
【図１】
2004248132.tif 000003
【図２】
2004248132.tif 000004
【図３】
2004248132.tif 000005
【図４】
2004248132.tif 000006
【図５】
2004248132.tif 000007
【図６】
2004248132.tif 000008
【図７】
2004248132.tif 000009
【図８】
2004248132.tif 000010
【図９】
2004248132.tif 000011
【図１０】
2004248132.tif 000012
【図１１】
2004248132.tif 000013