JPH099194A - ビデオ情報の取り出し方法とビデオサーバ - Google Patents
ビデオ情報の取り出し方法とビデオサーバInfo
- Publication number
- JPH099194A JPH099194A JP8157082A JP15708296A JPH099194A JP H099194 A JPH099194 A JP H099194A JP 8157082 A JP8157082 A JP 8157082A JP 15708296 A JP15708296 A JP 15708296A JP H099194 A JPH099194 A JP H099194A
- Authority
- JP
- Japan
- Prior art keywords
- video
- disk
- predetermined number
- list
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
-
- 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
-
- 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
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
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)
- Television Signal Processing For Recording (AREA)
Abstract
(57)【要約】
【課題】 数多くのビデオを要求レートで同時に送出す
ること、ディスク帯域を有効に利用すること、ビデオ送
出要求に対して短時間で応答すること、が可能な、ビデ
オサーバを実現すること。 【解決手段】 本発明のディスクストライピングを用い
てビデオサーバー(BS)からビデオ情報を取り出す方
法は、ラウンド当たり取り出されたデータ量はラムバッ
ファメモリの容量とBS内に含まれるディスクの数をベ
ースにすることにより達成できる。このようにして、こ
のBSを用いて大量の同時のビデオストリームの取り出
しをサポートできる。本発明のストライプされたビデオ
データの取り出し方法は、BS内の複数のディスクから
所定数のビットを取り出すステップと、この所定数のビ
ットをバッファメモリ内にストアするステップを有し、
取り出されストアされるビットの数は、ディスクの数と
バッファメモリの容量に基づいて計算される。これらの
ステップは、ビデオ取り出しプロセスのワンラウンドを
構成し、全部のビデオ情報が取り出され、意図した受信
者に送信されるまで繰り返される。
ること、ディスク帯域を有効に利用すること、ビデオ送
出要求に対して短時間で応答すること、が可能な、ビデ
オサーバを実現すること。 【解決手段】 本発明のディスクストライピングを用い
てビデオサーバー(BS)からビデオ情報を取り出す方
法は、ラウンド当たり取り出されたデータ量はラムバッ
ファメモリの容量とBS内に含まれるディスクの数をベ
ースにすることにより達成できる。このようにして、こ
のBSを用いて大量の同時のビデオストリームの取り出
しをサポートできる。本発明のストライプされたビデオ
データの取り出し方法は、BS内の複数のディスクから
所定数のビットを取り出すステップと、この所定数のビ
ットをバッファメモリ内にストアするステップを有し、
取り出されストアされるビットの数は、ディスクの数と
バッファメモリの容量に基づいて計算される。これらの
ステップは、ビデオ取り出しプロセスのワンラウンドを
構成し、全部のビデオ情報が取り出され、意図した受信
者に送信されるまで繰り返される。
Description
【0001】
【発明の属する技術分野】本発明はビデオ・オン・デマ
ンド(VOD)の分野に関し、特に、ディスク帯域を効
率的に利用する目的で複数個のディスクに亘ってストラ
イプされた(すなわちバンドに分割された)ストア済み
ビデオを有するビデオサーバと共に用いられるVODサ
ービスを提供する方法に関する。
ンド(VOD)の分野に関し、特に、ディスク帯域を効
率的に利用する目的で複数個のディスクに亘ってストラ
イプされた(すなわちバンドに分割された)ストア済み
ビデオを有するビデオサーバと共に用いられるVODサ
ービスを提供する方法に関する。
【0002】
【従来の技術】近年、我々は、ネットワーク技術及びビ
デオのデジタル化及び圧縮に係る技術の双方の著しい進
展を目撃してきた。例えば、現在では、光ファイバネッ
トワークを介して毎秒数ギガビットのデータを送信する
ことが可能である。さらに、動画像エキスパートグルー
プ(Motion Pictures Experts Group)によって公表さ
れたMPEG−1等の公知の圧縮標準を用いることによ
って、ビデオ伝送に要求される帯域が1.5メガビット
/毎秒(Mbps)程度になりつつある。これらの進展
により、ネットワークを介したビデオデータの伝送に係
る新たなアプリケーションが産み出された。その例に、
ビデオ・オン・デマンド、オンラインチュートリアル/
トレーニング/レクチャー、マルチメディアメッセージ
ング、インタラクティブTV、ゲーム等が含まれる。
デオのデジタル化及び圧縮に係る技術の双方の著しい進
展を目撃してきた。例えば、現在では、光ファイバネッ
トワークを介して毎秒数ギガビットのデータを送信する
ことが可能である。さらに、動画像エキスパートグルー
プ(Motion Pictures Experts Group)によって公表さ
れたMPEG−1等の公知の圧縮標準を用いることによ
って、ビデオ伝送に要求される帯域が1.5メガビット
/毎秒(Mbps)程度になりつつある。これらの進展
により、ネットワークを介したビデオデータの伝送に係
る新たなアプリケーションが産み出された。その例に、
ビデオ・オン・デマンド、オンラインチュートリアル/
トレーニング/レクチャー、マルチメディアメッセージ
ング、インタラクティブTV、ゲーム等が含まれる。
【0003】この種のアプリケーションにおけるキーコ
ンポーネントの一つが、ビデオの蓄積及び送信を担うビ
デオサーバである。アプリケーションに依存するが、ビ
デオサーバは数百あるいはそれ以上のビデオを蓄積して
いる(ストアしている)ことが要求され、さらに数百あ
るいは数千のビデオを同時に送信することが要求され
る。さらに、各々のビデオデータは、用いられる圧縮技
法に依存して、固定レートで送信されることが必要であ
る。(例えばMPEG−1に関しては、必要とされる伝
送レートはおよそ1.5Mbpsである。)
ンポーネントの一つが、ビデオの蓄積及び送信を担うビ
デオサーバである。アプリケーションに依存するが、ビ
デオサーバは数百あるいはそれ以上のビデオを蓄積して
いる(ストアしている)ことが要求され、さらに数百あ
るいは数千のビデオを同時に送信することが要求され
る。さらに、各々のビデオデータは、用いられる圧縮技
法に依存して、固定レートで送信されることが必要であ
る。(例えばMPEG−1に関しては、必要とされる伝
送レートはおよそ1.5Mbpsである。)
【0004】ビデオデータが大容量であるという性質
(例えば、100分の長さを有するMPEG−1によっ
て符号化されたビデオはおよそ1.125ギガバイト
(GB)のストレージスペースを必要とする)、及びラ
ンダムアクセスメモリ(RAM)が高価であること(例
えば現在1メガバイト(MB)当たりおよそ40ドルで
ある)から、ビデオをRAMにストアしておくことは非
常にコストがかかり非現実的である。ビデオをストアす
るより現実的な方法は、ディスクなどのRAMよりはる
かに安価なマスストレージデバイスを用いることであ
る。(現在では、ディスクのコストは、ストレージ容量
1MB当たり、通常1ドル未満である。)よって、ビデ
オの蓄積に係る主要な機構としてRAMの代わりにディ
スクに依拠するビデオサーバが、はるかにコストエフェ
クティブである。しかしながら、現在のディスクはスト
レージ容量に制限が有り(1−9GB)、また比較的転
送レートが低い(30−60Mbps)という制限があ
る。その結果、数百と言うビデオをストアしかつ複数個
のビデオの必要なレートでの同時読み出しをサポートす
るためには、ビデオサーバには、ビデオを複数個のディ
スク上にストアすることが必要とされる。
(例えば、100分の長さを有するMPEG−1によっ
て符号化されたビデオはおよそ1.125ギガバイト
(GB)のストレージスペースを必要とする)、及びラ
ンダムアクセスメモリ(RAM)が高価であること(例
えば現在1メガバイト(MB)当たりおよそ40ドルで
ある)から、ビデオをRAMにストアしておくことは非
常にコストがかかり非現実的である。ビデオをストアす
るより現実的な方法は、ディスクなどのRAMよりはる
かに安価なマスストレージデバイスを用いることであ
る。(現在では、ディスクのコストは、ストレージ容量
1MB当たり、通常1ドル未満である。)よって、ビデ
オの蓄積に係る主要な機構としてRAMの代わりにディ
スクに依拠するビデオサーバが、はるかにコストエフェ
クティブである。しかしながら、現在のディスクはスト
レージ容量に制限が有り(1−9GB)、また比較的転
送レートが低い(30−60Mbps)という制限があ
る。その結果、数百と言うビデオをストアしかつ複数個
のビデオの必要なレートでの同時読み出しをサポートす
るためには、ビデオサーバには、ビデオを複数個のディ
スク上にストアすることが必要とされる。
【0005】ディスクの別の特徴は、それらが比較的高
いデータアクセスレイテンシ(通常10−20ミリ秒
(ms))を有しているということである。その結果、
各々のアクセスの間にわずかのデータしか読み出されな
い場合には、ディスクの実効的な転送レートはさらに低
下してしまい、同時に読み出され得るビデオの数ははる
かに少なくなってしまう。他方、各々のディスクアクセ
スの間に大量のデータを読み出すことによってディスク
レイテンシによる問題は低減され、ディスクのスループ
ットは上昇する。しかしながら、ディスクから読み出さ
れるデータは、通常、企図されている宛て先へ送出され
る前にRAMにバッファされなければならない。すなわ
ち、ビデオデータの一部(ある時間期間に対応するも
の)がディスクから読み出され、RAMにバッファされ
て、その後に宛先へ送出される。このプロセスは、ビデ
オ全体が読み出されて送出されるまで反復される。(こ
の各々の反復は”ラウンド”と呼称される。)しかしな
がら、前述のバッファリングの結果として、ディスクか
ら読み出されたデータをある程度以上増大させることは
コストエフェクティブではなくなってしまう。なぜな
ら、読み出された大量のデータをバッファするために多
数のRAMが必要になり、サーバのコストを増大させる
からである。
いデータアクセスレイテンシ(通常10−20ミリ秒
(ms))を有しているということである。その結果、
各々のアクセスの間にわずかのデータしか読み出されな
い場合には、ディスクの実効的な転送レートはさらに低
下してしまい、同時に読み出され得るビデオの数ははる
かに少なくなってしまう。他方、各々のディスクアクセ
スの間に大量のデータを読み出すことによってディスク
レイテンシによる問題は低減され、ディスクのスループ
ットは上昇する。しかしながら、ディスクから読み出さ
れるデータは、通常、企図されている宛て先へ送出され
る前にRAMにバッファされなければならない。すなわ
ち、ビデオデータの一部(ある時間期間に対応するも
の)がディスクから読み出され、RAMにバッファされ
て、その後に宛先へ送出される。このプロセスは、ビデ
オ全体が読み出されて送出されるまで反復される。(こ
の各々の反復は”ラウンド”と呼称される。)しかしな
がら、前述のバッファリングの結果として、ディスクか
ら読み出されたデータをある程度以上増大させることは
コストエフェクティブではなくなってしまう。なぜな
ら、読み出された大量のデータをバッファするために多
数のRAMが必要になり、サーバのコストを増大させる
からである。
【0006】
【発明が解決しようとする課題】数百あるいは数千のビ
デオをストアするビデオサーバは、ビデオデータを保持
しておくために多数のディスクを必要とする。あるビデ
オの全体が単一のディスクにストアされているという原
始的なストレージ方法は、ディスク帯域の非効率的な利
用につながる。なぜなら、全てのビデオが同一頻度でア
クセスされるとは限らないからである。顧客は、あるビ
デオを見ることを他のビデオよりより頻繁にリクエスト
することがあり、その結果、ある種のディスクがビジー
である一方、より頻繁にはリクエストされないビデオに
係るディスクはアイドリング状態にある、ということに
なる。加えて、ビデオが複数個のディスク上に複製され
ていない限り、サポートされるビデオのコンカレントス
トリームの数は、ビデオをストアしているディスクの帯
域によって制限されてしまう。種々の考察の結果、複数
個のディスクに亘ってビデオをレイアウトする方法が、
複数個のディスクに亘って負荷を一様に分配させ、それ
によってディスク帯域を有効に利用するために非常に重
要な事である。問題は、数多くのビデオを要求されたレ
ートで同時に送出すること、ディスク帯域を有効に利用
すること、及びビデオ送出要求に対して短時間で応答す
ること、が可能な、低コストのビデオサーバを設計する
ことである。
デオをストアするビデオサーバは、ビデオデータを保持
しておくために多数のディスクを必要とする。あるビデ
オの全体が単一のディスクにストアされているという原
始的なストレージ方法は、ディスク帯域の非効率的な利
用につながる。なぜなら、全てのビデオが同一頻度でア
クセスされるとは限らないからである。顧客は、あるビ
デオを見ることを他のビデオよりより頻繁にリクエスト
することがあり、その結果、ある種のディスクがビジー
である一方、より頻繁にはリクエストされないビデオに
係るディスクはアイドリング状態にある、ということに
なる。加えて、ビデオが複数個のディスク上に複製され
ていない限り、サポートされるビデオのコンカレントス
トリームの数は、ビデオをストアしているディスクの帯
域によって制限されてしまう。種々の考察の結果、複数
個のディスクに亘ってビデオをレイアウトする方法が、
複数個のディスクに亘って負荷を一様に分配させ、それ
によってディスク帯域を有効に利用するために非常に重
要な事である。問題は、数多くのビデオを要求されたレ
ートで同時に送出すること、ディスク帯域を有効に利用
すること、及びビデオ送出要求に対して短時間で応答す
ること、が可能な、低コストのビデオサーバを設計する
ことである。
【0007】複数個のディスクに亘ってビデオをストア
する公知の方法の一例は、ディスクストライピングを用
いることである。このディスクストライピングは、連続
した論理データユニット(ストライプユニットと呼称さ
れる)が円環状に配置された複数個の(個別にアクセス
可能な)ディスクに亘って分配される公知の方法であ
る。ディスクストライピングは、複数個のディスクに亘
って負荷を一様に分配するのに加えて、単一のビデオか
ら複数個のストリームを、そのビデオを複製することな
く同時にサポートすることが可能である。詳細に述べれ
ば、ビデオをストライピングするには、少なくとも2つ
のアプローチが存在する。それらは、細粒状ストライピ
ングと粗粒状ストライピングである。細粒状ストライピ
ングにおいては、ストライピングユニットは、通常、ビ
ット、バイトあるいはセクタである。よって、m個のデ
ィスクが存在する場合には、各々の読み出し(すなわち
ラウンド)においては、m個のディスクのヘッドの全て
が関与し、m個のディスクが、各々のディスクの帯域の
m倍の帯域を有する単一のディスクのように振る舞う。
粗粒状ストライピングにおいては、ストライプユニット
のサイズははるかに大きい。このサイズは、通常、単一
のディスクアクセスにおいて読み出されるデータ量であ
る。それゆえ、各々のアクセスの間のデータ読み出しに
全てのディスクヘッドが関与している細粒状ストライピ
ングとは異なり、粗粒状ストライピングにおいては通常
一度に一つのディスクが関与するのみである。大量のリ
クエスト及びデータに対するシーケンシャルアクセスに
関しては、粗粒状ストライピングは種々のディスクに亘
って負荷を平均して分配する。これら各々のディスクス
トライピング技法は当業者には公知であって、例えば、
D.Patterson, G.GIbson and R.Kats, "A Case for Redu
ndant Arrays of Inexpensive Disks (RAID)", Proceed
ings of ACM-SIGMOD 1988 International Conference o
n Management of Data, 1988、に記載されている。
する公知の方法の一例は、ディスクストライピングを用
いることである。このディスクストライピングは、連続
した論理データユニット(ストライプユニットと呼称さ
れる)が円環状に配置された複数個の(個別にアクセス
可能な)ディスクに亘って分配される公知の方法であ
る。ディスクストライピングは、複数個のディスクに亘
って負荷を一様に分配するのに加えて、単一のビデオか
ら複数個のストリームを、そのビデオを複製することな
く同時にサポートすることが可能である。詳細に述べれ
ば、ビデオをストライピングするには、少なくとも2つ
のアプローチが存在する。それらは、細粒状ストライピ
ングと粗粒状ストライピングである。細粒状ストライピ
ングにおいては、ストライピングユニットは、通常、ビ
ット、バイトあるいはセクタである。よって、m個のデ
ィスクが存在する場合には、各々の読み出し(すなわち
ラウンド)においては、m個のディスクのヘッドの全て
が関与し、m個のディスクが、各々のディスクの帯域の
m倍の帯域を有する単一のディスクのように振る舞う。
粗粒状ストライピングにおいては、ストライプユニット
のサイズははるかに大きい。このサイズは、通常、単一
のディスクアクセスにおいて読み出されるデータ量であ
る。それゆえ、各々のアクセスの間のデータ読み出しに
全てのディスクヘッドが関与している細粒状ストライピ
ングとは異なり、粗粒状ストライピングにおいては通常
一度に一つのディスクが関与するのみである。大量のリ
クエスト及びデータに対するシーケンシャルアクセスに
関しては、粗粒状ストライピングは種々のディスクに亘
って負荷を平均して分配する。これら各々のディスクス
トライピング技法は当業者には公知であって、例えば、
D.Patterson, G.GIbson and R.Kats, "A Case for Redu
ndant Arrays of Inexpensive Disks (RAID)", Proceed
ings of ACM-SIGMOD 1988 International Conference o
n Management of Data, 1988、に記載されている。
【0008】
【課題を解決するための手段】ディスクストライピング
(disk striping)を用いてビデオサーバーからビデオ
情報を取り出す方法は、ラウンド当たり取り出されたデ
ータ量はラムバッファメモリの容量とビデオサーバ内に
含まれるディスクの数をベースにすることにより達成で
きる。このようにして、このビデオサーバを用いて大量
の同時のビデオストリームの取り出しをサポートでき
る。本発明の1実施例によれば、ストライプされたビデ
オデータの取り出し方法は、ビデオサーバ内の複数のデ
ィスクから所定数のビットを取り出すステップと、この
所定数のビットをバッファメモリ内にストアするステッ
プを有し、取り出されストアされるビットの数は、ディ
スクの数とバッファメモリの容量に基づいている。これ
らのステップは、ビデオ取り出しプロセスのワンラウン
ドを構成し、全部のビデオ情報が取り出され、そして例
えば要求された送信レートでもって意図した受信者に送
信されるまで繰り返される。
(disk striping)を用いてビデオサーバーからビデオ
情報を取り出す方法は、ラウンド当たり取り出されたデ
ータ量はラムバッファメモリの容量とビデオサーバ内に
含まれるディスクの数をベースにすることにより達成で
きる。このようにして、このビデオサーバを用いて大量
の同時のビデオストリームの取り出しをサポートでき
る。本発明の1実施例によれば、ストライプされたビデ
オデータの取り出し方法は、ビデオサーバ内の複数のデ
ィスクから所定数のビットを取り出すステップと、この
所定数のビットをバッファメモリ内にストアするステッ
プを有し、取り出されストアされるビットの数は、ディ
スクの数とバッファメモリの容量に基づいている。これ
らのステップは、ビデオ取り出しプロセスのワンラウン
ドを構成し、全部のビデオ情報が取り出され、そして例
えば要求された送信レートでもって意図した受信者に送
信されるまで繰り返される。
【0009】
【発明の実施の形態】図1は、本発明の実施例に従って
VODサービスを提供するビデオサーバ10を示した図
である。このビデオサーバは、プロセッサ11、RAM
バッファメモリ2、及びビデオをストアする目的の複数
個のディスク13−1から13−mを含むコンピュータ
システムである。詳細に述べれば、複数個のビデオ、V
1からVn、が、望ましくは圧縮された形態でディスク1
3−1から13−nに亘ってストアされており、高速ネ
ットワーク14を介して、単一あるいは複数の受け手1
5宛に所定のレート、rdisp、で送信される。各々のビ
デオ、Vi、の総ビット長は、本明細書ではliで示され
る。各々のビデオ、Vi、は、複数個のストライプユニ
ット、Vij、に分割されており、ディスク13−1から
13−mに亘って分配されている。
VODサービスを提供するビデオサーバ10を示した図
である。このビデオサーバは、プロセッサ11、RAM
バッファメモリ2、及びビデオをストアする目的の複数
個のディスク13−1から13−mを含むコンピュータ
システムである。詳細に述べれば、複数個のビデオ、V
1からVn、が、望ましくは圧縮された形態でディスク1
3−1から13−nに亘ってストアされており、高速ネ
ットワーク14を介して、単一あるいは複数の受け手1
5宛に所定のレート、rdisp、で送信される。各々のビ
デオ、Vi、の総ビット長は、本明細書ではliで示され
る。各々のビデオ、Vi、は、複数個のストライプユニ
ット、Vij、に分割されており、ディスク13−1から
13−mに亘って分配されている。
【0010】実際の動作においては、顧客が特定のビデ
オに対するリクエストを、リクエストリストを管理して
いるサーバ宛に行なう。リクエストリストのエントリの
各々は、リクエストされたビデオの識別子(例えばビデ
オの名前)及びそのビデオをリクエストした顧客の組を
含んでいる。リクエストは、リクエストリストに以下の
ように追加される。リクエストされたビデオに対するエ
ントリが既にリクエストリストに含まれている場合に
は、リクエストした顧客がそのエントリ中の顧客の組に
対して追加される。他方、リクエストしたビデオに対す
るエントリがリクエストリストに含まれていない場合に
は、そのビデオ及びその顧客を含む新たなエントリがリ
クエストリストの最後に追加される。
オに対するリクエストを、リクエストリストを管理して
いるサーバ宛に行なう。リクエストリストのエントリの
各々は、リクエストされたビデオの識別子(例えばビデ
オの名前)及びそのビデオをリクエストした顧客の組を
含んでいる。リクエストは、リクエストリストに以下の
ように追加される。リクエストされたビデオに対するエ
ントリが既にリクエストリストに含まれている場合に
は、リクエストした顧客がそのエントリ中の顧客の組に
対して追加される。他方、リクエストしたビデオに対す
るエントリがリクエストリストに含まれていない場合に
は、そのビデオ及びその顧客を含む新たなエントリがリ
クエストリストの最後に追加される。
【0011】一般に、リクエストの到着後すぐに各々の
顧客にサービスを提供することは可能ではない。なぜな
ら、ビデオは主としてディスク13−1から13−mに
存在しており、顧客に対する送出の前にRAMバッファ
12に読み出されることが必要であるからである。本発
明の実施例に従って、サーバは、あらゆる時点におい
て、ディスクから同時に読み出されるべきビデオの組を
決定する具体的な手続きを用いる。同時に読み出される
ビデオの各々に関しては、サーバはRAM12中の適切
な量のバッファ空間を割り当て、ビデオ全体が必要とさ
れるレートrdispで読み出されるように、適切な時間間
隔でビデオの部分部分をバッファに読み出す。すなわ
ち、サーバは、ビデオ全体をRAM12に読み出すこと
なく、というよりはむしろ一度にそのビデオのある部分
のみをロードすることによって、顧客宛にビデオを送信
する。ビデオを開始するためには、適切な初期量のビデ
オデータが予めRAM12に読み込まれていなければな
らない。これが実現されると、未決分のリクエストに係
る全ての顧客に対するビデオの送出を開始することが可
能になる。ビデオのディスクからRAMへのレートr
dispでの連続した転送は、本明細書においてはストリー
ムと呼称される。
顧客にサービスを提供することは可能ではない。なぜな
ら、ビデオは主としてディスク13−1から13−mに
存在しており、顧客に対する送出の前にRAMバッファ
12に読み出されることが必要であるからである。本発
明の実施例に従って、サーバは、あらゆる時点におい
て、ディスクから同時に読み出されるべきビデオの組を
決定する具体的な手続きを用いる。同時に読み出される
ビデオの各々に関しては、サーバはRAM12中の適切
な量のバッファ空間を割り当て、ビデオ全体が必要とさ
れるレートrdispで読み出されるように、適切な時間間
隔でビデオの部分部分をバッファに読み出す。すなわ
ち、サーバは、ビデオ全体をRAM12に読み出すこと
なく、というよりはむしろ一度にそのビデオのある部分
のみをロードすることによって、顧客宛にビデオを送信
する。ビデオを開始するためには、適切な初期量のビデ
オデータが予めRAM12に読み込まれていなければな
らない。これが実現されると、未決分のリクエストに係
る全ての顧客に対するビデオの送出を開始することが可
能になる。ビデオのディスクからRAMへのレートr
dispでの連続した転送は、本明細書においてはストリー
ムと呼称される。
【0012】本発明に係る実施例の利点を理解する目的
で、当業者には公知のことではあるが、ディスクの特性
を熟知することが重要である。ディスク上のデータは、
通常、一連の同心円、すなわちトラック、にストアされ
ており、ディスクヘッドを用いてアクセスされる。ディ
スクは中央スピンドルを軸として回転しており、通常、
回転速度がディスクの転送レートを決定する。特定のト
ラック上のデータは、ヘッドをそのデータを含むトラッ
ク上に位置させ、ヘッドがそのデータの直上にくるまで
回転するのを待つことによってアクセスされる。ディス
クヘッドを希望のトラック上に位置させることは、通
常、シークと呼称される。通常、シークは、ヘッドが一
定速度で移動するコーストと、ヘッド位置が希望のトラ
ックに対して調節されるセトルとから構成される。よっ
て、ディスク上のデータアクセスに係る総レイテンシ
(すなわち遅延)は、通常、シークと回転レイテンシと
の総和である。現在市販されているディスクの種々のパ
ラメータ及びそれの代表的な値は、内側のトラックでの
転送レート(rdisk)として45Mbps、セトル時間
(tsettle)として0.6ms、(最大)シークレイテ
ンシ(tseek)として17ms、(最大)回転レイテン
シ(trot)として8.34ms、(最大)総レイテン
シ(ttot)として25.5ms、費用(Cd)として1
500ドル、そして2GBの容量である。
で、当業者には公知のことではあるが、ディスクの特性
を熟知することが重要である。ディスク上のデータは、
通常、一連の同心円、すなわちトラック、にストアされ
ており、ディスクヘッドを用いてアクセスされる。ディ
スクは中央スピンドルを軸として回転しており、通常、
回転速度がディスクの転送レートを決定する。特定のト
ラック上のデータは、ヘッドをそのデータを含むトラッ
ク上に位置させ、ヘッドがそのデータの直上にくるまで
回転するのを待つことによってアクセスされる。ディス
クヘッドを希望のトラック上に位置させることは、通
常、シークと呼称される。通常、シークは、ヘッドが一
定速度で移動するコーストと、ヘッド位置が希望のトラ
ックに対して調節されるセトルとから構成される。よっ
て、ディスク上のデータアクセスに係る総レイテンシ
(すなわち遅延)は、通常、シークと回転レイテンシと
の総和である。現在市販されているディスクの種々のパ
ラメータ及びそれの代表的な値は、内側のトラックでの
転送レート(rdisk)として45Mbps、セトル時間
(tsettle)として0.6ms、(最大)シークレイテ
ンシ(tseek)として17ms、(最大)回転レイテン
シ(trot)として8.34ms、(最大)総レイテン
シ(ttot)として25.5ms、費用(Cd)として1
500ドル、そして2GBの容量である。
【0013】細粒状ストライプされたビデオの読み出し
方法 細粒状ストライプされたビデオの本発明に係る読み出し
方法においては、サーバが、リクエストリストとは異な
ったサービスリストを管理している。このサービスリス
トには、現時点でデータが読み出されつつあるビデオが
含まれている。サーバは、サービスリストに掲載された
ビデオに係るデータをラウンドシーケンスで読み出す。
各々のラウンドの間にビデオに関して読み出されるビッ
ト数は、本明細書においては、”d”で表わされる。あ
るラウンドの間に読み出されたdビットは、直前のラウ
ンドにおいて読み出されたビットの次に来るものであ
る。本発明の実施例に従って、dの値は、RAMの量
(本明細書ではDで表わされる)、及びディスクの個数
(本明細書ではmで表わされる)に基づいて、同時にサ
ポートされ得るストリーム数が最大になるように設定さ
れる。(dの値の決定に関しては後述される)。加え
て、dが、mとストライプユニットサイズ(本明細書に
おいてはsuで表わされる)との積であることが望まし
い。よって、ビデオは、大きさdからなる部分(ポーシ
ョン)のシーケンスとして見なすことができる。各々の
部分は、各々がm・suという大きさを有するサブポー
ションのシーケンスとも見なすことが可能である。各々
のサブポーションは、m個のディスクに亘ってストライ
プされている。さらに、サブポーションに含まれるスト
ライプユニットは、対応するそれぞれのディスクの同一
の部分に位置していることが望ましい。加えて、ディス
ク上の、あるポーションの連続するサブポーションに属
するストライプユニットは、各々のディスク上で互いに
連続してストアされている。
方法 細粒状ストライプされたビデオの本発明に係る読み出し
方法においては、サーバが、リクエストリストとは異な
ったサービスリストを管理している。このサービスリス
トには、現時点でデータが読み出されつつあるビデオが
含まれている。サーバは、サービスリストに掲載された
ビデオに係るデータをラウンドシーケンスで読み出す。
各々のラウンドの間にビデオに関して読み出されるビッ
ト数は、本明細書においては、”d”で表わされる。あ
るラウンドの間に読み出されたdビットは、直前のラウ
ンドにおいて読み出されたビットの次に来るものであ
る。本発明の実施例に従って、dの値は、RAMの量
(本明細書ではDで表わされる)、及びディスクの個数
(本明細書ではmで表わされる)に基づいて、同時にサ
ポートされ得るストリーム数が最大になるように設定さ
れる。(dの値の決定に関しては後述される)。加え
て、dが、mとストライプユニットサイズ(本明細書に
おいてはsuで表わされる)との積であることが望まし
い。よって、ビデオは、大きさdからなる部分(ポーシ
ョン)のシーケンスとして見なすことができる。各々の
部分は、各々がm・suという大きさを有するサブポー
ションのシーケンスとも見なすことが可能である。各々
のサブポーションは、m個のディスクに亘ってストライ
プされている。さらに、サブポーションに含まれるスト
ライプユニットは、対応するそれぞれのディスクの同一
の部分に位置していることが望ましい。加えて、ディス
ク上の、あるポーションの連続するサブポーションに属
するストライプユニットは、各々のディスク上で互いに
連続してストアされている。
【0014】ラウンドの開始時点では、サーバは、各々
のビデオに関してdビットが読み出されることになるデ
ィスクのトラックの位置に基づいて、サービスリスト中
のビデオをソートする。その後、サーバは、サービスリ
ストに掲載されている順序に従って、各々のビデオをデ
ィスクからdビット読み出す。ビデオをソートすること
により、ラウンドの間、ビデオをサービスする際にディ
スクヘッドが単一方向に移動することが保証される、と
いう点に留意されたい。その結果、任意の位置へのラン
ダムシークが除去される。dビットを送信するために必
要な時間はd/rdispであるため、各々のビデオに関す
るデータがレートrdispで読み出されることを保証する
ためには、各々のラウンドが直前のラウンドからd/r
dispだけ時間が経過した後に開始されることが必要であ
る。よって、あるラウンドの間にビデオをサービスする
時間が絶対にd/rdisp、すなわちラウンド長、を越え
ることがあってならない。ラウンドの間にディスクヘッ
ドがディスクを最大2度に亘って横断するため、及び、
最悪の場合、各々のビデオに関するデータの読み出しが
セトル及び最大回転レイテンシオーバーヘッドを負わな
ければならないため、以下の数式が成り立つことが必要
となる(ここでは、サービスリストにq個のビデオが載
っていることが仮定されている)。
のビデオに関してdビットが読み出されることになるデ
ィスクのトラックの位置に基づいて、サービスリスト中
のビデオをソートする。その後、サーバは、サービスリ
ストに掲載されている順序に従って、各々のビデオをデ
ィスクからdビット読み出す。ビデオをソートすること
により、ラウンドの間、ビデオをサービスする際にディ
スクヘッドが単一方向に移動することが保証される、と
いう点に留意されたい。その結果、任意の位置へのラン
ダムシークが除去される。dビットを送信するために必
要な時間はd/rdispであるため、各々のビデオに関す
るデータがレートrdispで読み出されることを保証する
ためには、各々のラウンドが直前のラウンドからd/r
dispだけ時間が経過した後に開始されることが必要であ
る。よって、あるラウンドの間にビデオをサービスする
時間が絶対にd/rdisp、すなわちラウンド長、を越え
ることがあってならない。ラウンドの間にディスクヘッ
ドがディスクを最大2度に亘って横断するため、及び、
最悪の場合、各々のビデオに関するデータの読み出しが
セトル及び最大回転レイテンシオーバーヘッドを負わな
ければならないため、以下の数式が成り立つことが必要
となる(ここでは、サービスリストにq個のビデオが載
っていることが仮定されている)。
【数1】
【0015】ラウンドの開始時点において、サーバは、
サービスリスト中のビデオをソートする前に、リクエス
トリストの先頭に位置するビデオを、それが追加された
場合でもサービスリスト中のビデオに関して式(1)が
成り立つ限り、サービスリストに追加する。(よって、
サービスリストに追加されたビデオは、リクエストリス
トの先頭から削除される。)サービスリストに追加され
た各々のビデオに関して、2dの大きさを有するバッフ
ァが割り当てられる。そのビデオに関するdビットが、
連続するラウンドの間にそのバッファに読み込まれる。
(バッファに書き込んでいる間にバッファ終端に達した
場合には、それ以降のビットはバッファの先頭に書き込
まれる。同様に、読み出し中にバッファ終端に到達した
場合には、それ以降のビットはバッファの先頭から読み
出される。)ビデオデータの顧客への転送は、ラウンド
の終わりに、そのビデオの最初のdビットのその対応す
るバッファへの読み出しが完了した時点でのみ開始され
る。その理由は、サービスリストに対して新たなリスト
が追加され得るため、及び、ビデオが各々のラウンドの
開始時にソートされるために、あるビデオに関するdビ
ットの読み出しが完了する(ラウンドの開始時刻からの
相対的な)時刻が、連続する2つのラウンドにおいて同
一ではないからである。よって、各々のラウンドの開始
時点でビデオバッファが少なくともdビットを有してい
ることを保証することによって、ラウンドの間にそのビ
デオに関して次のdビットが読み出される時刻に拘ら
ず、そのビデオに関するビットがレートrdispで送出さ
れ得ることが保証される。最後に、全てのデータの読み
出しが完了したラウンドの終了時にそのビデオはサービ
スリストから削除される。
サービスリスト中のビデオをソートする前に、リクエス
トリストの先頭に位置するビデオを、それが追加された
場合でもサービスリスト中のビデオに関して式(1)が
成り立つ限り、サービスリストに追加する。(よって、
サービスリストに追加されたビデオは、リクエストリス
トの先頭から削除される。)サービスリストに追加され
た各々のビデオに関して、2dの大きさを有するバッフ
ァが割り当てられる。そのビデオに関するdビットが、
連続するラウンドの間にそのバッファに読み込まれる。
(バッファに書き込んでいる間にバッファ終端に達した
場合には、それ以降のビットはバッファの先頭に書き込
まれる。同様に、読み出し中にバッファ終端に到達した
場合には、それ以降のビットはバッファの先頭から読み
出される。)ビデオデータの顧客への転送は、ラウンド
の終わりに、そのビデオの最初のdビットのその対応す
るバッファへの読み出しが完了した時点でのみ開始され
る。その理由は、サービスリストに対して新たなリスト
が追加され得るため、及び、ビデオが各々のラウンドの
開始時にソートされるために、あるビデオに関するdビ
ットの読み出しが完了する(ラウンドの開始時刻からの
相対的な)時刻が、連続する2つのラウンドにおいて同
一ではないからである。よって、各々のラウンドの開始
時点でビデオバッファが少なくともdビットを有してい
ることを保証することによって、ラウンドの間にそのビ
デオに関して次のdビットが読み出される時刻に拘ら
ず、そのビデオに関するビットがレートrdispで送出さ
れ得ることが保証される。最後に、全てのデータの読み
出しが完了したラウンドの終了時にそのビデオはサービ
スリストから削除される。
【0016】本発明の実施例に従って、RAMの容量、
D、及びディスクの個数、m、に基づいて、dの値が、
同時に生成されるサポート可能なストリーム数が最大に
なるように計算される。式(1)より、与えられたdの
値に関して、サポートされ得るストリームの最大数は
D、及びディスクの個数、m、に基づいて、dの値が、
同時に生成されるサポート可能なストリーム数が最大に
なるように計算される。式(1)より、与えられたdの
値に関して、サポートされ得るストリームの最大数は
【数2】 のように表わされる。よって、rdisp<m・rdiskであ
るため、dの値が増大するに連れて、サポートされ得る
ストリーム数も増大する。しかしながら、ストリームあ
たりのバッファは2dであって総バッファ要求量はDを
越えることが出来ないため、dをある値以上にするとス
トリーム数が減少する。よって、最大ストリーム数をサ
ポートするdの値は
るため、dの値が増大するに連れて、サポートされ得る
ストリーム数も増大する。しかしながら、ストリームあ
たりのバッファは2dであって総バッファ要求量はDを
越えることが出来ないため、dをある値以上にするとス
トリーム数が減少する。よって、最大ストリーム数をサ
ポートするdの値は
【数3】 を解くことによって与えられる。
【0017】ここで、
【数4】 を式(3)を解くことの結果として得られるdの最大値
とし、
とし、
【数5】 をd=dcalcの際にサポートされ得る最大ストリーム数
とする。ここで、2・dcalc・qcalc=Dであることに
留意されたい。問題は、dcalcがm・suの倍数ではな
い可能性があることである。dcalcより大きい全てのd
の値に関して、最大ストリーム数はD/2dとなる。他
方、dcalcより小さいdの値に関しては、最大ストリー
ム数は
とする。ここで、2・dcalc・qcalc=Dであることに
留意されたい。問題は、dcalcがm・suの倍数ではな
い可能性があることである。dcalcより大きい全てのd
の値に関して、最大ストリーム数はD/2dとなる。他
方、dcalcより小さいdの値に関しては、最大ストリー
ム数は
【数6】 である。よって、最適なdの値は、以下の2つの式、式
(7)あるいは式(8)のいずれが大きいかに依存し
て、(dcalc/m・suを越える最小の整数)・m・s
uあるいは(dcalc/m・suを越えない最大の整数)
・m・suのいずれかである。
(7)あるいは式(8)のいずれが大きいかに依存し
て、(dcalc/m・suを越える最小の整数)・m・s
uあるいは(dcalc/m・suを越えない最大の整数)
・m・suのいずれかである。
【数7】
【数8】 式(8)においては、d=(dcalc/m・suを越えな
い最大の整数)・m・suである。
い最大の整数)・m・suである。
【0018】上記解析に基づいて、細粒状ディスクスト
ライピングが用いられた場合にサポートされ得るストリ
ーム数を最大にするdの値が決定される。例えば、D=
2GB及びm=50である場合には、suが512バイ
トであると選択されると仮定して前述された具体的なビ
デオサーバに関する記述において用いられたディスクパ
ラメータ値を用いると、dは7.1MBに設定されるこ
とが望ましく、このような読み出し方法を用いてサポー
トされ得るMPEG−1ストリームの最大数は139と
なる。充分な帯域が利用可能であるいう仮定が与えられ
た場合には、リクエストは最大で1ラウンド遅延させら
れることに留意されたい。よって、最大応答時間は4.
7秒となる。本発明の実施例においては、簡単のため、
ビデオストリームはディスク帯域の利用可能性にのみ基
づいて開始されることが有利である。よって、dは、
(dcalc/m・suを越えない最大の整数)・m・su
にセットされることが有利である。別の実施例において
は、バッファ空間の利用可能性も考慮され、この場合に
は、dの最適値は前述されているように選択される。
ライピングが用いられた場合にサポートされ得るストリ
ーム数を最大にするdの値が決定される。例えば、D=
2GB及びm=50である場合には、suが512バイ
トであると選択されると仮定して前述された具体的なビ
デオサーバに関する記述において用いられたディスクパ
ラメータ値を用いると、dは7.1MBに設定されるこ
とが望ましく、このような読み出し方法を用いてサポー
トされ得るMPEG−1ストリームの最大数は139と
なる。充分な帯域が利用可能であるいう仮定が与えられ
た場合には、リクエストは最大で1ラウンド遅延させら
れることに留意されたい。よって、最大応答時間は4.
7秒となる。本発明の実施例においては、簡単のため、
ビデオストリームはディスク帯域の利用可能性にのみ基
づいて開始されることが有利である。よって、dは、
(dcalc/m・suを越えない最大の整数)・m・su
にセットされることが有利である。別の実施例において
は、バッファ空間の利用可能性も考慮され、この場合に
は、dの最適値は前述されているように選択される。
【0019】図2は、本発明の実施例に従ったストライ
プされたビデオの読み出しに係る前述の方法を示す流れ
図である。詳細に述べれば、ステップ21においては、
各々のビデオに関して各々のラウンドで読み出されるべ
きビット数(前記議論において”d”として示されてい
たもの)が計算される。この計算は、ビデオサーバ中の
ディスクの数及びRAMバッファメモリの容量に基づく
ものである。特に、計算は、前述された解析に従ってな
される。
プされたビデオの読み出しに係る前述の方法を示す流れ
図である。詳細に述べれば、ステップ21においては、
各々のビデオに関して各々のラウンドで読み出されるべ
きビット数(前記議論において”d”として示されてい
たもの)が計算される。この計算は、ビデオサーバ中の
ディスクの数及びRAMバッファメモリの容量に基づく
ものである。特に、計算は、前述された解析に従ってな
される。
【0020】各々のラウンドにおいて読み出されるべき
ビット数が決定されると、ビデオ読み出しに関するリク
エストがビデオサーバによって受信される。これらのリ
クエストは、例えば、ステップ22において空に初期化
された”リクエストリスト”に集められる。ステップ2
2においては、”サービスリスト”も空に初期化され
る。このリストは、あらゆる時刻において(すなわちあ
らゆる与えられたラウンドにおいて)実際に読み出され
つつあるビデオの順序付けられた組を含んでいる。
ビット数が決定されると、ビデオ読み出しに関するリク
エストがビデオサーバによって受信される。これらのリ
クエストは、例えば、ステップ22において空に初期化
された”リクエストリスト”に集められる。ステップ2
2においては、”サービスリスト”も空に初期化され
る。このリストは、あらゆる時刻において(すなわちあ
らゆる与えられたラウンドにおいて)実際に読み出され
つつあるビデオの順序付けられた組を含んでいる。
【0021】ステップ23から29は、反復して実行さ
れる。この各々の反復は一”ラウンド”に対応してい
る。詳細に述べれば、ステップ23においては、新たに
受け付けられたリクエストがリクエストリストに追加さ
れる。ステップ24においては、リクエストリストの先
頭に位置するエントリが、それをサービスするために充
分なディスク帯域が利用可能である限り、サービスリス
トに移動させられる。前述された式(1)が、このディ
スク帯域決定を行なう際に用いられる。各々のビデオ
は、サービスリストに追加されると、リクエストリスト
からは削除される。ステップ25においては、サービス
リスト中のエントリが、ディスク上の対応するトラック
位置に従ってソートされる。このことにより、各々のラ
ウンドにおいて実行される読み出しプロセスの間に、デ
ィスクヘッドが一方向に移動することが保証される。
れる。この各々の反復は一”ラウンド”に対応してい
る。詳細に述べれば、ステップ23においては、新たに
受け付けられたリクエストがリクエストリストに追加さ
れる。ステップ24においては、リクエストリストの先
頭に位置するエントリが、それをサービスするために充
分なディスク帯域が利用可能である限り、サービスリス
トに移動させられる。前述された式(1)が、このディ
スク帯域決定を行なう際に用いられる。各々のビデオ
は、サービスリストに追加されると、リクエストリスト
からは削除される。ステップ25においては、サービス
リスト中のエントリが、ディスク上の対応するトラック
位置に従ってソートされる。このことにより、各々のラ
ウンドにおいて実行される読み出しプロセスの間に、デ
ィスクヘッドが一方向に移動することが保証される。
【0022】この時点で、現時点でのラウンドに係る読
み出しプロセスが開始される。ステップ26において
は、各々のビデオに係る計算された数のビットが、サー
ビスリストに掲載された順序で、ディスクから読み出さ
れる。このデータは、ディスクから読み出されると、バ
ッファメモリにストアされる(27)。(各々のビデオ
に関して、計算されたビット数の2倍がバッファメモリ
内で割り当てられることに留意されたい。なぜなら、あ
るラウンドに対応するビデオデータがそれにストアされ
る一方、直前のラウンドに対応するビデオデータがそこ
から送信されつつあるからである。)ある与えられたラ
ウンドに係るデータがディスクから読み出されてバッフ
ァメモリにストアされると、バッファメモリから適切な
リクエストを行なったところへのビデオデータの送出が
開始される(ステップ28)。この送出は、次のラウン
ドに係るビデオデータが読み出されつつある間は継続さ
れる。
み出しプロセスが開始される。ステップ26において
は、各々のビデオに係る計算された数のビットが、サー
ビスリストに掲載された順序で、ディスクから読み出さ
れる。このデータは、ディスクから読み出されると、バ
ッファメモリにストアされる(27)。(各々のビデオ
に関して、計算されたビット数の2倍がバッファメモリ
内で割り当てられることに留意されたい。なぜなら、あ
るラウンドに対応するビデオデータがそれにストアされ
る一方、直前のラウンドに対応するビデオデータがそこ
から送信されつつあるからである。)ある与えられたラ
ウンドに係るデータがディスクから読み出されてバッフ
ァメモリにストアされると、バッファメモリから適切な
リクエストを行なったところへのビデオデータの送出が
開始される(ステップ28)。この送出は、次のラウン
ドに係るビデオデータが読み出されつつある間は継続さ
れる。
【0023】最後に、ステップ29においては、完了し
たビデオがサービスリストから削除され、新たなリクエ
ストを受け入れるスペースが作成される。処理はステッ
プ23へ戻り、新たなラウンドが開始される。
たビデオがサービスリストから削除され、新たなリクエ
ストを受け入れるスペースが作成される。処理はステッ
プ23へ戻り、新たなラウンドが開始される。
【0024】粗粒状ストライプされたビデオの読み出し
方法 本発明に係る粗粒状ストライピング方法においては、”
d”で指し示されるストライプユニットの大きさは、各
々のラウンドにおいて与えられたビデオに関して読み出
されるビット数と同一である。(dとして用いられる有
利な値の計算は、以下に記述される。)各々のビデオ
は、dの整数倍の長さを有していることが仮定される。
このことは、例えば、広告を付加したり、あるいはそれ
ぞれの末端部でビデオを引き延ばしたりすることによっ
て実現される。本発明の実施例に従って、複数個のビデ
オが、まず、”スーパービデオ”を形成するために連結
されるべきものであると見なされる。スーパービデオに
属する、大きさdの連続したストライプユニットは、円
環状にm個のディスクにストアされる。ビデオViの最
初のストライプユニットが存在しているディスクは、本
明細書においてはディスク(Vi)と呼称される。本発
明に係る粗粒状ストライピング方式においては、2つの
相異なったビデオVi及びVjに関して、ディスク
(Vi)及びディスク(Vj)は異なり得る。
方法 本発明に係る粗粒状ストライピング方法においては、”
d”で指し示されるストライプユニットの大きさは、各
々のラウンドにおいて与えられたビデオに関して読み出
されるビット数と同一である。(dとして用いられる有
利な値の計算は、以下に記述される。)各々のビデオ
は、dの整数倍の長さを有していることが仮定される。
このことは、例えば、広告を付加したり、あるいはそれ
ぞれの末端部でビデオを引き延ばしたりすることによっ
て実現される。本発明の実施例に従って、複数個のビデ
オが、まず、”スーパービデオ”を形成するために連結
されるべきものであると見なされる。スーパービデオに
属する、大きさdの連続したストライプユニットは、円
環状にm個のディスクにストアされる。ビデオViの最
初のストライプユニットが存在しているディスクは、本
明細書においてはディスク(Vi)と呼称される。本発
明に係る粗粒状ストライピング方式においては、2つの
相異なったビデオVi及びVjに関して、ディスク
(Vi)及びディスク(Vj)は異なり得る。
【0025】本発明に係る粗粒状ストライピング方法に
おいては、個別のサービスリストが各々のディスクに関
して管理されている。ディスクに係るサービスリスト
は、現時点のラウンドにおいてそのディスクからデータ
が読み出されつつあるビデオを含んでいる。ビデオに係
るデータは、大きさ2dのバッファに読み出される。ラ
ウンドの開始時点において、各々のサービスリストに含
まれるビデオは、そのラウンドの間に各々のビデオに関
して読み出されるべきdビットのディスク上でのトラッ
クの位置に基づいてソートされる。その後、各々のディ
スクに係るサービスリスト中のビデオのdビットが、ソ
ートされた順序でディスクから読み出される。さらに、
相異なったサービスリスト中のビデオに係るデータは並
列に読み出される。その結果、データをレートrdispで
読み出すためには各々のラウンドがd/rdispの間隔で
開始されなければならないため、(サービスリストには
q個のビデオが掲載されているとして)以下の式が成り
立つことが必要である:
おいては、個別のサービスリストが各々のディスクに関
して管理されている。ディスクに係るサービスリスト
は、現時点のラウンドにおいてそのディスクからデータ
が読み出されつつあるビデオを含んでいる。ビデオに係
るデータは、大きさ2dのバッファに読み出される。ラ
ウンドの開始時点において、各々のサービスリストに含
まれるビデオは、そのラウンドの間に各々のビデオに関
して読み出されるべきdビットのディスク上でのトラッ
クの位置に基づいてソートされる。その後、各々のディ
スクに係るサービスリスト中のビデオのdビットが、ソ
ートされた順序でディスクから読み出される。さらに、
相異なったサービスリスト中のビデオに係るデータは並
列に読み出される。その結果、データをレートrdispで
読み出すためには各々のラウンドがd/rdispの間隔で
開始されなければならないため、(サービスリストには
q個のビデオが掲載されているとして)以下の式が成り
立つことが必要である:
【数9】
【0026】ラウンドの終了時には、もはや読み出され
るべきデータを有さないビデオがサービスリストから削
除される。その後、各々のディスクに係るサービスリス
トは、その直前のディスクのサービスリストにセットさ
れる。すなわち、サービスリスト中のビデオに関して読
み出されるべきデータは、その直前のディスクからその
直前のラウンドにおいてそのビデオに関して読み出され
たdビットの直後のdビットである。よって、あるビデ
オに関して連続するラウンドで読み出されるデータは、
連続したディスクから読み出される。さらに、あるビデ
オに関して最初のdビットが読み出されたラウンドの最
後に、そのビデオをリクエストした顧客へのビデオデー
タの送出が開始される。
るべきデータを有さないビデオがサービスリストから削
除される。その後、各々のディスクに係るサービスリス
トは、その直前のディスクのサービスリストにセットさ
れる。すなわち、サービスリスト中のビデオに関して読
み出されるべきデータは、その直前のディスクからその
直前のラウンドにおいてそのビデオに関して読み出され
たdビットの直後のdビットである。よって、あるビデ
オに関して連続するラウンドで読み出されるデータは、
連続したディスクから読み出される。さらに、あるビデ
オに関して最初のdビットが読み出されたラウンドの最
後に、そのビデオをリクエストした顧客へのビデオデー
タの送出が開始される。
【0027】リクエストリスト中のビデオに関するデー
タの読み出しをいつ開始すべきかという問題、等価的に
は、リクエストリストに含まれるビデオをあるディスク
のサービスリストにいつ挿入するべきかという問題、を
扱ういくつかの具体的な方法が以下に記述される。これ
らの方法の全ては、ラウンドの開始時点にサービスリス
トがソートされる直前、かつ、各々のディスクに係るサ
ービスリストが直前のラウンドの終了時にその直前のデ
ィスクのサービスリストに設定された直後、にサーバに
よって用いられる。一ラウンドの間にディスクにおいて
サービスされるビデオの数がqである場合には、そのデ
ィスクにおいて利用されていない(すなわち、浪費され
ており、それゆえ利用可能な)ディスク帯域は、少なく
とも
タの読み出しをいつ開始すべきかという問題、等価的に
は、リクエストリストに含まれるビデオをあるディスク
のサービスリストにいつ挿入するべきかという問題、を
扱ういくつかの具体的な方法が以下に記述される。これ
らの方法の全ては、ラウンドの開始時点にサービスリス
トがソートされる直前、かつ、各々のディスクに係るサ
ービスリストが直前のラウンドの終了時にその直前のデ
ィスクのサービスリストに設定された直後、にサーバに
よって用いられる。一ラウンドの間にディスクにおいて
サービスされるビデオの数がqである場合には、そのデ
ィスクにおいて利用されていない(すなわち、浪費され
ており、それゆえ利用可能な)ディスク帯域は、少なく
とも
【数10】 である。
【0028】最初の(そして最も直接的な)方法は、リ
クエストリスト中の各々のリクエストに関して、まず最
初のリクエストから、以下の操作を実行することであ
る。リクエストされたビデオVi及びディスク(Vi)に
係るサービスリスト中に含まれているビデオに関して、
式(9)が成立するならば、そのリクエストはリクエス
トリストから削除されてディスク(Vi)に係るサービ
スリストに追加される。この方式はディスク帯域をかな
り効率的に利用するが、リクエストリスト中のある種の
リクエストが決してサービスされず、その種のリクエス
トが無期限に待たされることになる可能性を有している
という欠点を有している。この問題は、本明細書におい
ては、”窮乏”と呼称される。前述された方式の一つの
変形においては、この窮乏問題が、ビデオを、リクエス
トリスト中のその直前のビデオがサービスリストに追加
された後にのみ、サービスリストに追加することによっ
て、取り除かれている。しかしながら、この方式の欠点
の一つは、ディスク帯域を不必要に浪費することにつな
がることである。
クエストリスト中の各々のリクエストに関して、まず最
初のリクエストから、以下の操作を実行することであ
る。リクエストされたビデオVi及びディスク(Vi)に
係るサービスリスト中に含まれているビデオに関して、
式(9)が成立するならば、そのリクエストはリクエス
トリストから削除されてディスク(Vi)に係るサービ
スリストに追加される。この方式はディスク帯域をかな
り効率的に利用するが、リクエストリスト中のある種の
リクエストが決してサービスされず、その種のリクエス
トが無期限に待たされることになる可能性を有している
という欠点を有している。この問題は、本明細書におい
ては、”窮乏”と呼称される。前述された方式の一つの
変形においては、この窮乏問題が、ビデオを、リクエス
トリスト中のその直前のビデオがサービスリストに追加
された後にのみ、サービスリストに追加することによっ
て、取り除かれている。しかしながら、この方式の欠点
の一つは、ディスク帯域を不必要に浪費することにつな
がることである。
【0029】本発明の実施例に従って、リクエストが窮
乏することなく、同時にディスク帯域を効率的に利用す
る、窮乏フリーな方法が提供される。窮乏を防止するた
めに、本発明に係る方法においては、利用可能なディス
ク帯域が、リクエストリストにビデオが掲載されている
順序に基づいて、当該ビデオに対して予約される。しか
しながら、予約されたディスク帯域のビデオへの割り当
ては、浪費されるディスク帯域量が最小となるようにな
される。本発明に係る方法は、新たに2つのデータスト
ラクチャが維持管理されることを必要とする。このデー
タストラクチャの一つは、あるビデオに関して帯域が予
約されたディスクに係る情報をストアしている”(ディ
スク、ビデオ)”という、順序付けがなされた対であ
る。このリストは、本明細書においては”予約済みリス
ト”と呼称される。窮乏フリー方法によって用いられる
他方のデータストラクチャは、各々のディスクの利用可
能な帯域に係る情報をストアしている”フリーリスト”
である。詳細に述べれば、フリーリストのエントリ
は、”(ディスク、利用可能な帯域)”という、順序付
けがなされた次いである。予約済みリスト及びフリーリ
ストの各々のエントリ、e、に関して、e(1)及びe
(2)は、それぞれeの第一要素及び第二要素を表わ
す。ここで、m個のディスクが0からm−1という番号
が付されているものと仮定する。ディスクiからディス
クjへの”距離”は、dist(i,j)と表わされ
る。i=jの場合には、dist(i,j)は単にj−
iである。それ以外の場合には、dist(i,j)は
m−i+jである。ここで、dist(i,j)が必ず
しもdist(j,i)とは等しくないことに留意され
たい。ビデオViに関して利用可能な帯域が予約された
ディスクとディスク(Vi)との間の距離が、ディスク
帯域のうちの(d/rdisk)+ttot+tsettle部分が
ビデオViのために利用されないことになるラウンド数
である。これは、そのラウンド数の後にViに関するデ
ータ読み出しが開始されるラウンド数である。フリーリ
スト中の各々のディスクに関して利用可能な帯域は、初
めは(d/rdisk)+2・tse ekである。予約済みリス
トは初めは空である。サービスリストがソートされる直
前のラウンドの開始時点でリクエストリストからビデオ
をサービスリストへ挿入する、窮乏フリーな方法は、以
下のようになる。 1.予約済みリスト及びフリーリストの全てのエントリ
eに関して、e(1)を(e(1)+1) mod m
にセットする。(すなわち、各々のエントリにおけるデ
ィスクをその直後のディスクにセットして、次のラウン
ドへの進展を反映させる。) 2.直前のラウンドにおいてディスクiから最終dビッ
トが読み出されたビデオの各々に対して、ディスク(i
+1) mod m上で利用可能な帯域をフリーリスト
に以下のように追加する。ここで、2つの変数、cur
_entry及びcur_diskが管理されているこ
とに留意されたい。cur_entryは初期状態では
予約済みリスト中の第一エントリにセットされていて、
cur_diskは(i+1) mod mにセットさ
れている。 (a)cur_entryがnil(すなわち空)であ
る場合には、cur_diskに係るフリーリストエン
トリの利用可能な帯域に(d/rdisk)+ttot+t
settleを追加し、ステップ3に進む。 (b)dist(cur_disk,ディスク(cur
_entry(2)))<dist(cur_entr
y(1)、ディスク(cur_entry(2)))で
ある場合には、cur_entry(1)とcur_d
iskの値が交換される。 (c)cur_entryが予約済みリスト中の次のエ
ントリに(それが存在する場合には)セットされる。次
いで、ステップ2(a)に進む。 3.フリーリストに対して利用可能なディスク帯域の全
てが追加されると、リクエストリスト中のリクエストに
関して以下のように予約される。 (a)リクエストリストが空である、あるいは全てのデ
ィスクに関して、そのディスクに係るフリーリストエン
トリにおいて利用可能な帯域が(d/rdisk)+ttot
+tsettleより小さい場合には、ステップ4に進む。そ
れ以外の場合には、cur_videoをリクエストリ
スト中の最初のリストに含まれるビデオにセットし、そ
のリクエストをリクエストリストから削除する。 (b)ディスクjを、フリーリスト中の利用可能な帯域
が少なくとも(d/rdi sk)+ttot+tsettleであ
り、かつ、dist(j,ディスク(cur_vide
o))が最小であるディスクとする。(j,cur_v
ideo)を予約済みリストの最後部に追加する。 (c)フリーリスト中においてディスクjに係る利用可
能な帯域から(d/rdi sk)+ttot+tsettleを減算
する。その後、ステップ3(a)に進む。 4.予約済みリスト中の、e(1)=ディスク(e
(2))であるような全てのエントリeに関して、eを
予約済みリストから消去し、e(2)をe(1)に係る
サービスリスト中に挿入する。(よって、e(2)に関
して読み出されるべきデータは最初のdビットであ
る。)
乏することなく、同時にディスク帯域を効率的に利用す
る、窮乏フリーな方法が提供される。窮乏を防止するた
めに、本発明に係る方法においては、利用可能なディス
ク帯域が、リクエストリストにビデオが掲載されている
順序に基づいて、当該ビデオに対して予約される。しか
しながら、予約されたディスク帯域のビデオへの割り当
ては、浪費されるディスク帯域量が最小となるようにな
される。本発明に係る方法は、新たに2つのデータスト
ラクチャが維持管理されることを必要とする。このデー
タストラクチャの一つは、あるビデオに関して帯域が予
約されたディスクに係る情報をストアしている”(ディ
スク、ビデオ)”という、順序付けがなされた対であ
る。このリストは、本明細書においては”予約済みリス
ト”と呼称される。窮乏フリー方法によって用いられる
他方のデータストラクチャは、各々のディスクの利用可
能な帯域に係る情報をストアしている”フリーリスト”
である。詳細に述べれば、フリーリストのエントリ
は、”(ディスク、利用可能な帯域)”という、順序付
けがなされた次いである。予約済みリスト及びフリーリ
ストの各々のエントリ、e、に関して、e(1)及びe
(2)は、それぞれeの第一要素及び第二要素を表わ
す。ここで、m個のディスクが0からm−1という番号
が付されているものと仮定する。ディスクiからディス
クjへの”距離”は、dist(i,j)と表わされ
る。i=jの場合には、dist(i,j)は単にj−
iである。それ以外の場合には、dist(i,j)は
m−i+jである。ここで、dist(i,j)が必ず
しもdist(j,i)とは等しくないことに留意され
たい。ビデオViに関して利用可能な帯域が予約された
ディスクとディスク(Vi)との間の距離が、ディスク
帯域のうちの(d/rdisk)+ttot+tsettle部分が
ビデオViのために利用されないことになるラウンド数
である。これは、そのラウンド数の後にViに関するデ
ータ読み出しが開始されるラウンド数である。フリーリ
スト中の各々のディスクに関して利用可能な帯域は、初
めは(d/rdisk)+2・tse ekである。予約済みリス
トは初めは空である。サービスリストがソートされる直
前のラウンドの開始時点でリクエストリストからビデオ
をサービスリストへ挿入する、窮乏フリーな方法は、以
下のようになる。 1.予約済みリスト及びフリーリストの全てのエントリ
eに関して、e(1)を(e(1)+1) mod m
にセットする。(すなわち、各々のエントリにおけるデ
ィスクをその直後のディスクにセットして、次のラウン
ドへの進展を反映させる。) 2.直前のラウンドにおいてディスクiから最終dビッ
トが読み出されたビデオの各々に対して、ディスク(i
+1) mod m上で利用可能な帯域をフリーリスト
に以下のように追加する。ここで、2つの変数、cur
_entry及びcur_diskが管理されているこ
とに留意されたい。cur_entryは初期状態では
予約済みリスト中の第一エントリにセットされていて、
cur_diskは(i+1) mod mにセットさ
れている。 (a)cur_entryがnil(すなわち空)であ
る場合には、cur_diskに係るフリーリストエン
トリの利用可能な帯域に(d/rdisk)+ttot+t
settleを追加し、ステップ3に進む。 (b)dist(cur_disk,ディスク(cur
_entry(2)))<dist(cur_entr
y(1)、ディスク(cur_entry(2)))で
ある場合には、cur_entry(1)とcur_d
iskの値が交換される。 (c)cur_entryが予約済みリスト中の次のエ
ントリに(それが存在する場合には)セットされる。次
いで、ステップ2(a)に進む。 3.フリーリストに対して利用可能なディスク帯域の全
てが追加されると、リクエストリスト中のリクエストに
関して以下のように予約される。 (a)リクエストリストが空である、あるいは全てのデ
ィスクに関して、そのディスクに係るフリーリストエン
トリにおいて利用可能な帯域が(d/rdisk)+ttot
+tsettleより小さい場合には、ステップ4に進む。そ
れ以外の場合には、cur_videoをリクエストリ
スト中の最初のリストに含まれるビデオにセットし、そ
のリクエストをリクエストリストから削除する。 (b)ディスクjを、フリーリスト中の利用可能な帯域
が少なくとも(d/rdi sk)+ttot+tsettleであ
り、かつ、dist(j,ディスク(cur_vide
o))が最小であるディスクとする。(j,cur_v
ideo)を予約済みリストの最後部に追加する。 (c)フリーリスト中においてディスクjに係る利用可
能な帯域から(d/rdi sk)+ttot+tsettleを減算
する。その後、ステップ3(a)に進む。 4.予約済みリスト中の、e(1)=ディスク(e
(2))であるような全てのエントリeに関して、eを
予約済みリストから消去し、e(2)をe(1)に係る
サービスリスト中に挿入する。(よって、e(2)に関
して読み出されるべきデータは最初のdビットであ
る。)
【0030】前述の手続きでのステップ1においては、
ディスク上で利用可能な帯域が、その直前のディスク上
で利用可能な帯域にセットされる。ディスク(i+1)
mod m上で新たに利用可能になった帯域に関し
て、それを予約済みリストにおいてあるディスクに対し
て割り当てられていたディスクと交換することによって
より効率的に帯域を利用することが可能になる場合があ
る。よって、ステップ2においては、予約済みリスト中
のビデオVjに関して、ディスク(i+1) mod
mが現時点でVjに対して割り当てられているディスク
よりもディスク(Vj)に近い場合には、ディスク(i
+1) mod mがVjに対して割り当てられる。そ
の後、Vjに対してそれ以前に割り当てられていた利用
可能な帯域が、予約済みリスト中のそれ以降のビデオに
対して同様に割り当てられる。この割り当ては、予約済
みリストの終端に達するまで反復される。ステップ3に
おいては、フリーリスト中の利用可能な帯域がリクエス
トリストの先頭のリクエストに対して割り当てられ、最
後にステップ4においては、予約済みリスト中の、デー
タ読み出しが開始されることが可能なビデオがサービス
リストに追加される。
ディスク上で利用可能な帯域が、その直前のディスク上
で利用可能な帯域にセットされる。ディスク(i+1)
mod m上で新たに利用可能になった帯域に関し
て、それを予約済みリストにおいてあるディスクに対し
て割り当てられていたディスクと交換することによって
より効率的に帯域を利用することが可能になる場合があ
る。よって、ステップ2においては、予約済みリスト中
のビデオVjに関して、ディスク(i+1) mod
mが現時点でVjに対して割り当てられているディスク
よりもディスク(Vj)に近い場合には、ディスク(i
+1) mod mがVjに対して割り当てられる。そ
の後、Vjに対してそれ以前に割り当てられていた利用
可能な帯域が、予約済みリスト中のそれ以降のビデオに
対して同様に割り当てられる。この割り当ては、予約済
みリストの終端に達するまで反復される。ステップ3に
おいては、フリーリスト中の利用可能な帯域がリクエス
トリストの先頭のリクエストに対して割り当てられ、最
後にステップ4においては、予約済みリスト中の、デー
タ読み出しが開始されることが可能なビデオがサービス
リストに追加される。
【0031】ステップ2においては、予約済みリスト中
のビデオViが、相異なったディスクには、そのディス
クがディスク(Vi)により近接していなければ再割り
当てされないため、リクエストリスト中のあらゆるビデ
オに係るデータ読み出しが永遠に遅延させられる可能性
はない。よって、この方法は窮乏フリーである。さら
に、この方法では、オーバーヘッドは非常にわずかであ
る。新たなディスク帯域が利用可能であることにより、
予約済みリスト中の全てのエントリに関して比較が実行
されることになる。さらに、リクエストの予約済みリス
トへの追加により、必要とされる利用可能な帯域を有す
る最近接ディスクを決定する目的での、フリーリスト中
の全てのディスクエントリの比較が行なわれることにな
る。
のビデオViが、相異なったディスクには、そのディス
クがディスク(Vi)により近接していなければ再割り
当てされないため、リクエストリスト中のあらゆるビデ
オに係るデータ読み出しが永遠に遅延させられる可能性
はない。よって、この方法は窮乏フリーである。さら
に、この方法では、オーバーヘッドは非常にわずかであ
る。新たなディスク帯域が利用可能であることにより、
予約済みリスト中の全てのエントリに関して比較が実行
されることになる。さらに、リクエストの予約済みリス
トへの追加により、必要とされる利用可能な帯域を有す
る最近接ディスクを決定する目的での、フリーリスト中
の全てのディスクエントリの比較が行なわれることにな
る。
【0032】図3及び4は、本発明の実施例に従って粗
粒状ストライプされたビデオを読み出す、前述された方
法を示す流れ図である。(図5は、図3及び4に示され
た流れ図が相互に接続される様子を表わしている。)こ
の手続きに係る初期化は、31から34までの段階から
なる。処理31では、”リクエストリスト”が空に初期
化され、処理32では各々のディスクに係る”サービス
リスト”が空に初期化され、処理33においては”予約
済みリスト”が空に初期化され、処理34においては各
々のディスクに係る”フリーリスト”に利用可能な帯域
を反映する初期エントリが置かれる。
粒状ストライプされたビデオを読み出す、前述された方
法を示す流れ図である。(図5は、図3及び4に示され
た流れ図が相互に接続される様子を表わしている。)こ
の手続きに係る初期化は、31から34までの段階から
なる。処理31では、”リクエストリスト”が空に初期
化され、処理32では各々のディスクに係る”サービス
リスト”が空に初期化され、処理33においては”予約
済みリスト”が空に初期化され、処理34においては各
々のディスクに係る”フリーリスト”に利用可能な帯域
を反映する初期エントリが置かれる。
【0033】初期化の後、処理35−52が反復して実
行される。各々の反復は一”ラウンド”を表わしてい
る。詳細に述べれば、処理35においては、新たに受け
付けられたリクエストが”リクエストリスト”に追加さ
れる。その後、次のラウンドへの進展を反映させる目的
で、処理36において、”予約済みリスト”及び”フリ
ーリスト”エントリの各々における”ディスク”コンポ
ーネントがインクリメントされる。(処理36が前述さ
れた手続きの記述におけるステップ1に対応しているこ
とに留意されたい。)次いで、直前のラウンドにおいて
読み出しが完了した(処理37)ビデオの各々に関し
て、処理38では、変数”cur_disk”がビデオ
を完了したディスクの次のディスクにセットされ、処理
39−43においては、新たに利用可能となった帯域に
基づいてディスクの割り当てを最適化する目的で”予約
済みリスト”が走査される。
行される。各々の反復は一”ラウンド”を表わしてい
る。詳細に述べれば、処理35においては、新たに受け
付けられたリクエストが”リクエストリスト”に追加さ
れる。その後、次のラウンドへの進展を反映させる目的
で、処理36において、”予約済みリスト”及び”フリ
ーリスト”エントリの各々における”ディスク”コンポ
ーネントがインクリメントされる。(処理36が前述さ
れた手続きの記述におけるステップ1に対応しているこ
とに留意されたい。)次いで、直前のラウンドにおいて
読み出しが完了した(処理37)ビデオの各々に関し
て、処理38では、変数”cur_disk”がビデオ
を完了したディスクの次のディスクにセットされ、処理
39−43においては、新たに利用可能となった帯域に
基づいてディスクの割り当てを最適化する目的で”予約
済みリスト”が走査される。
【0034】詳細に述べれば、”予約済みリスト”エン
トリの各々に対して(処理39)、決定処理40におい
て、変数”cur_disk”が、”予約済みリスト”
エントリに係るビデオの開始ディスクに、現在それに対
して予約されているディスクよりも近いか否かが決定さ
れる。より近い場合には、処理41において、”予約済
みリスト”エントリに係るディスクが”cur_dis
k”に再割り当てされ、処理42において、変数”cu
r_disk”が”予約済みリスト”エントリのそれ以
前に予約されていたディスクにセットされる。言い換え
れば、利用可能な帯域を有するディスクと予め割り当て
られていたディスクが交換され、このことによって帯域
の利用効率が改善される。決定処理43においては、考
慮すべき”予約済みリスト”エントリがさらに存在する
か否かが決定され、存在する場合には、手続きは処理3
9へ進む。
トリの各々に対して(処理39)、決定処理40におい
て、変数”cur_disk”が、”予約済みリスト”
エントリに係るビデオの開始ディスクに、現在それに対
して予約されているディスクよりも近いか否かが決定さ
れる。より近い場合には、処理41において、”予約済
みリスト”エントリに係るディスクが”cur_dis
k”に再割り当てされ、処理42において、変数”cu
r_disk”が”予約済みリスト”エントリのそれ以
前に予約されていたディスクにセットされる。言い換え
れば、利用可能な帯域を有するディスクと予め割り当て
られていたディスクが交換され、このことによって帯域
の利用効率が改善される。決定処理43においては、考
慮すべき”予約済みリスト”エントリがさらに存在する
か否かが決定され、存在する場合には、手続きは処理3
9へ進む。
【0035】予約済みリストの最後に到達すると、処理
44において、新たに利用可能となった帯域が、”フリ
ーリスト”中に”cur_disk”に係るエントリを
追加することによって割り当てられる。その後、決定処
理45において、直前のラウンドで完了したビデオがさ
らに存在するか否かが決定される。さらに存在する場合
には、手続きは処理37へ戻り、関連する、新たに利用
可能となった帯域が処理される。(処理37−45は、
前記手続きに係る記述におけるステップ2に対応するこ
とに留意されたい。)
44において、新たに利用可能となった帯域が、”フリ
ーリスト”中に”cur_disk”に係るエントリを
追加することによって割り当てられる。その後、決定処
理45において、直前のラウンドで完了したビデオがさ
らに存在するか否かが決定される。さらに存在する場合
には、手続きは処理37へ戻り、関連する、新たに利用
可能となった帯域が処理される。(処理37−45は、
前記手続きに係る記述におけるステップ2に対応するこ
とに留意されたい。)
【0036】新たに利用可能になった全ての帯域が識別
され、”予約済みリスト”が利用効率を最適化する目的
で走査され、それに関して”フリーリスト”が更新され
た後、処理46において、前記ステップ3に記述されて
いるように、リクエストリストの先頭に位置するリクエ
ストに対して利用可能な帯域が割り当てられる(処理4
6は前記手続きに係る記述におけるステップ3に対応し
ている)。詳細に述べれば、”リクエストリスト”エン
トリが、(リストの先頭から)順次、そのビデオの開始
ディスクに最近接の、充分な帯域を有するディスクが存
在するならば、そのディスクに対して割り当てられる。
この割り当ての各々に関して、対応する”予約済みリス
ト”エントリが生成され、対応する”フリーリスト”エ
ントリがそれに従って調整される。
され、”予約済みリスト”が利用効率を最適化する目的
で走査され、それに関して”フリーリスト”が更新され
た後、処理46において、前記ステップ3に記述されて
いるように、リクエストリストの先頭に位置するリクエ
ストに対して利用可能な帯域が割り当てられる(処理4
6は前記手続きに係る記述におけるステップ3に対応し
ている)。詳細に述べれば、”リクエストリスト”エン
トリが、(リストの先頭から)順次、そのビデオの開始
ディスクに最近接の、充分な帯域を有するディスクが存
在するならば、そのディスクに対して割り当てられる。
この割り当ての各々に関して、対応する”予約済みリス
ト”エントリが生成され、対応する”フリーリスト”エ
ントリがそれに従って調整される。
【0037】その後、”予約済みリスト”中の、データ
読み出しを開始することが可能な(すなわち、予約され
たディスクがその開始ディスクと同一の)ビデオが、”
予約済みリスト”から開始ディスクの”サービスリス
ト”に移される。このことは、処理47においてなされ
るが、これは前記手続きに係る記述のステップ4に対応
している。最後に、データの読み出しが開始される前
に、処理48において、ディスクの各々からの複数個の
ビデオに係る効率的なデータ読み出しを保証するため
に、各々のディスクの”サービスリスト”がディスクト
ラック位置に基づいてソートされる。
読み出しを開始することが可能な(すなわち、予約され
たディスクがその開始ディスクと同一の)ビデオが、”
予約済みリスト”から開始ディスクの”サービスリス
ト”に移される。このことは、処理47においてなされ
るが、これは前記手続きに係る記述のステップ4に対応
している。最後に、データの読み出しが開始される前
に、処理48において、ディスクの各々からの複数個の
ビデオに係る効率的なデータ読み出しを保証するため
に、各々のディスクの”サービスリスト”がディスクト
ラック位置に基づいてソートされる。
【0038】ビデオデータは、処理49において、”サ
ービスリスト”に従って、すべてのディスクから並列に
読み出され、読み出されたデータはバッファメモリにス
トアされる。その後、処理50において、ビデオデータ
のバッファメモリから適切なリクエスト者宛の転送が開
始される。最後に、次の”ラウンド”に備える目的で、
処理51において、完了したビデオが全て”サービスリ
スト”から削除され、処理52において、各々のディス
クの”サービスリスト”が直前のディスクの直前の”サ
ービスリスト”にセットされる。
ービスリスト”に従って、すべてのディスクから並列に
読み出され、読み出されたデータはバッファメモリにス
トアされる。その後、処理50において、ビデオデータ
のバッファメモリから適切なリクエスト者宛の転送が開
始される。最後に、次の”ラウンド”に備える目的で、
処理51において、完了したビデオが全て”サービスリ
スト”から削除され、処理52において、各々のディス
クの”サービスリスト”が直前のディスクの直前の”サ
ービスリスト”にセットされる。
【0039】リクエストのディスクへの各割り当て(及
びビデオが完了した後に”予約済みリスト”が走査され
る際に発生する各々の割り当て)は、そのリクエストに
対するサービスがいつの時点で開始されるべきであるか
(すなわちその対応するビデオの読み出しがいつ開始さ
れるべきか)に係るスケジューリング(あるいは再スケ
ジューリング)を引き起こす。すなわち、”予約済みリ
スト”の各々のエントリ内のディスク番号が各々のラウ
ンドの開始時点でインクリメントされるため、さらに
は、”予約済みリスト”エントリのディスクがそのビデ
オの開始ディスクと一致する場合には”予約済みリス
ト”エントリが”サービスリスト”へ移されるため、”
予約済みリスト”エントリ中のディスク番号からそのビ
デオの開始ディスクへの(上記定義による)”距離”
は、実際、あるビデオの読み出しが開始される前に経過
するラウンド数である。よって、前記手続きのステップ
1−4において詳述され、図3及び4における処理36
−47において示されている、”リクエストリスト”か
ら”サービスリスト”へのビデオの挿入手続きは、実
際、リクエスト割り当て/再割り当て手続きとして見な
すことが可能である。
びビデオが完了した後に”予約済みリスト”が走査され
る際に発生する各々の割り当て)は、そのリクエストに
対するサービスがいつの時点で開始されるべきであるか
(すなわちその対応するビデオの読み出しがいつ開始さ
れるべきか)に係るスケジューリング(あるいは再スケ
ジューリング)を引き起こす。すなわち、”予約済みリ
スト”の各々のエントリ内のディスク番号が各々のラウ
ンドの開始時点でインクリメントされるため、さらに
は、”予約済みリスト”エントリのディスクがそのビデ
オの開始ディスクと一致する場合には”予約済みリス
ト”エントリが”サービスリスト”へ移されるため、”
予約済みリスト”エントリ中のディスク番号からそのビ
デオの開始ディスクへの(上記定義による)”距離”
は、実際、あるビデオの読み出しが開始される前に経過
するラウンド数である。よって、前記手続きのステップ
1−4において詳述され、図3及び4における処理36
−47において示されている、”リクエストリスト”か
ら”サービスリスト”へのビデオの挿入手続きは、実
際、リクエスト割り当て/再割り当て手続きとして見な
すことが可能である。
【0040】粗粒状ストライプされたビデオに関する有
利なストライプサイズの決定 粗粒状ストライプされたビデオに関して、本発明に従っ
たビデオサーバの実施例によってサポートされる同時ス
トリーム数を最大化するようなdの値を用いることが有
利である。与えられたdの値に対して、各々のディスク
によってサポートされ得るストリーム数の最大値は
利なストライプサイズの決定 粗粒状ストライプされたビデオに関して、本発明に従っ
たビデオサーバの実施例によってサポートされる同時ス
トリーム数を最大化するようなdの値を用いることが有
利である。与えられたdの値に対して、各々のディスク
によってサポートされ得るストリーム数の最大値は
【数11】 であり、これは式(9)を解くことの結果として得られ
た(そしてサーバによってm倍にされた)qに対する最
大値である。さらに、各ストリーム毎に2dのバッファ
が割り当てられていて、総バッファ要求量はDを越える
ことが出来ないため、dの最適値は以下の方程式を解く
ことによって得られる。
た(そしてサーバによってm倍にされた)qに対する最
大値である。さらに、各ストリーム毎に2dのバッファ
が割り当てられていて、総バッファ要求量はDを越える
ことが出来ないため、dの最適値は以下の方程式を解く
ことによって得られる。
【数12】
【0041】ここで、
【数13】 を、上記方程式を解くことの結果として得られたdの最
大値とし、qcalcをd=dcalcの際に各々のディスクに
よってサポートされ得る最大ストリーム数とする。2・
dcalc・qcalc・m=Dであることに留意されたい。問
題は、qcalcが整数でない場合があり得ることである。
その結果、サーバによってサポートされ得る同時ストリ
ームの最大数はqcalcを越えない最大の整数にmを乗じ
たものとなる。よって、qcalcを越えない最大の整数に
mを乗じた数のストリームをサポートするために必要と
されるRAMは実質的にDより少ないため、dcalcmin
を、qcal cを越える最小の整数個のストリームをディス
クからサポートするための最小のdの値とするとき、d
の値をdcalcminであると選択することによって、サー
バがより多くの同時ストリームをサポートすることが可
能になる。dcalcmin≧dc alcであるため、d=d
calcminである場合には、サーバによってサポートされ
得る最大ストリーム数は、Dを2・dcalcminで除した
数を越える最小の整数となる。qcalcを越えない最大の
整数にmを乗じたものとDを2・dcalcminで除した数
を越える最小の整数とのいずれがより大きいかに依存し
て、dの値はdcalcあるいはdcalcminのいずれかにセ
ットされる。
大値とし、qcalcをd=dcalcの際に各々のディスクに
よってサポートされ得る最大ストリーム数とする。2・
dcalc・qcalc・m=Dであることに留意されたい。問
題は、qcalcが整数でない場合があり得ることである。
その結果、サーバによってサポートされ得る同時ストリ
ームの最大数はqcalcを越えない最大の整数にmを乗じ
たものとなる。よって、qcalcを越えない最大の整数に
mを乗じた数のストリームをサポートするために必要と
されるRAMは実質的にDより少ないため、dcalcmin
を、qcal cを越える最小の整数個のストリームをディス
クからサポートするための最小のdの値とするとき、d
の値をdcalcminであると選択することによって、サー
バがより多くの同時ストリームをサポートすることが可
能になる。dcalcmin≧dc alcであるため、d=d
calcminである場合には、サーバによってサポートされ
得る最大ストリーム数は、Dを2・dcalcminで除した
数を越える最小の整数となる。qcalcを越えない最大の
整数にmを乗じたものとDを2・dcalcminで除した数
を越える最小の整数とのいずれがより大きいかに依存し
て、dの値はdcalcあるいはdcalcminのいずれかにセ
ットされる。
【0042】上記解析に基づいて、本発明に係る粗粒状
ストライプされたビデオ方式によってサポートされ得る
ストリーム数を最大にするdの値が決定される。例え
ば、D=2GBでm=50の場合には、前述されたビデ
オサーバ例において与えられたディスクパラメータ値を
用いると、dが0.9MBに設定されることが有利であ
り、サポートされるMPEG−1ストリーム数の最大値
は1011となる。この値が、同一のD及びmの値を有
する前述された同様の細粒状ストライピング方式によっ
てサポートされる最大ストリーム数のおよそ7.5倍で
あることに留意されたい。この理由は、細粒状方式にお
けるデータアクセス当たりのレイテンシオーバーヘッド
が、粗粒状方式におけるデータアクセス当たりのオーバ
ーヘッドのm倍であることである。その結果、細粒状方
式に関して計算されたdcalcの値が粗粒状方式に関して
計算されたものよりも大きくなる。細粒状方式の場合と
同様、本発明の実施例に従って、簡単のために、ビデオ
ストリームはディスク帯域の利用可能性にのみ基づいて
開始されることが有利であるとしてきた。よって、dは
dcalcに設定されることが有利である。別の実施例にお
いては、バッファ空間の利用可能性も考慮され、この場
合には前述されているようにdの最適値が選択される。
ストライプされたビデオ方式によってサポートされ得る
ストリーム数を最大にするdの値が決定される。例え
ば、D=2GBでm=50の場合には、前述されたビデ
オサーバ例において与えられたディスクパラメータ値を
用いると、dが0.9MBに設定されることが有利であ
り、サポートされるMPEG−1ストリーム数の最大値
は1011となる。この値が、同一のD及びmの値を有
する前述された同様の細粒状ストライピング方式によっ
てサポートされる最大ストリーム数のおよそ7.5倍で
あることに留意されたい。この理由は、細粒状方式にお
けるデータアクセス当たりのレイテンシオーバーヘッド
が、粗粒状方式におけるデータアクセス当たりのオーバ
ーヘッドのm倍であることである。その結果、細粒状方
式に関して計算されたdcalcの値が粗粒状方式に関して
計算されたものよりも大きくなる。細粒状方式の場合と
同様、本発明の実施例に従って、簡単のために、ビデオ
ストリームはディスク帯域の利用可能性にのみ基づいて
開始されることが有利であるとしてきた。よって、dは
dcalcに設定されることが有利である。別の実施例にお
いては、バッファ空間の利用可能性も考慮され、この場
合には前述されているようにdの最適値が選択される。
【0043】以上の説明は、本発明の一実施例に関する
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。
【0044】
【発明の効果】以上述べたごとく、本発明によれば、粗
粒状ストライピング技法を用いて複数個のディスクに亘
ってストライプされたビデオデータを読み出す方法が提
供される。
粒状ストライピング技法を用いて複数個のディスクに亘
ってストライプされたビデオデータを読み出す方法が提
供される。
【図1】 本発明の実施例に従ってVODサービスを提
供するビデオサーバを示す図。
供するビデオサーバを示す図。
【図2】 本発明の実施例に従ってストライプされたビ
デオを読み出す方法を記述する流れ図。
デオを読み出す方法を記述する流れ図。
【図3】 本発明の実施例に従って粗粒状ストライプさ
れたビデオを読み出す方法を記述する流れ図。
れたビデオを読み出す方法を記述する流れ図。
【図4】 本発明の実施例に従って粗粒状ストライプさ
れたビデオを読み出す方法を記述する流れ図。
れたビデオを読み出す方法を記述する流れ図。
【図5】 図3及び図4が相互に接続される様子を示す
図。
図。
10 ビデオサーバ 11 プロセッサ 12 RAMバッファメモリ 13 ディスクアレイ 14 ネットワーク 15 デコーダ及びディスプレイを有する受け手
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラジーフ ラストジ アメリカ合衆国,07974 ニュージャージ ー,ニュー プロヴィデンス,リヴィング ストン アヴェニュー 229 (72)発明者 アブラハム シルバースキャッツ アメリカ合衆国,07901 ニュージャージ ー,サミット,ヒルサイド アヴェニュー 19エイ
Claims (17)
- 【請求項1】 ビデオ情報を表す蓄積されたビットシー
ケンスを取り出す方法において、 前記ビットシーケンスは、ディスクストライピング技術
により複数のm個のディスクにストアされ、 (A)前記複数のディスクから所定数d個のビットを取
り出すステップと、 (B)前記所定数のビットを所定容量を有するバッファ
メモリにストアするステップと、 からなり、前記所定数dは、前記複数のmと前記バッフ
ァメモリの容量に基づいて決定されることを特徴とする
ビデオ情報の取り出し方法。 - 【請求項2】 前記ディスクストライプ技術は、所定サ
イズのストライプユニットでもって前記ディスク上にス
トアされ、前記所定数dは、前記所定ストライプユニッ
トサイズと前記複数mとの積の倍数であることを特徴と
する請求項1の方法。 - 【請求項3】 前記所定数dは、前記ディスクの性能特
性に基づいて決定されることを特徴とする請求項1の方
法。 - 【請求項4】 前記性能特性は、ディスクの転送レート
とセトル時間とシーク遅延と回転遅延とを含むことを特
徴とする請求項3の方法。 - 【請求項5】 前記ビデオ情報を表す前記蓄積されたビ
ットシーケンスは、それに関連した必要な転送レートを
有し、 前記所定数dは、前記必要な転送レートに基づいて決定
されることを特徴とする請求項1の方法。 - 【請求項6】 前記複数のディスクは、その中に異なる
ビデオ情報を表す複数のビットシーケンスをストアし、 前記(A)と(B)のステップは、異なるビデオ情報を
表す前記複数のビットシーケンスの複数のものに対し実
行されることを特徴とする請求項1の方法。 - 【請求項7】 前記(A)と(B)のステップは、前記
蓄積されたビットシーケンスの連続する部分に対し複数
回実行されることを特徴とする請求項1の方法。 - 【請求項8】 (C)前記バッファメモリ内に蓄積され
た前記ビットの所定数をネットワークを介し前記ビデオ
情報の要求者に送信するステップをさらに有することを
特徴とする請求項1の方法。 - 【請求項9】 (D)前記所定数dを複数mと前記バッ
ファメモリの容量に基づいて計算するステップをさらに
有することを特徴とする請求項1の方法。 - 【請求項10】 ビデオ情報を表す蓄積されたビットシ
ーケンスを取り出すビデオサーバにおいて、 (X)複数のm個のディスクと、 前記ビットシーケンスは、ディスクストライピング技術
により、前記複数のディスク上にストアされ、 (A)前記複数のディスクから所定数d個のビットを取
り出す手段と、 (B)前記所定数のビットをストアする所定容量を有す
るバッファメモリと、 からなり、前記所定数dは、前記複数のmと前記バッフ
ァメモリの容量に基づいて決定されることを特徴とする
ビデオサーバ。 - 【請求項11】 前記ディスクストライプ技術は、所定
サイズのストライプユニットでもって前記ディスク上に
ストアされ、前記所定数dは、前記所定ストライプユニ
ットサイズと前記複数mとの積の倍数であることを特徴
とする請求項10のビデオサーバ。 - 【請求項12】 前記所定数dは、前記ディスクの性能
特性に基づいて決定されることを特徴とする請求項10
のビデオサーバ。 - 【請求項13】 前記性能特性は、ディスクの転送レー
トとセトル時間とシーク遅延と回転遅延とを含むことを
特徴とする請求項12のビデオサーバ。 - 【請求項14】 前記ビデオ情報を表す前記蓄積された
ビットシーケンスは、それに関連した必要な転送レート
を有し前記所定数dは、前記必要な転送レートに基づい
て決定されることを特徴とする請求項10のビデオサー
バ。 - 【請求項15】 前記複数のディスクは、その中に異な
るビデオ情報を表す複数のビットシーケンスをストア
し、 前記取り出し手段は、異なるビデオ情報を表す前記複数
シーケンスの内の複数のシーケンスの所定数のビットを
取り出し、前記バッファメモリがそれを蓄積することを
特徴とする請求項10のビデオサーバ。 - 【請求項16】 (C)前記バッファメモリ内に蓄積さ
れた前記ビットの所定数をネットワークを介し前記ビデ
オ情報の要求者に送信する手段をさらに有することを特
徴とする請求項10のビデオサーバ。 - 【請求項17】 (D)前記所定数dを複数mと前記バ
ッファメモリの容量に基づいて計算する手段をさらに有
することを特徴とする請求項10のビデオサーバ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/491,755 US5724543A (en) | 1995-06-19 | 1995-06-19 | Video data retrieval method for use in video server environments that use striped disks |
US491755 | 1995-06-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH099194A true JPH099194A (ja) | 1997-01-10 |
Family
ID=23953527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8157082A Pending JPH099194A (ja) | 1995-06-19 | 1996-06-18 | ビデオ情報の取り出し方法とビデオサーバ |
Country Status (4)
Country | Link |
---|---|
US (1) | US5724543A (ja) |
EP (1) | EP0753966A2 (ja) |
JP (1) | JPH099194A (ja) |
CA (1) | CA2178376C (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002720A (en) * | 1991-01-07 | 1999-12-14 | H. Lee Browne, D/B/A Greenwich Information Technologies Llc | Audio and video transmission and receiving system |
US5253275A (en) * | 1991-01-07 | 1993-10-12 | H. Lee Browne | Audio and video transmission and receiving system |
US9286294B2 (en) | 1992-12-09 | 2016-03-15 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator content suggestion engine |
US7168084B1 (en) | 1992-12-09 | 2007-01-23 | Sedna Patent Services, Llc | Method and apparatus for targeting virtual objects |
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 |
US6519686B2 (en) * | 1998-01-05 | 2003-02-11 | Intel Corporation | Information streaming in a multi-process system using shared memory |
DE19831516A1 (de) | 1998-07-14 | 2000-01-20 | Alcatel Sa | Verfahren zum Betrieb eines Servers sowie Server und Steuereinheit |
US9924234B2 (en) | 1998-07-23 | 2018-03-20 | Comcast Ip Holdings I, Llc | Data structure and methods for providing an interactive program |
BR9912385A (pt) | 1998-07-23 | 2002-01-15 | Diva Systems Corp | Interface de usuário gerada em um extremo de cabeça, guia de programa interativo, e, processos de geração e distribuição de uma interface de usuário, e de interação com um guia de programa interativo |
US6754905B2 (en) | 1998-07-23 | 2004-06-22 | Diva Systems Corporation | Data structure and methods for providing an interactive program guide |
US6415437B1 (en) | 1998-07-23 | 2002-07-02 | Diva Systems Corporation | Method and apparatus for combining video sequences with an interactive program guide |
US7091968B1 (en) * | 1998-07-23 | 2006-08-15 | Sedna Patent Services, Llc | Method and apparatus for encoding a user interface |
US6898762B2 (en) * | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
US6754271B1 (en) | 1999-04-15 | 2004-06-22 | Diva Systems Corporation | Temporal slice persistence method and apparatus for delivery of interactive program guide |
US7096487B1 (en) | 1999-10-27 | 2006-08-22 | Sedna Patent Services, Llc | Apparatus and method for combining realtime and non-realtime encoded content |
US6904610B1 (en) | 1999-04-15 | 2005-06-07 | Sedna Patent Services, Llc | Server-centric customized interactive program guide in an interactive television environment |
US7784079B1 (en) | 1999-05-04 | 2010-08-24 | Unisys Corporation | Video on demand transaction server |
US8245260B1 (en) | 1999-05-04 | 2012-08-14 | Unisys Corporation | Video server |
US7100000B1 (en) * | 1999-05-28 | 2006-08-29 | International Business Machines Corporation | System and methods for processing audio using multiple speech technologies |
CA2388606C (en) | 1999-10-27 | 2009-12-29 | Diva Systems Corporation | Picture-in-picture and multiple video streams using slice-based encoding |
US7284064B1 (en) | 2000-03-21 | 2007-10-16 | Intel Corporation | Method and apparatus to determine broadcast content and scheduling in a broadcast system |
US6438368B1 (en) | 2000-03-30 | 2002-08-20 | Ikadega, Inc. | Information distribution system and method |
GB0008691D0 (en) * | 2000-04-07 | 2000-05-31 | Post Impressions Systems Ltd | Input and output systems for data processing |
US7451474B1 (en) | 2000-05-15 | 2008-11-11 | Unisys Corporation | Set top network protocol |
US7188357B1 (en) | 2000-11-16 | 2007-03-06 | Unisys Corporation | Video-on demand video server disk/memory streaming selection methodology |
US7275254B1 (en) | 2000-11-21 | 2007-09-25 | Intel Corporation | Method and apparatus for determining and displaying the service level of a digital television broadcast signal |
US20020143591A1 (en) * | 2001-03-30 | 2002-10-03 | Connelly Jay H. | Method and apparatus for a hybrid content on demand broadcast system |
US20020157113A1 (en) * | 2001-04-20 | 2002-10-24 | Fred Allegrezza | System and method for retrieving and storing multimedia data |
US7185352B2 (en) * | 2001-05-11 | 2007-02-27 | Intel Corporation | Method and apparatus for combining broadcast schedules and content on a digital broadcast-enabled client platform |
US20030005451A1 (en) * | 2001-06-15 | 2003-01-02 | Connelly Jay H. | Method and apparatus to distribute content descriptors in a content distribution broadcast system |
US20020194603A1 (en) * | 2001-06-15 | 2002-12-19 | Jay H. Connelly | Method and apparatus to distribute content using a multi-stage broadcast system |
US20030005465A1 (en) * | 2001-06-15 | 2003-01-02 | Connelly Jay H. | Method and apparatus to send feedback from clients to a server in a content distribution broadcast system |
US20030005438A1 (en) * | 2001-06-29 | 2003-01-02 | Crinon Regis J. | Tailoring a broadcast schedule based on storage area and consumer information |
US7908628B2 (en) | 2001-08-03 | 2011-03-15 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator content coding and formatting |
US7793326B2 (en) | 2001-08-03 | 2010-09-07 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator |
US20030061611A1 (en) * | 2001-09-26 | 2003-03-27 | Ramesh Pendakur | Notifying users of available content and content reception based on user profiles |
US20030066090A1 (en) * | 2001-09-28 | 2003-04-03 | Brendan Traw | Method and apparatus to provide a personalized channel |
US8943540B2 (en) * | 2001-09-28 | 2015-01-27 | Intel Corporation | Method and apparatus to provide a personalized channel |
US9154813B2 (en) | 2011-06-09 | 2015-10-06 | Comcast Cable Communications, Llc | Multiple video content in a composite video stream |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0392942A (ja) * | 1989-09-06 | 1991-04-18 | Hitachi Ltd | ファイルの格納方法およびアクセス方法 |
JPH04243414A (ja) * | 1991-01-18 | 1992-08-31 | Nec Corp | ディスクストライピング装置 |
JPH06175786A (ja) * | 1992-12-08 | 1994-06-24 | Hitachi Ltd | ディスクアレイ装置 |
JPH0713707A (ja) * | 1993-02-18 | 1995-01-17 | Ibm Japan Ltd | データ供給装置 |
JPH0822379A (ja) * | 1994-07-08 | 1996-01-23 | Hitachi Ltd | ディスクアレイ装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581784A (en) * | 1992-11-17 | 1996-12-03 | Starlight Networks | Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams |
JPH077715A (ja) * | 1993-01-29 | 1995-01-10 | Immix A Division Of Carton Internatl Corp | ディスクからのビデオ信号の記憶及び引き出し方法 |
US5455934A (en) * | 1993-03-23 | 1995-10-03 | Eclipse Technologies, Inc. | Fault tolerant hard disk array controller |
US5414455A (en) * | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
CA2138301C (en) * | 1994-01-21 | 1998-12-15 | Hal Hjalmar Ottesen | Apparatus and method for providing multimedia data |
US5544327A (en) * | 1994-03-01 | 1996-08-06 | International Business Machines Corporation | 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 |
US5583561A (en) * | 1994-06-07 | 1996-12-10 | Unisys Corporation | Multi-cast digital video data server using synchronization groups |
US5590381A (en) * | 1994-06-30 | 1996-12-31 | Lucent Technologies Inc. | Method and apparatus for buffered video playback of video content distributed on a plurality of disks |
US5586264A (en) * | 1994-09-08 | 1996-12-17 | Ibm Corporation | Video optimized media streamer with cache management |
US5530557A (en) * | 1994-09-12 | 1996-06-25 | International Business Machines Corporation | 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 |
US5583995A (en) * | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
US5592612A (en) * | 1995-04-28 | 1997-01-07 | Birk; Yitzhak | Method and apparatus for supplying data streams |
-
1995
- 1995-06-19 US US08/491,755 patent/US5724543A/en not_active Expired - Fee Related
-
1996
- 1996-06-06 CA CA002178376A patent/CA2178376C/en not_active Expired - Fee Related
- 1996-06-11 EP EP96304327A patent/EP0753966A2/en not_active Withdrawn
- 1996-06-18 JP JP8157082A patent/JPH099194A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0392942A (ja) * | 1989-09-06 | 1991-04-18 | Hitachi Ltd | ファイルの格納方法およびアクセス方法 |
JPH04243414A (ja) * | 1991-01-18 | 1992-08-31 | Nec Corp | ディスクストライピング装置 |
JPH06175786A (ja) * | 1992-12-08 | 1994-06-24 | Hitachi Ltd | ディスクアレイ装置 |
JPH0713707A (ja) * | 1993-02-18 | 1995-01-17 | Ibm Japan Ltd | データ供給装置 |
JPH0822379A (ja) * | 1994-07-08 | 1996-01-23 | Hitachi Ltd | ディスクアレイ装置 |
Also Published As
Publication number | Publication date |
---|---|
US5724543A (en) | 1998-03-03 |
CA2178376C (en) | 2000-03-21 |
CA2178376A1 (en) | 1996-12-20 |
EP0753966A2 (en) | 1997-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH099194A (ja) | ビデオ情報の取り出し方法とビデオサーバ | |
JP3136269B2 (ja) | ビデオサービス提供方法及びビデオサーバ | |
US5629732A (en) | Viewer controllable on-demand multimedia service | |
JP3560211B2 (ja) | ディジタルデータをオンデマンドで分配するシステム及び方法 | |
US5719983A (en) | Method and apparatus for placement of video data based on disk zones | |
US5721950A (en) | Method for scheduling I/O transactions for video data storage unit to maintain continuity of number of video streams which is limited by number of I/O transactions | |
US5815662A (en) | Predictive memory caching for media-on-demand systems | |
JP3858122B2 (ja) | 要求がありしだい音声および/または画像情報を記憶し、転送するためのシステムおよび方法 | |
JPH08241172A (ja) | ファイルシステムからのデータの取り出しのスケジューリング方法 | |
JP2000505983A (ja) | データ流を供給するための方法および系 | |
JPH10501389A (ja) | 同期グループを用いるマルチキャストデジタルビデオデータサーバ | |
Ghandeharizadeh et al. | Design and implementation of scalable continuous media servers | |
JP2000507017A (ja) | 複数のデータメモリアレイ用データバッファリングシステム | |
Lougher et al. | The design and implementation of a continuous media storage server | |
JP3575862B2 (ja) | ストリームスケジューリング方法及び装置 | |
Ozden et al. | Disk striping in video server environments | |
Bocheck et al. | Disk partitioning technique for reducing multimedia access delay | |
Kamel et al. | A novel deadline driven disk scheduling algorithm for multi-priority multimedia objects | |
Chan et al. | Hierarchical storage systems for on-demand video servers | |
CN100424778C (zh) | 记录多媒体数字数据的方法和设备 | |
JPH10506746A (ja) | 論理的に連続するクラスタ間でデータを反復する方法およびシステム | |
Philip et al. | Look-ahead scheduling to support pause-resume for video-on-demand applications | |
Tan et al. | On video-on-demand servers with hierarchical storage | |
EP0795254B1 (en) | Method and system for reading data blocks for a number of user groups | |
Vin et al. | Multimedia Storage Systems |