JPH09218749A - Data buffer device and data server system - Google Patents

Data buffer device and data server system

Info

Publication number
JPH09218749A
JPH09218749A JP2217796A JP2217796A JPH09218749A JP H09218749 A JPH09218749 A JP H09218749A JP 2217796 A JP2217796 A JP 2217796A JP 2217796 A JP2217796 A JP 2217796A JP H09218749 A JPH09218749 A JP H09218749A
Authority
JP
Japan
Prior art keywords
data
buffer
block
group
input
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
JP2217796A
Other languages
Japanese (ja)
Inventor
Junji Nishikawa
順二 西川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2217796A priority Critical patent/JPH09218749A/en
Publication of JPH09218749A publication Critical patent/JPH09218749A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To obtain a data buffer device having same buffering ability with small capacity memory by specifying the storage capacity of a buffer means and inputting a block by means of an input means in a specified period. SOLUTION: A disk device 101 consists of a hard disk device and an optical disk device, etc., so as to store video information being information of plural images. The data buffer device 102 is functioned as a buffer memory corresponding to multiple channels which store the data blocks of multiple users. At this time, when a block size is adopted as L, time required for inputting the block by the input means is Ti, a cycle is To, the quanty of data which is not read out after written in the buffer means is (d) and a positive integer is (m), the storage capacity D of the buffer means is adopte as a value being more than (m+Ti/To) and less than (m+1)L. Then, the input means inputs the block in the period when Ti<To is satisfied and also d is more than TiL/To.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、映像情報等のデー
タを複数のユーザに分配を行うデータバッファ装置およ
びデータサーバシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data buffer device and a data server system for distributing data such as video information to a plurality of users.

【0002】[0002]

【従来の技術】動画などの映像情報の配信システムは、
多数のユーザに対して、各々のユーザからの要求に応じ
て映像情報を分配するデマンド型サービスを行う。この
ようなシステムにおいては、大規模なデータベースとし
て大容量記憶装置が用いられる。大容量記憶装置に格納
されている映像情報は、それぞれのユーザの要求に対応
する部分が読み出され、チャネルを通じて映像情報が分
配される。ここで、チャネルとは、システムが有する論
理的又は物理的資源のうち各ユーザに共通ではなく、各
ユーザに個別に割り当てられたものをいい、各ユーザへ
のデータの配信のための入出力装置、通信路、伝送時間
等をいう。
2. Description of the Related Art A distribution system for video information such as moving images is
A demand type service that distributes video information to a large number of users in response to requests from each user is provided. In such a system, a large capacity storage device is used as a large scale database. As for the video information stored in the mass storage device, the portion corresponding to the request of each user is read and the video information is distributed through the channels. Here, the channel refers to a logical or physical resource of the system that is not common to each user but is individually assigned to each user, and is an input / output device for distributing data to each user. , Communication path, transmission time, etc.

【0003】このような配信システムでのデータの転送
には、次のような特徴がある。第1に、大容量記憶装置
からの映像情報などのデータの読み出しにおいては、ま
とまった大きさのデータブロックを連続的に高いデータ
転送レートで読み出す必要がある。ここで、ブロックを
単位として読み出すのは、大容量記憶装置として利用さ
れるハードディスク装置や光ディスク装置から連続する
データを読み出すほうが効率が良く、かつ、平均のデー
タ転送レートも高くできるからである。なお、データ転
送レートとは、単位時間当たりに転送するデータの量を
示す値である。
The data transfer in such a distribution system has the following features. First, in reading data such as video information from a large-capacity storage device, it is necessary to continuously read data blocks of a large size at a high data transfer rate. Here, the block is read as a unit because it is more efficient to read continuous data from a hard disk device or an optical disk device used as a mass storage device, and the average data transfer rate can be increased. The data transfer rate is a value indicating the amount of data transferred per unit time.

【0004】第2に、ユーザ側チャネル出力のデータ転
送レートは、1つのユーザについて見れば大容量記憶装
置から出力可能なデータ転送レートよりも低い値であ
る。これは、例えばMPEGのように圧縮して格納され
ている映像情報を伸長して再生するとともに、多数のユ
ーザに均等に情報を提供するため、各ユーザに対しての
出力が均等に分散されているからである。具体的には、
MPEG1規格によるデータあればそのデータ転送レー
トは、1.5Mbps(=0.1875MB/s)であ
り、これに対応できる大容量記憶置としては、例えば、
5MB/s程度のデータ転送が可能なFastSCSI
規格のインターフェースを持ったハードディスク装置が
考えられる。
Second, the data transfer rate of user-side channel output is lower than the data transfer rate that can be output from the mass storage device for one user. This is because, for example, the compressed and stored video information such as MPEG is expanded and reproduced, and the information is evenly provided to a large number of users, so that the output to each user is evenly distributed. Because there is. In particular,
If there is data according to the MPEG1 standard, the data transfer rate is 1.5 Mbps (= 0.1875 MB / s), and a large-capacity storage device compatible with this is, for example,
Fast SCSI capable of data transfer of about 5 MB / s
A hard disk device with a standard interface is conceivable.

【0005】以上の特徴を利用することにより、大容量
記憶装置から読み出しておいていた1ブロックのデータ
を時間をかけてユーザ側チャネルに出力している間に他
のユーザのデータを大容量記憶装置から読み出しておく
ことができ、1つの大容量記憶装置から複数のユーザへ
の映像情報の配信が可能となる。このような大規模記憶
装置から多数のユーザにデータを分配する配信システム
においては、大容量記憶装置とユーザへの配信の間にバ
ッファメモリを設け、上記2種類のデータ転送レートの
差を吸収している。例えば、バッファメモリの1つのチ
ャンネルに対して、5単位のデータがある短い時間に連
続的に書き込まれたとしても、出力する際は各ユーザに
対し1単位ずつ時間間隔をあけて出力される。
By utilizing the above characteristics, while one block of data that has been read from the mass storage device is output to the user-side channel over time, another user's data can be mass-stored. It can be read out from the device, and the video information can be distributed from one mass storage device to a plurality of users. In such a distribution system that distributes data from a large-scale storage device to a large number of users, a buffer memory is provided between the large-capacity storage device and the distribution to the users to absorb the difference between the above two types of data transfer rates. ing. For example, even if 5 units of data are continuously written to one channel of the buffer memory in a short time, when outputting, one unit is output to each user with a time interval.

【0006】このような、大規模記憶装置からデータを
読み出しそれを一時的にバッファに貯えてから分配する
ことによりデータの入出力の時間を調整する、従来のデ
ータバッファ装置として、例えば、特開平2−2220
22に開示されたものがある。この例では、バッファメ
モリに各ユーザのチャネルごとに送出するための映像デ
ータを格納し、バッファメモリからのデータ読み出し
は、各ユーザごとにメモリのアドレスを指定することで
実行される。このような、バッファメモリの構成は、各
ユーザへのデータについて見れば、一般的にはダブルバ
ッファ方式である。
As a conventional data buffer device for adjusting the input / output time of data by reading data from a large-scale storage device, temporarily storing the data in a buffer, and then distributing the data, for example, Japanese Patent Laid-Open Publication No. 2-2220
22 are disclosed. In this example, video data to be sent to each channel of each user is stored in the buffer memory, and data reading from the buffer memory is executed by designating an address of the memory for each user. Such a buffer memory configuration is generally a double buffer system in terms of data to each user.

【0007】図28(a)は、ダブルバッファ方式にお
ける1つのユーザに関するバッファメモリ領域を示す図
である。バッファメモリは2つのバッファB1とバッフ
ァB2から構成され、それぞれの大きさは1回の大容量
記憶装置のアクセスのブロックサイズLであり等しい。
即ち、Lの2倍の容量のバッファメモリを使用すること
で、一方のバッファメモリに対するデータの格納と、他
方のバッファメモリからのデータの読み出しとが並行し
て実行される。
FIG. 28 (a) is a diagram showing a buffer memory area for one user in the double buffer system. The buffer memory is composed of two buffers B1 and B2, each of which has the same block size L for one access to the mass storage device.
That is, by using the buffer memory having a capacity twice as large as L, the data storage in one buffer memory and the data reading from the other buffer memory are executed in parallel.

【0008】図28(b)は、ダブルバッファ方式にお
けるデータの格納と読み出しのタイミングを示す図であ
る。本図に示されたTは、大きさLのデータをチャネル
から出力するのに必要な時間であり、バッファを管理す
るサイクルである。まず、1つめのサイクルではバッフ
ァメモリB1へは短時間(Tw)に書き込まれ、その
後、2つめのサイクルでは書き込まれたバッファメモリ
B1の内容はユーザへのデータ転送レートにしたがって
時間Tr=Tの期間に読み出されて送信される。この間
にバッファメモリB2についても並行して使用し、バッ
ファメモリB1の書き込み中にバッファメモリB2から
読み出し、バッファメモリB1の読み出し中にバッファ
メモリB2へ書き込む。バッファメモリB1とB2は、
バッファメモリB1の送信が終了次第、バッファメモリ
B2の送信に切り替えられる。ここで、図28(b)の
矢印Twで示されるように、バッファメモリへの書き込
みは、読み出し中でない方のバッファメモリに対して行
われるが、書き込みの時間Twは短いため、書き込みは
読み出し中の任意の時刻に実行すればよい。
FIG. 28B is a diagram showing the timing of data storage and read in the double buffer system. T shown in the figure is the time required to output the data of size L from the channel, and is a cycle for managing the buffer. First, in the first cycle, the buffer memory B1 is written to the buffer memory B1 in a short time (Tw), and then in the second cycle, the written contents of the buffer memory B1 are stored for the time Tr = T according to the data transfer rate to the user. It is read and transmitted during the period. During this time, the buffer memory B2 is also used in parallel, and is read from the buffer memory B2 while writing to the buffer memory B1 and written to the buffer memory B2 while reading from the buffer memory B1. The buffer memories B1 and B2 are
As soon as the transmission of the buffer memory B1 is completed, it is switched to the transmission of the buffer memory B2. Here, as shown by the arrow Tw in FIG. 28B, writing to the buffer memory is performed on the buffer memory that is not being read, but since the writing time Tw is short, writing is being performed. It may be executed at any time.

【0009】このように、従来のダブルバッファ方式に
よれば、バッファメモリB1とB2を切り替えながら出
力することにより映像情報を途切れることなくユーザに
出力することができる。
As described above, according to the conventional double buffer method, the video information can be output to the user without interruption by outputting while switching the buffer memories B1 and B2.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、従来の
ダブルバッファ方式では、以下の問題点がある。第1
に、各ユーザへのデータの送出を保証するためには、各
ユーザに対して、1回のデータ読み出しのブロックサイ
ズの2倍の容量のバッファメモリが必要とされる。その
ために、チャネル数が多くなったりデータのブロックサ
イズが大きくなったりした場合には、全体として非常に
大きな容量のバッファメモリが必要になるという問題点
がある。
However, the conventional double buffer system has the following problems. First
Moreover, in order to guarantee the transmission of data to each user, a buffer memory having a capacity twice as large as the block size for one data read is required for each user. Therefore, when the number of channels is increased or the block size of data is increased, there is a problem that a buffer memory having an extremely large capacity is required as a whole.

【0011】第2に、ダブルバッファ方式では、読み出
しと書き込み用に2つの領域を使用しているが、ビット
レートが一時的に変化する場合の対応が困難であるとい
う問題点がある。例えば、通常は、図29(a)に示さ
れるように、時間の進行と共に一定の転送レートでチャ
ネルから出力される。しかし、出力側のデータ転送が混
雑したりデータのビットレートが部分的に変化する場合
などで、出力すべきデータが無くなったり出力が滞って
いるのにデータが入力されてきた場合など、図29
(b)に示すようにデータのアンダーフローを起こした
りオーバーフローを起こしたりする可能性がある。この
ような状態は、映像情報の再生が途切れてしまうことに
なり問題が大きい。
Secondly, in the double buffer system, two areas are used for reading and writing, but there is a problem that it is difficult to deal with the case where the bit rate temporarily changes. For example, normally, as shown in FIG. 29A, a channel is output at a constant transfer rate as time advances. However, in the case where the data transfer on the output side is congested or the bit rate of the data partially changes, when there is no data to be output or when data is input even though the output is delayed, FIG.
As shown in (b), there is a possibility that data underflow or overflow may occur. In such a state, the reproduction of the video information is interrupted, which is a serious problem.

【0012】第3に、異なるデータの要求に対する応答
時間が大きいという問題点がある。図30は、映像情報
Aをユーザに送出中に異なる映像情報A’の要求(Re
qA’)が発生した場合における、ダブルバッファ方式
におけるデータの格納と読み出しのタイミングを示す図
である。ReqA’の発生したサイクルが受け付けのサ
イクルであり、その次のサイクルが新しい映像情報A’
のバッファメモリへの書き込みのサイクルであり、さら
にその次のサイクルの先頭から映像情報A’のユーザへ
の送出が始まる(AckA’)。このとき、ユーザの要
求からユーザへの出力が開始されるまでには、要求を受
け付けるサイクル(最大T)と大容量記憶装置からのデ
ータの読み出しおよびバッファメモリへの書き込みのサ
イクルTとが必要であり、即ち、要求があってから応答
されるまでに最大で2Tの時間が必要とされる。
Thirdly, there is a problem that the response time for requests for different data is long. FIG. 30 shows that different video information A ′ requests (Re
FIG. 9 is a diagram showing the timing of data storage and read in the double buffer method when qA ′) occurs. The cycle in which ReqA 'occurs is the acceptance cycle, and the next cycle is the new video information A'.
Is the cycle of writing to the buffer memory, and the sending of the video information A ′ to the user starts from the beginning of the next cycle (AckA ′). At this time, a cycle for accepting the request (maximum T) and a cycle T for reading data from the mass storage device and writing to the buffer memory are required from the user's request to the start of output to the user. Yes, i.e., a maximum of 2T is required from request to response.

【0013】この2Tの時間は、バッファメモリの管理
サイクル時間Tの2倍を意味するので、ブロックサイズ
Lが大きいほど応答時間が大きいことをも意味する。従
って、大容量記憶装置からの転送レートを高くするため
にブロックサイズを大きくしたならば、その分だけ応答
性が悪くなってしまう。そこで、本発明は上記問題点を
解決するために、大きなバッファの量を必要とせず、か
つハードウェアの量を増大させずに効率的な外部記憶装
置のアクセスを行いながら応答性のよいデータバッファ
装置とデータサーバシステムを提供することを目的とす
る。
Since this 2T time means twice the management cycle time T of the buffer memory, it means that the larger the block size L, the longer the response time. Therefore, if the block size is increased in order to increase the transfer rate from the mass storage device, the responsiveness deteriorates accordingly. Therefore, in order to solve the above problems, the present invention does not require a large amount of buffers and does not increase the amount of hardware, while efficiently accessing an external storage device while providing a highly responsive data buffer. An object is to provide a device and a data server system.

【0014】[0014]

【発明を解決するための手段】上記目的を達成するため
に、本発明に係るデータバッファ装置は、データを一時
的に格納するためのバッファ手段と、端末からの要求に
基づいてデータ記憶装置からブロック単位でデータを読
み出しそのデータを前記バッファ手段に巡回して書き込
むブロック入力を行う入力手段と、バッファ手段に書き
込まれたデータを巡回して読み出しそのデータを一定周
期のサイクルの間に1ブロック分のデータ量の割合で前
記端末に出力するサイクルを繰り返す出力手段とからな
り、ブロックのサイズをL、入力手段がブロック入力を
行うのに要する時間をTi、周期をTo、バッファ手段に
書き込まれた後に未だ読み出されていないデータの量を
d、正の整数をmとした場合に、バッファ手段の記憶容
量Dは、(m+Ti/To)L以上かつ(m+1)L未満
の値であり、入力手段は、Ti<Toを満たし、かつ、d
がTiL/To以上である期間においてブロック入力を行
うことを特徴とする。
To achieve the above object, a data buffer device according to the present invention comprises a buffer means for temporarily storing data and a data storage device based on a request from a terminal. Input means for reading out data in block units and cyclically writing the data to the buffer means and for inputting a block, and cyclically reading and writing the data written in the buffer means for one block during a cycle of a constant cycle. The output means repeats the cycle of outputting to the terminal at the ratio of the data amount of L, the block size is L, the time required for the input means to perform block input is Ti, the cycle is To, and the buffer means is written. If the amount of data that has not been read out later is d and a positive integer is m, the storage capacity D of the buffer means is (m + Ti The To) L or more and (m + 1) is a value less than L, the input means satisfies Ti <the To, and, d
It is characterized in that block input is performed in a period in which is equal to or more than TiL / To.

【0015】これにより、(m+1)Lの記憶容量が必
要とされた従来のダブルバッファ方式等に比べ、少ない
容量のメモリで同一のバッファリング能力を有するデー
タバッファ装置が実現される。また、端末がデータ要求
を発してから最初のデータを受信するまでの応答時間が
短縮される。
As a result, a data buffer device having the same buffering ability can be realized with a memory having a smaller capacity as compared with the conventional double buffer system which requires a storage capacity of (m + 1) L. In addition, the response time from the terminal issuing a data request until receiving the first data is shortened.

【0016】[0016]

【発明の実施の形態】本発明に係るデータバッファ装置
は、大容量記憶装置とそこに格納されたデータを利用す
る端末との間に介在する装置であって、データを一時的
に格納するためのバッファ手段と、端末からの要求に基
づいて大容量記憶装置からブロック単位でデータを読み
出しそのデータをバッファ手段に巡回して書き込むブロ
ック入力を行う入力手段と、バッファ手段に書き込まれ
たデータを巡回して読み出しそのデータを一定周期のサ
イクルの間に1ブロック分のデータ量の割合で端末に出
力するサイクルを繰り返す出力手段とを備える。
BEST MODE FOR CARRYING OUT THE INVENTION A data buffer device according to the present invention is a device interposed between a mass storage device and a terminal that uses data stored therein, and is for temporarily storing data. Buffer means, input means for reading data in block units from the mass storage device in response to a request from the terminal in a block unit and writing the data in the buffer means, and for circulating the data written in the buffer means. And an output means for repeating the cycle of reading and outputting the data to the terminal at a rate of the data amount of one block during a cycle of a constant cycle.

【0017】ここで、入力手段によるブロック入力と出
力手段によるデータ出力とは時分割等により並行して動
作させるが、ブロック入力に要する時間が出力の周期よ
りも短くなるようにしておく。また、バッファ手段の記
憶サイズを、「1ブロックのデータが入力される間に並
行して出力され得るデータ量」に1ブロックを加えた値
とし、入力手段は、バッファ手段での空き容量が1ブロ
ックを越えた時に新たなブロック入力を行うこととして
おく。
Here, the block input by the input unit and the data output by the output unit are operated in parallel by time division or the like, but the time required for the block input is set to be shorter than the output cycle. Also, the storage size of the buffer means is set to a value obtained by adding 1 block to “the amount of data that can be output in parallel while 1 block of data is input”, and the input means has a free space of 1 in the buffer means. A new block input is made when the number of blocks is exceeded.

【0018】これにより、バッファ手段へのアクセスが
固定的に区画されたブロック単位で行われるのではな
く、バッファ手段上のアドレスに依存することなく総空
き容量が1ブロックを越えた時点でブロック入力が行わ
れる。即ち、バッファ手段の記憶サイズが2ブロック未
満であるにも拘らず、一定周期に1ブロックの割合で連
続的に端末に対してデータが供給される。
As a result, the access to the buffer means is not made in fixedly divided block units, but a block input is made when the total free capacity exceeds one block without depending on the address on the buffer means. Is done. That is, although the storage size of the buffer means is less than 2 blocks, data is continuously supplied to the terminal at a rate of 1 block in a constant cycle.

【0019】また、バッファ手段の記憶サイズを、「1
ブロックのデータが入力される間に並行して出力され得
るデータ量」にmブロックを加えた値とし、入力手段
は、バッファ手段に残されたデータ量の平均値がバッフ
ァ手段の記憶サイズの半分となるようなタイミングでブ
ロック入力を行うとすることもできる。これにより、バ
ッファ手段から出力されるデータの転送速度が変動した
場合であっても、バッファ手段の記憶サイズの半分に相
当する変動分が吸収される。即ち、バッファ手段へのデ
ータ入力とバッファ手段からのデータ出力の速度比が、
バッファ手段の記憶サイズを決定するための基準とした
速度比に対して一定範囲内である限りは、データのアン
ダーフローやオーバーフローは起こらない。
Further, the storage size of the buffer means is set to "1.
The amount of data that can be output in parallel while the data of the block is input is added by m blocks, and the input unit has an average value of the amount of data left in the buffer unit that is half the storage size of the buffer unit. It is also possible to perform block input at a timing such that As a result, even when the transfer rate of the data output from the buffer means changes, a change amount corresponding to half the storage size of the buffer means is absorbed. That is, the speed ratio of the data input to the buffer means and the data output from the buffer means is
Underflow or overflow of data does not occur as long as it is within a certain range with respect to the speed ratio used as a reference for determining the storage size of the buffer means.

【0020】また、このようなデータバッファ装置を複
数個と大容量記憶装置とを結合することにより、複数ユ
ーザに対して連続的にデータを供給するデータサーバシ
ステムが構築される。ここで、ブロック入力及び出力サ
イクルを開始するタイミングが各データバッファ装置間
で一定時間ずつずれるように各入力手段及び各出力手段
を制御するのが好ましい。
By combining a plurality of such data buffer devices and a mass storage device, a data server system for continuously supplying data to a plurality of users is constructed. Here, it is preferable to control each input means and each output means such that the timing of starting the block input and output cycle is deviated by a certain time between the data buffer devices.

【0021】これにより、各入力手段及び各出力手段
は、同時に動作する必要がなくなり、時分割で順次に動
作すれば足りる。従って、各データバッファ装置内の入
力手段や出力手段を実現するハードウェアを共通化する
ことが容易となり、簡易なハードウェアでデータサーバ
システムを構築することができる。さらに、各データバ
ッファ装置を複数個のグループのいずれかに割り当て、
同一グループに属する全てのデータバッファ装置におけ
るブロック入力がそのグループに割り当てられた時間内
に行われるよう各入力手段を制御することもできる。
As a result, the input means and the output means do not need to operate at the same time, and it is sufficient if they operate sequentially in a time division manner. Therefore, it becomes easy to share the hardware that realizes the input means and the output means in each data buffer device, and the data server system can be constructed with simple hardware. Furthermore, each data buffer device is assigned to one of a plurality of groups,
It is also possible to control each input means so that the block inputs in all the data buffer devices belonging to the same group are performed within the time allotted to the group.

【0022】これによって、ブロック入力のアクセスを
効率化するためのスケジューリングを行うシステムにお
いて、1周期の間に行うべきスケジューリングの回数
は、ユーザ数に依存することなく常にグループ数と一致
する。従って、ブロック入力のアクセスを効率化するた
めの処理が簡素化される。また、データの供給を受けて
いる端末から、それまでのブロックとは全く異なる種類
のブロックの要求があった場合には、その端末に対して
新たなグループ割り当てを行うようにしておくのが好ま
しい。
As a result, in a system for performing scheduling for improving the efficiency of block input access, the number of times of scheduling to be performed in one cycle always matches the number of groups without depending on the number of users. Therefore, the processing for improving the efficiency of the block input access is simplified. Further, when a terminal receiving data is requested for a block of a completely different type from the block so far, it is preferable to newly assign a group to the terminal. .

【0023】これによって、供給すべきデータの種類を
変更する場合であっても、ブロック入力のための効率的
なアクセスが確保され、短時間により多くのユーザ数の
ブロック入力を行うことが可能となる。このようなグル
ープの再割り当てに伴い、バッファ手段に不要な先読み
データが残ることがあるが、新たに入力したブロックデ
ータをその不要な先読みデータに上書きすることもでき
る。
As a result, even when the type of data to be supplied is changed, efficient access for block input can be ensured and a large number of users can input blocks in a short time. Become. Although unnecessary prefetch data may remain in the buffer unit due to such reassignment of groups, newly input block data can be overwritten on the unnecessary prefetch data.

【0024】これによって、無駄なデータのためにバッ
ファ手段の領域が犠牲となってしまうということが回避
される。
This avoids wasting the area of the buffer means due to wasted data.

【0025】[0025]

【実施例】以下、本発明の実施例について図面を用いて
詳細に説明する。 (第1実施例) (構成)図1は、本発明の第1実施例に係るビデオサー
バシステムの構成図である。ビデオサーバシステムでは
本図に示すように、ディスク装置101とデータバッフ
ァ装置102と制御プロセッサ103と分配スイッチ1
04とから構成されている。ディスク装置101は、ハ
ードディスク装置や光ディスク装置等からなり、複数の
映像情報であるビデオ情報を格納する。
Embodiments of the present invention will be described below in detail with reference to the drawings. (First Embodiment) (Configuration) FIG. 1 is a configuration diagram of a video server system according to a first embodiment of the present invention. In the video server system, as shown in the figure, a disk device 101, a data buffer device 102, a control processor 103, and a distribution switch 1
04. The disk device 101 includes a hard disk device, an optical disk device, and the like, and stores video information, which is a plurality of video information.

【0026】データバッファ装置102は、多数のユー
ザのデータブロックを格納する多数のチャネルに対応す
るバッファメモリとして機能する。具体的な構成は、後
に説明する。制御プロセッサ103は、制御プログラム
を格納したROM、作業領域としてのRAM、CPU等
からなり、ディスク装置101とデータバッファ装置1
02と分配スイッチ104との間のデータ転送を制御す
る。分配スイッチ104は、ネットワーク制御回路や増
幅器等からなり、複数の出力チャネルを通して多数のユ
ーザにデータブロックを分配する。
The data buffer device 102 functions as a buffer memory corresponding to a large number of channels which store a large number of data blocks of users. The specific configuration will be described later. The control processor 103 is composed of a ROM storing a control program, a RAM as a work area, a CPU, etc., and includes a disk device 101 and a data buffer device 1.
02 and the distribution switch 104 are controlled. The distribution switch 104 is composed of a network control circuit, an amplifier, etc., and distributes a data block to a large number of users through a plurality of output channels.

【0027】図2は、データバッファ装置102の具体
的な構成を示す図である。データバッファ装置102
は、大きくわけて、データ転送装置210とメモリ22
0から構成されている。メモリ220は、DRAM等か
らなり、ディスク装置101から読み出されたデータを
一時的に格納するものである。データ転送装置210
は、書き込みアドレス生成回路214Wと読み出しアド
レス生成回路214Rとパラメータレジスタ213とデ
ータ入出力回路212と入出力制御回路211とから構
成される。読み出しアドレス生成回路214Rと書き込
みアドレス生成回路214Wは、複数のチャネルへ分配
するために、論理的には複数のバッファのアドレスを生
成する。
FIG. 2 is a diagram showing a specific configuration of the data buffer device 102. Data buffer device 102
Is roughly divided into a data transfer device 210 and a memory 22.
0. The memory 220 is composed of a DRAM or the like, and temporarily stores the data read from the disk device 101. Data transfer device 210
Is composed of a write address generation circuit 214W, a read address generation circuit 214R, a parameter register 213, a data input / output circuit 212, and an input / output control circuit 211. The read address generation circuit 214R and the write address generation circuit 214W logically generate addresses of a plurality of buffers for distribution to a plurality of channels.

【0028】図3は、データ転送装置210とメモリ2
20によって実現される論理的なバッファの構成を示
す。バッファはn人のユーザのそれぞれのデータを格納
し、U0からUn−1までのn本の独立したバッファと
して機能する。各ユーザへのデータはそれぞれ対応する
バッファ領域Uiに格納され、メモリ上のデータは順に
読み出されて分配スイッチ104を経由して各チャネル
に分配される。なお、「論理的」とは、実際のタイミン
グの見地ではなく、データを利用するユーザ端末での処
理速度という低速度の見地からメモリ220へのアクセ
ス手順を見ることをいう。従って、実際には、瞬時にお
いては、メモリ220が有するアドレス空間うちの1つ
のアドレスに対してのみ読み又は書き込みのアクセスが
行われている。
FIG. 3 shows the data transfer device 210 and the memory 2.
20 shows a configuration of a logical buffer realized by 20. The buffer stores the data of each of the n users and functions as n independent buffers U0 to Un-1. The data for each user is stored in the corresponding buffer area Ui, and the data on the memory is sequentially read and distributed to each channel via the distribution switch 104. It should be noted that “logical” means not seeing the actual timing, but seeing the access procedure to the memory 220 from the viewpoint of the low processing speed of the user terminal that uses the data. Therefore, in reality, read or write access is performed only to one address in the address space of the memory 220 at an instant.

【0029】パラメータレジスタ213は、書き込みア
ドレス生成回路214Wと読み出しアドレス生成回路2
14Rとがアドレスを生成するためのパラメータを保持
する。パラメータは、具体的には、n本のバッファそれ
ぞれについての記憶容量、書き込みアドレスと読み出し
アドレスに許容される数値範囲や相互の関係等の制御情
報である。
The parameter register 213 includes a write address generation circuit 214W and a read address generation circuit 2
14R holds parameters for generating an address. The parameter is, specifically, control information such as a storage capacity for each of the n buffers, a numerical range allowed for the write address and the read address, and a mutual relationship.

【0030】データ入出力回路212は、ディスク装置
101に接続されている入力ポート215を通じてデー
タを受け取り、そのデータを書き込みアドレス生成回路
214Wの生成する書き込みアドレスに基づいてデータ
バス217を通じてメモリ220に書き込む。また、読
み出しアドレス生成回路214Rの生成する読み出しア
ドレスに基づいてメモリ220からデータバス217を
通じてデータを読み出し出力ポート216を通じて出力
する。
The data input / output circuit 212 receives data through the input port 215 connected to the disk device 101, and writes the data in the memory 220 through the data bus 217 based on the write address generated by the write address generation circuit 214W. . Further, based on the read address generated by the read address generation circuit 214R, the data is output from the memory 220 through the data bus 217 through the read output port 216.

【0031】入出力制御回路211は、パラメータレジ
スタ213に格納されたパラメータをアドレス生成回路
214に出力させ、またデータの入出力のデータ転送を
データ入出力回路212を通じて制御する。 (動作)次に、ビデオサーバシステムの全体の動作につ
いて、図1を用いて説明する。
The input / output control circuit 211 causes the address generation circuit 214 to output the parameters stored in the parameter register 213, and controls the data input / output data transfer through the data input / output circuit 212. (Operation) Next, the overall operation of the video server system will be described with reference to FIG.

【0032】図1に示すシステムにおいては、ディスク
装置101には複数のビデオデータが格納されており、
ユーザごとに異なるビデオデータが選択され、それぞれ
分配スイッチ104を通じて各ユーザの要求するデータ
が配信される。ディスク装置101に格納されているデ
ータは、ブロック単位に高速に読み出される。それはデ
ィスク装置101において、シーク時間がオーバーヘッ
ドとなるのを防ぐことができ、かつデータをブロック単
位の読み出しを行うことによって、単位時間当りに読み
出せるデータ量を多くすることが可能であり、これによ
り、より多くのユーザにデータを供給することが可能と
なるからである。
In the system shown in FIG. 1, the disk device 101 stores a plurality of video data,
Different video data is selected for each user, and the data requested by each user is distributed through the distribution switch 104. The data stored in the disk device 101 is read at high speed in block units. In the disk device 101, it is possible to prevent the seek time from becoming an overhead, and by reading data in block units, it is possible to increase the amount of data that can be read per unit time. This is because it becomes possible to supply data to more users.

【0033】そして分配スイッチ104からユーザへの
データの供給は、各ユーザごとに一定のデータ転送レー
トを保持する必要がある。これは、通信のトラフィック
を分散させるとともに、各ユーザの受信端末において、
データを連続的に再生するため均等にデータが分散され
て到着する必要があるからである。次に、データバッフ
ァ装置102でのユーザUiごとのバッファのサイズと
バッファへの書き込みと読み出しの動作について説明す
る。
In order to supply data from the distribution switch 104 to users, it is necessary to maintain a constant data transfer rate for each user. This distributes communication traffic and at the receiving terminal of each user,
This is because the data must be evenly distributed and arrive in order to continuously reproduce the data. Next, the size of the buffer for each user Ui in the data buffer device 102 and the operation of writing to and reading from the buffer will be described.

【0034】前述したとおりディスク装置101からは
高速に1ブロックを読み出しデータバッファ装置102
へ書き込み、データバッファからは分配スイッチ104
を通して各ユーザに低速で送出される。データバッファ
装置102への書き込み時の速度をri、データバッフ
ァ装置102からの読み出しの速度はroとする。この
読み出し速度roはユーザへの送信の速度であり、平均
の出力レートである。
As described above, one block is read from the disk device 101 at high speed and the data buffer device 102 is read.
To the distribution switch 104 from the data buffer.
Through each user at low speed. It is assumed that the writing speed to the data buffer device 102 is ri, and the reading speed from the data buffer device 102 is ro. This read speed ro is the speed of transmission to the user and is the average output rate.

【0035】図4は、1ユーザUi分のバッファ222
の模式図である。ブロックサイズはLで1ユーザ当りの
バッファのサイズはL+kである。ここで、kは、バッ
ファ222の空領域にブロックサイズLのデータを書き
込むのに必要な時間のあいだに、バッファ222からの
出力を途切れずに出すことのできるサイズである。バッ
ファのサイズL,kとデータ転送の時間およびデータ転
送レートri,roとの関係は次のようになる。サイズ
Lの1つのブロックを1つのユーザに送信する時間をサ
イクルタイムTとすると、T=L/roである。このと
きkについては、ブロックサイズLのデータをriの転
送レートで書き込む時間Tw=L/riが、kの大きさ
のデータを出力する時間より小さければよい。従って、
Tw<k/roであり、k>L*ro/riである。
FIG. 4 shows a buffer 222 for one user Ui.
FIG. The block size is L, and the buffer size per user is L + k. Here, k is a size such that the output from the buffer 222 can be output without interruption during the time required to write the data of the block size L in the empty area of the buffer 222. The relationship between the buffer sizes L and k and the data transfer time and the data transfer rates ri and ro is as follows. If the time for transmitting one block of size L to one user is the cycle time T, then T = L / ro. At this time, for k, the time Tw = L / ri for writing the data of the block size L at the transfer rate of ri may be shorter than the time for outputting the data of k size. Therefore,
Tw <k / ro and k> L * ro / ri.

【0036】例えば、ブロックサイズL=250KB、
ri=5MByte/s、ro=4Mbit/sの場
合、サイクルタイムT=0.5sである。ここで、Bは
バイト(8ビット)のデータ量の単位である。このとき
k>250KB*0.5M/5M=25KBであり、k
は25KBよりも大きい値とする。1つのユーザあたり
のバッファ222の全体のサイズは、275KBよりも
大きいサイズである。
For example, the block size L = 250 KB,
When ri = 5 MByte / s and ro = 4 Mbit / s, the cycle time T = 0.5 s. Here, B is a unit of data amount of bytes (8 bits). At this time, k> 250KB * 0.5M / 5M = 25KB, and k
Is larger than 25 KB. The total size of the buffer 222 per user is larger than 275 KB.

【0037】次に、メモリ220上のデータの状態と時
間の経過と転送の状態について図5と図6に従って説明
する。ここでは、1人のユーザUiに関するバッファの
動作の説明を行う。最初はデータのない状態とし、次の
ステップでは図5(a)のように大きさLの最初のブロ
ックのデータがメモリ220に書き込まれる。図5の中
ではメモリ220に対する書き込みをWで表し、メモリ
220からの読み出しをRで表す。この次のサイクル
は、図5(b)のように、メモリ220上のデータの出
力を開始する。このときのバッファ222からはroの
転送レートで読み出される。図5の中では、データの格
納されていない空領域を白抜きの部分で表わしている。
空領域のサイズがブロックサイズLより大きくなった時
点でディスク装置101からのデータがメモリ220に
書き込まれる。図5(c)のように、書き込みWは、前
回書き込まれたブロックの最後の位置から続いてかきこ
まれる。この書き込みは、k>L*ro/riより、k
の大きさのデータをバッファ222から出力する時間よ
りもLの領域に書き込む時間の方が短い。これにより、
図5(c)では、読み出しRよりも先に書き込みWが終
了する。最初の1ブロックのデータがすべて出力され終
わった状態が図5(d)である。この状態のバッファ2
22に対して、次のサイクルも同様の処理を行うと図5
(e)(f)(g)に示すように順にデータの転送が行
われる。このようにして、バッファ222への書き込み
Wは、前のサイクルで書き込まれたブロックの次の位置
から書き込まれ、バッファ222のサイズL+kで折り
返して最初に戻り書き込まれる。
Next, the state of data on the memory 220, the passage of time, and the state of transfer will be described with reference to FIGS. 5 and 6. Here, the operation of the buffer for one user Ui will be described. Initially, there is no data, and in the next step, the data of the first block of size L is written in the memory 220 as shown in FIG. In FIG. 5, writing to the memory 220 is represented by W, and reading from the memory 220 is represented by R. In the next cycle, as shown in FIG. 5B, output of data on the memory 220 is started. At this time, the data is read from the buffer 222 at the transfer rate of ro. In FIG. 5, a blank area in which no data is stored is represented by a white portion.
When the size of the empty area becomes larger than the block size L, the data from the disk device 101 is written in the memory 220. As shown in FIG. 5C, the write W is continuously written from the last position of the previously written block. This writing is k> L * ro / ri
It takes less time to write the data of size L in the area L than to output it from the buffer 222. This allows
In FIG. 5C, the write W ends before the read R. FIG. 5D shows a state in which all the data of the first block has been output. Buffer 2 in this state
If the same processing is performed in the next cycle for 22 as well, FIG.
Data is sequentially transferred as shown in (e), (f), and (g). In this way, the write W to the buffer 222 is written from the position next to the block written in the previous cycle, folded back with the size L + k of the buffer 222, and returned and written first.

【0038】図6は、バッファ222への書き込みと読
み出しのタイミングを示す図である。図中のTa〜Tg
は、それぞれ図5(a)〜(g)に対応し、各バッファ
の状態の時間的位置を表わす。Tkはkのサイズのデー
タの読み出しに必要な時間であり、Tk=k/ro>T
wである。なお、本図においてデータ書き込み時間Tw
とデータ読み出し時間Trが重なっているのは、本図が
「論理的」なバッファの動作を説明する図だからであ
り、実際には、両動作は小さい時間区間に時分割されて
行われている。このようにして、バッファ222からの
出力は、途切れることなく順次送出することが可能とな
り、映像情報等の再生に適している。
FIG. 6 is a diagram showing the timing of writing and reading to and from the buffer 222. Ta to Tg in the figure
Respectively correspond to FIGS. 5A to 5G and represent the temporal position of the state of each buffer. Tk is the time required to read data of size k, and Tk = k / ro> T
w. In this figure, the data writing time Tw
The reason why the data read time Tr and the data read time Tr overlap is that this figure is for explaining the operation of the "logical" buffer. In practice, both operations are time-divided into small time intervals. . In this way, the output from the buffer 222 can be sequentially transmitted without interruption, which is suitable for reproducing video information and the like.

【0039】次に、データバッファ装置102における
各回路の動作について説明する。図7は、データバッフ
ァ装置102のメモリ220への書き込みと読み出しの
制御手順を示すフローチャートである。この図は、1つ
のユーザUiに関する動作について説明している。まず
書き込みと読み出しのアドレスAw,Arの初期化が行
われる(ステップS11)。この初期化は、入出力制御
回路211が、パラメータレジスタ213を用いること
により行われる。アドレス生成回路214のアドレスの
値はバッファ領域222の上限(L+k)のサイズを越
えたらこの初期値に戻される。
Next, the operation of each circuit in the data buffer device 102 will be described. FIG. 7 is a flowchart showing a control procedure of writing and reading to and from the memory 220 of the data buffer device 102. This figure describes the operation for one user Ui. First, the write and read addresses Aw and Ar are initialized (step S11). This initialization is performed by the input / output control circuit 211 using the parameter register 213. The address value of the address generation circuit 214 is returned to this initial value when it exceeds the upper limit (L + k) size of the buffer area 222.

【0040】データ転送においては、メモリ220への
書き込み(入力)とメモリ220からの読み出し(出
力)が並行して実行される。これは、図7のように、バ
ッファ222の空領域のサイズのチェックによってデー
タの入力プロセスを起動すること(ステップS12、S
13)と、バッファ222からのデータの出力プロセス
の動作の状態を監視すること(ステップS14、S1
5)で可能となる。
In data transfer, writing (input) to the memory 220 and reading (output) from the memory 220 are executed in parallel. This is to activate the data input process by checking the size of the empty area of the buffer 222 as shown in FIG. 7 (steps S12, S).
13) and monitoring the operation status of the process of outputting data from the buffer 222 (steps S14 and S1).
It becomes possible in 5).

【0041】ここで、空領域のサイズは、アドレスAw
とアドレスArの差の大きさを計算することでチェック
される。但し、バッファ222のアドレスは巡回してい
るため、Aw−Arが負の値になる場合には,L+k+
Aw−Arによって計算を行う。データの入力プロセス
とデータの出力プロセスでは、各アドレス値はデータの
入出力に従って順次加算される。この入力プロセスは、
入力するデータ数をカウントし、データ数がLとなるま
で実行したらこのプロセスは停止する。一方、出力プロ
セスはデータ数Lの出力が終わり次第、次のブロックの
出力が継続して起動される。
Here, the size of the empty area is the address Aw.
It is checked by calculating the magnitude of the difference between the address Ar and the address Ar. However, since the address of the buffer 222 is circular, when Aw-Ar takes a negative value, L + k +
Calculation is performed by Aw-Ar. In the data input process and the data output process, each address value is sequentially added according to the data input / output. This input process is
This process is stopped when the number of input data is counted and executed until the number of data becomes L. On the other hand, in the output process, as soon as the output of the number of data L is completed, the output of the next block is continuously activated.

【0042】以上説明したように、第1実施例に係るビ
デオデータシステムにおいては、読み出しと書き込みの
方向を1つのステップ毎に、巡回してメモリ領域を使用
する。そのために、各ユーザに必要なバッファ量は、デ
ータのブロックのサイズにわずかな量である予備領域を
付加しただけで済む。即ち、従来のダブルバッファ方式
では、メモリ領域へのアクセスは、固定的に区画された
ブロック単位でのみ行われるために、たとえ空き領域が
発生していてもそのブロックのデータが全て読み出され
ない限りそのブロックへのデータの書き込みが許されな
い。そのために、2ブロック分のメモリ領域が必要とさ
れた。
As described above, in the video data system according to the first embodiment, the memory area is used by cycling the reading and writing directions for each step. Therefore, the amount of buffer required for each user only needs to add a small amount of spare area to the size of the block of data. That is, in the conventional double buffer method, since the memory area is accessed only in fixedly divided block units, even if an empty area is generated, all the data in the block is not read out. Writing data to the block is not allowed. Therefore, a memory area for two blocks is required.

【0043】一方、本システムでは、空き領域の総容量
が1ブロックを越えれば、その空き領域の位置に拘ら
ず、1ブロックのデータを入力している。そして、メモ
リ領域のサイズを、入出力のアクセスから算出される必
要十分な値としている。そのために、2ブロックより小
さい容量のメモリ領域であるにも拘らず、ダブルバッフ
ァ方式と同一のバッファ能力を提供することが可能とな
った。
On the other hand, in this system, if the total capacity of the empty area exceeds 1 block, 1 block of data is input regardless of the position of the empty area. Then, the size of the memory area is set to a necessary and sufficient value calculated from the input / output access. Therefore, it is possible to provide the same buffer capacity as the double buffer method, even though the memory area is smaller than 2 blocks.

【0044】また、応答性についても、図8に示すよう
に、Aという映像を見ていたユーザが異なる映像A’を
要求(Req A’)したときに、その応答(Ack
A’)は、最大でT+Tkの時間で応答される。この時
間TkはサイクルタイムTよりも小さい値であるから、
本システムにおける応答時間は、ダブルバッファに比べ
て小さくなっている。 (第2実施例) (構成)次に、本発明の第2実施例に係るビデオサーバ
システムについて説明する。
As for the responsiveness, as shown in FIG. 8, when the user who is watching the image A requests (Req A ') a different image A', the response (Ack
A ') is responded in a maximum of T + Tk times. Since this time Tk is a value smaller than the cycle time T,
The response time of this system is smaller than that of the double buffer. Second Embodiment (Structure) Next, a video server system according to a second embodiment of the present invention will be described.

【0045】本システムは、第1実施例のシステムとほ
ぼ同様の構成であるが、データバッファ装置102の構
成が異なる。図9は、本実施例におけるデータバッファ
装置102の1つのユーザUi分のバッファ223を示
す図であり、第1実施例における図4に示されたバッフ
ァ222に対応する。バッファ223のサイズはブロッ
クサイズLの2倍にkを加えたものである。このkは、
図4と同じであり、1つの大きさLのブロックをバッフ
ァ223に書き込むのに必要な時間Twよりも大きい時
間Tkでバッファから読み出すものである。この場合、
バッファ223は第1実施例のバッファ222と同様に
巡回して使用するが、データの書き込みのタイミングと
データの読み出しのタイミングが異なる。
This system has almost the same configuration as the system of the first embodiment, but the configuration of the data buffer device 102 is different. FIG. 9 is a diagram showing a buffer 223 for one user Ui of the data buffer device 102 in the present embodiment, and corresponds to the buffer 222 shown in FIG. 4 in the first embodiment. The size of the buffer 223 is twice the block size L plus k. This k is
This is the same as FIG. 4, and is read from the buffer at a time Tk that is larger than the time Tw required to write one block of size L to the buffer 223. in this case,
The buffer 223 is circulated and used in the same manner as the buffer 222 of the first embodiment, but the data writing timing and the data reading timing are different.

【0046】なお、本システムの他の構成部は第1実施
例の場合と同様であるので、その説明を省略する。 (動作)このバッファ223についての動作について図
10から図14に従って説明する。図10は、バッファ
223へのデータの書き込みと読み出しとのタイミング
に関して許される代表的な3つのケースを示す図であ
る。図10(a),(b),(c)のそれぞれは、読み
込んでからすぐに出力する場合(図10(a))、1サ
イクル待ってから出力する場合(図10(b))、半サ
イクル待ってから出力する場合(図10(c))の動作
を示している。図中のTとWとRは第1実施例の説明と
同じであり、WとRは書き込みと読み出しを表してい
る。
Since the other components of this system are the same as those in the first embodiment, the description thereof will be omitted. (Operation) The operation of the buffer 223 will be described with reference to FIGS. FIG. 10 is a diagram showing three typical cases permitted regarding the timings of writing and reading data to and from the buffer 223. Each of FIGS. 10 (a), (b), and (c) is a half when outputting immediately after reading (FIG. 10 (a)), when outputting after waiting for one cycle (FIG. 10 (b)), The operation when waiting for a cycle and then outputting (FIG. 10C) is shown. T, W and R in the figure are the same as those in the first embodiment, and W and R represent writing and reading.

【0047】図10(a)は、第1実施例のバッファ2
22の動作と同じである。図10(b)では、バッファ
223の中に1つのブロックのデータLが有る状態でも
う一つのブロックのデータLが書き込まれる場合であ
る。このため、Wで書き込まれたデータは次の1サイク
ル間は前のデータが読み出されているための待ち状態と
なる。図10(c)は、図10(a)と図10(b)の
中間であり、サイクル時間Tの半分の期間だけデータが
待ち状態となる。
FIG. 10A shows the buffer 2 of the first embodiment.
The operation is the same as that of 22. In FIG. 10B, the data L of one block is written in the buffer 223 while the data L of another block is written. Therefore, the data written in W is in a waiting state for the next one cycle because the previous data is being read. FIG. 10C is an intermediate state between FIG. 10A and FIG. 10B, and the data is in a waiting state only for a half period of the cycle time T.

【0048】バッファ223のデータの状態を図11と
図12に示す。図11は図10におけるWの終わった時
点の状態であり、図11(a)(b)(c)はそれぞれ
図10(a)(b)(c)と対応する。これらの図から
判るように、書き込みWが終わった時点においては、そ
れぞれ、L(図11(a))、2L(図11(b))、
1.5L(図11(c))のデータが格納された状態と
なる。ただし、Tk>Twであり、書き込みが終わった
時点でそれぞれに最大で(k−L/ri)の量のデータ
が余分に残る。
The data states of the buffer 223 are shown in FIGS. 11 and 12. FIG. 11 shows the state at the end of W in FIG. 10, and FIGS. 11 (a), (b), and (c) correspond to FIGS. 10 (a), (b), and (c), respectively. As can be seen from these figures, when the writing W is completed, L (FIG. 11A), 2L (FIG. 11B), and
A state in which 1.5 L (FIG. 11C) of data has been stored. However, since Tk> Tw, a maximum amount of (k−L / ri) data remains in each of them at the time of writing.

【0049】図12は、書き込みの可能となる状態のバ
ッファ223の様子を示したものである。この図12
は、1つのブロックの読み出しのサイクルにおいて、次
のサイクルに読み出すべきデータの準備のための書き込
みが開始できる時点の状態を表している。図12
(a)、(b)、(c)は、それぞれ図10(a)、
(b)、(c)の場合に対応する。図12(a)は2L
の空がある状態を、図12(b)はLの空が有る状態
を、図12(c)はその中間の1.5Lの空がある状態
を示している。
FIG. 12 shows the buffer 223 in a writable state. This FIG.
In the read cycle of one block, the state at the time when the write for preparing the data to be read in the next cycle can be started. FIG.
(A), (b) and (c) are shown in FIG.
This corresponds to the cases of (b) and (c). Figure 12 (a) is 2L
12B shows a state in which there is an L sky, and FIG. 12C shows a state in which there is an intermediate 1.5L sky.

【0050】図13は、バッファ223へのデータの書
き込みと読み出しの連続的なタイミングを示す図であ
る。図13(a)、(b)、(c)は、それぞれ図10
(a)、(b)、(c)の場合に対応する。図13
(a)は図6と同様のタイミングであり、バッファに書
き込まれたデータはすぐに読み出されて出力される。図
のWとRはそれぞれバッファ223への書き込みと読み
出しを表し、図の中の1、2、3は書き込み(W)と読
み出し(R)の番号を表しており、W1で書き込んだデ
ータをR1で読み出す。
FIG. 13 is a diagram showing successive timings of writing and reading data to and from the buffer 223. 13A, 13B, and 13C are respectively shown in FIG.
It corresponds to the cases of (a), (b), and (c). FIG.
6A shows the same timing as in FIG. 6, and the data written in the buffer is immediately read and output. W and R in the drawing represent writing and reading to and from the buffer 223, respectively, and 1, 2 and 3 in the drawing represent the numbers of writing (W) and reading (R), respectively. Read with.

【0051】図13(b)の場合、書き込んだデータ
は、1サイクルの間はバッファに蓄えられた状態で、1
サイクルの待ってから出力される。図13(c)は半サ
イクルの間バッファに蓄えられており、(a)と(b)
の中間である。これら3つの図13(a)、(b)、
(c)に示されたタイミングからわかるように、バッフ
ァ223からの読み出しの転送レートが変化した場合
に、図13(a)では、読み出しが遅れた場合に書き込
みWが一定の周期で行われると、バッファには図11
(a)と図12(a)に示されるように、空領域がある
ので、この部分に書き込まれることでバッファのオーバ
ーフローが起こらない。図13(b)の場合は、バッフ
ァ223からの読み出しRが速くなったときに、バッフ
ァの書き込みWが一定の周期で行われているときに、図
11(b)と図12(b)に示されるようにバッファ2
23には十分なデータが格納されているので、バッファ
223のアンダーフローが起こらない。図13(c)の
場合は、半サイクルずれた位置が書き込みWのサイクル
であり、図13(a)と図13(b)の両方の特徴を兼
ねている。
In the case of FIG. 13B, the written data is stored in the buffer for one cycle, and
It is output after waiting for the cycle. FIG. 13 (c) is stored in the buffer for half a cycle, (a) and (b)
Is in between. These three figures 13 (a), (b),
As can be seen from the timing shown in (c), when the transfer rate of the read from the buffer 223 changes, in FIG. 13A, when the read is delayed, the write W is performed at a constant cycle. , The buffer is shown in FIG.
As shown in (a) and FIG. 12 (a), since there is an empty area, the buffer overflow does not occur by writing in this area. In the case of FIG. 13B, when the read R from the buffer 223 becomes faster, and when the write W of the buffer is being performed at a constant cycle, the results shown in FIG. 11B and FIG. Buffer 2 as shown
Since sufficient data is stored in 23, underflow of the buffer 223 does not occur. In the case of FIG. 13C, the position shifted by a half cycle is the cycle of the write W, and has the characteristics of both FIG. 13A and FIG. 13B.

【0052】図14は、図13(c)に示された状態に
おいて、バッファ223からの出力のデータ転送レート
が変化したときのバッファ223のデータの状態と動作
タイミングについて示す。図14(a)、(b)、
(c)は、それぞれ、出力の転送レートが一定の場合、
出力の転送レートが大きく(速く)なった場合、出力の
転送レートが小さく(遅く)なった場合、の3つの状態
を表わしている。図14(b)と図14(c)とから判
るように、このようなデータ転送レートの変動があって
も、図14(a)の状態から図14(b)の状態の範囲
内の状態である限りは、アンダーフローやオーバーフロ
ーは起こらない。
FIG. 14 shows the state of data in the buffer 223 and the operation timing when the data transfer rate of the output from the buffer 223 changes in the state shown in FIG. 13 (c). 14 (a), (b),
(C) shows that when the output transfer rate is constant,
The three states are shown: when the output transfer rate is high (fast) and when the output transfer rate is low (slow). As can be seen from FIGS. 14 (b) and 14 (c), even if there is such a change in the data transfer rate, a state within the range of the state of FIG. 14 (a) to the state of FIG. 14 (b). Underflow or overflow does not occur as long as.

【0053】図15に、バッファ223からのデータ出
力の転送レートの時間的変化について示す。この図で
は、2つ目のサイクル(ov)は、データの転送レート
が小さくなった場合を、4つめのサイクル(uf)は、
データの転送レートが大きくなった場合を示している。
これらの現象は、データバッファ装置102から分配ス
イッチ104を通じて各ユーザに分配する際に、各チャ
ネルでのデータ転送が通信路の混雑により速度が一時的
に変動する場合、または、ディスク装置101に格納さ
れているデータ自身がデータ転送速度の変動するデータ
である場合に生じる。
FIG. 15 shows the change over time in the transfer rate of the data output from the buffer 223. In this figure, the second cycle (ov) is when the data transfer rate is low, and the fourth cycle (uf) is
This shows the case where the data transfer rate has increased.
These phenomena are stored in the disk device 101 when the data transfer from the data buffer device 102 is distributed to each user through the distribution switch 104 when the speed of data transfer in each channel fluctuates temporarily due to congestion of the communication path. This occurs when the stored data itself is data with a variable data transfer rate.

【0054】このように、データの転送レートが時間と
ともに変動するような場合には、バッファがその変動を
吸収する必要があるが、バッファ223への書き込みと
読み出しのタイミングについての通常の状態を図13
(c)の状態にしておくことにより、一定範囲内の変動
に対してオーバーフローとアンダーフローの発生が回避
できる。
As described above, when the data transfer rate fluctuates with time, the buffer needs to absorb the fluctuation, but the normal state of the timing of writing to and reading from the buffer 223 is shown. Thirteen
By setting the state of (c), it is possible to avoid the occurrence of overflow and underflow for fluctuations within a certain range.

【0055】以上説明したように、第2実施例に係るビ
デオデータシステムによれば、データ転送レートの変動
に対応するバッファを少ない容量で実現することが可能
である。即ち、従来のダブルバッファ方式においてこの
ような余裕を持たせるためにはサイズ3Lのトリプルバ
ッファが必要とされるが、本実施例の方法によればダブ
ルバッファ(2L)に少ない容量(k)を付加するだけ
で実現される。
As described above, according to the video data system of the second embodiment, it is possible to realize a buffer corresponding to the fluctuation of the data transfer rate with a small capacity. That is, in the conventional double buffer system, a triple buffer with a size of 3L is required to have such a margin, but according to the method of this embodiment, the double buffer (2L) has a small capacity (k). It is realized just by adding it.

【0056】なお、本実施例では、バッファのサイズを
2L+kとしたが、これを拡張してmL+k(mは3以
上の整数)とすることもできる。この場合、バッファに
は(m−1)*Lの余裕があるため(m−1)*Lの範
囲でデータ転送のレートの変動を吸収することが可能と
なる。 (第3実施例)次に、本発明の第3実施例に係るビデオ
サーバシステムについて説明する。
In the present embodiment, the size of the buffer is set to 2L + k, but it may be expanded to mL + k (m is an integer of 3 or more). In this case, since the buffer has a margin of (m-1) * L, it is possible to absorb the fluctuation of the data transfer rate in the range of (m-1) * L. (Third Embodiment) Next, a video server system according to a third embodiment of the present invention will be described.

【0057】本実施例は、第1実施例と本質的に異なる
ものではなく、第1実施例のシステムにおけるユーザの
管理方法に関する。 (構成)本システムは、特に、多数のユーザに対してデ
ータを効率よく配信することを主目的としているため、
本実施例のディスク装置101の容量を第1実施例の場
合よりも大きくしている。
This embodiment is not essentially different from the first embodiment and relates to a user management method in the system of the first embodiment. (Structure) Since the main purpose of this system is to efficiently distribute data to a large number of users,
The capacity of the disk device 101 of this embodiment is made larger than that of the first embodiment.

【0058】図16は、本システムのディスク装置10
1の構成を示す。ディスク装置101は、複数のディス
クユニットHDD1(111),HDD2(112),
HDD3(113)と共通のバスに接続されたバスイン
ターフェースユニット110から構成される。例えば、
バスインターフェースユニット110はSCSIのイン
ターフェースであり、HDD1(111)HDD2(1
12)HDD3(113)はSCSIのディスクユニッ
トである。この場合、ディスクユニットを複数接続する
ことにより、大容量のディスク装置101とすることが
できる。 (ユーザのグループ分け)次にユーザのグループ分けに
ついて説明する。
FIG. 16 shows the disk device 10 of this system.
1 is shown. The disk device 101 includes a plurality of disk units HDD1 (111), HDD2 (112),
The HDD 3 (113) is composed of a bus interface unit 110 connected to a common bus. For example,
The bus interface unit 110 is a SCSI interface, and HDD1 (111) HDD2 (1
12) The HDD 3 (113) is a SCSI disk unit. In this case, a large-capacity disk device 101 can be obtained by connecting a plurality of disk units. (Grouping of Users) Next, grouping of users will be described.

【0059】図17は、複数のユーザを2つのグループ
に分割した場合の管理テーブルの例を示す。この管理テ
ーブルは、制御プロセッサ103が作成・編集したもの
であり、図示されていない制御プロセッサ103の内部
RAMに置かれる。ここでは、ユーザ数を8としてい
る。ユーザのうちU0からU3はグループ1であり、U
4からU7はグループ2である。図17に示された表の
中の”file”欄は、ユーザへ転送されているファイ
ルの名前を表わし、”HDD”欄はディスク装置に接続
されるディスクユニットの番号を表わす。”bloc
k”欄は、”file”欄に記載されたファイルの中の
ユーザの要求しているブロックの番号を示している。
FIG. 17 shows an example of a management table when a plurality of users are divided into two groups. This management table is created and edited by the control processor 103, and is placed in the internal RAM of the control processor 103 (not shown). Here, the number of users is eight. Among the users, U0 to U3 are in group 1 and U
4 to U7 are group 2. The "file" column in the table shown in FIG. 17 represents the name of the file transferred to the user, and the "HDD" column represents the number of the disk unit connected to the disk device. ”Bloc
The "k" column shows the block number requested by the user in the file described in the "file" column.

【0060】例えば、”file”欄から判るように、
U0とU3は同一のファイルAをアクセスしており、U
1とU4とU7も同一のファイルBをアクセスしてい
る。ただし、”block”欄から判るように、同じフ
ァイルAであっても、ユーザのアクセスしているファイ
ル内の位置は異なる。即ち、U0は第10ブロックを、
U3は第150ブロックをアクセスしている。さら
に、”HDD”欄から判るように、ファイルAの第10
ブロックはディスクユニット1に格納されているが、第
150ブロックはディスクユニット3に格納されてい
る。
For example, as can be seen from the "file" column,
U0 and U3 are accessing the same file A.
1 and U4 and U7 also access the same file B. However, as can be seen from the “block” column, the positions of the files accessed by the user are different even for the same file A. That is, U0 is the tenth block,
U3 is accessing block 150. Furthermore, as can be seen from the "HDD" column,
The block is stored in the disk unit 1, but the 150th block is stored in the disk unit 3.

【0061】なお、通常は、1つの映像ファイルが途切
れることなく順次再生されるように連続する番号のブロ
ックが順にアクセスされるが、例外的に、ユーザの要求
により順次アクセスが乱れる場合がある。例えば、ユー
ザが、ある映像を再生中に、その映像の前の部分あるい
は先の部分、即ち、時間的に飛び越した部分の映像情報
を要求した場合や、ファイルAにアクセスしていたU0
がそれまでとは全く異なる映像情報であるファイルBの
情報を要求した場合等が該当する。このような場合に
は、ユーザからの要求により、任意のファイルと任意の
ブロック番号がアクセスされる。 (動作)次にグループ管理におけるバッファの動作につ
いて説明する。
Normally, blocks of consecutive numbers are sequentially accessed so that one video file is sequentially reproduced without interruption. However, exceptionally, the access may be disturbed at the request of the user. For example, when a user requests video information of a previous portion or a previous portion of the video, that is, a temporally skipped portion during reproduction of a video, or U0 accessing file A.
Corresponds to the case of requesting the information of the file B which is completely different image information from that. In such a case, an arbitrary file and an arbitrary block number are accessed at the request of the user. (Operation) Next, the operation of the buffer in group management will be described.

【0062】グループ分けしたバッファ224の構成を
図18に示す。ここで、k2は、グループ数が2の場合
に必要な領域のサイズであり、ここでは、k2>L/2
を満足するサイズとしている。図19は、グループ数が
2の場合におけるバッファ224へのアクセスのタイミ
ングを示す図である。図19に示されるように、2つの
グループのそれぞれのデータは、半サイクル(T/2)
だけずれてバッファ224にアクセスされるように管理
される。HDDreadの部分は、この時間内に4つの
ユーザの分のデータがディスク装置101から読み出さ
れてしてバッファに書き込まれることを示す。一方、o
utputの部分も、この時間内に4つのユーザについ
てそれぞれバッファ224からのデータの1ブロックが
1サイクル(T)の時間をかけて出力されることを示
す。
FIG. 18 shows the structure of the buffer 224 divided into groups. Here, k2 is the size of the area required when the number of groups is 2, and here k2> L / 2
To satisfy the size. FIG. 19 is a diagram showing the timing of access to the buffer 224 when the number of groups is two. As shown in FIG. 19, the data of each of the two groups has a half cycle (T / 2).
It is managed so that the buffer 224 is accessed with a shift. The HDDread portion indicates that data for four users is read from the disk device 101 and written in the buffer within this time. On the other hand, o
The output portion also indicates that one block of data from the buffer 224 is output for each of the four users within this time, taking one cycle (T) of time.

【0063】バッファ224への書き込みからバッファ
224からの読み出しまでの手順は、第1実施例と同様
であるのでここでは説明を省略する。第1実施例と相違
するのは、バッファ224のサイズのうちk2の部分が
第1実施例のkよりも大きいという点と、ディスクユニ
ットへの複数のアクセスがサイクルT/2の時間内に行
われるようスケジューリングをすることでディスクアク
セスを効率化している点である。
The procedure from the writing to the buffer 224 to the reading from the buffer 224 is the same as that of the first embodiment, and therefore the explanation is omitted here. The difference from the first embodiment is that the k2 portion of the size of the buffer 224 is larger than k of the first embodiment, and a plurality of accesses to the disk unit are executed within the cycle T / 2. The point is that the disk access is made efficient by scheduling so that it can be accessed.

【0064】図20は、各ユーザUiのブロックへのア
クセスのタイミングを示す図である。いま、図20
(a)に示されるように、ディスク装置101に対し
て、単純に、ユーザUiのデータを順次読み出したとす
る。図20(a)では、U0U1U2U3の順に読み出
されているが、このような読み出し順序では、各ユーザ
において要求されているファイルのブロックはユーザ間
で相関がなくランダムであるために、次の2つの点にお
いてディスクユニットへのアクセスの効率が低下してし
まう。
FIG. 20 is a diagram showing the timing of access to the blocks of each user Ui. Now, FIG.
As shown in (a), it is assumed that the data of the user Ui is simply sequentially read from the disk device 101. In FIG. 20A, U0U1U2U3 is read out in this order. However, in such a reading order, the blocks of the file requested by each user are not correlated between users and are random. In one respect, the efficiency of access to the disk unit decreases.

【0065】1つは、複数ユーザの要求するブロックが
同じディスクユニットに連続する場合である。例えば、
U0U1が同じディスクユニットのブロックをアクセス
する場合には、インターフェースユニット110を通じ
てディスクユニット111を2回アクセスを続けること
になるので、ディスクユニット111へのアクセスの要
求とこの後のディスクユニット111におけるシーク時
間と回転待ち時間およびデータ転送時間が順次2回加算
された時間が必要となってしまう。
One is a case where blocks requested by a plurality of users are consecutive in the same disk unit. For example,
When U0U1 accesses the block of the same disk unit, the disk unit 111 is continuously accessed twice through the interface unit 110. Therefore, the access request to the disk unit 111 and the seek time in the disk unit 111 after this are requested. The rotation waiting time and the data transfer time are required to be added twice in sequence.

【0066】もう1つは、1つのディスクユニットの中
でのブロックの配置に関することであり、例えばU1U
2U3が、それぞれディスクユニットの外周、内周、外
周の順であったとすると、それぞれのシーク時間が大き
くなってしまう。そこで、本実施例では、グループごと
及びサイクルT/2ごとにスケジューリングを行うこと
で、前記のような2つの効率低下を避けるための最適な
順序を決定している。なお、スケジューリングの具体的
な手順は、本発明の主眼ではないのでその説明を省略す
る。
The other is the arrangement of blocks in one disk unit, for example U1U.
If 2U3 is in the order of the outer circumference, the inner circumference, and the outer circumference of the disk unit, the seek time of each becomes long. Therefore, in the present embodiment, scheduling is performed for each group and for each cycle T / 2 to determine the optimum order for avoiding the above-mentioned two deteriorations in efficiency. Since the specific procedure of scheduling is not the main purpose of the present invention, its explanation is omitted.

【0067】図20(b)は、このようなスケジューリ
ングが行われた場合におけるディスク装置101へのア
クセスのタイミングを示す図であり、スケジューリング
を行わなかった場合の図20(a)に対応する。異なる
ユーザのブロックにアクセスするための切り替え時間T
aが短縮されている(Ta−>Ta')ことが判る。図
21は、上記スケジューリングを含むグループ管理の手
順を示すフローチャートである。
FIG. 20B is a diagram showing the timing of access to the disk device 101 when such scheduling is performed, and corresponds to FIG. 20A when scheduling is not performed. Switching time T for accessing blocks of different users
It can be seen that a is shortened (Ta-> Ta '). FIG. 21 is a flowchart showing the procedure of group management including the above scheduling.

【0068】まず、ユーザを複数のグループに分割する
(ステップS31)。ここでは、グループ数をgとして
いる。次に、ユーザ当たりのバッファのサイズ(L+
k)をグループ数gに基づいて決める(ステップS3
2)。具体的には、T/gの時間の間に少なくともkの
サイズのデータを出力しなければならないので、k/r
o>T/gであり、即ち、k>T*ro/g=L/gを
満足するkを決定する。
First, the user is divided into a plurality of groups (step S31). Here, the number of groups is g. Next, the size of the buffer per user (L +
k) is determined based on the number of groups g (step S3
2). Specifically, since data of at least k size must be output during the time of T / g, k / r
Determine k such that o> T / g, that is, k> T * ro / g = L / g.

【0069】さらに、各グループを管理するスロット時
間sは、s=T/gから算出する(ステップS33)。
以上の初期設定のあと、一つのグループiに属する全て
のユーザについて、効率的な読み出しをするための読み
出し順序を決定し(ステップS34)、その順序でそれ
らユーザのデータをディスク装置から読み出してバッフ
ァに書き込む(ステップS35)。書き込みが終了する
と、それらユーザのデータをバッファから読み出して出
力するプロセスを起動する(ステップS36)。グルー
プiについての以上の動作(ステップS34〜S36)
を、全てのグループについて繰り返す(ステップS3
7)。全グループの処理が終了したら次のサイクルに進
める(S38)。
Further, the slot time s for managing each group is calculated from s = T / g (step S33).
After the above initialization, the reading order for efficient reading is determined for all the users belonging to one group i (step S34), and the data of those users is read from the disk device and buffered in that order. (Step S35). When the writing is completed, a process of reading the data of these users from the buffer and outputting the data is activated (step S36). The above operation for group i (steps S34 to S36)
Is repeated for all groups (step S3
7). When the processing of all groups is completed, the process proceeds to the next cycle (S38).

【0070】図22は、グループ数が4の場合における
各グループに属するバッファ224へのアクセスのタイ
ミングを示す図である。各サイクルで4つのグループに
対するバッファへの書き込み(W)は、順次ディスク装
置101に対してスケジューリングされた後に行われ
る。書き込みが終了すると、各グループのユーザについ
てのバッファからの出力が起動されてその後の1サイク
ルの間にデータが出力される。
FIG. 22 is a diagram showing the timing of access to the buffers 224 belonging to each group when the number of groups is four. The writing (W) to the buffer for the four groups in each cycle is performed after the disk device 101 is sequentially scheduled. When the writing is completed, the output from the buffer for the users in each group is activated and the data is output during the subsequent one cycle.

【0071】以上説明したように、第3実施例に係るビ
デオデータシステムによれば、複数のユーザをグループ
化することで、ダブルバッファ方式に比べ、応答性がよ
くなるとともに、バッファのサイズを小さくすることが
できる。また、バッファ224の管理のサイクルはユー
ザ全数に対して独立ではなく、グループ数でよいため、
ユーザ数が大きくなったときでも、管理サイクル数を増
加させずに済む。また、グループ内では複数のユーザに
ついてディスク装置のアクセスをスケジューリングする
ことで、ディスク装置のデータの読み出しの効率を向上
させることが可能となる。 (第4実施例)次に、本発明の第4実施例に係るビデオ
サーバシステムについて説明する。
As described above, according to the video data system of the third embodiment, by grouping a plurality of users, the responsiveness is improved and the buffer size is reduced as compared with the double buffer system. be able to. In addition, the management cycle of the buffer 224 is not independent of the total number of users and may be the number of groups.
Even if the number of users becomes large, it is not necessary to increase the number of management cycles. In addition, by scheduling access to the disk device for a plurality of users in the group, it becomes possible to improve the efficiency of reading data from the disk device. (Fourth Embodiment) Next, a video server system according to a fourth embodiment of the present invention will be described.

【0072】本実施例は、第3実施例におけるグループ
管理の方法を異なる方法としたものである。 (構成)本システムのバッファの構成およびグループの
管理テーブルの構成は、第3実施例の場合と同じであ
る。
This embodiment is different from the method of group management in the third embodiment. (Structure) The structure of the buffer and the structure of the group management table of this system are the same as those in the third embodiment.

【0073】管理テーブルの中のユーザのエントリ部分
だけ取り出したものを図23に示す。ここではデータバ
ッファ装置102が供給可能な最大のユーザ数を8ユー
ザとし、グループ数は2とする。なお、ビデオサーバシ
ステムでは、通常は、任意の映像に対する要求がユーザ
からサーバに送られてくる。このため、実際に映像情報
を供給しなければならないユーザの数は、動的に変化す
る。
FIG. 23 shows only the entry portion of the user in the management table. Here, the maximum number of users that the data buffer device 102 can supply is eight, and the number of groups is two. In the video server system, a request for an arbitrary video is usually sent from the user to the server. Therefore, the number of users who have to actually supply the video information changes dynamically.

【0074】図23は、4つのユーザが2つのグループ
に2つずつエントリしている時点での管理テーブルの内
容を表わしている。ここでは、最大8ユーザのうち4つ
だけが使用中で、残る4つが空のエントリである。ここ
で、グループの割り当てを変更する場合として2つがあ
り、1つは、新しいユーザIDを受け付ける場合であ
り、2つめは、ユーザの割り当てられているグループの
みの変更である。
FIG. 23 shows the contents of the management table at the time when four users make two entries in two groups. Here, only 4 of the maximum 8 users are in use and the remaining 4 are empty entries. Here, there are two cases of changing the group allocation, one is the case of accepting a new user ID, and the second is the change of only the group to which the user is allocated.

【0075】具体的には、データサーバシステムに対し
て新しいユーザから映像情報に対する新しい要求が来た
ときには、図23の割当表の空のエントリにそのユーザ
を割り当てる。このときユーザごとにグループは固定せ
ずに、動的に割り当てる。図24(a)は、図23の状
態において、U4からの新規要求に対して最適なグルー
プとしてグループ1を割り当てた場合に相当する。
Specifically, when a new request for video information is made to a data server system by a new user, that user is assigned to an empty entry in the assignment table of FIG. At this time, the group is not fixed for each user but is dynamically allocated. FIG. 24A corresponds to a case where group 1 is assigned as an optimum group for a new request from U4 in the state of FIG.

【0076】一方、既に割り当てられているユーザが連
続しない異なる映像情報を要求した場合には、そのユー
ザのグループを変更する。図24(b)は、図24
(a)の状態において、U1の割り当てをグループ1か
らグループ2へ移動した場合に相当する。図25は、新
たにユーザU4を割り当てるタイミングを示す図であ
り、図23から図24(a)に変更される場合に対応す
る。U4からの要求ReqU4が到着すると、その次の
HDDreadに間に合う方のグループ(ここでは、G
roup1)へ割り当てて、グループ1のHDDrea
dのサイクルからU4に対応するデータをバッファへ書
き込む。このデータは次のサイクルで出力(outpu
t)される。
On the other hand, when a user who is already assigned requests different video information that is not continuous, the group of the user is changed. FIG. 24B is a diagram shown in FIG.
This corresponds to the case where the allocation of U1 is moved from group 1 to group 2 in the state of (a). FIG. 25 is a diagram showing the timing of newly allocating the user U4, and corresponds to the case of changing from FIG. 23 to FIG. When the request ReqU4 from U4 arrives, the group (in this case, G
HDDrea of group 1 by allocating to group 1)
The data corresponding to U4 is written to the buffer from the cycle of d. This data is output in the next cycle (outpu
t) is performed.

【0077】一方、図26は、U1の割り当てをグルー
プ1からグループ2へ移動した場合のタイミングを示す
図であり、図24(a)から図24(b)に変更される
場合に対応する。U1が映像情報Aを再生中に映像情報
A’を要求(ReqA’)すると、その要求(Req
A’)に対して最も早くHDDreadが来るグループ
(ここでは、グループ2)にU1の割り当てを移動す
る。その結果、図26に示されるTaの時点で、要求
(ReqA’)に対する応答(AckA’)をすること
ができる。グループ1でのバッファ内に残されているデ
ータ(図26に示されるTa〜Tbの区間)は、不要と
なるのでキャンセル(cansel)される。この後、
ユーザU1は次の要求があるまでは、引き続きグループ
2のタイミングでデータ転送が行われる。なお、空きが
ないグループに割り当てることはできないので、そのこ
とに起因して待ちが発生する場合もある。また、新たな
映像情報の要求に対して、そのままのグループに割り当
てておくことによって最も早く応答できる場合には、グ
ループの割り当てを変更することはない。
On the other hand, FIG. 26 is a diagram showing the timing when the allocation of U1 is moved from the group 1 to the group 2, and corresponds to the case where it is changed from FIG. 24 (a) to FIG. 24 (b). When U1 requests the video information A '(ReqA') while reproducing the video information A, the request (ReqA ')
The allocation of U1 is moved to the group (here, group 2) where HDDread comes earliest with respect to A '). As a result, a response (AckA ') to the request (ReqA') can be made at the time Ta shown in FIG. The data remaining in the buffer in group 1 (the section from Ta to Tb shown in FIG. 26) becomes unnecessary and is canceled. After this,
The user U1 continues data transfer at the timing of group 2 until the next request is made. In addition, since it cannot be assigned to a group with no space, waiting may occur due to this. Further, when a request for new video information can be responded earliest by assigning it to the same group as it is, the assignment of the group is not changed.

【0078】このように、図25および図26でのグル
ープの決定は、最も早くディスク装置101の読み出し
(HDDread)が割り当て可能なスロットになるよ
うに行われるため、この例で示したような2グループの
場合は、最大で1サイクル(T)の時間で要求に対する
応答を受け取ることができる。このグループ割り当ての
手順のフロー図を図27に示す。
As described above, the group determination in FIGS. 25 and 26 is performed so that the read (HDD read) of the disk device 101 becomes the earliest assignable slot. In the case of a group, the response to the request can be received in a maximum of 1 cycle (T). FIG. 27 shows a flow chart of this group allocation procedure.

【0079】先ず、ユーザからの新しい要求が到着した
ときに割り当ての処理を開始する(ステップS51)。
この要求は、新しいユーザの割り当ての場合と、ユーザ
への映像情報の内容を変更する場合とがある(ステップ
S52)。新しいユーザの場合は、空いているスロット
のなかでもっとも早いスロットのグループに割り当てる
(ステップS53)。一方、ユーザの属するグループの
スロットよりも他の空きスロットの方が早く来る場合は
グループを変更する(ステップS55)。他のグループ
に当てはまらない場合には同じグループで要求を受け付
ける(ステップS56)。
First, when a new request from the user arrives, the allocation process is started (step S51).
This request may be assigned to a new user or may change the content of video information to the user (step S52). In the case of a new user, it is assigned to the earliest slot group among the vacant slots (step S53). On the other hand, if another empty slot comes earlier than the slot of the group to which the user belongs, the group is changed (step S55). If it does not apply to other groups, the same group accepts the request (step S56).

【0080】以上説明したように、第4実施例に係るビ
デオデータシステムによれば、ユーザからの映像情報の
配信の要求に応じてグループを新たに割り当てたりグル
ープを変更することでユーザの要求から応答までの時間
を最短にすることができる。ダブルバッファに比べて2
グループの場合には2Tの応答時間が半分のTまで短く
なる。なお、グループ数は3つ以上の場合でも同様に割
り当てを行うことができ、この場合は、スロット時間が
短くなり、グループ数を大きくすればさらに応答性を向
上させることが可能となる。
As described above, according to the video data system in the fourth embodiment, a user is requested by newly assigning a group or changing a group in response to a user's request for distribution of video information. The response time can be minimized. 2 compared to double buffer
In the case of a group, the response time of 2T is reduced to half T. It should be noted that even if the number of groups is three or more, allocation can be performed in the same manner. In this case, the slot time becomes short, and if the number of groups is increased, it becomes possible to further improve responsiveness.

【0081】以上、本発明に係るデータバッファ装置お
よびデータサーバシステムについて、実施例に基づいて
説明したが、本発明はこれら実施例に限られないことは
勿論である。即ち、 (1)上記実施例におけるメモリ220は、通常のDR
AMであったが、これに限定されるものではない。例え
ば、ランダムアクセスの入力ポートとシリアル出力ポー
トを備え、両者のアクセスが重なってもよいように構成
されたデュアルポートメモリであってもよい。このよう
なメモリを採用することで、ソフトウェアではなくハー
ドウェアにより、バッファへの入力と出力が独立・並列
に動作することが保証されるので、制御プログラムを作
成する際の負担が軽くなる。 (2)上記実施例におけるビデオデータシステムは、1
個のデータ転送装置210と1個のメモリ220を有
し、これらによって論理的に独立したnユーザ分のバッ
ファとして機能したが、この構成に限定されるものでは
ない。例えば、1ユーザ分のバッファとして機能するデ
ータ転送装置及びメモリからなる独立したモジュールが
n個から構成されるものであってもよい。この場合に
は、システムは物理的にも論理的にも独立したn個のバ
ッファから構成されるので、その制御プログラムに課さ
れる時間的な制約が緩くなる。
Although the data buffer device and the data server system according to the present invention have been described above based on the embodiments, it goes without saying that the present invention is not limited to these embodiments. That is, (1) the memory 220 in the above embodiment is a normal DR
It was AM, but is not limited to this. For example, it may be a dual port memory having a random access input port and a serial output port, and configured so that accesses of both may overlap. By adopting such a memory, it is ensured that the input and the output to the buffer operate independently and in parallel by hardware instead of software, so that the burden of creating a control program is lightened. (2) The video data system in the above embodiment has one
The data transfer device 210 and one memory 220 are provided, and these functions as a logically independent buffer for n users, but the present invention is not limited to this configuration. For example, n independent modules including a data transfer device functioning as a buffer for one user and a memory may be configured. In this case, the system is composed of n buffers that are physically and logically independent, so that the time constraint imposed on the control program is relaxed.

【0082】[0082]

【発明の効果】以上の説明から明らかなように、本発明
に係るデータバッファ装置によれば、バッファのサイズ
として、ブロックサイズLに、バッファへの1ブロック
の書き込みに必要な時間の間に読み出せるデータ量k
(<1)を足した値(L+k)としているので、読み出
しと書き込みの方向を1つのステップ毎に巡回してメモ
リ領域を使用することにより、途切れることなく出力側
チャネルへデータを供給することが可能となる。
As is apparent from the above description, according to the data buffer device of the present invention, the size of the buffer is the block size L, and the data is read during the time required to write one block to the buffer. Amount of data that can be output k
Since the value (L + k) is obtained by adding (<1), data can be supplied to the output side channel without interruption by using the memory area by cycling the reading and writing directions for each step. It will be possible.

【0083】これにより、2ブロックよりも少ない容量
のメモリで構成されるにも拘らず、2ブロック分のメモ
リ領域が必要とされた従来のダブルバッファ方式と同一
のバッファリング能力を提供するデータバッファ装置が
実現される。また、端末がデータ要求を発してから最初
のデータを受信するまでの応答時間は、サイクル時間T
に大きさkのデータを出力するのに必要な時間Tk(<
T)を加えた時間(T+Tk)となり、2Tの応答時間
が必要とされた従来のダブルバッファ方式に比べて小さ
くなる。
As a result, a data buffer that provides the same buffering capacity as the conventional double buffer system, which requires a memory area for two blocks, although it is composed of a memory having a capacity smaller than two blocks. The device is realized. In addition, the response time from the terminal issuing a data request until receiving the first data is the cycle time T
Time required to output data of size k to Tk (<
The time (T + Tk) is obtained by adding T), which is smaller than that of the conventional double buffer system that requires a response time of 2T.

【0084】さらに、バッファのサイズをm個のブロッ
クに容量kを付加した値とすることで、データ転送レー
トの変動を吸収する柔軟なデータバッファ装置とするこ
とができる。また、このようなデータバッファ装置を複
数個と大容量記憶装置とを結合することにより、複数ユ
ーザに対して連続的にデータを供給するデータサーバシ
ステムが構築される。
Furthermore, by setting the buffer size to a value obtained by adding the capacity k to m blocks, it is possible to provide a flexible data buffer device that absorbs fluctuations in the data transfer rate. Further, by combining a plurality of such data buffer devices with a mass storage device, a data server system for continuously supplying data to a plurality of users is constructed.

【0085】さらに、本発明に係るデータサーバシステ
ムによれば、複数のユーザを複数のグループに分割して
いるので、バッファの管理のサイクルは、ユーザ全数に
対して独立ではなくグループ数となり、これによって、
ユーザ数が大きくなったときでも管理サイクル数を増加
させずに済む。また、グループ内では複数のユーザにつ
いてディスク装置のアクセスをスケジューリングするこ
とで、ディスク装置のデータの読み出しの効率を向上さ
せることが可能となる。
Further, according to the data server system of the present invention, since a plurality of users are divided into a plurality of groups, the buffer management cycle is not independent of the total number of users but the number of groups. By
It is not necessary to increase the number of management cycles even when the number of users becomes large. In addition, by scheduling access to the disk device for a plurality of users in the group, it becomes possible to improve the efficiency of reading data from the disk device.

【0086】また、ユーザからの映像情報の配信の要求
に応じてグループを新たに割り当てたりグループを変更
することでユーザの要求から応答までの時間を短くする
ことができる。よって、本発明により、小容量のバッフ
ァメモリで多数のユーザに対して短い応答時間でデータ
を配信できる高効率・高品質なデータバッファ装置及び
データサーバシステムが構築される。
Further, by newly allocating a group or changing a group in response to a request for distribution of video information from the user, it is possible to shorten the time from the user's request to the response. Therefore, according to the present invention, a highly efficient and high quality data buffer device and data server system capable of delivering data to a large number of users in a short response time with a small capacity buffer memory are constructed.

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

【図1】本発明の第1実施例に係るビデオサーバシステ
ムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a video server system according to a first embodiment of the present invention.

【図2】同ビデオサーバシステムのデータバッファ装置
102の具体的な構成を示すブロック図である。
FIG. 2 is a block diagram showing a specific configuration of a data buffer device 102 of the video server system.

【図3】データ転送装置210とメモリ220によって
実現される論理的なバッファの構成を示すブロック図で
ある。
FIG. 3 is a block diagram showing a configuration of a logical buffer realized by a data transfer device 210 and a memory 220.

【図4】1ユーザUi分のバッファ222の大きさを示
す模式図である。
FIG. 4 is a schematic diagram showing the size of a buffer 222 for one user Ui.

【図5】バッファ222の動作を説明するための図であ
る。
FIG. 5 is a diagram for explaining the operation of the buffer 222.

【図6】バッファ222への書き込みと読み出しのタイ
ミングを示す図である。
FIG. 6 is a diagram showing timings of writing and reading to and from a buffer 222.

【図7】データバッファ装置102のメモリ220への
書き込みと読み出しの制御手順を示すフローチャートで
ある。
7 is a flowchart showing a control procedure of writing and reading to and from the memory 220 of the data buffer device 102. FIG.

【図8】ユーザが異なる映像データを要求した場合にお
ける、バッファ222への書き込みと読み出しのタイミ
ングを示す図である。
FIG. 8 is a diagram showing timings of writing and reading to and from a buffer 222 when a user requests different video data.

【図9】本発明の第2実施例に係るビデオサーバシステ
ムのデータバッファ装置102における1つのユーザU
i分のバッファ223の大きさを示す図である。
FIG. 9 shows one user U in the data buffer device 102 of the video server system according to the second embodiment of the present invention.
It is a figure which shows the size of the buffer 223 for i.

【図10】バッファ223へのデータの書き込みと読み
出しとのタイミングに関して許される代表的な3つのケ
ースを示す図である。図10(a)は、読み込んでから
すぐに出力する場合を示す。図10(b)は、1サイク
ル待ってから出力する場合を示す。図10(c)は、半
サイクル待ってから出力する場合を示す。
FIG. 10 is a diagram showing three typical cases that are allowed with respect to the timing of writing and reading data to and from the buffer 223. FIG. 10A shows a case where the data is output immediately after being read. FIG. 10B shows a case where the output is performed after waiting for one cycle. FIG. 10C shows the case where the output is made after waiting for a half cycle.

【図11】図10における書き込み(W)の終わった時
点におけるバッファ223の状態を示す図である。図1
1(a)、(b)、(c)は、それぞれ図10(a)、
(b)、(c)の場合に対応する。
11 is a diagram showing the state of the buffer 223 at the time when writing (W) in FIG. 10 is finished. FIG.
1 (a), (b), and (c) are shown in FIG.
This corresponds to the cases of (b) and (c).

【図12】図10における書き込み(W)を行う直前に
おけるバッファ223の状態を示す図である。図12
(a)、(b)、(c)は、それぞれ図10(a)、
(b)、(c)の場合に対応する。
12 is a diagram showing a state of a buffer 223 immediately before writing (W) in FIG. FIG.
(A), (b) and (c) are shown in FIG.
This corresponds to the cases of (b) and (c).

【図13】バッファ223へのデータの書き込みと読み
出しの連続的なタイミングを示す図である。図13
(a)、(b)、(c)は、それぞれ図10(a)、
(b)、(c)の場合に対応する。
FIG. 13 is a diagram showing consecutive timings of writing and reading data to and from the buffer 223. FIG.
(A), (b) and (c) are shown in FIG.
This corresponds to the cases of (b) and (c).

【図14】バッファ223からの出力のデータ転送レー
トが変化したときのバッファ223のデータの状態と動
作タイミングを示す図である。図14(a)は、出力の
転送レートが一定の場合を示す。図14(b)は、出力
の転送レートが大きく(速く)なった場合を示す。図1
4(c)は、出力の転送レートが小さく(遅く)なった
場合を示す。
FIG. 14 is a diagram showing the state of data in the buffer 223 and the operation timing when the data transfer rate of the output from the buffer 223 changes. FIG. 14A shows a case where the output transfer rate is constant. FIG. 14B shows the case where the output transfer rate becomes large (fast). FIG.
4 (c) shows the case where the output transfer rate becomes small (slow).

【図15】バッファ223からのデータ出力の転送レー
トの時間的変化を示す図である。
FIG. 15 is a diagram showing a temporal change in a transfer rate of data output from a buffer 223.

【図16】本発明の第3実施例に係るビデオサーバシス
テムのディスク装置101の構成を示すブロック図であ
る。
FIG. 16 is a block diagram showing a configuration of a disk device 101 of a video server system according to a third embodiment of the present invention.

【図17】複数のユーザを2つのグループに分割した場
合の管理テーブルの例を示す図である。
FIG. 17 is a diagram showing an example of a management table when a plurality of users are divided into two groups.

【図18】グループ分けした場合における1つのユーザ
に対するバッファ224の構成を示す図である。
FIG. 18 is a diagram showing a configuration of a buffer 224 for one user when divided into groups.

【図19】グループ数が2の場合におけるバッファ22
4へのアクセスのタイミングを示す図である。
FIG. 19 is a buffer 22 when the number of groups is 2.
4 is a diagram showing the timing of access to No. 4; FIG.

【図20】各ユーザUiのブロックへのアクセスのタイ
ミングを示す図である。
FIG. 20 is a diagram showing a timing of access to a block of each user Ui.

【図21】グループ管理の手順を示すフローチャートで
ある。
FIG. 21 is a flowchart showing a procedure of group management.

【図22】グループ数が4の場合における各グループに
属するバッファ224へのアクセスのタイミングを示す
図である。
FIG. 22 is a diagram showing the timing of access to the buffers 224 belonging to each group when the number of groups is four.

【図23】本発明の第4実施例に係るビデオサーバシス
テムにおける管理テーブルの中のユーザのエントリ部分
を示す図である。
FIG. 23 is a diagram showing an entry portion of a user in the management table in the video server system according to the fourth embodiment of the present invention.

【図24】図24(a)は、図23の状態において、ユ
ーザU4からの新規要求に対して最適なグループとして
グループ1を割り当てた場合の管理テーブルを示す図で
ある。図24(b)は、図24(a)の状態において、
ユーザU1の割り当てをグループ1からグループ2へ移
動した場合の管理テーブルを示す図である。
FIG. 24 (a) is a diagram showing a management table in the case of allocating group 1 as an optimum group for a new request from the user U4 in the state of FIG. 23. FIG. 24B shows the state of FIG.
It is a figure which shows the management table at the time of moving the allocation of the user U1 from group 1 to group 2.

【図25】新たにユーザU4を割り当てる場合のバッフ
ァ224へのアクセスのタイミングを示す図である。
FIG. 25 is a diagram showing a timing of access to the buffer 224 when a user U4 is newly allocated.

【図26】ユーザU1の割り当てをグループ1からグル
ープ2へ移動した場合のバッファ224のアクセスのタ
イミングを示す図である。
FIG. 26 is a diagram showing access timing of the buffer 224 when the allocation of the user U1 is moved from group 1 to group 2.

【図27】新しいユーザに対してグループ割り当てを行
う場合の手順を示すフローチャートである。
FIG. 27 is a flowchart showing a procedure for assigning a group to a new user.

【図28】図28(a)は、従来のダブルバッファ方式
におけるバッファメモリ領域を示す図である。図28
(b)は、同方式におけるデータの格納と読み出しのタ
イミングを示す図である。
FIG. 28 (a) is a diagram showing a buffer memory area in the conventional double buffer system. FIG.
FIG. 6B is a diagram showing the timing of data storage and read in the same system.

【図29】データ配信システムにおけるデータ転送レー
トの時間的変化を示す図である。図29(a)は、通常
状態における図である。図29(b)は、データのアン
ダーフローやオーバーフローを起こした場合の図であ
る。
FIG. 29 is a diagram showing a temporal change in a data transfer rate in the data distribution system. FIG. 29A is a diagram in a normal state. FIG. 29B is a diagram when data underflow or overflow occurs.

【図30】従来のダブルバッファ方式において、異なる
映像情報の要求が発生した場合におけるバッファメモリ
からの応答のタイミングを示す図である。
FIG. 30 is a diagram showing a timing of a response from the buffer memory when a request for different video information is generated in the conventional double buffer system.

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

101 ディスク装置 102 データバッファ装置 103 制御プロセッサ 104 分配スイッチ 110 バスインターフェースユニット 111〜113 ディスクユニット 210 データ転送装置 211 入出力制御回路 212 データ入出力回路 213 パラメータレジスタ 214R 読み出しアドレス生成回路 214W 書き込みアドレス生成回路 215 入力ポート 216 出力ポート 217 データバス 220 メモリ 221〜224 バッファメモリ 101 disk device 102 data buffer device 103 control processor 104 distribution switch 110 bus interface unit 111-113 disk unit 210 data transfer device 211 input / output control circuit 212 data input / output circuit 213 parameter register 214R read address generation circuit 214W write address generation circuit 215 Input port 216 Output port 217 Data bus 220 Memory 221 to 224 Buffer memory

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 データ記憶装置とそこに格納されたデー
タを利用する端末との間に介在するデータバッファ装置
であって、 前記データを一時的に格納するためのバッファ手段と、 前記端末からの要求に基づいて前記データ記憶装置から
ブロック単位でデータを読み出しそのデータを前記バッ
ファ手段に巡回して書き込むブロック入力を行う入力手
段と、 前記バッファ手段に書き込まれたデータを巡回して読み
出しそのデータを一定周期のサイクルの間に1ブロック
分のデータ量の割合で前記端末に出力するサイクルを繰
り返す出力手段とを備え、 前記ブロックのサイズをL、前記入力手段がブロック入
力を行うのに要する時間をTi、前記周期をTo、前記バ
ッファ手段に書き込まれた後に未だ読み出されていない
データの量をd、正の整数をmとした場合に、 前記バッファ手段の記憶容量Dは、(m+Ti/To)L
以上かつ(m+1)L未満の値であり、 前記入力手段は、Ti<Toを満たし、かつ、前記バッフ
ァ手段の空き容量(D−d)がL以上で(D−TiL/
To)以下である期間においてブロック入力を行うこと
を特徴とするデータバッファ装置。
1. A data buffer device interposed between a data storage device and a terminal that uses the data stored therein, comprising: buffer means for temporarily storing the data; Input means for reading out data in block units from the data storage device based on a request and for writing the data in the buffer means in a cyclic manner; An output unit that repeats a cycle of outputting to the terminal at a rate of a data amount of one block during a cycle of a fixed cycle, the size of the block is L, and a time required for the input unit to perform block input is Ti, the cycle is To, the amount of data that has not been read after being written in the buffer means is d, and a positive integer is When m, the storage capacity D of the buffer means is (m + Ti / To) L
Is a value greater than or equal to and less than (m + 1) L, the input means satisfies Ti <To, and the free capacity (D-d) of the buffer means is L or more (D-TiL /
A data buffer device characterized in that block input is performed during a period equal to or less than To.
【請求項2】 前記入力手段は、dの平均値がD/2と
なるようにブロック入力を行うことを特徴とする請求項
1記載のデータバッファ装置。
2. The data buffer device according to claim 1, wherein the input unit performs block input so that an average value of d becomes D / 2.
【請求項3】 前記mは1であることを特徴とする請求
項1記載のデータバッファ装置。
3. The data buffer device according to claim 1, wherein said m is 1.
【請求項4】 前記Dは(1+Ti/To)Lであり、 前記入力手段は、前記バッファ手段の空き容量(D−
d)がLを越えたときにブロック入力を開始することを
特徴とする請求項3記載のデータバッファ装置。
4. The D is (1 + Ti / To) L, and the input means has a free capacity (D−) of the buffer means.
4. The data buffer device according to claim 3, wherein block input is started when d) exceeds L.
【請求項5】 n(正の整数)台の端末にデータを供給
するデータサーバシステムであって、 前記データを格納するデータ記憶装置と、 前記データ記憶装置と前記n台の端末との間に介在する
n個の請求項4記載のデータバッファ装置とを備えるこ
とを特徴とするデータサーバシステム。
5. A data server system for supplying data to n (positive integer) terminals, wherein the data storage device stores the data, and between the data storage device and the n terminals. A data server system comprising n intervening data buffer devices according to claim 4.
【請求項6】 前記データサーバシステムはさらに、前
記n個のデータバッファ装置におけるブロック入力及び
出力サイクルが開始されるタイミングがそれぞれTo/
nずつずれるよう各入力手段及び各出力手段を制御する
シフト制御手段を備えることを特徴とする請求項5記載
のデータサーバシステム。
6. The data server system is further configured such that a block input and output cycle start timing in each of the n data buffer devices is To /
The data server system according to claim 5, further comprising shift control means for controlling each input means and each output means so as to shift by n.
【請求項7】 前記データサーバシステムはさらに、 前記n個のデータバッファ装置それぞれを所定の手順に
従ってg(正の整数)個のグループのいずれかに割り当
て、その内容を登録しておくグループ登録手段と、 前記グループ登録手段に登録された内容に基づいて、前
記周期Toをg個に分割した各時間を各グループに割り
当て、同一グループに属する全てのデータバッファ装置
におけるブロック入力がそのグループに割り当てられた
時間内に行われるよう各入力手段を制御するグループ制
御手段とを有することを特徴とする請求項5記載のデー
タサーバシステム。
7. The group registration means, wherein the data server system further allocates each of the n data buffer devices to one of g (positive integer) groups according to a predetermined procedure and registers the contents thereof. Based on the content registered in the group registration means, each time obtained by dividing the period To into g is assigned to each group, and block inputs in all the data buffer devices belonging to the same group are assigned to the group. 6. The data server system according to claim 5, further comprising group control means for controlling each input means so as to be performed within a predetermined time.
【請求項8】 前記データ記憶装置は、前記データをブ
ロックの集まりからなるファイルを単位として格納し、 前記グループ登録手段は、新しいファイルに属するデー
タを利用したい旨の要求を前記端末から受信した場合に
は、その端末に対応するデータバッファ装置が属すべき
グループを新たに割り当て、前記要求が前記端末からな
くなったことを検出した場合には、その端末に対応する
データバッファ装置についてのグループの割当を解除す
ることを特徴とする請求項7記載のデータサーバシステ
ム。
8. The data storage device stores the data in units of files consisting of a group of blocks, and the group registration means receives from the terminal a request to use data belonging to a new file. , A group to which the data buffer device corresponding to the terminal should belong is newly allocated, and when it is detected that the request disappears from the terminal, the group allocation for the data buffer device corresponding to the terminal is performed. The data server system according to claim 7, wherein the data server system is released.
【請求項9】 前記グループ制御手段は、前記グループ
登録手段によって前記データバッファ装置が属すべきグ
ループの新たな割当が行われた場合には、前記要求を受
信したタイミングに基づいて、そのデータバッファ装置
の入力手段により新たに読み出されたデータがそのバッ
ファ手段に既に書き込まれていたデータの一部に上書き
されるようその入力手段を制御することを特徴とする請
求項8記載のデータサーバシステム。
9. The group control means, when the group registration means newly assigns a group to which the data buffer device should belong, based on the timing of receiving the request, the data buffer device. 9. The data server system according to claim 8, wherein the input means is controlled so that the data newly read by the input means is overwritten on a part of the data already written in the buffer means.
JP2217796A 1996-02-08 1996-02-08 Data buffer device and data server system Pending JPH09218749A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2217796A JPH09218749A (en) 1996-02-08 1996-02-08 Data buffer device and data server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2217796A JPH09218749A (en) 1996-02-08 1996-02-08 Data buffer device and data server system

Publications (1)

Publication Number Publication Date
JPH09218749A true JPH09218749A (en) 1997-08-19

Family

ID=12075523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2217796A Pending JPH09218749A (en) 1996-02-08 1996-02-08 Data buffer device and data server system

Country Status (1)

Country Link
JP (1) JPH09218749A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100568236B1 (en) * 2004-07-28 2006-04-07 삼성전자주식회사 System for managing play of multimedia file and method thereof
JP2011015014A (en) * 2009-06-30 2011-01-20 Sony Corp Data processing device, data processing method, and program
WO2022224321A1 (en) * 2021-04-19 2022-10-27 日本電信電話株式会社 Information communication device, information communication method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100568236B1 (en) * 2004-07-28 2006-04-07 삼성전자주식회사 System for managing play of multimedia file and method thereof
JP2011015014A (en) * 2009-06-30 2011-01-20 Sony Corp Data processing device, data processing method, and program
US8938002B2 (en) 2009-06-30 2015-01-20 Sony Corporation Data processing apparatus, data processing method, and program
WO2022224321A1 (en) * 2021-04-19 2022-10-27 日本電信電話株式会社 Information communication device, information communication method, and program

Similar Documents

Publication Publication Date Title
US5978875A (en) Apparatus and method for scheduling use of bus
US5938734A (en) Real time stream server for handling a plurality of real time stream data with different data rates
US5920702A (en) Method of striping a data stream onto subsets of storage devices in a multiple user data distribution system
CN107204198B (en) Control method and device for high-speed access double-rate synchronous dynamic random access memory
EP0744868B1 (en) Method and apparatus for guaranteeing average case disk transfer bandwith and seek time for a video server
US6182138B1 (en) Data distribution system that performs load balancing by directly transmitting data between distribution servers
US7012926B2 (en) Packet receiving method on a network with parallel and multiplexing capability
US7627672B2 (en) Network packet storage method and network packet transmitting apparatus using the same
US20030079080A1 (en) Disk scheduling system with bounded request reordering
US5799174A (en) Staggered striping in multimedia information systems
JP2011204233A (en) Buffer manager and method for managing memory
JP2845162B2 (en) Data transfer device
EP1528477B1 (en) Memory management system for processing linked list data files
US5909693A (en) System and method for striping data across multiple disks for continuous data streaming and increased bus utilization
JPH09218749A (en) Data buffer device and data server system
US5737634A (en) Storage device control system with an internal bus wherein a network interface has a data line for memory transfer
JPH0981491A (en) Network video server, client device and multimedia information providing method
CN100541472C (en) The permission control system that is used for the local video server
US10983710B1 (en) Uneven distributed storage across a mesh fabric storage system
CN117312201B (en) Data transmission method and device, accelerator equipment, host and storage medium
JPH05334232A (en) Dma transfer controller
JP2001111936A (en) Data input output device and data input output method
JPH11234614A (en) Video server and access management method for video server
Reddy Scheduling in Multimedia Systems
JP2000137676A (en) Buffer control system