(57)【特許請求の範囲】
【請求項１】
ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置から、これらの記憶装置に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、前記ストリームデータを再生して利用者側のクライアント装置に提供するストリームサーバにおいて、
前記複数の記憶装置から前記記憶装置の数より少ない複数の記憶装置を分配の基点として選択し、
前記選択された記憶装置をそれぞれ基点として、前記ストリームデータの全てのストライプを前記スケジュールで規定されたアクセス順に従って前記複数の記憶装置に分配する
ことを特徴とするストライピング方法。
【請求項２】
ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置から、これらの記憶装置に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、前記ストリームデータを再生して利用者側のクライアント装置に提供するストリームサーバにおいて、
前記ストリームデータをそれぞれ少なくとも１つの連続したストライプからなる複数のグループに分類し、
前記複数のグループごとに、前記複数の記憶装置から複数の記憶装置をそれぞれ選択し、
前記複数のグループに対応して選択した記憶装置それぞれを基点として、対応するグループに属するストライプを前記スケジュールで規定されたアクセス順に従って前記複数の記憶装置に分配する
ことを特徴とするストライピング方法。
【請求項３】
請求項２に記載のストライピング方法において、
ストリームデータを構成する各ストライプに対するアクセス頻度に応じて、前記各ストライプを複数のグループに分類し、
アクセス頻度の高いグループに対応して、他のグループよりも多い記憶装置をストライピングの基点として選択する
ことを特徴とするストライピング方法。
【請求項４】
ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置から、読出手段により、これらの記憶装置に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、前記ストリームデータを再生して利用者側のクライアント装置に提供するストリームサーバにおいて、
前記ストリームデータを構成する各ストライプを格納している前記記憶装置およびその格納場所に関するストライピング情報を保持するストライピング情報保持手段と、
前記複数の記憶装置に対するアクセスについてのスケジュールに関するスケジュール情報を保持するスケジュール情報保持手段とを備え、
前記複数の記憶装置は、相異なる記憶装置を基点として前記スケジュールで規定された順序に従って行われたストライプの分配によって、分配された各ストライプをそれぞれ選択的に格納する構成であり、
前記読出手段は、
アクセス指示に応じて、指定された記憶装置にアクセスし、指定されたストライプを読み出すアクセス手段と、
指定ストライプへのアクセス指示の入力に応じて、前記ストライピング情報保持手段を参照し、前記指定ストライプに対応するストライピング情報を検索する検索手段と、
前記スケジュール情報と、検索結果として得られたストライピング情報とに基づいて、前記アクセス手段へのアクセス指示を作成するアクセス制御手段とを備えた構成である
ことを特徴とするストリームサーバ。
【請求項５】
ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置から、読出手段により、これらの記憶装置に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、前記ストリームデータを再生して利用者側のクライアント装置に提供するストリームサーバにおいて、
前記ストリームデータを構成する各ストライプを格納している前記記憶装置およびその格納場所に関するストライピング情報を保持するストライピング情報保持手段と、
前記複数の記憶装置に対するアクセスについてのスケジュールに関するスケジュール情報を保持するスケジュール情報保持手段とを備え、
前記複数の記憶装置は、前記ストリームデータを構成する複数のストライプを所定の基準に従って分類して得られる複数のグループごとに、複数の記憶装置を基点として前記スケジュールで規定された順序に従って行われたストライプの分配によって、分配された各ストライプをそれぞれ選択的に格納する構成であり、
前記読出手段は、
アクセス指示に応じて、指定された記憶装置にアクセスし、指定されたストライプを読み出すアクセス手段と、
指定ストライプへのアクセス指示の入力に応じて、前記ストライピング情報保持手段を参照し、前記指定ストライプに対応するストライピング情報を検索する検索手段と、
前記スケジュール情報と、検索結果として得られたストライピング情報とに基づいて、前記アクセス手段へのアクセス指示を作成するアクセス制御手段とを備えた構成である
ことを特徴とするストリームサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ビデオ・オン・デマンドシステムなどにおいて、動画データや音声データなどのストリームデータを供給するためのストライピング方法およびこのストライピング方法を用いたストリームサーバに関するものである。
利用者からの要求に応じて、映画などのソフトウェアを供給するビデオ・オン・デマンドシステムやマルチメディア情報システムにおいては、多数の利用者に並行してサービスを提供することが必要とされている。
このため、ストリームサーバは、各ソフトウェアに対応するストリームデータを多重にアクセスしてそれぞれの利用者に提供するとともに、一連のストリームとしての転送速度を確保して、利用者に快適なレスポンスを保証する必要がある。
ストリームサーバにおいて、上述したような性能を実現するための技術として、ストリームデータを多数のストライプに分割し、各ストライプを複数の記憶装置に分配して格納するストライピングと呼ばれる技法があり、ビデオ・オン・デマンドシステムなどに適用されている。
【０００２】
【従来の技術】
図７に、従来のストライピング技法を適用したストリームサーバの構成例を示す。
図７に示したストリームサーバにおいて、ストリームデータは、ｎ個のストライプＡ1 〜Ａn に分割され、４つのディスク装置４１１1 〜４１１4 に分散して格納されている。
【０００３】
例えば、上述したｎ個のストライプＡ1 〜Ａn は、ディスク装置４１１1 を分配の基点として、添え字で示した装置番号順に上述した４つのディスク装置４１１1 〜４１１4 に分配して格納されている。また、各タイトルごとに設けられたストライプテーブル４１２には、ストライプ番号に対応して、該当するストライプのストリームデータの格納場所が格納されている。
【０００４】
この場合は、アクセス処理部４１３が、これらのディスク装置４１１1 〜４１１4 を順次にアクセスし、各ストライプのストリームデータを読み出して順次に再生処理部４１４の処理に供することにより、映画などの一連の動画データや音声データを再生することができる。
また、このようにして再生された動画データや音声データは、通信処理部４１５を介して通信回線に送出され、利用者側のセットトップボックスなどのクライアント装置（図示せず）に渡される。
【０００５】
ここで、再生処理部４１４によって１ストライプ分のストリームデータを再生するためには所定の再生時間Ｔを要するので、アクセス処理部４１３は、読み出したストライプに対応する再生時間が経過するまでに、次の１ストライプ分のストリームデータを読み出して、再生処理部４１４の処理に供すればよい。
したがって、アクセス処理部４１３が、ｍ個のディスク装置４１１に同時にアクセス可能であり、上述した再生時間Ｔの間にディスク装置４１１からｋ個のストライプを読出可能であるとすると、図８(a) に示すように、再生時間Ｔをｋ個のアクセスタイミングに分割し、各ディスク装置４１１へのアクセスタイミングを１ストライプ分ずつずらすことにより、記憶装置数ｍ×分割数ｋ本のストリームを並行して供給することができる。但し、図８(a) は、アクセス処理部４１３が、４台のディスク装置４１１のそれぞれから再生時間Ｔの間に４個分のストライプを読み出し可能とした場合について、各ディスク装置４１１へのアクセスタイミングの割当を示したものであり、４ストライプ分の再生時間（図８において、符号Ｔ１〜Ｔ４で示す）の間に、１６本の各ストリームが４台のディスク装置４１１（図８において、符号＃１〜＃４で示す）をそれぞれタイミングをずらしてアクセスする様子を示している。
【０００６】
各アクセスタイミングにおけるディスク装置４１１の割当は、図８(b) に示すように、図７に示したディスク管理テーブル４１６に、各ストリームがアクセス可能なディスク装置４１１の装置番号として格納されており、更に該当するストリームが空き状態であるか否かを示す空きフラグが付加されている。
アクセス制御部４１７は、上述した割当に従って、アクセスタイミングごとにこのディスク管理テーブル４１６を更新するとともに、受付処理部４１８および通信処理部４１５を介して、クライアント装置（図示せず）からの指示を受け取り、このディスク管理テーブル４１６および上述したストライプテーブル４１２を参照しながらアクセス処理部４１３によるアクセス動作を制御する構成となっている。
【０００７】
例えば、クライアント装置（図示せず）から新規サービスの開始が要求された場合に、アクセス制御部４１７は、まず、指定されたタイトルに対応するストライプテーブル４１２を参照して、先頭のストライプが格納されたディスク装置４１１を検索し、次に、上述したディスク管理テーブル４１６に基づいて、適切なストリームを該当するクライアント装置（図示せず）に割り当てて、サービスを開始すればよい。
【０００８】
このとき、アクセス制御部４１７は、ディスク管理テーブル４１６から、上述した先頭のストライプに対応するディスク装置４１１に最も早くアクセス可能な空きストリームを検索し、このストリームを新規のサービスに割り当てればよい。
このようにして、利用者からの要求に応じてサービスが開始され、その後は、このストリームにおいて、各ストライプのストリームデータが順次に送出され、利用者に連続的な動画や音声が提供される。
【０００９】
一方、利用者が所望のシーンへのジャンプなどを指示した場合に、アクセス制御部４１７は、この指示およびジャンプ先を受付処理部４１８から受け取って、ストライプテーブル４１２からジャンプ先のストライプの格納場所を検索し、再び、ディスク管理テーブル４１６を参照して、該当するディスク装置４１１に最も早くアクセス可能なストリームに切り換えればよい。
【００１０】
このようなストリームの乗り換え制御を行うことにより、利用者に対して、可能な限りのレスポンスを提供することができる。
【００１１】
【発明が解決しようとする課題】
従来の方法では、ストリームデータの各ストライプは、各ストリームにおいてストリームデータが滞りなく流れることを前提として、各ストライプのストリームデータの性質にかかわらず、単純にストリームデータ全体における順序に従って重複することなく配置されていた。
【００１２】
したがって、メニューの画面やクライアント装置（図示せず）に所定の動作を実行させるためのスクリプトと呼ばれる一種のプログラムなどのように、明らかに他のストライプとはアクセス頻度が異なっているストライプも、他のストライプと同様に、ディスク装置４１１のいずれかに格納されていた。
このため、空きストリームが少ないときには、映画などを途中で中断して、別の画面にジャンプしたり、メニュー画面を呼び出そうとした場合に、待ち時間が発生することがある。
【００１３】
なぜなら、上述したようなストリームの乗り換えを行ったとしても、次にアクセス可能なディスク装置４１１にジャンプ先のストライプが格納されているとは限らないからである。
例えば、ストリーム１がディスク装置４１１1 にアクセスするタイミングに、このディスク装置４１１1 に格納されたストライプＡi へのジャンプが指示された場合に、ストリーム５からストリーム８に空きがなければ、次の再生時間Ｔの間にディスク装置４１１1 をアクセスすることはできない（図８(a) 参照）。この場合は、他のストリームから乗り換え先を選択するので、少なくとも再生時間Ｔ分の待ち時間が発生し、最悪の場合は、再生時間Ｔ×ディスク装置数ｍの待ち時間が発生する。
【００１４】
本発明は、アクセス頻度が異なるストライプを含むストリームデータをレスポンスを維持しながら供給可能なストリームデータ供給システムを提供することを目的とする。
【００１５】
【課題を解決するための手段】
図１(a),(b) は、請求項１および請求項２のストライピング方法の原理を示す図である。
【００１６】
請求項１の発明は、ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置から、これらの記憶装置に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、前記ストリームデータを再生して利用者側のクライアント装置に提供するストリームサーバにおいて、複数の記憶装置から記憶装置の数より少ない複数の記憶装置を分配の基点として選択し、選択された記憶装置をそれぞれ基点として、ストリームデータの全てのストライプを前記スケジュールで規定されたアクセス順に従って複数の記憶装置に分配することを特徴とする。
【００１７】
請求項１の発明は、ストリームデータ全体を基点となる記憶装置をずらして重複してストライピングするので、ストリームデータの各ストライプは、ストライピングの重複数（以下、重複度と称する）だけそれぞれ異なる記憶装置に格納される。したがって、任意のストライプに対するアクセスが必要となったときに、スケジュールで規定されたタイミングで、アクセス可能な記憶装置に該当するストライプが存在する確率が大きくなっている。これにより、ジャンプ再生指示に応じた任意ストライプへのアクセスなどによってアクセス頻度に変動が生じた場合にも、指定されたストライプをアクセスするまでに必要な平均的な待ち時間を削減し、ストリームサーバのレスポンスを維持することができる。
【００１８】
請求項２の発明は、ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置から、これらの記憶装置に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、ストリームデータを再生して利用者側のクライアント装置に提供するストリームサーバにおいて、ストリームデータをそれぞれ少なくとも１つの連続したストライプからなる複数のグループに分類し、複数のグループごとに、複数の記憶装置から複数の記憶装置をそれぞれ選択し、複数のグループに対応して選択した記憶装置それぞれを基点として、対応するグループに属するストライプを前記スケジュールで規定されたアクセス順に従って前記複数の記憶装置に分配することを特徴とする。
【００１９】
請求項２の発明は、ストリームデータを構成するｎ個のストライプを複数のグループに分類し、このグループごとに基点となる記憶装置を選択してストライピングするので、それぞれが属するグループに応じて、ストリームデータの各ストライプの重複度を変えることができる。
これにより、例えば、ストリームデータから、メニュー画面の表示やスクリプト再生に関するストライプのようにアクセス頻度の高いストライプを分離し、これらのストライプからなるグループの重複度を、他の連続的なアクセスが期待されるストライプからなるグループの重複度とは独立に決定し、アクセス頻度の高いグループに属するストライプにアクセスするまでの平均待ち時間の短縮を図ることができる。
請求項３の発明は、請求項２に記載のストライピング方法において、ストリームデータを構成する各ストライプに対するアクセス頻度に応じて、各ストライプを複数のグループに分類し、アクセス頻度の高いグループに対応して、他のグループよりも多い記憶装置をストライピングの基点として選択することを特徴とする。
【００２０】
特に、請求項３の発明は、ストリームデータを構成する複数のストライプをアクセス頻度に応じてグループ分けし、アクセス頻度の高いストライプからなるグループに高い重複度を与えているので、これらのストライプは重複度分の記憶装置に重複して格納される。したがって、これらのストライプへのアクセスが必要とされたときに、スケジュールで規定されたタイミングでアクセス可能な記憶装置に指定されたストライプが存在する確率を大きくすることができるので、該当するストライプにアクセスするまでの平均待ち時間を短縮し、レスポンスの向上を図ることができる。
【００２１】
図２は、本発明のストリームサーバの原理ブロック図である。
請求項４の発明は、ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置１０１から、読出手段１０２により、これらの記憶装置１０１に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、ストリームデータを再生して利用者側のクライアント装置１０３に提供するストリームサーバにおいて、ストリームデータを構成する各ストライプを格納している記憶装置１０１およびその格納場所に関するストライピング情報を保持するストライピング情報保持手段１１１と、複数の記憶装置１０１に対するアクセスについてのスケジュールに関するスケジュール情報を保持するスケジュール情報保持手段１１２とを備え、複数の記憶装置１０１は、相異なる記憶装置１０１を基点としてスケジュールで規定された順序に従って行われたストライプの分配によって、分配された各ストライプをそれぞれ選択的に格納する構成であり、読出手段１０２は、アクセス指示に応じて、指定された記憶装置１０１にアクセスし、指定されたストライプを読み出すアクセス手段１１３と、指定ストライプへのアクセス指示の入力に応じて、ストライピング情報保持手段１１１を参照し、指定ストライプに対応するストライピング情報を検索する検索手段１１４と、スケジュール情報と、検索結果として得られたストライピング情報とに基づいて、アクセス手段１１３へのアクセス指示を作成するアクセス制御手段１１５とを備えた構成であることを特徴とする。
【００２２】
請求項４の発明では、読出手段１０２に備えられた検索手段１１４およびアクセス制御手段１１５がアクセス指示に応じて動作し、ストライピング情報保持手段１１１およびスケジュール情報保持手段１１２にそれぞれ保持されたストライピング情報およびスケジュール情報に基づいて、アクセス手段１１３の動作を制御する。これにより、複数の記憶装置１０１に重複してストライピングされたストリームデータの中から指定されたストライプを読み出して、クライアント装置１０３に提供することができる。
【００２３】
複数の記憶装置１０１には、上述した請求項１のストライピング方法に従って、ストリームデータ全体が重複してストライピングされているので、任意のストライプがアクセス対象として指定されたときに、アクセス手段１１３がスケジュールに従ってアクセス可能な記憶装置１０１に指定されたストライプが格納されている確率が重複度に対応して高くなっている。また、ストリームの乗換えが必要となる場合にも、選択可能な候補ストリームが多くなるので、待ち時間を発生させずに、指定されたストライプを読み出すことができる可能性を高くすることができる。これにより、ジャンプ再生のような指定ストライプに対するアクセス指示によって生じるアクセス頻度の変化に柔軟に対応し、平均的な待ち時間を短縮してレスポンス性能を維持することが可能となり、利用者に快適なサービスを提供することができる。
【００２４】
請求項５の発明は、ストリームデータを複数個に分割して得られるストライプを分散して格納する複数の記憶装置１０１から、読出手段１０２により、これらの記憶装置１０１に対するアクセスについて予め決定されたスケジュールに従って各ストライプを順次に読み出し、前記ストリームデータを再生して利用者側のクライアント装置１０３に提供するストリームサーバにおいて、ストリームデータを構成する各ストライプを格納している前記記憶装置１０１およびその格納場所に関するストライピング情報を保持するストライピング情報保持手段１１１と、複数の記憶装置１０１に対するアクセスについてのスケジュールに関するスケジュール情報を保持するスケジュール情報保持手段１１２とを備え、複数の記憶装置１０１は、前記ストリームデータを構成する複数のストライプを所定の基準に従って分類して得られる複数のグループごとに、複数の記憶装置１０１を基点として前記スケジュールで規定された順序に従って行われたストライプの分配によって、分配された各ストライプをそれぞれ選択的に格納する構成であり、読出手段１０２は、アクセス指示に応じて、指定された記憶装置１０１にアクセスし、指定されたストライプを読み出すアクセス手段１１３と、指定ストライプへのアクセス指示の入力に応じて、ストライピング情報保持手段１１１を参照し、指定ストライプに対応するストライピング情報を検索する検索手段１１４と、スケジュール情報と、検索結果として得られたストライピング情報とに基づいて、アクセス手段１１３へのアクセス指示を作成するアクセス制御手段１１５とを備えた構成であることを特徴とする。
【００２５】
請求項５の発明は、読出手段１０１に備えられた検索手段１１４およびアクセス制御手段１１５がアクセス指示に応じて動作し、ストライピング情報保持手段１１１およびスケジュール情報保持手段１１２にそれぞれ保持されたストライピング情報およびスケジュール情報に基づいて、アクセス手段１１３の動作を制御することにより、複数の記憶装置１０１に重複してストライピングされたストリームデータの中から指定されたストライプを読み出して、クライアント装置１０３に提供することができる。
【００２６】
複数の記憶装置１０１には、上述した請求項２のストライピング方法に従って、ストリームデータがグループごとに重複してストライピングされているので、アクセス手段１１３が、スケジュールに従ってアクセス可能な記憶装置１０１から指定されたストライプを対応するグループの重複度に応じた確率で読み出すことができる。これにより、１つのストリームデータを構成する各グループのアクセス頻度の格差に柔軟に対応し、平均的な待ち時間を短縮してレスポンス性能を維持することが可能となり、利用者に快適なサービスを提供することができる。
【００２７】
【発明の実施の形態】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
図３は、請求項４のストリームサーバの実施形態を示す図である。
図３に示したストリームサーバ２１０において、４台のディスク装置２１１1 〜２１１4 は記憶装置１０１に相当するものであり、請求項１のストライピング方法によってストライピングされたストリームデータを格納している。例えば、ディスク装置２１１1 を基点としてストライピングしたストリームデータと、ディスク装置２１１2 を基点としてストライピングしたストリームデータとを格納している。
【００２８】
この場合は、各ストライプのストリームデータは、装置番号が連続した２つのディスク装置２１１に重複して格納されており、各ストライプのストリームデータの格納場所は、図４(a) に示すように、各タイトルに含まれるストライプにそれぞれ対応するストライプテーブル２１２1 〜２１２n にそれぞれ格納されている。
【００２９】
以下、ディスク装置２１１1 〜２１１4 およびストライプテーブル２１２1 〜２１２n をそれぞれ総称する際は、単に、ディスク装置２１１およびストライプテーブル２１２と称する。
また、図３において、タイトルごとに設けられたストライピングテーブル２１３は、図４(b) に示すように、ストライプ番号に対応して、各ストライプに対応するストライプテーブル２１２を示すポインタＰｉと、そのストライプが格納されているディスク装置２１１の数を重複度として格納している。
【００３０】
このように、ストライピングテーブル２１３に格納されたポインタによって、適切なストライプテーブル２１２を示す構成とすることにより、これらの各部により、請求項４で述べたストライピング情報保持手段１１１の機能を実現し、請求項１で述べたストライピング方法によってストライピングされた各ストライプの格納場所に関するストライピング情報を過不足なく保持することができる。
【００３１】
このストライピングテーブル２１３は、上述したストライプテーブル２１２およびディスク管理テーブル４１６とともに、アクセス制御部２１４の処理に供されており、このアクセス制御部２１４からの指示に応じて、アクセス手段１１３に相当するアクセス処理部４１３が動作する構成となっている。
図３に示したアクセス制御部２１４において、ストリーム管理部２２１は、受付処理部４１８を介して新規サービスの開始やストリームのジャンプなどの指示を受け取り、検索処理部２２２、照合処理部２２３および割り当て処理部２２４に対してそれぞれの動作を指示し、これらの処理結果に応じて、アクセス処理部４１３の動作を制御する構成となっている。
【００３２】
図３において、検索処理部２２２は請求項４で述べた検索手段１１４に相当するものであり、ストリーム管理部２２１からの指示に応じて、ストライピングテーブル２１３およびストライプテーブル２１２を参照し、指定されたストライプの格納場所をストリーム管理部２２１に返す構成となっている。
また、照合処理部２２３は、ストリーム管理部２２１からの指示に応じて、上述したストライプの格納場所と、請求項４で述べたスケジュール情報保持手段１１２に相当するディスク管理テーブル４１６内の情報とを照合する構成となっている。
【００３３】
また、図２において、割当処理部２２４は、ストリーム管理部２２１からの指示に応じて、候補抽出部２２５が、ディスク管理テーブル４１６に基づいて割当先の候補となる候補ストリームを抽出し、割当決定部２２６が、抽出された候補ストリームの中から１つを選択してストリーム管理部２２１に通知する構成となっている。
【００３４】
すなわち、検索処理部２２２による検索結果とディスク管理テーブル４１６の内容に応じて、ストリーム管理部２２１、照合処理部２２３および割り当て処理部２２４が動作することにより、請求項４で述べたアクセス制御手段１１５の機能を実現する構成となっている。
図５に、ストリーム管理動作を表す流れ図を示す。
【００３５】
利用者から新規のサービス提供開始が指示された場合や、サービス中に指定先へのジャンプなどが指定された場合に、アクセス制御部２１４は、受付処理部４１８から指定されたタイトルおよびストライプを受け取って動作を開始する。
まず、ストリーム管理部２２１からの指示に応じて、検索処理部２２２は、タイトルに対応するストライピングテーブル２１３を参照し、得られたポインタで示されるストライプテーブル２１２から指定ストライプのストリームデータが格納されたディスク装置２１１の装置番号を検索する（ステップ３０１）。
【００３６】
次に、ストリーム管理部２２１は、受付処理部４１８から受け取った指示がジャンプ要求であるか否かを判定し（ステップ３０２）、肯定判定の場合に、ステップ３０１で検索した装置番号と要求元のストリーム番号を照合処理部２２３に渡せばよい。
これに応じて、照合処理部２２３はディスク管理テーブル４１６を参照し、検索結果として受け取った装置番号のそれぞれと要求元のストリームに対応するディスク装置２１１の装置番号とを照合し（ステップ３０３）、この照合結果に基づいて、ストリーム管理部２２１は、ストリームの乗り換えが必要であるか否かを判定する（ステップ３０４）。
【００３７】
ここで、上述したように、４台のディスク装置２１１に１本のストリームデータを２つ重複してストライピングした場合は、ステップ３０１において、例えば、ストライプ番号Ａi に対応して２つの装置番号（例えば、装置番号１、装置番号２）が検索され、ステップ３０３の処理に供される。
したがって、ストリーム管理部２２１は、要求元のストリームがアクセス可能なディスク装置２１１に対応する装置番号が、ステップ３０１で得られた装置番号のいずれかと一致した旨の照合結果が得られた場合に、ストリームの乗り換えが不要であると判断すればよい。
【００３８】
このとき、ストリーム管理部２２１は、ステップ３０４の否定判定として、そのまま、指定されたストライプへのアクセス処理を実行する旨をアクセス処理部４１３に指示し（ステップ３０５）、処理を終了すればよい。
この場合は、要求元のストリームがアクセス可能なディスク装置に、ジャンプ先のストライプが格納されているから、元のストリームのままで指定されたストライプを読み出すことができ、再生処理部４１４および通信処理部４１５を介してクライアント装置１０３に送出することができるから、利用者を待たせることなく、ジャンプ先のストライプのストリームデータを提供することができる。
【００３９】
一方、ステップ３０４の肯定判定の場合および上述したステップ３０２の否定判定の場合は、ストリーム管理部２２１からの指示に応じて、割当処理部２２４により、以下に述べるストリーム割当処理が行われる。
この場合に、候補抽出部２２５はディスク管理テーブル４１６を参照し、各ストリーム番号に対応する空きフラグに基づいて、空きストリームを検索し（ステップ３０６）、候補ストリームとして割当決定部２２６に通知する。
【００４０】
これに応じて、割当決定部２２６は、まず、これらの候補ストリームそれぞれについて、指定されたディスク装置２１１に対するアクセスが可能となるまでの待ち時間を算出し（ステップ３０７）、最も待ち時間が短い候補ストリームを選択して（ステップ３０８）、ストリーム管理部２２１に通知すればよい。
これに応じて、ストリーム管理部２２１は、該当するストリームを要求元の利用者に対するサービスに割り当て（ステップ３０９）、次いで、ステップ３０５に進んでアクセス処理を実行した後に、処理を終了すればよい。
【００４１】
この場合は、ディスク管理テーブル４１６において、指定されたストライプを格納する複数のディスク装置２１１にアクセス可能とされたストリームのいずれかが空きストリームであれば、要求に応じてこの空きストリームを割り当てることにより、即座に新規サービスの提供および指定ストライプへのジャンプを実現することができる。
【００４２】
また、現アクセスタイミングで指定ストライプにアクセス可能なストリームに空きがない場合においても、指定ストライプのストリームデータが格納された複数のディスク装置２１１のいずれかにアクセスすればよいので、待ち時間を短縮可能な空きストリームが存在する可能性が高い。
上述したように、アクセス制御部２１４の各部が、ストライピングテーブル２１３、ストライプテーブル２１２およびディスク管理テーブル４１６に基づいてストリーム管理動作を行うことにより、請求項１のストライピング方法によって得られるストライプの分布の特徴を利用して、指定ストライプへのアクセス指示に対して、迅速にレスポンス可能なストリームサーバを実現することができる。
【００４３】
これにより、利用者からのジャンプ要求など要求に応じて、各ストライプのストリームデータに対するアクセス頻度に予想不可能な変化が生じた場合においても、この変化に柔軟に対応し、利用者からの要求に対するレスポンスを大幅に向上して、ビデオ・オン・デマンドシステムなどの利用者に快適なサービスを提供することができる。
【００４４】
また、予め、各ストライプのストリームデータごとに利用される頻度が分かっている場合は、利用頻度の高い一部のストライプのみを重複してストライピングしてもよい。
例えば、メニュー画面やスクリプトなどを含むストライプは、利用者に時系列的に提供される動画データや音声データの各ストライプに比べて、アクセス頻度が明らかに異なっており、特に、メニュー画面などは、非常にアクセス頻度が高い。
【００４５】
以下、例えば、メニュー画面を提供するストリームデータを含んだストライプＡ1 ，Ａ2 と、利用者に提供する動画・音声データからなるストライプＡ3 からストライプＡn とからなるストリームデータをストライピングする方法について説明する。
図６に、請求項５のストリームサーバの実施形態を示す図を示す。
【００４６】
図６において、４台のディスク装置２１１1 〜２１１4 には、ディスク装置２１１1 を基点として、ストリームデータ全体がストライピングされるとともに、ディスク装置２１１2 、２１１3 、２１１4 をそれぞれ基点として、ストライプ番号Ａ1 、Ａ2 のストリームデータがストライピングされている。
すなわち、請求項２の発明を適用し、ストリームデータを２つのグループに分割し、ストライプ番号Ａ1 、Ａ2 のストリームデータからなるグループに重複度４を与え、他のストライプには重複度１を与えて、それぞれストライピングされている。
【００４７】
この場合は、ストライプＡ1 、Ａ2 に対応してストライプテーブル２１２1 、２１２2 を設けて、４台のディスク装置２１１1 〜２１１4 における格納場所をそれぞれ示しておき、ストライピングテーブル２１３に、ストライプ番号Ａ1 、Ａ2 に対応してこれらのストライプテーブル２１２1 、２１２2 へのポインタおよび重複度４を格納しておけばよい。
【００４８】
また、ストライプ番号Ａ3 〜Ａn に対応する情報としては、それぞれの格納場所を示す情報および重複度１をストライピングテーブル２１３に格納しておけばよい。
すなわち、この場合は、ストライピングテーブル２１３と２つのストライプテーブル２１２1 、２１２2 とによって、ストライピング情報保持手段１１１の機能が実現されている。
【００４９】
また、これらのテーブルに格納されたストライピング情報と、ディスク管理テーブル４１６に格納されたスケジュール情報とをアクセス制御部２１４の処理に供することにより、請求項２の発明を適用して得られる各ストライプの分布の特徴を利用して、利用者からの要求に迅速にレスポンス可能なストリームサーバを実現することが可能となる。
【００５０】
この場合は、全てのディスク装置２１１にメニュー画面に相当するストライプＡ1 が格納されているから、全てのストリームは、アクセスタイミングにかかわらず該当するストライプにアクセス可能である。
したがって、利用者へのサービスに割り当てられているストリームにかかわらず、メニュー画面を指定したジャンプ指示の入力に応じて、即座に該当するストライプへのジャンプを実現し、メニュー画面を表すストリームデータを利用者に提供することができる。
【００５１】
このように、ストリームデータの一部のストライプをそのアクセス頻度に応じた重複度で重複してストライピングすることにより、該当するストライプがジャンプ先として指定された場合のレスポンスを向上して、利用者に快適なサービスを提供することができる。
特に、メニュー画面は、ジャンプ先として頻繁に指定され、しかもそのデータ量が小さいので、上述したように大きな重複度を与えて重複してストライピングした場合には、わずかな情報量を重複させることにより、大幅なレスポンス性能の向上を期待することができるので、大変効果的である。
【００５２】
同様に、クライアント側のセットトップボックスなどの装置に特定の動作を行わせるため一種のプログラムであるスクリプトも、他のストリームデータに比べてアクセス頻度が高く、また、データ量も小さいので、これらのスクリプトに大きな重複度を与えてストライピングすることにより、大きな効果が期待できる。
【００５３】
【発明の効果】
以上に説明したように、本発明のストライピング方法は、ストリームデータ全体あるいは各部分ごとに、基点を変えて重複してストライピングすることにより、アクセススケジュールで規定された各タイミングにおいて、指定されたストライプをアクセス可能となる確率を大きくし、利用者からのジャンプ指示などによって生じる各ストライプに対するアクセス頻度の変化や各ストライプの性質の違いによるアクセス頻度の差異に柔軟に対応し、平均的な待ち時間を短縮して、利用者に快適なサービスを提供することができる。
【００５４】
また、請求項１あるいは請求項２の発明を適用し、重複してストライピングされた各ストライプの格納場所に関するストライピング情報に基づいて、記憶装置に対するアクセス動作を制御することにより、本発明のストライピング方法によって得られる各ストライプの分布の特徴を利用して、利用者からの要求に迅速に応答可能なストリームサーバを提供することが可能となる。
【図面の簡単な説明】
【図１】請求項１および請求項２のストライピング方法の原理を示す図である。
【図２】本発明のストリームサーバの原理ブロック図である。
【図３】請求項４のストリームサーバの実施形態を示す図である。
【図４】ストライピングテーブルの説明図である。
【図５】ストリーム管理動作を表す流れ図である。
【図６】請求項５のストリームサーバの実施形態を示す図である。
【図７】従来のストライピング技法を用いたストリームサーバの構成例を示す図である。
【図８】ストライピング技法を説明する図である。
【符号の説明】
１０１  記憶装置
１０２  読出手段
１０３  クライアント装置
１１１  ストライピング情報保持手段
１１２  スケジュール情報保持手段
１１３  アクセス手段
１１４  検索手段
１１５  アクセス制御手段
２１０  ストリームサーバ
２１１、４１１  ディスク装置
２１２、４１２  ストライプテーブル
２１３  ストライピングテーブル
２１４、４１７  アクセス制御部
２２１  ストリーム管理部
２２２  検索処理部
２２３  照合処理部
２２４  割当処理部
２２５  候補抽出部
２２６  割当決定部
４１３  アクセス処理部
４１４  再生処理部
４１５  通信処理部
４１６  ディスク管理テーブル
４１８  受付処理部
【図１】
0004057074.tif 000002
【図２】
0004057074.tif 000003
【図３】
0004057074.tif 000004
【図４】
0004057074.tif 000005
【図５】
0004057074.tif 000006
【図６】
0004057074.tif 000007
【図７】
0004057074.tif 000008
【図８】
0004057074.tif 000009