JPH11249955A - Dynamic buffer management method and computer readable storage medium where program to execute each process of this method in computer is recorded - Google Patents

Dynamic buffer management method and computer readable storage medium where program to execute each process of this method in computer is recorded

Info

Publication number
JPH11249955A
JPH11249955A JP4753098A JP4753098A JPH11249955A JP H11249955 A JPH11249955 A JP H11249955A JP 4753098 A JP4753098 A JP 4753098A JP 4753098 A JP4753098 A JP 4753098A JP H11249955 A JPH11249955 A JP H11249955A
Authority
JP
Japan
Prior art keywords
buffer
processing
blocks
processing process
allocated
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.)
Granted
Application number
JP4753098A
Other languages
Japanese (ja)
Other versions
JP3761317B2 (en
Inventor
Takayuki Kunieda
孝之 國枝
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP04753098A priority Critical patent/JP3761317B2/en
Publication of JPH11249955A publication Critical patent/JPH11249955A/en
Application granted granted Critical
Publication of JP3761317B2 publication Critical patent/JP3761317B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To perform redistribution processing of a buffer with a specific processing program as an object. SOLUTION: When assignment of buffer blocks is requested from a processing process, which is not under execution, it is discriminated whether buffer blocks can be assigned to this processing process by reducing the number of buffer blocks assigned to any one of processing programs, which are under execution (S303), if the number of unused buffer blocks in a buffer area is smaller than the minimum number of buffer blocks required for execution of processing in the processing process. If it is discriminated in the discrimination process that assignment is possible, the number of buffer blocks assigned to one of executing processing processes is reduced to reserve buffer blocks to be assigned to the processing process, which is not under execution, and thereafter, reserved buffer blocks are assigned to this processing process (S308).

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、バッファの動的管
理方法に関し、より詳細には、マルチメディアデータの
処理のために使用するバッファ領域を一括管理し、か
つ、該バッファ領域を複数のブロックに分割して各時点
で実行している処理プロセスに動的に割り当てるバッフ
ァの動的管理方法およびその方法の各工程をコンピュー
タに実行させるためのプログラムを記録したコンピュー
タ読み取り可能な記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for dynamically managing a buffer, and more particularly, to a method for collectively managing a buffer area used for processing multimedia data and a method for managing the buffer area by a plurality of blocks. The present invention relates to a dynamic management method of a buffer which is dynamically divided into processing processes executed at each time and a computer-readable recording medium storing a program for causing a computer to execute each step of the method.

【0002】[0002]

【従来の技術】近年のコンピュータ技術の発達に伴っ
て、パーソナルコンピュータにおいても文字だけでな
く、音声・静止画像・動画像のようなマルチメディアデ
ータを容易に扱うことができるようになってきている。
加えて、ネットワークの高速化により、ネットワークを
介してサーバ装置が有しているマルチメディアデータを
クライアント装置の要求に応じて配信し、クライアント
装置で気軽にマルチメディアデータを閲覧したりするこ
とが可能になってきている。
2. Description of the Related Art With the development of computer technology in recent years, not only characters but also multimedia data such as voices, still images, and moving images can be easily handled in personal computers. .
In addition, due to the speeding up of the network, multimedia data of the server device can be distributed via the network in response to a request from the client device, and the multimedia data can be easily viewed on the client device. It is becoming.

【0003】図17は、マルチメディア・オン・デマン
ド・システム(以下、「MODシステム」と記述する)
の概略構成図である。図17に示すMODシステムは、
音声・静止画像・動画像等のマルチメディアデータを有
するサーバ装置100と、サーバ装置100にマルチメ
ディアデータの配信を要求し、サーバ装置100から配
信されたマルチメディアデータを受信して閲覧等を行う
複数のクライアント装置101a〜101c(以下「ク
ライアント装置101」と記述する)と、サーバ装置1
00およびクライアント装置101とを接続するネット
ワーク102と、から構成されている。
FIG. 17 shows a multimedia on demand system (hereinafter referred to as a “MOD system”).
FIG. The MOD system shown in FIG.
A server device 100 having multimedia data such as voice, still image, moving image, etc .; requesting the server device 100 to distribute multimedia data; receiving the multimedia data distributed from the server device 100, and performing browsing, etc. A plurality of client devices 101a to 101c (hereinafter referred to as “client device 101”);
00 and a network 102 connecting the client device 101 to the network.

【0004】上述したように、サーバ装置100は、ク
ライアント装置101からの要求に応じて該当するマル
チメディアデータを要求があったクライアント101に
配信する。この際、サーバ装置100においては、図示
しないメモリ中に確保されたバッファ領域に配信するマ
ルチメディアデータを読み出し、バッファ領域に読み出
したマルチメディアデータを該当するクライアント装置
101に配信する。換言すれば、クライアント101か
ら配信要求があると、要求されたマルチメディアデータ
の種類に応じた処理プロセスがサーバ装置100内にお
いて発生し、発生した処理プロセスがそれぞれバッファ
領域を利用する。
[0004] As described above, the server device 100 distributes the corresponding multimedia data to the client 101 that has made the request in response to the request from the client device 101. At this time, the server device 100 reads multimedia data to be delivered to a buffer area secured in a memory (not shown), and delivers the multimedia data read to the buffer area to the corresponding client device 101. In other words, when there is a distribution request from the client 101, a processing process corresponding to the type of the requested multimedia data occurs in the server device 100, and each of the generated processing processes uses the buffer area.

【0005】ここで、サーバ装置100からクライアン
ト装置101にスムーズにマルチメディアデータを配信
するには、このバッファ領域をどのように管理するかが
重要となってくる。よりスムーズにマルチメディアデー
タをクライアント装置101に配信するには、配信しよ
うとするマルチメディアデータの全てをバッファ領域に
読み出してしまえば良い。ところが、バッファ領域、即
ちメモリ容量は有限であり、特に、動画像のようなデー
タの量は膨大であることから、配信しようとするマルチ
メディアデータの全てをバッファ領域に読み出すことは
非現実的である。
Here, in order to smoothly deliver multimedia data from the server device 100 to the client device 101, it is important how to manage the buffer area. To distribute multimedia data to the client device 101 more smoothly, all of the multimedia data to be distributed may be read out to the buffer area. However, the buffer area, that is, the memory capacity is finite, and in particular, since the amount of data such as a moving image is enormous, it is impractical to read all the multimedia data to be distributed into the buffer area. is there.

【0006】そのため、サーバ装置100においては、
上記処理プロセス毎に、マルチメディアデータを配信す
るために用いるバッファを配分する処理を行う必要があ
る。このバッファの配分方法として以下のような技術が
提案されている。
Therefore, in the server device 100,
For each of the above processing processes, it is necessary to perform a process of allocating a buffer used for distributing multimedia data. The following technique has been proposed as a method of allocating the buffer.

【0007】バッファの配分方法の第1の例として、均
等縮小・拡張方法がある。この均等縮小・拡張方法は、
クライアント101からマルチメディアデータの配信要
求があったが、この要求に応じて処理を行う処理プロセ
スで利用するバッファ領域を確保することができない場
合に、既に他の処理プロセス毎に配分したバッファ領域
をそれぞれ均等に縮小することによって、配分するため
のバッファ領域を確保するというものである。また、均
等縮小・拡張方法は、ある処理プロセスがバッファ領域
を解放した場合に、解放されたバッファ領域を他の処理
プロセスに均等に配分するというものである。
As a first example of a buffer distribution method, there is a uniform reduction / expansion method. This even reduction / expansion method
If the client 101 has received a distribution request for multimedia data, but it is not possible to secure a buffer area to be used in a processing process that performs processing in response to this request, the buffer area already allocated to each of the other processing By uniformly reducing each of them, a buffer area for allocation is secured. Further, in the equal reduction / expansion method, when a certain processing process releases a buffer area, the released buffer area is equally distributed to other processing processes.

【0008】また、バッファ配分方法の第2の例とし
て、自浄方法がある。この自浄方法は、処理プロセスが
バッファのアクセスを宣言した場合に、その処理プロセ
スが要求する分のバッファ領域を配分し、処理プロセス
によってバッファがアクセスされていない場合には、処
理プロセスが処理を行うために最低限必要なバッファ領
域を配分しておくというものである。この場合におい
て、処理プロセスがアクセス中の場合とアクセス中でな
い場合とにおけるバッファ領域の差分は、他の処理プロ
セスが利用できるように管理されることになっている。
As a second example of the buffer allocation method, there is a self-cleaning method. In this self-cleaning method, when a processing process declares access to a buffer, a buffer area required by the processing process is allocated, and when the buffer is not accessed by the processing process, the processing process performs processing. For this purpose, a minimum necessary buffer area is allocated. In this case, the difference in the buffer area between when the processing process is accessing and when it is not accessing is managed so that another processing process can use it.

【0009】なお、上述した2つの方法において、バッ
ファ領域は複数のブロックに分割して管理され、分割さ
れたブロック(以下「バッファブロック」という)単位
で各処理プロセスにバッファを配分するという処理が行
われる。
In the above two methods, the buffer area is divided into a plurality of blocks and managed, and a process of allocating a buffer to each processing process in divided blocks (hereinafter referred to as "buffer blocks") is performed. Done.

【0010】[0010]

【発明が解決しようとする課題】しかしながら、上記均
等縮小・拡張方法においては、有限のバッファ領域を有
効に活用することができるものの、バッファ領域の量が
膨大な場合には、各処理プロセスに対して配分したバッ
ファを縮小したり、拡大するための処理に時間を要する
ため、処理の高速化を図ることができないという問題点
があった。
However, in the above uniform reduction / expansion method, a finite buffer area can be effectively used, but when the amount of buffer area is enormous, each processing There is a problem that it takes time to reduce or enlarge the allocated buffer, and thus it is not possible to increase the processing speed.

【0011】また、上記均等縮小・拡張方法において
は、縮小処理を行う毎に全ての処理プロセスに配分した
各バッファの一部を解放する必要があると共に、拡張処
理を行う毎に全ての処理プロセスに対してバッファを配
分しなければならないため、処理が煩雑であり、かつ、
メモリ操作が煩雑となることから、整合性が取りにくく
なるという問題点があった。
Further, in the above uniform reduction / expansion method, it is necessary to release a part of each buffer allocated to all the processing processes each time the reduction process is performed, and to execute all the processing processes each time the expansion process is performed. Processing must be complicated because buffers must be allocated to
Since the memory operation becomes complicated, there is a problem that it is difficult to obtain consistency.

【0012】また、上記自浄方法においては、均等縮小
・拡張方法と同様に、有限のバッファ領域を有効に活用
することができるものの、ある処理プロセスがバッファ
のアクセスを宣言した場合にその処理プロセスが要求す
る分のバッファを配分するため、ある処理プロセスのバ
ッファへのアクセス時間が長いと他の処理プロセスに配
分するためのバッファが不足し、他の処理プロセスの処
理が停止するという問題点があった。
In the self-cleaning method, as in the case of the uniform reduction / expansion method, a finite buffer area can be effectively used, but when a certain processing process declares access to a buffer, the processing process is not performed. In order to allocate the required buffers, if the access time to a buffer of a certain processing process is long, the buffer for allocating to another processing process becomes insufficient, and the processing of another processing process stops. Was.

【0013】さらに、上記自浄方法においては、処理プ
ロセスがバッファにアクセス中であるか否かに応じてバ
ッファを配分するか否かを決定するため、バッファから
マルチメディアデータをディスクに退避する回数が増大
し、マルチメディアデータをバッファリングするメリッ
トが減少するという問題点があった。
Further, in the self-cleaning method, the number of times the multimedia data is saved from the buffer to the disk is determined in order to determine whether or not to allocate the buffer according to whether or not the processing process is accessing the buffer. However, there is a problem in that the merits of buffering multimedia data decrease.

【0014】本発明は上記に鑑みてなされたものであっ
て、処理プロセスの増減等によってシステム全体の負荷
が変化した際に各処理プロセスに対して配分したバッフ
ァを動的に再配分する場合、特定の処理プロセスを対象
としてバッファの再配分処理を行うことにより、処理の
高速化・簡素化を図ることを第1の目的とする。
The present invention has been made in view of the above, and when dynamically reallocating buffers allocated to each processing process when the load of the entire system changes due to an increase or decrease in the number of processing processes, etc. It is a first object of the present invention to speed up and simplify processing by performing buffer reallocation processing for a specific processing process.

【0015】また、本発明は上記に鑑みてなされたもの
であって、特定の処理プロセスを対象としてバッファの
再配分処理を行うことにより、他の処理プロセスに影響
を与えることなく、バッファの再配分を行うことを可能
にすることを第2の目的とする。
Further, the present invention has been made in view of the above, and by performing buffer redistribution processing for a specific processing process, buffer reallocation is performed without affecting other processing processes. A second object is to make it possible to make an allocation.

【0016】さらに、本発明は上記に鑑みてなされたも
のであって、特定の処理プロセスを対象としてバッファ
の再配分処理を行うことにより、バッファからマルチメ
ディアデータをディスクに退避する回数を減少させ、バ
ッファリングするメリットを最大限活用できるようにす
ることを第3の目的とする。
Further, the present invention has been made in view of the above, and reduces the number of times multimedia data is saved from a buffer to a disk by performing a buffer reallocation process for a specific processing process. The third object is to maximize the advantage of buffering.

【0017】[0017]

【課題を解決するための手段】上記目的を達成するた
め、請求項1のバッファの動的管理方法は、システム全
体または特定の装置におけるマルチメディアデータの処
理のために使用するバッファ領域を一括管理し、かつ、
該バッファ領域を複数のブロックに分割して各時点で実
行している任意の数の処理プロセスにそれぞれ動的に割
り当てるバッファの動的管理方法において、未実行中の
処理プロセスからバッファブロックの割り当て要求があ
った際に、前記バッファ領域における未使用のバッファ
ブロック数が前記未実行中の処理プロセスで処理の実行
に最低限必要なバッファブロック数に満たない場合、実
行中の処理プロセスのいずれかに割り当てたバッファブ
ロック数を減少させることによって前記未実行中の処理
プロセスにバッファブロックを割り当て可能であるか否
かを判定する判定工程と、前記判定工程で割り当て可能
と判定した場合に、前記実行中の処理プロセスのいずれ
かに割り当てたバッファブロック数を減少させることに
よって、前記未実行中の処理プロセスに割り当てるバッ
ファブロックを確保するバッファ確保工程と、前記バッ
ファ確保工程で確保したバッファブロックを前記未実行
中の処理プロセスに割り当てるバッファ割当工程と、を
含むものである。
According to a first aspect of the present invention, there is provided a method for dynamically managing a buffer, which collectively manages a buffer area used for processing multimedia data in the entire system or a specific device. And
In the dynamic management method of a buffer, which divides the buffer area into a plurality of blocks and dynamically allocates the buffer area to each of an arbitrary number of processing processes executed at each time, a buffer block allocation request from an unexecuted processing process If the number of unused buffer blocks in the buffer area is less than the minimum number of buffer blocks required for executing the process in the unexecuted processing process, A determining step of determining whether a buffer block can be allocated to the unexecuted processing process by reducing the allocated number of buffer blocks; and By reducing the number of buffer blocks allocated to any of the A buffer securing process to ensure the buffer block to be allocated during the treatment process, it is intended to include, a buffer allocation process to allocate a buffer block to the processing process in the unexecuted secured in the buffer securing process.

【0018】また、請求項2のバッファの動的管理方法
は、請求項1に記載のバッファの動的管理方法におい
て、前記判定工程が、前記未実行中の処理プロセスおよ
び実行中の処理プロセスがそれぞれ処理を実行するため
に最低限必要なバッファブロック数の合計数と前記バッ
ファ領域の全バッファブロック数とを比較し、前記合計
数が前記全バッファブロック数を越えない場合に、前記
未実行中の処理プロセスにバッファブロックを割り当て
可能であると判定するものである。
According to a second aspect of the present invention, in the dynamic buffer management method according to the first aspect, the determining step includes the step of executing the unexecuted process and the step of executing the process. The total number of the minimum number of buffer blocks required to execute the respective processes is compared with the total number of buffer blocks in the buffer area, and if the total number does not exceed the total number of buffer blocks, the It is determined that a buffer block can be assigned to the processing process.

【0019】また、請求項3のバッファの動的管理方法
は、請求項1または2に記載のバッファの動的管理方法
において、さらに、前記バッファ割当工程を実行する前
に、バッファブロックを減少させる対象となる実行中の
処理プロセスを決定するための縮小順位情報を生成する
順位情報生成工程を含み、前記バッファ確保工程が、前
記順位情報生成工程で生成した縮小順位情報に基づい
て、バッファブロックを減少させる対象となる前記実行
中の処理プロセスを決定するものである。
In the dynamic buffer management method according to the third aspect of the present invention, in the dynamic buffer management method according to the first or second aspect, the number of buffer blocks is further reduced before executing the buffer allocation step. A rank information generating step of generating reduction rank information for determining a target processing process being executed, wherein the buffer securing step determines a buffer block based on the reduction rank information generated in the rank information generation step. It is to determine the running process to be reduced.

【0020】また、請求項4のバッファの動的管理方法
は、請求項3に記載のバッファの動的管理方法におい
て、前記順位情報生成工程が、前記実行中の処理プロセ
ス毎に、現在割り当てられているバッファブロック数お
よび処理を実行するために最低限必要なバッファブロッ
ク数に基づいて、前記未実行中の処理プロセスに割り当
て可能なバッファブロック数を求め、求めたバッファブ
ロック数に基づいて前記縮小順位を生成するものであ
る。
According to a fourth aspect of the present invention, in the buffer dynamic management method according to the third aspect, the order information generation step is currently assigned to each of the currently executed processing processes. The number of buffer blocks that can be allocated to the unexecuted processing process is determined based on the number of buffer blocks that are in use and the minimum number of buffer blocks required to execute the processing, and the reduction is performed based on the determined number of buffer blocks. This is for generating a ranking.

【0021】また、請求項5のバッファの動的管理方法
は、請求項4に記載のバッファの動的管理方法におい
て、前記処理プロセスは、前記バッファブロックの割り
当てに関する優先順位情報をそれぞれ有し、前記順位情
報生成工程が、前記優先順位情報および前記実行中の処
理プロセス毎に求めた前記未実行中の処理プロセスに割
り当て可能なバッファブロック数に基づいて、前記縮小
順位を生成するものである。
According to a fifth aspect of the present invention, in the dynamic buffer management method according to the fourth aspect, the processing process has priority information on the allocation of the buffer blocks, respectively. The order information generating step generates the reduction order based on the priority order information and the number of buffer blocks that can be allocated to the unexecuted processing process obtained for each of the currently executed processing processes.

【0022】また、請求項6のバッファの動的管理方法
は、請求項3〜5のいずれか一つに記載のバッファの動
的管理方法において、前記処理プロセスは、前記バッフ
ァブロックの割り当てを要求する際に、バッファブロッ
ク数が可変の動的割当モードおよびバッファブロック数
が固定の固定割当モードのいずれか一方を選択可能であ
り、前記順位情報生成工程が、前記縮小順位を生成する
際に、前記バッファブロックを減少させる対象となる実
行中の処理プロセスから前記固定割当モードを選択して
いる処理プロセスを除外するものである。
According to a sixth aspect of the present invention, in the buffer dynamic management method according to any one of the third to fifth aspects, the processing process requests allocation of the buffer block. When doing, one of the dynamic allocation mode in which the number of buffer blocks is variable and the fixed allocation mode in which the number of buffer blocks is fixed can be selected, and the order information generating step generates the reduced order, A process in which the fixed allocation mode is selected is excluded from the running processes for which the buffer blocks are to be reduced.

【0023】また、請求項7のバッファの動的管理方法
は、システム全体または特定の装置におけるマルチメデ
ィアデータの処理のために使用するバッファ領域を一括
管理し、かつ、該バッファ領域を複数のブロックに分割
して各時点で実行している任意の数の処理プロセスにそ
れぞれ動的に割り当てるバッファの動的管理方法におい
て、任意の処理プロセスからバッファブロックが解放さ
れた場合に、解放されたバッファを他の処理プロセスの
いずれかに割り当てるバッファ割当工程を含むものであ
る。
According to a seventh aspect of the present invention, there is provided a dynamic buffer management method, wherein a buffer area used for processing multimedia data in the entire system or a specific device is collectively managed, and the buffer area is stored in a plurality of blocks. In the dynamic management method of buffers that are dynamically allocated to any number of processing processes that are divided at each time and executed at each point in time, when a buffer block is released from any processing process, the released buffer is It includes a buffer allocating step for allocating to any of the other processing processes.

【0024】また、請求項8のバッファの動的管理方法
は、請求項7に記載のバッファの動的管理方法におい
て、さらに、前記バッファ割当工程を実行する前に、解
放されたバッファブロックの割り当て対象となる処理プ
ロセスを決定するための割当順位情報を生成する順位情
報生成工程を含み、前記バッファ割当工程が、前記順位
情報生成工程で生成した割当順位情報に基づいて、前記
解放されたバッファブロックの割り当て対象となる処理
プロセスを決定するものである。
The buffer dynamic management method according to claim 8 is the dynamic buffer management method according to claim 7, further comprising: allocating a released buffer block before executing the buffer allocation step. A rank information generating step for generating allocation rank information for determining a target processing process, wherein the buffer allocating step is based on the allocation rank information generated in the rank information generating step, and the released buffer block Is to determine a processing process to be allocated.

【0025】また、請求項9のバッファの動的管理方法
は、請求項8に記載のバッファの動的管理方法におい
て、前記順位情報生成工程が、各処理プロセス毎に、現
在割り当てられているバッファブロック数および処理を
実行する際に要求したバッファブロック数に基づいて、
前記要求したバッファブロック数に対して不足している
不足分のバッファブロック数を求め、求めた不足分のバ
ッファブロック数に基づいて前記割当順位を生成するも
のである。
According to a ninth aspect of the present invention, in the buffer dynamic management method according to the eighth aspect, the order information generating step includes the step of: Based on the number of blocks and the number of buffer blocks requested when performing the process,
The number of deficient buffer blocks with respect to the requested number of buffer blocks is obtained, and the allocation order is generated based on the obtained number of deficient buffer blocks.

【0026】また、請求項10のバッファの動的管理方
法は、請求項9に記載のバッファの動的管理方法におい
て、前記処理プロセスは、前記バッファブロックの割り
当て順位に関する優先順位情報をそれぞれ有し、前記順
位情報生成工程が、前記優先順位情報および前記各処理
プロセス毎に求めた不足分のバッファブロック数に基づ
いて、前記割当順位を生成するものである。
According to a tenth aspect of the present invention, there is provided the dynamic buffer management method according to the ninth aspect, wherein the processing process has priority information on the allocation order of the buffer blocks. The order information generating step generates the allocation order based on the priority order information and the number of insufficient buffer blocks obtained for each of the processing processes.

【0027】また、請求項11のバッファの動的管理方
法は、請求項8〜10のいずれか一つに記載のバッファ
の動的管理方法において、前記処理プロセスは、前記バ
ッファブロックの割り当てを要求する際に、バッファブ
ロック数が可変の動的割当モードおよびバッファブロッ
ク数が固定の固定割当モードのいずれか一方を選択可能
であり、前記順位情報生成工程が、前記割当順位を生成
する際に、前記解放されたバッファブロックの割り当て
対象となる処理プロセスから前記固定割当モードを選択
している処理プロセスを除外するものである。
The buffer dynamic management method according to claim 11 is the dynamic buffer management method according to any one of claims 8 to 10, wherein the processing process requests allocation of the buffer block. In doing, it is possible to select any one of the dynamic allocation mode in which the number of buffer blocks is variable and the fixed allocation mode in which the number of buffer blocks is fixed, and the order information generating step, when generating the allocation order, The process in which the fixed allocation mode is selected is excluded from the process to be allocated to the released buffer block.

【0028】さらに、請求項12のコンピュータ読み取
り可能な記録媒体は、前記請求項1〜11のいずれか一
つに記載のバッファの動的管理方法の各工程をコンピュ
ータに実行させるためのプログラムを記録したものであ
る。
A computer-readable recording medium according to a twelfth aspect of the present invention records a program for causing a computer to execute each step of the dynamic buffer management method according to any one of the first to eleventh aspects. It was done.

【0029】[0029]

【発明の実施の形態】以下、本発明に係るバッファの動
的管理方法およびその方法の各工程をコンピュータに実
行させるためのプログラムを記録したコンピュータ読み
取り可能な記録媒体の一実施の形態について、添付の図
面を参照しつつ詳細に説明する。なお、ここでは図17
に示したMODシステムに本発明に係るバッファの動的
管理方法を適用することを例に取って本発明の実施の形
態を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a dynamic buffer management method according to the present invention and a computer-readable recording medium storing a program for causing a computer to execute each step of the method will be described below. This will be described in detail with reference to the drawings. Here, FIG.
An embodiment of the present invention will be described by taking an example in which the dynamic buffer management method according to the present invention is applied to the MOD system shown in FIG.

【0030】図1は、本実施の形態に係るバッファの動
的管理方法による処理の概念を説明するためのブロック
図であって、図17に示したサーバ装置100内におけ
る処理の概念を示すものである。図1において、バッフ
ァ管理マネージャ103は、メモリ管理マネージャ10
4を介してシステム全体または特定の装置におけるマル
チメディアデータの処理のために使用するバッファ領域
をメモリ105中に確保して一括管理し、かつ、該バッ
ファ領域を複数のブロック(バッファブロック)に分割
して各時点で実行している任意の数の処理プロセス(問
い合わせ処理プロセスや更新処理プロセス等)にそれぞ
れ動的に割り当てる処理を実行する。各処理プロセス
は、バッファ管理マネージャ103によって割り当てら
れたバッファ領域を用いてマルチメディアデータのバッ
ファリングを行う。
FIG. 1 is a block diagram for explaining the concept of processing by the dynamic buffer management method according to the present embodiment, and shows the concept of processing in the server device 100 shown in FIG. It is. In FIG. 1, the buffer management manager 103 includes a memory management manager 10
4, a buffer area used for processing multimedia data in the entire system or a specific device is secured in the memory 105 and collectively managed, and the buffer area is divided into a plurality of blocks (buffer blocks). Then, a process of dynamically allocating to an arbitrary number of processing processes (inquiry processing process, update processing process, etc.) being executed at each time point is executed. Each processing process buffers multimedia data using the buffer area allocated by the buffer management manager 103.

【0031】また、バッファ管理マネージャ103は、
システム全体で同時に実行される処理プロセスの負荷を
勘案し、各処理プロセスによる処理が高速に行われ、シ
ステムの並行動作性(スループット)が最も高くなるよ
うに各処理プロセスにそれぞれ割り当てるバッファブロ
ック数を決定する。それぞれの処理プロセスに割り当て
られたバッファブロック数分のバッファは、それが解放
されるまで各処理プロセスによって独占的に使用され
る。
Further, the buffer management manager 103
Considering the load of processing processes that are executed simultaneously in the entire system, the number of buffer blocks allocated to each processing process is determined so that processing by each processing process is performed at high speed and the parallel operation (throughput) of the system is maximized. decide. The buffers for the number of buffer blocks allocated to each processing process are exclusively used by each processing process until the buffers are released.

【0032】そして、処理プロセスの増減等によってシ
ステム全体の負荷が変化した場合には、バッファ管理マ
ネージャが各処理プロセスに割り当てたバッファを動的
に再配分し、各処理プロセスに対して常時最適なバッフ
ァの割り当て処理を行う。
When the load on the entire system changes due to an increase or decrease in the number of processing processes, the buffer management manager dynamically redistributes the buffers allocated to the respective processing processes, and always optimizes the buffers for the respective processing processes. Performs buffer allocation processing.

【0033】なお、実際のバッファリングの処理は、マ
ルチメディア用バッファリングモジュール106(以下
「モジュール106」と記述する)によって行われる。
使用できるモジュール106は、音声・静止画像・動画
像のような処理の対象となるデータの種類によって選択
される。
The actual buffering process is performed by a multimedia buffering module 106 (hereinafter referred to as "module 106").
The modules 106 that can be used are selected according to the type of data to be processed, such as audio, still images, and moving images.

【0034】つぎに、本実施の形態に係るバッファの動
的管理方法について、 (1)処理の概略 (2)バッファの動的管理方法で使用される情報 (3)バッファ管理マネージャの基本処理 (4)モジュールの基本処理 (5)バッファの動的管理方法を用いた具体的処理 (6)実施の形態の効果 の順で説明する。
Next, the dynamic buffer management method according to the present embodiment will be described. (1) Outline of processing (2) Information used in dynamic buffer management method (3) Basic processing of buffer management manager ( 4) Basic processing of module (5) Specific processing using dynamic buffer management method (6) Effects of the embodiment will be described in this order.

【0035】(1)処理の概略 本実施の形態に係るバッファの動的管理方法において
は、大きく分けて以下の2つの処理が行われる。第1の
処理(後述するバッファ再配分処理1に該当)は、ある
モジュール106による処理プロセスを実行するための
バッファを確保できない場合に、他の特定のモジュール
106の処理プロセスに対して割り当てたバッファから
最低限処理を実行することができる分のバッファを確保
するというものである。また、第2の処理(後述するバ
ッファ再配分処理2に該当)は、あるモジュール106
からバッファブロックが解放された場合に、その解放さ
れたバッファブロックを他の特定のモジュール106の
処理プロセスに割り当てて、そのモジュール106の処
理プロセスに既に割り当てられていたバッファを拡張す
るというものである。
(1) Outline of Processing In the buffer dynamic management method according to the present embodiment, the following two processings are roughly divided. The first process (corresponding to a buffer redistribution process 1 to be described later) is a process in which, when a buffer for executing a process by a certain module 106 cannot be secured, a buffer allocated to a process of another specific module 106 To secure a buffer that can execute the processing at least. The second processing (corresponding to the buffer redistribution processing 2 described later) is performed by a certain module 106.
When the buffer block is released from the module, the released buffer block is allocated to the processing process of another specific module 106, and the buffer already allocated to the processing process of the module 106 is expanded. .

【0036】上記第1および第2の処理は、共にバッフ
ァの再配分を行う対象となるモジュール106の処理プ
ロセスがシステム内で実行中の全てのモジュール106
による処理プロセスではなく、特定のモジュール106
の処理プロセスである点を特徴としている。また、各モ
ジュール106の処理プロセスに配分したバッファは、
各処理プロセスによって独占的に使用され、他の処理プ
ロセスとの間で何ら関係を持たない点を更なる特徴とし
ている。
In the first and second processes, the processing of the module 106 for which the buffer is to be redistributed is executed by all the modules 106 being executed in the system.
A specific module 106
It is characterized in that it is a processing process. The buffers allocated to the processing processes of each module 106 include:
A further feature is that it is used exclusively by each processing process and has no relationship with other processing processes.

【0037】(2)バッファの動的管理方法で使用され
る情報 続いて、本実施の形態に係るバッファの動的管理方法に
おいて使用される情報について定義しておくことにす
る。
(2) Information Used in the Dynamic Buffer Management Method Subsequently, information used in the dynamic buffer management method according to the present embodiment will be defined.

【0038】 バッファ管理マネージャ103が管理
する情報 a)総バッファブロック数:totalSize メモリ105に確保されたバッファ領域中の全てのバッ
ファブロック数である。
Information managed by the buffer management manager 103 a) Total number of buffer blocks: totalSize This is the total number of buffer blocks in the buffer area secured in the memory 105.

【0039】b)現在使用バッファブロック数:curren
tTotalSize 総バッファブロック数のうち、現在使用されているバッ
ファブロックの数である。
B) Number of buffer blocks currently used: curren
tTotalSize This is the number of buffer blocks currently used out of the total number of buffer blocks.

【0040】c)未使用バッファブロック数合計:rest
TotalSize 現在使用されていないバッファブロック数の合計値であ
る。
C) Total number of unused buffer blocks: rest
TotalSize This is the total number of buffer blocks that are not currently used.

【0041】d)要求バッファブロック数合計:reques
tTotalSize 各モジュール106が処理プロセスのために利用する最
大のバッファブロック数の合計値である。
D) Total number of request buffer blocks: reques
tTotalSize This is the total value of the maximum number of buffer blocks used by each module 106 for the processing process.

【0042】e)最小可動バッファブロック数合計:mi
nimumTotalSize 各モジュール106が処理プロセスのために最低限必要
とするバッファブロック数の合計値である。
E) Minimum total number of movable buffer blocks: mi
nimumTotalSize This is the total value of the minimum number of buffer blocks required by each module 106 for the processing process.

【0043】 モジュール106を管理する情報 a)要求バッファブロック数:requestSize モジュール106が処理プロセスの実行のために利用す
る最大のバッファブロック数である。モジュール106
が処理プロセスを実行する際に、バッファ管理マネージ
ャ103に対して最初に要求するバッファブロック数で
ある。バッファ領域に空きがある限り、各モジュールの
処理プロセスにはこの要求バッファブロック数分のバッ
ファが配分される。
Information for Managing Module 106 a) Number of Requested Buffer Blocks: requestSize This is the maximum number of buffer blocks used by the module 106 for executing the processing process. Module 106
Is the number of buffer blocks initially requested to the buffer management manager 103 when executing the processing process. As long as there is free space in the buffer area, buffers for the number of requested buffer blocks are allocated to the processing processes of each module.

【0044】b)最小可動バッファブロック数:minimu
mSize モジュール106が処理プロセスのために最低限必要と
するバッファブロック数である。つまり、各モジュール
106の処理プロセスに対して必ず配分しなければなら
ないバッファブロック数である。
B) Minimum number of movable buffer blocks: minimu
mSize is the minimum number of buffer blocks required by the module 106 for the processing process. That is, this is the number of buffer blocks that must be allocated to the processing of each module 106 without fail.

【0045】c)バッファモード:mode 配分されたバッファブロック数を可変にする(動的割り
当てを可能にする)可変モードと、バッファブロック数
が変化しない(動的割り当てを不可能にする)固定数の
バッファブロックが配分されるようにする固定モードと
がある。固定モードを選択したモジュール106の処理
プロセスは、後述するバッファの再配分処理1および2
の対象から除外される。
C) Buffer mode: mode A variable mode in which the number of allocated buffer blocks is variable (allows dynamic allocation), and a fixed number in which the number of buffer blocks does not change (dynamic allocation is disabled) There is a fixed mode in which the buffer blocks are allocated. The processing process of the module 106 in which the fixed mode is selected includes buffer reallocation processes 1 and 2 described later.
Will be excluded from the target.

【0046】d)バッファ優先度:priority バッファが再配分される対象となるモジュール106の
処理プロセスの順位を決定するためのパラメータとなる
ものである。後述するバッファの再配分処理1および2
において、縮小対象優先度および拡張対象優先度を決定
する際に利用される。
D) Buffer priority: priority This parameter serves as a parameter for determining the order of processing of the module 106 to which the buffer is to be redistributed. Buffer redistribution processing 1 and 2 described later
Is used when determining the reduction target priority and the expansion target priority.

【0047】e)配分バッファブロック数:distribute
Size モジュール106の処理プロセスに対して実際に配分さ
れるバッファブロック数である。
E) Number of distribution buffer blocks: distribute
Size The number of buffer blocks actually allocated to the processing of the module 106.

【0048】f)現在のバッファブロック数:currentS
ize モジュール106の処理プロセスに対して現在配分され
ているバッファブロック数である。
F) Current number of buffer blocks: currentS
ize is the number of buffer blocks currently allocated to the processing of the module 106.

【0049】g)配分可能バッファブロック数:potent
ialSize 各モジュール106の処理プロセスに対して現在配分さ
れているバッファブロック数のうち、最小稼働バッファ
ブロック数を除く、他のモジュール106の処理プロセ
スに対して配分可能なバッファブロック数である。後述
するバッファ再配分処理1で利用される。
G) Number of buffer blocks that can be allocated: potential
ialSize The number of buffer blocks that can be allocated to the processing processes of the other modules 106, excluding the minimum number of operating buffer blocks, out of the number of buffer blocks currently allocated to the processing processes of each module 106. It is used in a buffer redistribution process 1 described later.

【0050】h)不足バッファブロック数:insufficie
ntSize 要求バッファブロック数から最小稼働バッファブロック
数を除いたバッファブロック数であり、要求バッファブ
ロック数を満たすまでにどのくらいの数のバッファブロ
ックが必要かを示すものである。後述するバッファ再配
分処理2で利用される。
H) Insufficient buffer block count: insufficie
ntSize This is the number of buffer blocks obtained by subtracting the minimum number of operating buffer blocks from the number of required buffer blocks, and indicates how many buffer blocks are required to satisfy the required number of buffer blocks. It is used in a buffer redistribution process 2 described later.

【0051】i)縮小対象優先度:reducePriority 後述するバッファ再配分処理1において、いずれのモジ
ュール106の処理プロセスから配分可能バッファブロ
ック数分のバッファの全てまたは一部を他のモジュール
106の処理プロセスに配分するかを決定するための情
報である。この縮小対象優先度に基づいて各モジュール
106の処理プロセスに対して順位が付与され、第1順
位のモジュール106の処理プロセスに対して配分され
ているバッファを他のモジュール106の処理プロセス
に対して配分する。なお、本実施の形態の説明において
「縮小」という場合には、モジュール106が配分可能
バッファブロック数分のバッファの全てまたは一部を他
のモジュール106の処理プロセスのために解放するこ
とを意味している。換言すれば、そのモジュール106
の処理プロセスが占有するバッファ領域が縮小されるこ
とを意味している。
I) Reduction priority: reducePriority In the buffer redistribution processing 1 to be described later, all or a part of the buffers of the number of allocatable buffer blocks from the processing process of any module 106 is transferred to the processing process of another module 106. This is information for determining whether to allocate. A priority is given to the processing process of each module 106 based on the reduction target priority, and the buffer allocated to the processing process of the first-rank module 106 is allocated to the processing process of another module 106. Distribute. In the description of the present embodiment, “reduction” means that the module 106 releases all or a part of the buffers for the number of distributable buffer blocks for the processing process of another module 106. ing. In other words, the module 106
Means that the buffer area occupied by the processing process is reduced.

【0052】j)拡張対象優先度:expandPriority 後述するバッファ再配分処理2において、いずれのモジ
ュール106の処理プロセスに対して、他のモジュール
106の処理プロセスによって解放されたバッファを配
分するかを決定するための情報である。この拡張対象優
先度に基づいて各モジュール106の処理プロセスに対
して順位が付与され、第1順位のモジュール106の処
理プロセスに対して、他で解放されたバッファを配分す
る。なお、本実施の形態の説明において「拡張」という
場合には、モジュール106が不足バッファブロック数
分のバッファの全てまたは一部を確保することを意味す
る。換言すれば、そのモジュール106の処理プロセス
が占有するバッファ領域が拡張されることを意味してい
る。
J) Expansion target priority: expandPriority In a buffer redistribution process 2 to be described later, it is determined to which of the processing processes of the module 106 the buffer released by the processing process of the other module 106 is to be distributed. Information. A priority is given to the processing process of each module 106 based on the priority of the expansion target, and the buffers released elsewhere are distributed to the processing process of the module 106 having the first priority. In the description of the present embodiment, “expansion” means that the module 106 secures all or a part of buffers for the number of insufficient buffer blocks. In other words, it means that the buffer area occupied by the processing process of the module 106 is expanded.

【0053】k)縮小処理関数:reduceFunction() モジュール106が配分可能バッファブロック数分のバ
ッファの全てまたは一部を解放するために用いる関数で
ある。後述するバッファ再配分処理1で利用される。
K) Reduction processing function: reduceFunction () This function is used by the module 106 to release all or a part of the buffers corresponding to the number of distributable buffer blocks. It is used in a buffer redistribution process 1 described later.

【0054】l)拡張処理関数:expandFunction() モジュール106が不足バッファブロック数分のバッフ
ァブロックを確保するために用いる関数である。後述す
るバッファ再配分処理2で利用される。
L) Expansion processing function: expandFunction () This function is used by the module 106 to secure buffer blocks for the number of insufficient buffer blocks. It is used in a buffer redistribution process 2 described later.

【0055】なお、ここで、要求バッファブロック数お
よび最小稼働バッファブロック数について、図2に示す
静止画像データに基づいて説明を追加することにする。
Here, the number of required buffer blocks and the minimum number of operating buffer blocks will be further described based on the still image data shown in FIG.

【0056】図2は、例えば地図等の静止画像データを
示すものである。図2において、A〜Iで示す矩形領域
は、図17に示したクライアント装置101で表示可能
な1画面分のデータを意味している。最小稼働バッファ
ブロック数は、これら矩形領域A〜Iのいずれか一つ分
のデータを取り込むことができるバッファの容量に該当
する。したがって、各モジュール106の処理プロセス
に対し、この最小稼働バッファブロック数に該当するバ
ッファが必ず配分されることになる。
FIG. 2 shows still image data such as a map. In FIG. 2, rectangular areas indicated by A to I mean data for one screen that can be displayed by the client apparatus 101 shown in FIG. The minimum operation buffer block number corresponds to the capacity of a buffer that can take in data for any one of these rectangular areas A to I. Therefore, a buffer corresponding to the minimum number of operation buffer blocks is always allocated to the processing process of each module 106.

【0057】要求バッファブロック数は、図2に示す静
止画像データの全て、即ち矩形領域A〜Iの全てを取り
込むことができるバッファの容量に該当する。この要求
バッファブロック数分のバッファを確保できた場合は、
サーバ装置100においてディスクアクセスがなく、ク
ライアント装置101において上下左右のスクロールを
スムーズに行うことができる。
The number of requested buffer blocks corresponds to the capacity of a buffer capable of taking in all of the still image data shown in FIG. 2, that is, all of the rectangular areas A to I. If the required number of buffer blocks has been secured,
There is no disk access in the server device 100, and the client device 101 can smoothly scroll up, down, left, and right.

【0058】(3)バッファ管理マネージャの基本処理 バッファ管理マネージャ103は、基本的に以下に挙げ
た処理を行う。なお、各処理には簡単な説明を付加して
おくが、具体的な処理については後述する。
(3) Basic Processing of Buffer Management Manager The buffer management manager 103 basically performs the following processing. Although a brief description will be added to each process, a specific process will be described later.

【0059】a)総バッファの確保 メモリ管理マネージャ104に、動的に総バッファ数分
アロケートした領域を渡す。 b)モジュール106からの登録依頼に対する処理 後述するバッファ配分処理に従って、登録依頼のあった
モジュール106の処理プロセスに対してバッファを配
分する。 c)モジュール106のバッファアクセス開始宣言に対
する処理 バッファアクセス開始宣言を行ったモジュール106の
処理プロセスを、後述するバッファ再配分処理1および
バッファ再配分処理2の対象から除外する。 d)モジュール106のバッファアクセス終了宣言に対
する処理 バッファアクセス終了宣言を行ったモジュール106の
処理プロセスを、後述するバッファ再配分処理1および
バッファ再配分処理2の対象に加える。 e)モジュール106からのバッファ解放依頼に対する
処理 バッファの解放と空きバッファの再配分処理を行う。 f)総バッファの解放 メモリ管理マネージャ104を介してメモリ105中に
確保した総バッファを解放する。
A) Allocating Total Buffers The memory management manager 104 is given a dynamically allocated area for the total number of buffers. b) Processing for Registration Request from Module 106 According to the buffer allocation processing described later, buffers are allocated to the processing processes of the module 106 that has requested registration. c) Processing for Buffer Access Start Declaration of Module 106 The processing process of module 106 that has issued the buffer access start declaration is excluded from the targets of buffer redistribution processing 1 and buffer redistribution processing 2 to be described later. d) Processing for Buffer Access End Declaration of Module 106 The processing process of module 106 that has issued the buffer access end declaration is added to the buffer redistribution processing 1 and buffer redistribution processing 2 to be described later. e) Processing for buffer release request from module 106 Releases buffers and redistributes empty buffers. f) Release of the total buffer Release the total buffer secured in the memory 105 via the memory management manager 104.

【0060】(4)モジュールの基本処理 各モジュール106は、基本的に以下に挙げた処理を行
う。なお、各処理について必要なものについては簡単な
説明を付加しておくが、具体的な処理については後述す
る。
(4) Basic Processing of Modules Each module 106 basically performs the following processing. In addition, a brief description will be added to what is necessary for each process, but specific processes will be described later.

【0061】a)各種パラメータの決定・準備 要求バッファブロック数,最小稼働バッファブロック
数,バッファモード,バッファ優先度を決定すると共
に、縮小処理関数および拡張処理関数を準備する。 b)バッファ構築情報の生成 c)バッファ管理マネージャ103への登録 決定したパラメータやバッファ構築情報に基づいて、バ
ッファブロックの配分を受けるための処理を行う。 d)バッファ管理マネージャ103へのバッファブロッ
ク数の変更依頼 要求バッファブロック数や最小稼働バッファブロック数
等の変更をバッファ管理マネージャ103に対して依頼
する。 e)バッファのアクセス宣言 f)現在のバッファブロック数を取得 g)バッファへの実際のアクセス h)バッファのアクセス終了宣言 i)バッファ管理マネージャ103からの縮小要求に対
する処理 縮小処理関数(reduceFunction())を用いて、配分可能バ
ッファブロック数分のバッファの全てまたは一部を解放
する。 j)バッファ管理マネージャ106からの拡張要求に対
する処理 拡張処理関数(expandFunction())を用いて、不足バッフ
ァブロック数分のバッファの全てまたは一部を確保す
る。 k)バッファ管理マネージャへの登録削除 配分されたバッファが解放される。
A) Determination and preparation of various parameters The number of required buffer blocks, the minimum number of operating buffer blocks, the buffer mode, and the buffer priority are determined, and a reduction processing function and an expansion processing function are prepared. b) Generation of buffer construction information c) Registration with the buffer management manager 103 Based on the determined parameters and buffer construction information, a process for receiving the distribution of buffer blocks is performed. d) Request to change the number of buffer blocks to the buffer management manager 103 The buffer management manager 103 is requested to change the requested number of buffer blocks and the minimum number of operating buffer blocks. e) Declaration of access to buffer f) Acquisition of current number of buffer blocks g) Actual access to buffer h) Declaration of end of access to buffer i) Processing for reduction request from buffer management manager 103 Reduction processing function (reduceFunction ()) Is used to release all or a part of the buffers for the number of distributable buffer blocks. j) Processing for an expansion request from the buffer management manager 106 All or a part of buffers for the number of insufficient buffer blocks is secured using an expansion processing function (expandFunction ()). k) Deregistering with the buffer management manager The allocated buffer is released.

【0062】(5)バッファの動的管理方法を用いた具
体的処理 つぎに、本実施の形態に係るバッファの動的管理方法を
用いた具体的な処理について、 バッファ配分処理 バッファ解放検知処理 バッファ再配分処理1 バッファ再配分処理2 の順で、「(2)バッファの動的管理方法で使用される
情報」で定義した各情報を用いて詳細に説明する。
(5) Specific Processing Using Dynamic Buffer Management Method Next, specific processing using the dynamic buffer management method according to the present embodiment will be described. The redistribution processing 1 and the buffer redistribution processing 2 will be described in detail in the order using the information defined in “(2) Information used in dynamic management method of buffer”.

【0063】 バッファ配分処理 本実施の形態に係るバッファの動的管理方法の具体的な
処理として、最初にモジュール106の処理プロセスに
バッファを配分する処理について説明する。なお、バッ
ファ管理マネージャ103は、メモリ105中に既に各
モジュール106の処理プロセスに対して配分するため
のバッファ領域を確保しているものとする。
Buffer Allocation Process As a specific process of the buffer dynamic management method according to the present embodiment, a process of first allocating a buffer to the processing process of the module 106 will be described. It is assumed that the buffer management manager 103 has already secured a buffer area in the memory 105 for distribution to the processing process of each module 106.

【0064】図3は、バッファ配分処理の手順を示すフ
ローチャートである。バッファ管理マネージャ103
は、モジュール106からバッファの配分要求があった
か否かを判定する(S301)。モジュール106は、
バッファの配分を要求する際に、上述した要求バッファ
ブロック数や最小稼働バッファブロック数に関する情報
をバッファ管理マネージャ103に渡す。
FIG. 3 is a flowchart showing the procedure of the buffer allocation process. Buffer management manager 103
Determines whether there is a buffer allocation request from the module 106 (S301). Module 106
At the time of requesting the allocation of the buffer, the information on the number of requested buffer blocks and the minimum number of operating buffer blocks is passed to the buffer management manager 103.

【0065】ステップS301においてモジュール10
6からバッファ配分要求があったと判定した場合、バッ
ファ管理マネージャ103は、要求バッファブロック数
分のバッファを該当するモジュール106の処理プロセ
スに対して配分可能か否かを判定する(S302)。具
体的に、バッファ管理マネージャ103は、現在使用バ
ッファブロック数合計と要求バッファブロック数との和
が、総バッファブロック数以下であるか否かを判定す
る。
In step S301, the module 10
When it is determined that a buffer allocation request has been issued from the buffer module 6, the buffer management manager 103 determines whether or not buffers corresponding to the number of requested buffer blocks can be allocated to the processing processes of the corresponding module 106 (S302). Specifically, the buffer management manager 103 determines whether the sum of the currently used buffer block total and the requested buffer block number is equal to or smaller than the total buffer block number.

【0066】すなわち、 currentTotalSize + requestSize≦ totalSize のとき、バッファ管理マネージャ103は、要求バッフ
ァブロック数分のバッファを該当するモジュール106
の処理プロセスに対して配分可能であると判定する。
That is, when currentTotalSize + requestSize ≦ totalSize, the buffer management manager 103 allocates buffers for the number of request buffer blocks to the corresponding module 106.
It is determined that distribution is possible for the processing process.

【0067】ステップS302において、要求バッファ
ブロック数分のバッファを配分可能であると判定した場
合、バッファ管理マネージャ103は、要求バッファブ
ロック数分のバッファを該当するモジュール106の処
理プロセスに対して配分し(S306)、ステップS3
01の処理に戻る。すなわち、ここで該当するモジュー
ル106に配分されるバッファブロック数は、 distributeSize = requestSize である。
If it is determined in step S302 that buffers for the number of request buffer blocks can be allocated, the buffer management manager 103 allocates buffers for the number of request buffer blocks to the processing processes of the corresponding module 106. (S306), Step S3
It returns to the process of 01. That is, the number of buffer blocks distributed to the corresponding module 106 here is distributeSize = requestSize.

【0068】一方、ステップS302において要求バッ
ファブロック数分のバッファを配分可能ではないと判定
した場合、バッファ管理マネージャ103は、未使用の
バッファに該当するバッファブロック数からモジュール
106の処理プロセスで処理の実行に最低限必要なバッ
ファブロック数を配分可能か否かを判定する(S30
3)。
On the other hand, if it is determined in step S302 that the number of buffers corresponding to the number of requested buffer blocks cannot be allocated, the buffer management manager 103 performs processing in the processing process of the module 106 based on the number of buffer blocks corresponding to unused buffers. It is determined whether the minimum number of buffer blocks required for execution can be distributed (S30).
3).

【0069】すなわち、バッファ管理マネージャ103
は、 (currentTotalSize + requestSize> totalSize) ∧ (currentTotalSize + minimumSize≦ totalSize) のとき、モジュール106の処理プロセスで処理の実行
に最低限必要なバッファブロック数を配分可能であると
判定する。
That is, the buffer management manager 103
When (currentTotalSize + requestSize> totalSize) ∧ (currentTotalSize + minimumSize ≦ totalSize), it is determined that the minimum number of buffer blocks required for the execution of the processing in the processing process of the module 106 can be distributed.

【0070】ステップS303においてモジュール10
6の処理プロセスの実行に最低限必要なバッファブロッ
ク数分のバッファを配分可能であると判定した場合、バ
ッファ管理マネージャ103は、該当するモジュール1
06の処理プロセスに対し、確保可能な未使用のバッフ
ァブロック数分のバッファを配分し(S307)、ステ
ップS301の処理に戻る。ここでモジュール106の
処理プロセスに対して配分されるバッファブロック数
は、 distributeSize = totalSize - currentTotalSize となる。
In step S303, the module 10
When the buffer management manager 103 determines that the buffers corresponding to the minimum number of buffer blocks necessary for executing the processing process of No. 6 can be allocated, the
Buffers corresponding to the number of unused buffer blocks that can be secured are allocated to the processing process 06 (S307), and the process returns to step S301. Here, the number of buffer blocks distributed to the processing process of the module 106 is as follows: distributeSize = totalSize−currentTotalSize.

【0071】一方、ステップS303においてモジュー
ル106の処理プロセスの実行に最低限必要なバッファ
ブロック数分のバッファを配分可能ではないと判定した
場合、バッファ管理マネージャ103は、縮小要求によ
り、該当するモジュール106の処理プロセスに対して
最低限必要なバッファブロック数分のバッファを配分で
きるか否かを判定する(S304)。ここで、縮小要求
とは、他の特定のモジュール106に対して、配分可能
バッファブロック数分のバッファの全てまたは一部をバ
ッファの配分を要求しているモジュール106の処理プ
ロセスのために解放することを要求することである。
On the other hand, if it is determined in step S303 that the buffers corresponding to the minimum number of buffer blocks necessary for executing the processing process of the module 106 cannot be allocated, the buffer management It is determined whether or not buffers of the minimum required number of buffer blocks can be allocated to the processing process (S304). Here, the reduction request is to release all or a part of the buffers of the number of allocatable buffer blocks to another specific module 106 for the processing process of the module 106 requesting the allocation of the buffer. It is to demand that.

【0072】ここで、バッファ管理マネージャは、 (currentTotalSize + minimumSize> totalSize) ∧ (minimumTotalSize + minimumSize≦ totalSize) であると判定した場合に、縮小要求により、該当するモ
ジュール106の処理プロセスに対して最低限必要なバ
ッファブロック数分のバッファを配分できると判定す
る。
Here, when the buffer management manager determines that (currentTotalSize + minimumSize> totalSize) ∧ (minimumTotalSize + minimumSize ≦ totalSize), the buffer management manager issues a reduction request to the processing process of the corresponding module 106 at least. It is determined that buffers for the required number of buffer blocks can be allocated.

【0073】ステップS304において縮小要求により
該当するモジュール106の処理プロセスに対して最低
限必要なバッファブロック数分のバッファを配分できる
と判定した場合、バッファ管理マネージャ103は、バ
ッファ再配分処理1を実行して、該当するモジュール1
06の処理プロセスに対して最低限必要なバッファブロ
ック数分のバッファを配分する(S308)。ここでモ
ジュール106の処理プロセスに対して配分されるバッ
ファブロック数は、 distributeSize = minimumSize となる。
If it is determined in step S304 that a buffer corresponding to the minimum required number of buffer blocks can be allocated to the processing process of the corresponding module 106 by the reduction request, the buffer management manager 103 executes the buffer redistribution processing 1. And the corresponding module 1
Buffers for the minimum required number of buffer blocks are allocated to the process 06 (S308). Here, the number of buffer blocks distributed to the processing process of the module 106 is as follows: distributeSize = minimumSize.

【0074】なお、ステップS308のバッファの再配
分処理1については、後に図を用いて詳細に説明する。
The buffer redistribution process 1 in step S308 will be described later in detail with reference to the drawings.

【0075】一方、ステップS304において縮小要求
によっても該当するモジュール106の処理プロセスに
対して最低限必要なバッファブロック数分のバッファを
配分できないと判定した場合、バッファ管理マネージャ
103は、該当するモジュール106に対してバッファ
配分拒否処理を実行し(S305)、ステップS301
の処理に戻る。
On the other hand, if it is determined in step S304 that the buffer of the minimum required number of buffer blocks cannot be allocated to the processing process of the corresponding module 106 even by the reduction request, the buffer management manager 103 , A buffer allocation rejection process is executed (S305), and step S301 is performed.
Return to the processing of.

【0076】ここで、縮小要求により該当するモジュー
ル106の処理プロセスに対して最低限必要なバッファ
ブロック数分のバッファを配分できない場合は、バッフ
ァの配分を要求してきたモジュール106の処理プロセ
スを含む、全てのモジュール106の処理プロセスの実
行に必要な最小稼働バッファブロック数の合計値が総バ
ッファブロック数より大きくなってしまうようなときに
発生する。これは、現在実行中の各モジュール106の
処理プロセスの全てが処理に最小限必要なバッファのみ
で処理を行っている状態であることを意味している。し
たがって、この状態でいずれかのモジュール106の処
理プロセスからバッファを要求しているモジュール10
6の処理プロセスに対してバッファを配分することにす
ると、そのモジュール106の処理プロセスを実行する
ことができない状態となってしまう。
Here, if the minimum required number of buffers cannot be allocated to the processing process of the corresponding module 106 due to the reduction request, the processing process of the module 106 requesting the allocation of the buffer is included. This occurs when the total value of the minimum number of operation buffer blocks necessary for executing the processing processes of all modules 106 becomes larger than the total number of buffer blocks. This means that all of the processing processes of each module 106 currently being executed are processing with only the buffers necessary for the minimum processing. Therefore, in this state, the module 10 requesting the buffer from the processing process of one of the modules 106
If the buffer is allocated to the processing process of No. 6, the processing of the module 106 cannot be executed.

【0077】よって、バッファ管理マネージャ103
は、 minimumTotalSize≦totalSize という条件を満たさなければバッファを配分することは
できない。そこで、あるモジュール106の処理プロセ
スに対して配分するためのバッファが要求されたとき、 minimumTotalSize + minimumSize> totalSize の条件を満たす場合には、バッファを要求しているモジ
ュール106の処理プロセスに対して配分可能なバッフ
ァブロック数は、 distributeSize = 0 となる。
Therefore, the buffer management manager 103
Cannot allocate buffers unless the condition minimumTotalSize ≦ totalSize is satisfied. Therefore, when a buffer to be allocated to the processing process of a certain module 106 is requested, if the condition of minimumTotalSize + minimumSize> totalSize is satisfied, the buffer is allocated to the processing process of the module 106 requesting the buffer. The possible number of buffer blocks is distributeSize = 0.

【0078】バッファ管理マネージャ103は、モジュ
ール106からのバッファ配分要求に応じて上述した処
理を繰り返し実行する。また、既にバッファの配分を受
けているモジュール106からバッファブロック数を変
更する要求があった場合にも図3に示した処理が実行さ
れる(例えば、最小稼働バッファブロック数を増加する
場合等)。
The buffer management manager 103 repeatedly executes the above-described processing in response to a buffer distribution request from the module 106. The process shown in FIG. 3 is also executed when there is a request to change the number of buffer blocks from the module 106 that has already received the buffer distribution (for example, when the minimum number of operating buffer blocks is increased). .

【0079】 バッファ解放検知処理 続いて、バッファ解放検知処理について説明する。図4
は、バッファ解放検知処理の手順を示すフローチャート
である。この図4に示すバッファ解放検知処理は、上述
したバッファ配分処理と並行して実行される。
Buffer Release Detection Processing Next, the buffer release detection processing will be described. FIG.
9 is a flowchart illustrating a procedure of a buffer release detection process. The buffer release detection process shown in FIG. 4 is executed in parallel with the above-described buffer allocation process.

【0080】図3に示したバッファ配分処理の実行中
に、バッファ管理マネージャ103は、あるモジュール
106の処理プロセスからバッファが解放されたか否か
を定期的にチェックする(S401)。ここでいうバッ
ファの解放には、あるモジュール106の処理プロセス
に対して配分されていた全てのバッファが解放された場
合や、あるモジュール106がバッファブロック数の変
更を要求した結果、既に配分されていた一部のバッファ
を解放した場合等が含まれる。
During execution of the buffer allocation processing shown in FIG. 3, the buffer management manager 103 periodically checks whether or not a buffer has been released from a processing process of a certain module 106 (S401). The release of the buffer here is performed when all buffers allocated to the processing process of a certain module 106 are released or as a result of a request from a certain module 106 for changing the number of buffer blocks, This includes the case where some buffers have been released.

【0081】ステップS401においてバッファが解放
されたと判定した場合、バッファ管理マネージャ103
は、図3のステップS308におけるバッファ再配分処
理1の実行中であるか否かを判定する(S402)。
If it is determined in step S401 that the buffer has been released, the buffer management manager 103
Determines whether the buffer redistribution process 1 in step S308 of FIG. 3 is being executed (S402).

【0082】ステップS402においてバッファ再配分
処理1の実行中ではないと判定した場合、ステップS4
04に進む。一方、バッファ再配分処理1の実行中であ
ると判定した場合、バッファ管理マネージャ103は、
バッファ再配分処理1の実行を中止する(S403)。
なぜなら、解放されたバッファをバッファの配分を要求
しているモジュール106の処理プロセスに配分してや
れば良いからである。ただし、バッファが解放された場
合であっても、最小稼働バッファブロック数を配分する
ことができない場合は、再びバッファ再配分処理1が実
行される可能性がある。
If it is determined in step S402 that buffer redistribution processing 1 is not being executed, step S4
Go to 04. On the other hand, when it is determined that the buffer redistribution process 1 is being performed, the buffer management manager 103
The execution of the buffer redistribution process 1 is stopped (S403).
This is because the released buffer may be allocated to the processing process of the module 106 requesting the allocation of the buffer. However, even if the buffer is released, if the minimum number of operating buffer blocks cannot be distributed, the buffer redistribution process 1 may be executed again.

【0083】その後、バッファ管理マネージャ103
は、バッファ再配分処理2を実行して(S404)、ス
テップS401の処理に戻る。なお、バッファ再配分処
理2は、解放されたバッファを利用して、現在実行中の
モジュール106の処理プロセスに対し不足バッファブ
ロック数分のバッファの全てまたは一部を配分する処理
のことである。このバッファ再配分処理2については、
後に図を用いて詳細に説明する。
Thereafter, the buffer management manager 103
Executes the buffer redistribution process 2 (S404), and returns to the process of step S401. The buffer redistribution process 2 is a process of using the released buffer to allocate all or a part of the buffer for the number of insufficient buffer blocks to the processing process of the module 106 currently being executed. Regarding the buffer redistribution process 2,
This will be described later in detail with reference to the drawings.

【0084】 バッファ再配分処理1 続いて、図3に示したステップS308で実行されるバ
ッファ再配分処理1について説明する。図5は、バッフ
ァ再配分処理1の手順を示すフローチャートである。な
お、バッファ管理マネージャ103は、バッファ再配分
処理1を実行するに当たり、現在実行中のモジュール1
06の処理プロセスのうち、配分されるバッファブロッ
ク数が固定の固定モードを選択しているモジュール10
6の処理プロセスをバッファ再配分処理1の処理対象か
ら除外する。また、バッファアクセス開始宣言を行った
モジュール106の処理プロセスについても、バッファ
再配分処理1の処理対象から除外する。
Next, the buffer redistribution processing 1 executed in step S308 shown in FIG. 3 will be described. FIG. 5 is a flowchart showing the procedure of the buffer redistribution process 1. When executing the buffer redistribution process 1, the buffer management manager 103 executes the module 1 currently being executed.
Module 10 in which the fixed mode in which the number of buffer blocks to be allocated is fixed is selected from among the processing steps 06
The process 6 is excluded from the processing targets of the buffer redistribution process 1. Further, the processing process of the module 106 which has declared the buffer access start is also excluded from the processing target of the buffer redistribution processing 1.

【0085】まず、バッファ管理マネージャ103は、
各モジュール106の処理プロセス毎に、バッファの配
分を要求しているモジュール106のために解放するこ
とができる配分可能バッファブロック数(現在のバッフ
ァブロック数−最小稼働バッファブロック数)を演算す
る(S501)。具体的には、 potentialSize = currentSize - minimumSize という演算を行う。
First, the buffer management manager 103
For each processing process of each module 106, the number of allocatable buffer blocks (current number of buffer blocks−minimum number of operating buffer blocks) that can be released for the module 106 requesting buffer allocation is calculated (S501). ). Specifically, the operation of potentialSize = currentSize-minimumSize is performed.

【0086】ステップS501において配分可能バッフ
ァブロック数を求めた後、バッファ管理マネージャ10
3は、各モジュール106の処理プロセス毎に、配分可
能バッファブロック数にバッファ優先度の重みをかけて
縮小対象優先度を決定すると共に、縮小対象優先度を降
順にソートして各モジュール106の処理プロセスに対
して順位付けを行う(S502,S503)。換言すれ
ば、この順位は、いずれのモジュール106の処理プロ
セスに対し、配分可能バッファブロック数分のバッファ
の全てまたは一部をバッファの配分を要求しているモジ
ュール106の処理プロセスのために解放することを要
求するかについて決定するための基準となるものであ
る。
After obtaining the number of buffer blocks that can be allocated in step S501, the buffer management manager 10
3 is to determine the reduction target priority by weighting the number of distributable buffer blocks to the buffer priority for each processing process of each module 106, and to sort the reduction target priorities in descending order to process each module 106. The process is ranked (S502, S503). In other words, this order releases any or all of the buffers of the distributable buffer block to the processing process of any module 106 for the processing process of the module 106 requesting the buffer distribution. It is a criterion for deciding whether or not to require

【0087】すなわち、バッファ管理マネージャ103
は、ステップS502において、各モジュール106の
処理プロセス毎に、 reducePriority = potentialSize÷ priority × C という演算を繰り返し実行することにより縮小対象優先
度を決定し、決定した縮小対象優先度を降順にソートし
て各モジュール106の処理プロセスに順位付けを行う
(S503)。
That is, the buffer management manager 103
In step S502, the reduction target priority is determined by repeatedly executing an operation of reducePriority = potentialSize ÷ priority × C for each processing process of each module 106, and the determined reduction target priority is sorted in descending order. The process of each module 106 is ranked (S503).

【0088】なお、高いバッファ優先度を有するモジュ
ール106に関する処理プロセスの縮小対象優先度に基
づく順位は、同一の配分可能バッファブロック数を有す
る他のモジュール106の処理プロセスより低くなる。
The order of the processing of the module 106 having the higher buffer priority based on the reduction target priority is lower than that of the other modules 106 having the same number of distributable buffer blocks.

【0089】そして、バッファ管理マネージャ103
は、ステップS502およびS503において決定した
第1順位のモジュール106に対し、縮小要求を出して
バッファを要求しているモジュール106の処理プロセ
スに対して配分するバッファを確保する処理を実行する
(S504)。
Then, the buffer management manager 103
Executes a process of issuing a reduction request to the first-rank module 106 determined in steps S502 and S503 and securing a buffer to be allocated to the processing process of the module 106 requesting the buffer (S504). .

【0090】ここで、縮小要求は、ステップS501で
求めた配分可能バッファブロック数以下のバッファブロ
ック数の解放を第1順位のモジュールの処理プロセスに
要求するためのものである。この縮小要求を受けた第1
順位のモジュール106は、配分されているバッファか
ら縮小要求で要求されたバッファブロック数以上のバッ
ファを解放しなければならない(バッファの再配分)。
Here, the reduction request is for requesting the processing process of the first-rank module to release the number of buffer blocks equal to or less than the number of allocatable buffer blocks obtained in step S501. The first that received this reduction request
The rank module 106 must release more buffers than the number of buffer blocks requested by the reduction request from the allocated buffers (buffer redistribution).

【0091】そして、バッファ管理マネージャ103
は、確保したバッファブロック数がバッファの配分を要
求しているモジュール106の処理プロセスを最低限実
行できるバッファブロック数(最小稼働バッファブロッ
ク数)を満たすか否かを判定する(S505)。
Then, the buffer management manager 103
Determines whether the reserved number of buffer blocks satisfies the minimum number of buffer blocks (the minimum number of operating buffer blocks) that can execute the processing process of the module 106 requesting the allocation of buffers (S505).

【0092】ステップS505においてバッファの配分
を要求しているモジュール106の処理プロセスを最低
限実行できるバッファブロック数を満たさないと判定し
た場合、バッファ管理モジュール103は、ステップS
501〜ステップS504の処理を繰り返し実行する。
If it is determined in step S505 that the minimum number of buffer blocks that can execute the processing process of the module 106 requesting buffer allocation is not satisfied, the buffer management module 103 executes step S505.
The processing from 501 to S504 is repeatedly executed.

【0093】一方、ステップS505においてバッファ
の配分を要求しているモジュール106の処理プロセス
を最低限実行できるバッファブロック数を満たすと判定
した場合、バッファ管理モジュール103は、該当する
モジュール106の処理プロセスに対して、確保したバ
ッファブロック数分のバッファを配分し(S506)、
バッファ再配分処理1を終了して図3のステップS30
1に戻る。
On the other hand, if it is determined in step S505 that the processing process of the module 106 requesting buffer allocation satisfies the minimum number of buffer blocks that can be executed, the buffer management module 103 On the other hand, buffers for the number of secured buffer blocks are allocated (S506),
After the buffer redistribution processing 1 is completed, step S30 in FIG.
Return to 1.

【0094】ここで、バッファ再配分処理1について、
図6〜図11を用いてさらに具体的に説明する。まず、
現時点のバッファの配分状況は図6に示す通りであり、
現時点においては処理プロセス1〜4およびその他の処
理プロセスが実行中であるものとする。この図6に対応
して、各処理プロセス1〜4に配分したバッファブロッ
クの様子を示すものが図10(a)である。また、図1
0(b)は、各処理プロセス毎に配分可能バッファブロ
ック数を演算すると共に、各処理プロセス1〜4に対し
て縮小対象優先度に基づく順位付けを行った様子を示し
ている。
Here, regarding buffer redistribution processing 1,
This will be described more specifically with reference to FIGS. First,
The current state of buffer allocation is as shown in FIG.
It is assumed that the processing processes 1 to 4 and other processing processes are currently being executed. FIG. 10A shows the state of the buffer blocks allocated to each of the processing processes 1 to 4, corresponding to FIG. FIG.
0 (b) shows a state in which the number of buffer blocks that can be allocated is calculated for each processing process, and the respective processing processes 1 to 4 are ranked based on the reduction target priority.

【0095】図10および図11の各図において、一番
上の処理プロセスが第1順位の処理プロセスに該当し、
この処理プロセスはバッファ管理マネージャ103によ
る縮小要求で要求されたバッファブロック数以上のバッ
ファを配分されているバッファから解放しなければなら
ない。
In each of FIGS. 10 and 11, the top process corresponds to the first-rank process,
In this processing process, the number of buffers equal to or larger than the number of buffer blocks requested by the reduction request by the buffer management manager 103 must be released from the allocated buffers.

【0096】また、図10および図11において、網点
で表示した矩形領域は処理プロセスに最低限必要なバッ
ファブロック(最小稼働バッファブロック数)に、実線
で囲まれた矩形領域は図5のステップS501で求めた
他の処理プロセスに配分可能なバッファブロック(配分
可能バッファブロック数)に、斜線で表示した矩形領域
は配分可能バッファブロックのうち、他の処理プロセス
のために解放するバッファブロックに、点線で囲まれた
矩形領域は配分を要求したバッファブロック数に対して
不足しているバッファブロック(不足バッファブロック
数)に該当する。
In FIGS. 10 and 11, a rectangular area indicated by a halftone dot is a buffer block (minimum number of operating buffer blocks) required at least for a processing process, and a rectangular area surrounded by a solid line is a step shown in FIG. In the buffer blocks that can be allocated to the other processing processes (the number of buffer blocks that can be allocated) determined in S501, the hatched rectangular areas are the buffer blocks that are released for other processing processes among the allocatable buffer blocks. A rectangular area surrounded by a dotted line corresponds to a buffer block that is insufficient for the number of buffer blocks requested to be allocated (the number of insufficient buffer blocks).

【0097】そして、図7に示すように処理プロセス5
がバッファの配分を要求してきた場合を考えると、図1
0(b)に示す第1順位の処理プロセス4から処理プロ
セス5のためにバッファが解放され、処理プロセス5に
対して最低限必要なバッファが配分される。その後、図
10(c)に示すように、各処理プロセス毎に配分可能
バッファブロック数を演算すると共に、縮小対象優先度
を決定して、各処理プロセス1〜5に対して順位付けを
行う。
Then, as shown in FIG.
Requesting the allocation of a buffer,
The buffer is released for the processing process 5 from the first-ranking processing process 4 shown in FIG. 0 (b), and the minimum necessary buffer is allocated to the processing process 5. Thereafter, as shown in FIG. 10C, the number of buffer blocks that can be allocated is calculated for each processing process, the reduction target priority is determined, and the processing processes 1 to 5 are ranked.

【0098】つぎに、図8に示すように処理プロセス6
がバッファの配分を要求してきた場合を考えると、図1
0(c)に示す第1順位の処理プロセス3から処理プロ
セス6のためにバッファが解放され、処理プロセス6に
対して最低限必要なバッファが配分される。その後、図
11(d)に示すように、各処理プロセス毎に配分可能
バッファブロック数を演算すると共に、縮小対象優先度
を決定して、各処理プロセス1〜6に対して順位付けを
行う。
Next, as shown in FIG.
Requesting the allocation of a buffer,
The buffer is released for the processing process 6 from the first-ranking processing process 3 shown in 0 (c), and the minimum required buffer is allocated to the processing process 6. Thereafter, as shown in FIG. 11D, the number of buffer blocks that can be allocated is calculated for each processing process, the reduction target priority is determined, and the respective processing processes 1 to 6 are ranked.

【0099】さらに、図9に示すように処理プロセス7
がバッファの配分を要求してきた場合を考えると、図1
1(d)に示す第1順位の処理プロセス1から処理プロ
セス7のためにバッファが解放され、処理プロセス7に
対して最低限必要なバッファが配分される。なお、図1
1(e)は、処理プロセス7に対してバッファを配分し
た後、各処理プロセス毎に配分可能バッファブロック数
を演算すると共に、縮小対象優先度を決定して、各処理
プロセス1〜7に対して順位付けを行った結果を示して
いる。
Further, as shown in FIG.
Requesting the allocation of a buffer,
1 (d), the buffers are released from the first-ranked process 1 to the process 7, and the minimum necessary buffer is allocated to the process 7. FIG.
1 (e), after allocating buffers to the processing processes 7, calculate the number of buffer blocks that can be allocated for each processing process, determine the reduction target priority, and This shows the result of ranking.

【0100】 バッファ再配分処理2 さらに、図4に示したステップS404で実行されるバ
ッファ再配分処理2について説明する。図12は、バッ
ファ再配分処理2の手順を示すフローチャートである。
なお、バッファ管理マネージャ103は、バッファ再配
分処理2を実行するに当たり、現在実行中のモジュール
106の処理プロセスのうち、配分されるバッファブロ
ック数が固定の固定モードを選択しているモジュール1
06の処理プロセスをバッファ再配分処理2の処理対象
から除外する。また、バッファアクセス開始宣言を行っ
たモジュール106の処理プロセスについても、バッフ
ァ再配分処理2の処理対象から除外する。
Buffer Redistribution Process 2 Next, the buffer redistribution process 2 executed in step S404 shown in FIG. 4 will be described. FIG. 12 is a flowchart illustrating the procedure of the buffer redistribution process 2.
When executing the buffer redistribution process 2, the buffer management manager 103 selects a module 1 that has selected the fixed mode in which the number of buffer blocks to be distributed is fixed, from among the processing processes of the module 106 currently being executed.
The process 06 is excluded from the processing targets of the buffer redistribution process 2. Further, the processing process of the module 106 that has declared the buffer access start is also excluded from the processing target of the buffer redistribution process 2.

【0101】まず、バッファ管理マネージャ103は、
各モジュール106の処理プロセス毎に、配分を要求し
たバッファブロック数に対して不足している不足バッフ
ァブロック数(要求バッファブロック数−現在のバッフ
ァブロック数)を演算する(S1201)。具体的に
は、 insufficientSize = requestSize - currentSize という演算を行う。
First, the buffer management manager 103
For each processing process of each module 106, the number of insufficient buffer blocks (the number of required buffer blocks minus the current number of buffer blocks) that is insufficient for the number of buffer blocks requested to be distributed is calculated (S1201). Specifically, the operation of insufficientSize = requestSize-currentSize is performed.

【0102】ステップS1201において不足バッファ
ブロック数を求めた後、バッファ管理マネージャ103
は、各モジュール106の処理プロセス毎に、不足バッ
ファブロック数にバッファ優先度の重みをかけ、拡張対
象優先度を決定すると共に、拡張対象優先度を降順にソ
ートして各モジュール106の処理プロセスに対して順
位付けを行う(S1202,S1203)。換言すれ
ば、各モジュール103の処理プロセスに対して付与さ
れた順位は、バッファ管理マネージャ103が、解放さ
れたバッファから不足バッファブロック数分のバッファ
の全てまたは一部を確保すべきことをいずれのモジュー
ル106の処理プロセスに対して要求すべきかを決定す
るための基準となる。
After calculating the number of insufficient buffer blocks in step S1201, the buffer management manager 103
Multiplies the number of buffer blocks by the weight of the buffer priority for each processing process of each module 106, determines the expansion target priority, and sorts the expansion target priority in descending order. Then, ranking is performed (S1202, S1203). In other words, the order given to the processing process of each module 103 indicates that the buffer management manager 103 should secure all or a part of the buffers for the number of insufficient buffer blocks from the released buffers. This is a criterion for determining whether a request is made for the processing process of the module 106.

【0103】すなわち、バッファ管理マネージャ103
は、ステップS1202において、各モジュール106
の処理プロセス毎に、 expandPriority = insufficientSize × priority × C という演算を繰り返し実行することにより、拡張対象優
先度を決定し、決定した拡張対象優先度を降順にソート
して各モジュール106の処理プロセスに対して順位付
けを行う(S1203)。
That is, the buffer management manager 103
In step S1202, each module 106
For each of the processing processes, the expansion target priority is determined by repeatedly executing the operation expandPriority = insufficientSize × priority × C, and the determined expansion target priorities are sorted in descending order to the processing process of each module 106. And ranking (S1203).

【0104】なお、高いバッファ優先度を有するモジュ
ール106の処理プロセスに関する拡張対象優先度によ
る順位は、同一の配分可能バッファブロック数を有する
他のモジュール106の処理プロセスより高くなる。
Note that the priority of the processing process of the module 106 having the higher buffer priority by the expansion target priority is higher than the processing process of the other modules 106 having the same number of distributable buffer blocks.

【0105】そして、バッファ管理マネージャ103
は、ステップS1202およびS1203で決定した第
1順位のモジュール106に対して、拡張要求を出して
解放されたバッファを確保させるための処理を実行する
(S1204)。
Then, the buffer management manager 103
Executes processing for securing the released buffer by issuing an expansion request to the first-rank module 106 determined in steps S1202 and S1203 (S1204).

【0106】ここで、拡張要求は、解放されたバッファ
ブロックからステップS1201で求めた不足バッファ
ブロック数以下のバッファブロック数を確保することを
第1順位のモジュール106に要求するものである。こ
の拡張要求を受けた第1順位のモジュール106は、必
要に応じてバッファブロックを確保して、占有可能なバ
ッファを拡張することができる(バッファの再配分)。
ただし、第1順位のモジュールは、バッファ管理モジュ
ール103から拡張要求を受けたとしても、バッファを
拡張する必要がない場合には解放されたバッファを確保
してバッファを拡張する必要はない。
Here, the extension request requests the first module 106 to secure the number of buffer blocks equal to or less than the number of insufficient buffer blocks obtained in step S1201 from the released buffer blocks. The first-rank module 106 that has received the expansion request can secure a buffer block as necessary and expand the occupied buffer (buffer redistribution).
However, even if the first-rank module receives the expansion request from the buffer management module 103, if it is not necessary to expand the buffer, it is not necessary to secure the released buffer and expand the buffer.

【0107】そして、バッファ管理マネージャ103
は、解放されたバッファが全て配分されたか否か、また
は、バッファ再配分処理2の対象となっている全てのモ
ジュール106の処理プロセスに対して解放されたバッ
ファが配分されたか否かを判定する(S1205)。
Then, the buffer management manager 103
Determines whether all the released buffers have been allocated or whether the released buffers have been allocated to the processing processes of all the modules 106 targeted for the buffer reallocation processing 2. (S1205).

【0108】ステップS1205において解放されたバ
ッファが全て配分されていないと判定し、または、バッ
ファ再配分処理2の対象となっている全てのモジュール
106の処理プロセスに対して解放されたバッファが配
分されていないと判定した場合、バッファ管理モジュー
ル103は、ステップS1201〜ステップS1204
の処理を繰り返し実行する。
In step S1205, it is determined that all the released buffers are not allocated, or the released buffers are allocated to the processing processes of all the modules 106 which are the targets of the buffer redistribution processing 2. If the buffer management module 103 determines that there is no data, the process proceeds to steps S1201 to S1204.
Is repeatedly executed.

【0109】一方、ステップS1205において解放さ
れたバッファが全て配分されたと判定し、または、バッ
ファ再配分処理2の対象となっている全てのモジュール
106の処理プロセスに対して解放されたバッファが配
分されたと判定した場合、バッファ管理モジュール10
3は、バッファ再配分処理2を終了して図3のステップ
S301に戻る。
On the other hand, it is determined that all the buffers released in step S1205 have been allocated, or the released buffers are allocated to the processing processes of all the modules 106 which are the targets of the buffer redistribution process 2. If it is determined that the buffer management module 10
3 ends the buffer redistribution process 2 and returns to step S301 in FIG.

【0110】ここで、バッファ再配分処理2について、
図13〜図16を用いてさらに具体的に説明する。ま
ず、現時点のバッファの配分状況は図9に示す通りであ
り、現時点においては処理プロセス1〜7およびその他
の処理プロセスが実行中であるものとする。この図9に
対応して、各処理プロセス1〜7に配分したバッファブ
ロックの様子を示すものが図15(a)である。また、
図15(b)は、各処理プロセス毎に不足バッファブロ
ック数を演算すると共に、拡張対象優先度を決定して、
各処理プロセス1〜7に対して順位付けを行った様子を
示している。
Here, regarding buffer redistribution processing 2,
This will be described more specifically with reference to FIGS. First, the current buffer allocation status is as shown in FIG. 9, and it is assumed that the processing processes 1 to 7 and other processing processes are currently being executed. FIG. 15A shows the state of the buffer blocks allocated to each of the processing processes 1 to 7, corresponding to FIG. Also,
FIG. 15 (b) calculates the number of insufficient buffer blocks for each processing process, determines the extension target priority,
It shows a state where ranking is performed for each of the processing processes 1 to 7.

【0111】なお、図15および図16において、一番
上の処理プロセスが第1順位の処理プロセスに該当し、
この処理プロセスは、バッファ管理マネージャ103に
よる拡張要求で要求されたバッファブロック数を確保
し、確保したバッファブロック数分、既に配分されてい
るバッファを拡張することができる。
In FIG. 15 and FIG. 16, the uppermost processing process corresponds to the first-rank processing process.
In this processing process, the number of buffer blocks requested by the expansion request from the buffer management manager 103 is secured, and the already allocated buffers can be extended by the secured buffer blocks.

【0112】また、図15および図16において、網点
で表示した矩形領域は処理プロセスに最低限必要なバッ
ファブロック(最小稼働バッファブロック数)に、実線
で囲まれた矩形領域は他の処理プロセスに配分可能なバ
ッファブロック(配分可能バッファブロック数)に、点
線で囲まれた矩形領域は要求バッファブロック数に対し
て不足している分のバッファブロック(不足バッファブ
ロック数)に、斜線で表示した矩形領域は不足している
バッファブロックとして配分されるバッファブロックに
それぞれ該当する。
In FIGS. 15 and 16, a rectangular area indicated by a halftone dot is a buffer block (minimum number of operating buffer blocks) necessary for the processing process, and a rectangular area surrounded by a solid line is another processing process. The buffer area that can be allocated to the buffer area (the number of buffer blocks that can be allocated), and the rectangular area surrounded by the dotted line is the buffer block that is insufficient for the required number of buffer blocks (the number of buffer blocks that are insufficient) and the hatched area. The rectangular areas correspond to buffer blocks that are allocated as missing buffer blocks.

【0113】そして、図13に示すように他の処理プロ
セスが8つのバッファブロックを解放した場合を考える
と、図15(c)に示す第1順位の処理プロセス4に対
し、解放された8つのバッファブロックが配分される。
その後、図16(d)に示すように、各処理プロセス毎
に不足バッファブロック数を演算すると共に、拡張対象
優先度を決定して、各処理プロセス1〜7に対して順位
付けを行う。
Considering the case where another processing process releases eight buffer blocks as shown in FIG. 13, the released eight processing blocks are different from the first-order processing process 4 shown in FIG. Buffer blocks are allocated.
Thereafter, as shown in FIG. 16D, the number of insufficient buffer blocks is calculated for each processing process, the expansion target priority is determined, and the respective processing processes 1 to 7 are ranked.

【0114】つぎに、図14に示すように他の処理プロ
セスが9つのバッファブロックを解放した場合を考える
と、図16(d)に示す第1順位の処理プロセス5に対
し、解放された9つのバッファブロックが配分される。
なお、図16(e)は、処理プロセス5に対して解放さ
れたバッファブロックが配分された後に、各処理プロセ
ス毎に不足バッファブロック数を演算すると共に、拡張
対象優先度を決定して、各処理プロセス1〜7に対して
順位付けを行った結果を示している。
Next, assuming that another processing process releases nine buffer blocks as shown in FIG. 14, the released processing process 5 is compared to the first-order processing process 5 shown in FIG. One buffer block is allocated.
In FIG. 16E, after the released buffer blocks are allocated to the processing process 5, the number of insufficient buffer blocks is calculated for each processing process, and the expansion target priority is determined. 9 shows the result of ranking the processing processes 1 to 7.

【0115】(6)本実施の形態の効果 このように、本実施の形態に係るバッファの動的管理方
法によれば、処理プロセスの増減等によってシステム全
体の負荷が変化した際に各処理プロセスに配分したバッ
ファ領域を動的に再配分する場合、特定の処理プロセス
を対象としてバッファの再配分処理を行うため、処理の
高速化・簡素化を図ることができる。
(6) Effects of this Embodiment As described above, according to the buffer dynamic management method of this embodiment, when the load of the entire system changes due to an increase or decrease in the number of processing processes, each processing process is executed. When dynamically redistributing the buffer area allocated to the buffer, the buffer reallocation processing is performed for a specific processing process, so that the processing can be speeded up and simplified.

【0116】また、特定の処理プロセスを対象としてバ
ッファの再配分処理を行うため、他の処理プロセスに影
響を与えることなく、バッファの再配分を行うことを可
能にすることができる。
Further, since the buffer reallocation processing is performed for a specific processing process, the buffer reallocation can be performed without affecting other processing processes.

【0117】さらに、特定の処理プロセスを対象として
バッファの再配分処理を行うため、バッファからマルチ
メディアデータをディスクに退避する回数を減少させ、
バッファリングするメリットを最大限活用できるように
することができる。
Further, in order to perform the buffer redistribution processing for a specific processing process, the number of times multimedia data is saved from the buffer to the disk is reduced.
The benefits of buffering can be maximized.

【0118】なお、図17に示したMODシステムに本
発明に係るバッファの動的管理方法を適用することを例
に取って本発明の実施の形態を説明したが、本発明に係
るバッファの動的管理方法をバッファの動的管理を必要
とする他のシステムや装置に適用可能であることはいう
までもない。
The embodiment of the present invention has been described by taking as an example the application of the dynamic buffer management method according to the present invention to the MOD system shown in FIG. 17, but the operation of the buffer according to the present invention has been described. It is needless to say that the dynamic management method can be applied to other systems and devices that require dynamic management of buffers.

【0119】また、マルチスレッドにおけるバッファ管
理において、バッファ管理マネージャ103は1つのオ
ブジェクトとして存在するが、1スレッドとして稼働し
ているプロシージャではない。実際にバッファ管理マネ
ージャ103に登録依頼を行うための操作は、バッファ
を登録するスレッドがバッファ管理マネージャ103の
オブジェクトを利用し、他のスレッドで利用しているバ
ッファに対してバッファの縮小・拡張指令を実行してい
る状態を意味する。
In the buffer management in the multi-thread, the buffer management manager 103 exists as one object, but is not a procedure operating as one thread. The operation for actually making a registration request to the buffer management manager 103 is performed when the thread that registers the buffer uses an object of the buffer management manager 103 and instructs the buffer used by another thread to reduce or expand the buffer. Is running.

【0120】さらに、上述した実施の形態におけるバッ
ファ再配分処理1およびバッファ再配分処理2において
は、配分可能バッファブロック数や不足バッファブロッ
ク数等を演算により求めるとして説明したが、これに代
えて、常にこれらに関する情報をテーブルとして保持す
ることにしておくことにしても良い。
Furthermore, in the buffer redistribution processing 1 and the buffer redistribution processing 2 in the above-described embodiment, the number of allocatable buffer blocks, the number of insufficient buffer blocks, and the like have been described as being calculated. Information about these may always be stored as a table.

【0121】以上説明した本実施の形態に係るバッファ
の動的管理方法は、図3,図4,図5および図12に示
したフローチャートの手順に従って、予め用意されたプ
ログラムをコンピュータで実行することによって実現さ
れる。このプログラムは、ハードディスク、フロッピー
ディスク、CD−ROM、MO、DVD等のコンピュー
タで読み取り可能な記録媒体に記録され、コンピュータ
によって記録媒体から読み出されることによって実行さ
れる。また、このプログラムは、上記記録媒体を介し
て、またはネットワークを介して配布することができ
る。
In the dynamic buffer management method according to the present embodiment described above, a computer executes a prepared program in accordance with the procedures of the flowcharts shown in FIGS. 3, 4, 5 and 12. It is realized by. This program is recorded on a computer-readable recording medium such as a hard disk, a floppy disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. This program can be distributed via the recording medium or via a network.

【0122】[0122]

【発明の効果】以上説明したように、本発明のバッファ
の動的管理方法(請求項1)によれば、未実行中の処理
プロセスからバッファブロックの割り当て要求があった
際に、バッファ領域における未使用のバッファブロック
数が未実行中の処理プロセスで処理の実行に最低限必要
なバッファブロック数に満たない場合、実行中の処理プ
ロセスのいずれかに割り当てたバッファブロック数を減
少させることによって未実行中の処理プロセスにバッフ
ァブロックを割り当て可能であるか否かを判定する判定
工程と、判定工程で割り当て可能と判定した場合に、実
行中の処理プロセスのいずれかに割り当てたバッファブ
ロック数を減少させることによって、未実行中の処理プ
ロセスに割り当てるバッファブロックを確保するバッフ
ァ確保工程と、バッファ確保工程で確保したバッファブ
ロックを未実行中の処理プロセスに割り当てるバッファ
割当工程と、を含むことにより、特定の処理プロセスを
対象としてバッファの再配分処理を行うため、処理の高
速化・簡素化を図ることができると共に、他の処理プロ
セスに影響を与えることなくバッファの再配分を行うこ
とができる。さらに、特定の処理プロセスを対象として
バッファの再配分処理を行うことにより、バッファから
マルチメディアデータをディスクに退避する回数を減少
させることができるため、バッファリングするメリット
を最大限活用できるようにすることができる。
As described above, according to the dynamic buffer management method of the present invention (claim 1), when a buffer block allocation request is issued from an unexecuted processing process, the buffer area in the buffer area is deleted. If the number of unused buffer blocks is less than the minimum number of buffer blocks required to execute processing in an unexecuted processing process, reduce the number of buffer blocks allocated to any of the executing processing processes. A determining step of determining whether a buffer block can be allocated to the currently executing processing process; and reducing the number of buffer blocks allocated to any of the currently executing processing processes if the determining step determines that the buffer block can be allocated. A buffer securing step for securing a buffer block to be allocated to an unexecuted processing process. A buffer allocation step of allocating the buffer block secured in the file securing step to the processing process that is not being executed, thereby realizing the buffer reallocation processing for a specific processing process, thereby speeding up and simplifying the processing. And the buffer can be redistributed without affecting other processing processes. Furthermore, by performing buffer redistribution processing for a specific processing process, the number of times multimedia data is saved from the buffer to the disk can be reduced, so that the advantages of buffering can be maximized. be able to.

【0123】また、本発明のバッファの動的管理方法
(請求項2)によれば、請求項1に記載のバッファの動
的管理方法において、判定工程が、未実行中の処理プロ
セスおよび実行中の処理プロセスがそれぞれ処理を実行
するために最低限必要なバッファブロック数の合計数と
バッファ領域の全バッファブロック数とを比較し、合計
数が全バッファブロック数を越えない場合に、未実行中
の処理プロセスにバッファブロックを割り当て可能であ
ると判定するため、未実行中の処理プロセスにバッファ
を配分可能であるか否かを容易に判定することができる
と共に、実行中の処理プロセスに影響を与えることな
く、バッファの再配分処理を行うことができる。
According to the buffer dynamic management method of the present invention (claim 2), in the buffer dynamic management method according to claim 1, the determination step is performed between an unexecuted processing process and an executing process. Compare the minimum number of buffer blocks required for each process to execute the process with the total number of buffer blocks in the buffer area.If the total number does not exceed the total number of buffer blocks, Since it is determined that a buffer block can be allocated to the processing process of the above, it is possible to easily determine whether or not the buffer can be allocated to the processing process that is not being executed, and to affect the processing process that is being executed. The buffer reallocation process can be performed without giving.

【0124】また、本発明のバッファの動的管理方法
(請求項3)によれば、請求項1または2に記載のバッ
ファの動的管理方法において、さらに、バッファ割当工
程を実行する前に、バッファブロックを減少させる対象
となる実行中の処理プロセスを決定するための縮小順位
情報を生成する順位情報生成工程を含み、バッファ確保
工程が、順位情報生成工程で生成した縮小順位情報に基
づいて、バッファブロックを減少させる対象となる実行
中の処理プロセスを決定するため、バッファの再配分処
理の対象となる実行中の処理プロセスを容易に決定する
ことができる。
According to the buffer dynamic management method of the present invention (claim 3), the buffer dynamic management method according to claim 1 or 2 further includes: Including a rank information generating step of generating reduced rank information for determining a running process to reduce the buffer block, the buffer securing step is based on the reduced rank information generated in the rank information generating step, Since the running process to be subjected to the buffer block reduction is determined, the running process to be subjected to the buffer reallocation process can be easily determined.

【0125】また、本発明のバッファの動的管理方法
(請求項4)によれば、請求項3に記載のバッファの動
的管理方法において、順位情報生成工程が、実行中の処
理プロセス毎に、現在割り当てられているバッファブロ
ック数および処理を実行するために最低限必要なバッフ
ァブロック数に基づいて、未実行中の処理プロセスに割
り当て可能なバッファブロック数を求め、求めたバッフ
ァブロック数に基づいて縮小順位を生成することによ
り、割り当てられているバッファブロックに余裕のある
処理プロセスから順に未実行中の処理プロセスに割り当
てるバッファを確保することができるため、未実行中の
処理プロセスに割り当てるバッファを容易に確保するこ
とができる。
According to the dynamic buffer management method of the present invention (claim 4), in the dynamic buffer management method of claim 3, the order information generating step is performed for each processing process being executed. Based on the currently allocated number of buffer blocks and the minimum number of buffer blocks required to execute the processing, the number of buffer blocks that can be allocated to the processing process that is not being executed is determined, and based on the determined number of buffer blocks. By generating the reduction order, the buffers to be allocated to the unexecuted processing processes can be secured in order from the processing process with the spare buffer block to the allocated buffer blocks. It can be easily secured.

【0126】また、本発明のバッファの動的管理方法
(請求項5)によれば、請求項4に記載のバッファの動
的管理方法において、処理プロセスは、バッファブロッ
クの割り当てに関する優先順位情報をそれぞれ有し、順
位情報生成工程が、優先順位情報および実行中の処理プ
ロセス毎に求めた未実行中の処理プロセスに割り当て可
能なバッファブロック数に基づいて、縮小順位を生成す
るすることにより、例えば、高速な処理が要求されてい
るような処理プロセス対して高い優先順位を設定してお
くことができるため、たとえその処理プロセスに割り当
てられているバッファブロック数に余裕があるとして
も、割り当てられたバッファブロック数が減少されて処
理が遅くなるという事態の発生を防止することができ
る。
Further, according to the buffer dynamic management method of the present invention (claim 5), in the buffer dynamic management method according to claim 4, the processing process stores priority information on buffer block allocation. For example, by generating the reduction order based on the priority information and the number of buffer blocks that can be allocated to the unexecuted processing processes obtained for each of the currently executed processing processes, for example, Since a high priority can be set for a processing process that requires high-speed processing, even if the number of buffer blocks allocated to the processing process has room, It is possible to prevent a situation in which the number of buffer blocks is reduced and the processing is delayed.

【0127】また、本発明のバッファの動的管理方法
(請求項6)によれば、請求項3〜5のいずれか一つに
記載のバッファの動的管理方法において、処理プロセス
は、バッファブロックの割り当てを要求する際に、バッ
ファブロック数が可変の動的割当モードおよびバッファ
ブロック数が固定の固定割当モードのいずれか一方を選
択可能であり、順位情報生成工程が、縮小順位を生成す
る際に、バッファブロックを減少させる対象となる実行
中の処理プロセスから固定割当モードを選択している処
理プロセスを除外することにより、割り当てるバッファ
ブロック数を変更可能な処理プロセスのみをバッファの
再配分処理の対象とすることができるため、再配分処理
の対象とすることができない処理プロセスを処理の対象
としてしまうという事態の発生を防止することができ
る。
According to the dynamic buffer management method of the present invention (claim 6), in the dynamic buffer management method according to any one of claims 3 to 5, the processing process is performed by using a buffer block. When requesting the allocation, it is possible to select one of a dynamic allocation mode in which the number of buffer blocks is variable and a fixed allocation mode in which the number of buffer blocks is fixed. In addition, by excluding the processing processes for which the fixed allocation mode is selected from the currently executing processing processes for which buffer blocks are to be reduced, only the processing processes for which the number of buffer blocks to be allocated can be changed are used for the buffer reallocation processing. Because it can be targeted, processing processes that cannot be targeted for redistribution processing will be targeted for processing. It is possible to prevent the occurrence of state.

【0128】また、本発明のバッファの動的管理方法
(請求項7)によれば、任意の処理プロセスからバッフ
ァブロックが解放された場合に、解放されたバッファを
他の処理プロセスのいずれかに割り当てるバッファ割当
工程を含むことにより、特定の処理プロセスを対象とし
てバッファの再配分処理を行うため、処理の高速化・簡
素化を図ることができると共に、他の処理プロセスに影
響を与えることなく、バッファの再配分を行うことがで
きる。さらに、特定の処理プロセスを対象としてバッフ
ァの再配分処理を行うことにより、バッファからマルチ
メディアデータをディスクに退避する回数を減少させる
ことができるため、バッファリングするメリットを最大
限活用できるようにすることができる。
Further, according to the buffer dynamic management method of the present invention (claim 7), when a buffer block is released from an arbitrary processing process, the released buffer is transferred to one of the other processing processes. By including the buffer allocating step to allocate, the buffer reallocation processing is performed for a specific processing process, so that the processing can be speeded up and simplified, and without affecting other processing processes, Buffer reallocation can be performed. Furthermore, by performing buffer redistribution processing for a specific processing process, the number of times multimedia data is saved from the buffer to the disk can be reduced, so that the advantages of buffering can be maximized. be able to.

【0129】また、本発明のバッファの動的管理方法
(請求項8)によれば、請求項7に記載のバッファの動
的管理方法において、さらに、バッファ割当工程を実行
する前に、解放されたバッファブロックの割り当て対象
となる処理プロセスを決定するための割当順位情報を生
成する順位情報生成工程を含み、バッファ割当工程が、
順位情報生成工程で生成した割当順位情報に基づいて、
解放されたバッファブロックの割り当て対象となる処理
プロセスを決定するため、バッファの再配分処理の対象
となる実行中の処理プロセスを容易に決定することがで
きる。
According to the buffer dynamic management method of the present invention (claim 8), in the buffer dynamic management method of claim 7, the buffer is released before executing the buffer allocation step. Including a rank information generating step of generating allocation rank information for determining a processing process to be allocated to the buffer block, wherein the buffer allocation step includes:
Based on the assigned rank information generated in the rank information generation step,
Since the processing process to which the released buffer block is to be allocated is determined, it is possible to easily determine the running processing process to be subjected to the buffer reallocation processing.

【0130】また、本発明のバッファの動的管理方法
(請求項9)によれば、請求項8に記載のバッファの動
的管理方法において、順位情報生成工程が、各処理プロ
セス毎に、現在割り当てられているバッファブロック数
および処理を実行する際に要求したバッファブロック数
に基づいて、要求したバッファブロック数に対して不足
している不足分のバッファブロック数を求め、求めた不
足分のバッファブロック数に基づいて割当順位を生成す
るため、不足しているバッファブロック数の多い処理プ
ロセスに対して優先的にバッファを再配分することがで
きる。
According to the buffer dynamic management method of the present invention (claim 9), in the buffer dynamic management method according to claim 8, the order information generation step is performed for each processing process. Based on the number of allocated buffer blocks and the number of buffer blocks requested at the time of executing the process, the number of insufficient buffer blocks for the requested number of buffer blocks is obtained, and the obtained buffer for the shortage is obtained. Since the allocation order is generated based on the number of blocks, the buffers can be preferentially redistributed to the processing processes having a large number of missing buffer blocks.

【0131】また、本発明のバッファの動的管理方法
(請求項10)によれば、請求項9に記載のバッファの
動的管理方法において、処理プロセスは、バッファブロ
ックの割り当て順位に関する優先順位情報をそれぞれ有
し、順位情報生成工程が、優先順位情報および各処理プ
ロセス毎に求めた不足分のバッファブロック数に基づい
て、割当順位を生成することにより、例えば、高速な処
理が要求されているような処理プロセス対して高い優先
順位を設定しておくことができるため、たとえその処理
プロセスについて不足しているバッファブロック数が少
ないとしても、優先的にバッファブロック数を増加さ
せ、処理の高速化を図ることができる。
According to the buffer dynamic management method of the present invention (claim 10), in the buffer dynamic management method according to claim 9, the processing process includes the priority information on the buffer block allocation order. And the order information generating step generates an allocation order based on the priority order information and the number of insufficient buffer blocks obtained for each processing process, for example, high-speed processing is required. Higher priorities can be set for such processing processes, so even if the number of buffer blocks that are insufficient for the processing process is small, the number of buffer blocks is preferentially increased to speed up the processing. Can be achieved.

【0132】また、本発明のバッファの動的管理方法
(請求項11)によれば、請求項8〜10のいずれか一
つに記載のバッファの動的管理方法において、処理プロ
セスは、バッファブロックの割り当てを要求する際に、
バッファブロック数が可変の動的割当モードおよびバッ
ファブロック数が固定の固定割当モードのいずれか一方
を選択可能であり、順位情報生成工程が、割当順位を生
成する際に、解放されたバッファブロックの割り当て対
象となる処理プロセスから固定割当モードを選択してい
る処理プロセスを除外することにより、割り当てるバッ
ファブロック数を変更可能な処理プロセスのみをバッフ
ァの再配分処理の対象とすることができるため、再配分
処理の対象とすることができない処理プロセスを処理の
対象としてしまうという事態の発生を防止することがで
きる。
According to the dynamic buffer management method of the present invention (claim 11), in the dynamic buffer management method according to any one of claims 8 to 10, the processing process is performed by using a buffer block. When requesting a quota for
Either the dynamic allocation mode in which the number of buffer blocks is variable or the fixed allocation mode in which the number of buffer blocks is fixed can be selected, and the rank information generating step includes the steps of: By excluding the processing processes for which the fixed allocation mode is selected from the processing processes to be allocated, only the processing processes that can change the number of buffer blocks to be allocated can be targeted for buffer reallocation processing. It is possible to prevent a situation in which a processing process that cannot be a target of the allocation processing is set as a processing target.

【0133】さらに、本発明のコンピュータ読み取り可
能な記録媒体(請求項12)によれば、は、請求項1〜
11のいずれか一つに記載のバッファの動的管理方法の
各工程をコンピュータに実行させるためのプログラムを
記録したため、このプログラムをコンピュータで実行す
ることにより、特定の処理プロセスを対象としてバッフ
ァの再配分処理を行うことができることから、処理の高
速化・簡素化を図ることができると共に、他の処理プロ
セスに影響を与えることなく、バッファの再配分を行う
ことができるバッファの動的管理方法を実現することが
できる。さらに、特定の処理プロセスを対象としてバッ
ファの再配分処理を行うことにより、バッファからマル
チメディアデータをディスクに退避する回数を減少させ
ることができるため、バッファリングするメリットを最
大限活用できるバッファの動的管理方法を実現すること
ができる。
Further, according to the computer-readable recording medium of the present invention (Claim 12),
11, a program for causing a computer to execute the steps of the dynamic buffer management method described in any one of No. 11 is recorded. By executing this program on the computer, the buffer can be reprocessed for a specific processing process. Since the allocation processing can be performed, the processing can be speeded up and simplified, and a dynamic buffer management method that can perform buffer reallocation without affecting other processing processes. Can be realized. Furthermore, by performing buffer reallocation processing for a specific processing process, the number of times that multimedia data is saved from the buffer to the disk can be reduced, so that the buffer operation that can maximize the advantages of buffering can be performed. Can achieve a strategic management method.

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

【図1】本発明の実施の形態に係るバッファの動的管理
方法による処理の概念を説明するためのブロック図であ
る。
FIG. 1 is a block diagram for explaining a concept of processing by a dynamic buffer management method according to an embodiment of the present invention.

【図2】本発明の実施の形態に係るバッファの動的管理
方法において利用される情報である要求バッファブロッ
ク数および最小稼働バッファブロック数を説明するため
の静止画像データの概念図である。
FIG. 2 is a conceptual diagram of still image data for explaining a required number of buffer blocks and a minimum number of operating buffer blocks which are information used in the dynamic buffer management method according to the embodiment of the present invention.

【図3】本発明の実施の形態に係るバッファの動的管理
方法において、バッファ配分処理の手順を示すフローチ
ャートである。
FIG. 3 is a flowchart illustrating a procedure of buffer allocation processing in the dynamic buffer management method according to the embodiment of the present invention.

【図4】本発明の実施の形態に係るバッファの動的管理
方法において、バッファ解放検知処理の手順を示すフロ
ーチャートである。
FIG. 4 is a flowchart illustrating a procedure of a buffer release detection process in the dynamic buffer management method according to the embodiment of the present invention.

【図5】本発明の実施の形態に係るバッファの動的管理
方法において、バッファ再配分処理1の手順を示すフロ
ーチャートである。
FIG. 5 is a flowchart illustrating a procedure of a buffer redistribution process 1 in the dynamic buffer management method according to the embodiment of the present invention.

【図6】本発明の実施の形態に係るバッファの動的管理
方法において、バッファ再配分処理1をより具体的に説
明するための説明図である。
FIG. 6 is an explanatory diagram for more specifically describing buffer redistribution processing 1 in the buffer dynamic management method according to the embodiment of the present invention.

【図7】本発明の実施の形態に係るバッファの動的管理
方法において、バッファ再配分処理1をより具体的に説
明するための説明図である。
FIG. 7 is an explanatory diagram for more specifically describing buffer redistribution processing 1 in the buffer dynamic management method according to the embodiment of the present invention.

【図8】本発明の実施の形態に係るバッファの動的管理
方法において、バッファ再配分処理1をより具体的に説
明するための説明図である。
FIG. 8 is an explanatory diagram for more specifically explaining buffer redistribution processing 1 in the buffer dynamic management method according to the embodiment of the present invention.

【図9】本発明の実施の形態に係るバッファの動的管理
方法において、バッファ再配分処理1をより具体的に説
明するための説明図である。
FIG. 9 is an explanatory diagram for more specifically describing buffer redistribution processing 1 in the buffer dynamic management method according to the embodiment of the present invention.

【図10】本発明の実施の形態に係るバッファの動的管
理方法において、バッファ再配分処理1をより具体的に
説明するための説明図である。
FIG. 10 is an explanatory diagram for more specifically describing buffer redistribution processing 1 in the buffer dynamic management method according to the embodiment of the present invention.

【図11】本発明の実施の形態に係るバッファの動的管
理方法において、バッファ再配分処理1をより具体的に
説明するための説明図である。
FIG. 11 is an explanatory diagram for more specifically describing buffer reallocation processing 1 in the buffer dynamic management method according to the embodiment of the present invention.

【図12】本発明の実施の形態に係るバッファの動的管
理方法において、バッファ再配分処理2の手順を示すフ
ローチャートである。
FIG. 12 is a flowchart illustrating a procedure of a buffer reallocation process 2 in the dynamic buffer management method according to the embodiment of the present invention.

【図13】本発明の実施の形態に係るバッファの動的管
理方法において、バッファ再配分処理2をより具体的に
説明するための説明図である。
FIG. 13 is an explanatory diagram for more specifically describing buffer redistribution processing 2 in the buffer dynamic management method according to the embodiment of the present invention.

【図14】本発明の実施の形態に係るバッファの動的管
理方法において、バッファ再配分処理2をより具体的に
説明するための説明図である。
FIG. 14 is an explanatory diagram for more specifically explaining the buffer reallocation process 2 in the buffer dynamic management method according to the embodiment of the present invention.

【図15】本発明の実施の形態に係るバッファの動的管
理方法において、バッファ再配分処理2をより具体的に
説明するための説明図である。
FIG. 15 is an explanatory diagram for more specifically describing buffer redistribution processing 2 in the buffer dynamic management method according to the embodiment of the present invention.

【図16】本発明の実施の形態に係るバッファの動的管
理方法において、バッファ再配分処理2をより具体的に
説明するための説明図である。
FIG. 16 is an explanatory diagram for more specifically describing buffer reallocation processing 2 in the buffer dynamic management method according to the embodiment of the present invention.

【図17】マルチメディア・オン・デマンド・システム
(MODシステム)の概略構成図である。
FIG. 17 is a schematic configuration diagram of a multimedia on demand system (MOD system).

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

100 サーバ装置 101a〜101c クライアント装置 102 ネットワーク 103 バッファ管理マネージャ 104 メモリ管理マネージャ 105 メモリ 106 マルチメディア用バッファリングモジュール
(モジュール)
REFERENCE SIGNS LIST 100 server device 101 a to 101 c client device 102 network 103 buffer management manager 104 memory management manager 105 memory 106 multimedia buffering module (module)

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 システム全体または特定の装置における
マルチメディアデータの処理のために使用するバッファ
領域を一括管理し、かつ、該バッファ領域を複数のブロ
ックに分割して各時点で実行している任意の数の処理プ
ロセスにそれぞれ動的に割り当てるバッファの動的管理
方法において、 未実行中の処理プロセスからバッファブロックの割り当
て要求があった際に、前記バッファ領域における未使用
のバッファブロック数が前記未実行中の処理プロセスで
処理の実行に最低限必要なバッファブロック数に満たな
い場合、実行中の処理プロセスのいずれかに割り当てた
バッファブロック数を減少させることによって前記未実
行中の処理プロセスにバッファブロックを割り当て可能
であるか否かを判定する判定工程と、 前記判定工程で割り当て可能と判定した場合に、前記実
行中の処理プロセスのいずれかに割り当てたバッファブ
ロック数を減少させることによって、前記未実行中の処
理プロセスに割り当てるバッファブロックを確保するバ
ッファ確保工程と、 前記バッファ確保工程で確保したバッファブロックを前
記未実行中の処理プロセスに割り当てるバッファ割当工
程と、 を含むことを特徴とするバッファの動的管理方法。
1. An arbitrary system which collectively manages a buffer area used for processing multimedia data in the entire system or a specific device, and divides the buffer area into a plurality of blocks and executes the buffer area at each time. In the method for dynamically managing buffers to be dynamically allocated to a number of processing processes, when an unexecuted processing process requests a buffer block allocation, the number of unused buffer blocks in the buffer area is reduced to If the number of buffer blocks required for execution of the process is less than the minimum number of buffer blocks in the running process, the number of buffer blocks allocated to any of the running processes is reduced to reduce the number of buffer blocks in the unexecuted process. A determining step of determining whether a block can be allocated; and A buffer securing step of securing a buffer block to be allocated to the unexecuted processing process by reducing the number of buffer blocks allocated to any of the currently executing processing processes, A buffer allocating step of allocating the buffer block secured in the securing step to the unexecuted processing process.
【請求項2】 前記判定工程は、前記未実行中の処理プ
ロセスおよび実行中の処理プロセスがそれぞれ処理を実
行するために最低限必要なバッファブロック数の合計数
と前記バッファ領域の全バッファブロック数とを比較
し、前記合計数が前記全バッファブロック数を越えない
場合に、前記未実行中の処理プロセスにバッファブロッ
クを割り当て可能であると判定することを特徴とする請
求項1に記載のバッファの動的管理方法。
2. The method according to claim 1, wherein the determining step includes a total number of buffer blocks necessary for the unexecuted processing process and an executing processing process to execute processing, and a total number of buffer blocks in the buffer area. 2. The buffer according to claim 1, wherein if the total number does not exceed the total number of buffer blocks, it is determined that a buffer block can be allocated to the unexecuted processing process. Dynamic management method.
【請求項3】 さらに、前記バッファ割当工程を実行す
る前に、バッファブロックを減少させる対象となる実行
中の処理プロセスを決定するための縮小順位情報を生成
する順位情報生成工程を含み、 前記バッファ確保工程は、前記順位情報生成工程で生成
した縮小順位情報に基づいて、バッファブロックを減少
させる対象となる前記実行中の処理プロセスを決定する
ことを特徴とする請求項1または2に記載のバッファの
動的管理方法。
3. The method according to claim 1, further comprising: before executing the buffer allocating step, the order information generating step of generating reduction order information for determining an active processing process to be reduced in buffer blocks. 3. The buffer according to claim 1, wherein the securing step determines the currently executing processing process to be reduced in buffer blocks based on the reduced rank information generated in the rank information generating step. 4. Dynamic management method.
【請求項4】 前記順位情報生成工程は、前記実行中の
処理プロセス毎に、現在割り当てられているバッファブ
ロック数および処理を実行するために最低限必要なバッ
ファブロック数に基づいて、前記未実行中の処理プロセ
スに割り当て可能なバッファブロック数を求め、求めた
バッファブロック数に基づいて前記縮小順位を生成する
ことを特徴とする請求項3に記載のバッファの動的管理
方法。
4. The method according to claim 1, wherein the order information generating step is configured to perform the unexecuted processing based on a currently allocated number of buffer blocks and a minimum number of buffer blocks required to execute the processing for each of the currently executed processing processes. 4. The dynamic buffer management method according to claim 3, wherein the number of buffer blocks that can be allocated to the middle process is obtained, and the reduction order is generated based on the obtained number of buffer blocks.
【請求項5】 前記処理プロセスは、前記バッファブロ
ックの割り当てに関する優先順位情報をそれぞれ有し、 前記順位情報生成工程は、前記優先順位情報および前記
実行中の処理プロセス毎に求めた前記未実行中の処理プ
ロセスに割り当て可能なバッファブロック数に基づい
て、前記縮小順位を生成することを特徴とする請求項4
に記載のバッファの動的管理方法。
5. The processing process has priority information on the assignment of the buffer block, and the priority information generating step includes the priority information and the unexecuted process obtained for each of the processing processes being executed. 5. The reduction order is generated based on the number of buffer blocks that can be allocated to the processing process of (4).
The dynamic management method of the buffer according to 2.
【請求項6】 前記処理プロセスは、前記バッファブロ
ックの割り当てを要求する際に、バッファブロック数が
可変の動的割当モードおよびバッファブロック数が固定
の固定割当モードのいずれか一方を選択可能であり、 前記順位情報生成工程は、前記縮小順位を生成する際
に、前記バッファブロックを減少させる対象となる実行
中の処理プロセスから前記固定割当モードを選択してい
る処理プロセスを除外することを特徴とする請求項3〜
5のいずれか一つに記載のバッファの動的管理方法。
6. The processing process can select either a dynamic allocation mode in which the number of buffer blocks is variable or a fixed allocation mode in which the number of buffer blocks is fixed when requesting the allocation of the buffer block. The ranking information generating step, when the reduction ranking is generated, excludes a processing process in which the fixed allocation mode is selected from running processing processes for which the buffer block is to be reduced. Claim 3 to
5. The method for dynamically managing a buffer according to any one of 5.
【請求項7】 システム全体または特定の装置における
マルチメディアデータの処理のために使用するバッファ
領域を一括管理し、かつ、該バッファ領域を複数のブロ
ックに分割して各時点で実行している任意の数の処理プ
ロセスにそれぞれ動的に割り当てるバッファの動的管理
方法において、 任意の処理プロセスからバッファブロックが解放された
場合に、解放されたバッファを他の処理プロセスのいず
れかに割り当てるバッファ割当工程を含むことを特徴と
するバッファの動的管理方法。
7. An arbitrary system that collectively manages a buffer area used for processing multimedia data in the entire system or a specific device, and divides the buffer area into a plurality of blocks and executes the buffer area at each time. In the method of dynamically managing buffers dynamically allocated to a number of processing processes, a buffer allocating step of allocating the released buffer to one of the other processing processes when a buffer block is released from an arbitrary processing process A dynamic buffer management method, comprising:
【請求項8】 さらに、前記バッファ割当工程を実行す
る前に、解放されたバッファブロックの割り当て対象と
なる処理プロセスを決定するための割当順位情報を生成
する順位情報生成工程を含み、 前記バッファ割当工程は、前記順位情報生成工程で生成
した割当順位情報に基づいて、前記解放されたバッファ
ブロックの割り当て対象となる処理プロセスを決定する
ことを特徴とする請求項7に記載のバッファの動的管理
方法。
8. A buffer information generating step of generating allocation priority information for determining a processing process to which a released buffer block is to be allocated before executing the buffer allocation step, 8. The dynamic buffer management according to claim 7, wherein the step determines a processing process to which the released buffer block is to be allocated, based on the allocation order information generated in the order information generating step. Method.
【請求項9】 前記順位情報生成工程は、各処理プロセ
ス毎に、現在割り当てられているバッファブロック数お
よび処理を実行する際に要求したバッファブロック数に
基づいて、前記要求したバッファブロック数に対して不
足している不足分のバッファブロック数を求め、求めた
不足分のバッファブロック数に基づいて前記割当順位を
生成することを特徴とする請求項8に記載のバッファの
動的管理方法。
9. The method according to claim 1, wherein the order information generating step includes, for each of the processing processes, based on a currently allocated number of buffer blocks and a number of buffer blocks requested when executing the processing. 9. The dynamic buffer management method according to claim 8, wherein the number of deficient buffer blocks is calculated and the allocation order is generated based on the calculated number of deficient buffer blocks.
【請求項10】 前記処理プロセスは、前記バッファブ
ロックの割り当て順位に関する優先順位情報をそれぞれ
有し、 前記順位情報生成工程は、前記優先順位情報および前記
各処理プロセス毎に求めた不足分のバッファブロック数
に基づいて、前記割当順位を生成することを特徴とする
請求項9に記載のバッファの動的管理方法。
10. The processing process has priority information relating to the allocation order of the buffer blocks, and the priority information generating step includes the priority information and a shortage buffer block obtained for each processing process. The method according to claim 9, wherein the allocation order is generated based on a number.
【請求項11】 前記処理プロセスは、前記バッファブ
ロックの割り当てを要求する際に、バッファブロック数
が可変の動的割当モードおよびバッファブロック数が固
定の固定割当モードのいずれか一方を選択可能であり、 前記順位情報生成工程は、前記割当順位を生成する際
に、前記解放されたバッファブロックの割り当て対象と
なる処理プロセスから前記固定割当モードを選択してい
る処理プロセスを除外することを特徴とする請求項8〜
10のいずれか一つに記載のバッファの動的管理方法。
11. The processing process can select either a dynamic allocation mode in which the number of buffer blocks is variable or a fixed allocation mode in which the number of buffer blocks is fixed when requesting the allocation of the buffer block. The ranking information generating step is characterized in that, when the allocation ranking is generated, a processing process selecting the fixed allocation mode is excluded from processing processes to be allocated to the released buffer block. Claim 8-
10. The dynamic buffer management method according to any one of the tenth to eleventh aspects.
【請求項12】 前記請求項1〜11のいずれか一つに
記載のバッファの動的管理方法の各工程をコンピュータ
に実行させるためのプログラムを記録したことを特徴と
するコンピュータ読み取り可能な記録媒体。
12. A computer-readable recording medium storing a program for causing a computer to execute each step of the dynamic buffer management method according to claim 1. Description: .
JP04753098A 1998-02-27 1998-02-27 Method for dynamically managing buffer and computer-readable recording medium recording program for causing computer to execute each step of method Expired - Fee Related JP3761317B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04753098A JP3761317B2 (en) 1998-02-27 1998-02-27 Method for dynamically managing buffer and computer-readable recording medium recording program for causing computer to execute each step of method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04753098A JP3761317B2 (en) 1998-02-27 1998-02-27 Method for dynamically managing buffer and computer-readable recording medium recording program for causing computer to execute each step of method

Publications (2)

Publication Number Publication Date
JPH11249955A true JPH11249955A (en) 1999-09-17
JP3761317B2 JP3761317B2 (en) 2006-03-29

Family

ID=12777688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04753098A Expired - Fee Related JP3761317B2 (en) 1998-02-27 1998-02-27 Method for dynamically managing buffer and computer-readable recording medium recording program for causing computer to execute each step of method

Country Status (1)

Country Link
JP (1) JP3761317B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515255A (en) * 2005-11-04 2009-04-09 ルーセント テクノロジーズ インコーポレーテッド Partitioning of fully distributed resources between processes
WO2012014511A1 (en) * 2010-07-30 2012-02-02 株式会社日立製作所 Memory management method, memory management program, and computation device
JP2015125525A (en) * 2013-12-26 2015-07-06 日本電気株式会社 Information processing device for managing buffers, buffer management method, and program therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6127552B2 (en) 2013-02-07 2017-05-17 株式会社リコー Information processing device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515255A (en) * 2005-11-04 2009-04-09 ルーセント テクノロジーズ インコーポレーテッド Partitioning of fully distributed resources between processes
WO2012014511A1 (en) * 2010-07-30 2012-02-02 株式会社日立製作所 Memory management method, memory management program, and computation device
JP2015125525A (en) * 2013-12-26 2015-07-06 日本電気株式会社 Information processing device for managing buffers, buffer management method, and program therefor

Also Published As

Publication number Publication date
JP3761317B2 (en) 2006-03-29

Similar Documents

Publication Publication Date Title
WO2021208546A1 (en) Multi-dimensional resource scheduling method in kubernetes cluster architecture system
CN100407152C (en) Methods and systems for multi-policy resource scheduling
JP4049525B2 (en) Distributed processing system
US7665090B1 (en) System, method, and computer program product for group scheduling of computer resources
US6021464A (en) Real time disk array which guarantees write deadlines by selecting an alternate disk
CN1728118B (en) Resource allocation management method and apparatus
EP0969382A2 (en) Method for efficient non-virtual main memory management
US5568635A (en) Physical memory allocation system, program execution scheduling system, and information processor
CN114615338B (en) Micro-service deployment method and device based on layer sharing in edge environment
US7007150B2 (en) Memory balancing and optimization services
US20040133860A1 (en) Method for performing timing closure on VLSI chips in a distributed environment
US20080163233A1 (en) Method and apparatus for service load consolidation, and computer product
KR101519825B1 (en) Data processing device and control method of the same
CN111352735A (en) Data acceleration method, device, storage medium and equipment
US5640597A (en) Method and apparatus for servicing simultaneously a plurality of requests for data streams
JP6007516B2 (en) Resource allocation system, resource allocation method, and resource allocation program
US11093291B2 (en) Resource assignment using CDA protocol in distributed processing environment based on task bid and resource cost
JPH11249955A (en) Dynamic buffer management method and computer readable storage medium where program to execute each process of this method in computer is recorded
JP2001229058A (en) Data base server processing method
JP2007102332A (en) Load balancing system and load balancing method
CN116260876A (en) AI application scheduling method and device based on K8s and electronic equipment
CN114489978A (en) Resource scheduling method, device, equipment and storage medium
CN111813564A (en) Cluster resource management method and device and container cluster management system
CN111338782A (en) Node allocation method based on competition perception and oriented to shared burst data caching
JP2001142723A (en) Resource allocating method, computer system, and recording medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20050926

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A521 Written amendment

Effective date: 20051205

Free format text: JAPANESE INTERMEDIATE CODE: A523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20060105

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Effective date: 20060110

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20100120

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110120

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20120120

LAPS Cancellation because of no payment of annual fees