JPH0981472A - Scheduler of media server - Google Patents

Scheduler of media server

Info

Publication number
JPH0981472A
JPH0981472A JP7260858A JP26085895A JPH0981472A JP H0981472 A JPH0981472 A JP H0981472A JP 7260858 A JP7260858 A JP 7260858A JP 26085895 A JP26085895 A JP 26085895A JP H0981472 A JPH0981472 A JP H0981472A
Authority
JP
Japan
Prior art keywords
priority
processing
bit
data
data transfer
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
JP7260858A
Other languages
Japanese (ja)
Inventor
Yoshihiro Shintani
義弘 新谷
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP7260858A priority Critical patent/JPH0981472A/en
Publication of JPH0981472A publication Critical patent/JPH0981472A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To optimize the scheduling to which priority is added by preferentially performing reproduction process, retransmission process, etc., being the highest in priority. SOLUTION: A scheduler 10 is provided with a body processing part 1, a time monitoring part 2, a data transfer part 3 and a priority calculation part 4. By the transfer processing of one time, the number of transfer bytes for which a transfer processing should be performed is determined. In accordance with this determination, data is transferred, the number of transferred bytes is considered and the calculation of the priority for the data waiting for transfer which is held in the scheduler is carried out. Next, a priority bit 20 is generated. Further, the priority bit corresponding to each processing command is compared. The larger priority bit, that is, the bit with higher priority is determined to be transferred first and the bit with lower priority is set to be transferred later. Namely, reproduction process and retransmission process being high in priority are made to be preferentially performed.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、動画、静止画、音
声等のメディアをデータベース化して保持しネットワー
ク経由で複数のプレイヤーに対しリアルタイム性を満た
しながらデータ転送を行うためのメディアサーバーのス
ケジューラーに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a scheduler of a media server for storing media such as moving images, still images, and sounds as a database and transmitting data to a plurality of players via a network while satisfying real-time performance. .

【0002】[0002]

【従来の技術】例えば、ビデオオンデマンドシステムに
おいては、大容量記憶媒体に動画や静止画等の画像デー
タを格納し、ネットワークを介して接続された複数のプ
レイヤーに対し任意の画像を供給する。プレイヤーは、
例えばケーブルテレビ受信機のような専用のセットトッ
プボックスと呼ばれる装置により構成される。各プレイ
ヤーでは、ユーザーが任意の画像の再生、早送り、巻き
戻しといった処理コマンドを記憶媒体を設けたメディア
サーバーに対して送出する。メディアサーバーではこの
処理コマンドを受け付けて、各プレイヤーに対しデータ
転送を行う。このような動画や音声の供給にあたって
は、一定の転送レートを保持しないとプレイヤー側でス
ムーズな再生ができない。従って、メディアサーバーに
はデータ転送のための緻密なスケジューリング機能が必
要になる。
2. Description of the Related Art For example, in a video-on-demand system, image data such as moving images and still images are stored in a large-capacity storage medium, and arbitrary images are supplied to a plurality of players connected via a network. The player is
For example, it is configured by a device called a dedicated set top box such as a cable television receiver. In each player, a user sends a processing command such as reproduction of an arbitrary image, fast forward, and rewind to a media server provided with a storage medium. The media server accepts this processing command and transfers data to each player. When supplying such a moving image or sound, the player cannot smoothly play back unless a constant transfer rate is maintained. Therefore, the media server needs a precise scheduling function for data transfer.

【0003】[0003]

【発明が解決しようとする課題】ところで、上記のよう
な従来のメディアサーバのスケジューラーには次のよう
な解決すべき課題があった。この種のデータ転送処理を
スケジューリングする場合には、例えば最先に処理コマ
ンドを受け付けたプレイヤーに対し先にデータ転送を行
うという先入れ先出し方式が考えられる。ところが、例
えば動画像の再生に際しては、通常の再生、早送り再
生、逆再生、再生の停止といった各種の内容の処理コマ
ンドが存在する。また、各プレイヤーの構成は一律では
なく、例えば大容量のバッファメモリを備えたものもあ
れば、バッファメモリ容量の少ないプレイヤーも存在す
る。また、ビデオオンデマンドシステムに限らず動画、
静止画、音声、テキスト等、各種のメディアをネットワ
ーク経由で転送し、ワークステーションやパーソナルコ
ンピュータといった各種の機器でデータの受信と再生等
を行うような複雑なシステムでは、競合する処理要求に
対する迅速かつ簡便な合理的なスケジューリング処理が
要求される。
By the way, the conventional media server scheduler as described above has the following problems to be solved. When scheduling this type of data transfer processing, for example, a first-in first-out method is conceivable in which data transfer is performed first for the player who received the processing command first. However, for example, when reproducing a moving image, there are processing commands having various contents such as normal reproduction, fast-forward reproduction, reverse reproduction, and stop of reproduction. Further, the configuration of each player is not uniform, and for example, some players have a large-capacity buffer memory, and some players have a small buffer memory capacity. Also, not only video-on-demand system,
In complex systems where various media such as still images, voice, text, etc. are transferred via a network and various devices such as workstations and personal computers receive and reproduce data, prompt and A simple and rational scheduling process is required.

【0004】[0004]

【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成〉本発明のメディアサーバーのスケジューラー
は、複数のプレイヤーからのデータ転送要求を含む処理
コマンドを受け付けて、そのデータを記憶媒体から読み
出して、リアルタイム性を必要とするデータ転送と処理
コマンドの実行スケジューリングを行うものであって、
各プレイヤーからの処理コマンドを受け付ける本体処理
部と、処理コマンドに、その種類に応じたプライオリテ
ィを設定するとともに、要求元のプレイヤーに設けられ
たバッファメモリの容量が小さいほど高いプライオリテ
ィを設定して、処理コマンドのプライオリティを補正し
たプライオリティを決定するプライオリティ設定手段
と、複数の処理コマンド受付が競合したときは、いずれ
かプライオリティの高いデータ転送要求から順に、デー
タ転送を実行するデータ転送部とを備える。
The present invention adopts the following constitution in order to solve the above points. <Structure> The media server scheduler of the present invention receives a processing command including data transfer requests from a plurality of players, reads the data from a storage medium, and executes data transfer and processing command requiring real-time processing. For scheduling,
In addition to the main body processing unit that receives processing commands from each player and the processing commands, the priority corresponding to the type is set, and the smaller the buffer memory provided in the requesting player, the higher the priority, The system includes a priority setting unit that determines the priority obtained by correcting the priority of the processing command, and a data transfer unit that, when a plurality of processing command receptions compete, performs data transfer in order from the data transfer request with the higher priority.

【0005】〈説明〉各プレイヤーからは、データの転
送要求や転送停止要求等を求める各種の処理コマンドが
メディアサーバーに送られる。この処理コマンドの全て
がリアルタイム性を必要とする処理とは限らない。スケ
ジューリングは、全てのプレイヤーからの処理コマンド
を実行するにあたって、必要なリアルタイム性を満たす
ように、データ転送レート等を配慮した計画を立てる。
つまり、データ転送失敗後のデータ再送要求等は、通常
のデータ転送要求より緊急性を要するからプライオリテ
ィが高くなる。また、プレイヤーのバッファメモリの容
量が小さいと、転送レートを高めなければならないた
め、プライオリティを高める。このように処理コマンド
の種類もバッファメモリの容量も、プライオリティを決
定する要素となるので、両者を加味して最終的なプライ
オリティを決定する。バッファメモリの容量から設定し
たプライオリティで、処理コマンドのプライオリティを
補正する場合処理コマンドの種類と容量の両者を考慮
し、例えば、いずれか一方を優先させてもよいし、それ
ぞれ適当な重み付けを行っても良い。これにより、受け
付けた処理コマンドに応じて、これらを実行するための
プライオリティを1回分のデータ転送毎に動的に決定
し、データ転送処理の最適化を図ることができる。
<Explanation> From each player, various processing commands for requesting data transfer, transfer stop request, etc. are sent to the media server. Not all the processing commands require real-time processing. Scheduling makes a plan that considers the data transfer rate, etc., so as to satisfy the required real-time property when executing processing commands from all players.
That is, a data resend request after a data transfer failure has a higher priority than an ordinary data transfer request, and therefore has a higher priority. In addition, if the buffer memory of the player is small, the transfer rate must be increased, thus increasing the priority. In this way, the type of processing command and the capacity of the buffer memory are factors that determine the priority, so the final priority is determined by considering both. When correcting the priority of the processing command with the priority set from the capacity of the buffer memory Consider both the type and capacity of the processing command, for example, either one may be prioritized, or each of them may be weighted appropriately. Is also good. As a result, it is possible to optimize the data transfer processing by dynamically determining the priority for executing these in accordance with the received processing commands for each data transfer.

【0006】〈構成〉プライオリティ設定手段は、受け
付けた各処理コマンドに対応させて、1回分のデータ転
送毎にそのプライオリティを表示するプライオリティビ
ットを生成するとともに、このプライオリティビットの
表示に従ってデータ転送を制御する。プライオリティビ
ットは、上位側の各ビットに、プライオリティの高い順
に処理コマンドを割付け、下位側のビットには要求元の
プレイヤーのバッファメモリ容量に対する補数を割り付
けることが好ましい。
<Structure> The priority setting means generates a priority bit indicating the priority for each data transfer for one time corresponding to each received processing command, and controls the data transfer in accordance with the display of the priority bit. To do. As for the priority bit, it is preferable to allocate a processing command to each bit on the upper side in descending order of priority, and a complementary number to the buffer memory capacity of the requesting player on the lower bit.

【0007】〈説明〉プライオリティの演算処理は、高
速性が要求されるから、簡便で確実なものが好ましい。
プライオリティビットを上記した構成にすれば、処理コ
マンドに対応するビットに1を立てて、バッファメモリ
容量の補数を下位側に連結するだけでプライオリティ表
示ができる。ネットワークに接続されたプレイヤーやそ
のバッファメモリ容量は予めメディアサーバー側に把握
されており、その補数等の演算も予め実行しておくこと
が可能で、演算処理がきわめて簡単で速い。なお、処理
コマンドを上位ビットにしたのは、処理コマンドの内容
によって、バッファメモリの容量が無視できる場合もあ
るからである。また、補数をとるのは、バッファメモリ
の容量が小さいほど、プライオリティを高くする必要が
あるためである。
<Explanation> Since high-speed processing is required for the priority calculation processing, simple and reliable processing is preferable.
If the priority bit is configured as described above, priority can be displayed by setting 1 to the bit corresponding to the processing command and connecting the complement of the buffer memory capacity to the lower side. The player connected to the network and the buffer memory capacity thereof are known in advance to the media server side, and the calculation of the complement and the like can be executed in advance, and the calculation processing is extremely simple and fast. The reason why the processing command is set to the high-order bit is that the capacity of the buffer memory may be negligible depending on the content of the processing command. The complement is taken because the smaller the capacity of the buffer memory, the higher the priority needs to be.

【0008】[0008]

【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 〈具体例〉図1は、本発明のメディアサーバーのスケジ
ューラーについての構成を示すブロック図である。この
スケジューラー10は、本体処理部1と、時間監視部2
と、データ転送部3と、プライオリティ計算部4を備え
ている。本体制御部1はプレイヤー5から処理コマンド
を受け付ける部分である。時間監視部2は、一定の転送
レートでデータを転送するために転送データの周期等を
決定し、転送動作のための時刻データを本体処理部1に
対して供給する時計回路等から構成される。データ転送
部3は、プレイヤー5に対しプライオリティ計算部4に
おいて決定されたプライオリティに従ってデータを転送
する部分である。なお、この転送用のデータは、図示し
ないバッファメモリ等に一時格納され、順次読み出され
ながらプレイヤー5に転送される。プライオリティ計算
部4は、後で詳細に説明するプライオリティビット20
を生成するとともに各処理コマンドの実行順をこのプラ
イオリティビットの表示に従って演算処理する部分であ
る。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to specific examples. <Specific Example> FIG. 1 is a block diagram showing the configuration of the scheduler of the media server of the present invention. The scheduler 10 includes a main body processing unit 1 and a time monitoring unit 2.
A data transfer unit 3 and a priority calculation unit 4. The main body control unit 1 is a unit that receives a processing command from the player 5. The time monitoring unit 2 is configured by a clock circuit or the like that determines a cycle of transfer data in order to transfer the data at a constant transfer rate and supplies time data for the transfer operation to the main body processing unit 1. . The data transfer unit 3 is a unit that transfers data to the player 5 according to the priority determined by the priority calculation unit 4. The transfer data is temporarily stored in a buffer memory or the like (not shown) and is sequentially read and transferred to the player 5. The priority calculation unit 4 uses the priority bit 20 which will be described in detail later.
Is generated, and the execution order of each processing command is calculated according to the display of this priority bit.

【0009】図2に、システム全体のブロック図を示
す。上記のようなスケジューラー10は次のようなシス
テムに組み込まれて動作する。このシステムは、メディ
アサーバー7がネットワーク6を介して複数のプレイヤ
ー5と接続されている。そして、各プレイヤー5が任意
の処理コマンドを任意のタイミングでメディアサーバー
7に対して送出すると、メディアサーバー7がこれを受
け付け、記憶媒体11から該当するデータを読み出して
転送するよう動作する。このために、メディアサーバー
7には、メインプロセス8と、記憶媒体アクセスプロセ
ス9と、スケジューラー10とが設けられている。メイ
ンプロセス8はプレイヤー5から送出されたコマンドを
受け付け、プレイヤー5との間のコマンド受け付け処理
を実行する部分である。また、このメインプロセス8は
コマンドを受け付けると、記憶媒体アクセスプロセス9
に対し該当するデータの読み出し要求を行う。更に、メ
インプロセス8は受け付けた処理コマンドをスケジュー
ラー10に対して送り、この処理コマンドは図1に示し
た本体制御部1を通じてプライオリティ計算部4により
プライオリティ計算の使用に供される。記憶媒体アクセ
スプロセス9はメインプロセス8の要求に従って記憶媒
体11から該当するデータを読み出し、これをスケジュ
ーラー10に転送する処理を行う部分である。一方、ス
ケジューラー10は、このように読み出されて転送され
てきたデータを先に説明したように一旦バッファメモリ
に格納し、複数のプレイヤー5からの処理コマンドに基
づくデータがバッファメモリに一時に格納されたとき、
その転送順をプライオリティビットに従ってスケジュー
リングし、データ転送のリアルタイム性を保障するよう
スケジューリングを行う部分である。
FIG. 2 shows a block diagram of the entire system. The scheduler 10 as described above operates by being incorporated in the following system. In this system, a media server 7 is connected to a plurality of players 5 via a network 6. Then, when each player 5 sends an arbitrary processing command to the media server 7 at an arbitrary timing, the media server 7 accepts the command and operates to read and transfer the corresponding data from the storage medium 11. For this purpose, the media server 7 is provided with a main process 8, a storage medium access process 9, and a scheduler 10. The main process 8 is a part that receives a command sent from the player 5 and executes a command receiving process with the player 5. When the main process 8 receives a command, the storage medium access process 9
A request for reading the corresponding data is issued to. Further, the main process 8 sends the received processing command to the scheduler 10, and this processing command is used for priority calculation by the priority calculation unit 4 through the main body control unit 1 shown in FIG. The storage medium access process 9 is a part that performs a process of reading the corresponding data from the storage medium 11 according to a request from the main process 8 and transferring the data to the scheduler 10. On the other hand, the scheduler 10 temporarily stores the data thus read and transferred in the buffer memory as described above, and temporarily stores the data based on the processing commands from the plurality of players 5 in the buffer memory. When
This is a part that schedules the transfer order according to priority bits and performs the scheduling so as to guarantee the real-time property of data transfer.

【0010】図3はデータ転送動作の概念図を示す。デ
ータ転送のリアルタイム性を保障するためには、例えば
この図のような要領で、各プレイヤー5に対しデータ転
送を行う。まず、図3の(a)は、プレイヤーAとプレ
イヤーBとプレイヤーCとが存在し、それぞれのプレイ
ヤーが全く同一の構成で同一のバッファメモリを持ち、
かつこのプレイヤーA,B,Cの順に処理要求が受け付
けられたものとする。この場合には、図に示す矢印の方
向にスケジューリングを行い、データ転送を処理コマン
ド受付順に行う。
FIG. 3 shows a conceptual diagram of the data transfer operation. In order to guarantee the real-time property of data transfer, data transfer is performed to each player 5, for example, as shown in this figure. First, in FIG. 3A, player A, player B, and player C exist, and each player has the same configuration and the same buffer memory.
Moreover, it is assumed that the processing requests are accepted in the order of the players A, B, and C. In this case, scheduling is performed in the direction of the arrow shown in the figure, and data transfer is performed in the processing command reception order.

【0011】また、この順番に処理コマンドが受け付け
られたとしても、例えば各プレイヤーのバッファメモリ
の容量はそれぞれ異なる場合がある。この図の(b)の
例では、プレイヤーAのバッファメモリ容量がプレイヤ
ーCのバッファメモリ容量の3倍あり、又プレイヤーB
のバッファメモリ容量がプレイヤーCのバッファメモリ
容量の2倍ある場合のスケジューリングを示している。
この場合、転送レートをプレイヤーAに対し1、プレイ
ヤーBに対し2、プレイヤーCに対し3と設定する。従
って、最初にプレイヤーAに1単位のデータを転送し、
次にプレイヤーCへ1単位のデータを転送し、更にプレ
イヤーBへ1単位のデータを転送すると、その後はプレ
イヤーC、プレイヤーB、プレイヤーCといった順にバ
ッファメモリの容量に合わせて、1回の周期、即ちこの
円を1周する時間的な周期の中で各プレイヤーへのデー
タ転送を行う回数を増減する。
Even if the processing commands are accepted in this order, the capacity of the buffer memory of each player may differ, for example. In the example of (b) in this figure, the buffer memory capacity of player A is three times the buffer memory capacity of player C, and
2 shows the scheduling in the case where the buffer memory capacity of is twice as large as the buffer memory capacity of the player C.
In this case, the transfer rate is set to 1 for player A, 2 for player B, and 3 for player C. Therefore, first transfer one unit of data to player A,
Next, 1 unit of data is transferred to player C, and further 1 unit of data is transferred to player B. Thereafter, one cycle of player C, player B, player C according to the capacity of the buffer memory, That is, the number of times data is transferred to each player is increased or decreased in a time cycle that makes one round of this circle.

【0012】このように、バッファメモリのサイズは、
データ転送の優先度、即ちプライオリティの決定に重要
な要素となる。一方、処理コマンドにはデータの再生、
逆再生、早送り再生、早送り逆再生、ポーズ、停止とい
った各種の内容のものがある。これらはビデオデータの
転送によく使われる処理コマンドであるが、再生要求は
一定の転送レートを維持しなければ画像が乱れるため、
プライオリティが高くなければならない。しかし、ポー
ズや停止を要求する処理コマンドの場合には、プライオ
リティを下げても大きな支障は生じない。先に説明した
バッファメモリの容量との関係でいえば、停止を要求す
る処理コマンドに対しその要求元のプレイヤーのバッフ
ァメモリ容量を考慮する必要はない。従って、まず処理
コマンドの内容を主にプライオリティを設定し、これに
バッファメモリの容量を加味したプライオリティの補正
を行うことが好ましいといえる。
Thus, the size of the buffer memory is
It is an important factor in determining the priority of data transfer, that is, the priority. On the other hand, the processing command includes data playback,
There are various contents such as reverse play, fast forward play, fast forward reverse play, pause, and stop. These are processing commands that are often used to transfer video data, but the playback request does not maintain a constant transfer rate because the image is disturbed, so
It must have a high priority. However, in the case of a processing command requesting a pause or stop, lowering the priority does not cause a big problem. As for the relationship with the buffer memory capacity described above, it is not necessary to consider the buffer memory capacity of the requesting player with respect to the processing command requesting the stop. Therefore, it can be said that it is preferable to first set the priority mainly on the content of the processing command, and to correct the priority in consideration of the capacity of the buffer memory.

【0013】図1に示したプライオリティビット20
は、このような考え方から生成される。即ち、ここでは
16ビットで構成したプライオリティビット20の上位
側5ビットを各コマンドに対応させている。優先度の最
も高い再生要求の処理コマンドについては、最上位ビッ
トが割り当てられている。このビットが“1”の場合に
は再生要求の処理コマンドである。その他の場合は
“0”となる。従って、プライオリティビット20の上
位ビットだけを比較の対象とした場合には、再生要求の
処理コマンドに対応するプライオリティビットが他の要
求に対応する処理コマンドのプライオリティビットより
も優先度が高いことがその比較により容易に判別でき
る。
The priority bit 20 shown in FIG.
Is generated from such an idea. That is, here, the upper 5 bits of the priority bit 20 composed of 16 bits are associated with each command. The most significant bit is assigned to the processing command of the reproduction request having the highest priority. When this bit is “1”, it is a reproduction request processing command. In other cases, it is “0”. Therefore, when only the upper bits of the priority bit 20 are targeted for comparison, the priority bit corresponding to the processing command of the reproduction request may have higher priority than the priority bits of the processing commands corresponding to other requests. It can be easily identified by comparison.

【0014】また、下位側の10ビットがバッファサイ
ズ、即ちバッファメモリの容量を表示するためのビット
である。なお、バッファメモリの容量が小さいほど優先
度を高くしなければならないため、バッファメモリのサ
イズに該当する通知をそのままこのプライオリティビッ
トに割り当てると逆の結果となる。従って、バッファメ
モリのサイズの補数をとってここに割り当てる。演算処
理の具体的な方法としては、バッファメモリの容量をバ
イト数等で表し、これを補数演算してこの下位側のビッ
トに割り当てる。また、この例では最下位のビットに再
送フラグを割り当てている。再送フラグが“1”となる
のは一旦再生要求等に従ってデータを転送した際にその
データ転送が失敗して同一のデータ転送要求があったと
きである。このような再送処理は他の要求より優先して
実行しなければプレイヤー側での画像の乱れが生じる。
そこで、この再送フラグを有するコマンドに対し最優先
のプライオリティをランク付けする。即ち、同一のコマ
ンドがあった場合には、再送フラグが“1”のコマンド
がより優先して処理されることになる。
The lower 10 bits are a bit for displaying the buffer size, that is, the capacity of the buffer memory. It should be noted that the smaller the capacity of the buffer memory, the higher the priority must be. Therefore, if a notification corresponding to the size of the buffer memory is directly assigned to this priority bit, the opposite result will be obtained. Therefore, the size of the buffer memory is complemented and assigned here. As a concrete method of the arithmetic processing, the capacity of the buffer memory is represented by the number of bytes or the like, and this is complemented and assigned to the lower bits. Further, in this example, the retransmission flag is assigned to the least significant bit. The retransmission flag is set to "1" when the data is once transferred according to the reproduction request or the like and the data transfer fails and the same data transfer request is made. If such a re-sending process is not executed prior to other requests, image distortion will occur on the player side.
Therefore, the command having this retransmission flag is given the highest priority. That is, when there is the same command, the command with the retransmission flag of "1" is processed with higher priority.

【0015】なお、このようなプライオリティビット2
0の生成は、例えばコマンドに対応する一定のビット変
換テーブルを生成しておき、自動的に上位側のビットが
生成される。また、要求元のアドレス等に対応するその
プレイヤーのバッファサイズの補数を予め計算したテー
ブルを設けておき、変換処理することによって極めて高
速に下位側のビットが生成される。従って、上記のよう
なプライオリティビット20はスケジューリングの高速
性にマッチした迅速なプライオリティ表示が可能とな
る。
It should be noted that such priority bit 2
For generation of 0, for example, a constant bit conversion table corresponding to a command is generated in advance, and the upper bits are automatically generated. Further, a table in which the complement of the buffer size of the player corresponding to the request source address or the like is calculated in advance is provided, and the conversion processing is performed, so that the lower-order bits are generated very quickly. Therefore, the priority bit 20 as described above enables rapid priority display that matches the high speed of scheduling.

【0016】なお、このプライオリティビット20と同
様の機能を持つプライオリティを表示するデータを別の
方法によって生成することも可能である。例えば、各処
理コマンドに対し一定の重み付けをした定数を設定し、
バッファサイズについても処理コマンドとの関連性で重
み付けをした定数を設定し、これらを加算したり積を求
めたりして一定の演算処理を行い、プライオリティビッ
トを生成するといった方法も可能である。
It is also possible to generate the data indicating the priority having the same function as the priority bit 20 by another method. For example, set a constant weighted constant for each processing command,
It is also possible to set a constant weighted with respect to the buffer size in relation to the processing command, add these or obtain a product, perform a certain arithmetic processing, and generate a priority bit.

【0017】最後に、スケジューラー10の具体的な動
作をフローチャートを用いて順に説明する。図4は、ス
ケジューラーの動作フローチャートである。まず、ステ
ップS1において、スケジューラーは図1に示した時間
監視部2の表示する時刻に従って転送時刻がくるまで待
つ。この転送時刻は1単位のデータ転送を行うための処
理時間やその直前に行うべきスケジューリング等の時間
を考慮して設定されている。
Finally, the specific operation of the scheduler 10 will be described in order using a flow chart. FIG. 4 is an operation flowchart of the scheduler. First, in step S1, the scheduler waits until the transfer time comes according to the time displayed by the time monitoring unit 2 shown in FIG. This transfer time is set in consideration of the processing time for transferring one unit of data and the time such as scheduling that should be executed immediately before that.

【0018】次に、ステップS2において、1回の転送
処理で転送処理すべき転送バイト数を決定する。この転
送バイト数は上記転送周期との関係で無制限にはできな
いが、ある程度の増減が認められる。なお、この転送バ
イト数は最小でもスケジューラーとネットワークとのイ
ンタフェースとして設けられたバッファメモリの最小転
送サイズ以上に設定する。即ち、このバイト数として
は、例えば4096バイトといった単位量に設定され
る。次のステップS3では、この決定に従ってデータを
転送し、ステップS4では転送したバイト数を考慮して
スケジューラーで保持されている転送待ちのデータにつ
いてプライオリティの計算を実行する。
Next, in step S2, the number of transfer bytes to be transferred in one transfer process is determined. The number of transfer bytes cannot be set indefinitely in relation to the transfer cycle, but some increase or decrease is allowed. The number of transfer bytes is set to at least the minimum transfer size of the buffer memory provided as an interface between the scheduler and the network. That is, the number of bytes is set to a unit amount such as 4096 bytes. In the next step S3, the data is transferred according to this determination, and in step S4, the priority of the data waiting for transfer held by the scheduler is calculated in consideration of the number of transferred bytes.

【0019】即ち、ステップS5において、まず同時刻
に競合して処理コマンドが受け付けられているかどうか
を判断する。もし、処理コマンドの受付に時間差があれ
ば、ステップS6に移る。そして、その時間差が最小転
送サイズの転送時間より短いかどうかを判断する。即
ち、処理コマンドの受付時間に1単位のデータ転送時間
から見て大差が無い場合、ステップS7に移り、プライ
オリティが高い方を先に転送するように処理する。ま
た、処理コマンドの受付時間差が比較的大きい場合には
ステップS8に移り、先にコマンドを受け付けた方を先
に処理するような設定を行う。一方、同時刻に受け付け
られた処理コマンドがあるような場合、ステップS5か
らステップS9に移り、先に説明した要領でプライオリ
ティビット20を生成する。そして、ステップS10に
おいて、各処理コマンドに対応するプライオリティビッ
トを比較する。そして、プライオリティビットの大きい
方、即ちプライオリティの高い方を先に転送するように
設定し、低い方を後に転送するように設定する(ステッ
プS11,S12)。以上のようにして、優先度の最も
高い再生処理や再送処理等を優先的に実行し、更にバッ
ファメモリのサイズに応じた転送レートを確保するプラ
イオリティを加味したスケジューリングの最適化が可能
になる。
That is, in step S5, it is first determined whether or not processing commands have been accepted in competition at the same time. If there is a time difference in receiving the processing command, the process proceeds to step S6. Then, it is determined whether or not the time difference is shorter than the transfer time of the minimum transfer size. That is, when there is no great difference in the reception time of the processing command from the data transfer time of one unit, the process proceeds to step S7, and the process with the higher priority is transferred first. When the difference between the reception times of the processing commands is relatively large, the process proceeds to step S8, and the setting is performed such that the one who received the command first is processed first. On the other hand, if there is a processing command accepted at the same time, the process proceeds from step S5 to step S9, and the priority bit 20 is generated in the manner described above. Then, in step S10, the priority bits corresponding to each processing command are compared. Then, the one with the higher priority bit, that is, the one with the higher priority is set to be transferred first, and the one with the lower priority bit is set to be transferred later (steps S11 and S12). As described above, it is possible to optimize the scheduling in which the reproduction process and the retransmission process having the highest priority are preferentially executed and the priority for ensuring the transfer rate according to the size of the buffer memory is added.

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

【図1】本発明のメディアサーバーのスケジューラーの
構成説明図である。
FIG. 1 is an explanatory diagram of a configuration of a scheduler of a media server of the present invention.

【図2】システム全体のブロック図である。FIG. 2 is a block diagram of the entire system.

【図3】データ転送動作の概念図である。FIG. 3 is a conceptual diagram of a data transfer operation.

【図4】スケジューラーの動作フローチャートである。FIG. 4 is an operation flowchart of a scheduler.

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

1 本体処理部 2 時間監視部 3 データ転送部 4 プライオリティ計算部 5 プレイヤー 20 プライオリティビット 1 Main processing unit 2 Time monitoring unit 3 Data transfer unit 4 Priority calculation unit 5 Player 20 Priority bit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 複数のプレイヤーからのデータ転送要求
を含む処理コマンドを受け付けて、そのデータを記憶媒
体から読み出して、リアルタイム性を必要とするデータ
転送と処理コマンドの実行スケジューリングを行うもの
であって、 前記各プレイヤーからの処理コマンドを受け付ける本体
処理部と、 前記処理コマンドに、その種類に応じたプライオリティ
を設定するとともに、 要求元のプレイヤーに設けられたバッファメモリの容量
が小さいほど高いプライオリティを設定して、前記処理
コマンドのプライオリティを補正したプライオリティを
決定するプライオリティ設定手段と、 複数の処理コマンド受付が競合したときは、いずれかプ
ライオリティの高いデータ転送要求から順に、データ転
送を実行するデータ転送部とを備えたことを特徴とする
メディアサーバーのスケジューラー。
1. A method for receiving a processing command including data transfer requests from a plurality of players, reading the data from a storage medium, and performing data transfer and execution scheduling of the processing command that require real-time processing. , A main body processing unit that receives a processing command from each player, and a priority corresponding to the type of the processing command is set, and a higher priority is set as the buffer memory provided in the requesting player is smaller. Then, when the priority setting means for determining the priority obtained by correcting the priority of the processing command and the reception of a plurality of processing commands compete with each other, the data transfer section for executing the data transfer in order from the data transfer request having the higher priority. With Scheduler of media servers that butterflies.
【請求項2】 前記プライオリティ設定手段は、 受け付けられた各処理コマンドに対応させて、1回分の
データ転送毎にそのプライオリティを表示するプライオ
リティビットを生成するとともに、 このプライオリティビットの表示に従ってデータ転送を
制御し、 前記プライオリティビットには、 上位側の各ビットにプライオリティの高い順に処理コマ
ンドを割り付け、下位側のビットに要求元のプレイヤー
のバッファメモリ容量に対する補数を割り付けているこ
とを特徴とする請求項1記載のメディアサーバーのスケ
ジューラー。
2. The priority setting means generates a priority bit indicating the priority for each data transfer for one time corresponding to each received processing command, and transfers the data in accordance with the display of the priority bit. Controlling the priority bit, a processing command is assigned to each upper bit in order of higher priority, and a complement to the buffer memory capacity of the requesting player is assigned to the lower bit. The scheduler of the media server described in 1.
JP7260858A 1995-09-13 1995-09-13 Scheduler of media server Pending JPH0981472A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7260858A JPH0981472A (en) 1995-09-13 1995-09-13 Scheduler of media server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7260858A JPH0981472A (en) 1995-09-13 1995-09-13 Scheduler of media server

Publications (1)

Publication Number Publication Date
JPH0981472A true JPH0981472A (en) 1997-03-28

Family

ID=17353738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7260858A Pending JPH0981472A (en) 1995-09-13 1995-09-13 Scheduler of media server

Country Status (1)

Country Link
JP (1) JPH0981472A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593408B2 (en) 1998-05-20 2009-09-22 Qualcomm Incorporated Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames
JP2011186231A (en) * 2010-03-09 2011-09-22 Canon Inc Image forming apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593408B2 (en) 1998-05-20 2009-09-22 Qualcomm Incorporated Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames
JP2011186231A (en) * 2010-03-09 2011-09-22 Canon Inc Image forming apparatus

Similar Documents

Publication Publication Date Title
US8046811B2 (en) Scheduled retrieval, storage and access of media data
EP0901249B1 (en) Method of distributed editing of video clips over a network
JP3617089B2 (en) Video storage / delivery device and video storage / delivery system
KR100228937B1 (en) Video optimized media streamer user interface
JP2000048001A (en) Real time shared disk system for computer cluster
JPH0773121A (en) Method and apparatus for provision of file
JPH10162507A (en) Video server scheduling for simultaneous read-write request
JP4703074B2 (en) Apparatus and method for switching context in an electronic network
JP4992568B2 (en) Client device, data processing method and program thereof
JPH09130749A (en) Decoding system for dynamic image data
JPH0981472A (en) Scheduler of media server
JP2003209823A (en) Stream transmission/reception system, and stream transmission/reception method
JPH07107425A (en) Video server
JP2000358232A (en) Vod system
US20030187652A1 (en) Content recognition system for indexing occurrences of objects within an audio/video data stream to generate an index database corresponding to the content data stream
JP2002077857A (en) Apparatus for sending multimedia data
JP2003208398A (en) Data input/output device, data input/output method, program and medium
JPH08228323A (en) Multi-media scenario reproducing device
JP4025533B2 (en) Stream video reception control method, stream video distribution system, and stream video reception device
JP3144520B2 (en) Multimedia information provision system
JPH09200702A (en) Vod server system
CN101247518A (en) Real time reproduction method of file being received according to non real time transfer protocol and a video apparatus thereof
JPH07288800A (en) Multimedia system
JPH10275418A (en) Multimedia server, multimedia on-demand system and multimedia information distribution method
JPH088856A (en) Data receiver

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050816

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060110