JP4006146B2 - ビデオサーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
ビデオサーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP4006146B2 JP4006146B2 JP27053399A JP27053399A JP4006146B2 JP 4006146 B2 JP4006146 B2 JP 4006146B2 JP 27053399 A JP27053399 A JP 27053399A JP 27053399 A JP27053399 A JP 27053399A JP 4006146 B2 JP4006146 B2 JP 4006146B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- distribution
- disk
- speed
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【発明の属する技術分野】
本発明は、例えばビデオオンデマンドのコンテンツをアクセスする場合に、このアクセスに関するスケジューリングを行うスケジューリング装置を具備するビデオサーバ、及びプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
デジタル映像・音声データ等のコンテンツをハードディスクに備え、要求に応じて配信するビデオオンデマンド・システム(以下、「VODシステム」という)では、コンテンツの配信速度(ビットレート)に応じてサーバのハードディスクが適宜アクセスされ、このコンテンツに関するデータが読み出されてユーザ側のクライアントに送信される。
【0003】
コンテンツの配信速度はそのコンテンツ毎に異なり、例えば鮮明な映像からなるコンテンツの場合は配信速度が速く設定される。
【0004】
ここで、例えばディスクへのアクセスに遅れが生じ、この結果サーバからクライアントへのデータ送信が遅れた場合には、ユーザに提供される映像・音声が不足し、乱れが生じることになる。
【0005】
また、ディスクへのアクセスが早すぎた場合には、アクセスしたデータを送信するまで格納するサーバのバッファでオーバーフローが発生することがある。同様に、受信したデータを格納するクライアントのバッファでもオーバーフローが発生することがある。
【0006】
さらに、VODシステムにおいては、クライアント側の複数の配信要求タスクからそれぞれ別のコンテンツの配信要求を受ける場合があるが、この場合にディスクアクセスの重複を回避する必要がある。
【0007】
したがって、VODシステムにおいては、ディスクアクセスのタイミングを排他制御し、乱れが発生しないようにスケジューリングしている。
【0008】
従来のスケジューリングでは、あるコンテンツに関するディスクアクセスを一定間隔毎に行うが、配信速度の遅いコンテンツの場合には一回のアクセス時間を短くしている。一方、配信速度の速いコンテンツの場合には一回のアクセス時間を長くしている。
【0009】
図7は、この従来のスケジューリングの具体例を示す図である。
図7(a)は、配信速度の遅いコンテンツ(配信速度4Mbps)に関するアクセス状態を示しており、この場合サーバからクライアントに配信するデータの量は少なくてよいため、1秒間隔毎に60msecのディスクアクセスを実行している。
【0010】
一方、図7(b)は、配信速度の速いコンテンツ(配信速度8Mbps)に関するアクセス状態を示しており、この場合サーバからクライアントに配信するデータの量が多くなるため、1秒間隔毎に120msecのディスクアクセスを実行している。
【0011】
このように、従来のスケジューリングでは、サーバからクライアントへ、一定間隔毎に配信の要求されたコンテンツに適した時間のディスクアクセスが発生する。
【0012】
【発明が解決しようとする課題】
上記のような従来のスケジューリングにおいては、配信速度に応じて一定間隔(上記の例では1秒)毎に実行されるディスクアクセス時間を変化させている。
【0013】
しかしながら、この従来の手法においては、データの配信を極めて高速に行わなければならない場合であっても、上記一定間隔を超えるディスクアクセスを実行することができない。例えば、上記の例においては1秒を超えるディスクアクセスが必要となる配信速度のコンテンツを取り扱うことができない。
【0014】
また、従来のスケジューリングにおいては、配信速度の遅いコンテンツほど一回のディスクアクセスを実行する時間が短くてよいため、ディスクアクセスの空き時間に他のコンテンツに関するディスクアクセスを許可することが可能である。したがって、各コンテンツの配信速度が遅いほど、サーバからクライアントへ配信可能なコンテンツの数を増加させることができる。
【0015】
しかしながら、従来の手法において、1回のディスクアクセスを実行する時間には最小値があり、その最小値において配信可能なコンテンツの数よりも多くのコンテンツを配信することはできず、コンテンツの配信速度にも下限ができてしまう。
【0016】
さらに、従来のスケジューリングにおいては、コンテンツの配信速度が速いほど、1回当たりのディスクアクセス実行時間が長くなる。
【0017】
したがって、配信要求がサーバに受け付けられてから実際に配信が開始されるまでの遅れ時間が、配信速度の速いコンテンツほど長くなるという問題がある。また、この問題は複数の配信要求がサーバに受け付けられた場合に一層顕著に表れる。
【0018】
本発明は、以上のような実情に鑑みてなされたもので、配信速度が高速なコンテンツを取り扱うことが可能であり、また配信可能なコンテンツの本数の下限を持たず、配信開始までの時間がコンテンツの配信速度で変化しないビデオサーバ、及びプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0019】
【課題を解決するための手段】
本発明の骨子は、コンテンツの配信速度に関係なく1回のアクセス時間を一定(データ読み込み量も一定)とし、コンテンツの配信速度に応じてアクセス間隔を変更する点にある。
【0020】
以下、本発明を実現するにあたって講じた具体的手段について説明する。
【0021】
第1の発明は、ビデオサーバに関する。
【0022】
この第1の発明のビデオサーバは、コンテンツを保存する複数のディスクと、複数のディスクへのアクセスをスケジューリングするスケジューリング装置と、クライアントから配信速度を含むコンテンツの配信要求を受信すると、スケジューリング装置のスケジューリングにしたがって複数のディスクをアクセスし、クライアントに対して、配信要求における配信速度によりコンテンツを配信する配信手段とを具備する。スケジューリング装置は、コンテンツの配信に使用可能な最速の配信速度を2のべき乗で割った複数の配信速度毎に、複数のディスクのうちのあるディスクがアクセスされてから次に当該あるディスクがアクセスされるまでの周期であり、配信速度が速いほど短く、配信速度が遅いほど長いアクセス周期の間において、複数のディスクをアクセスするアクセス順序と、複数のディスクのそれぞれについてアクセス順序にしたがって次のディスクをアクセスするまでのアクセス間隔とを含むアクセスパターン情報を保持する手段と、ディスクに対する一回のアクセスに対して許可される一定のアクセス時間であるスロットを複数連ねた配置テーブルを保持する手段と、配信要求の配信速度に対応するアクセスパターン情報のアクセス順序、アクセス間隔に基づいて、複数のディスクへのアクセスを、同時期に同ディスクがアクセスされないように配置テーブルのスロットに割り当て、配置テーブルへの割り当てにそって複数のディスクへのアクセスを許可する許可発生手段とを具備する。
【0023】
したがって、配信速度が速くても遅くても1回のアクセスで読み出されるデータの量は等しくなるため、いかなる配信速度であっても配信開始までの時間を一定とすることができる。
【0024】
第2の発明では、第1の発明のビデオサーバにおいて、許可発生手段が、各ディスク間でアクセス許可をオーバーラップさせて発する。
【0025】
このように、一回のアクセスを一定時間とし、ディスクへのアクセス処理を先回り制御によりオーバーラップさせることで、アクセス可能なデータ量を増加させることができ、配信速度の高速なデータを扱うことができる。
【0026】
特に、ディスク間のアクセスをオーバーラップさせることで、アクセス間隔をアクセスを実行する一定時間よりも短くすることができる。
【0027】
第1又は第2の発明のビデオサーバにおいては、アクセスパターン情報が、配信可能な最大の配信速度を2のべき乗で割った配信速度毎に、アクセス間隔を設定している。
【0028】
なお、配信要求されたコンテンツの配信速度が配信可能な最大の配信速度を2のべき乗で割った配信速度に一致しない場合には、例えば配信可能な最大の配信速度を2のべき乗で割った配信速度のいずれかに一致するまで配信要求されたコンテンツの配信速度を高速側に繰り上げて適用すればよい。
【0029】
したがって、配信要求されたコンテンツの配信速度に応じて、適切なアクセス間隔を求め、アクセスを実行させることができる。
【0030】
第1又は第2の発明では、アクセスパターン情報が、配信速度毎に、各ディスクをアクセスする順序と、各ディスクをアクセスしてから前記アクセスする順序にしたがって次のディスクをアクセスするまでの各アクセス間隔とを設定している。
【0031】
したがって、複数のディスクに対するアクセスに関してスケジューリングを行うことができる。
【0032】
第3の発明では、第1又は第2の発明のビデオサーバにおいて、アクセスパターン情報において、複数の配信速度のうちコンテンツの配信に使用可能な最速の配信速度ではない配信速度に設定されているアクセスパターンは、この配信速度の2倍の配信速度に対応付けされているアクセスパターンを、2つの同じアクセスパターンに分割した結果のうちの一方であるとしている。
【0033】
このように、配信速度を半分に分割していき、各アクセス順序とアクセス間隔も分割していくことは、何回も繰り返して適用可能であるため、配信速度の下限をなくすことができる。ゆえに、配信可能なコンテンツの本数の制限もなくすことができる。
【0035】
第1から第3の発明では、複数の配信要求に対し同一のディスクへのアクセスを許可することを防止することができる。
【0039】
第1から第3の発明では、ディスクが異なれば同一時間であってもアクセスを許可することができ、同一のディスクに対して同一時間にアクセスが許可されることを防止することができる。
【0040】
配信速度を半分に分割していき、各アクセス順序とアクセス間隔も分割してスケジューリングを行うと、各ディスク間のアクセス状況は同様な状態となる。したがって、一つのディスクに対する排他制御を行うことで、他のディスクの排他制御も実行できる。
【0055】
第4の発明は、プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0056】
この第4の発明は、コンテンツを保存する複数のディスクを具備するビデオサーバを、複数のディスクへのアクセスをスケジューリングするスケジューリング手段、クライアントから配信速度を含むコンテンツの配信要求を受信すると、スケジューリング装置のスケジューリングにしたがって複数のディスクをアクセスし、クライアントに対して、配信要求における配信速度によりコンテンツを配信する配信手段として機能させる。スケジューリング手段は、コンテンツの配信に使用可能な最速の配信速度を2のべき乗で割った複数の配信速度毎に、複数のディスクのうちのあるディスクがアクセスされてから次に当該あるディスクがアクセスされるまでの周期であり、配信速度が速いほど短く、配信速度が遅いほど長いアクセス周期の間において、複数のディスクをアクセスするアクセス順序と、複数のディスクのそれぞれについてアクセス順序にしたがって次のディスクをアクセスするまでのアクセス間隔とを含むアクセスパターン情報を管理し、ディスクに対する一回のアクセスに対して許可される一定のアクセス時間であるスロットを複数連ねた配置テーブルを管理し、配信要求の配信速度に対応するアクセスパターン情報のアクセス順序、アクセス間隔に基づいて、複数のディスクへのアクセスを、同時期に同ディスクがアクセスされないように配置テーブルのスロットに割り当て、配置テーブルへの割り当てにそって複数のディスクへのアクセスを許可する許可発生手段を具備する。
【0057】
第5の発明では、第4の発明のプログラムを記録したコンピュータ読み取り可能な記録媒体において、許可発生手段は、各ディスク間でアクセス許可をオーバーラップさせて発する。
【0060】
第6の発明では、第4又は第5の発明のプログラムを記録したコンピュータ読み取り可能な記録媒体において、アクセスパターン情報において、複数の配信速度のうちコンテンツの配信に使用可能な最速の配信速度ではない配信速度に設定されているアクセスパターンは、この配信速度の2倍の配信速度に対応付けされているアクセスパターンを、2つの同じアクセスパターンに分割した結果のうちの一方である。
【0065】
上記第4乃至第6の発明は、それぞれ第1乃至第3の発明で説明したビデオサーバの機能をコンピュータにより実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0066】
このようなプログラムを記録した記録媒体を用いることによって、上述した機能を有していない計算機、計算機システムに対しても、簡単に上述した機能を付加することができる。
【0067】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。
【0068】
(第1の実施の形態)
本実施の形態においては、1回のアクセス時間はコンテンツの配信速度に関係なく一定であるが、アクセスを実行してから次にアクセスを実行するまでのアクセス間隔(周期)をコンテンツの配信速度に応じて可変とするディスクアクセス用のスケジューリング装置について説明する。
【0069】
図1は、本実施の形態に係るスケジューリング装置を搭載したVODシステムを示すブロック図である。
【0070】
VODシステム4は、3つのクライアント5a〜5cとビデオサーバ6とがネットワーク7を介して接続されて構成されている。なお、クライアントの数はいくつでもよい。
【0071】
クライアント5a〜5cは、ユーザの入力に基づいて配信要求タスク8a〜8cを発生し、ユーザの要求したコンテンツに関するデータの配信をビデオサーバ6に対して要求する。ここでは、各クライアント5a〜5cに1つの配信要求タスク8a〜8cが発生した場合を示しているが、各クライアント5a〜5cでは複数の配信要求タスクが発生可能であってもよい。
【0072】
また、クライアント5a〜5cは、配信を要求したコンテンツに関するデータをビデオサーバ6からネットワーク7を介して受け付け、図示しないバッファに蓄え、映像・音声として逐次再生する。
【0073】
この図1において配信要求タスク8aは配信速度32Mbpsのコンテンツの配信を要求している。また、配信要求タスク8bは配信速度64Mbpsのコンテンツの配信を要求している。さらに、配信要求タスク8cは配信速度32Mbpsのコンテンツの配信を要求している。
【0074】
ビデオサーバ6は、クライアント5a〜5cの配信要求タスク8a〜8cから配信要求を受け付けると、それぞれに対応する配信タスク9a〜9cを発生する。ここでは、各クライアント5a〜5c毎に1つの配信要求タスク8a〜8cが発生しているため、これに応じて各クライアント5a〜5c毎に1つの配信タスク9a〜9cが発生することになる。
【0075】
また、ビデオサーバ6は、クライアント5a〜5cから配信要求を受け付けると、スケジューリング装置10によりディスクアクセスのスケジューリングをしつつデータ保存用のディスク0〜3のいずれかから順次データを読み出す。そして、読み出したデータを配信要求元のクライアントに適宜送信する。なお、ディスクの数はいくつでもよいが、ここでは4つとしている。
【0076】
配信タスク9a〜9cは、それぞれクライアント5a〜5cの配信要求タスク8a〜8cから配信要求を受け付けると、スケジューリング装置10にアクセス要求を発し、このアクセス要求に対する応答としてアクセス許可を受け付けると、ディスク0〜3のうちアクセス許可の示す該当ディスクをアクセスしてデータをバッファ11に蓄える。そして、配信タスク9a〜9cは、バッファ11に蓄えられたデータをこのデータに関する配信速度にしたがった一定レートでネットワーク7を介してクライアント5a〜5cに提供する。ここでは、配信タスク9aは配信速度32Mbpsでコンテンツを配信する。また、配信タスク9bは配信速度64Mbpsでコンテンツを配信する。さらに、配信タスク9cは配信速度32Mbpsでコンテンツを配信する。
【0077】
スケジューリング装置10は、配信タスク9a〜9cからアクセス要求を受け付けると、同一ディスクを同時期にアクセスしないように排他制御を行う。そして、配信タスク9a〜9cに対してコンテンツの配信速度に応じたアクセス間隔でアクセス許可を返す。
【0078】
このスケジューリング装置10は、配置テーブル12、アクセスパターンテーブル13とを保持しており、時刻カウンタ14を備えている。また、配信タスク9a〜9cからアクセス要求を受け付ける要求受付ルーチン15及び配信タスク9a〜9cに対してアクセス許可を発するイベント発生ルーチン16を備える。そして、いずれかの配信タスク9a〜9cからアクセス要求を受け付けた際に、各配信タスク9a〜9cに関するタスクリスト17を登録する。
【0079】
アクセスパターンテーブル13は、配信速度毎のアクセスパターンを保持するテーブルである。配置テーブル13は、アクセス要求に対するディスクアクセスの排他割付を管理するテーブルである。タスクリスト17は、アクセス要求毎の管理情報を保持する。時刻カウンタ14は、現在の内部時間を自動的にカウントアップしていき、カウントアップ時にイベント発生ルーチン16を起動する。要求受付ルーチン15は、アクセスの要求を受け付け、配置テーブル12とタスクリスト17を設定する。イベント発生ルーチン16は、毎時刻毎に起動され、アクセスが可能になった配信タスクに対してイベントを発生する。
【0080】
図2は、本実施の形態に係るスケジューリング装置10の各要素の関係を詳細に示すブロック図である。
【0081】
配置テーブル12は、各配信タスク9a〜9c毎のアクセスタイミングを保持し、各配信タスク9a〜9c間で同時期に同一ディスクがアクセスされないように管理する。
【0082】
ここでは、配置テーブル12が、各配信タスク9a〜9cによって実行されるディスク0に対するアクセス時間を排他的に管理するとしている。なお、この配置テーブル12ではディスク0をアクセス時間の排他管理用の対象ディスクとしているが、各ディスクに対する配信タスク9a〜9cによるアクセスは各ディスクで同様の周期で実行されるため、ディスク0〜3のうちのいずれかを対象として排他的に管理すればよい。
【0083】
この配置テーブル12は、複数のスロットの連なりから構成されている。このスロットとは、1回のアクセスにおいてディスクに対して許可されるアクセス時間に相当し、全てのスロットは一定の長さである。各スロットには一つの配信タスクによるアクセスしか割り当てられない。スロットに配置タスクが割り当てられるとその旨を示すフラグが付される。
【0084】
配置テーブル12を構成するスロットの数は、このVODシステム4で使用される最低の配信速度の場合に、あるディスクがアクセスされ再びこのディスクがアクセスされるまでのアクセス間隔(周期)分のスロット数にディスク数をかけた数である。その後に関しては、それ以前の状態の繰り返しとなるため不要である。
【0085】
なお、このスケジューリング装置10においては、使用可能な最速の配信速度を2のべき乗で割った配信速度を扱うが、この最速の配信速度を2のべき乗で割った配信速度と実際の配信速度とが一致しない場合には、実際の配信速度を高速側に切り上げて扱う。上記最低の配信速度もこの最速の配信速度を2のべき乗で割った配信速度である。
【0086】
ここで、切り上げた結果が最低の配信速度に一致するか、あるいは実際の配信速度が最低の配信速度に一致する場合には、この配信タスクは配置テーブル上の一つのスロットに配置される。
【0087】
一方、切り上げた結果が最低の配信速度より速い配信速度となるか、あるいは最速の配信速度を2のべき乗で割った配信速度のうち最低速度ではない配信速度と一致する場合には、この配信タスクは配置テーブル上の等間隔の複数のスロットに配置される。この場合、この等間隔の複数のスロットの全てにおいて未だにフラグが付されていないように配信タスクが割り当てられる。
【0088】
図2の配置テーブル12は、配信速度32Mbpsの配信タスク9aがディスク0を4スロットでアクセスし、その後16スロット間隔でディスク0に対してアクセスする旨を示す。また、配信速度32Mbpsの配信タスク9cがディスク0に対して1スロットでアクセスし、その後16スロット間隔でディスク0に対してアクセスする旨を示す。
【0089】
一方、この配信テーブル12は、配信速度64Mbpsの配信タスク9bが6スロットでアクセスし、その後8スロット間隔でディスク0に対してアクセスする旨を示す。
【0090】
アクセスパターンテーブル13は、使用可能な最速の配信速度(ここでは64Mbpsとしている)を2のべき乗で割った配信速度毎に、あるディスクがアクセスされてから次にこのディスクが再びアクセスされるまでの周期(スロット数)と、ディスクをアクセスする際の順序(アクセス順序)と、各ディスクをアクセスしてからアクセス順序にしたがって次のディスクをアクセスするまでのアクセス間隔(スロット数)とが保持されている。
【0091】
アクセスパターンテーブル13の項目131には、配信速度「64Mbps」のコンテンツの場合のアクセスパターン(主に、アクセス順序とアクセス間隔)が記憶されている。配信速度「64Mbps」の場合には、各ディスク0〜3に対してはそれぞれ「8」スロット毎にアクセスを許可することになる。また、各ディスク0〜3のアクセス順序は「0→1→2→3」であり、ディスク0をアクセスすると、そのディスク0のアクセスから「2」スロット後にディスク1をアクセスし、そのディスク1のアクセスから「2」スロット後にディスク2をアクセスし、そのディスク2のアクセスから「2」スロット後にディスク3をアクセスし、そのディスク3のアクセスから「2」スロット後に再びディスク0をアクセスする旨を示す。
【0092】
項目132には、配信速度「32Mbps」のコンテンツの場合のアクセスパターンが記憶されている。配信速度「32Mbps」の場合には。各ディスク0〜3に対してはそれぞれ「16」スロット毎にアクセスを許可することになる。また、各ディスク0〜3のアクセス順序は「1→3→0→2」であり、ディスク1をアクセスすると、そのディスク1のアクセスから「4」スロット後にディスク3をアクセスし、そのディスク3のアクセスから「2」スロット後にディスク0をアクセスし、そのディスク0のアクセスから「4」スロット後にディスク2をアクセスし、そのディスク2のアクセスから「6」スロット後に再びディスク1をアクセスする旨を示す。
【0093】
項目133には、配信速度「16Mbps」のコンテンツの場合のアクセスパターンが記憶されている。配信速度「16Mbps」の場合には、各ディスク0〜3に対してはそれぞれ「32」スロット毎にアクセスを許可することになる。また、各ディスク0〜3のアクセス順序は「3→2→1→0」であり、ディスク3をアクセスすると、そのディスク3のアクセスから「6」スロット後にディスク2をアクセスし、そのディスク2のアクセスから「6」スロット後にディスク1をアクセスし、そのディスク1のアクセスから「6」スロット後にディスク0をアクセスし、そのディスク0のアクセスから「14」スロット後に再びディスク3をアクセスする旨を示す。
【0094】
このように、アクセスパターンテーブル13には各配信速度(64/2nMbps:nは整数)用のアクセスパターンが記憶されている。
【0095】
このアクセステーブル13において、各配信速度毎に求められているアクセス順序とアクセス間隔は、データ保存用のディスクの数を考慮し、それぞれ適したパターンが設定される。
【0096】
タスクリスト17は、発生した各配信タスク9a〜9c毎のノード17a〜17cが作成され、登録される。
【0097】
各ノード17a〜17cは、アクセス要求を発した配信タスクの番号、次にアクセスするディスクの番号、次にアクセスを行うべき時間、自ノードの対応する配信速度に関するアクセスパターンテーブル13の項目へのポインタ、アクセス要求を発した配信タスクの配置テーブル12内における配置位置を記憶する。
【0098】
例えば、タスクリスト17のノード17aは、配信タスク9aに対応する情報であるため配信タスク番号「9a」が記憶されている。また、このノード17aの対応する配信タスク9aで扱うコンテンツの配信速度は32Mbpsであるため、アクセスパターンテーブル13の項目へのポインタ「132」が記憶されている。また、このアクセスパターンテーブル13におけるアクセス順序と先でアクセスしたディスクとに基づいて得られる次アクセス番号「0」が記憶されている。また、このアクセスパターンテーブル13におけるアクセス間隔と先でアクセスしたディスク及び先のアクセス時間とに基づいて得られる次アクセス時間「10234」が記憶されている。そして、配置テーブル12内における配信タスク9aの配置位置「4」が記憶されている。
【0099】
同様に、ノード17bに配置タスク番号「9b」、対応するアクセスパターンテーブル13の項目へのポインタ「131」、次ディスク番号「3」、次アクセス時間「10230」、配置テーブルの位置「6」が記憶されている。
【0100】
さらに、ノード17cに配置タスク番号「9c」、対応するアクセスパターンテーブル13の項目へのポインタ「132」、次ディスク番号「0」、次アクセス時間「10231」、配置テーブルの位置「1」が記憶されている。
【0101】
要求受付ルーチン15は、各配信タスク9a〜9cからアクセス要求を受け付け、アクセスパターンテーブル13と配置テーブル12とを参照してアクセススケジュールを設定し、タスクリスト17のノード17a〜17cとして登録する。この要求受付ルーチン15は、アクセススケジュール設定の際に排他制御を行う排他制御部15aを含む。
【0102】
時刻カウンタ14は、内部的な現在の時間を保持し、自動的に時間をカウントアップする。また、カウントアップ時には、イベント発生ルーチン16を起動する。
【0103】
イベント発生ルーチン16は、単位時間毎に時刻カウンタ14によって起動され、起動するとタスクリスト17をサーチし、時刻カウンタ14で示される現時間と一致する次アクセス時間を持つノードを求める。そして、この求めたノードに対応する配信タスクに対して次ディスク番号の示すディスクへのアクセスを1スロットの時間だけ許可する。
【0104】
また、イベント発生ルーチン16は、アクセスパターンテーブル13を参照してこのタスクリスト17のノードを適宜更新設定する。
【0105】
ここで、本実施の形態に係るスケジューリング装置1においては、1回のアクセス時間が一定であるため、異なるディスクに関するアクセスを許可する場合には、アクセス許可をオーバーラップさせて発する。
【0106】
図3は、アクセス許可をオーバーラップさせる場合の状態を示す図である。
【0107】
要求受付ルーチン15及びイベント発生ルーチン16は、タスクリスト17の各ノードの設定を行う場合に、この図3のように、異なるディスクに対するアクセス許可をオーバーラップするようにスケジュールする。
【0108】
上記のような構成を持つ本実施の形態に係るスケジューリング装置10を備えたVODシステム4の動作について以下に説明する。
【0109】
まず、ビデオサーバ6に備えられるディスク数に基づいて、配信速度毎の周期、アクセス順序、各ディスク間でのアクセス間隔とが設定され、スケジューリング装置10にアクセスパターンテーブル13として登録される。
【0110】
本実施の形態に係るスケジューリング装置10においては、1回のアクセス時間は配信速度にかかわらず一定(1回のアクセスでのデータ読み込み量一定)とする。ゆえに、アクセスパターンテーブル13登録の際には、配信速度毎に、アクセスが許可されてから次にアクセスが許可されるまでのアクセス間隔が可変となるように設定される(配信速度の速いコンテンツほどアクセス間隔が短く、配信速度の遅いコンテンツほどアクセス間隔が長く設定される)。
【0111】
具体的なアクセスパターンテーブル13の設定手法の例を以下で説明する。
【0112】
図4は、アクセスパターンテーブル13におけるアクセスパターンの設定手法の例を示す図である。
【0113】
配信速度毎にアクセス間隔を変える場合において、複数のディスクを常に同じ順序でアクセスするように設定すると、アクセスの重複が発生してしまう。
【0114】
そこで、本実施の実施の形態においては、図4に示すように、基準となる配信速度のアクセスパターン(アクセス順序、アクセス間隔)を分割するが、分割した結果が同じアクセスパターンとなるように分割する。そして、この分割した結果で示されるアクセスパターンを基準となる配信速度の半分の配信速度のアクセスパターンとし、同様の設定を繰り返す。
【0115】
この図4では、基準となる配信速度「b」のアクセス順序が「0→1→2→3」の場合、その半分の配信速度「b/2」のアクセス順序を「0→2→1→3」としている。すると、配信速度「b」のアクセスパターンを2つの配信速度「b/2」のアクセスパターンに分割することができる。
【0116】
同様に、配信速度「b/2」のアクセスパターンも、アクセス順序を「0→3→2→1」とするで2つの配信速度「b/4」のアクセスパターンに分割することができる。
【0117】
ここで、基準となる配信速度「b」におけるアクセスが重複しなければ、各基準を分割して得られるアクセススケジュールによるアクセスも重複しない。
【0118】
このように、各配信速度のアクセスパターンを決定する場合には、この配信速度の2倍となる速度のスケジュールを2つに分割するが、この2つの分割結果が同じアクセスパターンとなるような分割を行い、アクセスパターンを決定する。
【0119】
なお、上記のように、各配信速度のアクセスパターンを分割する場合には、各ディスク間のアクセス間隔が一定ではなくなる場合がある。したがって、アクセスパターンテーブル13には、アクセス順序及びアクセス間隔も登録するとしている。
【0120】
このように、配信速度を半分に分割したスケジュールは、何回も繰り返し設定可能である。使用可能な最大の配信速度「b」とすると、配信速度「b/2」、「b/4」、「b/8」…「b/2n」のアクセスパターンが、各配信速度の2倍のアクセスパターンから求められ、アクセスパターンテーブル13に設定される。
【0121】
以上のような手法により、アクセスパターンテーブル13に対して各配信速度毎のアクセスパターンが登録されると、VODシステム4では、コンテンツの配信が可能となる。
【0122】
各クライアント5a〜5cを操作するユーザによってコンテンツの配信が要求されると、各クライアント5a〜5bに配信要求タスク8a〜8cが発生し、配信要求がビデオサーバ6の配信タスク9a〜9cに受け付けられる。
【0123】
すると、配信タスク9a〜9cからスケジューリング装置10の要求受付ルーチン15にアクセスが要求される。
【0124】
アクセス要求を受け付けた要求受付ルーチン15では、アクセスパターンテーブル13が参照され、各配信タスク9a〜9cによるディスク0のアクセス時間が一意に決定される。そして、この要求受付ルーチン15では、決定されたディスク0のアクセス時間が重複しないように配置テーブル12上にフラグが立てられ、排他的に管理される。
【0125】
先に述べたように、配置テーブル12は複数のスロットの連なりから成り立っており、1つのスロットはその時間におけるディスク0へのディスクアクセス1回に相当する。各スロットにはただ1つの配信タスクによるアクセスが割り当てられ、これによりアクセスの重複が防止される。
【0126】
また、アクセス要求を受け付けた要求受付ルーチン15では、要求されたコンテンツの配信速度に関するアクセスパターンテーブル13が検索され、アクセスパターンが求められる。そして、アクセス要求を発した各配信タスク9a〜9c毎のノード17a〜17cが要求受付ルーチン15によって生成され、タスクリスト17に登録される。
【0127】
なお、アクセス終了要求が配信タスクから要求受付ルーチン15に受け付けられた場合には、このアクセス終了要求を発した配信タスクに関する配置テーブル12の割当フラグ、及びタスクリスト17のノードが削除される。
【0128】
時刻カウンタ14では、一定間隔で保持しているカウンタ値が自動的にカウントアップされ、カウントアップされる度に時刻カウンタ14によってイベント発生ルーチン16が起動される。
【0129】
起動されたイベント発生ルーチン16では、タスクリスト17の各ノード17a〜17cがサーチされ、時刻カウンタ14の示す現在の時間とノードに記憶されている次アクセス時間とが等しいか否かが判定される。
【0130】
判定の結果、等しい場合には、このノードに対応する配信タスクに対し、当該ノードに登録されている次ディスク番号のディスクへのアクセスが一定の時間許可される。
【0131】
その後、このイベント発生ルーチン16により、この配信タスクに対応するノードの内容のうち、次ディスク番号と次アクセス時間とがアクセスパターンテーブル13を用いて更新設定される。
【0132】
アクセス許可を受けた配信タスク9a〜9cでは、この許可された内容にしたがってディスクのアクセスが実行され、そのアクセスしたデータの内容が所定の配信速度によりクライアント5a〜5cに提供される。これにより、ユーザに映像、音声が提供される。
【0133】
以上説明したように、本実施の形態に係るスケジューリング装置10においては、配信速度にかかわらず1回のアクセス時間を一定としており、ディスクへのアクセスを実行する間隔を配信速度の速い場合ぼど短くし、配信速度の遅い場合ほど長くしている。
【0134】
したがって、配信速度に関係なくアクセスしたデータを送信するまでの送信開始時間を一定とすることができる。これにより、配信速度の高いコンテンツほどアクセスを開始してから送信するまでの時間が長くなることを防止することができる。
【0135】
特に、本実施の形態においては、1回のアクセス時間を従来のディスクアクセス時間の最小時間に設定することにより、高い配信速度のコンテンツほど配信開始までの遅れの改善効果を大きくすることができる。
【0136】
また、本実施の形態に係るスケジューリング装置10においては、最速の配信速度の場合にアクセス間隔とアクセス時間とが等しいアクセスパターンが採用され、他の配信速度の場合にはこのアクセスパターンの分割が繰り返して決定される。
【0137】
このアクセスパターンの分割は限度なく繰り返すことができるため、配信可能な配信速度の下限をなくすことができ、これにより配信可能なコンテンツ本数の制限をなくすことができる。したがって、VODシステム4で同時に提供できるコンテンツの本数を増加することができる。
【0138】
さらに、本実施の形態に係るスケジューリング装置10においては、先の図3に示すように、各ディスクに対するアクセスをオーバーラップさせるため、アクセス間隔をアクセス時間よりも短縮させることができ、高速な配信速度のコンテンツを取り扱うことができる。
【0139】
なお、本実施の形態に係るスケジューリング装置10は、同様の作用・機能を実現可能であれば各構成要素の配置を変更させてもよく、また各構成要素を自由に組み合わせてもよい。
【0140】
また、本実施の形態におけるスケジューリングはソフトウェアで実現してもよいし、ハードウェアで実現してもよい。
【0141】
また、本実施の形態に係るスケジューリング装置10の各機能、各要素は、例えば磁気ディスク(フロッピーディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリなどの記録媒体に書き込んで適用したり、通信媒体により伝送して計算機あるいは計算機システムに適用してもよい。上記各機能を実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、プログラムによって動作が制御されることにより、上述した処理を実行する。
【0142】
(第2の実施の形態)
本実施の形態においては、先の第1の実施の形態に係るスケジューリング装置10のアクセスパターンテーブル13の登録についてさらに詳しく説明する。
【0143】
先で述べたように、アクセスパターンテーブル13に登録されるアクセス順序とアクセス間隔は、ディスクの数により変化する。
【0144】
先の第1の実施の形態で説明したように、スケジューリング装置10では、ディスクアクセスについて配信速度によってアクセス間隔(アクセス周期)が変化するが1回のアクセス時間は一定という方式を採用している。
【0145】
ここで、アクセス間隔として自由な値がとれるとすると、様々なアクセス間隔が混在し、うまく配信タスク間の排他を取ることが困難となる。
【0146】
そこで、図5に示すように、使用可能な最速の配信速度からその半分、またその半分と配信速度を区切っていき、各区切り内では、同じアクセス間隔を用い、またその間隔が倍、倍となるようにする。この図5は、1回当たりのアクセス時間が2スロット、アクセスサイズが512KB、ディスク数2の場合を示している。
【0147】
使用可能な最大の配信速度からその半分を超えた配信速度までの階層をレベル0とし、配信速度が下がる毎にレベルが大きくなっていくとする。最下層のレベルMにおける最大の配信速度以下の配信タスクは、全てレベルMに含まれる。このレベルMの最大配信速度がデフォルトの最小割当配信速度となる。
【0148】
使用可能最大の配信速度は、ディスクアクセス1回分のデータ量を1スロットで転送する速度で定義される。この定義により得られる値がデフォルトの使用可能最大の配信速度となる。
【0149】
レベル0の周期は、ディスク数と等しくなる。ここで周期とは、あるディスクにアクセスが発生してから次に同じディスクにアクセスが発生するまでの時間(スロット)をいう。
【0150】
この周期は、ディスクアクセス時間の倍数でなければならない制限があるため、常にレベル0から使用できるとは限らない。例えば、アクセス時間が2スロットで、ディスク数が奇数の時はレベル1以上しか使用することができない。このように、周期がアクセス時間の倍数となる最小のレベルをトップレベルとする。
【0151】
ディスクが複数ある場合に、コンテンツの格納順に各ディスクをアクセスする場合を考えると、1つのレベルnのアクセスパターンが2つのレベルn+1のアクセスパターンに分解することができれば、複数のレベルのタスクが混在してもディスクアクセスの排他をとることが容易となる。
【0152】
この点については、先の図4に示すように、各レベルでアクセス順序を変えることで可能となる。
【0153】
また、アクセス間隔も等間隔ではなくなるが、アクセス順序及びあるディスクから次のディスクへのアクセス間隔(これらをまとめてアクセスパターンという)は同一レベルでは常に一定となる。
【0154】
レベルnのアクセスパターンは、レベルn−1のパターンから一定の法則にしたがって求めることができる。これは、レベルn−1のアクセス順序の何番目から始めるか(開始位置)、及び次にアクセスするディスクがレベルn−1において何個先であるかを示すパターンで決定される。以下の説明において、a[n]はaの数字又はパターンがn回繰り返されることを表す。
【0155】
(ディスク数が奇数の場合)
開始位置 0
パターン (2[ディスク数])
レベルn−1の順序を1つ跳びに取っていったものになる。また、アクセス間隔は常に等間隔となる。
【0156】
(ディスク数が偶数の場合)
ディスク数=odd×2nの形式にする(oddは奇数を表す)
開始位置 1
パターン ((2[2(n-1)-1],1,2[2(n-1)-1],3)[odd])
例えばディスク数が4のとき、パターンは(2,1,2,3)なので、レベルn−1の順序が0→1→2→3のときレベルnの順序は1→3→0→2となる。
【0157】
アクセス間隔は、レベルn−1の間隔をパターンにしたがって加算して求める。
【0158】
以下に具体例を挙げてアクセスパターンの設定手法について説明する。ここでは、ディスク数が奇数の場合の例としてディスク数3について説明し、またディスク数が偶数の場合の例としてディスク数4について説明する。
【0159】
まず、ディスク数3の場合もディスク数4の場合も、レベル0は常にアクセス順序「0→1→2…」、アクセス間隔「1、1、1…」より始まる。また、アクセス間隔はトップレベルまでは等間隔になるように前レベルでの間隔を2倍する。以下の例ではレベル1をトップレベルとする。
【0160】
(ディスク数3の場合)
開始位置 0
パターン (2[3])=(2,2,2)
まず、レベル0の場合、アクセス順序「0→1→2」、アクセス間隔「1、1、1」となる。
【0161】
次に、レベル1の場合、開始位置0なので、レベル0のアクセス順序の先頭のディスク0がアクセス順序の最初となる。
パターンの1番目が2なので、レベル0の順序に基づいて0→1→2と2つ進み、次のディスクは2となる。
パターンの2番目も2なので、レベル0の順序に基づいて2→0→1と2つ進み、次のディスクは1となる。
パターンの3番目も2なので、レベル0の順序に基づいて1→2→0と2つ進み、0に戻る。よって、ディスク数3のレベル1のアクセス順序は「0→2→1」となる。
【0162】
また、レベル1はトップレベルであるため、アクセス間隔はレベル0の2倍となる。よって、ディスク数3のレベル1のアクセス間隔は「2、2、2」となる。
【0163】
次に、レベル2の場合、開始位置は0なので、レベル1のアクセス順序の先頭のディスク0がアクセス順序の最初となる。
パターンの1番目が2なので、レベル1の順序に基づいて0→2→1と2つ進み、次のディスクは1となる。
パターンの2番目も2なので、レベル1の順序に基づいて1→0→2と2つ進み、次のディスクは2となる。
パターンの3番目も2なので、レベル1の順序に基づいて2→1→0と2つ進み、0に戻る。よって、ディスク数3のレベル2のアクセス順序は「0→1→2」となる。
【0164】
また、アクセス順序における最初の「0→1」のアクセス間隔は、レベル1の間隔より2+2で4となる。
アクセス順序における次の「1→2」のアクセス間隔は、レベル1の間隔より2+2で4となる。
アクセス順序における次の「2→0」のアクセス間隔は、レベル1の間隔より2+2で4となる。よって、ディスク数3のレベル2のアクセス間隔は「4、4、4」となる。
【0165】
次に、レベル3の場合、開始位置は0なので、レベル2のアクセス順序の先頭のディスク0がアクセス順序の最初となる。
パターンの1番目が2なので、レベル2の順序に基づいて0→1→2と2つ進み、次のディスクは2となる。
パターンの2番目も2なので、レベル2の順序に基づいて2→0→1と2つ進み、次のディスクは1となる。
パターンの3番目も2なので、レベル2の順序に基づいて1→2→0と2つ進み、0に戻る。よって、ディスク数3のレベル3のアクセス順序は「0→2→1」となる。
【0166】
また、アクセス順序における最初の「0→2」のアクセス間隔は、レベル2の間隔より4+4で8となる。
アクセス順序における次の「2→1」のアクセス間隔は、レベル2の間隔より4+4で8となる。
アクセス順序における次の「1→0」のアクセス間隔は、レベル2の間隔より4+4で8となる。よって、ディスク数3のレベル2のアクセス間隔は「8、8、8」となる。
【0167】
レベル4の場合も同様にしてアクセス順序「0→1→2」、アクセス間隔「16、16、16」が求められる。また、レベル5の場合も同様にしてアクセス順序「0→2→1」、アクセス間隔「32、32、32」が求められる。以下のレベルにおいても同様である。
【0168】
まず、レベル0の場合、アクセス順序「0→1→2→3」、アクセス間隔「1、1、1、1」である。
【0169】
次に、レベル1の場合、開始位置1なので、レベル0のアクセス順序における2番目のディスク1がアクセス順序の最初となる。
パターンの1番目は2なので、レベル0の順序の2番目から1→2→3と2つ進み、次のディスクは3となる。
パターンの2番目は1なので、レベル0の順序に基づいて3→0と1つ進み、次のディスクは0となる。
パターンの3番目は2なので、レベル0の順序に基づいて0→1→2と2つ進み、次のディスクは2となる。
パターンの4番目は3なので、レベル0の順序に基づいて2→3→0→1と3つ進み、1に戻る。よって、ディスク数4のレベル1のアクセス順序は「1→3→0→2」となる。
【0170】
また、レベル1はトップレベルであるため、アクセス間隔はレベル0の2倍とする。よって、ディスク数4のレベル1のアクセス間隔は「2、2、2、2」となる。
【0171】
次に、レベル2の場合、開始位置は1なので、レベル1のアクセス順序における2番目のディスク3がアクセス順序の最初となる。
パターンの1番目が2なので、レベル1の順序に基づいて3→0→2と2つ進み、次のディスクは2となる。
パターンの2番目は1なので、レベル1の順序に基づいて2→1と1つ進み、次のディスクは1となる。
パターンの3番目は2なので、レベル1の順序に基づいて1→3→0と2つ進み、次のディスクは0となる。
パターンの4番目は3なので、レベル1の順序に基づいて0→2→1→3と3つ進み、3に戻る。よって、ディスク数4のレベル2のアクセス順序は「3→2→1→0」となる。
【0172】
また、アクセス順序における最初の「3→2」のアクセス間隔は、レベル1の間隔より2+2で4となる。
アクセス順序における次の「2→1」のアクセス間隔は、レベル1の間隔より2となる。
アクセス順序における次の「1→0」のアクセス間隔は、レベル1の間隔より2+2で4となる。
アクセス順序における次の「0→3」のアクセス間隔は、レベル1の間隔より2+2+2で6となる。よって、ディスク数4のレベル2のアクセス間隔は「4、2、4、6」となる。
【0173】
次に、レベル3の場合、開始位置は1なので、レベル2のアクセス順序における2番目のディスク2がアクセス順序の最初となる。
パターンの1番目が2なので、レベル2の順序に基づいて2→1→0と2つ進み、次のディスクは0となる。
パターンの2番目は1なので、レベル2の順序に基づいて0→3と1つ進み、次のディスクは3となる。
パターンの3番目は2なので、レベル2の順序に基づいて3→2→1と2つ進み、次のディスクは1となる。
パターンの4番目は3なので、レベル2の順序に基づいて1→0→3→2と3つ進み、次のディスクは2に戻る。よって、ディスク数4のレベル3のアクセス順序は「2→0→3→1」となる。
【0174】
また、アクセス順序における最初の「2→0」のアクセス間隔は、レベル2の間隔より2+4で6となる。
アクセス順序における次の「0→3」のアクセス間隔は、レベル2の間隔より6となる。
アクセス順序における次の「3→1」のアクセス間隔は、レベル2の間隔より4+2で6となる。
【0175】
アクセス順序における次の「1→2」のアクセス間隔は、レベル2の間隔より4+6+4で14となる。よって、ディスク数4のレベル2のアクセス間隔は「6、6、6、14」となる。
【0176】
レベル4の場合も同様にしてアクセス順序「0→1→2→3」、アクセス間隔「12、14、12、26」が求められる。また、レベル5の場合も同様にしてアクセス順序「1→3→0→2」、アクセス間隔「26、26、26、50」が求められる。以下のレベルにおいても同様である。
【0177】
以上のように、アクセス対象のディスクの数に基づいて、各レベル(配信速度)毎のアクセス順序とアクセス間隔が求められ、アクセスパターンテーブル13にはこの内容が登録される。
【0178】
(第3の実施の形態)
本実施の形態においては、先の第1及び第2の実施の形態に係るスケジューリング装置10の配置テーブル12の登録についてさらに詳しく説明する。
【0179】
先で説明したように、レベルnの一つのアクセスパターンはレベルn+1の2つのアクセスパターンに分割される。
【0180】
図6は、各レベルのアクセスパターンの分割状態を示す図である。
【0181】
各レベルのアクセスパターンは二分木構造で表現され、この二分木の頂点はトップレベルとなる。
【0182】
この二分木上の1つのノードがそのレベルにおいて、1つのディスクのアクセス時間の違いを示している。ある配信タスクに対し、1つのノードを割り当てることで、その配信タスクのアクセススケジュールが決定される。
【0183】
同一レベルにおいては、アクセスパターンは一意に決まっているため、同じノードを共有しない限り、各ノード間で同一のディスクへのアクセスが重複することはない。
【0184】
複数のレベルが混在する場合には、以下のルールに従っている限り、同一ディスクへのアクセスが重複することはない。
【0185】
(1)親ノードを辿っていき、割り当てられているノードが存在するノードには割当て不可
(2)全ての子ノードを辿っていき、割り当てられているノードが存在するノードには割当て不可
これにより、ある1つのディスクに対するアクセスのみを管理すればよいことになる。先の第1の実施の形態においては、ディスク0に関してアクセスの重複がないように管理するとしている。
【0186】
【発明の効果】
以上詳記したように本発明においては、ディスクへの1回当たりのアクセス時間が一定とされる。そして、アクセスを開始してから次にアクセスを行うまでのアクセス間隔が配信速度の速いコンテンツほど短く設定され、配信速度の遅いコンテンツほど長く設定される。
【0187】
これにより、アクセスが行われてからコンテンツが配信されるまでの時間を配信速度によらず一定とすることができる。
【0188】
また、本発明においては、アクセス時間を一定とし、複数のディスクへのアクセスがオーバーラップされるため、高速な配信速度のコンテンツを扱うことができる。
【0189】
また、本発明においては、アクセスパターン情報において、複数の配信速度のうちコンテンツの配信に使用可能な最速の配信速度ではない配信速度に設定されているアクセスパターンは、この配信速度の2倍の配信速度に対応付けされているアクセスパターンを、2つの同じアクセスパターンに分割した結果のうちの一方である。
【0190】
このアクセスパターンの分割は限度なく繰り返すことができるため、配信可能な最低の配信速度の下限をなくすことができる。
【0191】
ゆえに、配信可能なコンテンツの本数が制限されることがない。したがって、同時に配信できるコンテンツの数を増加することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るスケジューリング装置を搭載したVODシステム。
【図2】同実施の形態に係るスケジューリング装置の各要素の関係を示すブロック図。
【図3】同実施の形態に係るスケジューリング装置がアクセス許可をオーバーラップさせる場合の状態を示す図。
【図4】アクセスパターンテーブルにおけるアクセスパターンの設定方法の例を示す図。
【図5】配信速度の階層を示す図。
【図6】各レベルのアクセスパターンの分割状態を示す図。
【図7】従来のスケジューリングの具体例を示す図。
【符号の説明】
0〜3…ディスク
4…VODシステム
5a〜5c…クライアント
6…ビデオサーバ
7…ネットワーク
8a〜8c…配信要求タスク
9a〜9c…配信タスク
10…スケジューリング装置
11…バッファ
12…配置テーブル
13…アクセスパターンテーブル
14…時刻カウンタ
15…要求受付ルーチン
15a…排他制御部
16…イベント発生ルーチン
17…タスクリスト
Claims (6)
- ビデオサーバにおいて、
コンテンツを保存する複数のディスクと、
前記複数のディスクへのアクセスをスケジューリングするスケジューリング装置と、
クライアントから配信速度を含む前記コンテンツの配信要求を受信すると、前記スケジューリング装置のスケジューリングにしたがって前記複数のディスクをアクセスし、前記クライアントに対して、前記配信要求における配信速度により前記コンテンツを配信する配信手段と
を具備し、
前記スケジューリング装置は、
前記コンテンツの配信に使用可能な最速の配信速度を2のべき乗で割った複数の配信速度毎に、前記複数のディスクのうちのあるディスクがアクセスされてから次に当該あるディスクがアクセスされるまでの周期であり、配信速度が速いほど短く、配信速度が遅いほど長いアクセス周期の間において、前記複数のディスクをアクセスするアクセス順序と、前記複数のディスクのそれぞれについて前記アクセス順序にしたがって次のディスクをアクセスするまでのアクセス間隔とを含むアクセスパターン情報を保持する手段と、
ディスクに対する一回のアクセスに対して許可される一定のアクセス時間であるスロットを複数連ねた配置テーブルを保持する手段と、
前記配信要求の配信速度に対応する前記アクセスパターン情報のアクセス順序、アクセス間隔に基づいて、前記複数のディスクへのアクセスを、同時期に同ディスクがアクセスされないように前記配置テーブルのスロットに割り当て、前記配置テーブルへの割り当てにそって前記複数のディスクへのアクセスを許可する許可発生手段と
を具備する
ことを特徴とするビデオサーバ。 - 請求項1記載のビデオサーバにおいて、
前記許可発生手段は、各ディスク間でアクセス許可をオーバーラップさせて発することを特徴とするビデオサーバ。 - 請求項1又は請求項2記載のビデオサーバにおいて、
前記アクセスパターン情報において、前記複数の配信速度のうち前記コンテンツの配信に使用可能な最速の配信速度ではない配信速度に設定されているアクセスパターンは、この配信速度の2倍の配信速度に対応付けされているアクセスパターンを、2つの同じアクセスパターンに分割した結果のうちの一方である
ことを特徴とするビデオサーバ。 - コンテンツを保存する複数のディスクを具備するビデオサーバを、
前記複数のディスクへのアクセスをスケジューリングするスケジューリング手段、
クライアントから配信速度を含む前記コンテンツの配信要求を受信すると、前記スケジューリング装置のスケジューリングにしたがって前記複数のディスクをアクセスし、前記クライアントに対して、前記配信要求における配信速度により前記コンテンツを配信する配信手段
として機能させ、
前記スケジューリング手段は、
前記コンテンツの配信に使用可能な最速の配信速度を2のべき乗で割った複数の配信速度毎に、前記複数のディスクのうちのあるディスクがアクセスされてから次に当該あるディスクがアクセスされるまでの周期であり、配信速度が速いほど短く、配信速度が遅いほど長いアクセス周期の間において、前記複数のディスクをアクセスするアクセス順序と、前記複数のディスクのそれぞれについて前記アクセス順序にしたがって次のディスクをア クセスするまでのアクセス間隔とを含むアクセスパターン情報を管理し、
ディスクに対する一回のアクセスに対して許可される一定のアクセス時間であるスロットを複数連ねた配置テーブルを管理し、
前記配信要求の配信速度に対応する前記アクセスパターン情報のアクセス順序、アクセス間隔に基づいて、前記複数のディスクへのアクセスを、同時期に同ディスクがアクセスされないように前記配置テーブルのスロットに割り当て、前記配置テーブルへの割り当てにそって前記複数のディスクへのアクセスを許可する許可発生手段を具備する
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 請求項4記載のプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記許可発生手段は、各ディスク間でアクセス許可をオーバーラップさせて発することを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 請求項4又は請求項5記載のプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記アクセスパターン情報において、前記複数の配信速度のうち前記コンテンツの配信に使用可能な最速の配信速度ではない配信速度に設定されているアクセスパターンは、この配信速度の2倍の配信速度に対応付けされているアクセスパターンを、2つの同じアクセスパターンに分割した結果のうちの一方である
ことを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27053399A JP4006146B2 (ja) | 1999-09-24 | 1999-09-24 | ビデオサーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27053399A JP4006146B2 (ja) | 1999-09-24 | 1999-09-24 | ビデオサーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001094964A JP2001094964A (ja) | 2001-04-06 |
JP4006146B2 true JP4006146B2 (ja) | 2007-11-14 |
Family
ID=17487547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27053399A Expired - Fee Related JP4006146B2 (ja) | 1999-09-24 | 1999-09-24 | ビデオサーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4006146B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5138769B2 (ja) * | 2007-04-26 | 2013-02-06 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | ビデオ・オン・デマンドストリーミングのためのフレームの正確な配信 |
KR101705983B1 (ko) * | 2015-06-19 | 2017-02-14 | 중앙대학교 산학협력단 | 콘텐츠를 배포하는 사용자 단말기 및 서버 |
-
1999
- 1999-09-24 JP JP27053399A patent/JP4006146B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001094964A (ja) | 2001-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI250742B (en) | Method and system for identifying available resources in a peer-to-peer network | |
US11575748B2 (en) | Data storage method and apparatus for combining different data distribution policies | |
US10268726B1 (en) | Partition key management for improved throughput | |
US8180941B2 (en) | Mechanisms for priority control in resource allocation | |
US6829678B1 (en) | System for determining the order and frequency in which space is allocated on individual storage devices | |
CN111212100B (zh) | 消息队列发布与订阅的同步方法及其系统 | |
US10394452B2 (en) | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse | |
JP2018531465A (ja) | メッセージデータを格納するためのシステム及び方法 | |
CN117370030A (zh) | 分布式计算系统中的集群资源管理 | |
JP2019535072A (ja) | 複数の購読者にメッセージを提供するためのシステム及び方法 | |
KR20020007994A (ko) | 하나 이상의 저장 장치에 공간을 할당하기 위해서 가중할당을 사용하는 복수 개의 파일 시스템 | |
CN106990915A (zh) | 一种基于存储介质类型和加权配额的存储资源管理方法 | |
CN110580127B (zh) | 一种基于多租户云存储的资源管理方法和资源管理系统 | |
JPH04213129A (ja) | メモリ管理システム及びメモリ管理方法 | |
CN106598724A (zh) | 用于在计算系统中管理内存的方法 | |
WO2023196042A1 (en) | Data flow control in distributed computing systems | |
JP4006146B2 (ja) | ビデオサーバ及びプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN107145449A (zh) | 存储设备和存储方法 | |
JP2004272668A (ja) | 分散ファイルシステム | |
CN109716280A (zh) | 灵活的内存列存储布置 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
CN108363625B (zh) | 一种无锁线程有序控制存储信息的方法、装置和服务器 | |
JP2020154391A (ja) | 情報処理システムおよびプログラム | |
JPH07244642A (ja) | 並列処理計算機 | |
JP2006059366A (ja) | データ管理の調整 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070723 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070821 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070827 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100831 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |