JP2001346142A - デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法 - Google Patents
デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法Info
- Publication number
- JP2001346142A JP2001346142A JP2000163789A JP2000163789A JP2001346142A JP 2001346142 A JP2001346142 A JP 2001346142A JP 2000163789 A JP2000163789 A JP 2000163789A JP 2000163789 A JP2000163789 A JP 2000163789A JP 2001346142 A JP2001346142 A JP 2001346142A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- read
- free list
- management table
- 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.)
- Pending
Links
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
(57)【要約】
【課題】 不必要なディスクアクセスをなくし、ディス
クアクセス帯域の有効利用と頭出し時間の低減を実現す
ること。 【解決手段】 バッファ領域に対応してアドレスおよび
読み込まれたデータが存在するディスク装置上のディス
ク番号及びセクタ番号をバッファ構造体に保持し、この
うち使用していない解放済バッファ構造体1−6を先入
れ先出し方式のフリーリスト1−7で管理し、1つのバ
ッファ構造体を高速検索するための読込済バッファ管理
テーブル1−5に基づき必要データがバッファ領域上に
ある場合には対応するバッファ構造体を、そうでない場
合には先頭のバッファ構造体を返却し、使用済みのバッ
ファ構造体を前記フリーリスト1−7に戻し、読込済バ
ッファ管理テーブル1−5に該当バッファ構造体へのエ
ントリを登録する。
クアクセス帯域の有効利用と頭出し時間の低減を実現す
ること。 【解決手段】 バッファ領域に対応してアドレスおよび
読み込まれたデータが存在するディスク装置上のディス
ク番号及びセクタ番号をバッファ構造体に保持し、この
うち使用していない解放済バッファ構造体1−6を先入
れ先出し方式のフリーリスト1−7で管理し、1つのバ
ッファ構造体を高速検索するための読込済バッファ管理
テーブル1−5に基づき必要データがバッファ領域上に
ある場合には対応するバッファ構造体を、そうでない場
合には先頭のバッファ構造体を返却し、使用済みのバッ
ファ構造体を前記フリーリスト1−7に戻し、読込済バ
ッファ管理テーブル1−5に該当バッファ構造体へのエ
ントリを登録する。
Description
【0001】
【発明の属する技術分野】本発明は、ビデオオンデマン
ド等のデジタル映像・音声を配信するシステム、サー
バ、記憶媒体、バッファの制御方法に関する。
ド等のデジタル映像・音声を配信するシステム、サー
バ、記憶媒体、バッファの制御方法に関する。
【0002】
【従来の技術】ビデオオンデマンドなどのハードディス
クに蓄えられたデジタル映像・音声データの配信を行う
システムでは、データの配信速度に応じてハードディス
クから読み込み、クライアントへデータを送信し続ける
必要がある。送信に遅れが生じた場合は映像・音声に乱
れが生じ、また速く送信しすぎた場合はバッファのオー
バーフローが発生する。
クに蓄えられたデジタル映像・音声データの配信を行う
システムでは、データの配信速度に応じてハードディス
クから読み込み、クライアントへデータを送信し続ける
必要がある。送信に遅れが生じた場合は映像・音声に乱
れが生じ、また速く送信しすぎた場合はバッファのオー
バーフローが発生する。
【0003】このようなシステムでは性能的にボトルネ
ックとなるのは、ディスクからのデータ読み込みであ
る。そのためなるべく効率的にディスクアクセスできる
よう、アクセスタイミングのスケジューリングを行う。
ックとなるのは、ディスクからのデータ読み込みであ
る。そのためなるべく効率的にディスクアクセスできる
よう、アクセスタイミングのスケジューリングを行う。
【0004】しかしそのタイミングはデータの送信タイ
ミングと必ずしも一致しないため、メモリ上にデータを
バッファリングし、その差を吸収することになる。
ミングと必ずしも一致しないため、メモリ上にデータを
バッファリングし、その差を吸収することになる。
【0005】従来のバッファリング方式では、送信に使
用した後でバッファ上に残っているデータを再使用する
ことはなかった。これから送信するデータがバッファ上
に残っていたとしても、あらためてディスクからの読み
込みを行ってから送信を行っていた。
用した後でバッファ上に残っているデータを再使用する
ことはなかった。これから送信するデータがバッファ上
に残っていたとしても、あらためてディスクからの読み
込みを行ってから送信を行っていた。
【0006】
【発明が解決しようとする課題】上述したように、従来
は、バッファ上のデータを再利用しないため、本来必要
でないディスクアクセスを行って、負荷を上げていた。
また、不要なディスクアクセスを行うため、再生要求か
ら再生開始までの頭出し時間が余計にかかっていた。
は、バッファ上のデータを再利用しないため、本来必要
でないディスクアクセスを行って、負荷を上げていた。
また、不要なディスクアクセスを行うため、再生要求か
ら再生開始までの頭出し時間が余計にかかっていた。
【0007】本発明の目的は、バッファ上に残っている
データを再利用することで不必要なディスクアクセスを
なくし、ディスクアクセス帯域の有効利用と、頭出し時
間の低減を実現するデジタル映像・音声データの配信シ
ステム、ビデオサーバ及びバッファの制御方法を提供す
ることにある。
データを再利用することで不必要なディスクアクセスを
なくし、ディスクアクセス帯域の有効利用と、頭出し時
間の低減を実現するデジタル映像・音声データの配信シ
ステム、ビデオサーバ及びバッファの制御方法を提供す
ることにある。
【0008】
【課題を解決するための手段】上記目的を達成するため
に請求項1に係る発明は、ディスク装置に蓄えられたデ
ジタル映像・音声データの配信を行うシステムにおい
て、前記ディスク装置におけるバッファ領域を細分化し
該細分化した各部分領域に1対1対応してアドレスおよ
び読み込まれたデータが存在する前記ディスク装置上の
ディスク番号及びセクタ番号を保持するバッファ構造体
と、このバッファ構造体のうち使用していない解放済バ
ッファ構造体を先入れ先出し方式で管理するフリーリス
トと、このフリーリストのうち有効データを持つフリー
リスト中の1つのバッファ構造体を高速検索するための
読込済バッファ管理テーブルと、この読込済バッファ管
理テーブルに基づき必要データが前記バッファ領域上に
ある場合には対応するバッファ構造体を返却し、必要デ
ータがバッファ上にない場合には前記フリーリストの先
頭のバッファ構造体を返却するバッファ取得手段と、使
用済みのバッファ構造体を前記フリーリストに戻し、前
記読込済バッファ管理テーブルに該当バッファ構造体へ
のエントリを登録するバッファ解放手段とを具備するこ
とを特徴とする。
に請求項1に係る発明は、ディスク装置に蓄えられたデ
ジタル映像・音声データの配信を行うシステムにおい
て、前記ディスク装置におけるバッファ領域を細分化し
該細分化した各部分領域に1対1対応してアドレスおよ
び読み込まれたデータが存在する前記ディスク装置上の
ディスク番号及びセクタ番号を保持するバッファ構造体
と、このバッファ構造体のうち使用していない解放済バ
ッファ構造体を先入れ先出し方式で管理するフリーリス
トと、このフリーリストのうち有効データを持つフリー
リスト中の1つのバッファ構造体を高速検索するための
読込済バッファ管理テーブルと、この読込済バッファ管
理テーブルに基づき必要データが前記バッファ領域上に
ある場合には対応するバッファ構造体を返却し、必要デ
ータがバッファ上にない場合には前記フリーリストの先
頭のバッファ構造体を返却するバッファ取得手段と、使
用済みのバッファ構造体を前記フリーリストに戻し、前
記読込済バッファ管理テーブルに該当バッファ構造体へ
のエントリを登録するバッファ解放手段とを具備するこ
とを特徴とする。
【0009】また請求項2に係る発明は、請求項1記載
のシステムにおいて、前記複数のバッファ構造体をまと
めて順序を保存したまま検索可能な読込済バッファ管理
テーブルと、前記複数のバッファ構造体をまとめて順序
を保存したまま返却可能なバッファ取得手段と、前記複
数のバッファ構造体をまとめて保存したまま読込済バッ
ファ管理テーブルにエントリを登録可能なバッファ解放
手段とを具備することを特徴とする。
のシステムにおいて、前記複数のバッファ構造体をまと
めて順序を保存したまま検索可能な読込済バッファ管理
テーブルと、前記複数のバッファ構造体をまとめて順序
を保存したまま返却可能なバッファ取得手段と、前記複
数のバッファ構造体をまとめて保存したまま読込済バッ
ファ管理テーブルにエントリを登録可能なバッファ解放
手段とを具備することを特徴とする。
【0010】請求項3に係る発明は、デジタル映像・音
声データを蓄えるディスク装置を有し、クライアントか
らのデータ配信要求に応じてバッファに在るデータを前
記クライアントに送信するビデオサーバにおいて、前記
ディスク装置におけるバッファ領域を細分化し該細分化
した各部分領域に1対1対応してアドレスおよび読み込
まれたデータが存在する前記ディスク装置上のディスク
番号及びセクタ番号を保持するバッファ構造体と、この
バッファ構造体のうち使用していない解放済バッファ構
造体を先入れ先出し方式で管理するフリーリストと、こ
のフリーリストのうち有効データを持つフリーリスト中
の1つのバッファ構造体を高速検索するための読込済バ
ッファ管理テーブルと、この読込済バッファ管理テーブ
ルに基づき必要データが前記バッファ領域上にある場合
には対応するバッファ構造体を返却し、必要データがバ
ッファ上にない場合には前記フリーリストの先頭のバッ
ファ構造体を返却するバッファ取得手段と、使用済みの
バッファ構造体を前記フリーリストに戻し、前記読込済
バッファ管理テーブルに該当バッファ構造体へのエント
リを登録するバッファ解放手段とを具備する。
声データを蓄えるディスク装置を有し、クライアントか
らのデータ配信要求に応じてバッファに在るデータを前
記クライアントに送信するビデオサーバにおいて、前記
ディスク装置におけるバッファ領域を細分化し該細分化
した各部分領域に1対1対応してアドレスおよび読み込
まれたデータが存在する前記ディスク装置上のディスク
番号及びセクタ番号を保持するバッファ構造体と、この
バッファ構造体のうち使用していない解放済バッファ構
造体を先入れ先出し方式で管理するフリーリストと、こ
のフリーリストのうち有効データを持つフリーリスト中
の1つのバッファ構造体を高速検索するための読込済バ
ッファ管理テーブルと、この読込済バッファ管理テーブ
ルに基づき必要データが前記バッファ領域上にある場合
には対応するバッファ構造体を返却し、必要データがバ
ッファ上にない場合には前記フリーリストの先頭のバッ
ファ構造体を返却するバッファ取得手段と、使用済みの
バッファ構造体を前記フリーリストに戻し、前記読込済
バッファ管理テーブルに該当バッファ構造体へのエント
リを登録するバッファ解放手段とを具備する。
【0011】請求項4に係る発明は、請求項3記載のビ
デオサーバにおいて、前記複数のバッファ構造体をまと
めて順序を保存したまま検索可能な読込済バッファ管理
テーブルと、前記複数のバッファ構造体をまとめて順序
を保存したまま返却可能なバッファ取得手段と、前記複
数のバッファ構造体をまとめて保存したまま読込済バッ
ファ管理テーブルにエントリを登録可能なバッファ解放
手段とを具備することを特徴とする。
デオサーバにおいて、前記複数のバッファ構造体をまと
めて順序を保存したまま検索可能な読込済バッファ管理
テーブルと、前記複数のバッファ構造体をまとめて順序
を保存したまま返却可能なバッファ取得手段と、前記複
数のバッファ構造体をまとめて保存したまま読込済バッ
ファ管理テーブルにエントリを登録可能なバッファ解放
手段とを具備することを特徴とする。
【0012】請求項5に係る発明は、クライアントから
のデータ配信要求に応じてネットワークを介し前記クラ
イアントにデータを送信する、ディスク装置を有するビ
デオサーバに適用され、該ビデオサーバを所定動作にて
実行させるプログラムを保持したコンピュータ読み取り
可能な記憶媒体において、前記ディスク装置におけるバ
ッファ領域を細分化し該細分化した各部分領域に1対1
対応してアドレスおよび読み込まれたデータが存在する
前記ディスク装置上のディスク番号及びセクタ番号をバ
ッファ構造体に保持するステップと、この保持したバッ
ファ構造体のうち使用していない解放済バッファ構造体
を先入れ先出し方式のフリーリストで管理するステップ
と、この管理のためのフリーリストのうち有効データを
持つフリーリスト中の1つのバッファ構造体を高速検索
するための読込済バッファ管理テーブルに基づき必要デ
ータが前記バッファ領域上にある場合には対応するバッ
ファ構造体を返却し、必要データがバッファ上にない場
合には前記フリーリストの先頭のバッファ構造体を返却
するステップと、使用済みのバッファ構造体を前記フリ
ーリストに戻し、前記読込済バッファ管理テーブルに該
当バッファ構造体へのエントリを登録するステップとを
実行させるためのプログラムを記憶したことを特徴とす
る。
のデータ配信要求に応じてネットワークを介し前記クラ
イアントにデータを送信する、ディスク装置を有するビ
デオサーバに適用され、該ビデオサーバを所定動作にて
実行させるプログラムを保持したコンピュータ読み取り
可能な記憶媒体において、前記ディスク装置におけるバ
ッファ領域を細分化し該細分化した各部分領域に1対1
対応してアドレスおよび読み込まれたデータが存在する
前記ディスク装置上のディスク番号及びセクタ番号をバ
ッファ構造体に保持するステップと、この保持したバッ
ファ構造体のうち使用していない解放済バッファ構造体
を先入れ先出し方式のフリーリストで管理するステップ
と、この管理のためのフリーリストのうち有効データを
持つフリーリスト中の1つのバッファ構造体を高速検索
するための読込済バッファ管理テーブルに基づき必要デ
ータが前記バッファ領域上にある場合には対応するバッ
ファ構造体を返却し、必要データがバッファ上にない場
合には前記フリーリストの先頭のバッファ構造体を返却
するステップと、使用済みのバッファ構造体を前記フリ
ーリストに戻し、前記読込済バッファ管理テーブルに該
当バッファ構造体へのエントリを登録するステップとを
実行させるためのプログラムを記憶したことを特徴とす
る。
【0013】請求項6に係る発明は、ディスク装置に蓄
えられたデジタル映像・音声データの配信を行うシステ
ムに適用され、クライアントからのデータ配信要求に応
じてバッファに在るデータを前記クライアントに送信す
る際の前記バッファの制御方法において、前記ディスク
装置におけるバッファ領域を細分化し該細分化した各部
分領域に1対1対応してアドレスおよび読み込まれたデ
ータが存在する前記ディスク装置上のディスク番号及び
セクタ番号をバッファ構造体に保持し、この保持したバ
ッファ構造体のうち使用していない解放済バッファ構造
体を先入れ先出し方式のフリーリストで管理し、この管
理のためのフリーリストのうち有効データを持つフリー
リスト中の1つのバッファ構造体を高速検索するための
読込済バッファ管理テーブルに基づき必要データが前記
バッファ領域上にある場合には対応するバッファ構造体
を返却し、必要データがバッファ上にない場合には前記
フリーリストの先頭のバッファ構造体を返却し、使用済
みのバッファ構造体を前記フリーリストに戻し、前記読
込済バッファ管理テーブルに該当バッファ構造体へのエ
ントリを登録することを特徴とする。
えられたデジタル映像・音声データの配信を行うシステ
ムに適用され、クライアントからのデータ配信要求に応
じてバッファに在るデータを前記クライアントに送信す
る際の前記バッファの制御方法において、前記ディスク
装置におけるバッファ領域を細分化し該細分化した各部
分領域に1対1対応してアドレスおよび読み込まれたデ
ータが存在する前記ディスク装置上のディスク番号及び
セクタ番号をバッファ構造体に保持し、この保持したバ
ッファ構造体のうち使用していない解放済バッファ構造
体を先入れ先出し方式のフリーリストで管理し、この管
理のためのフリーリストのうち有効データを持つフリー
リスト中の1つのバッファ構造体を高速検索するための
読込済バッファ管理テーブルに基づき必要データが前記
バッファ領域上にある場合には対応するバッファ構造体
を返却し、必要データがバッファ上にない場合には前記
フリーリストの先頭のバッファ構造体を返却し、使用済
みのバッファ構造体を前記フリーリストに戻し、前記読
込済バッファ管理テーブルに該当バッファ構造体へのエ
ントリを登録することを特徴とする。
【0014】請求項7に係る発明は、請求項6記載のバ
ッファの制御方法において、前記バッファ構造体を複数
まとめ、該複数まとめたバッファ構造体の順序を保存し
たまま検索し、返却し、読込済バッファ管理テーブルに
エントリを登録することを特徴とする。
ッファの制御方法において、前記バッファ構造体を複数
まとめ、該複数まとめたバッファ構造体の順序を保存し
たまま検索し、返却し、読込済バッファ管理テーブルに
エントリを登録することを特徴とする。
【0015】
【発明の実施の形態】以下、本発明に係るデジタル映像
・音声データの配信システム、ビデオサーバ及びバッフ
ァの制御方法の各実施形態を、図面を参照して説明す
る。
・音声データの配信システム、ビデオサーバ及びバッフ
ァの制御方法の各実施形態を、図面を参照して説明す
る。
【0016】図3は本発明に係るデジタル映像・音声デ
ータの配信システムの一例であるビデオオンデマンドシ
ステムを示すブロック図である。
ータの配信システムの一例であるビデオオンデマンドシ
ステムを示すブロック図である。
【0017】図3において、クライアント3−11から
のビデオ再生要求は、ネットワーク3−10を通ってビ
デオサーバ3−1に伝えられる。ネットワーク3−10
は、Ethernet(登録商標)、ATM、CATV
など様々な形態があり得る。ビデオサーバ3−1に伝え
られたビデオ再生要求は通信制御装置3−9で受信さ
れ、要求受付機能3−4へ送られる。通信制御装置3−
9は様々なネットワーク形態に対応してデータの送受信
をするための装置で、複数個を使用して複数のネットワ
ークに対応したり、送信および受信を別々の装置で担当
したり、様々な構成を採り得る。要求受付機能3−4は
ビデオ再生要求に対応して制御タスク3−5をひとつ生
成する。制御タスク3−5は再生要求と1対1にしてお
り、データのディスク装置3−3からの読み込みからネ
ットワーク3−10への送信までの一連の処理を担当す
る。
のビデオ再生要求は、ネットワーク3−10を通ってビ
デオサーバ3−1に伝えられる。ネットワーク3−10
は、Ethernet(登録商標)、ATM、CATV
など様々な形態があり得る。ビデオサーバ3−1に伝え
られたビデオ再生要求は通信制御装置3−9で受信さ
れ、要求受付機能3−4へ送られる。通信制御装置3−
9は様々なネットワーク形態に対応してデータの送受信
をするための装置で、複数個を使用して複数のネットワ
ークに対応したり、送信および受信を別々の装置で担当
したり、様々な構成を採り得る。要求受付機能3−4は
ビデオ再生要求に対応して制御タスク3−5をひとつ生
成する。制御タスク3−5は再生要求と1対1にしてお
り、データのディスク装置3−3からの読み込みからネ
ットワーク3−10への送信までの一連の処理を担当す
る。
【0018】制御タスク3−5は、ディスク装置3−3
からデータをバッファ3−8上に読み込む。ディスク装
置3−3はヘッドのシーク時間などアクセスのオーバー
ヘッドが大きいため、ある程度まとまった大きさのデー
タを一度に読み込まないと効率が悪い。よってデータを
ある一定のサイズごとに区切って取り扱う。この単位を
セグメントと呼ぶ。1つのセグメントは1つのディスク
装置3−3上の連続領域に配置される。次のセグメント
は別のディスク装置3−3上に配置する。このようにデ
ィスク装置3−3に巡回的に配置することで、ディスク
アクセスの負荷を分散させている。各セグメントがどの
ディスク装置3−3のどのセクタから配置されているか
は、ディスク配置情報3−2に記録される。ここで各デ
ィスク装置3−3は、単体のディスクのみならず、RA
IDなどを用いて仮想的に単一のディスクに見えるよう
にした構成も有り得る。
からデータをバッファ3−8上に読み込む。ディスク装
置3−3はヘッドのシーク時間などアクセスのオーバー
ヘッドが大きいため、ある程度まとまった大きさのデー
タを一度に読み込まないと効率が悪い。よってデータを
ある一定のサイズごとに区切って取り扱う。この単位を
セグメントと呼ぶ。1つのセグメントは1つのディスク
装置3−3上の連続領域に配置される。次のセグメント
は別のディスク装置3−3上に配置する。このようにデ
ィスク装置3−3に巡回的に配置することで、ディスク
アクセスの負荷を分散させている。各セグメントがどの
ディスク装置3−3のどのセクタから配置されているか
は、ディスク配置情報3−2に記録される。ここで各デ
ィスク装置3−3は、単体のディスクのみならず、RA
IDなどを用いて仮想的に単一のディスクに見えるよう
にした構成も有り得る。
【0019】ビデオ再生要求が同時に複数個発生する場
合もあるため、各制御タスク3−5によるディスクアク
セスが同時に同じディスク装置3−3に対して発生しな
いように排他制御する必要がある。これを行うのがスケ
ジューラ3−6である。スケジューラ3−6は、排他的
なディスクアクセスとデータ送信が途切れないような継
続的なディスクアクセスを登録された各制御タスク3−
5に対して保証し、アクセスタイミングを指示する。こ
こではスケジューラ3−6の詳細は省略する。
合もあるため、各制御タスク3−5によるディスクアク
セスが同時に同じディスク装置3−3に対して発生しな
いように排他制御する必要がある。これを行うのがスケ
ジューラ3−6である。スケジューラ3−6は、排他的
なディスクアクセスとデータ送信が途切れないような継
続的なディスクアクセスを登録された各制御タスク3−
5に対して保証し、アクセスタイミングを指示する。こ
こではスケジューラ3−6の詳細は省略する。
【0020】バッファ3−8領域についても、各制御タ
スク3−5間で排他制御する必要がある。これを行うの
がバッファ管理機能3−7で、本発明の各請求項に対応
する部分である。制御タスク3−5はバッファ管理機能
3−7から取得したバッファ3−8の部分領域のみを使
用することで排他を実現する。
スク3−5間で排他制御する必要がある。これを行うの
がバッファ管理機能3−7で、本発明の各請求項に対応
する部分である。制御タスク3−5はバッファ管理機能
3−7から取得したバッファ3−8の部分領域のみを使
用することで排他を実現する。
【0021】本実施形態では、送信するメディアデータ
はコンスタントビットレートと仮定している。よって各
セグメントの再生時間もひとつのコンテンツにおいては
常に一定となる。この時間をセグメント時間と呼ぶ。制
御タスク3−5はバッファ3−8上のセグメントデータ
をセグメント時間を通して一定レートで通信制御装置3
−9へ送りつづける。通信制御装置3−9はネットワー
ク3−10を通して、ビデオ再生要求元のクライアント
3−11へデータを送信する。
はコンスタントビットレートと仮定している。よって各
セグメントの再生時間もひとつのコンテンツにおいては
常に一定となる。この時間をセグメント時間と呼ぶ。制
御タスク3−5はバッファ3−8上のセグメントデータ
をセグメント時間を通して一定レートで通信制御装置3
−9へ送りつづける。通信制御装置3−9はネットワー
ク3−10を通して、ビデオ再生要求元のクライアント
3−11へデータを送信する。
【0022】バッファ3−8の使用方法を図4に示す。
1つのセグメントが収まるサイズのバッファ部分領域
(バッファ単位)を2つ用い、1つのバッファ単位で送
信を行っている最中に、もう1つのバッファ単位に次の
セグメントをディスク装置3−3から読み込む。この方
法をダブルバッファリングと呼ぶ。スケジューラ3−6
はあるセグメントの送出開示時刻までにそのデータのデ
ィスク装置3−3からの読み込みを保証する。スケジュ
ーラ3−6からディスクアクセス指示があると、制御タ
スク3−5はバッファ管理機能3−7からバッファ単位
を取得し、そこへセグメントのデータを読み込む。その
セグメントの送出開始時刻になると、セグメント時間を
かけて一定レートでデータを送出する。
1つのセグメントが収まるサイズのバッファ部分領域
(バッファ単位)を2つ用い、1つのバッファ単位で送
信を行っている最中に、もう1つのバッファ単位に次の
セグメントをディスク装置3−3から読み込む。この方
法をダブルバッファリングと呼ぶ。スケジューラ3−6
はあるセグメントの送出開示時刻までにそのデータのデ
ィスク装置3−3からの読み込みを保証する。スケジュ
ーラ3−6からディスクアクセス指示があると、制御タ
スク3−5はバッファ管理機能3−7からバッファ単位
を取得し、そこへセグメントのデータを読み込む。その
セグメントの送出開始時刻になると、セグメント時間を
かけて一定レートでデータを送出する。
【0023】データのビットレートが変わると、セグメ
ントサイズとセグメント時間のどちらかは変わらざるを
得ない。様々なビットレートのデータを1つのシステム
上で統一的に取り扱うには、以下の2つの方法がある。
ントサイズとセグメント時間のどちらかは変わらざるを
得ない。様々なビットレートのデータを1つのシステム
上で統一的に取り扱うには、以下の2つの方法がある。
【0024】(1) セグメントサイズを一定とする。高
ビットレートほどセグメント時間は短くなる。
ビットレートほどセグメント時間は短くなる。
【0025】(2) セグメント時間を一定とする。高
ビットレートほどセグメントサイズは大きくなる。
ビットレートほどセグメントサイズは大きくなる。
【0026】図4の場合にあって、倍のビットレートの
データを(1)の一定セグメントサイズで扱う場合を図5
に示す。セグメント時間は半分になり、ディスクアクセ
ス間隔も半分になっている。
データを(1)の一定セグメントサイズで扱う場合を図5
に示す。セグメント時間は半分になり、ディスクアクセ
ス間隔も半分になっている。
【0027】図4の場合にあって、倍のビットレートの
データを(2)の一定セグメント時間で扱う場合を図6
に示す。セグメントサイズが倍になるため、一度に使用
するバッファ単位も倍の数を使用している。ディスクア
クセス間隔は変わらないが、一回のディスクアクセスの
所要時間は倍になっている。
データを(2)の一定セグメント時間で扱う場合を図6
に示す。セグメントサイズが倍になるため、一度に使用
するバッファ単位も倍の数を使用している。ディスクア
クセス間隔は変わらないが、一回のディスクアクセスの
所要時間は倍になっている。
【0028】本発明の一実施形態に対応するバッファ管
理機能の構成を図1を用いて説明する。これは上記(1)
一定セグメントサイズで使用する場合に相当する。
理機能の構成を図1を用いて説明する。これは上記(1)
一定セグメントサイズで使用する場合に相当する。
【0029】バッファ1−4は、セグメントサイズに相
当するサイズに細分化される。そのそれぞれをバッファ
単位と呼ぶ。各バッファ単位には1対1に対応するバッ
ファ構造体1−6,1−8が存在する。バッファ構造体
1−6,1−8は対応するバッファ単位のアドレスを保
持する。
当するサイズに細分化される。そのそれぞれをバッファ
単位と呼ぶ。各バッファ単位には1対1に対応するバッ
ファ構造体1−6,1−8が存在する。バッファ構造体
1−6,1−8は対応するバッファ単位のアドレスを保
持する。
【0030】現在使用していないバッファ構造体は、解
放済バッファ構造体1−6と呼び、フリーリスト1−7
へ入れられている。
放済バッファ構造体1−6と呼び、フリーリスト1−7
へ入れられている。
【0031】解放済バッファ構造体1−6に対応するバ
ッファ単位の内容は書き換えられることはない。フリー
リスト1−7は先入れ先出し型のリスト(キュー)で、
これを用いて管理することで、最も最後に使用したデー
タが最も長く保存されるようになる。バッファ構造体が
フリーリスト1−7から取り出され、制御タスク1−1
に渡されると、その使用中バッファ構造体1−8の指す
バッファ単位が使用可能となる。複数の制御タスク1−
1でバッファ構造体1−8が共有されることはないた
め、バッファ領域の排他が実現できる。ここまでは従来
の技術の範疇であるが、本発明の特徴である読込済デー
タの再利用を行うため、読込済バッファ管理テーブル1
−5を使用し、またバッファ構造体1−6,1−8に現
在読込済のセグメントが存在するディスク装置のディス
ク番号およびセクタ番号を保持するフィールドを追加す
る。バッファ構造体1−6,1−8はシステム起動時に
はすべてフリーリスト1−7につながれ、またディスク
番号、セクタ番号フィールドは初期値が設定される。こ
の初期値は対応するバッファ単位に有効なデータが含ま
れていないことを示す。一度使用されてフリーリスト1
−7に戻されたバッファ構造体1−6はディスク番号、
セクタ番号が設定され、対応するバッファ単位にどのデ
ータが含まれるかを示すようになる。このデータはバッ
ファ構造体1−6がフリーリスト1−7にある限り破壊
されることはない。読込済バッファ管理テーブル1−5
は求めるデータを保持するバッファ構造体1−6を高速
に検索するために使用され、ディスク番号とセクタ番号
をキーとするハッシュ等で実現される。もし目的のセグ
メントのデータがバッファ1−4上に残っていれば、読
込済バッファ管理テーブル1−5を用いて対応するバッ
ファ構造体1−6を取得することができる。
ッファ単位の内容は書き換えられることはない。フリー
リスト1−7は先入れ先出し型のリスト(キュー)で、
これを用いて管理することで、最も最後に使用したデー
タが最も長く保存されるようになる。バッファ構造体が
フリーリスト1−7から取り出され、制御タスク1−1
に渡されると、その使用中バッファ構造体1−8の指す
バッファ単位が使用可能となる。複数の制御タスク1−
1でバッファ構造体1−8が共有されることはないた
め、バッファ領域の排他が実現できる。ここまでは従来
の技術の範疇であるが、本発明の特徴である読込済デー
タの再利用を行うため、読込済バッファ管理テーブル1
−5を使用し、またバッファ構造体1−6,1−8に現
在読込済のセグメントが存在するディスク装置のディス
ク番号およびセクタ番号を保持するフィールドを追加す
る。バッファ構造体1−6,1−8はシステム起動時に
はすべてフリーリスト1−7につながれ、またディスク
番号、セクタ番号フィールドは初期値が設定される。こ
の初期値は対応するバッファ単位に有効なデータが含ま
れていないことを示す。一度使用されてフリーリスト1
−7に戻されたバッファ構造体1−6はディスク番号、
セクタ番号が設定され、対応するバッファ単位にどのデ
ータが含まれるかを示すようになる。このデータはバッ
ファ構造体1−6がフリーリスト1−7にある限り破壊
されることはない。読込済バッファ管理テーブル1−5
は求めるデータを保持するバッファ構造体1−6を高速
に検索するために使用され、ディスク番号とセクタ番号
をキーとするハッシュ等で実現される。もし目的のセグ
メントのデータがバッファ1−4上に残っていれば、読
込済バッファ管理テーブル1−5を用いて対応するバッ
ファ構造体1−6を取得することができる。
【0032】制御タスク1−1はスケジューラからディ
スクアクセス指示を受けると、ディスク配置情報1−2
をサーチし、次に読み込みを行うセグメントが書き込ま
れているディスク番号、セクタ番号を得る。次に制御タ
スク1−1は、バッファ管理機能1−3に対し、バッフ
ァ取得処理1−9をコールする。
スクアクセス指示を受けると、ディスク配置情報1−2
をサーチし、次に読み込みを行うセグメントが書き込ま
れているディスク番号、セクタ番号を得る。次に制御タ
スク1−1は、バッファ管理機能1−3に対し、バッフ
ァ取得処理1−9をコールする。
【0033】バッファ取得処理1−9の処理内容を図8
に示す。ステップS1として処理の入力は、ディスク番
号とセクタ番号である。そのディスク番号、セクタ番号
より読込済バッファ管理テーブル1−5を検索し(ステ
ップS2)、テーブル内に存在すれば(ステップS3)、
そのエントリが指すバッファ構造体1−6をフリーリス
ト1−7から取り除く。またステップS4として該当エ
ントリを読込済バッファ管理テーブル1−5から削除す
る。読込済バッファ管理テーブル1−5の検索に失敗し
た場合(ステップS2のNo)、ステップS5としてフリ
ーリスト1−7の先頭からバッファ構造体1−6を取り
除く。また、そのバッファ構造体1−6を指すエントリ
を読込済バッファ管理テーブル1−5から削除する必要
があるので、ステップS6として取得バッファ構造体1
−6のディスク番号、セクタ番号フィールドのデータか
ら読込済バッファ管理テーブル1−5を検索し、そのエ
ントリを削除する(ステップS8)。もしディスク番号、
セクタ番号フィールドが初期値の場合(ステップS6の
Yes)、そのバッファ構造体1−6を指すエントリは
存在しないので検索・削除は不要である。フリーリスト
1−7の先頭から取られた場合、その後で入力値と等し
いディスク番号、セクタ番号からディスク読み込みが行
われるため、バッファ構造体1−6のフィールドにその
値を設定する(ステップS7)。最後に取得したバッファ
構造体1−6およびデータが読込済であるかどうかの論
理値を返す(ステップS9)。
に示す。ステップS1として処理の入力は、ディスク番
号とセクタ番号である。そのディスク番号、セクタ番号
より読込済バッファ管理テーブル1−5を検索し(ステ
ップS2)、テーブル内に存在すれば(ステップS3)、
そのエントリが指すバッファ構造体1−6をフリーリス
ト1−7から取り除く。またステップS4として該当エ
ントリを読込済バッファ管理テーブル1−5から削除す
る。読込済バッファ管理テーブル1−5の検索に失敗し
た場合(ステップS2のNo)、ステップS5としてフリ
ーリスト1−7の先頭からバッファ構造体1−6を取り
除く。また、そのバッファ構造体1−6を指すエントリ
を読込済バッファ管理テーブル1−5から削除する必要
があるので、ステップS6として取得バッファ構造体1
−6のディスク番号、セクタ番号フィールドのデータか
ら読込済バッファ管理テーブル1−5を検索し、そのエ
ントリを削除する(ステップS8)。もしディスク番号、
セクタ番号フィールドが初期値の場合(ステップS6の
Yes)、そのバッファ構造体1−6を指すエントリは
存在しないので検索・削除は不要である。フリーリスト
1−7の先頭から取られた場合、その後で入力値と等し
いディスク番号、セクタ番号からディスク読み込みが行
われるため、バッファ構造体1−6のフィールドにその
値を設定する(ステップS7)。最後に取得したバッファ
構造体1−6およびデータが読込済であるかどうかの論
理値を返す(ステップS9)。
【0034】制御タスク1−1はバッファ取得処理1−
9からリターンすると、データが読込済であるかどうか
を見て、読込済である場合ディスクアクセスを省略す
る。これにより、省略されたディスクアクセスの機会を
データの書き込みやデータ修復など他のタスクへ振り向
けることができるようになり、ディスクアクセス帯域を
より有効に使用することが可能となる。
9からリターンすると、データが読込済であるかどうか
を見て、読込済である場合ディスクアクセスを省略す
る。これにより、省略されたディスクアクセスの機会を
データの書き込みやデータ修復など他のタスクへ振り向
けることができるようになり、ディスクアクセス帯域を
より有効に使用することが可能となる。
【0035】制御タスク1−1がセグメントの全データ
を送信し終え、バッファ単位が不要となったとき、バッ
ファ管理機能1−3に対し、バッファ解放処理1−10
をコールする。
を送信し終え、バッファ単位が不要となったとき、バッ
ファ管理機能1−3に対し、バッファ解放処理1−10
をコールする。
【0036】バッファ解放処理1−10の処理内容を図
9に示す。ステップT1として処理の入力は、解放する
バッファ構造体1−8である。まず、ステップT2とし
てバッファ構造体1−8のディスク番号、セクタ番号値
をキーにして、自らの構造体を指すエントリを読込済バ
ッファ管理テーブル1−5に登録する。次に、ステップ
T3としてバッファ構造体1−6をフリーリスト1−7
の最後に繋いで処理を終了する(ステップT4)。
9に示す。ステップT1として処理の入力は、解放する
バッファ構造体1−8である。まず、ステップT2とし
てバッファ構造体1−8のディスク番号、セクタ番号値
をキーにして、自らの構造体を指すエントリを読込済バ
ッファ管理テーブル1−5に登録する。次に、ステップ
T3としてバッファ構造体1−6をフリーリスト1−7
の最後に繋いで処理を終了する(ステップT4)。
【0037】ビデオ再生要求から実際の再生開始までの
頭出し時間は、先頭セグメントが読込済である場合、読
込済でない場合に比べて短縮できる可能性が高い。図7
に示すように、読込済データがない場合、まず先頭セグ
メントのディスク読込を行ってから再生開始しなければ
ならない。またスケジューリングの関係ですぐにディス
クアクセス可能になるわけではない。図7の例では、他
の制御タスク1−1ディスクアクセスが集中して、4単
位時間後にしかディスクアクセスできず、読込猶予時間
1単位時間)を置いて、6単位時間後に再生開始してい
る。ここで読込猶予時間とはディスクアクセス完了が遅
れた場合を考慮した猶予時間である。読込済データがあ
る場合、次のセグメントの読み込みがセグメント時間引
く読込猶予時間までにスケジューリング可能であれば、
すぐに再生開始することができる。すなわち、読込済デ
ータを再利用することにより、頭出し時間の期待値が短
縮されることになる。
頭出し時間は、先頭セグメントが読込済である場合、読
込済でない場合に比べて短縮できる可能性が高い。図7
に示すように、読込済データがない場合、まず先頭セグ
メントのディスク読込を行ってから再生開始しなければ
ならない。またスケジューリングの関係ですぐにディス
クアクセス可能になるわけではない。図7の例では、他
の制御タスク1−1ディスクアクセスが集中して、4単
位時間後にしかディスクアクセスできず、読込猶予時間
1単位時間)を置いて、6単位時間後に再生開始してい
る。ここで読込猶予時間とはディスクアクセス完了が遅
れた場合を考慮した猶予時間である。読込済データがあ
る場合、次のセグメントの読み込みがセグメント時間引
く読込猶予時間までにスケジューリング可能であれば、
すぐに再生開始することができる。すなわち、読込済デ
ータを再利用することにより、頭出し時間の期待値が短
縮されることになる。
【0038】本発明の他の実施形態のバッファ管理機能
の構成を図2を用いて説明する。これは上記(2)一定
セグメント時間で使用する場合に相当する。
の構成を図2を用いて説明する。これは上記(2)一定
セグメント時間で使用する場合に相当する。
【0039】先の実施形態との違いは、読込済バッファ
管理テーブル2−5で、1エントリで複数のバッファ構
造体2−6を指せるようになった点である。これは、一
定セグメント時間の場合にはセグメントサイズが可変と
なるため、セグメントを読み込むために必要なバッファ
単位の数も可変となるためである。1セグメントに複数
バッファ単位を使う場合、データを再利用するときに、
以前にどのような順序でバッファ単位にデータを読み込
んだかを知る必要がある。よって、読込済バッファ管理
テーブル2−5のエントリではバッファ構造体2−6の
使用順序を保存するような形態で記録する。また、制御
タスク2−1とのバッファ構造体2−8の受け渡しも使
用順序を保存したまま行う。
管理テーブル2−5で、1エントリで複数のバッファ構
造体2−6を指せるようになった点である。これは、一
定セグメント時間の場合にはセグメントサイズが可変と
なるため、セグメントを読み込むために必要なバッファ
単位の数も可変となるためである。1セグメントに複数
バッファ単位を使う場合、データを再利用するときに、
以前にどのような順序でバッファ単位にデータを読み込
んだかを知る必要がある。よって、読込済バッファ管理
テーブル2−5のエントリではバッファ構造体2−6の
使用順序を保存するような形態で記録する。また、制御
タスク2−1とのバッファ構造体2−8の受け渡しも使
用順序を保存したまま行う。
【0040】バッファ取得処理2−9の処理内容を図1
0に示す。ステップU1として処理の入力は、ディスク
番号、セクタ番号および取得バッファ単位数である。入
力されたディスク番号、セクタ番号より読込済バッファ
管理テーブル2−5を検索し、テーブル内に存在すれば
(ステップU2,U3)、そのエントリが指すすべてのバ
ッファ構造体2−6をフリーリスト2−7から取り除
く。また、該当エントリを読込済バッファ管理テーブル
2−5から削除する(ステップU4)。読込済バッファ管
理テーブル2−5の検索に失敗した場合(ステップU
2)、フリーリスト2−7の先頭からバッファ構造体2
−6を必要数分取り除く。その取得した各バッファ構造
体2−6に対し、自分を指すエントリを読込済バッファ
管理テーブル2−5から削除する必要があるので、取得
バッファ構造体2−6のディスク番号、セクタ番号フィ
ールドのデータから読込済バッファ管理テーブル2−5
を検索する。そのエントリで自分以外にも指しているバ
ッファ構造体2−6がある場合、そのバッファ単位のデ
ータはもはや有効ではないので、該当バッファ構造体2
−6のディスク番号、セクタ番号に初期値を設定し、無
効データであることを示すように変更する。その後、そ
のエントリを読込済バッファ管理テーブル2−5から削
除する(ステップU7〜U10)。もしディスク番号、セ
クタ番号フィールドが初期値の場合、そのバッファ構造
体2−6を指すエントリは存在しないので検索・削除は
不要である。フリーリスト2−7の先頭から取られた場
合、その後で入力値と等しいディスク番号、セクタ番号
からディスク読み込みが行われるため、そのすべてのバ
ッファ構造体2−6のフィールドにその値を設定する
(ステップU8)。最後に取得した全バッファ構造体2−
6およびデータが読込済であるかどうかの論理値を返
す。
0に示す。ステップU1として処理の入力は、ディスク
番号、セクタ番号および取得バッファ単位数である。入
力されたディスク番号、セクタ番号より読込済バッファ
管理テーブル2−5を検索し、テーブル内に存在すれば
(ステップU2,U3)、そのエントリが指すすべてのバ
ッファ構造体2−6をフリーリスト2−7から取り除
く。また、該当エントリを読込済バッファ管理テーブル
2−5から削除する(ステップU4)。読込済バッファ管
理テーブル2−5の検索に失敗した場合(ステップU
2)、フリーリスト2−7の先頭からバッファ構造体2
−6を必要数分取り除く。その取得した各バッファ構造
体2−6に対し、自分を指すエントリを読込済バッファ
管理テーブル2−5から削除する必要があるので、取得
バッファ構造体2−6のディスク番号、セクタ番号フィ
ールドのデータから読込済バッファ管理テーブル2−5
を検索する。そのエントリで自分以外にも指しているバ
ッファ構造体2−6がある場合、そのバッファ単位のデ
ータはもはや有効ではないので、該当バッファ構造体2
−6のディスク番号、セクタ番号に初期値を設定し、無
効データであることを示すように変更する。その後、そ
のエントリを読込済バッファ管理テーブル2−5から削
除する(ステップU7〜U10)。もしディスク番号、セ
クタ番号フィールドが初期値の場合、そのバッファ構造
体2−6を指すエントリは存在しないので検索・削除は
不要である。フリーリスト2−7の先頭から取られた場
合、その後で入力値と等しいディスク番号、セクタ番号
からディスク読み込みが行われるため、そのすべてのバ
ッファ構造体2−6のフィールドにその値を設定する
(ステップU8)。最後に取得した全バッファ構造体2−
6およびデータが読込済であるかどうかの論理値を返
す。
【0041】バッファ解放処理2−10の処理内容を図
11に示す。ステップV1として処理の入力は、解放す
る全バッファ構造体2−8である。まず、バッファ構造
体2−8のディスク番号、セクタ番号値をキーにして、
ステップV2として、各々の構造体を指すエントリを読
込済バッファ管理テーブル2−5に登録する。このと
き、各バッファ構造体2−8の使用順序を保存するよう
にする。次に、ステップV3として、全バッファ構造体
2−6をフリーリスト2−7の最後に繋いで処理を終了
する(ステップV4)。
11に示す。ステップV1として処理の入力は、解放す
る全バッファ構造体2−8である。まず、バッファ構造
体2−8のディスク番号、セクタ番号値をキーにして、
ステップV2として、各々の構造体を指すエントリを読
込済バッファ管理テーブル2−5に登録する。このと
き、各バッファ構造体2−8の使用順序を保存するよう
にする。次に、ステップV3として、全バッファ構造体
2−6をフリーリスト2−7の最後に繋いで処理を終了
する(ステップV4)。
【0042】また、この構成は図1に示す構成を完全に
包含しているため、一定セグメントサイズで使用するこ
とも可能である。
包含しているため、一定セグメントサイズで使用するこ
とも可能である。
【0043】以上は、ディスク読み込みを行うタスクの
みの例であったが、ディスク書き込み後のバッファ単位
をディスク読み込みタスクが再利用することも可能で、
データを登録しながら再生する後追い再生において非常
に有効である。
みの例であったが、ディスク書き込み後のバッファ単位
をディスク読み込みタスクが再利用することも可能で、
データを登録しながら再生する後追い再生において非常
に有効である。
【0044】尚、本発明においては、上述した機能をコ
ンピュータやサーバ等にハードウェア又はソフトウェア
のいずれかによって装備することにより、課題を解決す
るものであり、ハードウェア構成であるかソフトウェア
構成であるかは問うものではない。
ンピュータやサーバ等にハードウェア又はソフトウェア
のいずれかによって装備することにより、課題を解決す
るものであり、ハードウェア構成であるかソフトウェア
構成であるかは問うものではない。
【0045】ここに、ソフトウェア構成の場合は、図1
2に示すように、記憶媒体100からコンピュータ等に
インストールされたプログラムの指示に基づき該コンピ
ュータ等上で稼働しているOS(オペレーティングシス
テム)や、データベース管理ソフト、ネットワークソフ
ト等のMW(ミドルウェア)等が本実施形態を実現する
ための各処理の一部を実行しても良い。
2に示すように、記憶媒体100からコンピュータ等に
インストールされたプログラムの指示に基づき該コンピ
ュータ等上で稼働しているOS(オペレーティングシス
テム)や、データベース管理ソフト、ネットワークソフ
ト等のMW(ミドルウェア)等が本実施形態を実現する
ための各処理の一部を実行しても良い。
【0046】また、記憶媒体としては、磁気ディスク、
フロッピー(登録商標)ディスク、ハードディスク、光
ディスク(CD−ROM、CD−R、DVD等)、光磁
気ディスク(MO等)、半導体メモリ等、プログラムを
記憶でき、かつコンピュータ等が読み取り可能な有形の
記憶媒体であれば、その記憶形式は何れの形態であって
も良い。
フロッピー(登録商標)ディスク、ハードディスク、光
ディスク(CD−ROM、CD−R、DVD等)、光磁
気ディスク(MO等)、半導体メモリ等、プログラムを
記憶でき、かつコンピュータ等が読み取り可能な有形の
記憶媒体であれば、その記憶形式は何れの形態であって
も良い。
【0047】さらに、本発明における記憶媒体は、コン
ピュータと独立した媒体に限らず、LANやインターネ
ット等により伝送されたプログラムをダウンロードして
記憶又は一時記憶した記憶媒体も含まれる。
ピュータと独立した媒体に限らず、LANやインターネ
ット等により伝送されたプログラムをダウンロードして
記憶又は一時記憶した記憶媒体も含まれる。
【0048】また、記憶媒体は1つに限らず、複数の媒
体から本実施形態における処理が実行される場合も本発
明における記憶媒体に含まれ、媒体構成は何れの構成で
あっても良い。
体から本実施形態における処理が実行される場合も本発
明における記憶媒体に含まれ、媒体構成は何れの構成で
あっても良い。
【0049】尚、本発明におけるコンピュータ、サーバ
等は、記憶媒体に記憶されたプログラムに基づき、本実
施形態における各処理を実行するものであって、一つの
コンピュータ、サーバからなる装置、複数の装置がネッ
トワーク接続されたシステム等の何れの構成であっても
良い。
等は、記憶媒体に記憶されたプログラムに基づき、本実
施形態における各処理を実行するものであって、一つの
コンピュータ、サーバからなる装置、複数の装置がネッ
トワーク接続されたシステム等の何れの構成であっても
良い。
【0050】また、本発明におけるコンピュータ等にあ
っては、情報処理機器に含まれる演算処理装置、マイク
ロコンピュータ等も含み、プログラムによって本発明の
機能を実現することが可能な機器、装置を総称してい
る。
っては、情報処理機器に含まれる演算処理装置、マイク
ロコンピュータ等も含み、プログラムによって本発明の
機能を実現することが可能な機器、装置を総称してい
る。
【0051】
【発明の効果】以上のように本発明によれば、不必要な
ディスクアクセスをなくし、ディスクアクセス帯域の有
効利用と、頭出し時間の低減を実現することが可能な〜
を提供できるものである。
ディスクアクセスをなくし、ディスクアクセス帯域の有
効利用と、頭出し時間の低減を実現することが可能な〜
を提供できるものである。
【図1】本発明の一実施形態を示す機能ブロック図。
【図2】本発明の他の実施形態を示す機能ブロック図。
【図3】本発明が適用される配信システムのブロック
図。
図。
【図4】バッファ単位の使用方法の説明図。
【図5】一定セグメントサイズ方式でのバッファ単位の
使用方法の説明図。
使用方法の説明図。
【図6】一定セグメント時間方式でのバッファ単位の使
用方法の説明図。
用方法の説明図。
【図7】データの再利用による頭出し時間短縮の説明
図。
図。
【図8】本発明の一実施形態に対応するバッファ取得処
理のフローチャート。
理のフローチャート。
【図9】本発明の同実施形態に対応するバッファ解放処
理のフローチャート。
理のフローチャート。
【図10】本発明の他の実施形態に対応するバッファ取
得処理のフローチャート。
得処理のフローチャート。
【図11】同実施形態に対応するバッファ解放処理のフ
ローチャート。
ローチャート。
【図12】本発明の記憶媒体を示すブロック図。
1−1,2−1 制御タスク 1−2,2−2 ディスク配置情報 1−3,2−3 バッファ管理機能 1−4,2−4 バッファ 1−5,2−5 読込済バッファ管理テーブル 1−6,2−6 解放済バッファ構造体 1−7,2−7 フリーリスト 1−8,2−8 使用中バッファ構造体 1−9,2−9 バッファ取得処理 1−10,2−10 バッファ解放処理 3−1 ビデオサーバ 3−2 ディスク配置情報 3−3 ディスク装置 3−4 要求受付機能 3−5 制御タスク 3−6 スケジューラ 3−7 バッファ管理機能 3−8 バッファ 3−9 通信制御装置 3−10 ネットワーク 3−11 クライアント
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11B 20/10 321 H04N 7/173 610A 27/00 5/781 510G H04N 5/937 5/93 C 7/173 610 Fターム(参考) 5B065 BA01 CE12 CE14 CH02 5C053 FA23 FA28 HA33 JA01 KA04 LA06 LA15 5C064 BA01 BB10 BC16 BD02 BD08 5D044 AB05 AB07 BC03 CC04 FG10 FG18 FG23 GK10 5D110 AA15 AA27 AA29 DA01 DA11 DA14 DB09 DC05 DC15 DE02 DE04 DE06
Claims (7)
- 【請求項1】 ディスク装置に蓄えられたデジタル映像
・音声データの配信を行うシステムにおいて、 前記ディスク装置におけるバッファ領域を細分化し該細
分化した各部分領域に1対1対応してアドレスおよび読
み込まれたデータが存在する前記ディスク装置上のディ
スク番号及びセクタ番号を保持するバッファ構造体と、 このバッファ構造体のうち使用していない解放済バッフ
ァ構造体を先入れ先出し方式で管理するフリーリスト
と、 このフリーリストのうち有効データを持つフリーリスト
中の1つのバッファ構造体を高速検索するための読込済
バッファ管理テーブルと、 この読込済バッファ管理テーブルに基づき必要データが
前記バッファ領域上にある場合には対応するバッファ構
造体を返却し、必要データがバッファ上にない場合には
前記フリーリストの先頭のバッファ構造体を返却するバ
ッファ取得手段と、 使用済みのバッファ構造体を前記フリーリストに戻し、
前記読込済バッファ管理テーブルに該当バッファ構造体
へのエントリを登録するバッファ解放手段と を具備することを特徴とするデジタル映像・音声データ
の配信システム。 - 【請求項2】 前記複数のバッファ構造体をまとめて順
序を保存したまま検索可能な読込済バッファ管理テーブ
ルと、 前記複数のバッファ構造体をまとめて順序を保存したま
ま返却可能なバッファ取得手段と、 前記複数のバッファ構造体をまとめて保存したまま読込
済バッファ管理テーブルにエントリを登録可能なバッフ
ァ解放手段とを具備することを特徴とする請求項1記載
のデジタル映像・音声データの配信システム。 - 【請求項3】 デジタル映像・音声データを蓄えるディ
スク装置を有し、クライアントからのデータ配信要求に
応じてバッファに在るデータを前記クライアントに送信
するビデオサーバにおいて、 前記ディスク装置におけるバッファ領域を細分化し該細
分化した各部分領域に1対1対応してアドレスおよび読
み込まれたデータが存在する前記ディスク装置上のディ
スク番号及びセクタ番号を保持するバッファ構造体と、 このバッファ構造体のうち使用していない解放済バッフ
ァ構造体を先入れ先出し方式で管理するフリーリスト
と、 このフリーリストのうち有効データを持つフリーリスト
中の1つのバッファ構造体を高速検索するための読込済
バッファ管理テーブルと、 この読込済バッファ管理テーブルに基づき必要データが
前記バッファ領域上にある場合には対応するバッファ構
造体を返却し、必要データがバッファ上にない場合には
前記フリーリストの先頭のバッファ構造体を返却するバ
ッファ取得手段と、 使用済みのバッファ構造体を前記フリーリストに戻し、
前記読込済バッファ管理テーブルに該当バッファ構造体
へのエントリを登録するバッファ解放手段とを具備する
ことを特徴とするビデオサーバ。 - 【請求項4】 前記複数のバッファ構造体をまとめて順
序を保存したまま検索可能な読込済バッファ管理テーブ
ルと、 前記複数のバッファ構造体をまとめて順序を保存したま
ま返却可能なバッファ取得手段と、 前記複数のバッファ構造体をまとめて保存したまま読込
済バッファ管理テーブルにエントリを登録可能なバッフ
ァ解放手段とを具備することを特徴とする請求項3記載
のビデオサーバ。 - 【請求項5】 クライアントからのデータ配信要求に応
じてネットワークを介し前記クライアントにデータを送
信する、ディスク装置を有するビデオサーバに適用さ
れ、該ビデオサーバを所定動作にて実行させるプログラ
ムを保持したコンピュータ読み取り可能な記憶媒体にお
いて、 前記ディスク装置におけるバッファ領域を細分化し該細
分化した各部分領域に1対1対応してアドレスおよび読
み込まれたデータが存在する前記ディスク装置上のディ
スク番号及びセクタ番号をバッファ構造体に保持するス
テップと、 この保持したバッファ構造体のうち使用していない解放
済バッファ構造体を先入れ先出し方式のフリーリストで
管理するステップと、 この管理のためのフリーリストのうち有効データを持つ
フリーリスト中の1つのバッファ構造体を高速検索する
ための読込済バッファ管理テーブルに基づき必要データ
が前記バッファ領域上にある場合には対応するバッファ
構造体を返却し、必要データがバッファ上にない場合に
は前記フリーリストの先頭のバッファ構造体を返却する
ステップと、 使用済みのバッファ構造体を前記フリーリストに戻し、
前記読込済バッファ管理テーブルに該当バッファ構造体
へのエントリを登録するステップとを実行させるための
プログラムを記憶したことを特徴とするコンピュータ読
み取り可能な記憶媒体。 - 【請求項6】 ディスク装置に蓄えられたデジタル映像
・音声データの配信を行うシステムに適用され、クライ
アントからのデータ配信要求に応じてバッファにあるデ
ータを前記クライアントに送信する際の前記バッファの
制御方法において、 前記ディスク装置におけるバッファ領域を細分化し該細
分化した各部分領域に1対1対応してアドレスおよび読
み込まれたデータが存在する前記ディスク装置上のディ
スク番号及びセクタ番号をバッファ構造体に保持し、 この保持したバッファ構造体のうち使用していない解放
済バッファ構造体を先入れ先出し方式のフリーリストで
管理し、 この管理のためのフリーリストのうち有効データを持つ
フリーリスト中の1つのバッファ構造体を高速検索する
ための読込済バッファ管理テーブルに基づき必要データ
が前記バッファ領域上にある場合には対応するバッファ
構造体を返却し、必要データがバッファ上にない場合に
は前記フリーリストの先頭のバッファ構造体を返却し、 使用済みのバッファ構造体を前記フリーリストに戻し、
前記読込済バッファ管理テーブルに該当バッファ構造体
へのエントリを登録することを特徴とするバッファの制
御方法。 - 【請求項7】 前記バッファ構造体を複数まとめ、該複
数まとめたバッファ構造体の順序を保存したまま検索
し、返却し、読込済バッファ管理テーブルにエントリを
登録することを特徴とする請求項6記載のバッファの制
御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000163789A JP2001346142A (ja) | 2000-05-31 | 2000-05-31 | デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000163789A JP2001346142A (ja) | 2000-05-31 | 2000-05-31 | デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001346142A true JP2001346142A (ja) | 2001-12-14 |
Family
ID=18667495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000163789A Pending JP2001346142A (ja) | 2000-05-31 | 2000-05-31 | デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001346142A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007334391A (ja) * | 2006-06-12 | 2007-12-27 | Nippon Telegr & Teleph Corp <Ntt> | 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム |
JP2009253698A (ja) * | 2008-04-07 | 2009-10-29 | Toshiba Corp | ビデオサーバおよびファイル管理方法 |
US8149679B2 (en) | 2003-04-04 | 2012-04-03 | Sony Corporation | Recording/reproducing device and method, recording medium, and program |
-
2000
- 2000-05-31 JP JP2000163789A patent/JP2001346142A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8149679B2 (en) | 2003-04-04 | 2012-04-03 | Sony Corporation | Recording/reproducing device and method, recording medium, and program |
JP2007334391A (ja) * | 2006-06-12 | 2007-12-27 | Nippon Telegr & Teleph Corp <Ntt> | 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム |
JP4531723B2 (ja) * | 2006-06-12 | 2010-08-25 | 日本電信電話株式会社 | 分散型サーバ装置における情報アクセス方法、分散型サーバ装置、通信サーバモジュール、およびプログラム |
JP2009253698A (ja) * | 2008-04-07 | 2009-10-29 | Toshiba Corp | ビデオサーバおよびファイル管理方法 |
JP4719239B2 (ja) * | 2008-04-07 | 2011-07-06 | 株式会社東芝 | ビデオサーバおよびファイル管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3563541B2 (ja) | データ格納装置及びデータ格納方法 | |
US8499102B2 (en) | Managing read requests from multiple requestors | |
US8627029B2 (en) | Methods for managing files according to application | |
JP4612710B2 (ja) | トランザクション並行制御方法、データベース管理システム、およびプログラム | |
US20060136779A1 (en) | Object-based storage device with low process load and control method thereof | |
US6665747B1 (en) | Method and apparatus for interfacing with a secondary storage system | |
US20080201341A1 (en) | Contents management method | |
JPH0954754A (ja) | 疎結合並列処理環境における顧客情報制御システム及び方法 | |
CN102521279A (zh) | 一种流媒体文件播放方法、系统及播放器 | |
US20090070560A1 (en) | Method and Apparatus for Accelerating the Access of a Multi-Core System to Critical Resources | |
JP2000347982A (ja) | 情報処理装置並びにコンピュータに実行させるためのプログラムを記録した記録媒体 | |
JP2000259468A (ja) | ファイルシステムにおけるバッファキャッシュ方法および装置 | |
WO2016090985A1 (zh) | 缓存的读取、读取处理方法及装置 | |
JPH0773085A (ja) | データ処理システムおよびメタデータの先読み方法 | |
JP2001346142A (ja) | デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法 | |
JPH07239808A (ja) | 分散データ管理方式 | |
JP2002175208A (ja) | デジタル映像・音声データの配信システム、ビデオサーバ及びバッファの制御方法 | |
JP7073737B2 (ja) | 通信ログ記録装置、通信ログ記録方法、および、通信ログ記録プログラム | |
JP3477056B2 (ja) | データ転送装置 | |
US7421536B2 (en) | Access control method, disk control unit and storage apparatus | |
JP3579526B2 (ja) | 記憶装置へのアクセス処理方法とそのシステム | |
JP3056000B2 (ja) | マルチメディアデータネットワーク転送方式 | |
JP3255081B2 (ja) | ファイルアクセス装置及びプログラムを記録した機械読み取り可能な記録媒体 | |
US11874767B2 (en) | Memory partitions for processing entities | |
JP3307331B2 (ja) | ネットワークファイルシステムのデータ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080819 |