JP2000148639A - Data transmission control method and recording medium with data transmission control program recorded therein - Google Patents

Data transmission control method and recording medium with data transmission control program recorded therein

Info

Publication number
JP2000148639A
JP2000148639A JP10317063A JP31706398A JP2000148639A JP 2000148639 A JP2000148639 A JP 2000148639A JP 10317063 A JP10317063 A JP 10317063A JP 31706398 A JP31706398 A JP 31706398A JP 2000148639 A JP2000148639 A JP 2000148639A
Authority
JP
Japan
Prior art keywords
time
data
data transmission
storage device
transmission control
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
JP10317063A
Other languages
Japanese (ja)
Inventor
Hiroyuki Kimiyama
博之 君山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP10317063A priority Critical patent/JP2000148639A/en
Publication of JP2000148639A publication Critical patent/JP2000148639A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To maintain a prescribed transfer rate, and to effectively use limited computer resources by properly controlling the timing of the reading of transmission data from a disk and the transmission of data to a network in a system for transmitting video data or the like to plural terminals. SOLUTION: A time T1 required for the reading of data from an auxiliary storage device is measured every time, when data are read from the auxiliary storage device, and a time T4 required for pausing a process is calculated, based on the measured time T1 or based on the time T1 and the time T3 required for the transmission of data which is measured at data transmission. During the calculated process pausing time T4, the process is turned into a paused state, and when the process returns to active state after the lapse of the pausing time T4, the transmission of data is conducted, and the process is turned into a paused state again.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は,データ送信制御方
法およびデータ送信制御プログラムを記録した記録媒体
に関し,特に,決まった速度で磁気ディスクなどの補助
記憶装置のメディアからデータを読み出し,そのデータ
をネットワーク上に送信するための技術であって,速い
速度でかつ複数の映像を同時に送信するビデオサーバな
どに利用されるものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transmission control method and a recording medium on which a data transmission control program is recorded, and more particularly, to reading data from a medium of an auxiliary storage device such as a magnetic disk at a fixed speed, and reading the data. A technology for transmitting data over a network, which is used for a video server or the like that transmits a plurality of videos at a high speed at the same time.

【0002】[0002]

【従来の技術】従来のビデオサーバで行われる処理は,
映像が格納された磁気ディスクからデータを読み出す処
理と,そのデータをネットワークに送信する処理の2つ
に分けることができる。ディスクからの読み出し方式の
代表的なものとして,タイムスロット方式がある。
2. Description of the Related Art The processing performed by a conventional video server is as follows.
The process can be divided into two processes: a process of reading data from a magnetic disk in which a video is stored, and a process of transmitting the data to a network. A typical method of reading data from a disk is a time slot method.

【0003】図5は,従来のタイムスロット方式の説明
図である。この方式では,図5のように決まった時間を
均等に分割してタイムスロットを作り,タイムスロット
を映像データを送信するクライアント毎に割り当て,時
分割によってディスクからの読み出しを行い,共有メモ
リ上にバッファリングする。通信用のマイクロプロセッ
サは,共有メモリ上のデータを読み出された順に,ネッ
トワーク上に送信する。
FIG. 5 is an explanatory diagram of a conventional time slot system. In this method, a time slot is created by equally dividing a fixed time as shown in FIG. 5, a time slot is assigned to each client that transmits video data, read from a disk by time sharing, and stored in a shared memory. To buffer. The communication microprocessor transmits the data on the shared memory to the network in the order in which the data was read.

【0004】[0004]

【発明が解決しようとする課題】従来のタイムスロット
を用いた方法では,1つのプロセス(タスク)で実装可
能である反面,使用するディスクやディスクインタフェ
ース,制御するためのCPU,メモリの性能に合わせ
て,タイムスロットの長さもしくは数を決めるためのチ
ューニングの作業が必要であった。そのため,同じソフ
トウェアを,様々な機種の汎用のパーソナルコンピュー
タやワークステーションで動作させるのは困難であっ
た。
The conventional method using a time slot can be implemented by one process (task). However, it can be adjusted according to the performance of a disk to be used, a disk interface, a controlling CPU, and a memory. Therefore, tuning work was required to determine the length or number of time slots. Therefore, it was difficult to operate the same software on various types of general-purpose personal computers and workstations.

【0005】本発明の目的は,どのようなパーソナルコ
ンピュータやワークステーションでも,ある程度の性能
さえ備えていれば,ビデオサーバとして動作させること
を可能にするための,ディスクからの読み出しと読み出
したデータの送信技術を提供することにある。
It is an object of the present invention to read out data from a disk and to read out the read data so that any personal computer or workstation can operate as a video server if it has a certain level of performance. To provide transmission technology.

【0006】[0006]

【課題を解決するための手段】本発明は,上記課題の解
決を図り,VOD(Video on Demand )のような送信側
が主体になって動作するシステムにおいて,ディスクな
どの補助記憶装置からの送信データの読み出しとネット
ワークへのデータの送信のタイミングを適切にコントロ
ールすることにより,所定の転送レートを維持しつつ,
限られた計算機資源を有効に利用できるようにするもの
である。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and in a system such as a VOD (Video on Demand) operated mainly by a transmission side, a transmission data from an auxiliary storage device such as a disk. By properly controlling the timing of reading data and transmitting data to the network, while maintaining a predetermined transfer rate,
It is intended to make effective use of limited computer resources.

【0007】そのため,本発明は,補助記憶装置からの
データの読み出しにかかる時間を,その補助記憶装置か
らデータを読み出す毎に計測し,その計測された時間を
もとにプロセスを休止する時間を算出する。算出したプ
ロセス休止時間の間,プロセスを休止状態にし,その休
止時間経過後プロセスが活性に戻ったときに,データの
ネットワークへの送信を行い,再びそのプロセスを休止
状態にする。ここで,さらにデータ送信時にデータ送信
にかかる時間を記録し,プロセスを休止する時間を,デ
ータ送信にかかる時間と補助記憶装置からのデータの読
み出しにかかる時間から算出してもよい。
Therefore, the present invention measures the time required to read data from the auxiliary storage device every time data is read from the auxiliary storage device, and determines the time to suspend the process based on the measured time. calculate. The process is put into a sleep state during the calculated process pause time, and when the process returns to the active state after the lapse of the pause time, data is transmitted to the network and the process is put into the sleep state again. Here, the time required for data transmission at the time of data transmission may be further recorded, and the time for suspending the process may be calculated from the time required for data transmission and the time required for reading data from the auxiliary storage device.

【0008】ネットワークへの送信を行う代わりに,ネ
ットワークへの送信を行うデータを格納するメモリへの
書き込みを行い,ネットワークへのデータの送信は,他
のプロセッサがメモリから読み出して行うようにするこ
ともできる。
[0008] Instead of performing transmission to the network, writing to a memory for storing data to be transmitted to the network is performed, and transmission of data to the network is performed by another processor reading from the memory. Can also.

【0009】具体的には,本発明では,例えば以下のよ
うに処理する。まず,クライアント単位にプロセスを起
動する。各プロセスでは,決まった長さ(T0秒)分の
映像データをディスクから一度に読み出す。その際に,
読み出しにかかる時間を計測する(T1秒)。そして,
T0からT1を差し引き,データの送信に利用可能な時
間T2を計算する。同様にT0秒分の映像データ送信に
かかった時間T3を計測する。そして,T2からT3を
差し引き,その値をT3とT1の和で割ることによって
分割数Nを求める。
Specifically, in the present invention, for example, the following processing is performed. First, a process is started for each client. In each process, video data of a predetermined length (T0 seconds) is read from the disk at a time. At that time,
The time required for reading is measured (T1 second). And
The time T2 available for data transmission is calculated by subtracting T1 from T0. Similarly, the time T3 required for transmitting the video data for T0 seconds is measured. Then, T3 is subtracted from T2, and the value is divided by the sum of T3 and T1 to obtain the number of divisions N.

【0010】オペレーティングシステム(OS)に実装
されているタイマを,T1+T3時間にセットし,その
プロセスを一旦休止させる。T1+T3時間後にそのプ
ロセスはOSから起動され,映像データを分割数Nで割
った分だけを送信し,再び,タイマをセットしプロセス
を休止させる。読み出した映像データがなくなるまで,
送信とタイマセット,休止のプロセスを繰り返す。読み
出した映像データがなくなったら,ディスクからの読み
出しから再度実行する。
A timer mounted on an operating system (OS) is set to a time T1 + T3, and the process is temporarily stopped. After the time T1 + T3, the process is started by the OS, transmits only the data obtained by dividing the video data by the division number N, sets the timer again, and suspends the process. Until the read video data runs out,
Repeat the process of transmission, timer setting, and pause. When there is no more video data read, the process is executed again from reading from the disk.

【0011】このようにディスクからの読み出し時間と
データ送信にかかる時間を常に計測することによって,
事前のチューニングが不要となる。また,計算された分
割数N+1がそのパーソナルコンピュータあるいはワー
クステーションによって送信することのできるクライア
ントの最大数となるため,アドミッションコントロール
も可能である。加えて,自分のプロセスを休止させるこ
とによって,他のクライアントに対するデータの読み出
し,送信処理を実行させることが可能となり,複数のク
ライアントにデータを送信することが可能となる。
By constantly measuring the time required to read data from the disk and the time required to transmit data,
No prior tuning is required. Also, since the calculated number of divisions N + 1 is the maximum number of clients that can be transmitted by the personal computer or workstation, admission control is also possible. In addition, by suspending its own process, it becomes possible to execute data reading and transmission processing for another client, and it is possible to transmit data to a plurality of clients.

【0012】なお,ディスク読み出し用と送信処理用の
プロセッサとが別のプロセッサで構成されるシステムに
おいては,データ送信にかかる時間T3を,ディスク読
み出し用プロセッサと送信処理用プロセッサとの共有メ
モリにデータを書き込む時間とする。
In a system in which a disk reading processor and a transmission processing processor are composed of different processors, the time T3 required for data transmission is stored in a shared memory between the disk reading processor and the transmission processing processor. Is the writing time.

【0013】以上の処理において,時間T3が時間T1
に比べて非常に小さいときには,時間T3を計測する代
わりに,時間T3を0に近い所定値または0としてプロ
セス休止時間を算出してもよい。
In the above processing, time T3 is equal to time T1.
When the time T3 is very small as compared with the time T3, the process pause time may be calculated by setting the time T3 to a predetermined value close to 0 or 0 instead of measuring the time T3.

【0014】本発明を用いることによって,汎用のパー
ソナルコンピュータやワークステーションを何のチュー
ニングもなしに,ビデオサーバとして用いることが可能
である。
By using the present invention, a general-purpose personal computer or workstation can be used as a video server without any tuning.

【0015】以上の処理を,計算機に実行させるための
プログラムは,計算機が読み取り可能な可搬媒体メモ
リ,半導体メモリ,ハードディスクなどの適当な記録媒
体に格納することができる。
A program for causing a computer to execute the above processing can be stored in an appropriate recording medium such as a portable medium memory, a semiconductor memory, and a hard disk which can be read by the computer.

【0016】[0016]

【発明の実施の形態】本発明の実施の形態として,本発
明をビデオサーバに適用した例を説明する。図1は,本
発明の一実施形態に係るビデオサーバの処理フローチャ
ート,図2は,そのビデオサーバのシステムの例を示す
図である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS As an embodiment of the present invention, an example in which the present invention is applied to a video server will be described. FIG. 1 is a processing flowchart of a video server according to an embodiment of the present invention, and FIG. 2 is a diagram illustrating an example of a system of the video server.

【0017】図2において,データ送信装置1は,CP
Uおよびメモリなどを備えたパーソナルコンピュータや
ワークステーションによるビデオサーバであって,マル
チプロセス(タスク)をサポートするオペレーティング
システムを搭載する。ディスク記憶装置2(以下,ディ
スクという)は,配信する映像データを格納している補
助記憶装置である。映像データの配信を受けるクライア
ント端末4−1〜4−n(以下,クライアントという)
は,ネットワーク3を介してデータ送信装置1に接続さ
れる。
In FIG. 2, a data transmitting device 1
A video server based on a personal computer or a workstation including a U and a memory, and has an operating system that supports multi-processes (tasks). The disk storage device 2 (hereinafter, referred to as a disk) is an auxiliary storage device that stores video data to be distributed. Client terminals 4-1 to 4-n receiving distribution of video data (hereinafter, referred to as clients)
Are connected to the data transmission device 1 via the network 3.

【0018】データ送信装置1は,次のように動作す
る。まず,プログラム(第1のプロセスP1)が起動す
ると,クライアントからの接続要求待ち状態になる。ク
ライアントからの接続要求があるとクライアントと接続
し,さらに接続可能かどうかの判定を行い,接続可能な
ら新たに別のプロセス(プロセスP2)を作り,次のク
ライアントからの接続に備える。また,自分が何番目に
立ち上がったプロセスか(プロセス通番)を記録してお
く(段階1)。
The data transmission device 1 operates as follows. First, when the program (the first process P1) is started, it enters a state of waiting for a connection request from a client. When there is a connection request from the client, the client is connected to the client, and it is determined whether or not the connection is possible. If the connection is possible, another process (process P2) is newly created to prepare for the connection from the next client. In addition, the number of the process in which the user has started (process serial number) is recorded (step 1).

【0019】クライアントと接続したプロセスは,クラ
イアントから要求された映像データのうちT0秒分をデ
ィスクから読み出し,読み出し処理にかかった時間T1
を記録しておく(段階2)。
The process connected to the client reads out T0 seconds of the video data requested by the client from the disk, and reads the time T1 required for the reading process.
Is recorded (step 2).

【0020】次に,T0からT1を差し引いて送信に使
用することが可能な時間T2を求める。そして,前回の
送信処理にかかった時間T3とT1の和を求め,T2か
らT3を差し引いた値を,T1とT3の和で割り,分割
数Nを求める(段階3)。
Next, a time T2 that can be used for transmission is obtained by subtracting T1 from T0. Then, the sum of the time T3 and T1 required for the previous transmission processing is obtained, and the value obtained by subtracting T3 from T2 is divided by the sum of T1 and T3 to obtain the number of divisions N (step 3).

【0021】そして,分割数Nを段階1で生成したプロ
セスP2に対して通知する。分割数Nの通知を受け取る
ことによって,自分が何番目のプロセスか段階1で知っ
ているので,クライアントからの接続要求を受けたとき
に,また別の新たなクライアントに対する接続が可能で
あるかどうかを判定することができる。自分のプロセス
を含めた全生成プロセス数が分割数Nに1を加えた値を
越えた場合には,新規にプロセスを作らずに,新しいク
ライアントからの接続を受け付けないようにする。T3
の値は,最初の送信時には計測されていないが,経験的
に求めたデフォルトの値を使用したり,前回,プログラ
ムを実行させたときの値を使用することが可能である。
Then, the number of divisions N is notified to the process P2 generated in step 1. By receiving the notification of the number of divisions N, it knows what process it is in step 1, so that when a connection request is received from a client, it is possible to connect to another new client. Can be determined. If the total number of processes including its own process exceeds a value obtained by adding 1 to the number of divisions N, a new process is not created and connection from a new client is not accepted. T3
Is not measured at the time of the first transmission, but it is possible to use a default value empirically obtained or to use a value obtained when the program was executed last time.

【0022】次に,タイマの値T4を計算する(段階
4)。T4は,単純にT1とT3の和で求めることがで
きる。T4時間のタイマをセットして,このプロセスは
自らを休止(サスペンド)状態に変え,他のプロセスの
ためにCPUリソースを解放する(段階5)。
Next, a timer value T4 is calculated (step 4). T4 can be obtained simply by the sum of T1 and T3. With the timer set for T4, the process changes itself to a suspended state and releases CPU resources for other processes (step 5).

【0023】T4時間後にタイマによって,このプロセ
スは実行状態になり,データの送信を開始する。この時
に送信するデータ量は,読み出したデータ量をNで割っ
た値だけである。そして,同時に送信にかかった時間を
計測し,その値をN倍することによって,次に使用する
T3を求める。そして,再びT4時間のタイマをセット
し,自らをサスペンド状態にしてCPUリソースを解放
する(段階6)。
After a time T4, the timer causes the process to be in an execution state and starts transmitting data. The amount of data transmitted at this time is only a value obtained by dividing the read data amount by N. At the same time, the time required for transmission is measured, and the value is multiplied by N to obtain T3 to be used next. Then, the timer for the time T4 is set again, and the self-suspended state is set to release the CPU resources (step 6).

【0024】段階5と段階6とをN回繰り返したなら
ば,再度,ディスクからのデータの読み出し処理を行
い,すべてのデータを送信し終わるまで,段階2〜段階
6の処理を同様に繰り返す。
After Steps 5 and 6 are repeated N times, the process of reading data from the disk is performed again, and the processes of Steps 2 to 6 are similarly repeated until all data has been transmitted.

【0025】次に,別なクライアントから要求があった
場合のスケジューリングについて説明する。図3に,3
つのクライアントが接続された場合の3つのプロセスの
状態の時間変化の一例を示す。横軸が経過時間で,太線
の部分がプロセスがアクティブ(実行中)状態であるこ
とを示し,細線の部分がプロセスがサスペンド(休止)
状態であることを示している。
Next, a description will be given of scheduling when a request is made from another client. In FIG.
7 shows an example of a change over time in the states of three processes when one client is connected. The horizontal axis indicates elapsed time, the thick line indicates that the process is active (running), and the thin line indicates that the process is suspended (paused).
It is in the state.

【0026】まず,時間S1において,プロセスP1
は,クライアントC1に対してデータを送信するため
に,ディスクからのデータの読み出しを行う。このディ
スクからの読み出しを行っている最中の時間において,
別なクライアント(クライアントC2)からの接続要求
が到着したとすると,プロセスP1は,図1の段階2〜
段階5を実行し,時間S2でサスペンド状態になる。こ
の例では,プロセスP1が計算した分割数Nは2となっ
たとする。この場合,N+1=3であるので,最大3ク
ライアントを接続することが可能である。
First, at time S1, process P1
Reads data from the disk in order to transmit data to the client C1. During the time when reading from this disk,
Assuming that a connection request from another client (client C2) has arrived, the process P1 performs steps 2 to 3 in FIG.
Step 5 is executed, and a suspend state is set at time S2. In this example, it is assumed that the number of divisions N calculated by the process P1 is 2. In this case, since N + 1 = 3, a maximum of three clients can be connected.

【0027】プロセスP2(すでに,クライアントC1
の接続時に起動されている)は,プロセスP1がサスペ
ンドされたため,時間S2でアクティブになり,クライ
アントC2からの接続を受け付け,次の要求に対する準
備のため,もう一つ別のプロセスP3を作成する。そし
て,ディスクからの読み出しを行い,スケジューリング
を決定し,時間S3でサスペンド状態になる。
Process P2 (already the client C1
Becomes active at time S2 because the process P1 is suspended, accepts a connection from the client C2, and creates another process P3 in preparation for the next request. . Then, reading from the disk is performed, scheduling is determined, and the system enters the suspend state at time S3.

【0028】時間S2から,前述したタイマ時間T4を
経過した時間S4になると,プロセスP1がOSから起
動されてアクティブになり,プロセスP1は送信処理を
行い,再び,サスペンド状態になる。
At time S4 after the timer time T4 elapses from time S2, the process P1 is activated by the OS and becomes active, the process P1 performs transmission processing, and enters the suspend state again.

【0029】次に,時間S5にクライアントC3からの
接続要求が到着したとすると,時間S5ではアクティブ
になっているプロセスがないので,プロセスP3がすぐ
にアクティブになる。プロセスP3は自分が3番目のプ
ロセスであり,分割数N=2であることを,プロセスP
2から渡されていたので,次のプロセス生成は行わな
い。プロセスP2と同様にディスクからの読み出しを行
い,スケジューリングを行い,自プロセスをサスペンド
状態に変更する。
Next, assuming that a connection request from the client C3 arrives at the time S5, there is no process active at the time S5, and the process P3 immediately becomes active. The process P3 is the third process, and the process P3 indicates that the number of divisions N = 2.
2, the next process is not created. As in the process P2, reading from the disk is performed, scheduling is performed, and the own process is changed to a suspended state.

【0030】もし,この処理の最中にプロセスP2のタ
イマが時間S6で満了した場合,つまり,データを送信
すべき時間にCPUリソースの割り当てを受けられない
場合には,プロセスP3がサスペンドされる時間S7ま
でプロセスP2が待たされ,時間S7からクライアント
C2へのデータの送信が開始される。このプロセスの競
合による遅延は,端末側にバッファを設けておくことに
よって解決することが可能である。プロセスP1も同様
に遅延させられ,時間S7以降,スケジュール全体が後
ろにシフトした状態になる。さらに,時間S8以降は,
あたかも,ラウンドロビンでプロセスが切り替わるよう
な状態になる。
If the timer of the process P2 expires at time S6 during this process, that is, if the CPU resource cannot be allocated at the time when data is to be transmitted, the process P3 is suspended. The process P2 waits until time S7, and transmission of data to the client C2 starts from time S7. The delay due to this process conflict can be solved by providing a buffer on the terminal side. The process P1 is similarly delayed, and after time S7, the entire schedule is shifted backward. Further, after time S8,
It is as if the processes are switched in round robin.

【0031】図3の例では,すべての処理中にプロセス
の切り替えが起こらないことを前提としているが,この
前提は,OSで用意されているセマフォなどの排他制御
の機能を使うことによって,容易に実現が可能である。
In the example of FIG. 3, it is assumed that process switching does not occur during all processes. This assumption is easily achieved by using an exclusive control function such as a semaphore provided by the OS. It is possible to realize it.

【0032】また,送信プロトコルとして,例えばUD
P/IPのような処理時間の短いプロトコルを使用した
場合,送信処理にかかる時間は,ディスクからの読み出
しの処理にかかる時間に比べて極めて小さいため,時間
T1のみを使用して分割数Nの値を決定することができ
る。
As a transmission protocol, for example, UD
When a protocol with a short processing time such as P / IP is used, the time required for the transmission processing is extremely shorter than the time required for the processing for reading from the disk. The value can be determined.

【0033】従来,スケジュールの切り替えタイミング
は,データ転送の速度から必要時間を予め測定・計算
し,固定的に決めていたのに対し,本実施の形態では,
スケジュールを適切にすることで,CPUの空き時間に
他の仕事をさせることができるように,動的にタイミン
グ値が設定される。また,本実施の形態では,「あと何
台のクライアント端末へデータ送信可能か」の値を,デ
ィスクからデータを読み出す時間と,データ転送にかか
る時間の2つの値から計算して,その計算結果から「分
割数N」(ディスクから読み出したデータを何回に分け
て送信するかの数)を定め,「N+1」を同時にデータ
送信が可能なクライアント端末数になるようにする。
Conventionally, the schedule switching timing has been fixedly determined by measuring and calculating the required time in advance from the data transfer speed, and in the present embodiment,
By appropriately setting the schedule, the timing value is dynamically set so that other work can be performed during the idle time of the CPU. Further, in the present embodiment, the value of “how many more client terminals can be sent data” is calculated from two values, ie, the time for reading data from the disk and the time for data transfer, and the calculation result , The number of divisions N (the number of times data read from the disk is divided and transmitted) is determined, and "N + 1" is set to the number of client terminals capable of simultaneously transmitting data.

【0034】こうすることにより,以下のメリットがあ
る。 (a) ディスクから一度に読み出す映像データの長さT0
を,ある程度大きな値に保つことで,ディスクからの読
み出しによるオーバヘッドを削減することができる。 (b) CPUのリソースを無駄なく活用することができ
る。 (c) ディスクからのデータの読み出しおよびネットワー
クへのデータの転送速度が変化しても,一般に上限速度
と下限速度が一定の範囲に収まっているので,転送用の
バッファ量も一定の容量のものを準備すれば足りる。 (d) また,クライアント端末からデータ送信装置へ,端
末側のバッファの空き/満杯の通知が不要になる。
This has the following advantages. (a) Length T0 of video data read at a time from disk
Is maintained at a relatively large value, it is possible to reduce the overhead due to reading from the disk. (b) CPU resources can be utilized without waste. (c) Even if the data read speed from the disk and the data transfer speed to the network change, the upper limit speed and the lower limit speed are generally within a certain range, so that the transfer buffer size is also fixed. It is enough to prepare (d) Further, it is not necessary for the client terminal to notify the data transmitting device of the free / full state of the buffer on the terminal side.

【0035】本実施の形態で説明したように分割数Nを
定めることにより,N+1台のクライアント端末へ同時
にデータ送信を行うことができる理由を説明する。
The reason why data transmission can be simultaneously performed to N + 1 client terminals by determining the number of divisions N as described in the present embodiment will be described.

【0036】T0:ディスクから一度に読み出す映像デ
ータの長さ(再生時間) T1:ディスクからのT0秒分の映像データの読み出し
にかかった時間 T2:T0秒分の映像データの送信に利用可能な時間 T3:T0秒分の映像データの送信にかかった時間 T4:プロセスを休止する時間 分割数Nは,本実施の形態では,次式によって定める。
T0: Length of video data to be read from the disk at one time (reproduction time) T1: Time required to read T0 seconds of video data from the disk T2: Available for transmission of T0 seconds of video data Time T3: Time required for transmitting video data for T0 seconds T4: Time during which the process is paused In the present embodiment, the number of divisions N is determined by the following equation.

【0037】 N=(T2−T3)÷(T1+T3) ={(T0−T1)−T3}÷(T1+T3) ……〔式1〕 N+1台のクライアント端末へ,それぞれ長さT0秒分
のデータを送信するための全処理時間をTtotal とする
と,Ttotal は, Ttotal =(N+1)×(T1+T3) である。これに上記〔式1〕を代入すると, Ttotal =[{(T0−T1)−T3}÷(T1+T3)+1] ×(T1+T3) ={(T0−T1)−T3}+(T1+T3) =T0 すなわち,全処理時間Ttotal は,ディスクから一度に
読み出す映像データの長さT0に等しい。換言すれば,
N+1台のクライアント端末へそれぞれT0秒分の映像
データを,時間T0以内に送ることが可能である。も
し,分割数N+1より多くのクライアント端末にデータ
を送る場合には,クライアント端末側での映像の再生に
途切れが生じ,支障が生じることになる。また,同時送
信可能なクライアント端末数を分割数N+1より少ない
値に定めると,CPUリソースに無駄が生じることにな
る。本実施の形態によれば,このような支障が生じるこ
とはなく,またCPUリソースの有効な利用も可能にな
る。なお,分割数Nの計算において,N=(T2−T
3)÷(T1+T3)の値に端数が生じる場合には,端
数を切り捨てるのがよい。
N = (T2−T3) ÷ (T1 + T3) = {(T0−T1) −T3} (T1 + T3) (Equation 1) Data of length T0 seconds is transmitted to N + 1 client terminals. Assuming that the total processing time for transmission is T total , T total is T total = (N + 1) × (T1 + T3). By substituting the above [Equation 1] into this, T total = [{(T0−T1) −T3} (T1 + T3) +1] × (T1 + T3) = {(T0−T1) −T3} + (T1 + T3) = T0 That is, the total processing time T total is equal to the length T 0 of the video data read at one time from the disk. In other words,
It is possible to transmit video data for T0 seconds to each of the N + 1 client terminals within the time T0. If data is sent to more client terminals than the division number N + 1, the reproduction of video on the client terminal side will be interrupted, causing a problem. Further, if the number of client terminals capable of simultaneous transmission is set to a value smaller than the number of divisions N + 1, CPU resources will be wasted. According to the present embodiment, such a problem does not occur, and effective use of CPU resources becomes possible. In the calculation of the number of divisions N, N = (T2-T
3) When a fraction occurs in the value of ÷ (T1 + T3), the fraction should be truncated.

【0038】プロセスを休止する時間T4の導出につい
て説明する。T4は,ディスクから一度に読み出す映像
データの長さT0から,それを読み出して送るための処
理を実行するのに必要な時間(T1+T3)を差し引
き,それをT0の分割数Nで割った値である。したがっ
て, T4={T0−(T1+T3)}÷N ={T0−(T1+T3)}÷{(T2−T3)÷(T1+T3)} =(T0−T1−T3)×(T1+T3)÷(T2−T3) =(T0−T1−T3)×(T1+T3)÷(T0−T1−T3) =T1+T3 これから,プロセスを休止する時間T4は,T1+T3
の時間とすればよいこがわかる。
The derivation of the time T4 for pausing the process will be described. T4 is a value obtained by subtracting the time (T1 + T3) required to execute the processing for reading and sending the video data from the length T0 of the video data read at one time from the disk, and dividing the result by the division number N of T0. is there. Therefore, T4 = {T0- (T1 + T3)} N = {T0- (T1 + T3)} (T2-T3)} (T1 + T3)} = (T0-T1-T3) * (T1 + T3)} (T2-T3) ) = (T0−T1−T3) × (T1 + T3) ÷ (T0−T1−T3) = T1 + T3 From this, the time T4 during which the process is suspended is T1 + T3.
It can be understood that it should be the time of.

【0039】以上の例では,通信用のマイクロプロセッ
サとディスク読み出し用のマイクロプロセッサが同一の
場合について述べた。図4に,他のシステムの構成例と
して,ディスク読み出し用プロセッサと送信処理用プロ
セッサとが別になった構成のデータ送信装置の一例を示
す。図4のデータ送信装置10は,ディスク読み出し用
プロセッサ11と,これとは別の送信処理用プロセッサ
13と,これらから共通にアクセス可能な共有メモリ1
2と,これらを接続するバス14とを持つ。
In the above example, the case where the microprocessor for communication and the microprocessor for reading the disk are the same has been described. FIG. 4 shows an example of a data transmission apparatus having a configuration in which a disk reading processor and a transmission processing processor are separated as another configuration example of the system. 4 includes a disk reading processor 11, a separate transmission processing processor 13, and a shared memory 1 commonly accessible from these processors.
2 and a bus 14 for connecting these.

【0040】この構成の場合には,ディスク読み出し用
プロセッサ11でディスク記憶装置2から送信データを
読み出し,共有メモリ12に書き込む。送信処理用プロ
セッサ13は,データが共有メモリ12に書き込まれた
のを検出し,ネットワーク3を介して要求元のクライア
ントへの送信処理を行う。
In the case of this configuration, the transmission data is read from the disk storage device 2 by the disk reading processor 11 and written to the shared memory 12. The transmission processor 13 detects that data has been written to the shared memory 12 and performs transmission processing to the requesting client via the network 3.

【0041】したがって,ディスク読み出し用プロセッ
サ11に対して本発明によるデータ送信のためのプロセ
スのスケジューリングを適用した場合,ネットワーク3
に対する送信処理を直接行わないため,前記の段階6で
は,共有メモリ12にデータを書き込む処理のみを行
う。共有メモリ12に書き込む処理が必要とする処理時
間は,ディスク記憶装置2からの読み出し処理時間に比
べて極めて小さいため,時間T3を小さな値の固定値と
するか,T3を0として時間T1のみを使用し分割数N
の値を決定することができる。
Therefore, when the process scheduling for data transmission according to the present invention is applied to the disk reading processor 11, the network 3
In step 6, only the process of writing data to the shared memory 12 is performed. Since the processing time required for the processing of writing to the shared memory 12 is extremely shorter than the processing time of reading from the disk storage device 2, the time T3 is set to a small fixed value, or T3 is set to 0 and only the time T1 is set. Number of divisions used N
Can be determined.

【0042】[0042]

【発明の効果】本発明を用いることによって,性能の不
明なディスクやディスクインタフェース,マイクロプロ
セッサを搭載した汎用的なパーソナルコンピュータやワ
ークステーションを,事前のチューニングなしで,映像
データなどのデータ送信装置として使用することが可能
になる。
By using the present invention, a general-purpose personal computer or workstation equipped with a disk, disk interface, or microprocessor with unknown performance can be used as a data transmission device for video data without prior tuning. It can be used.

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

【図1】本発明の一実施形態の処理フローチャートであ
る。
FIG. 1 is a processing flowchart according to an embodiment of the present invention.

【図2】本発明が適用されるシステムの例を示す図であ
る。
FIG. 2 is a diagram showing an example of a system to which the present invention is applied.

【図3】本発明の一実施形態における3クライアント接
続時のプロセスの状態の時間変化の一例を示す図であ
る。
FIG. 3 is a diagram illustrating an example of a time change of a process state when three clients are connected according to an embodiment of the present invention.

【図4】本発明が適用される第2のシステムの例を示す
図である。
FIG. 4 is a diagram showing an example of a second system to which the present invention is applied.

【図5】従来のタイムスロット方式の説明図である。FIG. 5 is an explanatory diagram of a conventional time slot system.

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

1 データ送信装置 2 ディスク記憶装置 3 ネットワーク 4−1,…,4−n クライアント端末 11 ディスク読み出し用プロセッサ 12 共有メモリ 13 送信処理用プロセッサ 14 バス DESCRIPTION OF REFERENCE NUMERALS 1 data transmission device 2 disk storage device 3 network 4-1..., 4-n client terminal 11 disk reading processor 12 shared memory 13 transmission processing processor 14 bus

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B089 GA12 GA23 GB03 JA32 JA33 KA05 KC29 KE02 LB25 MA03 5C053 FA02 FA23 FA27 FA28 FA29 GB05 GB17 HA29 JA21 LA11 LA14 5C064 BA07 BB05 BC10 BC18 BD08 BD13 5K034 EE10 FF01 HH01 HH42 HH65 QQ04  ──────────────────────────────────────────────────続 き Continued on the front page F-term (reference)

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 補助記憶装置,ネットワークインタフェ
ースおよびマルチプロセスをサポートするオペレーティ
ングシステムを搭載した計算機システムを利用して,各
送信先に対応するプロセスにより前記補助記憶装置内の
データを読み出し,ネットワークに送信するデータ送信
制御方法において,前記補助記憶装置からのデータの読
み出しにかかる時間を,その補助記憶装置からデータを
読み出す毎に計測する段階と,前記計測された時間をも
とにプロセスを休止する時間を求める段階と,求めたプ
ロセス休止時間の間,プロセスを休止状態にする段階
と,その休止時間経過後プロセスが活性に戻ったとき
に,前記データについてネットワークへの送信を行い,
再びそのプロセスを休止状態にする段階とを有すること
を特徴とするデータ送信制御方法。
1. A method for reading data in an auxiliary storage device using a computer system equipped with an auxiliary storage device, a network interface, and an operating system that supports multi-process, by a process corresponding to each destination, and transmitting the data to a network. Measuring a time required to read data from the auxiliary storage device each time data is read from the auxiliary storage device, and a time period for suspending a process based on the measured time. Transmitting the data to the network when the process returns to the active state after the elapse of the pause time.
Putting the process back to a sleep state again.
【請求項2】 請求項1記載のデータ送信制御方法にお
いて,データ送信時にデータ送信にかかる時間を記録す
る段階を有し,前記プロセスを休止する時間を求める段
階では,前記データ送信にかかる時間と前記補助記憶装
置からのデータの読み出しにかかる時間からプロセスを
休止する時間を求めることを特徴とするデータ送信制御
方法。
2. The data transmission control method according to claim 1, further comprising the step of recording the time required for data transmission at the time of data transmission; A data transmission control method, wherein a time for suspending a process is obtained from a time required for reading data from the auxiliary storage device.
【請求項3】 請求項1または請求項2記載のデータ送
信制御方法において,前記ネットワークへの送信を行う
代わりに,ネットワークへの送信を行うデータを格納す
るメモリへの書き込みを行うことを特徴とするデータ送
信制御方法。
3. The data transmission control method according to claim 1, wherein writing to a memory for storing data to be transmitted to the network is performed instead of performing transmission to the network. Data transmission control method.
【請求項4】 補助記憶装置,ネットワークインタフェ
ースおよびマルチプロセスをサポートするオペレーティ
ングシステムを搭載した計算機システムにおいて各送信
先に対応するプロセスにより前記補助記憶装置内のデー
タを読み出し,ネットワークに送信するためのプログラ
ムを記録した記録媒体であって,前記補助記憶装置から
のデータの読み出しにかかる時間を,その補助記憶装置
からデータを読み出す毎に計測する処理と,前記計測さ
れた時間をもとにプロセスを休止する時間を求める処理
と,求めたプロセス休止時間の間,プロセスを休止状態
にする処理と,その休止時間経過後プロセスが活性に戻
ったときに,前記データについてネットワークへの送信
を行い,再びそのプロセスを休止状態にする処理とを,
計算機に実行させるプログラムを記録したことを特徴と
するデータ送信制御プログラムを記録した記録媒体。
4. A program for reading data in the auxiliary storage device by a process corresponding to each transmission destination in a computer system equipped with an auxiliary storage device, a network interface, and an operating system supporting multi-process, and transmitting the data to a network. A process of measuring the time required to read data from the auxiliary storage device each time data is read from the auxiliary storage device, and suspending the process based on the measured time. A process for determining the time to perform the process, a process for suspending the process during the determined process pause time, and transmitting the data to the network when the process returns to an active state after the lapse of the pause time. The process of suspending a process
A recording medium on which a data transmission control program is recorded, wherein a program to be executed by a computer is recorded.
【請求項5】 請求項4記載のデータ送信制御プログラ
ムを記録した記録媒体において,前記プログラムは,さ
らにデータ送信時にデータ送信にかかる時間を記録する
処理と,前記プロセスを休止する時間を求める処理で,
前記データ送信にかかる時間と前記補助記憶装置からの
データの読み出しにかかる時間からプロセスを休止する
時間を求める処理を,計算機に実行させるものであるこ
とを特徴とするデータ送信制御プログラムを記録した記
録媒体。
5. A recording medium on which the data transmission control program according to claim 4 is recorded, wherein the program further comprises a process for recording a time required for data transmission at the time of data transmission, and a process for obtaining a time for pausing the process. ,
Recording a data transmission control program for causing a computer to execute a process of obtaining a time period for suspending a process from a time period required for the data transmission and a time period required for reading data from the auxiliary storage device. Medium.
【請求項6】 請求項4または請求項5記載のデータ送
信制御プログラムを記録した記録媒体において,前記プ
ログラムは,前記ネットワークへの送信を行う代わり
に,ネットワークへの送信を行うデータを格納するメモ
リへの書き込みを行う処理を,計算機に実行させるもの
であることを特徴とするデータ送信制御プログラムを記
録した記録媒体。
6. A recording medium storing a data transmission control program according to claim 4 or 5, wherein said program stores data to be transmitted to a network instead of to said network. A recording medium storing a data transmission control program for causing a computer to execute a process of writing data to a computer.
JP10317063A 1998-11-09 1998-11-09 Data transmission control method and recording medium with data transmission control program recorded therein Pending JP2000148639A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10317063A JP2000148639A (en) 1998-11-09 1998-11-09 Data transmission control method and recording medium with data transmission control program recorded therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10317063A JP2000148639A (en) 1998-11-09 1998-11-09 Data transmission control method and recording medium with data transmission control program recorded therein

Publications (1)

Publication Number Publication Date
JP2000148639A true JP2000148639A (en) 2000-05-30

Family

ID=18084017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10317063A Pending JP2000148639A (en) 1998-11-09 1998-11-09 Data transmission control method and recording medium with data transmission control program recorded therein

Country Status (1)

Country Link
JP (1) JP2000148639A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008050447A1 (en) * 2006-10-27 2008-05-02 Pioneer Corporation Content reproducing device, content reproducing method, content reproducing program and recording medium
JP2010525738A (en) * 2007-04-26 2010-07-22 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Accurate delivery of frames for video on demand streaming
US8169345B2 (en) 2002-06-28 2012-05-01 Microsoft Corporation Methods and systems for processing digital data rate and directional playback changes
JP2016066914A (en) * 2014-09-25 2016-04-28 Kddi株式会社 Broadcast receiving device, portable terminal, remote viewing system, and remote viewing method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8169345B2 (en) 2002-06-28 2012-05-01 Microsoft Corporation Methods and systems for processing digital data rate and directional playback changes
US8705942B2 (en) 2002-06-28 2014-04-22 Microsoft Corporation Methods and systems for processing digital data rate and directional playback changes
WO2008050447A1 (en) * 2006-10-27 2008-05-02 Pioneer Corporation Content reproducing device, content reproducing method, content reproducing program and recording medium
JP2010525738A (en) * 2007-04-26 2010-07-22 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Accurate delivery of frames for video on demand streaming
JP2016066914A (en) * 2014-09-25 2016-04-28 Kddi株式会社 Broadcast receiving device, portable terminal, remote viewing system, and remote viewing method

Similar Documents

Publication Publication Date Title
US5875329A (en) Intelligent batching of distributed messages
US5528513A (en) Scheduling and admission control policy for a continuous media server
US20030055969A1 (en) System and method for performing power management on a distributed system
Ramakrishnan et al. Operating system support for a video-on-demand file service
JPH10207822A (en) Interruption processing method for high speed i/o controller
KR20070030285A (en) Apparatus and method for supporting memory management in an offload of network protocol processing
US20140068165A1 (en) Splitting a real-time thread between the user and kernel space
Ramakrishnan et al. Operating system support for a video-on-demand file service
US10318362B2 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
JP2007500392A (en) Flexible power reduction for internal components
JP2000148639A (en) Data transmission control method and recording medium with data transmission control program recorded therein
WO2024060706A1 (en) Data transmission method and apparatus, electronic device, and computer-readable storage medium
JPH11191883A (en) Distribution system, client, method and medium
Shen et al. User Level Scheduling of Communicating Real-Time Tasks.
WO2023144878A1 (en) Intra-server delay control device, intra-server delay control method, and program
US7320044B1 (en) System, method, and computer program product for interrupt scheduling in processing communication
US20120096245A1 (en) Computing device, parallel computer system, and method of controlling computer device
WO2023218596A1 (en) Intra-server delay control device, intra-server delay control method, and program
WO2023144958A1 (en) Intra-server delay control device, intra-server delay control method, and program
WO2023105578A1 (en) Server internal data transfer device, server internal data transfer method, and program
WO2024082985A1 (en) Unloading card provided with accelerator
WO2023002547A1 (en) Server internal data transfer device, server internal data transfer method, and program
JP3416498B2 (en) Server device, control method therefor, and recording medium storing server device control program
JP2004348233A (en) File sharing system, server, and program
JPH0877029A (en) Processing request execution order control system based upon load rate