JP2902975B2 - メモリバッファ管理方法及びシステム - Google Patents
メモリバッファ管理方法及びシステムInfo
- Publication number
- JP2902975B2 JP2902975B2 JP7137832A JP13783295A JP2902975B2 JP 2902975 B2 JP2902975 B2 JP 2902975B2 JP 7137832 A JP7137832 A JP 7137832A JP 13783295 A JP13783295 A JP 13783295A JP 2902975 B2 JP2902975 B2 JP 2902975B2
- Authority
- JP
- Japan
- Prior art keywords
- stream
- buffer
- video
- disk
- streams
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
引渡されたビデオストリームを複数の顧客に供給するタ
イプの映画(ビデオ)オンデマンドシステムに関する。
理的に分散したネットワーク上の多数の顧客にビデオオ
ンデマンドサービスを提供することが可能である。ビデ
オはサーバー上の2次記憶装置 (例えば、ディスク及び
テープ記憶装置) に記憶され、そして顧客に引渡され
る。種々の映画の非一様な要求のために、2次記憶装置
間に負荷の不平衡を生ずることがある。前記状況では、
最も重い負荷の2次記憶装置が隘路になるに相違ない。
解法は、予想された負荷に基づいた複数の2次記憶装置
上に人気のある映画を静的に模写し、その映画の全体の
要求を、その映画のコピーを有する記憶装置間に広げう
るようにすることである。しかしながら、これは記憶空
間を要するので高価である。更に、一般に前記要求の正
確な予測ができないので、どの特定の映画の模写をどれ
だけ多く必要とするかを正確に決定することは困難であ
る。静的な模写は時間とともに変化する負荷の問題の処
理にも適しない。これは必要な模写の数が変ることがあ
るからである。
て、高い負荷のディスク又は他の2次記憶装置上にスト
リームを選択的に緩衝記憶することにより、バッファマ
ネジャはビデオサーバーの種々の "映画記憶" ディスク
上の負荷を平衡させる。本実施例は複数のディスクにわ
たる負荷の平衡に関して記述されるが、本発明の原理は
(テープ及びジュークボックスのような) 他の記憶装置
にわたる負荷の平衡にも適用できる。バッファの割振り
は、新規要求の到来によりディスク負荷が増すとき、又
は古い要求の一時停止又は停止によりバッファが使用可
能になるときにのみ起きる。
ームが読取りできるのに必要なメモリバッファの量は、
2つのストリーム間の時間間隔及び使用される圧縮方法
の関数である。新しいストリームが生成されて新しい対
の連続ストリームを形成する時点で、所要のバッファ空
間を推定することができる。
ームを緩衝記憶すべきかを決定するために、負荷の不平
衡に関する情報を用いて複数のサーバーディスクにわた
る負荷を平衡させる。ストリームは、それが開始又は再
開する時点で、その直前にある同じ映画のストリーム
(もしあれば) と連続する対を形成する。どの連続する
ストリームでも、前のストリームの対により持込まれた
ブロックを緩衝記憶することにより、次のストリームは
それらをディスクの代わりにバッファから読取ることが
できる。それゆえ、次の連続する対のストリームに関す
るバッファ要求は、要求されたブロックを記憶するのに
必要なバッファの量である。
リストから現時点で読取るストリームのリストを、バッ
ファ要求の上昇順に維持する。映画が模写される場合、
先行するストリームの対は、後続する対のストリームと
異なるディスクから読取ることがある。
つの目的は、複数のディスクにわたる負荷の不平衡を少
なくすることである。新しいストリームがディスク上に
負荷の不平衡を生じるとき、バッファマネジャは、当該
ディスクのストリームをバッファに切換えることによ
り、高い負荷のディスクの負荷を少なくしようと試み
る。負荷の不平衡は、高い負荷のディスク及びディスク
当りの平均負荷の間の差がしきい値を越える場合に存在
すると言われる。最も低いバッファ要求を有し且つ当該
ディスクからなおサービスを受けるストリームが選択さ
れる。十分なバッファを使用できない場合、十分なバッ
ファを使用できるまで高い負荷のディスクからのストリ
ームの緩衝記憶を停止することにより、バッファマネジ
ャは選択されたストリームを高い負荷のディスクから緩
衝記憶しようと試みる。
の帯域幅よりも大きい場合、バッファマネジャの負荷平
衡機能の目的は負荷平衡から損失の最小化に変る。この
ケースでは、負荷がそれらの対応する帯域幅の容量を越
える全てのディスクにわたる最低のバッファ要求を有す
るストリームが選択される。ひとたび特定のディスクの
負荷がディスクの最大帯域幅を下回れば、当該ディスク
上の後続のストリームは緩衝記憶を考慮されない。
模写の方法と一緒に使用し、統合されたアプローチを、
ビデオサーバーでの動的模写及び緩衝記憶に提供するる
ことができる。緩衝記憶及び動的模写アルゴリズムは、
更に相補的な特性を有するので、負荷急増に関する種々
のシナリオに適合する。
る時間に匹敵する時間スケールで起きる負荷急増には動
的模写が最も有効である。他方、このバッファマネジャ
は突然の負荷急増を処理することができる。従って、統
合された方法は突然及び緩慢な負荷不平衡をどちらも処
理することができる。
ンドシステムのブロック図である。顧客10はビデオサー
バー30から通信ネットワーク20を介して要求すると仮定
される。顧客は開始及び停止要求を提示できる。通信ネ
ットワーク20は、例えば、光学ファイバーケーブルを備
える非同期転送モード(ATM) ネットワークでもよい。
ワークステーション又はES/9000 メインフレーム (どち
らもニューヨーク州アーモンクのIBM 社から市販されて
いる) のような汎用コンピュータのフレームワーク内で
実現される。本発明の実施例と関連して、ビデオサーバ
ー30は、ビデオサーバーの通常の半導体メモリ (図示せ
ず) で実現されるバッファ記憶装置35と、幾つかのプロ
セス50、60と、ビデオサーバーオペレーティングシステ
ム又は主制御プログラム (図示せず) の制御の下に実行
する負荷平衡バッファマネジャ80とを備える。
数のディスク55及び(又は)、ビデオサーバー30に接続さ
れる他の映画記憶専用大容量記憶装置 (一般に2次記憶
装置と呼ばれる) に記憶される。ディスク55は、例え
ば、DASDアレイ又はRAIDシステムの形式でもよい。他の
ディスク (図示せず) はビデオサーバー30の作業データ
及びプログラムコードを記憶する。プログラムコード
は、サーバー主制御プログラム、映画スケジューリング
プログラム、顧客利用追跡プログラムのようなプロセ
ス、並びに種々の通信、I/O 及びバッファ管理プロセス
を含む。
自由プール70及びバッファプール40に分割される。自由
プール70はデータの記憶に使用できる空きブロックを含
み、バッファプール40はユーザに伝送できるデータを含
むブロックを有する。ディスクI/O プロセス50は、ディ
スク55からのビデオデータを、自由プール70から得られ
た空きバッファに読取り、そのバッファをバッファプー
ル40に挿入する。通信プロセス60はバッファプール40、
即ちディスク55からのビデオデータを顧客10に伝送す
る。負荷平衡バッファマネジャ80はバッファをストリー
ムに割振り、複数のディスクにわたる負荷不平衡を少な
くする、即ちシステム上の現在の負荷に応じてバッファ
から供給されるストリームの数が最大になるようにす
る。それ自身の内部メモリバッファを含む制御装置 (図
示せず) によりビデオサーバー30に顧客10が接続される
ことも当業者は理解するであろう。
ータは他の顧客への再伝送のために保持することができ
る。これは、再伝送されたブロックはディスク55から再
読取りしなくてもよいから、サーバー資源を保存する。
よって、バッファマネジャ80は、後に他の顧客に再伝送
されるバッファを有する一組の顧客を選択する。再伝送
されたブロックを受取る顧客は緩衝記憶された顧客と呼
ばれる。
造が維持される。図2に示されたこれらの構造はストリ
ームテーブル 110、映画テーブル 150、ディスクテーブ
ル 175、公称自由空間カウンタ185 及び実自由空間カウ
ンタ190 を含む。
各映画ストリームの1つのストリームエントリを含む。
各ストリームエントリは幾つかのフィールド120〜145を
含む。これらのフィールドは、それぞれ、ストリームの
識別子(ストリームID 120)、映画識別子(映画ID 125)、
ストリームを読取っているディスク(もしあれば)の識別
(ディスクID 127)、現に顧客(又は複数の顧客)に表示中
のブロック (現在ブロック130)、顧客に提供中のビデオ
データのソースを識別する読取り状態 (読取り状態13
5)、バッファプールからストリームをサービスするのに
必要なバッファの量の標識 (バッファ要求140)及び、ス
トリームのソースがバッファからディスクに移動可能で
あるかどうかを示すマーク(マーク145)を含む。
ることができる。これらの値は: ストリームがディスク
からの読取りである場合にはDISK、ストリームが緩衝記
憶されたストリームである場合にはBUFFER、ディスクか
らバッファに切換え中のプロセスにストリームがある場
合にはDISK_TO_BUFFER、そしてバッファからディスクに
切換え中のプロセスにストリームがある場合にはBUFFER
_TO_DISKである。
ァを割振るときバッファマネジャ80により用いられ、そ
して4つの値をとることができる。これらの値は: 空
白、ストリームをバッファからディスクに切換えできる
場合にはMOVABLE、前記切換えができない場合にはINMOV
ABLE、そしてバッファマネジャ80がストリームをバッフ
ァに切換えるように試みている場合にはCANDIDATEであ
る。
5)及び活動状態の映画毎の映画リストを含む。映画リス
トは現在ブロックの当該映画のストリームエレメントの
上昇順のリスト(170) である。映画テーブル150 は、リ
ストの先頭及び末尾エレメント (それぞれ、先頭ストリ
ーム160 及び末尾ストリーム165)に対するポインタを含
む。各ストリームエレメントはストリーム識別子 (スト
リームID 167) 及び次ストリームエレメント(次 169)の
ポインタを含む。
荷を追跡する。各ディスクについて、ディスクテーブル
175 はディスクの識別子(ディスクID 178)、ディスク上
の実負荷(180) 及び潜在負荷(182) を含む。潜在負荷
は、バッファを空にして別のディスク上の負荷を少なく
するために、このディスクに切換えできるストリームの
数を表わす。それはバッファマネジャ80がディスクにバ
ッファを割振るときに用いられる。
5 及び実自由空間カウンタ190 は自由プール70内の使用
できるバッファ空間の量の追跡に用いられる。実自由空
間カウンタ190 は使用できるバッファの全量に初期化さ
れ、自由プール70内の実際に使用できるバッファの量を
追跡するために用いられる。
バッファ空間の大部分 (例えば、90%) に初期化され
る。公称自由空間カウンタ185 はバッファマネジャ80が
空間の割振り及び割振り解除をするときに用いられる、
即ち、バッファ空間を割振るとき、バッファマネジャ80
は公称自由空間カウンタ185 により指定された量の空間
のみを割振る。これは、圧縮比率の変動がストリームに
より要求された実際のバッファの量を変動させるためで
ある。よって、ときどきストリームはバッファマネジャ
80がそれに割振ったよりも多いか又は少ないバッファ空
間を要求することがある。公称及び実自由空間カウンタ
の初期値間の差 (例えば、10%) は、この変動の範囲内
で適応するために用いられる緩衝である。
を処理する流れ図を示す。ステップ210 で新規要求が到
着すると、ステップ220 でバッファマネジャ80は前記要
求の新しいストリームエントリを生成し、それをストリ
ームテーブル110 に挿入する。ストリームエントリの読
取り状態がDISKにセットされる。現在ブロック130 は要
求されたブロックにセットされ、そしてストリームエン
トリは、その位置の決定のために、現在ブロックを用い
る映画の映画リストに挿入される。
画リスト170 を走査し、前記映画に最も近い先行ストリ
ーム、即ち、現在ブロックがこの要求の現在ブロックに
最も近い映画を読取る全てのストリーム間のストリーム
を、もしあれば、決定する。前記ブロックが存在しない
場合、ステップ240 でバッファマネジャ80は、新規要求
処理プロセスから脱出する。このような要求が存在する
場合、ステップ240 でバッファマネジャ80はストリーム
エントリ内のバッファ要求フィールド140 を、直前の先
行するストリーム及び現在の要求の間の全てのブロック
を緩衝記憶するために必要な記憶容量にセットする。ス
テップ255 でバッファマネジャ80は緩衝記憶モードを決
定する。全てのディスク上の負荷がそれらの対応する負
荷しきい値よりも大きい場合、バッファマネジャ80は、
バッファから供給されるストリームの数を最大化するモ
ードに切換える。これは、例えば、米国特許出願第08/2
04,038(1994年3月1日出願) に示すように達成すること
ができる。さもなければ、バッファマネジャ80はこの要
求にサービスするディスクを (ディスク55のなかから)
選択し、そしてステップ260 で前記選択されたディスク
上の負荷を更新する。
80は選択されたディスク上の負荷が予め指定されたしき
い値よりも大きいかどうかを判定する。もし大きくなけ
れば、ステップ280 で、バッファマネジャ80は新規要求
処理プロセスから脱出する。負荷がしきい値よりも大き
い場合、ステップ290 で、バッファマネジャ80は、スト
リームテーブル110 を検査し、ディスクから供給され
る、最も低いバッファ要求を有するストリーム (BUFFER
又はBUFFER_TO_DISKに等しい読取り状態135)を見つけ、
そして当該特定のストリームのストリームエントリのマ
ークフィールド145 をCANDIDATE にセットする。そし
て、ステップ295 でバッファマネジャ80は図4の "候補
ストリーム移動" 手順を呼出し、そして新規要求処理プ
ロセスから脱出する。
ム移動" 手順について説明する。ステップ300 でバッフ
ァマネジャ80は使用できる空間を検査し、候補要求に適
応する自由なバッファ空間が存在するかどうかを判定す
る。使用できる空間は公称自由空間185 及び、移動可能
なストリーム (MOVABLE に等しいマーク145 を有するス
トリーム) により保持された空間である。ループを通る
最初のパスには、このようなストリームはない。十分な
バッファ空間の使用ができる場合、バッファマネジャ80
は、要求を緩衝記憶するステップ370〜410を開始する。
ッファマネジャ80は、ある他のストリームを置き換える
ことにより、ある空間を空けるように試みる。最初、ス
テップ310 で、バッファマネジャ80は、もっと多くのア
ンマークされたストリームがあるかどうかを検査する。
アンマークされたストリームがない場合、更にバッファ
を空にしえないので、ステップ315 で、バッファマネジ
ャ80は全てのストリームエレメントをアンマークし且つ
ディスクの潜在負荷をリセットし、そしてステップ320
で失敗を呼出しプロセスに戻す。アンマークされたスト
リームがある場合、ステップ330 で、バッファマネジャ
80は最大のバッファ要求140 を有するアンマークされた
ストリームを見つける。そして、ステップ340 で、バッ
ファマネジャ80はこのストリームをディスクに移動し且
つそのバッファを空にしうるかどうかを判定する。スト
リームをディスクに移動しても、アンマークされたスト
リームのディスク上に投影された負荷が候補ストリーム
のディスク上に投影された負荷を上回らない場合、アン
マークされたストリームの移動ができる。
に投影された負荷は実負荷 180、潜在負荷 182及び、ア
ンマークされたストリームにより課された負荷の和であ
る。候補ストリームのディスク上に投影された負荷は
(実負荷 180) − (候補ストリームの負荷) である。ア
ンマークされたストリームの移動ができない場合、ステ
ップ360 で、そのマークフィールド145 がUNMOVABLE に
セットされる。それを移動できる場合、ステップ350
で、そのマークフィールド145 はMOVABLE にセットさ
れ、そしてアンマークされたストリームのディスクの潜
在負荷フィールド182は、アンマークされたストリーム
の負荷だけ増分される。そして、どちらの場合も、バッ
ファマネジャ80はステップ300 に戻る。
トリームのバッファ要求よりも大きい (即ち、候補スト
リームを移動できる) と判定された場合、バッファマネ
ジャ80はステップ370 を実行する。ステップ370 で、移
動可能とマークされた全てのストリームのバッファは、
公称自由空間カウンタ185 を、ストリームのバッファ要
求フィールド140 だけ増分することにより解放される。
そして、ステップ380で、ストリームの読取り状態135
をDISKにセットすることにより、ストリームのソースが
移動される。ステップ390 で、候補ストリームのバッフ
ァ要求フィールド140 だけ公称自由空間カウンタ185 が
減分され且つ候補ストリームの読取り状態135 がDISK_T
O_BUFFERにセットされ、候補ストリームにバッファを割
振る。最後に、ステップ400 で、ディスク上の新しい負
荷を反映するためにディスクの実負荷180 が更新され、
ディスクの潜在負荷フィールド182 が0にセットされ、
そしてそのマークフィールド145 が空白にセットされ
る。そしてステップ410 でバッファマネジャ80は成功を
呼出しプロセスに戻す。
ときバッファマネジャが実行する動作を示す。停止要求
は顧客が映画の表示を終了する要求である。ステップ52
0 で、ストリームテーブル110 と、映画テーブル150 内
の映画リストとからストリームのストリームエントリが
除去される。ステップ530 で、バッファマネジャ80はス
トリームがバッファを割振ったかどうかを、その読取り
状態135(BUFFER又はDISK_TO_BUFFER) を検査することに
より判定する。バッファが割振られていない場合、ステ
ップ540 で、バッファマネジャ80は停止要求処理手順か
ら脱出する。ストリームがバッファを割振っていた場合
には、ステップ550 で、バッファマネジャ80は、バッフ
ァ要求140 だけ公称自由空間カウンタ185 を増分するこ
とにより、バッファを空にする。ステップ555 で、バッ
ファマネジャ80は緩衝記憶モード(負荷平衡又はバッフ
ァから供給されたストリームの数の最大化) を決定す
る。それでも全てのディスク上の負荷がそれらの対応す
る負荷しきい値よりも大きい場合、バッファマネジャ80
は、バッファから供給されるストリームの数を最大化す
るモードに移行するか (場合によっては、前記モードに
留まる)。 さもなければ、バッファマネジャ80は、図6
に示す "緩衝記憶する新しいストリームを探索する" ス
テップを実行する。本発明の負荷平衡バッファマネジャ
の原理は顧客の"一時停止" 要求にも適用できる。
たとき緩衝記憶されていないストリームを探して緩衝記
憶するためにバッファマネジャ80が実行するステップを
示す。ステップ610 で、バッファマネジャ80は所定の負
荷不平衡しきい値よりも高い実負荷を有するがディスク
のリストを作成する。負荷不平衡しきい値はシステム管
理装置により指定するか又はシステムで実行する負荷平
衡プロセスで決定することができる。そして、ステップ
620 で、バッファマネジャ80は下降順の負荷のリストに
ある複数のディスクにわたるループを開始する。バッフ
ァマネジャ80は、ステップ630 で、選択されたディスク
について最も低いバッファ要求を有するストリームを探
し、このストリームを候補ストリームとしてマークし、
そしてステップ640 で、(図4の) "候補ストリング移
動" 手順を実行する。候補ストリーム移動手順が終了し
たとき、ステップ650 で、バッファマネジャ80は、ルー
プが終了しているかどうかを検査し、もしそうなら、ス
テップ550 で "緩衝記憶する新しいストリームの探索"
手順から脱出する。さもなければ、バッファマネジャ80
は、ステップ670 で次のディスクを選択した後、ステッ
プ630 で開始するループを再実行する。
0、通信プロセス60及び負荷平衡バッファマネジャ80の
間の対話を示す。ステップ710 で、ディスクI/O プロセ
ス50はディスクからブロックを読取る要求を顧客から受
取る。要求されたブロックを読取るI/O 動作を開始する
前に、ステップ720 で、ディスクI/O プロセスはバッフ
ァプールを調べ、要求されたブロックが読込まれている
かどうかを判定する。それが読込まれている場合、ステ
ップ725 で、ディスクI/O プロセスはストリームの読取
り状態を検査し、それがDISK_TO_BUFFERであるかどうか
を調べる。それがDISK_TO_BUFFERではない場合には、ス
テップ730 でディスクI/O プロセスは終了する。それが
DISK_TO_BUFFERである場合、ディスクI/O プロセスは、
ステップ726 で読取り状態をBUFFERに変更した後、ステ
ップ730 で終了する。ステップ720で、要求されたブロ
ックが読込まれている場合には、ステップ740 で、ディ
スクI/O プロセスは自由プールから空のバッファを取得
し、実自由空間カウンタを減分し、そしてディスクI/O
を開始した後、ステップ750 で終了する。
ロセス60は次のストリームの読取り状態を検査する。読
取り状態がBUFFER又はDISK_TO_BUFFERである場合、ステ
ップ770 で通信プロセスは終了する。さもなければ、ス
テップ765 で、通信プロセスは実自由空間カウンタ190
を増分し、そしてブロックを自由プール70に戻す。
ーバーノードに接続された分散ノードを有するシステム
のブロック図である。この実施例では、分散ノードは、
前記の原理に従って複数のビデオサーバーにわたる負荷
を平衡する負荷平衡バッファマネジャを備える。
の事項を開示する。 (1) ディスクから供給されたビデオストリームから複
数の顧客に供給される、ビデオサーバー内のメモリバッ
ファを管理する方法であって、複数のビデオストリーム
のバッファ要求として、同じビデオを運ぶ直前のビデオ
ストリームから各ビデオストリームを分離するフレーム
の数を決定するステップと、ストリームの各々のバッフ
ァ要求により順序付けられた、ディスクの各々から供給
されるストリームのリストを生成するステップと、複数
のディスクにわたる負荷を平衡する時期を決定するステ
ップと、最小のバッファ要求を有するストリームから始
まり、より大きいバッファ要求を有するストリームに進
む、バッファからのストリームを、ストリームのバッフ
ァ要求を満足できなくなるまで供給するように、複数の
ディスクのうちの最も重い負荷を有するディスクにある
ストリームにバッファを割振るステップと、直ぐ前に先
行するストリームのブロックを、その次のストリームに
割振られたバッファ内に保持し、そして次のストリーム
を見る顧客によりブロックが読取られたときそれらをバ
ッファから捨てるステップとを含む方法。 (2) ビデオの開始、停止、一時停止及び再開のどれか
が起きるときリストを更新するステップと、バッファを
更新して最も重い負荷のディスクから供給されるストリ
ームに再割振りした後に、ディスクのうちの最も重い負
荷のディスクの更新、識別に応答して、最小のバッファ
要求を有するストリームから開始し、そしてストリーム
のバッファ要求を満たすことができなくなるまで、より
大きい要求を有するストリームに進むステップとを更に
含む、請求項1に記載の方法。 (3) 複数の顧客がディスクから供給されたビデオスト
リームから供給される、ビデオサーバー内のメモリバッ
ファを管理する方法であって、同じビデオを運ぶ直前の
ビデオストリームから各ビデオストリームを分離するフ
レームの数を、複数のビデオストリームのバッファ要求
として決定するステップと、ストリームの各々のバッフ
ァ要求により順序付けられた、ディスクの各々から供給
されるストリームのリストを生成するステップと、緩衝
記憶モードを、(a) 複数のディスクにわたる負荷の平
衡、及び(b) バッファから供給できるストリームの最大
化のモードから選択するステップと、モードが複数のデ
ィスクにわたる負荷を平衡しているとき、バッファから
ストリームを供給するように、ディスクのうちの最も重
い負荷を有するディスク上のストリームにバッファを割
振り、最小のバッファ要求を有するストリームから開始
し、そしてストリームのバッファ要求を満たすことがで
きなくなるまで、より大きいバッファ要求を有するスト
リームに進むステップと、モードがバッファから供給で
きるストリームを最大化しているとき、バッファ要求を
検査し、そしてその機能として、複数のディスクにわた
る負荷分散に関係なく、そこから供給できるストリーム
の数を最大化するようにバッファを割振るステップとを
含む方法。 (4) ディスクから供給されたビデオストリームから複
数の顧客に供給される、ビデオサーバー内のメモリバッ
ファを管理するシステムであって、複数のビデオストリ
ームのバッファ要求として、同じビデオを運ぶ直前のビ
デオストリームから各ビデオストリームを分離するフレ
ームの数を決定する手段と、ストリームの各々のバッフ
ァ要求により順序付けられた、ディスクの各々から供給
されるストリームのリストを生成する手段と、複数のデ
ィスクにわたる負荷を平衡する時期を決定する手段と、
最小のバッファ要求を有するストリームから始まり、よ
り大きいバッファ要求を有するストリームに進む、バッ
ファからのストリームを、ストリームのバッファ要求を
満足できなくなるまで供給するように、複数のディスク
のうちの最も重い負荷を有するディスクにあるストリー
ムにバッファを割振る手段と、直ぐ前に先行するストリ
ームのブロックを、その次のストリームに割振られたバ
ッファ内に保持し、そして次のストリームを見る顧客に
よりブロックが読取られたときそれらをバッファから捨
てる手段とを備えるシステム。 (5) ビデオ記憶素子により供給されたビデオストリー
ムから複数の顧客に供給される、ビデオサーバー内のメ
モリバッファを管理する方法であって、複数のビデオス
トリームのバッファ要求として、同じビデオを運ぶ直前
のビデオストリームから各ビデオストリームを分離する
フレームの数を決定するステップと、ストリームの各々
のバッファ要求により順序付けられた、記憶素子の各々
から供給されるストリームのリストを生成するステップ
と、最小のバッファ要求を有するストリームから始ま
り、より大きいバッファ要求を有するストリームに進
む、バッファからのストリームを、ストリームのバッフ
ァ要求を満足できなくなるまで供給するように、複数の
記憶素子のうちの最も重い負荷を有する記憶素子にある
ストリームにバッファを割振るステップと、直ぐ前に先
行するストリームのブロックを、その次のストリームに
割振られたバッファ内に保持し、そして次のストリーム
を見る顧客によりブロックが読取られたときそれらをバ
ッファから捨てるステップとを含む方法。 (6) ビデオの開始、停止、一時停止及び再開のどれか
が起きるときリストを更新するステップと、バッファを
更新し、最も重い負荷を有するディスクから供給される
ストリームに再割振りしたのち複数のディスクのうちの
最も重い負荷を有するディスクの更新、識別に応答し
て、最小のバッファ要求を有するストリームから開始
し、そしてストリームのバッファ要求を満足できなくな
るまで、より大きいバッファ要求を有するストリームに
進むステップとを更に含む、請求項5に記載の方法。
テムのブロック図である。
タ構造を示す図である。
求の処理の流れ図である。
の移動の流れ図である。
ャが実行する動作の流れ図である。
憶されたストリームを探すために図1のバッファマネジ
ャが実行するステップの流れ図である。
ロセス及び通信プロセスの間の対話を示す図である。
ロセス及び通信プロセスの間の対話を示す図である。
に接続された分散ノードを有するシステムのブロック図
である。
Claims (6)
- 【請求項1】ディスクから供給されたビデオストリーム
から複数の顧客に供給される、ビデオサーバー内のメモ
リバッファを管理する方法であって、 複数のビデオストリームのバッファ要求として、同じビ
デオを運ぶ直前のビデオストリームから各ビデオストリ
ームを分離するフレームの数を決定するステップと、 ストリームの各々のバッファ要求により順序付けられ
た、ディスクの各々から供給されるストリームのリスト
を生成するステップと、 複数のディスクにわたる負荷を平衡する時期を決定する
ステップと、 最小のバッファ要求を有するストリームから始まり、よ
り大きいバッファ要求を有するストリームに進む、バッ
ファからのストリームを、ストリームのバッファ要求を
満足できなくなるまで供給するように、複数のディスク
のうちの最も重い負荷を有するディスクにあるストリー
ムにバッファを割振るステップと、 直ぐ前に先行するストリームのブロックを、その次のス
トリームに割振られたバッファ内に保持し、そして次の
ストリームを見る顧客によりブロックが読取られたとき
それらをバッファから捨てるステップとを含む方法。 - 【請求項2】ビデオの開始、停止、一時停止及び再開の
どれかが起きるときリストを更新するステップと、 バッファを更新して最も重い負荷のディスクから供給さ
れるストリームに再割振りした後に、ディスクのうちの
最も重い負荷のディスクの更新、識別に応答して、最小
のバッファ要求を有するストリームから開始し、そして
ストリームのバッファ要求を満たすことができなくなる
まで、より大きい要求を有するストリームに進むステッ
プとを更に含む、請求項1に記載の方法。 - 【請求項3】複数の顧客がディスクから供給されたビデ
オストリームから供給される、ビデオサーバー内のメモ
リバッファを管理する方法であって、 同じビデオを運ぶ直前のビデオストリームから各ビデオ
ストリームを分離するフレームの数を、複数のビデオス
トリームのバッファ要求として決定するステップと、 ストリームの各々のバッファ要求により順序付けられ
た、ディスクの各々から供給されるストリームのリスト
を生成するステップと、 緩衝記憶モードを、(a) 複数のディスクにわたる負荷の
平衡、及び(b) バッファから供給できるストリームの最
大化のモードから選択するステップと、 モードが複数のディスクにわたる負荷を平衡していると
き、バッファからストリームを供給するように、ディス
クのうちの最も重い負荷を有するディスク上のストリー
ムにバッファを割振り、最小のバッファ要求を有するス
トリームから開始し、そしてストリームのバッファ要求
を満たすことができなくなるまで、より大きいバッファ
要求を有するストリームに進むステップと、 モードがバッファから供給できるストリームを最大化し
ているとき、バッファ要求を検査し、そしてその機能と
して、複数のディスクにわたる負荷分散に関係なく、そ
こから供給できるストリームの数を最大化するようにバ
ッファを割振るステップとを含む方法。 - 【請求項4】ディスクから供給されたビデオストリーム
から複数の顧客に供給される、ビデオサーバー内のメモ
リバッファを管理するシステムであって、 複数のビデオストリームのバッファ要求として、同じビ
デオを運ぶ直前のビデオストリームから各ビデオストリ
ームを分離するフレームの数を決定する手段と、 ストリームの各々のバッファ要求により順序付けられ
た、ディスクの各々から供給されるストリームのリスト
を生成する手段と、 複数のディスクにわたる負荷を平衡する時期を決定する
手段と、 最小のバッファ要求を有するストリームから始まり、よ
り大きいバッファ要求を有するストリームに進む、バッ
ファからのストリームを、ストリームのバッファ要求を
満足できなくなるまで供給するように、複数のディスク
のうちの最も重い負荷を有するディスクにあるストリー
ムにバッファを割振る手段と、 直ぐ前に先行するストリームのブロックを、その次のス
トリームに割振られたバッファ内に保持し、そして次の
ストリームを見る顧客によりブロックが読取られたとき
それらをバッファから捨てる手段とを備えるシステム。 - 【請求項5】ビデオ記憶素子により供給されたビデオス
トリームから複数の顧客に供給される、ビデオサーバー
内のメモリバッファを管理する方法であって、 複数のビデオストリームのバッファ要求として、同じビ
デオを運ぶ直前のビデオストリームから各ビデオストリ
ームを分離するフレームの数を決定するステップと、 ストリームの各々のバッファ要求により順序付けられ
た、記憶素子の各々から供給されるストリームのリスト
を生成するステップと、 最小のバッファ要求を有するストリームから始まり、よ
り大きいバッファ要求を有するストリームに進む、バッ
ファからのストリームを、ストリームのバッファ要求を
満足できなくなるまで供給するように、複数の記憶素子
のうちの最も重い負荷を有する記憶素子にあるストリー
ムにバッファを割振るステップと、 直ぐ前に先行するストリームのブロックを、その次のス
トリームに割振られたバッファ内に保持し、そして次の
ストリームを見る顧客によりブロックが読取られたとき
それらをバッファから捨てるステップとを含む方法。 - 【請求項6】ビデオの開始、停止、一時停止及び再開の
どれかが起きるときリストを更新するステップと、 バッファを更新し、最も重い負荷を有するディスクから
供給されるストリームに再割振りしたのち複数のディス
クのうちの最も重い負荷を有するディスクの更新、識別
に応答して、最小のバッファ要求を有するストリームか
ら開始し、そしてストリームのバッファ要求を満足でき
なくなるまで、より大きいバッファ要求を有するストリ
ームに進むステップとを更に含む、請求項5に記載の方
法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/280,419 US5544327A (en) | 1994-03-01 | 1994-07-26 | Load balancing in video-on-demand servers by allocating buffer to streams with successively larger buffer requirements until the buffer requirements of a stream can not be satisfied |
US280419 | 1994-07-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0855137A JPH0855137A (ja) | 1996-02-27 |
JP2902975B2 true JP2902975B2 (ja) | 1999-06-07 |
Family
ID=23072999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7137832A Expired - Lifetime JP2902975B2 (ja) | 1994-07-26 | 1995-06-05 | メモリバッファ管理方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (2) | US5544327A (ja) |
EP (1) | EP0694830B1 (ja) |
JP (1) | JP2902975B2 (ja) |
DE (1) | DE69523386T2 (ja) |
Families Citing this family (158)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289390B1 (en) | 1993-08-18 | 2001-09-11 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
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 |
JPH08152976A (ja) * | 1994-11-28 | 1996-06-11 | Fujitsu Ltd | 記憶装置のアクセス方法 |
DE69527276T2 (de) * | 1995-03-31 | 2003-03-06 | Sony Service Ct Europe Nv | Informationsdienstsystem mit Archiv- und Abgabespeichereinheit |
EP0735763B1 (en) | 1995-03-31 | 2000-07-05 | Sony Europa B.V. | A system for information on demand |
US5808607A (en) * | 1995-04-07 | 1998-09-15 | International Business Machines Corporation | Multi-node media server that provides video to a plurality of terminals from a single buffer when video requests are close in time |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US6901433B2 (en) * | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
US6181867B1 (en) * | 1995-06-07 | 2001-01-30 | Intervu, Inc. | Video storage and retrieval system |
US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
US5724543A (en) * | 1995-06-19 | 1998-03-03 | Lucent Technologies Inc. | Video data retrieval method for use in video server environments that use striped disks |
US5933599A (en) * | 1995-07-17 | 1999-08-03 | Microsoft Corporation | Apparatus for presenting the content of an interactive on-line network |
US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
US5956509A (en) * | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
JPH0991230A (ja) * | 1995-09-26 | 1997-04-04 | Matsushita Electric Ind Co Ltd | データ転送システム |
US6047309A (en) * | 1995-10-02 | 2000-04-04 | International Business Machines Corporation | Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics |
EP1457897A3 (en) * | 1995-10-26 | 2005-04-20 | Matsushita Electric Industrial Co., Ltd. | File System |
US5933603A (en) * | 1995-10-27 | 1999-08-03 | Emc Corporation | Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location |
US5948062A (en) * | 1995-10-27 | 1999-09-07 | Emc Corporation | Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access |
US6061504A (en) * | 1995-10-27 | 2000-05-09 | Emc Corporation | Video file server using an integrated cached disk array and stream server computers |
JPH09179820A (ja) * | 1995-12-26 | 1997-07-11 | Mitsubishi Electric Corp | 負荷分散方式及び方法 |
US6018765A (en) * | 1996-01-23 | 2000-01-25 | Storage Concepts, Inc. | Multi-channel multimedia data server |
JPH10275059A (ja) * | 1996-04-30 | 1998-10-13 | Matsushita Electric Ind Co Ltd | 記憶デバイス制御装置及び管理システム |
US6408359B1 (en) | 1996-04-30 | 2002-06-18 | Matsushita Electric Industrial Co., Ltd. | Storage device management system and method for distributively storing data in a plurality of storage devices |
JP3333396B2 (ja) * | 1996-07-22 | 2002-10-15 | ケイディーディーアイ株式会社 | マルチメディアメール受信手段 |
US5893140A (en) * | 1996-08-14 | 1999-04-06 | Emc Corporation | File server having a file system cache and protocol for truly safe asynchronous writes |
US6298386B1 (en) | 1996-08-14 | 2001-10-02 | Emc Corporation | Network file server having a message collector queue for connection and connectionless oriented protocols |
US5940396A (en) * | 1996-08-21 | 1999-08-17 | 3Com Ltd. | Method of routing in an asynchronous transfer mode network |
US6005600A (en) * | 1996-10-18 | 1999-12-21 | Silcon Graphics, Inc. | High-performance player for distributed, time-based media |
KR100404853B1 (ko) * | 1996-11-02 | 2004-01-13 | 엘지전자 주식회사 | 주문형비디오시스템의자동세션해제방법 |
KR100270354B1 (ko) * | 1996-11-20 | 2000-11-01 | 정선종 | 이기종망간의 중계 서버 및 실시간 중계 방법 |
US6185621B1 (en) * | 1997-03-25 | 2001-02-06 | Philips Electronics N.A. Corp. | Direct copying between disk blocks in memory onto a network as sequential access files |
US5987621A (en) * | 1997-04-25 | 1999-11-16 | Emc Corporation | Hardware and software failover services for a file server |
JPH10303840A (ja) * | 1997-04-25 | 1998-11-13 | Sony Corp | マルチチャンネル放送システム |
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 |
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 |
US5916303A (en) * | 1997-05-21 | 1999-06-29 | International Business Machines Corporation | Optimal movie distribution on video servers in an n-level interactive TV system |
DE69830965T2 (de) * | 1997-05-26 | 2006-05-24 | Koninklijke Philips Electronics N.V. | System zur wiedergabe von daten in einem video-server |
JPH11150723A (ja) * | 1997-07-29 | 1999-06-02 | Matsushita Electric Ind Co Ltd | Vodサービスシステム |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
JP3810530B2 (ja) * | 1997-09-18 | 2006-08-16 | 富士通株式会社 | ビデオサーバシステム、コンテンツ動的配置装置及びコンテンツ動的配置方法 |
WO1999014954A1 (en) * | 1997-09-18 | 1999-03-25 | Microsoft Corporation | Continuous media file server system and method for scheduling disk reads while playing multiple files having different transmission rates |
US6088766A (en) * | 1997-10-06 | 2000-07-11 | Emc Corporation | Method for exchanging data blocks on disk storage devices utilizing disk access statistics and testing for the effect of a change |
US6237063B1 (en) * | 1997-10-06 | 2001-05-22 | Emc Corporation | Load balancing method for exchanging data in different physical disk storage devices in a disk array storage device independently of data processing system operation |
US6189071B1 (en) * | 1997-10-06 | 2001-02-13 | Emc Corporation | Method for maximizing sequential output in a disk array storage device |
US6061761A (en) * | 1997-10-06 | 2000-05-09 | Emc Corporation | Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing |
US5928331A (en) * | 1997-10-30 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Distributed internet protocol-based real-time multimedia streaming architecture |
US5996025A (en) * | 1997-10-31 | 1999-11-30 | International Business Machines Corp. | Network transparent access framework for multimedia serving |
US6330609B1 (en) | 1997-11-07 | 2001-12-11 | Lucent Technologies, Inc. | Admission control system and method for media-on-demand servers |
US6016507A (en) * | 1997-11-21 | 2000-01-18 | International Business Machines Corporation | Method and apparatus for deleting a portion of a video or audio file from data storage prior to completion of broadcast or presentation |
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 |
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 |
CA2316239A1 (en) * | 1997-12-24 | 1999-07-08 | 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 |
US6631522B1 (en) | 1998-01-20 | 2003-10-07 | David Erdelyi | Method and system for indexing, sorting, and displaying a video database |
US7054935B2 (en) | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US8296396B2 (en) | 1998-02-10 | 2012-10-23 | Level 3 Communications, Llc | Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions |
JPH11252550A (ja) * | 1998-03-02 | 1999-09-17 | Sony Corp | デイジタル信号符号化装置、デイジタル信号復号化装置、デイジタル信号伝送装置及び方法 |
US6208623B1 (en) | 1998-04-13 | 2001-03-27 | 3Com Corporation | Method of combining PNNI and E-IISP in an asynchronous transfer mode network |
US6396842B1 (en) | 1998-04-30 | 2002-05-28 | 3Com Corporation | Method of searching using longest match based Randix Search Trie with variable length keys and having prefix capability |
US6212188B1 (en) | 1998-05-01 | 2001-04-03 | 3Com Corporation | Method of source routing in an asynchronous transfer mode network when a node is in an overload state |
US6192043B1 (en) | 1998-05-01 | 2001-02-20 | 3Com Corporation | Method of caching routes in asynchronous transfer mode PNNI networks |
US6262984B1 (en) | 1998-05-12 | 2001-07-17 | 3Com Corporation | Method of preventing overlapping branches in point to multipoint calls in PNNI networks |
US6223149B1 (en) | 1998-05-28 | 2001-04-24 | 3Com Corporation | Non-distributed LAN emulation server redundancy method |
US6205146B1 (en) | 1998-05-28 | 2001-03-20 | 3Com Corporation | Method of dynamically routing to a well known address in a network |
US6195703B1 (en) | 1998-06-24 | 2001-02-27 | Emc Corporation | Dynamic routing for performance partitioning in a data processing network |
US6438595B1 (en) | 1998-06-24 | 2002-08-20 | Emc Corporation | Load balancing using directory services in a data processing system |
US6260120B1 (en) | 1998-06-29 | 2001-07-10 | Emc Corporation | Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement |
US6295575B1 (en) | 1998-06-29 | 2001-09-25 | Emc Corporation | Configuring vectors of logical storage units for data storage partitioning and sharing |
US6421711B1 (en) * | 1998-06-29 | 2002-07-16 | Emc Corporation | Virtual ports for data transferring of a data storage system |
US6973455B1 (en) | 1999-03-03 | 2005-12-06 | Emc Corporation | File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator |
US6591305B2 (en) * | 1998-06-30 | 2003-07-08 | Sun Microsystems, Inc. | Method and system for delivering data from a server object to a client object using a non-proprietary data transfer protocol |
US6182197B1 (en) | 1998-07-10 | 2001-01-30 | International Business Machines Corporation | Real-time shared disk system for computer clusters |
US7305451B2 (en) * | 1998-08-24 | 2007-12-04 | Microsoft Corporation | System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network |
KR100303087B1 (ko) * | 1998-09-30 | 2001-09-24 | 전주범 | 주문형비디오시스템에있어서세션및자원운용기및그운용방법 |
GB9821800D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821763D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821770D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821766D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821789D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Jitter handling |
GB9821768D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
GB9821792D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
US6587431B1 (en) * | 1998-12-18 | 2003-07-01 | Nortel Networks Limited | Supertrunking for packet switching |
US6564005B1 (en) | 1999-01-28 | 2003-05-13 | International Business Machines Corporation | Multi-user video hard disk recorder |
US6324581B1 (en) | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
US6317808B1 (en) * | 1999-03-26 | 2001-11-13 | Adc Telecommunications, Inc. | Data storage system and method of routing or assigning disk write requests among a set of disks using weighted available disk space values |
US6483808B1 (en) | 1999-04-28 | 2002-11-19 | 3Com Corporation | Method of optimizing routing decisions over multiple parameters utilizing fuzzy logic |
US6577653B1 (en) | 1999-04-28 | 2003-06-10 | 3Com Corporation | Apparatus for and method of establishing a route utilizing multiple parallel segments in an asynchronous transfer mode network |
US6594235B1 (en) | 1999-04-28 | 2003-07-15 | 3Com Corporation | Method of triggering reroutes in an asynchronous transfer mode network |
US6456600B1 (en) | 1999-04-28 | 2002-09-24 | 3Com Corporation | Complex node representation in an asynchronous transfer mode PNNI network |
US6473408B1 (en) | 1999-05-19 | 2002-10-29 | 3Com Corporation | Building a hierarchy in an asynchronous transfer mode PNNI network utilizing proxy SVCC-based RCC entities |
US6614792B1 (en) | 1999-05-27 | 2003-09-02 | 3Com Corporation | Proxy MPC for providing MPOA services to legacy lane clients in an asynchronous transfer mode network |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6742019B1 (en) | 1999-07-23 | 2004-05-25 | International Business Machines Corporation | Sieved caching for increasing data rate capacity of a heterogeneous striping group |
JP3636947B2 (ja) * | 1999-08-31 | 2005-04-06 | 株式会社日立製作所 | 情報サービスシステム、サービス利用クライアント及びサービス規制方法 |
US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
US6889257B1 (en) * | 1999-12-03 | 2005-05-03 | Realnetworks, Inc. | System and method of transmitting data packets |
US6687846B1 (en) | 2000-03-30 | 2004-02-03 | Intel Corporation | System and method for error handling and recovery |
US7278153B1 (en) * | 2000-04-12 | 2007-10-02 | Seachange International | Content propagation in interactive television |
US7318107B1 (en) | 2000-06-30 | 2008-01-08 | Intel Corporation | System and method for automatic stream fail-over |
US7020709B1 (en) * | 2000-06-30 | 2006-03-28 | Intel Corporation | System and method for fault tolerant stream splitting |
ES2191605T3 (es) * | 2000-09-11 | 2003-09-16 | Mediabricks Ab | Metodo para proporcionar un contenido de medios sobre una red digital. |
US7716358B2 (en) | 2000-09-12 | 2010-05-11 | Wag Acquisition, Llc | Streaming media buffering system |
US8595372B2 (en) * | 2000-09-12 | 2013-11-26 | Wag Acquisition, Llc | Streaming media buffering system |
US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
US7188357B1 (en) * | 2000-11-16 | 2007-03-06 | Unisys Corporation | Video-on demand video server disk/memory streaming selection methodology |
US6407680B1 (en) | 2000-12-22 | 2002-06-18 | Generic Media, Inc. | Distributed on-demand media transcoding system and method |
US6651141B2 (en) | 2000-12-29 | 2003-11-18 | Intel Corporation | System and method for populating cache servers with popular media contents |
US20120096500A1 (en) | 2001-01-08 | 2012-04-19 | eVideo Incorporated | System and method for delivering video on demand |
US20020116705A1 (en) * | 2001-02-20 | 2002-08-22 | Perlman Stephen G. | System and method for processing conditional access data |
US20030005358A1 (en) * | 2001-06-29 | 2003-01-02 | International Business Machines Corporation | Decentralized, self-regulating system for automatically discovering optimal configurations in a failure-rich environment |
JP2003030018A (ja) * | 2001-07-13 | 2003-01-31 | Sony Corp | データ通信装置および方法、データ通信システム、情報処理装置および方法、記録媒体、並びにプログラム |
FI115418B (fi) * | 2001-09-20 | 2005-04-29 | Oplayo Oy | Adaptiivinen mediavirta |
US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
EP2290916B1 (en) | 2001-09-28 | 2015-12-16 | Level 3 CDN International, Inc. | Configurable adaptive global traffic control and management |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
FI116167B (fi) * | 2001-12-18 | 2005-09-30 | Valtion Teknillinen | Arkistoiva tiedostopalvelin |
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
US7155475B2 (en) * | 2002-02-15 | 2006-12-26 | Sony Corporation | System, method, and computer program product for media publishing request processing |
US7421726B1 (en) * | 2002-03-27 | 2008-09-02 | Unisys Corporation | Method of seamlessly replacing disc-based video streams with memory-based video streams in a video-on-demand system |
US7681222B1 (en) * | 2002-03-27 | 2010-03-16 | Unisys Corporation | Method of reducing disc workload in a video-on-demand system by seamlessly replacing memory-based video streams with disc-based video streams, and visa-versa |
EP1499979A1 (en) * | 2002-04-03 | 2005-01-26 | Koninklijke Philips Electronics N.V. | Morphing memory pools |
CN100437466C (zh) * | 2002-06-07 | 2008-11-26 | Nxp股份有限公司 | 向/从fifo存储器读取/写入数据单元的设备和方法 |
US7174386B2 (en) * | 2002-06-27 | 2007-02-06 | International Business Machines Corporation | System and method for improved performance using tunable TCP/IP acknowledgement |
US8091117B2 (en) * | 2003-02-14 | 2012-01-03 | Preventsys, Inc. | System and method for interfacing with heterogeneous network data gathering tools |
US20040215703A1 (en) * | 2003-02-18 | 2004-10-28 | Xiping Song | System supporting concurrent operation of multiple executable application operation sessions |
US7069397B2 (en) * | 2003-04-15 | 2006-06-27 | Sun Microsystems, Inc | Stream based memory manager with function specific hardware logic for accessing data as a stream in memory |
WO2004112302A2 (en) * | 2003-06-12 | 2004-12-23 | Camiant, Inc. | Dynamic service delivery with topology discovery for communication networks |
JP4395662B2 (ja) * | 2003-06-12 | 2010-01-13 | キャミアント,インク. | Pcmmアプリケーションマネージャ |
US7415527B2 (en) * | 2003-06-13 | 2008-08-19 | Satyam Computer Services Limited Of Mayfair Centre | System and method for piecewise streaming of video using a dedicated overlay network |
US7543061B2 (en) | 2003-06-26 | 2009-06-02 | Microsoft Corporation | Method and system for distributing load by redirecting traffic |
US7912954B1 (en) | 2003-06-27 | 2011-03-22 | Oesterreicher Richard T | System and method for digital media server load balancing |
US7451209B1 (en) | 2003-10-22 | 2008-11-11 | Cisco Technology, Inc. | Improving reliability and availability of a load balanced server |
US7421695B2 (en) * | 2003-11-12 | 2008-09-02 | Cisco Tech Inc | System and methodology for adaptive load balancing with behavior modification hints |
US7599002B2 (en) * | 2003-12-02 | 2009-10-06 | Logitech Europe S.A. | Network camera mounting system |
US20050120128A1 (en) * | 2003-12-02 | 2005-06-02 | Wilife, Inc. | Method and system of bandwidth management for streaming data |
WO2005072320A2 (en) * | 2004-01-23 | 2005-08-11 | Camiant, Inc. | Video policy server |
KR100621579B1 (ko) * | 2004-04-22 | 2006-09-08 | 삼성전자주식회사 | 멀티 미디어 데이터 재생 장치 및 방법 |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US8813136B2 (en) * | 2004-11-15 | 2014-08-19 | Broadcom Corporation | Data on demand using a centralized data storage device |
US7477598B2 (en) * | 2005-03-25 | 2009-01-13 | International Business Machines Corporation | Adaptive stream switching with minimized switching delay |
US7710426B1 (en) * | 2005-04-25 | 2010-05-04 | Apple Inc. | Buffer requirements reconciliation |
US20060255931A1 (en) * | 2005-05-12 | 2006-11-16 | Hartsfield Andrew J | Modular design for a security system |
US20080212941A1 (en) * | 2005-12-30 | 2008-09-04 | Lillethun David J | Recording media content on different devices |
US8806012B2 (en) * | 2006-03-31 | 2014-08-12 | Intel Corporation | Managing traffic flow on a network path |
US8286218B2 (en) | 2006-06-08 | 2012-10-09 | Ajp Enterprises, Llc | Systems and methods of customized television programming over the internet |
US8601515B2 (en) * | 2006-12-28 | 2013-12-03 | Motorola Mobility Llc | On screen alert to indicate status of remote recording |
TWI421702B (zh) * | 2007-11-26 | 2014-01-01 | Ubitus Inc | 轉檔系統及其方法 |
US9113334B2 (en) * | 2008-02-01 | 2015-08-18 | Tekelec, Inc. | Methods, systems, and computer readable media for controlling access to voice resources in mobile networks using mobility management signaling messages |
EP2274684A4 (en) | 2008-04-04 | 2012-12-05 | Level 3 Communications Llc | HANDLING LONG TAIL CONTENT IN A CONTENT DELIVERY NETWORK (CDN) |
US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US20090254931A1 (en) * | 2008-04-07 | 2009-10-08 | Pizzurro Alfred J | Systems and methods of interactive production marketing |
US8874845B2 (en) | 2012-04-10 | 2014-10-28 | Cisco Technology, Inc. | Cache storage optimization in a cache network |
CN103513957B (zh) * | 2012-06-27 | 2017-07-11 | 上海芯豪微电子有限公司 | 高性能缓存方法 |
US20150271072A1 (en) * | 2014-03-24 | 2015-09-24 | Cisco Technology, Inc. | Method and apparatus for rate controlled content streaming from cache |
US9521176B2 (en) | 2014-05-21 | 2016-12-13 | Sony Corporation | System, method, and computer program product for media publishing request processing |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4647986A (en) * | 1984-08-06 | 1987-03-03 | General Electric Company | Storing video images on disk using video time base and retrieving the images using disk time base |
US4816905A (en) * | 1987-04-30 | 1989-03-28 | Gte Laboratories Incorporated & Gte Service Corporation | Telecommunication system with video and audio frames |
US5179662A (en) * | 1989-08-31 | 1993-01-12 | International Business Machines Corporation | Optimized i/o buffers having the ability to increase or decrease in size to meet system requirements |
CA2039492A1 (en) * | 1990-03-30 | 1991-10-01 | John Stern | Still store system and method with simple image access |
US5168353A (en) * | 1990-12-21 | 1992-12-01 | Gte Laboratories Incorporated | Video distribution system allowing viewer access to time staggered indentical prerecorded programs |
DE69232164T2 (de) * | 1991-08-22 | 2002-07-18 | Sun Microsystems Inc | Netzwerkvideoanbietergerät und-verfahren |
US5247347A (en) * | 1991-09-27 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Pstn architecture for video-on-demand services |
US5371532A (en) * | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
US5341474A (en) * | 1992-05-15 | 1994-08-23 | Bell Communications Research, Inc. | Communications architecture and buffer for distributing information services |
US5473744A (en) * | 1992-09-28 | 1995-12-05 | Optical Magnetic Imaging Corporation | Computer-assisted interactive method and apparatus for making a multi-media presentation |
US5481543A (en) * | 1993-03-16 | 1996-01-02 | Sony Corporation | Rational input buffer arrangements for auxiliary information in video and audio signal processing systems |
ES2112976T3 (es) * | 1993-05-19 | 1998-04-16 | Alsthom Cge Alcatel | Red de videos a peticion. |
US5414455A (en) * | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
US5442390A (en) * | 1993-07-07 | 1995-08-15 | Digital Equipment Corporation | Video on demand with memory accessing and or like functions |
JP2577699B2 (ja) * | 1993-08-26 | 1997-02-05 | 日本電信電話株式会社 | 多重読書き方法 |
JP3038668B2 (ja) * | 1993-09-20 | 2000-05-08 | 富士通株式会社 | ビデオ情報配信システム |
US5572645A (en) * | 1994-03-01 | 1996-11-05 | International Business Machines Corporation | Buffer management policy for an on-demand video server |
US5461415A (en) * | 1994-03-15 | 1995-10-24 | International Business Machines Corporation | Look-ahead scheduling to support video-on-demand applications |
US5453779A (en) * | 1994-03-15 | 1995-09-26 | International Business Machines Corporation | Scheduling policies with grouping for providing VCR control functions in a video server |
US5566208A (en) * | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
US5519435A (en) * | 1994-09-01 | 1996-05-21 | Micropolis Corporation | Multi-user, on-demand video storage and retrieval system including video signature computation for preventing excessive instantaneous server data rate |
-
1994
- 1994-07-26 US US08/280,419 patent/US5544327A/en not_active Expired - Lifetime
-
1995
- 1995-05-08 EP EP95106920A patent/EP0694830B1/en not_active Expired - Lifetime
- 1995-05-08 DE DE69523386T patent/DE69523386T2/de not_active Expired - Lifetime
- 1995-06-05 JP JP7137832A patent/JP2902975B2/ja not_active Expired - Lifetime
-
1996
- 1996-07-09 US US08/677,408 patent/US5809239A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69523386D1 (de) | 2001-11-29 |
US5544327A (en) | 1996-08-06 |
EP0694830B1 (en) | 2001-10-24 |
JPH0855137A (ja) | 1996-02-27 |
US5809239A (en) | 1998-09-15 |
DE69523386T2 (de) | 2002-07-04 |
EP0694830A1 (en) | 1996-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2902975B2 (ja) | メモリバッファ管理方法及びシステム | |
US5802301A (en) | System for load balancing by replicating portion of file while being read by first stream onto second device and reading portion with stream capable of accessing | |
US5787472A (en) | Disk caching system for selectively providing interval caching or segment caching of vided data | |
US5854887A (en) | System for the management of multiple time-critical data streams | |
US6453316B1 (en) | Scheduling unit for scheduling service requests to cyclically provide services | |
US6240243B1 (en) | Method and apparatus for storing and retrieving scalable video data in a disk-array-based video server | |
JP3338451B2 (ja) | ビデオ・オン・デマンドのためのスタッガード・ストリームサポート | |
KR100232512B1 (ko) | 비디오 온 디맨드를 배칭하기 위한 최대 인자 선택법 | |
US5530557A (en) | Online placement of video files determined by a function of the bandwidth to space ratio of each of the storage devices in a server environment | |
KR100256016B1 (ko) | 비디오 데이타를 서비스하는 노드 선택 방법, 분산비디오 서버 시스템, 비디오 서버 시스템, 분산 컴퓨팅 시스템 및 그의 제어 방법 | |
KR0146567B1 (ko) | 메모리 버퍼 관리 방법 및 시스템 | |
CA2145164C (en) | Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system | |
KR100196882B1 (ko) | 주문형 비디오 시스템 및 이 시스템의 비디오 스케쥴링방법,주문형고객서비스시스템의물리적자원스케쥴링방법,컴퓨터판독가능한메모리 | |
KR0152485B1 (ko) | 중지-재개 지원 방법 | |
US6212657B1 (en) | System and process for delivering digital data on demand | |
EP0660605B1 (en) | Video storage and delivery apparatus and method | |
KR0152486B1 (ko) | 중지-재개 지원 방법 및 시스템 | |
AU702971B2 (en) | Multi-media services system | |
JPH10162507A (ja) | 同時リード−ライト要求用ビデオサーバスケジューリング | |
US6742019B1 (en) | Sieved caching for increasing data rate capacity of a heterogeneous striping group | |
Nwosu et al. | Data allocation and spatio-temporal implications for video-on-demand systems | |
KR100215704B1 (ko) | 콘텍스트 스위칭을 방지하기 위한 비디오 서버 시스템 및 그 제 어방법 | |
AU706775B2 (en) | Multi-media services system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080319 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090319 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100319 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100319 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110319 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 15 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |