JP2002175208A - System for delivering digital image/voice-data, video server, and method of controlling buffer - Google Patents

System for delivering digital image/voice-data, video server, and method of controlling buffer

Info

Publication number
JP2002175208A
JP2002175208A JP2000373391A JP2000373391A JP2002175208A JP 2002175208 A JP2002175208 A JP 2002175208A JP 2000373391 A JP2000373391 A JP 2000373391A JP 2000373391 A JP2000373391 A JP 2000373391A JP 2002175208 A JP2002175208 A JP 2002175208A
Authority
JP
Japan
Prior art keywords
buffer
read
data
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
Application number
JP2000373391A
Other languages
Japanese (ja)
Inventor
Takashi Yamano
尚 山野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000373391A priority Critical patent/JP2002175208A/en
Publication of JP2002175208A publication Critical patent/JP2002175208A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

PROBLEM TO BE SOLVED: To eliminate unnecessary disk access to effectively use a disk access band and to reduce the time required for heading. SOLUTION: Disk numbers and sector numbers on a disk device where address and read data exist are held in buffer structures in correspondence to buffer areas, the unused release-finished buffer structure 1-6 thereof is controlled by first-in first-out system of free list 1-7, a reference counter is increased and then the corresponding buffer structure is returned when a required data exists on the buffer area, the forefront buffer structure is returned when not, based on a reading-finished buffer table 1-5, an entry to the corresponding buffer structure is registered when the data is read into a new buffer area, the reference counter is reduced, the used buffer structure is returned to the free list 1-7 when the reference counter is zero, and an entry to the corresponding buffer structure is registered into the buffer control table 1-5.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ビデオオンデマン
ド等のデジタル映像・音声データを配信するシステム、
サーバ、記憶媒体、バッファの制御方法に関する。
The present invention relates to a system for distributing digital video / audio data such as video-on-demand,
The present invention relates to a method for controlling a server, a storage medium, and a buffer.

【0002】[0002]

【従来の技術】ビデオオンデマンドなどのハードディス
クに蓄えられたデジタル映像・音声データの配信を行う
システムでは、データの配信速度に応じてハードディス
クから読み込み、クライアントへデータを送信し続ける
必要がある。送信に遅れが生じた場合は映像・音声に乱
れが生じ、また速く送信しすぎた場合はバッファのオー
バーフローが発生する。このようなシステムで性能的に
ボトルネックとなるのは、ディスクからのデータ読み込
みである。そのためなるべく効率的にディスクアクセス
できるよう、アクセスタイミングのスケジューリングを
行う。しかし、そのタイミングはデータの送信タイミン
グと必ずしも一致しないため、メモリ上にデータをバッ
ファリングし、その差を吸収することになる。特許第2
742390号では、複数の視聴者によって共有されて
いる共通ストリームで、あるユーザがポーズをすると、
別の再生のために使われている将来のストリームでバッ
クアップする方法が記載されている。
2. Description of the Related Art In a system for distributing digital video / audio data stored in a hard disk such as video-on-demand, it is necessary to read data from the hard disk in accordance with the data distribution speed and continue to transmit data to the client. If the transmission is delayed, the video and audio are disturbed, and if the transmission is too fast, the buffer overflows. A bottleneck in performance in such a system is reading data from a disk. Therefore, the access timing is scheduled so that the disk can be accessed as efficiently as possible. However, since the timing does not always coincide with the data transmission timing, the data is buffered on the memory and the difference is absorbed. Patent No. 2
In 742390, when a user pauses on a common stream that is shared by multiple viewers,
It describes how to back up in a future stream that is being used for another playback.

【0003】[0003]

【発明が解決しようとする課題】しかしながら従来の方
法では、完全に使い終わった後のバッファ上のデータの
みを再利用していたため、別のタスクが使用中のデータ
を再利用することができなかった。このためディスクア
クセス回避による負荷低減や、再生要求から再生開始ま
での頭だし時間短縮の機会を無駄にしている場合があっ
た。本発明の目的は、バッファ上に残っているデータを
別のタスクが使用中の場合にも再利用することで不必要
なディスクアクセスをなくし、さらなるディスクアクセ
ス帯域の有効利用と、頭出し時間の低減を実現するデジ
タル映像・音声データの配信システム、ビデオサーバ及
びバッファの制御方法を提供することにある。
However, in the conventional method, only the data in the buffer after completely used is reused, so that the data being used by another task cannot be reused. Was. For this reason, there has been a case where the opportunity to reduce the load by avoiding the disk access or to shorten the start time from the reproduction request to the start of the reproduction is wasted. An object of the present invention is to eliminate unnecessary disk access by reusing data remaining in the buffer even when another task is in use, to further utilize the disk access bandwidth and reduce the cueing time. It is an object of the present invention to provide a digital video / audio data distribution system, a video server, and a buffer control method that realize reduction.

【0004】[0004]

【課題を解決するための手段】上記目的を達成するため
に請求項1に係る発明は、ディスク装置に蓄えられたデ
ジタル映像・音声データの配信を行うシステムにおい
て、前記ディスク装置におけるバッファ領域を細分化し
細分化した各部分領域に1対1対応してアドレスおよび
読み込まれたデータが存在する前記ディスク装置上のデ
ィスク番号及びセクタ番号を保持するバッファ構造体
と、このバッファ構造体のうち使用していない解放済バ
ッファ構造体を先入れ先出し方式で管理するフリーリス
トと、このフリーリストのうち有効データを持つフリー
リスト中の1つのバッファ構造体またはフリーリストに
は存在せずタスクにより使用中でかつデータ読込済みの
1つのバッファ構造体を高速検索するために使用し、さ
らにタスクにより使用中の場合には共有して使用してい
るタスクの数を示す参照カウンタを保持する読込済バッ
ファ管理テーブルと、この読込済バッファ管理テーブル
に基づき必要データが前記バッファ領域上にある場合に
は参照カウンタを増加させてから対応するバッファ構造
体を返却し、必要データがバッファ上にない場合には前
記フリーリストの先頭のバッファ構造体を返却するバッ
ファ取得手段と、新規のバッファ領域にデータが読み込
まれた場合に前記読込済バッファ管理テーブルに該当バ
ッファ構造体へのエントリを登録するバッファ読込設定
手段と、前記読込済バッファ管理テーブル上の該当エン
トリの参照カウンタを減少させ、参照カウンタが0の場
合には使用済みのバッファ構造体を前記フリーリストに
戻すバッファ解放手段とを具備することを特徴を具備す
ることを特徴とする。
According to a first aspect of the present invention, there is provided a system for distributing digital video / audio data stored in a disk device, wherein a buffer area in the disk device is subdivided. A buffer structure for holding a disk number and a sector number on the disk device where addresses and read data are present in one-to-one correspondence with each of the divided and subdivided partial areas; A free list that manages the released buffer structures that do not exist in a first-in first-out manner, and one buffer structure or free list in the free list that has valid data in the free list that is not used in the free list but is used by the task and data is read. Used for fast retrieval of one buffer structure already used, and used by tasks In the case of, a read buffer management table holding a reference counter indicating the number of tasks shared and used, and a reference counter when necessary data is in the buffer area based on the read buffer management table. Buffer acquisition means for returning the corresponding buffer structure after increasing the number, and returning the first buffer structure of the free list when the necessary data is not in the buffer, and reading the data into a new buffer area. Buffer read setting means for registering an entry to the relevant buffer structure in the read buffer management table in the case where the reference counter of the relevant entry on the read buffer management table is 0. Comprises buffer releasing means for returning a used buffer structure to the free list. Characterized by including the features.

【0005】また請求項2に係る発明は、請求項1記載
のシステムにおいて、前記複数のバッファ構造体をまと
めて順序を保存したまま検索可能な読込済バッファ管理
テーブルと、前記複数のバッファ構造体をまとめて順序
を保存したまま返却可能なバッファ取得手段と、前記複
数のバッファ構造体をまとめて前記フリーリストに戻す
ことが可能なバッファ解放手段とを具備することを特徴
とする。請求項3に係る発明は、デジタル映像・音声デ
ータを蓄えるディスク装置を有し、クライアントからの
データ配信要求に応じてバッファに在るデータを前記ク
ライアントに送信するビデオサーバにおいて、前記ディ
スク装置におけるバッファ領域を細分化し細分化した各
部分領域に1対1対応してアドレスおよび読み込まれた
データが存在する前記ディスク装置上のディスク番号及
びセクタ番号を保持するバッファ構造体と、このバッフ
ァ構造体のうち使用していない解放済バッファ構造体を
先入れ先出し方式で管理するフリーリストと、このフリ
ーリストのうち有効データを持つフリーリスト中の1つ
のバッファ構造体またはフリーリストには存在せずタス
クにより使用中でかつデータ読込済みの1つのバッファ
構造体を高速検索するために使用し、さらにタスクによ
り使用中の場合には共有して使用しているタスクの数を
示す参照カウンタを保持する読込済バッファ管理テーブ
ルと、この読込済バッファ管理テーブルに基づき必要デ
ータが前記バッファ領域上にある場合には参照カウンタ
を増加させてから対応するバッファ構造体を返却し、必
要データがバッファ上にない場合には前記フリーリスト
の先頭のバッファ構造体を返却するバッファ取得手段
と、新規のバッファ領域にデータが読み込まれた場合に
前記読込済バッファ管理テーブルに該当バッファ構造体
へのエントリを登録するバッファ読込設定手段と、前記
読込済バッファ管理テーブル上の該当エントリの参照カ
ウンタを減少させ、参照カウンタが0の場合には使用済
みのバッファ構造体を前記フリーリストに戻すバッファ
解放手段とを具備することを特徴とする。
According to a second aspect of the present invention, in the system according to the first aspect, a read buffer management table capable of retrieving the plurality of buffer structures while maintaining the order of the plurality of buffer structures, and the plurality of buffer structures And a buffer release unit that can return the plurality of buffer structures collectively to the free list. An invention according to claim 3, further comprising a disk device for storing digital video / audio data, wherein the video server transmits data stored in the buffer to the client in response to a data distribution request from the client. A buffer structure for holding a disk number and a sector number on the disk device in which an address and read data are present in one-to-one correspondence with each of the divided sub-regions; A free list that manages unused buffer structures that are not being used in a first-in first-out manner, and one of the free lists that has valid data in the free list or a free list that does not exist in the free list and is being used by the task To search one buffer structure for which data has already been read A read buffer management table that holds a reference counter indicating the number of tasks that are used and shared and used when the task is being used, and necessary data is stored in the buffer area based on the read buffer management table. Buffer acquisition means for returning the corresponding buffer structure after incrementing the reference counter if it is on the top, and returning the first buffer structure of the free list if the required data is not on the buffer; and Buffer read setting means for registering an entry to the buffer structure in the read buffer management table when data is read into the buffer area of the buffer, and decrementing a reference counter of the entry on the read buffer management table. If the reference counter is 0, return the used buffer structure to the free list Characterized by comprising a Ffa release means.

【0006】請求項4に係る発明は、請求項3記載のビ
デオサーバにおいて、前記複数のバッファ構造体をまと
めて順序を保存したまま検索可能な読込済バッファ管理
テーブルと、前記複数のバッファ構造体をまとめて順序
を保存したまま返却可能なバッファ取得手段と、前記複
数のバッファ構造体をまとめて前記フリーリストに戻す
ことが可能なバッファ解放手段とを具備することを特徴
とする。請求項5に係る発明は、クライアントからのデ
ータ配信要求に応じてネットワークを介し前記クライア
ントにデータを送信する、ディスク装置を有するビデオ
サーバに適用され、該ビデオサーバを所定動作にて実行
させるプログラムを保持したコンピュータ読み取り可能
な記憶媒体において、前記ディスク装置におけるバッフ
ァ領域を細分化し細分化した各部分領域に1対1対応し
てアドレスおよび読み込まれたデータが存在する前記デ
ィスク装置上のディスク番号及びセクタ番号をバッファ
構造体に保持するステップと、この保持したバッファ構
造体のうち使用していない解放済バッファ構造体を先入
れ先出し方式のフリーリストで管理するステップと、こ
の管理のためのフリーリストのうち有効データを持つフ
リーリスト中の1つのバッファ構造体またはフリーリス
トには存在せずタスクにより使用中でかつデータ読込済
みの1つのバッファ構造体を高速検索するために使用
し、さらにタスクにより使用中の場合には共有して使用
しているタスクの数を示す参照カウンタを保持する読込
済バッファ管理テーブルに基づき必要データが前記バッ
ファ領域上にある場合には参照カウンタを増加させてか
ら対応するバッファ構造体を返却し、必要データがバッ
ファ上にない場合には前記フリーリストの先頭のバッフ
ァ構造体を返却するステップと、新規のバッファ領域に
データが読み込まれた場合に前記読込済バッファ管理テ
ーブルに該当バッファ構造体へのエントリを登録するス
テップと、前記読込済バッファ管理テーブル上の該当エ
ントリの参照カウンタを減少させ、 参照カウンタが0
の場合には使用済みのバッファ構造体を前記フリーリス
トに戻すステップとを実行させるためのプログラムを記
憶したことを特徴とする。
According to a fourth aspect of the present invention, in the video server according to the third aspect, a read buffer management table capable of retrieving the plurality of buffer structures together while maintaining the order, and the plurality of buffer structures And a buffer release unit that can return the plurality of buffer structures collectively to the free list. The invention according to claim 5 is applied to a video server having a disk device, which transmits data to the client via a network in response to a data distribution request from the client, and executes a program for executing the video server in a predetermined operation. In a held computer-readable storage medium, a buffer area in the disk device is subdivided, and a disk number and a sector on the disk device in which an address and read data exist in one-to-one correspondence with each of the subdivided partial regions. Holding the numbers in a buffer structure, managing unused buffer structures among the held buffer structures in a first-in first-out free list, and valid in the free list for this management. One free list in the free list with data It is used for high-speed retrieval of one buffer structure that is not present in the buffer structure or free list but is in use by the task and for which data has been read. If the required data is in the buffer area based on the read buffer management table that holds the reference counter indicating the number of tasks that are in use, the reference counter is increased and the corresponding buffer structure is returned. If not, return the buffer structure at the head of the free list, and, when data is read into a new buffer area, register an entry for the buffer structure in the read buffer management table. And decreasing the reference counter of the corresponding entry on the read buffer management table, There 0
In the case of (1), a step of returning a used buffer structure to the free list is executed.

【0007】請求項6に係る発明は、ディスク装置に蓄
えられたデジタル映像・音声データの配信を行うシステ
ムに適用され、クライアントからのデータ配信要求に応
じてバッファにあるデータを前記クライアントに送信す
る際の前記バッファ制御方法において、前記ディスク装
置におけるバッファ領域を細分化し細分化した各部分領
域に1対1対応してアドレスおよび読み込まれたデータ
が存在する前記ディスク装置上のディスク番号及びセク
タ番号をバッファ構造体に保持し、この保持したバッフ
ァ構造体のうち使用していない解放済バッファ構造体を
先入れ先出し方式のフリーリストで管理し、この管理の
ためのフリーリストのうち有効データを持つフリーリス
ト中の1つのバッファ構造体またはフリーリストには存
在せずタスクにより使用中でかつデータ読込済みの1つ
のバッファ構造体を高速検索するために使用し、さらに
タスクにより使用中の場合には共有して使用しているタ
スクの数を示す参照カウンタを保持する読込済バッファ
管理テーブルに基づき必要データが前記バッファ領域上
にある場合には参照カウンタを増加させてから対応する
バッファ構造体を返却し、必要データがバッファ上にな
い場合には前記フリーリストの先頭のバッファ構造体を
返却し、新規のバッファ領域にデータが読み込まれた場
合に前記読込済バッファ管理テーブルに該当バッファ構
造体へのエントリを登録し、前記読込済バッファ管理テ
ーブル上の該当エントリの参照カウンタを減少させ、参
照カウンタが0の場合には使用済みのバッファ構造体を
前記フリーリストに戻すことを特徴とする。
The invention according to claim 6 is applied to a system for distributing digital video / audio data stored in a disk device, and transmits data in a buffer to the client in response to a data distribution request from the client. In the above buffer control method, the buffer area in the disk device is subdivided, and the disk number and sector number on the disk device where the address and the read data exist in one-to-one correspondence with the subdivided partial areas are defined. The buffer structure is held in the buffer structure, and the released buffer structure that is not used among the held buffer structures is managed by a first-in first-out free list. Not in one buffer structure or free list of Used for high-speed retrieval of one buffer structure that is in use and for which data has been read, and a read counter that holds a reference counter indicating the number of tasks shared and used when being used by tasks If the required data is on the buffer area based on the buffer management table, the reference counter is incremented and the corresponding buffer structure is returned.If the required data is not on the buffer, the first buffer in the free list is returned. When the structure is returned and data is read into the new buffer area, an entry to the corresponding buffer structure is registered in the read buffer management table, and the reference counter of the corresponding entry on the read buffer management table is set. Reducing the used buffer structure to the free list when the reference counter is 0. To.

【0008】請求項7に係る発明は、請求項6記載のバ
ッファの制御方法において、前記バッファ構造体を複数
まとめ、該複数まとめたバッファ構造体の順序を保持し
たまま検索し、返却し、前記フリーリストに戻すことを
特徴とする。
According to a seventh aspect of the present invention, in the buffer control method according to the sixth aspect, the plurality of buffer structures are combined, and the buffer structure is searched and returned while maintaining the order of the combined buffer structures. The feature is to return to the free list.

【0009】[0009]

【発明の実施の形態】以下、本発明に係るデジタル映像
・音声データの配信システム、ビデオサーバ及びバッフ
ァの制御方法の各実施形態を、図面を参照して説明す
る。図2は本発明に係るデジタル映像・音声データの配
信システムの一例であるビデオオンデマンドシステムを
示すブロック図である。図2において、クライアント2
−11からのビデオ再生要求は、ネットワーク2−10
を通ってビデオサーバ2−1に伝えられる。ネットワー
ク2−10は、Ethernet、ATM、CATVなど様々な
形態があり得る。ビデオサーバ2−1に伝えられたビデ
オ再生要求は通信制御装置2−9で受信され、要求受付
機能2−4へ送られる。通信制御装置2−9は様々なネ
ットワーク形態に対応してデータの送受信をするための
装置で、複数個を使用して複数のネットワークに対応し
たり、送信および受信を別々の装置で担当したり、様々
な構成を採り得る。要求受付機能2−4はビデオ再生要
求に対応して制御タスク2−5をひとつ生成する。制御
タスク2−5は再生要求と1対1にしており、データの
ディスク装置2−3からの読み込みからネットワーク2
−10への送信までの一連の処理を担当する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a digital video / audio data distribution system, a video server, and a buffer control method according to the present invention will be described with reference to the drawings. FIG. 2 is a block diagram showing a video-on-demand system which is an example of a digital video / audio data distribution system according to the present invention. In FIG. 2, client 2
-11 from the network 2-10
To the video server 2-1. The network 2-10 can take various forms such as Ethernet, ATM, CATV, and the like. The video reproduction request transmitted to the video server 2-1 is received by the communication control device 2-9 and sent to the request receiving function 2-4. The communication control device 2-9 is a device for transmitting and receiving data corresponding to various network forms. A plurality of the communication control devices 2-9 support a plurality of networks, and transmission and reception are performed by separate devices. And various configurations. The request receiving function 2-4 generates one control task 2-5 in response to the video reproduction request. The control task 2-5 has a one-to-one correspondence with the reproduction request, and reads the data from the disk device 2-3 to the network 2
Responsible for a series of processing up to transmission to -10.

【0010】制御タスク2−5は、ディスク装置2−3
からデータをバッファ2−8上に読み込む。ディスク装
置2−3はヘッドのシーク時間などアクセスのオーバー
ヘッドが大きいため、ある程度まとまった大きさのデー
タを一度に読み込まないと効率が悪い。よってデータを
ある一定のサイズごとに区切って取り扱う。この単位を
セグメントと呼ぶ。1つのセグメントは1つのディスク
装置2−3上の連続領域に配置される。次のセグメント
は別のディスク装置2−3上に配置する。このようにデ
ィスク装置2−3に巡回的に配置することで、ディスク
アクセスの負荷を分散させている。各セグメントがどの
ディスク装置2−3のどのセクタから配置されているか
は、ディスク配置情報2−2に記録される。ここで各デ
ィスク装置2−3は、単体のディスクのみならず、RA
IDなどを用いて仮想的に単一のディスクに見えるよう
にした構成も有り得る。ビデオ再生要求が同時に複数個
発生する場合もあるため、各制御タスク2−5によるデ
ィスクアクセスが同時に同じディスク装置2−3に対し
て発生しないように排他制御する必要がある。これを行
うのがスケジューラ2−6である。スケジューラ2−6
は、排他的なディスクアクセスとデータ送信が途切れな
いような継続的なディスクアクセスを登録された各制御
タスク2−5に対して保証し、アクセスタイミングを指
示する。ここではスケジューラ2−6の詳細は省略す
る。
The control task 2-5 includes a disk device 2-3.
From the buffer 2-8. Since the disk device 2-3 has a large access overhead such as the seek time of the head, it is inefficient if data of a certain size is not read at once. Therefore, the data is handled by being divided into certain fixed sizes. This unit is called a segment. One segment is arranged in a continuous area on one disk device 2-3. The next segment is arranged on another disk device 2-3. In this manner, the disk access load is distributed by cyclically arranging the disk devices 2-3. The arrangement of each segment from which sector of which disk device 2-3 is recorded in the disk arrangement information 2-2. Here, each disk device 2-3 is not only a single disk, but also an RA.
There may be a configuration in which an ID or the like is used to make the disk look virtually a single disk. Since a plurality of video reproduction requests may be generated at the same time, it is necessary to perform exclusive control so that disk access by each control task 2-5 does not simultaneously occur to the same disk device 2-3. This is performed by the scheduler 2-6. Scheduler 2-6
Guarantees exclusive disk access and continuous disk access so that data transmission is not interrupted for each registered control task 2-5, and instructs access timing. Here, the details of the scheduler 2-6 are omitted.

【0011】バッファ2−8領域についても、各制御タ
スク2−5間で排他制御する必要がある。これを行うの
がバッファ管理機能2−7で、本発明の各請求項に対応
する部分である。制御タスク2−5はバッファ管理機能
2−7から取得したバッファ2−8の部分領域のみを使
用することで排他を実現する。本実施形態では、送信す
るメディアデータはコンスタントビットレートと仮定し
ている。よって各セグメントの再生時間もひとつのコン
テンツにおいては常に一定となる。この時間をセグメン
ト時間と呼ぶ。制御タスク2−5はバッファ2−8上の
セグメントデータをセグメント時間を通して一定レート
で通信制御装置2−9へ送りつづける。通信制御装置2
−9はネットワーク2−10を通して、ビデオ再生要求
元のクライアント2−11へデータを送信する。バッフ
ァ2−8の使用方法を図3に示す。1つのセグメントが
収まるサイズのバッファ部分領域(バッファ単位)を2
つ用い、1つのバッファ単位で送信を行っている最中
に、もう1つのバッファ単位に次のセグメントをディス
ク装置2−3から読み込む。この方法をダブルバッファ
リングと呼ぶ。スケジューラ2−6はあるセグメントの
送出開示時刻までにそのデータのディスク装置2−3か
らの読み込みを保証する。スケジューラ2−6からディ
スクアクセス指示があると、制御タスク2−5はバッフ
ァ管理機能2−7からバッファ単位を取得し、そこへセ
グメントのデータを読み込む。そのセグメントの送出開
始時刻になると、セグメント時間をかけて一定レートで
データを送出する。
It is necessary to perform exclusive control between the control tasks 2-5 for the buffer 2-8 area as well. This is performed by the buffer management function 2-7, which is a part corresponding to each claim of the present invention. The control task 2-5 realizes exclusion by using only the partial area of the buffer 2-8 acquired from the buffer management function 2-7. In the present embodiment, it is assumed that the media data to be transmitted has a constant bit rate. Therefore, the playback time of each segment is always constant in one content. This time is called a segment time. The control task 2-5 continues to send the segment data in the buffer 2-8 to the communication control device 2-9 at a constant rate throughout the segment time. Communication control device 2
-9 transmits data to the client 2-11 which has requested video reproduction via the network 2-10. FIG. 3 shows how to use the buffer 2-8. Two buffer partial areas (buffer units) of a size that can fit one segment
While the transmission is being performed in one buffer unit, the next segment is read from the disk device 2-3 in another buffer unit. This method is called double buffering. The scheduler 2-6 guarantees reading of the data from the disk device 2-3 by the transmission start time of a certain segment. When there is a disk access instruction from the scheduler 2-6, the control task 2-5 acquires a buffer unit from the buffer management function 2-7, and reads the segment data there. When the transmission start time of the segment comes, the data is transmitted at a constant rate over the segment time.

【0012】データのビットレートが変わると、セグメ
ントサイズとセグメント時間のどちらかは変わらざるを
得ない。様々なビットレートのデータを1つのシステム
上で統一的に取り扱うには、以下の2つの方法がある。 (1)セグメントサイズを一定とする。高ビットレート
ほどセグメント時間は短くなる。 (2)セグメント時間を一定とする。高ビットレートほ
どセグメントサイズは大きくなる。 図3の場合にあって、倍のビットレートのデータを
(1)の一定セグメントサイズで扱う場合を図4に示
す。セグメント時間は半分になり、ディスクアクセス間
隔も半分になっている。図3の場合にあって、倍のビッ
トレートのデータを(2)の一定セグメント時間で扱う
場合を図5に示す。セグメントサイズが倍になるため、
一度に使用するバッファ単位も倍の数を使用している。
ディスクアクセス間隔は変わらないが、一回のディスク
アクセスの所要時間は倍になっている。本発明の一実施
形態に対応するバッファ管理機能の構成を、図1を用い
て説明する。上記(2)セグメント時間を一定とする場
合の構成は、(1)セグメントサイズを一定とする場合
の構成を包含しているため、ここでは、(2)セグメン
ト時間を一定とする場合にについて説明する。
When the data bit rate changes, either the segment size or the segment time must change. There are the following two methods for uniformly handling data of various bit rates on one system. (1) The segment size is fixed. The higher the bit rate, the shorter the segment time. (2) The segment time is fixed. The higher the bit rate, the larger the segment size. FIG. 4 shows the case of FIG. 3 where double bit rate data is handled with the constant segment size of (1). The segment time is halved and the disk access interval is halved. FIG. 5 shows the case of FIG. 3 where double bit rate data is handled in the constant segment time of (2). Because the segment size is doubled,
The number of buffer units used at a time is also doubled.
Although the disk access interval does not change, the time required for one disk access is doubled. The configuration of the buffer management function according to the embodiment of the present invention will be described with reference to FIG. Since (2) the configuration in which the segment time is constant includes the configuration in which (1) the segment size is constant, here, (2) the case in which the segment time is constant will be described. I do.

【0013】バッファ1−4は、セグメントサイズに相
当するサイズに細分化される。そのそれぞれをバッファ
単位と呼ぶ。各バッファ単位には1対1に対応するバッ
ファ構造体1−6, 1−8が存在する。バッファ構造
体1−6, 1−8は対応するバッファ単位のアドレス
を保持する。現在使用していないバッファ構造体は、解
放済バッファ構造体1−6と呼び、フリーリスト1−7
へ入れられている。解放済バッファ構造体1−6に対応
するバッファ単位の内容は書き換えられることはない。
フリーリスト1−7は先入れ先出し型のリスト(キュー)
で、これを用いて管理することで、最も最後に使用した
データが最も長く保存されるようになる。バッファ構造
体がフリーリスト1−7から取り出され、制御タスク1
−1に渡されると、その使用中バッファ構造体1−8の
指すバッファ単位が使用可能となる。本発明ではデータ
読込済みで書き換えられることのないバッファ単位およ
びそれに対応するバッファ構造体1−8は複数の制御タ
スク1−1間で共有可能となる。読込済データの再利用
を行うため、読込済バッファ管理テーブル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−5でデータ読込済みの使用
中バッファ構造体1−8も合わせて管理して検索可能で
ある。バッファ単位が書き換えられる可能性がある間は
そのバッファ構造体1−8を読込済バッファ管理テーブ
ル1−5上で管理しない。もし目的のセグメントのデー
タがバッファ1−4上に残っていれば、読込済バッファ
管理テーブル1−5を用いて対応するバッファ構造体1
−6, 1−8を解放済み・使用中に係らず取得するこ
とができる。
The buffer 1-4 is subdivided into a size corresponding to the segment size. Each of them is called a buffer unit. Each buffer unit has one-to-one corresponding buffer structures 1-6 and 1-8. The buffer structures 1-6 and 1-8 hold the addresses of the corresponding buffer units. Buffer structures not currently used are referred to as released buffer structures 1-6 and free lists 1-7.
Has been put into The contents of the buffer unit corresponding to the released buffer structure 1-6 are not rewritten.
Free list 1-7 is a first-in first-out list (queue)
By using this to manage, the most recently used data is stored for the longest time. The buffer structure is retrieved from the free list 1-7, and the control task 1
When passed to -1, the buffer unit indicated by the in-use buffer structure 1-8 can be used. In the present invention, a buffer unit that has been read and that is not rewritten, and a buffer structure 1-8 corresponding to the buffer unit can be shared by a plurality of control tasks 1-1. In order to reuse the read data, the read buffer management table 1-5 is used, and the disk number and sector number of the disk device in which the currently read segment exists in the buffer structures 1-6 and 1-8. Add a field to hold. The buffer structures 1-6 and 1-8 are all connected to the free list 1-7 at the time of system startup.
An initial value is set in the sector number field. This initial value indicates that valid data is not included in the corresponding buffer unit. The buffer structure 1-6 used once and returned to the free list 1-7 is set with a disk number and a sector number, and indicates which data is included in the corresponding buffer unit. This data is not destroyed as long as the buffer structure 1-6 is in the free list 1-7. The read buffer management table 1-5 is used for quickly searching for a buffer structure 1-6 holding data to be sought, and is realized by a hash or the like using a disk number and a sector number as keys. In the present invention, the used buffer structure 1-8 for which data has been read can also be managed and searched for in the read buffer management table 1-5. While the buffer unit may be rewritten, the buffer structure 1-8 is not managed on the read buffer management table 1-5. If the data of the target segment remains in the buffer 1-4, the corresponding buffer structure 1 is read using the read buffer management table 1-5.
-6 and 1-8 can be acquired regardless of whether they are released or in use.

【0014】読込済バッファ管理テーブル1−5で、1
エントリで複数のバッファ構造体1−6, 1−8を指
すことも可能である。1セグメントに複数バッファ単位
を使う場合、データを再利用するときに、以前にどのよ
うな順序でバッファ単位にデータを読み込んだかを知る
必要がある。よって、読込済バッファ管理テーブル1−
5のエントリではバッファ構造体1−6, 1−8の使
用順序を保存するような形態で記録する。また、制御タ
スク1−1とのバッファ構造体1−8の受け渡しも使用
順序を保存したまま行う。本発明では、バッファ構造体
1−8は複数の制御タスク1−1間で共有可能となる
が、使用しているタスクの数を記録するために読込済バ
ッファ管理テーブル1−5のエントリに参照カウンタフ
ィールドを設ける。参照カウンタが0の場合は、そのエ
ントリが指すバッファ構造体1−6は解放済でありフリ
ーリスト1−5中に存在することを意味する。制御タス
ク1−1はスケジューラからディスクアクセス指示を受
けると、ディスク配置情報1−2をサーチし、次に読み
込みを行うセグメントが書き込まれているディスク番
号、セクタ番号を得る。次に制御タスク1−1は、バッ
ファ管理機能1−3に対し、バッファ取得処理1−9を
コールする。
In the read buffer management table 1-5, 1
An entry can also point to a plurality of buffer structures 1-6, 1-8. When a plurality of buffer units are used for one segment, when reusing data, it is necessary to know in what order data was previously read in buffer units. Therefore, the read buffer management table 1-
The entry 5 is recorded in such a manner that the use order of the buffer structures 1-6 and 1-8 is preserved. The transfer of the buffer structure 1-8 to and from the control task 1-1 is also performed while preserving the order of use. In the present invention, the buffer structure 1-8 can be shared among the plurality of control tasks 1-1, but refer to the entry of the read buffer management table 1-5 to record the number of used tasks. Provide a counter field. If the reference counter is 0, it means that the buffer structure 1-6 indicated by the entry has been released and exists in the free list 1-5. When receiving the disk access instruction from the scheduler, the control task 1-1 searches the disk arrangement information 1-2 to obtain the disk number and the sector number in which the segment to be read next is written. Next, the control task 1-1 calls a buffer acquisition process 1-9 to the buffer management function 1-3.

【0015】バッファ取得処理1−9の処理内容を図7
に示す。処理の入力は、ディスク番号、セクタ番号およ
び取得バッファ単位数である。入力されたディスク番
号、セクタ番号より読込済バッファ管理テーブル1−5
を検索する。複数エントリが検索される可能性がある
が、任意の一つのエントリを使用すればよい。テーブル
内にエントリが存在すれば(S2,S3)、そのエント
リが指すすべてのバッファ構造体1−6, 1−8のポ
インタを取得する。もし該当エントリの参照カウンタが
0ならば(S4)、それらのバッファ構造体1−6はフ
リーリスト1−7中に存在するため、それらをフリーリ
スト1−7から取り除く(S5)。また取得バッファ構
造体1−6, 1−8を使用するタスクが一つ増えたこ
とになるので、該当エントリの参照カウンタの値を1増
加させる(S6)。読込済バッファ管理テーブル1−5
の検索に失敗した場合(S2)、フリーリスト1−7の
先頭からバッファ構造体1−6を必要数分取り除く。そ
の取得した各バッファ構造体1−6に対し、自分を指す
エントリを読込済バッファ管理テーブル1−5から削除
する必要があるので、取得バッファ構造体1−6のディ
スク番号、セクタ番号フィールドのデータから読込済バ
ッファ管理テーブル1−5を検索する。そのエントリで
自分以外にも指しているバッファ構造体1−6がある場
合、そのバッファ単位のデータはもはや有効ではないの
で、該当バッファ構造体1−6のディスク番号、セクタ
番号に初期値を設定し、無効データであることを示すよ
うに変更する。その後、そのエントリを読込済バッファ
管理テーブル1−5から削除する(S9〜S12)。も
しディスク番号、セクタ番号フィールドが初期値の場
合、そのバッファ構造体1−6を指すエントリは存在し
ないので検索・削除は不要である。フリーリスト1−7
の先頭から取られた場合、その後で入力値と等しいディ
スク番号、セクタ番号からディスク読み込みが行われる
ため、そのすべてのバッファ構造体1−6のフィールド
にその値を設定する(S10)。最後に取得した全バッ
ファ構造体1−6のポインタおよびデータが読込済であ
るかどうかの論理値を返す。
FIG. 7 shows the contents of the buffer acquisition processing 1-9.
Shown in The input of the process is a disk number, a sector number and the number of acquisition buffer units. Buffer management table 1-5 read from input disk number and sector number
Search for. Although there is a possibility that a plurality of entries are searched, any one entry may be used. If an entry exists in the table (S2, S3), the pointers of all buffer structures 1-6, 1-8 indicated by the entry are obtained. If the reference counter of the corresponding entry is 0 (S4), since those buffer structures 1-6 exist in the free list 1-7, they are removed from the free list 1-7 (S5). Since the number of tasks using the acquisition buffer structures 1-6 and 1-8 is increased by one, the value of the reference counter of the corresponding entry is increased by 1 (S6). Read buffer management table 1-5
Is failed (S2), the necessary number of buffer structures 1-6 are removed from the head of the free list 1-7. For each of the acquired buffer structures 1-6, it is necessary to delete the entry pointing to itself from the read buffer management table 1-5, so the data of the disk number and sector number fields of the acquired buffer structure 1-6 From the read buffer management table 1-5. If there is a buffer structure 1-6 pointing to other than the entry in the entry, the data of the buffer unit is no longer valid, so the initial values are set to the disk number and sector number of the buffer structure 1-6. And change it to indicate that it is invalid data. Thereafter, the entry is deleted from the read buffer management table 1-5 (S9 to S12). If the disk number and sector number fields are initial values, there is no entry pointing to the buffer structure 1-6, so that search / deletion is unnecessary. Free list 1-7
, The disk is read from the same disk number and sector number as the input values, and the values are set in the fields of all the buffer structures 1-6 (S10). The pointer of the last buffer structure 1-6 and the logical value indicating whether or not the data has been read are returned.

【0016】制御タスク1−1はバッファ取得処理1−
9からリターンすると、データが読込済であるかどうか
を見て、読込済である場合ディスクアクセスを省略す
る。これにより、省略されたディスクアクセスの機会を
データの書き込みやデータ修復など他のタスクへ振り向
けることができるようになり、ディスクアクセス帯域を
より有効に使用することが可能となる。またデータが読
込済である場合、そのバッファ単位は他のタスクと共有
する可能性があるため、そのバッファ単位にデータを書
き込む行為を行ってはならない。制御タスク1−1はバ
ッファ取得処理1−9によりデータが読み込まれていな
いバッファ単位を取得した場合、この領域にデータをデ
ィスクから読み込んで使用する必要がある。データを読
み込んでその後内容が書き換わらないことが確定した後
は、このバッファ単位を他のタスクと共有することが可
能となる。その場合、制御タスク1−1は、バッファ管
理機能1−3に対し、バッファ読込設定処理1−11を
コールする。バッファ読込設定処理1−11で指定され
たバッファ構造体1−8は、処理実行後に他のタスクで
使用することが可能となる。バッファ読込設定処理1−
11の処理内容を図8に示す。処理の入力は、取得して
いる全バッファ構造体1−8のポインタである(T
1)。読込済バッファ管理テーブル1−5に入力バッフ
ァ構造体1−8を指すエントリがない場合(T2)、バ
ッファ構造体1−8のディスク番号、セクタ番号値をキ
ーにして、各々の構造体を指すエントリを読込済バッフ
ァ管理テーブル1−5に登録する。このとき、各バッフ
ァ構造体1−8の使用順序を保存するようにする。次
に、該当エントリの参照カウンタの値を1に設定して
(T3)、処理を終了する(T4)。
The control task 1-1 performs a buffer acquisition process 1-
When returning from step 9, it is checked whether the data has been read. If the data has been read, the disk access is omitted. As a result, the omitted disk access opportunity can be allocated to another task such as data writing or data restoration, and the disk access band can be used more effectively. If the data has been read, the buffer unit may be shared with another task, so that the data must not be written in the buffer unit. When the control task 1-1 acquires a buffer unit in which data has not been read by the buffer acquisition process 1-9, it is necessary to read data from the disk into this area and use it. After the data is read and it is determined that the contents will not be rewritten thereafter, this buffer unit can be shared with other tasks. In this case, the control task 1-1 calls the buffer read setting process 1-11 to the buffer management function 1-3. The buffer structure 1-8 specified in the buffer read setting process 1-11 can be used for another task after the process is executed. Buffer read setting processing 1
FIG. 8 shows the processing contents of No. 11. The input of the process is the pointer of all the buffer structures 1-8 that have been acquired (T
1). If there is no entry pointing to the input buffer structure 1-8 in the read buffer management table 1-5 (T2), each structure is pointed to using the disk number and sector number value of the buffer structure 1-8 as a key. The entry is registered in the read buffer management table 1-5. At this time, the order of use of each buffer structure 1-8 is preserved. Next, the value of the reference counter of the corresponding entry is set to 1 (T3), and the process ends (T4).

【0017】制御タスク1−1がセグメントの全データ
を送信し終え、バッファ単位が不要となったとき、バッ
ファ管理機能1−3に対し、バッファ解放処理1−10
をコールする。バッファ解放処理1−10の処理内容を
図9に示す。処理の入力は、解放する全バッファ構造体
1−8のポインタである(U1)。読込済バッファ管理
テーブル1−5に入力バッファ構造体1−8を指すエン
トリがない場合(U2)、そのバッファ単位には再利用
可能なデータが存在しないため、該当バッファ構造体1
−8のディスク番号、セクタ番号に初期値を設定した
後、全バッファ構造体1−6をフリーリスト1−7の最
後に繋いで(U4)、処理を終了する(U7)。読込済
バッファ管理テーブル1−5にエントリが存在する場合
(U2)、まず該当エントリの参照カウンタの値を1減
少させる(U3)。参照カウンタの値が0になった場合
(U5)、他に共有しているタスクは存在しないため、
全バッファ構造体1−6をフリーリスト1−7の最後に
繋いで(U6)、処理を終了する(U7)。なお、尚、
前記バッファ取得処理1−9、バッファ読込設定処理1
−11、バッファ解放処理1−10は複数の制御タスク
1−1により同時に実行されることがないように、排他
制御を行う必要がある。
When the control task 1-1 has finished transmitting all the data of the segment and the buffer unit is no longer needed, the buffer management function 1-3 is instructed to perform buffer release processing 1-10.
Call. FIG. 9 shows the processing contents of the buffer release processing 1-10. The input of the process is a pointer to all buffer structures 1-8 to be released (U1). If there is no entry pointing to the input buffer structure 1-8 in the read buffer management table 1-5 (U2), there is no reusable data in that buffer unit, so the buffer structure 1
After initial values are set to the disk number and sector number of −8, all the buffer structures 1-6 are connected to the end of the free list 1-7 (U4), and the process is terminated (U7). If an entry exists in the read buffer management table 1-5 (U2), first, the value of the reference counter of the entry is decremented by 1 (U3). When the value of the reference counter becomes 0 (U5), since there is no other shared task,
The entire buffer structures 1-6 are linked to the end of the free list 1-7 (U6), and the processing is terminated (U7). In addition,
Buffer acquisition processing 1-9, buffer read setting processing 1
-11, it is necessary to perform exclusive control so that the buffer release processing 1-10 is not executed simultaneously by a plurality of control tasks 1-1.

【0018】ビデオ再生要求から実際の再生開始までの
頭出し時間は、先頭セグメントが読込済である場合、読
込済でない場合に比べて短縮できる可能性が高い。図6
に示すように、読込済データがない場合、まず先頭セグ
メントのディスク読込を行ってから再生開始しなければ
ならない。またスケジューリングの関係ですぐにディス
クアクセス可能になるわけではない。図6の例では、制
御タスク1−1ディスクアクセスが集中して、4単位時
間後にしかディスクアクセスできず、読込猶予時間1単
位時間)を置いて、6単位時間後に再生開始している。
ここで読込猶予時間とはディスクアクセス完了が遅れた
場合を考慮した猶予時間である。読込済データがある場
合、次のセグメントの読み込みがセグメント時間引く読
込猶予時間までにスケジューリング可能であれば、すぐ
に再生開始することができる。すなわち、読込済データ
を再利用することにより、頭出し時間の期待値が短縮さ
れることになる。以上は、ディスク読み込みを行うタス
クのみの例であったが、ディスク書き込みを行うタスク
が使用するデータ読込済みのバッファ単位をディスク読
み込みタスクが再利用することも可能で、データを登録
しながら再生する後追い再生において非常に有効であ
る。
There is a high possibility that the cueing time from the video playback request to the actual start of playback can be reduced when the first segment has been read, compared to when it has not been read. FIG.
As shown in (1), when there is no read data, it is necessary to first read the disk of the first segment and then start reproduction. Also, disk access is not immediately possible due to scheduling concerns. In the example of FIG. 6, the control task 1-1 concentrates on disk access, and the disk can be accessed only after 4 unit time, and the reproduction is started after 6 unit time with a read grace time of 1 unit time.
Here, the read grace time is a grace time in consideration of a case where the disk access completion is delayed. When there is read data, the reproduction can be started immediately if the reading of the next segment can be scheduled by the read grace time minus the segment time. That is, by reusing the read data, the expected value of the cueing time is reduced. The above is an example of only the task of reading a disc. However, the buffer unit in which data has been read and used by the task of writing a disc can be reused by the disc reading task. It is very effective in follow-up playback.

【0019】なお、本発明においては、上述した機能を
コンピュータやサーバ等にハードウェア又はソフトウェ
アのいずれかによって装備することにより、課題を解決
するものであり、ハードウェア構成であるかソフトウェ
ア構成であるかは問うものではない。ここに、ソフトウ
ェア構成の場合は、図10に示すように、記憶媒体10
0からコンピュータ等にインストールされたプログラム
の指示に基づき該コンピュータ等上で稼働しているOS
(オペレーティングシステム)や、データベース管理ソ
フト、ネットワークソフト等のMW(ミドルウェア)等
が本実施形態を実現するための各処理の一部を実行して
も良い。また、記憶媒体としては、磁気ディスク、フロ
ッピー(登録商標)ディスク、ハードディスク、光ディ
スク(CD−ROM、CD−R、DVD等)、光磁気デ
ィスク(MO等)、半導体メモリ等、プログラムを記憶
でき、かつコンピュータ等が読み取り可能な有形の記憶
媒体であれば、その記憶形式は何れの形態であっても良
い。さらに、本発明における記憶媒体は、コンピュータ
と独立した媒体に限らず、LANやインターネット等に
より伝送されたプログラムをダウンロードして記憶又は
一時記憶した記憶媒体も含まれる。
In the present invention, the problem is solved by equipping a computer or a server with the above-mentioned functions by hardware or software, and the present invention has a hardware configuration or a software configuration. It does not matter. Here, in the case of the software configuration, as shown in FIG.
OS running on the computer or the like based on the instructions of the program installed on the computer or the like from 0
(Operating system), MW (middleware) such as database management software, network software, etc., may execute a part of each process for realizing the present embodiment. The storage medium can store programs such as a magnetic disk, a floppy (registered trademark) disk, a hard disk, an optical disk (CD-ROM, CD-R, DVD, etc.), a magneto-optical disk (MO, etc.), a semiconductor memory, etc. In addition, as long as it is a tangible storage medium that can be read by a computer or the like, the storage form may be any form. Further, the storage medium in the present invention is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.

【0020】また、記憶媒体は1つに限らず、複数の媒
体から本実施形態における処理が実行される場合も本発
明における記憶媒体に含まれ、媒体構成は何れの構成で
あっても良い。なお、本発明におけるコンピュータ、サ
ーバ等は、記憶媒体に記憶されたプログラムに基づき、
本実施形態における各処理を実行するものであって、一
つのコンピュータ、サーバからなる装置、複数の装置が
ネットワーク接続されたシステム等の何れの構成であっ
ても良い。また、本発明におけるコンピュータ等にあっ
ては、情報処理機器に含まれる演算処理装置、マイクロ
コンピュータ等も含み、プログラムによって本発明の機
能を実現することが可能な機器、装置を総称している。
Further, the number of storage media is not limited to one, and the case where the processing in this embodiment is executed from a plurality of media is also included in the storage media of the present invention, and any media configuration may be used. Note that the computer, server, and the like in the present invention are based on a program stored in a storage medium.
The computer executes each process in the present embodiment, and may have any configuration such as a single computer, an apparatus including a server, and a system in which a plurality of apparatuses are connected to a network. In the computer and the like according to the present invention, devices and devices that can realize the functions of the present invention by a program, including an arithmetic processing unit and a microcomputer included in an information processing device, are collectively referred to.

【0021】[0021]

【発明の効果】以上のように本発明によれば、不必要な
ディスクアクセスをなくし、さらなるディスクアクセス
帯域の有効利用と、頭出し時間の低減を実現することが
可能なデジタル映像・音声データの配信システム、ビデ
オサーバ及びバッファの制御方法を提供できるものであ
る。
As described above, according to the present invention, unnecessary disk access is eliminated, the effective use of the disk access band, and the reduction of the cueing time are realized. It is possible to provide a distribution system, a video server, and a buffer control method.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態を示す機能ブロック図。FIG. 1 is a functional block diagram showing an embodiment of the present invention.

【図2】本発明が適用される配信システムのブロック
図。
FIG. 2 is a block diagram of a distribution system to which the present invention is applied.

【図3】バッファ単位の使用方法の説明図。FIG. 3 is an explanatory diagram of a method of using a buffer.

【図4】一定セグメントサイズ方式でのバッファ単位の
使用方法の説明図。
FIG. 4 is an explanatory diagram of a method of using a buffer unit in a constant segment size method.

【図5】一定セグメント時間方式でのバッファ単位の使
用方法の説明図。
FIG. 5 is an explanatory diagram of a method of using a buffer unit in a constant segment time system.

【図6】データの再利用による頭出し時間短縮の説明
図。
FIG. 6 is an explanatory diagram of a cueing time reduction by reusing data.

【図7】本発明の一実施形態に対応するバッファ取得処
理のフローチャート。
FIG. 7 is a flowchart of a buffer acquisition process according to an embodiment of the present invention.

【図8】本発明の一実施形態に対応するバッファ読込設
定処理のフローチャート。
FIG. 8 is a flowchart of a buffer read setting process according to an embodiment of the present invention.

【図9】本発明の一実施形態に対応するバッファ解放処
理のフローチャート。
FIG. 9 is a flowchart of a buffer release process according to an embodiment of the present invention.

【図10】本発明の記憶媒体を示すブロック図。FIG. 10 is a block diagram showing a storage medium of the present invention.

【符号の説明】[Explanation of symbols]

1−1 制御タスク 1−2 ディスク配置情報 1−3 バッファ管理機能 1−4 バッファ 1−5 読込済バッファ管理テーブル 1−6 解放済バッファ構造体 1−7 フリーリスト 1−8 使用中バッファ構造体 1−9 バッファ取得処理 1−10 バッファ解放処理 2−1 ビデオサーバ 2−2 ディスク配置情報 2−3 ディスク装置 2−4 要求受付機能 2−5 制御タスク 2−6 スケジューラ 2−7 バッファ管理機能 2−8 バッファ 2−9 通信制御装置 2−10 ネットワーク 2−11 クライアント 1-1 Control task 1-2 Disk allocation information 1-3 Buffer management function 1-4 Buffer 1-5 Read buffer management table 1-6 Released buffer structure 1-7 Free list 1-8 Buffer structure in use 1-9 Buffer Acquisition Process 1-10 Buffer Release Process 2-1 Video Server 2-2 Disk Location Information 2-3 Disk Device 2-4 Request Accepting Function 2-5 Control Task 2-6 Scheduler 2-7 Buffer Management Function 2 -8 buffer 2-9 communication control device 2-10 network 2-11 client

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B060 AA06 AC18 5B082 AA13 FA02 5C052 AA03 AB03 AB04 AC01 AC08 CC06 DD04 5C064 BA01 BA07 BB10 BC16 BC18 BC20 BC23 BC27 BD02 BD07 BD08 BD09  ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B060 AA06 AC18 5B082 AA13 FA02 5C052 AA03 AB03 AB04 AC01 AC08 CC06 DD04 5C064 BA01 BA07 BB10 BC16 BC18 BC20 BC23 BC27 BD02 BD07 BD08 BD09

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 ディスク装置に蓄えられたデジタル映像
・音声データの配信を行うシステムにおいて、 前記ディスク装置におけるバッファ領域を細分化し細分
化した各部分領域に1対1対応してアドレスおよび読み
込まれたデータが存在する前記ディスク装置上のディス
ク番号及びセクタ番号を保持するバッファ構造体と、 このバッファ構造体のうち使用していない解放済バッフ
ァ構造体を先入れ先出し方式で管理するフリーリスト
と、 このフリーリストのうち有効データを持つフリーリスト
中の1つのバッファ構造体またはフリーリストには存在
せずタスクにより使用中でかつデータ読込済みの1つの
バッファ構造体を高速検索するために使用し、さらにタ
スクにより使用中の場合には共有して使用しているタス
クの数を示す参照カウンタを保持する読込済バッファ管
理テーブルと、 この読込済バッファ管理テーブルに基づき必要データが
前記バッファ領域上にある場合には参照カウンタを増加
させてから対応するバッファ構造体を返却し、必要デー
タがバッファ上にない場合には前記フリーリストの先頭
のバッファ構造体を返却するバッファ取得手段と、 新規のバッファ領域にデータが読み込まれた場合に前記
読込済バッファ管理テーブルに該当バッファ構造体への
エントリを登録するバッファ読込設定手段と、前記読込
済バッファ管理テーブル上の該当エントリの参照カウン
タを減少させ、参照カウンタが0の場合には使用済みの
バッファ構造体を前記フリーリストに戻すバッファ解放
手段とを具備することを特徴とするデジタル映像・音声
データの配信システム。
1. A system for distributing digital video / audio data stored in a disk device, wherein a buffer area in the disk device is subdivided, and addresses and read-outs are provided in one-to-one correspondence with the subdivided partial regions. A buffer structure for holding a disk number and a sector number on the disk device where data exists, a free list for managing a released buffer structure that is not used among the buffer structures in a first-in first-out manner, Of a buffer structure in a free list having valid data or a buffer structure which does not exist in the free list but is in use by a task and has been read in data. A reference counter that indicates the number of tasks that are shared and used when in use And a read buffer management table for holding the buffer structure. When necessary data is in the buffer area based on the read buffer management table, a reference counter is incremented and the corresponding buffer structure is returned. Buffer acquisition means for returning the buffer structure at the head of the free list when the buffer structure is not above, and when data is read into a new buffer area, an entry for the buffer structure is stored in the read buffer management table. Buffer read setting means for registering, and buffer release means for reducing a reference counter of the corresponding entry on the read buffer management table and returning a used buffer structure to the free list when the reference counter is 0. A digital video / audio data distribution system, comprising:
【請求項2】 前記複数のバッファ構造体をまとめて順
序を保存したまま検索可能な読込済バッファ管理テーブ
ルと、 前記複数のバッファ構造体をまとめて順序を保存したま
ま返却可能なバッファ取得手段と、 前記複数のバッファ構造体をまとめて前記フリーリスト
に戻すことが可能なバッファ解放手段とを具備すること
を特徴とする請求項1記載のデジタル映像・音声データ
の配信システム。
2. A read buffer management table capable of retrieving the plurality of buffer structures collectively while preserving the order, and a buffer acquisition unit capable of retrieving the plurality of buffer structures collectively and preserving the order. 2. The digital video / audio data distribution system according to claim 1, further comprising: a buffer releasing unit configured to collectively return the plurality of buffer structures to the free list.
【請求項3】 デジタル映像・音声データを蓄えるディ
スク装置を有し、クライアントからのデータ配信要求に
応じてバッファに在るデータを前記クライアントに送信
するビデオサーバにおいて、 前記ディスク装置におけるバッファ領域を細分化し細分
化した各部分領域に1対1対応してアドレスおよび読み
込まれたデータが存在する前記ディスク装置上のディス
ク番号及びセクタ番号を保持するバッファ構造体と、 このバッファ構造体のうち使用していない解放済バッフ
ァ構造体を先入れ先出し方式で管理するフリーリスト
と、 このフリーリストのうち有効データを持つフリーリスト
中の1つのバッファ構造体またはフリーリストには存在
せずタスクにより使用中でかつデータ読込済みの1つの
バッファ構造体を高速検索するために使用し、さらにタ
スクにより使用中の場合には共有して使用しているタス
クの数を示す参照カウンタを保持する読込済バッファ管
理テーブルと、 この読込済バッファ管理テーブルに基づき必要データが
前記バッファ領域上にある場合には参照カウンタを増加
させてから対応するバッファ構造体を返却し、必要デー
タがバッファ上にない場合には前記フリーリストの先頭
のバッファ構造体を返却するバッファ取得手段と、 新規のバッファ領域にデータが読み込まれた場合に前記
読込済バッファ管理テーブルに該当バッファ構造体への
エントリを登録するバッファ読込設定手段と、前記読込
済バッファ管理テーブル上の該当エントリの参照カウン
タを減少させ、参照カウンタが0の場合には使用済みの
バッファ構造体を前記フリーリストに戻すバッファ解放
手段とを具備することを特徴とするビデオサーバ。
3. A video server having a disk device for storing digital video / audio data and transmitting data in a buffer to the client in response to a data distribution request from the client, wherein a buffer area in the disk device is subdivided. A buffer structure for holding a disk number and a sector number on the disk device in which addresses and read data exist in one-to-one correspondence with each of the divided and subdivided partial areas; A free list that manages buffer structures that have not been released in a first-in first-out manner, and one of the buffer structures or free lists in the free list that has valid data in the free list does not exist in the free list and is used by the task and data is read. Used for fast retrieval of one buffer structure that has already been used. A read buffer management table holding a reference counter indicating the number of tasks shared and used when the task is being used; and necessary data are stored in the buffer area based on the read buffer management table. Buffer acquisition means for returning the corresponding buffer structure after increasing the reference counter in some cases, and returning the first buffer structure of the free list when the required data is not on the buffer; and A buffer read setting means for registering an entry to a corresponding buffer structure in the read buffer management table when data is read into an area; and decreasing a reference counter of the corresponding entry on the read buffer management table by referring to the read buffer management table. A buffer for returning a used buffer structure to the free list if the counter is 0 Video server, characterized by comprising a releasing means.
【請求項4】 前記複数のバッファ構造体をまとめて順
序を保存したまま検索可能な読込済バッファ管理テーブ
ルと、 前記複数のバッファ構造体をまとめて順序を保存したま
ま返却可能なバッファ取得手段と、 前記複数のバッファ構造体をまとめて前記フリーリスト
に戻すことが可能なバッファ解放手段とを具備すること
を特徴とする請求項3記載のビデオサーバ。
4. A read buffer management table capable of retrieving the plurality of buffer structures collectively while preserving the order, and a buffer acquisition unit capable of retrieving the plurality of buffer structures preserving the order while preserving the order. 4. The video server according to claim 3, further comprising: a buffer releasing unit configured to collectively return the plurality of buffer structures to the free list.
【請求項5】 クライアントからのデータ配信要求に応
じてネットワークを介し前記クライアントにデータを送
信する、ディスク装置を有するビデオサーバに適用さ
れ、該ビデオサーバを所定動作にて実行させるプログラ
ムを保持したコンピュータ読み取り可能な記憶媒体にお
いて、 前記ディスク装置におけるバッファ領域を細分化し細分
化した各部分領域に1対1対応してアドレスおよび読み
込まれたデータが存在する前記ディスク装置上のディス
ク番号及びセクタ番号をバッファ構造体に保持するステ
ップと、 この保持したバッファ構造体のうち使用していない解放
済バッファ構造体を先入れ先出し方式のフリーリストで
管理するステップと、 この管理のためのフリーリストのうち有効データを持つ
フリーリスト中の1つのバッファ構造体またはフリーリ
ストには存在せずタスクにより使用中でかつデータ読込
済みの1つのバッファ構造体を高速検索するために使用
し、さらにタスクにより使用中の場合には共有して使用
しているタスクの数を示す参照カウンタを保持する読込
済バッファ管理テーブルに基づき必要データが前記バッ
ファ領域上にある場合には参照カウンタを増加させてか
ら対応するバッファ構造体を返却し、必要データがバッ
ファ上にない場合には前記フリーリストの先頭のバッフ
ァ構造体を返却するステップと、 新規のバッファ領域にデータが読み込まれた場合に前記
読込済バッファ管理テーブルに該当バッファ構造体への
エントリを登録するステップと、前記読込済バッファ管
理テーブル上の該当エントリの参照カウンタを減少さ
せ、参照カウンタが0の場合には使用済みのバッファ構
造体を前記フリーリストに戻すステップとを実行させる
ためのプログラムを記憶したことを特徴とするコンピュ
ータ読み取り可能な記憶媒体。
5. A computer which is applied to a video server having a disk device and which transmits data to the client via a network in response to a data distribution request from the client, and which has a program for executing the video server in a predetermined operation. In a readable storage medium, a buffer area in the disk device is subdivided, and an address and a disk number and a sector number on the disk device in which read data exist in one-to-one correspondence with each of the divided subregions are buffered. Holding in a structure, managing unused buffer structures that are not used among the held buffer structures in a first-in first-out free list, and holding valid data in the free list for the management. One buffer structure in the free list A task that is used for high-speed retrieval of one buffer structure that is not in the body or in the free list but is in use by a task and for which data has been read, and is shared and used when it is in use by a task If the required data is in the buffer area based on the read buffer management table that holds the reference counter indicating the number of data, the reference counter is increased and the corresponding buffer structure is returned, and the required data is stored in the buffer. If not, returning a buffer structure at the head of the free list; and, when data is read into a new buffer area, registering an entry for the buffer structure in the read buffer management table. Decrement the reference counter of the corresponding entry on the read buffer management table, Returning a used buffer structure to the free list.
【請求項6】 ディスク装置に蓄えられたデジタル映像
・音声データの配信を行うシステムに適用され、クライ
アントからのデータ配信要求に応じてバッファにあるデ
ータを前記クライアントに送信する際の前記バッファ制
御方法において、 前記ディスク装置におけるバッファ領域を細分化し細分
化した各部分領域に1対1対応してアドレスおよび読み
込まれたデータが存在する前記ディスク装置上のディス
ク番号及びセクタ番号をバッファ構造体に保持し、 この保持したバッファ構造体のうち使用していない解放
済バッファ構造体を先入れ先出し方式のフリーリストで
管理し、 この管理のためのフリーリストのうち有効データを持つ
フリーリスト中の1つのバッファ構造体またはフリーリ
ストには存在せずタスクにより使用中でかつデータ読込
済みの1つのバッファ構造体を高速検索するために使用
し、さらにタスクにより使用中の場合には共有して使用
しているタスクの数を示す参照カウンタを保持する読込
済バッファ管理テーブルに基づき必要データが前記バッ
ファ領域上にある場合には参照カウンタを増加させてか
ら対応するバッファ構造体を返却し、必要データがバッ
ファ上にない場合には前記フリーリストの先頭のバッフ
ァ構造体を返却し、 新規のバッファ領域にデータが読み込まれた場合に前記
読込済バッファ管理テーブルに該当バッファ構造体への
エントリを登録し、前記読込済バッファ管理テーブル上
の該当エントリの参照カウンタを減少させ、参照カウン
タが0の場合には使用済みのバッファ構造体を前記フリ
ーリストに戻すことを特徴とするバッファの制御方法。
6. The buffer control method applied to a system for distributing digital video / audio data stored in a disk device and transmitting data in a buffer to the client in response to a data distribution request from the client. In the above, the buffer area in the disk device is subdivided, and the disk number and the sector number on the disk device in which the address and the read data exist in one-to-one correspondence with each of the subdivided partial areas are stored in a buffer structure. An unused buffer structure that is not used among the held buffer structures is managed by a first-in first-out free list, and one buffer structure in the free list having valid data in the free list for this management. Or data that is not on the free list but is in use by the task Based on a read buffer management table that is used for high-speed retrieval of one buffer structure that has been read, and that holds a reference counter indicating the number of tasks that are shared and used when being used by a task. If the required data is in the buffer area, the reference counter is incremented and the corresponding buffer structure is returned.If the required data is not in the buffer, the head buffer structure of the free list is returned. When data is read into a new buffer area, an entry to the buffer structure is registered in the read buffer management table, the reference counter of the corresponding entry on the read buffer management table is reduced, and the reference counter is reduced. Returning a used buffer structure to the free list when is zero. Method.
【請求項7】 前記バッファ構造体を複数まとめ、該複
数まとめたバッファ構造体の順序を保持したまま検索
し、返却し、前記フリーリストに戻すことを特徴とする
請求項6記載のバッファ制御方法。
7. The buffer control method according to claim 6, wherein a plurality of the buffer structures are collected, searched while maintaining the order of the collected buffer structures, returned, and returned to the free list. .
JP2000373391A 2000-12-07 2000-12-07 System for delivering digital image/voice-data, video server, and method of controlling buffer Pending JP2002175208A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000373391A JP2002175208A (en) 2000-12-07 2000-12-07 System for delivering digital image/voice-data, video server, and method of controlling buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000373391A JP2002175208A (en) 2000-12-07 2000-12-07 System for delivering digital image/voice-data, video server, and method of controlling buffer

Publications (1)

Publication Number Publication Date
JP2002175208A true JP2002175208A (en) 2002-06-21

Family

ID=18842793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000373391A Pending JP2002175208A (en) 2000-12-07 2000-12-07 System for delivering digital image/voice-data, video server, and method of controlling buffer

Country Status (1)

Country Link
JP (1) JP2002175208A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094693A (en) * 2005-09-28 2007-04-12 Brother Ind Ltd Information distribution processing program, computer, information distribution processing method and information distribution processing system
JP2007172250A (en) * 2005-12-21 2007-07-05 Fujitsu Ltd Image memory management device, image memory management method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094693A (en) * 2005-09-28 2007-04-12 Brother Ind Ltd Information distribution processing program, computer, information distribution processing method and information distribution processing system
US9268511B2 (en) 2005-09-28 2016-02-23 Brother Kogyo Kabushiki Kaisha Information distribution processing program, computer, information distribution processing method, and information distribution processing system
JP2007172250A (en) * 2005-12-21 2007-07-05 Fujitsu Ltd Image memory management device, image memory management method, and program

Similar Documents

Publication Publication Date Title
JP3563541B2 (en) Data storage device and data storage method
US5802394A (en) Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US8499102B2 (en) Managing read requests from multiple requestors
JP3120963B2 (en) Method for transferring messages and system for transferring messages
US8627029B2 (en) Methods for managing files according to application
US20080201341A1 (en) Contents management method
US20150356125A1 (en) Method for data placement based on a file level operation
JPH0950667A (en) Method for control of disk drive
CN102521279A (en) Playing method, playing system and player of streaming media files
US5652916A (en) Prestaging method, buffer management method and file system
US20090070560A1 (en) Method and Apparatus for Accelerating the Access of a Multi-Core System to Critical Resources
US20020178176A1 (en) File prefetch contorol method for computer system
JP2000347982A (en) Recording medium recording program to be executed by information processor and computer
CN111880909A (en) Distributed data publishing method and device
US6088757A (en) Computer program means and device for conducting high performance locking facility in a loosely coupled environment
JP3543661B2 (en) Buffer cache method and apparatus in exchange file system
CA2438366A1 (en) System and method for starting a buffer pool
JP2002175208A (en) System for delivering digital image/voice-data, video server, and method of controlling buffer
JP2001346142A (en) Distribution system for digital video/audio data, video server and control method for buffer
JP7073737B2 (en) Communication log recording device, communication log recording method, and communication log recording program
KR20010012913A (en) Network Object Cache Engine
US20050027949A1 (en) Memory device control system
JP3477056B2 (en) Data transfer device
JP2001118365A (en) System and method for managing storage hierarchy and recording medium with storage hierarchical management program recorded thereon
JP3056000B2 (en) Multimedia data network transfer method

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606