JP4057074B2 - Stream data striping method and stream server - Google Patents
Stream data striping method and stream server Download PDFInfo
- Publication number
- JP4057074B2 JP4057074B2 JP10545596A JP10545596A JP4057074B2 JP 4057074 B2 JP4057074 B2 JP 4057074B2 JP 10545596 A JP10545596 A JP 10545596A JP 10545596 A JP10545596 A JP 10545596A JP 4057074 B2 JP4057074 B2 JP 4057074B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- stripe
- storage devices
- stream
- striping
- 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
Description
【0001】
【発明の属する技術分野】
ビデオ・オン・デマンドシステムなどにおいて、動画データや音声データなどのストリームデータを供給するためのストライピング方法およびこのストライピング方法を用いたストリームサーバに関するものである。
利用者からの要求に応じて、映画などのソフトウェアを供給するビデオ・オン・デマンドシステムやマルチメディア情報システムにおいては、多数の利用者に並行してサービスを提供することが必要とされている。
このため、ストリームサーバは、各ソフトウェアに対応するストリームデータを多重にアクセスしてそれぞれの利用者に提供するとともに、一連のストリームとしての転送速度を確保して、利用者に快適なレスポンスを保証する必要がある。
ストリームサーバにおいて、上述したような性能を実現するための技術として、ストリームデータを多数のストライプに分割し、各ストライプを複数の記憶装置に分配して格納するストライピングと呼ばれる技法があり、ビデオ・オン・デマンドシステムなどに適用されている。
【0002】
【従来の技術】
図7に、従来のストライピング技法を適用したストリームサーバの構成例を示す。
図7に示したストリームサーバにおいて、ストリームデータは、n個のストライプA1 〜An に分割され、4つのディスク装置4111 〜4114 に分散して格納されている。
【0003】
例えば、上述したn個のストライプA1 〜An は、ディスク装置4111 を分配の基点として、添え字で示した装置番号順に上述した4つのディスク装置4111 〜4114 に分配して格納されている。また、各タイトルごとに設けられたストライプテーブル412には、ストライプ番号に対応して、該当するストライプのストリームデータの格納場所が格納されている。
【0004】
この場合は、アクセス処理部413が、これらのディスク装置4111 〜4114 を順次にアクセスし、各ストライプのストリームデータを読み出して順次に再生処理部414の処理に供することにより、映画などの一連の動画データや音声データを再生することができる。
また、このようにして再生された動画データや音声データは、通信処理部415を介して通信回線に送出され、利用者側のセットトップボックスなどのクライアント装置(図示せず)に渡される。
【0005】
ここで、再生処理部414によって1ストライプ分のストリームデータを再生するためには所定の再生時間Tを要するので、アクセス処理部413は、読み出したストライプに対応する再生時間が経過するまでに、次の1ストライプ分のストリームデータを読み出して、再生処理部414の処理に供すればよい。
したがって、アクセス処理部413が、m個のディスク装置411に同時にアクセス可能であり、上述した再生時間Tの間にディスク装置411からk個のストライプを読出可能であるとすると、図8(a) に示すように、再生時間Tをk個のアクセスタイミングに分割し、各ディスク装置411へのアクセスタイミングを1ストライプ分ずつずらすことにより、記憶装置数m×分割数k本のストリームを並行して供給することができる。但し、図8(a) は、アクセス処理部413が、4台のディスク装置411のそれぞれから再生時間Tの間に4個分のストライプを読み出し可能とした場合について、各ディスク装置411へのアクセスタイミングの割当を示したものであり、4ストライプ分の再生時間(図8において、符号T1〜T4で示す)の間に、16本の各ストリームが4台のディスク装置411(図8において、符号#1〜#4で示す)をそれぞれタイミングをずらしてアクセスする様子を示している。
【0006】
各アクセスタイミングにおけるディスク装置411の割当は、図8(b) に示すように、図7に示したディスク管理テーブル416に、各ストリームがアクセス可能なディスク装置411の装置番号として格納されており、更に該当するストリームが空き状態であるか否かを示す空きフラグが付加されている。
アクセス制御部417は、上述した割当に従って、アクセスタイミングごとにこのディスク管理テーブル416を更新するとともに、受付処理部418および通信処理部415を介して、クライアント装置(図示せず)からの指示を受け取り、このディスク管理テーブル416および上述したストライプテーブル412を参照しながらアクセス処理部413によるアクセス動作を制御する構成となっている。
【0007】
例えば、クライアント装置(図示せず)から新規サービスの開始が要求された場合に、アクセス制御部417は、まず、指定されたタイトルに対応するストライプテーブル412を参照して、先頭のストライプが格納されたディスク装置411を検索し、次に、上述したディスク管理テーブル416に基づいて、適切なストリームを該当するクライアント装置(図示せず)に割り当てて、サービスを開始すればよい。
【0008】
このとき、アクセス制御部417は、ディスク管理テーブル416から、上述した先頭のストライプに対応するディスク装置411に最も早くアクセス可能な空きストリームを検索し、このストリームを新規のサービスに割り当てればよい。
このようにして、利用者からの要求に応じてサービスが開始され、その後は、このストリームにおいて、各ストライプのストリームデータが順次に送出され、利用者に連続的な動画や音声が提供される。
【0009】
一方、利用者が所望のシーンへのジャンプなどを指示した場合に、アクセス制御部417は、この指示およびジャンプ先を受付処理部418から受け取って、ストライプテーブル412からジャンプ先のストライプの格納場所を検索し、再び、ディスク管理テーブル416を参照して、該当するディスク装置411に最も早くアクセス可能なストリームに切り換えればよい。
【0010】
このようなストリームの乗り換え制御を行うことにより、利用者に対して、可能な限りのレスポンスを提供することができる。
【0011】
【発明が解決しようとする課題】
従来の方法では、ストリームデータの各ストライプは、各ストリームにおいてストリームデータが滞りなく流れることを前提として、各ストライプのストリームデータの性質にかかわらず、単純にストリームデータ全体における順序に従って重複することなく配置されていた。
【0012】
したがって、メニューの画面やクライアント装置(図示せず)に所定の動作を実行させるためのスクリプトと呼ばれる一種のプログラムなどのように、明らかに他のストライプとはアクセス頻度が異なっているストライプも、他のストライプと同様に、ディスク装置411のいずれかに格納されていた。
このため、空きストリームが少ないときには、映画などを途中で中断して、別の画面にジャンプしたり、メニュー画面を呼び出そうとした場合に、待ち時間が発生することがある。
【0013】
なぜなら、上述したようなストリームの乗り換えを行ったとしても、次にアクセス可能なディスク装置411にジャンプ先のストライプが格納されているとは限らないからである。
例えば、ストリーム1がディスク装置4111 にアクセスするタイミングに、このディスク装置4111 に格納されたストライプAi へのジャンプが指示された場合に、ストリーム5からストリーム8に空きがなければ、次の再生時間Tの間にディスク装置4111 をアクセスすることはできない(図8(a) 参照)。この場合は、他のストリームから乗り換え先を選択するので、少なくとも再生時間T分の待ち時間が発生し、最悪の場合は、再生時間T×ディスク装置数mの待ち時間が発生する。
【0014】
本発明は、アクセス頻度が異なるストライプを含むストリームデータをレスポンスを維持しながら供給可能なストリームデータ供給システムを提供することを目的とする。
【0015】
【課題を解決するための手段】
図1(a),(b) は、請求項1および請求項2のストライピング方法の原理を示す図である。
【0016】
請求項1の発明は、ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置から、これらの記憶装置に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、前記ストリームデータを再生して利用者側のクライアント装置に提供するストリームサーバにおいて、複数の記憶装置から記憶装置の数より少ない複数の記憶装置を分配の基点として選択し、選択された記憶装置をそれぞれ基点として、ストリームデータの全てのストライプを前記スケジュールで規定されたアクセス順に従って複数の記憶装置に分配することを特徴とする。
【0017】
請求項1の発明は、ストリームデータ全体を基点となる記憶装置をずらして重複してストライピングするので、ストリームデータの各ストライプは、ストライピングの重複数(以下、重複度と称する)だけそれぞれ異なる記憶装置に格納される。したがって、任意のストライプに対するアクセスが必要となったときに、スケジュールで規定されたタイミングで、アクセス可能な記憶装置に該当するストライプが存在する確率が大きくなっている。これにより、ジャンプ再生指示に応じた任意ストライプへのアクセスなどによってアクセス頻度に変動が生じた場合にも、指定されたストライプをアクセスするまでに必要な平均的な待ち時間を削減し、ストリームサーバのレスポンスを維持することができる。
【0018】
請求項2の発明は、ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置から、これらの記憶装置に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、ストリームデータを再生して利用者側のクライアント装置に提供するストリームサーバにおいて、ストリームデータをそれぞれ少なくとも1つの連続したストライプからなる複数のグループに分類し、複数のグループごとに、複数の記憶装置から複数の記憶装置をそれぞれ選択し、複数のグループに対応して選択した記憶装置それぞれを基点として、対応するグループに属するストライプを前記スケジュールで規定されたアクセス順に従って前記複数の記憶装置に分配することを特徴とする。
【0019】
請求項2の発明は、ストリームデータを構成するn個のストライプを複数のグループに分類し、このグループごとに基点となる記憶装置を選択してストライピングするので、それぞれが属するグループに応じて、ストリームデータの各ストライプの重複度を変えることができる。
これにより、例えば、ストリームデータから、メニュー画面の表示やスクリプト再生に関するストライプのようにアクセス頻度の高いストライプを分離し、これらのストライプからなるグループの重複度を、他の連続的なアクセスが期待されるストライプからなるグループの重複度とは独立に決定し、アクセス頻度の高いグループに属するストライプにアクセスするまでの平均待ち時間の短縮を図ることができる。
請求項3の発明は、請求項2に記載のストライピング方法において、ストリームデータを構成する各ストライプに対するアクセス頻度に応じて、各ストライプを複数のグループに分類し、アクセス頻度の高いグループに対応して、他のグループよりも多い記憶装置をストライピングの基点として選択することを特徴とする。
【0020】
特に、請求項3の発明は、ストリームデータを構成する複数のストライプをアクセス頻度に応じてグループ分けし、アクセス頻度の高いストライプからなるグループに高い重複度を与えているので、これらのストライプは重複度分の記憶装置に重複して格納される。したがって、これらのストライプへのアクセスが必要とされたときに、スケジュールで規定されたタイミングでアクセス可能な記憶装置に指定されたストライプが存在する確率を大きくすることができるので、該当するストライプにアクセスするまでの平均待ち時間を短縮し、レスポンスの向上を図ることができる。
【0021】
図2は、本発明のストリームサーバの原理ブロック図である。
請求項4の発明は、ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置101から、読出手段102により、これらの記憶装置101に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、ストリームデータを再生して利用者側のクライアント装置103に提供するストリームサーバにおいて、ストリームデータを構成する各ストライプを格納している記憶装置101およびその格納場所に関するストライピング情報を保持するストライピング情報保持手段111と、複数の記憶装置101に対するアクセスについてのスケジュールに関するスケジュール情報を保持するスケジュール情報保持手段112とを備え、複数の記憶装置101は、相異なる記憶装置101を基点としてスケジュールで規定された順序に従って行われたストライプの分配によって、分配された各ストライプをそれぞれ選択的に格納する構成であり、読出手段102は、アクセス指示に応じて、指定された記憶装置101にアクセスし、指定されたストライプを読み出すアクセス手段113と、指定ストライプへのアクセス指示の入力に応じて、ストライピング情報保持手段111を参照し、指定ストライプに対応するストライピング情報を検索する検索手段114と、スケジュール情報と、検索結果として得られたストライピング情報とに基づいて、アクセス手段113へのアクセス指示を作成するアクセス制御手段115とを備えた構成であることを特徴とする。
【0022】
請求項4の発明では、読出手段102に備えられた検索手段114およびアクセス制御手段115がアクセス指示に応じて動作し、ストライピング情報保持手段111およびスケジュール情報保持手段112にそれぞれ保持されたストライピング情報およびスケジュール情報に基づいて、アクセス手段113の動作を制御する。これにより、複数の記憶装置101に重複してストライピングされたストリームデータの中から指定されたストライプを読み出して、クライアント装置103に提供することができる。
【0023】
複数の記憶装置101には、上述した請求項1のストライピング方法に従って、ストリームデータ全体が重複してストライピングされているので、任意のストライプがアクセス対象として指定されたときに、アクセス手段113がスケジュールに従ってアクセス可能な記憶装置101に指定されたストライプが格納されている確率が重複度に対応して高くなっている。また、ストリームの乗換えが必要となる場合にも、選択可能な候補ストリームが多くなるので、待ち時間を発生させずに、指定されたストライプを読み出すことができる可能性を高くすることができる。これにより、ジャンプ再生のような指定ストライプに対するアクセス指示によって生じるアクセス頻度の変化に柔軟に対応し、平均的な待ち時間を短縮してレスポンス性能を維持することが可能となり、利用者に快適なサービスを提供することができる。
【0024】
請求項5の発明は、ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置101から、読出手段102により、これらの記憶装置101に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、前記ストリームデータを再生して利用者側のクライアント装置103に提供するストリームサーバにおいて、ストリームデータを構成する各ストライプを格納している前記記憶装置101およびその格納場所に関するストライピング情報を保持するストライピング情報保持手段111と、複数の記憶装置101に対するアクセスについてのスケジュールに関するスケジュール情報を保持するスケジュール情報保持手段112とを備え、複数の記憶装置101は、前記ストリームデータを構成する複数のストライプを所定の基準に従って分類して得られる複数のグループごとに、複数の記憶装置101を基点として前記スケジュールで規定された順序に従って行われたストライプの分配によって、分配された各ストライプをそれぞれ選択的に格納する構成であり、読出手段102は、アクセス指示に応じて、指定された記憶装置101にアクセスし、指定されたストライプを読み出すアクセス手段113と、指定ストライプへのアクセス指示の入力に応じて、ストライピング情報保持手段111を参照し、指定ストライプに対応するストライピング情報を検索する検索手段114と、スケジュール情報と、検索結果として得られたストライピング情報とに基づいて、アクセス手段113へのアクセス指示を作成するアクセス制御手段115とを備えた構成であることを特徴とする。
【0025】
請求項5の発明は、読出手段101に備えられた検索手段114およびアクセス制御手段115がアクセス指示に応じて動作し、ストライピング情報保持手段111およびスケジュール情報保持手段112にそれぞれ保持されたストライピング情報およびスケジュール情報に基づいて、アクセス手段113の動作を制御することにより、複数の記憶装置101に重複してストライピングされたストリームデータの中から指定されたストライプを読み出して、クライアント装置103に提供することができる。
【0026】
複数の記憶装置101には、上述した請求項2のストライピング方法に従って、ストリームデータがグループごとに重複してストライピングされているので、アクセス手段113が、スケジュールに従ってアクセス可能な記憶装置101から指定されたストライプを対応するグループの重複度に応じた確率で読み出すことができる。これにより、1つのストリームデータを構成する各グループのアクセス頻度の格差に柔軟に対応し、平均的な待ち時間を短縮してレスポンス性能を維持することが可能となり、利用者に快適なサービスを提供することができる。
【0027】
【発明の実施の形態】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
図3は、請求項4のストリームサーバの実施形態を示す図である。
図3に示したストリームサーバ210において、4台のディスク装置2111 〜2114 は記憶装置101に相当するものであり、請求項1のストライピング方法によってストライピングされたストリームデータを格納している。例えば、ディスク装置2111 を基点としてストライピングしたストリームデータと、ディスク装置2112 を基点としてストライピングしたストリームデータとを格納している。
【0028】
この場合は、各ストライプのストリームデータは、装置番号が連続した2つのディスク装置211に重複して格納されており、各ストライプのストリームデータの格納場所は、図4(a) に示すように、各タイトルに含まれるストライプにそれぞれ対応するストライプテーブル2121 〜212n にそれぞれ格納されている。
【0029】
以下、ディスク装置2111 〜2114 およびストライプテーブル2121 〜212n をそれぞれ総称する際は、単に、ディスク装置211およびストライプテーブル212と称する。
また、図3において、タイトルごとに設けられたストライピングテーブル213は、図4(b) に示すように、ストライプ番号に対応して、各ストライプに対応するストライプテーブル212を示すポインタPiと、そのストライプが格納されているディスク装置211の数を重複度として格納している。
【0030】
このように、ストライピングテーブル213に格納されたポインタによって、適切なストライプテーブル212を示す構成とすることにより、これらの各部により、請求項4で述べたストライピング情報保持手段111の機能を実現し、請求項1で述べたストライピング方法によってストライピングされた各ストライプの格納場所に関するストライピング情報を過不足なく保持することができる。
【0031】
このストライピングテーブル213は、上述したストライプテーブル212およびディスク管理テーブル416とともに、アクセス制御部214の処理に供されており、このアクセス制御部214からの指示に応じて、アクセス手段113に相当するアクセス処理部413が動作する構成となっている。
図3に示したアクセス制御部214において、ストリーム管理部221は、受付処理部418を介して新規サービスの開始やストリームのジャンプなどの指示を受け取り、検索処理部222、照合処理部223および割り当て処理部224に対してそれぞれの動作を指示し、これらの処理結果に応じて、アクセス処理部413の動作を制御する構成となっている。
【0032】
図3において、検索処理部222は請求項4で述べた検索手段114に相当するものであり、ストリーム管理部221からの指示に応じて、ストライピングテーブル213およびストライプテーブル212を参照し、指定されたストライプの格納場所をストリーム管理部221に返す構成となっている。
また、照合処理部223は、ストリーム管理部221からの指示に応じて、上述したストライプの格納場所と、請求項4で述べたスケジュール情報保持手段112に相当するディスク管理テーブル416内の情報とを照合する構成となっている。
【0033】
また、図2において、割当処理部224は、ストリーム管理部221からの指示に応じて、候補抽出部225が、ディスク管理テーブル416に基づいて割当先の候補となる候補ストリームを抽出し、割当決定部226が、抽出された候補ストリームの中から1つを選択してストリーム管理部221に通知する構成となっている。
【0034】
すなわち、検索処理部222による検索結果とディスク管理テーブル416の内容に応じて、ストリーム管理部221、照合処理部223および割り当て処理部224が動作することにより、請求項4で述べたアクセス制御手段115の機能を実現する構成となっている。
図5に、ストリーム管理動作を表す流れ図を示す。
【0035】
利用者から新規のサービス提供開始が指示された場合や、サービス中に指定先へのジャンプなどが指定された場合に、アクセス制御部214は、受付処理部418から指定されたタイトルおよびストライプを受け取って動作を開始する。
まず、ストリーム管理部221からの指示に応じて、検索処理部222は、タイトルに対応するストライピングテーブル213を参照し、得られたポインタで示されるストライプテーブル212から指定ストライプのストリームデータが格納されたディスク装置211の装置番号を検索する(ステップ301)。
【0036】
次に、ストリーム管理部221は、受付処理部418から受け取った指示がジャンプ要求であるか否かを判定し(ステップ302)、肯定判定の場合に、ステップ301で検索した装置番号と要求元のストリーム番号を照合処理部223に渡せばよい。
これに応じて、照合処理部223はディスク管理テーブル416を参照し、検索結果として受け取った装置番号のそれぞれと要求元のストリームに対応するディスク装置211の装置番号とを照合し(ステップ303)、この照合結果に基づいて、ストリーム管理部221は、ストリームの乗り換えが必要であるか否かを判定する(ステップ304)。
【0037】
ここで、上述したように、4台のディスク装置211に1本のストリームデータを2つ重複してストライピングした場合は、ステップ301において、例えば、ストライプ番号Ai に対応して2つの装置番号(例えば、装置番号1、装置番号2)が検索され、ステップ303の処理に供される。
したがって、ストリーム管理部221は、要求元のストリームがアクセス可能なディスク装置211に対応する装置番号が、ステップ301で得られた装置番号のいずれかと一致した旨の照合結果が得られた場合に、ストリームの乗り換えが不要であると判断すればよい。
【0038】
このとき、ストリーム管理部221は、ステップ304の否定判定として、そのまま、指定されたストライプへのアクセス処理を実行する旨をアクセス処理部413に指示し(ステップ305)、処理を終了すればよい。
この場合は、要求元のストリームがアクセス可能なディスク装置に、ジャンプ先のストライプが格納されているから、元のストリームのままで指定されたストライプを読み出すことができ、再生処理部414および通信処理部415を介してクライアント装置103に送出することができるから、利用者を待たせることなく、ジャンプ先のストライプのストリームデータを提供することができる。
【0039】
一方、ステップ304の肯定判定の場合および上述したステップ302の否定判定の場合は、ストリーム管理部221からの指示に応じて、割当処理部224により、以下に述べるストリーム割当処理が行われる。
この場合に、候補抽出部225はディスク管理テーブル416を参照し、各ストリーム番号に対応する空きフラグに基づいて、空きストリームを検索し(ステップ306)、候補ストリームとして割当決定部226に通知する。
【0040】
これに応じて、割当決定部226は、まず、これらの候補ストリームそれぞれについて、指定されたディスク装置211に対するアクセスが可能となるまでの待ち時間を算出し(ステップ307)、最も待ち時間が短い候補ストリームを選択して(ステップ308)、ストリーム管理部221に通知すればよい。
これに応じて、ストリーム管理部221は、該当するストリームを要求元の利用者に対するサービスに割り当て(ステップ309)、次いで、ステップ305に進んでアクセス処理を実行した後に、処理を終了すればよい。
【0041】
この場合は、ディスク管理テーブル416において、指定されたストライプを格納する複数のディスク装置211にアクセス可能とされたストリームのいずれかが空きストリームであれば、要求に応じてこの空きストリームを割り当てることにより、即座に新規サービスの提供および指定ストライプへのジャンプを実現することができる。
【0042】
また、現アクセスタイミングで指定ストライプにアクセス可能なストリームに空きがない場合においても、指定ストライプのストリームデータが格納された複数のディスク装置211のいずれかにアクセスすればよいので、待ち時間を短縮可能な空きストリームが存在する可能性が高い。
上述したように、アクセス制御部214の各部が、ストライピングテーブル213、ストライプテーブル212およびディスク管理テーブル416に基づいてストリーム管理動作を行うことにより、請求項1のストライピング方法によって得られるストライプの分布の特徴を利用して、指定ストライプへのアクセス指示に対して、迅速にレスポンス可能なストリームサーバを実現することができる。
【0043】
これにより、利用者からのジャンプ要求など要求に応じて、各ストライプのストリームデータに対するアクセス頻度に予想不可能な変化が生じた場合においても、この変化に柔軟に対応し、利用者からの要求に対するレスポンスを大幅に向上して、ビデオ・オン・デマンドシステムなどの利用者に快適なサービスを提供することができる。
【0044】
また、予め、各ストライプのストリームデータごとに利用される頻度が分かっている場合は、利用頻度の高い一部のストライプのみを重複してストライピングしてもよい。
例えば、メニュー画面やスクリプトなどを含むストライプは、利用者に時系列的に提供される動画データや音声データの各ストライプに比べて、アクセス頻度が明らかに異なっており、特に、メニュー画面などは、非常にアクセス頻度が高い。
【0045】
以下、例えば、メニュー画面を提供するストリームデータを含んだストライプA1 ,A2 と、利用者に提供する動画・音声データからなるストライプA3 からストライプAn とからなるストリームデータをストライピングする方法について説明する。
図6に、請求項5のストリームサーバの実施形態を示す図を示す。
【0046】
図6において、4台のディスク装置2111 〜2114 には、ディスク装置2111 を基点として、ストリームデータ全体がストライピングされるとともに、ディスク装置2112 、2113 、2114 をそれぞれ基点として、ストライプ番号A1 、A2 のストリームデータがストライピングされている。
すなわち、請求項2の発明を適用し、ストリームデータを2つのグループに分割し、ストライプ番号A1 、A2 のストリームデータからなるグループに重複度4を与え、他のストライプには重複度1を与えて、それぞれストライピングされている。
【0047】
この場合は、ストライプA1 、A2 に対応してストライプテーブル2121 、2122 を設けて、4台のディスク装置2111 〜2114 における格納場所をそれぞれ示しておき、ストライピングテーブル213に、ストライプ番号A1 、A2 に対応してこれらのストライプテーブル2121 、2122 へのポインタおよび重複度4を格納しておけばよい。
【0048】
また、ストライプ番号A3 〜An に対応する情報としては、それぞれの格納場所を示す情報および重複度1をストライピングテーブル213に格納しておけばよい。
すなわち、この場合は、ストライピングテーブル213と2つのストライプテーブル2121 、2122 とによって、ストライピング情報保持手段111の機能が実現されている。
【0049】
また、これらのテーブルに格納されたストライピング情報と、ディスク管理テーブル416に格納されたスケジュール情報とをアクセス制御部214の処理に供することにより、請求項2の発明を適用して得られる各ストライプの分布の特徴を利用して、利用者からの要求に迅速にレスポンス可能なストリームサーバを実現することが可能となる。
【0050】
この場合は、全てのディスク装置211にメニュー画面に相当するストライプA1 が格納されているから、全てのストリームは、アクセスタイミングにかかわらず該当するストライプにアクセス可能である。
したがって、利用者へのサービスに割り当てられているストリームにかかわらず、メニュー画面を指定したジャンプ指示の入力に応じて、即座に該当するストライプへのジャンプを実現し、メニュー画面を表すストリームデータを利用者に提供することができる。
【0051】
このように、ストリームデータの一部のストライプをそのアクセス頻度に応じた重複度で重複してストライピングすることにより、該当するストライプがジャンプ先として指定された場合のレスポンスを向上して、利用者に快適なサービスを提供することができる。
特に、メニュー画面は、ジャンプ先として頻繁に指定され、しかもそのデータ量が小さいので、上述したように大きな重複度を与えて重複してストライピングした場合には、わずかな情報量を重複させることにより、大幅なレスポンス性能の向上を期待することができるので、大変効果的である。
【0052】
同様に、クライアント側のセットトップボックスなどの装置に特定の動作を行わせるため一種のプログラムであるスクリプトも、他のストリームデータに比べてアクセス頻度が高く、また、データ量も小さいので、これらのスクリプトに大きな重複度を与えてストライピングすることにより、大きな効果が期待できる。
【0053】
【発明の効果】
以上に説明したように、本発明のストライピング方法は、ストリームデータ全体あるいは各部分ごとに、基点を変えて重複してストライピングすることにより、アクセススケジュールで規定された各タイミングにおいて、指定されたストライプをアクセス可能となる確率を大きくし、利用者からのジャンプ指示などによって生じる各ストライプに対するアクセス頻度の変化や各ストライプの性質の違いによるアクセス頻度の差異に柔軟に対応し、平均的な待ち時間を短縮して、利用者に快適なサービスを提供することができる。
【0054】
また、請求項1あるいは請求項2の発明を適用し、重複してストライピングされた各ストライプの格納場所に関するストライピング情報に基づいて、記憶装置に対するアクセス動作を制御することにより、本発明のストライピング方法によって得られる各ストライプの分布の特徴を利用して、利用者からの要求に迅速に応答可能なストリームサーバを提供することが可能となる。
【図面の簡単な説明】
【図1】請求項1および請求項2のストライピング方法の原理を示す図である。
【図2】本発明のストリームサーバの原理ブロック図である。
【図3】請求項4のストリームサーバの実施形態を示す図である。
【図4】ストライピングテーブルの説明図である。
【図5】ストリーム管理動作を表す流れ図である。
【図6】請求項5のストリームサーバの実施形態を示す図である。
【図7】従来のストライピング技法を用いたストリームサーバの構成例を示す図である。
【図8】ストライピング技法を説明する図である。
【符号の説明】
101 記憶装置
102 読出手段
103 クライアント装置
111 ストライピング情報保持手段
112 スケジュール情報保持手段
113 アクセス手段
114 検索手段
115 アクセス制御手段
210 ストリームサーバ
211、411 ディスク装置
212、412 ストライプテーブル
213 ストライピングテーブル
214、417 アクセス制御部
221 ストリーム管理部
222 検索処理部
223 照合処理部
224 割当処理部
225 候補抽出部
226 割当決定部
413 アクセス処理部
414 再生処理部
415 通信処理部
416 ディスク管理テーブル
418 受付処理部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a striping method for supplying stream data such as moving image data and audio data in a video-on-demand system and a stream server using the striping method.
In video-on-demand systems and multimedia information systems that supply software such as movies in response to requests from users, it is necessary to provide services to a large number of users in parallel.
For this reason, the stream server accesses the stream data corresponding to each software in a multiplexed manner and provides it to each user, and secures a transfer speed as a series of streams to guarantee a comfortable response to the user. There is a need.
In the stream server, as a technique for realizing the above-described performance, there is a technique called striping in which stream data is divided into a large number of stripes and each stripe is distributed and stored in a plurality of storage devices.・ Applied to demand systems.
[0002]
[Prior art]
FIG. 7 shows a configuration example of a stream server to which a conventional striping technique is applied.
In the stream server shown in FIG. 7, the stream data includes n stripes A.1~ AnDivided into four
[0003]
For example, the above-mentioned n stripes A1~ AnThe
[0004]
In this case, the access processing unit 413 uses these disk devices 411.1~ 411FourAre sequentially accessed, the stream data of each stripe is read out, and sequentially supplied to the processing of the
Also, the moving image data and audio data reproduced in this way are sent to the communication line via the communication processing unit 415, and passed to a client device (not shown) such as a set-top box on the user side.
[0005]
Here, since a predetermined reproduction time T is required for the
Therefore, assuming that the access processing unit 413 can simultaneously access the
[0006]
The allocation of the
The
[0007]
For example, when the start of a new service is requested from a client device (not shown), the
[0008]
At this time, the
In this way, the service is started in response to a request from the user, and thereafter, the stream data of each stripe is sequentially sent out in this stream, and continuous video and audio are provided to the user.
[0009]
On the other hand, when the user instructs a jump to a desired scene, the
[0010]
By performing such stream transfer control, it is possible to provide the user with as many responses as possible.
[0011]
[Problems to be solved by the invention]
In the conventional method, each stripe of stream data is arranged without duplication according to the order of the entire stream data, regardless of the nature of the stream data of each stripe, on the premise that the stream data flows smoothly in each stream. It had been.
[0012]
Therefore, stripes that are clearly different in access frequency from other stripes, such as a kind of program called a script for causing a menu screen or client device (not shown) to execute a predetermined operation, etc. As in the case of the stripes of FIG.
For this reason, when there are few empty streams, a waiting time may occur when a movie or the like is interrupted halfway to jump to another screen or try to call a menu screen.
[0013]
This is because even if the stream is changed as described above, the jump destination stripe is not always stored in the next
For example,
[0014]
An object of the present invention is to provide a stream data supply system capable of supplying stream data including stripes having different access frequencies while maintaining a response.
[0015]
[Means for Solving the Problems]
1 (a) and 1 (b) are diagrams showing the principle of the striping method of
[0016]
According to the first aspect of the present invention, each stripe is sequentially read out from a plurality of storage devices that store the stripes obtained by dividing the stream data into a plurality of pieces according to a predetermined schedule for access to these storage devices. In the stream server that reproduces the stream data and provides it to the client device on the user side, the number of storage devices is smaller than the number of storage devices.Multiple storage devicesThe distribution base point is selected, and all the stripes of the stream data are distributed to a plurality of storage devices in accordance with the access order defined in the schedule, with the selected storage device as the base point.
[0017]
According to the first aspect of the present invention, since the entire storage device of the stream data is shifted by overlapping the storage device, the stripes of the stream data are stored in different storage devices by a plurality of striping overlaps (hereinafter referred to as “duplication degree”). Stored in Therefore, when an access to an arbitrary stripe is necessary, the probability that the stripe corresponding to the accessible storage device exists at the timing specified by the schedule is high. ThisEven if the access frequency fluctuates due to access to an arbitrary stripe according to the jump playback instruction,The average waiting time required for accessing a specified stripe can be reduced, and the response of the stream server can be maintained.
[0018]
The invention according to
[0019]
The invention according to
As a result, for example, stripes with high access frequency are separated from stream data, such as stripes related to menu screen display and script playback, and other continuous accesses are expected for the degree of overlap of groups of these stripes. It is possible to reduce the average waiting time until access is made to a stripe belonging to a group having a high access frequency.
According to a third aspect of the present invention, in the striping method according to the second aspect, each stripe is classified into a plurality of groups according to the access frequency for each stripe constituting the stream data, and corresponding to a group having a high access frequency. More storage devices than other groups are selected as striping base points.
[0020]
In particular, the invention of claim 3The multiple streams that make up the stream dataThe stripes are grouped according to the access frequency, and a high degree of duplication is given to a group of stripes with a high access frequency.Therefore, these stripes are stored redundantly in the storage devices corresponding to the degree of overlap. Therefore, when access to these stripes is required, the storage device can be accessed at the timing specified in the schedule.The specified stripe existsSince the probability can be increased, the average waiting time to access the corresponding stripe can be shortened, and the response can be improved..
[0021]
FIG. 2 is a principle block diagram of the stream server of the present invention.
In the invention of
[0022]
In the invention of
[0023]
The plurality of
[0024]
According to the fifth aspect of the present invention, a schedule determined in advance for access to a plurality of
[0025]
In the invention of
[0026]
The plurality of
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 3 is a diagram showing an embodiment of the stream server of
In the
[0028]
In this case, the stream data of each stripe is redundantly stored in two
[0029]
Hereinafter, the
In FIG. 3, the striping table 213 provided for each title includes a pointer Pi indicating the stripe table 212 corresponding to each stripe and the stripe corresponding to the stripe number, as shown in FIG. Is stored as the degree of duplication.
[0030]
In this way, by configuring the appropriate stripe table 212 with the pointer stored in the striping table 213, the function of the striping information holding unit 111 described in
[0031]
The striping table 213 is provided to the processing of the
In the
[0032]
In FIG. 3, the
Further, in response to an instruction from the stream management unit 221, the verification processing unit 223 displays the stripe storage location described above and information in the disk management table 416 corresponding to the schedule information holding unit 112 described in
[0033]
In FIG. 2, in response to an instruction from the stream management unit 221, the allocation processing unit 224 causes the
[0034]
That is, the stream control unit 221, the collation processing unit 223, and the allocation processing unit 224 operate according to the search result by the
FIG. 5 is a flowchart showing the stream management operation.
[0035]
The
First, in response to an instruction from the stream management unit 221, the
[0036]
Next, the stream management unit 221 determines whether or not the instruction received from the reception processing unit 418 is a jump request (step 302), and in the case of an affirmative determination, the apparatus number searched in
In response to this, the collation processing unit 223 refers to the disk management table 416 and collates each device number received as a search result with the device number of the
[0037]
Here, as described above, when two pieces of stream data are duplicated on the four
Therefore, the stream management unit 221 obtains a collation result indicating that the device number corresponding to the
[0038]
At this time, the stream management unit 221 may instruct the access processing unit 413 to execute the access processing to the designated stripe as it is as a negative determination in step 304 (step 305), and the processing may be terminated.
In this case, since the jump destination stripe is stored in the disk device accessible to the request source stream, the specified stripe can be read out as it is in the original stream, and the
[0039]
On the other hand, in the case of an affirmative determination in
In this case, the
[0040]
In response to this, the
In response to this, the stream management unit 221 may assign the corresponding stream to the service for the requesting user (step 309), and then proceed to step 305 to execute the access process and then terminate the process.
[0041]
In this case, in the disk management table 416, if any of the streams that can be accessed by the plurality of
[0042]
In addition, even when there is no available stream that can access the specified stripe at the current access timing, it is only necessary to access any of the plurality of
As described above, each part of the
[0043]
As a result, even when an unpredictable change occurs in the access frequency to the stream data of each stripe in response to a request such as a jump request from the user, this change can be flexibly handled and the request from the user can be handled. The response can be greatly improved, and a comfortable service can be provided to users such as a video-on-demand system.
[0044]
If the frequency of use for each stream data of each stripe is known in advance, only some of the stripes with high use frequency may be overlapped and striped.
For example, stripes that include menu screens and scripts are clearly different in access frequency compared to each stripe of video data and audio data provided to users in time series. Access frequency is very high.
[0045]
Hereinafter, for example, a stripe A including stream data providing a menu screen1, A2 And stripe A consisting of video and audio data provided to the userThreeTo stripe AnA method of striping stream data consisting of
FIG. 6 is a diagram showing an embodiment of the stream server of
[0046]
In FIG. 6, four
That is, the invention of
[0047]
In this case, stripe A1, A2Corresponding to the stripe table 2121, 2122And four
[0048]
Also, stripe number AThree~ AnAs information corresponding to, information indicating the respective storage locations and
That is, in this case, the striping table 213 and the two stripe tables 212 are used.1, 2122Thus, the function of the striping information holding unit 111 is realized.
[0049]
In addition, by using the striping information stored in these tables and the schedule information stored in the disk management table 416 for the processing of the
[0050]
In this case, all the
Therefore, regardless of the stream assigned to the service to the user, in response to the input of the jump instruction specifying the menu screen, the jump to the corresponding stripe is immediately realized and the stream data representing the menu screen is used. Can be provided.
[0051]
In this way, by striping some stripes of the stream data with the overlap according to the access frequency, the response when the corresponding stripe is designated as the jump destination is improved, and the user is A comfortable service can be provided.
In particular, the menu screen is frequently specified as the jump destination, and the amount of data is small. Therefore, as described above, when overlapping is performed with a large degree of duplication, a small amount of information is duplicated. Because it can be expected to greatly improve the response performance, it is very effective.
[0052]
Similarly, a script which is a kind of program for causing a device such as a set-top box on the client side to perform a specific operation has a higher access frequency and a smaller data amount than other stream data. A great effect can be expected by striping scripts with a large degree of duplication.
[0053]
【The invention's effect】
As described above, in the striping method of the present invention, the specified stripe is formed at each timing specified by the access schedule by performing overlapping striping by changing the base point for the entire stream data or for each part. Increases the probability of access, flexibly responds to changes in access frequency for each stripe caused by jump instructions from the user, and differences in access frequency due to differences in the properties of each stripe, reducing average waiting time Thus, a comfortable service can be provided to the user.
[0054]
Further, by applying the invention of
[Brief description of the drawings]
FIG. 1 is a diagram showing the principle of a striping method according to
FIG. 2 is a principle block diagram of a stream server according to the present invention.
FIG. 3 is a diagram showing an embodiment of a stream server according to
FIG. 4 is an explanatory diagram of a striping table.
FIG. 5 is a flowchart showing a stream management operation.
FIG. 6 is a diagram showing an embodiment of a stream server according to
FIG. 7 is a diagram illustrating a configuration example of a stream server using a conventional striping technique.
FIG. 8 is a diagram illustrating a striping technique.
[Explanation of symbols]
101 storage device
102 Reading means
103 Client device
111 Striping information holding means
112 Schedule information holding means
113 Access means
114 Search means
115 Access control means
210 Stream server
211,411 disk device
212, 412 Stripe table
213 Striping table
214, 417 Access control unit
221 Stream management unit
222 Search processing part
223 Verification processing unit
224 Allocation processing part
225 Candidate extraction unit
226 Allocation determination unit
413 Access processing unit
414 Playback processing unit
415 Communication processing unit
416 Disk management table
418 Reception processing unit
Claims (5)
前記複数の記憶装置から前記記憶装置の数より少ない複数の記憶装置を分配の基点として選択し、
前記選択された記憶装置をそれぞれ基点として、前記ストリームデータの全てのストライプを前記スケジュールで規定されたアクセス順に従って前記複数の記憶装置に分配する
ことを特徴とするストライピング方法。Each stripe is sequentially read out from a plurality of storage devices that store the stripes obtained by dividing the stream data into a plurality of pieces according to a predetermined schedule for access to these storage devices, and the stream data is reproduced. In the stream server provided to the client device on the user side,
Selecting a plurality of storage devices less than the number of storage devices from the plurality of storage devices as a distribution base point;
A striping method characterized by distributing all the stripes of the stream data to the plurality of storage devices in accordance with the access order defined by the schedule, using the selected storage devices as base points.
前記ストリームデータをそれぞれ少なくとも1つの連続したストライプからなる複数のグループに分類し、
前記複数のグループごとに、前記複数の記憶装置から複数の記憶装置をそれぞれ選択し、
前記複数のグループに対応して選択した記憶装置それぞれを基点として、対応するグループに属するストライプを前記スケジュールで規定されたアクセス順に従って前記複数の記憶装置に分配する
ことを特徴とするストライピング方法。Each stripe is sequentially read out from a plurality of storage devices that store the stripes obtained by dividing the stream data into a plurality of pieces according to a predetermined schedule for access to these storage devices, and the stream data is reproduced. In the stream server provided to the client device on the user side,
Classifying the stream data into a plurality of groups each consisting of at least one continuous stripe;
For each of the plurality of groups, select a plurality of storage devices from the plurality of storage devices ,
A striping method, wherein a stripe belonging to a corresponding group is distributed to the plurality of storage devices in accordance with an access order defined by the schedule, with each storage device selected corresponding to the plurality of groups as a base point.
ストリームデータを構成する各ストライプに対するアクセス頻度に応じて、前記各ストライプを複数のグループに分類し、
アクセス頻度の高いグループに対応して、他のグループよりも多い記憶装置をストライピングの基点として選択する
ことを特徴とするストライピング方法。The striping method according to claim 2,
According to the access frequency for each stripe constituting the stream data, each stripe is classified into a plurality of groups,
A striping method characterized by selecting a storage device more frequently than other groups as a base point for striping corresponding to a group having high access frequency.
前記ストリームデータを構成する各ストライプを格納している前記記憶装置およびその格納場所に関するストライピング情報を保持するストライピング情報保持手段と、
前記複数の記憶装置に対するアクセスについてのスケジュールに関するスケジュール情報を保持するスケジュール情報保持手段とを備え、
前記複数の記憶装置は、相異なる記憶装置を基点として前記スケジュールで規定された順序に従って行われたストライプの分配によって、分配された各ストライプをそれぞれ選択的に格納する構成であり、
前記読出手段は、
アクセス指示に応じて、指定された記憶装置にアクセスし、指定されたストライプを読み出すアクセス手段と、
指定ストライプへのアクセス指示の入力に応じて、前記ストライピング情報保持手段を参照し、前記指定ストライプに対応するストライピング情報を検索する検索手段と、
前記スケジュール情報と、検索結果として得られたストライピング情報とに基づいて、前記アクセス手段へのアクセス指示を作成するアクセス制御手段とを備えた構成である
ことを特徴とするストリームサーバ。Each of the stripes is sequentially read out from a plurality of storage devices that store the stripes obtained by dividing the stream data into a plurality of pieces according to a schedule determined in advance for access to these storage devices by the reading means. In a stream server that reproduces data and provides it to a client device on the user side,
Striping information holding means for holding striping information relating to the storage device storing each stripe constituting the stream data and its storage location;
Schedule information holding means for holding schedule information related to a schedule for access to the plurality of storage devices;
The plurality of storage devices are configured to selectively store each distributed stripe by distributing stripes performed according to the order defined in the schedule with different storage devices as a base point,
The reading means includes
An access means for accessing the designated storage device and reading the designated stripe in response to the access instruction;
Search means for searching for striping information corresponding to the designated stripe, referring to the striping information holding means in response to an input of an instruction to access the designated stripe;
A stream server comprising: an access control unit that creates an access instruction to the access unit based on the schedule information and striping information obtained as a search result.
前記ストリームデータを構成する各ストライプを格納している前記記憶装置およびその格納場所に関するストライピング情報を保持するストライピング情報保持手段と、
前記複数の記憶装置に対するアクセスについてのスケジュールに関するスケジュール情報を保持するスケジュール情報保持手段とを備え、
前記複数の記憶装置は、前記ストリームデータを構成する複数のストライプを所定の基準に従って分類して得られる複数のグループごとに、複数の記憶装置を基点として前記スケジュールで規定された順序に従って行われたストライプの分配によって、分配された各ストライプをそれぞれ選択的に格納する構成であり、
前記読出手段は、
アクセス指示に応じて、指定された記憶装置にアクセスし、指定されたストライプを読み出すアクセス手段と、
指定ストライプへのアクセス指示の入力に応じて、前記ストライピング情報保持手段を参照し、前記指定ストライプに対応するストライピング情報を検索する検索手段と、
前記スケジュール情報と、検索結果として得られたストライピング情報とに基づいて、前記アクセス手段へのアクセス指示を作成するアクセス制御手段とを備えた構成である
ことを特徴とするストリームサーバ。Each of the stripes is sequentially read out from a plurality of storage devices that store the stripes obtained by dividing the stream data into a plurality of pieces according to a schedule determined in advance for access to these storage devices by the reading means. In a stream server that reproduces data and provides it to a client device on the user side,
Striping information holding means for holding striping information relating to the storage device storing each stripe constituting the stream data and its storage location;
Schedule information holding means for holding schedule information related to a schedule for access to the plurality of storage devices;
The plurality of storage devices are performed in accordance with the order defined in the schedule based on a plurality of storage devices for each of a plurality of groups obtained by classifying a plurality of stripes constituting the stream data according to a predetermined standard. Each of the distributed stripes is selectively stored by stripe distribution.
The reading means includes
An access means for accessing the designated storage device and reading the designated stripe in response to the access instruction;
Search means for searching for striping information corresponding to the designated stripe, referring to the striping information holding means in response to an input of an instruction to access the designated stripe;
A stream server comprising: an access control unit that creates an access instruction to the access unit based on the schedule information and striping information obtained as a search result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10545596A JP4057074B2 (en) | 1996-04-25 | 1996-04-25 | Stream data striping method and stream server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10545596A JP4057074B2 (en) | 1996-04-25 | 1996-04-25 | Stream data striping method and stream server |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09294244A JPH09294244A (en) | 1997-11-11 |
JP4057074B2 true JP4057074B2 (en) | 2008-03-05 |
Family
ID=14408070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10545596A Expired - Fee Related JP4057074B2 (en) | 1996-04-25 | 1996-04-25 | Stream data striping method and stream server |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4057074B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017501515A (en) * | 2013-11-11 | 2017-01-12 | アマゾン・テクノロジーズ・インコーポレーテッド | Data stream ingestion and persistence policy |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401126B1 (en) * | 1999-03-10 | 2002-06-04 | Microsoft Corporation | File server system and method for scheduling data streams according to a distributed scheduling policy |
JP2014178874A (en) * | 2013-03-14 | 2014-09-25 | Toshiba Corp | Content distribution device, content distribution server and program |
-
1996
- 1996-04-25 JP JP10545596A patent/JP4057074B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017501515A (en) * | 2013-11-11 | 2017-01-12 | アマゾン・テクノロジーズ・インコーポレーテッド | Data stream ingestion and persistence policy |
Also Published As
Publication number | Publication date |
---|---|
JPH09294244A (en) | 1997-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7039784B1 (en) | Video distribution system using dynamic disk load balancing with variable sub-segmenting | |
US6925499B1 (en) | Video distribution system using disk load balancing by file copying | |
US7143433B1 (en) | Video distribution system using dynamic segmenting of video data files | |
US9615125B2 (en) | Method of data management for efficiently storing and retrieving data to respond to user access requests | |
CA2153000C (en) | Online placement of video files on disks in a server environment | |
JP2004500651A (en) | Streaming media search and playback system | |
JPH1093951A (en) | System/metohd adapted to request for cable programming by telephone request | |
EP1466479A1 (en) | A server and method for storing files in a ring buffer | |
CN100571380C (en) | The scatter storage technique and this system that are used for distributed network TV system | |
JP4057074B2 (en) | Stream data striping method and stream server | |
Haskin et al. | A system for the delivery of interactive television programming | |
CN103269442A (en) | Content on-demand broadcasting method, content on-demand broadcasting system and content on-demand broadcasting equipment | |
CN111225248A (en) | On-demand content management method and content distribution network on-demand server | |
JP2004504737A (en) | How to distribute elements of multimedia information | |
JP4065761B2 (en) | Stream data related information supply apparatus, stream data related information supply method, program, recording medium, and stream data related information supply system | |
US7421726B1 (en) | Method of seamlessly replacing disc-based video streams with memory-based video streams in a video-on-demand system | |
US8763053B1 (en) | File system for a file server of a video-on-demand system | |
Tanaka et al. | Performance improvements of large‐scale video servers by video segment allocation | |
Philip et al. | Look-ahead scheduling to support pause-resume for video-on-demand applications | |
US7681222B1 (en) | Method of reducing disc workload in a video-on-demand system by seamlessly replacing memory-based video streams with disc-based video streams, and visa-versa | |
Abram-Profeta et al. | A practical approach to resource allocation in video-on-demand servers | |
Tetzlaff | Scheduling, striping, and scaling issues for video server file systems | |
NL1033656C1 (en) | Information distribution method for television and radio programs via internet, stores information in large capacity storage memory connected to set=top box | |
Vin | Architectures and algorithms for designing digital multimedia storage servers | |
KR20080049290A (en) | Method for buffering vod using segmentation writing of video file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051025 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070604 |
|
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: 20071211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071213 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |