[go: up one dir, main page]

JP2004070712A - Data delivery method, data delivery system, split delivery data receiving method, split delivery data receiving device, and split delivery data receiving program - Google Patents

Data delivery method, data delivery system, split delivery data receiving method, split delivery data receiving device, and split delivery data receiving program Download PDF

Info

Publication number
JP2004070712A
JP2004070712A JP2002229988A JP2002229988A JP2004070712A JP 2004070712 A JP2004070712 A JP 2004070712A JP 2002229988 A JP2002229988 A JP 2002229988A JP 2002229988 A JP2002229988 A JP 2002229988A JP 2004070712 A JP2004070712 A JP 2004070712A
Authority
JP
Japan
Prior art keywords
distribution
data
servers
blocks
distributed
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
JP2002229988A
Other languages
Japanese (ja)
Inventor
Nagatoshi Nawa
名和 長年
Kazuhiro Shiba
柴 和浩
Ikuya Takahashi
高橋 郁也
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002229988A priority Critical patent/JP2004070712A/en
Publication of JP2004070712A publication Critical patent/JP2004070712A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】データの分割配信において,データ分割配信中の障害によって一部の配信サーバとの通信が途絶した場合においても,途切れることなく高速なデータ配信を継続することを可能にする。
【解決手段】クライアント1からの配信要求により,複数の配信サーバが,配信対象データをクライアント1に分割配信するとともに,他の配信サーバが,分割配信したデータに対するエラー訂正情報を同時にクライアント1に配信する。クライアント1は,通常はエラー訂正情報を利用しないで配信されたデータを結合し配信対象データを復元するが,一部の配信サーバからのデータが障害により受信できないか,または所定の転送速度以下になった場合には,エラー訂正情報を利用して配信対象データを復元する。
【選択図】     図1
An object of the present invention is to enable high-speed data distribution to be continued without interruption even when communication with some distribution servers is interrupted due to a failure during divided data distribution.
In response to a distribution request from a client, a plurality of distribution servers distribute distribution target data to a client, and another distribution server simultaneously distributes error correction information for the divided distribution data to the client. I do. Normally, the client 1 restores the data to be distributed by combining the data distributed without using the error correction information. However, data from some distribution servers cannot be received due to a failure, or the data is reduced to a predetermined transfer rate or less. If it does, the distribution target data is restored using the error correction information.
[Selection diagram] Fig. 1

Description

【0001】
【発明の属する技術分野】
本発明は,ネットワーク上でデータを分割配信する方法および装置に関し,特にロバストなデータ配信を可能にしたデータ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラムに関するものである。
【0002】
【従来の技術】
ネットワーク上でデータを高速に配信しようとする場合,一般的に配信サーバを複数用意して負荷分散と配信経路の最適化を図るという手法が用いられる。さらに,複数のサーバにデータを分割して配置し,より高度な負荷分散を行う手法も用いられている(特開2002−32280など)。
【0003】
特に,ADSLやCATVといった受信側帯域が送信側帯域よりも大きい回線で構成されているネットワークの場合,複数のサーバから同時に送信を行うことで確実に受信速度が向上する。
【0004】
一方,データを確実に配信する手段としては,同一内容のデータを保持した複数の配信サーバを待機状態にしておき,配信に使用しているサーバに障害が発生した場合,他の配信サーバに切り替えるという手法が用いられている。
【0005】
また,LAN環境においては,固定的に設置した複数のサーバにファイルを配置し冗長構成とすることで,一部のサーバに障害が発生してもデータ送受信を可能とする方法として,ネットワークRAIDファイルシステムが考案されている。
【0006】
【発明が解決しようとする課題】
上記のネットワーク上でデータを分割配信する方法は,基本的には関連するすべての配信サーバおよびネットワークが常に正常な状態であることを前提としており,データ配信中に障害が発生すると即座にデータ配信が失敗するという脆弱な構成となっている。
【0007】
一般的なデータ配信においては,配信失敗が判明した場合,正常なサーバの組み合わせで再配信を行えばよいが,リアルタイム性が重要な動画や音声のストリーム配信においては,その時点で画像・音声が途切れてしまうという問題が発生する。
【0008】
Peer to Peerのようなエンドユーザ同士の通信においては,サーバ,ネットワークとも十分な信頼性を期待することができないため,障害が頻繁に発生することを前提としなければならない。
【0009】
本発明は,ネットワーク上の複数の配信サーバを使用してデータの分割配信を行うにあたって,配信サーバやネットワークが十分な信頼性を持たず,データ配信中の障害によって一部のサーバとの通信が途絶した場合においても,途切れることなく高速なデータ配信を継続することができるようにすることを目的とする。
【0010】
【課題を解決するための手段】
本発明は,上記課題を解決するため,ネットワーク上に同一データを保持しデータを部分的に配信する手段を有する複数の配信サーバと,複数の配信サーバにデータを部分的に配信要求する手段およびそれらの部分的データを結合して元のデータを復元する機能を有するクライアントとを備えたシステムにおける配信方法であって,配信サーバがエラー訂正情報を生成する手段を有し,クライアントは配信対象データを重複のないよう分割して複数の配信サーバに部分的に配信要求を行うと同時に,配信対象データのエラー訂正情報の配信を要求し,通常はエラー訂正情報は利用せず配信されたデータを結合して配信対象データを復元するが,ネットワーク障害や配信サーバ障害で,一部のサーバからのデータが受信できない場合,もしくはあらかじめ定めた転送速度以下になった場合には,エラー訂正情報を利用して配信対象データを復元することを特徴とする。
【0011】
本発明を用いることにより,通常は配信サーバから配信される分割されたデータのみを組み合わせることで元の配信データを得ることができる。また,一部のサーバからの配信データが途切れた場合においても,他のサーバから配信されたデータとエラー訂正情報とを組み合わせることで,欠損部分を復元し,元の配信データを得ることができる。
【0012】
さらに,ネットワーク障害やサーバの異常負荷などで転送速度が動画などのリアルタイム配信に必要な速度を下回った場合にも,他のサーバから配信されたデータとエラー訂正情報とを組み合わせることで,不足部分を補完しリアルタイム性を維持することができる。
【0013】
また,本発明は,前記配信方法において,エラー訂正情報としてパリティを利用することを特徴とする。パリティによるエラー訂正は,他のエラー訂正方法と比較して計算量が少ないため,配信サーバおよびクライアントに大きな負荷を掛けることなくロバストなデータ配信を行うことができる。
【0014】
また,本発明は,前記配信方法において,ネットワーク上に配信サーバのリストを保持しているリストサーバを備え,クライアントは,ネットワーク障害や配信サーバ障害で,一部のサーバからのデータが受信できない場合,もしくはあらかじめ定めた転送速度以下になった場合に,リストサーバから別の配信サーバの情報を入手し,配信要求先を変更してデータ受信を再開することで,通常状態に復帰することを特徴とする。
【0015】
一部のサーバやネットワークに障害が発生した場合でもデータ配信を継続することができるが,さらに他の部分にも障害が発生してエラー訂正機能の限界を超えてしまうとデータ配信の継続が不可能になる。
【0016】
これを避けるため,クライアントは障害を検知すると同時に,リストサーバに代替サーバの情報を要求し,障害の発生したサーバとの接続を切断し,リストサーバから入手した情報に基づき配信サーバを代替サーバに変更する。この動作により,通常状態に復帰しておけば,新たな障害が発生した場合にもエラー訂正機能によって対応することが可能となる。
【0017】
【発明の実施の形態】
図1は,本発明の実施の形態におけるネットワーク構成図である。1はデータ配信を要求するクライアント,2は配信サーバのリストを保持しているリストサーバ,3〜7は保持しているデータを配信する配信サーバA〜E,8はネットワークを表す。
【0018】
データ配信を開始するに当たり,まず,クライアント1は,リストサーバ2に接続し,配信を要求するデータの情報(ファイル名,ID等)を送信する。リストサーバ2はクライアント1の要求したデータを保持している配信サーバ群の情報を返信する。
【0019】
図2は,リストサーバ2から送られる情報の内容の一例を示しており,この情報は,各配信サーバA3〜配信サーバE7のIPアドレスと,そのサーバに接続している他のクライアント数(コネクション数)とのリストとなっている。
【0020】
クライアント1は,コネクション数の少ない順に配信サーバを例えば4台選択する。選択に当たって同一負荷のサーバが複数あった場合には,ランダムに選択する。以下では,選択された配信サーバが,配信サーバA3,配信サーバB4,配信サーバC5,配信サーバD6であったとして説明する。
【0021】
データ配信に当たっては,配信対象データを32KBのブロックに区切って考える。クライアント1は,配信サーバA3にn番目のブロックを,配信サーバB4にn+1番目のブロックを,配信サーバC5にn+2番目のブロックの配信を,配信サーバD6には,n,n+1,n+2番目のブロックのパリティデータの配信を要求する。n,n+1,n+2番目のブロックの配信が完了すると,同様にして,n+3,n+4,n+5番目のブロックの配信を行う。以後,配信対象データすべての配信が完了するまでこの動作を繰り返す。
【0022】
配信サーバD6は,図3のようにブロックn,n+1,n+2の排他的論理和を計算することでパリティデータを生成する。データのサイズが96KBの倍数にならない場合には,0を補って96KBの倍数にしてから計算を行う。
【0023】
データ配信は,クライアント1の主導で行われる。以下,クライアント1の動作の一例について詳細に説明する。図4は,クライアント1のブロック図である。11は配信サーバやリストサーバ2への接続指示や配信サーバの選択を行う制御部,12はタイマー,13〜16はサーバ接続部A〜D,17は配信されたパリティデータが書き込まれるパリティバッファ,18〜20は配信されたデータが書き込まれるバッファA〜C,21は動画再生などを行うアプリケーション(プログラム)を表す。
【0024】
本発明の実施の形態では,制御部11は,リストサーバ2へ接続して図2に示すようなリストを取得するようサーバ接続部A13に指示する。制御部11は,リストを受け取ると,コネクション数の少ない順に配信サーバを4台選択し,それぞれサーバ接続部A13〜サーバ接続部D16に接続を指示する。同時に,アプリケーション21からの要請,もしくはユーザからの直接指定により設定された転送速度に合わせてタイマー12を設定する。具体的には,指定転送速度がmKbpsであるとすれば,この例では,1ブロックのサイズが32KBで,3ブロック分のデータが同時に送られてくるので,1バイトが8ビットであることから,32×3×8/m秒=768/m秒に,転送速度の変動を考慮した余裕時間α秒を加えた値とする。
【0025】
サーバ接続部A13〜サーバ接続部C15は,前述のように各サーバに配信対象データのn,n+1,n+2ブロックの配信を要求し,配信されたデータは,それぞれバッファA18〜バッファC20に書き込まれる。サーバ接続部D16は,配信サーバD6にパリティデータの配信を要求し,配信されたデータはパリティバッファ17に書き込まれる。なお,バッファA18〜バッファC20は,実際には一つのバッファであるが,説明の都合上,論理的に3つに区切って表現している。サーバ接続部A13〜サーバ接続部C15は,それぞれのブロックの受信が完了すると,制御部11に受信完了を通知する。
【0026】
以下に,制御部11の動作の一例を図5のフロー図に従って説明する。制御部11は,サーバ接続部A13〜サーバ接続部C15からのブロックデータの受信完了の通知もしくはタイマー12からのシグナルがあるまで待機している(ステップS1)。通知もしくはタイマー12からのシグナルを検出すると,配信サーバA3〜C5のいずれかのサーバからの受信完了の通知かを判断し(ステップS2),配信サーバからの通知である場合には,配信サーバA3〜配信サーバC5の3つの配信サーバすべてからのブロック配信が完了したかを判断する(ステップS3)。すべてのブロック配信が完了した場合には,アプリケーション21にバッファA18〜バッファC20の内容を転送する(ステップS8)。すべてのブロック配信が完了していない場合には,待機状態に戻る(ステップS1)。
【0027】
また,ステップS1における待機状態において,タイマー12からのシグナルがあった場合には,配送が指定された転送速度を下回った,もしくは障害が発生していることになる。そこで,制御部11は,4台の配信サーバのうち3台の配信サーバからのブロック配信が完了したかどうかを判断する(ステップS4)。そして,4台中3台のサーバからのブロック配信が完了していた場合,復旧動作を行う。
【0028】
この復旧動作では,配信が間に合わなかったサーバを配信サーバA3とすれば,制御部11は,リストサーバ2から受け取ったリストのうち,選択されなかった配信サーバで最もコネクション数の少ないものを1台(これを配信サーバE7とする)選択し,配信サーバA3を担当していたサーバ接続部A13に接続先を配信サーバE7に変更するよう指示する(ステップS5)。
【0029】
次に,パリティデータを受信済みかを判断し(ステップS6),受信済みの場合,パリティバッファ17を使い,バッファA18のデータを補完する(ステップS7)。すなわち,制御部11は,パリティバッファ17のパリティデータと,バッファB19,バッファC20のブロックデータとの排他的論理和を計算し,計算結果をバッファA18に書き込む。そして,アプリケーション21にバッファA18〜C20の内容を転送する(ステップS8)。
【0030】
配信が間に合わなかったのがパリティの配信サーバD6であり,パリティが未受信である場合(ステップS6の判定がNOの場合)には,パリティバッファ17の内容は無視して,そのままアプリケーション21にバッファA18〜C20の内容を転送する(ステップS8)。上記ステップS4において,2台以上のサーバからの配信が間に合わなかった場合(ステップS4の判定がNOの場合),ブロックデータの復元(エラー訂正)はできないので,アプリケーション21にエラーを通知する(ステップS9)。
【0031】
以上の制御部11が行う処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムは,コンピュータが読み取り可能な可搬媒体メモリ,半導体メモリ,ハードディスク等の適当な記録媒体に格納して,そこから読み出すことによりコンピュータに実行させることができる。
【0032】
図6は,配信サーバA3のブロック図である。他の配信サーバB4〜E7も同様に構成される。配信サーバA3において,30は配信対象データを記憶する配信対象データ記憶手段,31はクライアント1からの配信要求をネットワークを介して受信する配信要求受信手段,32は受信した配信要求を解析する配信要求解析手段,33は配信対象データを複数ブロックに分割する配信対象データ分割手段,34は分割したデータの一部をクライアント1へ送信する分割配信データ送信手段,35は複数ブロックに分割した配信対象データに対するエラー訂正情報を生成するエラー訂正情報生成手段,36はエラー訂正情報をクライアント1へ送信するエラー訂正情報送信手段を表す。
【0033】
配信要求受信手段31がネットワーク8を介してクライアント1から配信要求を受信すると,配信要求解析手段32は配信要求を解析する。配信要求では,例えば配信対象データ名(ファイル名など),配信対象データの分割ブロックサイズ,転送速度,分割されたデータの何番目のブロックから何ブロックおきに転送するか(何台の配信サーバにより転送するか)またはエラー訂正情報を転送するかなどの情報が指定される。配信対象データの分割ブロックサイズ,転送速度,また何ブロックおきに転送するかなど,あらかじめシステム内で固定的に定まっている場合には,配信要求でのこれらの情報の指定は不要である。
【0034】
エラー訂正情報ではなく,配信対象データの配信を要求された場合,配信対象データ分割手段33は,配信対象データ記憶手段30から配信対象データを読み出し,これを指定された分割ブロックサイズで分割し,分割配信データ送信手段34は,分割されたデータの自装置が配信を担当するブロックをクライアント1へ送信する。
【0035】
エラー訂正情報の配信を要求された場合,エラー訂正情報生成手段35は,他のn台の配信サーバによって送信されるブロックに対するエラー訂正情報を,例えば図3で説明した方法によって生成し,エラー訂正情報送信手段36は,そのエラー訂正情報をクライアント1へ送信する。
【0036】
【発明の効果】
本発明を用いることにより,一部のサーバからの配信データが途切れたり転送速度が低下した場合においても,欠損部分を復元し,リアルタイム性を維持したままデータ配信を継続することができる。特に,エラー訂正情報としてパリティを利用することにより,サーバおよびクライアントに大きな負荷を掛けることなくロバストなデータ配信を行うことができる。
【0037】
また,データの配信が行われている状態で動的に配信サーバを変更することができることにより,一部のサーバやネットワークに障害が発生したのち,さらに新たな障害が発生した場合にもデータ配信を継続することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるネットワーク構成図である。
【図2】リストサーバから送られる情報の内容の一例を示す図である。
【図3】パリティ配信サーバによるパリティデータの生成を示す図である。
【図4】本発明の実施の形態におけるクライアントのブロック図である。
【図5】クライアントの制御部の動作処理フローの一例を示す図である。
【図6】本発明の実施の形態における配信サーバのブロック図である。
【符号の説明】
1 クライアント
2 リストサーバ
3 配信サーバA
4 配信サーバB
5 配信サーバC
6 配信サーバD
7 配信サーバE
8 ネットワーク
11 制御部
12 タイマー
13 サーバ接続部A
14 サーバ接続部B
15 サーバ接続部C
16 サーバ接続部D
17 パリティバッファ
18 バッファA
19 バッファB
20 バッファC
21 アプリケーション
30 配信対象データ記憶手段
31 配信要求受信手段
32 配信要求解析手段
33 配信対象データ分割手段
34 分割配信データ送信手段
35 エラー訂正情報生成手段
36 エラー訂正情報送信手段
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and an apparatus for splitting and delivering data on a network, and more particularly to a data delivery method, a data delivery system, a split delivery data receiving method, a split delivery data receiving apparatus, and a split delivery data reception that enable robust data delivery. It is about the program.
[0002]
[Prior art]
When data is to be distributed at high speed over a network, a method is generally used in which a plurality of distribution servers are prepared to achieve load distribution and optimization of a distribution path. Further, a technique of dividing data into a plurality of servers and arranging the divided data to perform more advanced load distribution is also used (for example, JP-A-2002-32280).
[0003]
In particular, in the case of a network such as ADSL or CATV in which the receiving side band is configured with a line larger than the transmitting side band, the receiving speed is surely improved by simultaneously transmitting from a plurality of servers.
[0004]
On the other hand, as a means for reliably distributing data, a plurality of distribution servers holding data of the same contents are kept in a standby state, and when a failure occurs in a server used for distribution, switching to another distribution server is performed. Is used.
[0005]
In a LAN environment, a network RAID file is used as a method of transmitting and receiving data even if a failure occurs in some servers by arranging files in a plurality of fixedly installed servers to form a redundant configuration. A system has been devised.
[0006]
[Problems to be solved by the invention]
The above method of distributing data on a network is based on the assumption that all related distribution servers and networks are always in a normal state. If a failure occurs during data distribution, data distribution is performed immediately. Fails.
[0007]
In general data distribution, if it is determined that distribution has failed, re-distribution may be performed using a combination of normal servers. However, in the case of video and audio stream distribution where real-time performance is important, The problem of interruption occurs.
[0008]
In communication between end users such as Peer to Peer, sufficient reliability cannot be expected for both the server and the network. Therefore, it must be assumed that frequent failures occur.
[0009]
According to the present invention, when data is divided and distributed using a plurality of distribution servers on a network, the distribution servers and the network do not have sufficient reliability, and communication with some servers is disabled due to a failure during data distribution. It is an object of the present invention to be able to continue high-speed data distribution without interruption even when interruption occurs.
[0010]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides a plurality of distribution servers having means for retaining the same data on a network and partially distributing the data, means for partially requesting the plurality of distribution servers to distribute data, and A distribution method in a system including a client having a function of restoring original data by combining the partial data, wherein the distribution server has a means for generating error correction information, and the client is a data transmission target. Request to distribute the error correction information of the data to be distributed at the same time as making a partial distribution request to multiple distribution servers without duplication, and to distribute the data normally without using the error correction information. Combine and restore the data to be distributed, but if data cannot be received from some servers due to network failure or distribution server failure, or If it becomes less than the transfer speed determined Luo beforehand is characterized by restoring the distribution object data using the error correction information.
[0011]
By using the present invention, original distribution data can be obtained by combining only the divided data normally distributed from the distribution server. Also, even when the distribution data from some servers is interrupted, the missing part can be restored and the original distribution data can be obtained by combining the data distributed from the other servers with the error correction information. .
[0012]
Furthermore, even if the transfer speed is lower than the speed required for real-time distribution of moving images, etc. due to network failure or abnormal load on the server, etc., by combining the data distributed from other servers with the error correction information, the lack of And maintain the real-time property.
[0013]
Further, the present invention is characterized in that in the distribution method, parity is used as error correction information. Since error correction using parity requires a smaller amount of calculation than other error correction methods, robust data distribution can be performed without imposing a large load on the distribution server and the client.
[0014]
Further, according to the present invention, in the above-mentioned distribution method, a list server holding a list of distribution servers on a network is provided, and the client can receive data from some servers due to a network failure or a distribution server failure. Or, when the transfer speed falls below a predetermined value, the information of another distribution server is obtained from the list server, the distribution request destination is changed, and data reception is resumed, thereby returning to the normal state. And
[0015]
Although data distribution can be continued even if a failure occurs in some servers or networks, data distribution cannot be continued if a failure occurs in another part and exceeds the limit of the error correction function. Will be possible.
[0016]
To avoid this, at the same time that the client detects a failure, the client requests information of the replacement server from the list server, disconnects the connection with the failed server, and changes the distribution server to the replacement server based on the information obtained from the list server. change. By this operation, when the normal state is restored, even when a new failure occurs, it is possible to cope with the error correction function.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a network configuration diagram according to an embodiment of the present invention. Reference numeral 1 denotes a client that requests data distribution, 2 denotes a list server that holds a list of distribution servers, 3 to 7 denote distribution servers A to E that distribute the stored data, and 8 denote networks.
[0018]
To start data distribution, first, the client 1 connects to the list server 2 and transmits information (file name, ID, etc.) of data requested to be distributed. The list server 2 returns information on the distribution server group holding the data requested by the client 1.
[0019]
FIG. 2 shows an example of the content of the information sent from the list server 2. This information is based on the IP addresses of the distribution servers A3 to E7 and the number of other clients (connections) connected to the server. Number).
[0020]
The client 1 selects, for example, four distribution servers in ascending order of the number of connections. If there are multiple servers with the same load in the selection, the server is selected at random. Hereinafter, the description will be given on the assumption that the selected distribution servers are the distribution server A3, the distribution server B4, the distribution server C5, and the distribution server D6.
[0021]
In data distribution, distribution target data is considered to be divided into 32 KB blocks. The client 1 distributes the nth block to the distribution server A3, the (n + 1) th block to the distribution server B4, the n + 2th block to the distribution server C5, and the n, n + 1, n + 2th block to the distribution server D6. Requesting the distribution of parity data. When the distribution of the n, n + 1, n + 2th blocks is completed, the distribution of the n + 3, n + 4, n + 5th blocks is performed in the same manner. Thereafter, this operation is repeated until the distribution of all the data to be distributed is completed.
[0022]
The distribution server D6 generates parity data by calculating the exclusive OR of the blocks n, n + 1, and n + 2 as shown in FIG. If the size of the data does not become a multiple of 96 KB, the calculation is performed after supplementing 0 to make it a multiple of 96 KB.
[0023]
Data distribution is performed under the initiative of the client 1. Hereinafter, an example of the operation of the client 1 will be described in detail. FIG. 4 is a block diagram of the client 1. 11 is a control unit for instructing connection to the distribution server or the list server 2 and selecting a distribution server, 12 is a timer, 13 to 16 are server connection units A to D, 17 is a parity buffer in which the distributed parity data is written, Reference numerals 18 to 20 denote buffers A to C in which distributed data is written, and reference numerals 21 and 21 denote applications (programs) for reproducing moving images.
[0024]
In the embodiment of the present invention, the control unit 11 instructs the server connection unit A13 to connect to the list server 2 and obtain a list as shown in FIG. Upon receiving the list, the control unit 11 selects four distribution servers in ascending order of the number of connections, and instructs the server connection units A13 to D16 to connect. At the same time, the timer 12 is set in accordance with the transfer rate set by a request from the application 21 or directly specified by the user. Specifically, assuming that the designated transfer rate is mKbps, in this example, the size of one block is 32 KB and three blocks of data are transmitted at the same time, so that one byte is 8 bits. , 32 × 3 × 8 / msec = 768 / msec, and a value obtained by adding a margin time αsec in consideration of a change in the transfer speed.
[0025]
As described above, the server connection units A13 to C15 request each server to distribute n, n + 1, and n + 2 blocks of the distribution target data, and the distributed data is written to the buffers A18 to C20, respectively. The server connection unit D16 requests the distribution server D6 to distribute the parity data, and the distributed data is written to the parity buffer 17. Although the buffers A18 to C20 are actually one buffer, they are logically divided into three for convenience of explanation. When the reception of each block is completed, the server connection units A13 to C15 notify the control unit 11 of the reception completion.
[0026]
Hereinafter, an example of the operation of the control unit 11 will be described with reference to the flowchart of FIG. The control unit 11 waits until there is a notification of block data reception completion from the server connection units A13 to C15 or a signal from the timer 12 (step S1). When the notification or the signal from the timer 12 is detected, it is determined whether the notification is a notification of the completion of reception from any of the distribution servers A3 to C5 (step S2), and if the notification is from the distribution server, the distribution server A3 is determined. It is determined whether or not block distribution from all three distribution servers of distribution server C5 has been completed (step S3). When all the block distributions have been completed, the contents of the buffers A18 to C20 are transferred to the application 21 (step S8). If all block distributions have not been completed, the process returns to the standby state (step S1).
[0027]
If there is a signal from the timer 12 in the standby state in step S1, it means that the delivery has fallen below the designated transfer speed or a failure has occurred. Therefore, the control unit 11 determines whether the block distribution from three of the four distribution servers has been completed (step S4). Then, when block distribution from three of the four servers has been completed, a recovery operation is performed.
[0028]
In this recovery operation, assuming that the server whose distribution was not in time is the distribution server A3, the control unit 11 selects one of the unselected distribution servers having the smallest number of connections from the list received from the list server 2. (This is referred to as the distribution server E7), and the server connection unit A13 in charge of the distribution server A3 is instructed to change the connection destination to the distribution server E7 (step S5).
[0029]
Next, it is determined whether the parity data has been received (step S6). If the parity data has been received, the parity buffer 17 is used to supplement the data in the buffer A18 (step S7). That is, the control unit 11 calculates the exclusive OR of the parity data of the parity buffer 17 and the block data of the buffers B19 and C20, and writes the calculation result to the buffer A18. Then, the contents of the buffers A18 to C20 are transferred to the application 21 (step S8).
[0030]
It is the parity delivery server D6 that failed to deliver in time, and when the parity has not been received (when the determination in step S6 is NO), the contents of the parity buffer 17 are ignored and the application 21 The contents of A18 to C20 are transferred (step S8). In step S4, if the delivery from two or more servers is not in time (if the determination in step S4 is NO), the error is notified to the application 21 because the block data cannot be restored (error correction) (step S4). S9).
[0031]
The processing performed by the control unit 11 can be realized by a computer and a software program. The program is stored in an appropriate recording medium such as a computer-readable portable medium memory, a semiconductor memory, and a hard disk. , Can be executed by a computer by reading from there.
[0032]
FIG. 6 is a block diagram of the distribution server A3. Other distribution servers B4 to E7 are similarly configured. In the distribution server A3, reference numeral 30 denotes a distribution target data storage unit for storing distribution target data, 31 a distribution request receiving unit for receiving a distribution request from the client 1 via a network, and 32 a distribution request for analyzing the received distribution request. Analysis means, 33 is distribution target data dividing means for dividing the distribution target data into a plurality of blocks, 34 is division distribution data transmitting means for transmitting a part of the divided data to the client 1, and 35 is distribution target data divided into a plurality of blocks. Error correction information generating means for generating error correction information for the client 1, and error correction information transmitting means for transmitting the error correction information to the client 1.
[0033]
When the distribution request receiving unit 31 receives a distribution request from the client 1 via the network 8, the distribution request analyzing unit 32 analyzes the distribution request. In the distribution request, for example, the name of the data to be distributed (file name, etc.), the divided block size of the data to be distributed, the transfer speed, and the number of blocks from which block of the divided data should be transferred (by the number of distribution servers). Transfer) or error correction information is transferred. If the divided block size, transfer speed, and how many blocks to transfer the data to be distributed are fixed in the system in advance, it is unnecessary to specify such information in the distribution request.
[0034]
When distribution of the distribution target data is requested instead of the error correction information, the distribution target data dividing unit 33 reads the distribution target data from the distribution target data storage unit 30 and divides the distribution target data by the designated division block size. The divided distribution data transmitting unit 34 transmits, to the client 1, a block in which the own device is responsible for distribution of the divided data.
[0035]
When the distribution of the error correction information is requested, the error correction information generating means 35 generates the error correction information for the blocks transmitted by the other n distribution servers by, for example, the method described with reference to FIG. The information transmitting unit 36 transmits the error correction information to the client 1.
[0036]
【The invention's effect】
By using the present invention, even when the distribution data from some servers is interrupted or the transfer speed is reduced, the lost portion can be restored and the data distribution can be continued while maintaining the real-time property. In particular, by using parity as error correction information, robust data distribution can be performed without imposing a large load on the server and the client.
[0037]
In addition, since the distribution server can be changed dynamically while data is being distributed, even if a failure occurs in some servers or networks, data distribution can be performed even if another failure occurs. Can be continued.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a network configuration according to an embodiment of the present invention.
FIG. 2 is a diagram showing an example of the content of information sent from a list server.
FIG. 3 is a diagram illustrating generation of parity data by a parity distribution server.
FIG. 4 is a block diagram of a client according to the embodiment of the present invention.
FIG. 5 is a diagram illustrating an example of an operation processing flow of a control unit of a client.
FIG. 6 is a block diagram of a distribution server according to the embodiment of the present invention.
[Explanation of symbols]
1 client 2 list server 3 distribution server A
4 Distribution server B
5 Distribution server C
6 distribution server D
7 Distribution server E
8 Network 11 Control unit 12 Timer 13 Server connection unit A
14 Server connection part B
15 Server connection part C
16 Server connection part D
17 Parity buffer 18 Buffer A
19 Buffer B
20 Buffer C
21 Application 30 Distribution target data storage unit 31 Distribution request reception unit 32 Distribution request analysis unit 33 Distribution target data division unit 34 Divided distribution data transmission unit 35 Error correction information generation unit 36 Error correction information transmission unit

Claims (7)

複数台の配信サーバを有し,ネットワークを介してデータ受信装置に配信対象データを配信するデータ配信方法であって,
前記配信サーバは,配信対象データを複数のブロックに分割し,
先頭から順次連続するn(n≧2)ブロックの配信対象データを1ブロックずつ分担してn台の配信サーバによりデータ受信装置へ配信し,
前記nブロックの配信対象データに関するエラー訂正情報を,他の配信サーバにより同時にデータ受信装置に配信する
ことを特徴とするデータ配信方法。
A data distribution method having a plurality of distribution servers and distributing distribution target data to a data receiving device via a network,
The distribution server divides the distribution target data into a plurality of blocks,
The distribution target data of n (n ≧ 2) blocks successively successive from the head are shared one block at a time, and distributed to the data receiving devices by the n distribution servers,
A data distribution method, wherein the error correction information on the n blocks of data to be distributed is simultaneously distributed to a data receiving device by another distribution server.
請求項1記載のデータ配信方法において,
前記エラー訂正情報として,前記nブロックの配信対象データのパリティを利用する
ことを特徴とするデータ配信方法。
The data distribution method according to claim 1,
A data distribution method, wherein a parity of the data to be distributed of the n blocks is used as the error correction information.
複数台の配信サーバを有し,ネットワークを介してデータ受信装置に配信対象データを配信するデータ配信システムであって,
前記各配信サーバは,
それぞれ同一の配信対象データを保持する手段と,
前記配信対象データを複数のブロックに分割する手段と,
前記分割された配信対象データの先頭から順次連続するn(n≧2)ブロックに関するエラー訂正情報を生成する手段と,
データ受信装置からの配信要求に対し,先頭から順次連続するnブロックの配信対象データの中の指定された1ブロックを分担して配信するか,または前記エラー訂正情報を配信する手段とを備える
ことを特徴とするデータ配信システム。
A data distribution system having a plurality of distribution servers and distributing data to be distributed to a data receiving device via a network,
Each of the delivery servers,
Means for retaining the same data to be distributed,
Means for dividing the distribution target data into a plurality of blocks;
Means for generating error correction information for n (n ≧ 2) blocks that are successively consecutive from the beginning of the divided distribution target data;
Means for sharing and delivering one specified block of n blocks of data to be delivered sequentially from the beginning in response to a delivery request from the data receiving apparatus, or delivering the error correction information A data distribution system characterized by the following.
複数ブロックに分割された配信対象データを複数台の配信サーバから受信する分割配信データ受信方法であって,
前記分割された配信対象データのうち,先頭から順次連続するn(n≧2)ブロックの配信対象データの配信を1ブロックずつn台の配信サーバに担当させて,該n台の配信サーバから受信し,
同時に前記nブロックの配信対象データに関するエラー訂正情報を,他の配信サーバから受信し,
前記n台の配信サーバからのnブロックの配信対象データを受信した場合には,それらを結合して連続するnブロックの受信データとし,
前記n台の配信サーバからの配信対象データのうち,障害により一部の配信サーバからの配信対象データを受信できなかった場合,またはあらかじめ定めた時間内に一部の配信サーバからの配信対象データを受信できなかった場合に,受信できなかったブロックの配信対象データを,前記他の配信サーバから受信したエラー訂正情報を用いて復元し,受信したブロックと復元したブロックとを結合して連続するnブロックの受信データとする
ことを特徴とする分割配信データ受信方法。
A divided distribution data receiving method for receiving distribution target data divided into a plurality of blocks from a plurality of distribution servers,
Of the divided distribution target data, the distribution target data of n (n ≧ 2) blocks that are sequentially consecutive from the top are distributed to n distribution servers one block at a time and received from the n distribution servers. And
At the same time, error correction information on the n blocks of data to be distributed is received from another distribution server,
When n blocks of distribution target data are received from the n distribution servers, they are combined into continuous n blocks of reception data,
When the distribution target data from some distribution servers cannot be received due to a failure among the distribution target data from the n distribution servers, or the distribution target data from some distribution servers within a predetermined time. Is not received, the data to be delivered of the block that could not be received is restored using the error correction information received from the other delivery server, and the received block and the restored block are combined to continue. A divided distribution data receiving method, characterized by using n blocks of received data.
請求項4に記載の分割配信データ受信方法において,
前記n台の配信サーバからの配信対象データのうち,障害により一部の配信サーバからの配信対象データを受信できなかった場合,またはあらかじめ定めた時間内に一部の配信サーバからの配信対象データを受信できなかった場合に,配信対象データの配信機能を持つ他の新たな配信サーバに配信要求先を変更して,前記一部の配信サーバが配信を担当していたブロックの配信対象データを,該他の新たな配信サーバから受信する
ことを特徴とする分割配信データ受信方法。
5. The method according to claim 4, wherein:
When the distribution target data from some distribution servers cannot be received due to a failure among the distribution target data from the n distribution servers, or the distribution target data from some distribution servers within a predetermined time. When the distribution request data is not received, the distribution request destination is changed to another new distribution server having a distribution function of the distribution target data, and the distribution target data of the block for which some of the distribution servers are in charge of distribution is changed. , Receiving data from another new distribution server.
複数ブロックに分割された配信対象データを複数台の配信サーバから受信する分割配信データ受信装置であって,
n台の配信サーバから重複がないように分割されて配信されたnブロックの配信対象データをそれぞれ受信するn個のデータ受信手段と,
前記n個の受信手段により受信したnブロックの配信対象データを蓄積するバッファと,
前記nブロックの配信対象データに対するエラー訂正情報を,前記n台の配信サーバと異なる配信サーバから受信する手段と,
受信したエラー訂正情報を蓄積するバッファと,
所定の時間内に配信対象データを受信したかどうかを監視するための時間監視手段と,
所定の時間内に前記nブロックの配信対象データを受信したときに,それらを結合して一連のnブロック分の配信対象データを復元し,一部の配信サーバからのデータが障害により受信できない場合,またはあらかじめ定めた転送速度以下になった場合に,前記エラー訂正情報を利用して配信対象データを復元する制御を行う制御手段とを備える
ことを特徴とする分割配信データ受信装置。
A divided distribution data receiving device that receives distribution target data divided into a plurality of blocks from a plurality of distribution servers,
n data receiving means for respectively receiving n blocks of distribution target data divided and distributed from n distribution servers without duplication,
A buffer for storing n blocks of distribution target data received by the n receiving units;
Means for receiving error correction information for the n blocks of distribution target data from a distribution server different from the n distribution servers;
A buffer for storing received error correction information,
Time monitoring means for monitoring whether data to be distributed has been received within a predetermined time;
When the n blocks of data to be distributed are received within a predetermined time, the data is combined to restore a series of n blocks of data to be distributed, and data from some distribution servers cannot be received due to a failure. Or a control unit for performing control to restore the data to be distributed using the error correction information when the transfer rate becomes equal to or less than a predetermined transfer rate.
請求項4または請求項5記載の分割配信データ受信方法を,データ受信装置が備えるコンピュータに実行させるための分割配信データ受信プログラム。A divided distribution data receiving program for causing a computer of a data receiving apparatus to execute the divided distribution data receiving method according to claim 4 or 5.
JP2002229988A 2002-08-07 2002-08-07 Data delivery method, data delivery system, split delivery data receiving method, split delivery data receiving device, and split delivery data receiving program Pending JP2004070712A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002229988A JP2004070712A (en) 2002-08-07 2002-08-07 Data delivery method, data delivery system, split delivery data receiving method, split delivery data receiving device, and split delivery data receiving program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002229988A JP2004070712A (en) 2002-08-07 2002-08-07 Data delivery method, data delivery system, split delivery data receiving method, split delivery data receiving device, and split delivery data receiving program

Publications (1)

Publication Number Publication Date
JP2004070712A true JP2004070712A (en) 2004-03-04

Family

ID=32016199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002229988A Pending JP2004070712A (en) 2002-08-07 2002-08-07 Data delivery method, data delivery system, split delivery data receiving method, split delivery data receiving device, and split delivery data receiving program

Country Status (1)

Country Link
JP (1) JP2004070712A (en)

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018643A (en) * 2004-07-02 2006-01-19 Fujitsu Ltd Video distribution system
JP2006025408A (en) * 2004-07-07 2006-01-26 Microsoft Corp Efficient one-to-many content distribution in peer-to-peer computer network
JP2006126894A (en) * 2004-10-26 2006-05-18 Sony Corp Content distribution method, program, and information processing apparatus
JP2007124393A (en) * 2005-10-28 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> VOD control method, video content viewing preparation method, video content release method, VOD server, VOD system, video content viewing system, video content release system
JP2007538312A (en) * 2004-04-23 2007-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for transferring data with resiliency through a computer network
JP2008182645A (en) * 2007-01-26 2008-08-07 Oki Electric Ind Co Ltd Moving image distribution system
JP2009009297A (en) * 2007-06-27 2009-01-15 Noritsu Koki Co Ltd Data distribution method and data distribution system
US7502863B2 (en) 2004-10-19 2009-03-10 International Business Machines Corporation Method of distributing stream data and system thereof
JP2010119009A (en) * 2008-11-14 2010-05-27 Onkyo Corp Content distribution system, receiving apparatus, and playback program
JP2010538590A (en) * 2007-09-06 2010-12-09 パンド ネットワークス,インコーポレーテッド Method and apparatus for collaborative file distribution by target data distribution rate
US8139766B2 (en) 2004-12-20 2012-03-20 International Business Machines Corporation Pseudo public key encryption
JP2012528529A (en) * 2009-05-26 2012-11-12 アルカテル−ルーセント System and method for converting unicast client requests to multicast client requests
JP2013042487A (en) * 2007-04-16 2013-02-28 Digital Fountain Inc Dynamic stream interleaving and sub-stream based delivery
JP2013134762A (en) * 2011-12-27 2013-07-08 Sony Computer Entertainment Inc Image processing system, image providing server, information processor, and image processing method
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9154552B2 (en) 2007-09-06 2015-10-06 Microsoft Technology Licensing, Llc Method and apparatus for cooperative file distribution with receiver determined quality of services
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling

Cited By (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
JP2007538312A (en) * 2004-04-23 2007-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for transferring data with resiliency through a computer network
JP4857261B2 (en) * 2004-04-23 2012-01-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for transferring data with resiliency through a computer network
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9236887B2 (en) 2004-05-07 2016-01-12 Digital Fountain, Inc. File download and streaming system
JP2006018643A (en) * 2004-07-02 2006-01-19 Fujitsu Ltd Video distribution system
JP2006025408A (en) * 2004-07-07 2006-01-26 Microsoft Corp Efficient one-to-many content distribution in peer-to-peer computer network
US7502863B2 (en) 2004-10-19 2009-03-10 International Business Machines Corporation Method of distributing stream data and system thereof
US8166186B2 (en) 2004-10-26 2012-04-24 Sony Corporation Content distribution method, program, and information processing apparatus
JP2006126894A (en) * 2004-10-26 2006-05-18 Sony Corp Content distribution method, program, and information processing apparatus
US8139766B2 (en) 2004-12-20 2012-03-20 International Business Machines Corporation Pseudo public key encryption
JP2007124393A (en) * 2005-10-28 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> VOD control method, video content viewing preparation method, video content release method, VOD server, VOD system, video content viewing system, video content release system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2008182645A (en) * 2007-01-26 2008-08-07 Oki Electric Ind Co Ltd Moving image distribution system
JP2013042487A (en) * 2007-04-16 2013-02-28 Digital Fountain Inc Dynamic stream interleaving and sub-stream based delivery
JP2009009297A (en) * 2007-06-27 2009-01-15 Noritsu Koki Co Ltd Data distribution method and data distribution system
JP2010538590A (en) * 2007-09-06 2010-12-09 パンド ネットワークス,インコーポレーテッド Method and apparatus for collaborative file distribution by target data distribution rate
US9154552B2 (en) 2007-09-06 2015-10-06 Microsoft Technology Licensing, Llc Method and apparatus for cooperative file distribution with receiver determined quality of services
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
JP2010119009A (en) * 2008-11-14 2010-05-27 Onkyo Corp Content distribution system, receiving apparatus, and playback program
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
JP2012528529A (en) * 2009-05-26 2012-11-12 アルカテル−ルーセント System and method for converting unicast client requests to multicast client requests
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9660763B2 (en) 2009-08-19 2017-05-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9876607B2 (en) 2009-08-19 2018-01-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US12155715B2 (en) 2009-09-22 2024-11-26 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9992555B2 (en) 2010-06-29 2018-06-05 Qualcomm Incorporated Signaling random access points for streaming video data
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9602802B2 (en) 2010-07-21 2017-03-21 Qualcomm Incorporated Providing frame packing type information for video coding
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US8933936B2 (en) 2011-12-27 2015-01-13 Sony Corporation Image processing system, image provider server, information processing device, and image processing method, adapted to change in resolution
JP2013134762A (en) * 2011-12-27 2013-07-08 Sony Computer Entertainment Inc Image processing system, image providing server, information processor, and image processing method
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Similar Documents

Publication Publication Date Title
JP2004070712A (en) Data delivery method, data delivery system, split delivery data receiving method, split delivery data receiving device, and split delivery data receiving program
US7424519B2 (en) Distributed storage system, storage device and method of copying data
JP4709304B2 (en) An inexpensive and scalable open architecture media server
US5630007A (en) Client-server system with parity storage
US8626820B1 (en) Peer to peer code generator and decoder for digital systems
US20020066050A1 (en) Method for regenerating and streaming content from a video server using raid 5 data striping
US20030016596A1 (en) Data transmission from raid devices
US8266182B2 (en) Transcoding for a distributed file system
CN106656593A (en) Streaming media live broadcast recording redundant hot-standby method and system
US20100031081A1 (en) Data Storage System and Control Method Thereof
CN111182067A (en) Data writing method and device based on interplanetary file system IPFS
US20030154246A1 (en) Server for storing files
MXPA05013618A (en) Retry strategies for use in a streaming environment.
JP3910644B2 (en) Audio server system for low reliability network
US20090157797A1 (en) Data distribution system
EP2743821A1 (en) User data duplication
US20020116659A1 (en) Fault tolerant storage system and method
US20160182638A1 (en) Cloud serving system and cloud serving method
JP2000172599A (en) Multicast stream data transfer method and system
Lee Supporting server-level fault tolerance in concurrent-push-based parallel video servers
US20040006635A1 (en) Hybrid streaming platform
JP2000148710A (en) Dynamic image server system
JPH08307855A (en) Apparatus for distributing failureproof multimedia program
CN108810565A (en) Storage, the method, apparatus of scheduled media resource and distributed memory system
JP2000148711A (en) Dynamic image server system