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
Application number
JP7137832A
Other languages
English (en)
Other versions
JPH0855137A (ja
Inventor
アシット・ダン
ディンカー・シタラム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0855137A publication Critical patent/JPH0855137A/ja
Application granted granted Critical
Publication of JP2902975B2 publication Critical patent/JP2902975B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • 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/17336Handling 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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は中央ビデオサーバーから
引渡されたビデオストリームを複数の顧客に供給するタ
イプの映画(ビデオ)オンデマンドシステムに関する。
【0002】
【従来の技術】ディジタルビデオ技術の出現により、地
理的に分散したネットワーク上の多数の顧客にビデオオ
ンデマンドサービスを提供することが可能である。ビデ
オはサーバー上の2次記憶装置 (例えば、ディスク及び
テープ記憶装置) に記憶され、そして顧客に引渡され
る。種々の映画の非一様な要求のために、2次記憶装置
間に負荷の不平衡を生ずることがある。前記状況では、
最も重い負荷の2次記憶装置が隘路になるに相違ない。
【0003】
【発明が解決しようとする課題】負荷平衡問題の1つの
解法は、予想された負荷に基づいた複数の2次記憶装置
上に人気のある映画を静的に模写し、その映画の全体の
要求を、その映画のコピーを有する記憶装置間に広げう
るようにすることである。しかしながら、これは記憶空
間を要するので高価である。更に、一般に前記要求の正
確な予測ができないので、どの特定の映画の模写をどれ
だけ多く必要とするかを正確に決定することは困難であ
る。静的な模写は時間とともに変化する負荷の問題の処
理にも適しない。これは必要な模写の数が変ることがあ
るからである。
【0004】
【課題を解決するための手段】本発明の実施例に従っ
て、高い負荷のディスク又は他の2次記憶装置上にスト
リームを選択的に緩衝記憶することにより、バッファマ
ネジャはビデオサーバーの種々の "映画記憶" ディスク
上の負荷を平衡させる。本実施例は複数のディスクにわ
たる負荷の平衡に関して記述されるが、本発明の原理は
(テープ及びジュークボックスのような) 他の記憶装置
にわたる負荷の平衡にも適用できる。バッファの割振り
は、新規要求の到来によりディスク負荷が増すとき、又
は古い要求の一時停止又は停止によりバッファが使用可
能になるときにのみ起きる。
【0005】先行ストリームからのデータを次のストリ
ームが読取りできるのに必要なメモリバッファの量は、
2つのストリーム間の時間間隔及び使用される圧縮方法
の関数である。新しいストリームが生成されて新しい対
の連続ストリームを形成する時点で、所要のバッファ空
間を推定することができる。
【0006】本発明のバッファマネジャは、どのストリ
ームを緩衝記憶すべきかを決定するために、負荷の不平
衡に関する情報を用いて複数のサーバーディスクにわた
る負荷を平衡させる。ストリームは、それが開始又は再
開する時点で、その直前にある同じ映画のストリーム
(もしあれば) と連続する対を形成する。どの連続する
ストリームでも、前のストリームの対により持込まれた
ブロックを緩衝記憶することにより、次のストリームは
それらをディスクの代わりにバッファから読取ることが
できる。それゆえ、次の連続する対のストリームに関す
るバッファ要求は、要求されたブロックを記憶するのに
必要なバッファの量である。
【0007】バッファマネジャは、ディスク毎に、当該
リストから現時点で読取るストリームのリストを、バッ
ファ要求の上昇順に維持する。映画が模写される場合、
先行するストリームの対は、後続する対のストリームと
異なるディスクから読取ることがある。
【0008】バッファマネジャが実行する負荷平衡の1
つの目的は、複数のディスクにわたる負荷の不平衡を少
なくすることである。新しいストリームがディスク上に
負荷の不平衡を生じるとき、バッファマネジャは、当該
ディスクのストリームをバッファに切換えることによ
り、高い負荷のディスクの負荷を少なくしようと試み
る。負荷の不平衡は、高い負荷のディスク及びディスク
当りの平均負荷の間の差がしきい値を越える場合に存在
すると言われる。最も低いバッファ要求を有し且つ当該
ディスクからなおサービスを受けるストリームが選択さ
れる。十分なバッファを使用できない場合、十分なバッ
ファを使用できるまで高い負荷のディスクからのストリ
ームの緩衝記憶を停止することにより、バッファマネジ
ャは選択されたストリームを高い負荷のディスクから緩
衝記憶しようと試みる。
【0009】サーバー上の全負荷が全サーバーディスク
の帯域幅よりも大きい場合、バッファマネジャの負荷平
衡機能の目的は負荷平衡から損失の最小化に変る。この
ケースでは、負荷がそれらの対応する帯域幅の容量を越
える全てのディスクにわたる最低のバッファ要求を有す
るストリームが選択される。ひとたび特定のディスクの
負荷がディスクの最大帯域幅を下回れば、当該ディスク
上の後続のストリームは緩衝記憶を考慮されない。
【0010】このバッファマネジャ負荷平衡方法は動的
模写の方法と一緒に使用し、統合されたアプローチを、
ビデオサーバーでの動的模写及び緩衝記憶に提供するる
ことができる。緩衝記憶及び動的模写アルゴリズムは、
更に相補的な特性を有するので、負荷急増に関する種々
のシナリオに適合する。
【0011】ビデオファイル又はセグメントをコピーす
る時間に匹敵する時間スケールで起きる負荷急増には動
的模写が最も有効である。他方、このバッファマネジャ
は突然の負荷急増を処理することができる。従って、統
合された方法は突然及び緩慢な負荷不平衡をどちらも処
理することができる。
【0012】
【実施例】図1は本発明の実施例によるビデオオンデマ
ンドシステムのブロック図である。顧客10はビデオサー
バー30から通信ネットワーク20を介して要求すると仮定
される。顧客は開始及び停止要求を提示できる。通信ネ
ットワーク20は、例えば、光学ファイバーケーブルを備
える非同期転送モード(ATM) ネットワークでもよい。
【0013】ビデオサーバー30は、RISCシステム/6000
ワークステーション又はES/9000 メインフレーム (どち
らもニューヨーク州アーモンクのIBM 社から市販されて
いる) のような汎用コンピュータのフレームワーク内で
実現される。本発明の実施例と関連して、ビデオサーバ
ー30は、ビデオサーバーの通常の半導体メモリ (図示せ
ず) で実現されるバッファ記憶装置35と、幾つかのプロ
セス50、60と、ビデオサーバーオペレーティングシステ
ム又は主制御プログラム (図示せず) の制御の下に実行
する負荷平衡バッファマネジャ80とを備える。
【0014】映画 (ビデオデータとも呼ばれる) は、複
数のディスク55及び(又は)、ビデオサーバー30に接続さ
れる他の映画記憶専用大容量記憶装置 (一般に2次記憶
装置と呼ばれる) に記憶される。ディスク55は、例え
ば、DASDアレイ又はRAIDシステムの形式でもよい。他の
ディスク (図示せず) はビデオサーバー30の作業データ
及びプログラムコードを記憶する。プログラムコード
は、サーバー主制御プログラム、映画スケジューリング
プログラム、顧客利用追跡プログラムのようなプロセ
ス、並びに種々の通信、I/O 及びバッファ管理プロセス
を含む。
【0015】バッファ記憶装置35は更に2つのプール:
自由プール70及びバッファプール40に分割される。自由
プール70はデータの記憶に使用できる空きブロックを含
み、バッファプール40はユーザに伝送できるデータを含
むブロックを有する。ディスクI/O プロセス50は、ディ
スク55からのビデオデータを、自由プール70から得られ
た空きバッファに読取り、そのバッファをバッファプー
ル40に挿入する。通信プロセス60はバッファプール40、
即ちディスク55からのビデオデータを顧客10に伝送す
る。負荷平衡バッファマネジャ80はバッファをストリー
ムに割振り、複数のディスクにわたる負荷不平衡を少な
くする、即ちシステム上の現在の負荷に応じてバッファ
から供給されるストリームの数が最大になるようにす
る。それ自身の内部メモリバッファを含む制御装置 (図
示せず) によりビデオサーバー30に顧客10が接続される
ことも当業者は理解するであろう。
【0016】顧客のバッファに読込まれているビデオデ
ータは他の顧客への再伝送のために保持することができ
る。これは、再伝送されたブロックはディスク55から再
読取りしなくてもよいから、サーバー資源を保存する。
よって、バッファマネジャ80は、後に他の顧客に再伝送
されるバッファを有する一組の顧客を選択する。再伝送
されたブロックを受取る顧客は緩衝記憶された顧客と呼
ばれる。
【0017】バッファマネジャ80により複数のデータ構
造が維持される。図2に示されたこれらの構造はストリ
ームテーブル 110、映画テーブル 150、ディスクテーブ
ル 175、公称自由空間カウンタ185 及び実自由空間カウ
ンタ190 を含む。
【0018】ストリームテーブル110 は現に活動状態の
各映画ストリームの1つのストリームエントリを含む。
各ストリームエントリは幾つかのフィールド120〜145を
含む。これらのフィールドは、それぞれ、ストリームの
識別子(ストリームID 120)、映画識別子(映画ID 125)、
ストリームを読取っているディスク(もしあれば)の識別
(ディスクID 127)、現に顧客(又は複数の顧客)に表示中
のブロック (現在ブロック130)、顧客に提供中のビデオ
データのソースを識別する読取り状態 (読取り状態13
5)、バッファプールからストリームをサービスするのに
必要なバッファの量の標識 (バッファ要求140)及び、ス
トリームのソースがバッファからディスクに移動可能で
あるかどうかを示すマーク(マーク145)を含む。
【0019】読取り状態フィールド135 は4つの値をと
ることができる。これらの値は: ストリームがディスク
からの読取りである場合にはDISK、ストリームが緩衝記
憶されたストリームである場合にはBUFFER、ディスクか
らバッファに切換え中のプロセスにストリームがある場
合にはDISK_TO_BUFFER、そしてバッファからディスクに
切換え中のプロセスにストリームがある場合にはBUFFER
_TO_DISKである。
【0020】マークフィールド(マーク145) は、バッフ
ァを割振るときバッファマネジャ80により用いられ、そ
して4つの値をとることができる。これらの値は: 空
白、ストリームをバッファからディスクに切換えできる
場合にはMOVABLE、前記切換えができない場合にはINMOV
ABLE、そしてバッファマネジャ80がストリームをバッフ
ァに切換えるように試みている場合にはCANDIDATEであ
る。
【0021】映画テーブル150 は映画識別子(映画ID 15
5)及び活動状態の映画毎の映画リストを含む。映画リス
トは現在ブロックの当該映画のストリームエレメントの
上昇順のリスト(170) である。映画テーブル150 は、リ
ストの先頭及び末尾エレメント (それぞれ、先頭ストリ
ーム160 及び末尾ストリーム165)に対するポインタを含
む。各ストリームエレメントはストリーム識別子 (スト
リームID 167) 及び次ストリームエレメント(次 169)の
ポインタを含む。
【0022】ディスクテーブル175 はディスク55上の負
荷を追跡する。各ディスクについて、ディスクテーブル
175 はディスクの識別子(ディスクID 178)、ディスク上
の実負荷(180) 及び潜在負荷(182) を含む。潜在負荷
は、バッファを空にして別のディスク上の負荷を少なく
するために、このディスクに切換えできるストリームの
数を表わす。それはバッファマネジャ80がディスクにバ
ッファを割振るときに用いられる。
【0023】2つのカウンタ: 公称自由空間カウンタ18
5 及び実自由空間カウンタ190 は自由プール70内の使用
できるバッファ空間の量の追跡に用いられる。実自由空
間カウンタ190 は使用できるバッファの全量に初期化さ
れ、自由プール70内の実際に使用できるバッファの量を
追跡するために用いられる。
【0024】公称自由空間カウンタ185 は使用できる全
バッファ空間の大部分 (例えば、90%) に初期化され
る。公称自由空間カウンタ185 はバッファマネジャ80が
空間の割振り及び割振り解除をするときに用いられる、
即ち、バッファ空間を割振るとき、バッファマネジャ80
は公称自由空間カウンタ185 により指定された量の空間
のみを割振る。これは、圧縮比率の変動がストリームに
より要求された実際のバッファの量を変動させるためで
ある。よって、ときどきストリームはバッファマネジャ
80がそれに割振ったよりも多いか又は少ないバッファ空
間を要求することがある。公称及び実自由空間カウンタ
の初期値間の差 (例えば、10%) は、この変動の範囲内
で適応するために用いられる緩衝である。
【0025】図3はバッファマネジャ80による開始要求
を処理する流れ図を示す。ステップ210 で新規要求が到
着すると、ステップ220 でバッファマネジャ80は前記要
求の新しいストリームエントリを生成し、それをストリ
ームテーブル110 に挿入する。ストリームエントリの読
取り状態がDISKにセットされる。現在ブロック130 は要
求されたブロックにセットされ、そしてストリームエン
トリは、その位置の決定のために、現在ブロックを用い
る映画の映画リストに挿入される。
【0026】ステップ230 で、バッファマネジャ80は映
画リスト170 を走査し、前記映画に最も近い先行ストリ
ーム、即ち、現在ブロックがこの要求の現在ブロックに
最も近い映画を読取る全てのストリーム間のストリーム
を、もしあれば、決定する。前記ブロックが存在しない
場合、ステップ240 でバッファマネジャ80は、新規要求
処理プロセスから脱出する。このような要求が存在する
場合、ステップ240 でバッファマネジャ80はストリーム
エントリ内のバッファ要求フィールド140 を、直前の先
行するストリーム及び現在の要求の間の全てのブロック
を緩衝記憶するために必要な記憶容量にセットする。ス
テップ255 でバッファマネジャ80は緩衝記憶モードを決
定する。全てのディスク上の負荷がそれらの対応する負
荷しきい値よりも大きい場合、バッファマネジャ80は、
バッファから供給されるストリームの数を最大化するモ
ードに切換える。これは、例えば、米国特許出願第08/2
04,038(1994年3月1日出願) に示すように達成すること
ができる。さもなければ、バッファマネジャ80はこの要
求にサービスするディスクを (ディスク55のなかから)
選択し、そしてステップ260 で前記選択されたディスク
上の負荷を更新する。
【0027】次に、ステップ270 で、バッファマネジャ
80は選択されたディスク上の負荷が予め指定されたしき
い値よりも大きいかどうかを判定する。もし大きくなけ
れば、ステップ280 で、バッファマネジャ80は新規要求
処理プロセスから脱出する。負荷がしきい値よりも大き
い場合、ステップ290 で、バッファマネジャ80は、スト
リームテーブル110 を検査し、ディスクから供給され
る、最も低いバッファ要求を有するストリーム (BUFFER
又はBUFFER_TO_DISKに等しい読取り状態135)を見つけ、
そして当該特定のストリームのストリームエントリのマ
ークフィールド145 をCANDIDATE にセットする。そし
て、ステップ295 でバッファマネジャ80は図4の "候補
ストリーム移動" 手順を呼出し、そして新規要求処理プ
ロセスから脱出する。
【0028】図4はバッファマネジャの "候補ストリー
ム移動" 手順について説明する。ステップ300 でバッフ
ァマネジャ80は使用できる空間を検査し、候補要求に適
応する自由なバッファ空間が存在するかどうかを判定す
る。使用できる空間は公称自由空間185 及び、移動可能
なストリーム (MOVABLE に等しいマーク145 を有するス
トリーム) により保持された空間である。ループを通る
最初のパスには、このようなストリームはない。十分な
バッファ空間の使用ができる場合、バッファマネジャ80
は、要求を緩衝記憶するステップ370〜410を開始する。
【0029】十分な自由空間の使用ができない場合、バ
ッファマネジャ80は、ある他のストリームを置き換える
ことにより、ある空間を空けるように試みる。最初、ス
テップ310 で、バッファマネジャ80は、もっと多くのア
ンマークされたストリームがあるかどうかを検査する。
アンマークされたストリームがない場合、更にバッファ
を空にしえないので、ステップ315 で、バッファマネジ
ャ80は全てのストリームエレメントをアンマークし且つ
ディスクの潜在負荷をリセットし、そしてステップ320
で失敗を呼出しプロセスに戻す。アンマークされたスト
リームがある場合、ステップ330 で、バッファマネジャ
80は最大のバッファ要求140 を有するアンマークされた
ストリームを見つける。そして、ステップ340 で、バッ
ファマネジャ80はこのストリームをディスクに移動し且
つそのバッファを空にしうるかどうかを判定する。スト
リームをディスクに移動しても、アンマークされたスト
リームのディスク上に投影された負荷が候補ストリーム
のディスク上に投影された負荷を上回らない場合、アン
マークされたストリームの移動ができる。
【0030】アンマークされたストリームのディスク上
に投影された負荷は実負荷 180、潜在負荷 182及び、ア
ンマークされたストリームにより課された負荷の和であ
る。候補ストリームのディスク上に投影された負荷は
(実負荷 180) − (候補ストリームの負荷) である。ア
ンマークされたストリームの移動ができない場合、ステ
ップ360 で、そのマークフィールド145 がUNMOVABLE に
セットされる。それを移動できる場合、ステップ350
で、そのマークフィールド145 はMOVABLE にセットさ
れ、そしてアンマークされたストリームのディスクの潜
在負荷フィールド182は、アンマークされたストリーム
の負荷だけ増分される。そして、どちらの場合も、バッ
ファマネジャ80はステップ300 に戻る。
【0031】ステップ300 で、使用できる空間が候補ス
トリームのバッファ要求よりも大きい (即ち、候補スト
リームを移動できる) と判定された場合、バッファマネ
ジャ80はステップ370 を実行する。ステップ370 で、移
動可能とマークされた全てのストリームのバッファは、
公称自由空間カウンタ185 を、ストリームのバッファ要
求フィールド140 だけ増分することにより解放される。
そして、ステップ380で、ストリームの読取り状態135
をDISKにセットすることにより、ストリームのソースが
移動される。ステップ390 で、候補ストリームのバッフ
ァ要求フィールド140 だけ公称自由空間カウンタ185 が
減分され且つ候補ストリームの読取り状態135 がDISK_T
O_BUFFERにセットされ、候補ストリームにバッファを割
振る。最後に、ステップ400 で、ディスク上の新しい負
荷を反映するためにディスクの実負荷180 が更新され、
ディスクの潜在負荷フィールド182 が0にセットされ、
そしてそのマークフィールド145 が空白にセットされ
る。そしてステップ410 でバッファマネジャ80は成功を
呼出しプロセスに戻す。
【0032】図5は顧客からの "停止要求" を受信した
ときバッファマネジャが実行する動作を示す。停止要求
は顧客が映画の表示を終了する要求である。ステップ52
0 で、ストリームテーブル110 と、映画テーブル150 内
の映画リストとからストリームのストリームエントリが
除去される。ステップ530 で、バッファマネジャ80はス
トリームがバッファを割振ったかどうかを、その読取り
状態135(BUFFER又はDISK_TO_BUFFER) を検査することに
より判定する。バッファが割振られていない場合、ステ
ップ540 で、バッファマネジャ80は停止要求処理手順か
ら脱出する。ストリームがバッファを割振っていた場合
には、ステップ550 で、バッファマネジャ80は、バッフ
ァ要求140 だけ公称自由空間カウンタ185 を増分するこ
とにより、バッファを空にする。ステップ555 で、バッ
ファマネジャ80は緩衝記憶モード(負荷平衡又はバッフ
ァから供給されたストリームの数の最大化) を決定す
る。それでも全てのディスク上の負荷がそれらの対応す
る負荷しきい値よりも大きい場合、バッファマネジャ80
は、バッファから供給されるストリームの数を最大化す
るモードに移行するか (場合によっては、前記モードに
留まる)。 さもなければ、バッファマネジャ80は、図6
に示す "緩衝記憶する新しいストリームを探索する" ス
テップを実行する。本発明の負荷平衡バッファマネジャ
の原理は顧客の"一時停止" 要求にも適用できる。
【0033】図6は、新しいバッファが使用可能になっ
たとき緩衝記憶されていないストリームを探して緩衝記
憶するためにバッファマネジャ80が実行するステップを
示す。ステップ610 で、バッファマネジャ80は所定の負
荷不平衡しきい値よりも高い実負荷を有するがディスク
のリストを作成する。負荷不平衡しきい値はシステム管
理装置により指定するか又はシステムで実行する負荷平
衡プロセスで決定することができる。そして、ステップ
620 で、バッファマネジャ80は下降順の負荷のリストに
ある複数のディスクにわたるループを開始する。バッフ
ァマネジャ80は、ステップ630 で、選択されたディスク
について最も低いバッファ要求を有するストリームを探
し、このストリームを候補ストリームとしてマークし、
そしてステップ640 で、(図4の) "候補ストリング移
動" 手順を実行する。候補ストリーム移動手順が終了し
たとき、ステップ650 で、バッファマネジャ80は、ルー
プが終了しているかどうかを検査し、もしそうなら、ス
テップ550 で "緩衝記憶する新しいストリームの探索"
手順から脱出する。さもなければ、バッファマネジャ80
は、ステップ670 で次のディスクを選択した後、ステッ
プ630 で開始するループを再実行する。
【0034】図7及び図8は、ディスクI/O プロセス5
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 で終了する。
【0035】ブロック伝送後、ステップ760 で、通信プ
ロセス60は次のストリームの読取り状態を検査する。読
取り状態がBUFFER又はDISK_TO_BUFFERである場合、ステ
ップ770 で通信プロセスは終了する。さもなければ、ス
テップ765 で、通信プロセスは実自由空間カウンタ190
を増分し、そしてブロックを自由プール70に戻す。
【0036】図9は、通信ネットワークにより複数のサ
ーバーノードに接続された分散ノードを有するシステム
のブロック図である。この実施例では、分散ノードは、
前記の原理に従って複数のビデオサーバーにわたる負荷
を平衡する負荷平衡バッファマネジャを備える。
【0037】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1) ディスクから供給されたビデオストリームから複
数の顧客に供給される、ビデオサーバー内のメモリバッ
ファを管理する方法であって、複数のビデオストリーム
のバッファ要求として、同じビデオを運ぶ直前のビデオ
ストリームから各ビデオストリームを分離するフレーム
の数を決定するステップと、ストリームの各々のバッフ
ァ要求により順序付けられた、ディスクの各々から供給
されるストリームのリストを生成するステップと、複数
のディスクにわたる負荷を平衡する時期を決定するステ
ップと、最小のバッファ要求を有するストリームから始
まり、より大きいバッファ要求を有するストリームに進
む、バッファからのストリームを、ストリームのバッフ
ァ要求を満足できなくなるまで供給するように、複数の
ディスクのうちの最も重い負荷を有するディスクにある
ストリームにバッファを割振るステップと、直ぐ前に先
行するストリームのブロックを、その次のストリームに
割振られたバッファ内に保持し、そして次のストリーム
を見る顧客によりブロックが読取られたときそれらをバ
ッファから捨てるステップとを含む方法。 (2) ビデオの開始、停止、一時停止及び再開のどれか
が起きるときリストを更新するステップと、バッファを
更新して最も重い負荷のディスクから供給されるストリ
ームに再割振りした後に、ディスクのうちの最も重い負
荷のディスクの更新、識別に応答して、最小のバッファ
要求を有するストリームから開始し、そしてストリーム
のバッファ要求を満たすことができなくなるまで、より
大きい要求を有するストリームに進むステップとを更に
含む、請求項1に記載の方法。 (3) 複数の顧客がディスクから供給されたビデオスト
リームから供給される、ビデオサーバー内のメモリバッ
ファを管理する方法であって、同じビデオを運ぶ直前の
ビデオストリームから各ビデオストリームを分離するフ
レームの数を、複数のビデオストリームのバッファ要求
として決定するステップと、ストリームの各々のバッフ
ァ要求により順序付けられた、ディスクの各々から供給
されるストリームのリストを生成するステップと、緩衝
記憶モードを、(a) 複数のディスクにわたる負荷の平
衡、及び(b) バッファから供給できるストリームの最大
化のモードから選択するステップと、モードが複数のデ
ィスクにわたる負荷を平衡しているとき、バッファから
ストリームを供給するように、ディスクのうちの最も重
い負荷を有するディスク上のストリームにバッファを割
振り、最小のバッファ要求を有するストリームから開始
し、そしてストリームのバッファ要求を満たすことがで
きなくなるまで、より大きいバッファ要求を有するスト
リームに進むステップと、モードがバッファから供給で
きるストリームを最大化しているとき、バッファ要求を
検査し、そしてその機能として、複数のディスクにわた
る負荷分散に関係なく、そこから供給できるストリーム
の数を最大化するようにバッファを割振るステップとを
含む方法。 (4) ディスクから供給されたビデオストリームから複
数の顧客に供給される、ビデオサーバー内のメモリバッ
ファを管理するシステムであって、複数のビデオストリ
ームのバッファ要求として、同じビデオを運ぶ直前のビ
デオストリームから各ビデオストリームを分離するフレ
ームの数を決定する手段と、ストリームの各々のバッフ
ァ要求により順序付けられた、ディスクの各々から供給
されるストリームのリストを生成する手段と、複数のデ
ィスクにわたる負荷を平衡する時期を決定する手段と、
最小のバッファ要求を有するストリームから始まり、よ
り大きいバッファ要求を有するストリームに進む、バッ
ファからのストリームを、ストリームのバッファ要求を
満足できなくなるまで供給するように、複数のディスク
のうちの最も重い負荷を有するディスクにあるストリー
ムにバッファを割振る手段と、直ぐ前に先行するストリ
ームのブロックを、その次のストリームに割振られたバ
ッファ内に保持し、そして次のストリームを見る顧客に
よりブロックが読取られたときそれらをバッファから捨
てる手段とを備えるシステム。 (5) ビデオ記憶素子により供給されたビデオストリー
ムから複数の顧客に供給される、ビデオサーバー内のメ
モリバッファを管理する方法であって、複数のビデオス
トリームのバッファ要求として、同じビデオを運ぶ直前
のビデオストリームから各ビデオストリームを分離する
フレームの数を決定するステップと、ストリームの各々
のバッファ要求により順序付けられた、記憶素子の各々
から供給されるストリームのリストを生成するステップ
と、最小のバッファ要求を有するストリームから始ま
り、より大きいバッファ要求を有するストリームに進
む、バッファからのストリームを、ストリームのバッフ
ァ要求を満足できなくなるまで供給するように、複数の
記憶素子のうちの最も重い負荷を有する記憶素子にある
ストリームにバッファを割振るステップと、直ぐ前に先
行するストリームのブロックを、その次のストリームに
割振られたバッファ内に保持し、そして次のストリーム
を見る顧客によりブロックが読取られたときそれらをバ
ッファから捨てるステップとを含む方法。 (6) ビデオの開始、停止、一時停止及び再開のどれか
が起きるときリストを更新するステップと、バッファを
更新し、最も重い負荷を有するディスクから供給される
ストリームに再割振りしたのち複数のディスクのうちの
最も重い負荷を有するディスクの更新、識別に応答し
て、最小のバッファ要求を有するストリームから開始
し、そしてストリームのバッファ要求を満足できなくな
るまで、より大きいバッファ要求を有するストリームに
進むステップとを更に含む、請求項5に記載の方法。
【図面の簡単な説明】
【図1】本発明の実施例によるビデオオンデマンドシス
テムのブロック図である。
【図2】図1のバッファマネジャにより維持されるデー
タ構造を示す図である。
【図3】図1のバッファマネジャによる開始又は再開要
求の処理の流れ図である。
【図4】図1のバッファマネジャによる候補ストリーム
の移動の流れ図である。
【図5】停止要求を受信したとき図1のバッファマネジ
ャが実行する動作の流れ図である。
【図6】新しいバッファが使用可能になったとき緩衝記
憶されたストリームを探すために図1のバッファマネジ
ャが実行するステップの流れ図である。
【図7】図1のバッファマネジャによるディスクI/O プ
ロセス及び通信プロセスの間の対話を示す図である。
【図8】図1のバッファマネジャによるディスクI/O プ
ロセス及び通信プロセスの間の対話を示す図である。
【図9】通信ネットワークにより複数のサーバーノード
に接続された分散ノードを有するシステムのブロック図
である。
【符号の説明】
10 顧客 20 通信ネットワーク 30 ビデオサーバー 35 バッファ記憶装置 40 バッファプール 50 ディスクI/O プロセス 55 ディスク 60 通信プロセス 70 自由プール 80 負荷平衡バッファマネジャ 110 ストリームテーブル 120 ストリームID 125 映画ID 127 ディスクID 130 現在ブロック 135 読取り状態 140 バッファ要求 145 マーク 150 映画テーブル 155 映画ID 160 先頭ストリーム 165 末尾ストリーム 167 ストリームID 169 次ストリームエレメント 170 リスト 175 ディスクテーブル 178 ディスクID 180 実負荷 182 潜在負荷 185 公称自由空間カウンタ 190 実自由空間カウンタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ディンカー・シタラム アメリカ合衆国ニューヨーク州、ヨーク タウン・ハイツ、スプリングハースト・ ストリート 2756 (58)調査した分野(Int.Cl.6,DB名) G06F 3/06 301 G06F 12/00 514 G06F 13/00 351 H04N 7/173 610

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】ディスクから供給されたビデオストリーム
    から複数の顧客に供給される、ビデオサーバー内のメモ
    リバッファを管理する方法であって、 複数のビデオストリームのバッファ要求として、同じビ
    デオを運ぶ直前のビデオストリームから各ビデオストリ
    ームを分離するフレームの数を決定するステップと、 ストリームの各々のバッファ要求により順序付けられ
    た、ディスクの各々から供給されるストリームのリスト
    を生成するステップと、 複数のディスクにわたる負荷を平衡する時期を決定する
    ステップと、 最小のバッファ要求を有するストリームから始まり、よ
    り大きいバッファ要求を有するストリームに進む、バッ
    ファからのストリームを、ストリームのバッファ要求を
    満足できなくなるまで供給するように、複数のディスク
    のうちの最も重い負荷を有するディスクにあるストリー
    ムにバッファを割振るステップと、 直ぐ前に先行するストリームのブロックを、その次のス
    トリームに割振られたバッファ内に保持し、そして次の
    ストリームを見る顧客によりブロックが読取られたとき
    それらをバッファから捨てるステップとを含む方法。
  2. 【請求項2】ビデオの開始、停止、一時停止及び再開の
    どれかが起きるときリストを更新するステップと、 バッファを更新して最も重い負荷のディスクから供給さ
    れるストリームに再割振りした後に、ディスクのうちの
    最も重い負荷のディスクの更新、識別に応答して、最小
    のバッファ要求を有するストリームから開始し、そして
    ストリームのバッファ要求を満たすことができなくなる
    まで、より大きい要求を有するストリームに進むステッ
    プとを更に含む、請求項1に記載の方法。
  3. 【請求項3】複数の顧客がディスクから供給されたビデ
    オストリームから供給される、ビデオサーバー内のメモ
    リバッファを管理する方法であって、 同じビデオを運ぶ直前のビデオストリームから各ビデオ
    ストリームを分離するフレームの数を、複数のビデオス
    トリームのバッファ要求として決定するステップと、 ストリームの各々のバッファ要求により順序付けられ
    た、ディスクの各々から供給されるストリームのリスト
    を生成するステップと、 緩衝記憶モードを、(a) 複数のディスクにわたる負荷の
    平衡、及び(b) バッファから供給できるストリームの最
    大化のモードから選択するステップと、 モードが複数のディスクにわたる負荷を平衡していると
    き、バッファからストリームを供給するように、ディス
    クのうちの最も重い負荷を有するディスク上のストリー
    ムにバッファを割振り、最小のバッファ要求を有するス
    トリームから開始し、そしてストリームのバッファ要求
    を満たすことができなくなるまで、より大きいバッファ
    要求を有するストリームに進むステップと、 モードがバッファから供給できるストリームを最大化し
    ているとき、バッファ要求を検査し、そしてその機能と
    して、複数のディスクにわたる負荷分散に関係なく、そ
    こから供給できるストリームの数を最大化するようにバ
    ッファを割振るステップとを含む方法。
  4. 【請求項4】ディスクから供給されたビデオストリーム
    から複数の顧客に供給される、ビデオサーバー内のメモ
    リバッファを管理するシステムであって、 複数のビデオストリームのバッファ要求として、同じビ
    デオを運ぶ直前のビデオストリームから各ビデオストリ
    ームを分離するフレームの数を決定する手段と、 ストリームの各々のバッファ要求により順序付けられ
    た、ディスクの各々から供給されるストリームのリスト
    を生成する手段と、 複数のディスクにわたる負荷を平衡する時期を決定する
    手段と、 最小のバッファ要求を有するストリームから始まり、よ
    り大きいバッファ要求を有するストリームに進む、バッ
    ファからのストリームを、ストリームのバッファ要求を
    満足できなくなるまで供給するように、複数のディスク
    のうちの最も重い負荷を有するディスクにあるストリー
    ムにバッファを割振る手段と、 直ぐ前に先行するストリームのブロックを、その次のス
    トリームに割振られたバッファ内に保持し、そして次の
    ストリームを見る顧客によりブロックが読取られたとき
    それらをバッファから捨てる手段とを備えるシステム。
  5. 【請求項5】ビデオ記憶素子により供給されたビデオス
    トリームから複数の顧客に供給される、ビデオサーバー
    内のメモリバッファを管理する方法であって、 複数のビデオストリームのバッファ要求として、同じビ
    デオを運ぶ直前のビデオストリームから各ビデオストリ
    ームを分離するフレームの数を決定するステップと、 ストリームの各々のバッファ要求により順序付けられ
    た、記憶素子の各々から供給されるストリームのリスト
    を生成するステップと、 最小のバッファ要求を有するストリームから始まり、よ
    り大きいバッファ要求を有するストリームに進む、バッ
    ファからのストリームを、ストリームのバッファ要求を
    満足できなくなるまで供給するように、複数の記憶素子
    のうちの最も重い負荷を有する記憶素子にあるストリー
    ムにバッファを割振るステップと、 直ぐ前に先行するストリームのブロックを、その次のス
    トリームに割振られたバッファ内に保持し、そして次の
    ストリームを見る顧客によりブロックが読取られたとき
    それらをバッファから捨てるステップとを含む方法。
  6. 【請求項6】ビデオの開始、停止、一時停止及び再開の
    どれかが起きるときリストを更新するステップと、 バッファを更新し、最も重い負荷を有するディスクから
    供給されるストリームに再割振りしたのち複数のディス
    クのうちの最も重い負荷を有するディスクの更新、識別
    に応答して、最小のバッファ要求を有するストリームか
    ら開始し、そしてストリームのバッファ要求を満足でき
    なくなるまで、より大きいバッファ要求を有するストリ
    ームに進むステップとを更に含む、請求項5に記載の方
    法。
JP7137832A 1994-07-26 1995-06-05 メモリバッファ管理方法及びシステム Expired - Lifetime JP2902975B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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