JP4426589B2 - 同期データ転送システム - Google Patents

同期データ転送システム Download PDF

Info

Publication number
JP4426589B2
JP4426589B2 JP2006542714A JP2006542714A JP4426589B2 JP 4426589 B2 JP4426589 B2 JP 4426589B2 JP 2006542714 A JP2006542714 A JP 2006542714A JP 2006542714 A JP2006542714 A JP 2006542714A JP 4426589 B2 JP4426589 B2 JP 4426589B2
Authority
JP
Japan
Prior art keywords
sub
chunk
node
message
processor
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.)
Expired - Fee Related
Application number
JP2006542714A
Other languages
English (en)
Other versions
JP2007513582A (ja
Inventor
ローズ,スティーヴン,ダブリュ
Original Assignee
インタラクティヴ コンテント エンジンズ,エルエルシー
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 インタラクティヴ コンテント エンジンズ,エルエルシー filed Critical インタラクティヴ コンテント エンジンズ,エルエルシー
Publication of JP2007513582A publication Critical patent/JP2007513582A/ja
Application granted granted Critical
Publication of JP4426589B2 publication Critical patent/JP4426589B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/21825Source of audio or video content, e.g. local disk arrays comprising local storage units involving removable storage units, e.g. tertiary storage such as magnetic tapes or optical disks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2315Data placement on disk arrays using interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • H04N21/2326Scheduling disk or memory reading operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Description

関連出願への相互参照
本出願は、2003年12月2日に出願された米国仮出願第60/526,437号の恩恵を主張するものであり、2002年11月26日に出願された“Interactive Broadband Server System”と題する係属中の米国特許出願、通し番号第10/304,378号の部分継続出願であり、この後者自身も2001年11月28日に出願された米国仮出願第60/333,856号の恩恵を主張している。これらすべては共通の発明者を有し、本出願の出願人に譲渡されており、ここにあらゆる面において参照によって組み込まれる。
本発明の技術分野
本発明は、対話式ブロードバンドサーバーシステムに、より詳細には、多重同時アイソクロナス・データストリーム(multiple simultaneous isochronous data stream)の高速配送を容易にするための同期(synchronized)データ転送システムを利用する対話式コンテンツエンジンに関するものである。
ストリーミングメディアコンテンツの記憶および配送のためのソリューションを提供することが望まれている。スケーラビリティーについての初期の目標は、ストリームあたり4メガビット毎秒(Mbps)での100ないし100万の同時の個別的なアイソクロナス・コンテンツストリームである。ただし、異なるデータレートも考えられている。利用可能な全通信帯域幅は利用可能な最大のバックプレーンスイッチによって制約される。現在最大のスイッチはテラビット毎秒の範囲、すなわち20万同時出力ストリーム程度である。出力ストリームの数は一般にストリームあたりのビットレートに反比例する。
コンテンツ記憶装置の最も単純なモデルは、単一のネットワークコネクタを有する単一のプロセッサに接続された単一のディスクドライブである。データはディスクから読み出され、メモリに入れられ、パケットとしてネットワークを通じて各ユーザーに配布される。ウェブページなどのような伝統的なデータは非同期的に配送できる。つまり、ランダムな時間的遅延をもったランダムな量のデータがある。低ボリューム、低解像度のビデオはウェブサーバーから配送できる。ビデオおよびオーディオのようなリアルタイムのメディアコンテンツはアイソクロナス伝送、すなわち配送時間を保証された伝送を必要とする。このシナリオでは、通信帯域幅の制約はディスクドライブに存在する。ディスクはアームの動きや回転による遅延と競合しなければならない。システムが任意の所与の時点においてドライブからプロセッサへの連続的なコンテンツの同時ストリームを6つしかサポートできないとすると、7番目のユーザーの要求は先の6人のユーザーの一人がコンテンツストリームを放棄するのを待たねばならない。この設計の長所は単純さである。短所は、当該設計中で唯一の機械的装置であるディスクがその速さでしかデータのアクセス・転送ができないということである。
一つまたは複数の別のドライブを追加したり、ドライブアクセスをインターリーブしたりすることによって改良することもできる。また、重複コンテンツを各ドライブに保存して冗長性およびパフォーマンスを稼ぐこともできる。これは前進ではあるが、それでもいくつかの問題がある。ローカルな単数または複数のドライブ上には一定量のコンテンツしか置くことができない。ディスクドライブ、CPUおよびメモリはそれぞれ破綻につながりかねない単一障害点である。このシステムは、ディスクコントローラが扱うことのできるドライブ数までしか拡大できない。ユニット数がたくさんあったとしても、タイトルの配布に問題がある。実世界では、誰もが最新の映画を見たいと思う。大まかにいって、コンテンツ要求の80%はほんの20%のタイトルについてのものである。機械の通信帯域幅のすべてを一つのタイトルにつぎ込むわけにはいかない。それではその機械にしか保存されていない人気の劣るタイトルへのアクセスが遮断されてしまう。結果として、「高需要」タイトルはほとんど、あるいはすべての機械に登録されなければならなくなる。端的にいえば、ユーザーが古い映画を見たいとしたら、そのユーザーは不運なことになりうる――たとえシステムに登録されていたとしても。大きなライブラリでは、先の比はこの例で用いた80/20の割合よりずっと大きくなりうる。
システムがデータ処理で使われる標準的な構内ネットワーク(LAN: Local Area Network)に基づいているとしたら、他の不十分な点もあるだろう。現代のイーサネット(登録商標)ベースのTCP/IPシステムは配送が保証される驚くべきものであるが、パケットの衝突や部分的に紛失したパケットの再送信によって引き起こされる時間的な代価ならびにいっさいを機能させるために必要とされる管理を伴っている。コンテンツストリームのセットが適時に利用可能である保証はない。また、各ユーザーが一つのスイッチポートを消費し、各コンテンツサーバーが一つのスイッチポートを消費するので、スイッチポート数はサーバー数の2倍でなければならず、全体的なオンライン通信帯域幅を制限することになる。
本発明の恩恵、特徴および利点は以下の記述および付属の図面に関してよりよく理解されるであろう。
以下の記述は、特定の用途と要件のコンテキストにおいて与えられる本発明を通常の当業者が作成し、利用できるようにするために提示される。ただし、好ましい実施形態に対するさまざまな修正が当業者には明白であろうし、ここに定義される一般的な原理は他の実施形態にも適用されうる。したがって、本発明はここに示され、説明される特定の実施形態に限定されることを意図したのではなく、ここに開示される原理および新規の特徴と一致する最も広範な範囲を与えられることを意図したものである。
ここに記載されるアーキテクチャはさまざまな性能の個々の構成要素を受け入れられるので、導入が最初のシステム購入時点に限定されるのを避けることができる。利便性(commodity)構成要素の使用によって、近年の十分に実証済みの技術、単一ソースの回避およびストリームあたりのコスト最小化を保証する。個別の構成要素の障害は耐えられる。多くの場合には、ユーザーの観点から目につく動作の変化はない。その他の場合には、短い「自己修復」サイクルがある。多くの場合には多重障害にも耐えうる。また、すべてではないまでもほとんどの場合には、システムはすぐに対処してやらなくても復旧できるので、「無人」(lights-out)運転にとっては理想的となる。
コンテンツ記憶割り当ておよび内部通信帯域幅は、最長未使用時間(LRU: Least Recently Used)アルゴリズムによって自動的にやりくりされる。このアルゴリズムは、RAMキャッシュおよびハードディスクアレイキャッシュにある内容が現在の需要に対して適切であり、バックプレーンスイッチ通信帯域幅が最も効率的な仕方で使用されることを保証する。システム内の通信帯域幅が申し込み過多になることは、よしあるとしてもまれなので、パケットの伝送を破棄または遅延することは必要でない。本アーキテクチャは、各構成要素の複合的な通信帯域幅を最大限に利用する機能を提供し、よって保証が満たされることができ、当該ネットワークはプライベートでありかつ完全なコントロール下にあり、予期しないピーク需要の状況であってもどのデータ経路も過負荷にならない。どんなビットレートのストリームでも受け入れることができるが、典型的なストリームは1ないし20Mbpsの範囲に留まると期待される。非同期コンテンツは利用可能な通信帯域幅に基づいて受け入れられる。アプリケーションが要求すればその目的のために通信帯域幅をリザーブしてもよい。ファイルはいかなるサイズでもよく、記憶の不効率が最小限となる。
図1は、本発明の例示的な実施形態に基づいて実装された対話的コンテンツエンジン(ICE: Interactive Content Engine)100の一部分の単純化されたブロック図である。本発明の十分にして完全な理解のために適用できない部分は明快のため示されていない。ICE100は、適切な多重ポート(またはマルチポート)ギガビットイーサネット(登録商標)(GbE)スイッチ101を、いくつかのストレージ・プロセッサ・ノード(SPN: Storage Processor Node)103に結合された複数のイーサネット(登録商標)ポートを有するバックプレーンファブリックとして含んでいる。各SPN103は簡略化したサーバーであり、2つのギガビットイーサネット(登録商標)ポート、一つまたは複数のプロセッサ107、メモリ109(たとえばランダムアクセスメモリ(RAM))および適切な数(たとえば4ないし8)のディスクドライブ111を含んでいる。各SPN103上の第一のGbポート105は全二重動作(各SPN/ポート接続における同時の送信および受信)のためにスイッチ101の対応するポートに接続されており、ICE100内でデータを移動させるのに使う。もう一方のGbポート(図示せず)はコンテンツ出力を下流のユーザー(図示せず)に配送する。
各SPN103はそのローカルディスクドライブへの、および5つのSPNからなる各グループ内の他の4つのSPNの他のディスクドライブへの高速アクセスを有する。スイッチ101は単なるSPN103間の通信デバイスではなく、ICE100のためのバックプレーンである。図解のためにSPN103は5つしか示されていないが、ICE100は典型的にはより多くのサーバーを含んでいることは理解されている。各SPN103はコンテンツの記憶装置、処理器および送信機の役をする。図示した構成では、各SPN103は、市販の構成要素を使って構成され、通常の意味におけるコンピュータではない。標準的なオペレーティングシステムが考えられているが、そのような割り込み駆動型のオペレーティングシステムは無用なボトルネックを生じることもある。
各タイトル(たとえばビデオ、映画または他のメディアコンテンツ)はどの単一のディスクドライブ111にも全体としては保存されていない。そうではなく、インターリーブ・アクセスによるスピード上の恩恵を実現するため、各タイトルのデータは分割されてICE100内のいくつかのディスクドライブにまたがって保存されている。単一のタイトルの内容は複数のSPN103の複数のディスクドライブにまたがっている。タイトルコンテンツの短い「時間フレーム」がラウンドロビン式に各SPN103内の各ドライブから収集される。この仕方では、物理的な負荷は拡散されてSCSIおよびIDEのドライブ数限界を免れ、ある形のフェイルセーフ動作が得られ、タイトルの大きな集合が組織・管理される。
図示した特定の構成では、各コンテンツタイトルは固定サイズのばらばらなチャンク(かたまり)(典型的にはチャンク1つあたり2メガバイト(MB)程度)に分割される。各チャンクはラウンドロビン式に異なるSPN103のセットに保存される。各チャンクは4つのサブチャンクに分割され、パリティを表す5番目のサブチャンクが生成される。各サブチャンクは異なるSPN103のディスクドライブ上に保存される。図示して説明される構成では、約512キロバイト(KB)(ここで「K」は1024である)のサブチャンクのサイズはディスクドライブ111のそれぞれのデータの名目的な単位に一致する。SPN103は5つずつグループ化され、各グループすなわちSPNセットがタイトルのデータの一つのチャンクを保存する。図示したように、前記5つのSPN103は1〜4、そして「パリティ」とラベル付けされ、これらが集団的にチャンク113を、それぞれSPN1、2、3、4および「パリティ」に保存される5つの別個のサブチャンク113a、113b、113c,113d、113eとして保存する。サブチャンク113a〜113eは各異なるSPNのための異なるドライブ上に(たとえばSPN1/ドライブ1、SPN2/ドライブ2、SPN3/ドライブ3など)分散式に保存されて示されているが、他のいかなる可能な組み合わせで保存されてもよい(たとえばSPN1/ドライブ1、SPN2/ドライブ1、SPN3/ドライブ3など)。サブチャンク1〜4はデータを含み、サブチャンク「パリティ」はデータサブチャンクのためのパリティ情報を含む。各SPNセットのサイズは典型的には5であるが任意であり、たとえば2つのSPNから10のSPNまでといったその他いかなる好適な数であっても全く同じようにできる。2つのSPNはその記憶の50%を冗長性のために使用することになり、10個ならそれは10%である。5は記憶の効率と障害の確率との間の妥協点である。
このようにしてコンテンツを分散させることによって、少なくとも二つの目標が達成される。まず、単一のタイトルを視聴できるユーザーの数が単一のSPNセットによってサービスを受けられる数に限定されず、その限界はSPNセットすべてを合わせた通信帯域幅によって決まるようになる。したがって、各コンテンツタイトルのコピーは一つしか必要とされない。その代償は、毎秒立ち上げることのできる所与のタイトルのための新規視聴者の数の制限であるが、これは冗長記憶による無駄なスペースおよび管理上のオーバーヘッドに比べればはるかに取るに足りない制約である。第二の目標とは、ICE100の全体的な信頼性の向上である。単一ドライブの障害はパリティドライブを使ってのその内容のリアルタイムの再生成によって隠蔽される。独立したディスクの冗長なアレイ(RAID: redundant array of independent disks)と同様である。SPN103の障害は、それが、それぞれは動作し続けるいくつかのRAIDセットのうちのそれぞれから一つのドライブを含んでいるという事実によって隠蔽される。障害のあったSPNに接続していたユーザーは非常にすばやく他のSPNで走っている影のプロセスによって引き継がれる。ディスクドライブの、あるいはあるSPN全体の障害の場合には、障害のあった装備を修理または交換するよう運用者に通知される。紛失したサブチャンクがユーザープロセスによって再構築されると、それはそれを提供したはずだったSPNに送り返され、そこでRAM内にキャッシュされる(あたかもそのローカルディスクから読まれた場合のように)。これにより、人気のあるタイトルについて同じ再構築をすることにおいて他のユーザープロセスの時間を無駄にすることが回避される。その人気がサブチャンクがキャッシュされ続けるのに十分なほどでありさえすれば、その後の要求はRAMから充填されるからである。
各「ユーザー」SPN103で走っているユーザープロセス(UP: user process)の目標は、自分のディスクからのサブチャンクと他のユーザーSPNからの対応する4つのサブチャンクとを収集して、配送のためにビデオコンテンツのチャンクを組み立てることである。ユーザーSPNは一つまたは複数の管理用の(management)MGMT SPNからは区別される。後者は同じように構成されるが、後述するように異なる機能を実行する。信頼性およびパフォーマンスを向上させるために、冗長なMGMT SPNのペアが考えられる。各UPによって実行される収集および組み立て機能は、各ユーザーSPN103上の多くのユーザーのために何度もなされる。結果として、ユーザーSPN103どうしの間にはかなりの量のデータトラフィックが行き交うことになる。そうでなければパケット衝突検出および再試行をもつ典型的なイーサネット(登録商標)プロトコルは圧倒されるだろう。典型的なプロトコルはランダムな送信のために設計されており、それらのイベントの間の不活発な時間をあてにしている。よって、このアプローチは使用されない。ICE100では、衝突は全二重の、フルスイッチ式(fully switched)アーキテクチャを使うことによって、そして通信帯域幅を注意深く管理することによって回避される。ほとんどの通信は同期的になされる。のちにさらに説明するように、スイッチ101そのものは同期的な仕方で管理され、伝送の調整がされる。どのSPN103がいつ送信できるかが決定されているので、ポートが所与の期間の間にさばける以上のデータで圧倒されることはない。実際、データはまずユーザーSPN103のメモリ109において収集され、次いでその転送が同期的に管理される。調和の一環として、ユーザーSPN103どうしの間に状態信号がある。エンドユーザーに向かう実際のコンテンツとは異なり、ユーザーSPNユニットどうしの間の信号のためのデータサイズはきわめて小さい。
各サブチャンクの長さ(約512Kバイト;ここで「K」は1024)は、もしそうではなくサブチャンクの送信がランダムまたは非同期的に行われることが許されるとしたら、GbEスイッチ101において利用可能ないかなるバッファリングをも圧倒してしまうだろう。これだけの情報を送信するための期間は約4ミリ秒(ms)であり、複数のポートが単一のポートに同時に送信しようとしないことを保証することが望まれる。したがって、のちにさらに説明するように、スイッチ101は、すべてのポートが最大負荷条件のもとでフルに利用されて同期的に動作するように管理される。
ファイルシステム(あるいは仮想ファイルシステム(virtual file system)すなわちVFS)を管理する冗長ディレクトリプロセスは、ユーザーによる要求があったときに所与のコンテンツタイトルがどこに保存されているかを報告することを受け持っている。それはまた、新たなタイトルをロードすべき時に必要になる記憶スペースを割り当てることも受け持っている。すべての割り当ては一体の諸チャンクにおいてなされ、その各チャンクは5つのサブチャンクからなる。各ディスクドライブ上のスペースは当該ドライブ内では論理ブロックアドレス(LBA: Logical Block Address)によって管理される。一つのサブチャンクはあるディスクドライブ上で連続的なセクタまたはLBAアドレスに保存される。ICE100における各ディスクドライブの容量は、その最大LBAアドレスをサブチャンクあたりのセクタ数で割ったもので表される。
各タイトルマップまたは「ディレクトリ項目」は、そのタイトルの諸チャンクがどこに保存されているか、そしてより特定的には各チャンクの各サブチャンクがどこに位置しているかを示すリストを含んでいる。図示した実施例では、リスト中で一つのサブチャンクを表す各項目には、特定のユーザーSPN103を同定するSPNID、同定されたユーザーSPN103の特定のディスクドライブ111を同定するディスクドライブ番号(DD#)およびサブチャンクポインタ(または論理ブロックアドレスすなわちLBA)が64ビット値としてパックされて含まれている。各ディレクトリ項目は、公称4Mbpsでの約30分のコンテンツのためのサブチャンクリストを含む。これは450チャンク、すなわち2250サブチャンクに等しい。各ディレクトリ項目は補助データを含めて約20KBである。SPN上で実行されているUPがディレクトリ項目を要求すると、その項目全体が送られ、対応するユーザーのためにローカルに保存される。たとえSPNが1000ユーザーをサポートしていたとしても、ローカルなリストまたはディレクトリ項目のために消費されるメモリは20MBでしかない。
ICE100はあるユーザーに利用可能な全タイトルのデータベースを維持している。このリストはローカルな光ディスクライブラリ、リアルタイムネットワークプログラミングおよび使用許諾および転送の手配がなされているところではリモート位置にあるタイトルを含む。このデータベースは各タイトルについての全メタデータを含む。それには管理情報(使用許諾期間、ビットレート、解像度など)とともにユーザーにとって関心のある情報(プロデューサー、監督、キャスト、スタッフ、原作者など)も含まれる。ユーザーが選択をすると、仮想ファイルシステム(VFS)209(図2)のディレクトリに問い合わせがされて、そのタイトルがすでにディスクアレイにロードされているかどうかが判別される。まだであれば、ロードプロセス(図示せず)がそのコンテンツ作品について開始され、必要ならいつ視聴のために利用可能になるかについてUPに通知される。たいていの場合、遅延は光ディスク取得ロボット(図示せず)の機械的遅延、すなわち約30秒を超えない。
光ディスク(図示せず)に保存されている情報は全メタデータ(ディスクが最初にライブラリにロードされたときにデータベースに読み込まれる)とともに、当該タイトルを表す圧縮されたデジタルビデオおよびオーディオならびにそれらのデータストリームについて事前に知得できる全情報を含む。たとえば、クロック値およびタイムスタンプのようなデータストリーム中のあらゆる有意な情報へのポインタを含んでいる。それはすでにサブチャンクに分割されており、パリティサブチャンクも事前計算されてディスク上に保存されている。一般に、ロード時間と処理オーバーヘッドを節約するために事前になしうることは何でも光ディスク上に含められる。
リソース管理システムに含まれるものに、ディスパッチャー(図示せず)がある。UPはこのディスパッチャーを参照してそのストリームについての開始時刻を受け取る(通例要求から数ミリ秒以内に)。ディスパッチャーはシステムへの負荷が均一のままであり、遅延が最小化され、いかなる時点でもICE100内で要求される通信帯域幅が利用可能な値を超えることのないことを保証する。ユーザーが停止、一時停止、早送り、巻き戻しあるいはその他ストリームの流れを中断する動作を要求したときには常に、その通信帯域幅は割り当てを解除され、新たに要求される何らかのサービス(たとえば早送りストリーム)のために新たな割り当てが行われる。
図2は、本発明のある実施形態に基づいて実装された同期データ転送システム200を図解する、ICE100の一部分の論理ブロック図である。スイッチ101は、いくつかの例示的なSPN103に結合して示されている。SPN103には第一のユーザーSPN201、第二のユーザーSPN203および管理(MGMT)SPN205が含まれる。先に注記したように、多くのSPN103がスイッチ101に結合されており、本発明を解説するために二つのユーザーSPN201、203のみが示されており、先に述べたようにどのSPN103として物理的に実装されてもよい。MGMT SPN205は物理的実装は他のどのSPN103とも同様であるが、一般に特定のユーザー機能よりむしろ管理機能を実行する。SPN201は各ユーザーSPN103のある種の機能を図解し、SPN203は他の機能を図解する。しかし、各ユーザーSPN103が同様の機能を実行するよう構成され、SPN201について述べた機能(およびプロセス)はSPN203で与えることもでき、その逆も言えることは理解されるものである。
先に述べたように、スイッチ101はポートあたり1Gbpsで動作し、よって各サブチャンク(約512KB)があるSPNから別のSPNに渡されるのに約4msかかる。各ユーザーSPN103は一つまたは複数のユーザープロセス(UP)を実行するが、そのそれぞれが下流のユーザーをサポートするためのものである。あるタイトルの新しいチャンクがユーザー出力バッファ(図示せず)を再充填するために必要とされるとき、リストからの次の5つのサブチャンクが、それらのサブチャンクを保存している他のユーザーSPNに対して要求される。多くのUPが複数サブチャンクを実質同時に要求する可能性があるため、サブチャンク伝送期間はほうっておいたら単一ポートのためのGbEスイッチでさえほとんどどんなものでもバッファリング容量を圧倒してしまうだろう。ましてや全体スイッチの場合はそうである。これは図示したスイッチ101について成り立つ。もしサブチャンク伝送が管理されていなければ、それは可能性として各UPのための5つのサブチャンクすべてが同時に返されて出力ポートの通信帯域幅を圧倒する結果につながりうる。ICE100のSPNの伝送のタイミングを緊密にし、最も枢要なデータが最初に無傷で伝送されるようにすることが望まれる。
SPN201は、対応する下流のユーザーにサービスを提供するためにUP207を実行しているものとして示されている。ユーザーがタイトル(たとえば映画)を要求し、その要求はUP207に転送される。UP207はタイトル要求(TR: title request)をMGMT SPN205に位置しているVFS209(のちにさらに説明する)に送信する。VFS209はディレクトリ項目(DE: directory entry)をUP207に返し、該UP207は211で示されるDEをローカルに保存する。DE211は当該タイトルの各サブチャンク(SC1、SC2など)の位置を示すリストを含んでおり、各項目には、特定のユーザーSPN103を同定するSPNID、同定されたSPN103の特定のディスクドライブ111を同定するディスクドライブ番号(DD#)および同定されたディスクドライブ上のサブチャンクの特定の位置を与えるアドレスすなわちLBAが含まれている。SPN201は、DE211内の各サブチャンクについて同時に一つずつタイムスタンプ付き読み出し要求(TSRR: time stamped read request)を開始する。ICE100では、要求はすぐに直接なされる。換言すれば、SPN201はサブチャンクの要求を行うことを、そのデータを保存している特定のユーザーSPN103に対してすぐに直接に開始する。図示した構成では、たとえローカルに保存されていても同じようにして要求がなされる。つまり、要求されたサブチャンクがSPN201のローカルディスクドライブ上にあったとしても、リモートにあるかのようにスイッチ201を通じて要求を送出するのである。ネットワークは、あるSPNからその同じSPNに要求が送られようとしていることを認識するよう構成されていてもよい位置である。すべての場合を同じように扱うほうが簡単である。特に、要求が実際にローカルであることが比較的ありそうもないような大きな施設ではそうである。
要求はすぐに直接に送出されるが、サブチャンクはそれぞれ完全に管理された仕方で返される。各TSRRは当該SPNIDを使っている特定のユーザーSPNに対するものであり、対象となるユーザーSPNがそのデータを取得して返すためのDD#およびLBAを含んでいる。TSRRはさらに、要求されたサブチャンクが適正に適切な要求者に返されることを保証し、要求者がそのサブチャンクを識別することを可能にするのに十分な他のいかなる識別情報をも含みうる(たとえば宛先SPN上で実行されている複数UPの間の区別をするUP識別子、各データチャンクについてのサブチャンクの間の区別をするサブチャンク識別子など)。各TSRRはもともとの要求がなされた特定の時点を同定するタイムスタンプ(TS: timestamp)をも含む。TSは同期伝送のために要求の優先度を同定する。ここで、優先度は時間に基づいており、早い要求ほど高い優先度を得る。要求されたタイトルの返されたサブチャンクは、受け取られると、さらなる処理およびそのタイトルを要求したユーザーへの配送のためにローカルなタイトルメモリ213に保存される。
ユーザーSPN203は、TSRRを受け取るため、そして要求されたサブチャンクを返すために各ユーザーSPN(たとえば201、203)上で実行されている、転送プロセス(TP: transfer process)215および支援機能の動作を図解している。TP215はストレージ・プロセス(図示せず)を含むか、あるいは他の仕方でストレージ・プロセスとのインターフェースをもつ。ストレージ・プロセスは、保存されているサブチャンクの要求およびアクセスのためのSPN203上のローカルなディスクドライブ111のインターフェースとなるものである。ストレージ・プロセスは状態機械などのような、いかなる所望の仕方で実装されてもよく、TP215とローカルディスクドライブ111との間でインターフェースされる別個のプロセスであってもよい。これは当業者には既知のとおりである。図示したように、TP215は他のユーザーSPN103上で実行されている一つまたは複数のTSRRを一つまたは複数のUPから受け取り、各要求をローカルメモリ109内の読み取り要求待ち行列(RRQ: read request queue)217に保存する。RRQ217はサブチャンクSCA、SCBなどのための要求のリストを保存する。要求されたサブチャンクを保存しているディスクドライブは、対応する要求をRRQ217から除去し、物理的な順番にソートし、それからそれぞれの読み出しをソートされた順番で実行する。各ディスク上のサブチャンクへのアクセスはグループで管理される。各グループは「エレベーター・シーク」動作に従って物理的順序にソートされている(低位から高位へ一回の掃引、次に高位から低位への掃引などといった具合にディスクヘッドがシーケンス上次のサブチャンクを読むために一時停止しながらディスク表面を行き来する)。うまくいった読み込みの要求は成功読み込み待ち行列(SRQ: successful read queue)218にTS順にソートされて保存される。失敗した読み込みの要求(もしあれば)は失敗読み込み待ち行列(FRQ: failed read queue)220に保存され、失敗した情報がネットワーク管理システム(図示せず)に転送され、該ネットワーク管理システムがエラーおよび適切な是正動作を決定する。図示した構成では待ち行列217、218および220が実際のサブチャンクではなく要求情報を保存していることを注意しておく。
読み込みに成功した各サブチャンクは最近要求されたサブチャンクのLRUキャッシュのためにリザーブされているメモリに入れられる。取得された各サブチャンクについて、TP215は対応するメッセージ(MSG: message)を生成するが、これはそのサブチャンクのTS、そのサブチャンクのソース(SRC: source)(たとえばそのサブチャンクが送信されてくるもとのSPNIDおよびその物理メモリ位置ならびにその他任意の識別情報)ならびにそのサブチャンクを送信すべき先の宛先(DST: destination)SPN(たとえばSPN201)を含む。図示したように、SRQ218はサブチャンクSCA、SCBなどに対してそれぞれメッセージMSGA、MSGBなどを含んでいる。要求されたサブチャンクが読み出されてキャッシュされたのち、TP215は対応するMSGを、MGMT SPN205で実行されている同期スイッチマネージャ(SSM: synchronized switch manager)219に送る。
SSM219は諸ユーザーSPNのTPから複数MSGを受け取って優先順位付けし、最終的には、SRQ218内のMSGのうちの一つをメッセージ識別子(MSGID: message identifier)などを利用して同定する送信要求(TXR: transmit request)をTP215に送る。SSM219がSRQ218内のサブチャンクを同定するMSGIDをもつTXRをTP215に送ると、その要求リスト項目はSRQ218からネットワーク転送プロセス(NTP: network transfer process)221に移され、そこで当該サブチャンクを宛先のユーザーSPNに転送するのに使われるパケットが構築される(ここで、「移す」とはその要求をSRQ218からは除去することを表している)。サブチャンク要求リスト項目がSRQ218から除去される順序は、リストがタイムスタンプ順になっているにもかかわらず、必ずしもその順ではない。適正な順序を決定するのはSSM219だけだからである。SSM219は、送るべきサブチャンクを少なくとも一つもつ他のすべてのSPN103に対して一つのTXRを送る。ただし、サブチャンクを送るべき先がすでに同等以上の優先度のサブチャンクを受け取るようスケジュールされているSPN103上のUPである場合は別であり、これについてはのちにさらに説明する。SSM219は次いで全ユーザーSPN103に対して単一の送信コマンド(TX CMD: transmit command)をブロードキャストする。SSM219によってブロードキャストされたTX CMDコマンドに反応して、TP215はNTP221に、そのサブチャンクをユーザーSPN103の要求UPに送信するよう命令する。このようにして、SSM219からTXRを受け取った各SPN103は同時に別の要求元ユーザーSPN103に送信を行う。
MGMT SPN205上のVFS209はタイトルのリストおよびICE100内でのその位置を管理する。典型的なコンピュータシステムでは、ディレクトリ(データの情報)は通例当該データが存在するのと同じディスク上にある。ところがICE100では、VFS209は中央に位置していて分散データを管理する。各タイトルのデータがディスクアレイ中の複数のディスクにまたがって分散しており、前記複数のディスク自身も複数のユーザーSPN103にまたがって分散しているからである。先に述べたように、ユーザーSPN103上のディスクドライブ111は主としてタイトルのサブチャンクを保存する。VFS209は、先に述べたようにSPNID、DD#およびLBAを通じて各サブチャンクの位置を決めるための識別子を含んでいる。VFS209はまた、光記憶装置のようなICE100の外部にある他の部分のための識別子をも含んでいる。ユーザーがあるタイトルを要求すると、そのユーザー要求を受け付けたユーザーSPN103上で実行されているUPにはディレクトリ情報(ID/アドレス)の完全なセットが利用可能となる。そこからは、すべきことはサブチャンクをディスクドライブからメモリ(バッファ)へと転送し、該サブチャンクをスイッチ101を通じて要求元ユーザーSPN103に移すことである。要求元ユーザーSPN103はバッファ中で完全なチャンクを組み立て、それをユーザーに配送し、終了するまで繰り返す。
SSM219は、「準備完了」メッセージ(RDY MSG: ready message)リスト223中にタイムスタンプ順の準備完了メッセージのリストを作成する。ユーザーSPN103上でTPからメッセージが受け取られる順番は必ずしもタイムスタンプ順ではないが、RDY MSGリスト223中ではTS順に整理されている。次の一組の転送の直前に、SSM219は最も早いタイムスタンプから始まってRDY MSGリスト223をスキャンする。SSM219はまずRDY MSGリスト223内で最も早いTSを同定し、対応するTXRメッセージを生成して、対応するサブチャンクを保存しているユーザーSPN103のTP215に送り、それによりそのサブチャンクのペンディングの転送を開始させる。SSM219は後続の各サブチャンクについてTS順にリスト223のスキャンを続け、すでにペンディングのサブチャンク転送に関わっているのでないソースと宛先をもつ各サブチャンクについてTXRメッセージを生成する。全ユーザーSPN103にブロードキャストされる一つ一つのTX CMDに対しては、各ユーザーSPN103が送信するサブチャンクは同時に一つのみであり、受信するサブチャンクは同時に一つのみである。ただし、この両者は同時にできる。たとえば、SPN#2へのペンディングのサブチャンク転送をスケジュールするためにTXRメッセージがSPN#10のTPに送られた場合、SPN#10は同時に別のサブチャンクを送ることはできない。しかし、SPN#10は同時に別のSPNからサブチャンクを受信することはできる。さらに、SPN#2はSPN#10から前記サブチャンクを受信しながら同時に別のサブチャンクを受信することはできないが、SPN#2は同時に別のSPNに送信をすることはできる。これはスイッチ101の各ポートの全二重性のためである。
SSM219はユーザーSPN103が全部ふさがってしまうまで、あるいはRDY MSGリスト223の終わりに達するかするまでRDY MSGリスト223のスキャンを続ける。RDY MSGリスト223中のTXRメッセージに対応する各項目は最終的にはRDY MSGリスト223から除去される(TXRメッセージが送られたとき、あるいは転送が完了したあとに)。前の周期の最後の転送が終わったとき、SSM219は全ユーザーSPN103に次のラウンドの送信を開始するよう合図するTX CMDパケットをブロードキャストする。各転送は、図示した特定の構成については約4ないし5msの周期内で同期的に起こる。各転送ラウンドの間、追加的なMSGがSSM219に送られ、次の送信ラウンドをスケジュールするために新しいTXRメッセージが諸ユーザーSPN103に送出され、そのプロセスは繰り返される。TX CMDから次のTX CMDまでの間の周期は近似的には、一つのサブチャンクのバイトすべてを送信するために必要な、パケットオーバーヘッドおよびパケット間遅延を含めた期間に、そのサブチャンクの送信中にスイッチ内に発生したかもしれないすべてのキャッシュをクリアするための期間(典型的には60マイクロ秒(μs))と、個々のSPNによるTX CMDの認識における遅延によって引き起こされるあらゆるジッターのための期間(典型的には100μs未満)とを加えたものに等しい。
ある実施形態では、重複した、すなわちミラーされたMGMT SPN(図示せず)が主MGMT SPN205をミラーしており、SSM219、VFS209およびディスパッチャーがそれぞれ一対の冗長な専用MGMT SPNの上で重複される。ある実施形態では、同期TX CMDブロードキャストがMGMT SPN205の健全性を示す鼓動としてはたらく。鼓動とは、副次的なMGMT SPNに対する万事良好という信号である。鼓動がないと、たとえば5msなど所定の時間期間内のいっさいの管理機能を副次的MGMT SPNが引き継ぐのである。
本発明はある種の好ましいバージョンを参照しつつかなりの詳細において記載されてきたが、他のバージョンおよび変形も可能であり、考えられている。当業者は開示された概念および具体的な実施例を、請求項によって定義される本発明の精神および範囲から外れることなく、本発明と同じ目的に資するための他の構造を考案したり修正したりする基礎として容易に使うことができる。
本発明の例示的な実施形態に基づいて実装された対話的コンテンツエンジン(ICE: Interactive Content Engine)の一部分の単純化したブロック図である。 本発明のある実施形態に基づいて実装された同期データ転送システムを図解する、図1のICEの一部分の論理ブロック図である。

Claims (24)

  1. 同期データ転送システムであって:
    複数のプロセッサ・ノードと、
    前記複数のプロセッサ・ノードに結合された、該複数のプロセッサ・ノード間の通信を可能にするためのバックボーンネットワークスイッチと、
    前記複数のプロセッサ・ノードに結合され前記複数のプロセッサ・ノードにまたがって分散されており、複数のタイトルを保存する複数の記憶装置であって、各タイトルが複数のサブチャンクに分割され、該サブチャンクが前記複数の記憶装置にまたがって分散されるような複数の記憶装置と、
    前記複数のプロセッサ・ノードのうちの対応するものの上でそれぞれ実行され、ソース・プロセッサ・ノードから宛先のプロセッサ・ノードに転送されるべき各サブチャンクについてのソース・ノード識別子および宛先ノード識別子を含むメッセージを送るよう動作する複数の転送プロセスと、
    複数の逐次的な送信周期のそれぞれを開始させる送信コマンドを周期的にブロードキャストし、複数のメッセージを受け取り、各プロセッサ・ノードが各送信周期の間に高々一つのサブチャンクを送信して高々一つのサブチャンクを受信することを保証するよう各送信周期に先立って前記複数のメッセージの間から選択を行い、選択されたメッセージに対応する複数の送信要求を送る、前記複数のプロセッサ・ノードのうちの少なくとも一つの上で実行される同期スイッチマネージャ・プロセス、
    とを有しており、少なくとも一つのメッセージを送り、前記同期スイッチマネージャ・プロセスから対応するサブチャンクを同定する送信要求を受信した各転送プロセスが、前記対応するサブチャンクをブロードキャストされた送信コマンドによって開始される次の送信周期の間に送ることを特徴とするシステム。
  2. 請求項1記載の同期データ転送システムであって、前記複数のメッセージのそれぞれがタイムスタンプを有し、前記同期スイッチマネージャ・プロセスが前記複数のメッセージに対してタイムスタンプ順に基づいて優先度付けをし、前記複数の送信要求をタイムスタンプ順に送ることを特徴とするシステム。
  3. 請求項2記載の同期データ転送システムであって、さらに:
    前記複数のプロセッサ・ノードのうちの対応するものの上でそれぞれ実行され、複数のタイムスタンプ付き読み取り要求を送るよう動作する複数のユーザープロセスを有しており、
    各転送プロセスが対応するタイムスタンプ付き読み取り要求からタイムスタンプを対応するメッセージに組み込むことを特徴とするシステム。
  4. 請求項3記載の同期データ転送システムであって、前記同期スイッチマネージャ・プロセスが、前記複数のメッセージを準備完了メッセージリストにタイムスタンプ順に整理し、前記複数の逐次的送信周期の各周期の直前に前記準備完了メッセージリストをタイムスタンプ順にスキャンし、タイムスタンプの優先度に基づいてメッセージを選択することを特徴とするシステム。
  5. 請求項4記載の同期データ転送システムであって、前記同期スイッチマネージャ・プロセスがあるメッセージを、同定されたソース・プロセッサ・ノードがすでに次の送信周期の間にサブチャンクを送信するために選択されているのでない場合であり、かつ同定された宛先プロセッサ・ノードがすでに前記次の送信周期の間にサブチャンクを受信するために選択されているのでない場合に選択することを特徴とするシステム。
  6. 請求項1記載の同期データ転送システムであって、さらに:
    前記複数の転送プロセスのそれぞれが、受け取ったサブチャンク読み取り要求を読み取り要求待ち行列に保存し、各サブチャンク読み取り要求がローカルに保存されたサブチャンクを示していることと、
    前記複数の記憶装置のそれぞれが、ローカルな読み取り要求待ち行列で同定されているサブチャンクを物理的な順序で読み取ることと、
    前記複数のプロセッサ・ノードのそれぞれが、対応する記憶装置による読み取りが成功したサブチャンクを成功読み取り待ち行列にリストすることと、
    前記複数の転送プロセスのそれぞれが、対応する成功読み取り待ち行列中の各項目についてのメッセージを前記同期スイッチマネージャ・プロセスに送ること、
    とを有することを特徴とするシステム。
  7. 請求項6記載の同期データ転送システムであって、前記サブチャンク読み取り要求のそれぞれがタイムスタンプ付き読み取り要求を含んでおり、前記成功読み取り待ち行列のそれぞれにおける項目がタイムスタンプ順にリストされており、各転送プロセスが対応する成功読み取り待ち行列における各項目についてのメッセージをタイムスタンプ順に送ることを特徴とするシステム。
  8. 請求項6記載の同期データ転送システムであって、さらに:
    前記複数の転送プロセスのそれぞれが、ある成功要求待ち行列から、対応する送信要求によって同定されたあるサブチャンクと関連付けられている項目を除去することと、
    前記複数のプロセッサ・ノードのうちの対応するものの上でそれぞれ実行されており、それぞれ同定されたサブチャンクを送信コマンドに反応して宛先プロセッサ・ノードに転送するために使われるネットワークパケットを構築するよう動作する複数のネットワーク転送プロセス、
    とを有することを特徴とするシステム。
  9. 請求項1記載の同期データ転送システムであって、前記ネットワークスイッチが複数のポートをもつギガビットイーサネット(登録商標)スイッチであり、前記複数のプロセッサ・ノードのそれぞれが前記ネットワークスイッチの対応するポートに結合されていることを特徴とするシステム。
  10. 請求項1記載の同期データ転送システムであって、前記複数のプロセッサ・ノードのうちに、前記同期スイッチマネージャ・プロセスを実行する管理ノードが含まれることを特徴とするシステム。
  11. 請求項1記載の同期データ転送システムであって、前記複数のプロセッサ・ノードのうちに、前記同期スイッチマネージャ・プロセスを実行する第一の管理ノードと、ミラーされた同期スイッチマネージャ・プロセスを実行する第二の管理ノードとが含まれることを特徴とするシステム。
  12. ネットワークスイッチ結合された複数のプロセッサ・ノードの間でデータの分散されたサブチャンクを同期的に転送する方法であって:
    前記プロセッサ・ノードのうちの少なくとも一つの上で実行される管理プロセスによって、複数の逐次的な送信周期のそれぞれを開始させる送信コマンドを周期的にブロードキャストし、
    前記管理プロセスに対して、送るべき少なくとも一つのサブチャンクをもつ各プロセッサによって、送られるべき各サブチャンクについてのソース・プロセッサ・ノードおよび宛先プロセッサ・ノードを同定するメッセージを送り、
    前記管理プロセスによって、各プロセッサ・ノードが次の送信周期の間に高々一つのサブチャンクを送信し、各プロセッサ・ノードが前記次の送信周期の間に高々一つのサブチャンクを受信することを保証するよう、前記プロセッサ・ノードから受け取られたメッセージを選択し、
    前記管理プロセスによって、選択された対応するメッセージを送ったプロセッサ・ノードにそれぞれ送られる複数の送信要求を送り、
    送信要求を受け取る各プロセッサ・ノードによって、前記受け取られた送信要求によって同定されたサブチャンクを次の送信コマンドに反応して宛先プロセッサ・ノードに送信する、
    ことを含むことを特徴とする方法。
  13. 請求項12記載の方法であって、さらに:
    前記した送られるべき各サブチャンクについてのメッセージを送ることに先立って、各メッセージにタイムスタンプを付けることを含んでおり、
    前記した選択がタイムスタンプ順に基づいて優先度を付けることであり、
    前記した複数の送信要求を送ることがタイムスタンプ順に送信要求を送ることであることを特徴とする方法。
  14. 請求項13記載の方法であって、さらに:
    少なくとも一つのプロセッサ・ノードによって、複数のタイムスタンプ付き読み取り要求を送ることを含んでおり、
    前記した各メッセージにタイムスタンプを付けることが、受け取られたタイムスタンプ付き読み取り要求からのタイムスタンプを対応するメッセージに組み込むことを含んでいることを特徴とする方法。
  15. 請求項14記載の方法であって、さらに:
    前記管理プロセスによって、受け取られたメッセージを準備完了メッセージリスト中でタイムスタンプ順に整理し、
    前記管理プロセスによって、各送信周期の直前に、前記準備完了メッセージリストをタイムスタンプ順にスキャンする、
    ことを含むことを特徴とする方法。
  16. 請求項15記載の方法であって、前記したスキャンすることが、あるメッセージを、同定されたソース・プロセッサ・ノードがすでに次の送信周期の間にサブチャンクを送信するために選択されているのでない場合であり、かつ同定された宛先プロセッサ・ノードがすでに前記次の送信周期の間にサブチャンクを受信するために選択されているのでない場合に選択することを含むことを特徴とする方法。
  17. 請求項16記載の方法であって、前記したスキャンすることが、準備完了メッセージリスト全体がスキャンされたとき、あるいは全部のプロセッサ・ノードがサブチャンクを送信するために選択されてしまっている場合、あるいは全部のプロセッサ・ノードがサブチャンクを受信するために選択されてしまっている場合に、完了することを特徴とする方法。
  18. 請求項12記載の方法であって、さらに:
    受け取られたサブチャンク読み取り要求を読み取り要求待ち行列に保存し、各サブチャンク読み取り要求がローカルに保存されたサブチャンクを示しており、
    ローカルなディスクドライブによって、読み取り要求待ち行列で同定されているサブチャンクを物理的な順序で読み取り、
    読み取りが成功したサブチャンクの項目を成功読み取り待ち行列にリストする、
    ことを有しており、前記した送られるべき各サブチャンクについてのメッセージを送ることが、前記成功読み取り待ち行列中に各項目についてのメッセージを送ることであることを特徴とする方法。
  19. 請求項18記載の方法であって、各サブチャンク読み取り要求がタイムスタンプ付き読み取り要求であり、前記した読み取りに成功したサブチャンクの項目を成功読み取り待ち行列にリストすることが項目をタイムスタンプ順にリストすることを含んでおり、前記した前記構成読み取り待ち行列中の各項目についてのメッセージを送ることがタイムスタンプ順にメッセージを送ることを含んでいることを特徴とする方法。
  20. 請求項18記載の方法であって、さらに:
    前記成功要求待ち行列から、対応する送信要求によって同定されたあるサブチャンクと関連付けられている項目を除去し、
    同定されたサブチャンクを送信コマンドに反応して宛先プロセッサ・ノードに転送するために使われるネットワークパケットを構築する、
    ことを含むことを特徴とする方法。
  21. 請求項12記載の方法であって、さらに、第一の管理ノード上で前記管理プロセスを実行し、前記第一の管理ノードをミラーするミラーされた管理ノード上でミラーされた管理プロセスを実行することを含むことを特徴とする方法。
  22. 同期データ転送システムであって:
    第一および第二のユーザーノードおよび管理ノードを含む複数のストレージ・プロセッサ・ノードと、
    前記複数のストレージ・プロセッサ・ノードに結合されたバックボーン通信スイッチと、
    前記複数のストレージ・プロセッサ・ノードにまたがって分散される複数のサブチャンクにそれぞれ細分された複数のタイトルと、
    それぞれが対応するサブチャンクを要求するための複数のタイムスタンプ付き読み取り要求を送る、前記第一のユーザーノード上で実行されるユーザープロセスと、
    ローカルに保存されているサブチャンクを要求する受け取ったタイムスタンプ付き読み取り要求それぞれについてのソース・ノード識別子および宛先ノード識別子を含むメッセージを送る、前記第二のユーザーノード上で実行される転送プロセスと、
    前記スイッチを通じて複数の逐次的な送信周期のそれぞれを開始させる送信コマンドを周期的にブロードキャストし、複数のメッセージを受け取り、各プロセッサ・ノードが各送信周期の間に高々一つのサブチャンクを送信して高々一つのサブチャンクを受信することを保証するよう各送信周期に先立って前記複数のメッセージの間から選択を行い、選択されたメッセージに対応する複数の送信要求を送る、前記管理ノードの上で実行される管理プロセス、
    とを有しており、前記転送プロセスが、前記管理プロセスから送信要求を受け取るのに反応して、対応するサブチャンクを次のブロードキャストされる送信コマンドによって開始される次の送信周期の間に送ることを特徴とするシステム。
  23. 請求項22記載の同期データ転送システムであって、前記管理プロセスが前記複数のメッセージからタイムスタンプ優先度に基づいて選択を行うことを特徴とするシステム。
  24. 請求項23記載の同期データ転送システムであって、前記管理プロセスがまず最高優先度のタイムスタンプをもつメッセージを選択し、次いでその後の各メッセージを、同定されたソース・ノードがすでに次の送信周期の間にサブチャンクを送信するために選択されているのでない場合であり、かつ同定された宛先ノードがすでに前記次の送信周期の間にサブチャンクを受信するために選択されているのでない場合に選択することを特徴とするシステム。
JP2006542714A 2003-12-02 2004-12-02 同期データ転送システム Expired - Fee Related JP4426589B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US52643703P 2003-12-02 2003-12-02
US10/999,661 US7788396B2 (en) 2001-11-28 2004-11-30 Synchronized data transfer system
PCT/US2004/040235 WO2005057828A2 (en) 2003-12-02 2004-12-02 Synchronized data transfer system

Publications (2)

Publication Number Publication Date
JP2007513582A JP2007513582A (ja) 2007-05-24
JP4426589B2 true JP4426589B2 (ja) 2010-03-03

Family

ID=34681500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006542714A Expired - Fee Related JP4426589B2 (ja) 2003-12-02 2004-12-02 同期データ転送システム

Country Status (7)

Country Link
US (1) US7788396B2 (ja)
EP (1) EP1692620B1 (ja)
JP (1) JP4426589B2 (ja)
CA (1) CA2547440C (ja)
DE (1) DE04812687T1 (ja)
MX (1) MXPA06006330A (ja)
WO (1) WO2005057828A2 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US7721011B1 (en) * 2005-05-09 2010-05-18 Oracle America, Inc. Method and apparatus for reordering memory accesses to reduce power consumption in computer systems
JP4631569B2 (ja) * 2005-07-12 2011-02-16 パナソニック株式会社 通信システム、並びにこれに用いられるマスター装置及びスレーブ装置、通信方法
EP1858228A1 (en) * 2006-05-16 2007-11-21 THOMSON Licensing Network data storage system with distributed file management
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US8943218B2 (en) * 2006-10-12 2015-01-27 Concurrent Computer Corporation Method and apparatus for a fault resilient collaborative media serving array
EP2426884B1 (en) * 2009-04-28 2018-09-12 Alcatel Lucent A message transmission method and the corresponding device thereof
US9137278B2 (en) 2010-04-08 2015-09-15 Vasona Networks Inc. Managing streaming bandwidth for multiple clients
US9634946B2 (en) * 2010-04-08 2017-04-25 Vassona Networks Inc. Managing streaming bandwidth for multiple clients
US9374404B2 (en) 2010-08-26 2016-06-21 Vasona Networks Inc. Streaming media flows management
US9143838B2 (en) 2010-09-06 2015-09-22 Vasona Networks Inc. Device and method for quality assessment of encrypted streaming media flows
US9872185B1 (en) 2010-09-16 2018-01-16 Vasona Networks Ltd. Policy enforcer in a network that has a network address translator
US9832671B2 (en) 2010-09-16 2017-11-28 Vassona Networks Modeling radio access networks
US8902753B2 (en) 2010-09-16 2014-12-02 Vasona Networks Inc. Method, system and computer readable medium for affecting bit rate
US8817614B1 (en) 2010-09-16 2014-08-26 Vasona Networks Inc. Policy enforcer having load balancing capabilities
US8976655B2 (en) 2010-09-16 2015-03-10 Vasona Networks Inc. Evaluating a capacity of a cell of a radio access network
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
JP5857273B2 (ja) * 2011-05-17 2016-02-10 パナソニックIpマネジメント株式会社 ストリーム処理装置
US8665858B2 (en) 2011-09-15 2014-03-04 Vasona Networks Inc. Method and computer readable medium for gathering user equipment location information
CN103024456B (zh) * 2011-09-27 2016-02-24 腾讯科技(深圳)有限公司 一种在线视频播放方法及视频播放服务器
US8849776B2 (en) * 2011-10-17 2014-09-30 Yahoo! Inc. Method and system for resolving data inconsistency
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US9996547B2 (en) * 2013-07-25 2018-06-12 Dropbox, Inc. Prioritizing content item synchronization based on sharing
US20150095679A1 (en) 2013-09-30 2015-04-02 Sonos, Inc. Transitioning A Networked Playback Device Between Operating Modes
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US9300647B2 (en) 2014-01-15 2016-03-29 Sonos, Inc. Software application and zones
US9401971B2 (en) * 2014-01-31 2016-07-26 International Business Machines Corporation Resource recommendation, reuse and optimization through common context
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US20150324552A1 (en) 2014-05-12 2015-11-12 Sonos, Inc. Share Restriction for Media Items
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
WO2016049342A1 (en) 2014-09-24 2016-03-31 Sonos, Inc. Social media connection recommendations based on playback information
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
CN106325768B (zh) * 2016-08-19 2019-08-13 华中科技大学 一种双机存储系统及方法
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US11048519B2 (en) 2019-11-22 2021-06-29 T-Mobile Usa, Inc. System and method for asynchronous distribution of operations that require synchronous execution

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55157181A (en) 1979-05-25 1980-12-06 Nec Corp Buffer memory control system
US5421031A (en) * 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US5247347A (en) * 1991-09-27 1993-09-21 Bell Atlantic Network Services, Inc. Pstn architecture for video-on-demand services
US5367520A (en) * 1992-11-25 1994-11-22 Bell Communcations Research, Inc. Method and system for routing cells in an ATM switch
JP2666033B2 (ja) 1993-02-18 1997-10-22 日本アイ・ビー・エム株式会社 データ供給装置
ES2112976T3 (es) * 1993-05-19 1998-04-16 Alsthom Cge Alcatel Red de videos a peticion.
EP0625857B1 (en) * 1993-05-19 1998-06-24 ALCATEL BELL Naamloze Vennootschap Video server
US5581479A (en) 1993-10-15 1996-12-03 Image Telecommunications Corp. Information service control point, which uses different types of storage devices, which retrieves information as blocks of data, and which uses a trunk processor for transmitting information
US5473362A (en) * 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
JP3617089B2 (ja) 1993-12-27 2005-02-02 株式会社日立製作所 映像蓄積配送装置及び映像蓄積配送システム
US5732239A (en) * 1994-05-19 1998-03-24 Starlight Networks Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams
US5521631A (en) * 1994-05-25 1996-05-28 Spectravision, Inc. Interactive digital video services system with store and forward capabilities
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
DE69521374T2 (de) 1994-08-24 2001-10-11 Hyundai Electronics America Videoserver und diesen verwendendes System
US5712976A (en) * 1994-09-08 1998-01-27 International Business Machines Corporation Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
EP0716370A3 (en) * 1994-12-06 2005-02-16 International Business Machines Corporation A disk access method for delivering multimedia and video information on demand over wide area networks
US5729279A (en) * 1995-01-26 1998-03-17 Spectravision, Inc. Video distribution system
EP0727750B1 (en) * 1995-02-17 2004-05-12 Kabushiki Kaisha Toshiba Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses
US5608448A (en) * 1995-04-10 1997-03-04 Lockheed Martin Corporation Hybrid architecture for video on demand server
US5742892A (en) * 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
JP3201219B2 (ja) * 1995-05-29 2001-08-20 三菱電機株式会社 入出力処理システム
JPH08328760A (ja) 1995-06-01 1996-12-13 Hitachi Ltd ディスクアレイ装置
US5721815A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Media-on-demand communication system and method employing direct access storage device
JP3088268B2 (ja) 1995-06-21 2000-09-18 日本電気株式会社 ビデオ・オン・デマンドシステムにおけるビデオサーバ
US5678061A (en) * 1995-07-19 1997-10-14 Lucent Technologies Inc. Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks
US5790794A (en) * 1995-08-11 1998-08-04 Symbios, Inc. Video storage unit architecture
US6049823A (en) * 1995-10-04 2000-04-11 Hwang; Ivan Chung-Shung Multi server, interactive, video-on-demand television system utilizing a direct-access-on-demand workgroup
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5978843A (en) * 1995-12-06 1999-11-02 Industrial Technology Research Institute Scalable architecture for media-on-demand servers
US6128467A (en) 1996-03-21 2000-10-03 Compaq Computer Corporation Crosspoint switched multimedia system
US6032200A (en) * 1996-09-30 2000-02-29 Apple Computer, Inc. Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs
US5892915A (en) 1997-04-25 1999-04-06 Emc Corporation System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
US5974503A (en) * 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
JP4151991B2 (ja) * 1997-05-26 2008-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオサーバにおいてデータを取り出すシステム
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6134596A (en) * 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6374336B1 (en) * 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6415373B1 (en) * 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6182128B1 (en) 1998-03-05 2001-01-30 Touchmusic Entertainment Llc Real-time music distribution systems
US6101547A (en) * 1998-07-14 2000-08-08 Panasonic Technologies, Inc. Inexpensive, scalable and open-architecture media server
US6370579B1 (en) * 1998-10-21 2002-04-09 Genuity Inc. Method and apparatus for striping packets over parallel communication links
US6289383B1 (en) * 1998-11-30 2001-09-11 Hewlett-Packard Company System and method for managing data retrieval bandwidth
US6401126B1 (en) * 1999-03-10 2002-06-04 Microsoft Corporation File server system and method for scheduling data streams according to a distributed scheduling policy
US6289376B1 (en) 1999-03-31 2001-09-11 Diva Systems Corp. Tightly-coupled disk-to-CPU storage server
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
JP2001051890A (ja) 1999-08-10 2001-02-23 Toshiba Corp 仮想分散ファイルサーバシステム
US6389420B1 (en) * 1999-09-30 2002-05-14 Emc Corporation File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration
US6604155B1 (en) 1999-11-09 2003-08-05 Sun Microsystems, Inc. Storage architecture employing a transfer node to achieve scalable performance
JP2001166887A (ja) 1999-12-08 2001-06-22 Sony Corp データ記録再生装置及びデータ記録再生方法
US20020073172A1 (en) 1999-12-10 2002-06-13 Diva Systems Corp. Method and apparatus for storing content within a video on demand environment
US6834326B1 (en) * 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
US6571351B1 (en) * 2000-04-07 2003-05-27 Omneon Video Networks Tightly coupled secondary storage system and file system
US6898285B1 (en) 2000-06-02 2005-05-24 General Instrument Corporation System to deliver encrypted access control information to support interoperability between digital information processing/control equipment
US6542962B2 (en) * 2001-03-21 2003-04-01 Hitachi, Ltd. Multiple processor data processing system with mirrored data for distributed access
US20020157113A1 (en) 2001-04-20 2002-10-24 Fred Allegrezza System and method for retrieving and storing multimedia data
US20030046704A1 (en) 2001-09-05 2003-03-06 Indra Laksono Method and apparatus for pay-per-quality of service for bandwidth consumption in a video system
US6907466B2 (en) 2001-11-08 2005-06-14 Extreme Networks, Inc. Methods and systems for efficiently delivering data to a plurality of destinations in a computer network

Also Published As

Publication number Publication date
CA2547440A1 (en) 2005-06-23
US7788396B2 (en) 2010-08-31
DE04812687T1 (de) 2007-01-18
EP1692620B1 (en) 2010-11-03
EP1692620A4 (en) 2009-08-12
US20050114538A1 (en) 2005-05-26
WO2005057828A2 (en) 2005-06-23
EP1692620A2 (en) 2006-08-23
WO2005057828A3 (en) 2006-04-06
MXPA06006330A (es) 2006-08-23
JP2007513582A (ja) 2007-05-24
CA2547440C (en) 2011-01-11

Similar Documents

Publication Publication Date Title
JP4426589B2 (ja) 同期データ転送システム
CA2547442C (en) Virtual file system
US5915094A (en) Disk access method for delivering multimedia and video information on demand over wide area networks
JP4328207B2 (ja) 対話型ブロードバンドサーバシステム
US5815662A (en) Predictive memory caching for media-on-demand systems
US7254702B2 (en) Method of distributed recording whereby the need to transition to a second recording device from a first recording device is broadcast by the first recording device
KR101126859B1 (ko) 풀 기반 병렬 비디오 서버에서의 부하 밸런싱 및 승인 스케쥴링
US20080010647A1 (en) Network storage device
EP1393560A1 (en) System and method for retrieving and storing multimedia data
WO2003053059A1 (en) A server and method for storing files in a ring buffer
IL175837A (en) Synchronized data transfer system
EP1858230A1 (en) Network storage device with separated control and storage data interfaces
Kumar Video-server designs for supporting very large numbers of concurrent users
CN1902620A (zh) 虚拟文件系统
Kumar et al. A High Performance Multimedia Server For Broadband Network Enviromment
Lee VIOLA: video on local area networks
Tran Design and implementation of periodic broadcast video servers

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091210

R150 Certificate of patent or registration of utility model

Ref document number: 4426589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees