JP2004264991A - データ配信方法とプログラムおよびデータ配信システムならびに情報処理装置 - Google Patents
データ配信方法とプログラムおよびデータ配信システムならびに情報処理装置 Download PDFInfo
- Publication number
- JP2004264991A JP2004264991A JP2003052982A JP2003052982A JP2004264991A JP 2004264991 A JP2004264991 A JP 2004264991A JP 2003052982 A JP2003052982 A JP 2003052982A JP 2003052982 A JP2003052982 A JP 2003052982A JP 2004264991 A JP2004264991 A JP 2004264991A
- Authority
- JP
- Japan
- Prior art keywords
- data stream
- data
- information processing
- block
- channel
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【解決手段】データ通信回線網10上の各情報処理装置5〜7は、配信されてきたデータストリームをデータ蓄積部52,62,72により記憶装置に記憶し、記憶したデータストリームを配信処理部51,61,71により他の情報処理装置に対して区間分割転送することで、複数の情報処理装置間で、一つのデータストリームをチェイン配信する際、データストリームの立ち上がりのブロックのサイズを他のブロックよりも小さくして区間分割転送する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、インタネットやイントラネット等のネットワークにおいて各通信端末間で例えばP2P(Peer to Peer)接続してコンテンツ配信を行う技術に係わり、特に、情報処理装置Aが、配信要求する他の情報処理装置Bに配信をし、この情報処理装置Bが、情報処理装置Aから受信したコンテンツを複製してさらに他の情報処理装置Cへ転送配信をするチェインストリームによるコンテンツ配信を効率的に行うのに好適なデータ通信制御技術に関するものである。
【0002】
【従来の技術】
従来、インタネットやイントラネット等のネットワークにおいてのコンテンツの配信は、コンテンツを受信するクライアント装置を接続した受信サーバと、コンテンツホルダである配信サーバとの間で行われてきた。
【0003】
しかし、インタネットにおけるブロードバンドの普及により個人ユーザが使える通信帯域が増加するのに伴い、P2P接続のような個人同士によるコンテンツのやり取りが行われるようになっている。
【0004】
このようなP2P接続による個人間でのコンテンツ配信の方が、ユーザはコンテンツを確実に取得できる。また、コンテンツを配信する配信サーバとしても、バースト的な利用増加のための広帯域を常に用意するよりも、P2P型でのコンテンツのやり取りを取り込む方が効率的であるようになってきている。
【0005】
このような、P2Pによるファイル共有とデータ交換の具体的な例として、「Gnutella(グヌーテラ)」と呼ばれるアプリケーションプログラムを用いたものがある。この「Gnutella」では、ワールド・ワイド・ウェブ(WWW;World Wide Web)上の非サーバ・クライアント型のファイル共有システムを実現している。
【0006】
このようなP2P接続技術を用いて、例えば、情報処理装置Aから情報処理装置Bに、この情報処理装置Bから配信要求されたコンテンツを配信し、さらに、この情報処理装置Bが、情報処理装置Aから受信したコンテンツを複製して情報処理装置Cへ転送配信をすることが可能である。以下、このような親から子、子から孫へコンテンツを配信する技術をチェイン配信という。
【0007】
このチェイン配信技術によれば、1次配信元(親)から受信したストリームデータ(データストリーム)を2次配信元(子)がコピーして、3次配信元(孫)へ転送し、さらに、3次配信元(孫)から4次配信元(曾孫)、…n次配信先へと、次々とP2P通信のチェインを作って、効率的にデータ配信を行うことができる。
【0008】
また、コンテンツ配信の効率化を図る技術としては、例えば、非特許文献1に記載の冗長符号化転送技術(FEC(Forward Error Correction:前方誤り訂正))と、区間分割転送技術がある。
【0009】
上述のFECの冗長符号化転送技術を用いると、データパケットはそれぞれの付加符号化情報を持っているので、パケット損失に対してある一定のパケット数を余分に受信しておくことで、損失したパケットに含まれた情報を予想することができ、パケットの再送制御が必要なくなることで転送の信頼性を効率よく高めることができる。
【0010】
しかし、区間分割転送においては、一般的に、データのブロックサイズが小さければ処理負荷が増大し、大きくなるほど該データの使用開始までの待ち時間が増大し制御遅延が発生する。例えば、区間分割転送を用いて上述のチェイン配信においてストリームデータを配信する場合、次の図8で示すような問題が発生する。
【0011】
図8は、従来のチェイン配信を行うシステムの構成と動作例を示す説明図である。
【0012】
図8において、81はストリームデータコンテンツの配信元のコンテンツサーバ、82〜84はコンテンツのチェイン配信を行う情報処理装置である。図8(a)におけるコンテンツサーバ81が、区間分割転送によりストリームデータのブロック1,2、…nを1次受信者Aの情報処理装置82に1次配信すると、1次受信者Aの情報処理装置82は、図8(b)に示すように、受信バッファ102において、まずブロック1を受信して、再生をはじめ、再生パターンとして各ブロック1、2、・・nが再生される。
【0013】
そして、その後、受信バッファ102から送信バッファ202を介して、2次受信者B用の情報処理装置83に各ブロックが区間分割転送され、さらに、この情報処理装置83から3次受信者C用の情報処理装置84に各ブロックが区間分割転送される。
【0014】
ここで、図8(b)において示すように、1次受信者Aの情報処理装置82において、受信バッファ102が一杯になるまでの時間ΔTがバッファ時間であり、時刻T1に再生をはじめると、受信バッファ102はブロック2を受信しはじめる。また、情報処理装置2では、受信バッファ102が一杯になった以降の時刻T2に2次配信が行われる。
【0015】
このように、従来の区間分割転送によるチェインストリーム配信では、n次の受信者の情報処理装置nで再生が開始する迄には「n×ΔT」以上の遅延時間が発生してしまう。例えば、2番目の受信者である受信者Bの視聴開始時刻T3は「T3=T0+2×ΔT+α」となる。尚、ここで、T0は受信バッファ102の受信開始時刻で、αはブロック1の伝送遅延を含む伝送時間の和である。
【0016】
【非特許文献1】
M. Luby、外5名、「Forward Error Correction Building Block」、Network Working Group、「Request for Comments:3452」、[online]、2002年12月、[平成15年2月3日検索]、インタネット<URL : http://www.ietf.org/rfc/rfc3452.txt>
【0017】
【発明が解決しようとする課題】
解決しようとする問題点は、従来の技術では、区間分割転送によるチェインストリーム配信において、n次の受信者の情報処理装置nで再生を開始する迄には「n×ΔT」以上の遅延時間が発生してしまう点である。
【0018】
本発明の目的は、これら従来技術の課題を解決し、チェインストリーム配信の信頼性向上と高速化を図ることである。
【0019】
【課題を解決するための手段】
上記目的を達成するため、本発明では、ネットワークを介してデータストリームの配信を行う各情報処理装置のそれぞれにおいて、配信されてきたデータストリームを受信して記憶装置に記憶し、記憶したデータストリームを他の情報処理装置に対して区間分割転送することで、複数の情報処理装置間で、一つのデータストリームを、それぞれの情報処理装置で記憶装置に記憶してチェイン配信する。また、転送時には転送するデータストリームを冗長符号化し、受信時には受信したデータストリームを復号化する。特に、区間分割転送するデータストリームの立ち上がりのブロックのサイズを他のブロックよりも小さくして区間分割転送する。
【0020】
【発明の実施の形態】
以下、本発明の実施の形態を、図面により詳細に説明する。
【0021】
図1は、本発明に係わるデータ配信システムの第1の構成例とその動作例を示す説明図であり、図2は、本発明に係わるデータ配信システムの第2の構成例とその動作例を示す説明図、図3は、本発明に係わるデータ配信システムの第3の構成例とその動作例を示す説明図、図4は、本発明に係わるデータ配信システムの第4の構成例とその動作例を示す説明図、図5は、本発明に係わるデータ配信システムの第5の構成例とその動作例を示す説明図、図6は、本発明に係わるデータ配信システムの第6の構成例とその動作例を示す説明図、図7は、本発明に係わるデータ配信システムの第7の構成例とその動作例を示す説明図である。
【0022】
図1に示す各情報処理装置5〜7、および、図2から図7のそれぞれにおける各情報処理装置5a〜5f,6a〜6f,7a〜7dは、CPU(Central Processing Unit)や主メモリ、表示装置、入力装置、外部記憶装置等を具備したコンピュータ構成からなり、光ディスク駆動装置等を介してCD−ROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、各処理部の機能を実行する。
【0023】
例えば、図1(a)において、データ通信回線網10を介して接続された各情報処理装置5〜7は、配信処理部51,61,71とデータ蓄積部52,62,72を具備し、プログラムに基づくCPUの処理で各部の機能が実行される。
【0024】
例えば、各情報処理装置5〜7のそれぞれは、データ蓄積52,62,72により、他の情報処理装置から配信されてきたデータストリームを受信して受信バッファ30、307(記憶装置)に記憶し、配信処理部51,61,71により、受信バッファ306,307に記憶したデータストリームを送信バッファ406,407を介して他の情報処理装置に対してRFC3452の前方誤り訂正(FEC;Forward Error Correction)の冗長符号化転送および区間分割転送(Building Block)する。
【0025】
このようにして、本例のデータ配信システムでは、複数の情報処理装置5〜7間で、一つのデータストリームを、それぞれの情報処理装置5〜7で記憶装置に記憶してチェイン配信する。尚、情報処理装置5〜7は、携帯電話、パーソナルコンピュータ、携帯情報端末(PDA;、Personal Digital Assistance)等からなり、データ通信回線網10は、携帯電話網やインタネット等、各情報処理装置に対応したネットワークである。
【0026】
このように、例えば情報処理装置5と情報処理装置6間のデータストリームの配信は冗長符号化転送と区間分割転送を用いて行われ、高信頼性配信である。図1(b)に例示するように、本例においては、データストリームは6つのブロックに区分され、6区分された各ブロックにFEC(Forward ErrorCorrection:前方誤り訂正)の冗長符号化が施されている。これらのブロックは、順次受信バッファ306に蓄積される。
【0027】
そして、ブロック1を復元できるだけのパケットを受信して受信バッファ306に蓄積すると、このブロック1を復符号化した後、情報処理装置6の画面上で、受信者Dは、当該データストリームを視聴開始可能となる。
【0028】
このような区間分割転送では、受信バッファ306に蓄積されるデータ長が短いほど、つまり小さなブロックサイズであるほど、情報処理装置6が、このデータストリームを受信(時刻T0)してから視聴開始(時刻T1)するまでの遅延時間は少ない。
【0029】
そして、時刻T1に、ブロック1を復元できるだけの受信バッファを蓄積すると再生をはじめ、受信バッファ306に蓄積されているブロック1のデータは送信バッファ406に転送される。尚、受信バッファ306に蓄積されているブロック1のデータの送信バッファ406への転送は、受信バッファ306が蓄積された順、受信バッファ306が一杯になった時毎にはじめ、2次受信者Eの情報処理装置7に配送されるというチェインストリームが実行される。
【0030】
各情報処理装置5〜7は、配信処理部51,61,71により、以上のような転送機能を実現するバーチャルルータの機能を備えている。また、各情報処理装置5〜7が高機能なルータである場合、ファイアウオール機能を備えており、よりセキュリテイの高いデータストリームの配送が可能である。
【0031】
次に、図2に示す例について説明する。
【0032】
この図2に示す例と、図1に示す例との違いは、本図2においては、区間分割による分割されたブロックの大きさがいくつかの段階別になっており、データストリームの立ち上がり時には、ブロックサイズの小さなブロック転送配信をする。すなわち、受信バッファ306aにおいては、はじめブロックサイズの小さなブロックを受信する。このことにより、このデータストリームのユーザ使用開始時間の遅れを少なくして高速化し、また、使用開始後は、大きなブロックサイズのブロック転送配信をすることで、データストリームの伝送処理効率を上げることである。
【0033】
尚、図2では、受信バッファ306aで受信する小さいサイズのブロックは一つとしているが、この小さいサイズのブロックを複数(1〜mブロック)受信してもよい。この場合、再生遅延を少なくし、このブロックを再生する間に次のブロックを受信し終えるのに十分な大きさを維持する必要がある。
【0034】
始めのブロック1のデータストリームの再生中に次のブロックに、中間サイズのブロック受信可能な十分な余裕ができた場合、中間サイズのブロックを受信する。これは小さいサイズのブロックを受信した数「m」の次の「m+1」番目からのブロックである。
【0035】
同様に図2では、受信バッファ306aで受信する中間サイズのブロックは一つとしているが、この中間サイズのブロックを複数(m+1〜nブロック)受信してもよい。この場合、再生遅延を少なくし、このブロックを再生する間に次のブロックを受信し終えるのに十分な大きさを維持する必要がある。
【0036】
中間サイズのブロック2の再生中に次のブロックに、大きいサイズのブロックを受信可能な十分な余裕ができた場合、大きいサイズのブロックを受信する。これは中間サイズのブロックを受信した数「n」の次の「n+1」番目からのブロックである。
【0037】
ここでも、同様に、図2では、受信ブロック306aで受信する大きいサイズのブロックは一つとしているがこの大きいサイズのブロックを複数受信してもよい(n+1〜pブロック)。この場合、再生遅延を少なくし、このブロックを再生する間に次のブロックを受信し終えるのに十分な大きさを維持する必要がある。
【0038】
このように受信バッファ306aに受信されたブロックは、受信毎に、配信処理部61aにおいて復号化された後、再生される。ブロックサイズが小さな分だけ少ないバッファ時間ですむので1次受信者Dの情報処理装置6aでの視聴開始が早くなる。
【0039】
そして、1次受信者Dの視聴の開始後は、情報処理装置6aにおいて、サイズの大きいブロックを受信して再生することで符号復号化の効率を向上させたデータストリーム配送が行われる。
【0040】
次に、図3に示す例について説明する。
【0041】
本図3に示す例と図1の例との違いは、上述の図2に場合と同様であり、区間分割による分割されたブロックの大きさがいくつかの段階別になっており、特に、データストリームの立ち上がり時には、ブロックサイズの小さなブロック転送配信をする。すなわち、受信バッファ306bにおいては、はじめブロックサイズの小さなブロックを受信する。このことにより、このデータストリームのユーザ使用開始時間の遅れを少なくして高速化し、また、使用開始後は、大きなブロックサイズのブロック転送配信をすることで、データストリームの伝送処理効率を上げることである。
【0042】
特に、本例では、受信バッファ306bには、ブロックサイズの小さなブロック用の受信バッファ3061bと、中間サイズのブロック用の受信バッファ3062b、および、大きなブロックサイズのブロック用の受信バッファ3063bとがある。
【0043】
尚、物理的には同一のバッファメモリが使い方でいずれの受信バッファにも変更可能であり、データストリームの立ち上がり時には、ブロックサイズの小さなブロックを受信する受信バッファ3061bとして機能して、ブロック1が受信され、符号復号化後、再生される。
【0044】
本例においても、ブロックサイズが小さな分だけ少ないバッファ時間ですむので、1次受信者Dの情報処理装置6bでの視聴開始が早くなる。
【0045】
情報処理装置6bにおいては、小さなブロックの受信開始後から、この小さなブロックの再生後に再生する中間サイズのブロックを、受信バッファ3062を使用して受信する。
【0046】
そして、受信バッファ3061bのブロック1〜mを再生後、よりサイズの大きいブロックを受信する受信バッファ3062b以降が、再生可能な分ブロックを受信した時点で、より大きいブロックサイズを受信する受信バッファに蓄積されたブロックを順次使用して再生する。本図3の例では、バッファ3061bで受信したブロック1以降の分が、受信バッファ3062bで受信したブロック2で再生できる状態であり、ブロック2の分を再生する。
【0047】
また、受信バッファ3062bは、ブロック3を受信完了しており、ブロック2を使用して再生した分以降の再生可能なことから、受信バッファ3062bのブロック3を使用して再生する。
【0048】
この間に、受信バッファ3063bを使用してブロック4を受信完了しブロック4を再生する。
【0049】
本例においても、はじめ受信するブロックサイズが小さな分だけ、少ないバッファ時間ですむので、1次受信者Dの情報処理装置6bでの視聴開始が早くなる。また、情報処理装置6bにおいて、視聴の開始後は、サイズの大きいブロックを順次再生することで符号復号化の効率を向上させたデータストリーム配送が行われる。
【0050】
次に、図4に示す例について説明する。
【0051】
この図4に示す例では、情報処理装置5c〜7c間の通信が複数の通信チャネルで行われ、この複数チャネルには小さなブロックの転送配信をするチャネル1と、チャネル1より大きなブロック転送配信をするチャネル2、さらに大きなブロック転送配信をするチャネル3が用いられ、情報処理装置6cのチャネル1の受信バッファ3061cが情報処理装置5cからのデータストリームのブロック1の受信を完了した時点で再生パターンが開始されるとともに、通信チャネル1は、他の情報処理装置7cへのチェイン配信に使われ、ブロック1に続くデータストリームのブロック2は、チャネル2の受信バッファ3062cの受信データが使用され、ブロック3以降は、チャネル3の受信バッファ3063cの受信データが使用されて再生パターン1〜4が出来上がる。
【0052】
本例においても、初期受信バッファは小さいので視聴開始が早くなり、配信誤りのない高速のチェインストリームが実現する
【0053】
次に、図5に示す例について説明する。
【0054】
本図5の例は、本2段階チェインでの配信の場合に、高速化の効果が一層高まる様子を示すものである。
【0055】
すなわち、1次受信の受信者Dの情報処理装置6dにおける視聴開始時刻T1は、受信バッファ3061dに時刻T1で受信完了したブロックを使用して再生することにより、受信バッファ3062dのブロックを用いて再生する場合に比べ、時間「T2−T1=ΔT」分、高速に視聴開始できる。
【0056】
さらに、2次受信の受信者Eの情報処理装置7dにおける視聴開始時刻T3は、受信バッファ3071dに時刻T3で受信完了したブロックを使用して再生することにより、受信バッファ3072dのブロックを用いて再生する場合に比べ、時間「T4−T3=2ΔT」分、高速に視聴開始できる。
【0057】
このようにして、n次受信の受信者Nの視聴開始時刻「Tn+1」は、小さいブロックサイズを受信することにより「nxΔT」時間、高速化できる。本例において視聴開始が早くなる効果は、後次受信者ほど効果が高く、チェインストリームの高速化が図られる。
【0058】
次に、図6に示す例について説明する。
【0059】
図6に示す例では、各チャンネルの受信バッファとして複数の受信バッファがあり、1次受信者Dの情報処理装置6eでは、第1チャネルにおいて、データストリームの第1のブロックS1を第1バッファ3061eが受信開始したΔt1秒後に、第2のブロックS2が第2バッファ3062eで受信開始される。
【0060】
そして、第1バッファ3061eが一杯になり次第、第1のブロックS1の再生が開始し、次に第2バッファ3062eが一杯になった時点で第2のブロックS2の再生が始まる。
【0061】
再生開始後、第1バッファ3061eは、再生したブロック分は自らが転送バッファになり、チェインストリームを2次受信者Eの情報処理装置に送信する。もしくは、第1バッファ3061eは転送バッファに渡す仕事に専念し、この転送バッファがチェインストリームを2次受信者Eの情報処理装置に送信する。
【0062】
また、第2チャネルにおいて、データストリームの第1のブロックM1を第2チャネルの第1バッファ3063eが受信開始したΔT2秒後に、第2のブロックM2が、第2チャネルの第2バッファ3064eで受信開始され、第2チャネルの第1バッファ3063eが一杯になり次第、第1のブロックM1の再生が開始し、次に第2バッファ3064eが一杯になった時点で第2のブロックM2の再生が始まる。
【0063】
再生開始後、第1バッファ3063eは、再生したブロック分は自らが転送バッファになり、チェインストリームを2次受信者Eの情報処理装置に送信する。もしくは、第1バッファ3063eは転送バッファに渡す仕事に専念し、この転送バッファがチェインストリームを2次受信者Eの情報処理装置に送信する。
【0064】
このように、複数バッファを使用することで、1チェインストリーム当たりの2個目のブロックの遅延時間は、バッファ時間すなわち最小ブロックS1の伝送時間よりも遥かに少ないΔT1秒後にてチェインストリームが実行可能である。
【0065】
以上は、チャネル当たりの受信バッファが2つの場合について説明したが、もっと多くの受信バッファが自由に使われる場合を、次の図7を基づき説明する。
【0066】
図7においては、まず、バッファ3061fに第1チャネル(小さなサイズのブロックのバッファ)の1個目のブロックS1をためはじめる。次に、バッファ3062fには少し遅れてΔT1秒後に、第1チャネル(小さなサイズのブロックのバッファ)の2個目のブロックS2をためはじめる。
【0067】
また、バッファ3063fには、さらに少し遅れて第1チャネル(小さなサイズのブロックのバッファ)の3個目のブロックS3をためはじめ、また、バッファ3064fには、さらに遅れて第1チャネル(小さなサイズのブロックのバッファ)の4個目のブロックS4をためはじめる。
【0068】
そして、受信バッファ3061fが一杯になった時点で、1個目のブロックS1分の再生をはじめる。次に、受信バッファ3062fが一杯になった時点で2個目のブロックS2分の再生が可能である。
【0069】
受信バッファ3061fは、再生したブロック分は、自らが転送バッファになり得ればそのまま転送してチェインでき、また、転送バッファに渡す仕事に専念することもできる。
【0070】
そして、空になったバッファには第2チャネル(中くらいのサイズのブロックrnのバッファを同じようにためはじめる。このようにして、空いているところを用いて順次バッファをためていく。
【0071】
この図7で示す例では、空き受信バッファを柔軟に効率よく用いることができ、速やかにブロックサイズの大きいチャネルに移行し、再生効率を向上させることができる。
【0072】
以上、図1〜図7を用いて説明したように、本例では、複数の情報処理装置間で、データ通信回線を介してチェインストリーム配信を行う際、情報処理装置間のデータストリームの配信を冗長符号化転送と区間分割転送を用いて高信頼性配信で行い、情報処理装置上に仮想的ルータを構成し、受信したデータストリームを2次ストリームとして流す。
【0073】
特に、データストリームの立ち上がりにはブロックサイズの小さなブロック転送配信をすることにより、データストリームのユーザ使用開始時間の遅れを少なくして高速化し、使用開始後は大きなブロックサイズのブロック転送配信をすることでデータストリームの伝送処理効率を上げる。
【0074】
また、情報処理装置間のデータストリームの転送を複数チャネルで行い、各チャネルには、小さなブロックの転送配信をする第1チャネルと、第1チャネルより大きなブロック転送配信をする第mチャネル(m=2,3、・・・)とが含まれ、例えば、1次送信を行う情報処理装置Aと、1次受信を行う情報処理装置B間で複数チャネルを用いてデータストリームの配信を行う際、情報処理装置Bの第1チャネルの受信バッファが、情報処理装置Aからのデータストリームの受信を完了した時点で、第1チャネルを他の情報処理装置C、D・・への送信に用いる。
【0075】
また、第1チャネルの受信バッファが受信を完了した情報処理装置Bが、当該データストリームの使用(再生)を開始した後、第mチャネル(m=2、3、・・・)の受信バッファからのデータストリームを使用し、情報処理装置Bの第1チャネルは、他の情報処理装置C、D・・への2次送信に使用する。
【0076】
そして、各チャンネルの受信バッファとして複数の受信バッファがあり、第1チャネルにおいて、データストリームの第1のブロックを第1バッファが受信開始したΔt秒後に、第2のブロックが第2バッファで第2チャネル経由で受信開始され、第1バッファが一杯になり、再生開始後、第1バッファの内容が2次ストリームとして流され、第mチャネル(m=2、3、・・・)において、データストリームの第nのブロックを第mチャネルの第pバッファが受信開始したΔt2秒後に第n+1のブロックが第mチャネルの第p+1バッファで受信開始され、第mチャネルの第pバッファが一杯になり再生開始後、この第pバッファの内容が2次ストリームとして流される。
【0077】
また、データストリームの1番目からm番目(m>2)のブロックは、小さなデータブロックサイズにて転送配信され、このデータブロックが受信されて使用開始後に、m+1番目からn番目のブロックが前出データブロックサイズより大きいデータブロックサイズで転送配信される。
【0078】
尚、一つの受信バッファメモリは、複数のブロックサイズの受信バッファとして可変に使用可能である。
【0079】
あるいは、複数の通信チャネルで、複数のサイズの異なる複数の受信バッファを使用する。
【0080】
また、データストリームの1番目からm番目(m>2)のブロックは、小さなデータブロックサイズにてΔT秒づつ時間を遅らせて異なる通信チャネルで転送送信され、ブロックが受信されて再生後、m+1番目からn番目のブロックは前出小さなデータブロックサイズより大きいデータブロックサイズでΔT秒づつ時間を遅らせて異なる通信チャネルで転送送信する。
【0081】
このように、本例によれば、例えば、1次受信者D用の情報処理装置6の受信バッファ306が、ブロックサイズの小さいチャネルを用いることで、速やかに再生に足る量を蓄えることができ、1次受信者Dは、このバッファ分を速やかに2次受信者Eに転送できる。これにより従来のチェインキャストストリームにおいて、視聴開始を一層早めることができる。
【0082】
特に、n次受信者は、このブロックサイズの「差分×n」分、より早期に受信できるようになり、視聴開始が早くなる効果は、後次受信者ほど効果が高くなる。また、受信バッファを複数使用することにより、さらに後次ブロックの受信効率を高め、後次受信者に対する効果も高めることができる。
【0083】
尚、本発明は、図1〜図7を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例における各情報処理装置5,5a〜5f,6,6a〜6f,7,7a〜7dはパーソナルコンピュータや携帯電話、携帯情報端末(PDA)等でもよく、その構成としては、キーボードや光ディスクの駆動装置の無いコンピュータ構成としてもよい。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでもよい。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでもよい。
【0084】
【発明の効果】
本発明によれば、チェイン配信されるデータストリームの視聴開始を一層早めることができ、この視聴開始が早くなる効果は、特に後次受信者ほど高くなり、チェインストリーム配信の信頼性向上と高速化を行うことが可能である。
【図面の簡単な説明】
【図1】本発明に係わるデータ配信システムの第1の構成例とその動作例を示す説明図である。
【図2】本発明に係わるデータ配信システムの第2の構成例とその動作例を示す説明図である。
【図3】本発明に係わるデータ配信システムの第3の構成例とその動作例を示す説明図である。
【図4】本発明に係わるデータ配信システムの第4の構成例とその動作例を示す説明図である。
【図5】本発明に係わるデータ配信システムの第5の構成例とその動作例を示す説明図である。
【図6】本発明に係わるデータ配信システムの第6の構成例とその動作例を示す説明図である。
【図7】本発明に係わるデータ配信システムの第7の構成例とその動作例を示す説明図である。
【図8】従来のチェイン配信を行うシステムの構成と動作例を示す説明図である。
【符号の説明】
5,6,7,5a〜5f,6a〜6f,7a〜7d:情報処理装置、10,10a〜10f:データ通信回線網、l306,306a〜306f,307,307a〜307d:受信バッファ、406,406a〜406d,407,407a〜407d:送信バッファ、3061b〜3061f,3062b〜3062f,3063b〜3063f,3064e〜3064f,3071b〜3071d,3072b〜3072d,3073b〜3073d,81:コンテンツサーバ、82〜84:情報処理装置、102,103,104:受信バッファ、202,203,204:送信バッファ。
Claims (19)
- ネットワークを介して接続された複数の情報処理装置間でデータストリームの配信を行うシステムのデータ配信方法であって、
各情報処理装置のそれぞれにおいて、
配信されてきたデータストリームを受信して記憶装置に記憶する第1の手順と、該第1の手順で記憶したデータストリームを他の情報処理装置に対して区間分割転送する第2の手順とを行い、
複数の情報処理装置間で、一つのデータストリームを、それぞれの情報処理装置で記憶装置に記憶して配信することを特徴とするデータ配信方法。 - 請求項1に記載のデータ配信方法であって、
上記第2の手順では、転送するデータストリームの冗長符号化と、受信したデータストリームの復号化を行うことを特徴とするデータ配信方法。 - 請求項1もしくは請求項2のいずれかに記載のデータ配信方法であって、
上記第2の手順では、区間分割転送するデータストリームの立ち上がりのブロックのサイズを他のブロックよりも小さくして区間分割転送することを特徴とするデータ配信方法。 - 請求項1もしくは請求項2のいずれかに記載のデータ配信方法であって、
上記第2の手順では、区間分割転送するデータストリームの立ち上がりの第1のブロックから第m(m>2)のブロックまでのサイズを他のブロックよりも小さくして区間分割転送し、
転送先の情報処理装置において上記区間分割転送した小さいサイズのブロックが使用開始される後のタイミングで、第m+1以降の他のブロックを区間分割転送することを特徴とするデータ配信方法。 - 請求項3もしくは請求項4のいずれかに記載のデータ配信方法であって、
上記第1の手順では、複数の上記記憶装置のいずれか一つを任意に選択し、選択した記憶装置に上記立ち上がりのブロックを記憶し、残りの記憶装置のそれぞれに上記他のブロックを任意に対応付けて記憶することを特徴とするデータ配信方法。 - 請求項3から請求項5のいずれかに記載のデータ配信方法であって、
上記第1の手順での上記立ち上がりのブロックのデータストリームの上記記憶装置への記憶が完了すると、当該データストリームの使用を開始する手順を有することを特徴とするデータ配信方法。 - 請求項3から請求項6のいずれかに記載のデータ配信方法であって、
上記第2の手順では、上記第1の手順による上記立ち上がりのブロックのデータストリームの上記記憶装置への記憶が完了すると、当該データストリームの他の情報処理装置への転送を開始することを特徴とするデータ配信方法。 - 請求項3から請求項7のいずれかに記載のデータ配信方法であって、
上記第2の手順では、上記情報処理装置間のデータストリームを複数チャネルで転送し、該複数チャネルには、小さなサイズのブロックの転送配信をする第1チャネルと、該第1チャネルより大きなサイズのブロックの転送配信をする第mチャネル(m>2)とが含まれ、
1次送信を行う情報処理装置Aと1次受信を行う情報処理装置B間のデータストリームを上記複数チャネルを用いて転送し、上記情報処理装置Bにおいて、上記第1の手順で上記情報処理装置Aからの上記第1チャネルでのデータストリームの上記記憶装置への蓄積を完了した時点で、上記第1チャネルを、上記第2の手順による他の情報処理装置へのデータストリームの転送に使うことを特徴とするデータ配信方法。 - 請求項3から請求項7のいずれかに記載のデータ配信方法であって、
上記第2の手順では、上記情報処理装置間のデータストリームを複数チャネルで転送し、該複数チャネルには、小さなサイズのブロックの転送配信をする第1チャネルと、該第1チャネルより大きなサイズのブロックの転送配信をする第mチャネル(m>2)とが含まれ、
1次送信を行う情報処理装置Aと1次受信を行う情報処理装置B間のデータストリームを上記複数チャネルを用いて転送し、
上記情報処理装置Bにおいて、上記第1チャネルのデータストリームの上記記憶装置への蓄積を完了して該データストリームを使用した後、上記第mチャネルのデータストリームの使用を開始し、上記第1チャネルを、他の情報処理装置へのデータストリームの配信に使うことを特徴とするデータ配信方法。 - 請求項3から請求項7のいずれかに記載のデータ配信方法であって、
上記第2の手順では、上記情報処理装置間のデータストリームを複数チャネルで転送し、該複数チャネルには、小さなサイズのブロックの転送配信をする第1チャネルと、該第1チャネルより大きなサイズのブロックの転送配信をする第mチャネル(m>2)とが含まれ、
1次送信を行う情報処理装置Aと1次受信を行う情報処理装置B間のデータストリームを上記複数チャネルを用いて転送し、
上記第1の手順では、上記複数チャネルのデータストリームを複数の記憶装置に記憶し、
上記情報処理装置Bにおいて、
上記第1チャネルで上記データストリームの第1のブロックを第1の記憶装置に蓄積開始したΔT秒後に、第2チャネルで第2のブロックを第2の記憶装置に蓄積開始し、
上記第1の記憶装置で一杯になったデータストリームの再生開始後、該第1の記憶装置内のデータストリームを他の情報処理装置に配信し、
上記第mチャネルで上記データストリームの第nのブロックを第pの記憶装置に蓄積開始したΔT2秒後に、第mチャネルで第n+1のブロックを第p+1の記憶装置に蓄積開始し、
上記第pの記憶装置で一杯になった上記第mチャネルのデータストリームの再生開始後、該第pの記憶装置内のデータストリームを他の情報処理装置に配信することを特徴とするデータ配信方法。 - 請求項3から請求項7のいずれかに記載のデータ配信方法であって、
上記第2の手順では、上記データストリームの第1番目から第k番目(k>2)のブロックを、小さなデータブロックサイズでΔT秒づつ時間を遅らせて異なるチャネルで転送し、
上記小さなサイズの各ブロックの再生後、第k+1番目以降のブロックを、上記第1番目から第k番目(k>2)のブロックより大きいデータブロックサイズでΔT秒づつ時間を遅らせて異なるチャネルで転送することを特徴とするデータ配信方法。 - 請求項8から請求項11のいずれかに記載のデータ配信方法であって、
上記第1の手順では、それぞれ記憶容量の異なる複数の記憶装置に各チャネルの各データストリームを記憶することを特徴とするデータ配信方法。 - 請求項1から請求項12のいずれかに記載のデータ配信方法であって、
上記情報処理装置は少なくとも携帯電話、パーソナルコンピュータ、携帯情報端末のいずれかであることを特徴とするデータ配信方法。 - コンピュータに、請求項1から請求項13のいずれかに記載のデータ配信方法における各手順を実行させるためのプログラム。
- ネットワークを介して接続された複数の情報処理装置間でデータストリームの配信を行うシステムであって、
各情報処理装置のそれぞれに、
配信されてきたデータストリームを受信して記憶装置に記憶するデータ蓄積手段と、
該データ蓄積手段で記憶したデータストリームを他の情報処理装置に対して区間分割転送する配信手段と
を設け、
複数の情報処理装置間で、一つのデータストリームを、それぞれの情報処理装置で記憶装置に記憶して配信することを特徴とするデータ配信システム。 - 請求項15に記載のデータ配信システムであって、
上記配信手段は、転送するデータストリームの冗長符号化と、受信したデータストリームの復号化を行う手段を有することを特徴とするデータ配信システム。 - 請求項15もしくは請求項16のいずれかに記載のデータ配信システムであって、
上記配信手段は、区間分割転送するデータストリームの立ち上がりのブロックのサイズを他のブロックよりも小さくして区間分割転送することを特徴とするデータ配信システム。 - 請求項17に記載のデータ配信システムであって、
上記配信手段は、
上記情報処理装置間のデータストリームを複数チャネルで転送し、第1チャネルで上記立ち上がりのブロックを転送することを特徴とするデータ配信システム。 - ネットワークを介して接続された相手先の情報処理装置間でデータストリームの配信を行う情報処理装置であって、
配信されてきたデータストリームを受信して記憶装置に記憶するデータ蓄積手段と、
該データ蓄積手段で記憶したデータストリームを冗長符号化して他の情報処理装置に対して区間分割転送するとともに、該区間分割転送するデータストリームの立ち上がりのブロックのサイズを他のブロックよりも小さくして区間分割転送し、かつ他の情報処理装置から冗長符号化されて配信されてきたデータストリームを復号化して上記データ蓄積手段に送出する配信手段とを有することを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003052982A JP2004264991A (ja) | 2003-02-28 | 2003-02-28 | データ配信方法とプログラムおよびデータ配信システムならびに情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003052982A JP2004264991A (ja) | 2003-02-28 | 2003-02-28 | データ配信方法とプログラムおよびデータ配信システムならびに情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004264991A true JP2004264991A (ja) | 2004-09-24 |
Family
ID=33117719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003052982A Pending JP2004264991A (ja) | 2003-02-28 | 2003-02-28 | データ配信方法とプログラムおよびデータ配信システムならびに情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004264991A (ja) |
-
2003
- 2003-02-28 JP JP2003052982A patent/JP2004264991A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4920220B2 (ja) | ピアツーピアネットワークでの受信側主導のシステム及び方法 | |
JP5058468B2 (ja) | ストリーミングメディアの消去耐性符号化のための方法、該方法を実行するコンピュータ実行可能命令を記録した媒体、及びシステム | |
JP4676833B2 (ja) | 拡張可能なメディアの分散ストリーミングのシステムおよび方法 | |
TWI415427B (zh) | 同儕即時串流系統與方法 | |
US7240121B2 (en) | Content providing apparatus and content providing method | |
US7277958B2 (en) | Re-assembly of streaming files from separate connections | |
US20080189429A1 (en) | Apparatus and method for peer-to-peer streaming | |
US20090249222A1 (en) | System and method for simultaneous media presentation | |
JP2004133877A (ja) | コンテンツ提供方法及びシステム | |
MXPA05013618A (es) | Estrategias de reintento para utilizarse en un ambiente de flujo. | |
CN102763359B (zh) | 多播网络中流控制传输协议的通信量优化器及方法 | |
US20130198151A1 (en) | Methods for file sharing related to the bit fountain protocol | |
Li et al. | Peerstreaming: design and implementation of an on-demand distributed streaming system with digital rights management capabilities | |
JP2004264991A (ja) | データ配信方法とプログラムおよびデータ配信システムならびに情報処理装置 | |
WO2018044730A1 (en) | Data replication in scalable messaging system | |
Zimmerman et al. | Retransmission-based error control in a many-to-many client-server environment | |
KR100797389B1 (ko) | 다중 디스크립션 코딩을 이용한 클러스터 기반의 스트리밍시스템 및 그 방법 | |
KR20070060990A (ko) | 고성능 스트리밍 서버 시스템에서 컨텐트 설치장치 및 방법 | |
Zimmermann et al. | Retransmission-based error control for scalable streaming media systems | |
JP2008227621A (ja) | マルチキャスト配信装置、マルチキャスト配信プログラム、および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080401 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081020 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090421 |