JP3575862B2 - ストリームスケジューリング方法及び装置 - Google Patents
ストリームスケジューリング方法及び装置 Download PDFInfo
- Publication number
- JP3575862B2 JP3575862B2 JP05738495A JP5738495A JP3575862B2 JP 3575862 B2 JP3575862 B2 JP 3575862B2 JP 05738495 A JP05738495 A JP 05738495A JP 5738495 A JP5738495 A JP 5738495A JP 3575862 B2 JP3575862 B2 JP 3575862B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- real
- stream
- data
- time slot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
- H04N21/2326—Scheduling disk or memory reading operations
-
- 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
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【産業上の利用分野】
本発明は、実時間ストリームサーバのストリームスケジューリング方法及び装置に関する。
【0002】
【従来の技術】
動画像や音声に代表されるような実時間で順次転送されるデータを、実時間ストリームデータと呼ぶ。これらのデータを扱う実時間ストリームサーバにおいては、ディスク装置に蓄積された実時間ストリームデータを、実時間での連続性を保証して各クライアント(実時間ストリームサーバと通信手段を介して接続されたセットトップボックスやパーソナルコンピュータなど)に送出できることが必要条件である。その条件を満たすために、従来技術では実時間ストリームデータを一定の再生時間単位あるいは一定の大きさ単位毎のブロックに分割してディスクに格納しておき、各クライアント毎にサーバが周期的にディスクにアクセスする。このようにデータを分割して複数のディスクに記憶する方式は、ストライピングと呼ばれ、従来から広く用いられている。
【0003】
ディスクから読み出されたブロックは、一旦バッファメモリ上に置かれ、対応するクライアントに通信網を介して周期的に送出される。実時間ストリームサーバにおいて、このディスクアクセス命令とデータ転送命令の発行のタイミングの管理を行なうのがストリームスケジューリング装置である。また、ストリームスケジューリング装置は、クライアントからの接続要求を受け付けて、そのクライアントヘの実時間ストリームデータの送出をスケジューリングすることにより、新しいストリームチャネルを確立する。こうして確立された、実時間ストリームサーバからクライアントへの実時間ストリームデータの送出のためのストリームチャネルをストリームと呼ぶ。
【0004】
ストリームスケジューリング装置では、ディスクアクセスとデータ転送のタイミングを、図21で示すように一定の時間間隔で区切られたタイムスロットを用いて管理する。1タイムスロットには1回のディスクアクセスが割付けられ、そのディスクアクセスで実時間ストリームデータの1ブロックを読み出す。1ストリームのディスクアクセスの周期は一定であり、タイムスロットに割付けられたそのストリームのためのディスクアクセスは固定される。したがって、ストリーム毎に異なるタイムスロットにディスクアクセスを割り付けることにより、複数ストリームが同一のディスクに蓄積したストリームデータを同時に利用することが可能になる。ただし、1台のディスク装置へのアクセス周期の間には接続可能ストリーム数分のタイムスロットが必要となる。
【0005】
複数ディスクにデータをストライピングした場合の従来の多重読み出し手法について、図22には複数のディスク装置を仮想的に1台の高速なディスク装置として扱う方式を、図23には1周期毎に次のブロックを保持するディスク装置にアクセスする方式を示す。
【0006】
図22,図23の例では、各ディスクアクセス周期のタイムスロット0に、クライアント0のストリームのディスクアクセスが割り付けられている。読出しブロックのA1は、実時間ストリームデータAのブロック1を表している。A1が読み出された後、クライアント0に転送されて実時間で処理(例えば再生)される。A1の処理が終了するまでにA2が読み出されて転送される。このように各ストリームが他のストリームの連続性に影響を与えることなくスケジューリングされる。ストリームスケジューラは、このようなタイムスロットであらわされるスケジュールにしたがって、周期的にディスクからのデータの読み込みと送り出しといった動作を繰り返すことで、各ストリームの連続性を保つ。
【0007】
1台の実時間ストリームサーバに同時に接続可能なストリーム数は、データ再生ビットレートに対するディスク装置のデータ転送ビットレートの比Mとディスク装置の台数Ndiskとで決定される。接続可能ストリーム数を増加させるには、ディスク装置の転送能力を高くする方法と、ディスク装置を増加してストライピング数を多くする方法がある。
【0008】
前者では、ディスク装置のシーク時間を小さくすることによりディスク装置の応答時間を小さくし、平均転送速度を上げる方法が用いられる。1スロット時間を小さくできるので、最大ストリーム数を増やすことが可能である。
【0009】
後者は、スケジューリング方式に応じて2種類に分けられる。第1の方式は、同時に複数のディスク装置から、1個のストリームへ送出する連続したブロックを読み出すことにより、複数のディスク装置を仮想的に1台の高速なディスク装置として扱う方法である。第2の方式は、1周期毎に次のブロックが格納されているディスク装置にアクセスする方式で、同時に複数のディスク装置で異なるストリームへのデータが読み出される。
【0010】
図22,図23に示すように、上記の第1,第2の方式ともに、同時に接続可能ストリーム数は、Ndisk倍となる。ただし、各ストリームのある1台のディスク装置へのアクセス周期(タイムスロット数)もNdisk倍となる。
【0011】
実時間ストリームサーバでは、図24で示すように、接続要求の発生した時刻から最初のディスクアクセスを開始するまでの時間と、ディスクアクセスに必要な時間と、ディスクから読み出したデータをクライアントへ送出を開始するまでバッファに格納しておく時間の合計が応答時間となる。実際にはネットワークを経由してクライアントへデータが転送され、クライアント側で送られてきたデータを再生開始するまでの遅延も含めたものが、ユーザが感じる遅延時間であるが、この部分は実時間ストリームサーバでは管理できないので、ここでは応答時間には含めない。
【0012】
新しくクライアントからのストリームの接続要求が発生した場合、ストリームスケジューラは、新しいストリームのディスクアクセスの割付けが可能な空きタイムスロットを確保する。このとき、従来の技術では、タイムスロットに既に接続が確立しているストリームのディスクアクセスが固定されているため、接続要求が発生した時点のタイムスロット以降の接続済みのストリームが割り当てられていない空タイムスロットで、もっとも早く順番が回ってくるものを確保する。このような方式で空タイムスロットを確保する場合、タイムスロット中に空タイムスロットが満遍なく分散していれば短い時間で応答できる。しかし、実時間ストリームサーバにすでに多数のストリームが接続されているような状況などで、空タイムスロットが偏って分布している場合は、応答時間が長くなる確率が高くなる。それゆえ、応答時間に制限をもたせて一定の応答時間を確保したい場合には、指定した制限時間内に割り付け可能な空きタイムスロットが存在せず、応答時間が制限時間を越える確率が高くなる。特に、最大接続ストリーム数を増加させる場合、上記した第1の方式では最大接続ストリームの増加に限界があり、第2の方式では最大接続ストリーム数が大きくなるにつれ、最大応答時間も大きくなる。
【0013】
例えば図23では、クライアント2m−1が実時間ストリームデータFをブロック1から転送するように接続要求を出した場合、ブロックF1を格納しているディスク装置1のタイムスロットに空きが生じるまで、つまりディスクアクセス周期2のタイムスロットm−1までディスクアクセスは行なわれない。
【0014】
近年、実時間ストリームサーバを基本技術としてビデオサーバ、マルチメディアサーバが開発され、それを用いたビデオオンデマンドやマルチメディアオンデマンドあるいはインフォメーションオンデマンドと呼ばれるような情報サービスが行われてきている。このような情報システムは、実時間ストリームデータであるビデオや音声、あるいはそれらを従来のテキストやイメージデータ等と組み合せた複合データを用いて、ネットワークで接続されたクライアント端末を介して多数のユーザに同時にサービスを行う。このような状況では、同時に多数のクライアントが実時間ストリームサーバに接続することになり、各クライアントに対する応答時間をできる限り小さくすることが必要不可欠の課題となっている。
【0015】
【発明が解決しようとする課題】
上記にように、従来は、クライアントへ転送しているストリームのディスクアクセスのタイミングはタイムスロット上で固定されており、接続要求のあった新規のストリームには、最も近い空きタイムスロットを割当てていた。
【0016】
したがって、実時間ストリームサーバにすでに多数のストリームが接続されているような状況などで、空タイムスロットが偏って分布している場合は、要求を受け付けた時点から該実時間ストリームデータの最初のデータブロックの送出しを開始するまでの応答時間が長くなる確率が高くなる。
【0017】
それゆえ、応答時間に制限をもたせて一定の応答時間を確保したい場合には、指定した制限時間内に割り付け可能な空きタイムスロットが存在せず、応答時間が制限時間を越える確率が高くなる問題があった
本発明は、上記事情に鑑みてなされたものであり、実時間ストリームサーバの応答時間が指定された制限時間を越える確率を低くすることのできるストリームスケジューリング方法及び装置を提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明(請求項1)は、各実時間ストリームデータを夫々複数のデータブロックとして記憶したデータ記憶装置から、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータのデータブロックの読出しおよび送出しのタイミングを決定するストリームスケジューリング方法において、要求された実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングの基準を決定し、決定された前記タイミングの基準より以前の所定の許容範囲内で、実際に行なう読出しのタイミングを決定することを特徴とする。
【0019】
本発明(請求項2)は、各実時間ストリームデータを夫々複数のデータブロックとして記憶したデータ記憶装置から、周期的な動作タイミングを規定したタイムスロットに従って、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのタイムスロット割当てを行なうストリームスケジューリング方法において、各実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングを規定する読み出しの基準タイムスロットを記憶し、新たな実時間ストリームデータが要求された場合に、他の実時間ストリームデータについて、記憶された前記基準タイムスロットに基づいて定まる所定の許容範囲内で実際に読出しを行なうべきタイムスロットの再割当てを行なって空きスロットを移動させ、この移動させた空きスロットを前記新たな実時間ストリームデータについて実際に読み出しを行なうべきタイムスロットとして採用することを特徴とする。
【0020】
好ましくは、送出している各実時間ストリームデータのうち、実際に読出しを行なうべきタイムスロットを移動することが可能なものについてタイムスロットの前記再割当てを行なうことを特徴とする。
【0021】
また、好ましくは、各実時間ストリームデータについて実際に読出しを行なうべきタイムスロットを前記許容範囲内で可能な限り時間軸上で前方に割当てておくことを特徴とする。
【0022】
好ましくは、前記新たな実時間ストリームデータについての前記基準タイムスロットを、採用した前記実際に読出しを行なうべきタイムスロットが前記所定の許容範囲内に含まれ、かつ複数の実時間ストリームデータの基準タイムスロットの時間的な集中度が小さくなるよう決定することを特徴とする。
【0023】
本発明(請求項5)は、各実時間ストリームデータを夫々複数のデータブロックとして記憶したデータ記憶装置から、周期的な動作タイミングを規定したタイムスロットに従って、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのタイムスロット割当てを行なうストリームスケジューリング方法において、要求された実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングを規定する読出しの基準タイムスロットの候補を、要求を受け付けた時点から該実時間ストリームデータの最初のデータブロックの送出しを開始するまでの応答時間が定められた制限時間以内となるものの中から選択し、各基準タイムスロットの候補を採用した場合夫々について、複数の実時間ストリームデータの基準タイムスロットの位置の分散の評価を行ない、この評価結果に基づいて、前記基準タイムスロットの候補のうちの1つを採用することを特徴とする。
【0024】
好ましくは、前記制限時間を、前記要求された実時間ストリームデータのデータ長に応じて決定することを特徴とする。
【0025】
また、好ましくは、前記制限時間を、前記要求された実時間ストリームデータに使用されるアクセス方式に応じて決定することを特徴とする。
【0026】
また、好ましくは、前記評価を行なう際、前記位置の分散に加え、送出している各実時間ストリームデータの残り時間を考慮して評価結果を求めることを特徴とする。
【0027】
本発明(請求項9)は、各実時間ストリームデータを夫々複数のデータブロックとして記憶したデータ記憶装置から、周期的な動作タイミングを規定したタイムスロットに従って、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのタイムスロット割当てを行なうストリームスケジューリング方法において、要求された実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングを規定する読出しの基準タイムスロットの候補を、複数の実時間ストリームデータの基準タイムスロットの位置の分散の評価に基づいて選択し、選択された前記基準タイムスロットに基づいて定まる所定の許容範囲内で、実際に読出しを行なうべきタイムスロットの候補を選択し、選択された前記タイムスロットの候補が空きスロットである場合、または候補とされた当該タイムスロットに既に割当てられている他の実時間ストリームデータについて、基準タイムスロットに基づいて定まる所定の許容範囲内で実際に読出しを行なうべきタイムスロットの再割当てを行ない、候補とされた当該タイムスロットを空きスロットにできる場合、前記基準タイムスロットの候補および該タイムスロットの候補を採用することを特徴とする。
【0028】
本発明(請求項11)は、各実時間ストリームデータを複数のデータブロックとして記憶したデータ記憶装置から、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのスケジュールを決定するストリームスケジューリング装置において、要求された実時間ストリームデータについて、要求を受け付けた時点から所定の制限時間以内に送出を開始できる基準スケジュールを選択するとともに、選択した該基準スケジュールを元にした所定の許容時間範囲内で実際に読出しおよび送出しを行なう動作スケジュールを決定する接続要求処理手段と、少なくとも要求された前記実時間ストリームデータの前記動作スケジュールを決定する際に、送出しを行なっている実時間ストリームデータについて、前記基準スケジュールを満たす範囲で前記動作スケジュールを変更する動作スケジュール更新手段とを備えたことを特徴とする。
【0029】
本発明(請求項12)は、各実時間ストリームデータを複数のデータブロックとして記憶したデータ記憶装置から、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのスケジュールを決定するストリームスケジューリング装置において、要求された実時間ストリームデータについて、要求を受け付けた時点から所定の制限時間以内に送出を開始できる基準スケジュールであって、選択した場合に複数の実時間ストリームデータの基準スケジュールの時間的な集中度の小さいものを選択するとともに、選択した該基準スケジュールを元にした所定の許容時間の範囲内で実際に読出しおよび送出しを行なう動作スケジュールを決定する接続要求処理手段と、前記動作スケジュールに従って、前記データブロックの読出しおよび送出しを指示する制御手段とを備えたことを特徴とする。
【0030】
【作用】
本発明(請求項1)では、要求元(クライアント)からある実時間ストリームデータを転送するよう要求されると、まず、その実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングの基準を決定する。この送出しのタイミングの基準をもとに、クライアント側でのストリームの連続性を保証するためには、遅くともいつまでに読出し等を行なわなければならないかが規定される。
【0031】
ここで、実際には、読出しを上記タイミングの基準から規定される時点で行なう必要はなく、それまでに完了していれば良い。ただし、実際の読出しは、対応するバッファメモリ装置について先行するデータブロックの送出しが完了した後でなければならない。そこで、この送りだし完了時から、決定された前記タイミングの基準をもとに規定される上記の時点までの範囲内(所定の許容範囲内)で、適宜、実際に行なう読出しのタイミングを決定することができる。
【0032】
この実際に行なう読出しのタイミングは、固定的である必要はなく、必要に応じて変更することができる。
【0033】
本発明(請求項2)では、まず、各実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングを規定する読出しの基準タイムスロットを記憶する。つまり、基準タイムスロットは、要求元(クライアント)側でのストリームの連続性を保証するためには、遅くともいつまでに読出しが行なわれなければならないか、早くともいつから読出しが可能か、および、いつ送出しが行なわれなければならないかを相対的な時刻で規定するための基準となるタイムスロットのことである。
【0034】
次に、クライアントからある実時間ストリームデータを転送するよう要求されると、他の実時間ストリームデータについて実際の読出しを行なうべきタイムスロットの再割当て、すなわちその基準タイムスロットを満たす範囲内で実際の読出しを行なうべきタイムスロットの移動を行なうことができるのであれば、タイムスロットの再割当てを行なうことによって空きスロットを移動させることができるので、この移動させた空きスロットで、要求された実時間ストリームデータの実際の読出しを行なうことができる。
【0035】
したがって、最も近い空きタイムスロットよりもさらに以前の割当て済みのタイムスロットを空きタイムスロットに変えて、新規のストリームに割付けることができ、従来よりも応答時間を短縮することができる。
【0036】
また、応答時間に制限時間を設ける場合、指定された制限時間内に応答可能となるように読出しのタイミングを割り付けるタイムスロットが見つかる確率を高くすることができ、制限時間内で応答可能な確率を高くすることができる。
【0037】
本発明(請求項5)では、要求元(クライアント)からある実時間ストリームデータを転送するよう要求されると、まず、その実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングを規定する読出しの基準タイムスロットの候補を選択する。つまり、基準タイムスロットは、要求元(クライアント)側でのストリームの連続性を保証するためには、遅くともいつまでに読出しが行なわれなければならないか、早くともいつから読出しが可能か、および、いつ送出しが行なわれなければならないかを相対的な時刻で規定するための基準となるタイムスロットのことである。
【0038】
ただし、ここでは、要求を受け付けた時点から該実時間ストリームデータの最初のデータブロックの送出しを開始するまでの応答時間が定められた制限時間以内となるものを基準タイムスロットの候補として選択する。
【0039】
基準タイムスロットの候補が幾つかある場合には、各基準タイムスロットの候補を夫々採用した場合について、当該候補とされた基準タイムスロットと既に存在する全部または一部の基準タイムスロットの時間的な存在位置の分散を評価し、評価の結果、より分散を大きくするとされた基準タイムスロットの候補をスケジューリング結果として採用する。
【0040】
この結果、空きタイムスロットを時間的に偏りなく分散させることができ、新規のストリームの要求を受けた時点から短時間の位置に空きタイムスロットが存在する確率を高くすることができる。
【0041】
また、指定された制限時間内に応答可能となるように読出しのタイミングを割り付けるタイムスロットが見つかる確率を高くすることができ、制限時間内で応答可能な確率を高くすることができる。
【0042】
本発明(請求項9)では、要求元(クライアント)からある実時間ストリームデータを転送するよう要求されると、まず、その実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングを規定する読出しの基準タイムスロットの候補を選択する。つまり、基準タイムスロットは、要求元(クライアント)側でのストリームの連続性を保証するためには、遅くともいつまでに読出しが行なわれなければならないか、早くともいつから読出しが可能か、および、いつ送出しが行なわれなければならないかを相対的な時刻で規定するための基準となるタイムスロットのことである。
【0043】
ここで、基準タイムスロットの候補が幾つかある場合には、各基準タイムスロットの候補を夫々採用した場合について、当該候補とされた基準タイムスロットと既に存在する全部または一部の基準タイムスロットの時間的な存在位置の分散を評価し、評価の結果、より分散を大きくするとされた基準タイムスロットの候補を選択する。
【0044】
次に、前述したものと同様に、選択された基準タイムスロットに基づいて定まる所定の許容範囲内で、実際に読出しを行なうべきタイムスロットの候補を選択する。
【0045】
ここで、選択された前記タイムスロットの候補が空きスロットである場合、対応する基準タイムスロットの候補およびこのタイムスロットの候補をスケジューリング結果として採用することができる。
【0046】
もし、候補とされた当該タイムスロットに既に他の実時間ストリームデータが割当てられている場合には、当該他の実時間ストリームデータについてタイムスロットの再割当て、すなわちその基準タイムスロットを満たす範囲内でタイムスロットの移動を行なうことができるのであれば、タイムスロットの再割当てを行なうことによって候補とされた当該タイムスロットを空きスロットにすることができるので、この場合にも対応する基準タイムスロットの候補および当該タイムスロットの候補をスケジューリング結果として採用することができる。
【0047】
したがって、最も近い空きタイムスロットよりもさらに以前の割当て済みのタイムスロットを空きタイムスロットに変えて、新規のストリームに割付けることができ、従来よりも応答時間を短縮することができる。
【0048】
また、基準タイムスロットを分散させることにより、空きタイムスロットや空きにできるタイムスロットを時間的に偏りなく分散させることができ、新規のストリームの要求を受けた時点から短時間の位置に空きタイムスロットが存在する確率を高くすることができる。
【0049】
また、応答時間に制限時間を設ける場合、指定された制限時間内に応答可能となるように読出しのタイミングを割り付けるタイムスロットが見つかる確率を高くすることができ、制限時間内で応答可能な確率を高くすることができる。
【0050】
本発明(請求項11)では、要求元(クライアント)からある実時間ストリームデータを転送するよう要求されると、接続要求処理手段は、要求された実時間ストリームデータについて、要求を受け付けた時点から所定の制限時間以内に送出を開始できる基準スケジュールを選択するとともに、選択した該基準スケジュールを元にした所定の許容時間範囲内で実際に読出しおよび送出しを行なう動作スケジュールを決定する。
【0051】
その際、動作スケジュール更新手段は、送出しを行なっている実時間ストリームデータについて、前記基準スケジュールを満たす範囲で前記動作スケジュールを変更する。
【0052】
したがって、最も近い空きタイムスロットよりもさらに以前の割当て済みのタイムスロットを空きタイムスロットに変えて、新規のストリームに割付けることができ、従来よりも応答時間を短縮することができる。
【0053】
よって、指定された制限時間内に応答可能となるように読出しのタイミングを割り付けるタイムスロットが見つかる確率を高くすることができ、制限時間内で応答可能な確率を高くすることができる。
【0054】
本発明(請求項12)では、要求元(クライアント)からある実時間ストリームデータを転送するよう要求されると、接続要求処理手段は、要求された実時間ストリームデータについて、要求を受け付けた時点から所定の制限時間以内に送出を開始できる基準スケジュールであって、選択した場合に全部または一部の基準スケジュールの時間的な集中度の小さいものを選択するとともに、選択した該基準スケジュールを元にした所定の許容時間の範囲内で実際に読出しおよび送出しを行なう動作スケジュールを決定する。
【0055】
そして、制御手段は、決定された動作スケジュールに従って、前記データブロックの読出しおよび送出しを指示する。
【0056】
この結果、空きタイムスロットを時間的に偏りなく分散させることができ、新規のストリームの要求を受けた時点から短時間の位置に空きタイムスロットが存在する確率を高くすることができる。
【0057】
また、指定された制限時間内に応答可能となるように読出しのタイミングを割り付けるタイムスロットが見つかる確率を高くすることができ、制限時間内で応答可能な確率を高くすることができる。
【0058】
【実施例】
以下、図面を参照しながら本発明の一実施例を説明する。
【0059】
図1に、本発明の一実施例に係る実時間ストリームサーバの構成およびそのストリームスケジューリング装置の内部構成を示す。
【0060】
本実施例の実時間ストリームサーバ1は、実時間ストリームデータを記憶するデータ記憶装置3、データ記憶装置3から読み出したデータを一時的に記憶するバッファメモリ装置4、バッファメモリ装置4に読み出したデータを、通信網6を介して、クライアント7に送出するデータ転送装置5、データ記憶装置3とデータ転送装置5に対して動作を指示するストリームスケジューリング装置2から構成される。
【0061】
データ記憶装置3は、磁気ディスクや半導体メモリ、光ディスク、テープ等の各種の記憶装置を用いることができる。
【0062】
データ転送装置5は、ATMインタフェースやイーサネットインタフェースなど各種の通信手段に対するインタフェースを用いることができる。
【0063】
本実施例のストリームスケジューリング装置2は、接続要求処理部21、スケジュール更新部23、基準スケジュール管理部22、スケジュール管理部24、データアクセス制御部25、データ転送制御部26から構成される。
【0064】
基準スケジュール管理部22は、各ストリームの連続性を保証するのに必要な動作のスケジュール(基準スケジュール情報31)を管理する。基準スケジュールは、例えば前述したような(基準)タイムスロットで管理することができる。
【0065】
一方、スケジュール管理部24は、実際に実行する動作のスケジュール(スケジュール情報32)を管理する。スケジュール管理部24は、例えば、実際にデータ記憶装置3からのデータの読み出しやデータ転送装置5へのデータ転送といった動作のタイミングをタイムスロットとして管理する。
【0066】
ここで、本実施例の各ストリームのタイムスロット管理方式について説明する。本実施例では、従来のように各ストリームのディスクアクセスを特定のタイムスロットに固定せずに、基準タイムスロットから一定のタイムスロット数の範囲内でのずれを許容して割り付ける。このずれの許容範囲は、タイムスロットをずらすことによってクライアントへの実時間ストリームデータの送出の連続性が途切れない範囲で設定する。本実施例では、このディスクアクセスのずれをジッターと呼び、ディスクアクセスの割り付けが許されるタイムスロットの範囲をそのストリームの許容ジッター範囲と呼ぶ。
【0067】
本実施例では、ディスクアクセスをこれ以上後にずらすことのできないタイムスロット、即ち許容ジッター範囲の最後尾を、基準タイムスロットと同じタイムスロットと規定する。また、送出しのタイミングを基準タイムスロットの2タイムスロット後方と規定する。
【0068】
ただし、基準タイムスロットは、必ずしも許容ジッター範囲の最後尾である必要はなく、例えば中央付近であっても最前であってもよい。要するに、基準タイムスロットは、クライアント側でのストリームの連続性を保証するためには、遅くともいつまでに読出しが行なわれなければならないか、早くともいつから読出しが可能か、および、いつ送出しが行なわれなければならないかを相対的な時刻で規定するための基準となるタイムスロットであれば良い。基準タイムスロットが最後尾である場合は、ディスクアクセスを行なうタイムスロットは基準タイムスロットより時間軸上で前方に位置するものの中から採用され、中央付近の場合は、基準タイムスロットの前方あるいは後方に位置するものの中から採用され、最前の場合は、基準タイムスロットの後方に位置するものの中から採用されることになる。
【0069】
許容ジッター範囲は、図2,図3で示すようになり、したがって、最大ジッター数Jは次の式1で決定される。
【0070】
J≦BM−D−T−1 …(式1)
ここで、
B:1ストリームで使用できるバッファメモリの大きさと実時間ストリームの1ブロックの大きさの比
M:クライアントでの1ブロック再生時間(スロット数)
T:クライアントへの1ブロック転送時間(スロット数)
D:ディスクアクセス終了時刻が割り付けられたタイムスロットの終了時刻を越えた場合の予想最大遅延時間(スロット数)
である。
【0071】
図2に示す例では、1ブロックの転送に要する時間とクライアント側で1ブロックの再生に要する時間は共に4タイムスロット分で等しいものとしている。
【0072】
クライアント側にバッファメモリを持つことによって再生に必要な時間よりも短い時間でブロックの転送を行うことも可能である。例えば図3に示す例では、クライアントは2ブロック以上を格納可能なバッファメモリを持つ場合を示している。この場合、2タイムスロットの時間で転送したデータを4タイムスロットの時間で再生する。
【0073】
接続要求処理部21は、通信網6を介してクライアント7からストリーム接続要求を受け取ると、ストリームの連続性を保証することのできる基準スケジュールで予め与えられた制限時間以内に送出開始をスケジュールできるものを選択し、これを基準スケジュール管理部22に登録し、さらに基準スケジュール管理部22の管理する基準スケジュールを満たすように、実際の動作スケジュールをスケジュール管理部24に登録する。
【0074】
このとき、接続要求処理部21は、基準スケジュール管理部22の管理する基準スケジュールの時間的な集中度を小さくするようにストリームの基準スケジュールを選択するようにするのが好ましい。そのためには、例えば、ストリームスケジューリング装置2において、各タイムスロットにおける基準タイムスロットの集中度を表す評価関数を設定し、その値と指定された制限時間に基づいて新しいストリームの基準タイムスロットを選択するようにすれば良い。
【0075】
各ストリームの残り時間を上記評価関数のパラメータに含めても良い。
【0076】
なお、接続要求処理部21は、ストリームの実時間ストリームデータの長さによって制限時間を変更するようにしても良い。また、接続要求処理部21は、ストリームのアクセス方式によって制限時間を変更するようにしても良い。
【0077】
データアクセス制御部25は、スケジュール管理部22の管理するスケジュールにしたがって、データ記憶装置3に対し、「記憶している実時間ストリームデータをバッファメモリ装置4に読み出す動作」を指示する。
【0078】
データ転送制御部26は、スケジュール管理部24の管理するスケジュールにしたがって、データ転送装置5に対し、「バッファメモリ装置4に読み込まれた実時間ストリームデータを通信網6を介してクライアント7に送出する動作」を指示する。
【0079】
ここで、図1のようにストリームスケジューリング装置2内にスケジュール更新部23を設けるのが好ましい。このスケジュール更新部23は、基準スケジュール管理部22の管理する各ストリームの基準スケジュールを満たす範囲で、スケジュール管理部24の管理するスケジュールを変更する。つまり、タイムスロットに割り付けられているディスクアクセスを許容ジッター範囲内の別のタイムスロットに移動させる手段を提供するものである。移動させる方向には、時間的に前方と後方の2種類があり、それぞれの方向への移動手続きを用意する。これらの前方移動、後方移動手続きを利用することにより、選択された許容ジッター範囲内のタイムスロットを解放して新しいストリームのディスクアクセスを割り付けることができる。
【0080】
なお、スケジュール更新部23をもたない構成も可能である。
【0081】
次に、本実施例の動作の概要を説明する。
【0082】
本実施例の実時間ストリームサーバ1のストリームスケジューリング装置2において、クライアント7から新しいストリームの接続要求がきた時点で、ストリームスケジューリング装置2の接続要求処理部21は、そのストリームの基準スケジュールを基準タイムスロットとして選択する。このとき、本実施例では上記したごとく、接続後の全ストリームの基準タイムスロットが時間軸上でできる限り分散するように、新しいストリームの基準タイムスロットを選択することとする。ただし、応答時間が指定された制限時間を越えない範囲で基準タイムスロットを選択するようにする。
【0083】
上記選択操作のために、各タイムスロットにおける基準タイムスロットの集中度を表す評価関数を設定し、基準タイムスロットとして選択すると応答時間が制限時間内を越えない範囲のタイムスロットの集中度評価関数の値を計算する。タイムスロットをその値でソーティングして、集中度の低い順に基準タイムスロットの候補として選択する。応答時間が指定された制限時間を越えない範囲で割り付け可能な基準タイムスロットが存在しなかった場合には、その範囲の直後のタイムスロットから順に基準タイムスロットの候補として選択する。
【0084】
次に、スケジュール管理部24の管理するタイムスロットにおいて、選択された許容ジッター範囲内の任意のタイムスロットに新しいストリームのディスクアクセスを割り付けるが、このタイムスロットに異なるストリームのディスクアクセスが既に割り付けられている場合には、ディスクアクセスの前方移動手続き、あるいは後方移動手続きを実行することによって、タイムスロットを空にしてから新しいストリームのディスクアクセスを割り付ける。ただし、どちらの方向への移動も不可能な場合には、そのタイムスロットへのディスクアクセスの割り付けは不可能であるので、許容ジッター範囲内の別のタイムスロットについて同様の処理を行なう。許容ジッター範囲内の全てのタイムスロットへの割り付けが不可能な場合には、基準タイムスロットと許容ジッター範囲を選択し直す。
【0085】
このように、制限時間以内に空きタイムスロットが存在しない場合でも、ディスクアクセスを移動してタイムスロットを空けることにより、制限時間内に応答できる確率が高くなる。
【0086】
本実施例の動作としては、上記動作以外に以下の動作も考えられる。接続要求到着時に、読出し中のタイムスロットの次のタイムスロットから順に、空きタイムスロットを探す。このとき、既に割り付けられているタイムスロットに対しては、上記動作と同様に前方移動手続きと後方移動手続きを実行してタイムスロットを空けることが可能かを調べる。空きタイムスロットが見つかったら、新しいストリームのディスクアクセスを割り付ける。
【0087】
その後、基準タイムスロットとして選択するとディスクアクセスを割り付けたタイムスロットが許容ジッター範囲に含まれるようなタイムスロットを全て抽出する。抽出したタイムスロットの中に基準タイムスロットとして選択すると制限時間内に応答可能となるタイムスロットが存在する場合、それらのタイムスロットの中で前記集中度の最も低いタイムスロットを基準タイムスロットとする。制限時間内に応答可能となるタイムスロットが存在しない場合、抽出したタイムスロットの中で前記集中度の最も応答時間の短くなるタイムスロットを基準タイムスロットとする。
【0088】
前方移動の場合、読出すブロックを格納してあるディスク装置に対する先頭タイムスロット(カレントヘッドが指すタイムスロット)より前には許容ジッター範囲内であってもディスクアクセスを移動できない。先に述べたように新しいストリームを接続する時には、前記先頭タイムスロット(ヘッド)に近いタイムスロットが選択されるので前方移動より後方移動の方が成功する確率が高い。しかし、後方移動によって遅らせたディスクアクセスを遅らせたままにしておくと、それ以上後方移動できない確率が高くなる。そこで、スケジュール更新部23は、スケジュール管理部24の管理するスケジュールを参照し、新しく接続要求があった時点以外でも、常時、各ディスクアクセスを前方に引き戻す処理を行なうようにする。これにより、後方移動が可能である確率を高くすることができる。
【0089】
ここで、図4,図5に、本発明の方式による接続要求処理の具体例を示す。図4はストリーム4の接続要求時の状態を、図5はストリーム4の接続後の状態を示す。なお、図5中のディスクアクセス等の記述は、図4と同様である。図4,図5ともに、M=T=8,B=2,D=1というパラメータで表される実時間ストリームサーバにおいて、ディスク0へのアクセスと、各ストリームのバッファ0の利用タイムチャートを示している。また、0番目のブロックとn番目のブロックはディスク0に格納されているとする。図4のようにストリーム4の接続要求時に、現在ディスク0が読み出し中のタイムスロットから4スロット後方にしか空きタイムスロットが存在しない場合でも、図5のように各ストリームの許容ジッター範囲内でディスクアクセスを他のタイムスロットに移動させることにより、待ち時間が最も小さいタイムスロットに新しいストリームのディスクアクセスを割り付けることが可能となる。
【0090】
図6,図7は、接続要求処理の他の具体例を示したものである。図6はストリーム4の接続要求時の状態を、図7はストリーム4の接続後の状態を示す。なお、図6,7中のディスクアクセス等の記述は、図4,図5と同様である。図4,図5ではタイムスロットを空けることができたが、常に指定したタイムスロットを空けることが可能とは限らない。図6の場合、ストリーム0〜3のディスクアクセスが許容ジッター範囲内でも基準タイムスロットに近いタイムスロットに割り付けられているために、それらのディスクアクセスを他のタイムスロットに移動することが不可能である。したがって、図7のようにストリーム4のディスクアクセスはそれ以降のタイムスロットに割り付けざるを得ない。
【0091】
図6,図7のような状況をできる限り避けるための、ディスクアクセスの前方引き戻し手続きの具体例を示したのが、図8,図9である。図8,9中のディスクアクセス等の記述は、図4,図5と同様である。図8は、ある時点でのタイムスロットの状態と、ヘッド0の位置を基準にしたバッファ0の使用タイムチャートを示している。図9は、図8の3スロット時間後のタイムスロットの状態と、ヘッド1の位置を基準にしたバッファ1の使用タイムチャートを示している(バッファ利用タイムチャートの時刻は両図で一致していない)。ディスク0へのアクセスを実行したストリーム0,4,1の各ディスクアクセスは、許容ジッター範囲で且つヘッド1より後方のタイムスロットへ移動している。
【0092】
以下、さらに具体的に本実施例を説明する。
【0093】
一具体例として、最大接続ストリーム数が256である実時間ストリームサーバについて説明する。この実時間ストリームサーバの一構成例を図10に示す。図10のストリームスケジューリング装置2の構成は、図1で示したものと同様である。実時間ストリームデータを記憶するディスク装置42、制御線40およびデータを読み出すディスク制御装置43が、図1のデータ記憶装置3に対応する。図中、図1のデータ転送装置5に対応する部分は省略してある。
【0094】
ここでは、ストリームデータの再生ビットレートVbを1MBps、再生時間1秒分のデータを1ブロックとする。したがって、1ブロックの大きさは1MBとなる。また、ここで使用するディスク装置42の転送ビットレートDbは、2MBpsであるとする。すると、128台のディスク装置が必要となる。さらに、タイムスロット時間を短縮するために、4台のディスク装置を1台の仮想ディスク装置41とみなして、1ブロックを4分割してストライピングしておく。したがって、32台の仮想ディスク装置からそれぞれ1タイムスロットの間に1ブロックが読み出されるとみなして良く(スロットリング上のヘッドは仮想ディスク装置数と等しく32台となり)、1ストリームのディスクアクセス周期は256/32=8(タイムスロット)、1スロット時間は1/8(秒/タイムスロット)となる。各ストリームで使用できるバッファメモリ装置4をダブルバッファとすると、全体でバッファメモリは512MB必要となる。
【0095】
各バッファ4a〜4cからのクライアント7へのデータ転送ビットレートTbを1MBps、ディスクアクセスの最大遅延時間を1タイムスロット時間とすると最大ジッター数Jは式1より、
【0096】
このような構成において、ストリームスケジューリング装置2は、図11のフローチャートで示すように、1スロット時間に以下の処理を行なう。
1.接続要求処理(ステップS1)
2.ディスクアクセスの前方引き戻し処理とヘッドの更新(ステップS2,S3)
3.バッファメモリからクライアントへのデータ転送命令の発行(ステップS7)
4.ディスク装置からバッファメモリへの読出し命令の発行(ステップS11)
ここで、図12(a)に、スロットリングの一例を示す。本実施例では、ストリームの連続性を保証するために、(a)のように接続可能ストリーム数のタイムスロットを円状に配置したスロットリングを用意して、ディスクアクセスとクライアントへの転送の周期的動作の管理を行なう。スロットリング上には、各ディスク装置に対応するヘッドを、ディスクアクセス周期分の間隔を開けてストライピング番号の逆順で配置する。図12(b)〜(d)に、タイムスロット構造体、ストリーム構造体、ディスクアクセス構造体およびデータ転送構造体の一例をそれぞれ示す。(b)のように、タイムスロット構造体は、ディスクアクセス構造体idとデータ転送構造体idを持つ。(c)のように、各ストリームは、ディスクアクセスとバッファからのデータ転送に関するパラメータを持つ。(d)のように、ディスクアクセスに関しては、基準タイムスロットと許容ジッター範囲、次にディスクから読出すべきブロック(カレントブロック)の番号、そのブロックを格納しているディスク装置に対応したヘッド(カレントヘッド)の番号の値を保持している。また、(e)のように、バッファからのデータ転送に関しては、転送タイムスロット、次にバッファから転送すべきブロック(転送カレントブロック)の番号、そのブロックを格納しているディスク装置に対応したヘッド(転送カレントヘッド)の番号の値を保持している。複数のディスクアクセスを同じタイムスロットに割り付けることはできないが、複数のストリームが同じタイムスロットを基準タイムスロットとすることは許される。同様に、同じタイムスロットを転送タイムスロットとすることも許される。
【0097】
さて、図12(a)のスロットリング上の各ヘッドは、1スロット時間毎に次のタイムスロット上へ移動する。その結果、特定のディスクへのアクセス周期で、スロットリングを1周する。
【0098】
図11のように、接続要求処理(ステップS1)を行ない、ディスクアクセスの前方引き戻し処理(ステップS2)を行ない、全てのヘッドを次のスロットへ移動させ(ステップS3)、その後、各ヘッドiが指すタイムスロットTSiについて、以下の▲1▼と▲2▼の処理を繰返す(ステップS4)。
【0099】
▲1▼移動後のヘッドが指すタイムスロットTSiにディスクアクセスが割り付けられており、かつ、そのヘッド番号がカレントヘッド番号と一致した場合に(ステップS5,S6)、ディスクアクセス命令を発行して、そのディスクアクセスを実行する(ステップS7)。そして、そのディスクアクセス構造体のカレントブロック番号とカレントヘッド番号を更新する(ステップS5〜S8)。
【0100】
▲2▼タイムスロットTSiに割り付けられた全ての構造体について、移動後のヘッドが指すタイムスロットにデータ転送が割り付けられており、かつ、そのヘッド番号が転送カレントヘッド番号と一致した場合、データ転送命令を発行して、そのデータ転送を実行する(ステップS9〜S11)。そして、そのデータ転送構造体の転送カレントブロック番号と転送カレントヘッド番号を更新する(ステップS12)。
【0101】
ところで、ディスク装置には、シーク距離の違い等が原因で転送速度に一定の分散があるので、ディスクアクセス終了時刻が、割り付けられたタイムスロットの終了時刻を越えてしまうことが有り得る。そこで、各ストリームの連続性を保証するために、基準タイムスロットの直後にディスクアクセスの遅延を吸収する時間をあけて、転送タイムスロットを設定すると良い。この実施例では、0.125秒間、つまり1スロット時間の待ち時間を基準タイムスロットと転送タイムスロットの間に入れている(図2〜図9参照)。
【0102】
また、サーバとクライアント間のネットワーク遅延の分散を吸収するために、2ブロック以降の転送を1スロット時間早く行なっても良い。具体的には、1ブロックの転送後に転送タイムスロットを1スロット前のタイムスロットに設定し直す。この場合、クライアント側には、2ブロックを同時に格納可能なバッファメモリ(つまりダブルバッファ)を用意しておく。
【0103】
次に、本実施例の接続要求処理について説明する。図13に、接続要求処理のフローチャートを示す。
【0104】
クライアント7からの接続要求が到着すると、その要求は一旦待ち行列に入れられる。ストリームスケジューリング装置2は、次のタイムスロットの開始時に待ち行列内の要求を取り出して、各接続要求に対して以下の処理を行なう。
【0105】
ストリームスケジューリング装置2は、全タイムスロットの中から、新しいストリームの基準タイムスロットとして選択すると接続要求到着時刻から最初のブロックの転送開始時刻までの時間が指定された制限時間を越えないタイムスロットを抽出し、それらのタイムスロットを基準タイムスロット集中度でソーティングする(ステップS22〜S25)。そして、集中度の低いタイムスロットから順に基準タイムスロット候補とする(ステップS26)。
【0106】
ここでは、各タイムスロットにおける基準タイムスロットの集中度を表す評価関数f(x)を、以下のように定義する。
f(x)=Σ(R−distance(x,d))n …(式2)
ただし、総和をとる条件は、{d|distance(x,d)≦R}である。
【0107】
ここで、xはタイムスロット、dは接続中のストリームの基準タイムスロットを表し、distance(x,d)はスロットリング上でのxとdの最短タイムスロット間隔を表す。Rは、あるディスクアクセスが集中度の値に影響を及ぼす範囲を表す。Rを最大ストリーム数/2とすることで、影響を及ぼす範囲が全タイムスロットになる。Rを0とすることで、集中度を用いたスケジューリングを行なわなくなる。
【0108】
ここで、上記の手続きで用いられる制限時間を、接続要求の種類に応じて変化させることも可能である。例えば、映画の再生の要求では制限時間を長く設定したり、多数のストリームデータの検索を行なう場合には制限時間を短く設定できる。あるいは、同一データの特殊再生の要求に対して、制限時間を最短に設定することも考えられる。
【0109】
また、集中度評価関数の影響範囲Rを、各ストリームの残り再生時間に応じて変化させることが可能である。残り再生時間が長いと予想されるストリームの基準タイムスロットは、以降のスロットリングの集中度への影響が長く続くと考えられるので、影響範囲Rの値を大きくする。逆に、残り再生時間が短いストリームのRを小さくする。
【0110】
ここでは、集中度評価関数のパラメータRとnをそれぞれ128と2に設定する。
【0111】
上記の手続きで選んだ基準タイムスロット候補において、その候補で決定される許容ジッター範囲内にあり、かつ、カレントヘッドより後方にあるタイムスロットに、ディスクアクセスが割り付け可能かどうかを調べる(ステップS27)。
【0112】
このとき、よりカレントヘッドに近いタイムスロットから順に選択して調べる。図14にディスクアクセス割り付けるタイムスロットを探す処理のフローチャートを示す。
【0113】
選択したタイムスロットが空きタイムスロットの場合には、割り付け可能である(ステップS33,S38)。
【0114】
選択したタイムスロットに既に別のディスクアクセスが割り付けられている場合には、そのディスクアクセスに対して前方移動手続きを行なう(ステップS33,S34,S35,S38)。
【0115】
前方移動が不可能な場合には、後方移動手続きを実行する(ステップS33,S34,S35,S36,S37,S38)。
【0116】
どちらの方向にも移動が不可能な場合には、そのタイムスロットには割り付け不可能とみなして、別のタイムスロットを選択する。
【0117】
割り付け可能であった場合、ディスクアクセスをタイムスロットに割り付け(図13のステップS29)、データ転送を転送タイムスロットに割り付ける(ステップS30)。
【0118】
選択可能な全てのタイムスロットでディスクアクセスの割り付けが不可能な場合には、その基準タイムスロットでのスケジューリングが不可能であるとみなして(図14のステップS39)、次に集中度の低いタイムスロットを基準タイムスロット候補としてディスクアクセス割り付け可能性を調べる(図13のステップS28,S26,S27)。
【0119】
上記のようにディスクアクセスを移動させるには、移動先のタイムスロットを見つける必要がある。許容ジッター範囲内に移動させる空きタイムスロットが存在する場合には、そのタイムスロットに移動させればよい。しかし、空きタイムスロットが存在しない場合でも、許容ジッター範囲内のタイムスロットに割り付けられている他のディスクアクセスを許容ジッター範囲外へ移動させることが可能であれば、最初に指定したディスクアクセスを移動してタイムスロットを空けることが可能となる。
【0120】
図15に後方移動手続きのフローチャートを示す。また、図16に前方移動手続きのフローチャートを示す。
【0121】
後方移動手続きでは、スロットリング上で連続したディスクアクセス群をまとめて1タイムスロット後方にずらす方法をとる。ずらす対象となるディスクアクセス群の中に、1タイムスロット後方にずらすと許容ジッター範囲を越えるディスクアクセスDAaが含まれる場合には(ステップS44)、その許容ジッター範囲内に存在して、かつ、より後方に許容ジッター範囲をもつ他のディスクアクセスを探す(ステップS45〜S47)。そのようなディスクアクセスDAbが見つかればDAaとDAbを交換することで(ステップS48)、連続したディスクアクセス群の1タイムスロット分の後方移動が可能となる(ステップS50)。見つからない場合には最初のディスクアクセスの後方移動を不可能とみなす(ステップS49)。
【0122】
前方移動手続きも同様に、スロットリング上で連続したディスクアクセス群をまとめて1タイムスロット前方にずらす方法をとる。ずらす対象となるディスクアクセス群の中に、1タイムスロット前方にずらすと許容ジッター範囲を越えるディスクアクセスDAcが含まれる場合には(ステップS54)、その許容ジッター範囲内に存在して、かつ、より前方に許容ジッター範囲をもつ他のディスクアクセスを探す(ステップS55〜S58)。そのようなディスクアクセスDAdが見つかればDAcとDAdを交換することで(ステップS59)、連続したディスクアクセス群の1タイムスロット分の前方移動が可能となる(ステップS61)。見つからない場合には最初のディスクアクセスの前方移動を不可能とみなす(ステップS60)。
【0123】
ストリームスケジューリング装置2では、接続要求の処理で後方移動したディスクアクセスの前方引き戻し処理を、1スロット時間毎に行なう。この実施例では、ヘッドが指すタイムスロットに割り付けられているディスクアクセスを前方引き戻し処理の対象にする。
【0124】
図17に、前方引き戻し処理の例を示す。(a)は動作前の状態、(b)はDAfが前方移動可能な場合の結果、(c)はDAfが前方移動不可能で、DAgとDAhが後方移動可能な場合の結果である。
【0125】
許容ジッター範囲内にあり、引き戻し対象のディスクアクセスDAeが割り付けられているタイムスロット(図中TS7)より前方、かつ、DAeのカレントヘッドより後方のタイムスロットが、DAeを引き戻した後に割り付けるタイムスロットの候補である。これらの候補に割り付けられているディスクアクセスの中で、DAeの基準タイムスロットよりも前方の基準タイムスロットを持つディスクアクセスDAfを探す。DAfが存在した場合には、DAfを前方移動して空いたタイムスロット(図中TS2)にDAeを移動させる。前方移動が不可能な場合には、DAfの次のタイムスロット(図中TS3)を後方移動手続きにより解放して、その空きタイムスロット(図中TS3)にDAeを移動させる。DAfが存在しない場合には、割り付け候補のタイムスロットの中で最も前方のタイムスロットを後方移動手続きにより解放して、その空きタイムスロットにDAeを移動させる。
【0126】
ここで、以上のように動作するストリームスケジューリング装置2を、図10の実時間ストリームサーバで動作させた場合、接続要求に対する応答時間は以下のようになる。
【0127】
一例として、再生時間60秒の実時間データを32個用意し、実時間毎に異なるヘッドをストライピングの先頭ヘッドとしてディスクに格納されていると仮定し、クライアントは256個存在し、制限時間は1.125秒とする。この条件の下で平均接続ストリーム数i×8(i=16,17,…,32)となるように各クライアントの平均要求間隔を設定してiの値毎に10分間動作させた場合の平均応答時間を測定した。図18は、従来の手法(集中度の影響範囲R=0,最大ジッター数J=0)でスケジューリングした場合の平均接続ストリーム数Yの時点で到着した接続要求の応答時間Xのヒストグラムである。図19は、本実施例の手法(集中度の影響範囲R=128,最大ジッター数J=6)でスケジューリングした場合の平均接続ストリーム数Yの時点で到着した接続要求の応答時間Xのヒストグラムである。
【0128】
従来に比べると、本実施例では、応答時間が制限時間を越える確率が格段に小さくなっていることが分かる。
【0129】
次に、各ストリームで使用できるバッファメモリの量を上記の例の2倍に増やした場合について示す。この場合、バッファメモリは1GB必要となる。バッファからのクライアントへのデータ転送ビットレートTbを2MBps、ディスクアクセスの最大遅延時間を1スロット時間とすると、最大ジッター数Jは式1より、
図20は、集中度の影響範囲R=128、最大ジッター数J=26である場合に、上記と同様の条件で測定した応答時間Xの例である。
【0130】
上記の例と比較して最大ジッター数が大きくなったことで、応答時間が制限時間を越える確率がより小さくなっている。最大接続ストリーム数240程度で運用すれば、ほぼ制限時間以内で応答できる。
【0131】
以上のように、本実施例によれば、接続要求時のカレントヘッドの位置がスロットリング上で集中して偏りが存在しても、ストリームの連続性を保証しつつ、指定された制限時間と最大ジッター数に応じてその偏りを解消できる。
【0132】
したがって、同時に多数のストリームをサービスしても、指定された制限時間内に応答可能となるようにディスクアクセスを割り付けるタイムスロットが見つかる確率を高くすることができる。よって、制限時間内で応答可能な確率が高くなる。
【0133】
また、本発明は上述した各実施例に限定されるものではなく、その要旨を逸脱しない範囲で、種々変形して実施することができる。
【0134】
【発明の効果】
本発明によれば、まず、ストリームの連続性を保証することのできる読出しおよび送出しの基準となる固定的なタイミングを決定し、次に、このタイミングを起点として実際に行なう読出しの(変更可能な)タイミングを決定するようにした。
【0135】
したがって、最も近い空きタイムスロットよりもさらに以前の割当て済みのタイムスロットを空きタイムスロットに変えて、新規のストリームに割付けることができ、従来よりも応答時間を短縮することができる。
【0136】
また、応答時間に制限時間を設ける場合、指定された制限時間内に応答可能となるように読出しのタイミングを割り付けるタイムスロットが見つかる確率を高くすることができ、制限時間内で応答可能な確率を高くすることができる。
【0137】
また、本発明によれば、空きタイムスロットあるいは空きにできるタイムスロットを時間的に偏りなく分散させることができ、新規のストリームの要求を受けた時点から短時間の位置に空きタイムスロットが存在する確率を高くすることができる。
【0138】
したがって、応答時間に制限時間を設ける場合、指定された制限時間内に応答可能となるように読出しのタイミングを割り付けるタイムスロットが見つかる確率を高くすることができ、制限時間内で応答可能な確率を高くすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るストリームスケジューリング装置の構成およびそれを用いる実時間ストリームサーバの構成を示す図
【図2】バッファメモリの使用状況を示すタイムチャートおよびその使用状況から決定される許容ジッター範囲の一例を示す図
【図3】バッファメモリの使用状況を示したタイムチャートおよびその使用状況から決定される許容ジッター範囲の他の例を示す図
【図4】接続要求処理を説明するための図
【図5】接続要求処理を説明するための図
【図6】接続要求処理を説明するための図
【図7】接続要求処理を説明するための図
【図8】前方引き戻し処理を説明するための図
【図9】前方引き戻し処理を説明するための図
【図10】実時間ストリームサーバの構成のより具体的な例を示す図
【図11】ディスクアクセス命令とデータ転送命令発行の手順を示すフローチャート
【図12】スロットリングとヘッドの構成の一例を示す図
【図13】接続要求処理の手順を示すフローチャート
【図14】ディスクアクセス割り付けるタイムスロットを探す処理の手順を示すフローチャート
【図15】後方移動処理の手順を示すフローチャート
【図16】前方移動処理の手順を示すフローチャート
【図17】前方引き戻し処理の動作例を説明するための図
【図18】従来の方式でストリームをスケジューリングした場合の接続要求の応答時間のヒストグラム
【図19】本実施例の方式でストリームをスケジューリングした場合の接続要求の応答時間のヒストグラム
【図20】本実施例の方式でストリームをスケジューリングした場合の接続要求の応答時間の他のヒストグラム
【図21】従来のタイムスロットを用いた多重読み出し手法を示す図
【図22】従来の複数ディスクにデータをストライピングした場合の多重読み出し手法を示す図
【図23】従来の複数ディスクにデータをストライピングした場合の多重読み出し手法を示す他の図
【図24】接続要求から最初のブロック転送開始までの応答時間を示す図
【符号の説明】
1…実時間ストリームサーバ、2…ストリームスケジューリング装置、3…データ記憶装置、4…バッファメモリ装置、5…データ転送装置、6…通信網、7…クライアント、21…接続要求処理部、22…基準スケジュール管理部、23…スケジュール更新部、24…スケジュール管理部、25…データアクセス制御部、26…データ転送制御部、31…基準スケジュール情報、32…スケジュール情報
Claims (12)
- 各実時間ストリームデータを夫々複数のデータブロックとして記憶したデータ記憶装置から、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータのデータブロックの読出しおよび送出しのタイミングを決定するストリームスケジューリング方法において、
要求された実時間ストリームデータについて、ストリームの連続性を保証することのできる固定周期の送出しのタイミングを規定する固定周期の基準タイミングを決定するとともに、当該基準タイミングより以前で且つストリームの連続性を保証することのできる許容範囲内に実際に行なう読出しのタイミングを決定することを特徴とするストリームスケジューリング方法。 - 各実時間ストリームデータを夫々複数のデータブロックとして記憶したデータ記憶装置から、周期的な動作タイミングを規定したタイムスロットに従って、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのタイムスロット割当てを行なうストリームスケジューリング方法において、
各実時間ストリームデータについて、ストリームの連続性を保証することのできる固定周期の送出しのタイミングを規定する基準タイムスロットを記憶し、
新たな実時間ストリームデータが要求された場合に、他の実時間ストリームデータについて記憶された前記基準タイムスロットより以前で且つストリームの連続性を保証することのできる許容範囲内で実際に読出しを行なうべきタイムスロットの再割当てを行なって空きスロットを移動させ、この移動させた空きスロットを前記新たな実時間ストリームデータについて実際に読み出しを行なうべきタイムスロットとして採用することを特徴とするストリームスケジューリング方法。 - 送出している各実時間ストリームデータのうち、実際に読出しを行なうべきタイムスロットを移動することが可能なものについてタイムスロットの前記再割当てを行なうことを特徴とする請求項2に記載のストリームスケジューリング方法。
- 各実時間ストリームデータについて実際に読出しを行なうべきタイムスロットを前記許容範囲内で可能な限り時間軸上で前方に割当てておくことを特徴とする請求項2に記載のストリームスケジューリング方法。
- 各実時間ストリームデータを夫々複数のデータブロックとして記憶したデータ記憶装置から、周期的な動作タイミングを規定したタイムスロットに従って、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのタイムスロット割当てを行なうストリームスケジューリング方法において、
要求された実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングを規定する読出しの基準タイムスロットの候補を、要求を受け付けた時点から該実時間ストリームデータの最初のデータブロックの送出しを開始するまでの応答時間が定められた制限時間以内となるものの中から選択し、
各基準タイムスロットの候補を採用した場合夫々について、複数の実時間ストリームデータの基準タイムスロットの位置の分散の評価を行ない、
この評価結果に基づいて、前記基準タイムスロットの候補のうちの1つを採用することを特徴とするストリームスケジューリング方法。 - 前記制限時間を、前記要求された実時間ストリームデータのデータ長に応じて決定することを特徴とする請求項5に記載のストリームスケジューリング方法。
- 前記制限時間を、実時間ストリームデータに対する要求の種類に応じて決定することを特徴とする請求項5に記載のストリームスケジューリング方法。
- 前記評価を行なう際、前記位置の分散に加え、送出している各実時間ストリームデータの残り時間を考慮して評価結果を求めることを特徴とする請求項5に記載のストリームスケジューリング方法。
- 各実時間ストリームデータを夫々複数のデータブロックとして記憶したデータ記憶装置から、周期的な動作タイミングを規定したタイムスロットに従って、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのタイムスロット割当てを行なうストリームスケジューリング方法において、
要求された実時間ストリームデータについて、ストリームの連続性を保証することのできる送出しのタイミングを規定する読出しの基準タイムスロットの候補を、複数の実時間ストリームデータの基準タイムスロットの位置の分散の評価に基づいて選択し、
選択された前記基準タイムスロットに基づいて定まる所定の許容範囲内で、実際に読出しを行なうべきタイムスロットの候補を選択し、
選択された前記タイムスロットの候補が空きスロットである場合、または候補とされた当該タイムスロットに既に割当てられている他の実時間ストリームデータについて、基準タイムスロットに基づいて定まる所定の許容範囲内で実際に読出しを行なうべきタイムスロットの再割当てを行ない、候補とされた当該タイムスロットを空きスロットにできる場合、前記基準タイムスロットの候補および該タイムスロットの候補を採用することを特徴とするストリームスケジューリング方法。 - 前記新たな実時間ストリームデータについての前記基準タイムスロットを、採用した前記実際に読出しを行なうべきタイムスロットが前記所定の許容範囲内に含まれ、かつ複数の実時間ストリームデータの基準タイムスロットの時間的な集中度が小さくなるよう決定することを特徴とする請求項2に記載のストリームスケジューリング方法。
- 各実時間ストリームデータを複数のデータブロックとして記憶したデータ記憶装置から、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのスケジュールを決定するストリームスケジューリング装置において、
要求された実時間ストリームデータについて、要求を受け付けた時点から所定の制限時間以内に送出を開始できる基準スケジュールを選択するとともに、選択した該基準スケジュールを元にした所定の許容時間範囲内で実際に読出しおよび送出しを行なう動作スケジュールを決定する接続要求処理手段と、
少なくとも要求された前記実時間ストリームデータの前記動作スケジュールを決定する際に、送出しを行なっている実時間ストリームデータについて、前記基準スケジュールを満たす範囲で前記動作スケジュールを変更する動作スケジュール更新手段とを備えたことを特徴とするストリームスケジューリング装置。 - 各実時間ストリームデータを複数のデータブロックとして記憶したデータ記憶装置から、要求のあった実時間ストリームデータの各データブロックを順次バッファメモリ装置に読出し、該バッファメモリ装置に格納された該データブロックを要求元に繋がる通信路に送出する実時間ストリームサーバのために、該実時間ストリームデータについてデータブロックの読出しおよび送出しのスケジュールを決定するストリームスケジューリング装置において、
要求された実時間ストリームデータについて、要求を受け付けた時点から所定の制限時間以内に送出を開始できる基準スケジュールの中から、前記要求された実時間ストリームデータを含む複数の実時間ストリームデータについての時間的な集中度が小さくなるような基準スケジュールを選択するとともに、選択した該基準スケジュールを基にした所定の許容時間の範囲内で実際に読出しおよび送出しを行なう動作スケジュールを決定する接続要求処理手段と、
前記動作スケジュールに従って、前記データブロックの読出しおよび送出しを指示する制御手段とを備えたことを特徴とするストリームスケジューリング装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05738495A JP3575862B2 (ja) | 1995-03-16 | 1995-03-16 | ストリームスケジューリング方法及び装置 |
EP96104052A EP0737929B1 (en) | 1995-03-16 | 1996-03-14 | Stream scheduling system for real time stream server |
EP01103530A EP1119197A3 (en) | 1995-03-16 | 1996-03-14 | Stream scheduling system for real time stream server |
DE69616636T DE69616636T2 (de) | 1995-03-16 | 1996-03-14 | Datenstromablaufsteuerungssystem für einen Echtzeitdatenstromserver |
US08/616,266 US5956321A (en) | 1995-03-16 | 1996-03-15 | Stream scheduling system for real time stream server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05738495A JP3575862B2 (ja) | 1995-03-16 | 1995-03-16 | ストリームスケジューリング方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08255056A JPH08255056A (ja) | 1996-10-01 |
JP3575862B2 true JP3575862B2 (ja) | 2004-10-13 |
Family
ID=13054122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05738495A Expired - Lifetime JP3575862B2 (ja) | 1995-03-16 | 1995-03-16 | ストリームスケジューリング方法及び装置 |
Country Status (3)
Country | Link |
---|---|
EP (2) | EP0737929B1 (ja) |
JP (1) | JP3575862B2 (ja) |
DE (1) | DE69616636T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200025A (ja) * | 2006-01-26 | 2007-08-09 | Sony Corp | データ処理システム、アクセス制御方法、その装置およびそのプログラム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000505983A (ja) * | 1996-12-23 | 2000-05-16 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ流を供給するための方法および系 |
EP0923758A2 (en) | 1997-07-02 | 1999-06-23 | Koninklijke Philips Electronics N.V. | System for supplying data streams |
JPH11232205A (ja) * | 1998-02-17 | 1999-08-27 | Sony Corp | データ入出力装置及びデータ入出力方法 |
JP4342435B2 (ja) | 2002-05-14 | 2009-10-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 少なくとも1つのデータストリームのデータを処理する方法、データ記憶システム及び該システムを使用する方法 |
JP4645709B2 (ja) * | 2008-09-12 | 2011-03-09 | 株式会社デンソー | 近距離無線通信機能付きストリーミングデータ再生装置 |
EP2264604A1 (en) * | 2009-06-15 | 2010-12-22 | Thomson Licensing | Device for real-time streaming of two or more streams in parallel to a solid state memory device array |
JP5069325B2 (ja) * | 2010-03-11 | 2012-11-07 | 株式会社豊田中央研究所 | タスク実行制御装置及びプログラム |
EP2645830B1 (en) | 2012-03-29 | 2014-10-08 | Atotech Deutschland GmbH | Method for manufacture of fine line circuitry |
KR101886072B1 (ko) * | 2016-12-21 | 2018-08-08 | 세림티에스지(주) | 분산 인 메모리 환경에서 실시간 스트림 데이터 처리를 위한 동적 잡 스케쥴링 시스템 및 방법 |
JP7025966B2 (ja) * | 2018-03-20 | 2022-02-25 | 日立Astemo株式会社 | 車両制御装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5008819A (en) * | 1987-10-07 | 1991-04-16 | Gorbatenko George G | Memory spaced array |
CA2064855C (en) * | 1989-08-23 | 2002-01-01 | Henry Curtis De Bey | Program transmission optimisation |
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 |
US5461415A (en) * | 1994-03-15 | 1995-10-24 | International Business Machines Corporation | Look-ahead scheduling to support video-on-demand applications |
US5561456A (en) * | 1994-08-08 | 1996-10-01 | International Business Machines Corporation | Return based scheduling to support video-on-demand applications |
-
1995
- 1995-03-16 JP JP05738495A patent/JP3575862B2/ja not_active Expired - Lifetime
-
1996
- 1996-03-14 EP EP96104052A patent/EP0737929B1/en not_active Expired - Lifetime
- 1996-03-14 DE DE69616636T patent/DE69616636T2/de not_active Expired - Fee Related
- 1996-03-14 EP EP01103530A patent/EP1119197A3/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007200025A (ja) * | 2006-01-26 | 2007-08-09 | Sony Corp | データ処理システム、アクセス制御方法、その装置およびそのプログラム |
JP4622871B2 (ja) * | 2006-01-26 | 2011-02-02 | ソニー株式会社 | データ処理システム、アクセス制御方法、その装置およびそのプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1119197A3 (en) | 2008-03-12 |
JPH08255056A (ja) | 1996-10-01 |
EP1119197A2 (en) | 2001-07-25 |
DE69616636T2 (de) | 2002-08-01 |
EP0737929B1 (en) | 2001-11-07 |
DE69616636D1 (de) | 2001-12-13 |
EP0737929A2 (en) | 1996-10-16 |
EP0737929A3 (en) | 2000-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5956321A (en) | Stream scheduling system for real time stream server | |
JP3136269B2 (ja) | ビデオサービス提供方法及びビデオサーバ | |
US6378036B2 (en) | Queuing architecture including a plurality of queues and associated method for scheduling disk access requests for video content | |
US6453316B1 (en) | Scheduling unit for scheduling service requests to cyclically provide services | |
JP2742390B2 (ja) | ビデオ・システムにおけるポーズ・レジュームをサポートする方法およびシステム | |
JP3617089B2 (ja) | 映像蓄積配送装置及び映像蓄積配送システム | |
US7165140B2 (en) | Queuing architecture including a plurality of queues and associated method for controlling admission for disk access requests for video content | |
EP0739136B1 (en) | Multi-node media server with efficient work scheduling | |
KR0149211B1 (ko) | 완전 이동 비디오 화일 분배 시스템 및 방법 | |
EP0901249B1 (en) | Method of distributed editing of video clips over a network | |
US5414455A (en) | Segmented video on demand system | |
US5938734A (en) | Real time stream server for handling a plurality of real time stream data with different data rates | |
US7882260B2 (en) | Method of data management for efficiently storing and retrieving data to respond to user access requests | |
US5453779A (en) | Scheduling policies with grouping for providing VCR control functions in a video server | |
US5442390A (en) | Video on demand with memory accessing and or like functions | |
JPH0950667A (ja) | ディスク・ドライブを制御する方法 | |
JP3575862B2 (ja) | ストリームスケジューリング方法及び装置 | |
JPH10162507A (ja) | 同時リード−ライト要求用ビデオサーバスケジューリング | |
JPH0981491A (ja) | ネットワークビデオサーバ、クライアント装置及びマルチメディア情報提供方法 | |
JP2005508114A (ja) | 家庭用ビデオ・サーバのための受入れ制御システム | |
JPH0970018A (ja) | ファイルサーバ | |
KR20030052844A (ko) | 인터넷에서 멀티미디어 스트림 서비스 제공방법 | |
JP2005346732A (ja) | ファイルシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040319 |
|
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: 20040629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040706 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120716 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |