JPH0970018A - File server - Google Patents

File server

Info

Publication number
JPH0970018A
JPH0970018A JP7224985A JP22498595A JPH0970018A JP H0970018 A JPH0970018 A JP H0970018A JP 7224985 A JP7224985 A JP 7224985A JP 22498595 A JP22498595 A JP 22498595A JP H0970018 A JPH0970018 A JP H0970018A
Authority
JP
Japan
Prior art keywords
data
read
buffer
terminal
request
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
JP7224985A
Other languages
Japanese (ja)
Inventor
Masaru Igawa
勝 井川
Mitsuo Asai
光男 浅井
Koichi Shibata
巧一 柴田
Yoshihiro Takiyasu
美弘 滝安
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7224985A priority Critical patent/JPH0970018A/en
Publication of JPH0970018A publication Critical patent/JPH0970018A/en
Pending legal-status Critical Current

Links

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

PROBLEM TO BE SOLVED: To allow a terminal equipment to reproduce a video image with excellent quality by allowing the file server to read data from a disk in an amount larger than the requested amount from the terminal equipment and to store the data into a large capacity buffer and extracting the requested data from the buffer requested for a succeeding disk read, thereby suppressing access frequency to the magnetic disk and improving the read efficiency. SOLUTION: When a read request comes first to a buffer processing section 111 of a file server 101 from a concerned user terminal, a delivery processing section 201 provides an output of a disk read request with an amount more than that request from the terminal equipment to a disk scheduler section 141. The scheduler 141 reads the requested amount of data from a magnetic disk device 151 and stores the data to buffer sections 221, 222. The delivery processing section 201 reads the requested amount of data from the terminal equipment from the buffer and sends the data to a network 401. After that, when the read request is made from the user, the data are extracted from the buffer sections 221, 222 and sends the data to the network 401. Thus, number of times of disk read is reduced and data are sent in a fast response.

Description

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

【0001】[0001]

【産業上の利用分野】本発明はデジタルデータを蓄積,
配送するファイルサーバに関する。
BACKGROUND OF THE INVENTION The present invention stores digital data,
Regarding the file server to deliver.

【0002】[0002]

【従来の技術】従来、複数の端末が一台の計算機のディ
スク上のデータを共有するためのシステムは、SUN
MicroSystem社が提案するネットワークファイルシステ
ム(NFS)がある。これは、蓄積装置の中にあるデータを
提供するファイルサーバと、データを利用する複数の利
用者端末と、それらを結び付ける通信手順からなる。現
在のところ、ファイルサーバにおけるデータ蓄積の手段
は、磁気ディスクあるいは光磁気ディスクがコストの面
で適当である。このシステムを用いると、複数の計算機
が、ファイルサーバの磁気ディスク上のテキストデータ
や実行バイナリを利用することができる。
2. Description of the Related Art Conventionally, a system for allowing a plurality of terminals to share data on a disk of one computer has been known as SUN.
There is a network file system (NFS) proposed by MicroSystem. This consists of a file server that provides data in the storage device, a plurality of user terminals that use the data, and a communication procedure that links them. At present, a magnetic disk or a magneto-optical disk is suitable in terms of cost as a data storage means in the file server. Using this system, multiple computers can use the text data and execution binary on the magnetic disk of the file server.

【0003】サーバは各利用者端末からディスク上のデ
ータのファイル名とオフセットとサイズを指定して要求
してくる。ファイルサーバはそのリード要求を受け取る
と、ディスクから該当するデータを読み出し、ネットワ
ークを介して利用者端末に送る。ネットワークファイル
システムでは、伝送効率を最適なものにするために、利
用者端末の上のアプリケーションが大量のデータをファ
イルサーバから読み込もうとしても、端末からファイル
サーバへのリード要求は細かく分割され、繰り返し出さ
れる。端末上のアプリケーションが大量のデータをサー
バに要求する時は、端末はファイルサーバに対して複数
回にわたって繰り返し要求する。ファイルサーバでは、
細かく分けられたリード要求に対して、特にディスク上
のキャッシュがヒットしない限り、毎回ディスクリード
を行う。
The server requests from each user terminal by designating the file name, offset, and size of the data on the disk. When the file server receives the read request, it reads the corresponding data from the disk and sends it to the user terminal via the network. In the network file system, in order to optimize the transmission efficiency, even if the application on the user terminal tries to read a large amount of data from the file server, the read request from the terminal to the file server is finely divided and repeated. Will be issued. When an application on the terminal requests a large amount of data from the server, the terminal repeatedly requests the file server multiple times. On the file server,
With respect to the read requests that are finely divided, the disk is read each time unless the cache on the disk is hit.

【0004】端末側では、ファイルサーバのデータを自
分のディスクのデータと同じインタフェースで端末上の
アプリケーションに提供することにより、利用者端末は
あたかも自分のディスクにアクセスしているように、フ
ァイルサーバのデータをアクセスすることを可能として
いる。
On the terminal side, the data of the file server is provided to the application on the terminal through the same interface as the data of its own disk, so that the user terminal can access the disk of the file server as if it were accessing its own disk. It is possible to access the data.

【0005】ファイルサーバに接続することができる端
末の数は、あらかじめ設定しておくことによって決ま
る。構造的には制限はないが、つながっている端末の数
が多くなるほど、各端末へのレスポンスは悪くなる。
The number of terminals that can be connected to the file server is determined by setting in advance. Although there is no structural limitation, the response to each terminal becomes worse as the number of connected terminals increases.

【0006】[0006]

【発明が解決しようとする課題】CD−ROM上のデジ
タル映像を読み込むことによって動作するアプリケーシ
ョンは数多く存在する。このCD−ROM上のデジタル
映像データを一台のファイルサーバに貯えて共有する
と、大量の映像データを各端末で持つ必要がなくなり、
蓄積コストを下げることにつながる。しかし、ネットワ
ークファイルシステムは従来、テキストデータやバイナ
リデータの共有を前提にしているので、一般に映像デー
タの規模が大きいことと、映像データはデータ転送の際
に時間軸の制限を持つため、映像データの共有には、い
くつかの問題を生じる。
There are many applications that operate by reading digital video on a CD-ROM. By storing and sharing the digital video data on this CD-ROM in one file server, it is not necessary to have a large amount of video data in each terminal,
This will lead to lower storage costs. However, since network file systems have traditionally assumed that text data and binary data are shared, the size of video data is generally large, and video data has a time axis limitation when data is transferred. Sharing causes some problems.

【0007】映像データのような大量のデータを端末が
要求すると、ファイルサーバ内では繰り返しディスクリ
ードを発行することになる。そのため、複数の利用者端
末に対してファイルサーバが映像データの配送を行う
と、ディスクリードに時間を多く費やしてしまい、ディ
スクリードがボトルネックになってしまう。よって、映
像サーバとしてのファイルサーバに同時に接続すること
ができる端末の数が少なくなる。
When a terminal requests a large amount of data such as video data, disk read is repeatedly issued in the file server. Therefore, when the file server delivers the video data to a plurality of user terminals, a lot of time is spent on the disk read, and the disk read becomes a bottleneck. Therefore, the number of terminals that can be simultaneously connected to the file server as the video server is reduced.

【0008】一般に、映像の再生を行っている端末は、
要求したデータを限られた時間内に得られないと、正し
い映像の再生が行えない。従来のファイルサーバは映像
データの配送を前提にしていないため、ファイルサーバ
に接続している端末の数が多くなって、ディスクへのア
クセスが多くなると、各端末からの要求に対するレスポ
ンスが悪くなり、その結果端末で表示する映像データが
乱れる。
[0008] Generally, a terminal that reproduces video is
If the requested data cannot be obtained within the limited time, the correct video cannot be reproduced. Conventional file servers do not assume delivery of video data, so when the number of terminals connected to the file server increases and disk access increases, the response to requests from each terminal deteriorates. As a result, the video data displayed on the terminal is disturbed.

【0009】従来のファイルサーバは、接続できる端末
の数を前もって決めておかなければならない。しかし、
動画の配送の場合、ディスクリードに余裕があるかどう
かで、配送可能な端末の数が決まってくる。あらかじめ
決めてしまうと、ディスクに余裕があるのに、端末の接
続を拒否したり、逆にディスクに余裕がないのに端末の
接続をしてしまい、他の端末への配送の邪魔をしてしま
う可能性がある。
In the conventional file server, the number of terminals that can be connected must be decided in advance. But,
In the case of video delivery, the number of terminals that can be delivered depends on whether there is enough disk read. If you decide in advance, you can refuse the connection of the terminal even if there is enough disk space, or conversely connect the terminal even if there is no disk space, which disturbs delivery to other terminals. There is a possibility that it will end up.

【0010】[0010]

【課題を解決するための手段】端末が映像の表示を目的
としてサーバのデータを要求する時は、ファイルサーバ
に端末からの一回目のリード要求の後、周期的に繰り返
しかつ連続した要求がやって来ることが予測できる。そ
こでファイルサーバでは、端末から要求された量より多
くディスクリードを行い、大容量のバッファに蓄えてお
く。以降のディスクリードに対して、要求されたデータ
がバッファの中から取り出して利用者端末に送る。これ
によって、磁気ディスクのアクセス頻度を押さえ、読み
出し効率を上げることができる。
[Means for Solving the Problems] When a terminal requests data from a server for the purpose of displaying an image, after a first read request from the terminal to the file server, a repetitive and continuous request comes periodically. Can be predicted. Therefore, the file server reads the disk more than the amount requested by the terminal and stores it in a large capacity buffer. For the subsequent disk read, the requested data is fetched from the buffer and sent to the user terminal. As a result, the access frequency of the magnetic disk can be suppressed and the reading efficiency can be improved.

【0011】また、バッファ上のデータを順に取り出し
てそのデータを送りつくした場合、再びディスクリード
を行うが、ディスクリードを行っている間も送り続けな
ければいけないので、バッファを二つに分けて用い、交
互に使用する。片面のデータを使い果たした場合、その
面のディスクリードを行っている間に、もう一面のバッ
ファからデータをネットワークに送り出す。これによっ
て、常に端末への配送は高速な記憶領域上のバッファか
ら行うことができ、早いレスポンスを保証することがで
きる。
Further, when the data in the buffer is sequentially taken out and the data is sent out, the disk read is performed again, but since the data must be continuously sent during the disk read, the buffer is divided into two. Use and use alternately. When the data on one side is used up, the data is sent from the buffer on the other side to the network while the disk is read on that side. As a result, the delivery to the terminal can always be performed from the buffer in the high-speed storage area, and the quick response can be guaranteed.

【0012】利用者端末からの映像データリード要求が
連続してやってくる場合、ファイルサーバは大容量バッ
ファに周期的に映像データを補給しなければならない。
補給のためのディスクリードは、他方の一面が使われて
いる間、それが枯渇するまでに行わなければならない。
つまり、異なる配送処理ごとにディスクリードのデッド
ラインが毎回設定される。これは端末ごとにデータが異
なるので、ビットレートが異なり、その結果、毎回のデ
ッドラインまでの時間も、配送処理によって異なる。複
数の配送部が動いている時、このディスクリードは全て
の端末への配送のデッドラインが守られるような順番で
行われるように、スケジューラ装置がディスクリードの
順番を管理する。この結果、バッファ部上へのデータが
配送が始まるまでにディスクリードが必ず完了させるこ
とができる。
When video data read requests from user terminals are continuously received, the file server must periodically replenish the large capacity buffer with video data.
A disk read for replenishment must be done before the other side is exhausted while it is in use.
In other words, the disk read deadline is set for each different delivery process. Since the data is different for each terminal, the bit rate is different, and as a result, the time until the deadline is different for each delivery process. When a plurality of delivery units are operating, the scheduler device manages the order of disk reads so that the disk reads are performed in such an order that the deadline of delivery to all terminals is observed. As a result, the disk read can be completed before the delivery of the data to the buffer unit starts.

【0013】ただし、端末側ではバッファリングをし、
ある程度まとめてリードを行ってくる可能性がある。そ
の時はファイルサーバ内のバッファが早く枯渇すること
になるので、ディスクリードのデッドラインまでの時間
を、何%か短くすることによって対処する。
However, buffering is performed on the terminal side,
There is a possibility that you will lead to some extent collectively. At that time, the buffer in the file server will be exhausted quickly, so we will deal with it by shortening the time until the deadline of disk read by some percentage.

【0014】また、端末側は映像データを表示以外の目
的で要求してくる場合も有り得る。その場合、データの
ビットレートを無視し、高いビットレートで要求してく
る。これに対して、ファイルサーバの配送処理部は、例
えバッファ部のデータが早く枯渇しても、そのバッファ
部を使い始めた時刻から、データのビットレートから決
まるディスクリード間隔にある割合をかけた時間がたっ
て初めてディスクリードを行う。これによって、一端末
のために集中的にディスクリードを行って、他の端末へ
の配送の邪魔をすることを防ぐことができる。
Further, the terminal side may request video data for purposes other than displaying. In that case, the data bit rate is ignored, and the data is requested at a high bit rate. On the other hand, the delivery processing unit of the file server multiplies the ratio of the disk read interval determined by the bit rate of the data from the time when the buffer unit is used up, even if the data in the buffer unit is depleted quickly. Only after a while, read the disc. As a result, it is possible to prevent the disk read from being intensively performed for one terminal and to prevent the delivery to another terminal.

【0015】ファイルサーバではディスクリードが限界
に達した時、配送能力が限界に達する。単位時間あたり
のディスクリードの量は、ファイルサーバの合計の配送
ビットレートから決まる。そこで、ファイルサーバ内で
は最大配送ビットレートをあらかじめ求めておき、新た
に端末から要求が来た時に、現在の合計ビットレート
に、新たに要求してきたデータのビットレートを加え
て、配送可能かどうかを調べることができる。不可能だ
と判断した場合は、利用者端末のリード要求は拒否され
る。可能であると判断できた場合は配送装置は実際にデ
ィスクリードを行い、利用者端末に配送する。この処理
によって、新たな端末への配送が加わったことによって
ディスクリードの能力の限界を越え、既に接続している
端末への配送を邪魔することを避けることができる。
In the file server, when the disk read reaches the limit, the delivery capacity reaches the limit. The amount of disk read per unit time is determined by the total delivery bit rate of the file server. Therefore, the maximum delivery bit rate is obtained in advance in the file server, and when a new request comes from the terminal, whether the delivery is possible by adding the bit rate of the newly requested data to the current total bit rate. You can look up. If it is determined that it is impossible, the read request from the user terminal is rejected. If it is determined that it is possible, the delivery device actually reads the disk and delivers it to the user terminal. By this processing, it is possible to avoid the fact that the delivery to a new terminal is exceeded and the capacity of the disk read is exceeded and the delivery to a terminal already connected is disturbed.

【0016】[0016]

【作用】ファイルサーバで、映像データの配送の際、磁
気ディスクのアクセス頻度を押さえ、読み出し効率を上
げることができる。また、常に端末への配送は高速な主
記憶上のバッファ部から行うことができる。その結果、
端末からの要求に対して、早いレスポンスを保証するこ
とができる。
In the file server, when the video data is delivered, the access frequency of the magnetic disk can be suppressed and the reading efficiency can be improved. Further, the delivery to the terminal can always be performed from the high-speed buffer section on the main memory. as a result,
It is possible to guarantee a quick response to a request from the terminal.

【0017】[0017]

【実施例】図4は本発明が適用されるネットワーク環境
の例である。ネットワーク401は多くの場合、ローカ
ルエリアネットワーク(LAN)であり、利用者端末装
置421,422,423...はネットワークファイ
ルシステムをサポートするものとする。この環境に本発
明のファイルサーバ101を適用することが可能であ
る。
FIG. 4 shows an example of a network environment to which the present invention is applied. Network 401 is often a local area network (LAN) and user terminal devices 421, 422, 423. . . Shall support network file systems. It is possible to apply the file server 101 of the present invention to this environment.

【0018】図3は本発明のファイルサーバのブロック
図である。映像データは磁気ディスク装置151に蓄え
られているものとする。この構成で、ディスクからデー
タを読み出して主記憶装置321に格納している間も、
主記憶装置内の別の部分から読み出しを行い、バスを介
してネットワーク装置へ送り出すことが可能である。
FIG. 3 is a block diagram of the file server of the present invention. It is assumed that the video data is stored in the magnetic disk device 151. With this configuration, even while the data is read from the disk and stored in the main storage device 321,
It is possible to read from another part of the main memory and send it to the network device via the bus.

【0019】図1は本発明のファイルサーバの機能ブロ
ック図である。ファイルサーバ101は、磁気ディスク装
置151,ディスクスケジューラ部141,端末コマン
ド分配部131,ネットワークインタフェース121、
及び端末対応バッファ処理部111,112,113,
114...からなる。ファイルサーバは、接続してい
る利用者端末の数だけ端末対応バッファ処理部を持つ。
FIG. 1 is a functional block diagram of the file server of the present invention. The file server 101 includes a magnetic disk device 151, a disk scheduler unit 141, a terminal command distribution unit 131, a network interface 121,
And terminal-compatible buffer processing units 111, 112, 113,
114. . . Consists of The file server has terminal-corresponding buffer processing units corresponding to the number of connected user terminals.

【0020】図2は端末対応バッファ処理部のブロック
図である。これは第一バッファ部221,第二バッファ
部222,配送処理部201,ディスクリード要求発行
部211からなる。
FIG. 2 is a block diagram of the buffer processing unit corresponding to the terminal. It comprises a first buffer unit 221, a second buffer unit 222, a delivery processing unit 201, and a disk read request issuing unit 211.

【0021】初めて利用者端末からリード要求が来た
時、配送処理部は蓄積装置からディスクリードをaバイ
ト行い、読み出したデータを一旦主記憶内のバッファ部
に蓄える。端末が要求してきたデータが映像データであ
る場合は、リード要求は以後連続的に繰り返し行われる
可能性が高い。そこで、aは利用者からリード要求のあ
ったバイト数よりも大きな値に定める。以降利用者端末
からリード要求があった時は、バッファから取り出して
送ることによって大幅にディスクリードの回数を減ら
し、ディスクリードによるオーバーヘッドを減らすこと
ができる。
When a read request comes from the user terminal for the first time, the delivery processing unit performs a-byte disk read from the storage device, and temporarily stores the read data in the buffer unit in the main memory. If the data requested by the terminal is video data, there is a high possibility that the read request will be continuously repeated thereafter. Therefore, a is set to a value larger than the number of bytes requested by the user for read. After that, when a read request is issued from the user terminal, the number of disk reads can be greatly reduced by taking out from the buffer and sending it, and the overhead due to the disk read can be reduced.

【0022】配送処理部が、利用者端末からのリード要
求で指定されたデータをバッファ内から配送しようとし
ても、必要なデータがバッファ内に存在しない場合が、
最初のリード要求時以外に2通り有り得る。一つは、バ
ッファを連続的に消費し、使い切った場合である。この
時、補充をしなければならないので、補充の間も送り続
けられるようにバッファをもう一面用意しておく。最初
のリードの時は2枚分のリードを行い、それ以降1枚を
使い終えるたびにディスクリードを行い、その間に他方
から端末への配送を行う。リード要求に対して、指定さ
れたデータがバッファ内に存在しない場合のもう一つ
は、利用者からのリード要求が前回の要求とは連続しな
いために二つのバッファの中に存在しない場合である。
この時は、最初の2枚のバッファのリードからやり直
す。
Even if the delivery processing unit attempts to deliver the data designated by the read request from the user terminal from the buffer, the required data may not be present in the buffer.
There are two possibilities other than the first read request. One is when the buffer is continuously consumed and used up. At this time, you have to replenish, so prepare another side of the buffer so that you can continue sending during replenishment. At the time of the first read, the read of two sheets is performed, and thereafter, the disk is read each time one sheet is used, and the delivery from the other side to the terminal is performed. The other case where the specified data does not exist in the buffer for the read request is when the read request from the user does not exist in the two buffers because it is not continuous with the previous request. .
In this case, read again from the first two buffers.

【0023】図5は、利用者端末からデータリード要求
が来てから、配送処理部が2枚のバッファを交互に使用
して利用者にデータを送る手続きを表している。これは
端末からの一回目のリード要求がきっかけとなって始ま
る。端末からあるファイルに対してオフセットx,サイ
ズsのリード命令が来たとする。これに対して、配送処
理部はサイズaのディスクリード要求をディスクスケジ
ューラに2度出す。aは、sより大きい値に設定する。
このようにして先読みすることによって、ディスクリー
ドのオーバーヘッドを少なくすることができる。
FIG. 5 shows a procedure in which the delivery processing unit alternately uses the two buffers and sends the data to the user after the data read request is received from the user terminal. This is triggered by the first read request from the terminal. It is assumed that a read command with offset x and size s is received from a terminal to a file. On the other hand, the delivery processing unit issues a disk read request of size a to the disk scheduler twice. a is set to a value larger than s.
By prefetching in this way, the overhead of disk read can be reduced.

【0024】処理には四つの場合が有り得る。第一の場
合は、読み取るデータがすべてバッファXの中にある場
合である。流れ図の509はこの時の処理を示してい
る。第二の場合は読むべきデータの前半がバッファXの
中で、後半がバッファYの中にある場合である。その時
は流れ図の中の511〜515のようになる。第三の場
合は、読み出すデータが全くバッファXの中に存在せ
ず、すべてバッファYの中に存在する場合である。その
時は流れ図の516〜519のようになる。
There can be four cases of processing. The first case is when all the data to be read is in the buffer X. Reference numeral 509 in the flow chart shows the processing at this time. In the second case, the first half of the data to be read is in the buffer X and the second half is in the buffer Y. At that time, it becomes like 511 to 515 in the flow chart. In the third case, the data to be read does not exist in the buffer X at all, but exists in the buffer Y at all. At that time, it becomes like 516 to 519 in the flow chart.

【0025】図6〜図8は上記三つのそれぞれの場合の
バッファを示している。第四の場合は、読み出そうとす
るデータが全くバッファXまたはYに存在しない場合で
ある。その時は矢印516または517の分岐で最初に
戻る。
FIGS. 6 to 8 show buffers in each of the above three cases. In the fourth case, there is no data to be read in the buffer X or Y. At that time, the process returns to the beginning with the branch of arrow 516 or 517.

【0026】図9は、二つのバッファから端末へデータ
を配送しながら、ディスクリードによって補充していく
様子を示している。図の斜線部分はデータが入っている
ことを表わす。上で述べたように、一つのバッファを使
い果たすと、もう一つのバッファから配送を行い、その
間データの補充を行う。ディスクスケジューラ部は全て
の映像データのビットレートを管理しており、リード要
求発行部はディスクスケジューラ部に問い合わせること
により、現在配送しているデータのビットレートを知
る。これに基づき、補充を完了させなければならないデ
ッドライン時刻を求め、ディスクリードの要求を出す時
に、デッドライン時刻も与える。ファイルサーバ内のバ
ッファサイズをa、映像データのビットレートをrとす
ると、ビットレート通りのリード要求が端末から来た場
合、一つのバッファを使い果たすのにかかる時間はa/
rである。ディスクリード要求を出した後、a/r後の
時刻がデッドライン時刻となる。
FIG. 9 shows how data is replenished by the disk read while delivering the data from the two buffers to the terminal. The shaded area in the figure indicates that data is included. As mentioned above, when one buffer is exhausted, the other buffer will deliver and data will be replenished during that time. The disk scheduler unit manages the bit rates of all video data, and the read request issuing unit knows the bit rate of the data currently delivered by inquiring the disk scheduler unit. Based on this, the deadline time at which the replenishment must be completed is calculated, and the deadline time is also given when the disk read request is issued. Assuming that the buffer size in the file server is a and the bit rate of video data is r, when a read request from the terminal comes in according to the bit rate, the time taken to exhaust one buffer is a /
r. The time after a / r after the disk read request is issued becomes the deadline time.

【0027】ディスクスケジューラはデッドラインを守
ってディスクリードを行うことにより、ファイルサーバ
は端末へ早いレスポンスを保証することができる。
The file scheduler can guarantee a fast response to the terminal by performing the disk read while keeping the deadline.

【0028】しかし、通常、端末上のアプリケーション
も何バイト分かをバッファリングすると考えられる。そ
のため、ファイルサーバに対するリード要求はバッファ
リングの時に局所的にビットレートが上がる。その時、
上で述べたデッドラインぎりぎりにディスクリードを完
了した場合、使われ始める時刻に間に合わないことが有
り得る。そのため、デッドライン時刻にはマージンを設
定し、余裕を持ってディスクリードを完了させる必要が
ある。配送処理部はデッドラインとしてαa/r(ただ
し、0≦α≦1)後の時刻を設定する。これによって、
一時的に高いビットレートで要求が来ても、バッファか
らの配送を行うことができる。
However, it is usually considered that the application on the terminal also buffers several bytes. Therefore, the read request to the file server has a locally increased bit rate during buffering. At that time,
If the disk read is completed just before the deadline described above, it is possible that the disk read may not be completed in time. Therefore, it is necessary to set a margin at the deadline time and complete the disk read with a margin. The delivery processing unit sets the time after αa / r (where 0 ≦ α ≦ 1) as a deadline. by this,
Even if a request comes in at a temporarily high bit rate, delivery from the buffer can be performed.

【0029】αの求め方は、以下の通りである。端末側
でuバイトのバッファを持っており、ファイルサーバ側
でaバイトのバッファを持つとすると、サーバ側でバッ
ファからデータを配送している間に多くてuバイトのゆ
らぎがあることになるので、a/uの割合だけデッドラ
インが早くなる可能性がある。そこで、α=a/uとす
ればよい。
The method of obtaining α is as follows. If the terminal side has a u-byte buffer and the file server side has an a-byte buffer, there will be at most u-byte fluctuations while the server is delivering data from the buffer. , A / u, there is a possibility that the deadline will be earlier. Therefore, α = a / u may be set.

【0030】端末では、ファイルサーバに対して、映像
データを映像再生の目的でなく、単に端末へ取り出すこ
とを目的として要求する可能性もある。もし単に取り出
すだけならば、映像データのビットレートよりも高いビ
ットレートで要求をしてくることが考えられる。その場
合、高いビットレートの要求に従って配送を行ってしま
うと、ファイルサーバでCPUの能力を一つの端末にだ
けにつぎ込んでしまい、他の端末への配送がおろそかに
なってしまう可能性がある。
There is a possibility that the terminal may request the file server not to reproduce the video data but to simply retrieve it from the file server. If it is simply taken out, the request may be made at a bit rate higher than the bit rate of the video data. In that case, if the delivery is carried out in accordance with a request for a high bit rate, the file server may put the CPU capacity to only one terminal, and the delivery to other terminals may be neglected.

【0031】そこで、ファイルサーバでは、ディスクリ
ードは必ず一定時間をあけて行うようにする。図9では
Aバッファが枯渇した後に直ちに補充しているのに対し
て、図10に示すように、端末からの高いビットレート
での要求によってAが早く枯渇しても、リード要求発行
部はBのディスクリードを要求した時刻からαa/rた
って初めてAのディスクリード要求をスケジューラに出
す。この時、Aが満たされるまでにBが枯渇してしまう
可能性があり、端末の要求に対して直ちに配送を行えな
い状態が発生する。この場合、スケジューラがAのディ
スクリードを完了させた後に、Aのバッファからデータ
の配送を再開することができる。この処理によって、一
つの配送だけで、CPUの能力を費やしてしまうことを
避けることができる。
Therefore, in the file server, the disk read is always performed after a certain period of time. In FIG. 9, the A buffer is replenished immediately after it is exhausted, whereas as shown in FIG. 10, even if A is exhausted quickly due to a request at a high bit rate from the terminal, the read request issuing unit does not The disk read request of A is issued to the scheduler only after αa / r from the time of requesting the disk read of A. At this time, there is a possibility that B will be exhausted before A is satisfied, and a state in which delivery cannot be performed immediately in response to a request from the terminal occurs. In this case, after the scheduler completes the disk read of A, the data delivery from the buffer of A can be resumed. By this processing, it is possible to avoid spending CPU power with only one delivery.

【0032】次に複数の配送処理部から受け取るディス
クスケジューリング部について述べる。図12及び図1
3に示すように、配送処理部から出されたディスクリー
ド要求は、ディスクスケジューリング部内の待ち列にた
められる。
Next, a disk scheduling unit that receives a plurality of delivery processing units will be described. 12 and 1
As shown in FIG. 3, the disk read request issued from the delivery processing unit is accumulated in a queue in the disk scheduling unit.

【0033】配送処理部がスケジューラにディスクリー
ドの要求を出すきっかけは3通りある。一つは端末がデ
ータのビットレートに従って、一つのデータを連続的に
リードした結果、バッファ部内のデータを使い果たした
ために必要となるディスクリードである。二つめは、端
末で例えば早送りなどの特殊再生のためにデータを要求
してきた結果、バッファ部内のデータが不必要となり、
新たにデータを必要とするために起こるディスクリード
である。三つめは、新たに端末がリード要求を始めた時
の最初のディスクリードである。以上の三つのディスク
リードにモードを定め、それぞれモード0,モード1,
モード2とする。
There are three reasons for the delivery processing unit to issue a disk read request to the scheduler. One is disk read, which is necessary because the terminal has exhausted the data in the buffer unit as a result of continuously reading one data according to the bit rate of the data. Second, as a result of requesting data for special playback such as fast-forward at the terminal, the data in the buffer section becomes unnecessary,
This is a disk read that occurs because new data is needed. The third is the first disk read when a new terminal starts a read request. Modes are set for the above three disk reads, and mode 0, mode 1, and
Set to mode 2.

【0034】モード0の場合、すなわち通常の連続ディ
スクリードの場合は、ディスクリードにデッドライン時
刻が存在する。バッファの大きさをa、ビットレートを
rとすると、ディスクリード要求を受けてからa/r秒
後がデッドライン時刻となる。それに対して、モード1
やモード2の場合、デッドライン時刻は存在しない。
In mode 0, that is, in the case of normal continuous disk read, there is a deadline time in disk read. When the buffer size is a and the bit rate is r, the deadline time is a / r seconds after the disk read request is received. On the other hand, mode 1
In the case of mode 2 or, there is no deadline time.

【0035】図12に示すように、配送処理部がリード
要求を行う際には、読み込むバッファの識別子,ファイ
ルの識別子,読み込むデータのオフセット,サイズ,読
み込みのデッドライン時刻、及び上で述べたモードを与
える。
As shown in FIG. 12, when the delivery processing unit issues a read request, the read buffer identifier, the file identifier, the read data offset, the size, the read deadline time, and the mode described above. give.

【0036】図13に、要求待ち列挿入部のブロック図
を示す。読み込むバッファの識別子をb、ファイルの識
別子をf、読み込むデータのオフセットをe、サイズを
s、読み込みのデッドライン時刻をd、及び上で述べた
モードをpとする。待ち列にはこれらの情報が格納され
ている。待ち列に挿入するアルゴリズムを図14に示
す。このアルゴリズムでは、モード0のリード要求に関
しては、デッドラインが常に早い順にソートされるよう
に挿入する。挿入されると、予定リード時刻tが計算さ
れる。これは、その直前の要求の予定リード時刻に、そ
の要求によって行われるディスクリードの時間をたすこ
とによって決まる。
FIG. 13 is a block diagram of the request queue inserting section. The buffer identifier to be read is b, the file identifier is f, the offset of the data to be read is e, the size is s, the deadline time of reading is d, and the mode described above is p. Such information is stored in the queue. The algorithm for inserting in the queue is shown in FIG. In this algorithm, regarding the read request of mode 0, the deadlines are inserted so that they are always sorted in ascending order. When inserted, the scheduled read time t is calculated. This is determined by adding the disk read time performed by the request to the scheduled read time of the immediately preceding request.

【0037】予定リード時刻がデッドラインより後にな
る場合、この要求のデッドラインは満たされないことに
なる。しかし、その要求より先に順序されている要求の
中に、映像データ以外のデータのリード要求や、モード
2,モード1の要求が存在すれば、これらの要求を後に
まわすことによって、新規要求を前倒しする。これによ
って、ディスクリードのデッドラインを満たすようにす
る、あるいはデッドラインに対する遅れを最小限に押さ
えることができる。
If the scheduled read time is after the deadline, the deadline for this request will not be met. However, if there is a read request for data other than video data or a request for mode 2 or mode 1 in the requests that are ordered before the request, a new request can be generated by sending these requests later. Move forward. As a result, the deadline of the disk read can be satisfied or the delay with respect to the deadline can be minimized.

【0038】図11はある周期Tの間に複数の配送処理
部が一定時間間隔で順番にディスクリードを行っている
様子を示している。
FIG. 11 shows a state in which a plurality of delivery processing units sequentially perform disk reading at fixed time intervals during a certain period T.

【0039】ある時間周期Tで、同時にn個の端末に配
送を行っているとする。端末要求分配装置は、現在接続
中の端末が要求している映像データのビットレートを知
っており、それぞれr1〜rnとする。901〜912
に示されるzは一回のディスクリードにかかる時間を表
わし、バッファの大きさをaとすると、端末riのディ
スクリードの間隔はa/ri、ディスクリード間隔にマ
ージンを考慮するとαa/ri(ただし、0≦α≦1)
となり、時間T内のディスクリード回数はT/(αa/
ri)だから、全ての端末に対するディスクリードの時
間は、zT/(αa/r1)+zT/(αa/r2)+…
+zT/(αa/r1)=zT(r1+…+rn)/αa
となる。すべてのディスクリードが可能となるために
は、これがT以下になる必要があり、zT(r1+…+
rn)/αa<Tすなわち、z(r1+…+rn)/α
a<1という不等式が成り立つ。新たに端末が加わる時
に、この不等式が成立するならば、端末要求分配装置は
その端末の接続を許可する。しかし、成り立たない場合
は、その端末への配送を拒否する。この処理により、端
末要求に対して高レスポンスで配送できる範囲で、ディ
スクリードの能力の限界まで端末の数を増やすことがで
きる。
It is assumed that delivery is simultaneously performed to n terminals in a certain time period T. The terminal request distribution device knows the bit rate of the video data requested by the currently connected terminal and sets it as r1 to rn. 901-912
Z represents the time required for one disk read, and if the buffer size is a, the disk read interval of the terminal ri is a / ri, and considering the disk read interval with a margin, αa / ri (however, , 0 ≦ α ≦ 1)
Therefore, the number of disk reads within the time T is T / (αa /
ri) Therefore, the disk read time for all terminals is zT / (αa / r1) + zT / (αa / r2) + ...
+ ZT / (αa / r1) = zT (r1 + ... + rn) / αa
Becomes In order to be able to read all discs, this must be less than T, and zT (r1 + ... +
rn) / αa <T, that is, z (r1 + ... + rn) / α
The inequality a <1 holds. If this inequality holds when a new terminal is added, the terminal request distribution device permits the connection of the terminal. However, if it does not hold, the delivery to the terminal is refused. By this processing, it is possible to increase the number of terminals to the limit of the disk read capability within a range in which the terminal request can be delivered with high response.

【0040】[0040]

【発明の効果】本発明のファイルサーバによれば、格納
した映像データをより多くの端末へ早いレスポンスで送
ることが可能になり、その結果接続している端末の数が
多くなっても、端末で質の高い映像再生が可能になる。
According to the file server of the present invention, it becomes possible to send the stored video data to more terminals with a quick response, and as a result, even if the number of terminals connected increases, Enables high quality video playback.

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

【図1】本発明の実施例を表わすブロック図。FIG. 1 is a block diagram showing an embodiment of the present invention.

【図2】端末対応バッファ処理部のブロック図。FIG. 2 is a block diagram of a terminal corresponding buffer processing unit.

【図3】本発明のファイルサーバの説明図。FIG. 3 is an explanatory diagram of a file server of the present invention.

【図4】本発明が適用されるネットワーク環境の説明
図。
FIG. 4 is an explanatory diagram of a network environment to which the present invention is applied.

【図5】利用者端末からデータリード要求が来てから、
配送処理部が利用者端末にデータを配送するアルゴリズ
ムを表わすフローチャート。
FIG. 5: After a data read request comes from the user terminal,
6 is a flowchart showing an algorithm in which a delivery processing unit delivers data to a user terminal.

【図6】図5におけるバッファの状態を表わす説明図。6 is an explanatory diagram showing a state of a buffer in FIG.

【図7】図5におけるバッファの状態を表わす説明図。FIG. 7 is an explanatory diagram showing a state of a buffer in FIG.

【図8】図5におけるバッファの状態を表わす説明図。FIG. 8 is an explanatory diagram showing a state of a buffer in FIG.

【図9】二つのバッファ部から端末へデータを配送しな
がら、配送処理部がディスクリードによってバッファ部
を補充していく様子を示す説明図。
FIG. 9 is an explanatory diagram showing how the delivery processing unit replenishes the buffer unit by disk read while delivering data from the two buffer units to the terminal.

【図10】図7で、端末がコピーなどを目的として高い
ビットレートで要求した時のバッファ部の補充を示す説
明図。
FIG. 10 is an explanatory diagram showing the replenishment of the buffer unit when the terminal requests at a high bit rate for the purpose of copying in FIG.

【図11】ある周期Tの間に複数の配送処理部が一定時
間間隔で順番にディスクリードを行っている様子を示す
説明図。
FIG. 11 is an explanatory diagram showing a state in which a plurality of delivery processing units sequentially perform disk reading at fixed time intervals during a certain cycle T.

【図12】本発明のディスクスケジューラ部のブロック
図。
FIG. 12 is a block diagram of a disk scheduler unit according to the present invention.

【図13】本発明の要求待ち列挿入部のブロック図。FIG. 13 is a block diagram of a request queue insertion unit of the present invention.

【図14】要求待ち列挿入部が、新しいディスクリード
要求を待ち列に挿入するアルゴリズムを示すフローチャ
ート。
FIG. 14 is a flowchart showing an algorithm in which a request queue inserting unit inserts a new disk read request into a queue.

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

101…映像用ファイルサーバ、111…端末対応バッ
ファ処理部、121…ネットワークインタフェース、1
31…端末コマンド分配部、141…ディスクスケジュ
ーラ部、151…磁気ディスク装置。
101 ... video file server, 111 ... terminal-compatible buffer processing unit, 121 ... network interface, 1
31 ... Terminal command distribution unit, 141 ... Disk scheduler unit, 151 ... Magnetic disk device.

フロントページの続き (72)発明者 滝安 美弘 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所情報通信開発本部内Front Page Continuation (72) Inventor Yoshihiro Takiyasu 1099 Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Hitachi, Ltd. Information & Communication Development Division

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】デジタル映像データを蓄積する蓄積部を有
し、利用者端末から送られる上記蓄積部内のデジタルデ
ータのリード要求に応じて上記デジタルデータを端末に
配送するファイルサーバにおいて、 データを一時的に格納するための読み出し速度が上記蓄
積部より速いバッファ部と、利用者端末から送られてき
た一回目のリード要求が映像データの要求であるかどう
かを判断する要求判定部と、要求されたデータが上記映
像データである場合は要求された量よりも多くデジタル
データを第一の蓄積部から取り出し、上記バッファ部に
格納するデータ読み出し部と、端末から要求された量だ
け上記バッファ部から取り出して利用者端末へ送り出す
手段を有することを特徴とするファイルサーバ。
1. A file server which has a storage unit for storing digital video data, and which delivers the digital data to the terminal in response to a read request for the digital data in the storage unit sent from a user terminal, temporarily stores the data. A buffer unit that has a faster read speed than the storage unit described above, and a request determination unit that determines whether the first read request sent from the user terminal is a video data request. If the data is the video data, the data reading unit that extracts more digital data from the first storage unit than the requested amount and stores it in the buffer unit, and the amount of the buffer unit that is requested by the terminal from the buffer unit A file server having means for taking out and sending out to a user terminal.
【請求項2】請求項1に記載のバッファ部内残データ量
と伝送ビットレートから、バッファ部内データがアンダ
フローする時刻(以下デッドライン時刻と称す)を定め
る手段と、上記デッドライン時刻の到達前にあらかじめ
決められた量を前記蓄積部から読み出すよう制御するデ
ータ読み出し部を有するファイルサーバ。
2. A means for determining a time (hereinafter referred to as a deadline time) at which the data in the buffer section underflows from the remaining data amount in the buffer section and the transmission bit rate according to claim 1, and before the deadline time is reached. A file server having a data reading unit that controls to read a predetermined amount from the storage unit.
【請求項3】請求項1に記載のバッファ部内に端末が要
求したデータが存在するか否かによって、上記データ読
み出し部が次回行うバッファ部への補充が、上記バッフ
ァ部内の現在配送を行っている部分のデータに連続する
データの補充のための周期的リード要求であるか、端末
が要求したデータがバッファ部内に存在しない場合のデ
ータ補充のための非周期的リード要求であるかを判定す
る手段を有し、端末に対応した複数の上記データ読み出
し部から出される蓄積部へのリード要求と、そのデッド
ライン時刻と、非周期的リードか周期的リードの区別を
受け取り、蓄積部へのリード要求の待ち列を生成し、そ
の待ち列で周期的リード要求に関してデッドラインが早
い順になるようにソートし、待ち列内の全てのリード要
求のリード予定終了時刻を計算し、その予定終了時刻が
デッドライン時刻より遅くなるものが存在する場合は、
待ち列でそれより前に登録されている非周期的リード要
求を後ろへ繰り下げる処理を行う手段を有するファイル
サーバ。
3. Depending on whether or not the data requested by the terminal exists in the buffer unit according to claim 1, the data reading unit next replenishes the buffer unit by performing the current delivery in the buffer unit. Whether the request is a periodic read request for replenishing data that is continuous with the data in the existing portion or an aperiodic read request for replenishing data when the data requested by the terminal does not exist in the buffer section. A read request to the storage unit issued from the plurality of data reading units corresponding to the terminal, the deadline time thereof, and the distinction between aperiodic read and periodic read, and read to the storage unit. Create a queue of requests, sort the queue so that the deadlines are in ascending order with respect to periodic read requests, and finish reading all read requests in the queue. Time is calculated, and if there are things that the scheduled end time is later than the deadline time,
A file server having means for carrying back an aperiodic read request registered earlier in the queue to the back.
【請求項4】請求項1に記載の蓄積部にデータを格納す
る時に、そのデータが映像データであるか否かをデータ
とともに登録しておき、データ読み出しの時にその登録
内容を参照することによって、読み出すデータが映像デ
ータかどうかを判定する要求判定部を備えたファイルサ
ーバ。
4. When storing data in the storage unit according to claim 1, whether or not the data is video data is registered together with the data, and the registered contents are referred to when reading the data. A file server including a request determination unit that determines whether the data to be read is video data.
JP7224985A 1995-09-01 1995-09-01 File server Pending JPH0970018A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7224985A JPH0970018A (en) 1995-09-01 1995-09-01 File server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7224985A JPH0970018A (en) 1995-09-01 1995-09-01 File server

Publications (1)

Publication Number Publication Date
JPH0970018A true JPH0970018A (en) 1997-03-11

Family

ID=16822297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7224985A Pending JPH0970018A (en) 1995-09-01 1995-09-01 File server

Country Status (1)

Country Link
JP (1) JPH0970018A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184783A (en) * 2004-11-12 2005-07-07 Onkyo Corp Network type content reproducing system
US7634532B2 (en) 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634532B2 (en) 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system
US7908370B2 (en) 2002-05-31 2011-03-15 Onkyo Corporation Network type content reproducing system
US8005928B2 (en) 2002-05-31 2011-08-23 Onkyo Corporation Network type content reproducing system
US8037177B2 (en) 2002-05-31 2011-10-11 Onkyo Corporation Network type content reproducing system
US8291074B2 (en) 2002-05-31 2012-10-16 Onkyo Corporation Network type content reproducing system
US8516042B2 (en) 2002-05-31 2013-08-20 Onkyo Corporation Network type content reproducing system
JP2005184783A (en) * 2004-11-12 2005-07-07 Onkyo Corp Network type content reproducing system

Similar Documents

Publication Publication Date Title
JP3617089B2 (en) Video storage / delivery device and video storage / delivery system
EP1193967B1 (en) Providing quality of service for disks I/O sub-system
Lougher et al. The design of a storage server for continuous media
US6023720A (en) Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines
JP2742390B2 (en) Method and system for supporting pause resume in a video system
EP0901249B1 (en) Method of distributed editing of video clips over a network
US6134596A (en) Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US5956321A (en) Stream scheduling system for real time stream server
EP0682833B1 (en) Flow control by evaluating network load
JP2950223B2 (en) Data reading device
KR0146567B1 (en) Method of managing memory buffer in a video server
US20050086386A1 (en) Shared running-buffer-based caching system
EP0713184A2 (en) Method of retrieving continuous and non-continuous media data from a file system
JPH10162507A (en) Video server scheduling for simultaneous read-write request
JP3575862B2 (en) Stream scheduling method and apparatus
JPH0970018A (en) File server
US6742019B1 (en) Sieved caching for increasing data rate capacity of a heterogeneous striping group
Chang et al. Reschedulable-Group-SCAN scheme for mixed real-time/non-real-time disk scheduling in a multimedia system
US20040199683A1 (en) Admission control system for home video servers
Ma et al. Efficient real-time data retrieval through scalable multimedia storage
Chiueh et al. Design and implementation of the stony brook video server
Ma et al. Client-Caching Algorithms in a Video-on-Demand System
Lim The dynamic sweep scheme using slack time in the zoned disk
JP3416498B2 (en) Server device, control method therefor, and recording medium storing server device control program
Lim et al. A real-time prefetching method for continuous media playback