JP5614266B2 - Print document processing system, cache device, data processing device, and program - Google Patents

Print document processing system, cache device, data processing device, and program Download PDF

Info

Publication number
JP5614266B2
JP5614266B2 JP2010267598A JP2010267598A JP5614266B2 JP 5614266 B2 JP5614266 B2 JP 5614266B2 JP 2010267598 A JP2010267598 A JP 2010267598A JP 2010267598 A JP2010267598 A JP 2010267598A JP 5614266 B2 JP5614266 B2 JP 5614266B2
Authority
JP
Japan
Prior art keywords
cache
image data
data
document element
entry
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.)
Active
Application number
JP2010267598A
Other languages
Japanese (ja)
Other versions
JP2012118745A (en
Inventor
道生 早川
道生 早川
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2010267598A priority Critical patent/JP5614266B2/en
Publication of JP2012118745A publication Critical patent/JP2012118745A/en
Application granted granted Critical
Publication of JP5614266B2 publication Critical patent/JP5614266B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、印刷文書処理システム、キャッシュ装置、データ処理装置及びプログラムに関する。   The present invention relates to a print document processing system, a cache device, a data processing device, and a program.

一般に、パーソナルコンピュータから印刷装置に送られる印刷文書データは、PostScript(登録商標)やPDF( Portable Data Format: ISO 32000-1) などのページ記述言語(以下、PDLと呼ぶ。PDLはPage Description Languageの略)で記述されている。印刷装置では、RIP( Raster Image Processor)と呼ばれるデータ処理装置により印刷文書データをビットマップ形式(ラスター形式とも呼ばれる)の画像データに変換し、その画像データをプリントエンジンにより印刷する。また、PDLデータを直接ラスター画像に変換する方式の他に、PDLデータをPDLコマンドよりは粒度の小さいディスプレイリスト等の中間言語形式のデータに変換してバッファし、バッファした中間言語形式のデータをビットマップ形式に変換するという2段階の変換を行う印刷装置もよく知られている。   In general, print document data sent from a personal computer to a printing apparatus is called a page description language (hereinafter referred to as PDL) such as PostScript (registered trademark) or PDF (Portable Data Format: ISO 32000-1). Abbreviation). In a printing apparatus, print document data is converted into image data in a bitmap format (also called a raster format) by a data processing device called RIP (Raster Image Processor), and the image data is printed by a print engine. In addition to the method of directly converting PDL data to a raster image, PDL data is converted into intermediate language format data such as a display list having a smaller granularity than the PDL command and buffered. A printing apparatus that performs a two-stage conversion of a bitmap format is also well known.

従来、PDLデータからビットマップ形式又は中間言語形式の画像データへの変換を、ページ単位などのあらかじめ定められた単位ごとに、複数のデータ処理装置で並列的に実行するシステムも知られている。   2. Description of the Related Art Conventionally, there is also known a system in which conversion from PDL data to image data in a bitmap format or an intermediate language format is executed in parallel by a plurality of data processing devices for each predetermined unit such as a page unit.

また、従来、あるデータ処理装置が印刷文書データ中のPDLで記述された文書要素(オブジェクト)をビットマップ形式又は中間言語形式へ変換した場合に、その変換結果のデータを文書要素の識別情報と対応づけてキャッシュメモリにキャッシュし、後で同じ又は異なるデータ処理装置が同じ文書要素を変換する必要が生じた場合には、キャッシュされたデータを使用することで、変換処理を省略することも行われている。   Conventionally, when a data processing apparatus converts a document element (object) described in PDL in print document data into a bitmap format or an intermediate language format, the converted data is used as document element identification information. If the same or different data processing device needs to convert the same document element later, the conversion process can be omitted by using the cached data. It has been broken.

例えば、特許文献1には、複数の描画プロセッサにより印刷データの描画処理を並列して行う装置が開示されている。この装置は、各描画プロセッサにて描画処理されたフォーム等のビットマップデータを、印刷機構制御プロセッサ内の共通のキャッシュメモリにてキャッシュするように構成されている。   For example, Patent Document 1 discloses an apparatus that performs print data drawing processing in parallel by a plurality of drawing processors. This apparatus is configured to cache bitmap data such as forms drawn by each drawing processor in a common cache memory in the printing mechanism control processor.

特開2000−335022号公報Japanese Patent Laid-Open No. 2000-33522

ところで、限りあるキャッシュメモリの容量を有効活用するために、文書要素の画像データをキャッシュメモリに記憶しておく価値を評価し、評価値(キャッシュ優先度)が高いものを優先的にキャッシュメモリ内に残すという管理が考えられる。このような管理を行っている場合において、ある文書要素の画像データがキャッシュメモリ内に記憶されていない場合には、2つの状況がある。1つは、キャッシュする価値が低いためにキャッシュメモリ内に記憶されていない状況であり、もう1つはキャッシュする価値が十分高いのにたまたま空き領域がないなどの理由でキャッシュメモリに記憶されないままになっている状況である。データ処理装置から問い合わせられた文書要素の画像データがキャッシュメモリ内にない場合、キャッシュメモリを管理する従来の装置は、そのような2つの状況を区別することなく、対象とする画像データがキャッシュされていない旨を示す応答(キャッシュミス:Cache Miss)を返す。したがって、データ処理装置は、文書要素の画像データがキャッシュする価値のないものであっても、作成した画像データをキャッシュメモリにキャッシュすることになる。   By the way, in order to effectively utilize the limited capacity of the cache memory, the value of storing the image data of the document element in the cache memory is evaluated, and the one with a high evaluation value (cache priority) is preferentially stored in the cache memory. Management to leave it in is considered. When such management is performed, there are two situations when image data of a certain document element is not stored in the cache memory. One is a situation where it is not stored in the cache memory because the value to cache is low, and the other is not stored in the cache memory due to a reason that there is no free space although the value is sufficiently high to be cached. This is the situation. When the image data of the document element inquired from the data processing apparatus is not in the cache memory, the conventional apparatus that manages the cache memory caches the target image data without distinguishing between the two situations. A response (Cache Miss) is returned to indicate that it is not. Therefore, the data processing apparatus caches the created image data in the cache memory even if the image data of the document element is not worth caching.

本発明は、複数のデータ処理装置がキャッシュメモリを共有するシステムにおいて、文書要素の画像データがキャッシュメモリにないことがキャッシュメモリに記憶する価値が低いためなのか否かを、データ処理装置が知って対処できるようにすることを目的とする。   According to the present invention, in a system in which a plurality of data processing apparatuses share a cache memory, the data processing apparatus knows whether the image data of the document element is not stored in the cache memory because the value stored in the cache memory is low. The purpose is to be able to cope with it.

請求項1に係る発明は、キャッシュ装置と、複数のデータ処理装置と、を備え、前記キャッシュ装置は、前記各データ処理装置が作成したビットマップ形式又は中間言語形式の画像データを記憶するためのキャッシュメモリと、印刷文書データの各文書要素について、それぞれ、当該文書要素の画像データの前記キャッシュメモリにおけるキャッシュ状態があらかじめ定義された複数の状態のうちのいずれであるかを記憶する状態記憶手段であって、前記複数の状態の中には、前記キャッシュメモリに画像データを記憶する価値があるにも関わらず画像データが前記キャッシュメモリにないことを示す第1の状態と、前記キャッシュメモリに画像データを記憶する価値がないために画像データが前記キャッシュメモリにないことを示す第2の状態と、が含まれることを特徴とする状態記憶手段と、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、前記状態記憶手段に記憶された当該文書要素の画像データのキャッシュ状態が前記第1の状態である場合には第1の応答を、当該文書要素の画像データのキャッシュ状態が前記第2の状態である場合には第2の応答を、前記データ処理装置に提供する応答提供手段と、を備え、前記複数のデータ処理装置の各々は、前記印刷文書データ内の各文書要素のページ記述言語のデータを処理してビットマップ形式又は中間言語形式の画像データを作成する画像データ作成手段と、前記印刷文書データ内の文書要素ごとに、当該文書要素の画像データを前記画像データ作成手段に作成させる前に、当該画像データが前記キャッシュ装置内にあるか否かの問合せを行う問合せ手段と、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が前記第1の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、当該画像データを前記キャッシュ装置に登録するための処理を実行し、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が前記第2の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する、という制御を行う制御手段と、を備える、ことを特徴とする印刷文書処理システムである。   The invention according to claim 1 includes a cache device and a plurality of data processing devices, wherein the cache device stores image data in a bitmap format or an intermediate language format created by each of the data processing devices. A state storage unit that stores, for each document element of the cache memory and the print document data, which of the plurality of predefined states is the cache state of the image data of the document element in the cache memory. In the plurality of states, there is a first state indicating that there is no image data in the cache memory despite the worth of storing the image data in the cache memory, and an image in the cache memory. A second indicating that the image data is not in the cache memory because the data is not worth storing. And a cache of image data of the document element stored in the state storage means when an inquiry about image data of the document element is received from the data processing device. A first response is provided to the data processing apparatus when the state is the first state, and a second response is provided when the image data cache state of the document element is the second state. Response providing means, and each of the plurality of data processing devices processes page description language data of each document element in the print document data to create bitmap format or intermediate language format image data For each document element in the print document data, before the image data creation means creates the image data of the document element, An inquiry means for making an inquiry as to whether or not the data is in the cache device; and if the response from the cache device to the inquiry by the inquiry means is the first response, the image data creation means sends the document Create the image data of the element, generate a print image using the image data created as a result, execute a process for registering the image data in the cache device, and inquire by the inquiry means If the response from the cache device to the second response is the second response, the image data creation unit is caused to create image data of the document element, and the image data created as a result is used for printing. Control means for generating an image and controlling the image data to be discarded without being registered in the cache device. A print document processing system characterized by that.

請求項2に係る発明は、前記応答提供手段は、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、当該画像データが前記キャッシュメモリ内に存在する場合でも、当該文書要素が、前記キャッシュメモリに画像データを記憶する価値がないと判定される場合には、前記第2の応答を前記データ処理装置に提供する、ことを特徴とする請求項1に記載の印刷文書処理システムである。   According to a second aspect of the present invention, when the response providing means receives an inquiry about image data of a document element from the data processing device, the document element is stored even if the image data exists in the cache memory. 2. The print document processing system according to claim 1, wherein if it is determined that the image data is not worth storing in the cache memory, the second response is provided to the data processing device. It is.

請求項3に係る発明は、前記複数の状態の中には、当該文書要素の画像データが前記キャッシュメモリに記憶されていることを示す第3の状態が含まれ、前記キャッシュ装置は、前記データ処理装置から文書要素の画像データのための記憶領域を確保するための確保要求を受けた際に、前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合に、当該確保要求の対象である文書要素よりもキャッシュ優先度が低い前記第3の状態の文書要素のうちの少なくとも1つの画像データを前記キャッシュメモリから追い出すための処理を行うと共に、前記状態記憶手段に記憶された、前記追い出すための処理の対象とした文書要素のキャッシュ状態を前記第2の状態に変更する追い出し処理手段、を更に備え、前記応答提供手段は、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、前記状態記憶手段に記憶された当該文書要素のキャッシュ状態が前記第2の状態である場合、当該文書要素が、前記キャッシュメモリに画像データを記憶する価値がないと判定する、ことを特徴とする請求項2に記載の印刷文書処理システムである。   In the invention according to claim 3, the plurality of states include a third state indicating that image data of the document element is stored in the cache memory, and the cache device includes the data When a reservation request for securing a storage area for image data of a document element is received from a processing device, if the free space of the cache memory is insufficient to store the image data, A process for expelling at least one of the document elements in the third state having a cache priority lower than that of the target document element from the cache memory, and stored in the state storage unit; Eviction processing means for changing the cache state of the document element that is the target of the eviction processing to the second state, and the response provider Is received from the data processing device, and when the cache state of the document element stored in the state storage means is the second state, the document element is 3. The print document processing system according to claim 2, wherein it is determined that the image data is not worth storing in the cache memory.

請求項4に係る発明は、前記追い出し処理手段は、前記データ処理装置から文書要素の画像データのための記憶領域を確保するための確保要求を受けた際に、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれのデータ処理装置からも使用中でない前記第3の状態のすべての文書要素の画像データを追い出しても、前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれかのデータ処理装置により使用中であるものの少なくとも1つを前記第2の状態に変更し、前記第2の状態に変更した文書要素の画像データがいずれのデータ処理装置からも使用されなくなった後に当該画像データを前記キャッシュメモリから追い出す、ことを特徴とする請求項3に記載の印刷文書処理システムである。   According to a fourth aspect of the present invention, when the eviction processing unit receives a securing request for securing a storage area for image data of a document element from the data processing device, the cache priority is higher than that of the document element. Even if the image data of all the document elements in the third state in which the image data is low and the image data is not being used by any data processing device is expelled, the free space of the cache memory is sufficient to store the image data. If not, the cache priority is lower than that of the document element and at least one of the image data being used by any of the data processing devices is changed to the second state and changed to the second state. Expelling the image data from the cache memory after the image data of the document element is no longer used by any data processing device. A print document processing system according to claim 3, characterized.

請求項5に係る発明は、前記複数の状態の中には、当該文書要素の画像データが前記キャッシュメモリに記憶されていることを示す第3の状態が含まれ、前記応答提供手段は、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、当該文書要素のキャッシュ優先度が、前記キャッシュメモリから画像データを追い出す文書要素を判定するための第1の閾値よりも低い場合には、前記状態記憶手段に記憶された当該文書要素のキャッシュ状態が前記第3の状態であっても、当該文書要素が、前記キャッシュメモリに画像データを記憶する価値がないと判定し、前記第2の応答を前記データ処理装置に提供する、ことを特徴とする請求項2に記載の印刷文書処理システムである。   In the invention according to claim 5, the plurality of states include a third state indicating that image data of the document element is stored in the cache memory, and the response providing means includes When an inquiry about image data of a document element is received from the data processing apparatus, when the cache priority of the document element is lower than a first threshold value for determining a document element for evicting image data from the cache memory Determines that the document element is not worth storing image data in the cache memory even if the cache state of the document element stored in the state storage means is the third state. The print document processing system according to claim 2, wherein a response of 2 is provided to the data processing apparatus.

請求項6に係る発明は、前記応答提供手段は、前記問合せの対象の文書要素には画像データを前記キャッシュメモリに記憶する価値があると判定した場合において、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれのデータ処理装置からも使用中でないすべての文書要素の画像データを追い出したとしても前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合は、前記第1の閾値を、当該文書要素のキャッシュ優先度よりも低く、かつ、前記キャッシュメモリに画像データが記憶されている文書要素の少なくとも1つのキャッシュ優先度よりも高い値に変更する閾値変更手段、を更に備える請求項5に記載の印刷文書処理システムである。   In the invention according to claim 6, when the response providing unit determines that the document element to be queried is worth storing image data in the cache memory, the cache priority is higher than the document element. If the free space of the cache memory is insufficient to store the image data even if the image data of all the document elements that are low and the image data is not in use from any data processing device is expelled, the first data A threshold value changing means for changing the threshold value of the document element to a value lower than the cache priority of the document element and higher than at least one cache priority of the document element in which image data is stored in the cache memory. A print document processing system according to claim 5.

請求項7に係る発明は、前記キャッシュ装置は、前記データ処理装置から文書要素の画像データのための記憶領域を確保するための確保要求を受けた際に、前記確保要求の対象の文書要素のキャッシュ優先度が、前記キャッシュメモリに画像データを登録する文書要素を判定するための第2の閾値未満である場合に、前記状態記憶手段に記憶された当該確保要求の対象の文書要素のキャッシュ状態を前記第2の状態に変更し、前記確保要求を行った前記データ処理装置に対して、確保失敗の旨を応答する第1の状態変更手段、を更に備え、前記データ処理装置は、前記確保要求に応じて前記キャッシュ装置から確保失敗の旨の応答を受けた場合、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する手段、を更に備える、ことを特徴とする請求項5又は6に記載の印刷文書処理システムである。 In the invention according to claim 7, when the cache device receives a secure request for securing a storage area for image data of a document element from the data processing device, the cache device When the cache priority is less than a second threshold for determining a document element for registering image data in the cache memory, the cache state of the document element that is the target of the reservation request stored in the state storage unit Is changed to the second state , and further includes first state changing means for responding to the data processing apparatus that has made the reservation request that the reservation has failed. In response to a request for securing failure from the cache device in response to the request, the image data creation unit executes creation of image data of the document element, 7. The print document processing system according to claim 5, further comprising a unit that generates a print image using data and discards the image data without registering the image data in the cache device. 8. .

請求項8に係る発明は、前記第1の状態変更手段が用いる前記第2の閾値は、前記第3の状態の各文書要素のキャッシュ優先度のうちの最小値である、ことを特徴とする請求項7に記載の印刷文書処理システムである。 The invention according to claim 8 is characterized in that the second threshold value used by the first state change means is a minimum value among the cache priorities of the document elements in the third state. A print document processing system according to claim 7.

請求項9に係る発明は、前記確保要求の対象の文書要素のキャッシュ優先度が前記第2の閾値以上である場合において、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれのデータ処理装置からも使用中でない前記第3の状態のすべての文書要素の画像データを追い出したとしても前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合は、前記第2の閾値を、当該文書要素のキャッシュ優先度よりも低く、かつ、前記キャッシュメモリに画像データが記憶されている文書要素の少なくとも1つのキャッシュ優先度よりも高い値に変更する第2の閾値変更手段、を更に備える請求項7又は8に記載の印刷文書処理システムである。   According to a ninth aspect of the present invention, in the case where the cache priority of the document element to be secured is equal to or higher than the second threshold value, any data processing in which the cache priority is lower than the document element and the image data is processed. Even if the image data of all the document elements in the third state that are not in use by the apparatus is purged, if the free space of the cache memory is insufficient to store the image data, the second threshold value is set. Second threshold value changing means for changing to a value lower than the cache priority of the document element and higher than at least one cache priority of the document element in which image data is stored in the cache memory. A print document processing system according to claim 7 or 8.

請求項10に係る発明は、前記第3の状態でありかつキャッシュ優先度が前記第1の閾値よりも低い文書要素の画像データについて、当該画像データがいずれのデータ処理装置からも使用されなくなった後に、当該画像データを前記キャッシュメモリから追い出し、前記状態記憶手段に記憶された当該文書要素のキャッシュ状態を第2の状態に変更する追い出し手段、を更に備えることを特徴とする請求項5〜9のいずれか1項に記載の印刷文書処理システムである。   In the invention according to claim 10, the image data of the document element that is in the third state and whose cache priority is lower than the first threshold is not used by any data processing apparatus. 10. The image processing apparatus according to claim 5, further comprising: eviction means for expelling the image data from the cache memory and changing the cache state of the document element stored in the state storage means to a second state. The print document processing system according to any one of the above.

請求項11に係る発明は、前記キャッシュ装置は、前記データ処理装置から文書要素の画像データのための記憶領域を確保するための確保要求を受けた際に、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれのデータ処理装置からも使用中でない前記第3の状態のすべての文書要素の画像データを追い出しても、前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合、前記確保要求を行った前記データ処理装置に対して、確保失敗の旨を応答する手段、を備え、前記データ処理装置は、前記確保要求に応じて前記キャッシュ装置から確保失敗の旨の応答を受けた場合、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する手段、を備える、ことを特徴とする請求項3〜10のいずれか1項に記載の印刷文書処理システムである。   According to an eleventh aspect of the present invention, when the cache device receives a securing request for securing a storage area for image data of a document element from the data processing device, the cache priority is higher than that of the document element. Even if the image data of all the document elements in the third state that are low and the image data is not being used by any data processing device is expelled, the free space of the cache memory is not sufficient to store the image data. And a means for responding to the data processing device that has made the reservation request that the reservation has failed, the data processing device responding to the reservation request from the cache device in response to the reservation request. When the image data is received, the image data creation means executes creation of image data of the document element, and prints an image for printing using the image data created as a result. While formed, comprising means discards without registering the image data in the cache unit, a print document processing system according to any one of claims 3-10, characterized in that.

請求項12に係る発明は、前記各文書要素のキャッシュ優先度を、当該文書要素が前記問合せを受けた回数が多くなるほど高くなるように更新するキャッシュ優先度更新手段と、前記状態記憶手段に記憶されたキャッシュ状態が前記第2の状態である文書要素のキャッシュ優先度があらかじめ定められた状態変更閾値を超えた場合に、当該文書要素のキャッシュ状態を前記第1の状態に変更する第2の状態変更手段と、を更に備える請求項1〜11のいずれか1項に記載の印刷文書処理システムである。 The invention according to claim 12 stores the cache priority of each of the document elements in the state storage unit, and updates the cache priority so as to increase as the number of times the document element has received the inquiry increases. When the cache priority of the document element whose cache state is the second state exceeds a predetermined state change threshold, the cache state of the document element is changed to the first state . The print document processing system according to claim 1, further comprising a state change unit.

請求項13に係る発明は、各データ処理装置が作成したビットマップ形式又は中間言語形式の画像データを記憶するためのキャッシュメモリと、印刷文書データの各文書要素について、それぞれ、当該文書要素の画像データの前記キャッシュメモリにおけるキャッシュ状態があらかじめ定義された複数の状態のうちのいずれであるかを記憶する状態記憶手段であって、前記複数の状態の中には、前記キャッシュメモリに画像データが記憶されている各文書要素よりもキャッシュ優先度が高いにも関わらず画像データが前記キャッシュメモリにないことを示す第1の状態と、前記キャッシュメモリに画像データが記憶されている各文書要素よりもキャッシュ優先度が低いために画像データが前記キャッシュメモリにないことを示す第2の状態と、が含まれることを特徴とする状態記憶手段と、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、前記状態記憶手段に記憶された当該文書要素の画像データのキャッシュ状態が前記第1の状態である場合には第1の応答を、当該文書要素の画像データのキャッシュ状態が前記第2の状態である場合には第2の応答を、前記データ処理装置に提供する応答提供手段と、を備えるキャッシュ装置である。   According to a thirteenth aspect of the present invention, there is provided a cache memory for storing image data in a bitmap format or an intermediate language format created by each data processing device, and an image of each document element for each document element of print document data. State storage means for storing which of a plurality of predefined states the cache state of the data in the cache memory is, wherein image data is stored in the cache memory in the plurality of states A first state indicating that the image data is not in the cache memory even though the cache priority is higher than each document element, and more than each document element in which the image data is stored in the cache memory A second state indicating that no image data is present in the cache memory due to a low cache priority; And a cache state of the image data of the document element stored in the state storage means when the inquiry about the image data of the document element is received from the data processing device. A response providing a first response to the data processing apparatus when the data processing apparatus is in the first state, and a second response when the cache state of the image data of the document element is the second state. And a cache device.

請求項14に係る発明は、印刷文書データ内の各文書要素のページ記述言語のデータを処理してビットマップ形式又は中間言語形式の画像データを作成する画像データ作成手段と、前記印刷文書データ内の文書要素ごとに、当該文書要素の画像データを前記画像データ作成手段に作成させる前に、当該画像データがキャッシュ装置内にあるか否かの問合せを行う問合せ手段と、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が、前記問合せの対象の文書要素が前記キャッシュ装置に画像データが記憶されている各文書要素よりもキャッシュ優先度が高いにも関わらず画像データが前記キャッシュ装置にないことを示す第1の状態であることを示す第1の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、当該画像データを前記キャッシュ装置に登録するための処理を実行し、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が、前記問合せの対象の文書要素が前記キャッシュ装置に画像データが記憶されている各文書要素よりもキャッシュ優先度が低いために画像データが前記キャッシュ装置にないことを示す第2の状態を示す第2の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する、という制御を行う制御手段と、を備えるデータ処理装置である。 According to a fourteenth aspect of the present invention, there is provided image data generating means for processing page description language data of each document element in the print document data to generate image data in a bitmap format or an intermediate language format, and in the print document data For each document element, before making the image data creation means create image data of the document element, an inquiry means for making an inquiry as to whether the image data is in the cache device, and an inquiry by the inquiry means A response from the cache device indicates that the document element to be inquired has higher cache priority than each document element in which image data is stored in the cache device , but there is no image data in the cache device. Is the first response indicating that the document element is in the first state, the image data creating means The image data creation is executed, and a print image is generated using the image data created as a result, and a process for registering the image data in the cache device is executed. A response from the cache device indicates that there is no image data in the cache device because the document element to be queried has a lower cache priority than each document element in which image data is stored in the cache device . In the case of the second response indicating the state 2, the image data creation unit executes creation of image data of the document element, and a print image is generated using the image data created as a result. And a control means for controlling to discard the image data without registering it in the cache device. It is the location.

請求項15に係る発明は、コンピュータを、各データ処理装置が作成したビットマップ形式又は中間言語形式の画像データを記憶するためのキャッシュメモリ、印刷文書データの各文書要素について、それぞれ、当該文書要素の画像データの前記キャッシュメモリにおけるキャッシュ状態があらかじめ定義された複数の状態のうちのいずれであるかを記憶する状態記憶手段であって、前記複数の状態の中には、前記キャッシュメモリに画像データが記憶されている各文書要素よりもキャッシュ優先度が高いにも関わらず画像データが前記キャッシュメモリにないことを示す第1の状態、前記キャッシュメモリに画像データが記憶されている各文書要素よりもキャッシュ優先度が低いために画像データが前記キャッシュメモリにないことを示す第2の状態と、が含まれることを特徴とする状態記憶手段、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、前記状態記憶手段に記憶された当該文書要素の画像データのキャッシュ状態が前記第1の状態である場合には第1の応答を、当該文書要素の画像データのキャッシュ状態が前記第2の状態である場合には第2の応答を、前記データ処理装置に提供する応答提供手段、として機能させるためのプログラムである。   According to the fifteenth aspect of the present invention, there is provided a computer, a cache memory for storing image data in a bitmap format or an intermediate language format created by each data processing device, and each document element of print document data. State storage means for storing one of a plurality of predefined states of the cache state of the image data in the cache memory, the image data being stored in the cache memory in the plurality of states In a first state indicating that image data does not exist in the cache memory even though the cache priority is higher than each document element in which the image data is stored, than each document element in which the image data is stored in the cache memory Indicates that there is no image data in the cache memory because the cache priority is low. State storage means characterized in that the image data of the document element stored in the state storage means is received when an inquiry about the image data of the document element is received from the data processing device. When the cache state is the first state, a first response is sent to the data processing device, and when the cache state of the image data of the document element is the second state, a second response is sent to the data processing device. It is a program for functioning as response providing means to be provided.

請求項16に係る発明は、コンピュータを、印刷文書データ内の各文書要素のページ記述言語のデータを処理してビットマップ形式又は中間言語形式の画像データを作成する画像データ作成手段、前記印刷文書データ内の文書要素ごとに、当該文書要素の画像データを前記画像データ作成手段に作成させる前に、当該画像データがキャッシュ装置内にあるか否かの問合せを行う問合せ手段、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が、前記問合せの対象の文書要素が前記キャッシュ装置に画像データが記憶されている各文書要素よりもキャッシュ優先度が高いにも関わらず画像データが前記キャッシュ装置にないことを示す第1の状態であることを示す第1の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、当該画像データを前記キャッシュ装置に登録するための処理を実行し、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が、前記問合せの対象の文書要素が前記キャッシュ装置に画像データが記憶されている各文書要素よりもキャッシュ優先度が低いために画像データが前記キャッシュ装置にないことを示す第2の状態を示す第2の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する、という制御を行う制御手段、として機能させるためのプログラムである。 According to a sixteenth aspect of the present invention, there is provided an image data generating means for processing a page description language data of each document element in print document data to generate image data in a bitmap format or an intermediate language format, and the print document. For each document element in the data, an inquiry means for making an inquiry as to whether or not the image data is in the cache device before causing the image data creation means to create image data of the document element, an inquiry by the inquiry means In response to the response from the cache device , image data is not in the cache device even though the document element to be queried has a higher cache priority than each document element in which image data is stored in the cache device . If the response is the first response indicating that the image is in the first state indicating that the The image data of the document element is created, a print image is generated using the image data created as a result, and a process for registering the image data in the cache device is executed. response from the cache apparatus to the inquiry is that the image data is not in the cache device to a low cache priority than the document element document element of the subject of the query image data in the cache unit are stored In the case of the second response indicating the second state indicating the image, the image data generating unit executes the generation of the image data of the document element, and the print image is generated using the image data generated as a result. And a control means for performing control to discard the image data without registering it in the cache device. Is a program of the order to.

請求項1,12,13,14,15,16に係る発明によれば、文書要素の画像データがキャッシュメモリにないことがキャッシュメモリに記憶する価値が低いためなのか否かを、データ処理装置が知って対処できるようにすることができる。   According to the inventions according to claims 1, 12, 13, 14, 15, and 16, it is determined whether or not the fact that the image data of the document element is not in the cache memory is because the value stored in the cache memory is low. Can know and deal with it.

請求項2に係る発明によれば、キャッシュメモリに記憶する価値のない文書要素の画像データがいずれかのデータ処理装置により使用され続け、いつまでたっても削除できなくなることを避けることができる。   According to the second aspect of the present invention, it is possible to avoid that image data of a document element that is not worth storing in the cache memory continues to be used by any data processing device and cannot be deleted indefinitely.

請求項3に係る発明によれば、画像データをキャッシュメモリに記憶する価値があるかどうかを、キャッシュ状態により簡便に判定することができる。   According to the third aspect of the present invention, whether or not it is worth storing the image data in the cache memory can be easily determined from the cache state.

請求項4に係る発明によれば、いずれかのデータ処理装置から画像データが使用中であるときにキャッシュ状態を第2の状態に変更した文書要素の画像データを、使用されなくなった後にキャッシュメモリから追い出すことができる。   According to the fourth aspect of the present invention, the image data of the document element whose cache state is changed to the second state when the image data is being used from any of the data processing apparatuses is cached after it is no longer used. Can be kicked out of.

請求項5に係る発明によれば、キャッシュメモリ内に画像データがあるか否かをキャッシュ状態で見分けられるようにしつつも、画像データをキャッシュメモリに記憶する価値があるかどうかを判定することができる。   According to the fifth aspect of the present invention, it is possible to determine whether or not there is image data in the cache memory, while determining whether or not there is image data in the cache memory, while determining whether it is worth storing the image data in the cache memory. it can.

請求項6に係る発明によれば、新たにキャッシュメモリに記憶しようとする文書要素よりもキャッシュ優先度が低い他の文書要素の画像データがキャッシュメモリから追い出されるようにすることができる。   According to the sixth aspect of the present invention, image data of another document element having a lower cache priority than the document element to be newly stored in the cache memory can be evicted from the cache memory.

請求項7に係る発明によれば、新たにキャッシュメモリに画像データを記憶しようとする文書要素についても、キャッシュメモリに記憶する価値がなければ、その画像データのキャッシュメモリへの記憶を取りやめることができる。   According to the seventh aspect of the present invention, if a document element that is newly storing image data in the cache memory is not worth storing in the cache memory, the storage of the image data in the cache memory can be canceled. it can.

請求項8に係る発明によれば、新たにキャッシュメモリに画像データを記憶しようとする文書要素が、キャッシュメモリ内に画像データが記憶されている文書要素のすべてよりもキャッシュ優先度が低ければ、その画像データのキャッシュメモリへの記憶を取りやめることができる。   According to the invention according to claim 8, if the document element for which image data is newly stored in the cache memory has a lower cache priority than all the document elements in which the image data is stored in the cache memory, The storage of the image data in the cache memory can be canceled.

請求項9に係る発明によれば、新たにキャッシュメモリに記憶しようとする文書要素よりもキャッシュ優先度が低い他の文書要素の画像データがキャッシュメモリに記憶されないようにすることができる。   According to the ninth aspect of the present invention, it is possible to prevent image data of another document element having a lower cache priority than a document element to be newly stored in the cache memory from being stored in the cache memory.

請求項10に係る発明によれば、キャッシュする価値がないと判定された文書要素の画像データを、使用されなくなった後にキャッシュメモリから追い出すことができる。   According to the tenth aspect of the present invention, the image data of the document element determined not to be cached can be expelled from the cache memory after it is no longer used.

請求項11に係る発明によれば、キャッシュメモリに必要な空きができるのを待たせることなく、データ処理装置に処理を進めさせることができる。   According to the eleventh aspect of the present invention, it is possible to cause the data processing apparatus to proceed without waiting for the necessary space in the cache memory to be created.

第1例の印刷文書変換システムの構成及びこれが接続される印刷システムの構成の一例を示す図である。It is a figure which shows an example of a structure of the printing document conversion system of a 1st example, and a structure of the printing system to which this is connected. エントリ管理テーブルのデータ内容の一例を示す図である。It is a figure which shows an example of the data content of an entry management table. 第1例におけるキャッシュエントリの5つのステージ間の状態遷移を示す図である。It is a figure which shows the state transition between five stages of the cache entry in a 1st example. RIP部の全体的な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the whole processing procedure of a RIP part. キャッシュ管理部から応答“Miss”を受け取ったときのRIP部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a RIP part when response "Miss" is received from a cache management part. キャッシュ管理部から応答“Creating”を受け取ったときのRIP部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a RIP part when response "Creating" is received from a cache management part. RIP部から問合せを受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when an inquiry is received from a RIP part. RIP部から使用開始要求を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when a use start request | requirement is received from a RIP part. RIP部から使用終了通知を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when a use completion notification is received from a RIP part. RIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の一部を示すフローチャートである。It is a flowchart which shows a part of example of the process sequence of a cache management part when the area reservation request | requirement is received from a RIP part. RIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の残りの部分を示すフローチャートである。It is a flowchart which shows the remaining part of an example of the process sequence of a cache management part when an area reservation request | requirement is received from a RIP part. RIP部から登録要求を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when a registration request is received from a RIP part. 追い出し予約がなされたキャッシュエントリのキャッシュデータを追い出す処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which ejects the cache data of the cache entry by which the eviction reservation was made. 追い出し予約がなされたキャッシュエントリのキャッシュデータを、使用終了通知に対応する処理の中で追い出す例を示すフローチャートである。10 is a flowchart illustrating an example in which cache data of a cache entry for which eviction reservation has been made is evicted during processing corresponding to a use end notification. 追い出されたキャッシュエントリの見直し処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the review process of the evicted cache entry. 第1例において作成中のキャッシュデータの完成をRIP部に待たせるかどうかをキャッシュ管理部が判定する変形例1−1の処理手順の一部を示すフローチャートである。12 is a flowchart illustrating a part of a processing procedure of a modified example 1-1 in which the cache management unit determines whether the RIP unit waits for completion of cache data being created in the first example. 第1例において作成中のキャッシュデータの完成をRIP部に待たせるかどうかをキャッシュ管理部が判定する変形例1−1の処理手順の残りの部分を示すフローチャートである。12 is a flowchart illustrating a remaining part of a processing procedure of a modified example 1-1 in which the cache management unit determines whether the RIP unit waits for completion of cache data being created in the first example. 第1例において、RIP部が自らの負荷に応じて、作成中のキャッシュデータの完成を待つか否かの判断をスキップする変形例1−2の処理手順の要部を示すフローチャートである。In the first example, the RIP unit is a flowchart showing a main part of a processing procedure of a modified example 1-2 in which determination of whether to wait for completion of cache data being created is skipped according to its own load. 第2例におけるキャッシュエントリの5つのステージ間の状態遷移を示す図である。It is a figure which shows the state transition between five stages of the cache entry in a 2nd example. 第2例におけるRIP部から問合せを受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when an inquiry is received from the RIP part in a 2nd example. 第2例におけるRIP部から使用終了通知を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when a use completion notification is received from the RIP part in a 2nd example. 第2例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の一部を示すフローチャートである。It is a flowchart which shows a part of example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 2nd example. 第2例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の残りの部分を示すフローチャートである。It is a flowchart which shows the remaining part of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 2nd example. 第2例の変形例2−1におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の一部を示すフローチャートである。It is a flowchart which shows a part of example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in the modification 2-1 of a 2nd example. 第2例の変形例2−2におけるRIP部から問合せを受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when it receives the inquiry from the RIP part in modification 2-2 of the 2nd example. 第2例の変形例2−2におけるRIP部から使用終了通知を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when the use completion notification is received from the RIP part in modification 2-2 of the 2nd example. 第2例の変形例2−2におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の一部を示すフローチャートである。It is a flowchart which shows a part of example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in the modification 2-2 of a 2nd example. 第2例の変形例2−2におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の残りの部分を示すフローチャートである。It is a flowchart which shows the remaining part of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in the modification 2-2 of a 2nd example. 第2例の変形例2−2における追い出されたキャッシュエントリの見直し処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the review process of the evicted cache entry in the modification 2-2 of a 2nd example. 第3例におけるエントリ管理テーブルのデータ内容の一例を示す図である。It is a figure which shows an example of the data content of the entry management table in a 3rd example. 第3例におけるキャッシュエントリの5つのステージ間の状態遷移を示す図である。It is a figure which shows the state transition between five stages of the cache entry in a 3rd example. 第3例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の一部を示すフローチャートである。It is a flowchart which shows a part of example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 3rd example. 第3例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の別の一部を示すフローチャートである。It is a flowchart which shows another part of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 3rd example. 第3例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の第1方式の主要部を示すフローチャートである。It is a flowchart which shows the principal part of the 1st system of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 3rd example. 第3例の第1方式におけるRIP部から登録要求を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when a registration request | requirement is received from the RIP part in the 1st system of a 3rd example. 第3例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の第2方式の主要部を示すフローチャートである。It is a flowchart which shows the principal part of the 2nd system of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 3rd example. 第3例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の第3方式の主要部を示すフローチャートである。It is a flowchart which shows the principal part of the 3rd system of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 3rd example. 第3例の第3方式におけるRIP部から登録要求を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when a registration request | requirement is received from the RIP part in the 3rd system of a 3rd example. 第3例において、第1方式〜第3方式を動的に切り替える場合のキャッシュ管理部の処理手順の一例の一部を示すフローチャートである。In a 3rd example, it is a flowchart which shows a part of example of the process sequence of the cache management part in the case of switching a 1st system-a 3rd system dynamically. 第3例において、第1方式〜第3方式を動的に切り替える場合のキャッシュ管理部の処理手順の一例の残りの部分を示すフローチャートである。In the third example, it is a flowchart showing the remaining portion of an example of the processing procedure of the cache management unit when dynamically switching the first method to the third method. 第4例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の第1方式の主要部を示すフローチャートである。It is a flowchart which shows the principal part of the 1st system of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 4th example. 第4例の第2方式で用いるエントリ管理テーブルのデータ内容の一例を示す図である。It is a figure which shows an example of the data content of the entry management table used with the 2nd system of a 4th example. 第4例の第2方式において使用開始要求を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when the use start request | requirement is received in the 2nd system of a 4th example. 第4例の第2方式において使用終了通知を受けたときのキャッシュ管理部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a cache management part when the use completion notification is received in the 2nd system of a 4th example. 第4例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の第2方式の主要部を示すフローチャートである。It is a flowchart which shows the principal part of the 2nd system of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 4th example. 第4例におけるRIP部から領域確保要求を受けたときのキャッシュ管理部の処理手順の一例の第3方式の主要部を示すフローチャートである。It is a flowchart which shows the principal part of the 3rd system of an example of the process sequence of a cache management part when the area reservation request | requirement is received from the RIP part in a 4th example. 第4例において、第1方式〜第3方式を動的に切り替える場合のキャッシュ管理部の処理手順の一例の一部を示すフローチャートである。In the fourth example, it is a flowchart showing a part of an example of the processing procedure of the cache management unit when dynamically switching the first method to the third method. 第4例において、第1方式〜第3方式を動的に切り替える場合のキャッシュ管理部の処理手順の一例の残りの部分を示すフローチャートである。In the fourth example, it is a flowchart showing the remaining portion of an example of the processing procedure of the cache management unit when dynamically switching the first method to the third method.

以下、図面を参照して本発明の実施の形態(以下「実施形態」という)を説明する。図面において、同様の構成要素又はステップには同一符号を付す。   Hereinafter, embodiments of the present invention (hereinafter referred to as “embodiments”) will be described with reference to the drawings. In the drawings, similar constituent elements or steps are denoted by the same reference numerals.

[第1例]
《装置構成》
図1を用いて、本実施形態の第1の例の印刷文書変換システムの構成及びこれが接続される印刷システムの構成の一例を説明する。
[First example]
"Device configuration"
An example of the configuration of the print document conversion system according to the first example of the present embodiment and the configuration of a print system to which the system is connected will be described with reference to FIG.

図1に示す印刷システムは、印刷文書変換システム100,ホストコンピュータ200,印刷制御装置210及びプリンタエンジン220を備える。   The printing system shown in FIG. 1 includes a print document conversion system 100, a host computer 200, a print control device 210, and a printer engine 220.

印刷文書変換システム100は、ページ記述言語(PDL)で記述された印刷文書データを、プリンタエンジン220が取扱可能なビットマップ形式(ラスター形式とも呼ばれる)等の印刷画像データに変換する装置である。図示は省略したが、ホストコンピュータ200は、LAN(ローカルエリアネットワーク)等のネットワークを介して印刷文書変換システム100に対して接続されている。ホストコンピュータ200は、そのネットワークを介して印刷文書変換システム100に対して印刷文書データを送り、その印刷文書データの印刷を指示する。なお、図1にはホストコンピュータ200を1つしか示さなかったが、ネットワーク上に複数のホストコンピュータ200が存在していてもよい。   The print document conversion system 100 is an apparatus that converts print document data described in a page description language (PDL) into print image data such as a bitmap format (also called a raster format) that can be handled by the printer engine 220. Although not shown, the host computer 200 is connected to the print document conversion system 100 via a network such as a LAN (local area network). The host computer 200 sends print document data to the print document conversion system 100 via the network, and instructs printing of the print document data. Although only one host computer 200 is shown in FIG. 1, a plurality of host computers 200 may exist on the network.

印刷文書変換システム100は、ジョブ管理部110,n個(nは2以上の整数)のRIP部120−1,120−2,…,120−n,キャッシュ管理部130及びキャッシュメモリ140を備える。   The print document conversion system 100 includes a job management unit 110, n (n is an integer of 2 or more) RIP units 120-1, 120-2, ..., 120-n, a cache management unit 130, and a cache memory 140.

RIP( Raster Image Processor)部120−1,120−2,…,120−n(以下、ここを区別する必要がない場合はRIP部120と総称する)は、RIP処理を行うデータ処理装置である。ここで、RIP処理とは、PDLで記述された印刷文書データをプリンタエンジン220が取扱可能なビットマップ(ラスター)形式等の印刷画像データに変換する変換処理である。印刷文書変換システム100は、複数(n個)のRIP部120により、ページ単位で並列的に、すなわち最大nページを並列的に、RIP処理する。RIP処理は、描画又はレンダリングとも呼ばれる。RIP部120は、与えられたPDLのデータを例えば先頭から順に調べていき、その過程で順番に見つかった各オブジェクト(すなわち文書要素)のPDLデータを解釈し、中間言語形式又はビットマップ形式の画像データを生成する。ここで、オブジェクトには、例えば、テキスト(文字列)、図形(グラフィックス)、イメージ(連続調画像)など、いくつかの種類がある。個々のオブジェクトは、例えばPDLの描画コマンドにより表される。   RIP (Raster Image Processor) units 120-1, 120-2,..., 120-n (hereinafter collectively referred to as RIP unit 120 when it is not necessary to distinguish between them) are data processing devices that perform RIP processing. . Here, the RIP process is a conversion process for converting print document data described in PDL into print image data in a bitmap (raster) format that can be handled by the printer engine 220. The print document conversion system 100 performs RIP processing in parallel on a page basis, that is, a maximum of n pages in parallel by a plurality (n) of RIP units 120. RIP processing is also called drawing or rendering. The RIP unit 120 examines the given PDL data in order from the beginning, for example, interprets the PDL data of each object (ie, document element) found in the process, and outputs an intermediate language format or bitmap format image. Generate data. Here, there are several types of objects such as text (character string), figure (graphics), and image (continuous tone image). Each object is represented by, for example, a PDL drawing command.

RIP部120は、1つの例では、PDLのデータを直接ビットマップ形式等の印刷画像データに変換するものであってよい。また、別の例では、RIP部120は、PDLのデータを、PDLコマンドよりは粒度の小さいディスプレイリスト等の中間言語データに変換してバッファし、バッファした中間言語データをビットマップ形式に変換するという2段階の変換を行うものであってよい。   In one example, the RIP unit 120 may directly convert PDL data into print image data such as a bitmap format. In another example, the RIP unit 120 converts the PDL data into intermediate language data such as a display list having a smaller granularity than the PDL command and buffers the buffered intermediate language data into a bitmap format. The two-stage conversion may be performed.

ジョブ管理部110は、ホストコンピュータ200から印刷文書データを受け取り、それら印刷文書データの印刷処理の管理を行う。以下では、ホストコンピュータ200から受け取った1つの印刷文書データのことをジョブと呼ぶ。ホストコンピュータ200からのジョブ(印刷文書データ)には、個々の対象(例えば顧客)ごとに、データベースに記憶された各対象のデータを定型データに組み合わせて印刷する、いわゆるバリアブルプリントのジョブも含まれ得る。   The job management unit 110 receives print document data from the host computer 200 and manages print processing of the print document data. Hereinafter, one piece of print document data received from the host computer 200 is referred to as a job. Jobs (printed document data) from the host computer 200 include so-called variable print jobs in which data for each target stored in the database is combined with standard data and printed for each target (for example, a customer). obtain.

ジョブ管理部110が行う印刷処理の管理には、一般的な、ジョブ単位での印刷順序の管理の他に、1つのジョブ内の各ページを各RIP部120に割り当てるページ割当管理も含まれる。後者のページ割当管理を担当するのが、ページ割当部112である。   The management of print processing performed by the job management unit 110 includes page allocation management in which each page in one job is assigned to each RIP unit 120 in addition to general print order management in units of jobs. The page allocation unit 112 is in charge of the latter page allocation management.

例えば印刷文書データ(ジョブ)がページ独立(すなわち1つのページの描画に必要な情報がそのページのPDLデータ内に完全に記述される印刷文書データの方式)である場合には、ページ割当部112は、各RIP部120に対してそれぞれ異なるページのPDLデータを順に供給し、そのページをRIP処理させるようにしてもよい。また、別の例では、ジョブ管理部110は全てのRIP部120に印刷文書データ全体を提供し、ページ割当部112はその印刷文書データの中で処理すべきページの番号を各RIP部120に順に指示するようにしてもよい(この方式は、ページ独立、ページ非独立を問わず適用可)。   For example, when the print document data (job) is page-independent (that is, a method of print document data in which information necessary for drawing one page is completely described in the PDL data of the page), the page allocation unit 112 May sequentially supply PDL data of different pages to each RIP unit 120 and cause the pages to be RIP processed. In another example, the job management unit 110 provides the entire print document data to all the RIP units 120, and the page allocation unit 112 assigns the page number to be processed in the print document data to each RIP unit 120. You may make it instruct | indicate in order (this system is applicable regardless of page independence and page non-independence).

また、各RIP部120に対するページ割当方式も特に限定されない。ページ割当部112は、例えばRIP部120に対してあらかじめ定められた順序に従い、RIP部120−1,120−2,…,120−nに対して1,2,…nページと順にページを割り当てる動作を繰り返してもよい。また、別の例として、最初は各RIP部120に順にページを割り当て、その後は割り当てたページのRIP処理を完了した順にページの割当を行う方式も可能である。   Also, the page allocation method for each RIP unit 120 is not particularly limited. For example, the page assignment unit 112 assigns pages to the RIP units 120-1, 120-2,..., 120-n in order of 1, 2,. The operation may be repeated. As another example, a method is also possible in which pages are assigned to each RIP unit 120 in order, and then the pages are assigned in the order in which the RIP processing of the assigned pages is completed.

また、更に別の例として、各ページのRIP処理負荷量を事前(RIP処理の開始前)に見積もって、その見積もり結果に従って各RIP部120に割り当てるページをスケジューリングする方式も考えられる。ページのRIP処理負荷量は、例えば、ページに含まれる個々のオブジェクトのRIP処理負荷量を、全オブジェクトにわたって総和することで求められる。個々のオブジェクトのRIP処理負荷量は、例えば、そのオブジェクトの複雑さやサイズ(面積)などから求められる。オブジェクトの複雑さは、そのオブジェクトの種類(イメージ、フォント、グラフィックスなど)などに応じて決まっている。一般に、オブジェクトの数が多いほど処理負荷は高い。また、イメージのオブジェクトは図形オブジェクトよりも一般に処理負荷が高い。また、サイズが大きいほど一般に処理負荷が高い。このような各種のパラメータからページの処理負荷を推定する方式には様々な公知技術があり、本実施形態でもその公知技術を用いればよい。   As yet another example, a method of estimating the RIP processing load amount of each page in advance (before the start of RIP processing) and scheduling pages to be allocated to each RIP unit 120 according to the estimation result is also conceivable. The RIP processing load amount of the page is obtained by, for example, summing the RIP processing load amounts of the individual objects included in the page over all the objects. The RIP processing load amount of each object is obtained from, for example, the complexity and size (area) of the object. The complexity of an object is determined according to the type of the object (image, font, graphics, etc.). In general, the larger the number of objects, the higher the processing load. Also, image objects generally have a higher processing load than graphic objects. Also, the larger the size, the higher the processing load generally. There are various known techniques for estimating the page processing load from such various parameters, and this known technique may be used in the present embodiment.

また、各RIP部120の現在の負荷、ページのRIP処理の進捗度、処理能力(CPUの速度など)、各RIP部120がRIP処理しているページのRIP処理負荷量、割り当て対象のページのRIP処理負荷量などのパラメータのうちの一以上を考慮して、ページ割当のスケジューリングを行ってもよい。スケジューリングでは、それら例示したパラメータのうちの一部又は全部を総合的に考慮した上で、例えば、割り当て対象のページのRIP処理を最も早く完了できるRIP部120を特定し、そのRIP部120にそのページを割り当てる。この例では、ページ割当部112は、例えば、各RIP部120がRIP処理しているページのRIP処理負荷量と処理の進捗度とから、未だ処理されずに残っているRIP処理負荷量を求める。そして、この残りのRIP処理負荷量に割り当て対象のページのRIP処理負荷量を加算し、その加算結果を処理能力(あるいは処理能力から現在の負荷を減じた結果である正味の処理能力)で除することで、現在時点から残りのRIP処理負荷量と割り当て対象のページのRIP処理負荷量を合わせた量の処理を完了するまでに要する時間の表す指標値を得る。そして、各RIP部120についてそのような指標値を求め、比較することで、割り当て対象のページのRIP処理を最も早く完了できるRIP部120を特定する。   Further, the current load of each RIP unit 120, the progress of the RIP processing of the page, the processing capacity (CPU speed, etc.), the RIP processing load amount of the page that each RIP unit 120 is processing, and the allocation target page Page allocation scheduling may be performed in consideration of one or more parameters such as the RIP processing load. In the scheduling, after comprehensively considering some or all of the exemplified parameters, for example, the RIP unit 120 that can complete the RIP processing of the allocation target page earliest is identified, and Assign pages. In this example, the page allocation unit 112 obtains the RIP processing load amount that has not been processed yet, for example, from the RIP processing load amount of the page that each RIP unit 120 performs RIP processing and the progress of the processing. . Then, the RIP processing load amount of the allocation target page is added to the remaining RIP processing load amount, and the addition result is divided by the processing capability (or the net processing capability that is the result of subtracting the current load from the processing capability). By doing this, an index value is obtained that represents the time required to complete the amount of processing that combines the remaining RIP processing load amount from the current time point and the RIP processing load amount of the allocation target page. Then, by obtaining and comparing such index values for each RIP unit 120, the RIP unit 120 that can complete the RIP processing of the allocation target page earliest is specified.

なお、このような評価のためのパラメータのうち、各RIP部120の処理能力は、システム管理者等があらかじめジョブ管理部110に登録しておけばよい。また、各RIP部120がRIP処理しているページや割り当て対象のページのRIP処理負荷量は、上述のようにして求めればよい。各RIP部120の現在の負荷やRIP処理の進捗度は、次に説明する負荷監視部114が監視する。   Of the parameters for such evaluation, the processing capability of each RIP unit 120 may be registered in advance in the job management unit 110 by a system administrator or the like. Further, the RIP processing load amount of the page that each RIP unit 120 performs RIP processing or the allocation target page may be obtained as described above. The load monitoring unit 114 described below monitors the current load of each RIP unit 120 and the progress of RIP processing.

負荷監視部114は、各RIP部120の負荷状態を監視する機能モジュールである。例えば、負荷監視部114は、各RIP部120から定期的に当該RIP部120の現在の負荷の情報を受け取る。RIP部120の負荷の情報には、例えばRIP部120のプログラムを実行しているコンピュータのCPU(中央演算装置)使用率や、CPUが実行中のアクティブプロセスの数、そのコンピュータにて仮想メモリが使用中であるかどうかの情報(例えばメモリスワッピングが起こっているかどうか)などがある。RIP部120の現在の負荷をCPU使用率で代表してもよいし、CPU使用率の他にアクティブプロセス数や仮想メモリの使用状況などといった他のパラメータも総合して負荷評価値を求めてもよい。   The load monitoring unit 114 is a functional module that monitors the load state of each RIP unit 120. For example, the load monitoring unit 114 periodically receives information on the current load of the RIP unit 120 from each RIP unit 120. The load information of the RIP unit 120 includes, for example, the CPU (central processing unit) usage rate of the computer executing the program of the RIP unit 120, the number of active processes being executed by the CPU, and the virtual memory in the computer. There is information on whether it is in use (for example, whether memory swapping is occurring) or the like. The current load of the RIP unit 120 may be represented by the CPU usage rate, or other parameters such as the number of active processes and the usage status of the virtual memory may be obtained in addition to the CPU usage rate to obtain the load evaluation value. Good.

また、負荷監視部114は、各RIP部120から、それぞれ割り当てたページについてのRIP処理の進捗度合い(例えばページの何%までRIP処理が完了したか)について情報を、例えば定期的に、あるいは一定割合ずつ進捗するごとに、取得してもよい。また、RIP部120から定期的に取得される進捗度合いの時間的な変化率、または一定割合ずつ進捗するごとの時間間隔から求められる進捗度合いの時間的な変化率と、そのRIP部120がRIP中のページのデータサイズから、そのRIP部120の現在の正味の処理能力を推定し、この推定値を用いて、現在時点から残りのデータサイズと割り当て対象のページのデータサイズを合わせた量の処理を完了するまでに要する時間の表す指標値を算出してもよい。   In addition, the load monitoring unit 114 receives information on the progress degree of the RIP process for each assigned page (for example, up to what percentage of the page the RIP process is completed) from each RIP unit 120, for example, regularly or constantly. It may be acquired as the rate progresses. Further, the temporal change rate of the progress degree periodically acquired from the RIP unit 120, or the temporal change rate of the progress degree obtained from the time interval for each progress by a certain rate, and the RIP unit 120 performs the RIP The current net processing capacity of the RIP unit 120 is estimated from the data size of the middle page, and by using this estimated value, the amount of the remaining data size and the data size of the allocation target page is combined from the current time point. An index value representing the time required to complete the process may be calculated.

なお、負荷監視部114が求めた各RIP部120の負荷状況の情報は、前述したページ割当部112の判断材料として用いられる他、キャッシュ管理にも利用し得る。すなわち、例えば、RIP部120がオブジェクトをRIP処理するときに、他のRIP部120がそのオブジェクトのRIP処理を既に開始している場合に、前者が後者の処理完了を待ってその処理結果(キャッシュデータ)を流用した方がよいのか否かを判定するのに利用し得る(詳細は後述)。   Note that the load status information of each RIP unit 120 obtained by the load monitoring unit 114 can be used for cache management in addition to being used as the determination material of the page allocation unit 112 described above. That is, for example, when the RIP unit 120 performs RIP processing on an object and another RIP unit 120 has already started the RIP processing of the object, the former waits for the latter processing to be completed and the processing result (cache) (Data) can be used to determine whether or not it should be diverted (details will be described later).

各RIP部120は、ページ割当部112から割り当てられたページのPDLデータについてのRIP処理を行う際、キャッシュメモリ140を利用することで、過去(すなわち割り当てられたページより前のページ群)のRIP処理結果を再利用する。すなわち、各RIP部120は、割り当てられたページに含まれるオブジェクトのPDLデータをRIP処理する際、そのオブジェクトのRIP処理結果がすでにキャッシュメモリ140内にあれば、RIP処理は行わずにキャッシュメモリ140内のRIP処理結果を再利用することで、ページの印刷画像データに対してそのオブジェクトの画像を加える。なお、オブジェクトは、ひとまとまりの描画単位のことであり、例えば1つのPDL描画コマンドで表される。一方、オブジェクトのRIP処理結果がキャッシュメモリ140内にない場合は、RIP部120はそのオブジェクトのPDLデータをRIP処理することで、ページの印刷画像データに対してそのオブジェクトの画像を加える。また、このとき生成されたオブジェクトのRIP処理結果は、後の再利用のために、キャッシュメモリ140に登録(キャッシュ)される。   Each RIP unit 120 uses the cache memory 140 when performing RIP processing on the PDL data of the page allocated from the page allocation unit 112, so that the RIP of the past (that is, the page group before the allocated page) is used. Reuse processing results. That is, when each RIP unit 120 performs RIP processing on the PDL data of an object included in the allocated page and the RIP processing result of the object is already in the cache memory 140, the RIP processing is not performed and the cache memory 140 is not performed. By reusing the RIP processing result, the image of the object is added to the print image data of the page. An object is a group of drawing units, and is represented by, for example, one PDL drawing command. On the other hand, when the RIP processing result of the object is not in the cache memory 140, the RIP unit 120 performs the RIP process on the PDL data of the object, thereby adding the image of the object to the print image data of the page. The RIP processing result of the object generated at this time is registered (cached) in the cache memory 140 for later reuse.

キャッシュメモリ140にキャッシュされるRIP処理結果(キャッシュデータ)は、ビットマップ形式のものであってもよいし、中間言語形式のものであってもよい。キャッシュメモリ140から読み出したキャッシュデータがビットマップ形式のものであれば、RIP部120はそのキャッシュデータをページの印刷画像データに単に付加(合成)すればよい。また、キャッシュメモリ140から読み出したキャッシュデータが中間言語形式のものであれば、RIP部120はそのキャッシュデータに対して更にRIP処理を施すことでビットマップ形式の画像を生成し、生成したビットマップ形式の画像をページの印刷画像データに単に付加(合成)すればよい。   The RIP processing result (cache data) cached in the cache memory 140 may be in the bitmap format or may be in the intermediate language format. If the cache data read from the cache memory 140 is in bitmap format, the RIP unit 120 may simply add (synthesize) the cache data to the print image data of the page. If the cache data read from the cache memory 140 is in the intermediate language format, the RIP unit 120 generates a bitmap format image by further performing RIP processing on the cache data, and generates the generated bitmap. The format image may be simply added (synthesized) to the print image data of the page.

このようなキャッシュメモリ140に対する各RIP部120の読み書き(キャッシュされたRIP処理結果の読み出し、及びRIP処理結果のキャッシュメモリへの登録)を管理するのがキャッシュ管理部130である。キャッシュ管理部130は、エントリ管理テーブル132を備えており、このエントリ管理テーブル132に基づいて、各RIP部120によるキャッシュ利用を制御する。   The cache management unit 130 manages such read / write of each RIP unit 120 with respect to the cache memory 140 (reading of cached RIP processing results and registration of RIP processing results in the cache memory). The cache management unit 130 includes an entry management table 132, and controls cache usage by each RIP unit 120 based on the entry management table 132.

図2にエントリ管理テーブル132のデータ内容の一例を示す。図2の例では、最上部の見出し行以外の各行が、それぞれ1つのキャッシュエントリについての管理レコードを示している。キャッシュエントリは、印刷文書データ内のオブジェクトごとに用意される。個々のキャッシュエントリの管理レコードには、ID、ステージ、データ作成中のRIP、累計問合せ回数、使用カウンタ、キャッシュ領域のアドレス、キャッシュデータのサイズ、スコア、オブジェクト属性などの項目が含まれる。   FIG. 2 shows an example of the data contents of the entry management table 132. In the example of FIG. 2, each line other than the top heading line indicates a management record for one cache entry. A cache entry is prepared for each object in the print document data. The management record of each cache entry includes items such as ID, stage, RIP during data creation, cumulative query count, usage counter, cache area address, cache data size, score, and object attribute.

「ID」は、キャッシュエントリを識別するための一意な識別情報である。PDLの中には、イメージ(ビットマップ)やフォント、フォーム(定型画像)等といった、ジョブ内で何度も再利用される可能性のあるオブジェクトに対してIDを割り当て、印刷文書データ内にて各オブジェクトのIDを記述するものもある。例えばPDF(Portable Document Format)がその一例である。このようなPDLで記述された印刷文書データを処理する場合には、印刷文書データ中のオブジェクトのIDをキャッシュエントリのIDとして流用してもよい。また、別の例として、キャッシュ管理部130が個々のオブジェクトを識別してIDを付与してもよい。この場合、オブジェクトの識別は、例えば、PDLの描画コマンドとそのコマンドに付随するパラメータ群の組合せに基づき行えばよい。例えば、描画コマンドとそのコマンドに付随するパラメータ群の組合せが同じオブジェクトは、同一のオブジェクトと判定するなどの方式を用いればよい。   “ID” is unique identification information for identifying a cache entry. In PDL, IDs are assigned to objects that can be reused many times in a job, such as images (bitmaps), fonts, forms (standard images), etc. Some describe the ID of each object. For example, PDF (Portable Document Format) is an example. When processing such print document data described in PDL, the object ID in the print document data may be used as the ID of the cache entry. As another example, the cache management unit 130 may identify each object and assign an ID. In this case, the object may be identified based on, for example, a combination of a PDL drawing command and a parameter group attached to the command. For example, a method may be used in which objects having the same combination of a drawing command and a parameter group attached to the command are determined to be the same object.

「ステージ」は、当該キャッシュエントリの現在の状態(言い換えれば、オブジェクトのRIP結果のキャッシュ状態)を示す情報である。ステージは、ステータスとも呼ばれる。本実施形態では、“New Cache”、“Caching”、“Cached”、“Cached Out”、及び“Never Cache”の5つのステージを用いている。これら各ステージの詳細については後で説明する。   “Stage” is information indicating the current state of the cache entry (in other words, the cache state of the RIP result of the object). A stage is also called a status. In the present embodiment, five stages of “New Cache”, “Caching”, “Cached”, “Cached Out”, and “Never Cache” are used. Details of each stage will be described later.

「データ作成中のRIP」は、“New Cache”(「作成中」)ステージにあるキャッシュエントリについての項目であり、当該エントリのキャッシュデータを作成中のRIP部120の識別情報を示す。この項目は、ある第1のRIP部120があるオブジェクトをRIP処理しようとする時に、別の第2のRIP部120がそのオブジェクトのキャッシュデータを作成中である場合に、第1のRIP部120が第2のRIP部120によるキャッシュデータの作成完了を待つか待たないかの判定のための1つの材料として用いられる(具体例は後述)。この判定に「データ作成中のRIP」の情報を用いない例もあり、そのような例ではこの項目は不要である。なお、この項目に登録されたRIP部120の識別情報は、そのRIP部120からのキャッシュのための領域確保要求(後述)に対して確保失敗を返したとき、又はそのRIP部120からキャッシュデータの登録要求(後述)を受け取ったときに、キャッシュ管理部130により、作成中のRIPがないことを示す値にリセットされる。   “RIP during data creation” is an item for a cache entry in the “New Cache” (“now creating”) stage, and indicates identification information of the RIP unit 120 that is creating the cache data of the entry. This item is used when a certain first RIP unit 120 attempts to RIP an object and another second RIP unit 120 is creating cache data for the object. Is used as one material for determining whether the second RIP unit 120 waits for completion of creation of cache data or not (a specific example will be described later). There is an example in which the information of “RIP during data creation” is not used for this determination. In such an example, this item is unnecessary. Note that the identification information of the RIP unit 120 registered in this item is the cache data from the RIP unit 120 when a reservation failure is returned in response to a cache area allocation request (described later) from the RIP unit 120. When the registration request (described later) is received, the cache management unit 130 resets the value to a value indicating that no RIP is being created.

「累計問合せ回数」は、印刷文書データの先頭ページの先頭部分からRIP処理を開始した後、現在時点までの間に、RIP部120群から当該キャッシュエントリについての問合せを受けた回数の累計値である。   The “total number of inquiries” is a cumulative value of the number of inquiries about the cache entry from the RIP unit 120 group until the current time after starting the RIP process from the top part of the top page of the print document data. is there.

「使用カウンタ」は、当該キャッシュエントリのキャッシュデータが現在いくつのRIP部120により使用されているかを示す数である。ここで、RIP部120によるオブジェクトのキャッシュデータの「使用」とは、RIP部120が、現在作成中のページの印刷画像データに対しそのオブジェクトのビットマップ画像を合成するために、そのオブジェクトのキャッシュデータが読み出して用いることを意味する。   The “use counter” is a number indicating how many RIP units 120 currently use the cache data of the cache entry. Here, “use” of the cache data of the object by the RIP unit 120 means that the RIP unit 120 caches the object in order to synthesize the bitmap image of the object with the print image data of the currently created page. It means that data is read and used.

「キャッシュ領域のアドレス」は、当該キャッシュエントリのキャッシュデータ(すなわちRIP処理結果のビットマップ形式又は中間言語形式のデータ)が格納されるキャッシュメモリ140内のアドレス(例えば先頭アドレス)を示す。RIP結果のキャッシュデータがキャッシュメモリ140内に記憶されている(すなわち後述する“Cached”ステージの)キャッシュエントリについては、もちろんこの項目にアドレスが登録されている。キャッシュすることは決まっているがまだキャッシュデータが完成していない(すなわち後述する“New Cache”ステージの)オブジェクトのキャッシュエントリについても、アドレスを割り当ててこの項目に登録するようにしてもよい。逆に、RIP結果をキャッシュする価値がそもそもないと判定されたオブジェクト(後述する“Never Cache”ステージ)のキャッシュエントリや、キャッシュデータがキャッシュメモリ140から追い出された(すなわち、削除された。後述する“Cached Out”ステージの)キャッシュエントリについては、この項目の値は空値となる。   The “cache area address” indicates an address (for example, a head address) in the cache memory 140 in which the cache data of the cache entry (that is, data in the bitmap format or intermediate language format of the RIP processing result) is stored. Of course, for the cache entry in which the cache data of the RIP result is stored in the cache memory 140 (that is, in the “Cached” stage described later), the address is registered in this item. The cache entry of an object that has been determined to be cached but for which cache data has not yet been completed (that is, in the “New Cache” stage described later) may be assigned an address and registered in this item. Conversely, the cache entry and cache data of an object (“Never Cache” stage described later) determined to have no value for caching the RIP result are evicted (that is, deleted) from the cache memory 140. For cache entries (in the “Cached Out” stage), the value of this item is null.

「キャッシュデータのサイズ」は、当該キャッシュエントリのキャッシュデータのデータサイズを示す情報であり、例えばバイト、キロバイト、又はメガバイトなどの単位で表される。キャッシュデータがビットマップ形式の場合、そのデータサイズは当該キャッシュデータが表す画像の面積に対応する。例えば、イメージやフォーム、フォントなどのオブジェクトの画像サイズを描画コマンドの引数として明示するPDLも多く(例えばPDF)、このようなPDLの場合、例えばRIP部120が当該オブジェクトについてのPDL記述から画像サイズの情報を求め、その画像サイズからキャッシュデータのデータサイズが求めてエントリ管理テーブル132に登録してもよい。   The “cache data size” is information indicating the data size of the cache data of the cache entry, and is expressed in units of, for example, bytes, kilobytes, or megabytes. When the cache data is in the bitmap format, the data size corresponds to the area of the image represented by the cache data. For example, many PDLs explicitly specify the image size of an object such as an image, form, or font as an argument of a drawing command (for example, PDF). In such a PDL, for example, the RIP unit 120 determines the image size from the PDL description for the object. May be obtained, and the data size of the cache data may be obtained from the image size and registered in the entry management table 132.

「スコア」は、当該キャッシュエントリの優先度を示す評価値である。キャッシュメモリ140の容量には限りがあるので、全てのキャッシュエントリのキャッシュデータがキャッシュメモリ140内にキャッシュ(記憶)できない場合には、スコア(優先度)が相対的に高いキャッシュエントリの方が、スコアが相対的に低いキャッシュエントリよりも優先的にキャッシュされる。スコアの値は、キャッシュを利用することによる効果が高いものほど高い値となるよう、あらかじめ定めた関数等に基づき計算する。例えば、RIP処理の負荷が大きいオブジェクトほど、キャッシュデータを再利用した場合の効果が大きい。   “Score” is an evaluation value indicating the priority of the cache entry. Since the capacity of the cache memory 140 is limited, if the cache data of all cache entries cannot be cached (stored) in the cache memory 140, the cache entry having a relatively high score (priority) The cache entry is cached in preference to the cache entry having a relatively low score. The score value is calculated based on a predetermined function or the like so that the higher the effect of using the cache, the higher the value. For example, an object with a larger RIP processing load has a greater effect when the cache data is reused.

また、キャッシュデータをキャッシュメモリ140から読み出すためには、その読み出しの準備や完了などのプロトコルのために、キャッシュデータのデータサイズによらず一定のオーバーヘッド時間を要するが、そのオーバーヘッド時間はキャッシュデータのサイズが小さいほど相対的な割合は大きくなる。キャッシュデータのサイズが小さいほど、元のPDLデータからそのキャッシュデータをRIPするのに要する時間は短い。場合によっては、キャッシュデータを読み出すよりも、元のPDLデータから描画した方が早いこともある。したがって、キャッシュデータのサイズが小さくなるほど、当該オブジェクトのRIP結果をキャッシュする意義・効果は小さくなる。   Further, in order to read the cache data from the cache memory 140, a certain overhead time is required regardless of the data size of the cache data due to the protocol such as preparation and completion of the read. The smaller the size, the greater the relative proportion. The smaller the cache data size, the shorter the time required to RIP the cache data from the original PDL data. In some cases, drawing from the original PDL data may be faster than reading the cache data. Accordingly, the smaller the size of the cache data, the smaller the significance / effect of caching the RIP result of the object.

また、同じオブジェクトが描画される回数が多いほど、そのオブジェクトのRIP結果をキャッシュする意義・効果は大きくなる。   In addition, the greater the number of times the same object is drawn, the greater the significance and effect of caching the RIP result of that object.

本実施形態では、このような考え方に従って、各キャッシュエントリのスコアを計算する。   In the present embodiment, the score of each cache entry is calculated according to such a concept.

スコアを決めるパラメータとしては、例えば、オブジェクトの種類がある。イメージ(ビットマップ)の方が、フォントやグラフィックス(図形)よりも一般的にRIP処理の負荷が大きいため、キャッシュの効果が高くなり、従ってスコアも高くなる。   As a parameter for determining the score, for example, there are types of objects. Since an image (bitmap) generally has a larger load of RIP processing than fonts and graphics (graphics), the effect of caching is increased, and thus the score is also increased.

また、オブジェクトの複雑さを、スコアを決めるパラメータとして用いてもよい。オブジェクトの複雑さは、例えば、 そのオブジェクトに含まれる子オブジェクトの数や種類などから定義する。すなわち、フォーム(定型書式を表すオブジェクト)などのオブジェクトは、イメージやテキストなどといった子オブジェクトの組合せにより表現される。このようなオブジェクトについては、例えば、各オブジェクト種類に属する子オブジェクトの数とその種類に固有の重みとの積を、全種類にわたって総和するなどの方式で、そのオブジェクトの複雑さを求める。オブジェクト種類に固有の重みは、キャッシュ効果が高い種類ほど大きな値となる正の数である。例えば、イメージの重み は、グラフィックスやテキストの重みよりも大きい。このようにして求められた複雑さが高い(例えば数値として大きい)ほど、スコアも高くなる。もちろん、複雑さの求め方はこの例に限られるものではない。オブジェクトを記述するPDLデータの長さ(データサイズ)やそのデータに含まれるコマンド数などを考慮して複雑さを規定してもよい。   Further, the complexity of the object may be used as a parameter for determining the score. The complexity of an object is defined by, for example, the number and types of child objects included in the object. That is, an object such as a form (an object representing a fixed form) is represented by a combination of child objects such as an image and text. For such an object, for example, the complexity of the object is obtained by a method of summing the product of the number of child objects belonging to each object type and the weight specific to the type over all types. The weight specific to the object type is a positive number that becomes a larger value as the type having a higher cache effect. For example, image weights are greater than graphics and text weights. The higher the complexity obtained in this way (for example, the larger the numerical value), the higher the score. Of course, the method of obtaining complexity is not limited to this example. Complexity may be defined in consideration of the length (data size) of PDL data describing an object, the number of commands included in the data, and the like.

また、オブジェクト種類が同じ子オブジェクトを一律に扱うのではなく、その子オブジェクトの属性(例えば、ビットマップに展開した場合の画像のサイズや、そのオブジェクトを描画するために必要な処理の種類など)に応じて、個々の子オブジェクトの重みを求めてもよい。   Also, instead of uniformly handling child objects of the same object type, the attributes of the child object (for example, the size of the image when expanded to a bitmap, the type of processing necessary to draw the object, etc.) Accordingly, the weight of each child object may be obtained.

例えば、イメージの場合、色空間変換(例えばRGBからCMYKへの変換)が必要なオブジェクトの方が、そうでないオブジェクトよりも処理負荷が重いので、色空間変換がある場合とない場合とで重みを異ならせてもよい。また、描画のための拡大率が小さい方が処理負荷が重いので、拡大率に応じて異なった重みとしてもよい。また、描画のために元のイメージデータを回転させる回転角に応じて、重みを異ならせてもよい。異なる回転角同士の間での処理負荷の比較では、例えば、回転角が0度の場合が最も処理負荷が軽く、90度、180度、270度などといった90度刻みのよく用いられる回転角の場合の処理負荷は、0度の場合よりも重いが、それ以外の自由な回転角の場合よりも軽い。また、そのような色空間変換や拡大、回転などの処理の対象となる元のイメージデータのサイズが大きいほど、処理対象の画素数が増えるので、処理負荷は重くなる。したがって、元のイメージデータの画素数に応じて重みを異ならせてもよい。   For example, in the case of an image, an object that requires color space conversion (for example, conversion from RGB to CMYK) has a heavier processing load than an object that does not, so weight is given depending on whether or not there is color space conversion. It may be different. Moreover, since the processing load is heavier when the enlargement ratio for drawing is smaller, different weights may be used depending on the enlargement ratio. Further, the weight may be varied according to the rotation angle for rotating the original image data for drawing. In comparison of processing load between different rotation angles, for example, when the rotation angle is 0 degree, the processing load is lightest, and the rotation angle frequently used in increments of 90 degrees such as 90 degrees, 180 degrees, 270 degrees, etc. The processing load in this case is heavier than in the case of 0 degree, but lighter than in the case of other free rotation angles. Further, the larger the size of the original image data to be processed such as color space conversion, enlargement, and rotation, the greater the processing load because the number of pixels to be processed increases. Therefore, the weight may be varied according to the number of pixels of the original image data.

また、オブジェクトの種類によらず、オブジェクトの形状(フォントの場合の形状とは、フォントの形状ではなく、フォントを表現するビットマップの形状のこと)が長方形か否か、すなわち、クリップされているか否か(オブジェクトが長方形の場合はクリップが不要であり、長方形でなければクリップが必要である)、に応じて重みを異ならせてもよい。一般的に長方形(クリップされていない)の場合の方が処理負荷が軽い。   Regardless of the type of object, whether the shape of the object (the shape in the case of a font is not the shape of a font but the shape of a bitmap representing a font) is a rectangle, that is, whether it is clipped Depending on whether or not (the clip is not necessary if the object is rectangular, the clip is necessary if the object is not rectangular), the weight may be varied. In general, the processing load is lighter in the case of a rectangle (not clipped).

また、フォントオブジェクトの場合も、イメージオブジェクトと同様、回転しているか否か、あるいは回転角に応じて重みを異ならせてもよい。   Also, in the case of a font object, the weight may be varied depending on whether or not the object is rotated or the rotation angle, as in the case of the image object.

また、オブジェクトの描画に当たってスムースシェード処理(グラデーション処理)を行う場合は、処理負荷が重くなる。一般に、スムースシェードの処理負荷は、イメージの描画よりも軽いが、グラフィックスやテキストの描画よりも重い。したがって、スムースシェード処理を行うか否かで異なる重みを用いてもよい。また1つのオブジェクト内でのスムースシェード処理による色の変化の量に応じても処理負荷が変わるので、スムースシェード処理を行う場合、その処理での色の変化量に応じて重みを異ならせてもよい。   Further, when smooth shade processing (gradation processing) is performed for drawing an object, the processing load becomes heavy. In general, the processing load of a smooth shade is lighter than that of drawing an image, but heavier than that of drawing graphics or text. Accordingly, different weights may be used depending on whether smooth shade processing is performed. In addition, since the processing load also changes depending on the amount of color change by smooth shade processing within one object, when performing smooth shade processing, the weight may be varied according to the amount of color change in that processing. Good.

1つのオブジェクトについての総合的な重みは、以上に例示した様々な属性パラメータ(例えば、色空間変換の有無、拡大率、回転角、クリップ処理の要否、スムースシェード処理の要否など)についての重みを総合(例えば乗算や加算など。具体的な総合のための演算の仕方は、重みの値の決め方などといった実装に依存する)することで求めればよい。   The total weight of one object is the various attribute parameters exemplified above (for example, whether or not color space conversion is performed, enlargement ratio, rotation angle, necessity of clip processing, necessity of smooth shade processing, etc.). What is necessary is just to obtain | require weight by totaling (for example, multiplication, addition, etc. The method of calculation for specific total depends on implementation, such as how to determine the value of a weight).

また、オブジェクトを記述するPDLデータのサイズを、スコアを決めるパラメータとして用いてもよい。PDLデータのサイズが大きいほど、例えばRIP処理のための解釈処理に時間を要するため、RIP処理の負荷が大きくなると言える。したがって、一例では、PDLデータのサイズが大きくなるほどスコアが高くなる。   Further, the size of PDL data describing the object may be used as a parameter for determining the score. It can be said that the larger the size of the PDL data, the more time is required for interpretation processing for RIP processing, for example. Therefore, in one example, the score increases as the size of the PDL data increases.

また、同様の考え方で、オブジェクトを記述するPDLデータをRIP処理するのに要する時間を、スコアを決めるパラメータとして用いてもよい。この所要時間は、例えば当該オブジェクトのPDLデータをRIP処理した時に求めればよい。   Further, based on the same concept, the time required for RIP processing of PDL data describing an object may be used as a parameter for determining a score. This required time may be obtained, for example, when the PDL data of the object is RIP processed.

また、オブジェクトのキャッシュデータ(すなわちRIP処理結果のビットマップ又は中間言語形式のデータ)のサイズを、スコアを決めるパラメータとして用いてもよい。例えば、前述した理由からキャッシュデータのサイズが小さくなるほど、当該オブジェクトのRIP結果をキャッシュする意義・効果は小さくなるので、一例では、キャッシュデータのサイズが大きくなるほどスコアが高くなる。また、ビットマップ形式のキャッシュデータをページに描画(すなわちページの印刷画像データに合成)するのには、データのサイズ(画素数に比例)に応じた時間がかかるので、この意味でも、キャッシュデータのサイズはスコアを決めるパラメータとなる。   Further, the size of the cache data of the object (that is, the bitmap of the RIP processing result or the data in the intermediate language format) may be used as a parameter for determining the score. For example, for the reasons described above, the smaller the cache data size is, the smaller the significance and effect of caching the RIP result of the object is. Therefore, in one example, the larger the cache data size, the higher the score. In addition, in order to draw bitmap format cache data on a page (that is, to combine with print image data of the page), it takes time corresponding to the data size (proportional to the number of pixels). The size of is a parameter that determines the score.

また、同様の考え方で、キャッシュメモリ140とRIP部120との間でオブジェクトのキャッシュデータを転送するのに要する時間を、当該オブジェクトのスコアを決めるパラメータとして用いてもよい。例えば、転送に要する時間が長いほど、キャッシュ転送のためのオーバーヘッド時間の割合が相対的に低くなるので、キャッシュすることによるペナルティが相対的に低い(逆に言えば、キャッシュの効果が高い)と言える。   In the same way, the time required to transfer the cache data of the object between the cache memory 140 and the RIP unit 120 may be used as a parameter for determining the score of the object. For example, the longer the time required for transfer, the lower the overhead time ratio for cache transfer, so the penalty for caching is relatively low (in other words, the cache effect is high) I can say that.

また、中間言語形式のデータをキャッシュする場合 には、中間言語形式のキャッシュデータをRIP部120がビットマップ形式にRIPするのに要する時間を、スコアを決めるパラメータとして用いてもよい。この所要時間が短いほど、キャッシュデータを再利用することの効果が大きいので、スコアも高くなる。   When intermediate language data is cached, the time required for the RIP unit 120 to RIP the intermediate language data to the bitmap format may be used as a parameter for determining the score. The shorter the required time, the greater the effect of reusing cache data, and the higher the score.

また、RIP部120は、オブジェクトのRIP処理を開始しようとする際、キャッシュ管理部130にそのオブジェクトのキャッシュデータがあるか否かを問い合わせ、あればそのキャッシュデータを利用するが、そのような問合せの回数が多いほど、キャッシュしておく価値が高いといえる。したがって、前述の累計問合せ回数を、スコアを決めるパラメータの1つとして用いてもよい。累計問合せ回数が多いほどスコアは高くなる。   Further, when the RIP unit 120 tries to start the RIP processing of an object, the RIP unit 120 inquires whether there is cache data of the object in the cache management unit 130, and if so, uses the cache data. It can be said that the greater the number of times, the higher the value of caching. Therefore, the above-mentioned cumulative inquiry count may be used as one of the parameters for determining the score. The higher the total number of inquiries, the higher the score.

なお、各キャッシュエントリの累計問合せ回数は、時間の経過に従って単調増加する(すなわち減りはしない)。したがって、一例では、時間の経過に従った累計問合せ回数の単調増加に応じて、全てのキャッシュエントリのスコアが単調増加するようにしてもよい。   Note that the cumulative number of queries for each cache entry increases monotonously (that is, does not decrease) over time. Therefore, in one example, the scores of all the cache entries may be monotonically increased in accordance with the monotonous increase in the cumulative number of queries over time.

また、スコアの本質は、キャッシュエントリ同士の間でキャッシュする価値に関する優劣の順位付けをするものなので、別の例では、判断する時点ごとに全キャッシュエントリのスコアをあらかじめ定められた範囲内の値へと正規化してもよい。この場合、累積問合せ回数が増えてもスコアの値そのものは上昇するとは限らない。ただし、累積問合せ回数の増加度合いが他のキャッシュエントリより多ければ、そのスコアの全キャッシュエントリ内での順位は上昇する。   In addition, because the essence of the score is a ranking of the superiority and inferiority of the value cached between the cache entries, in another example, the score of all the cache entries is a value within a predetermined range at each judgment time point. You may normalize to. In this case, even if the cumulative inquiry count increases, the score value itself does not always increase. However, if the cumulative query count increases more than other cache entries, the ranking of all scores in the cache entries increases.

以上に例示したパラメータはあくまで例に過ぎず、その他のパラメータも考えられる。スコアは、それらパラメータのうちの1以上に基づき計算すればよい。キャッシュ管理部130は、この計算のために、例えば、それらパラメータのうちの1以上を引数とする関数、または、それらパラメータのうちの1以上に対応づけてスコアを登録したテーブルなどを用いる。なお、このようにキャッシュ優先度を表すスコアを計算する関数やテーブルは、従来も用いられており、そのような公知の関数又はテーブルを用いてもよい。   The parameters exemplified above are merely examples, and other parameters are also conceivable. The score may be calculated based on one or more of those parameters. For this calculation, the cache management unit 130 uses, for example, a function having one or more parameters as an argument, or a table in which scores are registered in association with one or more parameters. It should be noted that functions and tables for calculating scores representing cache priorities are also used in the past, and such known functions or tables may be used.

再び図2の説明に戻り、エントリ管理テーブル132に登録される項目「オブジェクト属性」は、当該オブジェクトの1以上の属性項目の情報が含まれる。オブジェクトの属性項目には、例えば、オブジェクトの種類、オブジェクトを表すPDLデータのサイズ、オブジェクトの複雑さなどが含まれる。これら属性項目の情報は、例えば、既に前述のスコアについての説明の中で示した方法等を用いて、当該オブジェクトのPDL記述を解析することで求めればよい。これら各属性項目は、例えば前述のスコアを計算するのに用いられる。   Returning to the description of FIG. 2 again, the item “object attribute” registered in the entry management table 132 includes information of one or more attribute items of the object. Object attribute items include, for example, the type of object, the size of PDL data representing the object, the complexity of the object, and the like. Information on these attribute items may be obtained, for example, by analyzing the PDL description of the object using the method already described in the description of the score. Each of these attribute items is used to calculate the above-mentioned score, for example.

キャッシュ管理部130は、エントリ管理テーブル132を参照して、各RIP部120からのキャッシュメモリ140への読み書きのアクセスに応答する。また、キャッシュ管理部130は、そのようなアクセス等に応じて、エントリ管理テーブル132のデータ内容の更新を行う。キャッシュ管理部130の処理動作については、後で具体例を挙げて更に詳細に説明する。   The cache management unit 130 refers to the entry management table 132 and responds to read / write access to the cache memory 140 from each RIP unit 120. Further, the cache management unit 130 updates the data contents of the entry management table 132 in accordance with such access. The processing operation of the cache management unit 130 will be described in more detail later with a specific example.

各RIP部120は、担当するページのPDLデータに対してRIP処理を行い、またそのページ内のオブジェクトのうちキャッシュメモリ140内にキャッシュデータがあるものはそのキャッシュデータを用いることで、割り当てられたページの印刷画像データを生成する。そして、RIP部120は、生成したページの印刷画像データを印刷制御装置210に送る。   Each RIP unit 120 performs RIP processing on the PDL data of the page in charge, and among the objects in the page, those having cache data in the cache memory 140 are allocated by using the cache data. Print image data for the page is generated. Then, the RIP unit 120 sends the generated print image data of the page to the print control apparatus 210.

以上に説明した印刷文書変換システム100の構成要素のうち、キャッシュメモリ140は、例えば、ランダムアクセスメモリなどの高速に読み書きが可能なメモリから構成される。また、キャッシュメモリ140以外の各構成要素、すなわちジョブ管理部110、各RIP部120及びキャッシュ管理部130は、前述及び後述するそれら各構成要素の機能を記述したプログラムをコンピュータに実行させることにより実現される。1つの例では、ジョブ管理部110、各RIP部120及びキャッシュ管理部130が共通の1つのコンピュータ上にて実現されてもよい。この場合、各構成要素同士の情報のやりとりは、例えばプロセス間通信やスレッド間通信により行えばよい。また別の例では、ジョブ管理部110、各RIP部120及びキャッシュ管理部130が、それぞれ別々のコンピュータ上に実現されてもよい。この場合、各構成要素同士の情報のやりとりは、例えば、それら各要素間を結ぶネットワークのプロトコルを用いて行えばよい。また、更に別の例では、それら各構成要素のうちの2以上を1つのコンピュータ上に実現することで、印刷文書変換システム100全体をそれら構成要素の数よりも少ない数のコンピュータで実現してもよい。例えば、ジョブ管理部110とキャッシュ管理部130とを同一のコンピュータに実装し、両者が管理するデータベース(例えばジョブ管理部110が管理する各オブジェクトの情報と、キャッシュ管理部130が管理するエントリ管理テーブル132)を一元化することも考えられる。いずれの場合も、キャッシュメモリ140は、キャッシュ管理部130が実装されるコンピュータ上のメモリに構築する。また、いずれの場合も、使用するコンピュータは、シングルプロセッサのものでもマルチプロセッサのものでもよい。マルチプロセッサのコンピュータを用いる場合は、マルチプロセッサを構成する個々のプロセッサコアをそれぞれ別々のRIP部120に割り当てるなどの運用も考えられる。   Of the components of the print document conversion system 100 described above, the cache memory 140 is configured by a memory that can be read and written at high speed, such as a random access memory. In addition, each component other than the cache memory 140, that is, the job management unit 110, each RIP unit 120, and the cache management unit 130 is realized by causing a computer to execute a program that describes the functions of the respective components described above and later. Is done. In one example, the job management unit 110, each RIP unit 120, and the cache management unit 130 may be realized on a common computer. In this case, information exchange between the constituent elements may be performed by, for example, interprocess communication or interthread communication. In another example, the job management unit 110, each RIP unit 120, and the cache management unit 130 may be realized on separate computers. In this case, information exchange between the constituent elements may be performed using, for example, a network protocol that connects the constituent elements. In yet another example, by implementing two or more of these components on one computer, the entire print document conversion system 100 can be realized by a smaller number of computers than the number of components. Also good. For example, the job management unit 110 and the cache management unit 130 are mounted on the same computer and are managed by a database (for example, information on each object managed by the job management unit 110 and an entry management table managed by the cache management unit 130). It is also possible to unify 132). In either case, the cache memory 140 is constructed in a memory on a computer on which the cache management unit 130 is mounted. In either case, the computer to be used may be a single processor or a multiprocessor. When a multiprocessor computer is used, an operation such as assigning individual processor cores constituting the multiprocessor to different RIP units 120 is also conceivable.

プリンタエンジン220は、印刷画像データが表す画像をインクやトナーなどの色材を用いて用紙に対して印刷する印刷ハードウエアである。印刷制御装置210は、プリンタエンジン220を制御する装置であり、通信ケーブルやネットワーク(ホストコンピュータ200・印刷文書変換システム100間のネットワークと同じものでも異なるものでもよい)を介して印刷文書変換システム100と通信する。そして、その通信により、各ページの印刷画像データを受信したり、印刷制御のために必要な各種の制御情報をやりとりしたりする。また、印刷制御装置210は、受信した各ページの印刷画像データを蓄積し、印刷順序に従ってプリンタエンジン220に供給する。プリンタエンジン220は、受け取った印刷画像データを用紙に印刷する。   The printer engine 220 is printing hardware that prints an image represented by print image data on paper using a color material such as ink or toner. The print control apparatus 210 is an apparatus that controls the printer engine 220, and the print document conversion system 100 via a communication cable or a network (which may be the same as or different from the network between the host computer 200 and the print document conversion system 100). Communicate with. Through the communication, print image data of each page is received and various control information necessary for print control is exchanged. Also, the print control apparatus 210 accumulates the received print image data of each page and supplies it to the printer engine 220 according to the print order. The printer engine 220 prints the received print image data on paper.

さて、複数のRIP部120が、キャッシュメモリ140を介してRIP処理結果を再利用しつつ並列的に動作するシステムでは、あるRIP部120(第1のRIP部と呼ぶ)があるオブジェクトのRIP処理を開始しようとした時点で、別のRIP部120(第2のRIP部と呼ぶ)がそのオブジェクトのRIP処理を実行中である場合がある。このような状況では、キャッシュメモリ140にはそのオブジェクトのRIP処理結果のキャッシュデータはまだ存在しない。このような状況では、第1のRIP部の取り得る選択肢としては、次の2つが考えられる。最初の選択肢は、第2のRIP部のRIP処理完了を待って、その完了に伴ってキャッシュメモリ140に登録されたキャッシュデータを利用するという処理である。第2の選択肢は、第2のRIP部のRIP処理完了を待たずに、同じオブジェクトのPDLデータのRIP処理を行うというものである。しかし、従来のRIP結果のキャッシュ管理方式では、第1のRIP部からの問合せに対してキャッシュメモリ側はキャッシュデータがあるかないか(すなわち“Hit”(ヒット)又は“Miss”(ミス))の応答しか返さない。すなわち、前述の状況では、キャッシュメモリ側は、第1のRIP部に対して、問い合わせたオブジェクトのキャッシュデータが無い(“Miss”)旨の応答をすることになる。この場合、当該オブジェクトのキャッシュデータを他のRIP部が作成中であることが分からない以上、第1のRIP部には選択肢はそもそも無く、そのオブジェクトのPDLデータをRIP処理するしかない。また、第1のRIP部は、そのRIP処理結果を、第2のRIP部のRIP処理結果と重複してキャッシュメモリに登録しようとすることになる。   In a system in which a plurality of RIP units 120 operate in parallel while reusing RIP processing results via the cache memory 140, RIP processing of an object having a certain RIP unit 120 (referred to as a first RIP unit) There is a case where another RIP unit 120 (referred to as a second RIP unit) is executing the RIP process for the object at the time of starting the operation. In such a situation, the cache memory 140 does not yet have cache data as a result of the RIP processing of the object. In such a situation, there are two possible options for the first RIP unit. The first option is a process of waiting for the completion of the RIP process of the second RIP unit and using the cache data registered in the cache memory 140 upon completion. The second option is to perform RIP processing of PDL data of the same object without waiting for completion of RIP processing of the second RIP unit. However, in the conventional cache management method for the RIP result, whether there is cache data on the cache memory side (that is, “Hit” or “Miss”) in response to the query from the first RIP unit. Returns only a response. In other words, in the above situation, the cache memory side responds to the first RIP unit that there is no cache data of the inquired object (“Miss”). In this case, since it is not known that the cache data of the object is being created by another RIP unit, the first RIP unit has no choice in the first place, and only has to perform RIP processing on the PDL data of the object. In addition, the first RIP unit tries to register the RIP processing result in the cache memory so as to overlap the RIP processing result of the second RIP unit.

これに対し、本実施形態では、第1のRIP部から問い合わせられたオブジェクトのキャッシュデータが第2のRIP部で既に作成中であるが未完成である場合、キャッシュ管理部130がその状況を第1のRIP部に通知することで、第1のRIP部がその状況に応じた処置をとれるようにする。そのための構成を、以下に詳しく説明する。   On the other hand, in the present embodiment, when the cache data of the object inquired from the first RIP unit is already created in the second RIP unit but is not completed, the cache management unit 130 changes the status to the first. By making a notification to one RIP unit, the first RIP unit can take measures according to the situation. The configuration for this will be described in detail below.

《第1例の状態遷移》
そこで、まず図3を参照して、キャッシュ管理部130での管理のために用いられる、キャッシュエントリのステージ(Stage)について説明する。本実施形態では、キャッシュエントリのステージ(すなわちステータス)として、“New Cache”、“Caching”、“Cached”、“Cached Out”、及び“Never Cache”の5つを用いている。説明の便宜上、それら5つのステージに対して1から順に通し番号を割り当てる。図3は、それら5つのステージ間の状態遷移図である。
<< State transition of the first example >>
First, the cache entry stage (Stage) used for management by the cache management unit 130 will be described with reference to FIG. In the present embodiment, five cache entry stages (that is, statuses) of “New Cache”, “Caching”, “Cached”, “Cached Out”, and “Never Cache” are used. For convenience of explanation, serial numbers are assigned to the five stages in order from 1. FIG. 3 is a state transition diagram between these five stages.

<ステージ1> “New Cache”(新規キャッシュ、すなわちキャッシュデータ「作成中」)は、当該キャッシュエントリのキャッシュデータが作成中であり、まだキャッシュメモリ内には存在しないことを示すステージである。キャッシュ管理部130は、いずれかのRIP部120からあるオブジェクトについてのキャッシュデータについての最初の問合せを受けた時に、当該オブジェクトに対応するキャッシュエントリを生成し、そのキャッシュエントリのステージを“New Cache”とし、そのRIP部120に“Miss”(「キャッシュデータがない」)を応答することで、そのRIP部120にそのオブジェクトのRIP処理(すなわちキャッシュデータの作成)を開始させる。   <Stage 1> “New Cache” (new cache, that is, cache data “being created”) is a stage indicating that the cache data of the cache entry is being created and does not yet exist in the cache memory. When the cache management unit 130 receives an initial inquiry about cache data for an object from any RIP unit 120, the cache management unit 130 generates a cache entry corresponding to the object, and sets the stage of the cache entry to “New Cache”. In response to the response “Miss” (“no cache data”) to the RIP unit 120, the RIP unit 120 is caused to start RIP processing (that is, creation of cache data) of the object.

また、後述する“Caching”ステージにあるキャッシュエントリに対していずれかのRIP部120から問合せがあった場合、そのエントリのステージは“New Cache”に遷移する。   In addition, when any RIP unit 120 makes an inquiry to a cache entry in a “Caching” stage, which will be described later, the stage of that entry transitions to “New Cache”.

“New Cache”ステージにあるキャッシュエントリに対してRIP部120から問合せがあると、キャッシュ管理部130は、“Creating”というコードを応答する。応答“Creating”は、当該キャッシュエントリのデータが別のRIP部120により作成中であることを示す。   When there is a query from the RIP unit 120 to the cache entry in the “New Cache” stage, the cache management unit 130 responds with a code “Creating”. The response “Creating” indicates that the data of the cache entry is being created by another RIP unit 120.

<ステージ2> “Caching”(空き待ち)は、キャッシュ領域が空くのを待機する状態である。“Caching”ステージは、当該キャッシュエントリのキャッシュデータがキャッシュメモリ140内にないという点では上述の“New Cache”ステージと同じであるが、どのRIP部120もそのキャッシュデータを現在作成中ではない点で、上述の“New Cache”とは異なる。   <Stage 2> “Caching” (waiting for free) is a state of waiting for the cache area to become free. The “Caching” stage is the same as the “New Cache” stage described above in that the cache data of the cache entry is not in the cache memory 140, but no RIP unit 120 is currently creating the cache data. Thus, it is different from the above “New Cache”.

“Caching”ステージへ遷移する1つの例は、前述したステージ1“New Cache”からの遷移である。すなわち、“New Cache”ステージにあるキャッシュエントリについていずれかのRIP部120がキャッシュデータを作成しようとする際に、キャッシュメモリ140内にそのキャッシュデータを記憶する領域が空いていなければ、当該キャッシュエントリは“Caching”ステージに遷移する。“Caching”ステージにあるキャッシュエントリは、時間の経過に伴って他のキャッシュエントリのキャッシュデータがキャッシュメモリ140から追い出され(すなわち削除され)、当該キャッシュエントリのための空き領域ができるのを待つ。   One example of transition to the “Caching” stage is the transition from the stage 1 “New Cache” described above. That is, when any RIP unit 120 attempts to create cache data for a cache entry in the “New Cache” stage, if the cache memory 140 does not have an area for storing the cache data, the cache entry Transitions to the “Caching” stage. The cache entry in the “Caching” stage waits for the cache data of another cache entry to be evicted (that is, deleted) from the cache memory 140 as time elapses, and a free area is created for the cache entry.

ただし、“New Cache”から“Caching”への遷移は、当該キャッシュエントリがキャッシュする価値があると判定された場合のことである。当該キャッシュエントリがキャッシュする価値がないと判定された場合(例えばスコアが、現在キャッシュメモリ140内にキャッシュデータのある他のいずれのキャッシュエントリよりも低い場合)には、ステージは“Caching”にではなく次に説明する“Cached Out”(キャッシュ外)に遷移する。   However, the transition from “New Cache” to “Caching” is a case where it is determined that the cache entry is worth caching. If it is determined that the cache entry is not worth caching (for example, if the score is lower than any other cache entry that currently has cache data in the cache memory 140), the stage will be "Caching" Instead, the process shifts to “Cached Out” (outside the cache) described below.

また、“Caching”ステージに遷移する別の例としては、後述するステージ4すなわち“Cached Out”(キャッシュ外)ステージからの遷移がある(詳細は“Cached Out”ステージの説明にて述べる)。   Further, as another example of transition to the “Caching” stage, there is transition from a stage 4 described later, that is, a “Cached Out” stage (details will be described in the description of the “Cached Out” stage).

“Caching”ステージにあるキャッシュエントリに対していずれかのRIP部120から問合せがあると、キャッシュ管理部130は、そのキャッシュエントリのステージを1すなわち“New Cache”に遷移し、“Miss”(「キャッシュデータがない」)を応答する。これに応じ、RIP部120は、そのキャッシュエントリのキャッシュデータの作成のための処理を開始する。   When there is an inquiry from any RIP unit 120 for a cache entry in the “Caching” stage, the cache management unit 130 changes the stage of the cache entry to 1, that is, “New Cache”, and “Miss” (“ "There is no cache data"). In response to this, the RIP unit 120 starts processing for creating cache data of the cache entry.

<ステージ3> “Cached”(キャッシュ済)は、当該キャッシュエントリのキャッシュデータがキャッシュメモリ140内に記憶されている状態である。“Cached”ステージには、前述したステージ1“New Cache”から遷移する。すなわち、“New Cache”ステージにあるキャッシュエントリについていずれかのRIP部120がキャッシュデータを作成しようとする際に、キャッシュメモリ140内にそのキャッシュデータを記憶する領域が確保でき、その領域にキャッシュデータが作成され登録されると、当該キャッシュエントリは“Cached”ステージに遷移する。   <Stage 3> “Cached” (cached) is a state in which the cache data of the cache entry is stored in the cache memory 140. The “Cached” stage transitions from the above-described stage 1 “New Cache”. That is, when any RIP unit 120 tries to create cache data for a cache entry in the “New Cache” stage, an area for storing the cache data can be secured in the cache memory 140, and the cache data is stored in the area. Is created and registered, the cache entry transitions to the “Cached” stage.

“Cached”ステージにあるキャッシュエントリにいずれかのRIP部120から問合せがあると、キャッシュ管理部130は、“Hit”(「キャッシュデータがある」)を応答する。この応答を受けたRIP部120は、自らPDLデータをRIP処理する代わりに、キャッシュメモリ140からそのキャッシュデータを受け取ってそのオブジェクトの画像を生成する。   If there is an inquiry from any RIP unit 120 to a cache entry in the “Cached” stage, the cache management unit 130 responds with “Hit” (“cache data is present”). Upon receiving this response, the RIP unit 120 receives the cache data from the cache memory 140 and generates an image of the object instead of performing RIP processing on the PDL data.

“Cached”ステージにあるキャッシュエントリは、キャッシュメモリ140の空き容量が少なくなると、“Cached Out”(キャッシュ外)に遷移する場合がある。概略的には、新たなキャッシュエントリのキャッシュデータをキャッシュメモリ140へ登録するよう要求された時に、そのキャッシュデータのデータ量がキャッシュメモリ140の空き容量を超えている場合、“Cached”ステージにあるキャッシュエントリの中から選ばれたエントリのキャッシュデータがキャッシュメモリ140から追い出される(削除される)。キャッシュメモリ140から追い出されるのは、例えば、その時点でいずれのRIP部120からもキャッシュデータが使用(参照)されていないキャッシュエントリである。このようにしてキャッシュデータが追い出されたキャッシュエントリのステージは、“Cached”から“Cached Out”に遷移する。また、その時点でいずれかのRIP部120からキャッシュデータが使用(参照)されているキャッシュエントリについては、使用中のRIP部120への悪影響を避けるには、その使用が終わるまではキャッシュデータを追い出せないが、使用が終われば追い出してもよくなる。そこで、キャッシュデータが使用中の段階でそのキャッシュエントリのステージを“Cached Out”に遷移させることで、いわば追い出しの予約を行ってもよい。追い出しの対象となるキャッシュエントリをスコアにより絞り込んでもよい。   A cache entry in the “Cached” stage may transition to “Cached Out” (out of cache) when the free capacity of the cache memory 140 decreases. In general, when the cache data of a new cache entry is requested to be registered in the cache memory 140 and the amount of the cache data exceeds the free capacity of the cache memory 140, the cache data is in the “Cached” stage. The cache data of the entry selected from the cache entries is evicted (deleted) from the cache memory 140. What is evicted from the cache memory 140 is, for example, a cache entry whose cache data is not used (referenced) by any RIP unit 120 at that time. The stage of the cache entry from which the cache data is evicted in this way transitions from “Cached” to “Cached Out”. In addition, with respect to a cache entry in which cache data is being used (referenced) from any RIP unit 120 at that time, in order to avoid adverse effects on the RIP unit 120 being used, the cache data is not used until the use ends. It can't be kicked out, but it can be kicked out after use. Therefore, it is possible to make a reservation for eviction by changing the stage of the cache entry to “Cached Out” when the cache data is in use. Cache entries to be evicted may be narrowed down by score.

<ステージ4> “Cached Out”(キャッシュ外、すなわち追い出し済)は、当該キャッシュエントリのキャッシュデータがキャッシュメモリ140から追い出された状態、又は追い出しの予約をされている状態である。このステージにあるキャッシュエントリのキャッシュデータは、キャッシュメモリ140内にはなく(「追い出し予約」の場合は、キャッシュデータは現時点ではキャッシュメモリ140内にあるが、極めて近い将来、なくなってしまう)、且つそのキャッシュデータはどのRIP部120によっても作成されてはいない。なお、「追い出し予約」の場合は、キャッシュデータは現時点ではキャッシュメモリ140内にあるが、極めて近い将来、なくなってしまう。   <Stage 4> “Cached Out” (out of cache, that is, evicted) is a state in which the cache data of the cache entry has been evicted from the cache memory 140 or a eviction reservation has been made. The cache data of the cache entry at this stage is not in the cache memory 140 (in the case of “eject reservation”, the cache data is currently in the cache memory 140 but will be lost in the very near future), and The cache data is not created by any RIP unit 120. In the case of “evicting reservation”, the cache data is currently in the cache memory 140 but will be lost in the very near future.

“Cached Out”ステージには、前述した通りステージ3“Cached”から遷移する。   As described above, the stage shifts from the stage 3 “Cached” to the “Cached Out” stage.

また、特定の場合に、ステージ1当該文書要素の画像データが前記キャッシュメモリ内になく且ついずれかのデータ処理装置が当該画像データの作成中である「作成中」状態で有る旨を示す「作成中」応答であった場合、“New Cache”にあるキャッシュエントリをこの“Cached Out”ステージに遷移させてもよい。例えば、当該キャッシュエントリのスコアが、キャッシュする価値が十分にあるとみなされない程低い場合には、そのキャッシュエントリにキャッシュデータを登録せずに、そのキャッシュエントリを“Cached Out”に遷移させる。キャッシュする価値が十分にあるとみなされない程低い場合の例としては、当該キャッシュエントリのスコアが、キャッシュ中(“Cached”)のどのキャッシュエントリのスコアよりも低い場合がある。また、キャッシュに値するか否かのスコアの閾値を定めておき、当該キャッシュエントリのスコアがこの閾値よりも低い場合に、キャッシュを行わずにステージを“Cached Out”に遷移させるようにしてもよい(後述の図24の例を参照)。   Further, in a specific case, “Create” indicates that the image data of the document element in the stage 1 is not in the cache memory and is in the “creating” state in which any data processing apparatus is creating the image data. When the response is “medium”, the cache entry in “New Cache” may be shifted to the “Cached Out” stage. For example, when the score of the cache entry is so low that the cache value is not considered to be sufficiently worthy, the cache entry is shifted to “Cached Out” without registering the cache data in the cache entry. An example of a case where the value of the cache entry is so low that it is not considered sufficient is that the score of the cache entry is lower than the score of any cache entry in the cache (“Cached”). Further, a threshold value of a score indicating whether or not it is worth the cache may be determined, and when the score of the cache entry is lower than the threshold value, the stage may be shifted to “Cached Out” without performing the cache. (See the example of FIG. 24 described later).

“Cached Out”ステージにあるキャッシュエントリにいずれかのRIP部120から問合せがあると、キャッシュ管理部130は、“Deleted”(「キャッシュデータは削除済」)を応答する。この応答を受けたRIP部120は、当該オブジェクトの元のPDLデータを自らRIP処理することで、当該オブジェクトの印刷画像データを生成する。ただし、このとき、RIP部120は、生成した印刷画像データをキャッシュメモリ140に登録することはしない。当該キャッシュエントリは、キャッシュデータをキャッシュする価値がないと判定された状態だからである。   If any RIP unit 120 makes an inquiry to a cache entry in the “Cached Out” stage, the cache management unit 130 responds with “Deleted” (“cache data has been deleted”). Upon receiving this response, the RIP unit 120 performs RIP processing on the original PDL data of the object, thereby generating print image data of the object. However, at this time, the RIP unit 120 does not register the generated print image data in the cache memory 140. This is because the cache entry is determined not to be worth caching cache data.

“Cached Out”ステージは、キャッシュメモリ140内に当該キャッシュエントリのデータがないという点では、前述の“New Cache”ステージ及び“Caching”ステージと同じである。しかし、“New Cache”及び“Caching”の場合は問合せに対して“Miss”を応答するのに対し、“Cached Out”の場合は問合せに対して“Delete”を応答する。これら2つの応答の違いは、“Miss”の場合は問合せ元のRIP部120はRIP処理で作成した画像データをキャッシュ登録しようとするのに対し、“Delete”の場合は問合せ元のRIP部120はRIP処理で作成した画像データをキャッシュ登録しないという点である。すなわち、“Cached Out”ステージにあるキャッシュエントリは、RIP部120から問合せがあっても、キャッシュデータがキャッシュメモリ140内に登録されることはない。これは、例えば、キャッシュする価値が低いといったんみなされたキャッシュエントリのキャッシュデータが、キャッシュメモリ140内に出たり入ったりを繰り返すことによる処理のオーバーヘッドを避けるためである。このように、この実施形態では、キャッシュする価値が低いといったんみなされたキャッシュエントリのキャッシュデータは、しばらくはキャッシュメモリ140内に戻らないようにしている。   The “Cached Out” stage is the same as the “New Cache” stage and the “Caching” stage described above in that there is no data of the cache entry in the cache memory 140. However, in the case of “New Cache” and “Caching”, “Miss” is responded to the query, whereas in the case of “Cached Out”, “Delete” is responded to the query. The difference between these two responses is that in the case of “Miss”, the inquiring RIP unit 120 attempts to register the image data created by the RIP process in cache, whereas in the case of “Delete”, the inquiring RIP unit 120. Is that the image data created by the RIP process is not registered in the cache. That is, the cache data in the “Cached Out” stage is not registered in the cache memory 140 even if an inquiry is made from the RIP unit 120. This is because, for example, the cache data of the cache entry once considered to be of low value to be cached avoids processing overhead due to repeated entry and exit of the cache memory 140. As described above, in this embodiment, the cache data of the cache entry once regarded as having a low value to be cached is not returned to the cache memory 140 for a while.

しかし、そのようなキャッシュエントリに対して問合せが増えてくると、それに応じて当該キャッシュエントリのスコアが高くなり、キャッシュメモリ140内にデータのある他のキャッシュエントリよりも相対的にキャッシュする価値が高くなる場合も出てくる。そこで、この実施形態では、“Cached Out”ステージにあるキャッシュエントリについて定期的な見直しを行う(例えば、後述する図15の例を参照)。すなわち、“Cached Out”ステージにあるキャッシュエントリのスコアを例えば定期的にチェックし、スコアが再登録に値するほど十分に高くなっていれば、そのエントリを前述の“Caching”ステージに遷移させる。あるキャッシュエントリのステージが“Cached Out”から“Caching”に遷移すると、その後に当該エントリに対して問合せが到来すると、そのエントリのステージが“New Cache”に遷移し、そのエントリのキャッシュデータの作成・登録のための処理が開始される。   However, as the number of queries for such cache entries increases, the score of the cache entry increases accordingly, and the value of caching relative to other cache entries that have data in the cache memory 140 is higher. Sometimes it gets higher. Therefore, in this embodiment, the cache entry in the “Cached Out” stage is periodically reviewed (for example, see the example of FIG. 15 described later). That is, the score of a cache entry in the “Cached Out” stage is periodically checked, for example, and if the score is high enough to deserve re-registration, the entry is transitioned to the “Caching” stage. When the stage of a cache entry transitions from “Cached Out” to “Caching”, when a query arrives after that entry, the stage of that entry transitions to “New Cache” and the cache data for that entry is created.・ The process for registration is started.

<ステージ5> “Never Cache”(キャッシュ対象外)は、当該キャッシュエントリに対応するオブジェクトが、あらかじめ定められた制限条件に抵触し、キャッシュの対象外であると判定された状態である。この制限条件は、例えば、スコアを他のキャッシュエントリと比較するまでもなく、キャッシュする価値がないと判断されるオブジェクトを規定する条件である。   <Stage 5> “Never Cache” (non-cache target) is a state in which an object corresponding to the cache entry violates a predetermined restriction condition and is determined to be out of cache target. This restriction condition is, for example, a condition that defines an object that is determined not to be cached without comparing the score with other cache entries.

例えば、余りにも小さいオブジェクトや、余りにも単純なオブジェクト(例えば直線分一本のみ)は、キャッシュメモリ140からキャッシュデータを読み出すよりもRIP120が自ら描画した方が早い。そこで、オブジェクトのサイズ又は複雑さなどに関してそれぞれ条件(例えば閾値)を設定しておき、キャッシュしようとするオブジェクトのサイズ又は複雑さなどがそれぞれ対応する条件を満たす(例えば閾値よりも小さい又は低い)場合は、そのオブジェクトに対応するキャッシュエントリを“Never Cache”ステージに遷移させる。なお、サイズ又は複雑さなどについての条件の組合せ方は、AND条件(全ての条件が満たされて初めて“Never Cache”に遷移)でもOR条件(いずれかの条件が満たされて初めて“Never Cache”に遷移)でも、どちらでもよい。   For example, an object that is too small or an object that is too simple (for example, only one line) is faster when the RIP 120 draws the cache data than it reads the cache data from the cache memory 140. Therefore, when a condition (for example, a threshold value) is set for each object size or complexity, and the size or complexity of the object to be cached satisfies a corresponding condition (for example, smaller or lower than the threshold value). Shifts the cache entry corresponding to the object to the “Never Cache” stage. It should be noted that the conditions for size or complexity can be combined in the AND condition (the transition to “Never Cache” only when all conditions are satisfied) or the OR condition (“Never Cache” only when one of the conditions is satisfied). Or may be either.

また、効率の観点等から、キャッシュするオブジェクトの形状をページの縦横の辺に平行な矩形に限定している場合には、矩形以外の形状のオブジェクトは制限条件に抵触することになり、そのオブジェクトのキャッシュエントリは“Never Cache”ステージとなる。   In addition, from the viewpoint of efficiency, etc., if the shape of the object to be cached is limited to a rectangle parallel to the vertical and horizontal sides of the page, the object with a shape other than the rectangle will violate the restriction condition, and the object This cache entry is in the “Never Cache” stage.

“Never Cache”ステージにあるキャッシュエントリに対していずれかのRIP部120から問合せがあると、キャッシュ管理部130は、“Invalid”(「キャッシュ無効」)を応答する。これに応じ、RIP部120は、当該オブジェクトのPDLデータをRIP処理する(そして、RIP処理結果はキャッシュしない)。   If any RIP unit 120 makes an inquiry to a cache entry in the “Never Cache” stage, the cache management unit 130 responds with “Invalid” (“cache invalid”). In response to this, the RIP unit 120 performs RIP processing on the PDL data of the object (and does not cache the RIP processing result).

以上、キャッシュエントリのステージについて説明した。以上は、キャッシュ管理部130のエントリ管理テーブル132に登録されているキャッシュエントリがとり得るステージである。ところで、キャッシュ管理部130は、あるオブジェクトについての問合せを最初に受けた時に、そのオブジェクトのためのキャッシュエントリをエントリ管理テーブル132上に生成するので、その最初の問合せ以前にはキャッシュエントリは存在せず、したがってキャッシュエントリのステージもない。しかし、キャッシュエントリはオブジェクトと対応しているので、そのような最初の問合せを受ける以前にも、オブジェクトに対応するキャッシュエントリは潜在的に存在していると考えてもよい。このように考えると、最初の問合せを受ける以前は、その潜在的なキャッシュエントリの状態は、「キャッシュメモリ140内にキャッシュデータが存在しておらず、またどのRIP部120によってもそのキャッシュデータの作成は行われていない」状態に属すると考えられる。   The cache entry stage has been described above. The above are the stages that the cache entry registered in the entry management table 132 of the cache management unit 130 can take. By the way, when the cache management unit 130 first receives a query about an object, the cache management unit 130 generates a cache entry for the object on the entry management table 132. Therefore, there is no cache entry before the first query. Therefore, there is no cache entry stage. However, since a cache entry corresponds to an object, it may be considered that a cache entry corresponding to the object exists potentially before receiving such an initial query. In view of this, before the first query is received, the state of the potential cache entry is “the cache data does not exist in the cache memory 140, and any RIP unit 120 does not store the cache data. It is considered to belong to the state of “not created”.

《RIP部120処理手順》
次に、各RIP部120の処理手順の一例を、図4〜図6を参照して説明する。
<< RIP section 120 processing procedure >>
Next, an example of a processing procedure of each RIP unit 120 will be described with reference to FIGS.

RIP部120は、それぞれ、ページ割当部112から割り当てられたページのPDLデータを先頭から順に解釈していく。この中で、新たなオブジェクトのPDLデータを見つけるごとに、図4〜図6に例示する手順を実行する。   The RIP unit 120 interprets the PDL data of the pages allocated from the page allocation unit 112 in order from the top. Among these, whenever the PDL data of a new object is found, the procedure illustrated in FIGS. 4 to 6 is executed.

この手順では、図4に示すように、まず、そのオブジェクトのPDLデータから、そのオブジェクトがキャッシュ対象であるかどうかを判定する(S10)。例えば、PDLの一種といえるPDFでは、オブジェクトを、フォームやイメージ(ビットマップ)、フォントなどといった繰り返し使用される可能性のある種類と、そうでない種類とに大別している。そして、前者に該当するオブジェクトにはIDを付与し、印刷文書データ中の複数の位置でそのオブジェクトが用いられる場合、同じIDでそのオブジェクトを呼び出すようにしている。逆に、IDのないオブジェクトは、繰り返し使用されることが想定されていない種類のオブジェクトである。したがって、IDが付与されたオブジェクトはキャッシュ対象であり、IDが付与されていないオブジェクトはキャッシュ対象でないと判定される。なお、PDF以外にも、オブジェクトについて同様の区別をしているPDLはあり、そのようなPDLについてはS10と同様の判定が適用される。   In this procedure, as shown in FIG. 4, it is first determined from the PDL data of the object whether the object is a cache target (S10). For example, in PDF, which is a kind of PDL, objects are roughly divided into types that can be used repeatedly, such as forms, images (bitmaps), and fonts, and types that are not. An ID is assigned to the object corresponding to the former, and when the object is used at a plurality of positions in the print document data, the object is called with the same ID. Conversely, an object without an ID is a type of object that is not supposed to be used repeatedly. Therefore, it is determined that an object to which an ID is assigned is a cache target, and an object to which no ID is assigned is not a cache target. In addition to PDF, there are PDLs that make the same distinction for objects, and the same determination as in S10 is applied to such PDLs.

S10でオブジェクトがキャッシュ対象でないと判定すると、RIP部120は、そのオブジェクトのPDLデータを解釈し描画することで、そのオブジェクトのビットマップ画像を生成し、生成したビットマップ画像を作成中のページの印刷画像データへ合成し(S12)、当該オブジェクトについてのRIP処理を完了する。このとき生成したオブジェクトのビットマップ画像は、キャッシュされない。   If it is determined in S10 that the object is not a cache target, the RIP unit 120 interprets and renders the PDL data of the object, generates a bitmap image of the object, and generates a bitmap image of the generated page. The print image data is combined (S12), and the RIP process for the object is completed. The bitmap image of the object generated at this time is not cached.

一方、S10で当該オブジェクトがキャッシュ対象であると判定した場合、RIP部120は、そのオブジェクトのキャッシュエントリの状態をキャッシュ管理部130に問い合わせる(S14)。この問合せには、そのオブジェクトを特定する識別情報が含まれる。例えば、PDFのようにキャッシュ対象のオブジェクトにIDが付されている場合は、問合せにはそのIDを用いればよい。キャッシュエントリは、オブジェクトと一対一に対応しているので、オブジェクトのIDから、そのオブジェクトに対応するキャッシュエントリが特定される。例えば、オブジェクトのIDをキャッシュエントリのIDとして流用している場合は、オブジェクトのIDから、対応するキャッシュエントリが特定される。また、オブジェクトにIDを付さないPDLの場合には、例えば、そのオブジェクトを記述するPDLコマンドと引数の組を識別情報として問合せに含めるようにしてもよい。この場合、各キャッシュエントリには、当該エントリに対応するオブジェクトの識別情報として、PDLコマンドと引数の組(又はこれに紐付けられた識別情報)が登録しておけばよい。   On the other hand, when it is determined in S10 that the object is a cache target, the RIP unit 120 inquires of the cache management unit 130 about the state of the cache entry of the object (S14). This inquiry includes identification information for specifying the object. For example, when an ID is attached to an object to be cached such as PDF, the ID may be used for the inquiry. Since the cache entry has a one-to-one correspondence with the object, the cache entry corresponding to the object is specified from the object ID. For example, when the object ID is used as the cache entry ID, the corresponding cache entry is identified from the object ID. In the case of PDL in which no ID is attached to an object, for example, a pair of a PDL command describing the object and an argument may be included in the inquiry as identification information. In this case, a pair of a PDL command and an argument (or identification information linked thereto) may be registered in each cache entry as identification information of an object corresponding to the entry.

この問合せの後、RIP部120は、キャッシュ管理部130からその問合せに対する応答を受け取ると、その応答の示す値を判別する(S16)。前述したように、問合せに対するキャッシュ管理部130の応答には、“Hit”、“Miss”、“Creating”、“Deleted”、“Invalid”の5種類がある。   After this inquiry, when receiving a response to the inquiry from the cache management unit 130, the RIP unit 120 determines a value indicated by the response (S16). As described above, there are five types of responses of the cache management unit 130 to the query: “Hit”, “Miss”, “Creating”, “Deleted”, and “Invalid”.

キャッシュ管理部130からの応答が“Hit”であった場合、RIP部120は、当該オブジェクトに対応するキャッシュデータの使用開始要求をキャッシュ管理部130に送る(S18)。この使用開始要求には、当該オブジェクトに対応するキャッシュエントリを特定するIDが含まれる。この要求に応じ、キャッシュ管理部130は、要求されたキャッシュエントリのキャッシュデータをキャッシュメモリ140からRIP部120に提供する。RIP部120は、このキャッシュデータを用いて当該オブジェクトのビットマップ画像を生成し、生成したビットマップ画像を作成中のページの印刷画像データへ合成する(S20)。すなわち、キャッシュデータがビットマップ形式であれば、そのキャッシュデータをそのままページの印刷画像データへ合成すればよい。また、キャッシュデータがディスプレイリスト等の中間言語形式であれば、そのキャッシュデータに基づきそのオブジェクトを描画してビットマップ画像を生成し、そのビットマップ画像をページの印刷画像データへ合成すればよい。このようにしてキャッシュデータのRIP処理が完了すると、RIP部120はキャッシュ管理部130に対して当該キャッシュエントリの使用が終了した旨の通知(「使用終了通知」)をキャッシュ管理部130に送る(S22)。この通知には、使用していたキャッシュエントリを特定するIDが含まれる。この通知により、当該オブジェクトについてのRIP処理が終了する。   If the response from the cache management unit 130 is “Hit”, the RIP unit 120 sends a cache data use start request corresponding to the object to the cache management unit 130 (S18). This use start request includes an ID for specifying a cache entry corresponding to the object. In response to this request, the cache management unit 130 provides the cache data of the requested cache entry from the cache memory 140 to the RIP unit 120. The RIP unit 120 generates a bitmap image of the object using the cache data, and synthesizes the generated bitmap image with the print image data of the page being created (S20). That is, if the cache data is in a bitmap format, the cache data may be directly combined with the page print image data. If the cache data is in an intermediate language format such as a display list, the object is drawn based on the cache data to generate a bitmap image, and the bitmap image is combined with the print image data of the page. When the cache data RIP processing is completed in this way, the RIP unit 120 sends a notification to the cache management unit 130 that the use of the cache entry is completed (“use completion notification”) to the cache management unit 130 ( S22). This notification includes an ID that identifies the cache entry used. With this notification, the RIP process for the object ends.

次に、S16の判定で、キャッシュ管理部130からの応答が“Miss”であった場合の処理手順を説明する。応答“Miss”は、前述した通り、「キャッシュデータがないので、作成して登録せよ」という命令に相当する。そこで、RIP部120は図5に例示する処理手順を実行する。   Next, a processing procedure when the response from the cache management unit 130 is “Miss” in the determination of S16 will be described. As described above, the response “Miss” corresponds to an instruction “There is no cache data, so create and register”. Therefore, the RIP unit 120 executes the processing procedure illustrated in FIG.

すなわち、RIP部120はまずキャッシュ管理部130に領域確保要求を発する(S30)。領域確保要求は、当該オブジェクトのRIP処理結果をキャッシュするための領域をキャッシュメモリ140内に確保することを指示する要求である。領域確保要求には、例えば、当該オブジェクトに対応するキャッシュエントリのID、及び確保すべき領域のサイズ(データ容量)の情報が含まれる。確保すべき領域のサイズは、当該オブジェクトのRIP処理結果(ビットマップ形式又は中間言語形式)のデータサイズであり、これはPDLデータの解析から求められる。例えば、イメージやフォーム、フォントなどのオブジェクトの画像サイズを描画コマンドの引数として明示するPDLも多く、このようなPDLの場合、画像サイズの情報からキャッシュデータのデータサイズが求められる。ビットマップ形式の場合、キャッシュデータのサイズは画像サイズに比例するからである。中間言語形式のキャッシュデータのデータ量も、PDLデータの解析から見積もり可能である。また、実際に一度RIP処理すれば中間言語形式のキャッシュデータのデータ量は正確に求められるので、それを例えばエントリ管理テーブル132に記憶しておき、再度キャッシュのための領域確保が必要となった場合に参照するようにしてもよい。   That is, the RIP unit 120 first issues an area reservation request to the cache management unit 130 (S30). The area securing request is a request for instructing to secure an area for caching the RIP processing result of the object in the cache memory 140. The area securing request includes, for example, information on the ID of the cache entry corresponding to the object and the size (data capacity) of the area to be secured. The size of the area to be secured is the data size of the RIP processing result (bitmap format or intermediate language format) of the object, and is obtained from the analysis of the PDL data. For example, many PDLs explicitly specify the image size of an object such as an image, a form, or a font as an argument of a drawing command. In such a PDL, the data size of cache data is obtained from information on the image size. This is because in the bitmap format, the size of the cache data is proportional to the image size. The amount of intermediate language cache data can also be estimated from the analysis of PDL data. In addition, since the amount of intermediate language cache data can be obtained accurately once RIP processing is actually performed, it is necessary to store it in, for example, the entry management table 132, and again to secure an area for the cache. You may make it refer in case.

この領域確保要求に対し、キャッシュ管理部130は、要求されたサイズの領域が確保できるかどうかを判定し(詳細は後述)、その判定結果を要求元のRIP部120に応答する。RIP部120は、その応答が確保の成功及び失敗のいずれを示すものかを判定する(S31)。   In response to this area securing request, the cache management unit 130 determines whether an area having the requested size can be secured (details will be described later), and returns the determination result to the requesting RIP unit 120. The RIP unit 120 determines whether the response indicates success or failure of the reservation (S31).

S31で応答が「確保成功」であると判定した場合、RIP部120は、そのオブジェクトのPDLデータをRIP処理し、確保された領域(その応答に、この領域のアドレスが含まれている)に対して、そのRIP処理の結果を書き込む(S32)。これにより、その領域に当該オブジェクトのキャッシュデータが生成される。次に、RIP部120は、生成したキャッシュデータを用いて当該オブジェクトのビットマップ画像を生成し、生成したビットマップ画像を作成中のページの印刷画像データに合成する(S34)。このようにしてキャッシュデータの生成及びページの印刷画像データへの合成が完了すると、RIP部120は、キャッシュ管理部130に対して、そのキャッシュデータについての登録要求を発する(S36)。登録要求には、当該キャッシュエントリのIDが含まれる。この登録要求により、RIP部120は当該オブジェクトについての処理を終了する。   When it is determined in S31 that the response is “successful reservation”, the RIP unit 120 performs RIP processing on the PDL data of the object, and the reserved area (the address of this area is included in the response). On the other hand, the result of the RIP process is written (S32). Thereby, cache data of the object is generated in the area. Next, the RIP unit 120 generates a bitmap image of the object using the generated cache data, and combines the generated bitmap image with the print image data of the page being created (S34). When the generation of the cache data and the synthesis of the page with the print image data are completed in this way, the RIP unit 120 issues a registration request for the cache data to the cache management unit 130 (S36). The registration request includes the ID of the cache entry. With this registration request, the RIP unit 120 ends the process for the object.

S31で応答が「確保失敗」であると判定された場合、それはキャッシュメモリ140内には当該オブジェクトのRIP処理結果をキャッシュする余地がないということを意味する。この場合、RIP部120は、そのオブジェクトのPDLデータを解釈し描画することでビットマップ画像を生成し、そのビットマップ画像をページの印刷画像データへ合成する(S38)。そして、生成したビットマップ画像をキャッシュせずに、当該オブジェクトについての処理を終了する。   If it is determined in S31 that the response is “reservation failure”, this means that there is no room in the cache memory 140 for caching the RIP processing result of the object. In this case, the RIP unit 120 generates a bitmap image by interpreting and rendering the PDL data of the object, and synthesizes the bitmap image with the print image data of the page (S38). Then, the process for the object is terminated without caching the generated bitmap image.

図4の説明に戻る。S16でキャッシュ管理部130からの応答が“Creating”である場合、RIP部120は図6に例示する処理手順を実行する。応答“Creating”は、前述した通り、「問合せの対象のキャッシュデータは、現在他のRIP部が作成中である」ことを意味する。本実施形態では、このような特徴的な応答“Creating”により、RIP部120は、目的とするオブジェクトのキャッシュデータを他のRIP部が作成中であることを知る。これにより、RIP部120には、他のRIP部によるそのキャッシュデータの完成を待つのか、待たずに自分でRIP処理を行うのかの選択の余地が生まれる。どちらを選択するかを固定的に設定してもよいし、状況に応じて動的に選択するようにしてもよい。図5では、待つ/待たないを動的に選択する場合の例を示す。   Returning to the description of FIG. When the response from the cache management unit 130 is “Creating” in S16, the RIP unit 120 executes the processing procedure illustrated in FIG. As described above, the response “Creating” means that “the cache data to be inquired is currently being created by another RIP unit”. In this embodiment, such a characteristic response “Creating” causes the RIP unit 120 to know that another RIP unit is creating cache data of a target object. As a result, there is room for the RIP unit 120 to select whether to wait for the completion of the cache data by another RIP unit or to perform RIP processing by itself without waiting. Which one to select may be fixedly set, or may be dynamically selected according to the situation. FIG. 5 shows an example in which waiting / not waiting is dynamically selected.

この手順では、RIP部120(第1のRIP部と呼ぶ)は、他のRIP部120(第2のRIP部と呼ぶ)によるそのキャッシュデータの完成を待ってそのキャッシュデータを利用する場合と、当該オブジェクトのPDLデータを自らRIP処理する場合との、どちらが早く処理が完了するかを評価する(S42)。この評価は、例えば、以下に例示するパラメータ(a1)〜(f)のうちの一以上を用いて行う。
(a1)当該オブジェクトのPDLデータをRIP処理してビットマップ画像を作成する場合のRIP処理負荷量
(a2)当該オブジェクトのPDLデータをRIP処理して中間言語形式のデータを作成する場合のRIP処理負荷量(これは、中間言語形式のデータをキャッシュする場合に用いる)
(b)キャッシュデータのデータサイズ(又はそのキャッシュデータを第1のRIP部120に転送するのに要する時間)
(c)当該オブジェクトのキャッシュデータをビットマップ形式の画像に変換し、ページの印刷画像データへ合成する 場合の処理負荷量
(d1)第1のRIP部の処理能力(CPUの能力などの、理想条件での値。ただし、すべてのRIP部の処理能力が同一の場合には考慮不要)
(d2)第2のRIP部の処理能力(同上)
(e1)第1のRIP部の現在の処理負荷
(e2)第2のRIP部の現在の処理負荷
(f)第2のRIP部におけるキャッシュデータの作成の進捗度合い
In this procedure, the RIP unit 120 (referred to as a first RIP unit) waits for completion of the cache data by another RIP unit 120 (referred to as a second RIP unit) and uses the cache data. It is evaluated which process is completed earlier when the PDL data of the object is subjected to the RIP process (S42). This evaluation is performed using, for example, one or more of parameters (a1) to (f) exemplified below.
(A1) RIP processing load when RIP processing is performed on PDL data of the object to create a bitmap image (a2) RIP processing when RDL processing is performed on the PDL data of the object to generate intermediate language format data Load (this is used when caching intermediate language data)
(B) Data size of cache data (or time required to transfer the cache data to the first RIP unit 120)
(C) Processing load when converting the cache data of the object into a bitmap format image and compositing it to the print image data of the page (d1) Processing capacity of the first RIP unit (ideal CPU capacity, etc.) (The value in the condition. However, it is not necessary to consider when all RIP parts have the same processing capacity)
(D2) Processing capacity of second RIP unit (same as above)
(E1) Current processing load of the first RIP unit (e2) Current processing load of the second RIP unit (f) Progress of creation of cache data in the second RIP unit

これらパラメータのうち(a1)及び(a2)は、前述した負荷監視部114によるページのRIP処理負荷量の算出と同様の方式で算出すればよい。また、例えば、負荷監視部114がページのRIP処理負荷量を求めるのに際し、その中の各オブジェクトのRIP処理負荷量を求め、オブジェクトのIDをキーとするデータベースに登録し、RIP部120がそれを参照するようにしてもよい。   Of these parameters, (a1) and (a2) may be calculated by the same method as the calculation of the RIP processing load amount of the page by the load monitoring unit 114 described above. Further, for example, when the load monitoring unit 114 calculates the RIP processing load amount of the page, the RIP processing load amount of each object in the page is calculated and registered in the database using the object ID as a key. May be referred to.

またパラメータ(b)は、キャッシュ管理部130のエントリ管理テーブル132から取得すればよい。   The parameter (b) may be acquired from the entry management table 132 of the cache management unit 130.

またパラメータ(c)は、キャッシュデータがビットマップ形式であれば、ビットマップ形式への変換は不要であり、ページの印刷画像データへの合成に要する処理の負荷量のみとなる。合成に要する処理負荷量は、ビットマップ形式のデータのサイズに応じたものであり、実験やシミュレーションなどで求められた係数をそのサイズに乗じることで求められる。また、キャッシュデータが中間言語形式である場合、例えばそのキャッシュデータから描画すべき画素数や、描画において行うべき画像処理の種類など から公知の方法で求めればよい。例えば、画素数に関しては、中間言語形式の命令として、長方形を塗りつぶす命令と同じ形状及びサイズの長方形の対角線を描画する命令とがあった場合、両命令はデータサイズとしてはほぼ同サイズであるが、描画すべき画素数は前者の方がはるかに多いため、前者の方が処理負荷量もはるかに多い。したがって、中間言語形式の命令の種類(これがオブジェクトについて描画すべき画素群の形状を規定する。例えば長方形の塗りつぶしと長方形の対角線の描画では命令が異なる。)及び、その命令の引数などにより示されるオブジェクトのサイズなどから、パラメータ(c)を計算すればよい。また、描画において行うべき画像処理の種類としては、上述のスコアの計算方法の説明において例示した、色空間変換、拡大、回転、スムースシェード(グラデーション)等がある。そこで、例えば画像処理の種類のそれぞれについて、処理負荷量の計算のための関数などを定めておき、その関数にキャッシュデータが表す画像のサイズや、画像処理のパラメータ(例えば当該画像処理の有無や、拡大率、回転角、グラデーションでの色の変化量など)を入力することで、パラメータ(c)に係る処理負荷量を計算するようにしてもよい。1つのオブジェクトに対して複数の画像処理を行う場合には、個々の画像処理についての処理負荷量の総和を当該オブジェクトのパラメータ(c)に係る処理負荷量として求めてもよい。(なお、上述のスコアを同様の方法で計算してもよい。)   Further, if the cache data is in the bitmap format, the parameter (c) does not need to be converted into the bitmap format, and is only the processing load required for combining the page with the print image data. The amount of processing load required for the synthesis is in accordance with the size of the data in the bitmap format, and can be obtained by multiplying the size by a coefficient obtained through experiments or simulations. Further, when the cache data is in an intermediate language format, it may be obtained by a known method from the number of pixels to be drawn from the cache data, the type of image processing to be performed in drawing, and the like. For example, regarding the number of pixels, if there is an instruction in the intermediate language format that draws a diagonal line of a rectangle having the same shape and size as the instruction to fill a rectangle, both instructions have substantially the same data size. Since the former has a much larger number of pixels to be drawn, the former has a much larger processing load. Therefore, it is indicated by the type of the instruction in the intermediate language format (this defines the shape of the pixel group to be drawn for the object. For example, the instruction is different between the rectangular fill and the diagonal drawing of the rectangle) and the argument of the instruction The parameter (c) may be calculated from the size of the object. As types of image processing to be performed in drawing, there are color space conversion, enlargement, rotation, smooth shade (gradation), and the like exemplified in the description of the score calculation method. Therefore, for example, for each type of image processing, a function for calculating the processing load amount is determined, and the size of the image represented by the cache data and the image processing parameters (for example, whether or not the image processing is performed) The amount of processing load related to the parameter (c) may be calculated by inputting a zoom rate, a rotation angle, a color change amount in gradation, and the like. When a plurality of image processes are performed on one object, the total processing load amount for each image processing may be obtained as the processing load amount related to the parameter (c) of the object. (The above score may be calculated in the same way.)

またパラメータ(d1)及び(d2)は、既知の値であり、システム管理者があらかじめ登録しておけばよい。同じパラメータは、負荷監視部114でも用いられるので共用すればよい。   Parameters (d1) and (d2) are known values and may be registered in advance by the system administrator. Since the same parameter is also used by the load monitoring unit 114, it may be shared.

またパラメータ(e1),(e2)及び(f)は、負荷監視部114から取得すればよい。   The parameters (e1), (e2), and (f) may be acquired from the load monitoring unit 114.

これらパラメータを用いたS42の評価処理では、まず、例えば、パラメータ(a1)、(d1)及び(e1)から、第1のRIP部自身がそのオブジェクトのPDLデータをRIP処理してオブジェクトのビットマップ画像を生成する場合の所要時間T1を見積もる。これには、例えば、(d1)を(e1)に応じて低減することで現在の実際の処理能力を求め、この実際の処理能力で(a1)を例えば除することで、前述の所要時間を表す評価値を求めればよい。   In the evaluation process of S42 using these parameters, first, for example, from the parameters (a1), (d1), and (e1), the first RIP unit itself performs RIP processing on the PDL data of the object, and the object bitmap is obtained. The required time T1 for generating an image is estimated. For example, the current actual processing capability is obtained by reducing (d1) according to (e1), and the above-mentioned required time is reduced by, for example, dividing (a1) by this actual processing capability. What is necessary is just to obtain | require the evaluation value to represent.

また、同様に、パラメータ(b)、(c)、(d2)、(e2)及び(f)と、(a1)又は(a2)とから、第2のRIP部でのキャッシュデータの完成を待ってそれを流用することによりオブジェクトのビットマップ画像を生成する場合の所要時間T2を見積もる。所要時間T2は、例えば、第2のRIP部が作成中のキャッシュデータが完成するまでの時間T21と、そのキャッシュデータをキャッシュメモリ140から第1のRIP部へと読み出すのに要するプロトコル処理のオーバーヘッド時間T22(これは固定値として登録しておけばよい)と、読み出したキャッシュデータを第1のRIP部がビットマップ画像に変換するのに要する時間T23との和である。   Similarly, from the parameters (b), (c), (d2), (e2) and (f), and (a1) or (a2), the completion of the cache data in the second RIP unit is awaited. The required time T2 for generating the bitmap image of the object is estimated by diverting it. The required time T2 is, for example, the time T21 until the cache data being created by the second RIP unit is completed, and the overhead of the protocol processing required to read the cache data from the cache memory 140 to the first RIP unit This is the sum of time T22 (this should be registered as a fixed value) and time T23 required for the first RIP unit to convert the read cache data into a bitmap image.

このうちT21(第2のRIP部が作成中のキャッシュデータが完成するまでの時間)を表す評価値は、パラメータ(a1)又は(a2)(キャッシュデータがビットマップ形式の場合は前者、中間言語形式の場合は後者)と(f)とからキャッシュデータ完成までの残りの処理負荷量Rを求め、(d2)と(e2)とから第2のRIP部の現在の処理能力P2を求め、このP2で残りの処理負荷量Rを除するなどの計算により求めればよい。   Of these, the evaluation value representing T21 (time until the cache data being created by the second RIP unit is completed) is the parameter (a1) or (a2) (the former, intermediate language when the cache data is in bitmap format) In the case of the format, the remaining processing load R until completion of the cache data is obtained from (f) and (f), and the current processing capacity P2 of the second RIP unit is obtained from (d2) and (e2). What is necessary is just to obtain | require by calculation, such as remove | dividing the remaining processing load amount R by P2.

また、T22は、固定値でよく、あらかじめ登録しておけばよい。   T22 may be a fixed value and may be registered in advance.

また、T23は、キャッシュデータをキャッシュメモリ140から第1のRIP部に読み出すのに要する時間T231と、読み出したキャッシュデータを第1のRIP部がビットマップ形式に変換するのに要する時間との和である。このうち時間T231はパラメータ(b)から求めればよい。また、時間T232は、パラメータ(d1)と(e1)から第1のRIP部の現在の処理能力を求め、これでパラメータ(c)を除する等の計算により求めればよい。   T23 is the sum of the time T231 required to read the cache data from the cache memory 140 to the first RIP unit and the time required for the first RIP unit to convert the read cache data into the bitmap format. It is. Of these, the time T231 may be obtained from the parameter (b). The time T232 may be obtained by calculation such as obtaining the current processing capability of the first RIP unit from the parameters (d1) and (e1) and dividing the parameter (c).

以上に説明した所要時間T1とT2の推定の仕方はあくまで一例に過ぎず、他の方法を用いてももちろんよい。例えば、以上に例示したパラメータのうちの一部を用いて推定を行ってもよいし、他のパラメータを用いてもよい。   The method of estimating the required times T1 and T2 described above is merely an example, and other methods may of course be used. For example, estimation may be performed using some of the parameters exemplified above, or other parameters may be used.

以上のようにして見積もられた所要時間T1とT2のうち、短い方に対応する方式を採用すればよい。すなわち、T1の方がT2より短ければ、第1のRIP部がキャッシュデータの完成を待たずに自らPDLデータをRIPする方式がよいと判定され、逆であれば第1のRIP部はキャッシュデータの完成を待ってそれを利用する方式の方がよいと判定される。   A method corresponding to the shorter one of the required times T1 and T2 estimated as described above may be adopted. That is, if T1 is shorter than T2, it is determined that the method in which the first RIP unit RIPs the PDL data itself without waiting for completion of the cache data is good, and if the reverse is true, the first RIP unit stores the cache data. It is determined that it is better to use the system after waiting for completion.

以上では、RIP部120が自らPDLデータをRIP処理する場合と、他のRIP部が作成中のキャッシュデータの完成を待つ場合の各々の所要時間を見積もって比較することで、どちらの場合が有利かを判定したが、これは一例に過ぎない。例えば、オブジェクトの種類がイメージならばキャッシュデータの完成を待ち、イメージ以外(例えばフォーム又はフォント)ならば待たずにRIP処理を行うといった、1つのパラメータに基づく単純な判定でもよい。また、オブジェクトの複雑さがあらかじめ定めた閾値以上であれば待ち、閾値未満であれば待たないというような判定も考えられる。もちろん、これら以外の判定方式も考えられる。   In the above, either case is advantageous by estimating and comparing the time required when the RIP unit 120 performs RIP processing of the PDL data by itself and when the other RIP unit waits for completion of cache data being created. This is just an example. For example, a simple determination based on one parameter may be performed such that the cache data is completed if the object type is an image, and the RIP process is performed without waiting if the object is other than an image (for example, form or font). Further, it may be determined that the object waits if the complexity of the object is equal to or greater than a predetermined threshold value, and does not wait if the object complexity is less than the threshold value. Of course, other determination methods are also conceivable.

S43では、S42の評価の結果、待つ方がよいか待たない方がよいかを判定する。S43で第1のRIP部120がキャッシュデータの完成を待った方がよいと判定された場合、第1のRIP部120はキャッシュ管理部130に対し、当該キャッシュデータ(例えばキャッシュエントリのIDで特定すればよい)が完成して登録されたら通知するように依頼し(S44)、その通知を待つ(S45)。そして、キャッシュ管理部130からその通知が到来すると、当該キャッシュデータを用いてビットマップ画像を生成し、ページの印刷画像データに合成する(S46)。なお、このS46は、より厳密には、S18からS22と同様、使用開始要求、ビットマップ生成、使用終了通知の3つのステップを含む。   In S43, as a result of the evaluation in S42, it is determined whether to wait or not to wait. If it is determined in S43 that the first RIP unit 120 should wait for completion of the cache data, the first RIP unit 120 identifies the cache data (for example, the ID of the cache entry) to the cache management unit 130. (S44) is completed and registered (S44), and a notification is waited for (S45). When the notification is received from the cache management unit 130, a bitmap image is generated using the cache data and is combined with the print image data of the page (S46). Strictly speaking, this S46 includes three steps: a use start request, a bitmap generation, and a use end notification, as in S18 to S22.

S43で、第1のRIP部120がキャッシュデータの完成を待たない方がよいと判定された場合、第1のRIP部120は、当該オブジェクトのPDLデータをRIP処理してビットマップ画像を生成し、ページの印刷画像データに合成する(S48)。このとき生成されたビットマップ形式又は中間言語形式のデータは、第2のRIP部が生成してキャッシュ登録するものと重複するため、キャッシュメモリ140には登録されない。   If it is determined in S43 that the first RIP unit 120 should not wait for completion of the cache data, the first RIP unit 120 performs RIP processing on the PDL data of the object to generate a bitmap image. Then, it is combined with the print image data of the page (S48). The bitmap format or intermediate language format data generated at this time is not registered in the cache memory 140 because it overlaps with the data generated and registered in the cache by the second RIP unit.

S46又はS48により、当該オブジェクトについての処理は終了する。   By S46 or S48, the process for the object ends.

再び図4に戻る。S16でキャッシュ管理部130からの応答が“Deleted”である場合、この応答を受け取ったRIP部120は、当該オブジェクトのPDLデータをRIP処理してビットマップ画像を生成し、ページの印刷画像データに合成する(S24)。この場合、S24の中で生成されたビットマップ形式又は中間言語形式のデータをキャッシュに登録することはしない。当該オブジェクトは、キャッシュする価値がないと判定されているからである。   Returning again to FIG. If the response from the cache management unit 130 is “Deleted” in S <b> 16, the RIP unit 120 that has received this response generates a bitmap image by performing RIP processing on the PDL data of the object, and converts it to the print image data of the page. Synthesize (S24). In this case, the bitmap format or intermediate language format data generated in S24 is not registered in the cache. This is because it is determined that the object is not worth caching.

また、S16でキャッシュ管理部130からの応答が“Invalid”(ステージが“Never Cache”)である場合、この応答を受け取ったRIP部120は、当該オブジェクトのPDLデータをRIP処理してビットマップ画像を生成し、ページの印刷画像データに合成する(S24)。この場合、S24の中で生成されたビットマップ形式又は中間言語形式のデータをキャッシュに登録することはしない。当該オブジェクトは、キャッシュする価値がないからである 。   If the response from the cache management unit 130 is “Invalid” (stage is “Never Cache”) in S16, the RIP unit 120 that has received this response performs RIP processing on the PDL data of the object, and generates a bitmap image. Is generated and combined with the print image data of the page (S24). In this case, the bitmap format or intermediate language format data generated in S24 is not registered in the cache. This is because the object is not worth caching.

以上では、“Never Cache”に該当するオブジェクトの場合もS14でキャッシュ管理部130に問合せ、S24においてRIP部120が当該オブジェクトのPDLデータをRIP処理するとしたが、これは必須ではない。この代わりに、RIP部120自身が、オブジェクトがステージ“Never Cache”に該当するか否かを判定(この判定事態の処理負荷は極めて小さい)し、該当すると判定された場合には、キャッシュ管理部130への問合せを省略してもよい。また、“Never Cache”に該当すると判定したオブジェクトのRIP処理結果をRIP部120自身がローカルでキャッシュしておき、同じオブジェクトを再度描画する場合は、キャッシュ管理部130に問い合わせずに、ローカルのキャッシュを利用して描画を行ってもよい。   In the above description, even in the case of an object corresponding to “Never Cache”, the cache management unit 130 is inquired in S14 and the RIP unit 120 performs RIP processing on the PDL data of the object in S24, but this is not essential. Instead, the RIP unit 120 itself determines whether or not the object corresponds to the stage “Never Cache” (the processing load of this determination situation is extremely small). Inquiry to 130 may be omitted. Further, when the RIP processing result of an object determined to correspond to “Never Cache” is cached locally by the RIP unit 120 and the same object is rendered again, the local cache is not inquired without inquiring of the cache management unit 130. You may draw using.

なお、ステージ“Cashed Out”(応答は“Deleted”)は、ある観点では“Never Cache”と似ているが、“Never Cache”は上述のようにキャッシュ管理部130への問合せを省略できるのに対し、“Cashed Out”はそのような省略をしない点で異なる。すなわち、ステージ“Cashed Out”のオブジェクトの場合は、時間の経過に連れてスコアが変化し、共用のキャッシュメモリ140にキャッシュされる場合があるので、RIP部120は、そのようなオブジェクトに出会うごとに、キャッシュ管理部130に問合せを行う必要がある。   The stage “Cashed Out” (response is “Deleted”) is similar to “Never Cache” in a certain point of view, but “Never Cache” can omit the inquiry to the cache management unit 130 as described above. In contrast, “Cashed Out” is different in that it is not omitted. That is, in the case of an object of the stage “Cashed Out”, the score may change as time passes and may be cached in the shared cache memory 140. Therefore, the RIP unit 120 encounters such an object every time it encounters such an object. In addition, it is necessary to make an inquiry to the cache management unit 130.

《キャッシュ管理部130の処理手順》
以上、各RIP部120の処理手順の例を説明した。次に、キャッシュ管理部130の処理手順の例を、図7〜図15を参照して説明する。
<< Processing Procedure of Cache Management Unit 130 >>
The example of the processing procedure of each RIP unit 120 has been described above. Next, an example of the processing procedure of the cache management unit 130 will be described with reference to FIGS.

まず、いずれかのRIP部120から問合せ(図4のS14)が到来したときにキャッシュ管理部130が実行する処理手順の一例を、図7を参照して説明する。   First, an example of a processing procedure executed by the cache management unit 130 when an inquiry (S14 in FIG. 4) arrives from any RIP unit 120 will be described with reference to FIG.

この手順では、キャッシュ管理部130は、問合せの対象であるオブジェクトのキャッシュエントリをエントリ管理テーブル132から検索する(S50)。S50では、問合せに含まれている、キャッシュエントリを特定する情報(例えばオブジェクトのID、またはPDLコマンドと引数の組など)をキーとして検索すればよい。そして、そのオブジェクトに対応するキャッシュエントリが見つかったかどうかを判定し(S52)、見つからなければ、そのオブジェクトに対応するキャッシュエントリを新たに作成する(S54)。オブジェクトのIDをキャッシュエントリのIDとして用いる方式の場合は、問合せに含まれるオブジェクトのIDを当該キャッシュエントリのIDにセットすればよい。また、オブジェクトのIDがない場合は、新たに生成したキャッシュエントリに一意なIDを付与し、更に問合せに含まれるPDLコマンドと引数の組などのキャッシュエントリを特定する情報を、そのキャッシュエントリに登録する(図2では省略)。また、キャッシュ管理部130は、そのキャッシュエントリのステージを1すなわち“New Cache”に設定し、累計問合せ回数を1に設定するなど、エントリ管理テーブル132(図2参照)における当該キャッシュエントリの各項目の値を初期化又は設定する(S56)。オブジェクトの種類等のオブジェクト属性の情報は、例えばRIP部120からの問合せに含めておき、それをキャッシュ管理部130がエントリ管理テーブル132に設定すればよく、キャッシュデータのサイズも同様である。また、使用カウンタの値は0に初期化する。キャッシュ領域のアドレスは、未定のままとしておけばよい。また、オブジェクト属性(オブジェクトの種類など)や累計値合わせ回数から当該キャッシュエントリのスコア(キャッシュする価値を示す評価値)を前述のようにして計算し、エントリ管理テーブル132に登録する。また、問合せ元のRIP部120の識別情報を、「データ作成中のRIP」の欄に登録する。そして、キャッシュ管理部130は、問合せ元のRIP部120に対して応答“Miss”を返し(S58)、この問合せについての処理を終了する。これに応じ、そのRIP部120は、当該オブジェクトについてのキャッシュデータの作成を開始する(図4及び図5参照)。   In this procedure, the cache management unit 130 searches the entry management table 132 for the cache entry of the object to be queried (S50). In S50, information specifying a cache entry (for example, an object ID or a combination of a PDL command and an argument) included in the query may be searched for as a key. Then, it is determined whether or not a cache entry corresponding to the object is found (S52). If not found, a cache entry corresponding to the object is newly created (S54). In the case of using the object ID as the cache entry ID, the object ID included in the query may be set to the cache entry ID. If there is no object ID, a unique ID is assigned to the newly generated cache entry, and information specifying the cache entry such as a PDL command and argument pair included in the query is registered in the cache entry. (Omitted in FIG. 2). In addition, the cache management unit 130 sets each item of the cache entry in the entry management table 132 (see FIG. 2) such as setting the cache entry stage to 1, that is, “New Cache”, and setting the cumulative inquiry count to 1. Is initialized or set (S56). Object attribute information such as the type of object may be included in a query from the RIP unit 120, for example, and the cache management unit 130 may set it in the entry management table 132, and the size of the cache data is the same. Also, the value of the usage counter is initialized to zero. The address of the cache area may be left undecided. Further, the score of the cache entry (evaluation value indicating the value to be cached) is calculated as described above from the object attribute (object type and the like) and the cumulative value matching count, and registered in the entry management table 132. In addition, the identification information of the RIP unit 120 as the inquiry source is registered in the column of “RIP being created”. Then, the cache management unit 130 returns a response “Miss” to the RIP unit 120 that is the inquiry source (S58), and ends the processing for this inquiry. In response, the RIP unit 120 starts creating cache data for the object (see FIGS. 4 and 5).

S52で、問合せの対象のキャッシュエントリがエントリ管理テーブル132から見つかった場合は、キャッシュ管理部130は、そのエントリの累計問合せ回数を1増加させる(S60)。また、スコアは、前述のように累計問合せ回数が多くなるほど高くなるので、累計問合せ回数の増加に応じて当該エントリのスコアを更新する(S60)。   In S52, when a cache entry to be queried is found from the entry management table 132, the cache management unit 130 increments the cumulative inquiry count of the entry by 1 (S60). Since the score increases as the cumulative inquiry count increases as described above, the score of the entry is updated as the cumulative query count increases (S60).

次に、キャッシュ管理部130は、当該キャッシュエントリのステージを判定する(S62)。その判定の結果、ステージが1“New Cache”であれば問合せ元のRIP部120に“Creating”を応答する(S64)。また、ステージが2“Caching”であれば問合せ元のRIP部120に“Miss”を応答し、当該キャッシュエントリのステージを1に遷移させる(S66)。このとき、問合せ元のRIP部120の識別情報を、エントリ管理テーブル132の当該エントリの「データ作成中のRIP」の欄に登録する。また、ステージが3“Cached”であれば“Hit”を(S68)、4“Cached Out”であれば“Deleted”を(S70)、5“Never Cache”であれば“Invalid”を(S72)、それぞれ問合せ元のRIP部120に応答する。この応答により、キャッシュ管理部130は、問合せについての処理を終了する。この応答に応じ、問合せ元のRIP部120は、図4〜図6に示した処理を実行する。   Next, the cache management unit 130 determines the stage of the cache entry (S62). As a result of the determination, if the stage is 1 “New Cache”, a response “Creating” is returned to the RIP unit 120 as the inquiry source (S64). If the stage is 2 “Caching”, “Miss” is returned to the RIP unit 120 as the inquiry source, and the stage of the cache entry is changed to 1 (S66). At this time, the identification information of the RIP unit 120 that is the inquiry source is registered in the “RIP during data creation” column of the entry in the entry management table 132. If the stage is 3 "Cached", "Hit" is set (S68). If it is 4 "Cached Out", "Deleted" is set (S70). If it is 5 "Never Cache", "Invalid" is set (S72). , Respectively, to the RIP unit 120 as the inquiry source. With this response, the cache management unit 130 ends the processing for the inquiry. In response to this response, the RIP unit 120 that is the inquiry source executes the processing shown in FIGS.

次に、図8を参照して、いずれかのRIP部120からキャッシュデータの使用開始要求を受信したときのキャッシュ管理部130の処理手順の一例を説明する。   Next, an example of a processing procedure of the cache management unit 130 when a cache data use start request is received from any of the RIP units 120 will be described with reference to FIG.

この手順では、キャッシュ管理部130は、受信した使用開始要求の対象であるキャッシュデータをキャッシュメモリ140から求め、要求元のRIP部120に返信する(S80)。これには、例えば、受信した使用開始要求に含まれる、ID等のキャッシュエントリを特定する情報をキーとしてエントリ管理テーブル132を検索し、これにより検索されたキャッシュエントリの中の「キャッシュ領域のアドレス」及び「キャッシュデータのサイズ」(図2参照)の情報に従い、キャッシュメモリ140からキャッシュデータを読み出せばよい。そして、キャッシュ管理部130は、当該キャッシュエントリの使用カウンタ(図2参照)の値に1を加える(S82)。これにより、そのキャッシュエントリのキャッシュデータを現在使用しているRIP部120が1つ増えたことが記録される。   In this procedure, the cache management unit 130 obtains the cache data that is the target of the received use start request from the cache memory 140 and returns it to the requesting RIP unit 120 (S80). For this, for example, the entry management table 132 is searched using information specifying a cache entry such as an ID included in the received use start request as a key, and the “cache area address” in the searched cache entry is searched. ”And“ cache data size ”(see FIG. 2), the cache data may be read from the cache memory 140. Then, the cache management unit 130 adds 1 to the value of the usage counter (see FIG. 2) of the cache entry (S82). Thereby, it is recorded that the number of RIP units 120 currently using the cache data of the cache entry is increased by one.

次に、図9を参照して、いずれかのRIP部120からキャッシュデータの使用終了通知を受信したときのキャッシュ管理部130の処理手順の一例を説明する。   Next, an example of a processing procedure of the cache management unit 130 when a cache data use end notification is received from any of the RIP units 120 will be described with reference to FIG.

この手順では、キャッシュ管理部130は、受信した使用終了通知に含まれるID等のエントリ特定情報からその通知の対象であるキャッシュエントリを特定し、そのキャッシュエントリの使用カウンタの値から1を減算する(S85)。これにより、そのキャッシュエントリのキャッシュデータを現在使用しているRIP部120が1つ減ったことが記録される。   In this procedure, the cache management unit 130 identifies the cache entry that is the subject of notification from entry identification information such as an ID included in the received use end notification, and subtracts 1 from the value of the usage counter of the cache entry. (S85). As a result, it is recorded that the number of RIP units 120 currently using the cache data of the cache entry has decreased by one.

次に、図10及び図11を参照して、いずれかのRIP部120からキャッシュのための領域確保要求を受信したときのキャッシュ管理部130の処理手順の一例を説明する。   Next, an example of a processing procedure of the cache management unit 130 when a cache area securing request is received from any of the RIP units 120 will be described with reference to FIGS. 10 and 11.

この手順では、図10に示すように、まずキャッシュ管理部130は、当該領域確保要求に含まれるID等のエントリ特定情報からその通知の対象であるキャッシュエントリを特定する。そして、そのキャッシュエントリの情報などに基づき、そのキャッシュエントリのキャッシュデータがキャッシュメモリ140にキャッシュできるかどうかを、制限条件及びキャッシュメモリ140の空き容量の両面から評価する(S90)。制限条件は、前述した通り、オブジェクトの複雑さやサイズ、形状などの点で、キャッシュに適さない、又はキャッシュした方が効率が悪いことが明らかなオブジェクトを特定する条件である。この判定は、特定したキャッシュエントリについてのエントリ管理テーブル132内の登録情報、例えばキャッシュデータのサイズやオブジェクト属性(例えばオブジェクトの種類や複雑さなど)などの情報を用いて行う。また、これらキャッシュデータのサイズやオブジェクト属性の情報は、領域確保要求と共にRIP部120から受け取り、エントリ管理テーブル132に登録する方式でもよい。   In this procedure, as shown in FIG. 10, first, the cache management unit 130 specifies a cache entry to be notified from entry specifying information such as an ID included in the area reservation request. Then, based on the cache entry information and the like, whether or not the cache data of the cache entry can be cached in the cache memory 140 is evaluated from both the limiting condition and the free capacity of the cache memory 140 (S90). As described above, the restriction condition is a condition for identifying an object that is not suitable for caching in terms of complexity, size, shape, or the like of the object, or that is clearly less efficient when cached. This determination is performed using registration information in the entry management table 132 for the identified cache entry, for example, information such as cache data size and object attributes (for example, object type and complexity). Further, the cache data size and object attribute information may be received from the RIP unit 120 together with the area reservation request and registered in the entry management table 132.

S90の評価の結果、制限条件がクリアされない(すなわちキャッシュに適さない)と判定した場合(S92の判定結果がNO)、キャッシュ管理部130は、特定されたキャッシュエントリ(以下「対象エントリ」と呼ぶ)のステージを5“Never Cache”に変更し(S94)、要求元のRIP部120に対して領域確保の失敗を示すコードを応答する(S96)。この応答に応じ、そのRIP部120は、図5のS38に示したように、当該オブジェクトのPDLデータを用いてビットマップ画像を生成してページの画像に合成し、そのビットマップ画像をキャッシュせずに処理を終了する。   As a result of the evaluation in S90, when it is determined that the restriction condition is not cleared (that is, not suitable for the cache) (the determination result in S92 is NO), the cache management unit 130 calls the identified cache entry (hereinafter referred to as “target entry”). ) Is changed to 5 “Never Cache” (S94), and a code indicating failure to secure the area is returned to the requesting RIP unit 120 (S96). In response to this response, as shown in S38 of FIG. 5, the RIP unit 120 generates a bitmap image using the PDL data of the object, combines it with the page image, and caches the bitmap image. The process ends without

S90の評価の結果、制限条件がクリアされたと判定した場合(S92の判定結果がYES)、キャッシュ管理部130は、更に、キャッシュメモリ140の空き領域(キャッシュデータが記憶されていない領域)の容量が、当該オブジェクトのキャッシュデータを記憶するのに十分かどうかを判定する(S98)。この判定では、キャッシュデータのサイズの情報を参照する。この判定処理で、空き領域の容量が十分であると判定されると、キャッシュ管理部130は、キャッシュメモリ140内の空き領域の中から、そのキャッシュデータのサイズに応じた領域を確保し、領域確保の成功を示すコードと共に、確保した領域のアドレスを要求元のRIP部120に応答する(S100)。この応答に応じ、そのRIP部120は、図5のS32〜S36の処理を実行する。なお、このときキャッシュ管理部130は、エントリ管理テーブル132の当該対象エントリの「キャッシュ領域のアドレス」に、確保した領域のアドレス(例えば先頭アドレス)を登録してもよい。   As a result of the evaluation in S90, when it is determined that the restriction condition has been cleared (the determination result in S92 is YES), the cache management unit 130 further determines the capacity of the free area of the cache memory 140 (area where cache data is not stored). Is sufficient to store the cache data of the object (S98). In this determination, information on the size of the cache data is referred to. If it is determined in this determination process that the capacity of the free area is sufficient, the cache management unit 130 secures an area according to the size of the cache data from the free areas in the cache memory 140, and The address of the secured area is returned to the requesting RIP unit 120 together with a code indicating the success of the securing (S100). In response to this response, the RIP unit 120 executes the processes of S32 to S36 in FIG. At this time, the cache management unit 130 may register the address of the reserved area (for example, the head address) in the “cache area address” of the target entry of the entry management table 132.

S98で空き領域の容量が十分でないと判定した場合、キャッシュ管理部130は、エントリ管理テーブル132から対象エントリのスコアを取得し(S102)、更にエントリ管理テーブル132に登録された各キャッシュエントリの中から、ステージが3“Cached”で且つ対象エントリよりもスコアの低いキャッシュエントリ(以下「劣位エントリ」と呼ぶ)を全て抽出する(S104)。   If it is determined in S98 that the capacity of the free area is not sufficient, the cache management unit 130 acquires the score of the target entry from the entry management table 132 (S102), and further, among the cache entries registered in the entry management table 132, Then, all the cache entries whose stage is 3 “Cached” and whose score is lower than that of the target entry (hereinafter referred to as “inferior entry”) are extracted (S104).

キャッシュエントリのスコアは、前述したように、当該キャッシュエントリのキャッシュデータをキャッシュメモリ140にキャッシュする価値(効果)を表す評価値である。したがって、劣位エントリは、対象エントリよりも相対的にキャッシュする価値が低いキャッシュエントリといえる。本実施形態では、キャッシュメモリ140に対象エントリのキャッシュデータを収容するのに十分な空き領域がない場合、そのような劣位エントリのキャッシュデータをキャッシュメモリ140から追い出す(削除する)ことで、十分な空き領域を作るよう試みる。   As described above, the score of the cache entry is an evaluation value representing the value (effect) of caching the cache data of the cache entry in the cache memory 140. Accordingly, it can be said that the inferior entry is a cache entry that is relatively less cached than the target entry. In the present embodiment, if there is not enough free space in the cache memory 140 to accommodate the cache data of the target entry, the cache data of such inferior entries is sufficiently removed from the cache memory 140 (deleted). Try to make free space.

S106では、S104で劣位エントリが1つでも見つかったかどうかを判定する。劣位エントリが1つも見つからなければ、対象エントリは、キャッシュ対象を規定する最低限の条件(言い換えれば絶対的な条件)である制限条件は満たしているものの、既にキャッシュメモリ140内にデータがキャッシュされている他のいずれのエントリからみても相対的にキャッシュする価値が低いということになる。したがって、このような場合には、対象エントリのデータをキャッシュしないようにする。すなわちS106の判定結果がNOの場合には、キャッシュ管理部130は、対象エントリを現在のステージ1“New Cache”からステージ4“Cached Out”に変更し(S108)、要求元のRIP部120に領域確保の失敗を示すコードを応答する(S110)。この応答に応じ、そのRIP部120は、図5のS38に示したように、当該オブジェクトのPDLデータを用いてビットマップ画像を生成してページの画像に合成し、そのビットマップ画像をキャッシュせずに処理を終了する。   In S106, it is determined whether or not even one inferior entry is found in S104. If no subordinate entry is found, the target entry satisfies the limit condition that is the minimum condition (in other words, an absolute condition) that defines the cache target, but the data is already cached in the cache memory 140. This means that the cache value is relatively low when viewed from any other entry. Therefore, in such a case, the data of the target entry is not cached. That is, when the determination result in S106 is NO, the cache management unit 130 changes the target entry from the current stage 1 “New Cache” to the stage 4 “Cached Out” (S108), and sends it to the requesting RIP unit 120. A code indicating a failure to secure the area is returned (S110). In response to this response, as shown in S38 of FIG. 5, the RIP unit 120 generates a bitmap image using the PDL data of the object, combines it with the page image, and caches the bitmap image. The process ends without

S106で、劣位エントリが1以上見つかったことが分かった場合(判定結果がYES)、キャッシュ管理部130は図11に例示する手順を実行する。   If it is determined in S106 that one or more inferior entries have been found (the determination result is YES), the cache management unit 130 executes the procedure illustrated in FIG.

すなわち、まず見つかった劣位エントリのなかに、使用カウンタの値が0のものが残っているかどうかを判定する(S111)。使用カウンタの値が0ということは、どのRIP部120もそのキャッシュエントリ(劣位エントリ)のキャッシュデータを使用していないということなので、そのキャッシュデータを削除しても他のRIP部には悪影響がない。そこで、使用カウンタの値が0の劣位エントリがあれば、その中から最もスコアの低いものを1つ抽出する(S112)。そして、抽出した劣位エントリのキャッシュデータのアドレス及びサイズをエントリ管理テーブル132から求めて、そのアドレスからキャッシュデータをキャッシュメモリ140から追い出し(削除し)、その劣位エントリを現在のステージ3“Cached”からステージ4“Cached Out”に変更する(S114)。この追い出しにより、それまでそのキャッシュデータが占めていたキャッシュメモリ140内の領域が解放される。キャッシュ管理部130は、その解放された領域を空き領域に加入し、それにより広がった空き領域の容量(すなわち、キャッシュメモリ140の空き容量)が対象エントリのキャッシュデータのサイズを収容するのに必要な大きさとなったかどうかを判定する(S116)。この判定で、空き領域が必要な容量に達していないと判定した場合、キャッシュ管理部130はS111に戻り、使用カウンタの値が0の劣位エントリが残っている間は、その中からスコアの低い順に1つずつ、キャッシュデータの追い出し及びステージの変更を行う(S112,S114)。   That is, it is first determined whether or not there is a usage counter value of 0 in the found inferior entries (S111). A usage counter value of 0 means that no RIP unit 120 uses the cache data of the cache entry (inferior entry), so even if the cache data is deleted, other RIP units are adversely affected. Absent. Therefore, if there is an inferior entry with a usage counter value of 0, one with the lowest score is extracted (S112). Then, the address and size of the cache data of the extracted inferior entry are obtained from the entry management table 132, the cache data is evicted (deleted) from the cache memory 140 from the address, and the inferior entry is removed from the current stage 3 “Cached”. Stage 4 is changed to “Cached Out” (S114). By this eviction, the area in the cache memory 140 that was previously occupied by the cache data is released. The cache management unit 130 joins the released area to the free area, and the capacity of the free area that is expanded (that is, the free capacity of the cache memory 140) is necessary to accommodate the size of the cache data of the target entry. It is determined whether the size has been reached (S116). In this determination, if it is determined that the free space has not reached the required capacity, the cache management unit 130 returns to S111, and while there is an inferior entry with a usage counter value of 0, the score is low among them. The cache data is evicted and the stage is changed one by one (S112, S114).

このようにして、使用カウンタの値が0の劣位エントリのみを追い出すことで、対象エントリをキャッシュするのに必要な空き容量が確保できた場合(S116の判定結果がYES)、キャッシュ管理部130は、キャッシュメモリ140の空き領域の中から、そのキャッシュデータのサイズに応じた領域を確保し、領域確保の成功を示すコードと共に、確保した領域のアドレスを要求元のRIP部120に応答する(S118)。これにより領域確保要求に対するキャッシュ管理部130の処理が終了する。その応答に応じ、そのRIP部120は、図5のS32〜S36の処理を実行する。なお、このときキャッシュ管理部130は、エントリ管理テーブル132の当該対象エントリの「キャッシュ領域のアドレス」に、確保した領域のアドレスを登録してもよい。   In this way, when only the inferior entry whose usage counter value is 0 is expelled, the free space necessary for caching the target entry can be secured (the determination result in S116 is YES), the cache management unit 130 Then, an area corresponding to the size of the cache data is secured from the free area of the cache memory 140, and the address of the secured area is returned to the requesting RIP unit 120 together with a code indicating the successful area securing (S118). ). Thereby, the processing of the cache management unit 130 in response to the area securing request is completed. In response to the response, the RIP unit 120 executes the processes of S32 to S36 in FIG. At this time, the cache management unit 130 may register the address of the reserved area in the “cache area address” of the target entry in the entry management table 132.

使用カウンタの値が0の劣位エントリを全てキャッシュメモリ140から追い出しても対象エントリをキャッシュするのに必要な空き容量が確保できない場合、S111の判定結果がNOとなる。これは、現在いずれかのRIP部120で使用されているキャッシュデータを追い出さない限り、対象エントリのキャッシュデータをキャッシュすることができないことを意味する。この場合、本実施形態では、例えば現在劣位エントリのキャッシュデータを使用しているRIP部120の処理に悪影響が及ぶことを避けるために、今回の要求については、対象エントリのキャッシュデータをキャッシュすることをあきらめる。ただし、対象エントリは、現在使用されている劣位エントリよりもキャッシュする価値(スコア)が高いので、あきらめたまま放置するのではなく、キャッシュするための準備を行う。   If all the subordinate entries whose usage counter value is 0 are evicted from the cache memory 140 and the free space required to cache the target entry cannot be secured, the determination result in S111 is NO. This means that the cache data of the target entry cannot be cached unless the cache data currently used by any RIP unit 120 is evicted. In this case, in this embodiment, in order to avoid adversely affecting the processing of the RIP unit 120 that currently uses the cache data of the inferior entry, for example, the cache data of the target entry is cached for the current request. Give up. However, since the target entry has a higher value (score) to be cached than the inferior entry currently used, preparation is made for caching instead of leaving it up.

すなわち、図11の手順では、S111の判定結果がNOの場合、対象エントリを現在のステージ1“New Cache”からステージ2“Caching”に変更する(S122)。ステージ2“Caching”は、前述した通り、このケースのように、当該エントリは他と比べてキャッシュする価値はあるものの、使用中の劣位エントリのキャッシュデータを追い出さないと当該エントリをキャッシュするのに十分な領域が確保できない「空き待ち」状態を表す。そして、要求元のRIP部120に対して、領域確保の失敗を示すコードを応答する(S124)。この応答に応じ、そのRIP部120は、図5のS38に示したように、当該オブジェクトのPDLデータをRIP処理してビットマップ画像を生成してページの画像に合成し、RIP処理結果をキャッシュせずに処理を終了する。   That is, in the procedure of FIG. 11, when the determination result in S111 is NO, the target entry is changed from the current stage 1 “New Cache” to the stage 2 “Caching” (S122). As described above, in stage 2 “Caching”, the entry is worth caching as compared to other cases, but the entry is cached unless the cache data of the inferior entry in use is evicted. This indicates a “waiting for free” state where a sufficient area cannot be secured. Then, a response indicating a failure to secure the area is returned to the requesting RIP unit 120 (S124). In response to this response, as shown in S38 of FIG. 5, the RIP unit 120 performs RIP processing on the PDL data of the object to generate a bitmap image, combines it with the page image, and caches the RIP processing result. The process is terminated without doing so.

このケースは、折角生成されたRIP処理結果がキャッシュされないという点では、対象エントリが制限条件に抵触する場合(図10のS92〜S94)や劣位エントリがない場合(同S106〜S110)と同じである。しかし、これらの場合は、いずれも対象エントリをキャッシュする価値が絶対的に又は他と比べて相対的に低い場合であり、ステージが“Never Cache”又は“Cached Out”とされることで、今後ずっと、又はしばらくはキャッシュ登録されないよう制御される。これに対し、S111の判定結果がNOとなったこのケースでは、対象エントリはキャッシュする価値が相対的に十分高いので、対象エントリを“Caching”という特別なステージに置いておき、今後、いずれかのRIP部120から同じ対象エントリに問合せがあった際、その対象エントリのキャッシュ登録が再度試みられるようにする。   This case is the same as when the target entry violates the restriction condition (S92 to S94 in FIG. 10) or when there is no inferior entry (S106 to S110) in that the RIP processing result generated at the corner is not cached. is there. However, both of these cases are cases where the value of caching the target entry is absolutely or relatively low compared to others, and the stage will be set to “Never Cache” or “Cached Out”. It is controlled not to be cached for a long time or for a while. On the other hand, in this case where the determination result in S111 is NO, the target entry is relatively high in cache value, so the target entry is placed in a special stage called “Caching” and either When the same target entry is inquired from the RIP unit 120, the cache registration of the target entry is retried.

また、キャッシュ管理部130は、使用カウンタの値が0でない劣位エントリを、スコアの低い順に1つずつ抽出し(S126)、抽出した劣位エントリをステージ3“Cached”からステージ4“Cached Out”に変更する(S128)。   Further, the cache management unit 130 extracts inferior entries whose use counter value is not 0 one by one in ascending order of score (S126), and the extracted inferior entries are changed from stage 3 “Cached” to stage 4 “Cached Out”. Change (S128).

そして、“Cached Out”に変更した劣位エントリのキャッシュデータを追い出したと仮定した場合のキャッシュメモリ140の空き容量を計算し、その空き容量が対象エントリのキャッシュデータをキャッシュするのに十分な量に達するまで、S126及びS128の処理を繰り返す(S130)。必要な空き容量が確保された時点で、領域確保要求に対するキャッシュ管理部130の処理が終了する。   Then, it calculates the free capacity of the cache memory 140 when it is assumed that the cache data of the inferior entry changed to “Cached Out” is evicted, and the free capacity reaches an amount sufficient to cache the cache data of the target entry. Steps S126 and S128 are repeated until (S130). When the necessary free space is secured, the processing of the cache management unit 130 in response to the area securing request ends.

前述のS114では、抽出した劣位エントリのキャッシュデータをキャッシュメモリ140から追い出したが、このS128では、抽出した劣位エントリのキャッシュデータをまだ他のRIP部120が使用しているので、この時点では追い出しは行わない。しかし、抽出された劣位エントリはステージが4“Cached Out”に変更されているので、いずれのRIP部120からも使用されなくなった後で、キャッシュデータがキャッシュメモリ140から追い出されることとなる(詳細は後述)。S128は、使用中の劣位エントリに対する追い出しの予約と捉えてもよい。このように、対象エントリよりもスコアの低いエントリ(劣位エントリ)に対して、追い出しの予約をしておくことで、例えば対象エントリが次の機会にキャッシュされる可能性が高まる。   In S114 described above, the cache data of the extracted inferior entry is evicted from the cache memory 140. However, in S128, the cache data of the extracted inferior entry is still used by another RIP unit 120. Do not do. However, since the extracted subordinate entry is changed to stage 4 “Cached Out”, the cache data is evicted from the cache memory 140 after it is not used by any RIP unit 120 (details). Will be described later). S128 may be regarded as an eviction reservation for an inferior entry in use. In this way, by making an eviction reservation for an entry having a lower score than the target entry (an inferior entry), for example, the possibility that the target entry is cached at the next opportunity increases.

また、使用中の劣位エントリをステージ4“Cached Out”に遷移させると、その後いずれかのRIP部120からその劣位エントリに問合せがあった場合、キャッシュ管理部130は“Deleted”を応答する(図7のS70)。この場合、問合せ元のRIP部120は、キャッシュデータを使用せずに、PDLデータをRIP処理する(図4のS24)。すなわち、その劣位エントリは使用中なので、キャッシュデータが未だキャッシュメモリ140にあるにもかかわらず、本実施形態では、それを問合せ元のRIP部120に使用させないようにしている。仮にこのような場合に問合せ元のRIP部120にキャッシュデータの使用を認めると、いずれかのRIP部から使用されているキャッシュデータは追い出さないという基本方針の下では、追い出し予約中のエントリをいつまで経っても追い出せなくなってしまう可能性がある。これに対し、本実施形態では、追い出しが予約された劣位エントリの使用を認めないので、そのような不具合が回避される。   In addition, when the inferior entry in use is shifted to stage 4 “Cached Out”, if there is an inquiry about the inferior entry from any RIP unit 120 thereafter, the cache management unit 130 responds with “Deleted” (see FIG. 7 S70). In this case, the inquiring RIP unit 120 performs RIP processing on the PDL data without using the cache data (S24 in FIG. 4). In other words, since the inferior entry is in use, even though the cache data is still in the cache memory 140, this embodiment prevents the RIP unit 120 that is the inquiry source from using it. In such a case, if the RIP unit 120 that is the inquiry source permits the use of cache data, under the basic policy that the cache data used by any RIP unit is not evicted, how long the entry that is reserved for evicting There is a possibility that it will not be able to be driven out even after a while. On the other hand, in this embodiment, since the use of the inferior entry reserved for eviction is not permitted, such a problem is avoided.

なお、S122及びS124の処理と、S126〜S130の処理とは、どちらを先に実行してもよい。   Note that either the processing of S122 and S124 or the processing of S126 to S130 may be executed first.

また、煩雑さを避けるために図11では省略したが、使用カウンタが0でない劣位エントリの全てをステージ4“Cached Out”にしても、対象エントリをキャッシュするのに十分な容量が確保できない場合も起こり得る。このような場合、キャッシュ管理部130は、領域確保要求に対する処理を終了すればよい。ここで必要な領域が確保できなくても、今回の領域確保要求に対しては確保失敗を応答しているので問題はなく、また同じ対象エントリに対する今後の問合せに対しても、追い出し予約をした劣位エントリの分だけ、キャッシュ登録が成功する可能性が高まっている。   Although omitted in FIG. 11 to avoid complication, even if all the subordinate entries whose usage counters are not 0 are set to stage 4 “Cached Out”, there is a case where sufficient capacity cannot be secured to cache the target entry. Can happen. In such a case, the cache management unit 130 may end the process for the area securing request. Even if the necessary area could not be secured here, there was no problem because the allocation failure was responded to the current area allocation request, and eviction reservation was made for future queries for the same target entry. The possibility of successful cache registration is increased by the number of subordinate entries.

次に、図12を参照して、いずれかのRIP部120からキャッシュデータの登録要求を受信したときのキャッシュ管理部130の処理手順の一例を説明する。   Next, an example of a processing procedure of the cache management unit 130 when a cache data registration request is received from any of the RIP units 120 will be described with reference to FIG.

この手順では、図12に示すように、まずキャッシュ管理部130は、当該登録要求に含まれるID等のエントリ特定情報からその通知の対象であるキャッシュエントリを特定し、そのキャッシュエントリにキャッシュデータを登録する(S142)。例えば、エントリ管理テーブル132にキャッシュデータの登録の有無を示す項目(図2では省略)を設けておき、S142ではその項目の値を「登録無し」から「登録有り」に変更すればよい。   In this procedure, as shown in FIG. 12, first, the cache management unit 130 specifies a cache entry to be notified from entry specifying information such as an ID included in the registration request, and stores cache data in the cache entry. Register (S142). For example, an item (not shown in FIG. 2) indicating whether or not cache data is registered is provided in the entry management table 132, and the value of the item may be changed from “not registered” to “registered” in S142.

また、キャッシュ管理部130は、当該キャッシュエントリの使用カウンタの値を0にリセットするとともに(S144)、当該エントリをステージ1“New Cache”からステージ3“Cached”に遷移させる(S146)。このとき、当該エントリの「データ作成中のRIP」の項目をクリアする。   In addition, the cache management unit 130 resets the value of the usage counter of the cache entry to 0 (S144), and changes the entry from stage 1 “New Cache” to stage 3 “Cached” (S146). At this time, the item “RIP during data creation” of the entry is cleared.

以上、RIP部120からの各種のアクセス(問合せ、使用開始要求、使用終了通知、領域確保要求、登録要求)に対するキャッシュ管理部130の処理手順の例を説明した。以上に説明した処理手順では、1以上のRIP部120から使用中のキャッシュエントリに対して追い出し予約(キャッシュデータは削除されないが、ステージは4“Cached Out”に変更される)がなされる場合がある。本実施形態では、追い出し予約がなされたキャッシュエントリについては、いずれのRIP部120からもキャッシュデータが使用されなくなった段階で、できるだけすみやかに実際の追い出しを行い、それまでのそのデータが占めていた領域を解放する。このような追い出し予約がなされたキャッシュエントリの解放には、いくつかの方式が考えられる。   The example of the processing procedure of the cache management unit 130 for various accesses (inquiries, use start requests, use end notifications, area allocation requests, registration requests) from the RIP unit 120 has been described above. In the processing procedure described above, there is a case where one or more RIP units 120 make a eviction reservation (cache data is not deleted, but the stage is changed to 4 “Cached Out”) for a cache entry in use. is there. In the present embodiment, the cache entry for which the eviction reservation has been made is actually evicted as soon as possible when the cache data is no longer used by any of the RIP units 120, and the data until then is occupied. Free up space. There are several methods for releasing a cache entry that has been reserved for such eviction.

1つは、定期的にエントリ管理テーブル132を調べて、解放すべきキャッシュエントリを探す方式である。この方式に従った手順の例を図13に示す。   One is a method of periodically checking the entry management table 132 to search for a cache entry to be released. An example of the procedure according to this method is shown in FIG.

図13の手順では、キャッシュ管理部130は、定期的な調査のタイミング(クリーニングタイミングと呼ぶ)が到来すると、エントリ管理テーブル132においてステージが4“Cached Out”で且つ使用カウンタの値が0であるエントリを探し(S150)、そのようなエントリがあれば(S152の判定結果がYES)、そのエントリのキャッシュデータがまだキャッシュメモリ140内にあるかどうかを判定する(S154)。S154の判定結果がYESであれば、そのキャッシュデータをキャッシュメモリ140から追い出し、それまでそのデータが占めていた領域を解放し(S156)、再びS150に戻る。S154の判定結果がNOであれば、S156を飛ばしてS150に戻る。このようにして、ステージが4“Cached Out”で且つ使用カウンタの値が0である全てのキャッシュエントリのキャッシュデータを追い出す。   In the procedure of FIG. 13, the cache management unit 130 has a stage of 4 “Cached Out” and the value of the usage counter is 0 in the entry management table 132 when a periodic check timing (referred to as a cleaning timing) arrives. An entry is searched (S150). If there is such an entry (YES in S152), it is determined whether or not the cache data of the entry is still in the cache memory 140 (S154). If the determination result in S154 is YES, the cache data is evicted from the cache memory 140, the area occupied by the data so far is released (S156), and the process returns to S150 again. If the determination result in S154 is NO, S156 is skipped and the process returns to S150. In this way, the cache data of all cache entries whose stage is 4 “Cached Out” and whose usage counter value is 0 are evicted.

また、追い出し予約がなされたキャッシュエントリの解放を、キャッシュデータの使用終了通知に対する処理の中で行う方式も考えられる。この方式に沿った手順の例を、図14に示す。   Another possible method is to release the cache entry for which the eviction reservation has been made in the processing for the cache data use end notification. An example of the procedure according to this method is shown in FIG.

図14の手順は、いずれかのRIP部120からキャッシュデータの使用終了通知が到来した場合に実行される。この手順では、キャッシュ管理部130は、使用終了通知に含まれるID等に対応するキャッシュエントリをエントリ管理テーブル132から特定し、そのエントリの使用カウンタの値を1つ減少させる(S160)。そして、そのエントリがステージ4“Cached Out”であるか否か(S162)及び使用カウンタの値が0であるか否か(S164)をそれぞれ判定し、両方の判定結果がYESの場合に、当該エントリのキャッシュデータをキャッシュメモリ140から追い出す(S166)。これにより、それまでそのキャッシュデータが占めていた領域が解放される。特定したエントリがステージ4でないか、又は使用カウンタの値が0でない場合は、キャッシュデータの削除は行わず、処理を終了する。追い出し予約がなされたキャッシュエントリのキャッシュデータは、この手順により、使用しているRIP部120が無くなり次第直ちに追い出されることとなる。   The procedure in FIG. 14 is executed when a cache data use end notification is received from any of the RIP units 120. In this procedure, the cache management unit 130 identifies a cache entry corresponding to the ID or the like included in the use end notification from the entry management table 132, and decrements the use counter value of the entry by one (S160). Then, it is determined whether or not the entry is stage 4 “Cached Out” (S162) and the value of the usage counter is 0 (S164). If both the determination results are YES, The cache data of the entry is evicted from the cache memory 140 (S166). As a result, the area previously occupied by the cache data is released. If the identified entry is not stage 4 or the value of the usage counter is not 0, the cache data is not deleted and the process is terminated. The cache data of the cache entry for which the eviction reservation has been made is immediately evicted as soon as the RIP unit 120 being used disappears by this procedure.

次に、図15を参照して、いったん“Cached Out”ステージに遷移させたキャッシュエントリの見直し処理の一例を説明する。この処理は、例えば一定周期ごとなどのように、あらかじめ定められた規則に応じて決定された見直しタイミングが到来するごとに実行される。   Next, with reference to FIG. 15, an example of a cache entry review process once shifted to the “Cached Out” stage will be described. This process is executed each time a review timing determined according to a predetermined rule is reached, for example, at regular intervals.

この手順では、キャッシュ管理部130は、見直しのタイミングが到来すると、エントリ管理テーブル132からステージが4“Cached Out”である(すなわち追い出された状態にある)キャッシュエントリを探し(S170)、そのようなエントリがあれば(S172の判定結果がYES)、そのエントリのスコアがあらかじめ定められた閾値以上であるかどうかを判定する(S174)。キャッシュエントリのスコアがある範囲に収まるように正規化されたものであれば、この判定に用いる閾値は固定値でもよい。そうでない場合は、エントリ管理テーブル132に登録されているキャッシュエントリのスコアの分布に応じて閾値を適応的に変化させる。閾値の決め方には、様々な方式が考えられる。例えば、全キャッシュエントリにわたるスコアの平均値を閾値としてもよいし、全キャッシュエントリのスコアのうち上位から見てあらかじめ定められた順位に該当するスコアを閾値としてもよい。また、現在ステージが3“Cached”であるキャッシュエントリのうちの最低スコアを基準に閾値を定めてもよい(例えば、最低スコアに対してあらかじめ定めた値を足した値を閾値とするなど)。   In this procedure, when the review timing comes, the cache management unit 130 searches the entry management table 132 for a cache entry whose stage is 4 “Cached Out” (that is, in an evicted state) (S170), and so on. If there is a correct entry (the determination result in S172 is YES), it is determined whether or not the score of the entry is equal to or greater than a predetermined threshold (S174). As long as the cache entry score is normalized so as to fall within a certain range, the threshold value used for this determination may be a fixed value. Otherwise, the threshold value is adaptively changed according to the score distribution of the cache entries registered in the entry management table 132. There are various methods for determining the threshold value. For example, an average value of scores over all cache entries may be set as a threshold value, or a score corresponding to a predetermined rank as viewed from the top among scores of all cache entries may be set as a threshold value. Further, the threshold value may be set based on the lowest score among the cache entries whose current stage is 3 “Cached” (for example, a value obtained by adding a predetermined value to the lowest score is used as the threshold value).

S174で当該キャッシュエントリのスコアが閾値以上であると判定された場合、それはそのキャッシュエントリはキャッシュメモリ140に戻す価値があることを意味する。この場合、キャッシュ管理部130は、そのキャッシュエントリをステージ4“Cached Out”からステージ2“Caching”へと遷移させる(S176)。これにより、その後当該キャッシュエントリに対していずれかのRIP部120から問合せが到来すると、当該エントリはステージ1“New Cache”に遷移し、そのRIP部120が当該エントリのキャッシュデータの登録を試みることとなる(図7のS66及び図4,図5を参照)。   If it is determined in S174 that the score of the cache entry is greater than or equal to the threshold value, it means that the cache entry is worth returning to the cache memory 140. In this case, the cache management unit 130 transitions the cache entry from the stage 4 “Cached Out” to the stage 2 “Caching” (S176). As a result, when an inquiry is subsequently received from any RIP unit 120 for the cache entry, the entry transits to stage 1 “New Cache”, and the RIP unit 120 attempts to register the cache data of the entry. (See S66 in FIG. 7 and FIGS. 4 and 5).

《変形例1−1》
以上、1つの実施形態を説明した。以上の第1例の実施形態では、あるキャッシュエントリのキャッシュデータが作成中(すなわちステージ1“New Cache”)である場合、そのエントリの問合せを行ったRIP部120が、そのキャッシュデータが完成するのを待つのか待たないのかを判断した(図6のS42,S43参照)。しかし、その判断は、問合せを受けたキャッシュ管理部130が行ってもよい。その判断をキャッシュ管理部130が行う例を、以下に説明する。
<< Modification 1-1 >>
Thus, one embodiment has been described. In the embodiment of the first example described above, when cache data of a certain cache entry is being created (that is, stage 1 “New Cache”), the RIP unit 120 that inquired the entry completes the cache data. Whether or not to wait is determined (see S42 and S43 in FIG. 6). However, the determination may be made by the cache management unit 130 that has received the inquiry. An example in which the cache management unit 130 makes the determination will be described below.

この例において、RIP部120からキャッシュエントリの問合せを受けたときのキャッシュ管理部130の処理手順を、図16及び図17に示す。図16に示す手順は、問合せの対象のキャッシュエントリのステージが1“New Cache”である場合の処理を除き、図7の手順と同じである。   In this example, the processing procedure of the cache management unit 130 when receiving a cache entry inquiry from the RIP unit 120 is shown in FIGS. 16 and 17. The procedure shown in FIG. 16 is the same as the procedure shown in FIG. 7 except for the processing when the stage of the cache entry to be queried is 1 “New Cache”.

問合せの対象のキャッシュエントリのステージが1“New Cache”である場合は、キャッシュ管理部130は、図17に例示する手順を実行する。この手順では、キャッシュ管理部130は、問合せ元のRIP部120(第1のRIP部と呼ぶ)が当該オブジェクトのPDLデータを自らRIP処理する場合と、そのオブジェクトのキャッシュデータを作成中のRIP部120(第2のRIP部と呼ぶ)がそのキャッシュデータを完成させるのを待って第1のRIP部にそのキャッシュデータを利用させる場合との、どちらが早く処理が完了するかを評価する(S182)。評価の仕方は、図6のS42の評価と同様でよい。   When the stage of the cache entry to be queried is 1 “New Cache”, the cache management unit 130 executes the procedure illustrated in FIG. In this procedure, the cache management unit 130 determines whether the RIP unit 120 (referred to as the first RIP unit) as the inquiry source performs RIP processing on the PDL data of the object itself, and the RIP unit that is creating the cache data of the object. 120 (referred to as the second RIP unit) waits for completion of the cache data and evaluates which one completes the processing earlier when the first RIP unit uses the cache data (S182). . The evaluation method may be the same as the evaluation in S42 of FIG.

S183では、S182の評価の結果に基づき、作成中のキャッシュデータの完成を待つ方がよいか待たない方がよいかを判定する。S183で第1のRIP部がキャッシュデータの完成を待った方がよいと判定された場合、キャッシュ管理部130は、第2のRIP部から当該キャッシュデータの登録要求が来るのを待つ(S184)。登録要求が来ることで、キャッシュデータが完成したことが分かる。すると、キャッシュ管理部130は、第1のRIP部に対し“Hit”を応答する(S186)。この時点では、そのキャッシュデータはキャッシュメモリ140内にあるので、“Hit”を受け取った第1のRIP部は、そのキャッシュデータを用いてページのRIP処理を進める。   In S183, it is determined based on the result of the evaluation in S182 whether it is better to wait for completion of the cache data being created or not. If it is determined in S183 that the first RIP unit should wait for completion of the cache data, the cache management unit 130 waits for a registration request for the cache data from the second RIP unit (S184). When the registration request comes, you can see that the cache data is complete. Then, the cache management unit 130 responds “Hit” to the first RIP unit (S186). At this time, since the cache data is in the cache memory 140, the first RIP unit that has received “Hit” advances the RIP processing of the page using the cache data.

すなわち、この例では、待つ方がよいと判断した場合は、キャッシュ管理部130はすぐには問合せ元のRIP部120(第1のRIP部)に応答を行わず、そのキャッシュデータの完成を待って“Hit”を応答している。その間、問合せ元のRIP部120は、キャッシュ管理部130の応答を待っている。しかし、このような処理は一例に過ぎない。この代わりに、待つ方がよいと判断した時点で即座に問合せ元のRIP部120に待つように明示的に指示を行い、その後キャッシュデータが完成した時点で“Hit”を応答するようにしてもよい。   In other words, in this example, if it is determined that it is better to wait, the cache management unit 130 does not immediately respond to the inquiry RIP unit 120 (first RIP unit), but waits for completion of the cache data. Responds with “Hit”. Meanwhile, the RIP unit 120 as the inquiry source is waiting for a response from the cache management unit 130. However, such processing is only an example. Instead, when it is determined that it is better to wait, the RIP unit 120 as the inquiry source is instructed to wait immediately, and then “Hit” is returned when the cache data is completed. Good.

一方、S183で、待たない方がよい(すなわち第1のRIP部がPDLデータをRIP処理した方が早く処理が完了する)と判定した場合は、キャッシュ管理部130は、即座に、第1のRIP部に対し“Creating”を応答する(S188)。“Creating”を受け取った第1のRIP部は、キャッシュデータの完成を待たずに、当該オブジェクトのPDLデータをRIP処理し、ページの描画を進める。この場合、RIP処理結果はキャッシュされない。   On the other hand, if it is determined in S183 that it is better not to wait (that is, the process is completed faster if the first RIP unit performs the RIP process on the PDL data), the cache management unit 130 immediately determines the first A “Creating” response is returned to the RIP unit (S188). Upon receiving “Creating”, the first RIP unit RIP-processes the PDL data of the object without waiting for completion of the cache data, and advances the page drawing. In this case, the RIP processing result is not cached.

《変形例1−2》
また、更に別の変形例も考えられる。すなわち、上記第1例の実施形態では、あるキャッシュエントリのキャッシュデータが作成中である場合、そのエントリの問合せを行ったRIP部120が、そのキャッシュデータが完成するのを待つのか待たないのかを判断していた(図6のS42,S43参照)が、この変形例では、そのRIP部120の処理負荷が高い場合にはこの判断自体を取りやめる。この変形例の手順の一例を図18に示す。図18は、図4の手順のS16で応答が“Creating”であると判定された後の処理の流れを示す。
<< Modification 1-2 >>
Still another modification is also conceivable. That is, in the embodiment of the first example, when cache data of a certain cache entry is being created, it is determined whether the RIP unit 120 that inquired about the entry waits for the cache data to be completed or not. This determination has been made (see S42 and S43 in FIG. 6), but in this modification, this determination itself is canceled when the processing load of the RIP unit 120 is high. An example of the procedure of this modification is shown in FIG. FIG. 18 shows a flow of processing after it is determined that the response is “Creating” in S16 of the procedure of FIG.

この変形例では、その場合、まず、RIP部120は自身の負荷があらかじめ定めた閾値以上であるかどうかを判定する(S41)。ここでの負荷は、負荷監視部114が監視している当該RIP部120の負荷と同じものである。負荷がその閾値を超えている場合、図6の手順と同様のS42及びS43の処理を実行すること自体が、当該RIP部120にとって無視できない負担となる(すなわち、実行中の他の処理の妨げとなる)。逆に言えば、閾値は、そのような状況を生じる下限の負荷であり、これは実験等によりあらかじめ求めておけばよい。   In this modification, in this case, first, the RIP unit 120 determines whether or not its own load is equal to or greater than a predetermined threshold (S41). The load here is the same as the load of the RIP unit 120 monitored by the load monitoring unit 114. When the load exceeds the threshold, executing the processing of S42 and S43 similar to the procedure of FIG. 6 itself becomes a burden that cannot be ignored for the RIP unit 120 (that is, preventing other processing being executed). Becomes). In other words, the threshold value is a lower limit load that causes such a situation, and this may be obtained in advance by an experiment or the like.

S41の判定で、RIP部120の負荷が閾値以上と判定された場合、RIP部120は、S42及びS43を飛ばし、キャッシュデータの完成を待つと自動的に判定し、S44へと進む。すなわち、この場合、RIP部120は負荷が高いので、自分でPDLデータをRIP処理することはしない。その他のステップは、図6と同様でよい。   If it is determined in S41 that the load on the RIP unit 120 is greater than or equal to the threshold, the RIP unit 120 skips S42 and S43, automatically determines that cache data is complete, and proceeds to S44. That is, in this case, since the RIP unit 120 has a high load, the PIP data is not subjected to RIP processing by itself. Other steps may be the same as in FIG.

《変形例1−3》
また、上記第1例では、RIP部120は、キャッシュ管理部130から“Creating”の応答を受け取った場合、作成中のキャッシュデータの完成を待つか否かを判定したが、このような判定を行わず、“Creating”を受け取った場合には、作成中のキャッシュデータの完成を必ず待つようにしてもよい。また、この逆に、必ず、待たずに自らRIP処理し、処理結果をキャッシュしないようにしてもよい。このような場合でも、RIP部120は、“Creating”というキャッシュデータ作成中を示す従来にない応答を受け取ることで、“Miss”又は“Hit”という従来の応答の場合とは異なる対応をとる。すなわち、“Miss”及び“Hit”という応答しか無ければ、“Miss”という応答を受けた場合、RIP部120は目的のキャッシュデータが作成中であってもそのことが分からないので、その完成を待つこともできず、自分でPDLデータをRIP処理することとなり、その処理結果をキャッシュメモリ140に重複登録してしまうことになる。
<< Modification 1-3 >>
In the first example, when the RIP unit 120 receives a “Creating” response from the cache management unit 130, the RIP unit 120 determines whether to wait for completion of the cache data being created. If “Creating” is received without performing the process, the completion of the cache data being created may always be waited. Conversely, the RIP process may be performed without waiting and the processing result may not be cached. Even in such a case, the RIP unit 120 takes a different response from the conventional response of “Miss” or “Hit” by receiving a response of “Creating” indicating that the cache data is being created. In other words, if there are only responses “Miss” and “Hit”, when the response “Miss” is received, the RIP unit 120 does not know even if the target cache data is being created. It is impossible to wait, and the PDL data is subjected to RIP processing by itself, and the processing result is registered in the cache memory 140 in duplicate.

[第2例]
本発明の実施形態の第2の例を説明する。この第2例の印刷文書変換システムの構成は、図1に示したものと同様でよい。
[Second example]
A second example of the embodiment of the present invention will be described. The configuration of the print document conversion system of the second example may be the same as that shown in FIG.

《第2例の概要》
上述の第1例では、領域確保要求があった段階で、その要求の対象エントリよりもスコアの低い使用中のキャッシュエントリをステージ4“Cached Out”に遷移させることで、明示的にそのキャッシュエントリの追い出し予約を行った(図11のS126,S128)。これに対し、この第2例では、追い出すべきと判定される使用中のキャッシュエントリをステージ3“Cached”のままで、暗黙のうちに追い出し予約状態とする。第1例ではステージ4“Cached Out”は、キャッシュデータがキャッシュメモリ140内にあるキャッシュエントリ(追い出し予約されたエントリ)にも適用されるのに対し、この第2例ではステージ4“Cached Out”はそのようなエントリには適用されず、キャッシュデータがキャッシュメモリ140から実際に追い出されたエントリのみに適用される。
<< Outline of the second example >>
In the first example described above, when there is an area reservation request, the cache entry in use whose score is lower than that of the target entry of the request is shifted to stage 4 “Cached Out” to explicitly show the cache entry. The eviction reservation is made (S126 and S128 in FIG. 11). On the other hand, in this second example, the cache entry in use that is determined to be evicted remains in stage 3 “Cached” and is implicitly set in the evicting reservation state. In the first example, stage 4 “Cached Out” is also applied to a cache entry (an entry reserved for eviction) in which the cache data is in the cache memory 140, whereas in this second example, stage 4 “Cached Out”. Does not apply to such an entry, but applies only to entries whose cache data is actually evicted from the cache memory 140.

《第2例の状態遷移》
この第2例でのキャッシュエントリの状態遷移を図19に示す。図19に示す通り、第2例では、ステージ3“Cached”のキャッシュエントリに対していずれかのRIP部120から問合せがあった場合、キャッシュ管理部130は、そのキャッシュエントリのスコアに応じて応答を“Hit”と“Deleted”の間で切り替える。すなわち、そのキャッシュエントリのスコアが閾値以上であれば“Hit”を応答し、そうでなければ“Deleted”を応答する。応答“Deleted”の意味とこれを受け取ったときのRIP部120の挙動は、第1例の場合と同じである。すなわち、この第2例では、スコアが閾値未満であれば、“Deleted”を応答することで当該キャッシュエントリのキャッシュデータの使用を認めないようにする。これにより、当該キャッシュエントリのキャッシュデータが新たに使用されることが無くなるので、仮に現在そのキャッシュデータが使用中であっても、時間の経過に伴い使用カウンタの値が減っていき、追い出しが可能な状態(すなわち使用カウンタの値が0)に至る。このように、第2例では、スコアが閾値より低いと“Deleted”を応答することで、暗黙のうちに(すなわち明示的に“Cached Out”に遷移させることなく)当該キャッシュエントリを追い出し予約状態としている。ここで用いる閾値は、第1例の図15の手順のS174で用いる閾値とは使用目的が異なるものなので、基本的にはS174で用いる閾値とは独立に定めればよいが、処理の簡略化などのためにS174で用いる閾値と同じ値を用いてもよい。
<< State transition of the second example >>
FIG. 19 shows the state transition of the cache entry in the second example. As shown in FIG. 19, in the second example, when any RIP unit 120 inquires about a cache entry of stage 3 “Cached”, the cache management unit 130 responds according to the score of the cache entry. Switch between “Hit” and “Deleted”. That is, if the score of the cache entry is equal to or greater than the threshold value, “Hit” is returned, otherwise “Deleted” is returned. The meaning of the response “Deleted” and the behavior of the RIP unit 120 when it is received are the same as in the first example. That is, in this second example, if the score is less than the threshold value, the use of the cache data of the cache entry is not permitted by responding “Deleted”. As a result, the cache data of the cache entry is not newly used, so even if the cache data is currently in use, the value of the usage counter decreases with time and can be evicted. (That is, the use counter value is 0). As described above, in the second example, when the score is lower than the threshold value, “Deleted” is responded to implicitly (that is, without explicitly shifting to “Cached Out”), and the cache entry is evicted. It is said. The threshold used here has a different purpose of use from the threshold used in S174 in the procedure of FIG. 15 of the first example, and basically may be determined independently of the threshold used in S174, but the process is simplified. For example, the same value as the threshold used in S174 may be used.

ステージ3“Cached”のキャッシュエントリがステージ4“Cached Out”に遷移するのは、そのキャッシュエントリのキャッシュデータが実際にキャッシュメモリ140から追い出されたときである。   The cache entry of stage 3 “Cached” transitions to stage 4 “Cached Out” when the cache data of that cache entry is actually evicted from the cache memory 140.

図19の状態遷移は、以上に説明した点以外は、図3の例と同様である。   The state transition of FIG. 19 is the same as the example of FIG. 3 except for the points described above.

《第2例の処理手順》
第2例での各RIP部120の処理手順は、第1例の場合と同様でよい(図4〜図6参照)。
<< Processing Procedure of Second Example >>
The processing procedure of each RIP unit 120 in the second example may be the same as that in the first example (see FIGS. 4 to 6).

第2例でのキャッシュ管理部130の動作は、第1例の場合と一部異なる。以下では、第1例と異なる部分に焦点を当てて説明する。   The operation of the cache management unit 130 in the second example is partially different from that in the first example. In the following, the description will be focused on parts different from the first example.

まず、いずれかのRIP部120から問合せを受けたときのキャッシュ管理部130の処理手順の一例を図20に示す。この例では、キャッシュ管理部130は、問合せの対象のキャッシュエントリのステージが3“Cached”である場合、そのエントリのスコアを調べ、スコアが閾値以上であれば“Hit”を応答し、閾値未満であれば“Deleted”を応答する(S68A)。図20の他のステップは、第1例の図7のステップと同様でよい。   First, an example of the processing procedure of the cache management unit 130 when an inquiry is received from any of the RIP units 120 is shown in FIG. In this example, when the stage of the cache entry to be queried is 3 “Cached”, the cache management unit 130 checks the score of the entry, and if the score is equal to or greater than the threshold, responds “Hit” and is less than the threshold If so, "Deleted" is returned (S68A). The other steps in FIG. 20 may be the same as the steps in FIG. 7 of the first example.

いずれかのRIP部120から使用開始要求を受けたときのキャッシュ管理部130の処理手順は、第1例の図8の手順と同様でよい。   The processing procedure of the cache management unit 130 when receiving a use start request from any of the RIP units 120 may be the same as the procedure of FIG. 8 of the first example.

いずれかのRIP部120から使用終了通知を受けたときのキャッシュ管理部130の処理手順は、例えば図21に示すようなものとなる。   The processing procedure of the cache management unit 130 when receiving a use end notification from any of the RIP units 120 is, for example, as shown in FIG.

この手順では、キャッシュ管理部130は、使用終了通知に含まれるID等から、対象となるキャッシュエントリを特定し、そのエントリの使用カウンタの値を1つ減少させる(S160)。そして、そのキャッシュエントリの使用カウンタの値が0であるか否か(S163)及びそのキャッシュエントリのスコアが閾値未満であるか否か(S165)をそれぞれ判定する。そして、両方の判定結果がYESの場合には、当該キャッシュエントリのキャッシュデータをキャッシュメモリ140から追い出し、そのエントリのステージを現在値3“Cached”から4“Cached Out”に変更する(S167)。これにより、それまでそのキャッシュデータが占めていた領域が解放される。対象のキャッシュエントリの使用カウンタの値が0でないか、又はスコアが閾値以上である場合は、キャッシュデータの削除及びステージ変更(S167)は行わず、処理を終了する。スコアが閾値未満となって暗黙のうちに追い出し予約状態(すなわち新規の使用を受け付けない状態)となっていたキャッシュエントリは、この手順により、使用しているRIP部120が無くなり次第直ちに追い出され、ステージ4“Cached Out”に遷移することとなる。   In this procedure, the cache management unit 130 specifies the target cache entry from the ID included in the use end notification and decreases the use counter value of the entry by one (S160). Then, it is determined whether or not the value of the usage counter of the cache entry is 0 (S163) and whether or not the score of the cache entry is less than the threshold (S165). If both the determination results are YES, the cache data of the cache entry is evicted from the cache memory 140, and the stage of the entry is changed from the current value 3 “Cached” to 4 “Cached Out” (S167). As a result, the area previously occupied by the cache data is released. When the value of the usage counter of the target cache entry is not 0 or the score is equal to or greater than the threshold value, the cache data is not deleted and the stage is changed (S167), and the process is terminated. A cache entry whose score is less than the threshold value and is implicitly in the eviction reservation state (that is, a state in which new use is not accepted) is immediately evicted by this procedure as soon as the RIP unit 120 in use is lost, Transition to stage 4 “Cached Out” will occur.

図21の例では、スコアが閾値より低いキャッシュエントリのキャッシュデータを、使用終了通知を受けたタイミングで追い出したが、これは一例に過ぎない。この代わりに、例えば、第1例における図13の手順と同様の方法で、見直しタイミングごとにステージが3“Cached”の各キャッシュエントリのスコアと使用カウンタを調べ、スコアが閾値未満且つ使用カウンタの値が0となっているエントリのキャッシュデータを追い出すようにしてもよい。   In the example of FIG. 21, the cache data of the cache entry whose score is lower than the threshold value is evicted at the timing when the use end notification is received, but this is only an example. Instead, for example, in the same manner as the procedure of FIG. 13 in the first example, the score and the use counter of each cache entry whose stage is “3” “Cached” are checked at each review timing, and the score is less than the threshold and the use counter The cache data of the entry whose value is 0 may be evicted.

いずれかのRIP部120から領域確保要求が到来した場合のキャッシュ管理部130の処理手順は、例えば図22及び図23に示すものとなる。   The processing procedure of the cache management unit 130 when an area reservation request is received from any of the RIP units 120 is as shown in FIGS. 22 and 23, for example.

まず図22に示す手順は、ほとんどの部分は図10に示した第1例における処理手順と同様であり、S99を含む点のみが第1例の場合と異なる。すなわち、この第2例では、S96及びS98で領域確保の対象のキャッシュエントリ(オブジェクト)が制限条件をクリアし、キャッシュメモリ140の空き領域に収容可能(空き容量が十分)と判定された場合に、図21の手順のS165で用いられるスコアの閾値を、取り得る範囲の最低値(例えば0)にリセットする(S99)。S98で空き容量が十分と判定されたということは、この判定の時点では、キャッシュメモリ140の空き領域が追い出しを必要としない程度に十分大きいということである。そこで、この例では、そのような場合に、キャッシュメモリ140内に残すキャッシュエントリの選別基準を下げて、現在キャッシュメモリ140内にあるキャッシュデータができるだけ追い出されないようにしている。   First, the procedure shown in FIG. 22 is almost the same as the processing procedure in the first example shown in FIG. 10, and only the point including S99 is different from that in the first example. That is, in this second example, when it is determined in S96 and S98 that the cache entry (object) for which the area is to be secured clears the restriction condition and can be accommodated in the free area of the cache memory 140 (the free capacity is sufficient). The threshold value of the score used in S165 of the procedure of FIG. 21 is reset to the lowest value (for example, 0) in the possible range (S99). The fact that the free space is determined to be sufficient in S98 means that at the time of this determination, the free area of the cache memory 140 is large enough not to require eviction. Therefore, in this example, in such a case, the selection criterion for the cache entry to be left in the cache memory 140 is lowered so that the cache data currently in the cache memory 140 is not expelled as much as possible.

なお、以上の例ではS99で閾値を最低値にリセットしたが、これは一例に過ぎない。この代わりに、S99では閾値をあらかじめ定められた幅又は割合だけ低下させるようにしてもよい。   In the above example, the threshold is reset to the minimum value in S99, but this is only an example. Instead, in S99, the threshold value may be decreased by a predetermined width or ratio.

また、図22の手順のS106で劣位エントリ有りと判定した場合にキャッシュ管理部130が行う処理手順は、図23に示すようなものとなる。この処理手順は、第1例における図11の手順とほぼ同様であるが、図11の手順におけるS126〜S130のステップ群が、図23の手順ではS125に置き換えられている。   Further, the processing procedure performed by the cache management unit 130 when it is determined that there is an inferior entry in S106 of the procedure of FIG. 22 is as shown in FIG. This processing procedure is substantially the same as the procedure of FIG. 11 in the first example, but the step group of S126 to S130 in the procedure of FIG. 11 is replaced with S125 in the procedure of FIG.

使用されていない劣位エントリのキャッシュデータをすべてキャッシュメモリ140から追い出してもまだ必要な空き容量が確保できない場合、図23の手順でも、図11の手順と同様、領域確保要求の対象のキャッシュエントリ(「対象エントリ」)のステージを2“Caching”に変更し(S122)、要求元のRIP部120に領域確保の失敗を示す応答を行う(S124)。すなわち、第2例でも、今回の領域確保要求については失敗を返すことで、要求元のRIP部120は、対象エントリのPDLデータをRIP処理してビットマップ画像を生成し、それをキャッシュしないようにする。そして、その後同じ対象エントリに対して問合せが到来したときにその対象エントリのキャッシュデータを収容するだけの空き容量ができるよう、現時点では、使用中の他のエントリのキャッシュデータの追い出しの予約を行う。図23の手順は、その予約の仕方が図11の手順と異なる。   If the necessary free space cannot be secured even after all the cache data of inferior entries that have not been used is evicted from the cache memory 140, the procedure of FIG. 23 is similar to the procedure of FIG. The stage of “target entry”) is changed to 2 “Caching” (S122), and a response indicating a failure to secure the area is sent to the RIP unit 120 of the request source (S124). That is, also in the second example, by returning a failure for the current area securing request, the RIP unit 120 of the request source generates a bitmap image by RIP processing the PDL data of the target entry, and does not cache it To. Then, when an inquiry is made for the same target entry after that, a reservation is made for the eviction of the cache data of the other entries that are currently in use so that there is enough free space to accommodate the cache data of the target entry. . The procedure in FIG. 23 is different from the procedure in FIG. 11 in the reservation method.

すなわち、図11の手順では、まだいずれかのRIP部120から使用されているキャッシュエントリのステージを明示的に4“Cached Out”に遷移させることで追い出しの予約を行った。これに対し、図23の手順ではそのような明示的なステージ変更は行わず、追い出し処理(図21のS165及びS167)における追い出し対象の判定の閾値の調整を行い(S125)、調整後の閾値よりもスコアの低いキャッシュエントリが今後新たに使用されないようにする(図20のS68A参照)ことで、それらスコアの低いキャッシュエントリが追い出されやすくする。   In other words, in the procedure of FIG. 11, the eviction reservation is made by explicitly shifting the cache entry stage still used by any RIP unit 120 to 4 “Cached Out”. On the other hand, in the procedure of FIG. 23, such an explicit stage change is not performed, and the threshold value for determination of the eviction target in the eviction process (S165 and S167 in FIG. 21) is adjusted (S125), and the adjusted threshold value is adjusted. By preventing cache entries with lower scores from being used in the future (see S68A in FIG. 20), cache entries with lower scores can be easily evicted.

S125の閾値の調整は、対象エントリのスコアを基準とする。すなわち、ここでは、対象エントリをキャッシュできるようにするために、対象エントリのスコアより少し低いスコアを閾値に設定する。すなわち、S125では、例えば、対象エントリのスコアからあらかじめ定められた値又は割合を減じた結果を閾値に設定する。より厳密には、閾値は、対象エントリのスコアより低く、少なくとも1つの劣位エントリのスコアよりも高い値に設定する。このように閾値を設定すれば、その閾値よりスコアの低いキャッシュエントリのキャッシュデータは、いずれのRIP部120からも使用されなくなった時点で図21の手順でキャッシュメモリ140から追い出されることとなる。その後いずれかのRIP部120がキャッシュ管理部130に対象エントリについて問合せ行った時点で、閾値に基づく追い出しにより対象エントリのキャッシュデータ以上の容量が確保できていれば、対象エントリのキャッシュデータがキャッシュメモリ140に登録されることになる。対象エントリのスコアは、S125で設定された閾値よりも高いので、その設定の後閾値を更に上昇させる変更が行われていなければ、対象エントリのキャッシュデータは追い出されずにキャッシュメモリ140に残ることとなる。   The threshold adjustment in S125 is based on the score of the target entry. That is, here, in order to be able to cache the target entry, a score slightly lower than the score of the target entry is set as the threshold value. That is, in S125, for example, a result obtained by subtracting a predetermined value or ratio from the score of the target entry is set as the threshold value. More precisely, the threshold is set to a value lower than the score of the target entry and higher than the score of at least one subordinate entry. If the threshold value is set in this way, cache data of a cache entry having a score lower than the threshold value is evicted from the cache memory 140 by the procedure of FIG. 21 when it is no longer used by any RIP unit 120. Thereafter, when any RIP unit 120 makes an inquiry to the cache management unit 130 about the target entry, if the capacity larger than the cache data of the target entry can be secured by eviction based on the threshold value, the cache data of the target entry is stored in the cache memory. 140 will be registered. Since the score of the target entry is higher than the threshold value set in S125, the cache data of the target entry remains in the cache memory 140 without being evicted if no change is made to further increase the threshold value after the setting. Become.

いずれかのRIP部120からキャッシュデータの登録要求を受けたときのキャッシュ管理部130の処理手順は、第1例の図12の手順と同様でよい。   The processing procedure of the cache management unit 130 when a cache data registration request is received from any of the RIP units 120 may be the same as the procedure of FIG. 12 of the first example.

また、この第2例でも、第1例と同様、いったん“Cached Out”ステージに遷移させたキャッシュエントリの見直し処理(図15)を行ってもよい。   Also in the second example, as in the first example, the cache entry review process (FIG. 15) once shifted to the “Cached Out” stage may be performed.

《変形例2−1) 》
以上、実施形態の第2例を説明した。以上では、閾値は、追い出すキャッシュエントリを判別するために用いた(図20のS68A及び図21のS165及びS167参照)。これに対し、同じ閾値を用いて、キャッシュを要求されたキャッシュエントリがキャッシュ登録に値するかどうかを判定してもよい。このような判定を行う例を図24に示す。
<< Modification 2-1) >>
The second example of the embodiment has been described above. In the above, the threshold value is used to determine the cache entry to be evicted (see S68A in FIG. 20 and S165 and S167 in FIG. 21). On the other hand, the same threshold value may be used to determine whether the cache entry requested to be cached deserves cache registration. An example of performing such a determination is shown in FIG.

図24に示す手順は、いずれかのRIP部120から領域確保要求があった場合のキャッシュ管理部130の処理手順であり、図22の手順に対してS103を追加したものである。図24の手順では、キャッシュメモリ140の空き容量が十分でない場合、対象エントリに対する劣位エントリを抽出(S104)する前に、対象エントリのスコアが閾値以上であるかどうかを判定する(S103)。そして、対象エントリのスコアが閾値未満であれば、そもそもその対象エントリはキャッシュする価値がないとみなし、劣位エントリの抽出(S104)等のステップは実行せずに、その対象エントリをステージ4“Cached Out”に遷移させ(S108)、要求元のRIP部120に領域確保の失敗を応答する(S110)。   The procedure shown in FIG. 24 is a processing procedure of the cache management unit 130 when there is an area securing request from any RIP unit 120, and S103 is added to the procedure of FIG. In the procedure of FIG. 24, if the free space of the cache memory 140 is not sufficient, before extracting a subordinate entry for the target entry (S104), it is determined whether the score of the target entry is equal to or greater than a threshold (S103). If the score of the target entry is less than the threshold value, the target entry is regarded as not worthy to be cached in the first place, and the target entry is moved to stage 4 “Cached” without performing the steps such as extraction of the inferior entry (S104). Transition to “Out” (S108), a failure to secure the area is returned to the requesting RIP unit 120 (S110).

《変形例2−2 》
上述の変形例2−1では、追い出すキャッシュエントリを判別するための閾値(図20のS68A及び図21のS165及びS167参照)と、キャッシュエントリを登録するか否かの判定に用いる閾値(図24のS103参照)とが共通のものであった。これに対し、この変形例2−2では、それら2種類の閾値を使い分ける例を説明する。以下では、前者の閾値を追出用閾値、後者の閾値を登録用閾値と呼ぶ。
<< Modification 2-2 >>
In the above-described modified example 2-1, a threshold for determining a cache entry to be evicted (see S68A in FIG. 20 and S165 and S167 in FIG. 21) and a threshold used for determining whether or not to register a cache entry (FIG. 24). And S103). On the other hand, in this modified example 2-2, an example in which these two types of threshold values are used properly will be described. Hereinafter, the former threshold is referred to as an eviction threshold, and the latter threshold is referred to as a registration threshold.

この変形例2−2では、いずれかのRIP部120からキャッシュエントリについての問合せが来た場合に、図25に示すように、そのキャッシュエントリのスコアが「追出用」閾値以上であれば“Hit”を応答し、「追出用」閾値未満であれば“Deleted”を応答する(S68B)。図25の他のステップは、図20に示した第2例の手順と同様でよい。すなわち、この例では、S68Bにて暗黙的な追い出し予約状態とするキャッシュエントリを判定するのに、2種類の閾値のうち追出用閾値を用いる。   In this modified example 2-2, when an inquiry about a cache entry is received from any RIP unit 120, as shown in FIG. 25, if the score of the cache entry is equal to or greater than the “for eviction” threshold, “ “Hit” is returned, and if it is less than the “for eviction” threshold, “Deleted” is returned (S68B). The other steps of FIG. 25 may be the same as the procedure of the second example shown in FIG. That is, in this example, the threshold value for eviction is used among the two types of threshold values to determine the cache entry to be set in the implicit eviction reservation state in S68B.

また、いずれかのRIP部120から使用終了通知を受けたときのキャッシュ管理部130の処理手順は図26に示すようなものとなる。この手順は、対象のエントリのスコアを「追出用」閾値と比較する(S165A)点以外は、図21の手順と同様である。すなわち、この例では、キャッシュエントリを追い出すか否かの判定に、2種類の閾値のうち追出用閾値を用いている。   Further, the processing procedure of the cache management unit 130 when receiving a use end notification from any of the RIP units 120 is as shown in FIG. This procedure is the same as the procedure of FIG. 21 except that the score of the target entry is compared with the “for eviction” threshold (S165A). That is, in this example, the threshold for eviction is used among the two types of thresholds for determining whether or not the cache entry is evicted.

また、いずれかのRIP部120から領域確保要求が到来した場合のキャッシュ管理部130の処理手順は、図27及び図28に示すものとなる。   Further, the processing procedure of the cache management unit 130 when an area securing request is received from any of the RIP units 120 is as shown in FIGS.

図27の手順は、上述の変形例2−1の図24の手順に対応するものである。変形例2−1(図24)では対象エントリがキャッシュするのに値するかどうかを判定する場合に、対象エントリのスコアを(追出用と登録用とに分けない)共通の閾値と比較していたのに対し、この変形例2−2では、対象エントリのスコアを「登録用」閾値と比較する(S103A)。また、変形例2−1(図24)ではS98で空き容量が十分と判定した場合、共通の閾値をリセット(S99)したのに対し、この変形例2−2では、その場合には登録用閾値をリセットする(S99A)。   The procedure of FIG. 27 corresponds to the procedure of FIG. 24 of the above-described modification 2-1. In the modified example 2-1 (FIG. 24), when determining whether or not the target entry is worth caching, the score of the target entry is compared with a common threshold (not divided for eviction and registration). On the other hand, in the modified example 2-2, the score of the target entry is compared with the “registration” threshold value (S103A). In the modified example 2-1 (FIG. 24), when it is determined in S98 that the free space is sufficient, the common threshold value is reset (S99). In the modified example 2-2, in this case, for registration. The threshold value is reset (S99A).

また、図28の手順は、第2例の図23の手順に対応している。第2例(図23)では、ステップS125において、(追出用と登録用とに分けない)共通の閾値を対象エントリのスコアに基づき計算していたのに対し、この変形例2−2では、追出用及び登録用の各閾値を対象エントリのスコアに基づき計算する(S125A)。例えば、追出用及び登録用の各閾値は、ともに、対象エントリのスコアより低く、少なくとも1つの劣位エントリのスコアよりも高い値に設定する。ここでは、例えば、登録用閾値の方が追出用閾値以上となるよう、各閾値を定めればよい。例えば、対象エントリのスコアから第1の正の値を引いた値を登録用閾値とし、更にその登録用閾値から第2の正の値を引いた値を追出用閾値とするなどである。   The procedure of FIG. 28 corresponds to the procedure of FIG. 23 of the second example. In the second example (FIG. 23), in step S125, a common threshold value (not divided for eviction and registration) was calculated based on the score of the target entry, whereas in this modification 2-2 The threshold values for eviction and registration are calculated based on the score of the target entry (S125A). For example, the threshold values for eviction and registration are both set to a value lower than the score of the target entry and higher than the score of at least one inferior entry. Here, for example, each threshold value may be determined such that the registration threshold value is equal to or greater than the eviction threshold value. For example, a value obtained by subtracting a first positive value from the score of the target entry is used as a registration threshold, and a value obtained by subtracting a second positive value from the registration threshold is used as an eviction threshold.

また、この変形例2−2でも、第1例の図15の手順と同様、いったん“Cached Out”ステージに遷移させたキャッシュエントリの見直し処理を行ってもよい。ここで、この変形例2−2では、図29に示すように、“Cached Out”ステージにあるキャッシュエントリを、キャッシュ登録の対象に戻すか否かを判定する閾値として、登録用閾値を用いる(S174A)。図29の手順のそれ以外のステップは、図15の場合と同じである。   Also in this modified example 2-2, as with the procedure of FIG. 15 of the first example, the cache entry that has been once shifted to the “Cached Out” stage may be reviewed. In this modified example 2-2, as shown in FIG. 29, a registration threshold is used as a threshold for determining whether or not to return a cache entry in the “Cached Out” stage to a cache registration target ( S174A). Other steps of the procedure in FIG. 29 are the same as those in FIG.

[第3例]
《概要》
本発明の実施形態の第3の例を説明する。この第3例の印刷文書変換システムの構成は、図1に示したものと同様でよい。
[Third example]
"Overview"
A third example of the embodiment of the present invention will be described. The configuration of the print document conversion system of the third example may be the same as that shown in FIG.

上述の第1例及び第2例では、RIP部120から領域確保要求を受け取ったときに、空き容量が足りない場合に、キャッシュ済(ステージ3“Cached”)である劣位エントリを追い出す(削除する)ことで、空き容量を増大させた(図10のS104、S106及び図11参照)。これに対し、この第3例では、ステージが3“Cached” である劣位エントリを追い出すのに加え、キャッシュデータ作成中(ステージ1“New Cache”)の劣位エントリが確保した領域も解放することで、空き容量を増大させる。   In the first and second examples described above, when an area reservation request is received from the RIP unit 120, if there is not enough free space, the inferior entry that is cached (stage 3 “Cached”) is evicted (deleted). As a result, the free space is increased (see S104 and S106 in FIG. 10 and FIG. 11). In contrast, in this third example, in addition to expelling the inferior entry whose stage is 3 “Cached”, the area secured by the inferior entry during the creation of the cache data (stage 1 “New Cache”) is also released. Increase free space.

すなわち、キャッシュデータを作成するRIP部120は、図5に示すようにまず領域確保要求(S30)を行ってキャッシュデータを記憶させる領域を確保し、その後その領域にキャッシュデータを生成し(S32)、登録する(S36)。したがって、ステージ1“New Cache”のキャッシュエントリには、領域が確保されてはいるもののキャッシュデータがまだ完成していない期間が存在する。この第3例では、このような期間に該当するステージ1“New Cache”のキャッシュエントリの領域を解放するのである。なお、ステージ1“New Cache”のキャッシュエントリでも、領域確保前のものについては、解放する領域がないので、第3例の処理の対象とはならない。   That is, as shown in FIG. 5, the RIP unit 120 that creates cache data first makes an area reservation request (S30) to secure an area for storing cache data, and then generates cache data in that area (S32). And registration (S36). Therefore, the cache entry of stage 1 “New Cache” has a period in which the area is reserved but the cache data is not yet completed. In the third example, the cache entry area of stage 1 “New Cache” corresponding to such a period is released. It should be noted that the cache entry of stage 1 “New Cache” is not subject to the processing of the third example because there is no area to be released for the area before securing the area.

第3例では、キャッシュ管理部130は、図30に示すようにエントリ管理テーブル132にてキャッシュエントリの領域確保が済んでいるか否かを示す項目(図中の「領域確保」欄)を管理している。この項目は、ステージ1“New Cache”のキャッシュエントリについてのみ値が登録されていればよく、他のステージのキャッシュエントリについてはこの項目は空値である。   In the third example, the cache management unit 130 manages an item indicating whether or not the area of the cache entry has been secured in the entry management table 132 as shown in FIG. ing. This item only needs to be registered for the cache entry of stage 1 “New Cache”, and this item is a null value for cache entries of other stages.

《第3例の状態遷移》
第3例におけるキャッシュエントリの状態遷移は、図31に示すようなものとなる。図31の状態遷移は、図3に示した第1例の状態遷移とほぼ同じであり、異なる点は、ステージ1“New Cache”からステージ4“Cached Out”に遷移する条件が増えている点である。すなわち、第3例では、領域確保が成功した後、他のキャッシュエントリの領域確保のためにその領域を強制的に解放された場合にも、ステージ1“New Cache”からステージ4“Cached Out”への遷移が起こる。
<< State transition of the third example >>
The state transition of the cache entry in the third example is as shown in FIG. The state transition of FIG. 31 is almost the same as the state transition of the first example shown in FIG. 3 except that the condition for transition from stage 1 “New Cache” to stage 4 “Cached Out” is increased. It is. That is, in the third example, even if the area is forcibly released to secure the area of another cache entry after the area has been successfully secured, stage 1 “New Cache” to stage 4 “Cached Out” A transition to occurs.

第3例での各RIP部120の処理手順は、第1例の場合と同様でよい(図4〜図6参照)。   The processing procedure of each RIP unit 120 in the third example may be the same as that in the first example (see FIGS. 4 to 6).

第3例でのキャッシュ管理部130の動作は、第1例と同様の部分が多い。同様の点を説明すると、まずいずれかのRIP部120から問合せを受けたときのキャッシュ管理部130の処理手順は、第1例と同様でよい(図7参照)。また、いずれかのRIP部120から使用開始要求を受けたときのキャッシュ管理部130の処理手順も、第1例と同様でよい(図8参照)。また、いずれかのRIP部120から使用終了通知を受けたときのキャッシュ管理部130の処理手順も、第1例と同様でよい(図9又は図14参照)。また、クリーニングタイミング到来時及び見直しタイミング到来時の処理も、第1例の場合と同様でよい(図13及び図15参照)。   The operation of the cache management unit 130 in the third example has many parts similar to those in the first example. To explain the same point, the processing procedure of the cache management unit 130 when receiving an inquiry from any of the RIP units 120 may be the same as that in the first example (see FIG. 7). Further, the processing procedure of the cache management unit 130 when receiving a use start request from any of the RIP units 120 may be the same as in the first example (see FIG. 8). Further, the processing procedure of the cache management unit 130 when receiving a use end notification from any of the RIP units 120 may be the same as in the first example (see FIG. 9 or FIG. 14). Also, the processing when the cleaning timing comes and the review timing comes may be the same as in the first example (see FIGS. 13 and 15).

以下、第1例と異なる部分に焦点を当てて説明する。   In the following, the description will be focused on parts different from the first example.

第3例において、いずれかのRIP部120から領域確保要求が到来した場合のキャッシュ管理部130の処理手順は、例えば図32〜図38に示すものとなる。   In the third example, the processing procedure of the cache management unit 130 when an area securing request arrives from any of the RIP units 120 is, for example, as shown in FIGS.

まず図32に示す手順は、ほとんどの部分は図10に示した第1例における処理手順と同様であり、S100A及びS104Aのみが異なる。S100Aでは、領域確保を要求元のRIP部120に応答することに加え、当該キャッシュエントリの領域が確保済になったことをエントリ管理テーブル132の「領域確保」の欄に登録する。なお、キャッシュエントリの「領域確保」の欄は、当該エントリがステージ1“New Cache”に遷移したときに、「未確保」に初期化されているものとする。S104Aでは、ステージ3だけでなく、ステージ1且つ領域確保済のキャッシュエントリの中からも劣位エントリ(対象エントリよりもスコアが低いエントリ)を探す。このとき、領域確保済かどうかは、エントリ管理テーブル132の「領域確保」の欄を参照して判定すればよい。   First, the procedure shown in FIG. 32 is almost the same as the processing procedure in the first example shown in FIG. 10, and only S100A and S104A are different. In S100A, in addition to responding to the requesting RIP unit 120 to secure the area, the fact that the area of the cache entry has been secured is registered in the “area secured” column of the entry management table 132. Note that it is assumed that the “area reservation” column of the cache entry is initialized to “unsecured” when the entry transitions to stage 1 “New Cache”. In S104A, not only the stage 3 but also the inferior entry (entry having a lower score than the target entry) is searched from the cache entries in the stage 1 and area reserved. At this time, whether or not the area has been secured may be determined by referring to the “area secured” column of the entry management table 132.

また、図32の手順のS106で劣位エントリ有りと判定した場合、キャッシュ管理部130は図33の手順に進む。   If it is determined in S106 of the procedure of FIG. 32 that there is an inferior entry, the cache management unit 130 proceeds to the procedure of FIG.

図33の手順では、まず見つかった劣位エントリのなかに、ステージが3“Cached”で使用カウンタの値が0のものが残っているかどうかを判定する(S111A)。残っていれば、その中からスコアの低い順に1つずつ抽出し(S112A)、抽出した劣位エントリのキャッシュデータをキャッシュメモリ140から追い出し(削除し)、その劣位エントリを現在のステージ3 “Cached”からステージ4“Cached Out”に変更する(S114)。ステージが3“Cached”で使用カウンタの値が0の劣位エントリが残っている間は、S112A及びS114を繰り返すことで、キャッシュメモリ140の空き容量を増大させる(S116)。このような手順で対象エントリをキャッシュするのに必要な空き容量が確保できた場合(S116の判定結果がYES)、キャッシュ管理部130は、キャッシュメモリ140の空き領域の中から、そのキャッシュデータのサイズに応じた領域を確保し、領域確保の成功を要求元のRIP部120に応答すると共に、当該キャッシュエントリの領域が確保済になったことをエントリ管理テーブル132の「領域確保」の欄に登録する。(S118A)。   In the procedure of FIG. 33, it is first determined whether or not there are any remaining subordinate entries that have a stage of 3 “Cached” and a usage counter value of 0 (S111A). If they remain, they are extracted one by one in descending order of score (S112A), the cache data of the extracted inferior entries is evicted (deleted) from the cache memory 140, and the inferior entries are extracted from the current stage 3 “Cached”. To stage 4 “Cached Out” (S114). While the inferior entry whose stage is 3 “Cached” and the usage counter value is 0 remains, the free capacity of the cache memory 140 is increased by repeating S112A and S114 (S116). When the free space necessary for caching the target entry can be secured by such a procedure (the determination result in S116 is YES), the cache management unit 130 stores the cache data from the free area of the cache memory 140. An area corresponding to the size is secured, the success of the area securing is responded to the requesting RIP unit 120, and the fact that the area of the cache entry has been secured is indicated in the "area securing" column of the entry management table 132 sign up. (S118A).

ステージ3 “Cached”且つ使用カウンタの値が0の劣位エントリを全てキャッシュメモリ140から追い出しても対象エントリをキャッシュするのに必要な空き容量が確保できない場合、S111Aの判定結果がNOとなる。   Stage 3 If the inferior entry whose value is “Cached” and the usage counter is 0 is evicted from the cache memory 140 and the free space required to cache the target entry cannot be secured, the determination result in S111A is NO.

S111Aの判定結果がNOとなった場合、キャッシュ管理部130は、ステージ1“New Cache”且つ領域確保済のキャッシュエントリの領域を解放することで、十分な空き容量を確保することを試みる。このための処理手順には、例えば、3つの方式がある。以下、それら3つの方式の処理手順の例を順に説明する。   When the determination result in S111A is NO, the cache management unit 130 attempts to secure sufficient free space by releasing the area of the cache entry in which the stage 1 “New Cache” and the area has been secured. There are three types of processing procedures for this purpose, for example. Hereinafter, examples of processing procedures of these three methods will be described in order.

《第1方式:一時的オーバーフロー方式》
この方式では、キャッシュ管理部130は図34に例示する処理手順を実行する。この手順では、まず、ステージ1“New Cache”で領域確保済の劣位エントリが残っているかどうかを判定する(S200)。残っていれば、その中から最もスコアの低いものを1つ抽出する(S202)。そして、抽出した劣位エントリをステージ1“New Cache”からステージ4“Cached Out”に遷移させ(S204)、この領域を解放したと仮定した場合のキャッシュメモリ140の空き容量を計算する。この空き容量が、対象エントリのキャッシュデータを収容するのに十分な大きさかどうかを判定し(S206)、まだ不十分であれば、S200に戻り、ステージ1“New Cache”で領域確保済の別の劣位エントリが残っている間は、S202〜S204の処理を繰り返す。このようなステージ1“New Cache”で領域確保済の劣位エントリ群の領域の解放で対象エントリに必要な空き領域が確保できれば(S206の判定結果がYES)、キャッシュ管理部130は、対象エントリのための領域をキャッシュメモリ140内で確保し、要求元のRIP部120に領域確保の旨を示すコードと確保した領域のアドレスの情報を返す(S208)。また、このとき、エントリ管理テーブル132の対象エントリのレコードの「領域確保」欄に対し、領域確保が済んだ旨を記録する。S208の後、キャッシュ管理部130は、当該領域確保要求についての処理を終了する。
<< First method: Temporary overflow method >>
In this method, the cache management unit 130 executes the processing procedure illustrated in FIG. In this procedure, first, it is determined whether or not an inferior entry whose area has been secured remains in stage 1 “New Cache” (S200). If it remains, one with the lowest score is extracted from the list (S202). Then, the extracted inferior entry is shifted from stage 1 “New Cache” to stage 4 “Cached Out” (S204), and the free capacity of the cache memory 140 is calculated when it is assumed that this area has been released. It is determined whether or not this free capacity is large enough to accommodate the cache data of the target entry (S206). If it is still insufficient, the process returns to S200 and another area that has been secured in stage 1 “New Cache”. While the inferior entry remains, the processes of S202 to S204 are repeated. If the free area necessary for the target entry can be secured by releasing the area of the subordinate entry group whose area has already been secured in stage 1 “New Cache” (the determination result in S206 is YES), the cache management unit 130 An area is reserved in the cache memory 140, and a code indicating the area reservation and information on the address of the reserved area are returned to the requesting RIP unit 120 (S208). At this time, the fact that the area has been secured is recorded in the “area secured” column of the record of the target entry in the entry management table 132. After S208, the cache management unit 130 ends the process for the area reservation request.

ここで注意すべきは、S204では、劣位エントリをステージ1“New Cache”からステージ4“Cached Out”に遷移させるのみであり、その劣位エントリのために確保されているキャッシュ領域は実際には解放しない点である。この解放は、現在作成されているその劣位エントリのキャッシュデータの作成が完了し、作成しているRIP部120がそのデータを使用し終えた時点で行われる。このように、S204では、いわば領域解放の予約が行われるだけである。このため、S208を実行する時点では、キャッシュメモリ140の空き容量は、実際には対象エントリのために必要な量よりも少ない。このため、S208での領域の確保は、オペレーティングシステムからキャッシュメモリ140に割り当てられた全体容量の制限を一時的に超える(オーバーフローする)形で行う。すなわち、キャッシュ管理部130及びキャッシュメモリ140を実現するコンピュータのオペレーティングシステムは、自身が管理するメモリ空間の一部をキャッシュメモリ140に割り当てており、S208ではその割り当てられた領域からはみ出して対象エントリのためのキャッシュ領域を確保するのである。このような確保処理により、キャッシュメモリ140として実際に使用される領域のサイズは、本来割り当てられたキャッシュメモリサイズを超えることとなるが、このオーバーフロー状態は領域解放を予約された劣位エントリ群のキャッシュデータの作成が完了するまでの一時的な状態に過ぎない。   Note that in S204, the inferior entry is only transitioned from stage 1 “New Cache” to stage 4 “Cached Out”, and the cache area reserved for the inferior entry is actually released. It is a point not to do. This release is performed when the creation of the cache data of the inferior entry currently created is completed and the created RIP unit 120 finishes using the data. In this way, in S204, only an area release reservation is made. For this reason, when S208 is executed, the free capacity of the cache memory 140 is actually smaller than the amount necessary for the target entry. For this reason, the area reservation in S208 is performed in a form that temporarily exceeds (overflows) the limit of the total capacity allocated to the cache memory 140 from the operating system. That is, the operating system of the computer that implements the cache management unit 130 and the cache memory 140 allocates a part of the memory space managed by the cache management unit 130 and the cache memory 140. In S208, the operating system of the target entry extends beyond the allocated area. A cache area is secured for this purpose. By such a securing process, the size of the area actually used as the cache memory 140 exceeds the originally allocated cache memory size, but this overflow state is the cache of the inferior entry group reserved for releasing the area. It is only a temporary state until data creation is completed.

なお、ステージ1“New Cache”で領域確保済のすべての劣位エントリの領域を解放したとしても、対象エントリのために必要な領域が確保できない場合、S200の判定結果がNOとなる。この場合、キャッシュ管理部130は、第1例の図11のS122〜S130と同様の処理を行う。すなわち、対象エントリのステージを2“Caching”に変更し(S122)、要求元のRIP部120に領域確保の失敗を応答し(S124)、ステージ3の使用中の劣位エントリに対し、スコアの低い順に、必要な空き容量が確保されるまで追い出し予約(ステージ4への変更)を行う(S126〜S130)。   Note that even if the areas of all subordinate entries whose areas have been secured in stage 1 “New Cache” are released, if the area necessary for the target entry cannot be secured, the determination result in S200 is NO. In this case, the cache management unit 130 performs the same processing as S122 to S130 of FIG. 11 of the first example. That is, the stage of the target entry is changed to 2 “Caching” (S122), a failure to secure the area is responded to the requesting RIP unit 120 (S124), and the score is lower than the inferior entry in use in stage 3 In order, the eviction reservation (change to stage 4) is performed until the necessary free space is secured (S126 to S130).

この第1方式では、対象エントリのための領域確保を要求したRIP部120は、ステージ3で使用カウンタ値が0のキャッシュエントリと、ステージ1で領域確保済のキャッシュエントリの領域を解放すれば、必要な容量が得られる場合には、即座にキャッシュ領域の割当を受けることとなる。   In this first method, the RIP unit 120 that requested the area reservation for the target entry releases the cache entry whose use counter value is 0 in stage 3 and the area of the cache entry whose area is already reserved in stage 1, When the necessary capacity is obtained, the cache area is immediately allocated.

また、この第1方式では、S204で領域解放の予約がなされたキャッシュエントリについての領域の解放を、例えば、キャッシュデータの登録要求をトリガとして実行する。この手順を図35に示す。   In the first method, the area release for the cache entry for which the area release reservation has been made in S204 is executed, for example, using a cache data registration request as a trigger. This procedure is shown in FIG.

図35の手順では、キャッシュ管理部130は、いずれかのRIP部120からキャッシュデータの登録要求(この要求にはキャッシュエントリを特定するID等の特定情報が含まれている)が到来すると、その要求の対象であるキャッシュエントリ(対象エントリ)のステージをエントリ管理テーブル132から求める(S140)。この場合、対象エントリのステージは1“New Cache”又は4“Cached Out”のどちらかである。ステージが1“New Cache”の場合は、第1例における図12の手順と同様、S142〜S146の各ステップを実行する。ステージが4“Cached Out”の場合、対象エントリのキャッシュ領域は他のキャッシュエントリのキャッシュ領域を確保するために解放するべく予約されている(図34のS204参照)ので、作成されたばかりの対象エントリのキャッシュデータを削除し、それまでそのキャッシュデータが占めていた領域を解放する(S148)。なお、この解放の前までに対象エントリのキャッシュデータを作成していたRIP部120は、既にそのキャッシュデータをページの印刷画像データに合成する処理を済ませている(図5の手順で、登録要求(S36)の前にビットマップ作成(S34)が実行されている)ので、この時点でキャッシュデータを削除しても、そのRIP部120に悪影響はない。   In the procedure of FIG. 35, when the cache management unit 130 receives a cache data registration request from any of the RIP units 120 (this request includes specific information such as an ID for specifying a cache entry), the cache management unit 130 The stage of the cache entry (target entry) that is the target of the request is obtained from the entry management table 132 (S140). In this case, the stage of the target entry is either 1 “New Cache” or 4 “Cached Out”. When the stage is 1 “New Cache”, the steps S142 to S146 are executed as in the procedure of FIG. 12 in the first example. When the stage is 4 “Cached Out”, the cache area of the target entry is reserved to be released in order to secure the cache area of other cache entries (see S204 in FIG. 34). Cache data is deleted, and the area occupied by the cache data until then is released (S148). Note that the RIP unit 120 that has created the cache data of the target entry before this release has already completed the process of combining the cache data with the print image data of the page (the registration request is performed in the procedure of FIG. 5). Since bitmap creation (S34 is executed before (S36)), even if the cache data is deleted at this time, the RIP unit 120 is not adversely affected.

このような領域解放の処理により、キャッシュメモリ140のオーバーフロー状態が解消されていくことになる。   By such an area release process, the overflow state of the cache memory 140 is eliminated.

《第2方式:即時強制解放方式》
この方式では、キャッシュ管理部130は図36に例示する処理手順を実行する。この手順では、まず、ステージ1“New Cache”で領域確保済の劣位エントリが残っているかどうかを判定する(S200)。残っていれば、その中から最もスコアの低いものを1つ抽出する(S202)。そして、抽出した劣位エントリのキャッシュデータを作成中のRIP部120(これはエントリ管理テーブル132から分かる)に対し、キャッシュデータの作成中止、及びキャッシュ領域ではなく通常のメモリ領域を用いて当該オブジェクトの元のPDLデータをRIP処理すること、を指示する(S203)。これに応じ、そのRIP処理部120は、そのオブジェクトのRIP処理を行い、そのRIP処理結果をページの画像に合成した後、キャッシュせずに破棄する。また、抽出した劣位エントリをステージ1“New Cache”からステージ4“Cached Out”に遷移させ、この劣位エントリのために確保していたキャッシュ領域を解放する(S204A)。
<< Second method: Immediate forced release method >>
In this method, the cache management unit 130 executes the processing procedure illustrated in FIG. In this procedure, first, it is determined whether or not an inferior entry whose area has been secured remains in stage 1 “New Cache” (S200). If it remains, one with the lowest score is extracted from the list (S202). Then, for the RIP unit 120 that is creating the cache data of the extracted inferior entry (this is known from the entry management table 132), the creation of the object is canceled using the normal memory area instead of the cache area. An instruction is given to RIP process the original PDL data (S203). In response to this, the RIP processing unit 120 performs RIP processing of the object, combines the RIP processing result with the image of the page, and discards it without caching. Further, the extracted inferior entry is shifted from stage 1 “New Cache” to stage 4 “Cached Out”, and the cache area reserved for this inferior entry is released (S204A).

すなわち、上述の第1方式のS204では、劣位エントリのステージを4に変更するだけでキャッシュ領域は解放しなかったのに対し、この第2方式ではキャッシュ領域を解放する。そして、この解放の後、キャッシュメモリ140の空き容量が対象エントリのキャッシュデータを収容するのに十分な大きさかどうかを判定し(S206)、まだ不十分であれば、S200に戻り、ステージ1“New Cache”で領域確保済の別の劣位エントリが残っている間は、S202〜S204Aの処理を繰り返す。このようなステージ1“New Cache”且つ領域確保済の劣位エントリ群の領域の解放で対象エントリに必要な空き領域が確保できれば(S206の判定結果がYES)、キャッシュ管理部130は、対象エントリのための領域をキャッシュメモリ140に確保し、要求元のRIP部120に領域確保の旨を示すコードと確保した領域のアドレスの情報を返す(S208)。また、このとき、エントリ管理テーブル132の対象エントリのレコードの「領域確保」欄に対し、領域確保が済んだ旨を記録する。S208の後、キャッシュ管理部130は、当該領域確保要求についての処理を終了する。   That is, in S204 of the first method described above, the cache area is not released only by changing the stage of the inferior entry to 4, whereas in the second method, the cache area is released. After the release, it is determined whether or not the free capacity of the cache memory 140 is large enough to accommodate the cache data of the target entry (S206). While another subordinate entry whose area has been secured remains in “New Cache”, the processing of S202 to S204A is repeated. If the free area necessary for the target entry can be secured by releasing the area of the inferior entry group in which the stage 1 “New Cache” and the area has already been secured (the determination result in S206 is YES), the cache management unit 130 An area to be reserved is secured in the cache memory 140, and a code indicating that the area is secured and information on the address of the secured area are returned to the RIP unit 120 that requested the request (S208). At this time, the fact that the area has been secured is recorded in the “area secured” column of the record of the target entry in the entry management table 132. After S208, the cache management unit 130 ends the process for the area reservation request.

なお、ステージ1“New Cache”で領域確保済のすべての劣位エントリの領域を解放したとしても、対象エントリのために必要な領域が確保できない場合、S200の判定結果がNOとなる。この場合、キャッシュ管理部130は、第1例の図11のS122〜S130と同様の処理を行う。   Note that even if the areas of all subordinate entries whose areas have been secured in stage 1 “New Cache” are released, if the area necessary for the target entry cannot be secured, the determination result in S200 is NO. In this case, the cache management unit 130 performs the same processing as S122 to S130 of FIG. 11 of the first example.

この第2方式では、キャッシュ領域を強制解放されたRIP部120は再度PDLデータのRIP処理を行う必要があるが、キャッシュメモリ140に割り当てられた容量の超過は生じず、対象エントリに必要なキャッシュ領域が即座に確保される。なお、キャッシュ領域を強制解放されたステージ1の劣位エントリは、対象エントリよりもスコアが低いので、対象エントリのキャッシュをあきらめるより、劣位エントリの作成中のキャッシュデータの領域を解放した方が、キャッシュの利用効率の点では有利と言える。   In this second method, the RIP unit 120 whose cache area has been forcibly released needs to perform RIP processing of the PDL data again, but the capacity allocated to the cache memory 140 does not exceed, and the cache required for the target entry Space is reserved immediately. Note that the inferior entry in stage 1 whose cache area has been forcibly released has a lower score than the target entry, so it is better to release the cache data area in which the inferior entry is being created than to give up the cache of the target entry. This is advantageous in terms of utilization efficiency.

《第3方式:作成完了後解放方式》
この方式では、キャッシュ管理部130は図37に例示する処理手順を実行する。この手順は、S200〜S206までは、図34に示した第1方式の場合と同様である。すなわち、ステップS204では、ステージ1“New Cache”で領域確保済の劣位エントリのステージを4に変更するのみで、キャッシュ領域の解放は行わない。
<< Third method: Release method after completion of creation >>
In this method, the cache management unit 130 executes the processing procedure illustrated in FIG. This procedure is the same as that of the first method shown in FIG. 34 from S200 to S206. That is, in step S204, the stage of the inferior entry whose area has been secured in stage 1 “New Cache” is only changed to 4, and the cache area is not released.

前述の第1方式では、それらステージ4に遷移させたステージ1の劣位エントリの領域解放を待たず、キャッシュメモリ140に割り当てられた容量からオーバーフローする形で対象エントリのための領域確保(S208)を行った。これに対し、この第3方式ではオーバーフローせずに、それらステージ4に遷移させたステージ1のすべての劣位エントリの領域解放を待ち(S207)、それらすべての劣位エントリの領域が解放された後に、対象エントリのための領域確保を行う(S208)。ここで、S207では、例えば、ステージ4に遷移させたステージ1の各劣位エントリについて、エントリ管理テーブル132の「領域確保」欄(図30参照)を監視し、それら監視対象のすべての劣位エントリの「領域確保」欄が「解放済」を示す値となったときに、S207の判定結果をYESとする。すなわち、この方式では、「領域確保」欄の取り得る値は、「未確保」、「確保済」、及び「開放済」の3値である。なお、それら各劣位エントリの「領域確保」欄には、後述するように、登録要求に対する処理の中で、「解放済」の値が書き込まれる。その他のステップは、第1方式の図34の手順と同様でよい。   In the first method described above, the area for the target entry is secured (S208) without overflowing the capacity allocated to the cache memory 140 without waiting for the area release of the inferior entry of stage 1 that has been transitioned to stage 4 went. On the other hand, in this third method, without overflowing, wait for the release of the areas of all the subordinate entries in stage 1 that have been transitioned to stage 4 (S207), and after the areas of all the subordinate entries are released, An area for the target entry is reserved (S208). Here, in S207, for example, for each subordinate entry in stage 1 that has been transitioned to stage 4, the “area reservation” column (see FIG. 30) of the entry management table 132 is monitored, and all the subordinate entries to be monitored are monitored. When the “area reservation” column has a value indicating “released”, the determination result in S207 is YES. That is, in this method, the values that can be taken in the “area reservation” column are three values of “unsecured”, “secured”, and “released”. It should be noted that the value of “released” is written in the “area reservation” column of each inferior entry, as will be described later, during the processing for the registration request. Other steps may be the same as the procedure in FIG. 34 of the first method.

この第3方式では、いずれかのRIP部120からキャッシュデータの登録要求があった場合、キャッシュ管理部130は図38に示す処理を実行する。この手順は、図35に示した第1方式の手順にS149を追加したものである。すなわち、第3例では、キャッシュ管理部130は、S148で登録要求の対象のキャッシュデータをキャッシュメモリ140から削除してその領域を解放した後、例えばエントリ管理テーブル132の当該エントリの「領域確保」の欄の値を、当該エントリの領域が解放された旨の値「確保済」に変更する。   In this third method, when there is a cache data registration request from any of the RIP units 120, the cache management unit 130 executes the processing shown in FIG. This procedure is obtained by adding S149 to the procedure of the first method shown in FIG. That is, in the third example, after the cache management unit 130 deletes the cache data targeted for registration from the cache memory 140 and releases the area in S148, for example, “reserve area” of the entry in the entry management table 132, for example. Is changed to a value “reserved” indicating that the area of the entry has been released.

この第3方式では、対象エントリに必要なキャッシュ領域が即座には確保されないものの、キャッシュメモリ140に割り当てられた容量を超えることはない。   In the third method, the cache area necessary for the target entry is not immediately secured, but the capacity allocated to the cache memory 140 is not exceeded.

《混合方式》
以上、3つの方式について説明した。キャッシュ管理部130は、それら3つの方式の1つに従って処理を実行してもよいが、それら3つの方式を動的に切り替えながら処理を進めてもよい。このような動的切り替えの手順の一例を、図39及び図40に例示する。
《Mixing method》
The three methods have been described above. The cache management unit 130 may execute the process according to one of these three methods, but may advance the process while dynamically switching these three methods. An example of such a dynamic switching procedure is illustrated in FIGS.

図39の手順は、図32の手順のS106の判定結果がYESとなった場合の手順であり、図33の手順にS300及びS302を追加したものである。したがって、図33を参照して既に説明したステップについては説明を省略する。   The procedure in FIG. 39 is a procedure when the determination result of S106 in the procedure in FIG. 32 is YES, and S300 and S302 are added to the procedure in FIG. Therefore, description of the steps already described with reference to FIG. 33 is omitted.

図39の手順では、S111Aの判定結果がNOとなった場合、すなわち、使用されていないキャッシュデータを全てキャッシュメモリから削除しても対象エントリに必要なキャッシュ領域が確保できない場合、まずキャッシュ管理部130はオペレーティングシステム(OS)に対し、OSが管理しているメモリの空き容量(あるいは使用率など)を問い合わせる(S300)。キャッシュ管理部130は、OSが管理するメモリのうちの一部をキャッシュメモリ140として割り当ててもらっているが、S300ではその割り当てられたメモリ空間を超えて(オーバーフローして)キャッシュメモリ140の領域を一時的に拡大できるかどうかを判定するために、メモリの空き容量を問い合わせるのである。そして、キャッシュ管理部130は、その結果得られたメモリの空き容量に基づき、OSが管理するメモリに、対象エントリのためのキャッシュ領域分だけキャッシュメモリ140のための割当を増やす余裕があるかどうかを判定する(S302)。この判定では、例えば、OSが管理するメモリの空き容量から対象エントリのキャッシュデータサイズを減算し、その減算結果が、OSが適切に動作するためのメモリの空き容量の閾値を超えていれば、「余裕がある」と判定するなどすればよい。   In the procedure of FIG. 39, if the determination result in S111A is NO, that is, if the cache area necessary for the target entry cannot be secured even if all unused cache data is deleted from the cache memory, first the cache management unit 130 inquires of the operating system (OS) about the free capacity (or usage rate, etc.) of the memory managed by the OS (S300). The cache management unit 130 has a part of the memory managed by the OS allocated as the cache memory 140, but in S300, the cache memory 140 temporarily exceeds the allocated memory space (overflows). In order to determine whether or not it can be expanded, the free space of the memory is inquired. Then, the cache management unit 130 determines whether the memory managed by the OS has a room for increasing the allocation for the cache memory 140 by the amount of the cache area for the target entry based on the free memory capacity obtained as a result. Is determined (S302). In this determination, for example, if the cache data size of the target entry is subtracted from the free space of the memory managed by the OS, and the subtraction result exceeds the threshold of the free space of the memory for the OS to operate properly, For example, it may be determined that “there is room”.

S302でメモリに余裕があると判定すると、キャッシュ管理部130は図34に示す第1(オーバーフロー)方式の処理を実行する。   If it is determined in S302 that there is a margin in the memory, the cache management unit 130 executes processing of the first (overflow) method shown in FIG.

S302でメモリに余裕がないと判定すると、キャッシュ管理部130は、第2(即時強制解放)方式又は第3(作成完了後解放)方式を選択する。このための手順の例を図40に示す。図40の手順は、図37(第3方式)の手順に似ている。図40の手順では、まず、ステージ1“New Cache”で領域確保済の劣位エントリが残っているかどうかを判定する(S200)。S200の判定結果がNOとなった場合は、図37の手順と同様、S122〜S130の処理を実行する。   If it is determined in S302 that there is no room in the memory, the cache management unit 130 selects the second (immediate forced release) method or the third (release after completion of creation) method. An example of the procedure for this is shown in FIG. The procedure in FIG. 40 is similar to the procedure in FIG. 37 (third method). In the procedure of FIG. 40, it is first determined whether or not an inferior entry whose area has been secured remains in stage 1 “New Cache” (S200). When the determination result in S200 is NO, the processes of S122 to S130 are executed as in the procedure of FIG.

S200の判定結果がYESであれば、未処理で残っているステージ1“New Cache”で領域確保済の劣位エントリの中から最もスコアの低いものを1つ抽出する(S202)。そして、抽出した劣位エントリをステージ1“New Cache”からステージ4“Cached Out”に遷移させ(S204)、この領域を解放したと仮定した場合のキャッシュメモリ140の空き容量を計算する。また、抽出した劣位エントリのキャッシュ領域を今すぐに強制的に解放したと仮定した場合のペナルティを評価する(S304)。ここでいう「ペナルティ」は、抽出した各劣位エントリのキャッシュ領域を即時に解放した場合に、それまでそれら劣位エントリのキャッシュデータを作成していた各RIP部120が被る損害を表す評価値である。   If the determination result in S200 is YES, the one with the lowest score is extracted from the inferior entries whose areas have been secured in the unprocessed stage 1 “New Cache” (S202). Then, the extracted inferior entry is shifted from stage 1 “New Cache” to stage 4 “Cached Out” (S204), and the free capacity of the cache memory 140 is calculated when it is assumed that this area has been released. Also, a penalty is assumed when it is assumed that the cache area of the extracted inferior entry is forcibly released immediately (S304). The “penalty” here is an evaluation value that represents the damage suffered by each RIP unit 120 that has previously created cache data of the subordinate entries when the cache area of each subordinate entry extracted is immediately released. .

S304のペナルティ評価には、様々な方式が考えられる。例えば1つの方式として、評価対象の劣位エントリのキャッシュデータのサイズ(このキャッシュデータは作成中であり未だ完成してはいないが、PDLの記述からキャッシュデータのサイズが計算又は推定され、エントリ管理テーブル132に登録されている)に基づいて評価する方式がある。この方式では、キャッシュデータのサイズが大きいほど、そのキャッシュデータの領域をすぐに解放した場合のペナルティが高くなる。これは、大きいキャッシュデータは、再度作成するのにコストがかかるからである。   Various methods can be considered for the penalty evaluation in S304. For example, as one method, the size of cache data of an inferior entry to be evaluated (this cache data is being created and not yet completed, but the size of the cache data is calculated or estimated from the PDL description, and the entry management table There is a method of evaluating based on (registered in No. 132). In this method, the larger the cache data size, the higher the penalty when the cache data area is immediately released. This is because large cache data is expensive to create again.

また、別の方式では、評価対象の劣位エントリのキャッシュデータの作成の完了率(すなわちキャッシュデータの全体のうち作成が完了した部分の割合)に基づいて評価する。この方式では、キャッシュデータの作成完了率が高いほど、そのキャッシュデータの領域をすぐに解放した場合のペナルティが高くなる。これは、領域解放によりそれまでのキャッシュデータ作成のための処理が無駄になるが、作成完了率が高いほどその無駄が大きくなるためである。なお、この方式のためには、各キャッシュエントリのキャッシュデータの作成完了率は、当該キャッシュデータを作成しているRIP部120から例えば定期的にキャッシュ管理部130に通知する。キャッシュ管理部130は、通知された作成完了率をエントリ管理テーブル132等に登録して管理すればよい。   In another method, evaluation is performed based on the completion rate of creation of cache data of an inferior entry to be evaluated (that is, the ratio of the portion of the cache data that has been created). In this method, the higher the cache data creation completion rate, the higher the penalty when the cache data area is immediately released. This is because the processing for cache data creation up to that point is wasted due to the area release, but the waste is increased as the creation completion rate is higher. For this method, the cache data creation completion rate of each cache entry is notified, for example, periodically to the cache management unit 130 from the RIP unit 120 that creates the cache data. The cache management unit 130 may register and manage the notified creation completion rate in the entry management table 132 or the like.

また、更に別の方式では、評価対象の劣位エントリのキャッシュデータの作成が完了する時刻の予測値(作成完了予測時刻)に基づいて評価する。この方式では、キャッシュデータの作成完了予測時刻が現在時刻に近いほど、そのキャッシュデータの領域をすぐに解放した場合のペナルティが高くなる。これは、作成完了予測時刻が現在時刻に近いほど、対象エントリのためにその作成完了を待つ時間が短いので、すぐに領域を解放しない方が損が少ない(すなわちペナルティが低い)ためである。なお、この方式のためには、各キャッシュエントリのキャッシュデータを作成しているRIP部120から例えば定期的にキャッシュ管理部130に作成完了率を通知し、キャッシュ管理部130が、毎回通知される作成完了率の時間的な変化から、作成完了予測時刻を求めればよい。求めた作成完了予測時刻は、エントリ管理テーブル132等に登録して管理すればよい。   In yet another method, evaluation is performed based on a predicted value (creation completion predicted time) of completion of creation of cache data of an inferior entry to be evaluated. In this method, the closer the cache data creation completion prediction time is to the current time, the higher the penalty is when the cache data area is immediately released. This is because the closer the creation completion prediction time is to the current time, the shorter the time for waiting for the creation completion for the target entry, so there is less loss if the area is not released immediately (that is, the penalty is lower). For this method, the RIP unit 120 that creates the cache data of each cache entry, for example, periodically notifies the cache management unit 130 of the creation completion rate, and the cache management unit 130 is notified each time. What is necessary is just to obtain | require creation completion estimated time from the time change of a creation completion rate. The calculated creation completion prediction time may be registered and managed in the entry management table 132 or the like.

また、S204で計算した空き容量が、対象エントリのキャッシュデータを収容するのに十分な大きさかどうかを判定し(S206)、まだ不十分であれば、S200に戻り、ステージ1“New Cache”で領域確保済の別の劣位エントリが残っている間は、S202、S204、S304の処理を繰り返す。このような繰り返しによりS206の判定結果がYESとなると、キャッシュ管理部130は、S202で抽出した領域解放の対象の劣位エントリのすべてについて、S304で計算したペナルティの値があらかじめ定められた閾値より小さいかどうかを判定する(S306)。ある劣位エントリについてのペナルティが閾値より小さい場合、その劣位エントリのために確保したキャッシュ領域をすぐに解放しても、その解放による不利益(例えば解放される領域にキャッシュデータを作成していたRIP部120が再度PDLデータをRIP処理することによるコスト)が、対象エントリのためのキャッシュエントリをすぐに確保することによる利益より補ってあまりあるものである可能性が高い。逆に言えば、そのような閾値を実験やシミュレーションによりあらかじめ求めておく。   Further, it is determined whether or not the free space calculated in S204 is large enough to accommodate the cache data of the target entry (S206). If it is still insufficient, the process returns to S200, and in stage 1 “New Cache” While another subordinate entry whose area has been secured remains, the processes of S202, S204, and S304 are repeated. When the determination result in S206 is YES due to such repetition, the cache management unit 130 determines that the penalty value calculated in S304 is smaller than a predetermined threshold value for all the inferior entries to be subject to area release extracted in S202. Is determined (S306). If the penalty for a subordinate entry is smaller than the threshold value, even if the cache area reserved for the subordinate entry is immediately released, the disadvantage caused by the release (for example, RIP that created cache data in the released area) There is a high possibility that the cost due to the RIP processing of the PDL data again by the unit 120 is more than the benefit of immediately securing the cache entry for the target entry. In other words, such a threshold value is obtained in advance through experiments and simulations.

S306の判定で、領域解放対象の劣位エントリのペナルティがすべて閾値より小さければ、どの劣位エントリについてもキャッシュ領域を即時解放しても不利益が少ないということである。この場合、キャッシュ管理部130は、それら領域解放対象の各劣位エントリのキャッシュデータを作成中のRIP部120に領域解放を行う旨を通知し、それら各劣位エントリのために確保したキャッシュ領域を解放する(S308)。これは第2(即時解放)方式である。そして、S208に進み、対象エントリのための領域をキャッシュメモリ140に確保し、要求元のRIP部120に領域確保の旨を示すコードと確保した領域のアドレスの情報を返す。   If the penalty of the inferior entry subject to area release is smaller than the threshold value in the determination in S306, it means that there is little disadvantage even if the cache area is immediately released for any inferior entry. In this case, the cache management unit 130 notifies the RIP unit 120 that is creating the cache data of each subordinate entry to be released, that the area is to be released, and releases the cache area reserved for each subordinate entry. (S308). This is the second (immediate release) method. In step S208, an area for the target entry is secured in the cache memory 140, and a code indicating that the area is secured and information on the address of the secured area are returned to the requesting RIP unit 120.

一方、S306の判定で、領域解放対象の劣位エントリのなかに1つでもペナルティが閾値以上のものがあれば、キャッシュ領域を即時解放すると不利益が多い劣位エントリが存在するということである。この場合、第3(作成完了後解放)方式を採用する。すなわち、キャッシュ管理部130は、領域解放対象のすべての劣位エントリのキャッシュ領域が実際に解放されるのを待ち(S207)、それらすべての劣位エントリの領域が解放された後に、対象エントリのための領域確保を行う(S208)。   On the other hand, if it is determined in S306 that there is at least one inferior entry subject to area release with a penalty equal to or greater than the threshold, there is an inferior entry that has many disadvantages if the cache area is immediately released. In this case, the third (release after completion of creation) method is adopted. In other words, the cache management unit 130 waits for the cache areas of all subordinate entries to be area released to be actually released (S207), and after all the subordinate entry areas are released, An area is secured (S208).

図39及び図40の例では、3つの方式を動的に切り替えて使用したが、3つの方式全てを用いる必要はない。別の例として、それら3つの方式のうちの2つを動的に切り替えて使用してもよい。例えば、第1(オーバーフロー)方式と第2(即時強制解放)方式とを動的に切り替える場合は、図39のS300及びS302のステップによりどちらの方式を使用するかを判定すればよい。第1方式と第3(作成完了後解放)方式とを動的に切り替える場合も同様である。また第2方式と第3方式とを動的に切り替える場合は、図40のS304及びS306のステップによりどちらの方式を使用するかを判定すればよい。   In the example of FIGS. 39 and 40, the three methods are dynamically switched and used, but it is not necessary to use all three methods. As another example, two of the three schemes may be dynamically switched and used. For example, when the first (overflow) method and the second (immediate forced release) method are dynamically switched, it is only necessary to determine which method is used according to the steps S300 and S302 in FIG. The same applies when the first method and the third (release after completion of creation) method are dynamically switched. In addition, when dynamically switching between the second method and the third method, it is only necessary to determine which method is to be used in steps S304 and S306 in FIG.

以上の例では、第2方式と第3方式を切り替えるのに、S306ですべてのペナルティ値が閾値より小さいか否か、という判定基準を用いたが、これは一例に過ぎない。この代わりに、ペナルティ値が閾値以上である劣位エントリの割合が、あらかじめ定められた割合閾値以下であれば、第2(即時強制解放)方式を採用するなどといった、他の判定基準も考えられる。   In the above example, in order to switch between the second method and the third method, the criterion of whether or not all penalty values are smaller than the threshold value in S306 is used, but this is only an example. Instead, if the ratio of inferior entries whose penalty value is equal to or greater than a threshold is equal to or less than a predetermined ratio threshold, another determination criterion such as adopting the second (immediate forced release) method may be considered.

なお、以上に説明した第3例は、上述の第1例に基づく形で説明したが、上述の第2例に基づく例も考えられる。すなわち、第1例と第2例の相違は、ステージが3“Cached”であり且つ使用カウンタの値が0でないキャッシュエントリの追い出し(キャッシュデータの削除)の予約を明示的(第1例)に行うか、暗黙的に行うか(第2例)の相違であり、この相違は、第3例における、ステージ1“New Cache”の領域確保済のキャッシュエントリの領域を解放する処理とは依存関係にない。第3例の領域確保方法を第2例に適用する場合、例えば図34の手順のうちS122〜S130のステップ群を、図23のS122、S124及びS125に置き換えればよい。   In addition, although the 3rd example demonstrated above was demonstrated in the form based on the above-mentioned 1st example, the example based on the above-mentioned 2nd example is also considered. In other words, the difference between the first example and the second example is that the reservation for eviction of cache entries (deletion of cache data) whose stage is 3 “Cached” and whose use counter value is not 0 is explicitly (first example). This is a difference between whether to perform or implicitly (second example), and this difference is dependent on the process of releasing the area of the cache entry in the stage 1 “New Cache” in the third example. Not. When the area securing method of the third example is applied to the second example, for example, the step group of S122 to S130 in the procedure of FIG. 34 may be replaced with S122, S124, and S125 of FIG.

[第4例]
《概要》
本発明の実施形態の第4の例を説明する。この第4例の印刷文書変換システムの構成は、図1に示したものと同様でよい。また、エントリ管理テーブル132のデータ構造は図2に例示した第1例のものと同様でよい。また、キャッシュエントリの状態遷移も、図3に例示した第1例の状態遷移と同様でよい。
[Fourth example]
"Overview"
A fourth example of the embodiment of the present invention will be described. The configuration of the print document conversion system of the fourth example may be the same as that shown in FIG. The data structure of the entry management table 132 may be the same as that of the first example illustrated in FIG. Further, the state transition of the cache entry may be the same as the state transition of the first example illustrated in FIG.

上述の第1例では、領域確保要求に応じた領域確保処理の際、ステージが3“Cached”で使用カウンタの値が0の劣位エントリのキャッシュデータを全て追い出しても必要な空き容量が確保できない場合、その時点での領域の確保はあきらめ、要求元のRIP部120に対して領域確保の失敗を応答した(例えば図11のS124)。   In the above-described first example, in the area securing process in response to the area securing request, the necessary free capacity cannot be secured even if all the cache data of the subordinate entries whose stage is 3 “Cached” and whose usage counter value is 0 are evicted. In this case, the allocation of the area at that time is given up, and a failure to allocate the area is returned to the requesting RIP unit 120 (for example, S124 in FIG. 11).

これに対し、この第4例では、そのような場合に、ステージ3で使用カウンタの値が0でない(すなわちいずれかのRIP部120により使用中)の劣位エントリがあれば、それら劣位エントリのキャッシュデータを追い出す(削除する)ことで領域確保を行う。   On the other hand, in this fourth example, in such a case, if there are inferior entries whose use counter value is not 0 (that is, being used by any RIP unit 120) in stage 3, the cache of these inferior entries is cached. Secure the area by expelling (deleting) data.

第4例での各RIP部120の処理手順は、第1例の場合と同様でよい(図4〜図6参照)。   The processing procedure of each RIP unit 120 in the fourth example may be the same as that in the first example (see FIGS. 4 to 6).

第4例でのキャッシュ管理部130の動作については、いずれかのRIP部120から問合せを受けたときのキャッシュ管理部130の処理手順は、第1例と同様でよい(図7参照)。また、いずれかのRIP部120から使用開始要求を受けたときのキャッシュ管理部130の処理手順も、第1例と同様でよい(図8参照)。また、クリーニングタイミング到来時及び見直しタイミング到来時の処理も、第1例の場合と同様でよい(図13及び図15参照)。   Regarding the operation of the cache management unit 130 in the fourth example, the processing procedure of the cache management unit 130 when receiving an inquiry from any of the RIP units 120 may be the same as in the first example (see FIG. 7). Further, the processing procedure of the cache management unit 130 when receiving a use start request from any of the RIP units 120 may be the same as in the first example (see FIG. 8). Also, the processing when the cleaning timing comes and the review timing comes may be the same as in the first example (see FIGS. 13 and 15).

一方、いずれかのRIP部120から領域確保要求を受けたときのキャッシュ管理部130の動作は、第1例(図10及び図11参照)及び第2例(図22及び図23参照)の場合と異なる。特に領域確保要求に応じた領域確保処理の際、ステージが3“Cached”で使用カウンタの値が0の劣位エントリのキャッシュデータを全て追い出しても必要な空き容量が確保できない場合(第1例では図11のS111の判定結果がNOの場合、第2例では図23のS111の判定結果がNOの場合)の処理が、第1例及び第2例の場合と異なってくる。   On the other hand, the operation of the cache management unit 130 when receiving an area reservation request from any of the RIP units 120 is the case of the first example (see FIGS. 10 and 11) and the second example (see FIGS. 22 and 23). And different. In particular, in the area allocation process in response to the area allocation request, the necessary free capacity cannot be secured even if all the cache data of the inferior entry whose stage is 3 “Cached” and the usage counter value is 0 is removed (in the first example) When the determination result of S111 in FIG. 11 is NO, in the second example, the processing in the case of the determination result of S111 in FIG. 23 being NO) is different from the case of the first example and the second example.

領域確保要求に応じた領域確保処理の際、ステージが3“Cached”で使用カウンタの値が0の劣位エントリのキャッシュデータを全て追い出しても必要な空き容量が確保できない場合における、この第4例の処理については、例えば以下の3つの方式がある。以下、それら3つの方式の処理手順の例を順に説明する。   This fourth example in the case where the necessary free capacity cannot be secured even if all the cache data of the inferior entry whose stage is 3 “Cached” and the value of the use counter is 0 is expelled during the area securing process in response to the area securing request For example, there are the following three methods. Hereinafter, examples of processing procedures of these three methods will be described in order.

《第1方式:一時的オーバーフロー方式》
この第4例の第1方式では、いずれかのRIP部120から領域確保要求を受けたとき、キャッシュ管理部130は、図10に示す第1例の手順と同じ動作を行う。この手順を実行する中で、S106で劣位エントリありと判定されると、この第1方式では、キャッシュ管理部130は、図41に示す手順を実行する。図41の手順のうち、S111〜S118及びS126〜S130は、図11に示される第1例の場合と同様である。
<< First method: Temporary overflow method >>
In the first method of the fourth example, when an area reservation request is received from one of the RIP units 120, the cache management unit 130 performs the same operation as the procedure of the first example shown in FIG. If it is determined in S106 that there is an inferior entry during the execution of this procedure, in this first method, the cache management unit 130 executes the procedure shown in FIG. 41, steps S111 to S118 and S126 to S130 are the same as those in the first example shown in FIG.

図41の手順が図11の手順と異なるのは、まず、S111でステージが3“Cached”で使用カウンタの値が0の劣位エントリがなくなったと判定された後、S122及びS124の処理(対象エントリをステージ2“Caching”に遷移、及び確保失敗を応答)を行わない点である。また、別の異なる点は、S130で必要な容量が確保できたと判定すると、キャッシュ管理部130は、対象エントリのための領域をキャッシュメモリ140に確保し、要求元のRIP部120に領域確保の旨を示すコードと確保した領域のアドレスの情報を返す(S132)点である。   The procedure shown in FIG. 41 is different from the procedure shown in FIG. 11. First, in S111, after it is determined that there are no inferior entries whose stage is 3 “Cached” and whose use counter value is 0, the processing in S122 and S124 (target entry) Are not transferred to stage 2 “Caching” and a response to failure of securing). Another difference is that if it is determined in S130 that the necessary capacity has been secured, the cache management unit 130 secures an area for the target entry in the cache memory 140, and secures the area in the requesting RIP unit 120. This is a point that returns a code indicating this and information on the address of the secured area (S132).

すなわち、S128では、使用中の劣位エントリのステージを4“Cached Out”に遷移させるだけで、それら使用中の劣位エントリのキャッシュデータをキャッシュメモリ140から追い出すことはしない。S130でキャッシュメモリ140に必要な空き容量が確保できたと判定されたとしても、それはそれら使用中の劣位エントリのキャッシュデータを追い出したと仮定した場合のことである。このため、S132を実行する時点では、キャッシュメモリ140の空き容量は、実際には対象エントリのために必要な量よりも少ない。したがって、S132で行っているのは、まだ実際には追い出されていない劣位エントリ(追い出し予約された劣位エントリ)の容量が、近い将来、その使用が終了した時点で追い出されることを見込んで、対象エントリのための領域を確保してしまうことである。このため、S132での領域の確保は、オペレーティングシステムからキャッシュメモリ140に割り当てられた全体容量の制限を一時的に超える(オーバーフローする)形で行う。すなわち、キャッシュ管理部130及びキャッシュメモリ140を実現するコンピュータのオペレーティングシステムは、自身が管理するメモリ空間の一部をキャッシュメモリ140に割り当てており、S132ではその割り当てられた領域からはみ出して対象エントリのためのキャッシュ領域を確保するのである。このような確保処理により、キャッシュメモリ140として実際に使用される領域のサイズは、本来割り当てられたキャッシュメモリサイズを超えることとなるが、このオーバーフロー状態は追い出し予約された劣位エントリ群のキャッシュデータの作成が完了するまでの一時的な状態に過ぎない。   That is, in S128, only the stage of the inferior entry being used is changed to 4 “Cached Out”, and the cache data of the inferior entry being used is not purged from the cache memory 140. Even if it is determined in S130 that the necessary free space has been secured in the cache memory 140, it is a case where it is assumed that the cache data of the inferior entries being used is evicted. For this reason, when S132 is executed, the free capacity of the cache memory 140 is actually smaller than the amount necessary for the target entry. Therefore, what is performed in S132 is that the capacity of inferior entries that have not yet been expelled (subordinate entries reserved for expulsion) is expected to be expelled in the near future when the use ends. It is to secure an area for entry. For this reason, the area reservation in S132 is performed in a manner that temporarily exceeds (overflows) the limit of the total capacity allocated to the cache memory 140 from the operating system. That is, the operating system of the computer that implements the cache management unit 130 and the cache memory 140 allocates a part of the memory space managed by the cache management unit 130 and the cache memory 140. A cache area is secured for this purpose. By such a securing process, the size of the area actually used as the cache memory 140 exceeds the originally allocated cache memory size, but this overflow state is caused by the cache data of the inferior entry group reserved for eviction. It is only a temporary state until creation is completed.

煩雑さを避けるために図41では省略したが、使用カウンタが0でない劣位エントリの全てをステージ4“Cached Out”にしても、対象エントリをキャッシュするのに十分な容量が確保できない場合も起こり得る。このような場合、キャッシュ管理部130は、例えば、領域確保要求に対して確保失敗を応答すればよい。   Although omitted in FIG. 41 to avoid complication, even if all of the inferior entries whose usage counters are not 0 are set to stage 4 “Cached Out”, there may be a case where sufficient capacity cannot be secured to cache the target entry. . In such a case, for example, the cache management unit 130 may respond with an allocation failure to the area allocation request.

この第1方式では、対象エントリのための領域確保を要求したRIP部120は、ステージ3の劣位エントリの領域を解放すれば必要な容量が得られる場合には、即座にキャッシュ領域の割当を受けることとなる。   In this first method, the RIP unit 120 that requested the area reservation for the target entry immediately receives the cache area allocation if the necessary capacity can be obtained by releasing the area of the inferior entry in stage 3. It will be.

また、この第1方式では、S128で追い出しの予約がなされたキャッシュエントリについての領域の解放を、第1例と同様、図13又は図14に例示した手順により行えばよい。追い出し予約された劣位エントリのキャッシュデータが図13又は図14の手順により実際にキャッシュメモリ140から追い出されることにより、キャッシュメモリ140のオーバーフロー状態が解消される。   In the first method, the area for the cache entry reserved for eviction in S128 may be released by the procedure illustrated in FIG. 13 or FIG. 14 as in the first example. The cache data of the inferior entry reserved for eviction is actually evicted from the cache memory 140 according to the procedure of FIG. 13 or FIG.

《第2方式:即時強制追い出し方式》
この第4例の第2方式は、対象エントリのための領域を即座に確保する点では上述の第1方式と同じである。しかし、第1方式では対象エントリのための領域を、キャッシュメモリ140に割り当てられた容量をオーバーフローするように確保することで、使用中の劣位エントリを実際には追い出さなかった(追い出しの予約をするのみであった)のに対し、この第2方式では、そのようなオーバーフローを避けるために、使用中の劣位エントリを実際に追い出してから、対象エントリのための領域を確保する。ここで、使用中の劣位エントリを実際に追い出すと、その劣位エントリのキャッシュデータを使用しているRIP部120は、RIP処理を続けることができなくなるので、この第2方式では、追い出す劣位エントリのキャッシュデータを使用中のRIP部120に対し、そのキャッシュデータを削除する旨を通知する。これに応じ、そのRIP部120は、削除されるキャッシュデータに対応するオブジェクトの元のPDLデータをRIP処理する。
<< Second method: Immediate forced eviction method >>
The second method of the fourth example is the same as the first method described above in that an area for the target entry is immediately secured. However, in the first method, the area for the target entry is secured so as to overflow the capacity allocated to the cache memory 140, so that the inferior entry in use is not actually expelled (reservation for eviction is made). On the other hand, in this second method, in order to avoid such an overflow, an inferior entry in use is actually evicted and an area for the target entry is secured. Here, when the inferior entry in use is actually evicted, the RIP unit 120 that uses the cache data of the inferior entry cannot continue the RIP process. The RIP unit 120 that is using the cache data is notified that the cache data is to be deleted. In response to this, the RIP unit 120 performs RIP processing on the original PDL data of the object corresponding to the cache data to be deleted.

このような処理のために、この第2方式では、例えば、エントリ管理テーブル132に対し、図42に例示するように、「使用中のRIP」を記録する。「使用中のRIP」には、当該キャッシュエントリのキャッシュデータを使用している(すなわち当該キャッシュデータに対する使用開始要求を発した後、使用終了通知を発するまでの期間にある)RIP部120の識別情報が登録される。1つのキャッシュエントリのキャッシュデータを使用しているRIP部120が複数あれば、それら使用している複数のRIP部120すべての識別情報が登録される。キャッシュデータがキャッシュメモリ140内にないキャッシュエントリ(ステージ3“Cached”以外のステージのエントリ)については、「使用中のRIP」は空欄である。ステージが3“Cached”であるキャッシュエントリも、どのRIP部120からも使用されていない期間は、「使用中のRIP」は空欄である。   For this process, in the second method, for example, “RIP in use” is recorded in the entry management table 132 as illustrated in FIG. Identification of the RIP unit 120 that uses the cache data of the cache entry (that is, in a period from when the use start request is issued to the cache data until the use end notification is issued) for “RIP in use” Information is registered. If there are a plurality of RIP units 120 using the cache data of one cache entry, the identification information of all the plurality of RIP units 120 used is registered. For cache entries in which cache data is not in the cache memory 140 (entries at stages other than stage 3 “Cached”), “RIP in use” is blank. In the period when the cache entry whose stage is 3 “Cached” is not used by any RIP unit 120, “RIP in use” is blank.

「使用中のRIP」欄の保守のために、キャッシュ管理部130は、いずれかのRIP部120からキャッシュデータの使用開始要求が到来すると、図43に例示するように、キャッシュデータを登録し(S80)、使用カウンタの値を1増加させるとともに(S82)、要求元のRIP部120の識別情報を当該キャッシュエントリの「使用中のRIP」欄に追加する(S83)。また、キャッシュ管理部130は、いずれかのRIP部120からキャッシュデータの使用終了通知が到来すると、図44に例示するように、使用カウンタの値を1減少させるとともに(S85)、通知元のRIP部120の識別情報を当該キャッシュエントリの「使用中のRIP」欄から削除する(S87)。   For the maintenance of the “RIP in use” column, when a cache data use start request arrives from any RIP unit 120, the cache management unit 130 registers the cache data as illustrated in FIG. In S80, the value of the usage counter is incremented by 1 (S82), and the identification information of the requesting RIP unit 120 is added to the "RIP in use" column of the cache entry (S83). Further, when a cache data use end notification arrives from any of the RIP units 120, the cache management unit 130 decreases the value of the use counter by 1 as illustrated in FIG. 44 (S85), and the RIP of the notification source The identification information of the section 120 is deleted from the “in-use RIP” column of the cache entry (S87).

また、この第4例の第2方式では、いずれかのRIP部120から領域確保要求を受けたとき、キャッシュ管理部130は、図10に示す第1例の手順と同じ動作を行う。この手順を実行する中で、S106で劣位エントリありと判定されると、この第2方式では、キャッシュ管理部130は、図45に示す手順を実行する。図45の手順は、S127及びS128A及びS132A以外は、上述の第1方式の場合の手順(図41)と同様である。   In the second method of the fourth example, when an area reservation request is received from any of the RIP units 120, the cache management unit 130 performs the same operation as the procedure of the first example shown in FIG. If it is determined in S106 that there is an inferior entry during execution of this procedure, in this second method, the cache management unit 130 executes the procedure shown in FIG. The procedure of FIG. 45 is the same as the procedure (FIG. 41) in the case of the first method described above, except for S127, S128A, and S132A.

すなわち、図45の手順は、S111でステージが3“Cached”で使用カウンタの値が0の劣位エントリがなくなったと判定された後、S122及びS124の処理(対象エントリをステージ2“Caching”に遷移、及び確保失敗を応答)を行わない点では、上述の第1方式の手順(図41)と同じである。図45の手順が図41の手順と異なる点は、S126の後、S127にて抽出したキャッシュエントリの「使用中のRIP」欄に登録された各RIP部120に対して、そのエントリのキャッシュデータの使用中止(及び元のPDLデータからの再RIP処理)を指示する点、及びS128Aにてそのエントリのステージを4に変更するのに加え、そのエントリのキャッシュデータを実際にキャッシュメモリ140から削除し、そのデータの領域を解放してしまう点である。   That is, in the procedure of FIG. 45, after it is determined in S111 that there are no inferior entries whose stage is 3 “Cached” and whose usage counter value is 0, the processing in S122 and S124 (the target entry is changed to stage 2 “Caching”). In addition, the procedure is the same as that of the first method (FIG. 41) in that the reservation failure is not performed. The procedure of FIG. 45 differs from the procedure of FIG. 41 in that each SIP unit 120 registered in the “RIP in use” column of the cache entry extracted in S127 after S126 has cache data for that entry. In addition to changing the stage of the entry to 4 in S128A, the cache data of the entry is actually deleted from the cache memory 140, instructing to stop using (and re-RIP processing from the original PDL data) However, the area of the data is released.

このように、この第2方式では実際にキャッシュデータが削除されて領域が解放されているので、図45の手順におけるS132Aでは、対象エントリのためのキャッシュ領域をそれら空いた領域から確保すればよい。したがって、オペレーティングシステムからキャッシュメモリ140として割り当てられた範囲を超えてキャッシュ領域を確保する必要はない。この第2方式では、対象エントリに必要なキャッシュ領域が即座に確保される。なお、キャッシュ領域を強制解放されたステージ1の劣位エントリは、対象エントリよりもスコアが低いので、対象エントリのキャッシュをあきらめるより、劣位エントリの使用中のキャッシュデータの領域を解放した方が、キャッシュの利用効率の点では有利な場合が少なくない。   As described above, in this second method, the cache data is actually deleted and the area is released, so in S132A in the procedure of FIG. 45, the cache area for the target entry may be secured from those free areas. . Therefore, it is not necessary to secure a cache area beyond the range allocated as the cache memory 140 by the operating system. In the second method, a cache area necessary for the target entry is immediately secured. Since the inferior entry in stage 1 whose cache area has been forcibly released has a lower score than the target entry, it is better to release the cache data area in use of the inferior entry than to give up the cache of the target entry. In many cases, it is advantageous in terms of utilization efficiency.

《第3方式:使用完了後追い出し方式》
前述の第1方式では、ステージ4に遷移させた劣位エントリの使用が終了してデータが削除されるのを待たず、キャッシュメモリ140に割り当てられた容量からオーバーフローする形で対象エントリのための領域確保(S132)を行った。これに対し、この第3方式では、図46に示すように、キャッシュメモリ140のオーバーフローは、それらステージ4に遷移させたすべての劣位エントリの使用の終了を待ち(S131)、その後それらすべての劣位エントリの領域が解放された後に、対象エントリのための領域確保を行う(S132A)。ここで、S131では、S126〜S130の繰り返しの中でステージを4“Cached Out”に変更した各劣位エントリを記憶しておき、それら各劣位エントリの使用カウンタを例えば定期的に監視し、それら劣位エントリの全ての使用カウンタの値が0になったときに、それら劣位エントリの使用が全て終了したと判定する。
《Third method: Ejection method after completion of use》
In the first method described above, the area for the target entry is overflowed from the capacity allocated to the cache memory 140 without waiting for the data to be deleted after the use of the subordinate entry shifted to the stage 4 is finished. Securement (S132) was performed. On the other hand, in the third method, as shown in FIG. 46, the overflow of the cache memory 140 waits for the end of use of all the subordinate entries shifted to the stage 4 (S131), and then all the subordinates. After the entry area is released, an area for the target entry is reserved (S132A). Here, in S131, each inferior entry whose stage is changed to 4 “Cached Out” in the repetition of S126 to S130 is stored, and the usage counter of each inferior entry is periodically monitored, for example. When the values of all the usage counters of the entries become 0, it is determined that the use of these inferior entries has been completed.

なお、図46の手順では、S128では、劣位エントリのステージを3“Cached”から4“Cached Out”に変更するが、第2方式のS128Aとは異なり、キャッシュデータの削除は行わない。   46, the subordinate entry stage is changed from 3 “Cached” to 4 “Cached Out” in S128, but the cache data is not deleted unlike S128A of the second method.

この第3方式では、対象エントリに必要なキャッシュ領域は、ステージ4に変更した劣位エントリ群の使用が終了するまでは確保されないものの、キャッシュメモリ140に割り当てられた容量を超えることはない。   In this third method, the cache area required for the target entry is not secured until the use of the subordinate entry group changed to stage 4 is completed, but does not exceed the capacity allocated to the cache memory 140.

《混合方式》
以上、3つの方式について説明した。キャッシュ管理部130は、それら3つの方式の1つに従って処理を実行してもよいが、それら3つの方式を動的に切り替えながら処理を進めてもよい。このような動的切り替えの手順の一例を、図47及び図48に例示する。
《Mixing method》
The three methods have been described above. The cache management unit 130 may execute the process according to one of these three methods, but may advance the process while dynamically switching these three methods. An example of such a dynamic switching procedure is illustrated in FIGS. 47 and 48.

図47の手順は、図10の手順のS106の判定結果がYESとなった場合の手順であり、図41の手順にS320及びS322を追加したものである。したがって、図41を参照して既に説明したステップについては説明を省略する。   The procedure of FIG. 47 is a procedure when the determination result of S106 of the procedure of FIG. 10 is YES, and S320 and S322 are added to the procedure of FIG. Therefore, the description of the steps already described with reference to FIG. 41 is omitted.

図41の手順では、S111の判定結果がNOとなった場合、すなわち、使用されていないキャッシュデータを全てキャッシュメモリから削除しても対象エントリに必要なキャッシュ領域が確保できない場合、まずキャッシュ管理部130はオペレーティングシステム(OS)に対し、OSが管理しているメモリの空き容量(あるいは使用率など)を問い合わせる(S320)。キャッシュ管理部130は、OSが管理するメモリのうちの一部をキャッシュメモリ140として割り当ててもらっているが、S320ではその割り当てられたメモリ空間を超えて(オーバーフローして)キャッシュメモリ140の領域を一時的に拡大できるかどうかを判定するために、メモリの空き容量を問い合わせるのである。そして、キャッシュ管理部130は、その結果得られたメモリの空き容量に基づき、OSが管理するメモリに、対象エントリのためのキャッシュ領域分だけキャッシュメモリ140のための割当を増やす余裕があるかどうかを判定する(S322)。この判定では、例えば、OSが管理するメモリの空き容量から対象エントリのキャッシュデータサイズを減算し、その減算結果が、OSが適切に動作するためのメモリの空き容量の閾値を超えていれば、「余裕がある」と判定するなどすればよい。S322でメモリに余裕があると判定すると、キャッシュ管理部130は、S126〜S132に示す第1(オーバーフロー)方式の処理を実行する。   In the procedure of FIG. 41, if the determination result in S111 is NO, that is, if the cache area required for the target entry cannot be secured even if all unused cache data is deleted from the cache memory, first the cache management unit 130 inquires of the operating system (OS) about the free capacity (or usage rate, etc.) of the memory managed by the OS (S320). The cache management unit 130 allocates a part of the memory managed by the OS as the cache memory 140. In S320, the cache management unit 130 temporarily exceeds the allocated memory space (overflows) and temporarily allocates the area of the cache memory 140. In order to determine whether or not it can be expanded, the free space of the memory is inquired. Then, the cache management unit 130 determines whether the memory managed by the OS has a room for increasing the allocation for the cache memory 140 by the amount of the cache area for the target entry based on the free memory capacity obtained as a result. Is determined (S322). In this determination, for example, if the cache data size of the target entry is subtracted from the free space of the memory managed by the OS, and the subtraction result exceeds the threshold of the free space of the memory for the OS to operate properly, For example, it may be determined that “there is room”. If it is determined in S322 that there is a margin in the memory, the cache management unit 130 executes the first (overflow) method processing shown in S126 to S132.

S322でメモリに余裕がないと判定すると、キャッシュ管理部130は、第2(即時強制追い出し)方式と第3(使用完了後追い出し)方式との選択を行う。このための手順の例を図48に示す。図48の手順では、劣位エントリ(ステージ3)の中から最もスコアの低いものを1つ抽出する(S126)。そして、抽出した劣位エントリをステージ4“Cached Out”に遷移させ(S128)、その劣位エントリのキャッシュデータを追い出してキャッシュ領域を解放したと仮定した場合のキャッシュメモリ140の空き容量を計算する。また、その劣位エントリのキャッシュデータを今すぐに強制的に追い出すと仮定した場合のペナルティを評価する(S324)。ここでいう「ペナルティ」は、抽出した各劣位エントリのキャッシュデータを即時に追い出した場合に、それまでそれら劣位エントリのキャッシュデータを使用していた各RIP部120が被る損害を表す評価値である。   If it is determined in S322 that there is no room in the memory, the cache management unit 130 selects the second (immediate forced eviction) method and the third (ejection after use completion) method. An example of the procedure for this is shown in FIG. In the procedure of FIG. 48, one with the lowest score is extracted from the subordinate entries (stage 3) (S126). Then, the extracted inferior entry is transitioned to stage 4 “Cached Out” (S128), and the free capacity of the cache memory 140 is calculated when it is assumed that the cache data of the inferior entry is expelled and the cache area is released. Also, a penalty is assumed when it is assumed that the cache data of the inferior entry is immediately forced out (S324). The “penalty” here is an evaluation value representing the damage suffered by each RIP unit 120 that has been using the cache data of the inferior entries until the extracted cache data of the inferior entries immediately. .

S324のペナルティ評価には、様々な方式が考えられる。例えば1つの方式として、評価対象の劣位エントリのキャッシュデータのサイズに基づいて評価する方式がある。この方式では、キャッシュデータのサイズが大きいほど、そのキャッシュデータを追い出す場合のペナルティが高くなる。即時強制追い出し方式の場合、使用されているキャッシュデータを追い出してしまうことになり、これによりそのキャッシュデータを使用中のRIP部120は、そのキャッシュデータに対応するPDLデータをRIP処理する必要がある。一般にキャッシュデータが大きいほどRIP処理に時間がかかるので、ペナルティを高くする。   Various methods can be considered for the penalty evaluation in S324. For example, as one method, there is a method of evaluating based on the size of cache data of an inferior entry to be evaluated. In this method, the larger the cache data size, the higher the penalty for eviction of the cache data. In the case of the immediate forced eviction method, the cache data being used is evicted, so that the RIP unit 120 that is using the cache data needs to perform RIP processing on the PDL data corresponding to the cache data. . In general, the larger the cache data, the longer the RIP processing takes, so the penalty is increased.

また、別の方式では、評価対象の劣位エントリのキャッシュデータを使用している各RIP部120についての、そのキャッシュデータの読み出し完了率(すなわちキャッシュデータの全体のうち読み出しが完了した部分の割合)に基づいて評価する。この方式では、キャッシュデータの読み出し完了率が高いほど、そのキャッシュデータをすぐに追い出した場合のペナルティが高くなる。これは、追い出しによりそれまでのキャッシュデータの読み出し処理が無駄になるが、読み出し完了率が高いほどその無駄が大きくなるためである。1つの劣位エントリのキャッシュデータを使用しているRIP部120が複数ある場合は、個々のRIP部120についてペナルティを求める。なお、この方式のために、キャッシュ管理部130は、RIP部120ごとに、当該RIP部120に現在キャッシュデータを提供しているキャッシュエントリと、そのキャッシュデータのうち提供済の割合(すなわちRIP部120から見れば読み出し完了率)とを例えば定期的に記録する。   In another method, for each RIP unit 120 that uses the cache data of the inferior entry to be evaluated, the read completion rate of the cache data (that is, the ratio of the portion of the cache data that has been read) Based on the evaluation. In this method, the higher the cache data read completion rate, the higher the penalty for immediately expelling the cache data. This is because the cache data read processing up to that point is wasted due to the eviction, but the higher the read completion rate, the greater the waste. When there are a plurality of RIP units 120 using the cache data of one inferior entry, a penalty is obtained for each RIP unit 120. Note that for this method, the cache management unit 130, for each RIP unit 120, the cache entry that currently provides cache data to the RIP unit 120 and the ratio of the cache data that has been provided (ie, the RIP unit). For example, the read completion rate from 120 is periodically recorded.

また、更に別の方式では、評価対象の劣位エントリのキャッシュデータの使用が完了する時刻の予測値(使用完了予測時刻)に基づいて評価する。1つの劣位エントリのキャッシュデータを使用しているRIP部120が複数ある場合は、個々のRIP部120ごとに、使用完了予測時刻を求め、その使用完了予測時刻からペナルティ値を求める。この方式では、キャッシュデータの使用完了予測時刻が現在時刻に近いほど、そのキャッシュデータをすぐに追い出した場合のペナルティが高くなる。これは、使用完了予測時刻が現在時刻に近いほど、対象エントリのためにその使用の完了を待つ時間が短いので、すぐに追い出さない方が損が少ない(すなわちペナルティが低い)ためである。なお、この方式のためには、キャッシュ管理部130は、RIP部120ごとに、当該RIP部120に現在キャッシュデータを提供しているキャッシュエントリと、そのキャッシュデータのうち提供済の割合(すなわちRIP部120から見れば読み出し完了率)とを例えば定期的に記録し、その読み出し完了率の時間的な変化から、読み出し完了予測時刻を求めればよい。   In yet another method, evaluation is performed based on a predicted value (use completion prediction time) of a time at which use of cache data of an inferior entry to be evaluated is completed. When there are a plurality of RIP units 120 that use cache data of one subordinate entry, the use completion prediction time is obtained for each RIP unit 120, and the penalty value is obtained from the use completion prediction time. In this method, the closer the cache data usage completion prediction time is to the current time, the higher the penalty for immediately evicting the cache data. This is because, as the predicted use completion time is closer to the current time, the time for waiting for completion of the use for the target entry is shorter, so there is less loss if not immediately expelled (ie, the penalty is lower). Note that for this method, the cache management unit 130, for each RIP unit 120, the cache entry that currently provides cache data to the RIP unit 120, and the proportion of the cache data that has been provided (ie, RIP For example, the read completion rate) may be periodically recorded, and the read completion prediction time may be obtained from the temporal change in the read completion rate.

また、S128で計算した空き容量が、対象エントリのキャッシュデータを収容するのに十分な大きさかどうかを判定し(S130)、まだ不十分であれば、S126に戻り、スコアの低い別の劣位エントリが残っている間は、S126、S128、S324の処理を繰り返す。このような繰り返しによりS130の判定結果がYESとなると、キャッシュ管理部130は、S126で抽出した追い出し対象の劣位エントリのすべてについて、S324で計算したペナルティの値があらかじめ定められた閾値より小さいかどうかを判定する(S326)。ある劣位エントリについてのペナルティが閾値より小さい場合、その劣位エントリのキャッシュデータをすぐに追い出しても、その追い出しによる不利益(例えば追い出したキャッシュデータを使用していたRIP部120が再度PDLデータをRIP処理することによるコスト)が、対象エントリのためのキャッシュエントリをすぐに確保することによる利益よりも少ない可能性が高い。逆に言えば、そのような閾値を実験やシミュレーションによりあらかじめ求めておく。   Further, it is determined whether or not the free space calculated in S128 is large enough to accommodate the cache data of the target entry (S130). If it is still insufficient, the process returns to S126, and another subordinate entry with a low score is obtained. While S remains, the processes of S126, S128, and S324 are repeated. If the determination result in S130 is YES due to such repetition, the cache management unit 130 determines whether or not the penalty value calculated in S324 is smaller than a predetermined threshold value for all the inferior entries to be evicted extracted in S126. Is determined (S326). When the penalty for a certain subordinate entry is smaller than the threshold value, even if the cache data of the subordinate entry is immediately evicted, the RIP unit 120 that has used the evicted cache data again converts the PDL data to RIP. The cost of processing) is likely to be less than the benefit of immediately securing a cache entry for the target entry. In other words, such a threshold value is obtained in advance through experiments and simulations.

S326の判定で、領域解放対象の劣位エントリのペナルティがすべて閾値より小さければ、どの劣位エントリについてもキャッシュデータを即時追い出しても不利益が少ないということである。この場合、即時強制追い出し方式を採用する。すなわち、キャッシュ管理部130は、それら追い出し対象の各劣位エントリのキャッシュデータを使用中の各RIP部120にそのデータの使用中止の指示を通知し、それら各劣位エントリのキャッシュデータを追い出して、それらキャッシュデータがそれまで占めていたキャッシュ領域を解放する(S328)。そして、S132に進み、対象エントリのための領域をキャッシュメモリ140に確保し、要求元のRIP部120に領域確保の旨を示すコードと確保した領域のアドレスの情報を返す。   If the penalty of the inferior entry subject to area release is smaller than the threshold value in the determination of S326, it means that there is little disadvantage even if the cache data is immediately evicted for any inferior entry. In this case, the immediate forced eviction method is adopted. That is, the cache management unit 130 notifies each RIP unit 120 that is using the cache data of each inferior entry to be evicted to stop using the data, evicts the cache data of each inferior entry, The cache area previously occupied by the cache data is released (S328). In step S132, an area for the target entry is secured in the cache memory 140, and a code indicating that the area is secured and information on the address of the secured area are returned to the requesting RIP unit 120.

一方、S326の判定で、追い出し対象の劣位エントリのなかに1つでもペナルティが閾値以上のものがあれば、キャッシュデータをすぐに追い出すと不利益が多い劣位エントリが存在するということである。この場合、第3(使用完了後追い出し)方式を採用する。すなわち、キャッシュ管理部130は、追い出し対象のすべての劣位エントリのキャッシュデータを使用しているすべてのRIP部120がその使用を完了するのを待ち(S131)、それらすべての劣位エントリの領域が解放された後に、対象エントリのための領域確保を行う(S132)。   On the other hand, if it is determined in S326 that there is at least one inferior entry to be evicted that has a penalty equal to or greater than the threshold value, there is an inferior entry with many disadvantages if the cache data is immediately evicted. In this case, the third (purge after use completion) method is adopted. That is, the cache management unit 130 waits for all the RIP units 120 using the cache data of all the subordinate entries to be evicted to complete the use (S131), and the areas of all the subordinate entries are released. After that, an area for the target entry is secured (S132).

以上の例では、第2方式と第3方式を切り替えるのに、S326ですべてのペナルティ値が閾値より小さいか否か、という判定基準を用いたが、これは一例に過ぎない。この代わりに、ペナルティ値が閾値以上である劣位エントリの割合が、あらかじめ定められた割合閾値以下であれば、第2(即時強制追い出し)方式を採用するなどといった、他の判定基準も考えられる。   In the above example, in order to switch between the second method and the third method, the determination criterion whether or not all penalty values are smaller than the threshold value in S326 is used, but this is only an example. Instead, if the ratio of inferior entries whose penalty value is equal to or greater than the threshold is equal to or less than a predetermined ratio threshold, other determination criteria such as adopting the second (immediate forced eviction) method may be considered.

図47及び図48の例では、3つの方式を動的に切り替えて使用したが、3つの方式全てを用いる必要はない。別の例として、それら3つの方式のうちの2つを動的に切り替えて使用してもよい。例えば、第1(オーバーフロー)方式と第2(即時強制追い出し)方式とを動的に切り替える場合は、図47のS320及びS322のステップによりどちらの方式を使用するかを判定すればよい。第1方式と第3(使用完了後追い出し)方式とを動的に切り替える場合も同様である。また第2方式と第3方式とを動的に切り替える場合は、図48のS324及びS326のステップによりどちらの方式を使用するかを判定すればよい。   In the example of FIGS. 47 and 48, the three methods are dynamically switched and used, but it is not necessary to use all three methods. As another example, two of the three schemes may be dynamically switched and used. For example, when the first (overflow) method and the second (immediate forced eviction) method are dynamically switched, it is only necessary to determine which method is used in steps S320 and S322 in FIG. The same applies to the case where the first method and the third (purge after use completion) method are dynamically switched. In addition, when the second method and the third method are dynamically switched, it is only necessary to determine which method is to be used in steps S324 and S326 in FIG.

以上に例示した印刷文書変換システム100、またはこれを構成するジョブ管理部110、RIP部120及びキャッシュ管理部130は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)を制御するHDDコントローラ、各種I/O(入出力)インタフェース、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。   The print document conversion system 100 exemplified above, or the job management unit 110, the RIP unit 120, and the cache management unit 130 constituting the print document conversion system 100, for example, causes a general-purpose computer to execute a program representing the processing of each functional module described above. It is realized by. Here, the computer includes, as hardware, a microprocessor such as a CPU, a memory (primary storage) such as a random access memory (RAM) and a read only memory (ROM), an HDD controller that controls an HDD (hard disk drive), Various I / O (input / output) interfaces, network interfaces that perform control for connection to a network such as a local area network, and the like have a circuit configuration connected via a bus, for example. Also, portable non-volatile recording of various standards such as a disk drive and a flash memory for reading and / or writing to a portable disk recording medium such as a CD or a DVD via the I / O interface, for example. A memory reader / writer for reading from and / or writing to a medium may be connected. A program in which the processing contents of each functional module exemplified above are described is stored in a fixed storage device such as a hard disk drive via a recording medium such as a CD or DVD, or via a communication means such as a network, and stored in a computer. Installed. The program stored in the fixed storage device is read into the RAM and executed by a microprocessor such as a CPU, thereby realizing the functional module group exemplified above.

100 印刷文書変換システム、110 ジョブ管理部、112 ページ割当部、114 負荷監視部、120 RIP部、130 キャッシュ管理部、132 エントリ管理テーブル、140 キャッシュメモリ、200 ホストコンピュータ、210 印刷制御装置、220 プリンタエンジン。   100 print document conversion system, 110 job management unit, 112 page allocation unit, 114 load monitoring unit, 120 RIP unit, 130 cache management unit, 132 entry management table, 140 cache memory, 200 host computer, 210 print control device, 220 printer engine.

Claims (16)

キャッシュ装置と、複数のデータ処理装置と、を備え、
前記キャッシュ装置は、
前記各データ処理装置が作成したビットマップ形式又は中間言語形式の画像データを記憶するためのキャッシュメモリと、
印刷文書データの各文書要素について、それぞれ、当該文書要素の画像データの前記キャッシュメモリにおけるキャッシュ状態があらかじめ定義された複数の状態のうちのいずれであるかを記憶する状態記憶手段であって、前記複数の状態の中には、前記キャッシュメモリに画像データを記憶する価値があるにも関わらず画像データが前記キャッシュメモリにないことを示す第1の状態と、前記キャッシュメモリに画像データを記憶する価値がないために画像データが前記キャッシュメモリにないことを示す第2の状態と、が含まれることを特徴とする状態記憶手段と、
前記データ処理装置から文書要素の画像データの問合せを受けた場合において、前記状態記憶手段に記憶された当該文書要素の画像データのキャッシュ状態が前記第1の状態である場合には第1の応答を、当該文書要素の画像データのキャッシュ状態が前記第2の状態である場合には第2の応答を、前記データ処理装置に提供する応答提供手段と、
を備え、
前記複数のデータ処理装置の各々は、
前記印刷文書データ内の各文書要素のページ記述言語のデータを処理してビットマップ形式又は中間言語形式の画像データを作成する画像データ作成手段と、
前記印刷文書データ内の文書要素ごとに、当該文書要素の画像データを前記画像データ作成手段に作成させる前に、当該画像データが前記キャッシュ装置内にあるか否かの問合せを行う問合せ手段と、
前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が前記第1の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、当該画像データを前記キャッシュ装置に登録するための処理を実行し、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が前記第2の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する、という制御を行う制御手段と、
を備える、
ことを特徴とする印刷文書処理システム。
A cache device and a plurality of data processing devices;
The cache device is:
A cache memory for storing image data in bitmap format or intermediate language format created by each of the data processing devices;
A state storage unit that stores, for each document element of the print document data, one of a plurality of predefined states of the cache state of the image data of the document element in the cache memory, A plurality of states include a first state indicating that no image data is stored in the cache memory even though it is worth storing the image data in the cache memory, and storing the image data in the cache memory. State storage means comprising: a second state indicating that image data is not in the cache memory because of no value; and
When an inquiry about image data of a document element is received from the data processing device, a first response is obtained when the cache state of the image data of the document element stored in the state storage means is the first state. Response providing means for providing a second response to the data processing device when the cache state of the image data of the document element is the second state;
With
Each of the plurality of data processing devices
Image data creating means for processing page description language data of each document element in the print document data to create image data in a bitmap format or an intermediate language format;
For each document element in the print document data, before causing the image data creation means to create the image data of the document element, an inquiry means that inquires whether the image data is in the cache device;
If the response from the cache device to the inquiry by the inquiry means is the first response, the image data creation means executes creation of image data of the document element, and the image data created as a result When the image for printing is generated using, processing for registering the image data in the cache device is executed, and the response from the cache device to the inquiry by the inquiry means is the second response The image data creation means executes creation of image data of the document element, generates a print image using the image data created as a result, and the image data is not registered in the cache device. Control means for performing control of discarding;
Comprising
A printed document processing system.
前記応答提供手段は、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、当該画像データが前記キャッシュメモリ内に存在する場合でも、当該文書要素が、前記キャッシュメモリに画像データを記憶する価値がないと判定される場合には、前記第2の応答を前記データ処理装置に提供する、
ことを特徴とする請求項1に記載の印刷文書処理システム。
When the response providing unit receives an inquiry about the image data of the document element from the data processing device, the document element stores the image data in the cache memory even if the image data exists in the cache memory. Providing the second response to the data processing device if it is determined that it is not worth storing;
The print document processing system according to claim 1.
前記複数の状態の中には、当該文書要素の画像データが前記キャッシュメモリに記憶されていることを示す第3の状態が含まれ、
前記キャッシュ装置は、
前記データ処理装置から文書要素の画像データのための記憶領域を確保するための確保要求を受けた際に、前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合に、当該確保要求の対象である文書要素よりもキャッシュ優先度が低い前記第3の状態の文書要素のうちの少なくとも1つの画像データを前記キャッシュメモリから追い出すための処理を行うと共に、前記状態記憶手段に記憶された、前記追い出すための処理の対象とした文書要素のキャッシュ状態を前記第2の状態に変更する追い出し処理手段、
を更に備え、
前記応答提供手段は、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、前記状態記憶手段に記憶された当該文書要素のキャッシュ状態が前記第2の状態である場合、当該文書要素が、前記キャッシュメモリに画像データを記憶する価値がないと判定する、
ことを特徴とする請求項2に記載の印刷文書処理システム。
The plurality of states include a third state indicating that the image data of the document element is stored in the cache memory,
The cache device is:
When the reservation request for securing the storage area for the image data of the document element is received from the data processing device, the reservation is made when the free space of the cache memory is insufficient to store the image data. A process for expelling at least one image data of the document element in the third state whose cache priority is lower than that of the requested document element from the cache memory and stored in the state storage means Eviction processing means for changing the cache state of the document element to be processed for eviction to the second state;
Further comprising
When the response providing unit receives an inquiry about image data of a document element from the data processing device, and the cache state of the document element stored in the state storage unit is the second state, the response providing unit Determining that the element is not worth storing image data in the cache memory;
The print document processing system according to claim 2.
前記追い出し処理手段は、前記データ処理装置から文書要素の画像データのための記憶領域を確保するための確保要求を受けた際に、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれのデータ処理装置からも使用中でない前記第3の状態のすべての文書要素の画像データを追い出しても、前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれかのデータ処理装置により使用中であるものの少なくとも1つを前記第2の状態に変更し、前記第2の状態に変更した文書要素の画像データがいずれのデータ処理装置からも使用されなくなった後に当該画像データを前記キャッシュメモリから追い出す、
ことを特徴とする請求項3に記載の印刷文書処理システム。
When the eviction processing unit receives a securing request for securing a storage area for image data of a document element from the data processing device, the eviction processing unit has a cache priority lower than that of the document element and the image data If the image data of all the document elements in the third state that are not in use from the data processing apparatus is expelled and the free space of the cache memory is insufficient to store the image data, At least one of the cache priority is low and image data is being used by any data processing device is changed to the second state, and the image data of the document element changed to the second state is Expelling the image data from the cache memory after it is no longer used by the data processing device;
The print document processing system according to claim 3.
前記複数の状態の中には、当該文書要素の画像データが前記キャッシュメモリに記憶されていることを示す第3の状態が含まれ、
前記応答提供手段は、前記データ処理装置から文書要素の画像データの問合せを受けた場合において、当該文書要素のキャッシュ優先度が、前記キャッシュメモリから画像データを追い出す文書要素を判定するための第1の閾値よりも低い場合には、前記状態記憶手段に記憶された当該文書要素のキャッシュ状態が前記第3の状態であっても、当該文書要素が、前記キャッシュメモリに画像データを記憶する価値がないと判定し、前記第2の応答を前記データ処理装置に提供する、
ことを特徴とする請求項2に記載の印刷文書処理システム。
The plurality of states include a third state indicating that the image data of the document element is stored in the cache memory,
The response providing means, when receiving an inquiry about image data of a document element from the data processing apparatus, has a cache priority of the document element for determining a document element for evicting image data from the cache memory. Is lower than the threshold value, the document element is worth storing image data in the cache memory even if the cache state of the document element stored in the state storage means is the third state. Determining that the second response is provided to the data processing device;
The print document processing system according to claim 2.
前記応答提供手段は、前記問合せの対象の文書要素には画像データを前記キャッシュメモリに記憶する価値があると判定した場合において、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれのデータ処理装置からも使用中でないすべての文書要素の画像データを追い出したとしても前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合は、前記第1の閾値を、当該文書要素のキャッシュ優先度よりも低く、かつ、前記キャッシュメモリに画像データが記憶されている文書要素の少なくとも1つのキャッシュ優先度よりも高い値に変更する閾値変更手段、
を更に備える請求項5に記載の印刷文書処理システム。
When the response providing unit determines that the document element to be queried is worth storing image data in the cache memory, the cache priority is lower than the document element and the image data is any data. Even if the image data of all the document elements that are not in use is evicted from the processing device, if the free space of the cache memory is insufficient to store the image data, the first threshold value is set to the document element. Threshold changing means for changing to a value lower than the cache priority and higher than at least one cache priority of the document element in which image data is stored in the cache memory;
The print document processing system according to claim 5, further comprising:
前記キャッシュ装置は、
前記データ処理装置から文書要素の画像データのための記憶領域を確保するための確保要求を受けた際に、前記確保要求の対象の文書要素のキャッシュ優先度が、前記キャッシュメモリに画像データを登録する文書要素を判定するための第2の閾値未満である場合に、前記状態記憶手段に記憶された当該確保要求の対象の文書要素のキャッシュ状態を前記第2の状態に変更し、前記確保要求を行った前記データ処理装置に対して、確保失敗の旨を応答する第1の状態変更手段、
を更に備え、
前記データ処理装置は、
前記確保要求に応じて前記キャッシュ装置から確保失敗の旨の応答を受けた場合、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する手段、
を更に備える、
ことを特徴とする請求項5又は6に記載の印刷文書処理システム。
The cache device is:
When a reservation request for securing a storage area for document element image data is received from the data processing apparatus, the cache priority of the document element subject to the securing request registers the image data in the cache memory. When the document element is less than a second threshold value for determining the document element to be changed, the cache state of the document element that is the target of the reservation request stored in the state storage unit is changed to the second state, and the reservation request First state changing means for responding to the data processing apparatus that has performed a failure of securing;
Further comprising
The data processing device includes:
In response to a request for securing failure from the cache device in response to the securing request, the image data creating unit executes creation of image data of the document element, and printing is performed using the image data created as a result. Means for generating an image and discarding the image data without registering it in the cache device;
Further comprising
The print document processing system according to claim 5 or 6.
前記第1の状態変更手段が用いる前記第2の閾値は、前記第3の状態の各文書要素のキャッシュ優先度のうちの最小値である、ことを特徴とする請求項7に記載の印刷文書処理システム。 8. The printed document according to claim 7, wherein the second threshold value used by the first state changing unit is a minimum value among cache priorities of each document element in the third state. Processing system. 前記確保要求の対象の文書要素のキャッシュ優先度が前記第2の閾値以上である場合において、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれのデータ処理装置からも使用中でない前記第3の状態のすべての文書要素の画像データを追い出したとしても前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合は、前記第2の閾値を、当該文書要素のキャッシュ優先度よりも低く、かつ、前記キャッシュメモリに画像データが記憶されている文書要素の少なくとも1つのキャッシュ優先度よりも高い値に変更する第2の閾値変更手段、
を更に備える請求項7又は8に記載の印刷文書処理システム。
When the cache priority of the document element to be secured is equal to or higher than the second threshold, the cache priority is lower than the document element and the image data is not being used by any data processing apparatus. Even if the image data of all document elements in the state 3 is evicted, if the free space of the cache memory is insufficient to store the image data, the second threshold value is set as the cache priority of the document element. Second threshold value changing means for changing to a value lower than the cache priority of at least one of the document elements in which image data is stored in the cache memory,
The print document processing system according to claim 7 or 8, further comprising:
前記第3の状態でありかつキャッシュ優先度が前記第1の閾値よりも低い文書要素の画像データについて、当該画像データがいずれのデータ処理装置からも使用されなくなった後に、当該画像データを前記キャッシュメモリから追い出し、前記状態記憶手段に記憶された当該文書要素のキャッシュ状態を第2の状態に変更する追い出し手段、
を更に備えることを特徴とする請求項5〜9のいずれか1項に記載の印刷文書処理システム。
For image data of a document element that is in the third state and whose cache priority is lower than the first threshold, after the image data is no longer used by any data processing device, the image data is stored in the cache Evicting means for evicting from the memory and changing the cache state of the document element stored in the status storage means to the second status;
The print document processing system according to claim 5, further comprising:
前記キャッシュ装置は、
前記データ処理装置から文書要素の画像データのための記憶領域を確保するための確保要求を受けた際に、当該文書要素よりもキャッシュ優先度が低くかつ画像データがいずれのデータ処理装置からも使用中でない前記第3の状態のすべての文書要素の画像データを追い出しても、前記キャッシュメモリの空き容量が当該画像データを記憶するのに足りない場合、前記確保要求を行った前記データ処理装置に対して、確保失敗の旨を応答する手段、
を備え、
前記データ処理装置は、
前記確保要求に応じて前記キャッシュ装置から確保失敗の旨の応答を受けた場合、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する手段、
を備える、
ことを特徴とする請求項3〜10のいずれか1項に記載の印刷文書処理システム。
The cache device is:
When a request for securing a storage area for image data of a document element is received from the data processing apparatus, the cache priority is lower than that of the document element, and the image data is used by any data processing apparatus When the image data of all the document elements in the third state that are not in the middle is evicted, the free space of the cache memory is insufficient to store the image data. In contrast, a means of responding to the failure of securing,
With
The data processing device includes:
In response to a request for securing failure from the cache device in response to the securing request, the image data creating unit executes creation of image data of the document element, and printing is performed using the image data created as a result. Means for generating an image and discarding the image data without registering it in the cache device;
Comprising
The print document processing system according to claim 3, wherein
前記各文書要素のキャッシュ優先度を、当該文書要素が前記問合せを受けた回数が多くなるほど高くなるように更新するキャッシュ優先度更新手段と、
前記状態記憶手段に記憶されたキャッシュ状態が前記第2の状態である文書要素のキャッシュ優先度があらかじめ定められた状態変更閾値を超えた場合に、当該文書要素のキャッシュ状態を前記第1の状態に変更する第2の状態変更手段と、
を更に備える請求項1〜11のいずれか1項に記載の印刷文書処理システム。
Cache priority update means for updating the cache priority of each document element so as to increase as the number of times the document element has received the inquiry increases;
When the cache priority stored in the state storage means exceeds the predetermined state change threshold for the document element in the second state, the cache state of the document element is changed to the first state. Second state changing means for changing to
The print document processing system according to claim 1, further comprising:
各データ処理装置が作成したビットマップ形式又は中間言語形式の画像データを記憶するためのキャッシュメモリと、
印刷文書データの各文書要素について、それぞれ、当該文書要素の画像データの前記キャッシュメモリにおけるキャッシュ状態があらかじめ定義された複数の状態のうちのいずれであるかを記憶する状態記憶手段であって、前記複数の状態の中には、前記キャッシュメモリに画像データが記憶されている各文書要素よりもキャッシュ優先度が高いにも関わらず画像データが前記キャッシュメモリにないことを示す第1の状態と、前記キャッシュメモリに画像データが記憶されている各文書要素よりもキャッシュ優先度が低いために画像データが前記キャッシュメモリにないことを示す第2の状態と、が含まれることを特徴とする状態記憶手段と、
前記データ処理装置から文書要素の画像データの問合せを受けた場合において、前記状態記憶手段に記憶された当該文書要素の画像データのキャッシュ状態が前記第1の状態である場合には第1の応答を、当該文書要素の画像データのキャッシュ状態が前記第2の状態である場合には第2の応答を、前記データ処理装置に提供する応答提供手段と、
を備えるキャッシュ装置。
A cache memory for storing image data in bitmap format or intermediate language format created by each data processing device;
A state storage unit that stores, for each document element of the print document data, one of a plurality of predefined states of the cache state of the image data of the document element in the cache memory, In a plurality of states, a first state indicating that there is no image data in the cache memory even though the cache priority is higher than each document element in which the image data is stored in the cache memory; And a second state indicating that there is no image data in the cache memory because the cache priority is lower than each document element in which the image data is stored in the cache memory. Means,
When an inquiry about image data of a document element is received from the data processing device, a first response is obtained when the cache state of the image data of the document element stored in the state storage means is the first state. Response providing means for providing a second response to the data processing device when the cache state of the image data of the document element is the second state;
A cache device comprising:
印刷文書データ内の各文書要素のページ記述言語のデータを処理してビットマップ形式又は中間言語形式の画像データを作成する画像データ作成手段と、
前記印刷文書データ内の文書要素ごとに、当該文書要素の画像データを前記画像データ作成手段に作成させる前に、当該画像データがキャッシュ装置内にあるか否かの問合せを行う問合せ手段と、
前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が、前記問合せの対象の文書要素が前記キャッシュ装置に画像データが記憶されている各文書要素よりもキャッシュ優先度が高いにも関わらず画像データが前記キャッシュ装置にないことを示す第1の状態であることを示す第1の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、当該画像データを前記キャッシュ装置に登録するための処理を実行し、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が、前記問合せの対象の文書要素が前記キャッシュ装置に画像データが記憶されている各文書要素よりもキャッシュ優先度が低いために画像データが前記キャッシュ装置にないことを示す第2の状態を示す第2の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する、という制御を行う制御手段と、
を備えるデータ処理装置。
Image data creating means for processing page description language data of each document element in the print document data to create image data in a bitmap format or an intermediate language format;
For each document element in the print document data, before causing the image data creation means to create image data of the document element, an inquiry means for making an inquiry as to whether or not the image data is in the cache device;
The response from the cache device to the inquiry by the inquiry means is that the image data is the object even though the document element to be queried has a higher cache priority than each document element in which image data is stored in the cache device. If the response is a first response indicating that the cache device is not in the first state, the image data generation unit executes the generation of image data of the document element, and is generated as a result. A print image is generated using the image data, and a process for registering the image data in the cache device is executed. A response from the cache device to the query by the query unit is a target of the query. is low cache priority than the document element document element is image data stored in said cache device If the image data is second was a response indicating a second state indicating that is not in the cache device, the image data generating means to execute the creation of image data of the document element is created as a result Control means for generating a print image using the obtained image data and for discarding the image data without registering it in the cache device;
A data processing apparatus comprising:
コンピュータを、
各データ処理装置が作成したビットマップ形式又は中間言語形式の画像データを記憶するためのキャッシュメモリ、
印刷文書データの各文書要素について、それぞれ、当該文書要素の画像データの前記キャッシュメモリにおけるキャッシュ状態があらかじめ定義された複数の状態のうちのいずれであるかを記憶する状態記憶手段であって、前記複数の状態の中には、前記キャッシュメモリに画像データが記憶されている各文書要素よりもキャッシュ優先度が高いにも関わらず画像データが前記キャッシュメモリにないことを示す第1の状態、前記キャッシュメモリに画像データが記憶されている各文書要素よりもキャッシュ優先度が低いために画像データが前記キャッシュメモリにないことを示す第2の状態と、が含まれることを特徴とする状態記憶手段、
前記データ処理装置から文書要素の画像データの問合せを受けた場合において、前記状態記憶手段に記憶された当該文書要素の画像データのキャッシュ状態が前記第1の状態である場合には第1の応答を、当該文書要素の画像データのキャッシュ状態が前記第2の状態である場合には第2の応答を、前記データ処理装置に提供する応答提供手段、
として機能させるためのプログラム。
Computer
A cache memory for storing image data in bitmap format or intermediate language format created by each data processing device;
A state storage unit that stores, for each document element of the print document data, one of a plurality of predefined states of the cache state of the image data of the document element in the cache memory, The plurality of states includes a first state indicating that no image data is stored in the cache memory, although the cache priority is higher than each document element in which the image data is stored in the cache memory, And a second state indicating that there is no image data in the cache memory because the cache priority is lower than each document element in which the image data is stored in the cache memory. ,
When an inquiry about image data of a document element is received from the data processing device, a first response is obtained when the cache state of the image data of the document element stored in the state storage means is the first state. Response providing means for providing a second response to the data processing device when the cache state of the image data of the document element is the second state;
Program to function as.
コンピュータを、
印刷文書データ内の各文書要素のページ記述言語のデータを処理してビットマップ形式又は中間言語形式の画像データを作成する画像データ作成手段、
前記印刷文書データ内の文書要素ごとに、当該文書要素の画像データを前記画像データ作成手段に作成させる前に、当該画像データがキャッシュ装置内にあるか否かの問合せを行う問合せ手段、
前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が、前記問合せの対象の文書要素が前記キャッシュ装置に画像データが記憶されている各文書要素よりもキャッシュ優先度が高いにも関わらず画像データが前記キャッシュ装置にないことを示す第1の状態であることを示す第1の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、当該画像データを前記キャッシュ装置に登録するための処理を実行し、前記問合せ手段による問合せに対する前記キャッシュ装置からの応答が、前記問合せの対象の文書要素が前記キャッシュ装置に画像データが記憶されている各文書要素よりもキャッシュ優先度が低いために画像データが前記キャッシュ装置にないことを示す第2の状態を示す第2の応答であった場合には、前記画像データ作成手段に当該文書要素の画像データの作成を実行させ、その結果作成された画像データを用いて印刷用画像を生成すると共に、前記画像データを前記キャッシュ装置に登録しないまま破棄する、という制御を行う制御手段、
として機能させるためのプログラム。
Computer
Image data creation means for processing page description language data of each document element in the print document data to create image data in a bitmap format or an intermediate language format;
Inquiry means for making an inquiry as to whether or not the image data is in the cache device before causing the image data creation means to create image data of the document element for each document element in the print document data;
The response from the cache device to the inquiry by the inquiry means is that the image data is the object even though the document element to be queried has a higher cache priority than each document element in which image data is stored in the cache device. If the response is a first response indicating that the cache device is not in the first state, the image data generation unit executes the generation of image data of the document element, and is generated as a result. A print image is generated using the image data, and a process for registering the image data in the cache device is executed. A response from the cache device to the query by the query unit is a target of the query. is low cache priority than the document element document element is image data stored in said cache device If the image data is second was a response indicating a second state indicating that is not in the cache device, the image data generating means to execute the creation of image data of the document element is created as a result Control means for generating a print image using the obtained image data and discarding the image data without registering it in the cache device;
Program to function as.
JP2010267598A 2010-11-30 2010-11-30 Print document processing system, cache device, data processing device, and program Active JP5614266B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010267598A JP5614266B2 (en) 2010-11-30 2010-11-30 Print document processing system, cache device, data processing device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010267598A JP5614266B2 (en) 2010-11-30 2010-11-30 Print document processing system, cache device, data processing device, and program

Publications (2)

Publication Number Publication Date
JP2012118745A JP2012118745A (en) 2012-06-21
JP5614266B2 true JP5614266B2 (en) 2014-10-29

Family

ID=46501494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010267598A Active JP5614266B2 (en) 2010-11-30 2010-11-30 Print document processing system, cache device, data processing device, and program

Country Status (1)

Country Link
JP (1) JP5614266B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015009497A (en) * 2013-06-28 2015-01-19 理想科学工業株式会社 Printer
KR102147356B1 (en) * 2013-09-30 2020-08-24 삼성전자 주식회사 Cache memory system and operating method for the same
JP6194875B2 (en) 2014-12-11 2017-09-13 日本電気株式会社 Cache device, cache system, cache method, and cache program
CN116842001A (en) * 2023-08-29 2023-10-03 合肥中科类脑智能技术有限公司 Mirror image data cleaning method and device, electronic equipment and artificial intelligent platform

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7042587B2 (en) * 2001-11-28 2006-05-09 Hewlett-Packard Development Company, L.P. Image data caching
JP2006065805A (en) * 2004-08-30 2006-03-09 Canon Inc Image processor and control method
JP2006330124A (en) * 2005-05-24 2006-12-07 Matsushita Electric Ind Co Ltd Data processor
JP4596285B2 (en) * 2008-06-16 2010-12-08 コニカミノルタビジネステクノロジーズ株式会社 Image processing system, image processing method, and object name generation program

Also Published As

Publication number Publication date
JP2012118745A (en) 2012-06-21

Similar Documents

Publication Publication Date Title
JP5691448B2 (en) Print document processing system, cache device, data processing device, and program
JP5747489B2 (en) Printed document processing system, cache device, and program
JP5648449B2 (en) Printed document processing system, cache device, and program
US8595745B2 (en) Job-process swapping between multiple storage devices based on the most recently executed type of a process and historical execution count among plural types of processes
JP4029711B2 (en) Image forming apparatus
JP5288039B1 (en) Print image processing system and program
JP5475307B2 (en) Memory management method, computer readable medium and apparatus for rasterization
US8549526B2 (en) Access control apparatus and access control method
US8861011B2 (en) Print image processing system and non-transitory computer readable medium
JP5614266B2 (en) Print document processing system, cache device, data processing device, and program
JP5408323B1 (en) Print image processing system and program
JP6194875B2 (en) Cache device, cache system, cache method, and cache program
US8934121B2 (en) Coordinated, distributed, reusable document component respository
JP6432438B2 (en) Data processing apparatus and program
JP2006344184A (en) Image formation device
JPH1063448A (en) Method and system for memory allocation
JP2012008838A (en) Print document conversion device and program
JP2012081711A (en) Image forming apparatus and image processing method
JP2015001882A (en) Print image processing system and program
JP2005343088A (en) Printing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140711

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140825

R150 Certificate of patent or registration of utility model

Ref document number: 5614266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350