JP3136269B2 - ビデオサービス提供方法及びビデオサーバ - Google Patents
ビデオサービス提供方法及びビデオサーバInfo
- Publication number
- JP3136269B2 JP3136269B2 JP08157083A JP15708396A JP3136269B2 JP 3136269 B2 JP3136269 B2 JP 3136269B2 JP 08157083 A JP08157083 A JP 08157083A JP 15708396 A JP15708396 A JP 15708396A JP 3136269 B2 JP3136269 B2 JP 3136269B2
- Authority
- JP
- Japan
- Prior art keywords
- reading
- video
- bit sequence
- round
- disks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- 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/17318—Direct or substantially direct transmission and handling of requests
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/002—Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
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】
【課題を解決するための手段】本発明に従って、粗粒状
ストライピング技法を用いて複数個のディスクに亘って
ストライプされたビデオデータを読み出す方法が提供さ
れる。詳細に述べれば、本発明の実施例に従って、本発
明に係る方法は、着信リクエストに応答してディスクの
帯域の利用可能性に基づいてビデオの読み出しのスケジ
ューリングを行なう段階、及び、そのビデオの読み出し
をより早い時点で開始するように再スケジューリングを
行なう段階を有している。再スケジューリングは、他の
ビデオの読み出しの完了に起因するディスク帯域の利用
可能性の変更(すなわち増大)に基づいて実行される。
スケジューリング及び再スケジューリングは、例えば、
ディスクをビデオへ割り当てる段階を有しており、本発
明に係る方法は、さらに、各々のラウンドが発生する度
にそのビデオに対して割り当てられているディスクをイ
ンクリメントする段階、及び、あるビデオに対して割り
当てられたディスクがそのビデオに関するデータが開始
されるディスクである場合にそのビデオの読み出しを開
始する段階を有している。
ストライピング技法を用いて複数個のディスクに亘って
ストライプされたビデオデータを読み出す方法が提供さ
れる。詳細に述べれば、本発明の実施例に従って、本発
明に係る方法は、着信リクエストに応答してディスクの
帯域の利用可能性に基づいてビデオの読み出しのスケジ
ューリングを行なう段階、及び、そのビデオの読み出し
をより早い時点で開始するように再スケジューリングを
行なう段階を有している。再スケジューリングは、他の
ビデオの読み出しの完了に起因するディスク帯域の利用
可能性の変更(すなわち増大)に基づいて実行される。
スケジューリング及び再スケジューリングは、例えば、
ディスクをビデオへ割り当てる段階を有しており、本発
明に係る方法は、さらに、各々のラウンドが発生する度
にそのビデオに対して割り当てられているディスクをイ
ンクリメントする段階、及び、あるビデオに対して割り
当てられたディスクがそのビデオに関するデータが開始
されるディスクである場合にそのビデオの読み出しを開
始する段階を有している。
【0009】
【発明の実施の形態】図1は、本発明の実施例に従って
VODサービスを提供するビデオサーバ10を示した図
である。このビデオサーバは、プロセッサ11、RAM
バッファメモリ12、及びビデオをストアする目的の複
数個のディスク13−1から13−mを含むコンピュー
タシステムである。詳細に述べれば、複数個のビデオ、
V1からVn、が、望ましくは圧縮された形態でディス
ク13−1から13−nに亘ってストアされており、高
速ネットワーク14を介して、単一あるいは複数の受け
手15宛に所定のレート、rdisp、で送信される。
各々のビデオ、Vi、の総ビット長は、本明細書ではl
iで示される。各々のビデオ、Vi、は、複数個のスト
ライプユニット、Vij、に分割されており、ディスク
13−1から13−mに亘って分配されている。
VODサービスを提供するビデオサーバ10を示した図
である。このビデオサーバは、プロセッサ11、RAM
バッファメモリ12、及びビデオをストアする目的の複
数個のディスク13−1から13−mを含むコンピュー
タシステムである。詳細に述べれば、複数個のビデオ、
V1からVn、が、望ましくは圧縮された形態でディス
ク13−1から13−nに亘ってストアされており、高
速ネットワーク14を介して、単一あるいは複数の受け
手15宛に所定のレート、rdisp、で送信される。
各々のビデオ、Vi、の総ビット長は、本明細書ではl
iで示される。各々のビデオ、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.5m
s、費用(Cd)として1500ドル、そして2GBの
容量である。
で、当業者には公知のことではあるが、ディスクの特性
を熟知することが重要である。ディスク上のデータは、
通常、一連の同心円、すなわちトラック、にストアされ
ており、ディスクヘッドを用いてアクセスされる。ディ
スクは中央スピンドルを軸として回転しており、通常、
回転速度がディスクの転送レートを決定する。特定のト
ラック上のデータは、ヘッドをそのデータを含むトラッ
ク上に位置させ、ヘッドがそのデータの直上にくるまで
回転するのを待つことによってアクセスされる。ディス
クヘッドを希望のトラック上に位置させることは、通
常、シークと呼称される。通常、シークは、ヘッドが一
定速度で移動するコーストと、ヘッド位置が希望のトラ
ックに対して調節されるセトルとから構成される。よっ
て、ディスク上のデータアクセスに係る総レイテンシ
(すなわち遅延)は、通常、シークと回転レイテンシと
の総和である。現在市販されているディスクの種々のパ
ラメータ及びそれの代表的な値は、内側のトラックでの
転送レート(rdisk)として45Mbps、セトル
時間(tsettle)として0.6ms、(最大)シ
ークレイテンシ(tseek)として17ms、(最
大)回転レイテンシ(trot)として8.34ms、
(最大)総レイテンシ(ttot)として25.5m
s、費用(Cd)として1500ドル、そして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/rdispだけ時間が経過した後に開始されるこ
とが必要である。よって、あるラウンドの間にビデオを
サービスする時間が絶対にd/rdisp、すなわちラ
ウンド長、を越えることがあってならない。ラウンドの
間にディスクヘッドがディスクを最大2度に亘って横断
するため、及び、最悪の場合、各々のビデオに関するデ
ータの読み出しがセトル及び最大回転レイテンシオーバ
ーヘッドを負わなければならないため、以下の数式が成
り立つことが必要となる(ここでは、サービスリストに
q個のビデオが載っていることが仮定されている)。
のビデオに関してdビットが読み出されることになるデ
ィスクのトラックの位置に基づいて、サービスリスト中
のビデオをソートする。その後、サーバは、サービスリ
ストに掲載されている順序に従って、各々のビデオをデ
ィスクからdビット読み出す。ビデオをソートすること
により、ラウンドの間、ビデオをサービスする際にディ
スクヘッドが単一方向に移動することが保証される、と
いう点に留意されたい。その結果、任意の位置へのラン
ダムシークが除去される。dビットを送信するために必
要な時間はd/rdispであるため、各々のビデオに
関するデータがレートrdispで読み出されることを
保証するためには、各々のラウンドが直前のラウンドか
らd/rdispだけ時間が経過した後に開始されるこ
とが必要である。よって、あるラウンドの間にビデオを
サービスする時間が絶対に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・rdi
skであるため、dの値が増大するに連れて、サポート
され得るストリーム数も増大する。しかしながら、スト
リームあたりのバッファは2dであって総バッファ要求
量はDを越えることが出来ないため、dをある値以上に
するとストリーム数が減少する。よって、最大ストリー
ム数をサポートするdの値は
skであるため、dの値が増大するに連れて、サポート
され得るストリーム数も増大する。しかしながら、スト
リームあたりのバッファは2dであって総バッファ要求
量はDを越えることが出来ないため、dをある値以上に
するとストリーム数が減少する。よって、最大ストリー
ム数をサポートするdの値は
【数3】 を解くことによって与えられる。
【0017】ここで、
【数4】 を式(3)を解くことの結果として得られるdの最大値
とし、
とし、
【数5】 をd=dcalcの際にサポートされ得る最大ストリー
ム数とする。ここで、2・dcalc・qcalc=D
であることに留意されたい。問題は、dcalcがm・
suの倍数ではない可能性があることである。dcal
cより大きい全てのdの値に関して、最大ストリーム数
はD/2dとなる。他方、dcalcより小さいdの値
に関しては、最大ストリーム数は
ム数とする。ここで、2・dcalc・qcalc=D
であることに留意されたい。問題は、dcalcがm・
suの倍数ではない可能性があることである。dcal
cより大きい全てのdの値に関して、最大ストリーム数
はD/2dとなる。他方、dcalcより小さいdの値
に関しては、最大ストリーム数は
【数6】 である。よって、最適なdの値は、以下の2つの式、式
(7)あるいは式(8)のいずれが大きいかに依存し
て、(dcalc/m・suを越える最小の整数)・m
・suあるいは(dcalc/m・suを越えない最大
の整数)・m・suのいずれかである。
(7)あるいは式(8)のいずれが大きいかに依存し
て、(dcalc/m・suを越える最小の整数)・m
・suあるいは(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に関して、ディスク(V
i)及びディスク(Vj)は異なり得る。
方法 本発明に係る粗粒状ストライピング方法においては、”
d”で指し示されるストライプユニットの大きさは、各
々のラウンドにおいて与えられたビデオに関して読み出
されるビット数と同一である。(dとして用いられる有
利な値の計算は、以下に記述される。)各々のビデオ
は、dの整数倍の長さを有していることが仮定される。
このことは、例えば、広告を付加したり、あるいはそれ
ぞれの末端部でビデオを引き延ばしたりすることによっ
て実現される。本発明の実施例に従って、複数個のビデ
オが、まず、”スーパービデオ”を形成するために連結
されるべきものであると見なされる。スーパービデオに
属する、大きさdの連続したストライプユニットは、円
環状にm個のディスクにストアされる。ビデオViの最
初のストライプユニットが存在しているディスクは、本
明細書においてはディスク(Vi)と呼称される。本発
明に係る粗粒状ストライピング方式においては、2つの
相異なったビデオVi及びVjに関して、ディスク(V
i)及びディスク(Vj)は異なり得る。
【0025】本発明に係る粗粒状ストライピング方法に
おいては、個別のサービスリストが各々のディスクに関
して管理されている。ディスクに係るサービスリスト
は、現時点のラウンドにおいてそのディスクからデータ
が読み出されつつあるビデオを含んでいる。ビデオに係
るデータは、大きさ2dのバッファに読み出される。ラ
ウンドの開始時点において、各々のサービスリストに含
まれるビデオは、そのラウンドの間に各々のビデオに関
して読み出されるべきdビットのディスク上でのトラッ
クの位置に基づいてソートされる。その後、各々のディ
スクに係るサービスリスト中のビデオのdビットが、ソ
ートされた順序でディスクから読み出される。さらに、
相異なったサービスリスト中のビデオに係るデータは並
列に読み出される。その結果、データをレートrdis
pで読み出すためには各々のラウンドがd/rdisp
の間隔で開始されなければならないため、(サービスリ
ストにはq個のビデオが掲載されているとして)以下の
式が成り立つことが必要である:
おいては、個別のサービスリストが各々のディスクに関
して管理されている。ディスクに係るサービスリスト
は、現時点のラウンドにおいてそのディスクからデータ
が読み出されつつあるビデオを含んでいる。ビデオに係
るデータは、大きさ2dのバッファに読み出される。ラ
ウンドの開始時点において、各々のサービスリストに含
まれるビデオは、そのラウンドの間に各々のビデオに関
して読み出されるべきdビットのディスク上でのトラッ
クの位置に基づいてソートされる。その後、各々のディ
スクに係るサービスリスト中のビデオのdビットが、ソ
ートされた順序でディスクから読み出される。さらに、
相異なったサービスリスト中のビデオに係るデータは並
列に読み出される。その結果、データをレートrdis
pで読み出すためには各々のラウンドが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+tset
tle部分がビデオViのために利用されないことにな
るラウンド数である。これは、そのラウンド数の後にV
iに関するデータ読み出しが開始されるラウンド数であ
る。フリーリスト中の各々のディスクに関して利用可能
な帯域は、初めは(d/rdisk)+2・tseek
である。予約済みリストは初めは空である。サービスリ
ストがソートされる直前のラウンドの開始時点でリクエ
ストリストからビデオをサービスリストへ挿入する、窮
乏フリーな方法は、以下のようになる。 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
+tsettleを追加し、ステップ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)+t
tot+tsettleより小さい場合には、ステップ
4に進む。それ以外の場合には、cur_videoを
リクエストリスト中の最初のリストに含まれるビデオに
セットし、そのリクエストをリクエストリストから削除
する。 (b)ディスクjを、フリーリスト中の利用可能な帯域
が少なくとも(d/rdisk)+ttot+tset
tleであり、かつ、dist(j,ディスク(cur
_video))が最小であるディスクとする。(j,
cur_video)を予約済みリストの最後部に追加
する。 (c)フリーリスト中においてディスクjに係る利用可
能な帯域から(d/rdisk)+ttot+tset
tleを減算する。その後、ステップ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+tset
tle部分がビデオViのために利用されないことにな
るラウンド数である。これは、そのラウンド数の後にV
iに関するデータ読み出しが開始されるラウンド数であ
る。フリーリスト中の各々のディスクに関して利用可能
な帯域は、初めは(d/rdisk)+2・tseek
である。予約済みリストは初めは空である。サービスリ
ストがソートされる直前のラウンドの開始時点でリクエ
ストリストからビデオをサービスリストへ挿入する、窮
乏フリーな方法は、以下のようになる。 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
+tsettleを追加し、ステップ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)+t
tot+tsettleより小さい場合には、ステップ
4に進む。それ以外の場合には、cur_videoを
リクエストリスト中の最初のリストに含まれるビデオに
セットし、そのリクエストをリクエストリストから削除
する。 (b)ディスクjを、フリーリスト中の利用可能な帯域
が少なくとも(d/rdisk)+ttot+tset
tleであり、かつ、dist(j,ディスク(cur
_video))が最小であるディスクとする。(j,
cur_video)を予約済みリストの最後部に追加
する。 (c)フリーリスト中においてディスクjに係る利用可
能な帯域から(d/rdisk)+ttot+tset
tleを減算する。その後、ステップ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を乗じたものとなる。よって、qc
alcを越えない最大の整数にmを乗じた数のストリー
ムをサポートするために必要とされるRAMは実質的に
Dより少ないため、dcalcminを、qcalcを
越える最小の整数個のストリームをディスクからサポー
トするための最小のdの値とするとき、dの値をdca
lcminであると選択することによって、サーバがよ
り多くの同時ストリームをサポートすることが可能にな
る。dcalcmin≧dcalcであるため、d=d
calcminである場合には、サーバによってサポー
トされ得る最大ストリーム数は、Dを2・dcalcm
inで除した数を越える最小の整数となる。qcalc
を越えない最大の整数にmを乗じたものとDを2・dc
alcminで除した数を越える最小の整数とのいずれ
がより大きいかに依存して、dの値はdcalcあるい
はdcalcminのいずれかにセットされる。
大値とし、qcalcをd=dcalcの際に各々のデ
ィスクによってサポートされ得る最大ストリーム数とす
る。2・dcalc・qcalc・m=Dであることに
留意されたい。問題は、qcalcが整数でない場合が
あり得ることである。その結果、サーバによってサポー
トされ得る同時ストリームの最大数はqcalcを越え
ない最大の整数にmを乗じたものとなる。よって、qc
alcを越えない最大の整数にmを乗じた数のストリー
ムをサポートするために必要とされるRAMは実質的に
Dより少ないため、dcalcminを、qcalcを
越える最小の整数個のストリームをディスクからサポー
トするための最小のdの値とするとき、dの値をdca
lcminであると選択することによって、サーバがよ
り多くの同時ストリームをサポートすることが可能にな
る。dcalcmin≧dcalcであるため、d=d
calcminである場合には、サーバによってサポー
トされ得る最大ストリーム数は、Dを2・dcalcm
inで除した数を越える最小の整数となる。qcalc
を越えない最大の整数にmを乗じたものとDを2・dc
alcminで除した数を越える最小の整数とのいずれ
がより大きいかに依存して、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エイ (56)参考文献 特開 平4−243414(JP,A) 特開 平3−92942(JP,A) 特開 平8−22379(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 5/76 - 5/937 H04N 7/173 G11B 20/12
Claims (12)
- 【請求項1】 複数個の着信リクエストに対して、それ
に対応したビデオ情報を表すストア済みビットシーケン
スを読み出すサービスをする方法において、前記ビット
シーケンスの各々は、前記ストアされたビットシーケン
スの各々がそれに対するリクエストに応答して第一ラウ
ンドを含む連続した複数個のラウンドにおいて読み出さ
れるように適合させられている粗粒状ディスクストライ
ピング技法に従って複数個のディスク上にストアされて
おり、 前記ラウンドの各々が前記ビットシーケンスの対応する
連続したサブシーケンスの読み出しから構成されてお
り、 (A)前記連続したサブシーケンスの各々が前記ディス
クのうちの一つに正確にストアされており、前記ディス
クの各々がそれぞれ関連する帯域を有しており、前記方
法が、前記ビットシーケンスのうちの一つの読み出しの
前記第一ラウンドが時間的に第一の時点で開始されるよ
うにスケジューリングする段階と、当該スケジューリン
グ段階は前記着信リクエストのうちの一つに応答して、
かつ、前記ディスクのうちの一つあるいは複数個に係る
前記帯域の利用可能性の尺度(測度)に基づいて、実行
され、 (B)前記ビットシーケンスのうちの前記一つの前記読
み出しの前記第一ラウンドが前記時間的に第一の時点よ
りも時間的に早い第二の時点で開始されるように再スケ
ジューリングする段階と当該再スケジューリング段階
は、前記ディスクのうちの前記一つあるいは複数個に係
る前記帯域の利用可能性の前記測度における変化に応答
して実行され、前記帯域の利用可能性の前記測度におけ
る前記変化が前記ビットシーケンスの別のものの読み出
しの完了に起因すること特徴とするビデオサービス提供
方法。 - 【請求項2】 前記複数個のディスクがそれらに係る順
序を有しており、前記スケジューリング段階及び前記再
スケジューリング段階が各々前記ディスクのうちの一つ
を前記ビットシーケンスに対して割り当てる段階を有し
ており、前記方法が、さらに、 (C)単一あるいは複数個の他のビットシーケンスの読
み出しに係る各々のラウンドに対して前記ビットシーケ
ンスに対して割り当てられた前記ディスクのうちの前記
一つをインクリメントする段階と、 (D)前記ビットシーケンスの前記読み出しを、前記ビ
ットシーケンスが前記ビットシーケンスの前記読み出し
の前記第一ラウンドに対応するサブシーケンスを有す
る、関連するディスクを有する場合に開始する段階と、 前記開始段階は前記ビットシーケンスの前記読み出しの
前記第一ラウンドを実行する段階とを有することを特徴
とする請求項第1項に記載のビデオサービス提供方法。 - 【請求項3】 前記方法が、 (E)時間的に前記第二の時点で前記ビットシーケンス
の前記読み出しの前記第一ラウンドに対応する前記サブ
シーケンスを読み出す段階と、 (F)前記サブシーケンスをバッファメモリにストアす
る段階とを有することを特徴とする請求項第1項に記載
のビデオサービス提供方法。 - 【請求項4】 前記方法が、 (G)前記ビットシーケンスの前記読み出しの前記第一
ラウンドに対応する前記サブシーケンスを前記ビットシ
ーケンスの単一あるいは複数個のリクエスト者宛にネッ
トワークを介して送出する段階を有することを特徴とす
る請求項第3項に記載のビデオサービス提供方法。 - 【請求項5】 複数個のディスクがそれらに係る順序を
有しており、前記ビットシーケンスの前記連続するサブ
シーケンスの各々がそれぞれ対応する連続するディスク
にストアされており、 前記方法が、前記第一ラウンドに引き続く前記ビットシ
ーケンス読み出しラウンドに対応して前記サブシーケン
スの各々を読み出す段階及び前記サブシーケンスの各々
を前記バッファメモリにストアする段階を有することを
特徴とする請求項第3項に記載のビデオサービス提供方
法。 - 【請求項6】 前記方法が、さらに、前記ビットシーケ
ンスの前記読み出しに対応する前記サブシーケンスの各
々を前記ビットシーケンスの単一あるいは複数個のリク
エスト者宛にネットワークを介して送出する段階を有す
ることを特徴とする請求項第5項に記載のビデオサービ
ス提供方法。 - 【請求項7】 複数個の着信リクエストに対して、それ
に対応したビデオ情報を表すストア済みビットシーケン
スを読み出すサービスをするビデオサーバにおいて、前
記ビデオサーバが、 各々それぞれに関連する帯域を有する複数個のディスク
と、 ここで、前記ビットシーケンスの各々は、前記ストアさ
れたビットシーケンスの各々がそれに対するリクエスト
に応答して第一ラウンドを含む連続した複数個のラウン
ドにおいて読み出されるように適合させられている粗粒
状ディスクストライピング技法に従って前記複数個のデ
ィスク上にストアされており、前記ラウンドの各々が前
記ビットシーケンスの対応する連続したサブシーケンス
の読み出しから構成されており、前記連続したサブシー
ケンスの各々が前記ディスクのうちの一つに正確にスト
アされており、前記ディスクの各々がそれぞれ関連する
帯域を有している。 前記ビットシーケンスのうちの一つの読み出しの前記第
一ラウンドが時間的に第一の時点で開始されるようにス
ケジューリングする手段と、 ここで、当該スケジューリング手段は前記着信リクエス
トのうちの一つに応答しており、前記時間的に第一の時
点は前記ディスクのうちの一つあるいは複数個に係る前
記帯域の利用可能性の尺度(測度)に基づいている。 前記ビットシーケンスのうちの前記一つの前記読み出し
の前記第一ラウンドが前記時間的に第一の時点よりも時
間的に早い第二の時点で開始されるように再スケジュー
リングする手段と、 ここで、当該再スケジューリング手段は、前記ディスク
のうちの前記一つあるいは複数個に係る前記帯域の利用
可能性の前記測度における変化に応答しており、前記帯
域の利用可能性の前記測度における前記変化が前記ビッ
トシーケンスの別のものの読み出しの完了に起因するを
有することを特徴とするビデオサーバ。 - 【請求項8】 前記複数個のディスクがそれらに係る順
序を有しており、前記スケジューリング手段及び前記再
スケジューリング手段が各々前記ディスクのうちの一つ
を前記ビットシーケンスに対して割り当てる手段を有し
ており、前記ビデオサーバが、さらに、 単一あるいは複数個の他のビットシーケンスの読み出し
に係る各々のラウンドに対して前記ビットシーケンスに
対して割り当てられた前記ディスクのうちの前記一つを
インクリメントする手段と、 前記ビットシーケンスの前記読み出しを、前記ビットシ
ーケンスが前記ビットシーケンスの前記読み出しの前記
第一ラウンドに対応するサブシーケンスを有する、関連
するディスクを有する場合に開始する手段と、 ここで、前記開始手段は前記ビットシーケンスの前記読
み出しの前記第一ラウンドを実行する手段とを有するこ
とを特徴とする請求項第7項に記載のビデオサーバ。 - 【請求項9】 前記ビデオサーバが、さらに、 時間的に前記第二の時点で前記ビットシーケンスの前記
読み出しの前記第一ラウンドに対応する前記サブシーケ
ンスを読み出す手段と、 前記サブシーケンスをバッファメモリにストアする手段
とを有することを特徴とする請求項第7項に記載のビデ
オサーバ。 - 【請求項10】 前記ビデオサーバが、さらに、 前記ビットシーケンスの前記読み出しの前記第一ラウン
ドに対応する前記サブシーケンスを前記ビットシーケン
スの単一あるいは複数個のリクエスト者宛にネットワー
クを介して送出する手段を有することを特徴とする請求
項第9項に記載のビデオサーバ。 - 【請求項11】 複数個のディスクがそれらに係る順序
を有しており、前記ビットシーケンスの前記連続するサ
ブシーケンスの各々がそれぞれ対応する連続するディス
クにストアされており、 前記ビデオサーバが、前記第一ラウンドに引き続く前記
ビットシーケンス読み出しラウンドに対応して前記サブ
シーケンスの各々を読み出す手段及び前記サブシーケン
スの各々を前記バッファメモリにストアする手段を有す
ることを特徴とする請求項第9項に記載のビデオサー
バ。 - 【請求項12】 前記ビデオサーバが、さらに、前記ビ
ットシーケンスの前記読み出しに対応する前記サブシー
ケンスの各々を前記ビットシーケンスの単一あるいは複
数個のリクエスト者宛にネットワークを介して送出する
手段を有することを特徴とする請求項第11項に記載の
ビデオサーバ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US492315 | 1995-06-19 | ||
US08/492,315 US5826110A (en) | 1995-06-19 | 1995-06-19 | System for video server using coarse-grained disk striping method in which incoming requests are scheduled and rescheduled based on availability of bandwidth |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0918823A JPH0918823A (ja) | 1997-01-17 |
JP3136269B2 true JP3136269B2 (ja) | 2001-02-19 |
Family
ID=23955794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08157083A Expired - Fee Related JP3136269B2 (ja) | 1995-06-19 | 1996-06-18 | ビデオサービス提供方法及びビデオサーバ |
Country Status (4)
Country | Link |
---|---|
US (1) | US5826110A (ja) |
EP (1) | EP0750425A2 (ja) |
JP (1) | JP3136269B2 (ja) |
CA (1) | CA2178359C (ja) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5253275A (en) | 1991-01-07 | 1993-10-12 | H. Lee Browne | Audio and video transmission and receiving system |
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 |
US7168084B1 (en) | 1992-12-09 | 2007-01-23 | Sedna Patent Services, Llc | Method and apparatus for targeting virtual objects |
US9286294B2 (en) | 1992-12-09 | 2016-03-15 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator content suggestion engine |
EP0866460A3 (en) * | 1997-03-18 | 2004-01-02 | Kabushiki Kaisha Toshiba | Disk apparatus capable of continuous display of data using a single recording head |
US6094683A (en) * | 1997-08-29 | 2000-07-25 | Intel Corporation | Link bundling in a network |
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 |
US6415437B1 (en) | 1998-07-23 | 2002-07-02 | Diva Systems Corporation | Method and apparatus for combining video sequences with an interactive program guide |
US6754905B2 (en) | 1998-07-23 | 2004-06-22 | Diva Systems Corporation | Data structure and methods for providing an interactive program guide |
AU5006699A (en) | 1998-07-23 | 2000-02-14 | Diva Systems Corporation | Interactive user interface |
JP3997640B2 (ja) * | 1999-02-01 | 2007-10-24 | 松下電器産業株式会社 | 情報記録再生装置 |
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 |
US6754271B1 (en) | 1999-04-15 | 2004-06-22 | Diva Systems Corporation | Temporal slice persistence method and apparatus for delivery of interactive program guide |
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 |
US6817028B1 (en) | 1999-06-11 | 2004-11-09 | Scientific-Atlanta, Inc. | Reduced screen control system for interactive program guide |
US7992163B1 (en) | 1999-06-11 | 2011-08-02 | Jerding Dean F | Video-on-demand navigational system |
US7010801B1 (en) | 1999-06-11 | 2006-03-07 | Scientific-Atlanta, Inc. | Video on demand system with parameter-controlled bandwidth deallocation |
CA2388606C (en) | 1999-10-27 | 2009-12-29 | Diva Systems Corporation | Picture-in-picture and multiple video streams using slice-based encoding |
US6438368B1 (en) | 2000-03-30 | 2002-08-20 | Ikadega, Inc. | Information distribution system and method |
US7200857B1 (en) | 2000-06-09 | 2007-04-03 | Scientific-Atlanta, Inc. | Synchronized video-on-demand supplemental commentary |
US7975277B1 (en) | 2000-04-03 | 2011-07-05 | Jerding Dean F | System for providing alternative services |
US8516525B1 (en) | 2000-06-09 | 2013-08-20 | Dean F. Jerding | Integrated searching system for interactive media guide |
GB0008691D0 (en) * | 2000-04-07 | 2000-05-31 | Post Impressions Systems Ltd | Input and output systems for data processing |
US7934232B1 (en) | 2000-05-04 | 2011-04-26 | Jerding Dean F | Navigation paradigm for access to television services |
US7451474B1 (en) | 2000-05-15 | 2008-11-11 | Unisys Corporation | Set top network protocol |
WO2001095612A1 (en) * | 2000-06-02 | 2001-12-13 | Koninklijke Philips Electronics N.V. | Method of and system for reading blocks from a storage medium |
US8069259B2 (en) | 2000-06-09 | 2011-11-29 | Rodriguez Arturo A | Managing removal of media titles from a list |
US7962370B2 (en) | 2000-06-29 | 2011-06-14 | Rodriguez Arturo A | Methods in a media service system for transaction processing |
US7340759B1 (en) | 2000-11-10 | 2008-03-04 | Scientific-Atlanta, Inc. | Systems and methods for adaptive pricing in a digital broadband delivery system |
US7188357B1 (en) | 2000-11-16 | 2007-03-06 | Unisys Corporation | Video-on demand video server disk/memory streaming selection methodology |
US20020157113A1 (en) * | 2001-04-20 | 2002-10-24 | Fred Allegrezza | System and method for retrieving and storing multimedia data |
US7496945B2 (en) | 2001-06-29 | 2009-02-24 | Cisco Technology, Inc. | Interactive program guide for bidirectional services |
US7512964B2 (en) | 2001-06-29 | 2009-03-31 | Cisco Technology | System and method for archiving multiple downloaded recordable media content |
US7526788B2 (en) | 2001-06-29 | 2009-04-28 | Scientific-Atlanta, Inc. | Graphic user interface alternate download options for unavailable PRM content |
US8006262B2 (en) * | 2001-06-29 | 2011-08-23 | Rodriguez Arturo A | Graphic user interfaces for purchasable and recordable media (PRM) downloads |
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 |
US7334251B2 (en) | 2002-02-11 | 2008-02-19 | Scientific-Atlanta, Inc. | Management of television advertising |
US8161388B2 (en) | 2004-01-21 | 2012-04-17 | Rodriguez Arturo A | Interactive discovery of display device characteristics |
US8189472B2 (en) | 2005-09-07 | 2012-05-29 | Mcdonald James F | Optimizing bandwidth utilization to a subscriber premises |
US9002258B2 (en) | 2006-01-18 | 2015-04-07 | Dongju Chung | Adaptable audio instruction system and method |
CN101977300B (zh) * | 2010-11-11 | 2014-11-05 | 浙江宇视科技有限公司 | 一种视频点播实现方法及其装置 |
US9154813B2 (en) | 2011-06-09 | 2015-10-06 | Comcast Cable Communications, Llc | Multiple video content in a composite video stream |
CN109508234B (zh) * | 2018-09-11 | 2023-03-10 | 华中科技大学 | 匹配顺序大i/o负载特征的粗粒度条带化方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5421031A (en) * | 1989-08-23 | 1995-05-30 | Delta Beta Pty. Ltd. | Program transmission optimisation |
US5142667A (en) * | 1990-09-28 | 1992-08-25 | Xerox Corporation | Resource and memory management algorithms for electric printing and electronic reprographic systems |
US5325525A (en) * | 1991-04-04 | 1994-06-28 | Hewlett-Packard Company | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time |
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 |
US5528513A (en) * | 1993-11-04 | 1996-06-18 | Digital Equipment Corp. | Scheduling and admission control policy for a continuous media server |
US5473362A (en) * | 1993-11-30 | 1995-12-05 | Microsoft Corporation | Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling |
US5521630A (en) * | 1994-04-04 | 1996-05-28 | International Business Machines Corporation | Frame sampling scheme for video scanning in a video-on-demand system |
JP2742383B2 (ja) * | 1994-04-11 | 1998-04-22 | 松下電器産業株式会社 | 要求番組提供装置及びその方法 |
US5583561A (en) * | 1994-06-07 | 1996-12-10 | Unisys Corporation | Multi-cast digital video data server using synchronization groups |
US5491691A (en) * | 1994-08-16 | 1996-02-13 | Motorola, Inc. | Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission |
US5559764A (en) * | 1994-08-18 | 1996-09-24 | International Business Machines Corporation | HMC: A hybrid mirror-and-chained data replication method to support high data availability for disk arrays |
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/492,315 patent/US5826110A/en not_active Expired - Fee Related
-
1996
- 1996-06-06 CA CA002178359A patent/CA2178359C/en not_active Expired - Fee Related
- 1996-06-11 EP EP96304328A patent/EP0750425A2/en not_active Withdrawn
- 1996-06-18 JP JP08157083A patent/JP3136269B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0750425A2 (en) | 1996-12-27 |
CA2178359C (en) | 2000-04-25 |
CA2178359A1 (en) | 1996-12-20 |
US5826110A (en) | 1998-10-20 |
JPH0918823A (ja) | 1997-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3136269B2 (ja) | ビデオサービス提供方法及びビデオサーバ | |
US5724543A (en) | Video data retrieval method for use in video server environments that use striped disks | |
JP3560211B2 (ja) | ディジタルデータをオンデマンドで分配するシステム及び方法 | |
US5815662A (en) | Predictive memory caching for media-on-demand systems | |
JP3617089B2 (ja) | 映像蓄積配送装置及び映像蓄積配送システム | |
US5721956A (en) | Method and apparatus for selective buffering of pages to provide continuous media data to multiple users | |
JP3308814B2 (ja) | ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステム | |
EP0739136B1 (en) | Multi-node media server with efficient work scheduling | |
EP0634034B1 (en) | Method of operating a disk storage system | |
CA2196483C (en) | Method and apparatus for providing enhanced pay per view in a video server | |
US5629732A (en) | Viewer controllable on-demand multimedia service | |
US6032200A (en) | Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs | |
US5878280A (en) | Data buffering system for plural data memory arrays | |
JP2000505983A (ja) | データ流を供給するための方法および系 | |
JPH0981497A (ja) | 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法 | |
CA2444438A1 (en) | System and method for retrieving and storing multimedia data | |
Ghandeharizadeh et al. | Design and implementation of scalable continuous media servers | |
Lougher et al. | The design and implementation of a continuous media storage server | |
JP3575862B2 (ja) | ストリームスケジューリング方法及び装置 | |
US6742019B1 (en) | Sieved caching for increasing data rate capacity of a heterogeneous striping group | |
Chan et al. | Hierarchical storage systems for on-demand video servers | |
Kienzle et al. | Effect of video server topology on contingency capacity requirements | |
Furht | Seon Ho Kim 2 | |
Suzuki et al. | Performance analysis of a storage hierarchy for video servers | |
KR19990052962A (ko) | 연속매체 서버의 동적 버퍼 제어장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |