JP2006065844A - File system - Google Patents

File system Download PDF

Info

Publication number
JP2006065844A
JP2006065844A JP2005208804A JP2005208804A JP2006065844A JP 2006065844 A JP2006065844 A JP 2006065844A JP 2005208804 A JP2005208804 A JP 2005208804A JP 2005208804 A JP2005208804 A JP 2005208804A JP 2006065844 A JP2006065844 A JP 2006065844A
Authority
JP
Japan
Prior art keywords
execution
execution right
unit
tofs
time
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.)
Withdrawn
Application number
JP2005208804A
Other languages
Japanese (ja)
Inventor
Yukiko Ito
由起子 伊藤
Tsutomu Tanaka
田中  勉
Shinzo Doi
晋三 土居
Takeshi Kokado
健 古門
Tomoyuki Karibe
朋幸 苅部
Masaro Tamai
昌朗 玉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005208804A priority Critical patent/JP2006065844A/en
Publication of JP2006065844A publication Critical patent/JP2006065844A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a file system capable of supporting a user who requests various reproduction speeds by improving the use efficiency of a video server and providing an image in a short response time to a request from the user. <P>SOLUTION: When a get resource message is arrived from the outside, a resource assignment part 102 performs reservation of a resource. At the time of reading and writing data, a parameter is checked in an application value management part 111, and assignment of resources is performed in a slot assignment part 103, whereby an efficient file system ensuring a delay quality for reading of data is constructed. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ファイルシステムに関し、より特定的には、リアルタイム性が要求される映像、音声、動画といったマルチメディアデータの読み書きを扱うファイルシステムに関する。   The present invention relates to a file system, and more particularly to a file system that handles reading and writing of multimedia data such as video, audio, and moving images that require real-time performance.

従来のコンピュータで用いられているファイルシステムは、主としてテキストデータを扱ってきた。例えば、「UNIXカーネルの設計」(Maurice J.Bach著/坂本 文・多田好克・村井純訳;共立出版株式会社)によると、UNIX(登録商標)のファイルシステムでは、ファイルからデータを読み出し、またはファイルにデータを書き込む場合には、openシステムコールを用いてファイルを開き、ファイルの内容を、read、writeといったシステムコールを用いて読み出しまたは書き込むようにしている。   A file system used in a conventional computer has mainly handled text data. For example, according to “UNIX kernel design” (Murice J. Bach / Fumi Sakamoto, Yoshikatsu Tada, Jun Murai; Kyoritsu Publishing Co., Ltd.), the UNIX (registered trademark) file system reads data from a file, Alternatively, when data is written to a file, the file is opened using an open system call, and the contents of the file are read or written using system calls such as read and write.

ところで、ファイルシステムの一例として、ディジタル化された映像データを扱うビデオサーバがある。このようなビデオサーバには、特開平07−107425号公報の「ビデオサーバ」に記載されているように、ビデオデータを格納した複数の記憶装置を、交換装置で接続した構成のものがある。また、ビデオサーバにおける映像の再生手順については、ISO/IEC標準13818−6(Committee Draft)において記述されている。このCommittee Draftによれば、ユーザがビデオサーバに「Directory Open」を送出すると、ビデオサーバは、映像の連続再生の準備を完了し、「DSM Stream Play」「DSM Pause Resume」を送出すると、ビデオサーバからユーザへの映像データの送出が開始される。また、映像データの供給を停止させる場合には、ユーザからビデオサーバに「DSM Stream Pause」が送出される。   An example of a file system is a video server that handles digitized video data. Such video servers include a configuration in which a plurality of storage devices storing video data are connected by an exchange device as described in “Video Server” of Japanese Patent Application Laid-Open No. 07-107425. The video playback procedure in the video server is described in ISO / IEC standard 13818-6 (Committee Draft). According to this Committee Draft, when the user sends “Directory Open” to the video server, the video server completes preparation for continuous playback of the video and sends “DSM Stream Play” “DSM Pause Resume”. Video data transmission to the user starts. In addition, when the supply of video data is stopped, “DSM Stream Pause” is transmitted from the user to the video server.

しかしながら、UNIX(登録商標)のような従来のファイルシステムでは、ユーザからのアクセスが多数同時に発生した場合には、ユーザ側での読み出し待ち時間が増加する。このように、ユーザが読み出しコマンドを発行してから、データの受け取りを完了するまでの待ち時間は、他のユーザからのアクセス状況に影響を受けるため、予測不可能であった。特に、ビデオサーバのように、ファイルシステムが映像や、音声といった時間的に連続性が要求されるデータを管理しており、ユーザがデータの一部を一定時間おきに読み出して、ユーザ端末で再生を行う場合には、一定時間内に確実にデータを取得する必要があり、従来のファイルシステムでは対応できなかった。従って、映像データのように時間的に連続性が要求されるデータに関しては、ユーザ側で予め長いデータを取得しておき、全て取得した後に、映像の再生を行う必要があった。この場合には、ユーザ側で長いデータを格納できる大容量の記憶装置を保持する必要があり、また、映像の再生を開始するまでに長い待ち時間を要した。   However, in a conventional file system such as UNIX (registered trademark), when a large number of accesses from the user occur simultaneously, the read waiting time on the user side increases. Thus, the waiting time from when the user issues a read command to when the reception of data is completed is unpredictable because it is affected by the access status from other users. In particular, like a video server, the file system manages data such as video and audio that require continuity in time, and the user reads out part of the data at regular intervals and plays it on the user terminal. When performing the above, it is necessary to reliably acquire data within a certain time, and the conventional file system could not cope. Therefore, for data that requires continuity in time, such as video data, it is necessary to acquire long data in advance on the user side, and to reproduce the video after acquiring all the data. In this case, it is necessary to hold a large-capacity storage device capable of storing long data on the user side, and a long waiting time is required until the start of video reproduction.

それ故に、本発明の目的は、ユーザからの要求に対して素早い応答時間でデータを提供でき、しかも様々な再生速度を要求するユーザをサポートすることのできるファイルシステムを提供することである。   Therefore, an object of the present invention is to provide a file system that can provide data with a quick response time to a request from a user and can support a user who requests various reproduction speeds.

第1の発明は、サーバから、複数のクライアントに、それぞれ周期的にサービスが提供されるよう、サービスリクエストのスケジューリングを行うスケジューリング装置であって、
複数のクライアントからのサービスリクエストをキューイングする第1のキュー手段と、
複数のクライアント毎の、実行権を発生させるべき周期を登録する登録手段と、
登録手段に登録された周期に関連して、サービスリクエストを実行するための実行権を発生させる実行権発生手段と、
第1のキュー手段にキューイングされているサービスリクエストのうち、実行権発生手段が発生させた実行権に対応するクライアントからのサービスリクエストを、サーバに指示して実行させる実行指示手段とを備えている。
A first invention is a scheduling device for scheduling service requests so that services are periodically provided from a server to a plurality of clients, respectively.
First queuing means for queuing service requests from a plurality of clients;
A registration means for registering a cycle for generating an execution right for each of a plurality of clients;
An execution right generating means for generating an execution right for executing the service request in relation to the period registered in the registration means;
Execution instruction means for instructing the server to execute a service request from a client corresponding to the execution right generated by the execution right generation means among the service requests queued in the first queue means. Yes.

上記のように、第1のキュー手段は、各クライアントからのサービスリクエストをキューイングする。登録手段は、クライアント毎の、実行権を発生させるべき周期を登録する。実行権発生手段は、登録手段に登録された周期に関連して、実行権を発生させる。実行指示手段は、第1のキュー手段にキューイングされているサービスリクエストのうち、実行権発生手段が発生させた実行権に対応するクライアントからのサービスリクエストを、サーバに指示して実行させる。   As described above, the first queuing means queues the service request from each client. The registering unit registers a cycle for generating an execution right for each client. The execution right generation means generates an execution right in relation to the period registered in the registration means. The execution instructing unit instructs the server to execute a service request from the client corresponding to the execution right generated by the execution right generating unit among the service requests queued in the first queue unit.

第2の発明は、第1の発明において、実行権発生手段は、所定の周期で起動され、起動時に、登録手段に登録された、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、実行権を発生させるか否かをクライアント毎に判定し、かつ、実行権を発生させると判定したクライアントの実行権を、一括して発生させることを特徴としている。   According to a second invention, in the first invention, the execution right generation means is activated at a predetermined cycle, and at the time of activation, the cycle in which the execution right is generated and the cycle in which the execution right is activated are registered. Based on the above, it is determined for each client whether or not the execution right is generated, and the execution right of the client determined to generate the execution right is generated in a lump.

第3の発明は、第2の発明において、実行権発生手段は、登録手段に登録された、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、起動された現時刻から、次の実行権を発生させる時刻までの時間を算定し、算定して得た時間と、自己が起動される周期とを比較することにより、実行権を発生させるか否かを判定することを特徴としている。   In a third aspect based on the second aspect, the execution right generation means is activated based on a period in which the execution right is to be generated and a period in which the execution right is activated, registered in the registration means. To determine whether to generate an execution right by calculating the time until the next execution right is generated, and comparing the calculated time with the period at which the self is activated It is characterized by.

第4の発明は、第3の発明において、実行権発生手段は、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、自己が起動される周期Tsltに対して、Tofs<Tsltであるクライアントの実行権を発生させ、さらに、当該クライアントのTofsに、登録手段に登録された、実行権を発生させるべき周期Treqを加算し、加算して得たTofsが、Tofs≧Tsltである場合、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴としている。   In a fourth aspect based on the third aspect, the execution right generation means is configured such that the time Tofs from the current activation time to the time of generating the next execution right is equal to the cycle Tslt at which the self is activated. The execution right of the client with Tofs <Tslt is generated, and the period Treq to be generated with the execution right registered in the registration unit is added to the Tofs of the client, and the Tofs obtained by the addition is Tofs ≧ In the case of Tslt, a new Tofs is calculated by the formula Tofs = Tofs−Tslt with respect to the Tofs, and the Tofs for the next activation is used.

第5の発明は、第4の発明において、実行権発生手段は、加算して得たTofsが、Tofs<Tsltである場合には、さらに、実行権を発生させ、かつ当該TofsにTreqを加算してTsltと比較する動作を繰り返し、加算して得たTofsが、Tofs≧Tsltとなった時点で、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴としている。   In a fifth aspect based on the fourth aspect, the execution right generation means further generates an execution right and adds Treq to the Tofs when the Tofs obtained by the addition satisfies Tofs <Tslt. Then, when the Tofs obtained by repeating and adding the Tslt is equal to Tofs ≧ Tslt, a new Tofs is calculated for the Tofs by the expression Tofs = Tofs−Tslt, and the next time. It is characterized by being Tofs when activated.

第6の発明は、第4の発明において、実行権発生手段は、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、Tofs≧Tsltであるか、または、サービスリクエストが、第1のキュー手段にキューイングされていないクライアントについては、実行権を発生させず、かつ、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴としている。   In a sixth aspect based on the fourth aspect, the execution right generation means is configured such that the time Tofs from the current activation time to the time of generating the next execution right is Tofs ≧ Tslt, or the service request However, for a client that is not queued in the first queuing means, the execution right is not generated, and a new Tofs is calculated for the Tofs by the expression Tofs = Tofs-Tslt, and the next activation is performed. It is characterized in that it is Tofs at the time of being performed.

第7の発明は、第6の発明において、実行権発生手段は、算定して得た新たなTofsが、Tofs<0である場合には、次回起動される際のTofsを0とすることを特徴としている。   In a seventh aspect based on the sixth aspect, the execution right generation means sets the Tofs at the next activation to 0 when the new Tofs obtained by the calculation is Tofs <0. It is a feature.

第8の発明は、第2の発明において、実行指示手段は、所定の周期で起動され、起動された現時刻から、次の実行権が発生される時刻までの時間が、より短いクライアントの実行権を選択することを特徴としている。   In an eighth aspect based on the second aspect, the execution instructing means is activated at a predetermined cycle, and execution of the client with a shorter time from the current activation time to the time when the next execution right is generated is performed. It is characterized by selecting rights.

第9の発明は、第8の発明において、実行権発生手段は、優先度を示す評価指数を、登録手段に登録された、実行権を発生させるべき周期の関数として算定して、発生させた実行権に付与し、
実行指示手段は、付与された評価指数に基づいて、実行権発生手段が発生させた実行権のうち、優先されるべき実行権を選択することを特徴としている。
In a ninth aspect based on the eighth aspect, the execution right generation means calculates and generates the evaluation index indicating the priority as a function of the period in which the execution right should be generated, registered in the registration means. Grant to execute rights,
The execution instructing means is characterized by selecting an execution right to be prioritized among the execution rights generated by the execution right generation means based on the assigned evaluation index.

第10の発明は、第9の発明において、実行権発生手段は、評価指数Nsftを、登録手段に登録された実行権を発生させるべき周期Treqと、自己が起動される周期Tsltとに対して、関数Nsft=f(Treq/Tslt)(ただし、f(x)はx以上の最小の整数)により算定し、
実行指示手段は、付与された評価指数Nsftがより小さい実行権を選択することを特徴としている。
In a tenth aspect based on the ninth aspect, the execution right generation means sets the evaluation index Nsft to a period Treq for generating the execution right registered in the registration means and a period Tslt at which the execution right is started. , Function Nsft = f (Treq / Tslt) (where f (x) is the smallest integer equal to or greater than x),
The execution instruction means selects an execution right with a smaller evaluation index Nsft.

第11の発明は、第10の発明において、実行権発生手段は、登録手段に登録された周期のうち、最も長いものよりは短い周期で、起動されることを特徴としている。   An eleventh invention is characterized in that, in the tenth invention, the execution right generation means is activated at a cycle shorter than the longest of the cycles registered in the registration means.

第12の発明は、第10の発明において、実行権発生手段は、登録手段に登録された周期のうち、最も短いものよりさらに短い周期で、起動されることを特徴としている。   According to a twelfth aspect, in the tenth aspect, the execution right generation unit is activated at a cycle shorter than the shortest of the cycles registered in the registration unit.

第13の発明は、第9の発明において、実行指示手段は、実行権発生手段が発生させた実行権を、付与された評価指数毎で、かつ発生された順に、キューイングする第2のキュー手段を含み、当該キュー手段にキューイングされている実行権のうち、付与された評価指数がより小さく、かつ、より先に発生されたものを選択することを特徴としている。   In a thirteenth aspect based on the ninth aspect, the execution instructing means queues the execution right generated by the execution right generation means for each assigned evaluation index and in the order of generation. Among the execution rights queued in the queuing means, the granted evaluation index is smaller and the one generated earlier is selected.

第14の発明は、第9の発明において、実行指示手段は、起動時に実行を指示するサービスリクエストの最大数を認識しており、当該最大数に等しい個数だけサービスリクエストの実行を指示した時点で、実行の指示を停止し、かつ、残された実行権の評価指数を、より優先度の高いものに変更することを特徴としている。   In a fourteenth aspect based on the ninth aspect, the execution instructing means recognizes the maximum number of service requests to instruct execution at the time of activation, and at the time of instructing execution of service requests by a number equal to the maximum number. The execution instruction is stopped, and the evaluation index of the remaining execution right is changed to a higher priority index.

第15の発明は、第14の発明において、実行指示手段が認識している、起動時に実行を指示するサービスリクエストの最大数は、自己が起動される周期に等しい時間内にサーバが実行可能なサービスリクエストの最大数であることを特徴としている。   In a fifteenth aspect based on the fourteenth aspect, the maximum number of service requests instructed to be executed at the time of activation recognized by the execution instructing means can be executed by the server within a time equal to a period in which the self is activated. It is characterized by the maximum number of service requests.

第16の発明は、第10の発明において、実行指示手段は、起動時に実行を指示するサービスリクエストの最大数を認識しており、当該最大数に等しい個数だけサービスリクエストの実行を指示した時点で、実行の指示を停止し、かつ、残された実行権の評価指数をディクリメントすることを特徴としている。   In a sixteenth aspect based on the tenth aspect, when the execution instructing unit recognizes the maximum number of service requests to instruct execution at the time of activation and instructs execution of service requests by the number equal to the maximum number. The execution instruction is stopped, and the evaluation index of the remaining execution right is decremented.

第17の発明は、第16の発明において、実行指示手段が認識している、起動時に実行を指示するサービスリクエストの最大数は、自己が起動される周期に等しい時間内にサーバが実行可能なサービスリクエストの最大数であることを特徴としている。   In a seventeenth aspect based on the sixteenth aspect, the maximum number of service requests that are instructed to be executed at the time of activation recognized by the execution instructing means can be executed by the server within a period equal to a period in which the server is activated. It is characterized by the maximum number of service requests.

第18の発明は、第14の発明において、複数のクライアントからの申告に基づいて、実行権を発生させるべき周期を、登録手段に指示して登録させる登録指示手段をさらに備えることを特徴としている。   An eighteenth aspect of the invention is characterized in that, in the fourteenth aspect, the information processing apparatus further comprises registration instruction means for instructing the registration means to register a period for generating an execution right based on declarations from a plurality of clients. .

第19の発明は、第18の発明において、登録指示手段は、単位時間当たりに実行指示手段が実行を指示するサービスリクエストの最大数を認識しており、すでに登録されている周期に加えて、さらに他の周期を登録するよう申告された際、さらに登録されても、発生される実行権の単位時間当たりの平均数が、当該最大数を越えないと判定した場合、登録手段に指示して当該周期を登録させ、さらに登録されれば、越えると判定した場合には、登録させないことを特徴としている。   In a nineteenth aspect based on the eighteenth aspect, the registration instruction means recognizes the maximum number of service requests to be executed by the execution instruction means per unit time, and in addition to the already registered period, When it is declared that another period is registered, if it is determined that the average number of execution rights generated per unit time does not exceed the maximum number even if it is further registered, the registration means is instructed. The period is registered, and if it is further registered, if it is determined that the period is exceeded, the period is not registered.

第20の発明は、複数のサーバから、クライアントに、それぞれ周期的にサービスが提供されるよう、サービスリクエストのスケジューリングを行うスケジューリング装置であって、
複数のサーバへのサービスリクエストをキューイングする第1のキュー手段と、
複数のサーバ毎の、実行権を発生させるべき周期を登録する登録手段と、
登録手段に登録された周期に関連して、サービスリクエストを実行するための実行権を発生させる実行権発生手段と、
第1のキュー手段にキューイングされているサービスリクエストのうち、実行権発生手段が発生させた実行権に対応するサーバへのサービスリクエストを、当該サーバに指示して実行させる実行指示手段とを備えている。
A twentieth aspect of the invention is a scheduling apparatus that schedules service requests so that services are periodically provided from a plurality of servers to clients.
First queue means for queuing service requests to a plurality of servers;
Registration means for registering a cycle for generating an execution right for each of a plurality of servers;
An execution right generating means for generating an execution right for executing the service request in relation to the period registered in the registration means;
Execution instruction means for instructing the server to execute a service request to the server corresponding to the execution right generated by the execution right generation means among the service requests queued in the first queue means ing.

上記のように、第1のキュー手段は、各サーバへのサービスリクエストをキューイングする。登録手段は、サーバ毎の、実行権を発生させるべき周期を登録する。実行権発生手段は、登録手段に登録された周期に関連して、実行権を発生させる。実行指示手段は、第1のキュー手段にキューイングされているサービスリクエストのうち、実行権発生手段が発生させた実行権に対応するサーバのサービスリクエストを、当該サーバに指示して実行させる。   As described above, the first queuing means queues a service request to each server. The registering unit registers a cycle for generating an execution right for each server. The execution right generation means generates an execution right in relation to the period registered in the registration means. The execution instructing unit instructs the server to execute a service request of the server corresponding to the execution right generated by the execution right generating unit among the service requests queued in the first queue unit.

第21の発明は、第20の発明において、実行権発生手段は、所定の周期で起動され、起動時に、登録手段に登録された、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、実行権を発生させるか否かをサーバ毎に判定し、かつ、実行権を発生させると判定したサーバの実行権を、一括して発生させることを特徴としている。   According to a twenty-first aspect, in the twentieth aspect, the execution right generation means is activated at a predetermined cycle, and at the time of activation, the cycle in which the execution right is to be generated and the cycle in which the execution right is activated Based on the above, it is determined for each server whether or not the execution right is to be generated, and the execution right of the server that is determined to generate the execution right is collectively generated.

第22の発明は、第21の発明において、実行権発生手段は、登録手段に登録された、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、起動された現時刻から、次の実行権を発生させる時刻までの時間を算定し、算定して得た時間と、自己が起動される周期とを比較することにより、実行権を発生させるか否かを判定することを特徴としている。   According to a twenty-second aspect, in the twenty-first aspect, the execution right generation means is activated based on a period in which the execution right is to be generated and a period in which the execution right is activated, registered in the registration means. To determine whether to generate an execution right by calculating the time until the next execution right is generated, and comparing the calculated time with the period at which the self is activated It is characterized by.

第23の発明は、第22の発明において、実行権発生手段は、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、自己が起動される周期Tsltに対して、Tofs<Tsltであるサーバの実行権を発生させ、さらに、当該サーバのTofsに、登録手段に登録された、実行権を発生させるべき周期Titvを加算し、加算して得たTofsが、Tofs≧Tsltである場合、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴としている。   According to a twenty-third aspect, in the twenty-second aspect, the execution right generation means is configured such that a time Tofs from the current activation time to a time for generating the next execution right is equal to a cycle Tslt in which the self is activated. The execution right of the server where Tofs <Tslt is generated, and the period Ttv for generating the execution right registered in the registration means is added to the Tofs of the server, and the Tofs obtained by the addition is Tofs ≧ In the case of Tslt, a new Tofs is calculated by the formula Tofs = Tofs−Tslt with respect to the Tofs, and the Tofs for the next activation is used.

第24の発明は、第23の発明において、実行権発生手段は、加算して得たTofsが、Tofs<Tsltである場合には、さらに、実行権を発生させ、かつ当該TofsにTitvを加算してTsltと比較する動作を繰り返し、加算して得たTofsが、Tofs≧Tsltとなった時点で、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴としている。   In a twenty-fourth aspect based on the twenty-third aspect, the execution right generation means further generates an execution right and adds Titv to the Tofs when the Tofs obtained by addition is Tofs <Tslt. Then, when the Tofs obtained by repeating and adding the Tslt is equal to Tofs ≧ Tslt, a new Tofs is calculated for the Tofs by the expression Tofs = Tofs−Tslt, and the next time. It is characterized by being Tofs when activated.

第25の発明は、第23の発明において、実行権発生手段は、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、Tofs≧Tsltであるか、または、サービスリクエストが、第1のキュー手段にキューイングされていないサーバについては、実行権を発生させず、かつ、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴としている。   In a twenty-fifth aspect based on the twenty-third aspect, the execution right generation means is configured so that a time Tofs from a time when the execution right is activated to a time when the next execution right is generated is Tofs ≧ Tslt or a service request However, for a server that is not queued in the first queuing means, the execution right is not generated, and a new Tofs is calculated for the Tofs by the formula Tofs = Tofs-Tslt, and the next activation is performed. It is characterized in that it is Tofs at the time of being performed.

第26の発明は、第25の発明において、実行権発生手段は、算定して得た新たなTofsが、Tofs<0である場合には、次回起動される際のTofsを0とすることを特徴としている。   In a twenty-sixth aspect based on the twenty-fifth aspect, the execution right generation means sets the Tofs at the next activation to 0 when the new Tofs obtained by calculation is Tofs <0. It is a feature.

第27の発明は、第21の発明において、実行指示手段は、所定の周期で起動され、起動された現時刻から、次の実行権が発生される時刻までの時間が、より短いサーバの実行権を選択することを特徴としている。   In a twenty-seventh aspect based on the twenty-first aspect, the execution instructing means is activated at a predetermined cycle, and the time from the activated current time to the time when the next execution right is generated is shorter. It is characterized by selecting rights.

第28の発明は、第27の発明において、実行権発生手段は、優先度を示す評価指数を、登録手段に登録された、実行権を発生させるべき周期の関数として算定して、発生させた実行権に付与し、
実行指示手段は、付与された評価指数に基づいて、実行権発生手段が発生させた実行権のうち、優先されるべき実行権を選択することを特徴としている。
In a twenty-eighth aspect based on the twenty-seventh aspect, the execution right generating means calculates and generates the evaluation index indicating the priority as a function of a cycle in which the execution right is to be generated registered in the registration means. Grant to execute rights,
The execution instructing means is characterized by selecting an execution right to be prioritized among the execution rights generated by the execution right generation means based on the assigned evaluation index.

第29の発明は、第28の発明において、実行権発生手段は、評価指数Nsftを、登録手段に登録された実行権を発生させるべき周期Titvと、自己が起動される周期Tsltとに対して、関数Nsft=f(Titv/Tslt)(ただし、f(x)はx以上の最小の整数)により算定し、
実行指示手段は、付与された評価指数Nsftがより小さい実行権を選択することを特徴としている。
In a twenty-ninth aspect based on the twenty-eighth aspect, the execution right generation means sets the evaluation index Nsft to a period Ttv for generating the execution right registered in the registration means and a period Tslt in which the execution right is activated. Nsft = f (Titv / Tslt) (where f (x) is the smallest integer equal to or greater than x),
The execution instruction means selects an execution right with a smaller evaluation index Nsft.

第30の発明は、第29の発明において、実行権発生手段は、登録手段に登録された周期のうち、最も長いものよりは短い周期で、起動されることを特徴としている。   A thirtieth aspect of the present invention is characterized in that, in the twenty-ninth aspect, the execution right generation means is activated with a period shorter than the longest period registered in the registration means.

第31の発明は、第29の発明において、実行権発生手段は、登録手段に登録された周期のうち、最も短いものよりさらに短い周期で、起動されることを特徴としている。   According to a thirty-first aspect, in the twenty-ninth aspect, the execution right generation means is activated at a cycle shorter than the shortest of the cycles registered in the registration means.

第32の発明は、第28の発明において、実行指示手段は、実行権発生手段が発生させた実行権を、付与された評価指数毎で、かつ発生された順に、キューイングする第2のキュー手段を含み、当該キュー手段にキューイングされている実行権のうち、付与された評価指数がより小さく、かつ、より先に発生されたものを選択することを特徴としている。   In a thirty-second aspect based on the twenty-eighth aspect, the execution instruction means queues the execution right generated by the execution right generation means for each assigned evaluation index and in the order of generation. Among the execution rights queued in the queuing means, the granted evaluation index is smaller and the one generated earlier is selected.

第33の発明は、第28の発明において、実行指示手段は、起動時に実行を指示するサービスリクエストの最大数を認識しており、当該最大数に等しい個数だけサービスリクエストの実行を指示した時点で、実行の指示を停止し、かつ、残された実行権の評価指数を、より優先度の高いものに変更することを特徴としている。   In a thirty-third aspect based on the twenty-eighth aspect, when the execution instructing unit recognizes the maximum number of service requests to instruct execution at the time of activation and instructs execution of service requests by the number equal to the maximum number. The execution instruction is stopped, and the evaluation index of the remaining execution right is changed to a higher priority index.

第34の発明は、第33の発明において、実行指示手段が認識している、起動時に実行を指示するサービスリクエストの最大数は、自己が起動される周期に等しい時間内に、全サーバからクライアントに送信可能な最大の情報量に対応するサービスリクエストの個数であることを特徴としている。   In a thirty-fourth aspect, in the thirty-third aspect, the maximum number of service requests instructed to be executed at the time of activation recognized by the execution instructing means is from all servers to the client within a time equal to a period in which the self is activated. The number of service requests corresponding to the maximum amount of information that can be transmitted.

第35の発明は、第29の発明において、実行指示手段は、起動時に実行を指示するサービスリクエストの最大数を認識しており、当該最大数に等しい個数だけサービスリクエストの実行を指示した時点で、実行の指示を停止し、かつ、残された実行権の評価指数をディクリメントすることを特徴としている。   In a thirty-fifth aspect based on the twenty-ninth aspect, when the execution instructing unit recognizes the maximum number of service requests to instruct execution at the time of activation and instructs execution of service requests by the number equal to the maximum number. The execution instruction is stopped, and the evaluation index of the remaining execution right is decremented.

第36の発明は、第35の発明において、実行指示手段が認識している、起動時に実行を指示するサービスリクエストの最大数は、自己が起動される周期に等しい時間内に、全サーバからクライアントに送信可能な最大の情報量に対応するサービスリクエストの個数であることを特徴としている。   According to a thirty-sixth aspect, in the thirty-fifth aspect, the maximum number of service requests that are recognized by the execution instructing means at the time of start-up The number of service requests corresponding to the maximum amount of information that can be transmitted.

第37の発明は、第33の発明において、クライアントからの申告に基づいて、実行権を発生させるべき周期を、登録手段に指示して登録/更新させる登録指示手段をさらに備えることを特徴としている。   According to a thirty-seventh aspect, in the thirty-third aspect, the information processing apparatus further includes registration instruction means for instructing the registration means to register / update a cycle for generating the execution right based on a report from the client. .

第38の発明は、第37の発明において、登録指示手段は、単位時間当たりに実行指示手段が全サーバに実行を指示するサービスリクエストの最大数を認識しており、すでに登録されている周期に加えて、さらに他のサーバの周期を登録するよう申告された際、さらに登録されても、発生される、全サーバの実行権の単位時間当たりの平均数が、当該最大数を越えないと判定した場合、登録手段に指示して当該周期を登録させ、さらに登録されれば、越えると判定した場合には、登録させないことを特徴としている。   In a thirty-eighth aspect based on the thirty-seventh aspect, the registration instructing means recognizes the maximum number of service requests that the execution instructing means instructs all servers to execute per unit time, and the period is already registered. In addition, when it is declared to register the cycle of another server, the average number of execution rights per unit time of all servers that are generated will be determined not to exceed the maximum number even if it is registered. In this case, the registration means is instructed to register the period, and if it is further registered, if it is determined that the period is exceeded, the period is not registered.

第39の発明は、第37の発明において、登録指示手段は、単位時間当たりに実行指示手段が各サーバに実行を指示するサービスリクエストの最大数を認識しており、すでに登録されている周期に加えて、さらに他のサーバの周期を登録するよう申告された際、さらに登録されても、発生される、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が当該サーバに実行を指示するサービスリクエストの最大数を越えないと判定した場合、登録手段に指示して当該周期を登録させ、さらに登録されれば、越えると判定した場合には、登録させないことを特徴としている。   In a thirty-ninth aspect based on the thirty-seventh aspect, the registration instructing means recognizes the maximum number of service requests that the execution instructing means instructs each server to execute per unit time, and the period is already registered. In addition, when the declaration of registering the cycle of another server is made, the average number of execution rights of the server to be generated per unit time generated by the execution instruction means per unit time is If it is determined that the maximum number of service requests for instructing execution to the server is not exceeded, the registration means is instructed to register the cycle, and if it is further registered, if it is determined that it will be exceeded, it will not be registered. It is a feature.

第40の発明は、第39の発明において、登録指示手段が認識している、単位時間当たりに実行指示手段が各サーバに実行を指示するサービスリクエストの最大数は、単位時間当たりに各サーバが実行可能なサービスリクエストの最大数であることを特徴としている。   In a fortieth aspect, in the thirty-ninth aspect, the maximum number of service requests that the execution instruction unit instructs each server to execute per unit time, recognized by the registration instruction unit, is determined by each server per unit time. It is characterized by the maximum number of service requests that can be executed.

第41の発明は、第37の発明において、登録指示手段は、単位時間当たりに実行指示手段が全サーバに実行を指示するサービスリクエストの最大数と、単位時間当たりに実行指示手段が各サーバに実行を指示するサービスリクエストの最大数とを認識しており、すで登録されている、あるサーバの実行権を発生させるべき周期Titvを、さらに周期Treqを加えて実行権を発生させるものに更新するよう、申告を受けた際、更新されても、発生される、全サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が全サーバに実行を指示するサービスリクエストの最大数を越えないと判定し、かつ、発生される、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が当該サーバに実行を指示するサービスリクエストの最大数を越えないと判定した場合、登録手段に指示して、すでに登録されているTitvを、式Titv=1/(1/Titv+1/Treq)により算定される新たなTitvに更新させ、更新されれば、越えると判定した場合には、更新させないことを特徴としている。   In a forty-first aspect according to the thirty-seventh aspect, the registration instruction means includes a maximum number of service requests that the execution instruction means instructs all servers to execute per unit time, and the execution instruction means per unit time that each execution instruction means sends to each server. Recognizes the maximum number of service requests to instruct execution, and updates the already registered period Ttv for generating the right of execution of a server to one that further adds the period Treq to generate the right of execution The average number of execution rights of all servers generated per unit time, even if it is updated when a report is received, is the number of service requests that the execution instruction means instructs all servers to execute per unit time. It is determined that the maximum number is not exceeded, and the average number of execution rights of the server that are generated per unit time is executed by the execution instruction unit per unit time. When it is determined that the maximum number of service requests to be instructed is not exceeded, the registration unit is instructed to change the already registered Titv to a new Titv calculated by the expression Titv = 1 / (1 / Titv + 1 / Treq). It is characterized in that it is updated, and if it is updated, it is not updated when it is determined that it will be exceeded.

第42の発明は、第37の発明において、登録指示手段は、すでに登録されている、あるサーバの実行権を発生させるべき周期Titvを、周期Treqを除いて実行権を発生させるものに更新するよう申告を受けた際、登録手段に指示して、すでに登録されているTitvを、式Titv=1/(1/Titv−1/Treq)により算定される新たなTitvに更新させることを特徴としている。   In a forty-second aspect based on the thirty-seventh aspect, the registration instructing means updates the already-registered period Titv for generating the right of execution of a server to one that generates the right of execution excluding the period Treq. When the report is received, the registration means is instructed to update the already registered Titv to a new Titv calculated by the expression Titv = 1 / (1 / Titv-1 / Treq). Yes.

上記第1の発明によれば、各クライアントからのサービスリクエストをキューイングする一方、クライアント毎の、実行権を発生させるべき周期を登録しておいて、その周期に基づいて、実行権を発生させる。そして、キューイングしているサービスリクエストのうち、発生させた実行権に対応するクライアントからのものを、サーバに指示して実行させる。これにより、あるクライアントからのサービスリクエストが送信されてから実行されるまでの時間が、他のクライアントからのサービスリクエストの送信の状況に影響されることがなくなり、従って、送信されたサービスリクエストが実行されるまでの時間が不定となるのを防ぐことができる。   According to the first aspect of the invention, while queuing the service request from each client, the cycle for generating the execution right for each client is registered, and the execution right is generated based on the cycle. . Then, the server requests the server to execute the queued service request from the client corresponding to the generated execution right. As a result, the time from when a service request from one client is sent to when it is executed is not affected by the status of the transmission of the service request from another client, so the transmitted service request is executed. It is possible to prevent indefinite time until it is done.

上記第2の発明によれば、実行権発生手段は、所定の周期で起動され、実行権を発生させる動作を行う。この際、実行権発生手段は、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、クライアント毎に、実行権を発生させるか否かを判定し、発生させると判定したクライアントの実行権を、一括して発生させるようにする。これにより、登録手段に登録された、実行権を発生させるべき周期で実行権を発生させるのに比べて、実行権発生手段の処理動作を軽減できる。   According to the second aspect, the execution right generation means is activated at a predetermined cycle and performs an operation of generating an execution right. At this time, the execution right generation means determines whether to generate the execution right for each client based on the cycle in which the execution right should be generated and the cycle in which the execution right is activated, and determines that the execution right is generated. The execution right of the client is generated in a lump. As a result, the processing operation of the execution right generation means can be reduced as compared with the case where the execution right is generated in the cycle in which the execution right should be generated and registered in the registration means.

上記第3の発明によれば、各クライアントの実行権を発生させるか否かを判定することができる。   According to the third aspect, it is possible to determine whether or not to generate an execution right for each client.

上記第4の発明によれば、実行権発生手段は、Tofsが、Tsltに対して、Tofs<Tsltであるクライアントの実行権を発生させる。さらに、当該クライアントのTofsにTreqを加算し、加算して得たTofsが、Tofs≧Tsltである場合、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定し、算定して得たTofsを、次回起動される際のTofsとする。これにより、実行権を発生させるべきクライアントを判定して、実行権を発生させることができる。   According to the fourth aspect of the invention, the execution right generation means generates the execution right of the client whose Tofs is Tofs <Tslt with respect to Tslt. Further, Treq is added to the Tofs of the client, and when the Tofs obtained by the addition is Tofs ≧ Tslt, a new Tofs is calculated for the Tofs by the formula Tofs = Tofs−Tslt, and is calculated. The Tofs obtained in this way are taken as Tofs for the next activation. Thereby, it is possible to determine the client that should generate the execution right and generate the execution right.

上記第5の発明によれば、実行権発生手段は、加算して得たTofsが、Tofs<Tsltである場合には、さらに、実行権を発生させるとともに、当該TofsにTreqを加算してTsltと比較する動作を繰り返す。そして、加算して得たTofsが、Tofs≧Tsltとなった時点で、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとする。これにより、複数の実行権を発生させるべきクライアントをさらに判定して、必要な数の実行権を発生させることができる。   According to the fifth aspect, the execution right generation means further generates the execution right when the Tofs obtained by the addition is Tofs <Tslt, and adds the Treq to the Tofs and adds the Treq to the Tslt. Repeat the operation to compare. Then, when the Tofs obtained by the addition becomes Tofs ≧ Tslt, a new Tofs is calculated with respect to the Tofs by the expression Tofs = Tofs−Tslt, and is set as the Tofs for the next activation. . As a result, it is possible to further determine the clients that should generate a plurality of execution rights and generate the necessary number of execution rights.

上記第6の発明によれば、実行権発生手段は、Tofsが、Tofs≧Tsltであるか、または、サービスリクエストが、第1のキュー手段にキューイングされていないクライアントについては、実行権を発生させない。そして、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとする。このように、サービスリクエストがキューイングされていないクライアントについては、実行権を発生させないことにより、サービスリクエストを送信しなかったクライアントにサービスが提供されないようにすることができる。   According to the sixth invention, the execution right generation means generates an execution right for a client whose Tofs is Tofs ≧ Tslt or whose service request is not queued in the first queue means. I won't let you. Then, for the Tofs, a new Tofs is calculated by the formula Tofs = Tofs−Tslt and set as Tofs for the next activation. As described above, by not generating an execution right for a client for which a service request is not queued, it is possible to prevent a service from being provided to a client that has not transmitted a service request.

上記第7の発明によれば、サービスリクエストがキューイングされていないクライアントのTofsが、繰り返しTsltを減算されて小さな値となり、サービスリクエストがキューイングされた時点で当該クライアントの実行権が多数発生されるのを防ぐことができる。   According to the seventh aspect, the Tofs of a client for which a service request is not queued is repeatedly subtracted from Tslt to become a small value, and when the service request is queued, many execution rights for the client are generated. Can be prevented.

上記第8の発明によれば、起動された現時刻から、次の実行権が発生される時刻までの時間が、より短いクライアントの実行権を選択することにより、遅延が発生する回数を、より少なくすることができる。   According to the eighth aspect of the invention, by selecting a client execution right that has a shorter time from the current activation time to the time when the next execution right is generated, the number of delays generated can be further increased. Can be reduced.

上記第9の発明によれば、実行権発生手段は、発生させた実行権に、実行権を発生させるべき周期の関数として算定した、優先度を示す評価指数を付与し、実行指示手段は、付与された評価指数に基づいて、優先されるべき実行権を選択する。これにより、実行権が競合する場合、実行権を発生させるべき周期に関連して、より優先されるべきものを選択することができる。   According to the ninth aspect, the execution right generation means assigns the evaluation index indicating the priority calculated as a function of the cycle for generating the execution right to the generated execution right, and the execution instruction means includes: Based on the assigned evaluation index, the execution right to be prioritized is selected. Thereby, when the execution rights compete, it is possible to select the one that should be prioritized in relation to the cycle in which the execution rights are to be generated.

上記第10の発明によれば、実行権が競合する場合、実行権を発生させるべき周期がより短いものを選択することができる。   According to the tenth aspect of the present invention, when execution rights compete, it is possible to select one with a shorter cycle in which the execution right should be generated.

上記第11の発明によれば、全てのクライアントの実行権に、同一の評価指数が付与されることがない。   According to the eleventh aspect, the same evaluation index is not given to the execution rights of all clients.

上記第12の発明によれば、各クライアントの実行権に、より詳細な評価指数が付与される。   According to the twelfth aspect, a more detailed evaluation index is assigned to the execution right of each client.

上記第13の発明によれば、実行指示手段は、発生された実行権のうち、優先されるべきものを容易に選択することができ、従って、実行指示手段の処理動作を軽減できる。   According to the thirteenth aspect, the execution instructing unit can easily select a priority among the generated execution rights, and therefore the processing operation of the execution instructing unit can be reduced.

上記第14の発明によれば、実行指示手段は、最大数の実行指示を行った時点で、実行指示を停止し、かつ、残された実行権の評価指数を、より優先度の高いものに変更する。これにより、最大数を超えて、実行指示が行われないようにすることができるとともに、残された実行権が、長時間、選択されないのを防ぐことができる。   According to the fourteenth aspect, the execution instruction means stops the execution instruction when the maximum number of execution instructions are given, and sets the remaining execution right evaluation index to a higher priority. change. Thereby, it is possible to prevent the execution instruction from being performed beyond the maximum number, and it is possible to prevent the remaining execution right from being selected for a long time.

上記第15の発明によれば、サーバの処理能力を超えて、実行指示が行われないようにすることができる。   According to the fifteenth aspect of the present invention, it is possible to prevent the execution instruction from being performed beyond the processing capacity of the server.

上記第16の発明によれば、実行指示手段は、最大数の実行指示を行った時点で、実行指示を停止し、かつ、残された実行権の評価指数をディクリメントする。これにより、最大数を超えて、実行指示が行われないようにすることができるとともに、残された実行権の評価指数がTslt毎にディクリメントされるため、発生されてから、遅くともTreq+Tslt後までに、当該実行権が選択されるようにすることができる。   According to the sixteenth aspect, when the maximum number of execution instructions are issued, the execution instruction means stops the execution instruction and decrements the remaining execution right evaluation index. As a result, it is possible to prevent the execution instruction from being performed beyond the maximum number, and the evaluation index of the remaining execution right is decremented every Tslt, so that it is generated until Treq + Tslt at the latest. In addition, the execution right can be selected.

上記第17の発明によれば、サーバの処理能力を超えて、実行指示が行われないようにすることができる。   According to the seventeenth aspect of the present invention, it is possible to prevent the execution instruction from being performed beyond the processing capacity of the server.

上記第18の発明によれば、実行権を発生させるべき周期を、必要に応じて、登録手段に登録させることができる。   According to the eighteenth aspect, the period for generating the execution right can be registered in the registration means as necessary.

上記第19の発明によれば、登録指示手段は、すでに登録されている周期に加えて、申告された周期がさらに登録されても、実行権発生手段が発生させる実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が実行を指示するサービスリクエストの最大数を超えないと判定した場合にのみ、登録手段に指示して、申告された周期を登録させる。これにより、新たな周期を登録した際、発生される実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が実行を指示するサービスリクエストの最大数を越えるのを防ぐことができる。   According to the nineteenth aspect of the invention, the registration instructing means calculates the average per unit time of the execution right generated by the execution right generation means even if the declared period is further registered in addition to the already registered period. Only when it is determined that the number does not exceed the maximum number of service requests to be executed by the execution instruction unit per unit time, the registration unit is instructed to register the declared cycle. Thus, when a new cycle is registered, the average number of execution rights generated per unit time can be prevented from exceeding the maximum number of service requests instructed to be executed by the execution instruction unit per unit time. .

上記第20の発明によれば、各サーバへのサービスリクエストをキューイングする一方、サーバ毎の、実行権を発生させるべき周期を登録しておいて、その周期に基づいて、実行権を発生させる。そして、キューイングしているサービスリクエストのうち、発生させた実行権に対応するサーバへのものを、そのサーバに指示して実行させる。これにより、あるサーバへのサービスリクエストが送信されてから実行されるまでの時間が、他のサーバへのサービスリクエストの送信の状況に影響されることがなくなり、従って、送信されたサービスリクエストが実行されるまでの時間が不定となるのを防ぐことができる。   According to the twentieth invention, while queuing a service request to each server, a cycle for generating an execution right for each server is registered, and the execution right is generated based on the cycle. . Then, among the queued service requests, the server requests corresponding to the generated execution right are instructed to be executed. As a result, the time from when a service request to one server is sent to when it is executed is not affected by the status of sending the service request to another server, so the sent service request is executed. It is possible to prevent indefinite time until it is done.

上記第21の発明によれば、実行権発生手段は、所定の周期で起動され、実行権を発生させる動作を行う。この際、実行権発生手段は、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、サーバ毎に、実行権を発生させるか否かを判定し、発生させると判定したサーバの実行権を、一括して発生させるようにする。これにより、登録手段に登録された、実行権を発生させるべき周期で実行権を発生させるのに比べて、実行権発生手段の処理動作を軽減できる。   According to the twenty-first aspect, the execution right generation means is activated at a predetermined cycle and performs an operation of generating an execution right. At this time, the execution right generation means determines whether to generate the execution right for each server based on the cycle in which the execution right should be generated and the cycle in which the execution right is activated, and determines that the execution right is generated. The server execution right is generated in a batch. As a result, the processing operation of the execution right generation means can be reduced as compared with the case where the execution right is generated in the cycle in which the execution right should be generated and registered in the registration means.

上記第22の発明によれば、各サーバの実行権を発生させるか否かを判定することができる。   According to the twenty-second aspect, it is possible to determine whether or not to generate an execution right for each server.

上記第23の発明によれば、実行権発生手段は、Tofsが、Tsltに対して、Tofs<Tsltであるサーバの実行権を発生させる。さらに、当該サーバのTofsにTitvを加算し、加算して得たTofsが、Tofs≧Tsltである場合、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定し、算定して得たTofsを、次回起動される際のTofsとする。これにより、実行権を発生させるべきサーバを判定して、実行権を発生させることができる。   According to the twenty-third aspect, the execution right generation means generates the execution right of the server whose Tofs is Toss <Tslt with respect to Tslt. Further, when Ttv is added to the Tofs of the server, and the Tofs obtained by the addition is Tofs ≧ Tslt, a new Tofs is calculated for the Tofs by the formula Tofs = Tofs−Tslt. The Tofs obtained in this way are taken as Tofs for the next activation. Thereby, it is possible to determine the server that should generate the execution right and generate the execution right.

上記第24の発明によれば、実行権発生手段は、加算して得たTofsが、Tofs<Tsltである場合には、さらに、実行権を発生させるとともに、当該TofsにTitvを加算してTsltと比較する動作を繰り返す。そして、加算して得たTofsが、Tofs≧Tsltとなった時点で、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとする。これにより、複数の実行権を発生させるべきサーバをさらに判定して、必要な数の実行権を発生させることができる。   According to the twenty-fourth aspect, the execution right generation means further generates an execution right when the Tofs obtained by the addition is Tofs <Tslt, and adds Ttv to the Tofs and adds the Ttv to the Tslt. Repeat the operation to compare. Then, when the Tofs obtained by the addition becomes Tofs ≧ Tslt, a new Tofs is calculated with respect to the Tofs by the expression Tofs = Tofs−Tslt, and is set as the Tofs for the next activation. . Accordingly, it is possible to further determine a server that should generate a plurality of execution rights and generate a necessary number of execution rights.

上記第25の発明によれば、実行権発生手段は、Tofsが、Tofs≧Tsltであるか、または、サービスリクエストが、第1のキュー手段にキューイングされていないサーバについては、実行権を発生させない。そして、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとする。このように、サービスリクエストがキューイングされていないサーバについては、実行権を発生させないことにより、サービスリクエストを送信されなかったサーバが、サービスを提供するのを防ぐことができる。   According to the twenty-fifth aspect, the execution right generation means generates an execution right for a server whose Tofs is Tofs ≧ Tslt or the service request is not queued in the first queue means. I won't let you. Then, for the Tofs, a new Tofs is calculated by the formula Tofs = Tofs−Tslt and set as Tofs for the next activation. As described above, by not generating an execution right for a server for which a service request is not queued, it is possible to prevent a server that has not received a service request from providing a service.

上記第26の発明によれば、サービスリクエストがキューイングされていないサーバのTofsが、繰り返しTsltを減算されて小さな値となり、サービスリクエストがキューイングされた時点で当該サーバの実行権が多数発生するのを防ぐことができる。   According to the twenty-sixth aspect of the present invention, Tofs of a server for which a service request is not queued is repeatedly subtracted from Tslt to become a small value, and when the service request is queued, many execution rights for the server are generated. Can be prevented.

上記第27の発明によれば、起動された現時刻から、次の実行権が発生される時刻までの時間が、より短いサーバの実行権を選択することにより、遅延が発生する回数を、より少なくすることができる。   According to the twenty-seventh aspect, by selecting a server execution right that has a shorter time from the current activation time to the time when the next execution right is generated, the number of delays can be increased. Can be reduced.

上記第28の発明によれば、実行権発生手段は、発生させた実行権に、実行権を発生させるべき周期の関数として算定した、優先度を示す評価指数を付与し、実行指示手段は、付与された評価指数に基づいて、優先されるべき実行権を選択する。これにより、実行権が競合する場合、実行権を発生させるべき周期に関連して、より優先されるべきものを選択することができる。   According to the twenty-eighth aspect, the execution right generation means assigns the evaluation index indicating the priority calculated as a function of the cycle in which the execution right should be generated to the generated execution right, and the execution instruction means includes: Based on the assigned evaluation index, the execution right to be prioritized is selected. Thereby, when the execution rights compete, it is possible to select the one that should be prioritized in relation to the cycle in which the execution rights are to be generated.

上記第29の発明によれば、実行権が競合する場合、実行権を発生させるべき周期がより短いものを選択することができる。   According to the twenty-ninth aspect, when execution rights compete, it is possible to select a shorter cycle for generating execution rights.

上記第30の発明によれば、全てのサーバの実行権に、同一の評価指数が付与されることがない。   According to the thirtieth aspect, the same evaluation index is not given to the execution rights of all servers.

上記第31の発明によれば、各サーバの実行権に、より詳細な評価指数が付与される。   According to the thirty-first aspect, a more detailed evaluation index is given to the execution right of each server.

上記第32の発明によれば、実行指示手段は、発生された実行権のうち、優先されるべきものを容易に選択することができ、従って、実行指示手段の処理動作を軽減できる。   According to the thirty-second aspect, the execution instructing unit can easily select a priority among the generated execution rights, and therefore the processing operation of the execution instructing unit can be reduced.

上記第33の発明によれば、実行指示手段は、最大数の実行指示を行った時点で、実行指示を停止し、かつ、残された実行権の評価指数を、より優先度の高いものに変更する。これにより、最大数を超えて、実行指示が行われないようにすることができるとともに、残された実行権が、長時間、選択されないのを防ぐことができる。   According to the thirty-third aspect, the execution instruction means stops the execution instruction when the maximum number of execution instructions are given, and sets the remaining execution right evaluation index to a higher priority. change. Thereby, it is possible to prevent the execution instruction from being performed beyond the maximum number, and it is possible to prevent the remaining execution right from being selected for a long time.

上記第34の発明によれば、全サーバからクライアントに送信可能な最大の情報量を超えるような数の実行指示が行われないようにすることができる。   According to the thirty-fourth aspect, execution instructions that exceed the maximum amount of information that can be transmitted from all servers to the client can be prevented.

上記第35の発明によれば、実行指示手段は、最大数の実行指示を行った時点で、実行指示を停止し、かつ、残された実行権の評価指数をディクリメントする。これにより、最大数を超えて、実行指示が行われないようにすることができるとともに、残された実行権の評価指数がTslt毎にディクリメントされるため、発生されてから、遅くともTreq+Tslt後までに、当該実行権が選択されるようにすることができる。   According to the thirty-fifth aspect, the execution instruction means stops the execution instruction and decrements the remaining execution right evaluation index when the maximum number of execution instructions are issued. As a result, it is possible to prevent the execution instruction from being performed beyond the maximum number, and the evaluation index of the remaining execution right is decremented every Tslt, so that it is generated until Treq + Tslt at the latest. In addition, the execution right can be selected.

上記第36の発明によれば、全サーバからクライアントに送信可能な最大の情報量を超えるような数の実行指示が行われないようにすることができる。   According to the thirty-sixth aspect, it is possible to prevent a number of execution instructions from exceeding the maximum amount of information that can be transmitted from all servers to the client.

上記第37の発明によれば、実行権を発生させるべき周期を、必要に応じて、登録手段に登録/更新させることができる。   According to the thirty-seventh aspect, the period for generating the execution right can be registered / updated by the registration unit as necessary.

上記第38の発明によれば、登録指示手段は、すでに登録されている周期に加えて、申告された周期がさらに登録されても、実行権発生手段が発生させる、全サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が全サーバに実行を指示するサービスリクエストの最大数を超えないと判定した場合にのみ、登録手段に指示して、申告された周期を登録させる。これにより、申告されたサーバの周期を登録した際、発生される、全サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が全サーバに実行を指示するサービスリクエストの最大数を越えるのを防ぐことができる。   According to the thirty-eighth aspect, the registration instruction means is a unit of execution rights of all servers generated by the execution right generation means even if the declared period is further registered in addition to the already registered periods. Only when it is determined that the average number per hour does not exceed the maximum number of service requests that the execution instruction means instructs execution to all servers per unit time, the registration means is instructed to register the declared cycle. Let As a result, when the declared server cycle is registered, the average number of execution rights per unit time of all servers generated is the number of service requests that the execution instruction means instructs all servers to execute per unit time. It is possible to prevent the maximum number from being exceeded.

上記第39の発明によれば、登録指示手段は、すでに登録されている周期に加えて、申告されたサーバの周期がさらに登録されても、実行権発生手段が発生させる、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が当該サーバに実行を指示するサービスリクエストの最大数を超えないと判定した場合にのみ、登録手段に指示して、申告された周期を登録させる。これにより、申告されたサーバの周期を登録した際、発生される、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が当該サーバに実行を指示するサービスリクエストの最大数を越えるのを防ぐことができる。   According to the thirty-ninth aspect of the invention, the registration instructing means generates the execution right of the server, which is generated by the execution right generating means even if the declared server period is further registered in addition to the already registered period. Only when it is determined that the average number per unit time does not exceed the maximum number of service requests that the execution instruction means instructs the server to execute per unit time, the registration means is instructed and declared To register. As a result, when registering the declared server cycle, the average number of execution rights of the server per unit time generated is the number of service requests that the execution instruction means instructs the server to execute per unit time. It is possible to prevent the maximum number from being exceeded.

上記第40の発明によれば、申告されたサーバの周期を登録した際、発生される、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに当該サーバが実行可能なサービスリクエストの最大数を越えるのを防ぐことができる。   According to the fortieth aspect, the service request that can be executed by the server per unit time is the average number of execution rights of the server generated per unit time that is generated when the declared server cycle is registered. Can be prevented from exceeding the maximum number.

上記第41の発明によれば、あるサーバのTitvを、さらに周期Treqを加えて実行権を発生させるものに更新するよう、申告を受けた際、更新されても、発生される、全サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が全サーバに実行を指示するサービスリクエストの最大数を越えず、かつ、発生される、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が当該サーバに実行を指示するサービスリクエストの最大数を越えないと判定した場合にのみ、登録手段に指示して、当該サーバのTitvを更新させる。これにより、当該サーバのTitvを更新した際、発生される、全サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が全サーバに実行を指示するサービスリクエストの最大数を超えないようにすることができるとともに、発生される、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに実行指示手段が当該サーバに実行を指示するサービスリクエストの最大数を超えないようにすることができる。   According to the forty-first aspect of the present invention, when a report is received so as to update the Titv of a server to one that generates an execution right by adding a cycle Treq, The average number of execution rights per unit time does not exceed the maximum number of service requests that the execution instruction means instructs all servers to execute per unit time, and is generated per unit time of the execution rights of the server. Only when it is determined that the average number does not exceed the maximum number of service requests that the execution instruction means instructs the server to execute per unit time, the registration means is instructed to update Titv of the server. As a result, when the Titv of the server is updated, the average number of execution rights of all servers per unit time is the maximum number of service requests that the execution instruction unit instructs all servers to execute per unit time. The average number of execution rights of the server that are generated per unit time is the maximum number of service requests that the execution instruction means instructs the server to execute per unit time. Can not exceed.

上記第42の発明によれば、すでに登録されている、実行権を発生させるべき周期を、周期Treqを除いて発生させるものに更新するよう申告を受けた際、すでに登録されている周期を、新たなものに更新することができる。   According to the forty-second aspect of the present invention, when a declaration is received to update the already registered cycle for generating the execution right to one that is generated excluding the cycle Treq, the already registered cycle is You can update to a new one.

(第1の実施形態)
図1は、本発明の第1の実施形態に係るファイルシステムの構成を示すブロック図である。図1において、本ファイルシステムは、交換装置1と、ファイルマネージャ2と、複数のサーバユニット3とを備えている。
(First embodiment)
FIG. 1 is a block diagram showing a configuration of a file system according to the first embodiment of the present invention. In FIG. 1, the file system includes an exchange device 1, a file manager 2, and a plurality of server units 3.

ファイルマネージャ2は、ファイルシステム全体を管理する。各サーバユニット3は、ユーザからのファイルの読み出しまたは書き込みの要求を受け付け、ファイルシステムが管理する記憶装置から読み出したデータやメッセージをユーザに対して送信する。各サーバユニット3間、および各サーバユニット3とファイルマネージャ2との間では、交換装置1を介してデータがやりとりされる。当該ファイルシステムが管理するデータは、各サーバユニット3内に存在する記憶装置に格納されている。   The file manager 2 manages the entire file system. Each server unit 3 accepts a file read or write request from the user, and transmits data or a message read from a storage device managed by the file system to the user. Data is exchanged between each server unit 3 and between each server unit 3 and the file manager 2 via the exchange device 1. Data managed by the file system is stored in a storage device existing in each server unit 3.

図2は、各サーバユニット3におけるファイルアクセスに関連する部分の構成を示すブロック図である。図2において、各サーバユニット3は、外部メッセージインターフェース部101と、リソース割り当て部102と、スロット割り当て部103と、アドレス検索部104と、要求送出部105と、外部ネットワークI/O制御部106と、内部メッセージインターフェース部107と、記憶装置108と、記憶制御部109と、内部ネットワークI/O制御部110と、申告値管理部111とを含む。   FIG. 2 is a block diagram showing a configuration of a part related to file access in each server unit 3. In FIG. 2, each server unit 3 includes an external message interface unit 101, a resource allocation unit 102, a slot allocation unit 103, an address search unit 104, a request transmission unit 105, an external network I / O control unit 106, , An internal message interface unit 107, a storage device 108, a storage control unit 109, an internal network I / O control unit 110, and a reported value management unit 111.

外部メッセージインターフェース部101は、外部とやりとりされるメッセージを識別し、サーバユニット内の各機能ブロックに対して処理の指示を与える。リソース割り当て部102は、ファイルシステム内のリソースの割り当てを行う。スロット割り当て部103は、サーバユニット3で管理しているスロットの割り当てを行う。なお、スロットについての説明は後述する。アドレス検索部104は、要求されたデータの格納位置を検索する。要求送出部105は、固定長のデータブロックの読み出しを要求するブロック読み出し要求や、書き込みを要求するブロック書き込み要求の送出を指示する。内部メッセージインターフェース部107は、ファイルシステム内部のファイルマネージャ2や、他のサーバユニットに対するメッセージの送受信を制御する。記憶装置108は、データブロックや、ファイル毎のデータの格納位置情報を記憶する。記憶制御部109は、記憶装置108へのアクセスを制御する。内部ネットワークI/O制御部110は、ブロック読み出し要求により要求されたデータブロックを交換装置1に送出するタイミングを制御する。申告値管理部111は、外部から到着したメッセージのパラメータが妥当なものであるかどうかをチェックする。   The external message interface unit 101 identifies a message exchanged with the outside, and gives a processing instruction to each functional block in the server unit. The resource allocation unit 102 allocates resources in the file system. The slot allocation unit 103 allocates slots managed by the server unit 3. The slot will be described later. The address search unit 104 searches the storage location of the requested data. The request sending unit 105 instructs sending of a block read request for requesting reading of a fixed-length data block and a block write request for requesting writing. The internal message interface unit 107 controls transmission / reception of messages to / from the file manager 2 inside the file system and other server units. The storage device 108 stores data block and data storage location information for each file. The storage control unit 109 controls access to the storage device 108. The internal network I / O control unit 110 controls the timing of sending the data block requested by the block read request to the switching apparatus 1. The declared value management unit 111 checks whether or not the parameters of the message arriving from the outside are valid.

図3は、ファイルマネージャ2におけるファイルアクセスに関連する部分の構成を示すブロック図である。図3において、ファイルマネージャ2は、メッセージインターフェース部201と、リソース管理部202とを含む。メッセージインターフェース部201は、交換装置1を介して各サーバユニット3とやりとりされるメッセージを識別し、ファイルマネージャ2内の機能に対して処理の指示を与える。リソース管理部202は、ファイルシステムにおける、記憶装置の読み出し帯域、交換装置の入出力帯域の容量と使用量とを管理する。   FIG. 3 is a block diagram showing a configuration of a part related to file access in the file manager 2. In FIG. 3, the file manager 2 includes a message interface unit 201 and a resource management unit 202. The message interface unit 201 identifies a message exchanged with each server unit 3 via the exchange device 1 and gives a processing instruction to a function in the file manager 2. The resource management unit 202 manages the read bandwidth of the storage device and the capacity and usage of the input / output bandwidth of the switching device in the file system.

ここで、ファイルシステムには、外部からファイルアクセスに関連して、以下のメッセージが到着する。
(1)GetResource
(2)FileOpen
(3)ReadBlock
(4)WriteBlock
Here, the following message arrives at the file system in relation to file access from the outside.
(1) GetResource
(2) FileOpen
(3) ReadBlock
(4) WriteBlock

上記メッセージを受け取ったときの、ファイルマネージャ2および各サーバユニット3での、ファイルアクセスに関連する部分の動作について、以下に説明する。   The operation of the portion related to file access in the file manager 2 and each server unit 3 when the above message is received will be described below.

GetResourceメッセージが到着すると、サーバユニット3内の外部メッセージインターフェース部101は、リソース割り当て部102にその旨を通知する。リソース割り当て部102は、ファイルマネージャ2に対するリソース割り当て要求の送出を、内部メッセージインターフェース部107に指示する。リソース割り当て要求がファイルマネージャ2に到着すると、リソース管理部202では、リソース割り当て要求の受け付け可否を判断し、その結果をサーバユニット3に送出する。サーバユニット3内のリソース割り当て部102では、割り当て可能の判断結果を受け取ると、リソースの予約を行う。   When the GetResource message arrives, the external message interface unit 101 in the server unit 3 notifies the resource allocation unit 102 to that effect. The resource allocation unit 102 instructs the internal message interface unit 107 to send a resource allocation request to the file manager 2. When the resource allocation request arrives at the file manager 2, the resource management unit 202 determines whether the resource allocation request can be accepted and sends the result to the server unit 3. When the resource allocation unit 102 in the server unit 3 receives the determination result indicating that allocation is possible, the resource allocation unit 102 reserves the resource.

FileOpenメッセージが到着すると、サーバユニット3は、ファイル内のデータの格納位置情報を記憶装置108から取得し、ファイルアクセス可能な状態に移行する。   When the FileOpen message arrives, the server unit 3 acquires the storage location information of the data in the file from the storage device 108, and shifts to a file accessible state.

ReadBlockメッセージが到着すると、サーバユニット3内のスロット割り当て部103は、予約したリソースを割り当てて、要求されたデータの読み出しを行う。   When the ReadBlock message arrives, the slot allocation unit 103 in the server unit 3 allocates the reserved resource and reads the requested data.

WriteBlockメッセージが到着すると、サーバユニット3内のスロット割り当て部103は、予約したリソースを割り当てて、要求されたデータの書き込みを行う。   When the WriteBlock message arrives, the slot allocation unit 103 in the server unit 3 allocates the reserved resource and writes the requested data.

図4は、リソースの予約および割り当てと、データ読み出し動作との関係を示した図である。以下には、この図4を参照しつつ、リソース予約および割り当てを行ってデータの読み出し,書き込みを行うファイルシステムの動作について説明する。まず始めに、リソースの予約および割り当てに用いるMS到着スロットおよび書き込み用スロットについて説明した後、ファイルシステムの動作について説明する。   FIG. 4 is a diagram showing the relationship between resource reservation and allocation and data read operations. Hereinafter, the operation of the file system that performs resource reservation and allocation to read and write data will be described with reference to FIG. First, the MS arrival slot and write slot used for resource reservation and allocation will be described, and then the operation of the file system will be described.

(1)MS到着スロット
本ファイルシステムでは、数10msecおきに区切られた「MS到着スロット」という概念を用いる。図4において、線801は、時間をMS到着スロットに区切って管理していることを示している。また、データの読み出しに際しては、要求されたデータを固定長のデータブロック(MSブロック)に区切り、MS毎にブロック読み出し要求を記憶装置108または他のサーバユニットに送出し、読み出しを行う。あるサーバユニットが他のサーバユニットに対してブロック読み出し要求を送出する場合には、MS到着スロットを割り付ける。1つのスロットに割り付けることができるブロック読み出し要求の個数には、最大値が設定されている。本ファイルシステムでは、ユーザへのストリーム提供を保証するために、ブロック読み出し要求を受け付けたユーザについて、予めMS到着スロットを予約する。ブロック読み出し要求に割り付けるMS到着スロットは、予約されたMS到着スロットの中から選定する。MS到着スロットを予約する動作は、一定時間おきにまとめて行う。「MS到着スロット」を形成するパラメータを以下に示す。
T_slt:スロットの時間間隔
Nmax1:スロットに割り当て可能な要求数
T_rsvMS:到着スロット予約動作の間隔
(1) MS Arrival Slot In this file system, the concept of “MS arrival slot” divided every several tens of milliseconds is used. In FIG. 4, a line 801 indicates that the time is divided into MS arrival slots for management. When data is read, the requested data is divided into fixed-length data blocks (MS blocks), and a block read request is sent to the storage device 108 or another server unit for each MS to perform reading. When a server unit sends a block read request to another server unit, an MS arrival slot is allocated. A maximum value is set for the number of block read requests that can be allocated to one slot. In this file system, an MS arrival slot is reserved in advance for a user who has received a block read request in order to guarantee provision of a stream to the user. The MS arrival slot assigned to the block read request is selected from the reserved MS arrival slots. The operation of reserving the MS arrival slot is performed collectively at regular intervals. The parameters forming the “MS arrival slot” are shown below.
T_slt: Slot time interval Nmax1: Number of requests that can be assigned to a slot T_rsvMS: Arrival slot reservation operation interval

図4において、参照番号802は、T_sltの間隔を示している。図5は、MS到着スロットの状態を管理するMS到着スロット管理テーブルの一例を示している。図5に示したように、MS到着スロット管理テーブルは、スロットを識別する「スロット番号」、スロットの予約の有無および予約しているユーザを識別する「予約ユーザ番号」、ブロック読み出し要求を割り付けているかどうかおよび割り当てている要求を識別する「割り当て要求番号」、非優先のブロック読み出し要求を割り付けてよいかどうかを識別する「非優先フラグ」といった項目を情報として持つ。GetResourceメッセージによってリソースが割り当てられたユーザは、予約したスロットを利用する。また、リソース割り当てなしにブロックの読み出しを要求したユーザに対しては、ブロックの読み出しをする場合には、非優先フラグを参照して、割り当てることが可能なスロットを割り当てる。   In FIG. 4, reference numeral 802 indicates the interval of T_slt. FIG. 5 shows an example of an MS arrival slot management table for managing the state of the MS arrival slot. As shown in FIG. 5, the MS arrival slot management table allocates “slot number” for identifying a slot, “reserved user number” for identifying presence / absence of a slot and a reserved user, and a block read request. The information includes items such as “assignment request number” for identifying whether or not the request is assigned and “non-priority flag” for identifying whether or not a non-priority block read request may be assigned. A user to which a resource is assigned by the GetResource message uses the reserved slot. In addition, for a user who has requested reading of a block without resource allocation, a slot that can be allocated is allocated with reference to the non-priority flag when reading the block.

(2)書き込み用スロット
ブロックの書き込みに際しては、「書き込み用スロット」という概念が用いられる。各サーバユニット3において、書き込み用スロットは、宛先サーバユニット毎に設けられている。外部からWriteBlockコマンドと共に到着するデータは、固定長のデータブロック(MSブロック)に分割され、記憶装置108の空き領域リストに従って宛先が決定され、ブロック書き込み要求として送出される。ここで、ブロック書き込み要求には、宛先となるサーバユニットの書き込み用スロットを必ず割り付ける。書き込み用スロットの状態を管理する書き込み用スロット管理テーブルの一例を図6に示す。図6に示したように、書き込み用スロット管理テーブルは、宛先サーバユニットを識別する「宛先ユニット番号」、書き込み用スロットを特定する「スロット番号」、スロットに割り当てた要求の有無と割り当てた要求を識別する「割り当て要求識別番号」といった項目を情報として持つ。
(2) Write Slot When writing a block, the concept of “write slot” is used. In each server unit 3, a writing slot is provided for each destination server unit. Data arriving from the outside together with the WriteBlock command is divided into fixed-length data blocks (MS blocks), the destination is determined according to the free area list in the storage device 108, and is sent out as a block write request. Here, a write slot of the destination server unit is always assigned to the block write request. An example of the write slot management table for managing the state of the write slot is shown in FIG. As shown in FIG. 6, the write slot management table includes a “destination unit number” for identifying the destination server unit, a “slot number” for identifying the write slot, the presence / absence of the request assigned to the slot, and the assigned request. Information such as an “assignment request identification number” is identified as information.

(3)ユーザ毎のリソース管理
サーバユニット3では、GetResourceを受け付けているユーザを、Read/Write別に、確保した帯域が大きいものより小さいものの順に「ストリーム管理テーブル」で管理している。確保した帯域により、ユーザは、単数または複数のファイルを読み出すことができる。図7は、ストリーム管理テーブルの一例を示している。このストリーム管理テーブルは、各サーバユニット3内のリソース割り当て部102で管理されている。「ストリーム管理テーブル」は、ユーザ毎のリソースの獲得状況を管理するために、図7に示したような項目を情報として持つ。図7において、「リソース記述子」は、GetResourceメッセージ受け付け毎に割り付けられる識別子である。「ストリーム管理テーブル」は、この「リソース記述子」毎に、読み出し用か書き込み用かを識別する「読み出し・書き込みの別」と、要求帯域を提供するために必要となるスロットの平均予約間隔とを記憶している。さらに、「ストリーム管理テーブル」は、確保した帯域を記憶する「確保されたファイルシステム内の内部帯域」、確保した帯域のうち現在使っていない帯域量を記憶する「現在使用可能なファイルシステム内部帯域」といった項目を情報として持つ。
(3) Resource Management for Each User In the server unit 3, the users who have received GetResource are managed by “stream management table” in the order of the larger reserved band and the smaller band for each Read / Write. Depending on the reserved bandwidth, the user can read one or more files. FIG. 7 shows an example of the stream management table. This stream management table is managed by the resource allocation unit 102 in each server unit 3. The “stream management table” has items as shown in FIG. 7 as information in order to manage the resource acquisition status for each user. In FIG. 7, “resource descriptor” is an identifier assigned every time a GetResource message is received. The “stream management table” includes, for each “resource descriptor”, “separate read / write” for identifying whether it is for reading or writing, and the average reservation interval of slots necessary for providing the requested bandwidth. Is remembered. Furthermore, the “stream management table” includes “internal bandwidth in the reserved file system” for storing the reserved bandwidth, and “currently usable file system internal bandwidth for storing the amount of bandwidth that is not currently used in the reserved bandwidth”. ”As information.

(4)リソース獲得受け付け制御
リソース獲得受け付け制御は、外部からのGetResourceメッセージの受け付け可否を判断し、判断結果を外部に返す制御である。受け付け可否の判断は、メッセージによって申告されるパラメータに基づいて、リソース管理部202にて行われる。GetResourceメッセージは、以下の申告パラメータを持つ。
Read/Writeの別
ブロックの最小Read/Write間隔T
ReadBlock到着から、ブロック送出までの遅延要求値D_lim
(4) Resource acquisition acceptance control Resource acquisition acceptance control is control for determining whether or not to accept an external GetResource message and returning the determination result to the outside. Judgment of acceptability is performed by the resource management unit 202 based on the parameters reported by the message. The GetResource message has the following declaration parameters.
Minimum Read / Write interval T of another block of Read / Write
Delay request value D_lim from arrival of ReadBlock to block transmission

図8は、図3に示すリソース管理部202のより詳細な構成を示すブロック図である。図8において、リソース管理部202は、申告パラメータ処理部401と、書き込み帯域算出部402と、受付判断部403と、リソース記憶部404とを含む。申告パラメータ処理部401は、コマンドによって申告されるパラメータを、受け付け判断に必要な数値に置き換える。書き込み帯域算出部402は、書き込み用の帯域を算出する。受付判断部403は、メッセージの受付の可否を判断する。リソース記憶部404は、現在のリソースの使用状況と、提供可能なリソースの最大値とを記憶する。   FIG. 8 is a block diagram showing a more detailed configuration of the resource management unit 202 shown in FIG. In FIG. 8, the resource management unit 202 includes a report parameter processing unit 401, a write bandwidth calculation unit 402, an acceptance determination unit 403, and a resource storage unit 404. The report parameter processing unit 401 replaces the parameter reported by the command with a numerical value necessary for acceptance determination. The write band calculation unit 402 calculates a write band. The reception determination unit 403 determines whether messages can be received. The resource storage unit 404 stores the current resource usage status and the maximum value of resources that can be provided.

申告パラメータ処理部401では、まず、遅延要求値D_limに基づき、次式(1)を満たす値T_maxを求める。
D_lim=D_net+D_dsk_min+2×T_max…(1)
上式(1)において、交換装置1での遅延許容値をD_net、記憶装置108での遅延限界値の最小値をD_dsk_minとする。また、T_maxとTを比較した場合に、小さい方をT_minとする。
The reporting parameter processing unit 401 first obtains a value T_max that satisfies the following equation (1) based on the delay request value D_lim.
D_lim = D_net + D_dsk_min + 2 × T_max (1)
In the above equation (1), let D_net be the allowable delay value in the switching apparatus 1, and D_dsk_min be the minimum delay limit value in the storage device 108. Further, when T_max and T are compared, the smaller one is defined as T_min.

申告パラメータ処理部401は、T_minの値から、必要な帯域量を算出する。読み出しの場合、申告パラメータ処理部401は、算出した帯域量を受付判断部403に通知する。書き込みの場合、申告パラメータ処理部401は、交換装置1からサーバユニット3への出入口の帯域として申告値を採用し、記憶装置108の処理能力の部分として、申告値に記憶装置毎に決められている一定値を乗じた数値(書き込み帯域算出部402にて計算される)を、ピーク提供速度として求める。受付判断部403は、交換装置1からサーバユニット3への入口側および出口側、ならびに記憶装置108において、GetResourceを受け付けた場合の獲得リソースの総和が一定以下となるかどうかを判断する。受け付けが可能な場合、受付判断部403は、その旨をリソース記憶部404に格納すると共に、リソース割り当て部102が管理するストリーム管理テーブルに情報を追加する。このとき、ストリーム管理テーブルの記述順序(T_minが小さいものから大きいものの順)を乱さない位置に情報を追加する。   The reporting parameter processing unit 401 calculates a necessary bandwidth amount from the value of T_min. In the case of reading, the reporting parameter processing unit 401 notifies the reception determining unit 403 of the calculated bandwidth amount. In the case of writing, the reporting parameter processing unit 401 adopts the reporting value as the bandwidth of the entrance / exit from the exchange device 1 to the server unit 3, and the reporting value is determined for each storage device as part of the processing capacity of the storage device 108. A numerical value (calculated by the write bandwidth calculation unit 402) multiplied by a certain value is obtained as the peak provision speed. The reception determination unit 403 determines whether the total amount of acquired resources when the GetResource is received is less than or equal to a certain value on the entrance side and the exit side from the exchange device 1 to the server unit 3 and the storage device 108. If reception is possible, the reception determination unit 403 stores the information in the resource storage unit 404 and adds information to the stream management table managed by the resource allocation unit 102. At this time, information is added at a position that does not disturb the description order of the stream management table (from the smallest T_min to the largest).

(5)読み出し用リソースの確保
GetResourceメッセージが受け付けられ、かつ読み出し用のリソースが獲得されているユーザのために使用する、MS到着スロットの予約が行われる。MS到着スロットの予約は、一定時間おきに行われる。ストリーム管理テーブルに記述された順序(提供ストリームの速度が速いものから遅いものの順)で、時間区間T_rsvの間のMS到着スロットの予約が行われる。各T_minの設定値に従って、予約が行われる。図4において、参照番号803〜806は、予約動作を行うタイミングを示しており、参照番号807は、時間区間T_rsvを示している。予約スロットの決定方法を以下に示す。
(5) Reserving resource for reading The MS arrival slot used for the user who has received the GetResource message and has acquired the resource for reading is reserved. The reservation of the MS arrival slot is performed at regular intervals. Reservation of MS arrival slots during the time interval T_rsv is performed in the order described in the stream management table (in the order of the speed of the provided stream from the highest to the lowest). A reservation is made according to the set value of each T_min. In FIG. 4, reference numbers 803 to 806 indicate timings for performing a reservation operation, and reference number 807 indicates a time interval T_rsv. The reservation slot determination method is shown below.

1)それぞれのユーザについて、T_minの時間間隔でスロットを選択し、選択したスロットのそれぞれを期待スロットとする。
2)タイミング803〜806では、時間区間T_rsv内に、T_minの時間間隔で、予約の期待スロットを決定する。
3)期待スロットに予約可能であれば、予約する。
4)期待スロットに予約できなければ、期待スロットの次のスロットを参照する。参照したスロットに予約可能であれば、予約する。予約できなければ、次のスロットを参照する。これを繰り返す。
5)予約する区間を外れてしまった場合にも、上記規則に従い、次の時間区間T_rsv内のスロットに、予約を行う。
1) For each user, a slot is selected at a time interval of T_min, and each selected slot is set as an expected slot.
2) At timings 803 to 806, an expected reservation slot is determined at a time interval of T_min within the time interval T_rsv.
3) If an appointment slot can be reserved, make a reservation.
4) If the reserved slot cannot be reserved, the next slot after the expected slot is referred to. If the reserved slot can be reserved, it is reserved. If the reservation cannot be made, the next slot is referred. Repeat this.
5) Even when the reserved section is off, a reservation is made for a slot in the next time section T_rsv according to the above rules.

図4において、参照番号808〜820は、予約の期待スロットを示している。そして、参照番号821〜833は、実際に予約を行ったスロットを示している。新たにGetResourceコマンドを受け付けたときには、T_minの設定値に従って、既に予約されている区間のスロット予約を直ちに行う。スロットの予約方法は、これまでに説明した方法と同一とする。すべてのユーザについて、予約動作を行った時刻のMS到着スロットで、予約されていないものについては、図5における非優先フラグをONとする。   In FIG. 4, reference numerals 808 to 820 indicate expected slots for reservation. Reference numerals 821 to 833 indicate slots that have actually been reserved. When a new GetResource command is received, slot reservation in the already reserved section is immediately performed according to the set value of T_min. The slot reservation method is the same as that described above. For all users, the non-priority flag in FIG. 5 is set to ON for the MS arrival slot at the time when the reservation operation is performed and which is not reserved.

なお、MS到着スロットの予約を、次の期待スロットが到来するタイミングが早いものから順番に行うようにしてもよい。この場合、ストリーム管理テーブルには、GetResourceを受け付けたユーザに関する情報が、次の期待スロットの到来するタイミングが早いものの順番で記述されている。MS到着スロットの予約が行われると、ストリーム管理テーブルの記述順序は更新される。   Note that the reservation of the MS arrival slot may be performed in order from the earliest arrival timing of the next expected slot. In this case, in the stream management table, information regarding the user who has received the GetResource is described in the order of the arrival timing of the next expected slot. When the MS arrival slot is reserved, the description order of the stream management table is updated.

(6)ブロック読み出し動作
外部からReadBlockメッセージが到着すると、その旨が、メッセージインターフェース部101を介して申告値管理部111に通知される。 ReadBlockメッセージは、以下の申告パラメータを持つ。
リソース記述子
ブロックのRead間隔
ReadBlock到着からブロック送出までの遅延要求値D_lim
ファイル識別子
ファイル内の位置情報
(6) Block read operation When a ReadBlock message arrives from the outside, the fact is notified to the declared value management unit 111 via the message interface unit 101. The ReadBlock message has the following declaration parameters.
Resource descriptor block read interval Delay request value D_lim from arrival of ReadBlock to block transmission
File identifier Location information in the file

申告値管理部111では、ユーザからのReadBlockコマンドによるブロックの取得要求間隔が、GetResourceによる申告通りとなっているかどうかを調べる。ReadBlockの到着時刻に、コマンドに付与された遅延要求値を加算した時刻が、ブロックの要求到着時刻となる。このブロックの要求到着時刻の間隔が、申告通りになっているかどうかを調べる。違反している場合には、違反通知を行う。また、遅延要求値が、小さ過ぎないことを確認する。すなわち、交換装置1での遅延許容値をD_netとし、記憶装置108での遅延限界値の最小値をD_dsk_minとして、次式(2)が成立する場合には、ユーザに対して違反通知を行う。
D_lim<D_net+D_dsk_min+2×T_min …(2)一方、GetResourceによる申告通りとなっている場合には、スロット割り当て部103、アドレス検索部104、外部ネットワークI/O制御部106にReadBlockの到着が通知される。スロット割り当て部103では、要求された帯域で、連続的にデータブロックを提供できるように、ブロック読み出し要求送出間隔を決定する。ブロック読み出し要求送出により、MSブロックを取得する間隔(MS到着間隔)は、平均間隔となるようにする。ブロック読み出し要求送出時刻に達したときに、それぞれのコマンドの遅延要求値をもとに、MS到着スロットの割り付けおよび遅延限界値算出を行う。
The reported value management unit 111 checks whether or not the block acquisition request interval by the ReadBlock command from the user is as reported by GetResource. The time obtained by adding the delay request value added to the command to the arrival time of ReadBlock is the request arrival time of the block. Check whether the requested arrival time interval of this block is as reported. If there is a violation, a notification of violation is given. Also, it is confirmed that the delay request value is not too small. That is, when the following equation (2) is established, the allowable delay value in the switching device 1 is D_net and the minimum delay limit value in the storage device 108 is D_dsk_min, and a violation is notified to the user.
D_lim <D_net + D_dsk_min + 2 × T_min (2) On the other hand, if it is as reported by GetResource, arrival of ReadBlock is notified to the slot allocation unit 103, the address search unit 104, and the external network I / O control unit 106. The slot allocation unit 103 determines a block read request transmission interval so that data blocks can be continuously provided in the requested bandwidth. By sending a block read request, the interval for acquiring MS blocks (MS arrival interval) is set to be an average interval. When the block read request sending time is reached, MS arrival slot allocation and delay limit value calculation are performed based on the delay request value of each command.

ただし、同一サーバユニット内宛の場合には、スロットの割り付けは行わない。ブロック読み出し要求に付与する遅延限界値D_dskは、次式(3)のように規定される。
D_dsk=D_lim …(3)
However, slots are not allocated when addressed to the same server unit. The delay limit value D_dsk given to the block read request is defined as the following equation (3).
D_dsk = D_lim (3)

他のサーバユニット宛の場合には、割り付けるスロットは、以下の方法で選択する。ブロック読み出し要求を送出する時刻をT_reqとする。次式(4)を満たす時刻Tの間で、このユーザのために予約されているスロットを割り付ける。予約されているスロットが複数存在する場合には、最も早い時刻を選択する。
T_req+D_lim−2×T_min<t≦T_req+D_lim …(4)
In the case of addressing to another server unit, the slot to be allocated is selected by the following method. The time at which the block read request is sent is T_req. A slot reserved for this user is allocated between times T satisfying the following expression (4). If there are a plurality of reserved slots, the earliest time is selected.
T_req + D_lim−2 × T_min <t ≦ T_req + D_lim (4)

ブロック読み出し要求に付与する遅延限界値D_dskは、割り付けたスロットの時刻をt_arv、交換装置1での遅延許容値をD_netとして、次式(5)で求められる。
D_dsk=t_arv−T_req−D_net …(5)
The delay limit value D_dsk to be given to the block read request is obtained by the following equation (5), where t_arv is the time of the assigned slot and D_net is the allowable delay value in the switching apparatus 1.
D_dsk = t_arv−T_req−D_net (5)

スロット割り当て部103は、要求送出部105に、遅延限界値をパラメータとした、ブロック読み出し要求の送出を指示する。スロット割り当て部103は、また、予約されたが、割り当てられなかった到着スロットをONとする。図4において、矢印834〜838は、ReadBlockメッセージの到着を示している。参照番号839〜843は、それぞれのReadBlockメッセージに割り当てたMS到着スロットを示している。矢印844〜848は、ブロック読み出し要求の送出の指示を行うタイミングを示している。要求送出部105では、アドレス検索部104により申告された宛先に、ブロック読み出し要求を送出する。内部メッセージインターフェース部107では、ブロック読み出し要求の送信を実行する。宛先となったサーバユニット3においては、内部メッセージインターフェース部107を介して内部ネットワーク制御部110に、ブロック読み出し要求が到着する。内部ネットワーク制御部110では、パラメータとして付与された遅延限界値をもとに、読み出したMSの送出を指示する時刻を算出し、記憶する。また、記憶制御部109に対してMSの読み出しを指示する。記憶制御部109では、記憶装置108より要求されたMSの読み出しを行う。内部ネットワークI/O制御部110では、記憶装置より読み出されたMSについて、ブロック読み出し要求が到着してから遅延限界値に示された時間の後に、サーバユニットから交換装置への出力を許可する。読み出されたMSは、内部メッセージインターフェース部107を介して外部ネットワークI/O制御部106に到着する。外部ネットワークI/O制御部106では、時刻T_req+D_limにユーザへの送出を指示する。図4において、参照番号849〜853は、MSが外部ネットワークI/O制御部106に到着したタイミングを示し、参照番号854〜858は、MSをユーザに送出するタイミングを示している。   The slot allocation unit 103 instructs the request transmission unit 105 to transmit a block read request using the delay limit value as a parameter. The slot allocation unit 103 also turns on arrival slots that have been reserved but not allocated. In FIG. 4, arrows 834 to 838 indicate the arrival of the ReadBlock message. Reference numerals 839 to 843 indicate MS arrival slots assigned to the respective ReadBlock messages. Arrows 844 to 848 indicate the timing for instructing transmission of a block read request. The request sending unit 105 sends a block read request to the destination declared by the address search unit 104. The internal message interface unit 107 transmits a block read request. In the destination server unit 3, a block read request arrives at the internal network control unit 110 via the internal message interface unit 107. The internal network control unit 110 calculates and stores a time for instructing transmission of the read MS based on the delay limit value given as a parameter. Further, the storage control unit 109 is instructed to read the MS. The storage control unit 109 reads the MS requested from the storage device 108. In the internal network I / O control unit 110, for the MS read from the storage device, the output from the server unit to the switching device is permitted after the time indicated by the delay limit value after the block read request arrives. . The read MS arrives at the external network I / O control unit 106 via the internal message interface unit 107. The external network I / O control unit 106 instructs transmission to the user at time T_req + D_lim. In FIG. 4, reference numbers 849 to 853 indicate the timing at which the MS arrives at the external network I / O control unit 106, and reference numbers 854 to 858 indicate the timing at which the MS is sent to the user.

リソース記述子による指定がないReadBlockメッセージについては、図5における非優先フラグがONとなっているスロットに割り当てを行い、ブロック読み出し要求を送出する。   For a ReadBlock message that is not specified by the resource descriptor, it is assigned to a slot for which the non-priority flag in FIG.

(7)ブロック書き込み動作
外部からWriteBlockコマンドと共に到着するストリームデータは、申告値管理部111において、GetResourceにより確保した帯域を越えて到着していないかどうかチェックされる。違反している場合には、違反通知が行われる。GetResourceにより確保した帯域の範囲内で到着している場合には、スロット割り当て部103において、MSに分割され、アドレス検索部104において、宛先が決定され、ブロック書き込み要求として送出される。ここで、ブロック書き込み要求には、スロット割り当て部103にて、宛先となるサーバユニットの書き込み用スロットを必ず割り付ける。ブロック書き込み要求は、割り付けられた時刻に送出される。
(7) Block writing operation The stream data arriving from the outside together with the WriteBlock command is checked by the report value management unit 111 to see if it has arrived beyond the bandwidth secured by GetResource. In case of violation, a notification of violation is given. When arriving within the range of the band secured by GetResource, the slot allocation unit 103 divides it into MSs, the address search unit 104 determines the destination, and sends it as a block write request. Here, for the block write request, the slot allocation unit 103 always assigns the write slot of the destination server unit. The block write request is sent at the allocated time.

(第2の実施形態)
図9は、本発明の第2の実施形態に係るファイルシステムの構成を示すブロック図である。図9において、本ファイルシステムは、ファイルマネージャ901と、複数のI/Oユニット902と、複数のブロック格納ユニット905と、交換装置908とを備えている。
(Second Embodiment)
FIG. 9 is a block diagram showing a configuration of a file system according to the second embodiment of the present invention. In FIG. 9, the file system includes a file manager 901, a plurality of I / O units 902, a plurality of block storage units 905, and an exchange device 908.

ファイルマネージャ901は、ファイルシステム全体を管理する。すなわち、このファイルマネージャ901は、図1に示すファイルマネージャ2と同様の機能を有する。各I/Oユニット902は、ユーザからのファイルの読み出しや、書き込みの要求を受け付けて、ユーザに対して、ファイルシステムが管理する記憶装置から読み出したデータやメッセージを送信する。各ブロック格納ユニット905は、ファイルシステムが管理するデータを記憶する記憶装置を保持し、記憶装置からのデータの読み出しや書き込みを制御する。交換装置908は、ファイルマネージャ901、各I/Oユニット902、各ブロック格納ユニット905を接続し、データやメッセージのやりとりを制御する。   The file manager 901 manages the entire file system. That is, this file manager 901 has the same function as the file manager 2 shown in FIG. Each I / O unit 902 accepts a file read or write request from the user, and transmits data or a message read from a storage device managed by the file system to the user. Each block storage unit 905 holds a storage device that stores data managed by the file system, and controls reading and writing of data from the storage device. The exchange device 908 connects the file manager 901, each I / O unit 902, and each block storage unit 905, and controls the exchange of data and messages.

本ファイルシステムが管理するデータは、ブロック格納ユニット905内に存在する記憶装置に格納されている。各I/Oユニット902におけるファイルアクセス部の構成は、図10に示すようになっている。図10に示した各ブロックの機能は、図2における同一名称のブロックの機能と同様である。各ブロック格納ユニット905におけるファイルアクセス部の構成は、図11に示すようになっている。図11に示した各ブロックの機能もまた、図2における同一名称のブロックと同様の機能を有している。すなわち、I/Oユニット902およびブロック格納ユニット905は、協働して、図1のサーバユニット3と同様の機能を果たしている。   Data managed by this file system is stored in a storage device existing in the block storage unit 905. The configuration of the file access unit in each I / O unit 902 is as shown in FIG. The function of each block shown in FIG. 10 is the same as the function of the block having the same name in FIG. The configuration of the file access unit in each block storage unit 905 is as shown in FIG. The function of each block shown in FIG. 11 also has the same function as the block having the same name in FIG. That is, the I / O unit 902 and the block storage unit 905 cooperate to perform the same function as the server unit 3 in FIG.

(第3の実施形態)
図12は、本発明の第3の実施形態に係るファイルシステムの構成を示すブロック図である。図12において、本ファイルシステムは、メッセージインターフェース部1201と、リソース管理部1202と、読み出し/書き込み制御部1203と、記憶装置1204と、申告値管理部1205とを備えている。
(Third embodiment)
FIG. 12 is a block diagram showing a configuration of a file system according to the third embodiment of the present invention. In FIG. 12, the file system includes a message interface unit 1201, a resource management unit 1202, a read / write control unit 1203, a storage device 1204, and a reported value management unit 1205.

メッセージインターフェース部1201は、ユーザからのメッセージの送受信を制御する。リソース管理部1202は、リソースの使用状況を管理する。読み出し/書き込み制御部1203は、記憶装置1204からの読み出しや書き込みを制御する。記憶装置1204には、データが格納されている。申告値管理部1205は、読み出し、書き込みメッセージのパラメータをチェックする。前述した第1の実施形態と同様に、図12におけるファイルシステムにおいても、GetResourceメッセージによりリソースの確保を行う。リソース管理部1202は、記憶装置1204へのアクセス可能量と、現在の使用量とを管理している。   The message interface unit 1201 controls message transmission / reception from the user. The resource management unit 1202 manages the usage status of resources. A read / write control unit 1203 controls reading and writing from the storage device 1204. Data is stored in the storage device 1204. The declared value management unit 1205 checks the parameters of the read and write messages. Similar to the first embodiment described above, the file system shown in FIG. 12 also secures resources using the GetResource message. The resource management unit 1202 manages the accessible amount to the storage device 1204 and the current usage amount.

以上、本発明をいくつかの実施形態について説明したが、本発明は上記各実施形態に限定されないのは勿論である。例えば、以下のようなことが言える。
(1)メッセージの名称は、一例を示したものであり、各実施形態で使用した名称に限定されない。また、その発行順序についても規定しない。
(2)各メッセージのパラメータは、関連する部分の一例を挙げており、これに限定されない。例えば、予めGetResourceメッセージで確保する帯域量が決まっている場合には、Tは、パラメータとして与えず、システムで記憶していてもよい。
(3)記憶装置108は、物理的に複数に分かれている場合もあり得る。
(4)リソース管理部202では、処理能力の最大値および使用量を単位時間当たりの読み出しデータ量であるとしたが、この方法に限らない。単位時間当たりの書き込みデータ量にする方法や、読み出し、書き込み別に最大値を定める方法も考えられる。
While the present invention has been described with respect to several embodiments, it is needless to say that the present invention is not limited to the above embodiments. For example, the following can be said.
(1) The name of the message is an example, and is not limited to the name used in each embodiment. Also, the issue order is not specified.
(2) The parameter of each message is an example of a related portion, and is not limited to this. For example, when the amount of bandwidth to be secured by the GetResource message is determined in advance, T may be stored in the system without being given as a parameter.
(3) The storage device 108 may be physically divided into a plurality.
(4) In the resource management unit 202, the maximum value and the usage amount of the processing capacity are the read data amount per unit time. However, the present invention is not limited to this method. A method of setting the amount of write data per unit time and a method of determining a maximum value for each reading and writing are also conceivable.

以上説明したように、第1〜第3の実施形態では、GetResourceメッセージを受け取ったときに、ファイルシステム内部の帯域を確保することによって、ファイルの読み出し、書き込みについて、遅延品質を保証することが可能となる。そして、確保した帯域を用いて複数のファイルの読み出しまたは書き込みを実現することにより、無駄な帯域を確保する必要がなく、ファイルシステム内部のリソースを有効利用することができる。   As described above, in the first to third embodiments, when a GetResource message is received, it is possible to guarantee the delay quality for file reading and writing by securing the bandwidth inside the file system. It becomes. By realizing reading or writing of a plurality of files using the reserved bandwidth, it is not necessary to secure a useless bandwidth, and resources inside the file system can be used effectively.

また、書き込み時には、要求帯域に一定値を乗じたものを確保する帯域とすることにより、予め書き込み用と、読み出し用にファイルシステムの処理能力を分割しておく必要がなく、ユーザからの要求に応じて容易に比率を変えることができ、リソースを効率よく使用することができる。   In addition, at the time of writing, it is necessary to secure a bandwidth obtained by multiplying the required bandwidth by a fixed value, so that it is not necessary to divide the processing capacity of the file system for writing and for reading in advance. Accordingly, the ratio can be easily changed, and resources can be used efficiently.

さらに、ゲットリソースメッセージにより申告された遅延時間を満たす帯域と、ゲットリソースメッセージの要求に従って確保すべき帯域との内、大きい方の帯域を確保可能かを判断して、帯域の割り当てを行うことにより、複数の遅延品質をサポートすることが可能となる。   Furthermore, by determining whether it is possible to secure the larger bandwidth among the bandwidth that satisfies the delay time declared by the get resource message and the bandwidth that should be secured according to the request of the get resource message, the bandwidth is allocated. It becomes possible to support multiple delay qualities.

また、ブロック読み出し要求に対してMS到着スロットを割り当てることにより、ブロック格納ユニットから交換装置に入力されるブロックの個数を時間的に平滑化することができる。その結果、複数のブロック格納ユニットから読み出されて交換装置に入力されるブロックが、I/Oユニットへの入力側でぶつかって交換装置内部で廃棄されることを回避することができる。また、ブロックのトラヒックの時間による変動を少なくすることができ、交換装置を効率よく利用することが可能となる。   Also, by assigning an MS arrival slot to a block read request, the number of blocks input from the block storage unit to the switching apparatus can be smoothed in time. As a result, it is possible to avoid blocks that are read from a plurality of block storage units and input to the switching apparatus from colliding on the input side to the I / O unit and being discarded inside the switching apparatus. In addition, the fluctuation due to the traffic time of the block can be reduced, and the exchange apparatus can be used efficiently.

また、MS到着スロットの予約を、確保された帯域が大きいものから小さいものの順で行うことにより、すべての帯域の遅延品質を保証しつつ、各スロットの最大登録数を一定にして、スロットを100%利用することが可能となる。このとき、要求送出数の時間変動はなくなり、最も効率良く交換装置を利用することが可能となる。   In addition, reservation of MS arrival slots is performed in the order from the largest reserved band to the smallest band, thereby guaranteeing the delay quality of all bands and keeping the maximum number of registrations in each slot constant. % Can be used. At this time, there is no time variation in the number of requested transmissions, and the exchange device can be used most efficiently.

さらに、使用しないMS到着スロットを、リソースの獲得を行っていないユーザからのデータの読み出しに割り当てることにより、さらにファイルシステムの使用効率を向上させることが可能となる。   Furthermore, by assigning an unused MS arrival slot to reading data from a user who has not acquired a resource, it is possible to further improve the use efficiency of the file system.

例えばビデオサーバのように、大規模でかつ連続性を要求されるデータを扱うファイルシステムにおいては、通常、複数の記憶装置が設けられ、1つのファイルのデータが各記憶装置に分散して格納されている。このような状況下では、1つのファイルシステムに対して、帯域や記憶容量(以下、単に容量と称する)の異なる記憶装置が複数個設けられた場合、入出力帯域の制御が問題となる。従来は、各記憶装置が持つ能力(帯域、容量)の差を考慮した制御をしていなかったため、各記憶装置の能力を効率的に活用することができなかった。そこで、以下には、容量や入出力帯域の異なる複数の記憶装置の制御を容易にし、しかも要求される入出力帯域に合わせて記憶装置の使用効率を最適化できるようなディスク管理装置およびそれを用いたファイルシステムについて説明する。   For example, in a file system that handles large-scale data that requires continuity, such as a video server, normally, a plurality of storage devices are provided, and data of one file is distributed and stored in each storage device. ing. Under such circumstances, when a plurality of storage devices having different bandwidths and storage capacities (hereinafter simply referred to as capacities) are provided for one file system, control of input / output bandwidths becomes a problem. Conventionally, since control was not performed in consideration of the difference in capacity (bandwidth, capacity) of each storage device, the capacity of each storage device could not be utilized efficiently. Therefore, a disk management device that can easily control a plurality of storage devices having different capacities and input / output bandwidths, and that can optimize the use efficiency of the storage devices in accordance with the required input / output bandwidths, and The file system used will be described.

(第4の実施形態)
図13は、本発明の第4の実施形態に係るディスク管理装置の構成を示すブロック図である。図13において、本ディスク管理装置1300は、ディスク帯域管理部1301と、ディスク容量管理部1302と、分配比率決定部1303と、帯域計算部1304と、容量計算部1305と、全ディスク帯域制御部1306と、全ディスク容量制御部1307とを備えている。
(Fourth embodiment)
FIG. 13 is a block diagram showing a configuration of a disk management apparatus according to the fourth embodiment of the present invention. In FIG. 13, the present disk management device 1300 includes a disk bandwidth management unit 1301, a disk capacity management unit 1302, a distribution ratio determination unit 1303, a bandwidth calculation unit 1304, a capacity calculation unit 1305, and an all disk bandwidth control unit 1306. And a total disk capacity control unit 1307.

ディスク帯域管理部1301は、ファイルシステムに設けられた各記憶装置の入出力帯域を管理している。ディスク容量管理部1302は、ファイルシステムに設けられた各記憶装置の容量を管理している。分配比率決定部1303は、ファイルシステムで規定されたアルゴリズムに従って、各記憶装置にデータを分配する比率を決定する。帯域計算部1304は、ディスク帯域管理部130で管理している各記憶装置の帯域に、分配比率決定部1303で決定された分配比率の逆数を掛けた値の中で、最も値が小さいものを、全記憶装置をまとめた場合の帯域として計算する。容量計算部1305は、ディスク容量管理部1302で管理している各記憶装置の容量に、分配比率決定部1303で決定された分配比率の逆数を掛けた値の中で、最も値が小さいものを、全記憶装置をまとめた場合の容量として計算する。全ディスク帯域制御部1306は、分配比率決定部1303と帯域計算部1304とによって決められた入出力帯域に基づき、全記憶装置の帯域制御を行う。全ディスク容量制御部1307は、分配比率決定部1303と容量計算部1305とによって決められた容量に基づき、全記憶装置の容量制御を行う。   The disk bandwidth management unit 1301 manages the input / output bandwidth of each storage device provided in the file system. The disk capacity management unit 1302 manages the capacity of each storage device provided in the file system. The distribution ratio determining unit 1303 determines a ratio for distributing data to each storage device in accordance with an algorithm defined by the file system. The bandwidth calculation unit 1304 obtains the lowest value among the values obtained by multiplying the bandwidth of each storage device managed by the disk bandwidth management unit 130 by the reciprocal of the distribution ratio determined by the distribution ratio determination unit 1303. The bandwidth is calculated when all the storage devices are collected. The capacity calculation unit 1305 obtains the smallest value among the values obtained by multiplying the capacity of each storage device managed by the disk capacity management unit 1302 by the reciprocal of the distribution ratio determined by the distribution ratio determination unit 1303. Calculated as the capacity when all storage devices are combined. The total disk bandwidth control unit 1306 performs bandwidth control for all storage devices based on the input / output bandwidth determined by the distribution ratio determination unit 1303 and the bandwidth calculation unit 1304. The total disk capacity control unit 1307 controls the capacity of all storage devices based on the capacity determined by the distribution ratio determination unit 1303 and the capacity calculation unit 1305.

以上のように構成されたディスク管理装置1300について、その動作を以下に説明する。まず、分配比率決定部1303で実行される帯域設定アルゴリズムの一例について説明する。   The operation of the disk management apparatus 1300 configured as described above will be described below. First, an example of the bandwidth setting algorithm executed by the distribution ratio determining unit 1303 will be described.

図14は、記憶装置の帯域に比例してデータを分配する比率を決定する、帯域優先レイアウトについて示している。例えば、容量と帯域とが異なる3つの記憶装置がある場合に、各記憶装置へのデータの分配を、帯域に比例して行うと、各記憶装置への分配の比率は、図14に示す分配比率の値になる。また、分配比率の逆数を各記憶装置の帯域に掛けた値を実効帯域とし、分配比率の逆数を各記憶装置の容量に掛けた値を実効容量とする。また、全記憶装置まとめた場合の帯域を、各記憶装置の実効帯域の中で最も値が小さいもの、全記憶装置まとめた場合の容量を、各記憶装置の実効容量の中で最も値が小さいものと定義する。すると、全記憶装置まとめた場合は、帯域が6Mbps、容量が6GBの記憶装置と等価と見なすことができる。   FIG. 14 shows a bandwidth priority layout that determines the ratio of distributing data in proportion to the bandwidth of the storage device. For example, when there are three storage devices having different capacities and bandwidths, when data is distributed to each storage device in proportion to the bandwidth, the distribution ratio to each storage device is as shown in FIG. It becomes a ratio value. A value obtained by multiplying the reciprocal of the distribution ratio by the bandwidth of each storage device is defined as an effective bandwidth, and a value obtained by multiplying the reciprocal of the distribution ratio by the capacity of each storage device is defined as an effective capacity. In addition, the bandwidth when all storage devices are combined has the smallest value in the effective bandwidth of each storage device, and the capacity when all storage devices are combined has the smallest value among the effective capacities of each storage device. It is defined as a thing. Then, when all the storage devices are combined, it can be regarded as equivalent to a storage device having a bandwidth of 6 Mbps and a capacity of 6 GB.

図15は、記憶装置の容量に比例してデータを分配する比率を決定する、容量優先レイアウトについて示している。例えば、容量と帯域とが異なる3つの記憶装置がある場合に、各記憶装置へのデータの分配を、容量に比例して行うと、各記憶装置への分配の比率は、図15に示す分配比率の値になる。また、分配比率の逆数を各記憶装置の帯域に掛けた値を実効帯域とし、分配比率の逆数を各記憶装置の容量に掛けた値を実効容量とする。また、全記憶装置まとめた場合の帯域を、各記憶装置の実効帯域の中で最も値が小さいもの、全記憶装置まとめた場合の容量を、各記憶装置の実効容量の中で最も値が小さいものと定義する。すると、全記憶装置まとめた場合は、帯域が4Mbps、容量が8GBの記憶装置と等価と見なすことができる。   FIG. 15 shows a capacity priority layout that determines the ratio of distributing data in proportion to the capacity of the storage device. For example, if there are three storage devices with different capacities and bandwidths, and the distribution of data to each storage device is performed in proportion to the capacity, the distribution ratio to each storage device is as shown in FIG. It becomes a ratio value. A value obtained by multiplying the reciprocal of the distribution ratio by the bandwidth of each storage device is defined as an effective bandwidth, and a value obtained by multiplying the reciprocal of the distribution ratio by the capacity of each storage device is defined as an effective capacity. In addition, the bandwidth when all storage devices are combined has the smallest value in the effective bandwidth of each storage device, and the capacity when all storage devices are combined has the smallest value among the effective capacities of each storage device. It is defined as a thing. Then, when all the storage devices are combined, it can be regarded as equivalent to a storage device having a bandwidth of 4 Mbps and a capacity of 8 GB.

図16は、帯域優先レイアウトと容量優先レイアウトとを混在させてデータを分配する比率を決定する、帯域設定レイアウトについて示している。例えば、容量と帯域とが異なる3つの記憶装置がある場合に、各記憶装置への分配を、帯域優先レイアウトの比率がα、容量優先レイアウトの比率が(1−α)で実行すると、各記憶装置への分配の比率は、図16に示す分配比率の値になる。また、分配比率の逆数を各記憶装置の帯域に掛けた値を実効帯域とし、分配比率の逆数を各記憶装置の容量に掛けた値を実効容量とする。また、全記憶装置まとめた場合の帯域を、各記憶装置の実効帯域の中で最も値が小さいもの、全記憶装置まとめた場合の容量を、各ディスクの実効容量の中で最も値が小さいものと定義する。このとき、全ての記憶装置の実効帯域が5Mbpsを越えるように指示された場合は、αが3/5以上であることが必要である。今、αを3/5に設定すると、全記憶装置まとめた場合は、帯域が5Mbps、容量が20/3GBの記憶装置と等価と見なすことができる。   FIG. 16 shows a bandwidth setting layout that determines the ratio of distributing data by mixing the bandwidth priority layout and the capacity priority layout. For example, when there are three storage devices having different capacities and bandwidths, distribution to each storage device is executed when the bandwidth priority layout ratio is α and the capacity priority layout ratio is (1−α). The distribution ratio to the apparatus is the distribution ratio value shown in FIG. A value obtained by multiplying the reciprocal of the distribution ratio by the bandwidth of each storage device is defined as an effective bandwidth, and a value obtained by multiplying the reciprocal of the distribution ratio by the capacity of each storage device is defined as an effective capacity. Also, the total bandwidth of all storage devices is the smallest in the effective bandwidth of each storage device, and the total bandwidth of all storage devices is the smallest in the effective capacity of each disk. It is defined as At this time, when it is instructed that the effective bandwidth of all the storage devices exceeds 5 Mbps, α needs to be 3/5 or more. Now, if α is set to 3/5, all the storage devices can be regarded as equivalent to a storage device having a bandwidth of 5 Mbps and a capacity of 20/3 GB.

次に、図13に示すディスク管理装置全体の動作について説明する。予めディスク帯域管理部1301には、ファイルシステムに接続された各記憶装置の帯域が設定されている。また、予めディスク容量管理部1302には、ファイルシステムに接続された各記憶装置の容量が設定されている。ファイルシステムとして必要とされる帯域が指示されると、分配比率決定部1303は、ディスク帯域管理部1301に設定されている各記憶装置の帯域の情報と、ディスク容量管理部1302に設定されている各記憶装置の容量の情報とに基づき、上記の帯域設定アルゴリズムに従って、帯域計算部1304および容量計算部1305によって記憶装置全体としての帯域と容量を計算させる。実際にデータの入出力要求が発生すると、全ディスク帯域制御部1306は、帯域計算部1304で計算した記憶装置全体としての帯域によって、各記憶装置の入出力の帯域制御を行う。また、全ディスク容量制御部1307は、容量計算部1305で計算した記憶装置全体としての容量によって、各記憶装置の入出力の容量制御を行う。   Next, the overall operation of the disk management apparatus shown in FIG. 13 will be described. The bandwidth of each storage device connected to the file system is set in advance in the disk bandwidth management unit 1301. In addition, the capacity of each storage device connected to the file system is set in the disk capacity management unit 1302 in advance. When the bandwidth required for the file system is instructed, the distribution ratio determination unit 1303 is set in the disk bandwidth management unit 1302 and the bandwidth information of each storage device set in the disk bandwidth management unit 1301. Based on the information on the capacity of each storage device, the bandwidth calculation unit 1304 and the capacity calculation unit 1305 calculate the bandwidth and capacity of the entire storage device in accordance with the bandwidth setting algorithm. When a data input / output request is actually generated, the total disk bandwidth control unit 1306 controls the bandwidth of the input / output of each storage device according to the bandwidth of the entire storage device calculated by the bandwidth calculation unit 1304. The total disk capacity control unit 1307 controls input / output capacity of each storage device according to the capacity of the entire storage device calculated by the capacity calculation unit 1305.

なお、上記第4の実施形態において個々に扱っている複数の記憶装置を、論理的に1つの記憶装置と見なしたものに置き換えて処理することも可能である。
また、上記第4の実施形態においては、全記憶装置をまとめて処理しているが、まとめる対象を全部の記憶装置ではなく一部の記憶装置に限定しても良い。
Note that it is also possible to replace the plurality of storage devices handled individually in the fourth embodiment with what is logically regarded as one storage device.
In the fourth embodiment, all the storage devices are processed together. However, the objects to be collected may be limited to some storage devices instead of all the storage devices.

このように、入出力帯域、容量の異なる記憶装置を組み合わせて使用する場合に、個々の記憶装置を意識することなく、複数の記憶装置をまとめて帯域、容量の管理を行うことによって、管理が容易となり、また要求される帯域に合わせて使用効率を最適化することができる。   As described above, when a combination of storage devices having different input / output bandwidths and capacities is used, management can be performed by managing the bandwidth and capacity of a plurality of storage devices collectively without being conscious of the individual storage devices. In addition, the usage efficiency can be optimized according to the required bandwidth.

(第5の実施形態)
図17は、図13に示すディスク管理装置を用いたファイルシステムの構成を示すブロック図である。図17において、本ファイルシステムは、記憶装置1708a,1708bと、ファイル属性管理部1709と、帯域管理部1710と、ファイルオープン処理部1711と、帯域獲得部1712と、入出力制御部1713とを備えている。
(Fifth embodiment)
FIG. 17 is a block diagram showing the configuration of a file system using the disk management apparatus shown in FIG. 17, the file system includes storage devices 1708a and 1708b, a file attribute management unit 1709, a bandwidth management unit 1710, a file open processing unit 1711, a bandwidth acquisition unit 1712, and an input / output control unit 1713. ing.

ハードディスク、CD−ROM、MOD、DVD、半導体メモリ等の記憶媒体を含む記憶装置1708a,1708bには、各ファイルのデータが、それぞれ分散して格納されている。ファイル属性管理部1709は、ファイルの属性として帯域特性を管理している。帯域管理部1710は、図13に示すディスク管理装置1300の機能をその一部に含み、ファイルシステムの入出力帯域を管理している。ファイルオープン処理部1711は、データファイルのオープン処理を行う。帯域獲得部1712は、データ入出力に使用する帯域の獲得を行う。入出力制御部1713は、ファイルオープン処理部1711でオープンした複数のファイルに、帯域獲得部1712で獲得した帯域を組み合わせて、複数のファイルから任意のファイルデータを選んで入出力を行う。   Data of each file is distributed and stored in storage devices 1708a and 1708b including storage media such as a hard disk, CD-ROM, MOD, DVD, and semiconductor memory. A file attribute management unit 1709 manages bandwidth characteristics as file attributes. The bandwidth management unit 1710 includes the functions of the disk management device 1300 shown in FIG. 13 as a part thereof, and manages the input / output bandwidth of the file system. The file open processing unit 1711 performs data file open processing. The band acquisition unit 1712 acquires a band used for data input / output. The input / output control unit 1713 combines the plurality of files opened by the file open processing unit 1711 with the band acquired by the band acquisition unit 1712 and selects and inputs arbitrary file data from the plurality of files.

実際は、上記以外にも、帯域特性以外のファイル属性を管理する機能、入出力データを送受信する機能など、種々の構成要素を必要とするが、本発明とは直接の関係がないので、その説明を省略する。   Actually, in addition to the above, various components such as a function for managing file attributes other than the band characteristics and a function for transmitting and receiving input / output data are required. However, the description is not directly related to the present invention. Is omitted.

以上のように構成された第5の実施形態のファイルシステムについて、その動作を以下に説明する。
まず、ディスク管理装置1300は、前述した帯域設定アルゴリズムに従って、各記憶装置へのファイルデータの分配比率を計算する。この分配比率は、レイアウトプロファイル情報中に記述され、ファイルの属性の帯域特性としてファイル属性管理部1709に格納される。
The operation of the file system of the fifth embodiment configured as described above will be described below.
First, the disk management device 1300 calculates the distribution ratio of file data to each storage device according to the bandwidth setting algorithm described above. This distribution ratio is described in the layout profile information, and is stored in the file attribute management unit 1709 as the bandwidth characteristic of the file attribute.

今、ビデオデータを記録した第1のファイルと、音声データを記録した第2のファイルとが存在するものとする。第1のファイルの帯域特性は、入出力に必要な帯域が6Mbpsであり、そのレイアウトプロファイルは、記憶装置1708a,1708bに均等に分配されている。第2のファイルの帯域特性は、入出力に必要な帯域が0.5Mbpsであり、そのレイアウトプロファイルは、記憶装置1708a,1708bに均等に分配されている。   Assume that a first file in which video data is recorded and a second file in which audio data is recorded exist. The bandwidth characteristic of the first file is that the bandwidth required for input / output is 6 Mbps, and the layout profile is evenly distributed to the storage devices 1708a and 1708b. Regarding the bandwidth characteristics of the second file, the bandwidth required for input / output is 0.5 Mbps, and the layout profile is evenly distributed to the storage devices 1708a and 1708b.

このとき、記憶装置1708aおよび1708bには、第1および第2のファイルのデータが、それぞれ均等に分配されて格納されている。ファイル属性管理部1709は、第1および第2のファイルの帯域特性を管理している。   At this time, the data of the first and second files are equally distributed and stored in the storage devices 1708a and 1708b. A file attribute management unit 1709 manages the bandwidth characteristics of the first and second files.

ファイルオープン処理部1711は、ユーザから第1のファイルのファイルオープン要求コマンドを受け取ると、所定のオープン処理を行って、ファイル属性管理部1709から対応する帯域特性を取得する。また、ファイルオープン処理部1711は、ユーザから第2のファイルのファイルオープン要求コマンドを受け取ると、所定のオープン処理を行って、ファイル属性管理部1709から対応する帯域特性を取得する。   When the file open processing unit 1711 receives a file open request command for the first file from the user, the file open processing unit 1711 performs a predetermined open process and acquires the corresponding band characteristics from the file attribute management unit 1709. In addition, when the file open processing unit 1711 receives a file open request command for the second file from the user, the file open processing unit 1711 performs a predetermined open process and acquires the corresponding band characteristic from the file attribute management unit 1709.

次に、帯域獲得部1712は、ユーザから帯域獲得要求コマンドを受け取ると、ファイルオープン処理部1711が取得した帯域特性に従って、第1および第2のファイルを同時に読み出すために必要な帯域を、帯域管理部1710から獲得する。   Next, when receiving the bandwidth acquisition request command from the user, the bandwidth acquisition unit 1712 determines the bandwidth necessary for simultaneously reading the first and second files according to the bandwidth characteristics acquired by the file open processing unit 1711. Obtained from part 1710.

次に、入出力制御部1713は、ユーザから読出要求コマンドを受け取ると、ファイルオープン処理部1711がオープンした第1および第2のファイルに、帯域獲得部1712が獲得した帯域を分割して個別的に割り当て、第1のファイルのビデオデータと、第2のファイルの音声データとを、同期を取りながら記憶装置1708aおよび1708bから同時に読み出す。これによって、映像と音声との同期が取れたストリームデータが作成される。   Next, when receiving a read request command from the user, the input / output control unit 1713 divides the band acquired by the band acquisition unit 1712 into the first and second files opened by the file open processing unit 1711 and individually The video data of the first file and the audio data of the second file are simultaneously read from the storage devices 1708a and 1708b while synchronizing. Thus, stream data in which video and audio are synchronized is created.

なお、上記第5の実施形態においては、各ファイルのデータは、記憶装置1708aおよび1708bに均等に分配されているが、記憶装置の帯域、容量に応じて偏って分配することも可能である。   In the fifth embodiment, the data of each file is evenly distributed to the storage devices 1708a and 1708b. However, it can be distributed unevenly according to the bandwidth and capacity of the storage device.

また、上記第5の実施形態においては、帯域特性の異なる2つファイルのデータを、2つのファイルの帯域特性を加算した帯域を用いて、同時に読み出しているが、複数のファイルのデータを、いずれか1つのファイルの帯域特性により決まる帯域(最も大きい帯域)を用いて、交互に読み出すようにしても良い。このように、複数のファイルのデータを、1つの帯域を用いて交互に読み出すことにより、AV同期などのアプリケーションの作成を容易にすることができる。   Further, in the fifth embodiment, data of two files having different band characteristics are simultaneously read using a band obtained by adding the band characteristics of the two files. Alternatively, the band may be read alternately using the band determined by the band characteristics of one file (the largest band). Thus, by alternately reading out data of a plurality of files using one band, it is possible to easily create an application such as AV synchronization.

ところで、ファイルシステムの一例として、複数のクライアントに映像情報を提供する形態の映像情報提供システムでは、一般に、各クライアントにおいて、送信された情報を一時記憶するためのバッファが設けられている。各クライアントは、それぞれのバッファの容量と、受信する映像のビットレートで定まる周期で、ファイルシステム内のサーバにサービスリクエストを送信し、当該サーバは、サービスリクエストに応じて、所定の量の映像情報を、各クライアントに送信する。しかしながら、サーバには、一度に送信可能な情報量の上限があるため、サービスリクエストが競合する場合、映像の不連続が発生することのないよう、各クライアントからのサービスリクエストのスケジューリングを行う必要がある。   Incidentally, as an example of a file system, in a video information providing system that provides video information to a plurality of clients, a buffer for temporarily storing transmitted information is generally provided in each client. Each client transmits a service request to a server in the file system at a period determined by the capacity of each buffer and the bit rate of the received video, and the server receives a predetermined amount of video information according to the service request. Is sent to each client. However, since the server has an upper limit on the amount of information that can be transmitted at once, if service requests compete, it is necessary to schedule service requests from each client so that video discontinuity does not occur. is there.

そのため、従来の映像情報提供システムにおけるサーバには、周期的に処理することが求められるサービスリクエストのスケジューリングを行うためのスケジューリング装置が設けられている。従来のスケジューリング装置としては、特公平7−104792号公報に記載されたものが知られている。この装置は、スケジュール制御プログラムが、各タスク毎でかつ優先順位毎に、優先順位対応処理待ちキューを設けるようにし、これにより、より優先順位の高い処理を先に実行し得るようにするものである。   Therefore, a server in a conventional video information providing system is provided with a scheduling device for scheduling service requests that are required to be processed periodically. As a conventional scheduling apparatus, the one described in Japanese Patent Publication No. 7-104792 is known. In this apparatus, the schedule control program is provided with a priority processing queue for each task and for each priority so that a process with a higher priority can be executed first. is there.

上記従来のスケジューリング装置を用いて、優先度の高いクライアント、すなわち、サービスリクエストを送信する周期がより短いクライアントからのサービスリクエストが優先して実行されるようにすることにより、遅延が発生する回数を少なくすることができ、従って、映像の不連続が発生する頻度を低くすることができる。   By using the above-described conventional scheduling device, a service request from a client having a high priority, i.e., a client having a shorter cycle for transmitting a service request, is executed preferentially. Therefore, the frequency of video discontinuity can be reduced.

しかしながら、上記従来のスケジューリング装置は、より短い周期で送信される、優先順位が上位のクライアントからのサービスリクエストを、常に優先して実行させるため、下位のクライアントからのものが、長時間、実行されない場合がある。   However, since the conventional scheduling apparatus always executes a service request from a higher-priority client, which is transmitted in a shorter cycle, with higher priority, a lower-order client is not executed for a long time. There is a case.

しかも、上記下位のクライアントからのサービスリクエストが実行されるまでの時間は、他のクライアントからのサービスリクエストの個数により変動する。このため、上記下位のクライアント側で、遅延時間を考慮に入れた周期でサービスリクエストの送信を行うようにして、映像の不連続が発生するのを防ぐことができない。   Moreover, the time until the service request from the lower client is executed varies depending on the number of service requests from other clients. For this reason, it is impossible to prevent the discontinuity of the video from occurring by transmitting the service request at a period taking into account the delay time on the lower client side.

また、全クライアントから送信されるサービスリクエストの個数の時間的な平均が、サーバの処理能力を超えている場合には、時間の経過とともに、処理しきれずに残されるサービスリクエストの数が増加する。この場合、当然ながら、どのような順序でサービスリクエストを実行させても、映像の不連続が発生するのを防ぐことができない。   Further, when the time average of the number of service requests transmitted from all clients exceeds the processing capability of the server, the number of service requests that cannot be processed increases as time passes. In this case, as a matter of course, it is impossible to prevent the discontinuity of the video from occurring in any order.

また、複数のサーバが、共通の伝送路を介して、クライアントに映像情報を提供する形態の映像情報提供システムでは、伝送路に、一度に伝送可能な情報量の上限があるため、各サーバへのサービスリクエストのスケジューリングを行う必要がある。そこで、上記従来のスケジューリング装置を用いてスケジューリングを行った場合、上記と同様の課題が生じる。   Further, in a video information providing system in which a plurality of servers provide video information to clients via a common transmission path, there is an upper limit on the amount of information that can be transmitted at one time on the transmission path. Need to schedule service requests. Therefore, when scheduling is performed using the conventional scheduling device, the same problem as described above occurs.

そこで、以下には、サーバから複数のクライアントに、映像情報などの連続した情報が分割して提供される際、情報の不連続が発生しないよう、各クライアントからのサービスリクエストのスケジューリングを行うことができるスケジューリング装置について説明する。   Therefore, in the following, when continuous information such as video information is divided and provided from a server to a plurality of clients, a service request from each client is scheduled so that discontinuity of information does not occur. A possible scheduling apparatus will be described.

また、複数のサーバからクライアントに、連続した情報が分割して提供される際、情報の不連続が発生しないよう、各サーバへのサービスリクエストのスケジューリングを行うことができるスケジューリング装置について説明する。   Also, a description will be given of a scheduling apparatus capable of scheduling service requests to each server so that discontinuity of information does not occur when continuous information is divided and provided from a plurality of servers to clients.

(第6の実施形態)
以下、本発明の第6の実施形態について、図面を参照しながら説明する。
図18は、本発明の第6の実施形態に係るスケジューリング装置の構成を示すブロック図である。図18の装置は、登録指示部1811、実行権発生周期テーブル1812、実行権発生部1813、処理待ちキュー1814および実行指示部1815を備えている。実行指示部1815は、実行権キュー1816を含む。
(Sixth embodiment)
Hereinafter, a sixth embodiment of the present invention will be described with reference to the drawings.
FIG. 18 is a block diagram showing a configuration of a scheduling apparatus according to the sixth embodiment of the present invention. The apparatus in FIG. 18 includes a registration instruction unit 1811, an execution right generation cycle table 1812, an execution right generation unit 1813, a process waiting queue 1814, and an execution instruction unit 1815. The execution instruction unit 1815 includes an execution right queue 1816.

図19は、図18のスケジューリング装置を用いた、映像情報提供システムの構成を示すブロック図である。図19のシステムは、ファイルシステムの一例の映像情報提供装置1920および複数のクライアント(1〜n)1921で構成される。映像情報提供装置1920は、スケジューリング装置1810およびサーバ1922を含む。   FIG. 19 is a block diagram showing a configuration of a video information providing system using the scheduling apparatus of FIG. The system in FIG. 19 includes a video information providing device 1920 as an example of a file system and a plurality of clients (1 to n) 1921. The video information providing device 1920 includes a scheduling device 1810 and a server 1922.

図19のクライアント(1〜n)1921はそれぞれ、映像情報提供装置1920のサーバ1922に、周期的に読み出し要求を送信する。クライアント(1〜n)1921にはバッファおよびモニタが設けられており、クライアント(1〜n)1921は、提供される映像情報をこのバッファに一時蓄え、蓄えた情報を読み出しながら、モニタに映像を表示する。スケジューリング装置1810は、サーバ1922から、クライアント(1〜n)1921に、それぞれ周期的に映像情報が提供されるよう、読み出し要求のスケジューリングを行う。サーバ1922は、スケジューリング装置1810の指示に応じて、クライアント(1〜n)1921に、映像情報を所定の量ずつ送信する。   Each of the clients (1 to n) 1921 in FIG. 19 periodically transmits a read request to the server 1922 of the video information providing apparatus 1920. The client (1 to n) 1921 is provided with a buffer and a monitor, and the client (1 to n) 1921 temporarily stores the provided video information in the buffer and reads the stored information while displaying the video on the monitor. indicate. The scheduling apparatus 1810 schedules read requests so that video information is periodically provided from the server 1922 to the clients (1 to n) 1921, respectively. The server 1922 transmits video information by a predetermined amount to the clients (1 to n) 1921 in accordance with an instruction from the scheduling device 1810.

図18の登録指示部1811は、図19のクライアント(1〜n)1921からの申告を受けて、クライアント(1〜n)1921毎の、実行権を発生させるべき周期を、実行権発生周期テーブル1812に指示して登録させる。実行権発生周期テーブル1812は、実行権を発生させるべき周期を登録する。実行権発生部1813は、所定の周期(以下、Tslt)で起動され、実行権発生周期テーブル1812に登録された周期に基づいて、クライアント(1〜n)1921毎の実行権を発生させる。実行権発生部1813はまた、発生させた実行権に、優先度を示す評価指数(以下、Nsft)を付与する。処理待ちキュー1814は、クライアント(1〜n)1921からの読み出し要求をキューイングする。実行指示部1815は、周期Tsltで起動され、処理待ちキュー1814にキューイングされている読み出し要求のうち、実行権発生部1813が発生させた実行権に対応するクライアント1921からの読み出し要求を取得して、その読み出し要求を実行するよう、サーバ1922に指示する。   18 receives the report from the clients (1 to n) 1921 in FIG. 19 and the period for generating the execution right for each client (1 to n) 1921 is displayed in the execution right generation period table. Instruct 1812 to register. The execution right generation cycle table 1812 registers a cycle in which an execution right should be generated. The execution right generation unit 1813 is activated at a predetermined cycle (hereinafter, “Tslt”), and generates an execution right for each client (1 to n) 1921 based on the cycle registered in the execution right generation cycle table 1812. The execution right generation unit 1813 also assigns an evaluation index (hereinafter referred to as Nsft) indicating the priority to the generated execution right. The processing queue 1814 queues read requests from the clients (1 to n) 1921. The execution instruction unit 1815 is activated at the cycle Tslt, and acquires a read request from the client 1921 corresponding to the execution right generated by the execution right generation unit 1813 among the read requests queued in the processing queue 1814. The server 1922 is instructed to execute the read request.

図20は、図19の映像情報提供装置1920とクライアント(1〜n)1921との間で、信号が送受信される様子を示すシーケンス図である。図20のリソース獲得要求31は、送信元のクライアント1921を識別するための情報(以下、クライアントID)と、読み出しを希望する映像情報名および読み出し位置とを通知するために、クライアント(1〜n)1921が映像情報提供装置1920に送信する信号である。リソース獲得要求31には、さらに、クライアント(1〜n)1921がそれぞれ希望する、読み出し要求を送信する周期、すなわち、上記実行権を発生させるべき周期(以下、Treq)が含まれる。リソース獲得応答32は、希望されたTreqで、映像情報を提供できるか否かを通知するために、映像情報提供装置1920がクライアント(1〜n)1921に送信する信号である。   FIG. 20 is a sequence diagram showing how signals are transmitted and received between the video information providing apparatus 1920 and the clients (1 to n) 1921 in FIG. The resource acquisition request 31 in FIG. 20 includes a client (1 to n) in order to notify information (hereinafter referred to as a client ID) for identifying the transmission source client 1921, a video information name desired to be read, and a reading position. ) 1921 is a signal transmitted to the video information providing apparatus 1920. The resource acquisition request 31 further includes a cycle for transmitting a read request desired by each of the clients (1 to n) 1921, that is, a cycle for generating the execution right (hereinafter referred to as Treq). The resource acquisition response 32 is a signal transmitted from the video information providing apparatus 1920 to the clients (1 to n) 1921 in order to notify whether or not video information can be provided with a desired Treq.

読み出し要求33は、読み出しを希望する際に、クライアント(1〜n)1921が映像情報提供装置1920に送信する信号である。読み出し応答34は、読み出し要求33に応じて、映像情報提供装置1920がクライアント(1〜n)1921に送信する映像情報である。リソース開放要求35は、希望する映像情報の読み出しが完了したことを通知するために、クライアント(1〜n)1921が映像情報提供装置1920に送信する信号であって、クライアントIDが含まれる。リソース解放応答36は、リソース開放要求35に応じて、映像情報の提供を停止することを通知するために、映像情報提供装置1920がクライアント(1〜n)1921に送信する信号である。   The read request 33 is a signal transmitted from the client (1 to n) 1921 to the video information providing apparatus 1920 when desiring to read. The read response 34 is video information that the video information providing apparatus 1920 transmits to the clients (1 to n) 1921 in response to the read request 33. The resource release request 35 is a signal transmitted from the client (1 to n) 1921 to the video information providing apparatus 1920 in order to notify that reading of desired video information is completed, and includes a client ID. The resource release response 36 is a signal transmitted from the video information providing apparatus 1920 to the clients (1 to n) 1921 in order to notify that the provision of the video information is stopped in response to the resource release request 35.

図21は、図18の実行権発生周期テーブル1812の登録内容を示す図である。図21に示すように、実行権発生周期テーブル1812は、クライアント(1〜n)1921毎のクライアントID、Treqおよび実行権発生周期オフセット(以下、Tofs)を登録する。
図22は、図18の処理待ちキュー1814のキューイング内容を示す図である。図22に示すように、処理待ちキュー1814は、クライアント(1〜n)1921からの読み出し要求を、クライアント(1〜n)1921毎に、キューイングする。
FIG. 21 is a diagram showing the registration contents of the execution right generation cycle table 1812 of FIG. As illustrated in FIG. 21, the execution right generation cycle table 1812 registers the client ID, Treq, and execution right generation cycle offset (hereinafter, Tofs) for each client (1 to n) 1921.
FIG. 22 is a diagram showing the queuing contents of the process waiting queue 1814 of FIG. As illustrated in FIG. 22, the processing queue 1814 queues a read request from the clients (1 to n) 1921 for each client (1 to n) 1921.

図23は、図18の実行権キュー1816のキューイング内容を示す図である。図23に示すように、実行権キュー1816は、発生された実行権を、付与されたNsft毎に、キューイングする。
図24は、図18の実行権発生部1813が、実行権を発生させる動作を説明するためフローチャートである。
FIG. 23 is a diagram showing the queuing contents of the execution right queue 1816 of FIG. As shown in FIG. 23, the execution right queue 1816 queues the generated execution right for each assigned Nsft.
FIG. 24 is a flowchart for explaining an operation in which the execution right generation unit 1813 in FIG. 18 generates an execution right.

図25は、図18の実行指示部1815が、図19のサーバ1922に、読み出し要求の実行を指示する動作を説明するためのフローチャートである。   FIG. 25 is a flowchart for explaining an operation in which the execution instructing unit 1815 in FIG. 18 instructs the server 1922 in FIG. 19 to execute the read request.

以下には、図19のスケジューリング装置1810が、サーバ1922から、複数のクライアント(1〜n)1921に、それぞれ周期的に映像情報が提供されるよう、読み出し要求のスケジューリングを行う動作について、図18〜25を参照しながら説明する。
最初、図18の登録指示部1811が、実行権発生周期テーブル1812に指示して、クライアントID、TreqおよびTofsを登録させる動作について説明する。
Hereinafter, an operation in which the scheduling apparatus 1810 in FIG. 19 schedules a read request so that video information is periodically provided from the server 1922 to the plurality of clients (1 to n) 1921 will be described with reference to FIG. Description will be made with reference to .about.25.
First, an operation in which the registration instruction unit 1811 in FIG. 18 instructs the execution right generation cycle table 1812 to register the client ID, Treq, and Tofs will be described.

いま、実行権発生周期テーブル1812には、複数のクライアント1921のクライアントID、TreqおよびTofsが、すでに登録されているものとする。この時、他のクライアント1921が、図20のリソース獲得要求31を送信することにより、自己のクライアントIDおよびTreqを映像情報提供装置1920に申告する。   Now, it is assumed that the client IDs, Treq, and Tofs of a plurality of clients 1921 are already registered in the execution right generation cycle table 1812. At this time, another client 1921 transmits its own resource ID and Treq to the video information providing device 1920 by transmitting the resource acquisition request 31 of FIG.

登録指示部1811は、サーバ1922の情報提供能力、すなわち、周期Tsltに等しい時間内にサーバ1922が実行可能な読み出し要求の最大数(以下、Nmax)を認識しており、すでに登録されているものに加えて、申告されたTreqが登録された場合、発生される実行権のTslt当たりの平均数と、Nmaxとを比較することにより、サーバ1922が、時間的に平均して、情報を提供できるか否かを判定する。   The registration instructing unit 1811 recognizes the information provision capability of the server 1922, that is, the maximum number of read requests (hereinafter referred to as Nmax) that can be executed by the server 1922 within a time equal to the period Tslt, and has already been registered. In addition, when the declared Treq is registered, the server 1922 can provide information on an average over time by comparing the average number of execution rights generated per Tslt with Nmax. It is determined whether or not.

情報を提供できると判定した場合、登録指示部1811は、申告されたクライアントIDおよびTreqを、実行権発生周期テーブル1812に指示して登録させ、また、Tofsの初期値として、"0"を登録させる。そして、登録指示部1811は、リソース獲得応答32を送信することにより、申告されたTreqで映像情報を提供できることを、リソース獲得要求31の送信元のクライアント1921に通知する。   If it is determined that information can be provided, the registration instruction unit 1811 instructs the execution right generation cycle table 1812 to register the reported client ID and Treq, and registers “0” as the initial value of Tofs. Let Then, the registration instruction unit 1811 notifies the transmission source client 1921 of the resource acquisition request 31 that the video information can be provided by the declared Treq by transmitting the resource acquisition response 32.

情報を提供できないと判定した場合には、登録指示部1811は、リソース獲得応答32を送信することにより、申告されたTreqで情報を提供できないことを、送信元のクライアント1921に通知する。   If it is determined that the information cannot be provided, the registration instruction unit 1811 notifies the transmission source client 1921 that the information cannot be provided by the declared Treq by transmitting the resource acquisition response 32.

次に、図18の実行権発生部1813が、実行権発生周期テーブル1812に登録されたTreqおよびTofsに基づいて、実行権を発生させる動作について、図24を参照しながら説明する。なお、実行権発生周期テーブル1812には、複数のクライアント1921のクライアントID、TreqおよびTofsが、上記のようにして登録されているものとする。   Next, an operation in which the execution right generation unit 1813 in FIG. 18 generates an execution right based on Treq and Tofs registered in the execution right generation cycle table 1812 will be described with reference to FIG. In the execution right generation cycle table 1812, it is assumed that the client IDs, Treq, and Tofs of a plurality of clients 1921 are registered as described above.

実行権発生部1813は、最初、実行権発生周期テーブル1812に登録されたクライアントID、TreqおよびTofsを一組取り出す(ステップS1)。次に、実行権発生部1813は、取り出したTofsと、自己の動作の周期Tsltとを比較する(ステップS2)。
Tofs≧Tsltである場合、実行権発生部1813は、ステップS9に進む。
The execution right generation unit 1813 first extracts a set of client ID, Treq, and Tofs registered in the execution right generation cycle table 1812 (step S1). Next, the execution right generation unit 1813 compares the extracted Tofs with the cycle Tslt of its own operation (step S2).
If Tofs ≧ Tslt, the execution right generation unit 1813 proceeds to step S9.

Tofs<Tsltである場合には、実行権発生部1813は、読み出したクライアントIDに対応するクライアント1921からの読み出し要求が、処理待ちキュー1814にキューイングされているか否かを判定する(ステップS3)。
キューイングされている場合、実行権発生部1813は、実行権を発生させるとともに、その読み出し要求に実行権が割り当てられたことを示す情報を付与する一方、次式(6)により、新たなTofsを算定する(ステップS4)。
If Tofs <Tslt, the execution right generation unit 1813 determines whether or not a read request from the client 1921 corresponding to the read client ID is queued in the processing queue 1814 (step S3). .
When queued, the execution right generation unit 1813 generates an execution right and gives information indicating that the execution right has been assigned to the read request. On the other hand, a new Tofs is obtained by the following equation (6). Is calculated (step S4).

Tofs=Tofs+Treq …(6)
キューイングされていない場合には、実行権発生部1813は、ステップS9に進む。
Tofs = Tofs + Treq (6)
If it is not queued, the execution right generation unit 1813 proceeds to step S9.

次に、実行権発生部1813は、算定して得た新たなTofsと、Tsltとを比較する(ステップS5)。
Tofs<Tsltである場合、実行権発生部1813は、発生させた実行権に、評価指数として、Nsft=0を付与する(ステップS6)。発生された実行権を、実行指示部1815が、実行権キュー1816に指示して、Nsftの値が一致するキューの最後尾にキューイングさせると(ステップS7)、実行権発生部1813は、ステップS2に戻る。
Next, the execution right generation unit 1813 compares the new Tofs obtained by calculation with Tslt (step S5).
If Tofs <Tslt, the execution right generation unit 1813 gives Nsft = 0 as an evaluation index to the generated execution right (step S6). When the execution instruction unit 1815 instructs the execution right queue 1816 to cause the generated execution right to be queued at the tail of the queue having the same value of Nsft (step S7), the execution right generation unit 1813 Return to S2.

Tofs≧Tsltである場合には、実行権発生部1813は、発生させた実行権に、評価指数として、次式(7)により算定されるNsftを付与し(ステップS8)、ステップS7に進む。
Nsft=f(Treq/Tslt) …(7)
ただし、上式(7)において、f(x)はx以上の最小の整数である。
When Tofs ≧ Tslt, the execution right generation unit 1813 assigns Nsft calculated by the following expression (7) as an evaluation index to the generated execution right (step S8), and proceeds to step S7.
Nsft = f (Treq / Tslt) (7)
However, in the above formula (7), f (x) is a minimum integer equal to or greater than x.

ステップS2で、Tofs≧Tsltである場合、実行権発生部1813は、次式(8)により、新たなTofsを算定する(ステップS9)。
Tofs=Tofs−Tslt …(8)
If Tofs ≧ Tslt in step S2, the execution right generation unit 1813 calculates new Tofs by the following equation (8) (step S9).
Tofs = Tofs−Tslt (8)

次に、実行権発生部1813は、算定して得た新たなTofsが、Tofs≧0であるか否かを判定する(ステップS10)。
Tofs≧0である場合、実行権発生部1813は、実行権発生周期テーブル1812に指示して、Tofsを、算定して得た新たなTofsに更新させる(ステップS11)。
Next, the execution right generation unit 1813 determines whether or not the new Tofs obtained by the calculation is Tofs ≧ 0 (step S10).
When Tofs ≧ 0, the execution right generation unit 1813 instructs the execution right generation cycle table 1812 to update Tofs to new Tofs obtained by calculation (step S11).

Tofs<0である場合には、実行権発生部1813は、Tofsを、0に更新させる(ステップS12)。   If Tofs <0, the execution right generation unit 1813 updates Tofs to 0 (step S12).

次に、実行権発生部1813は、実行権発生周期テーブル1812に登録されている全てのクライアントID、TreqおよびTofsを取り出したか否かを判定する(ステップS13)。
全て取り出したと判定した場合、実行権発生部1813は、動作を停止し、取り出すべきものがあると判定した場合には、ステップS1に戻る。
Next, the execution right generation unit 1813 determines whether or not all client IDs, Treq, and Tofs registered in the execution right generation cycle table 1812 have been extracted (step S13).
If it is determined that all have been extracted, the execution right generation unit 1813 stops the operation, and if it is determined that there is something to be extracted, the process returns to step S1.

次に、図18の実行指示部1815が、上記のようにして発生された実行権に基づいて、サーバ1922に対して、キューイングされている読み出し要求の実行を指示する動作について、図25を参照しながら説明する。
実行指示部1815は、サーバ1922に実行を指示した回数をカウントしており、カウントして得たカウント値Cを記憶している。実行指示部1815は、最初、このカウント値Cを初期化する(ステップS21)。
Next, an operation in which the execution instruction unit 1815 in FIG. 18 instructs the server 1922 to execute a queued read request based on the execution right generated as described above will be described with reference to FIG. The description will be given with reference.
The execution instructing unit 1815 counts the number of times the server 1922 has been instructed to execute, and stores a count value C obtained by counting. The execution instructing unit 1815 first initializes the count value C (step S21).

次に、実行指示部1815は、実行権キュー1816にキューイングされている実行権のうち、Nsftの値が最小のキューにキューイングされている実行権の先頭のもの、すなわち、付与されたNsftが最小で、かつ、発生されてからの経過時間が最も長いものを取り出し(ステップS22)、次いで、カウント値Cをインクリメントする(ステップS23)。   Next, the execution instructing unit 1815 is the head of the execution right queued in the queue having the smallest Nsft value among the execution rights queued in the execution right queue 1816, that is, the assigned Nsft. Is the smallest and the longest elapsed time since it was generated (step S22), and then the count value C is incremented (step S23).

次に、実行指示部1815は、取り出した実行権に付与されたクライアントIDを参照して、処理待ちキュー1814から、その実行権に対応するクライアント1921からの読み出し要求を取り出して、サーバ1922に実行を指示する(ステップS24)。そして、実行指示部1815は、インクリメントして得たカウント値Cを、Nmaxと比較する(ステップS25)。   Next, the execution instructing unit 1815 refers to the client ID assigned to the extracted execution right, extracts the read request from the client 1921 corresponding to the execution right from the processing queue 1814, and executes it to the server 1922. (Step S24). Then, the execution instruction unit 1815 compares the incremented count value C with Nmax (step S25).

C<Nmaxである場合、実行指示部1815は、ステップS22に戻り、C≧Nmaxである場合には、実行権キュー1816に指示して、残された実行権のNsftの値をそれぞれディクリメントさせ(ステップS26)、その後、処理を終了する。   If C <Nmax, the execution instruction unit 1815 returns to step S22. If C ≧ Nmax, the execution instruction unit 1815 instructs the execution right queue 1816 to decrement the Nsft value of the remaining execution right. (Step S26), and then the process ends.

上記のようにして実行の指示を受けたサーバ1922は、指示を受けてから、ある一定の時間が経過した後、指定された映像情報を、読み出し要求の送信元であるクライアント1921に送信する。クライアント1921は、必要な映像情報の受け取りを完了すると、図20のリソース解放要求35を送信することにより、受け取りが完了した意を、映像情報提供装置1920に通知する。リソース解放要求35には、送信元のクライアント1921のクライアントIDが付与されており、リソース解放要求35を受信した登録指示部1811は、実行権発生周期テーブル1812から、付与されたクライアントIDと、そのクライアントIDに対応するTreqおよびTofsとを削除する。   The server 1922 that has received the execution instruction as described above transmits the specified video information to the client 1921 that is the source of the read request after a certain time has elapsed since the instruction was received. When the reception of the necessary video information is completed, the client 1921 notifies the video information providing apparatus 1920 that the reception has been completed by transmitting a resource release request 35 of FIG. The resource release request 35 is assigned with the client ID of the transmission source client 1921, and the registration instruction unit 1811 that has received the resource release request 35 sends the assigned client ID and its client ID from the execution right generation cycle table 1812. Delete Treq and Tofs corresponding to the client ID.

上記のように、本実施形態によれば、サーバ1922から、複数のクライアント(1〜n)1921に、それぞれ周期的に映像情報が提供されるよう、読み出し要求のスケジューリングを行う際、処理待ちキュー1814は、各クライアント(1〜n)1921からの読み出し要求をキューイングする。実行権発生周期テーブル1812は、クライアント(1〜n)1921毎の、実行権を発生させるべき周期Treqを登録し、実行権発生部1813は、実行権発生周期テーブル1812に登録された周期に基づいて、実行権を発生させる。実行指示部1815は、処理待ちキュー1814にキューイングされている読み出し要求のうち、実行権発生部1813が発生させた実行権に対応するクライアント1921からの読み出し要求を取得して、サーバ1922に実行を指示する。   As described above, according to the present embodiment, when a read request is scheduled so that video information is periodically provided from the server 1922 to a plurality of clients (1 to n) 1921, a processing queue 1814 queues a read request from each client (1 to n) 1921. The execution right generation cycle table 1812 registers a cycle Treq for generating the execution right for each client (1 to n) 1921. The execution right generation unit 1813 is based on the cycle registered in the execution right generation cycle table 1812. To generate an execution right. The execution instruction unit 1815 acquires a read request from the client 1921 corresponding to the execution right generated by the execution right generation unit 1813 among the read requests queued in the processing queue 1814 and executes the read request on the server 1922. Instruct.

このように、各クライアント(1〜n)1921からの読み出し要求をキューイングする一方、クライアント(1〜n)1921毎の、実行権を発生させるべき周期を登録しておいて、その周期に基づいて、実行権を発生させる。そして、キューイングしている読み出し要求のうち、発生させた実行権に対応するクライアント1921からのものを、サーバ1922に指示して実行させる。これにより、あるクライアント1921からの読み出し要求が実行されるまでの時間が、他のクライアント1921からの読み出し要求の送信の状況に影響されることがなくなり、従って、送信された読み出し要求が実行されるまでの時間が不定となるのを防ぐことができる。   As described above, while queuing the read request from each client (1 to n) 1921, the cycle for generating the execution right for each client (1 to n) 1921 is registered, and based on the cycle. To generate an execution right. Then, the server 1922 is instructed to execute a request from the client 1921 corresponding to the generated execution right among the queued read requests. As a result, the time until a read request from one client 1921 is executed is not affected by the status of transmission of the read request from another client 1921, and therefore the transmitted read request is executed. It is possible to prevent the time until the time is indefinite.

また、実行権発生部1813は、周期Tsltで起動され、実行権発生周期テーブル1812を参照して、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、Tofs<Tsltであるクライアント1921の実行権を発生させる。さらに、当該クライアント1921のTofsにTreqを加算し、加算して得たTofsが、Tofs≧Tsltである場合、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定し、算定して得たTofsを、実行権発生周期テーブル1812に指示して登録させる。   Further, the execution right generation unit 1813 is activated at a cycle Tslt. With reference to the execution right generation cycle table 1812, the time Tofs from the current activation time to the time when the next execution right is generated is expressed as Tofs <Tslt. The execution right of the client 1921 is generated. Further, Treq is added to the Tofs of the client 1921. When Tofs obtained by the addition is Tofs ≧ Tslt, a new Tofs is calculated for the Tofs by the formula Tofs = Tofs−Tslt. The Tofs obtained in this manner are registered in the execution right generation cycle table 1812 by instructing them.

加算して得たTofsが、Tofs<Tsltである場合には、実行権発生部1813は、さらに、実行権を発生させるとともに、TofsにTreqを加算してTsltと比較する動作を繰り返す。そして、加算して得たTofsが、Tofs≧Tsltとなった時点で、そのTofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定し、算定して得たTofsを、実行権発生周期テーブル1812に指示して登録させる。   When the Tofs obtained by the addition is Tofs <Tslt, the execution right generation unit 1813 further generates an execution right and repeats the operation of adding Treq to Tofs and comparing it with Tslt. Then, when Tofs obtained by the addition becomes Tofs ≧ Tslt, new Tofs is calculated with respect to the Tofs by the expression Tofs = Tofs−Tslt, and the Tofs obtained by the calculation is changed to the execution right. The generation period table 1812 is instructed to be registered.

なお、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、Tofs≧Tsltであるか、または、読み出し要求が、処理待ちキュー1814にキューイングされていないクライアント1921については、実行権を発生させず、そのTofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定し、算定して得たTofsを、実行権発生周期テーブル1812に指示して登録させる。   For a client 1921 in which the time Tofs from the current activation time to the time for generating the next execution right is Tofs ≧ Tslt, or the read request is not queued in the processing queue 1814 The execution right is not generated, new Tofs are calculated for the Tofs by the formula Tofs = Tofs-Tslt, and the Tofs obtained by calculation are instructed and registered in the execution right generation period table 1812.

算定して得たTofsが、Tofs<0である場合には、実行権発生部1813は、Tofs=0を、実行権発生周期テーブル1812に指示して登録させる。   If the calculated Tofs is Tofs <0, the execution right generation unit 1813 instructs Tof = 0 to be registered in the execution right generation cycle table 1812.

このように、実行権発生部1813は、周期Tsltで起動され、起動されると、実行権発生周期テーブル1812に登録されたTreqと、Tsltとに基づいて、Tofs、すなわち、起動された現時刻から、次の実行権を発生させる時刻までの時間を算定し、算定して得たTofsと、Tsltとを比較することにより、実行権を発生させるべきクライアント1921を判定して、実行権を発生させる。さらに、実行権発生部1813は、TofsにTreqを加算して、Tsltと比較する動作を繰り返すことにより、複数の実行権を発生させべきクライアント1921を判定して、必要な数の実行権を発生させる。実行権発生部1813は、これらの動作を、起動時に一括して行うことにより、実行権発生周期テーブル1812に登録された周期Treqで実行権を発生させるのに比べて、実行権発生部1813の処理動作を軽減できる。   As described above, the execution right generation unit 1813 is activated at the cycle Tslt, and when activated, based on Treq registered in the execution right generation cycle table 1812 and Tslt, that is, the current time at which the execution right generation unit 1813 was activated. To determine the client 1921 that should generate the execution right by calculating the time until the time when the next execution right is generated and comparing the Tofs obtained by calculation with Tslt and generating the execution right Let Furthermore, the execution right generation unit 1813 adds the Treq to Tofs and repeats the operation of comparing with Tslt, thereby determining the client 1921 that should generate a plurality of execution rights and generating the necessary number of execution rights. Let The execution right generation unit 1813 performs these operations collectively at the time of activation, so that the execution right generation unit 1813 generates the execution right in the cycle Treq registered in the execution right generation cycle table 1812. Processing operations can be reduced.

また、読み出し要求がキューイングされていないクライアント1921については、実行権を発生させないことにより、読み出し要求を送信しなかったクライアント1921に、映像情報が提供されないようにすることができる。   Further, by not generating the execution right for the client 1921 for which the read request is not queued, it is possible to prevent the video information from being provided to the client 1921 that has not transmitted the read request.

また、算定して得た新たなTofsが、Tofs<0である場合には、Tofs=0を登録させることにより、読み出し要求がキューイングされていないクライアント1921のTofsが、繰り返しTsltを減算されて小さな値となり、読み出し要求がキューイングされた時点で、そのクライアント1921の実行権が多数発生されるのを防ぐことができる。   In addition, when the new Tofs obtained by calculation is Tofs <0, by registering Tofs = 0, the Tofs of the client 1921 in which the read request is not queued is repeatedly subtracted from Tslt. It becomes a small value, and when the read request is queued, it is possible to prevent a large number of execution rights of the client 1921 from being generated.

さらに、実行権発生部1813は、上記のようにして発生させた実行権に、上記の式(7)により算定される評価指数Nsftを付与する。実行指示部1815は、実行権発生部1813が発生させた実行権をキューイングする実行権キュー1816を含んでおり、発生された実行権を、このキューに指示して、評価指数毎でかつ発生された順にキューイングさせる。そして、実行指示部1815は、キューイングされている実行権のうち、付与された評価指数Nsftがより小さく、かつ、より先に発生された実行権を選択して、その実行権に対応するクライアント1921からの読み出し要求の実行を、サーバ1922に指示する。   Further, the execution right generation unit 1813 gives the evaluation index Nsft calculated by the above equation (7) to the execution right generated as described above. The execution instruction unit 1815 includes an execution right queue 1816 for queuing the execution right generated by the execution right generation unit 1813, and instructs the generated execution right to be generated for each evaluation index. Queue in the order in which they were made. Then, the execution instructing unit 1815 selects the execution right that has been given the smaller evaluation index Nsft from among the execution rights that are queued, and the client corresponding to the execution right is selected. The server 1922 is instructed to execute a read request from 1921.

実行指示部1815は、周期Tsltに等しい時間内にサーバ1922が実行可能な読み出し要求の最大数Nmaxを認識しており、このNmaxに等しい個数だけ、実行を指示した時点で、実行の指示を停止し、かつ、実行権キュー1816に指示して、残された実行権の評価指数Nsftをディクリメントさせる。   The execution instructing unit 1815 recognizes the maximum number Nmax of read requests that can be executed by the server 1922 within a time equal to the cycle Tslt, and stops the execution instruction when the execution is instructed by the number equal to Nmax. And the execution right queue 1816 is instructed to decrement the remaining execution right evaluation index Nsft.

このように、実行権発生部1813が、発生させた実行権に、実行権を発生させるべき周期の関数として算定した、優先度を示す評価指数を付与し、実行指示部1815は、付与された評価指数に基づいて、優先されるべき実行権を選択して、実行を指示する。そして、実行指示部1815は、Nmax個の読み出し要求の実行を指示した時点で、実行の指示をいったん停止し、さらに、残された実行権については、その評価指数をディクリメントして、優先度をより高くする。   In this way, the execution right generation unit 1813 assigns the evaluation index indicating the priority calculated as a function of the cycle in which the execution right should be generated to the generated execution right, and the execution instruction unit 1815 has been given Based on the evaluation index, an execution right to be prioritized is selected and execution is instructed. Then, when the execution instruction unit 1815 instructs execution of Nmax read requests, the execution instruction unit 1815 temporarily stops the execution instruction, and further decrements the evaluation index for the remaining execution right, Make it higher.

これにより、実行指示部1815は、起動された現時刻から、次の実行権が発生される時刻までの時間が、より短いクライアント1921の実行権を、優先して選択することができ、従って、遅延が発生する回数をより少なくできる。また、処理能力を超える数の読み出し要求を、サーバ1922に実行させるのを防ぐことができるとともに、残された実行権については、評価指数がTslt毎にディクリメントされるため、発生されてから、遅くともTreq+Tslt後までに、当該実行権が選択されるようにすることができる。従って、クライアント(1〜n)1921は、この最大遅延時間を考慮に入れた周期で、読み出し要求を送信することにより、映像情報の不連続が発生するのを防ぐことができる。   As a result, the execution instruction unit 1815 can preferentially select the execution right of the client 1921 having a shorter time from the current activation time to the time when the next execution right is generated. The number of delays can be reduced. In addition, it is possible to prevent the server 1922 from executing a number of read requests exceeding the processing capacity, and the remaining execution rights are decremented every Tslt, so that they are generated. The execution right can be selected at the latest by Treq + Tslt. Therefore, the client (1 to n) 1921 can prevent the discontinuity of the video information from occurring by transmitting the read request at a cycle that takes this maximum delay time into consideration.

ただし、時間的に平均して、サーバ1922の処理能力を超える数の実行権が発生される場合には、時間の経過に従って、残される実行権の数が増加する。この場合には、上記のような処理を行っても、映像の不連続が発生するのを防ぐことができない。   However, when an execution right exceeding the processing capability of the server 1922 is generated on an average over time, the number of remaining execution rights increases as time passes. In this case, even if the above processing is performed, it is impossible to prevent the discontinuity of the video from occurring.

そこで、登録指示部1811は、Treqを登録するよう申告を受けると、すでに登録されているものに加えて、申告されたTreqがさらに登録されても、発生される実行権のTslt当たりの平均数が、Nmaxを越えないと判定した場合にのみ、実行権発生周期テーブル1812に指示して、申告されたTreqを登録させる。   Therefore, when the registration instructing unit 1811 receives a declaration to register Treq, the average number of execution rights generated per Tslt even if the registered Treq is further registered in addition to those already registered. However, only when it is determined that Nmax does not exceed Nmax, the execution right generation cycle table 1812 is instructed to register the declared Treq.

これにより、時間的に平均して、発生される実行権の総数がサーバ1922の処理能力を越えているために、時間の経過とともに、残される実行権の数が増加して、映像の不連続が発生するのを防ぐことができる。   As a result, since the total number of execution rights generated exceeds the processing capacity of the server 1922 on an average over time, the number of execution rights remaining increases with time, resulting in video discontinuity. Can be prevented.

また、実行指示部1815に実行権キュー1816を設けて、評価指数毎でかつ発生された順にキューイングさせることにより、実行指示部1815は、実行権を選択する際、評価指数が最小のキューの先頭から順に選択すればよいため、実行指示部1815の処理動作を軽減できる。   Further, the execution instruction unit 1815 is provided with an execution right queue 1816 and is queued for each evaluation index and in the order in which it is generated, so that the execution instruction unit 1815 selects a queue with the smallest evaluation index when selecting an execution right. Since selection may be made in order from the top, the processing operation of the execution instruction unit 1815 can be reduced.

(第7の実施形態)
以下、本発明の第7の実施形態について、図面を参照しながら説明する。
図26は、本発明の第7の実施形態に係るスケジューリング装置の構成を示すブロック図である。図26の装置は、登録指示部2691、実行権発生周期テーブル2692、実行権発生部2693、処理待ちキュー2694および実行指示部2695を備えている。実行指示部2695は、実行権キュー2696を含む。
(Seventh embodiment)
The seventh embodiment of the present invention will be described below with reference to the drawings.
FIG. 26 is a block diagram showing a configuration of a scheduling apparatus according to the seventh embodiment of the present invention. The apparatus of FIG. 26 includes a registration instruction unit 2691, an execution right generation cycle table 2692, an execution right generation unit 2693, a processing queue 2694, and an execution instruction unit 2695. The execution instruction unit 2695 includes an execution right queue 2696.

図27は、図26のスケジューリング装置を用いた、映像情報提供システムの構成を示すブロック図である。図27のシステムは、映像情報提供装置2700およびクライアント2701で構成され、映像情報提供装置2700とクライアント2701との間は、伝送路2703で接続されている。映像情報提供装置2700は、スケジューリング装置2690および複数のサーバ(1〜m)2702を含む。   FIG. 27 is a block diagram showing a configuration of a video information providing system using the scheduling apparatus of FIG. The system in FIG. 27 includes a video information providing apparatus 2700 and a client 2701, and the video information providing apparatus 2700 and the client 2701 are connected by a transmission path 2703. The video information providing apparatus 2700 includes a scheduling apparatus 2690 and a plurality of servers (1 to m) 2702.

図27のクライアント2701は、映像情報提供装置2700の複数のサーバ(1〜m)2702に、読み出し要求をそれぞれ周期的に送信する。クライアント2701には、複数のバッファおよびモニタが設けられており、クライアント2701は、提供される情報を、サーバ(1〜m)2702毎に、各バッファに一時的に蓄え、蓄えた情報を読み出しながら、各モニタに映像を表示する。スケジューリング装置2690は、サーバ(1〜m)2702から、クライアント2701に、それぞれ周期的に映像情報が提供されるよう、読み出し要求のスケジューリングを行う。サーバ(1〜m)2702はそれぞれ、スケジューリング装置2690の指示に応じて、クライアント2701に、映像情報を所定の量ずつ送信する。なお、映像情報提供装置2700に含まれるサーバ(1〜m)2702の情報提供能力の合計は、伝送路2703の伝送能力を上回っているものとする。   The client 2701 in FIG. 27 periodically transmits read requests to the plurality of servers (1 to m) 2702 of the video information providing apparatus 2700. The client 2701 is provided with a plurality of buffers and monitors, and the client 2701 temporarily stores the provided information in each buffer for each server (1 to m) 2702 and reads the stored information. Display video on each monitor. The scheduling apparatus 2690 schedules read requests so that video information is periodically provided from the server (1 to m) 2702 to the client 2701, respectively. Each of the servers (1 to m) 2702 transmits video information by a predetermined amount to the client 2701 in accordance with an instruction from the scheduling device 2690. It is assumed that the total information providing capability of the servers (1 to m) 2702 included in the video information providing apparatus 2700 exceeds the transmission capability of the transmission path 2703.

図26の登録指示部2691は、図27のクライアント2701からの申告を受けて、サーバ(1〜m)2702毎の、実行権を発生させるべき周期を、実行権発生周期テーブル2692に指示して登録させる。実行権発生周期テーブル2692は、実行権を発生させるべき周期を登録する。実行権発生部2693は、所定の周期(以下、Tslt)で起動され、実行権発生周期テーブル2692に登録された周期に基づいて、サーバ(1〜m)2702毎の実行権を発生させる。実行権発生部2693はまた、発生させた実行権に、優先度を示す評価指数(以下、Nsft)を付与する。処理待ちキュー2694は、サーバ(1〜m)2702への読み出し要求をキューイングする。実行指示部2695は、周期Tsltで起動され、処理待ちキュー2694にキューイングされている読み出し要求のうち、実行権発生部2693が発生させた実行権に対応するサーバ2702への読み出し要求を取得して、その読み出し要求を実行するよう、対応するサーバ2702に指示する。   26 receives the report from the client 2701 in FIG. 27, and instructs the execution right generation period table 2692 about the period for generating the execution right for each server (1 to m) 2702. Let me register. The execution right generation cycle table 2692 registers a cycle in which an execution right should be generated. The execution right generation unit 2693 is activated at a predetermined cycle (hereinafter, Tslt), and generates an execution right for each server (1 to m) 2702 based on the cycle registered in the execution right generation cycle table 2692. The execution right generation unit 2693 also assigns an evaluation index (hereinafter referred to as Nsft) indicating priority to the generated execution right. The processing queue 2694 queues a read request to the server (1 to m) 2702. The execution instruction unit 2695 is activated at the cycle Tslt, and acquires a read request to the server 2702 corresponding to the execution right generated by the execution right generation unit 2893 among the read requests queued in the processing queue 2694. The corresponding server 2702 is instructed to execute the read request.

また、第6の実施形態において図20を用いて説明したものと同様の信号が、図27の映像情報提供装置2700とクライアント2701との間で送受信される。ただし、リソース獲得要求31には、クライアントIDに代えて、サーバIDが含まれる。   In addition, the same signal as described with reference to FIG. 20 in the sixth embodiment is transmitted and received between the video information providing apparatus 2700 and the client 2701 in FIG. However, the resource acquisition request 31 includes a server ID instead of the client ID.

図28は、図26の実行権発生周期テーブル2692の登録内容を示す図である。図28に示すように、実行権発生周期テーブル2692は、サーバ(1〜m)2702毎のサーバID、Titvおよび実行権発生周期オフセット(以下、Tofs)を登録する。なお、図21のテーブルのTreqは、図19のクライアント(1〜n)1921から申告された値であるが、図28のTitvは、図27のクライアント2701から申告されたTreqに基づいて、所定の方法で算定された値である。   FIG. 28 is a diagram showing the registration contents of the execution right generation cycle table 2692 of FIG. As shown in FIG. 28, the execution right generation cycle table 2692 registers the server ID, Titv, and execution right generation cycle offset (hereinafter, Tofs) for each server (1 to m) 2702. Note that Treq in the table in FIG. 21 is a value declared from the clients (1 to n) 1921 in FIG. 19, but Titv in FIG. 28 is a predetermined value based on Treq reported from the client 2701 in FIG. It is a value calculated by the method.

図29は、図26の処理待ちキュー2694のキューイング内容を示す図である。図29に示すように、処理待ちキュー2694は、サーバ(1〜m)2702への読み出し要求を、サーバ(1〜m)2702毎に、キューイングする。   FIG. 29 is a diagram showing the queuing contents of the process waiting queue 2694 in FIG. As shown in FIG. 29, the processing queue 2694 queues a read request to the server (1 to m) 2702 for each server (1 to m) 2702.

図30は、図26の実行権キュー2696のキューイング内容を示す図である。図30に示すように、実行権キュー2696は、発生された実行権を、付与されたNsft毎に、キューイングする。   FIG. 30 is a diagram showing the queuing contents of the execution right queue 2696 in FIG. As shown in FIG. 30, the execution right queue 2696 queues the generated execution right for each assigned Nsft.

以下には、図27のスケジューリング装置2690が、複数のサーバ(1〜m)2702から、クライアント2701へ、伝送路2703を介して、それぞれ周期的に映像情報が提供されるよう、読み出し要求のスケジューリングを行う動作について、図20、24〜30を参照しながら説明する。
最初、図26の登録指示部2691が、実行権発生周期テーブル2692に指示して、サーバID、TitvおよびTofsを登録させる動作について説明する。
In the following, the scheduling apparatus 2690 in FIG. 27 schedules read requests so that video information is periodically provided from the plurality of servers (1 to m) 2702 to the client 2701 via the transmission path 2703, respectively. The operation of performing will be described with reference to FIGS.
First, an operation in which the registration instruction unit 2691 in FIG. 26 instructs the execution right generation cycle table 2692 to register the server ID, Titv, and Tofs will be described.

いま、実行権発生周期テーブル2692には、複数のサーバ2702のサーバID、TitvおよびTofsが、すでに登録されているものとする。この時、クライアント2701が、図20のリソース獲得要求31を送信することにより、希望するサーバ2702のサーバIDおよびTreqを、映像情報提供装置2700に申告する。   Now, it is assumed that the server IDs, Titv, and Tofs of a plurality of servers 2702 are already registered in the execution right generation cycle table 2692. At this time, the client 2701 reports the server ID and Treq of the desired server 2702 to the video information providing apparatus 2700 by transmitting the resource acquisition request 31 of FIG.

登録指示部2691は、サーバ(1〜m)2702の情報提供能力および伝送路2703の伝送能力を認識しており、下記の(a)および(b)について判定する。
(a)指定されたサーバ2702の情報提供能力が、すでに登録されているTitvを、申告されたTreqを含めた新たなTitvに更新した場合、情報を提供できるものであるか。
(b)伝送路2703の伝送能力が、すでに登録されているTitvを、申告されたTreqを含めた新たなTitvに更新した場合、サーバ(1〜m)2702から提供される情報を伝送できるものであるか。
The registration instruction unit 2691 recognizes the information providing capability of the server (1 to m) 2702 and the transmission capability of the transmission path 2703, and determines the following (a) and (b).
(A) Whether the information providing capability of the designated server 2702 can provide information when the already registered Titv is updated to a new Titv including the declared Treq.
(B) The transmission capability of the transmission line 2703 can transmit information provided from the server (1 to m) 2702 when the already registered Titv is updated to a new Titv including the declared Treq. Is it?

上記(a)および(b)について、両方の能力があると判定した場合、登録指示部2691は、実行権発生周期テーブル2692に指示して、すでに登録されている、指定されたサーバ2702のTitvを、下記の式(9)で算定される新たなTitvに更新させるとともに、クライアント2701に対して、図20のリソース獲得応答32を送信することにより、要求を受け入れることを通知する。
Titv=1/(1/Titv+1/Treq) …(9)
When it is determined that both of the above capabilities (a) and (b) are present, the registration instruction unit 2691 instructs the execution right generation cycle table 2692 to register the Titv of the designated server 2702 that has already been registered. Is updated to a new Titv calculated by the following equation (9), and the client 2701 is notified that the request is accepted by transmitting the resource acquisition response 32 of FIG.
Titv = 1 / (1 / Titv + 1 / Treq) (9)

また、登録指示部2691は、実行権発生周期テーブル2692に指示して、Tofsを、下記の式(10)により算定される新たなTofsに更新させる。
Tofs=Tofs+(Titv(new)−Titv(old)) …(10)
ただし、上式(10)において、Titv(new)は、更新されたTitvを、Titv(old)は更新される前のTitvを、それぞれ意味する。
Also, the registration instruction unit 2691 instructs the execution right generation cycle table 2692 to update Tofs to new Tofs calculated by the following equation (10).
Tofs = Tofs + (Titv (new) −Titv (old)) (10)
However, in the above formula (10), Titv (new) means updated Titv, and Titv (old) means Titv before being updated.

少なくとも一方の能力がないと判定した場合には、登録指示部2691は、クライアント2701に対して、リソース獲得応答32を送信することにより、要求を受け入れないことを通知する。   If it is determined that there is not at least one capability, the registration instruction unit 2691 notifies the client 2701 that the request is not accepted by transmitting a resource acquisition response 32.

なお、上記(a)および(b)について、両方の能力があると判定し、かつ指定されたサーバ2702のサーバIDが実行権発生周期テーブル2692に登録されていない場合には、登録指示部2691は、実行権発生周期テーブル2692に指示して、サーバID、TitvおよびTofsを新たに登録させる。この場合、Titvとして、申告されたTreqが、Tofsとして、"0"が、それぞれ登録される。   If it is determined that both of the above capabilities (a) and (b) are present, and the server ID of the designated server 2702 is not registered in the execution right generation cycle table 2692, the registration instruction unit 2691 Instructs the execution right generation cycle table 2692 to newly register the server ID, Titv, and Tofs. In this case, the declared Treq is registered as Titv, and “0” is registered as Tofs.

実行権発生部2693が、実行権発生周期テーブル2692に登録されたTitvおよびTofsに基づいて実行権を発生させる動作は、第6の実施形態において、図24を用いて説明したものと同様である。ただし、実行権発生周期テーブル2692には、複数のサーバ(1〜m)2702のサーバID、TitvおよびTofsが、上記のようにして登録されている点が異なる。   The operation of generating the execution right based on the Titv and Tofs registered in the execution right generation cycle table 2692 by the execution right generation unit 2693 is the same as that described with reference to FIG. 24 in the sixth embodiment. . However, the execution right generation cycle table 2692 is different in that the server ID, Titv, and Tofs of a plurality of servers (1 to m) 2702 are registered as described above.

また、図24のステップS4において、式(6)に代えて、下記の式(11)により、新たなTofsが算定される点も異なる。
Tofs=Tofs+Titv …(11)
Also, in step S4 in FIG. 24, a new Tofs is calculated by the following equation (11) instead of the equation (6).
Tofs = Tofs + Titv (11)

同様に、ステップS8において、式(7)に代えて、下記の式(12)により、Nsftが算定される点も異なる。   Similarly, in step S8, Nsft is calculated by the following equation (12) instead of equation (7).

Nsft=f(Titv/Tslt) …(12)
ただし、上式(12)において、f(x)はx以上の最小の整数である。
Nsft = f (Titv / Tslt) (12)
However, in the above formula (12), f (x) is a minimum integer equal to or greater than x.

次に、実行指示部2695は、付与された評価指数に基づいて実行権を選択し、処理待ちキュー2694にキューイングされている読み出し要求のうち、選択した実行権に対応するサーバ2702への読み出し要求を取得して、対応するサーバ2702に実行を指示する。その際の実行指示部2695の動作は、第6の実施形態において、図25を用いて説明したものと同様である。ただし、カウント値Cは、実行指示部2695が全サーバ(1〜m)2702に実行を指示した合計回数であり、Nmaxは、周期Tsltに等しい時間内に伝送路2703が伝送可能な最大の情報量に対応する読み出し要求の個数である。   Next, the execution instruction unit 2695 selects an execution right based on the assigned evaluation index, and reads out to the server 2702 corresponding to the selected execution right among the read requests queued in the processing queue 2694. The request is acquired and the corresponding server 2702 is instructed to execute. The operation of the execution instruction unit 2695 at that time is the same as that described with reference to FIG. 25 in the sixth embodiment. However, the count value C is the total number of times that the execution instructing unit 2695 has instructed all servers (1 to m) 2702 to execute, and Nmax is the maximum information that the transmission line 2703 can transmit within the time equal to the period Tslt. The number of read requests corresponding to the quantity.

上記のようにして映像情報が提供され、提供が完了すると、クライアント2701は、第6の実施形態においてクライアント1921が行ったのと同様に、図20のリソース解放要求35を送信することにより、希望する映像情報の受け取りが完了したことを映像情報提供装置2700に通知する。ただし、クライアント2701が送信するリソース解放要求35には、サーバIDおよびTreqが付加されており、図26の登録指示部2691は、実行権発生周期テーブル2692に指示して、登録されているTitvを、下記の式(13)により算定される新たなTitvに更新させる。   When the video information is provided as described above, and the provision is completed, the client 2701 transmits the resource release request 35 of FIG. 20 in the same way as the client 1921 performs in the sixth embodiment. The video information providing apparatus 2700 is notified that the reception of the video information to be completed is completed. However, the server ID and Treq are added to the resource release request 35 transmitted by the client 2701, and the registration instruction unit 2691 in FIG. 26 instructs the execution right generation period table 2692 to specify the registered Titv. , Updated to a new Titv calculated by the following equation (13).

Titv=1/(1/Titv−1/Treq) …(13)
また、登録指示部2691は、実行権発生周期テーブル2692に指示して、Tofsを、上記の式(10)により算定される新たなTofsに更新させる。
Titv = 1 / (1 / Titv-1 / Treq) (13)
Also, the registration instruction unit 2691 instructs the execution right generation cycle table 2692 to update Tofs to new Tofs calculated by the above equation (10).

上記のように、本実施形態によれば、複数のサーバ(1〜m)2702から、クライアント2701に、それぞれ周期的に映像情報が提供されるよう、読み出し要求のスケジューリングを行う際、第6の実施形態におけるものと同様の動作を行う。さらに、登録指示部2691は、すでに登録されている、あるサーバ2702の実行権を発生させるべき周期Titvを、さらに周期Treqで実行権を発生させるものに更新するよう申告を受けた際、すでに登録されているTitvを、申告されたTreqを含めた新たなTitvに更新しても、伝送路2703の伝送能力が、全サーバ(1〜m)2702から提供される情報を伝送できるものである場合にのみ、実行権発生周期テーブル2692に指示して、登録されているTitvを、上記の式(9)により算定される新たな周期Titvに更新させる。   As described above, according to the present embodiment, when scheduling read requests so that video information is periodically provided from the plurality of servers (1 to m) 2702 to the client 2701, the sixth The same operation as in the embodiment is performed. Further, when the registration instruction unit 2691 receives a report to update the already registered period Ttv for generating the execution right of a server 2702 to one that generates the execution right in the period Treq, the registration instruction unit 2691 has already registered. Even if the registered Titv is updated to a new Titv including the declared Treq, the transmission capability of the transmission path 2703 can transmit the information provided from all the servers (1 to m) 2702 Only, the execution right generation cycle table 2692 is instructed to update the registered Titv to a new cycle Titv calculated by the above equation (9).

これにより、登録された周期を更新した際、発生される実行権のTslt当たりの平均数が、伝送路の伝送能力を越えているために、時間の経過ともなって、残される実行権の数が増加するのを防ぐことができる。   As a result, when the registered cycle is updated, the average number of execution rights generated per Tslt exceeds the transmission capability of the transmission path, so that the number of execution rights remaining over time is reduced. It can be prevented from increasing.

また、登録指示部2691は、すで登録されている、あるサーバ2702の実行権を発生させるべき周期Titvを、周期Treqを除いて実行権を発生させるものに更新するよう申告を受けた際、実行権発生周期テーブル2692に指示して、登録されているTitvを、上記の式(13)により算定される新たな周期Titvに更新させる。   In addition, when the registration instruction unit 2691 receives a report to update the already-registered period Titv for generating the execution right of a server 2702 to one that generates the execution right excluding the period Treq, The execution right generation cycle table 2692 is instructed to update the registered Titv to a new cycle Titv calculated by the above equation (13).

これにより、すでに登録されている、実行権を発生させるべき周期を、周期Treqで発生させている実行権を除いて発生させるものに更新するよう申告を受けた場合、すでに登録されている周期を、新たなものに更新することができる。   As a result, when a declaration is received to update the already registered cycle for generating the execution right to one that is generated excluding the execution right generated in the cycle Treq, the already registered cycle is changed. , Can be updated with new ones.

なお、本実施形態では、複数のバッファおよびモニタを備えたクライアント2701を、一つだけ含むようにしているが、共通の伝送路2703を介して、一つのバッファおよびモニタを備えたクライアント2701を、複数含むようにしてもよい。ただし、この場合、各クライアント2701は、それぞれに定められた周期で、読み出し要求を送信する必要がある。   In this embodiment, only one client 2701 having a plurality of buffers and monitors is included. However, a plurality of clients 2701 having one buffer and monitors are included via a common transmission line 2703. You may make it. However, in this case, each client 2701 needs to transmit a read request at a period determined for each client.

また、本実施形態では、伝送路2703の伝送能力の制限があるために、スケジューリングを行うとしているが、クライアント2701の受信能力(バッファの容量や処理速度など)の制限があるために、スケジューリングを行うとしてもよい。   In this embodiment, scheduling is performed due to the limitation of the transmission capability of the transmission line 2703. However, scheduling is limited because of the limitation of the reception capability (buffer capacity, processing speed, etc.) of the client 2701. It may be done.

また、第6および第7の実施形態において、実行権発生部1813および2693ならびに実行指示部1815および2695は、ともに周期Tsltで起動されるとしているが、それぞれ互いに異なる周期で起動されるようにしてもよい。   In the sixth and seventh embodiments, the execution right generation units 1813 and 2693 and the execution instruction units 1815 and 2695 are both activated at the cycle Tslt. Also good.

また、第6の実施形態において、Nmaxは、周期Tsltに等しい時間内にサーバ1922が実行可能な読み出し要求の最大数であるとしているが、単位時間にサーバ1922が実行可能な読み出し要求の最大数であるとしてもよい。同様に、第7の実施形態において、Nmaxは、周期Tsltに等しい時間内に伝送路2703が伝送可能な情報量に対応する読み出し要求の個数であるとしているが、単位時間に伝送路2703が伝送可能な情報量に対応する読み出し要求の個数であるとしてもよい。   In the sixth embodiment, Nmax is the maximum number of read requests that can be executed by the server 1922 within a time equal to the period Tslt. However, the maximum number of read requests that can be executed by the server 1922 in unit time. It may be. Similarly, in the seventh embodiment, Nmax is the number of read requests corresponding to the amount of information that can be transmitted by the transmission line 2703 within a time equal to the period Tslt. It may be the number of read requests corresponding to a possible amount of information.

また、図18のスケジューリング装置と、図26のスケジューリング装置とを含む他のスケジューリング装置を用いることにより、複数のサーバから、複数のクライアントに、それぞれ周期的に映像情報が提供されるよう、スケジューリングを行うことができる。すなわち、最初、図18のスケジューリング装置が、クライアント毎の実行権を発生させ、発生させた実行権のうち、あるクライアントの実行権を選択して、その実行権に対応する読み出し要求を、図26のスケジューリング装置に入力する。次に、図26のスケジューリング装置が、サーバ毎の実行権を発生させ、発生させた実行権のうち、あるサーバの実行権を選択して、入力された読み出し要求を実行するよう、そのサーバに指示する。   Further, by using other scheduling devices including the scheduling device of FIG. 18 and the scheduling device of FIG. 26, scheduling is performed so that video information is periodically provided from a plurality of servers to a plurality of clients, respectively. It can be carried out. That is, first, the scheduling device in FIG. 18 generates an execution right for each client, selects an execution right of a client from the generated execution rights, and issues a read request corresponding to the execution right in FIG. To the scheduling device. Next, the scheduling device in FIG. 26 generates an execution right for each server, and selects an execution right of a certain server from the generated execution rights, and executes the input read request to the server. Instruct.

また、第6および第7の実施形態において、実行権発生部1813および2693はそれぞれ、上記の式(7)、式(12)により、Nsftを算定するとしたが、TreqをTsltで除して得られる値の整数部分をNsftとするとしてもよい。   In the sixth and seventh embodiments, the execution right generation units 1813 and 2693 calculate Nsft according to the above formulas (7) and (12), respectively. However, Treq is obtained by dividing Treq by Tslt. The integer part of the obtained value may be Nsft.

また、実行権発生周期テーブル1812および2692が、実行権発生周期オフセットTofsに代えて、次の実行権を発生させる時間を示すTnextを登録し、実行権発生部1813および2693は、現時間がTnextに一致した時点で、実行権を発生させるようにしてもよい。   Also, the execution right generation period tables 1812 and 2692 register Tnext indicating the time for generating the next execution right instead of the execution right generation period offset Tofs, and the execution right generation units 1813 and 2693 have the current time Tnext. An execution right may be generated at the time of matching.

また、実行権発生部1813および2693がNsftを算定し、実行指示部1815および2695は、Nsftがより小さい実行権を選択するとしたが、実行権発生部1813および2693が上記のTnextを算定し、実行指示部1815および2695は、Tnextが現時間により近い実行権を選択するとしてもよい。   Further, the execution right generation units 1813 and 2693 calculate Nsft, and the execution instruction units 1815 and 2695 select the execution right having a smaller Nsft. However, the execution right generation units 1813 and 2693 calculate the above Tnext, The execution instruction units 1815 and 2695 may select an execution right whose Tnext is closer to the current time.

また、実行指示部1815および2695は、カウント値Cが、C≧Nmaxとなった場合、それぞれ実行権キュー1816、実行権キュー2696に指示して、残された実行権のNsftをディクリメントさせるとしたが、実行権キュー1816および2696の代わりに、図31に示すような他の実行権キューを用い、実行指示部1815および2695は、カウント値Cが、C≧Nmaxとなった場合、上記他の実行権キューに指示して、ポインタをずらさせるようにしてもよい。なお、図31に示すように、上記他の実行権キューはリング構造を有しており、ポインタの位置が移動するのにともなって、Nsftの値が順次入れ替わる。   Further, when the count value C satisfies C ≧ Nmax, the execution instruction units 1815 and 2695 instruct the execution right queue 1816 and the execution right queue 2696, respectively, to decrement Nsft of the remaining execution right. However, instead of the execution right queues 1816 and 2696, another execution right queue as shown in FIG. 31 is used, and when the count value C is C ≧ Nmax, the execution instruction units 1815 and 2695 The execution right queue may be instructed to shift the pointer. As shown in FIG. 31, the other execution right queue has a ring structure, and the value of Nsft is sequentially changed as the position of the pointer moves.

前述したように、CATVネットワークにおけるビデオオンデマンドシステムや放送局の映像編集システム等のファイルシステムにおいては、映像や音声等のデータを扱うサーバ装置が設けられている。このサーバ装置は、ユーザ端末あるいはクライアントからデータの読み出し要求を受けたとき、内部の記憶装置を検索して要求に対応するデータを読み出し、読み出しを要求したユーザ端末あるいはクライアントに、当該データを送出する機能を有している。   As described above, in a file system such as a video-on-demand system in a CATV network or a video editing system in a broadcasting station, a server device that handles data such as video and audio is provided. When receiving a data read request from a user terminal or client, this server device searches an internal storage device, reads data corresponding to the request, and sends the data to the user terminal or client that requested the read. It has a function.

ところで、従来のサーバ装置は、送出するデータの連続性を保証するために、ユーザ端末へデータを送出する前に、送出するデータの量に見合う、サーバ装置内部のリソース(単位時間当たりにデータを処理または転送できる能力)の使用権と、サーバ装置とデータの取得を要求するユーザ端末との間の通信リソース(単位時間当たりにデータを送信できる能力)の使用権とを確保した上で、データの送出を実行するようになっている。   By the way, in order to guarantee the continuity of the data to be transmitted, the conventional server device has a resource (data per unit time) in the server device that matches the amount of data to be transmitted before transmitting the data to the user terminal. Data and the right to use the communication resource (capability to transmit data per unit time) between the server device and the user terminal that requests data acquisition. Is to be executed.

しかしながら、上記のような従来のサーバ装置では、動画や音声のような連続性を必要とするデータのみならず、静止画のような連続性を必要としないデータの送出に関しても、データの送出前にリソース使用権を確保するようにしている。そのため、連続性を必要としないデータの送出量が増えるに従い、連続性を必要とするデータのリソース確保が困難になり、最悪の場合はデータの送出が行えなくなるという問題が生じていた。   However, in the conventional server device as described above, not only data that requires continuity such as moving images and sounds, but also data that does not require continuity such as still images is transmitted before data transmission. Resource usage rights are secured. Therefore, as the amount of data that does not require continuity increases, it becomes difficult to secure data resources that require continuity, and in the worst case, data cannot be transmitted.

そこで、以下には、連続性を必要としないデータを送出する際に効率的にリソースを使用でき、しかも、連続性を必要としないデータの送出量が増加しても、連続性を必要とするデータを送出するためのリソース確保に影響を与えないサーバ装置について説明する。   Therefore, in the following, resources can be used efficiently when sending data that does not require continuity, and continuity is required even if the amount of data that does not require continuity increases. A server apparatus that does not affect the securing of resources for sending data will be described.

(第8の実施形態)
図32は、本発明の第8の実施形態に係るサーバ装置を用いたデータ伝送システムの構成を示すブロック図である。図32において、本データ伝送システムは、リソース管理部3201と、データ記憶部3202と、交換部3203と、入出力部3204と、複数のユーザ端末3208とを備えている。なお、本実施形態のサーバ装置は、リソース管理部3201と、データ記憶部3202と、交換部3203と、入出力部3204とによって構成される。そして、当該サーバ装置と各端末3208は、有線または無線の伝送路を介して接続されている。
(Eighth embodiment)
FIG. 32 is a block diagram showing a configuration of a data transmission system using a server device according to the eighth embodiment of the present invention. 32, the data transmission system includes a resource management unit 3201, a data storage unit 3202, an exchange unit 3203, an input / output unit 3204, and a plurality of user terminals 3208. Note that the server device of this embodiment includes a resource management unit 3201, a data storage unit 3202, an exchange unit 3203, and an input / output unit 3204. The server device and each terminal 3208 are connected via a wired or wireless transmission path.

リソース管理部3201は、各ユーザ端末3208に対してデータを送出する際に、必要となるリソースを管理する。データ記憶部3202は、ランダムアクセスが可能な複数の記憶装置(例えば、ハードディスクドライブ、オートチェンジャー付き光ディスクドライバ)3205と、各記憶装置3205に接続されてデータの読み出しを制御する複数のMSFS3206とを含む。交換部3203は、入出力部3204とデータ記憶部3202との間でデータの交換を行う。なお、本実施形態では、一例として、交換部3203にATMスイッチを使用している。入出力部3204は、複数のI/Oユニット3207を含み、サーバ装置と各ユーザ端末3208との間のデータの入出力を制御する。各ユーザ端末3208は、いずれかのI/Oユニット3207に接続されている。   The resource management unit 3201 manages necessary resources when data is transmitted to each user terminal 3208. The data storage unit 3202 includes a plurality of storage devices (for example, a hard disk drive and an optical disc driver with an autochanger) 3205 that can be randomly accessed, and a plurality of MSFSs 3206 that are connected to each storage device 3205 and control reading of data. The exchange unit 3203 exchanges data between the input / output unit 3204 and the data storage unit 3202. In this embodiment, as an example, an ATM switch is used for the exchange unit 3203. The input / output unit 3204 includes a plurality of I / O units 3207 and controls data input / output between the server device and each user terminal 3208. Each user terminal 3208 is connected to one of the I / O units 3207.

上記のような構成において、各I/Oユニット3207と各MSFS3206との間には、交換部3203によりメッシュ状にコネクションが設定される。なお、各コネクションの帯域は、リソース管理部3201が管理している。   In the above configuration, a connection is set in a mesh shape by the exchange unit 3203 between each I / O unit 3207 and each MSFS 3206. Note that the bandwidth of each connection is managed by the resource management unit 3201.

図33は、図32におけるI/Oユニット3207のより詳細な構成を示すブロック図である。図33おいて、I/Oユニット3207は、優先入出力制御部3301と、非優先入出力制御部3302とを備えている。非優先入出力制御部3302は、コマンドキュー3321と、コマンドキュー制御部3322と、コマンド送出部3323と、データバッファ部3324と、バッファ管理部3325と、データ送出部3326と、コマンド受付部3327とを含む。   FIG. 33 is a block diagram showing a more detailed configuration of the I / O unit 3207 in FIG. In FIG. 33, the I / O unit 3207 includes a priority input / output control unit 3301 and a non-priority input / output control unit 3302. The non-priority input / output control unit 3302 includes a command queue 3321, a command queue control unit 3322, a command transmission unit 3323, a data buffer unit 3324, a buffer management unit 3325, a data transmission unit 3326, and a command reception unit 3327. including.

優先入出力制御部3301は、例えば動画データのように連続性を必要とするデータ(以下、優先データと称する)の入出力を制御する。これに対し、非優先入出力制御部3302は、例えば静止画データのように連続性を必要としないデータ(以下、非優先データと称する)の入出力を制御する。   The priority input / output control unit 3301 controls input / output of data requiring continuity (hereinafter referred to as priority data) such as moving image data. On the other hand, the non-priority input / output control unit 3302 controls input / output of data that does not require continuity such as still image data (hereinafter referred to as non-priority data).

非優先入出力制御部3302において、コマンドキュー3321は、ユーザ端末3208からの非優先データの読み出しを要求するコマンドを、ユーザ端末毎に蓄える。コマンドキュー制御部3322は、コマンドキュー3321からのコマンドの取り出しを制御する。コマンド送出部3323は、コマンドキュー制御部3322が取り出したコマンドを、対応する宛先のMSFS3206に送出する。データバッファ部3324は、MSFS3206が記憶装置3205から読み出したデータを蓄える。バッファ管理部3325は、データバッファ部3324に格納されている(または、格納が予約されている)データを、読み出しを要求したユーザ端末毎にカウントする。データ送出部3326は、データバッファ部3324に蓄積されたデータを、対応する宛先のユーザ端末3208に送出し、送出が完了したデータバッファ部3324の領域を空きの状態に設定する。コマンド受付部3327は、ユーザ端末3208から到着したコマンドを、コマンドキュー3321に登録するか否かを管理している。   In the non-priority input / output control unit 3302, the command queue 3321 stores a command for requesting reading of non-priority data from the user terminal 3208 for each user terminal. The command queue control unit 3322 controls the extraction of commands from the command queue 3321. The command sending unit 3323 sends the command extracted by the command queue control unit 3322 to the corresponding destination MSFS 3206. The data buffer unit 3324 stores data read from the storage device 3205 by the MSFS 3206. The buffer management unit 3325 counts the data stored in the data buffer unit 3324 (or reserved for storage) for each user terminal that has requested reading. The data sending unit 3326 sends the data stored in the data buffer unit 3324 to the corresponding destination user terminal 3208, and sets the area of the data buffer unit 3324 that has been sent to an empty state. The command reception unit 3327 manages whether or not a command that has arrived from the user terminal 3208 is registered in the command queue 3321.

以上のように構成されたサーバ装置について、以下にその動作を説明する。
まず、システムの起動時に行われるリソースの初期設定動作について説明する。リソース管理部3201は、システムの起動時において、データ伝送システムにおける各部のリソース、すなわち、各MSFS3206のデータ読み出し帯域、各I/Oユニット3207における外部との間の通信帯域、交換部3203における各ATMスイッチの通信帯域等を、
(1)優先データを出力するのに使用するリソース(以下、優先リソースと称す)と、
(2)非優先データを出力するのに使用するリソース(以下、非優先リソースと称す)と
に分離して割り当てる。以後、リソース管理部3201は、分離されたそれぞれのリソースを、個別に管理する。
The operation of the server device configured as described above will be described below.
First, the resource initial setting operation performed when the system is started will be described. At the time of system startup, the resource management unit 3201 has resources of each unit in the data transmission system, that is, a data read band of each MSFS 3206, a communication band between each I / O unit 3207, and each ATM in the switching unit 3203. Switch communication bandwidth, etc.
(1) Resources used to output priority data (hereinafter referred to as priority resources);
(2) It allocates separately to resources used to output non-priority data (hereinafter referred to as non-priority resources). Thereafter, the resource management unit 3201 manages each separated resource individually.

なお、MSFS3206のデータ読み出し帯域は、MSFS3206が要求する、読み出すデータの格納先がランダムで、かつ要求間隔がランダムな読み出し要求に応答してデータの読み出しを行うときに、予め定められた遅延時間以内に、予め定められた廃棄率以下で読み出し可能なデータの最大速度として定義される。   Note that the data read bandwidth of the MSFS 3206 is within a predetermined delay time when data is read in response to a read request requested by the MSFS 3206, where the storage location of the read data is random and the request interval is random. Is defined as the maximum speed of data that can be read at a predetermined discard rate or less.

次に、優先データの出力動作について説明する。各ユーザ端末3208は、サーバ装置に対して優先データの出力を要求する場合、当該優先データを送出するのに必要な帯域のリソースの確保を要求する。リソース確保の要求を受けた優先入出力制御部3301は、リソース管理部3201に対し、帯域量を指定してリソースの確保を要求する。リソース管理部3201では、要求された帯域量のデータを送信するために、ATMスイッチの通信帯域と、MSFS3206のデータ読み出し帯域と、I/Oユニット3207の通信帯域とを、優先リソースとして予め割り当てられている帯域量の中から確保する。   Next, priority data output operation will be described. When each user terminal 3208 requests the server device to output priority data, the user terminal 3208 requests to secure resources of a band necessary for transmitting the priority data. Upon receiving the resource securing request, the priority input / output control unit 3301 requests the resource management unit 3201 to secure the resource by specifying the bandwidth amount. In the resource management unit 3201, the ATM switch communication band, the MSFS 3206 data read band, and the I / O unit 3207 communication band are pre-assigned as priority resources in order to transmit the requested amount of band data. Secure from the amount of bandwidth available.

現在、優先リソースが使用中で、要求された帯域量に見合う分の余りがない場合には、リソースの確保が失敗し、サーバ装置は、優先データの出力を実行できない。一方、リソースの確保に成功すると、ユーザ端末3208が出力を希望するデータ用に、I/Oユニット3207の通信帯域と、MSFS3206のデータ読み出し帯域と、交換部3203のATMスイッチの通信帯域とが、それぞれの機器に設定される。   If the priority resource is currently being used and there is not enough room for the requested bandwidth, the resource reservation fails and the server device cannot execute the output of the priority data. On the other hand, when the resource is successfully secured, for the data that the user terminal 3208 desires to output, the communication band of the I / O unit 3207, the data read band of the MSFS 3206, and the communication band of the ATM switch of the switching unit 3203 are: Set for each device.

ユーザ端末3208は、リソース確保完了通知を優先入出力制御部3301から受けると、優先データの出力を要求するコマンドを発行する。コマンドを受信したI/Oユニット3207の優先入出力制御部3301は、出力したい優先データ用に確保されているリソースを用いてデータの出力を実行する。   Upon receiving the resource reservation completion notification from the priority input / output control unit 3301, the user terminal 3208 issues a command for requesting output of priority data. Upon receiving the command, the priority input / output control unit 3301 of the I / O unit 3207 executes data output using the resources reserved for the priority data to be output.

図34は、図33におけるコマンド受付部3327の動作を示すフローチャートである。図35は、図33におけるコマンドキュー制御部3322の動作を示すフローチャートである。図36は、図33におけるコマンド送出部3323の動作を示すフローチャートである。以下、これら図34〜図36を参照して、非優先データの出力動作について説明する。   FIG. 34 is a flowchart showing the operation of the command receiving unit 3327 in FIG. FIG. 35 is a flowchart showing the operation of the command queue control unit 3322 in FIG. FIG. 36 is a flowchart showing the operation of the command sending unit 3323 in FIG. The non-priority data output operation will be described below with reference to FIGS.

図34に示すように、コマンド受付部3327は、ユーザ端末3208から非優先データの読み出しを要求するコマンドを受信すると(ステップS101)、当該コマンドを送信したユーザ端末3208に対応するコマンドキュー3321に空きがあるか否かを判断する(ステップS102)。対応するコマンドキュー3321に空きがない場合、コマンド受付部3327は、コマンドの受付を拒否し(ステップS103)、ステップS101の動作に戻る。一方、対応するコマンドキュー3321に空きがある場合、コマンド受付部3327は、受信したコマンドを対応するコマンドキュー3321の最後部に格納し(ステップS104)、その動作を終了する。なお、非優先入出力制御部3302は、前述した優先入出力制御部3301のように、ユーザ端末3208にデータを送出するためのリソースを確保する必要はない。   As shown in FIG. 34, when receiving a command requesting reading of non-priority data from the user terminal 3208 (step S101), the command receiving unit 3327 is free in the command queue 3321 corresponding to the user terminal 3208 that transmitted the command. It is determined whether or not there is (step S102). If there is no available command queue 3321, the command receiving unit 3327 rejects the command reception (step S103) and returns to the operation of step S101. On the other hand, if the corresponding command queue 3321 has a vacancy, the command reception unit 3327 stores the received command in the last part of the corresponding command queue 3321 (step S104), and ends the operation. The non-priority input / output control unit 3302 does not need to secure resources for sending data to the user terminal 3208 unlike the above-described priority input / output control unit 3301.

図35に示すように、コマンドキュー制御部3322は、バッファ管理部3325に格納されている管理情報を参照することにより、コマンドが蓄えられているユーザ端末3208毎のコマンドキュー3321の中から、データバッファ部3324に格納されているデータ量(実際に格納されているデータ量のみならず、格納することが予約されているデータ量も含む)が最も少ない(データが全く格納されていない場合も含む)ユーザ端末3208に対応するコマンドキューを選択する(ステップS201)。なお、データバッファ部3324に格納されているデータ量が同一であり、しかもそれぞれのデータ量が最小であるようなユーザ端末が複数存在する場合は、キュー長が最も長い(すなわち、最も多くのコマンドを格納している)コマンドキューが選択される。さらにこの場合であって、キュー長が同一のコマンドキューが複数存在する場合は、デフォルトで定められた順番に従ってコマンドキューがサイクリックに選択される。   As shown in FIG. 35, the command queue control unit 3322 refers to the management information stored in the buffer management unit 3325, and from the command queue 3321 for each user terminal 3208 in which commands are stored, data The amount of data stored in the buffer unit 3324 (including not only the amount of data actually stored but also the amount of data reserved for storage) is the smallest (including the case where no data is stored at all). ) A command queue corresponding to the user terminal 3208 is selected (step S201). When there are a plurality of user terminals having the same data amount stored in the data buffer unit 3324 and each having the smallest data amount, the queue length is the longest (that is, the largest number of commands). Command queue) is selected. Further, in this case, when there are a plurality of command queues having the same queue length, the command queues are cyclically selected in the order determined by default.

次に、コマンドキュー制御部3322は、選択したコマンドキューに注目し、その先頭部に格納さているコマンドをCOM(1)とする(ステップS202)。次に、コマンドキュー制御部3322は、コマンドカウンタNcに初期値1を設定すると共に、送出コマンドカウンタNsに初期値0を設定する(ステップS203)。次に、コマンドキュー制御部3322は、コマンドCOM(Nc)の宛先のMSFS3206が、コマンドCOM(1)の宛先のMSFS3206と等しいか否かを判断する(ステップS204)。両コマンドの宛先となるMSFS3206が等しい場合、コマンドキュー制御部3322は、選択したコマンドキューからコマンドCOM(Nc)を取り出し、取り出したコマンドCOM(Nc)をコマンド送出部3323に出力する(ステップS205)。なお、コマンドカウンタNcの計数値の初期値は1であるため、最初は、コマンドCOM(Nc)=COM(1)となる。従って、最初は、選択したコマンドキューから先頭のコマンドCOM(1)が取り出され、コマンド送出部3323に出力される。   Next, the command queue control unit 3322 pays attention to the selected command queue, and sets the command stored at the head of the command queue to COM (1) (step S202). Next, the command queue controller 3322 sets an initial value 1 to the command counter Nc and sets an initial value 0 to the sending command counter Ns (step S203). Next, the command queue control unit 3322 determines whether the destination MSFS 3206 of the command COM (Nc) is equal to the destination MSFS 3206 of the command COM (1) (step S204). If the MSFSs 3206 that are the destinations of both commands are equal, the command queue control unit 3322 extracts the command COM (Nc) from the selected command queue, and outputs the extracted command COM (Nc) to the command transmission unit 3323 (step S205). . Since the initial value of the count value of the command counter Nc is 1, the command COM (Nc) = COM (1) is initially set. Therefore, at the beginning, the head command COM (1) is extracted from the selected command queue, and is output to the command transmission unit 3323.

次に、コマンドキュー制御部3322は、送出コマンドカウンタNsをインクリメントする(ステップS206)。次に、コマンドキュー制御部3322は、送出コマンドカウンタNsの計数値が予め定められたしきい値Nよりも小さいか否かを判断する(ステップS207)。ここで、送出コマンドカウンタNsの計数値は、コマンドキュー制御部3322が、選択したコマンドキューの中から1つのMSFS3206に対して送出したコマンドの数に対応している。1つのMSFS3206に対してほぼ同時に多数のコマンドが送出されると、コマンドを受信したMSFS3206で輻輳が生じるため、本実施形態では、1つのコマンドキュー3321からは、同時にN個以上のコマンドを送出しないようにしている。すなわち、コマンドキュー制御部3322は、送出コマンドカウンタNsの計数値が予め定められたしきい値Nよりも小さい場合のみ、選択したコマンドキュー内の次のコマンドに対する送出処理に移行することができる。   Next, the command queue control unit 3322 increments the send command counter Ns (step S206). Next, the command queue control unit 3322 determines whether or not the count value of the send command counter Ns is smaller than a predetermined threshold value N (step S207). Here, the count value of the send command counter Ns corresponds to the number of commands sent by the command queue control unit 3322 to one MSFS 3206 from the selected command queue. When a large number of commands are sent to one MSFS 3206 almost simultaneously, congestion occurs in the MSFS 3206 that has received the command. In this embodiment, N or more commands are not sent from one command queue 3321 at the same time. I am doing so. That is, the command queue control unit 3322 can proceed to the transmission process for the next command in the selected command queue only when the count value of the transmission command counter Ns is smaller than the predetermined threshold value N.

上記ステップS207において、送出コマンドカウンタNsの計数値が予め定められたしきい値Nよりも小さい場合、コマンドキュー制御部3322は、選択したコマンドキュー内にCOM(Nc+1)で示されるコマンドが存在するか否か、すなわち選択したコマンドキュー内に未だ送出すべきコマンドが存在するか否かを判断する(ステップS208)。選択したコマンドキュー内にコマンドCOM(Nc+1)が存在する場合、すなわち選択したコマンドキュー内に未だ送出すべきコマンドが存在する場合、コマンドキュー制御部3322は、コマンドカウンタNcをインクリメントした後(ステップS209)、ステップS204の動作に戻る。従って、選択したコマンドキュー内において、次の位置に格納されているコマンドが、コマンド送出部3323への送出処理の対象となる。例えば、選択したコマンドキュー内において2番目の位置に格納されたコマンドCOM(2)について考えてみると、このコマンドCOM(2)が先頭位置のコマンドCOM(1)と等しい場合は、当該コマンドCOM(2)がステップS205においてコマンド送出部3323に出力される。一方、コマンドCOM(2)が先頭位置のコマンドCOM(1)と等しくない場合は、ステップS204の後、ステップS205〜S207がスキップされて、当該コマンドCOM(2)がコマンド送出部3323に出力されない。   When the count value of the send command counter Ns is smaller than the predetermined threshold value N in step S207, the command queue control unit 3322 has a command indicated by COM (Nc + 1) in the selected command queue. It is determined whether there is a command to be transmitted in the selected command queue (step S208). When the command COM (Nc + 1) exists in the selected command queue, that is, when the command to be sent still exists in the selected command queue, the command queue control unit 3322 increments the command counter Nc (step S209). ), Returning to the operation of step S204. Therefore, the command stored at the next position in the selected command queue is the target of the transmission process to the command transmission unit 3323. For example, when considering the command COM (2) stored at the second position in the selected command queue, if this command COM (2) is equal to the command COM (1) at the head position, the command COM (2) is output to the command sending unit 3323 in step S205. On the other hand, when the command COM (2) is not equal to the command COM (1) at the head position, steps S205 to S207 are skipped after step S204, and the command COM (2) is not output to the command sending unit 3323. .

一方、選択したコマンドキュー内にコマンドCOM(Nc+1)が存在しない場合、コマンドキュー制御部3322は、コマンド送出処理が完了したか否か、すなわちコマンド送出部3323に出力したコマンドに対応するデータがMSFS3206からデータバッファ部3324に到着したか否かを判断し(ステップS210)、完了した場合はステップS201の動作に戻る。なお、コマンドキュー制御部3322は、コマンド送出部3323から受信完了通知(後述する図36のステップS308参照)を受け取ったときに、コマンド送出処理が完了したものと判断する。   On the other hand, when the command COM (Nc + 1) does not exist in the selected command queue, the command queue control unit 3322 determines whether the command transmission processing is completed, that is, the data corresponding to the command output to the command transmission unit 3323 is MSFS 3206. Is determined whether it has arrived at the data buffer unit 3324 (step S210). If completed, the process returns to step S201. Note that the command queue control unit 3322 determines that the command transmission processing has been completed when receiving a reception completion notification (see step S308 in FIG. 36 described later) from the command transmission unit 3323.

なお、前述のステップS207において、送出コマンドカウンタNsの計数値が予め定められたしきい値N以上になった場合、コマンドキュー制御部3322は、ステップS210の動作に進み、次のコマンドに対する送出処理を実行しない。   If the count value of the send command counter Ns is equal to or greater than the predetermined threshold value N in step S207 described above, the command queue control unit 3322 proceeds to the operation in step S210, and sends processing for the next command. Do not execute.

図36に示すように、コマンド送出部3323は、コマンドキュー制御部3322から非優先データの読み出しを要求するコマンドを受け取ると、読み出し完了カウンタNrを初期化する(ステップS301)。すなわち、コマンド送出部3323は、読み出し完了カウンタNrに初期値として、コマンドキュー制御部3322から受け取った全コマンド数を設定する。次に、コマンド送出部3323は、MSFS3206に対して送出していないコマンドを内部に保有しているか否かを判断する(ステップS302)。コマンド送出部3323は、未送出のコマンドを保有している場合、保有している未送出のコマンドの中からいずれか1つのコマンド(通常は、次のコマンド)を選択して注目し、当該コマンドに対応するデータを記憶装置3205から読み出したときに、当該データを格納し得るだけの空き領域がデータバッファ部3324内に存在するか否かを判断する(ステップS303)。データバッファ部3324内に空き領域が存在するか否かは、バッファ管理部3325内の管理情報(具体的には、各カウンタの計数値)を参照することにより判断できる。   As shown in FIG. 36, when receiving a command requesting to read non-priority data from the command queue control unit 3322, the command sending unit 3323 initializes a read completion counter Nr (step S301). That is, the command sending unit 3323 sets the total number of commands received from the command queue control unit 3322 as an initial value in the read completion counter Nr. Next, the command sending unit 3323 determines whether or not it holds a command not sent to the MSFS 3206 (step S302). If the command sending unit 3323 has an unsent command, the command sending unit 3323 selects one command (usually the next command) from the held unsent commands and pays attention to the command. When the data corresponding to is read from the storage device 3205, it is determined whether or not there is a free area in the data buffer unit 3324 that can store the data (step S303). Whether there is an empty area in the data buffer unit 3324 can be determined by referring to the management information (specifically, the count value of each counter) in the buffer management unit 3325.

データバッファ部3324内に空き領域が存在する場合、コマンド送出部3323は、データを格納するための領域をデータバッファ部3324内に予約すると共に、バッファ管理部3325に予約したことを通知し、さらに宛先のMSFS3206に選択したコマンドを送出する(ステップS304)。仮に、予約できない場合には、予約できる状態になるまで、コマンド送出部3323は、非優先データの読み出しを要求するコマンドをMSFS3206に送出しない。この処理を行うことにより、MSFS3206からのデータ受信時に、データバッファ部3324内に格納領域が無くて、データが廃棄されることを防止することができる。   When there is an empty area in the data buffer unit 3324, the command sending unit 3323 reserves an area for storing data in the data buffer unit 3324 and notifies the buffer management unit 3325 that the area has been reserved. The selected command is sent to the destination MSFS 3206 (step S304). If reservation is not possible, the command sending unit 3323 does not send a command requesting reading of non-priority data to the MSFS 3206 until a reservation is possible. By performing this processing, it is possible to prevent data from being discarded because there is no storage area in the data buffer unit 3324 when data is received from the MSFS 3206.

バッファ管理部3325は、ユーザ端末毎にカウンタを有しており、コマンド送出部3323から予約の通知を受けたとき、データバッファ部3324に格納領域を予約したデータの読み出しコマンドを送信したユーザ端末3208に対応するカウンタの計数値をインクリメントする。   The buffer management unit 3325 has a counter for each user terminal, and when receiving a reservation notification from the command transmission unit 3323, the user terminal 3208 that has transmitted a data read command for reserving a storage area to the data buffer unit 3324. The counter value corresponding to is incremented.

次に、コマンド送出部3323は、データバッファ部3324がMSFS3206からデータを受信したか否かを判断する(ステップS305)。データバッファ部3324がMSFS3206からのデータを受信していない場合、コマンド送出部3323は、ステップS302の動作に戻り、次の未送出コマンドに対する送出処理を行う。一方、データバッファ部3324がMSFS3206からのデータを受信した場合、コマンド送出部3323は、読み出し完了カウンタNrをデクリメントする(ステップS306)。従って、読み出し完了カウンタNrの計数値は、今回の送出処理の対象となるコマンド(すなわち、コマンドキュー制御部3322から今回受け取った全コマンド)の内、MSFS3206からのデータ送出が完了していないコマンドの数を表すことになる。   Next, the command sending unit 3323 determines whether the data buffer unit 3324 has received data from the MSFS 3206 (step S305). When the data buffer unit 3324 has not received the data from the MSFS 3206, the command sending unit 3323 returns to the operation of step S302 and performs sending processing for the next unsent command. On the other hand, when the data buffer unit 3324 receives data from the MSFS 3206, the command sending unit 3323 decrements the read completion counter Nr (step S306). Therefore, the count value of the read completion counter Nr is the command for which data transmission from the MSFS 3206 has not been completed among the commands to be sent at this time (that is, all commands received from the command queue control unit 3322). It represents a number.

その後、コマンド送出部3323は、読み出し完了カウンタNrの計数値が0になったか否かを判断する(ステップS307)。読み出し完了カウンタNrの計数値が0になっていない場合、コマンド送出部3323は、ステップS302の動作に戻り、次の未送出コマンドに対する送出処理を行う。一方、読み出し完了カウンタNrの計数値が0になった場合、コマンド送出部3323は、受信完了通知をコマンドキュー制御部3322に送出し(ステップS308)、その動作を終了する。   Thereafter, the command sending unit 3323 determines whether or not the count value of the read completion counter Nr has become 0 (step S307). If the count value of the read completion counter Nr is not 0, the command sending unit 3323 returns to the operation of step S302 and performs sending processing for the next unsent command. On the other hand, when the count value of the read completion counter Nr becomes 0, the command sending unit 3323 sends a reception completion notification to the command queue control unit 3322 (step S308), and the operation ends.

上記の説明から明らかなように、コマンド送出部3323は、コマンドキュー制御部3322から送られたコマンドを全て送出した後、送出したコマンドに対応するデータをMSFS3206から全て受信完了するまでは、次のコマンドをコマンドキュー制御部3322から受け取らないことになる。   As is clear from the above description, after sending all the commands sent from the command queue control unit 3322, the command sending unit 3323 continues to receive the data corresponding to the sent commands from the MSFS 3206 until the next reception is completed. The command is not received from the command queue control unit 3322.

非優先データの読み出しを要求するコマンドを受信したMSFS3206は、当該コマンドを、内部に設けられた非優先コマンドキューに一旦蓄える。そして、当該MSFS3206は、非優先リソースとして確保されている読み出し帯域内で、非優先コマンドキューからコマンドを取り出し、記憶装置3205からのデータの読み出しを実行する。読み出されたデータは、読み出しを要求したI/Oユニット3207がMSFS3206との間に確保している非優先リソースとしての通信帯域を用いて送信される。このとき、当該I/Oユニット3207は、非優先データの受信に関して、同時に複数のMSFS3206との間で通信することがないため、MSFS3206は、I/Oユニット3207が持つ非優先リソースの通信帯域の全てを使用してデータを送信することが可能となる。   The MSFS 3206 that has received a command requesting reading of non-priority data temporarily stores the command in a non-priority command queue provided therein. Then, the MSFS 3206 retrieves a command from the non-priority command queue and reads data from the storage device 3205 within the read band secured as the non-priority resource. The read data is transmitted using a communication band as a non-priority resource that is secured with the MSFS 3206 by the I / O unit 3207 that has requested reading. At this time, since the I / O unit 3207 does not communicate with a plurality of MSFSs 3206 at the same time with respect to reception of non-priority data, the MSFS 3206 has the communication bandwidth of the non-priority resources that the I / O unit 3207 has. Data can be transmitted using all of them.

MSFS3206からのデータがI/Oユニット3207に到着すると、当該データは、データバッファ部3324内の既に予約されている領域に格納される。データ送出部3326は、非優先リソースとして確保されているサーバ装置外部との間の通信帯域内でデータバッファ部3324からデータを取り出し、データが格納されていた領域を空き領域とする。同時に、データ送出部3326は、データの取り出しをバッファ管理部3325に通知する。通知を受けたバッファ管理部3325は、データバッファ部3324から取り出されたデータの読み出しコマンドを送信したユーザ端末3208に対応するカウンタをデクリメントする。そして、データ送出部3326は、対応するユーザ端末3208に、取り出したデータを送出する。   When data from the MSFS 3206 arrives at the I / O unit 3207, the data is stored in an already reserved area in the data buffer unit 3324. The data sending unit 3326 takes out data from the data buffer unit 3324 within a communication band with the outside of the server device secured as a non-priority resource, and sets an area where the data is stored as a free area. At the same time, the data transmission unit 3326 notifies the buffer management unit 3325 of data extraction. Receiving the notification, the buffer management unit 3325 decrements the counter corresponding to the user terminal 3208 that has transmitted the read command for the data extracted from the data buffer unit 3324. Then, the data sending unit 3326 sends the extracted data to the corresponding user terminal 3208.

以上説明したように、第8の実施形態によれば、システムの各部のリソースを、優先データを出力するのに使用するリソース(優先リソース)と、非優先データを出力するのに使用するリソース(非優先リソース)とに予め分離して管理するようにしているので、非優先データの読み出しに使用するリソースを、優先リソースとは独立して確保することができる。その結果、非優先データの読み出し量が増加しても、優先データの出力に影響を与えることがない。   As described above, according to the eighth embodiment, the resources of each part of the system are the resources used to output priority data (priority resources) and the resources used to output non-priority data ( Therefore, the resource used for reading the non-priority data can be secured independently of the priority resource. As a result, even if the read amount of the non-priority data increases, the priority data output is not affected.

ところで、各ユーザ端末3208がサーバ装置からの非優先データを受信できる能力には限界がある。それにもかかわらず、あるユーザ端末3208が、自己の受信能力を超える量の非優先データの読み出しを要求した場合、そのユーザ端末3208からの要求に応答して記憶装置3205から読み出されたデータは、データバッファ部3324の内部において大量に蓄積されることになる。その結果、サーバ装置では、その他のユーザ端末3208からの読み出し要求に対する処理が遅くなる。以下、このことを具体例を挙げてより詳細に説明する。   By the way, there is a limit to the ability of each user terminal 3208 to receive non-priority data from the server device. Nevertheless, when a certain user terminal 3208 requests reading of non-priority data in an amount exceeding its own receiving capability, the data read from the storage device 3205 in response to the request from the user terminal 3208 is A large amount of data is accumulated in the data buffer unit 3324. As a result, in the server device, processing for read requests from other user terminals 3208 is delayed. Hereinafter, this will be described in more detail with a specific example.

例えば、サーバ装置に10台のユーザ端末3208が接続されており、各ユーザ端末3208の受信能力がそれぞれ10Mbpsであり、サーバ装置の外部との間の通信帯域が全体として100Mbpsであった場合を想定する。この場合、ある1台のユーザ端末3208が、サーバ装置に対して100Mbpsを越える量の非優先データの読み出し要求を出したとすると、データバッファ部3324内は、読み出し要求を出した1つのユーザ端末3208に対する蓄積データで満杯になる。しかも、このときデータバッファ部3324内に蓄積されたデータは、10Mbpsの速度でしか減少していかない。このような状況下では、他のユーザ端末3208から非優先データの読み出し要求があったとしても、データバッファ部3324内に読み出しデータを格納し得る空き領域ができるまでは、当該他のユーザ端末3208からの要求に対する送信処理を実行することができない。これでは、即時性を要求されるような読み出し要求コマンドに迅速に対応することができない。しかも、この場合、サーバ装置全体としては100Mbpsの通信能力を有しているにもかかわらず、実際には10Mbpsの通信能力しか発揮していないことになり、限られた通信帯域を有効に活用することができない。   For example, it is assumed that ten user terminals 3208 are connected to the server device, each user terminal 3208 has a receiving capability of 10 Mbps, and the communication bandwidth with the outside of the server device is 100 Mbps as a whole. To do. In this case, if a certain user terminal 3208 issues a read request for non-priority data exceeding 100 Mbps to the server device, the data buffer unit 3324 has one user terminal that has issued the read request. The stored data for 3208 is full. In addition, the data stored in the data buffer unit 3324 at this time can only be reduced at a rate of 10 Mbps. Under such circumstances, even if there is a read request for non-priority data from another user terminal 3208, the other user terminal 3208 is not available until there is a free space in the data buffer unit 3324 for storing read data. The transmission process for the request from the server cannot be executed. This makes it impossible to quickly respond to a read request command that requires immediacy. Moreover, in this case, although the server apparatus as a whole has a communication capability of 100 Mbps, it actually exhibits only a communication capability of 10 Mbps, and effectively uses a limited communication band. I can't.

そこで、上記第8の実施形態では、バッファ管理部3325に格納されている管理情報を参照することにより、コマンドが蓄えられているユーザ端末3208毎のコマンドキュー3321の中から、データバッファ部3324に格納されているデータ量が最も少ないユーザ端末3208に対応するコマンドキューを選択し、当該選択したコマンドキューに蓄えられているコマンドの送出処理を優先的に実行するようにしているので、複数のユーザ端末3208が共通に使用している非優先リソースを、1つのユーザ端末3208が占有して使用することが少なくなり、サーバ装置が各ユーザ端末3208に対して有する通信能力を最大限に活用することができる。   Therefore, in the eighth embodiment, by referring to the management information stored in the buffer management unit 3325, the command buffer 3321 for each user terminal 3208 in which commands are stored is stored in the data buffer unit 3324. Since the command queue corresponding to the user terminal 3208 with the smallest amount of data stored is selected and the process of sending the commands stored in the selected command queue is preferentially executed, a plurality of users Non-priority resources that are commonly used by the terminal 3208 are less occupied and used by one user terminal 3208, and the server device can make maximum use of the communication capability of each user terminal 3208. Can do.

なお、コマンドキュー制御部3322は、データバッファ部3324に格納されている最も少ないデータ量が所定のしきい値を越えている場合、選択したコマンドキュー3321からのコマンド取り出しを中止するようにしてもよい。これによって、データバッファ部3324が特定のユーザ端末3208のデータで埋め尽くされ、他のユーザ端末3208の非優先のデータの読み出し要求が処理できなくなることをより一層効果的に防ぐことができる。   Note that the command queue control unit 3322 may stop taking out a command from the selected command queue 3321 when the smallest amount of data stored in the data buffer unit 3324 exceeds a predetermined threshold value. Good. As a result, it is possible to more effectively prevent the data buffer unit 3324 from being filled with the data of the specific user terminal 3208 and the non-prioritized data read request of the other user terminals 3208 from being processed.

また、上記第8の実施形態では、コマンド送出部3323は、データバッファ部3324内にデータを格納するための領域を予約した後に、非優先データの読み出しを要求するコマンドをMSFS3206に送出するようにしている。すなわち、コマンド送出部3323は、格納領域を予約できない場合には、予約できるまで、非優先データの読み出しを要求するコマンドをMSFS3206に送出しない。このようなコマンド送出部3323を設けたことにより、MSFS3206からのデータ受信時に、データバッファ部3324内に格納領域がなくてデータが廃棄されることを防止できる。   In the eighth embodiment, the command sending unit 3323 reserves an area for storing data in the data buffer unit 3324, and then sends a command requesting reading of non-priority data to the MSFS 3206. ing. That is, if the storage area cannot be reserved, the command transmission unit 3323 does not transmit a command requesting reading of non-priority data to the MSFS 3206 until the storage area can be reserved. By providing such a command sending unit 3323, it is possible to prevent data from being discarded because there is no storage area in the data buffer unit 3324 when data is received from the MSFS 3206.

さらに、上記第8の実施形態では、コマンド送出部3323は、コマンドキュー制御部3322から送られたコマンドを全て送出後、送出したコマンドに対応するデータをMSFS3206から全て受信完了するまでは、次のコマンドをコマンドキュー制御部3322から受け取らない。これによって、I/Oユニット3207は、非優先データの受信に関して、同時に複数のMSFS3206と通信することがないため、非優先データ同士のセルの衝突を考慮する必要がない。また、MSFS3206は、I/Oユニット3207が持つ非優先リソースの通信帯域の全てを使用して高速にデータを送信することが可能となる。   Furthermore, in the eighth embodiment, after sending all the commands sent from the command queue control unit 3322, the command sending unit 3323 continues to receive the data corresponding to the sent commands from the MSFS 3206 until the next reception is completed. The command is not received from the command queue control unit 3322. Thus, the I / O unit 3207 does not communicate with a plurality of MSFSs 3206 at the same time with respect to reception of non-priority data, so there is no need to consider cell collision between non-priority data. Further, the MSFS 3206 can transmit data at high speed using all the communication bands of the non-priority resources that the I / O unit 3207 has.

(第9の実施形態)
図37は、本発明の第9の実施形態に係るサーバ装置を用いたデータ伝送システムの構成を示すブロック図である。図37において、本データ伝送システムは、リソース管理部3701と、データ記憶部3702と、交換部3703と、入出力部3704と、複数のユーザ端末3708とを備えている。なお、本実施形態のサーバ装置は、リソース管理部3701と、データ記憶部3702と、交換部3703と、入出力部3704とによって構成される。そして、当該サーバ装置と各端末3708は、有線または無線の伝送路を介して接続されている。
(Ninth embodiment)
FIG. 37 is a block diagram showing a configuration of a data transmission system using a server apparatus according to the ninth embodiment of the present invention. 37, the data transmission system includes a resource management unit 3701, a data storage unit 3702, an exchange unit 3703, an input / output unit 3704, and a plurality of user terminals 3708. Note that the server device of this embodiment includes a resource management unit 3701, a data storage unit 3702, an exchange unit 3703, and an input / output unit 3704. The server device and each terminal 3708 are connected via a wired or wireless transmission path.

リソース管理部3701は、各ユーザ端末3708に対してデータを送出する際に、必要となるリソースを管理する。データ記憶部3702は、ランダムアクセスが可能な複数の記憶装置(例えば、オートチェンジャー付き光ディスクドライバ)3705と、各記憶装置3705に接続されてデータの読み出しを制御する複数のMSFS3706とを含む。交換部3703は、入出力部3704とデータ記憶部3702との間でデータの交換を行う。なお、本実施形態では、一例として、交換部3703にATMスイッチを使用している。入出力部3704は、複数のI/Oユニット3707を含み、サーバ装置と各ユーザ端末3708との間のデータの入出力を制御する。各ユーザ端末3708は、いずれかのI/Oユニット3707に接続されている。   The resource management unit 3701 manages necessary resources when sending data to each user terminal 3708. The data storage unit 3702 includes a plurality of storage devices (for example, an optical disc driver with an autochanger) 3705 capable of random access, and a plurality of MSFSs 3706 connected to each storage device 3705 and controlling reading of data. Exchanger 3703 exchanges data between input / output unit 3704 and data storage unit 3702. In this embodiment, as an example, an ATM switch is used for the exchange unit 3703. The input / output unit 3704 includes a plurality of I / O units 3707 and controls input / output of data between the server apparatus and each user terminal 3708. Each user terminal 3708 is connected to one of the I / O units 3707.

上記のような構成において、各I/Oユニット3707と各MSFS3706との間には、交換部3703によりメッシュ状にコネクションが設定される。なお、各コネクションの帯域は、リソース管理部3701が管理している。   In the configuration as described above, a connection is set in a mesh shape by the exchange unit 3703 between each I / O unit 3707 and each MSFS 3706. Note that the resource management unit 3701 manages the bandwidth of each connection.

上記第9の実施形態は、以下の点で前述した第8の実施形態と相違する。
まず、リソース管理部3701は、システム全体のリソースを、優先リソースと非優先リソースとに分離して管理するが、必要となる優先リソース量の増減に応じて、優先リソースとして割り当てる量と、非優先リソースとして割り当てる量とを変更する。
The ninth embodiment is different from the eighth embodiment described above in the following points.
First, the resource management unit 3701 manages the resources of the entire system separately into priority resources and non-priority resources. However, the amount allocated as the priority resource and the non-priority according to the increase / decrease in the required priority resource amount Change the amount allocated as a resource.

次に、交換部3703におけるATMスイッチの非優先リソースとしての通信帯域は、ABRモードによって確保されている。ここで、ABRとは、ATMでの通信の標準化を推進する業界団体である"The ATM Forum"で審議されているサービスカテゴリである。ABRを用いた通信では、輻輳が生じた場合に送信レートがATMレイヤで自動的に調整され、それによって輻輳が解消される。また、帯域に空きがある場合には、自動的に送信レートが上げられ、通信帯域の有効利用が図られる。ABRについては、ATM Forum Traffic Management Specification Version 4.0,October 1995,ATM Forum/95−0013R8等に記述されている。   Next, a communication band as a non-priority resource of the ATM switch in the exchange unit 3703 is secured by the ABR mode. Here, ABR is a service category deliberated by "The ATM Forum", which is an industry group that promotes standardization of communication in ATM. In communication using ABR, when congestion occurs, the transmission rate is automatically adjusted at the ATM layer, thereby eliminating the congestion. Further, when there is a vacancy in the band, the transmission rate is automatically increased, and the communication band is effectively used. ABR is described in ATM Forum Traffic Management Specification Version 4.0, October 1995, ATM Forum / 95-0013R8, and the like.

図38は、図37におけるI/Oユニット3707のより詳細な構成を示すブロック図である。図38おいて、I/Oユニット3707は、優先入出力制御部3801と、非優先入出力制御部3802とを備えている。非優先入出力制御部3802は、コマンドキュー3841と、コマンドキュー制御部3842と、コマンド送出部3843と、データバッファ部3844と、データ送出部3846と、コマンド受付部3847とを含む。コマンド送出部3843は、各MSFS3706毎に設けられた、複数のカウンタ3848および複数の送出キュー3849を含む。   FIG. 38 is a block diagram showing a more detailed configuration of the I / O unit 3707 in FIG. In FIG. 38, the I / O unit 3707 includes a priority input / output control unit 3801 and a non-priority input / output control unit 3802. Non-priority input / output control unit 3802 includes a command queue 3841, a command queue control unit 3842, a command sending unit 3843, a data buffer unit 3844, a data sending unit 3848, and a command receiving unit 3847. The command sending unit 3843 includes a plurality of counters 3848 and a plurality of sending queues 3849 provided for each MSFS 3706.

優先入出力制御部3801は、動画データ等の優先データの入出力を制御する。これに対し、非優先入出力制御部3802は、静止画データ等の非優先データの入出力を制御する。   A priority input / output control unit 3801 controls input / output of priority data such as moving image data. On the other hand, the non-priority input / output control unit 3802 controls input / output of non-priority data such as still image data.

非優先入出力制御部3802において、コマンドキュー3841は、ユーザ端末3708からの非優先データの読み出しを要求するコマンドを一括的に蓄える。コマンドキュー制御部3842は、コマンドキュー3841からのコマンドの取り出しを制御する。コマンド送出部3843は、コマンドキュー制御部3842が取り出したコマンドを、対応する宛先のMSFS3706に送出する。データバッファ部3844は、MSFS3706が記憶装置3705から読み出したデータを蓄える。データ送出部3846は、データバッファ部3844に蓄積されたデータを、対応する宛先のユーザ端末3708に送出する。コマンド受付部3847は、ユーザ端末3708から到着したコマンドを、コマンドキュー3841に登録するか否かを管理している。   In the non-priority input / output control unit 3802, the command queue 3841 collectively stores commands that request reading of non-priority data from the user terminal 3708. The command queue control unit 3842 controls the extraction of commands from the command queue 3841. The command sending unit 3843 sends the command extracted by the command queue control unit 3842 to the corresponding destination MSFS 3706. The data buffer unit 3844 stores data read by the MSFS 3706 from the storage device 3705. The data sending unit 3846 sends the data stored in the data buffer unit 3844 to the corresponding destination user terminal 3708. The command reception unit 3847 manages whether or not a command that has arrived from the user terminal 3708 is registered in the command queue 3841.

コマンド送出部3843において、各カウンタ3848は、送出したデータ読み出しのコマンドの内、未だMSFS3706からデータが到着していないコマンドの数を、各MSFS3706毎にカウントする。各送出キュー3849は、各MSFS3706毎に、送出するコマンドを蓄える。   In the command transmission unit 3843, each counter 3848 counts the number of commands for which data has not yet arrived from the MSFS 3706 among the transmitted data read commands for each MSFS 3706. Each transmission queue 3849 stores a command to be transmitted for each MSFS 3706.

図39は、図37におけるリソース管理部3701の動作を示すフローチャートである。図40は、図38におけるコマンド受付部3847の動作を示すフローチャートである。図41は、図38におけるコマンドキュー制御部3842の動作を示すフローチャートである。図42は、図38におけるコマンド送出部3843の動作を示すフローチャートである。以下、これら図39〜図42を参照して、第9の実施形態のサーバ装置の動作について説明する。   FIG. 39 is a flowchart showing the operation of the resource management unit 3701 in FIG. FIG. 40 is a flowchart showing the operation of the command receiving unit 3847 in FIG. FIG. 41 is a flowchart showing the operation of the command queue controller 3842 in FIG. FIG. 42 is a flowchart showing the operation of the command sending unit 3843 in FIG. Hereinafter, the operation of the server device of the ninth embodiment will be described with reference to FIGS. 39 to 42.

まず、システムの起動時に行われるリソースの初期設定動作について説明する。リソース管理部3701は、システムの起動時において、データ伝送システム全体のリソース(各MSFS3706のデータ読み出し帯域、各I/Oユニット3707における外部との間の通信帯域、交換部3703における各ATMスイッチの通信帯域等を含む)の内、非優先リソースとして最低限確保すべき帯域量を決定する。本実施形態では、優先リソースは、非優先リソースよりも常に優先的に確保される。従って、非優先リソースとして最低限確保すべき帯域量を決めておかないと、優先データの読み出し要求が増えた場合、非優先リソースとして確保する帯域が無くなり、非優先データを送出することができなくなる。また、システムの起動時において、リソース管理部3701は、ABRモードによって、MSFS3706とI/Oユニット3707との間の、非優先リソースとしてのATM通信路を設定する。   First, the resource initial setting operation performed when the system is started will be described. At the time of system startup, the resource management unit 3701 is responsible for the resources of the entire data transmission system (data read bandwidth of each MSFS 3706, communication bandwidth between the I / O unit 3707 and the outside, communication of each ATM switch in the exchange unit 3703 Bandwidth) to be secured as a minimum non-priority resource. In this embodiment, the priority resource is always secured in preference to the non-priority resource. Therefore, unless the minimum amount of bandwidth to be secured as a non-priority resource is determined, when priority data read requests increase, there is no bandwidth secured as a non-priority resource, and non-priority data cannot be transmitted. . Further, at the time of system startup, the resource management unit 3701 sets an ATM communication path as a non-priority resource between the MSFS 3706 and the I / O unit 3707 in the ABR mode.

次に、優先データの出力動作について説明する。各ユーザ端末3708は、サーバ装置に対して優先データの出力を要求する場合、当該優先データを送出するのに必要な帯域のリソースの確保を要求する。リソース確保の要求を受けた優先入出力制御部3801は、リソース管理部3701に対し、帯域量を指定してリソースの確保を要求する。リソース管理部3701では、要求された帯域量のデータを送信するために、交換部3703におけるATMスイッチの通信帯域と、MSFS3206のデータ読み出し帯域と、I/Oユニット3707の通信帯域とを、優先リソースとして予め割り当てられている帯域量の中から確保する。   Next, priority data output operation will be described. When each user terminal 3708 requests the server device to output priority data, the user terminal 3708 requests to secure resources of a band necessary for transmitting the priority data. The priority input / output control unit 3801 that has received the request for securing the resource requests the resource management unit 3701 to secure the resource by specifying the bandwidth amount. In order to transmit the requested bandwidth amount of data, the resource management unit 3701 uses the priority switch resource 3703, the data read bandwidth of the MSFS 3206, and the communication bandwidth of the I / O unit 3707 as priority resources. Is secured from the bandwidth amount allocated in advance.

現在、優先リソースとして確保されている帯域の全てまたは大部分が使用中であり、要求された優先データを読み出して送出するのに必要な帯域量の余りがない場合、図39に示すように、リソース管理部3701は、優先リソースとして確保している帯域量の変更要求が発生したものと判断する(ステップS401)。その後、リソース管理部3701は、もし優先リソースの帯域量を増加するように変更した場合、非優先リソースに対し、前述の最低帯域量(システムの起動時に設定されている)を確保することが可能か否かを判断する(ステップS402)。もし、優先リソースの帯域量を増加すると、非優先リソースに対して最低帯域量を確保することができない場合、リソース管理部3701は、優先リソースの増加を拒否し(ステップS403)、ステップS401の動作に戻る。この場合、優先リソースの確保が失敗し、サーバ装置は、優先データの出力を実行できない。   If all or most of the bandwidth that is currently reserved as a priority resource is in use and there is not enough bandwidth to read and send the requested priority data, as shown in FIG. The resource management unit 3701 determines that a request for changing the amount of bandwidth secured as a priority resource has occurred (step S401). Thereafter, if the resource management unit 3701 is changed so as to increase the bandwidth amount of the priority resource, the above-mentioned minimum bandwidth amount (set at the time of starting the system) can be secured for the non-priority resource. Whether or not (step S402). If the bandwidth amount of the priority resource is increased and the minimum bandwidth amount cannot be secured for the non-priority resource, the resource management unit 3701 rejects the increase of the priority resource (step S403), and the operation of step S401 Return to. In this case, securing the priority resource fails, and the server apparatus cannot execute the output of the priority data.

一方、優先リソースの帯域量を増加しても非優先リソースに対して最低帯域量を確保することが可能な場合、リソース管理部3701は、変更後の優先リソースの残りとして割り当てられる非優先リソースの帯域量をMSFS3706,I/Oユニット3707に設定すると共に、カウンタ3848のしきい値Lをコマンド送出部3843に通知する(ステップS404)。なお、リソース管理部3701は、優先入出力制御部3801が優先データの出力を完了すると、対応する帯域量を確保している優先リソースから減少させる。   On the other hand, when the minimum bandwidth can be secured for the non-priority resource even if the bandwidth amount of the priority resource is increased, the resource management unit 3701 displays the non-priority resource allocated as the remaining priority resource after the change. The bandwidth amount is set in the MSFS 3706 and the I / O unit 3707, and the threshold value L of the counter 3848 is notified to the command transmission unit 3843 (step S404). Note that, when the priority input / output control unit 3801 completes the output of the priority data, the resource management unit 3701 decreases the priority resource that secures the corresponding bandwidth amount.

リソース管理部3701のその他の動作は、図32に示すリソース管理部3201と同様であり、その説明を省略する。   Other operations of the resource management unit 3701 are the same as those of the resource management unit 3201 shown in FIG. 32, and a description thereof will be omitted.

次に、非優先データの出力動作について説明する。図40に示すように、コマンド受付部3847は、ユーザ端末3708から非優先データの読み出しを要求するコマンドを受信すると(ステップS501)、コマンドキュー3841に空きがあるか否かを判断する(ステップS502)。コマンドキュー3841に空きがない場合、コマンド受付部3847は、コマンドを送信したユーザ端末3708に対してコマンドの受付を拒否し(ステップS503)、ステップS501の動作に戻る。一方、コマンドキュー3841に空きがある場合、コマンド受付部3847は、受信したコマンドをコマンドキュー3841の最後部に格納し(ステップS504)、その動作を終了する。   Next, the non-priority data output operation will be described. As illustrated in FIG. 40, when receiving a command requesting reading of non-priority data from the user terminal 3708 (step S501), the command receiving unit 3847 determines whether or not the command queue 3841 has an empty space (step S502). ). If there is no free space in the command queue 3841, the command reception unit 3847 rejects the reception of the command to the user terminal 3708 that transmitted the command (step S503), and returns to the operation of step S501. On the other hand, when the command queue 3841 has a vacancy, the command reception unit 3847 stores the received command in the last part of the command queue 3841 (step S504), and ends its operation.

図41に示すように、コマンドキュー制御部3842は、コマンドキュー3841にコマンドが格納されているか否かを判断し(ステップS601)、格納されている場合は、MSFS毎に設けられた送出キュー3849の内、1つでも満杯状態(すなわち、最後尾までコマンドを格納した状態)になったキューがあるか否かを判断する(ステップS602)。もし、1つでも満杯状態になったキューがある場合、コマンドキュー制御部3842は、コマンドが送出され、送出キュー3849に空きができるまで、コマンドキュー3841からのコマンドの取り出しを停止する。一方、満杯状態の送出キュー3849が1つもない場合、コマンドキュー制御部3842は、コマンドキュー3841の先頭からコマンドを1つ取り出し、当該コマンドを送出先のMSFS3706に対応する送出キュー3849に格納する(ステップS603)。   As shown in FIG. 41, the command queue control unit 3842 determines whether or not a command is stored in the command queue 3841 (step S601). If it is stored, the transmission queue 3849 provided for each MSFS. In step S602, it is determined whether or not there is a queue in which at least one of the queues is full (that is, a state where commands are stored up to the end). If there is at least one queue that is full, the command queue control unit 3842 stops taking out commands from the command queue 3841 until a command is transmitted and the transmission queue 3849 becomes empty. On the other hand, if there is no full send queue 3849, the command queue control unit 3842 takes out one command from the head of the command queue 3841 and stores the command in the send queue 3849 corresponding to the destination MSFS 3706 ( Step S603).

次に、コマンドキュー制御部3842は、所定のデータ量に相当するコマンドをコマンド送出部3843に送出したか否かを判断する(ステップS604)。ここで、所定のデータ量とは、その時点でI/Oユニット3707に割り当てられている非優先リソースであって、MSFS3706との間の通信帯域と、ユーザ端末3708との通信帯域との内、小さい方の通信帯域を用いて、予め定められた時間Tの間に送信可能なデータ量と定義される。所定のデータ量に相当するコマンドをコマンド送出部3843に送出していない場合、コマンドキュー制御部3842は、ステップS601の動作に戻り、コマンドキュー3841から次のコマンドを取り出してコマンド送出部3843に送出する。一方、所定のデータ量に相当するコマンドをコマンド送出部3843に送出している場合、コマンドキュー制御部3842は、時間Tの間、コマンドキュー3841からコマンド送出部3843へのコマンドの送出を停止する(ステップS605)。   Next, the command queue control unit 3842 determines whether or not a command corresponding to a predetermined data amount has been sent to the command sending unit 3843 (step S604). Here, the predetermined data amount is a non-priority resource allocated to the I / O unit 3707 at that time, and includes a communication band between the MSFS 3706 and a communication band with the user terminal 3708. It is defined as the amount of data that can be transmitted during a predetermined time T using the smaller communication band. When the command corresponding to the predetermined data amount has not been sent to the command sending unit 3843, the command queue control unit 3842 returns to the operation of step S601, takes out the next command from the command queue 3841, and sends it to the command sending unit 3843. To do. On the other hand, when a command corresponding to a predetermined data amount is sent to the command sending unit 3843, the command queue control unit 3842 stops sending commands from the command queue 3841 to the command sending unit 3843 for a time T. (Step S605).

例えば、I/Oユニット3707がサーバ装置外部にデータを出力するための非優先リソースとしての通信帯域がM(KB/s)であり、I/Oユニット3707がMSFS3706から読み出しデータを受信するための非優先リソースとしての通信帯域がN(KB/s)であり、1つの読み出し要求コマンドで読み出されるデータ量がS(KB)であり、M>Nである場合、コマンドキュー制御部3842は、S/N(sec)の周期でコマンドキュー3841からコマンドを取り出し、コマンド送出部3843に送ることになる。   For example, the communication band as a non-priority resource for the I / O unit 3707 to output data to the outside of the server apparatus is M (KB / s), and the I / O unit 3707 is for receiving read data from the MSFS 3706 When the communication bandwidth as the non-priority resource is N (KB / s), the amount of data read by one read request command is S (KB), and M> N, the command queue control unit 3842 A command is extracted from the command queue 3841 at a cycle of / N (sec) and sent to the command sending unit 3843.

図42に示すように、コマンド送出部3843は、コマンドの送出先MSFSを表す値iを初期化、すなわち1に設定する(ステップS701)。次に、コマンド送出部3843は、i番目のカウンタ3848のカウント値Co(i)が、リソース管理部3701によって設定されたしきい値L(前述のステップS404で設定されたしきい値)よりも小さいか否かを判断する(ステップS702)。カウント値Co(i)がしきい値Lよりも小さい場合(すなわち、Co(i)<Lの場合)、コマンド送出部3843は、i番目のカウンタ3848のカウント値Co(i)をインクリメントし(ステップS703)、i番目の送出キュー3849からコマンドを1つ取り出して対応する宛先のMSFS3706に送出する(ステップS704)。次に、コマンド送出部3843は、値iをインクリメントする(ステップS705)。   As shown in FIG. 42, the command sending unit 3843 initializes a value i representing the command sending destination MSFS, that is, sets it to 1 (step S701). Next, the command transmission unit 3843 determines that the count value Co (i) of the i-th counter 3848 is greater than the threshold value L (the threshold value set in step S404 described above) set by the resource management unit 3701. It is determined whether or not it is smaller (step S702). When the count value Co (i) is smaller than the threshold value L (that is, when Co (i) <L), the command transmission unit 3843 increments the count value Co (i) of the i-th counter 3848 ( In step S703), one command is taken out from the i-th sending queue 3849 and sent to the corresponding MSFS 3706 (step S704). Next, the command sending unit 3843 increments the value i (step S705).

その後、コマンド送出部3843は、データバッファ部3844がMSFS3706からの読み出しデータを受信したか否かを判断し(ステップS706)、受信した場合は、当該受信データを送信した先のMSFS3706に対応するカウンタ3848のカウント値をデクリメントする(ステップS707)。次に、コマンド送出部3843は、値iがMSFS3706の総個数よりも大きいか否かを判断する(ステップS708)。値iがMSFS3706の総個数以下の場合、コマンド送出部3843は、ステップS702の動作に戻り、次の送出キュー3849に対してコマンドの送出処理を実行する。   Thereafter, the command sending unit 3843 determines whether or not the data buffer unit 3844 has received read data from the MSFS 3706 (step S706). The count value of 3848 is decremented (step S707). Next, the command transmission unit 3843 determines whether or not the value i is larger than the total number of MSFS 3706 (step S708). If the value i is less than or equal to the total number of MSFSs 3706, the command sending unit 3843 returns to the operation of step S702 and executes command sending processing for the next sending queue 3849.

ここで、前述のステップS702において、i番目のカウンタ3848のカウント値Co(i)がしきい値L以上の場合(すなわち、Co(i)≧Lの場合)、コマンド送出部3843は、対応するi番目の送出キュー3849に対するコマンドの送出処理を行わない。これは、1つのMSFS3706に対して読み出し処理が集中し、当該MSFS3706内でコマンドが滞留するのを避けるためである。   Here, in step S702 described above, when the count value Co (i) of the i-th counter 3848 is greater than or equal to the threshold value L (that is, when Co (i) ≧ L), the command transmission unit 3843 responds. Command transmission processing for the i-th transmission queue 3849 is not performed. This is to avoid the concentration of read processing for one MSFS 3706 and the retention of commands in the MSFS 3706.

ステップS708において、値iがMSFS3706の総個数よりも大きい場合、コマンド送出部3843は、ステップS701の動作に戻る。従って、値iが初期値1に設定され、上記一連の動作が繰り返される。このように、コマンド送出部3843は、複数の送出キュー3849を1番目から順番にサーチし、注目している送出キュー3849がコマンドを格納している場合は、コマンドを1つだけ取り出して対応する宛先のMSFS3706に送出するようにしている。これによって、各MSFS3706は、均等に読み出し処理を行うことになり、いずれか1つのMSFS3706に負荷が集中するのを回避できる。さらに、偶然にユーザ端末3708からの読み出し要求が1つのMSFS3706に偏った場合であっても、当該MSFS3706に対する未処理のコマンド(データの読み出しが実行されていないコマンド)がしきい値L以上になると、当該MSFS3706に対するコマンド送出処理を停止するようにしているので、このような不測の事態にも対応できる。   If the value i is larger than the total number of MSFS 3706 in step S708, the command sending unit 3843 returns to the operation in step S701. Therefore, the value i is set to the initial value 1, and the above series of operations is repeated. As described above, the command sending unit 3843 searches the plurality of sending queues 3849 in order from the first, and when the sending queue 3849 of interest stores a command, only one command is taken out and handled. The data is sent to the destination MSFS 3706. As a result, each MSFS 3706 performs the reading process evenly, and it is possible to avoid the concentration of the load on any one of the MSFSs 3706. Furthermore, even if a read request from the user terminal 3708 is accidentally biased to one MSFS 3706, if an unprocessed command (command for which no data has been read) for the MSFS 3706 becomes equal to or greater than the threshold value L. Since the command sending process to the MSFS 3706 is stopped, it is possible to cope with such an unexpected situation.

非優先データ読み出し要求を受信したMSFS3706は、当該要求を内部の非優先コマンドキューに一旦蓄る。そして、当該MSFS3706は、非優先リソースとして確保されている読み出し帯域内で、非優先コマンドキューからコマンドを取り出し、データの読み出しを実行する。   The MSFS 3706 that has received the non-priority data read request temporarily stores the request in the internal non-priority command queue. Then, the MSFS 3706 retrieves a command from the non-priority command queue and executes data reading within the read band secured as the non-priority resource.

読み出されたデータは、非優先リソースとして、読み出しを要求したI/Oユニット3707が、MSFS3706との間にABRモードで確保している通信帯域を用いて送信される。   The read data is transmitted as a non-priority resource using the communication band secured in the ABR mode by the I / O unit 3707 that requested the reading with the MSFS 3706.

MSFS3706からのデータがI/Oユニット3707に到着すると、データバッファ部3844に格納される。このとき、送信元MSFS3706に対応するカウンタ3848のカウント値がデクリメントされる(前述のステップS707)。   When data from the MSFS 3706 arrives at the I / O unit 3707, it is stored in the data buffer unit 3844. At this time, the count value of the counter 3848 corresponding to the transmission source MSFS 3706 is decremented (step S707 described above).

データ送出部3846は、非優先リソースとして確保されているサーバ装置外部との通信帯域に従い、データバッファ部3844からデータを取り出し、対応するユーザ端末3708に取り出したデータを送出する。   The data transmission unit 3846 extracts data from the data buffer unit 3844 according to the communication band with the outside of the server device secured as a non-priority resource, and transmits the extracted data to the corresponding user terminal 3708.

以上のように、上記第9の実施形態によれば、優先リソースとして使用されていないリソースを全て非優先リソースとして管理し、優先リソースを新たに増やす必要が生じた場合には、非優先リソースが所定のリソース量(最低帯域量)以下にならない条件下で、非優先リソースから優先リソースを割り当てるようにしているので、非優先データの読み出しが増加しても、優先データの入出力が影響を受けることがなく、しかも、使用されていないリソースが全て非優先リソースとして使用されるため、非優先データの読み出しが効率的に実行される。   As described above, according to the ninth embodiment, when resources that are not used as priority resources are all managed as non-priority resources and it is necessary to newly increase the priority resources, Since priority resources are allocated from non-priority resources under conditions that do not fall below the prescribed resource amount (minimum bandwidth), priority data input / output is affected even if non-priority data read increases. In addition, since all unused resources are used as non-priority resources, reading of non-priority data is performed efficiently.

また、上記第9の実施形態では、各MSFS3706が非同期で動作するため、各MSFS3706からI/Oユニット3707に送信されるデータの衝突が発生し、交換部3703におけるATMスイッチに輻輳が生じる恐れがある。しかしながら、第9の実施形態では、非優先リソースとしてのATMスイッチの通信帯域をABRモードを用いて確保し、データを読み出したMSFS3706は、ABRモードで確保している通信帯域を用いてデータを送信するようにしているので、たとえ輻輳が生じた場合でも、即座にMSFS3706からの送信レートが下がり、輻輳が解消される。従って、I/Oユニット3707は、常に正常にデータを受信できる。ただし、優先リソースとしての通信帯域の解放等により、通信帯域に空き帯域が生じた場合には、直ちに送信レートが上がり、帯域の有効利用が行われる。   In the ninth embodiment, since each MSFS 3706 operates asynchronously, collision of data transmitted from each MSFS 3706 to the I / O unit 3707 may occur, and congestion may occur in the ATM switch in the switching unit 3703. is there. However, in the ninth embodiment, the ATM switch communication band as a non-priority resource is secured using the ABR mode, and the MSFS 3706 that has read the data transmits data using the communication band secured in the ABR mode. Therefore, even if congestion occurs, the transmission rate from the MSFS 3706 immediately decreases, and the congestion is eliminated. Therefore, the I / O unit 3707 can always receive data normally. However, when a free band is generated in the communication band due to the release of the communication band as the priority resource, the transmission rate immediately increases and the band is effectively used.

また、上記第9の実施形態では、コマンドキュー制御部3842は、I/Oユニット3707がサーバ装置外部にデータを出力するための非優先リソースとしての通信帯域と、I/Oユニット3707がMSFS3706から読み出しデータを受信するための非優先リソースとしての通信帯域との内、小さい方の帯域に、データの読み出しコマンドが要求するデータ量が等しくなる周期で、コマンドキュー3841の先頭から順にコマンドを取り出して、コマンド送出部3843に送るようにしている。これによって、MSFS3706から送られてくるデータによって使用される平均帯域が、ATMスイッチがMSFS3706と通信するための非優先リソースとしての通信帯域と等しくなるか、またはそれよりも小さくなるため、MSFS3706のデータ送信によるATMスイッチの輻輳を抑制する効果が期待できる。さらに、MSFS3706から送られてくるデータによって使用される平均帯域が、サーバ装置外部にデータを出力するための非優先リソースとしての通信帯域とも等しくなるか、またはそれよりも小さくなるため、I/Oユニット3707内のデータバッファ部3844に蓄積されるデータ量が増大していくことを抑えることができる。   In the ninth embodiment, the command queue control unit 3842 includes a communication band as a non-priority resource for the I / O unit 3707 to output data to the outside of the server device, and the I / O unit 3707 from the MSFS 3706. The commands are sequentially extracted from the head of the command queue 3841 in a cycle in which the data amount requested by the data read command is equal to the smaller one of the communication bands as non-priority resources for receiving the read data. The command is sent to the command sending unit 3843. As a result, the average bandwidth used by the data sent from the MSFS 3706 becomes equal to or smaller than the communication bandwidth as a non-priority resource for the ATM switch to communicate with the MSFS 3706, so that the data of the MSFS 3706 An effect of suppressing congestion of the ATM switch due to transmission can be expected. Furthermore, since the average bandwidth used by the data sent from the MSFS 3706 is equal to or smaller than the communication bandwidth as a non-priority resource for outputting data to the outside of the server device, the I / O An increase in the amount of data stored in the data buffer unit 3844 in the unit 3707 can be suppressed.

また、上記第9の実施形態では、コマンド送出部3843は、注目している送出キュー3849に対応するカウンタ3848のカウント値が、予め定められたしきい値L未満である場合にのみ、当該注目している送出キュー3849内のコマンドをMSFS3706に送信するようにしているので、MSFS3706から同時に送信される可能性があるデータ数を制限していることになり、ATMスイッチの輻輳を抑制する効果が期待できる。   In the ninth embodiment, the command sending unit 3843 receives the attention only when the count value of the counter 3848 corresponding to the sending queue 3849 of interest is less than a predetermined threshold value L. Since the command in the sending queue 3849 is transmitted to the MSFS 3706, the number of data that can be transmitted simultaneously from the MSFS 3706 is limited, and the effect of suppressing congestion of the ATM switch is achieved. I can expect.

なお、第9の実施形態では、MSFS3706は、非優先リソースとして確保されている読み出し帯域内で、内部の非優先コマンドキューからコマンドを取り出し、データの読み出しを実行するとしたが、優先リソースに対するデータのI/O処理が行われていないときに、非優先コマンドキューからコマンドを取り出し、非優先データの読み出しを実行するとしてもよい。この場合、非優先リソースの帯域量が変化した場合の各MSFS3706に対する非優先リソースとしてのデータの読み出し帯域の通知は、必要がなくなる。   In the ninth embodiment, the MSFS 3706 extracts a command from the internal non-priority command queue and executes data reading within the read bandwidth reserved as the non-priority resource. When I / O processing is not being performed, a command may be extracted from the non-priority command queue and non-priority data may be read. In this case, it is not necessary to notify each MSFS 3706 of the read bandwidth of data as a non-priority resource when the bandwidth amount of the non-priority resource changes.

また、上記第9の実施形態では、カウンタ3848および送出キュー3849は、MSFS3706毎に設けるとしたが、これらを各I/Oユニット3707に1つずつ設けるようにし、送出先のMSFSを意識しない制御としても、第9の実施形態と同様にMSFS3706から同時に送信される可能性があるデータ数を制限していることになり、ATMスイッチの輻輳を抑制する効果が期待できる。ただし、ユーザ端末3708からのデータの読み出しが特定のMSFS3706にある程度集中した場合等には、読み出しの効率が悪くなることが考えられる。これは、要求が集中していないMSFS3706に対しては、要求を送信できるとすぐに応答が得られるはずであるが、要求が集中しているMSFSからのデータを受信しないと、カウンタ3848のカウント値のしきい値制御により、要求をMSFS3706に送信できなくなるためである。   In the ninth embodiment, the counter 3848 and the sending queue 3849 are provided for each MSFS 3706. However, the counter 3848 and the sending queue 3849 are provided for each I / O unit 3707 so that the destination MSFS is not conscious. However, as in the ninth embodiment, the number of data that may be transmitted simultaneously from the MSFS 3706 is limited, and an effect of suppressing ATM switch congestion can be expected. However, when the reading of data from the user terminal 3708 is concentrated to a certain MSFS 3706 to some extent, the reading efficiency may be deteriorated. For MSFS 3706 where the request is not concentrated, a response should be obtained as soon as the request can be transmitted. However, if data is not received from the MSFS where the request is concentrated, the counter 3848 counts. This is because the request cannot be transmitted to the MSFS 3706 by the threshold value control.

一般的に、ファイルシステムの利用者は、取得するファイルデータの範囲を指定して、ファイルシステム内のサーバに対してデータ送出要求を送る。サーバは、データ送出要求で指定された範囲のファイルデータをすべて利用者に送出する。従来のファイルシステムでは、利用者は、サーバの実行中のデータ送出処理を中断する操作は行えたが、実行中のデータ送出処理を一時停止し、一時停止したデータ送出処理を再開する操作を行うことはできなかった。   Generally, a user of a file system designates a range of file data to be acquired and sends a data transmission request to a server in the file system. The server sends all file data in the range specified by the data send request to the user. In the conventional file system, the user can perform an operation to interrupt the data transmission process being executed by the server, but the user temporarily stops the data transmission process being executed and resumes the suspended data transmission process. I couldn't.

ところで、ディジタル化された動画像データを扱うファイルシステムでは、任意のデータ伝送速度によるデータの連続送出処理が不可欠となっている。動画像データを扱うファイルシステムに関して、ISO/IEC標準13818−9のドラフトでは、1つの動画像ファイルに関するデータの連続送出の一時停止および再開操作を定義している。このドラフトによれば、「DSM Stream Pause」によりデータ送出の一時停止を行い、「DSM Stream Resume」によりデータ送出再開を実行するものと定義している。   By the way, in a file system that handles digitized moving image data, continuous data transmission processing at an arbitrary data transmission rate is indispensable. Regarding the file system that handles moving image data, the draft of ISO / IEC standard 13818-9 defines a pause and restart operation for continuous transmission of data related to one moving image file. According to this draft, it is defined that data transmission is temporarily stopped by “DSM Stream Pause” and data transmission is resumed by “DSM Stream Resume”.

しかしながら、動画像データを扱う従来のファイルシステムにおいて、ある伝送速度によるデータの連続送出処理を一時停止するポーズ、および一時停止したデータ送出処理を再開するポーズ解除に関して、ポーズ解除時に任意に指定したデータ伝送速度でデータ送出を再開させるポーズ制御方式は確立されていなかった。   However, in a conventional file system that handles moving image data, data that is arbitrarily specified at the time of pause release regarding pause that pauses continuous transmission processing of data at a certain transmission speed and pause release that resumes paused data transmission processing. A pause control method for resuming data transmission at a transmission rate has not been established.

また、従来のファイルシステムは、ポーズ解除でデータの送出を再開する場合、ポーズ解除後のデータ取得に必要となる時間を考慮していなかった。そのため、ポーズ処理前後でデータの伝送速度が変化すると、連続した送出に必要なデータの不足が生じたり、取得したデータのバッファからの溢れが生じたり、データ送出再開までにファイルシステムが次のデータを取得する時間が必要となる等の問題があった。   Further, the conventional file system does not consider the time required for data acquisition after the pause is released when the data transmission is resumed by the pause release. Therefore, if the data transmission speed changes before and after the pause process, the data required for continuous transmission will be insufficient, the acquired data will overflow from the buffer, or the file system will continue to the next data before data transmission resumes. There were problems such as requiring time to acquire.

そこで、データの連続送出処理の一時停止および再開を行うファイルシステムにおいて、ポーズ解除後の伝送速度を任意に指定した場合でも、データ送出時のデータ不足を生ずることがなく、かつ再開までの時間を短縮することのできる実施形態について以下に説明する。   Therefore, in a file system that suspends and resumes continuous transmission processing of data, even if the transmission rate after pause release is arbitrarily specified, there is no data shortage at the time of data transmission, and the time until restart is reduced. Embodiments that can be shortened are described below.

(第10の実施形態)
図43は、本発明の第10の実施形態に係るファイルシステムの構成を示すブロック図である。図43において、本ファイルシステムは、サーバ装置4301と、データ記憶装置4302とを備えている。
(Tenth embodiment)
FIG. 43 is a block diagram showing a configuration of a file system according to the tenth embodiment of the present invention. In FIG. 43, this file system includes a server device 4301 and a data storage device 4302.

データ記憶装置4302は、サーバ装置4301によって管理され、利用者4303によって利用されるるデータを格納している。利用者4303は、指定した範囲のデータの送出を要求するデータ送出要求と、データ送出の一時停止を要求するポーズ要求と、一時停止したデータ送出の再開を要求するポーズ解除要求とを、サーバ装置4301に対して発行する。サーバ装置4301は、利用者4303からのデータ送出要求を受けて、データ記憶装置4302からデータを取得し、当該データを利用者4303に送出するものであり、データ送出部4310と、データ取得部4311と、バッファ4312と、バッファ管理部4313と、ポーズ制御部4314とを含む。   The data storage device 4302 stores data managed by the server device 4301 and used by the user 4303. The user 4303 sends a data transmission request for requesting transmission of data in a specified range, a pause request for requesting temporary suspension of data transmission, and a pause release request for requesting resumption of temporary data transmission. Issued to 4301. The server device 4301 receives a data transmission request from the user 4303, acquires data from the data storage device 4302, and transmits the data to the user 4303. The data transmission unit 4310 and the data acquisition unit 4311 A buffer 4312, a buffer management unit 4313, and a pause control unit 4314.

データ取得部4311は、指定した位置から順番に、かつ指定された速度で連続的に、データ記憶装置4302からデータを取得する。バッファ4312は、データ記憶装置4302から取得したデータを格納する。バッファ管理部4313は、バッファ4312に格納されたデータの操作とデータ量の管理とを行う。データ送出部4310は、バッファ4312に格納されているデータを、指定された順番で、かつ指定された任意の伝送速度で連続的に、データを利用者4303に送出する。ポーズ制御部4314は、利用者4303からのポーズ要求およびポーズ解除要求を受けて、データ送出部4310とデータ取得部4311とバッファ管理部4313とを制御する。また、サーバ装置4301およびデータ記憶装置4302で扱うデータは、すべて固定長のブロックを単位として操作され、各ブロックにはデータ中の位置を示すブロック番号が連続的に付与されるものとする。   The data acquisition unit 4311 acquires data from the data storage device 4302 sequentially from the specified position and continuously at the specified speed. The buffer 4312 stores data acquired from the data storage device 4302. The buffer management unit 4313 operates the data stored in the buffer 4312 and manages the data amount. The data sending unit 4310 sends the data stored in the buffer 4312 to the user 4303 continuously in the designated order and at the designated arbitrary transmission rate. In response to a pause request and a pause release request from the user 4303, the pause control unit 4314 controls the data transmission unit 4310, the data acquisition unit 4311, and the buffer management unit 4313. In addition, all data handled by the server device 4301 and the data storage device 4302 are operated in units of fixed-length blocks, and block numbers indicating positions in the data are continuously given to the blocks.

図44は、サーバ装置4301のデータ送出動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートである。まず、この図44を参照して、サーバ装置4301が利用者4303からデータ送出要求を受け付けたときの動作を説明する。   FIG. 44 is a time chart showing the relationship among the data transmission request, the data acquisition request, and the data transmission in the data transmission operation of the server apparatus 4301. First, with reference to FIG. 44, the operation when the server apparatus 4301 receives a data transmission request from the user 4303 will be described.

図44において、参照番号4441および4442は、時間軸を示しており、当該時間軸は、垂直方向の対応する位置が、互いに同一時刻を表している。参照番号4431は、サーバ装置4301が利用者4303から受け付けたデータ送出要求と、その受付時刻とを示している。参照番号4401A〜4403Aは、データ取得部4311がデータ記憶装置4302に対して発行するデータ取得要求と、その発行時刻とを示している。参照番号4411A〜4413Aは、データ取得要求4401A〜4403Aによって取得されたデータと、データ送出部4310が利用者4303へ当該データを送出する時刻とを示している。参照番号4421は、データ取得要求4401Aを発行してから対応するデータ4411Aがバッファ4312に格納されるまでの最大時間を示している。参照番号4451〜4454は、データ送出部4310が利用者4303にデータを送出する時間間隔を示している。   In FIG. 44, reference numerals 4441 and 4442 indicate a time axis, and the corresponding positions in the vertical direction indicate the same time. Reference numeral 4431 indicates a data transmission request received from the user 4303 by the server apparatus 4301 and its reception time. Reference numbers 4401A to 4403A indicate a data acquisition request issued by the data acquisition unit 4311 to the data storage device 4302 and its issue time. Reference numbers 4411A to 4413A indicate the data acquired by the data acquisition requests 4401A to 4403A and the time when the data transmission unit 4310 transmits the data to the user 4303. Reference numeral 4421 indicates the maximum time from when the data acquisition request 4401A is issued until the corresponding data 4411A is stored in the buffer 4312. Reference numbers 4451 to 4454 indicate time intervals at which the data sending unit 4310 sends data to the user 4303.

利用者4303は、データ送出要求4431を発行し、データの範囲とデータを送出する際の伝送速度とを指定する。データの範囲は、開始ブロック番号と終了ブロック番号とで指定される。データの伝送速度は、送出するブロック間の平均時間間隔であるデータ送出間隔(以降Tsdと記述する)で指定される。   The user 4303 issues a data transmission request 4431 and designates a data range and a transmission speed at the time of transmitting the data. The data range is specified by a start block number and an end block number. The data transmission rate is specified by a data transmission interval (hereinafter referred to as Tsd) which is an average time interval between blocks to be transmitted.

データ取得部4311は、データ送出要求4431を受け付けると、当該データ送出要求4431で指定された開始ブロック番号に対応する1つのブロックを取得するためのデータ取得要求4401Aを発行する。データ取得部4311は、データ取得要求4401Aの発行時刻からデータ送出間隔Tsd後に、次の1つのブロックを取得するためのデータ取得要求4402Aを、データ記憶装置4302に発行する。同様の手順により、データ取得部4311は、データ送出要求4431で指定された終了ブロック番号に到達するまで、データ送出要求を繰り返し発行する。   Upon receiving the data transmission request 4431, the data acquisition unit 4311 issues a data acquisition request 4401A for acquiring one block corresponding to the start block number specified by the data transmission request 4431. The data acquisition unit 4311 issues a data acquisition request 4402A for acquiring the next one block to the data storage device 4302 after the data transmission interval Tsd from the issue time of the data acquisition request 4401A. By the same procedure, the data acquisition unit 4311 repeatedly issues a data transmission request until the end block number designated by the data transmission request 4431 is reached.

データ取得要求4401Aによってデータ記憶装置4302から取得されたブロックは、バッファ4312に格納される。データ取得時間Dは、データ取得部4311がデータ取得要求を発行してから対応する1つのブロックがバッファ4312に格納されるまでの最大時間であり、既知の値である。すなわち、データ取得時間Dの間に、必ず指定した1ブロックを取得できることが保証される。   The block acquired from the data storage device 4302 by the data acquisition request 4401A is stored in the buffer 4312. The data acquisition time D is the maximum time from when the data acquisition unit 4311 issues a data acquisition request to when the corresponding block is stored in the buffer 4312, and is a known value. That is, it is guaranteed that one specified block can be acquired during the data acquisition time D.

データ取得要求4401Aによって取得され、バッファ4312に格納されたブロックは、データ取得要求4401Aの発行時刻からデータ取得時間D経過後のデータ送出時刻4411Aに、データ送出部4310により利用者4303に対して送出される。同様に、データ取得要求4402Aによって取得されたブロックは、データ取得要求4402Aの発行時刻からデータ取得時間D経過後の送出時刻4412Aに、データ送出部4310により利用者4303に対して送出される。同様の手順により、データ送出要求4431で指定された終了ブロック番号に対応するデータが送出されるまで、データ送出が連続的に行われる。以上の動作により、利用者4303に指定された任意のデータ伝送速度による連続的なデータ送出が実現される。   The block acquired by the data acquisition request 4401A and stored in the buffer 4312 is transmitted to the user 4303 by the data transmission unit 4310 at the data transmission time 4411A after the data acquisition time D has elapsed from the issue time of the data acquisition request 4401A. Is done. Similarly, the block acquired by the data acquisition request 4402A is transmitted to the user 4303 by the data transmission unit 4310 at the transmission time 4412A after the data acquisition time D has elapsed from the issue time of the data acquisition request 4402A. By the same procedure, data transmission is continuously performed until data corresponding to the end block number specified by the data transmission request 4431 is transmitted. With the above operation, continuous data transmission at an arbitrary data transmission rate designated by the user 4303 is realized.

図45は、サーバ装置4301のポーズ動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートである。次に、図45を参照して、サーバ装置4301内のポーズ制御部4314が、利用者4303からポーズ要求を受け取ったときの動作を説明する。   FIG. 45 is a time chart showing the relationship among the data transmission request, the data acquisition request, and the data transmission in the pause operation of the server apparatus 4301. Next, an operation when the pause control unit 4314 in the server apparatus 4301 receives a pause request from the user 4303 will be described with reference to FIG.

図45において、参照番号4432は、ポーズ制御部4314が利用者4303から受け付けたポーズ要求と、その受付時刻とを示している。参照番号4404A〜4406Aは、データ取得部4311がデータ記憶装置4302に対して発行するデータ取得要求と、その発行時刻とを示している。参照番号4414Aおよび4415Aは、データ取得要求4044Aおよび4045Aによって取得されたデータと、データ送出部4310が利用者4303に当該データを送出する時刻とを示している。参照番号4422は、データ取得要求4404Aを発行してから対応するデータ4414Aがバッファ4312に格納されるまでの最大時間Dを示している。参照番号4455〜4457は、データ送出部4310が利用者4303にデータを送出する時間間隔を示している。   In FIG. 45, reference numeral 4432 indicates a pause request received from the user 4303 by the pause control unit 4314 and its reception time. Reference numbers 4404A to 4406A indicate a data acquisition request issued by the data acquisition unit 4311 to the data storage device 4302 and its issue time. Reference numbers 4414A and 4415A indicate the data acquired by the data acquisition requests 4044A and 4045A, and the time when the data transmission unit 4310 transmits the data to the user 4303. Reference numeral 4422 indicates the maximum time D from when the data acquisition request 4404A is issued until the corresponding data 4414A is stored in the buffer 4312. Reference numerals 4455 to 4457 indicate time intervals at which the data sending unit 4310 sends data to the user 4303.

利用者4303からのデータ送出要求に応答して、データ取得部4311がデータ取得要求4404A〜4406Aを発行しようとしているときであって、データ送出要求4404Aおよび4405Aが発行された後に、ポーズ制御部4314がポーズ要求4432を受け付けた場合、ポーズ制御部4314は、データ取得部4311に対して、直ちにデータ取得要求の発行を停止するように制御する。これにより、データ取得要求4406Aは、データ取得部4311から発行されなくなる。同様に、ポーズ制御部4314は、データ送出部4310に対して、直ちにデータ送出を停止するように制御する。データ取得要求4404Aおよび4405Aによって取得されたブロック4414Aおよび4415Aの送出時刻は、ポーズ要求受付時刻よりも後であるため、当該ブロック4414Aおよび4415Aは、バッファ4312に格納されたままとなり、データ送出部4310から利用者4303に送出されなくなる。以上の動作により、連続的に送出されていたデータの一時停止が実現される。   In response to the data transmission request from the user 4303, when the data acquisition unit 4311 is about to issue the data acquisition requests 4404A to 4406A and after the data transmission requests 4404A and 4405A are issued, the pause control unit 4314 When the pause request 4432 is received, the pause control unit 4314 controls the data acquisition unit 4311 to immediately stop issuing the data acquisition request. As a result, the data acquisition request 4406A is not issued from the data acquisition unit 4311. Similarly, the pause control unit 4314 controls the data sending unit 4310 to immediately stop sending data. Since the transmission time of the blocks 4414A and 4415A acquired by the data acquisition requests 4404A and 4405A is later than the pause request reception time, the blocks 4414A and 4415A remain stored in the buffer 4312, and the data transmission unit 4310 Will not be sent to the user 4303. With the above operation, the temporary stop of the data that has been continuously transmitted is realized.

図46は、サーバ装置4301のポーズ解除動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートである。次に、図46を参照して、ポーズ制御部4314が利用者4303からポーズ解除要求を受け取ったときの動作を説明する。   FIG. 46 is a time chart showing the relationship among the data transmission request, the data acquisition request, and the data transmission in the pause release operation of the server apparatus 4301. Next, with reference to FIG. 46, an operation when the pause control unit 4314 receives a pause release request from the user 4303 will be described.

図46において、参照番号4433は、ポーズ制御部4314が利用者4303から受け付けたポーズ解除要求と、その受付時刻とを示している。参照番号4406A〜4408Aは、データ取得部4311がデータ記憶装置4302に対して発行するデータ取得要求と、その発行時刻とを示している。参照番号4414Aおよび4415Aは、ポーズ処理でバッファに格納されたままとなっている2つのブロックと、利用者4303への送出時刻とを示している。参照番号4416Aおよび4417Aは、ポーズ解除後のデータ取得要求4406Aおよび4407Aによって取得されたデータと、データ送出部4310が利用者4303に当該データを送出する時刻とを示している。参照番号4423は、データ取得要求4406Aを発行してから対応するデータ4416Aがバッファ4312に格納されるまでの最大時間Dを示している。参照番号4458〜4462は、データ送出部4310が利用者4303に対してデータを送出する時間間隔を示している。   In FIG. 46, reference numeral 4433 indicates a pause release request received from the user 4303 by the pause control unit 4314 and its reception time. Reference numbers 4406A to 4408A indicate a data acquisition request issued by the data acquisition unit 4311 to the data storage device 4302 and its issue time. Reference numbers 4414A and 4415A indicate the two blocks that are still stored in the buffer in the pause process, and the transmission time to the user 4303. Reference numbers 4416A and 4417A indicate data acquired by the data acquisition requests 4406A and 4407A after the pause release, and the time when the data transmission unit 4310 transmits the data to the user 4303. Reference numeral 4423 indicates the maximum time D from when the data acquisition request 4406A is issued until the corresponding data 4416A is stored in the buffer 4312. Reference numerals 4458 to 4462 indicate time intervals at which the data sending unit 4310 sends data to the user 4303.

利用者4303は、ポーズ解除要求4433を発行し、ポーズ解除後のデータ伝送速度を指定する。データ伝送速度は、データ送出要求時と同様に、送出するブロック間の平均時間間隔である、データ送出間隔Tsd'で指定する。   The user 4303 issues a pause release request 4433 and designates the data transmission rate after the pause release. The data transmission rate is specified by a data transmission interval Tsd ′ that is an average time interval between blocks to be transmitted, as in the case of data transmission request.

ポーズ制御部4314は、利用者4303からポーズ解除要求4433を受け付けると、バッファ管理部4313を参照することにより、ポーズ処理以降にバッファ4312に格納されたままとなっているブロックの数Nを取得する。   When the pause control unit 4314 receives the pause release request 4433 from the user 4303, the pause control unit 4314 refers to the buffer management unit 4313 to obtain the number N of blocks that are stored in the buffer 4312 after the pause process. .

ポーズ解除要求4433に応答して、ポーズ制御部4314がデータ取得部4311に対して、直ちにデータ取得を再開するよう制御する時刻を、データ取得再開時刻trdと定義する。同様に、バッファ4312中に格納されているブロックの中で、次に送出するブロックの送出時刻、すなわち図46のデータ送出時刻4414Aを、データ送出再開時刻tsdと定義する。   In response to the pause release request 4433, a time at which the pause control unit 4314 controls the data acquisition unit 4311 to immediately resume data acquisition is defined as a data acquisition restart time trd. Similarly, the transmission time of the next block to be transmitted among the blocks stored in the buffer 4312, that is, the data transmission time 4414A in FIG. 46 is defined as the data transmission resumption time tsd.

ポーズ制御部4314は、データ取得再開時刻trdと、バッファ4312中のブロック数Nと、ポーズ解除後のデータ送出間隔Tsd'と、データ取得時間Dとを、次式(14)に代入することにより、データ送出再開時刻tsdを求める。
tsd=trd+D−N・Tsd' …(14)
The pause control unit 4314 substitutes the data acquisition restart time trd, the number N of blocks in the buffer 4312, the data transmission interval Tsd ′ after the pause release, and the data acquisition time D into the following equation (14). The data transmission restart time tsd is obtained.
tsd = trd + DN · Tsd ′ (14)

次に、ポーズ制御部4314は、上式(14)を用いて求めたデータ送出再開時刻tsdと、データ取得再開時刻trdとを比較し、当該データ送出再開時刻tsdがデータ取得再開時刻trd以上の場合は、式(14)で求めた時刻を、データ送出再開時刻tsdと決定する。また、データ送出再開時刻tsdがデータ取得再開時刻trd未満の場合は、データ取得再開時刻trdと等しい時刻を、データ送出再開時刻tsdと決定する。   Next, the pause control unit 4314 compares the data transmission resumption time tsd obtained using the above equation (14) with the data acquisition resumption time trd, and the data transmission resumption time tsd is equal to or greater than the data acquisition resumption time trd. In this case, the time determined by the equation (14) is determined as the data transmission restart time tsd. If the data transmission resumption time tsd is less than the data acquisition resumption time trd, a time equal to the data acquisition resumption time trd is determined as the data transmission resumption time tsd.

次に、ポーズ制御部4314は、データ取得再開時刻trdにおいて、データ取得部4311に対し、バッファ4312に格納されている最後のブロック4415Aの次のブロック4416Aを取得するためのデータ取得要求4406Aから順番に、終了ブロックに到達するまで、データ取得要求を発行するよう制御する。同様に、ポーズ制御部4314は、決定したデータ送出再開時刻tsdにおいて、データ送出部4310に対して、直ちにバッファ4312に格納されている先頭のブロック4414Aから順番に終了ブロックを送出するまで、データを送出するよう制御する。   Next, the pause control unit 4314 starts from the data acquisition request 4406A for acquiring the block 4416A next to the last block 4415A stored in the buffer 4312 to the data acquisition unit 4311 at the data acquisition restart time trd. Then, control is performed to issue a data acquisition request until the end block is reached. Similarly, the pause control unit 4314 transmits data to the data transmission unit 4310 at the determined data transmission restart time tsd until the end block is transmitted in order from the first block 4414A stored in the buffer 4312 immediately. Control to send.

以上のように、第10の実施形態によれば、ポーズ解除後のデータ伝送速度として任意の伝送速度が指定された場合、ポーズ制御部4314が、前述の式(14)を用いてデータ送出再開時刻を求めることにより、ポーズ解除後にデータが途切れることなく、指定された伝送速度でデータを送出することができる。   As described above, according to the tenth embodiment, when an arbitrary transmission rate is designated as the data transmission rate after the pause release, the pause control unit 4314 resumes data transmission using the above-described equation (14). By obtaining the time, the data can be transmitted at a designated transmission speed without interruption after the pause is released.

(第11の実施形態)
以下、本発明の第11の実施形態に係るファイルシステムについて図面を参照しながら説明する。なお、第11の実施形態は、図43に示す第10の実施形態と各ブロックの機能が異なるが、全体としての構成は同様である。従って、以下には、図43に示す第10の実施形態の構成を援用しつつ、第11の実施形態について説明する。
(Eleventh embodiment)
The file system according to the eleventh embodiment of the present invention will be described below with reference to the drawings. The eleventh embodiment differs from the tenth embodiment shown in FIG. 43 in the function of each block, but the overall configuration is the same. Therefore, the eleventh embodiment will be described below with the aid of the configuration of the tenth embodiment shown in FIG.

第11の実施形態において、サーバ装置4301が利用者4303からデータ送出要求を受け付けたときの動作は、第10の実施形態において、図44を参照して説明した動作と同一である。同様に、ポーズ制御部4314が利用者4303からポーズ要求を受け取ったときの動作は、第10の実施形態において、図45を参照して説明した動作と同一である。従って、これらの動作の説明は、省略する。   In the eleventh embodiment, the operation when the server apparatus 4301 receives a data transmission request from the user 4303 is the same as the operation described with reference to FIG. 44 in the tenth embodiment. Similarly, the operation when the pause control unit 4314 receives a pause request from the user 4303 is the same as the operation described with reference to FIG. 45 in the tenth embodiment. Therefore, description of these operations is omitted.

図47は、サーバ装置4301のポーズ解除動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートである。以下、図47を参照して、ポーズ制御部4314が利用者4303からポーズ解除要求を受け付けたときの動作を説明する。   FIG. 47 is a time chart showing the relationship among the data transmission request, the data acquisition request, and the data transmission in the pause release operation of the server apparatus 4301. Hereinafter, with reference to FIG. 47, an operation when the pause control unit 4314 receives a pause release request from the user 4303 will be described.

図47において、参照番号4741および4742は、時間軸を示しており、当該時間軸は、垂直方向の対応する位置が、互いに同一時刻を表している。参照番号4733は、ポーズ制御部4314が利用者4303から受け付けたポーズ解除要求と、その受付時刻とを示している。参照番号4706Bおよび4707Bは、データ取得部4311がデータ記憶装置4302に対して発行するデータ取得要求と、その発行時刻とを示している。参照番号4714Bおよび4715Bは、ポーズ処理でバッファ4312に格納されたままとなっている2つのブロックと、利用者4303への送出時刻とを示している。参照番号4716Bおよび4717Bは、データ取得要求4706Bおよび4707Bによって取得されたデータと、データ送出部4310が利用者4303に当該データを送出する時刻とを示している。参照番号4724は、データ取得要求4706Bを発行してから対応するデータ4716Bがバッファ4312に格納されるまでの最大時間Dを示している。4763〜4766は、データ送出部4310が利用者4303にデータを送出する時間間隔を示している。   In FIG. 47, reference numbers 4741 and 4742 indicate a time axis, and the corresponding positions in the vertical direction indicate the same time. Reference numeral 4733 indicates the pause release request received from the user 4303 by the pause control unit 4314 and the reception time thereof. Reference numbers 4706B and 4707B indicate a data acquisition request issued to the data storage device 4302 by the data acquisition unit 4311 and its issue time. Reference numbers 4714B and 4715B indicate two blocks that are still stored in the buffer 4312 in the pause process, and a transmission time to the user 4303. Reference numbers 4716B and 4717B indicate the data acquired by the data acquisition requests 4706B and 4707B and the time when the data transmission unit 4310 transmits the data to the user 4303. Reference numeral 4724 indicates the maximum time D from when the data acquisition request 4706B is issued until the corresponding data 4716B is stored in the buffer 4312. Reference numerals 4863 to 4766 denote time intervals at which the data sending unit 4310 sends data to the user 4303.

利用者4303は、ポーズ解除要求4733を発行し、ポーズ解除後のデータ伝送速度を指定する。データ伝送速度は、データ送出要求時と同様に、送出するブロック間の平均時間間隔であるデータ送出間隔Tsd'で指定する。   The user 4303 issues a pause release request 4733 and designates the data transmission rate after the pause release. The data transmission rate is specified by a data transmission interval Tsd ′ that is an average time interval between blocks to be transmitted, as in the case of a data transmission request.

ポーズ制御部4314は、利用者4303からポーズ解除要求4733を受け付けると、バッファ管理部4313を参照して、ポーズ処理以降にバッファ4312に格納されたままとなっているブロックの数Nを取得する。   When the pause control unit 4314 receives a pause release request 4733 from the user 4303, the pause control unit 4314 refers to the buffer management unit 4313 and acquires the number N of blocks that are stored in the buffer 4312 after the pause process.

ポーズ解除要求4733に応答して、ポーズ制御部4314がデータ取得部4311に対して直ちにデータ取得再開するよう制御する時刻を、データ取得再開時刻trdと定義する。同様に、バッファ4312中に格納されているブロックの中で、次に送出するブロックの送出時刻、すなわち図47のデータ送出時刻4714Bを、データ送出再開時刻tsdと定義する。   The time at which the pause control unit 4314 controls the data acquisition unit 4311 to immediately resume data acquisition in response to the pause release request 4733 is defined as the data acquisition restart time trd. Similarly, the transmission time of the next block to be transmitted among the blocks stored in the buffer 4312, that is, the data transmission time 4714B of FIG. 47 is defined as the data transmission resumption time tsd.

ポーズ制御部4314は、次式(15)に、データ送出再開時刻tsdと、バッファ4312中のブロック数Nと、ポーズ解除後のデータ送出間隔Tsd'と、データ取得時間Dとを代入することにより、データ取得再開時刻trdを求める。
trd=tsd+N・Tsd'−D …(15)
The pause control unit 4314 substitutes the data transmission restart time tsd, the number N of blocks in the buffer 4312, the data transmission interval Tsd ′ after the pause release, and the data acquisition time D into the following equation (15). The data acquisition restart time trd is obtained.
trd = tsd + N · Tsd′−D (15)

ポーズ制御部4314は、上式(15)を用いて求めたデータ取得再開時刻trdと、データ送出再開時刻tsdとを比較し、当該データ取得再開時刻trdがデータ送出再開時刻tsd以上の場合は、式(15)で求めた時刻を、データ取得再開時刻trdと決定する。また、データ取得再開時刻trdがデータ送出再開時刻tsd未満の場合は、第10の実施形態を適用して、ポーズ制御部4314は、式(14)に、データ取得再開時刻trdと、バッファ4312中のブロック数Nと、ポーズ解除後のデータ送出間隔Tsd' と、データ取得時間Dを代入することにより、データ送出再開時刻tsdを求める。   The pause control unit 4314 compares the data acquisition resumption time trd obtained using the above equation (15) with the data transmission resumption time tsd, and when the data acquisition resumption time trd is equal to or greater than the data transmission resumption time tsd, The time obtained by equation (15) is determined as the data acquisition restart time trd. When the data acquisition resumption time trd is less than the data transmission resumption time tsd, the tenth embodiment is applied and the pause control unit 4314 adds the data acquisition resumption time trd and the buffer 4312 to the equation (14). The data transmission restart time tsd is obtained by substituting the number N of blocks, the data transmission interval Tsd ′ after the pause release, and the data acquisition time D.

ポーズ制御部4314は、決定したデータ取得再開時刻trdにおいて、データ取得部4311に対し、バッファに格納されている最後のブロック4715Bの次のブロック4716Bを取得するためのデータ取得要求4706Bから順番に、終了ブロックに到達するまで、データ取得要求を発行するよう制御する。同様に、ポーズ制御部4314は、データ送出再開時刻tsdにおいて、データ送出部4310に対し、直ちにバッファ4312に格納されている先頭のブロック4714Bから順番に、終了ブロックを送出するまで、データを送出するよう制御する。   The pause control unit 4314, in order from the data acquisition request 4706B for acquiring the block 4716B next to the last block 4715B stored in the buffer, to the data acquisition unit 4311 at the determined data acquisition restart time trd. Control to issue a data acquisition request until the end block is reached. Similarly, the pause control unit 4314 transmits data to the data transmission unit 4310 at the data transmission restart time tsd immediately from the first block 4714B stored in the buffer 4312 until the end block is transmitted. Control as follows.

以上のように、第11の実施形態によれば、ポーズ解除後のデータ伝送速度として任意の伝送速度が指定された場合、ポーズ制御部4314が、前述の式(15)を用いてデータ取得再開時刻を求めることにより、ポーズ解除後にデータが途切れることなく、指定された伝送速度でデータを送出することができる。   As described above, according to the eleventh embodiment, when an arbitrary transmission rate is designated as the data transmission rate after the pause is released, the pause control unit 4314 resumes data acquisition using the above equation (15). By obtaining the time, the data can be transmitted at a designated transmission speed without interruption after the pause is released.

(第12の実施形態)
以下、本発明の第12の実施形態に係るファイルシステムについて図面を参照しながら説明する。なお、第12の実施形態は、図43に示す第10の実施形態と各ブロックの機能が異なるが、全体としての構成は同様である。従って、以下には、図43に示す第10の実施形態の構成を援用しつつ、第12の実施形態について説明する。
(Twelfth embodiment)
Hereinafter, a file system according to a twelfth embodiment of the present invention will be described with reference to the drawings. The twelfth embodiment differs from the tenth embodiment shown in FIG. 43 in the function of each block, but the overall configuration is the same. Accordingly, the twelfth embodiment will be described below with the aid of the configuration of the tenth embodiment shown in FIG.

第12の実施形態において、サーバ装置4301が利用者4303からデータ送出要求を受け付けたときの動作は、第10の実施形態において、図44を参照して説明した動作と同一である。同様に、ポーズ制御部4314が利用者4303からポーズ要求を受け取ったときの動作は、第10の実施形態において、図45を参照して説明した動作と同一である。従って、これらの動作の説明は、省略する。   In the twelfth embodiment, the operation when the server apparatus 4301 receives a data transmission request from the user 4303 is the same as the operation described with reference to FIG. 44 in the tenth embodiment. Similarly, the operation when the pause control unit 4314 receives a pause request from the user 4303 is the same as the operation described with reference to FIG. 45 in the tenth embodiment. Therefore, description of these operations is omitted.

図48は、ポーズ解除動作におけるデータ送出再開時刻の算出方法を説明するためのタイムチャートである。図49は、サーバ装置4301のポーズ解除動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートである。以下、これら図48および図49を参照して、ポーズ制御部4314が利用者4303からポーズ解除要求を受け付けたときの動作を説明する。   FIG. 48 is a time chart for explaining a method of calculating the data transmission resumption time in the pause release operation. FIG. 49 is a time chart showing the relationship among the data transmission request, the data acquisition request, and the data transmission in the pause release operation of the server apparatus 4301. Hereinafter, with reference to FIG. 48 and FIG. 49, an operation when the pause control unit 4314 receives a pause release request from the user 4303 will be described.

図48において、参照番号4841および4842は、時間軸を示しており、当該時間軸は、垂直方向の対応する位置が、互いに同一時刻を表している。参照番号4833は、ポーズ制御部4314が利用者4303から受け付けたポーズ解除要求と、その受付時刻とを示している。参照番号4806Cは、データ取得部4311がデータ記憶装置4302に対して発行するデータ取得要求と、その発行予定時刻とを示している。参照番号4814Cおよび4815Cは、ポーズ処理でバッファ4312に格納されたままとなっている2つのブロックと、利用者4303への送出予定時刻とを示している。参照番号4816Cは、データ取得要求4806Cによって取得される予定のデータと、データ送出部4310が利用者4303に当該データを送出する予定時刻とを示している。参照番号4825は、データ取得要求4806Cを発行してから、対応するデータ4816Cがバッファ4312に格納されるまでの最大時間Dを示している。参照番号4867および4868は、データ送出部4310が利用者4303にデータを送出する時間間隔を示している。   In FIG. 48, reference numerals 4841 and 4842 indicate a time axis, and the corresponding positions in the vertical direction indicate the same time. Reference numeral 4833 indicates the pause release request received from the user 4303 by the pause control unit 4314 and the reception time thereof. Reference numeral 4806C indicates a data acquisition request issued by the data acquisition unit 4311 to the data storage device 4302 and its scheduled issue time. Reference numbers 4814C and 4815C indicate the two blocks that are still stored in the buffer 4312 in the pause process, and the scheduled transmission time to the user 4303. Reference numeral 4816C indicates data scheduled to be acquired by the data acquisition request 4806C and a scheduled time when the data transmission unit 4310 transmits the data to the user 4303. Reference numeral 4825 indicates the maximum time D from when the data acquisition request 4806C is issued until the corresponding data 4816C is stored in the buffer 4312. Reference numbers 4867 and 4868 indicate time intervals at which the data sending unit 4310 sends data to the user 4303.

図49において、参照番号4833は、ポーズ制御部4314が利用者4303から受け付けたポーズ解除要求と、その受付時刻とを示している。参照番号4805C',4806Cおよび4807Cは、データ取得部4311がデータ記憶装置4302に対して発行するデータ取得要求の発行時刻を示している。参照番号4814C'は、ポーズ処理以降にバッファ4312に格納されたままとなっているブロックと、利用者4303への送出時刻とを示している。参照番号4815C'および4816Cは、データ取得要求4805C'および4806Cによって取得されたデータと、データ送出部4310が利用者4303に当該データを送出する時刻とを示している。参照番号4826は、データ取得要求4805C'を発行してから、対応するデータ4815C'がバッファ4312に格納されるまでの最大時間Dを示している。参照番号4869〜4872は、データ送出部4310が利用者4303にデータを送出する時間間隔を示している。   In FIG. 49, reference numeral 4833 indicates a pause release request received from the user 4303 by the pause control unit 4314 and its reception time. Reference numbers 4805C ′, 4806C, and 4807C indicate the issue times of data acquisition requests issued to the data storage device 4302 by the data acquisition unit 4311. Reference numeral 4814C ′ indicates a block that remains stored in the buffer 4312 after the pause process, and a transmission time to the user 4303. Reference numbers 4815C ′ and 4816C indicate the data acquired by the data acquisition requests 4805C ′ and 4806C and the time when the data transmission unit 4310 transmits the data to the user 4303. Reference numeral 4826 indicates the maximum time D from when the data acquisition request 4805C ′ is issued until the corresponding data 4815C ′ is stored in the buffer 4312. Reference numbers 4869 to 4872 indicate time intervals at which the data sending unit 4310 sends data to the user 4303.

利用者4303は、ポーズ解除要求4833を発行し、ポーズ解除後のデータ伝送速度を指定する。データ伝送速度は、データ送出要求時と同様に、送出するブロック間の平均時間間隔である、データ送出間隔Tsd'で指定する。   The user 4303 issues a pause release request 4833 and designates the data transmission rate after the pause release. The data transmission rate is specified by a data transmission interval Tsd ′ that is an average time interval between blocks to be transmitted, as in the case of data transmission request.

ポーズ制御部4314は、利用者4303からポーズ解除要求4833を受け付けると、バッファ管理部4313を参照して、ポーズ処理以降にバッファ4312に格納されたままとなっているブロックの数Nを取得する。   When the pause control unit 4314 receives a pause release request 4833 from the user 4303, the pause control unit 4314 refers to the buffer management unit 4313 and acquires the number N of blocks that are stored in the buffer 4312 after the pause process.

ポーズ解除要求4833に応答して、ポーズ制御部4314がデータ取得部4311に対して、直ちにデータ取得を再開するよう制御する時刻を、データ取得再開時刻trdと定義する。同様に、バッファ4312中に格納されているブロックの中で、次に送出するブロックの送出時刻、すなわち図48のデータ送出時刻4814Cおよび図49のデータ送出時刻4814C'を、データ送出再開時刻tsdと定義する。   In response to the pause release request 4833, a time at which the pause control unit 4314 controls the data acquisition unit 4311 to immediately resume data acquisition is defined as a data acquisition restart time trd. Similarly, among the blocks stored in the buffer 4312, the transmission time of the next block to be transmitted, that is, the data transmission time 4814C of FIG. 48 and the data transmission time 4814C ′ of FIG. Define.

ポーズ制御部4314は、前述の式(14)を用いて、データ送出再開予定時刻tsdを求める。次に、ポーズ制御部4314は、式(14)を用いて求めたデータ送出再開予定時刻tsdと、データ取得再開時刻trdとを比較し、当該データ送出再開予定時刻tsdがデータ取得再開時刻trd以上の場合は、式(14)で求めた時刻を、データ取得再開時刻tsdと決定し、前述した第10の実施形態で説明したポーズ解除処理と同様に、以下の処理を行う。すなわち、ポーズ制御部4314は、データ取得再開時刻trdにおいて、データ取得部4311に対し、直ちにバッファ4312に格納されている最後のブロックの次のブロックを取得するためのデータ取得要求から順番に、終了ブロックに到達するまで、データ取得要求を発行するよう制御する。同様に、ポーズ制御部4314は、決定したデータ送出再開時刻tsdにおいて、データ送出部4310に対し、直ちにバッファ4312に格納されている先頭のブロックから順番に、終了ブロックを送出するまで、データを送出するよう制御する。   The pause control unit 4314 obtains the data transmission resuming scheduled time tsd using the above-described equation (14). Next, the pause control unit 4314 compares the data transmission resumption scheduled time tsd obtained using the equation (14) with the data acquisition resumption time trd, and the data transmission resuming scheduled time tsd is equal to or greater than the data acquisition resumption time trd. In this case, the time obtained by Expression (14) is determined as the data acquisition restart time tsd, and the following processing is performed in the same manner as the pause release processing described in the tenth embodiment. That is, the pause control unit 4314 finishes in order from the data acquisition request for acquiring the next block immediately after the last block stored in the buffer 4312 to the data acquisition unit 4311 at the data acquisition restart time trd. Control to issue a data acquisition request until the block is reached. Similarly, the pause control unit 4314 transmits data to the data transmission unit 4310 at the determined data transmission restart time tsd until the end block is transmitted in order from the first block stored in the buffer 4312. Control to do.

式(14)を用いて求めたデータ送出再開予定時刻tsdが、データ取得再開時刻trd未満、すなわち図48に示す場合は、以下の処理を行う。すなわち、ポーズ制御部4314は、図48のデータ取得時間4825において、ポーズ解除後のデータ伝送速度Tsd'により送出することのできるブロック数L、すなわち限界データ量を、次式(16)を用いて求める。ただし、次式(16)において、[X]はXを越えない最大の整数とする。
L=[D/Tsd'] …(16)
When the scheduled data transmission resumption time tsd obtained using the equation (14) is less than the data acquisition resumption time trd, that is, as shown in FIG. 48, the following processing is performed. That is, the pause control unit 4314 uses the following equation (16) to calculate the number L of blocks that can be transmitted at the data transmission rate Tsd ′ after the pause release, that is, the limit data amount at the data acquisition time 4825 in FIG. Ask. However, in the following equation (16), [X] is the maximum integer not exceeding X.
L = [D / Tsd '] (16)

次に、ポーズ制御部4314は、バッファ4312から削除するブロック数Nd を、次式(17)を用いて求め、バッファ管理部4313に対し、バッファ4312に格納されているブロックから、次式(17)で求めたNd 個のブロックを削除するよう制御する。
Nd=N−L …(17)
Next, the pause control unit 4314 obtains the number of blocks Nd to be deleted from the buffer 4312 using the following equation (17), and the buffer management unit 4313 uses the following equation (17) from the blocks stored in the buffer 4312. Control is performed so as to delete the Nd blocks obtained in (1).
Nd = N−L (17)

バッファ管理部4313は、バッファ4312からNd 個のブロックを、最後にバッファに格納された順番、すなわちブロック番号の大きい順番に削除する。これにより、バッファ4312中のブロック数は、Lと一致する。この結果、図48のブロック4815Cが、バッファ4312から削除される。   The buffer management unit 4313 deletes the Nd blocks from the buffer 4312 in the order in which they were last stored in the buffer, that is, in descending order of block numbers. As a result, the number of blocks in the buffer 4312 matches L. As a result, the block 4815C in FIG. 48 is deleted from the buffer 4312.

ポーズ制御部4314は、次式(18)に、データ取得再開時刻trdと、バッファ4312中のブロック数Lと、ポーズ解除後のデータ送出間隔Tsd'と、データ取得時間Dとを代入することにより、新たにデータ送出再開時刻tsd'を求める。
tsd'=trd+D−L・Tsd' …(18)
The pause control unit 4314 substitutes the data acquisition restart time trd, the number L of blocks in the buffer 4312, the data transmission interval Tsd ′ after the pause release, and the data acquisition time D into the following equation (18). Then, a new data transmission restart time tsd ′ is obtained.
tsd ′ = trd + DL · Tsd ′ (18)

次に、ポーズ制御部4314は、データ取得再開時刻trdにおいて、データ取得部4311に対し、バッファ4312に格納されている最後のブロック4814C'の次のブロック4815C'を取得するためのデータ取得要求4805C'から順番に、終了ブロックに到達するまで、データ取得要求を発行するよう制御する。同様に、ポーズ制御部4314は、決定したデータ送出再開時刻tsd'において、データ送出部4310に対し、直ちにバッファ4312に格納されている先頭のブロック4814C'から順番に、終了ブロックを送出するまで、データを送出するよう制御する。   Next, the pause control unit 4314 sends a data acquisition request 4805C for acquiring the block 4815C ′ next to the last block 4814C ′ stored in the buffer 4312 to the data acquisition unit 4311 at the data acquisition restart time trd. Control to issue data acquisition requests in order from 'until the end block is reached. Similarly, at the determined data transmission restart time tsd ′, the pause control unit 4314 immediately transmits the end block to the data transmission unit 4310 in order from the first block 4814C ′ stored in the buffer 4312. Control to send data.

以上のように、第12の実施形態によれば、ポーズ解除後のデータ伝送速度として任意の伝送速度が指定された場合、限界データ量を越えるデータをバッファ4312から削除するようにしているので、サーバ装置4301は、限界データ量以上のバッファ容量を持つ必要がなく、ポーズ解除後にデータが途切れることなく、指定された伝送速度でデータを送出することができる。   As described above, according to the twelfth embodiment, when an arbitrary transmission rate is designated as the data transmission rate after the pause release, data exceeding the limit data amount is deleted from the buffer 4312. The server apparatus 4301 does not need to have a buffer capacity larger than the limit data amount, and can transmit data at a designated transmission rate without interruption of data after the pause is released.

本発明に係るファイルシステムは、ユーザからの要求に対して素早い応答時間でデータを提供できるスケジューリング装置等を含むファイルシステムとして有用である。   The file system according to the present invention is useful as a file system including a scheduling device that can provide data with a quick response time in response to a request from a user.

本発明の第1の実施形態に係るファイルシステムの構成を示すブロック図The block diagram which shows the structure of the file system which concerns on the 1st Embodiment of this invention 図1の各サーバユニットにおけるファイルアクセスに関連する部分の構成を示すブロック図The block diagram which shows the structure of the part relevant to the file access in each server unit of FIG. 図1のファイルマネージャにおけるファイルアクセスに関連する部分の構成を示すブロック図The block diagram which shows the structure of the part relevant to the file access in the file manager of FIG. 第1の実施形態において、リソースの予約および割り当てと、データ読み出し動作との関係を示した図The figure which showed the relationship between resource reservation and allocation, and data read-out operation | movement in 1st Embodiment. MS到着スロットの状態を管理するMS到着スロット管理テーブルの一例を示す図The figure which shows an example of the MS arrival slot management table which manages the state of MS arrival slot 書き込み用スロットの状態を管理する書き込み用スロット管理テーブルの一例を示す図The figure which shows an example of the slot management table for writing which manages the state of the slot for writing ストリーム管理テーブルの一例を示す図The figure which shows an example of a stream management table 図3に示すリソース管理部のより詳細な構成を示すブロック図The block diagram which shows the more detailed structure of the resource management part shown in FIG. 本発明の第2の実施形態に係るファイルシステムの構成を示すブロック図The block diagram which shows the structure of the file system which concerns on the 2nd Embodiment of this invention. 図9の各I/Oユニットにおけるファイルアクセス部の構成を示すブロック図The block diagram which shows the structure of the file access part in each I / O unit of FIG. 図9の各ブロック格納ユニットにおけるファイルアクセス部の構成を示すブロック図The block diagram which shows the structure of the file access part in each block storage unit of FIG. 本発明の第3の実施形態に係るファイルシステムの構成を示すブロック図The block diagram which shows the structure of the file system which concerns on the 3rd Embodiment of this invention. 本発明の第4の実施形態に係るディスク管理装置の構成を示すブロック図A block diagram showing a configuration of a disk management apparatus according to a fourth embodiment of the present invention. 記憶装置の帯域に比例してデータを分配する比率を決定する、帯域優先レイアウトについて示す図The figure which shows the bandwidth priority layout which determines the ratio which distributes the data in proportion to the bandwidth of the storage device 記憶装置の容量に比例してデータを分配する比率を決定する、容量優先レイアウトについて示す図A diagram showing a capacity-priority layout that determines the ratio of data distribution in proportion to the capacity of the storage device 帯域優先レイアウトと容量優先レイアウトとを混在させてデータを分配する比率を決定する、帯域設定レイアウトについて示す図The figure which shows the band setting layout which decides the ratio which distributes the data by mixing the band priority layout and the capacity priority layout 図13に示すディスク管理装置を用いたファイルシステムの構成を示すブロック図FIG. 13 is a block diagram showing the configuration of a file system using the disk management apparatus shown in FIG. 本発明の第6の実施形態に係るスケジューリング装置の構成を示すブロック図The block diagram which shows the structure of the scheduling apparatus which concerns on the 6th Embodiment of this invention. 図18のスケジューリング装置を用いた映像情報提供システムの構成を示すブロック図The block diagram which shows the structure of the video information provision system using the scheduling apparatus of FIG. 図19の映像情報提供装置1920とクライアント(1〜n)1921との間で、信号が送受信される様子を示すシーケンス図19 is a sequence diagram showing how signals are transmitted and received between the video information providing apparatus 1920 and the clients (1 to n) 1921 in FIG. 図18の実行権発生周期テーブル1812の登録内容を示す図The figure which shows the registration content of the execution right generation cycle table 1812 of FIG. 図18の処理待ちキュー1814のキューイング内容を示す図The figure which shows the queuing content of the process waiting queue 1814 of FIG. 図18の実行権キュー1816のキューイング内容を示す図The figure which shows the queuing content of the execution right queue 1816 of FIG. 図18の実行権発生部1813が実行権を発生させる動作を説明するためフローチャートFlowchart for explaining the operation in which the execution right generation unit 1813 in FIG. 18 generates the execution right. 図18の実行指示部1815が読み出し要求の実行を指示する動作を説明するためのフローチャート18 is a flowchart for explaining an operation in which the execution instruction unit 1815 in FIG. 18 instructs execution of a read request. 本発明の第7の実施形態に係るスケジューリング装置の構成を示すブロック図The block diagram which shows the structure of the scheduling apparatus which concerns on the 7th Embodiment of this invention. 図26のスケジューリング装置を用いた映像情報提供システムの構成を示すブロック図The block diagram which shows the structure of the video information provision system using the scheduling apparatus of FIG. 図26の実行権発生周期テーブル2692の登録内容を示す図The figure which shows the registration content of the execution right generation cycle table 2692 of FIG. 図26の処理待ちキュー2694のキューイング内容を示す図The figure which shows the queuing content of the process waiting queue 2694 of FIG. 図26の実行権キュー2696のキューイング内容を示す図The figure which shows the queuing content of the execution right queue 2696 of FIG. 他の実行権キューの動作を説明するための図Diagram for explaining the operation of another execution right queue 本発明の第8の実施形態に係るサーバ装置を用いたデータ伝送システムの構成を示すブロック図The block diagram which shows the structure of the data transmission system using the server apparatus which concerns on the 8th Embodiment of this invention. 図32におけるI/Oユニット3207のより詳細な構成を示すブロック図FIG. 32 is a block diagram showing a more detailed configuration of the I / O unit 3207 in FIG. 図33におけるコマンド受付部3327の動作を示すフローチャートThe flowchart which shows the operation | movement of the command reception part 3327 in FIG. 図33におけるコマンドキュー制御部3322の動作を示すフローチャートThe flowchart which shows operation | movement of the command queue control part 3322 in FIG. 図33におけるコマンド送出部3323の動作を示すフローチャートThe flowchart which shows operation | movement of the command transmission part 3323 in FIG. 本発明の第9の実施形態に係るサーバ装置を用いたデータ伝送システムの構成を示すブロック図The block diagram which shows the structure of the data transmission system using the server apparatus concerning the 9th Embodiment of this invention. 図37におけるI/Oユニット3707のより詳細な構成を示すブロック図FIG. 37 is a block diagram showing a more detailed configuration of the I / O unit 3707 in FIG. 図37におけるリソース管理部3701の動作を示すフローチャート37 is a flowchart showing the operation of the resource management unit 3701 in FIG. 図38におけるコマンド受付部3847の動作を示すフローチャート38 is a flowchart showing the operation of the command receiving unit 3847 in FIG. 図38におけるコマンドキュー制御部3842の動作を示すフローチャート38 is a flowchart showing the operation of the command queue control unit 3842 in FIG. 図38におけるコマンド送出部3843の動作を示すフローチャート38 is a flowchart showing the operation of the command sending unit 3843 in FIG. 本発明の第10の実施形態に係るファイルシステムの構成を示すブロック図The block diagram which shows the structure of the file system which concerns on the 10th Embodiment of this invention. 第10の実施形態において、サーバ装置のデータ送出動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートIn the tenth embodiment, a time chart showing a relationship among a data transmission request, a data acquisition request, and data transmission in a data transmission operation of the server device 第10の実施形態において、サーバ装置のポーズ動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートIn the tenth embodiment, a time chart showing a relationship among a data transmission request, a data acquisition request, and data transmission in the pause operation of the server device 第10の実施形態において、サーバ装置のポーズ解除動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートIn the tenth embodiment, a time chart showing a relationship among a data transmission request, a data acquisition request, and data transmission in the pause release operation of the server device 第11の実施形態において、サーバ装置のポーズ解除動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートIn the eleventh embodiment, a time chart showing a relationship among a data transmission request, a data acquisition request, and data transmission in the pause release operation of the server device 第12の実施形態において、サーバ装置のポーズ解除動作における、データ送出再開時刻の算出方法を説明するためのタイムチャートIn the twelfth embodiment, a time chart for explaining a method for calculating a data transmission restart time in a pause release operation of a server device 第12の実施形態において、サーバ装置のポーズ解除動作における、データ送出要求とデータ取得要求とデータ送出との関係を示すタイムチャートIn the twelfth embodiment, a time chart showing a relationship among a data transmission request, a data acquisition request, and data transmission in the pause release operation of the server device

符号の説明Explanation of symbols

1 交換装置
2 ファイルマネージャ
3 サーバユニット
101 外部メッセージインターフェース部
102 リソース割り当て部
103 スロット割り当て部
104 アドレス検索部
105 要求送出部
106 外部ネットワークI/O制御部
107 内部メッセージインターフェース部
108 記憶装置
109 記憶制御部
110 内部ネットワークI/O制御部
111 申告値管理部
201 メッセージインターフェース部
202 リソース管理部
401 申告パラメータ処理部
402 書き込み帯域算出部
403 受付判断部
404 リソース記憶部
901 ファイルマネージャ
902 I/Oユニット
905 ブロック格納ユニット
908 交換装置
1001 外部メッセージインターフェース部
1002 リソース割り当て部
1003 スロット割り当て部
1004 アドレス検索部
1005 要求送出部
1006 外部ネットワークI/O制御部
1007 内部メッセージインターフェース部
1008 申告値管理部
1101 内部メッセージインターフェース部
1102 内部ネットワークI/O制御部
1103 記憶制御部
1104 記憶装置
1201 メッセージインターフェース部
1202 リソース管理部
1203 読み出し、書き込み制御部
1204 記憶装置
1205 申告値管理部
1300 ディスク管理装置
1301 ディスク帯域管理部
1302 ディスク容量管理部
1303 分配比率決定部
1304 帯域計算部
1305 容量計算部
1306 全ディスク帯域制御部
1307 全ディスク容量制御部
1708a,1708b 記憶装置
1709 ファイル属性管理部
1710 帯域管理部
1711 ファイルオープン処理部
1712 帯域獲得部
1713 入出力制御部
1414a〜1414c 記憶装置
1515a〜1515c 記憶装置
1616a〜1616c 記憶装置
1810、2690 スケジューリング装置
1811、2691 登録指示部
1812、2692 実行権発生周期テーブル
1813、2693 実行権発生部
1814、2694 処理待ちキュー
1815、2695 実行指示部
1816、2696 実行権キュー
1920、2700 映像情報提供装置
1921、2701 クライアント
1922、2702 サーバ
2703 伝送路
3201,3701…リソース管理部
3202,3702…データ記憶部
3203,3703…交換部
3204,3704…入出力部
3205,3705…記憶装置
3206,3706…MSFS
3207,3707…I/Oユニット
3208,3708…ユーザ端末
3301,3801…優先入出力制御部
3302,3802…非優先入出力制御部
3321,3841…コマンドキュー
3322,3842コマンドキュー制御部
3323,3843…コマンド送出部
3324,3844…データバッファ部
3325…バッファ管理部
3326,3846…データ送出部
3327,3847…コマンド受付部
3848…カウンタ
3849…送出キュー
4301 サーバ装置
4302 データ記憶装置
4310 データ送出部
4311 データ取得部
4312 バッファ
4313 バッファ管理部
4314 ポーズ制御部
DESCRIPTION OF SYMBOLS 1 Switching apparatus 2 File manager 3 Server unit 101 External message interface part 102 Resource assignment part 103 Slot assignment part 104 Address search part 105 Request sending part 106 External network I / O control part 107 Internal message interface part 108 Storage apparatus 109 Storage control part 110 Internal network I / O control unit 111 Report value management unit 201 Message interface unit 202 Resource management unit 401 Report parameter processing unit 402 Write bandwidth calculation unit 403 Acceptance determination unit 404 Resource storage unit 901 File manager 902 I / O unit 905 Block storage Unit 908 Switching apparatus 1001 External message interface unit 1002 Resource allocation unit 1003 Slot allocation unit 1004 Address search unit 1005 Request sending unit 1006 External network I / O control unit 1007 Internal message interface unit 1008 Declared value management unit 1101 Internal message interface unit 1102 Internal network I / O control unit 1103 Storage control unit 1104 Storage device 1201 Message interface unit 1202 Resource management unit 1203 Read / write control unit 1204 Storage device 1205 Declared value management unit 1300 Disk management device 1301 Disk bandwidth management unit 1302 Disk capacity management unit 1303 Distribution ratio determination unit 1304 Bandwidth calculation unit 1305 Capacity calculation unit 1306 Total disk bandwidth control unit 1307 Total disk capacity control units 1708a and 1708b Storage device 1709 File attribute management unit 1710 Band management unit 1711 File open Processing unit 1712 Band acquisition unit 1713 Input / output control units 1414a to 1414c Storage devices 1515a to 1515c Storage devices 1616a to 1616c Storage devices 1810 and 2690 Scheduling devices 1811 and 2691 Registration instruction units 1812 and 2692 Execution right generation cycle tables 1813 and 2693 Execution rights Generation unit 1814, 2694 Processing queue 1815, 2695 Execution instruction unit 1816, 2696 Execution right queue 1920, 2700 Video information providing device 1921, 2701 Client 1922, 2702 Server 2703 Transmission path 3201, 3701 ... Resource management unit 3202, 3702 ... Data Storage units 3203, 3703 ... exchange units 3204, 3704 ... input / output units 3205, 3705 ... storage devices 3206, 3706 ... MSFS
3207, 3707 ... I / O units 3208, 3708 ... user terminals 3301, 3801 ... priority input / output control units 3302, 3802 ... non-priority input / output control units 3321, 3841 ... command queues 3322, 3842 command queue control units 3323, 3843 ... Command sending unit 3324, 3844 ... Data buffer unit 3325 ... Buffer management unit 3326, 3848 ... Data sending unit 3327, 3847 ... Command receiving unit 3848 ... Counter 3849 ... Sending queue 4301 Server device 4302 Data storage device 4310 Data sending unit 4311 Data acquisition Unit 4312 buffer 4313 buffer management unit 4314 pause control unit

Claims (42)

サーバから、複数のクライアントに、それぞれ周期的にサービスが提供されるよう、サービスリクエストのスケジューリングを行うスケジューリング装置であって、
前記複数のクライアントからのサービスリクエストをキューイングする第1のキュー手段と、
前記複数のクライアント毎の、実行権を発生させるべき周期を登録する登録手段と、
前記登録手段に登録された周期に関連して、サービスリクエストを実行するための実行権を発生させる実行権発生手段と、
前記第1のキュー手段にキューイングされているサービスリクエストのうち、前記実行権発生手段が発生させた実行権に対応するクライアントからのサービスリクエストを、前記サーバに指示して実行させる実行指示手段とを備えるスケジューリング装置。
A scheduling device that schedules a service request so that a service is periodically provided to a plurality of clients from a server,
First queuing means for queuing service requests from the plurality of clients;
Registration means for registering a cycle for generating an execution right for each of the plurality of clients;
Execution right generation means for generating an execution right for executing a service request in relation to the period registered in the registration means;
Execution instruction means for instructing the server to execute a service request from a client corresponding to the execution right generated by the execution right generation means among the service requests queued in the first queue means; A scheduling apparatus comprising:
前記実行権発生手段は、所定の周期で起動され、起動時に、前記登録手段に登録された、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、実行権を発生させるか否かをクライアント毎に判定し、かつ、実行権を発生させると判定したクライアントの実行権を、一括して発生させることを特徴とする、請求項1に記載のスケジューリング装置。   The execution right generation means is activated at a predetermined cycle, and at the time of activation, the execution right generation unit generates an execution right based on a cycle in which the execution right is registered and a cycle in which the execution right is activated. 2. The scheduling apparatus according to claim 1, wherein, for each client, a determination is made for each client, and the execution rights of the clients determined to generate the execution right are generated in a lump. 前記実行権発生手段は、前記登録手段に登録された、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、起動された現時刻から、次の実行権を発生させる時刻までの時間を算定し、算定して得た時間と、自己が起動される周期とを比較することにより、実行権を発生させるか否かを判定することを特徴とする、請求項2に記載のスケジューリング装置。   The execution right generation means generates a next execution right from the current activation time based on the period in which the execution right should be generated and the period in which the execution right is registered, registered in the registration means. The time until the time is calculated, and it is determined whether or not the execution right is generated by comparing the time obtained by the calculation and the cycle in which the self is activated. Scheduling device. 前記実行権発生手段は、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、自己が起動される周期Tsltに対して、Tofs<Tsltであるクライアントの実行権を発生させ、さらに、当該クライアントのTofsに、前記登録手段に登録された、実行権を発生させるべき周期Treqを加算し、加算して得たTofsが、Tofs≧Tsltである場合、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴とする、請求項3に記載のスケジューリング装置。   The execution right generation means generates an execution right for a client whose time Tofs from the current time when it is activated to the time when the next execution right is generated is Tofs <Tslt with respect to the cycle Tslt in which the self is activated. Furthermore, the Tofs of the client is added with the period Treq that is registered in the registration means and is to be generated, and when the Tofs obtained by the addition is Tofs ≧ Tslt, the Tofs The scheduling apparatus according to claim 3, wherein a new Tof is calculated by the expression Tofs = Tofs−Tslt and is set as Tofs for the next activation. 前記実行権発生手段は、加算して得たTofsが、Tofs<Tsltである場合には、さらに、実行権を発生させ、かつ当該TofsにTreqを加算してTsltと比較する動作を繰り返し、加算して得たTofsが、Tofs≧Tsltとなった時点で、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴とする、請求項4に記載のスケジューリング装置。   When the Tofs obtained by the addition is Tofs <Tslt, the execution right generating means further repeats the operation of generating the execution right and adding Treq to the Tofs and comparing it with Tslt. When the Tofs obtained in this way becomes Tofs ≧ Tslt, a new Tofs is calculated with respect to the Tofs by the formula Tofs = Tofs−Tslt, and the Tofs for the next activation is obtained. The scheduling apparatus according to claim 4. 前記実行権発生手段は、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、Tofs≧Tsltであるか、または、サービスリクエストが、前記第1のキュー手段にキューイングされていないクライアントについては、実行権を発生させず、かつ、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴とする、請求項4に記載のスケジューリング装置。   The execution right generation means has a time Tofs from the current activation time to a time to generate the next execution right, Tofs ≧ Tslt, or a service request is queued in the first queue means For a client that has not been executed, an execution right is not generated, and a new Tofs is calculated for the Tofs by the formula Tofs = Tofs−Tslt, and the Tofs for the next activation is obtained. The scheduling apparatus according to claim 4. 前記実行権発生手段は、算定して得た新たなTofsが、Tofs<0である場合には、次回起動される際のTofsを0とすることを特徴とする、請求項6に記載のスケジューリング装置。   7. The scheduling according to claim 6, wherein when the new Tofs obtained by calculation is Tofs <0, the execution right generation unit sets the Tofs at the next activation to 0. 8. apparatus. 前記実行指示手段は、所定の周期で起動され、起動された現時刻から、次の実行権が発生される時刻までの時間が、より短いクライアントの実行権を選択することを特徴とする、請求項2に記載のスケジューリング装置。   The execution instruction means is activated at a predetermined cycle, and selects an execution right of a client having a shorter time from the current activation time to a time when the next execution right is generated. Item 3. The scheduling device according to Item 2. 前記実行権発生手段は、優先度を示す評価指数を、前記登録手段に登録された、実行権を発生させるべき周期の関数として算定して、発生させた実行権に付与し、
前記実行指示手段は、付与された評価指数に基づいて、前記実行権発生手段が発生させた実行権のうち、優先されるべき実行権を選択することを特徴とする、請求項8に記載のスケジューリング装置。
The execution right generation means calculates an evaluation index indicating a priority as a function of a cycle in which the execution right is to be registered, and is given to the generated execution right.
The execution instruction means selects an execution right to be prioritized from the execution rights generated by the execution right generation means based on the assigned evaluation index. Scheduling device.
前記実行権発生手段は、評価指数Nsftを、前記登録手段に登録された実行権を発生させるべき周期Treqと、自己が起動される周期Tsltとに対して、関数Nsft=f(Treq/Tslt)(ただし、f(x)はx以上の最小の整数)により算定し、
前記実行指示手段は、付与された評価指数Nsftがより小さい実行権を選択することを特徴とする、請求項9に記載のスケジューリング装置。
The execution right generation means uses the function Nsft = f (Treq / Tslt) for the evaluation index Nsft with respect to the period Treq for generating the execution right registered in the registration means and the period Tslt at which the execution right is activated. Where f (x) is the smallest integer greater than or equal to x,
The scheduling apparatus according to claim 9, wherein the execution instruction unit selects an execution right having a smaller evaluation index Nsft.
前記実行権発生手段は、前記登録手段に登録された周期のうち、最も長いものよりは短い周期で、起動されることを特徴とする、請求項9に記載のスケジューリング装置。   The scheduling apparatus according to claim 9, wherein the execution right generation unit is activated at a cycle shorter than the longest cycle registered in the registration unit. 前記実行権発生手段は、前記登録手段に登録された周期のうち、最も短いものよりさらに短い周期で、起動されることを特徴とする、請求項10に記載のスケジューリング装置。   The scheduling apparatus according to claim 10, wherein the execution right generation unit is activated at a cycle shorter than the shortest of the cycles registered in the registration unit. 前記実行指示手段は、前記実行権発生手段が発生させた実行権を、付与された評価指数毎で、かつ発生された順に、キューイングする第2のキュー手段を含み、当該キュー手段にキューイングされている実行権のうち、付与された評価指数がより小さく、かつ、より先に発生されたものを選択することを特徴とする、請求項9に記載のスケジューリング装置。   The execution instructing means includes second queuing means for queuing the execution rights generated by the execution right generation means for each given evaluation index and in the order in which they are generated. The scheduling apparatus according to claim 9, wherein, among the execution rights that have been assigned, the one that has been assigned with a smaller evaluation index and that has been generated earlier is selected. 前記実行指示手段は、起動時に実行を指示するサービスリクエストの最大数を認識しており、当該最大数に等しい個数だけサービスリクエストの実行を指示した時点で、実行の指示を停止し、かつ、残された実行権の評価指数を、より優先度の高いものに変更することを特徴とする、請求項9に記載のスケジューリング装置。   The execution instructing unit recognizes the maximum number of service requests that are instructed to be executed at the time of activation, and stops instructing execution when the number of service requests to be executed is equal to the maximum number. The scheduling apparatus according to claim 9, wherein the evaluation index of the executed right is changed to one having a higher priority. 前記実行指示手段が認識している、起動時に実行を指示するサービスリクエストの最大数は、自己が起動される周期に等しい時間内に前記サーバが実行可能なサービスリクエストの最大数であることを特徴とする、請求項14に記載のスケジューリング装置。   The maximum number of service requests that are recognized by the execution instructing unit and that are instructed to execute at the time of start-up are the maximum number of service requests that can be executed by the server within a time period equal to a period in which the server is started. The scheduling apparatus according to claim 14. 前記実行指示手段は、起動時に実行を指示するサービスリクエストの最大数を認識しており、当該最大数に等しい個数だけサービスリクエストの実行を指示した時点で、実行の指示を停止し、かつ、残された実行権の評価指数をディクリメントすることを特徴とする、請求項10に記載のスケジューリング装置。   The execution instructing unit recognizes the maximum number of service requests that are instructed to be executed at the time of activation, and stops instructing execution when the number of service requests to be executed is equal to the maximum number. The scheduling apparatus according to claim 10, wherein the execution index is decremented. 前記実行指示手段が認識している、起動時に実行を指示するサービスリクエストの最大数は、自己が起動される周期に等しい時間内に前記サーバが実行可能なサービスリクエストの最大数であることを特徴とする、請求項16に記載のスケジューリング装置。   The maximum number of service requests that are recognized by the execution instructing unit and that are instructed to execute at the time of start-up are the maximum number of service requests that can be executed by the server within a time period equal to a period in which the server is started. The scheduling apparatus according to claim 16. 前記複数のクライアントからの申告に基づいて、実行権を発生させるべき周期を、前記登録手段に指示して登録させる登録指示手段をさらに備えることを特徴とする、請求項14に記載のスケジューリング装置。   The scheduling apparatus according to claim 14, further comprising a registration instruction unit that instructs the registration unit to register a cycle in which an execution right should be generated based on reports from the plurality of clients. 前記登録指示手段は、単位時間当たりに前記実行指示手段が実行を指示するサービスリクエストの最大数を認識しており、すでに登録されている周期に加えて、さらに他の周期を登録するよう申告された際、さらに登録されても、発生される実行権の単位時間当たりの平均数が、当該最大数を越えないと判定した場合、前記登録手段に指示して当該周期を登録させ、さらに登録されれば、越えると判定した場合には、登録させないことを特徴とする、請求項18に記載のスケジューリング装置。   The registration instruction means recognizes the maximum number of service requests to be executed by the execution instruction means per unit time, and is notified to register another period in addition to the already registered periods. If it is determined that the average number of execution rights generated per unit time does not exceed the maximum number even if further registration is performed, the registration means is instructed to register the cycle, and further registration is performed. The scheduling apparatus according to claim 18, wherein, if it is determined that the number is exceeded, registration is not performed. 複数のサーバから、クライアントに、それぞれ周期的にサービスが提供されるよう、サービスリクエストのスケジューリングを行うスケジューリング装置であって、
前記複数のサーバへのサービスリクエストをキューイングする第1のキュー手段と、
前記複数のサーバ毎の、実行権を発生させるべき周期を登録する登録手段と、
前記登録手段に登録された周期に関連して、サービスリクエストを実行するための実行権を発生させる実行権発生手段と、
前記第1のキュー手段にキューイングされているサービスリクエストのうち、前記実行権発生手段が発生させた実行権に対応するサーバへのサービスリクエストを、当該サーバに指示して実行させる実行指示手段とを備えるスケジューリング装置。
A scheduling device that schedules service requests so that services are periodically provided to clients from a plurality of servers,
First queuing means for queuing service requests to the plurality of servers;
Registration means for registering a cycle for generating an execution right for each of the plurality of servers;
Execution right generation means for generating an execution right for executing a service request in relation to the period registered in the registration means;
Execution instruction means for instructing the server to execute a service request to the server corresponding to the execution right generated by the execution right generation means among the service requests queued in the first queue means; A scheduling apparatus comprising:
前記実行権発生手段は、所定の周期で起動され、起動時に、前記登録手段に登録された、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、実行権を発生させるか否かをサーバ毎に判定し、かつ、実行権を発生させると判定したサーバの実行権を、一括して発生させることを特徴とする、請求項20に記載のスケジューリング装置。   The execution right generation means is activated at a predetermined cycle, and at the time of activation, the execution right generation unit generates an execution right based on a cycle in which the execution right is registered and a cycle in which the execution right is activated. The scheduling apparatus according to claim 20, wherein the server execution right is determined for each server and the execution right of the server determined to generate the execution right is generated in a lump. 前記実行権発生手段は、前記登録手段に登録された、実行権を発生させるべき周期と、自己が起動される周期とに基づいて、起動された現時刻から、次の実行権を発生させる時刻までの時間を算定し、算定して得た時間と、自己が起動される周期とを比較することにより、実行権を発生させるか否かを判定することを特徴とする、請求項21に記載のスケジューリング装置。   The execution right generation means generates a next execution right from the current activation time based on the period in which the execution right should be generated and the period in which the execution right is registered, registered in the registration means. 23. The method according to claim 21, wherein a determination is made as to whether or not to generate an execution right by calculating a time until the execution right and comparing a time obtained by the calculation with a cycle in which the self is activated. Scheduling device. 前記実行権発生手段は、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、自己が起動される周期Tsltに対して、Tofs<Tsltであるサーバの実行権を発生させ、さらに、当該サーバのTofsに、前記登録手段に登録された、実行権を発生させるべき周期Titvを加算し、加算して得たTofsが、Tofs≧Tsltである場合、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴とする、請求項22に記載のスケジューリング装置。   The execution right generation means generates an execution right of a server whose time Tofs from the current time when it is activated to the time when the next execution right is generated is Tofs <Tslt with respect to the cycle Tslt in which it is activated. Furthermore, the period Ttv for generating the execution right registered in the registration unit is added to the Tofs of the server, and when the Tofs obtained by the addition is Tofs ≧ Tslt, the Tofs 23. The scheduling apparatus according to claim 22, wherein a new Tof is calculated by the expression Tofs = Tofs-Tslt and is set as Tofs for the next activation. 前記実行権発生手段は、加算して得たTofsが、Tofs<Tsltである場合には、さらに、実行権を発生させ、かつ当該TofsにTitvを加算してTsltと比較する動作を繰り返し、加算して得たTofsが、Tofs≧Tsltとなった時点で、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴とする、請求項23に記載のスケジューリング装置。   When the Tofs obtained by the addition is Tofs <Tslt, the execution right generation means further repeats the operation of generating an execution right and adding Titv to the Tofs and comparing it with Tslt. When the Tofs obtained in this way becomes Tofs ≧ Tslt, a new Tofs is calculated with respect to the Tofs by the formula Tofs = Tofs−Tslt, and the Tofs for the next activation is obtained. The scheduling apparatus according to claim 23. 前記実行権発生手段は、起動された現時刻から、次の実行権を発生させる時刻までの時間Tofsが、Tofs≧Tsltであるか、または、サービスリクエストが、前記第1のキュー手段にキューイングされていないサーバについては、実行権を発生させず、かつ、当該Tofsに対して、式Tofs=Tofs−Tsltにより、新たなTofsを算定して、次回起動される際のTofsとすることを特徴とする、請求項23に記載のスケジューリング装置。   The execution right generation means has a time Tofs from the current activation time to a time to generate the next execution right, Tofs ≧ Tslt, or a service request is queued in the first queue means For a server that has not been executed, an execution right is not generated, and a new Tofs is calculated with respect to the Tofs by the formula Tofs = Tofs-Tslt, and the Tofs for the next startup is obtained. The scheduling apparatus according to claim 23. 前記実行権発生手段は、算定して得た新たなTofsが、Tofs<0である場合には、次回起動される際のTofsを0とすることを特徴とする、請求項25に記載のスケジューリング装置。   26. The scheduling according to claim 25, wherein when the new Tofs obtained by calculation is Tofs <0, the execution right generation unit sets the Tofs at the next activation to 0. apparatus. 前記実行指示手段は、所定の周期で起動され、起動された現時刻から、次の実行権が発生される時刻までの時間が、より短いサーバの実行権を選択することを特徴とする、請求項21に記載のスケジューリング装置。   The execution instruction means is activated at a predetermined cycle, and selects an execution right of a server having a shorter time from the current activation time to a time when the next execution right is generated. Item 22. The scheduling device according to Item 21. 前記実行権発生手段は、優先度を示す評価指数を、前記登録手段に登録された、実行権を発生させるべき周期の関数として算定して、発生させた実行権に付与し、
前記実行指示手段は、付与された評価指数に基づいて、前記実行権発生手段が発生させた実行権のうち、優先されるべき実行権を選択することを特徴とする、請求項27に記載のスケジューリング装置。
The execution right generation means calculates an evaluation index indicating a priority as a function of a cycle in which the execution right is to be registered, and is given to the generated execution right.
28. The execution instruction unit according to claim 27, wherein the execution instruction unit selects an execution right to be given priority among execution rights generated by the execution right generation unit based on the assigned evaluation index. Scheduling device.
前記実行権発生手段は、評価指数Nsftを、前記登録手段に登録された実行権を発生させるべき周期Titvと、自己が起動される周期Tsltとに対して、関数Nsft=f(Titv/Tslt)(ただし、f(x)はx以上の最小の整数)により算定し、
前記実行指示手段は、付与された評価指数Nsftがより小さい実行権を選択することを特徴とする、請求項28に記載のスケジューリング装置。
The execution right generation means uses the function Nsft = f (Titv / Tslt) for the evaluation index Nsft with respect to the period Ttv for generating the execution right registered in the registration means and the period Tslt at which the execution right is activated. Where f (x) is the smallest integer greater than or equal to x,
The scheduling apparatus according to claim 28, wherein the execution instruction means selects an execution right having a smaller evaluation index Nsft.
前記実行権発生手段は、前記登録手段に登録された周期のうち、最も長いものよりは短い周期で、起動されることを特徴とする、請求項29に記載のスケジューリング装置。   30. The scheduling apparatus according to claim 29, wherein the execution right generation unit is activated at a cycle shorter than the longest cycle registered in the registration unit. 前記実行権発生手段は、前記登録手段に登録された周期のうち、最も短いものよりさらに短い周期で、起動されることを特徴とする、請求項29に記載のスケジューリング装置。   30. The scheduling apparatus according to claim 29, wherein the execution right generation unit is activated at a cycle shorter than a shortest cycle registered in the registration unit. 前記実行指示手段は、前記実行権発生手段が発生させた実行権を、付与された評価指数毎で、かつ発生された順に、キューイングする第2のキュー手段を含み、当該キュー手段にキューイングされている実行権のうち、付与された評価指数がより小さく、かつ、より先に発生されたものを選択することを特徴とする、請求項28に記載のスケジューリング装置。   The execution instructing means includes second queuing means for queuing the execution rights generated by the execution right generation means for each given evaluation index and in the order in which they are generated. 29. The scheduling apparatus according to claim 28, wherein, among the execution rights that have been assigned, the one with the smaller evaluation index assigned and that has been generated earlier is selected. 前記実行指示手段は、起動時に実行を指示するサービスリクエストの最大数を認識しており、当該最大数に等しい個数だけサービスリクエストの実行を指示した時点で、実行の指示を停止し、かつ、残された実行権の評価指数を、より優先度の高いものに変更することを特徴とする、請求項28に記載のスケジューリング装置。   The execution instructing unit recognizes the maximum number of service requests that are instructed to be executed at the time of activation, and stops instructing execution when the number of service requests to be executed is equal to the maximum number. 29. The scheduling apparatus according to claim 28, wherein the evaluation index of the executed right is changed to one having a higher priority. 前記実行指示手段が認識している、起動時に実行を指示するサービスリクエストの最大数は、自己が起動される周期に等しい時間内に、全サーバからクライアントに送信可能な最大の情報量に対応するサービスリクエストの個数であることを特徴とする、請求項33に記載のスケジューリング装置。   The maximum number of service requests that are recognized by the execution instructing unit and that are instructed to execute at the time of activation corresponds to the maximum amount of information that can be transmitted from all servers to the client within a time equal to the period in which the self is activated. The scheduling apparatus according to claim 33, wherein the scheduling apparatus is the number of service requests. 前記実行指示手段は、起動時に実行を指示するサービスリクエストの最大数を認識しており、当該最大数に等しい個数だけサービスリクエストの実行を指示した時点で、実行の指示を停止し、かつ、残された実行権の評価指数をディクリメントすることを特徴とする、請求項29に記載のスケジューリング装置。   The execution instructing unit recognizes the maximum number of service requests that are instructed to be executed at the time of activation, and stops instructing execution when the number of service requests to be executed is equal to the maximum number. 30. The scheduling apparatus according to claim 29, wherein the execution right evaluation index is decremented. 前記実行指示手段が認識している、起動時に実行を指示するサービスリクエストの最大数は、自己が起動される周期に等しい時間内に、全サーバからクライアントに送信可能な最大の情報量に対応するサービスリクエストの個数であることを特徴とする、請求項35に記載のスケジューリング装置。   The maximum number of service requests that are recognized by the execution instructing unit and that are instructed to execute at the time of activation corresponds to the maximum amount of information that can be transmitted from all servers to the client within a time equal to the period in which the self is activated. 36. The scheduling apparatus according to claim 35, wherein the scheduling apparatus is the number of service requests. 前記クライアントからの申告に基づいて、実行権を発生させるべき周期を、前記登録手段に指示して登録/更新させる登録指示手段をさらに備えることを特徴とする、請求項33に記載のスケジューリング装置。   34. The scheduling apparatus according to claim 33, further comprising registration instruction means for instructing the registration means to register / update a cycle for generating an execution right based on a report from the client. 前記登録指示手段は、単位時間当たりに前記実行指示手段が全サーバに実行を指示するサービスリクエストの最大数を認識しており、すでに登録されている周期に加えて、さらに他のサーバの周期を登録するよう申告された際、さらに登録されても、発生される、全サーバの実行権の単位時間当たりの平均数が、当該最大数を越えないと判定した場合、前記登録手段に指示して当該周期を登録させ、さらに登録されれば、越えると判定した場合には、登録させないことを特徴とする、請求項37に記載のスケジューリング装置。   The registration instructing means recognizes the maximum number of service requests that the execution instructing means instructs all servers to execute per unit time, and in addition to the already registered periods, the period of other servers When it is determined that the average number per unit time of the execution rights of all servers generated even if further registration is made when it is declared to be registered, the registration means is instructed. 38. The scheduling apparatus according to claim 37, wherein the period is registered, and if it is further registered, it is not registered when it is determined that the period is exceeded. 前記登録指示手段は、単位時間当たりに前記実行指示手段が各サーバに実行を指示するサービスリクエストの最大数を認識しており、すでに登録されている周期に加えて、さらに他のサーバの周期を登録するよう申告された際、さらに登録されても、発生される、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに前記実行指示手段が当該サーバに実行を指示するサービスリクエストの最大数を越えないと判定した場合、前記登録手段に指示して当該周期を登録させ、さらに登録されれば、越えると判定した場合には、登録させないことを特徴とする、請求項37に記載のスケジューリング装置。   The registration instructing unit recognizes the maximum number of service requests that the execution instructing unit instructs each server to execute per unit time, and in addition to the already registered cycle, the cycle of another server is further determined. The service request in which the execution instruction means instructs the server to execute the unit per unit time, the average number of execution rights of the server that is generated even when the registration is declared. If it is determined that the maximum number is not exceeded, the registration unit is instructed to register the period, and if it is further registered, if it is determined that the number is exceeded, registration is not performed. The scheduling device described. 前記登録指示手段が認識している、単位時間当たりに前記実行指示手段が各サーバに実行を指示するサービスリクエストの最大数は、単位時間当たりに前記各サーバが実行可能なサービスリクエストの最大数であることを特徴とする、請求項39に記載のスケジューリング装置。   The maximum number of service requests recognized by the registration instructing unit per unit time that the execution instructing unit instructs each server to execute is the maximum number of service requests that can be executed by each server per unit time. 40. The scheduling apparatus according to claim 39, wherein there is a scheduling apparatus. 前記登録指示手段は、単位時間当たりに前記実行指示手段が全サーバに実行を指示するサービスリクエストの最大数と、単位時間当たりに前記実行指示手段が各サーバに実行を指示するサービスリクエストの最大数とを認識しており、すで登録されている、あるサーバの実行権を発生させるべき周期Titvを、さらに周期Treqを加えて実行権を発生させるものに更新するよう、申告を受けた際、更新されても、発生される、全サーバの実行権の単位時間当たりの平均数が、単位時間当たりに前記実行指示手段が前記全サーバに実行を指示するサービスリクエストの最大数を越えないと判定し、かつ、発生される、当該サーバの実行権の単位時間当たりの平均数が、単位時間当たりに前記実行指示手段が当該サーバに実行を指示するサービスリクエストの最大数を越えないと判定した場合、前記登録手段に指示して、すでに登録されているTitvを、式Titv=1/(1/Titv+1/Treq)により算定される新たなTitvに更新させ、更新されれば、越えると判定した場合には、更新させないことを特徴とする、請求項37に記載のスケジューリング装置。   The registration instruction means includes a maximum number of service requests that the execution instruction means instructs all servers to execute per unit time, and a maximum number of service requests that the execution instruction means instructs each server to execute per unit time. When the report is received to update the already registered period Ttv for generating the execution right of a server to the one that generates the execution right by adding the period Treq, Even if it is updated, it is determined that the average number of execution rights of all servers per unit time generated does not exceed the maximum number of service requests that the execution instruction unit instructs all servers to execute per unit time. In addition, the average number of execution rights of the server generated per unit time is a server that the execution instruction means instructs the server to execute per unit time. If it is determined that the maximum number of requests is not exceeded, the registration means is instructed to update the already registered Titv to a new Titv calculated by the formula Titv = 1 / (1 / Titv + 1 / Treq). 38. The scheduling apparatus according to claim 37, wherein, if it is updated, if it is determined that it is exceeded, it is not updated. 前記登録指示手段は、すで登録されている、あるサーバの実行権を発生させるべき周期Titvを、周期Treqを除いて実行権を発生させるものに更新するよう申告を受けた際、前記登録手段に指示して、すでに登録されているTitvを、式Titv=1/(1/Titv−1/Treq)により算定される新たなTitvに更新させることを特徴とする、請求項37に記載のスケジューリング装置。   When the registration instructing unit receives a declaration to update the already-registered period Titv for generating the execution right of a server to one that generates the execution right excluding the period Treq, the registration instructing unit The scheduling according to claim 37, wherein the previously registered Titv is updated to a new Titv calculated by the expression Titv = 1 / (1 / Titv-1 / Treq). apparatus.
JP2005208804A 1995-10-26 2005-07-19 File system Withdrawn JP2006065844A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005208804A JP2006065844A (en) 1995-10-26 2005-07-19 File system

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP27879995 1995-10-26
JP27881495 1995-10-26
JP27881395 1995-10-26
JP12514696 1996-05-20
JP21355696 1996-08-13
JP2005208804A JP2006065844A (en) 1995-10-26 2005-07-19 File system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP8278359A Division JPH10111761A (en) 1995-10-26 1996-10-21 File system

Publications (1)

Publication Number Publication Date
JP2006065844A true JP2006065844A (en) 2006-03-09

Family

ID=36112239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005208804A Withdrawn JP2006065844A (en) 1995-10-26 2005-07-19 File system

Country Status (1)

Country Link
JP (1) JP2006065844A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009253698A (en) * 2008-04-07 2009-10-29 Toshiba Corp Video server, and file management method
JP2014178801A (en) * 2013-03-14 2014-09-25 Juki Corp Image processing apparatus and image processing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009253698A (en) * 2008-04-07 2009-10-29 Toshiba Corp Video server, and file management method
JP2014178801A (en) * 2013-03-14 2014-09-25 Juki Corp Image processing apparatus and image processing method

Similar Documents

Publication Publication Date Title
US6714986B2 (en) File system for handling real-time and non-real-time data
KR100196882B1 (en) Scheduling videos in a video-on-demand system
EP0673159B1 (en) Scheduling policies with grouping for providing VCR control functions in a video server
CA2168485C (en) A delay-minimizing system with guarenteed bandwidth delivery for real-time traffic
KR100287942B1 (en) An earliest deadline first communications cell scheduler and scheduling method for transmitting earliest deadline cells first
EP0986216A2 (en) Tranmission system, bandwidth management apparatus, and bandwidth management method
US5619502A (en) Static and dynamic scheduling in an asynchronous transfer mode communication network
WO2004064284A2 (en) Method for transmitting data stream via wireless medium and a wireless network
JPH08181703A (en) Method and apparatus for adjusting transmission of cell of virtual channel
US7602708B2 (en) Method and device for communicating information
US6801543B1 (en) Method and apparatus for assigning time slots within a TDMA transmission
JPH10111761A (en) File system
JP2002532037A (en) Access control mechanism for packet-switched communication networks
JP2000101647A (en) Method and device for transmitting data and recording medium recording data transmission program
TWI296779B (en) Method, apparatus, and system for preventative congestion control, and machine-readable medium having stored thereon instructions
EP1220497A2 (en) Packet switch
CN109286582B (en) Method and device for realizing network bandwidth priority in virtualized switch
JP2006065844A (en) File system
EP1119197A2 (en) Stream scheduling system for real time stream server
JPH10171667A (en) Task management method
JP2005346732A (en) Filesystem
JPH07111648A (en) Av signal distribution system
JP3540835B2 (en) Video memory device and video server system
JP3584787B2 (en) Multimedia data playback / transmission device
JP4316123B2 (en) Data transmission system and network system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070119

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070215