JP2005099932A - Spooling method, program making the same method executed with computer, image forming apparatus, and information processing device - Google Patents

Spooling method, program making the same method executed with computer, image forming apparatus, and information processing device Download PDF

Info

Publication number
JP2005099932A
JP2005099932A JP2003330370A JP2003330370A JP2005099932A JP 2005099932 A JP2005099932 A JP 2005099932A JP 2003330370 A JP2003330370 A JP 2003330370A JP 2003330370 A JP2003330370 A JP 2003330370A JP 2005099932 A JP2005099932 A JP 2005099932A
Authority
JP
Japan
Prior art keywords
spool
print
application
processing
image forming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003330370A
Other languages
Japanese (ja)
Other versions
JP4368173B2 (en
Inventor
Naohisa Shikida
尚久 式田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003330370A priority Critical patent/JP4368173B2/en
Publication of JP2005099932A publication Critical patent/JP2005099932A/en
Application granted granted Critical
Publication of JP4368173B2 publication Critical patent/JP4368173B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To dispense interface changes for each print protocol processing when changes on hardware or the like occurs and to facilitate a program development. <P>SOLUTION: An image forming apparatus providing user service regarding image forming processing comprises a print protocol processing sections 131 to 13N interpreting received data of a print object received from a PC 190 connected with a network 180 based on a predetermined communication protocol and sampling specific print data for an application which performs printing, an HDD 150 memorizing the print data as a printing job, and a spool reading processing section 112 being separated from the print protocol processing section 131 to 13N and delivering the print data included in the printing job memorized in the HDD 150 into the application such as a print application A-120a or the like via a common memory 161. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

この発明は、ネットワークに接続されたクライアント端末からの印刷要求によって印刷データをスプールして出力するスプール処理方法、その方法をコンピュータに実行させるプログラム、画像形成装置および情報処理装置に関する。   The present invention relates to a spool processing method for spooling and outputting print data in response to a print request from a client terminal connected to a network, a program for causing a computer to execute the method, an image forming apparatus, and an information processing apparatus.

近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。   In recent years, there has been known an image forming apparatus (hereinafter referred to as “multifunction machine”) in which functions of apparatuses such as a printer, a copy machine, a facsimile machine, and a scanner are housed in one casing. This multifunction device is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and is provided with three types of software respectively corresponding to a printer, a copy machine, and a facsimile machine, and by switching these software, Are operated as a printer, a copy, a scanner, or a facsimile machine.

このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)がある(例えば、特許文献1参照)。   In such a conventional multi-function peripheral, software corresponding to a printer, a copy, a scanner, and a facsimile apparatus is provided separately, so that development of each software requires a lot of time. A plurality of applications that have hardware resources used in image forming processes such as a display unit, a printing unit, and an imaging unit, and that perform processing specific to each user service such as a printer, a copy, or a facsimile. It consists of various control services that perform management, execution control, and image formation processing of hardware resources that are shared by at least two applications when providing user services. There is an image forming apparatus (multifunction machine) provided with a platform (see, for example, Patent Document 1).

このような複合機では、ネットワーク上のPC等のクライアント端末で生成されたアプリケーションデータの印刷出力を行う際に、印刷データを直接プリンタエンジンに送出するのではなく、印刷ジョブとして一時的にハードディスク装置(HDD)等の記憶手段に保存しておき、後でまとめてプリンタエンジンに送信するスプール処理を行っている。   In such a multi-function peripheral, when printing out application data generated by a client terminal such as a PC on a network, the print data is not sent directly to the printer engine but temporarily as a print job. A spool process is performed in which the data is stored in a storage unit such as (HDD) and transmitted to the printer engine later.

図22は、上述した従来の複合機において、スプール処理に関連する機能的構成を示すブロック図である。図22に示すように、従来の複合機には、アプリケーション層に印刷処理を行うアプリケーションであるプリンタアプリ2201と、ファクシミリ送信およびファクシミリ受信を行うファックスアプリ2202が搭載されている。また、コントロールサービス層にはネットワークの制御を行うネットワークコントロールサービス(NCS)2203が搭載されている。   FIG. 22 is a block diagram showing a functional configuration related to spool processing in the above-described conventional multifunction machine. As shown in FIG. 22, a conventional multi-function peripheral is equipped with a printer application 2201 that is an application that performs printing processing in an application layer, and a fax application 2202 that performs facsimile transmission and reception. In addition, a network control service (NCS) 2203 for controlling the network is installed in the control service layer.

NCSは、図22に示すように、複数の印刷プロトコルに対応して処理を行えるように、各プロトコルごとに印刷プロトコル処理部2211,2212〜221Nが設けられている。ここで、印刷プロトコル処理部2211,2212〜221Nは、ネットワークI/F部2206を介してネットワーク上のPC(Personal Computer)等からデータを受信し、論理セッションの確立および開放を行うとともに、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈し、解釈したデータからアプリケーション固有のデータ部分を抽出して、該当するアプリケーションにデータを受け渡すものである。このような通信プロトコルとしては、例えばFTP、HTTPなどがあり、各プロトコルに対応すべく各プロトコルごとに複数の印刷プロトコル処理部2211,2212〜221Nが備えられている。そして、各印刷プロトコル処理部は、印刷データを印刷ジョブとしてHDD1707に登録したり、印刷ジョブの制御などを行うスプール処理部2221,2222〜222Nをそれぞれ備えている。スプール処理部2221,2222〜222Nは、印刷データを印刷ジョブとしてHDD1707に登録する際にNCS内部のHDD I/F2205を介して行うことから、NCSの各印刷プロトコル処理部2211,2212〜221N内部に設けられている。   As shown in FIG. 22, the NCS is provided with print protocol processing units 2211, 2122 to 221 N for each protocol so that processing can be performed corresponding to a plurality of print protocols. Here, the print protocol processing units 2211, 2122 to 221 N receive data from a PC (Personal Computer) on the network via the network I / F unit 2206 and establish and release a logical session. The data transmitted over the session is interpreted according to the communication protocol, the application-specific data portion is extracted from the interpreted data, and the data is delivered to the corresponding application. Such communication protocols include, for example, FTP, HTTP, and the like, and a plurality of print protocol processing units 2211, 2122 to 221 N are provided for each protocol in order to correspond to each protocol. Each print protocol processing unit includes spool processing units 2221 and 2222 to 222N that register print data in the HDD 1707 as a print job and control the print job. Since the spool processing units 2221, 2222 to 222 N are registered via the HDD I / F 2205 in the NCS when registering print data in the HDD 1707 as a print job, the spool processing units 2221, 2222 to 222 N are included in the NCS print protocol processing units 2211, 2122 to 221 N. Is provided.

また、NCS2203には、HDD2207へのアクセスの際のデータの送受信を行うHDD−I/F部2205と、メモリへのアクセスの際のデータの送受信を行うとともにスプール処理を実行する際にプリンタアプリやファックスアプリとのデータの送受信を行うメモリ転送I/F−スプール転送I/F部2204とネットワークカード(図示せず)に対するアクセスを制御するネットワークI/F部2206とを備えた構成となっている。   The NCS 2203 includes an HDD-I / F unit 2205 that transmits / receives data when accessing the HDD 2207, a printer application that transmits / receives data when accessing the memory, and executes spool processing. The configuration includes a memory transfer I / F-spool transfer I / F unit 2204 that transmits and receives data to and from the fax application, and a network I / F unit 2206 that controls access to a network card (not shown). .

このように構成された複合機に対して、ネットワーク上のPC(Personal Computer)から印刷要求が行われた場合、印刷要求を印刷対象の受信データをNCS2203のネットワークI/F部2206を経由して印刷プロトコルに対応した印刷プロトコル処理部2211,2212〜221Nが受信する。そして、印刷プロトコル処理部2211,2212〜221Nのそれぞれは、受信データを自身の通信プロトコルに従って解釈し、受信データからアプリケーションに固有の部分である印刷データを抽出し、抽出された印刷データをそれぞれスプール処理部2221、2222〜222Nによって印刷ジョブとしてHDD2207にHDD−I/F部を介して登録する。   When a print request is made from a PC (Personal Computer) on the network to the MFP configured as described above, the print request is received via the network I / F unit 2206 of the NCS 2203. Received by the print protocol processing units 2211, 2122 to 221 N corresponding to the print protocol. Each of the print protocol processing units 2211, 2122 to 221 N interprets the received data according to its own communication protocol, extracts print data that is a part specific to the application from the received data, and spools the extracted print data respectively. The processing units 2221, 2222 to 222 N register the print job in the HDD 2207 via the HDD-I / F unit.

そして、スプール処理部2221、2222〜222Nは、印刷ジョブを実行する場合には、HDD2205から印刷データを読み出し、プリンタアプリ2201に読み出した印刷データを受け渡し、プリンタアプリ2201によって印刷データがプリンタエンジンに依存する印刷形式に変換されてプリンタエンジンに送出される。   When executing the print job, the spool processing units 2221, 2222 to 222 N read the print data from the HDD 2205, pass the read print data to the printer application 2201, and the print data depends on the printer engine by the printer application 2201. Is converted to a print format and sent to the printer engine.

特開2002−84383号公報(図3)JP 2002-84383 A (FIG. 3)

しかしながら、このような従来の複合機では、各印刷プロトコル処理部2211,2212〜221Nごとにスプール処理を行うスプール処理部2221,2222〜222Nを備えているので、例えばHDD2207の他にSDカードなど他のハードウェア資源が追加された場合、全ての印刷プロトコル処理部2211,2212〜221Nの中のスプール処理部2221,2222〜222Nに対して新たなハードウェア資源に対する処理を変更する必要があり、新たなハードウェア資源の追加に伴うスプール機能に関するプログラム変更に多大な労力を要するという問題がある。   However, since such a conventional multi-function peripheral includes spool processing units 2221 and 2222 to 222N that perform spool processing for each print protocol processing unit 2211, 2122 to 221N, for example, an SD card or the like in addition to the HDD 2207 When the hardware resources are added, it is necessary to change the processing for the new hardware resources for the spool processing units 2221, 2222 to 222N among all the print protocol processing units 2211, 2122 to 221N. There is a problem that a great deal of labor is required to change the program related to the spool function due to the addition of various hardware resources.

また、スプール処理には、一つの印刷ジョブに対して単一の印刷データファイルを割り当てるほか、一つの印刷ジョブに対して印刷データを分割して、例えばページごとに複数の印刷データファイルを割り当てる場合もある。この場合、プリンタアプリなどのアプリケーションのジョブごとに分割するか否か、分割の単位などが異なる場合があり、全てのスプール処理部で個々に各アプリケーションごとに異なる処理を組み込むとなるとスプール機能に関するプログラム作成作業に多大な労力を要するという問題がある。   In addition to assigning a single print data file to one print job, spool data is divided into one print job, for example, when multiple print data files are assigned to each page. There is also. In this case, whether or not to divide for each job of an application such as a printer application, the division unit, etc. may be different, and if a different process is incorporated for each application individually in all spool processing units, a program related to the spool function There is a problem that much labor is required for the creation work.

この発明は上記に鑑みてなされたもので、ハードウェア等の変更等が生じた場合にも、印刷プロトコル処理ごとの修正インタフェース変更を不要とし、プログラム開発の容易化を図ることができるスプール処理方法、その方法をコンピュータに実行させるプログラム、画像形成装置および情報処理装置を得ることを目的とする。   The present invention has been made in view of the above, and even when a change in hardware or the like occurs, a spool processing method that eliminates the need to change the correction interface for each print protocol process and facilitates program development. An object of the present invention is to obtain a program, an image forming apparatus, and an information processing apparatus that cause a computer to execute the method.

上記目的を達成するため、請求項1にかかる発明は、 少なくとも画像形成アプリケーションを含む複数のアプリケーション間で共有メモリを介してデータの送受信を行ってスプール処理を行うスプール処理方法であって、ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成アプリケーションに固有の印刷データを抽出するプロトコル処理ステップと、前記プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成アプリケーションに受け渡すスプール読み出しステップとを含むことを特徴とするスプール処理方法に関するものである。   In order to achieve the above object, the invention according to claim 1 is a spool processing method for performing spool processing by transmitting and receiving data between a plurality of applications including at least an image forming application via a shared memory. A protocol processing step for interpreting received data to be printed received from a connected client terminal based on a predetermined communication protocol, and extracting print data specific to an image forming application for performing a printing process, and the protocol processing step. A spool reading step of transferring print data included in the print job stored in the storage unit to the image forming application via a shared memory by a functionally independent unit different from the executing unit. Regarding the spool processing method It is intended.

この請求項1にかかる発明によれば、プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成アプリケーションに受け渡すことで、スプール処理に関連するインタフェースの変更があった場合でも、一カ所のスプール処理部分のプログラム変更を行えばインタフェースの変更に対応することができ、複数の印刷プロトコルごとにスプール処理部分の変更を行う必要がない。また、ハードウェアに変更があった場合でもスプール処理を行う手段はプロトコル処理ステップを実行する手段とは異なる機能的に独立した手段であるため、プロトコル処理ステップを実行する手段の変更を行えば、スプール処理を実行する部分のプログラム変更を行う必要がない。このため、本発明によれば、効率的なプログラム開発を行うことができる。また、スプール処理を行う手段はプロトコル処理ステップを実行する手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。   According to the first aspect of the present invention, the print data contained in the print job stored in the storage means is transferred via the shared memory by the functionally independent means different from the means for executing the protocol processing step. By passing it to the image forming application, even if there is a change in the interface related to spool processing, it is possible to cope with the change in the interface by changing the program in one spool processing part. There is no need to change the spool processing part. In addition, even if there is a change in the hardware, the means for performing the spool processing is a functionally independent means different from the means for executing the protocol processing step, so if the means for executing the protocol processing step is changed, There is no need to change the program that executes spool processing. Therefore, according to the present invention, efficient program development can be performed. Further, since the means for performing the spool processing is a functionally independent means different from the means for executing the protocol processing step, data is transferred between the applications via the shared memory by issuing a system call provided by the OS. Therefore, print data can be transferred between applications that are not directly affected by hardware changes.

また、請求項2にかかる発明は、請求項1に記載の記載のスプール処理方法において、前記印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションに読み出し完了の旨を通知する通知ステップを更に含むことを特徴とする。   According to a second aspect of the present invention, in the spool processing method according to the first aspect, a notification step of notifying the image forming application of the completion of reading when the print data is read from the storage unit. Is further included.

この請求項2にかかる発明によれば、印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションに読み出し完了の旨を通知することで、画像形成アプリケーションによる印刷ジョブの実行の処理を円滑に行うことができる。   According to the second aspect of the present invention, when print data is read from the storage unit, the image forming application is notified of the completion of reading, thereby smoothly executing the print job execution process by the image forming application. Can be done.

また、請求項3にかかる発明は、請求項1または2に記載のスプール処理方法において、前記スプール読み出しステップは、単一の印刷ジョブとして登録された単一の印刷データを、前記プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、前記記憶手段から読み出すことを特徴とする。   According to a third aspect of the present invention, in the spool processing method according to the first or second aspect, the spool read-out step includes a single print data registered as a single print job, and the protocol processing step. Reading from the storage means is performed by a functionally independent means different from the executing means.

この請求項3にかかる発明によれば、単一の印刷ジョブとして登録された単一の印刷データを、プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、前記記憶手段から読み出すことで、スプール処理に関連するインタフェースの変更があった場合でも、単一の印刷ジョブに対する単一の印刷データに関するスプール処理部分の変更を複数のプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができる。   According to the third aspect of the present invention, single print data registered as a single print job is read from the storage means by means that is functionally independent from the means for executing the protocol processing step. Therefore, even if there is an interface change related to spool processing, it is not necessary to change the spool processing part for a single print data for a single print job for each protocol, and efficient program development It can be performed.

また、請求項4にかかる発明は、請求項1または2に記載のスプール処理方法において、前記スプール読み出しステップは、単一の印刷ジョブとして登録された複数に分割された印刷データを、前記プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、前記記憶手段から読み出すことを特徴とする。   According to a fourth aspect of the present invention, in the spool processing method according to the first or second aspect, in the spool reading step, a plurality of divided print data registered as a single print job is processed by the protocol processing. Reading from the storage means is performed by a functionally independent means different from the means for executing the steps.

この請求項4にかかる発明によれば、単一の印刷ジョブとして登録された複数に分割された印刷データを、プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、前記記憶手段から読み出すことで、スプール処理に関連するインタフェースの変更があった場合でも、単一の印刷ジョブに対する複数の印刷データに関するスプール処理部分の変更を複数のプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができる。   According to the fourth aspect of the present invention, the storage unit stores the plurality of divided print data registered as a single print job by a functionally independent means different from the means for executing the protocol processing step. By reading from, even if there is an interface change related to spool processing, there is no need to change the spool processing part for multiple print data for a single print job for multiple protocols, and an efficient program Development can be done.

また、請求項5にかかる発明は、請求項1〜4のいずれか一つに記載された方法をコンピュータに実行させるプログラムであるので、請求項1〜4のいずれか一つの動作をコンピュータによって実行することができる。   Moreover, since the invention concerning Claim 5 is a program which makes a computer perform the method as described in any one of Claims 1-4, any one operation | movement of Claims 1-4 is performed by a computer can do.

また、請求項6にかかる発明は、 少なくとも画像形成アプリケーションを含む複数のアプリケーション間で共有メモリを介してデータの送受信を行って、画像形成処理にかかるユーザサービスを提供する画像形成装置であって、ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成アプリケーションに固有の印刷データを抽出するプロトコル処理手段と、前記印刷データを印刷ジョブとして記憶する記憶手段と、前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成アプリケーションに受け渡すスプール読み出し手段と、を備えたことを特徴とする。   The invention according to claim 6 is an image forming apparatus that provides user service for image forming processing by transmitting and receiving data between a plurality of applications including at least an image forming application via a shared memory, Protocol processing means for interpreting received data to be printed received from a client terminal connected to a network based on a predetermined communication protocol and extracting print data specific to an image forming application for performing print processing; and the print data Unlike the protocol processing unit, the storage unit stores the print data included in the print job stored in the storage unit to the image forming application via a shared memory. And a spool reading means for delivery. To.

この請求項6にかかる発明によれば、プロトコル処理手段とは異なり機能的に独立して、記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して画像形成アプリケーションに受け渡すことで、スプール処理に関連するインタフェースの変更があった場合でも、一カ所のスプール書き込み手段のプログラム変更を行えばインタフェースの変更に対応することができ、複数の印刷プロトコルごとにスプール処理部分の変更を行う必要がない。また、ハードウェアに変更があった場合でもスプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、プロトコル処理手段の変更を行えば、スプール読み出し手段のプログラム変更を行う必要がない。このため、本発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができる。また、スプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。   According to the sixth aspect of the invention, unlike the protocol processing means, the print data included in the print job stored in the storage means is delivered to the image forming application via the shared memory, independently of the function. Therefore, even if there is a change in the interface related to spool processing, it is possible to cope with the change in the interface by changing the program of the spool writing means at one place. There is no need to do. Even if the hardware is changed, the spool reading means is a functionally independent means different from the protocol processing means. Therefore, if the protocol processing means is changed, it is necessary to change the program of the spool reading means. Absent. For this reason, according to the present invention, unlike the spool reading means and the protocol processing means, it is possible to perform efficient program development by making them functionally independent. Further, since the spool reading means is a functionally independent means different from the protocol processing means, data can be transferred between applications via a shared memory by issuing a system call provided by the OS. It is possible to pass print data between applications that are not directly affected by the change.

また、請求項7にかかる発明は、請求項6に記載の画像形成装置において、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーション層と、前記アプリケーション層と前記ハードウェア資源との間に介在し、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービス層と、をさらに備え、前記コントロールサービス層は、前記プロトコル処理手段を有し、前記アプリケーション層は、前記スプール読み出し手段と、前記画像形成アプリケーションとしてのプリンタアプリとを有したことを特徴とする。   According to a seventh aspect of the present invention, in the image forming apparatus according to the sixth aspect, hardware resources used in the image forming process, and an application layer that performs a process specific to the user service related to the image forming process, and The acquisition request, management, execution control, and image formation of the hardware resource that are commonly required by at least two applications when providing a user service that is interposed between the application layer and the hardware resource A control service layer that performs processing, wherein the control service layer includes the protocol processing unit, and the application layer includes the spool reading unit and a printer application as the image forming application. It is characterized by.

この請求項7にかかる発明によれば、コントロールサービス層にプロトコル処理手段を有し、アプリケーション層にスプール読み出し手段とを有したことで、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプール読み出し手段の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層のプロトコル処理手段をプロトコルごとに修正する必要がなくなる。また、ハードウェアの変更があった場合には、コントロール層のプロトコル処理手段を変更すれば、アプリケーション層のスプール読み出し手段のプログラム変更は必要がない。このように本発明によれば、ハードウェア等の変更の影響を受けない部分であるスプール読み出し手段をアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。   According to the seventh aspect of the present invention, the protocol processing means is provided in the control service layer and the spool reading means is provided in the application layer, so that even when there is a change in spool processing that does not affect the hardware. If the spool reading means of the application layer that does not affect the hardware is corrected, it is not necessary to correct the protocol processing means of the control service layer that affects the hardware for each protocol. Further, when there is a change in hardware, if the protocol processing means in the control layer is changed, there is no need to change the program in the spool reading means in the application layer. As described above, according to the present invention, the spool reading means that is not affected by the change of hardware or the like is separated into the application layer, and the protocol processing means that is the part affected by the change of hardware or the like is separated into the control layer. With this configuration, efficient program development can be performed.

また、請求項8にかかる発明は、請求項7に記載の画像形成装置において、前記コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有するネットワークコントロールサービスを備え、前記アプリケーション層は、前記スプール読み出し手段を有するスプールアプリを更に備えたことを特徴とする。   According to an eighth aspect of the present invention, in the image forming apparatus according to the seventh aspect, the control service layer includes a network control service that controls the network and includes the protocol processing unit, and the application layer includes the A spool application having a spool reading unit is further provided.

この請求項8にかかる発明によれば、コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有するネットワークコントロールサービスを備え、アプリケーション層は、スプール読み出し手段と前記を有するスプールアプリを備えたことで、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリの修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層のプロトコル処理手段をプロトコルごとに修正する必要がなくなる。また、ハードウェアの変更があった場合には、コントロール層のプロトコル処理手段を変更すれば、アプリケーション層のスプールアプリのプログラム変更は必要がない。このように本発明によれば、ハードウェア等の変更の影響を受けない部分であるスプールアプリをアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。   According to the eighth aspect of the present invention, the control service layer includes a network control service that controls the network and includes the protocol processing unit, and the application layer includes a spool reading unit and a spool application including the above. Even if there is a change in the spool processing that does not affect the hardware, if the application layer spool application that does not affect the hardware is modified, the protocol processing means of the control service layer that affects the hardware can be changed for each protocol. There is no need to correct it. Further, when there is a change in hardware, it is not necessary to change the spool application of the application layer by changing the protocol processing means of the control layer. As described above, according to the present invention, the spool application that is not affected by the change of hardware or the like is separated into the application layer, and the protocol processing means that is the part affected by the change of hardware or the like is separated into the control layer. With the configuration, efficient program development can be performed.

また、請求項9にかかる発明は、請求項6〜8のいずれか一つに記載の画像形成装置において、前記スプール読み出し手段は、前記印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションまたは前記プリンタアプリに読み出し完了の旨を通知することを特徴とする。   The invention according to claim 9 is the image forming apparatus according to any one of claims 6 to 8, wherein the spool reading unit reads the print data from the storage unit when the print data is read from the storage unit. The application or the printer application is notified of the completion of reading.

この請求項9にかかる発明によれば、印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションまたは前記プリンタアプリに読み出し完了の旨を通知することで、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができる。   According to the ninth aspect of the present invention, when print data is read from the storage means, the image forming application or the printer application notifies the image forming application or the printer application that the reading is completed, so that printing by the image forming application or the printer application is performed. Job execution processing can be performed smoothly.

また、請求項10にかかる発明は、請求項6〜9のいずれか一つに記載の画像形成装置において、前記スプール読み出し手段は、単一の印刷ジョブとして登録された単一の印刷データを、前記記憶手段から読み出すことを特徴とする。   According to a tenth aspect of the present invention, in the image forming apparatus according to any one of the sixth to ninth aspects, the spool reading unit stores a single print data registered as a single print job. It reads from the said memory | storage means, It is characterized by the above-mentioned.

この請求項10にかかる発明によれば、スプール読み出し手段によって単一の印刷ジョブとして登録された単一の印刷データを記憶手段から読み出すことで、スプール処理に関連するインタフェースの変更があった場合でも、単一の印刷ジョブに対する単一の印刷データに関するスプール処理部分の変更を複数のプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができる。   According to the tenth aspect of the present invention, even when there is a change in the interface related to the spool processing by reading out the single print data registered as a single print job from the storage means by the spool reading means. Therefore, it is not necessary to change the spool processing portion relating to a single print data for a single print job for each of a plurality of protocols, and an efficient program development can be performed.

また、請求項11にかかる発明は、少なくとも画像形成アプリケーションを含む複数のアプリケーション間で共有メモリを介してデータの送受信を行って、画像形成処理にかかるユーザサービスを提供する画像形成装置であって、ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成アプリケーションに固有の印刷データを抽出するプロトコル処理手段と、前記印刷データからスプールの処理内容を定めたスプール設定情報に基づいて分割された一または複数の印刷データを、単一の印刷ジョブとして記憶する記憶手段と、前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された前記一または複数の印刷データを、共有メモリを介して前記画像形成アプリケーションに共有メモリを介して受け渡すスプール読み出し手段と、を備えたことを特徴とする。   According to an eleventh aspect of the present invention, there is provided an image forming apparatus for transmitting and receiving data between a plurality of applications including at least an image forming application via a shared memory to provide a user service for image forming processing. Protocol processing means for interpreting received data to be printed received from a client terminal connected to a network based on a predetermined communication protocol and extracting print data specific to an image forming application for performing print processing; and the print data Unlike the protocol processing means, the storage means for storing one or a plurality of print data divided based on spool setting information that defines the spool processing content from the protocol processing means The one or more print data stored in the storage means are shared. Characterized by comprising a spool reading means for passing through the shared memory to the image forming application via the memory.

この請求項11にかかる発明によれば、プロトコル処理手段とは異なり機能的に独立して、記憶手段に記憶された、印刷データからスプールの処理内容を定めたスプール設定情報に基づいて分割された一または複数の印刷データを、共有メモリを介して画像形成アプリケーションに共有メモリを介して受け渡すことで、スプール処理に関連するインタフェースの変更があった場合でも、一カ所のスプール書き込み手段のプログラム変更を行えばインタフェースの変更に対応することができ、複数の印刷プロトコルごとにスプール処理部分の変更を行う必要がない。また、ハードウェアに変更があった場合でもスプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、プロトコル処理手段の変更を行えば、スプール読み出し手段のプログラム変更を行う必要がない。このため、本発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができる。また、スプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。   According to the eleventh aspect of the invention, unlike the protocol processing means, it is functionally independent and divided based on the spool setting information that defines the spool processing contents from the print data stored in the storage means. By transferring one or more print data to the image forming application via the shared memory via the shared memory, even if there is a change in the interface related to spool processing, the program change of one spool writing means If this is done, it is possible to cope with changes in the interface, and there is no need to change the spool processing portion for each of a plurality of printing protocols. Even if the hardware is changed, the spool reading means is a functionally independent means different from the protocol processing means. Therefore, if the protocol processing means is changed, it is necessary to change the program of the spool reading means. Absent. For this reason, according to the present invention, unlike the spool reading means and the protocol processing means, it is possible to perform efficient program development by making them functionally independent. Further, since the spool reading means is a functionally independent means different from the protocol processing means, data can be transferred between applications via a shared memory by issuing a system call provided by the OS. It is possible to pass print data between applications that are not directly affected by the change.

また、請求項12にかかる発明は、請求項11に記載の画像形成装置において、前記記憶手段は、前記印刷データから前記画像形成アプリケーションごとに前記印刷データの分割処理情報を定めた前記スプール設定情報に基づいて分割された一または複数の印刷データを、単一の印刷ジョブとして記憶することを特徴とする。   According to a twelfth aspect of the present invention, in the image forming apparatus according to the eleventh aspect, the storage unit sets the spool setting information that defines the print data division processing information for each of the image forming applications from the print data. One or a plurality of print data divided based on the above is stored as a single print job.

この請求項12にかかる発明によれば、記憶手段が、印刷データから前記画像形成アプリケーションごとに印刷データの分割処理情報を定めたスプール設定情報に基づいて分割された一または複数の印刷データを、単一の印刷ジョブとして記憶することで、複数の印刷データを単一の印刷ジョブとして扱うスプール処理のプログラム開発をプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができる。   According to the twelfth aspect of the present invention, the storage unit stores one or a plurality of print data divided from print data based on spool setting information defining print data division processing information for each image forming application. By storing as a single print job, it is not necessary to develop a spool processing program for handling a plurality of print data as a single print job for each protocol, and an efficient program development can be performed.

また、請求項13にかかる発明は、請求項12に記載の画像形成装置において、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーション層と、前記アプリケーション層と前記ハードウェア資源との間に介在し、ユーザサービスを提供する際に、アプリケーション層の少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービス層と、をさらに備え、前記コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有し、前記アプリケーション層は、前記スプール読み出し手段とを有することを特徴とする。   According to a thirteenth aspect of the present invention, in the image forming apparatus according to the twelfth aspect, hardware resources used in the image forming process, and an application layer that performs a process specific to the user service related to the image forming process, The hardware resource acquisition request, management, execution control, and image that are commonly required by at least two of the application layers when providing a user service that is interposed between the application layer and the hardware resources. A control service layer that performs a forming process, wherein the control service layer controls the network and includes the protocol processing unit, and the application layer includes the spool reading unit.

この請求項13にかかる発明によれば、コントロールサービス層にプロトコル処理手段を有し、アプリケーション層にスプール読み出し手段を有したことで、スプール処理に関連する記憶手段などのハードウェアやハードウェアとのインタフェースに変更があった場合でも、ハードウェア等の変更の影響を受けない部分であるスプール読み出し手段をアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプール読み出し手段の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層のプロトコル処理手段をプロトコルごとに修正する必要がなくなる。また、ハードウェアの変更があった場合には、コントロール層のプロトコル処理手段を変更すれば、アプリケーション層のスプール読み出し手段のプログラム変更は必要がない。このように本発明によれば、ハードウェア等の変更の影響を受けない部分であるスプール読み出し手段をアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。   According to the thirteenth aspect of the present invention, since the control service layer has the protocol processing means and the application layer has the spool reading means, the hardware and hardware such as the storage means related to the spool processing can be used. Even if there is a change in the interface, the spool reading means that is not affected by hardware changes is separated into the application layer, and the protocol processing means that is affected by hardware changes is separated into the control layer. Therefore, if the spool reading means of the application layer that does not affect the hardware is modified even if there is a change in the spool processing that does not affect the hardware, the protocol of the control service layer that affects the hardware Modify processing methods for each protocol It needs to be eliminated. Further, when there is a change in hardware, if the protocol processing means in the control layer is changed, there is no need to change the program in the spool reading means in the application layer. As described above, according to the present invention, the spool reading means that is not affected by changes in hardware and the like is separated into the application layer, and the protocol processing means that is affected by changes in hardware and the like is separated into the control layer. With this configuration, efficient program development can be performed.

また、請求項14にかかる発明は、請求項13に記載の画像形成装置において、前記コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有するネットワークコントロールサービスを備え、前記アプリケーション層は、前記スプール読み出し手段とを有するスプールアプリと、前記画像形成アプリケーションとしてのプリンタアプリとを備えたことを特徴とする。   According to a fourteenth aspect of the present invention, in the image forming apparatus according to the thirteenth aspect, the control service layer includes a network control service that controls the network and includes the protocol processing unit, and the application layer includes the A spool application having a spool reading unit and a printer application as the image forming application are provided.

この請求項14にかかる発明によれば、コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有するネットワークコントロールサービスを備え、アプリケーションは、スプール読み出し手段を有するスプールアプリを備えたことで、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリの修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層のプロトコル処理手段をプロトコルごとに修正する必要がなくなる。また、ハードウェアの変更があった場合には、コントロール層のプロトコル処理手段を変更すれば、アプリケーション層のスプールアプリのプログラム変更は必要がない。このように本発明によれば、ハードウェア等の変更の影響を受けない部分であるスプールアプリをアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。   According to the fourteenth aspect of the present invention, the control service layer includes a network control service that controls the network and includes the protocol processing unit, and the application includes a spool application that includes a spool reading unit. Even if there is a change in the spool processing that does not affect the hardware, if you modify the spool application of the application layer that does not affect the hardware, the protocol processing means of the control service layer that affects the hardware is corrected for each protocol There is no need. Further, when there is a change in hardware, it is not necessary to change the spool application of the application layer by changing the protocol processing means of the control layer. As described above, according to the present invention, the spool application that is not affected by the change of hardware or the like is separated into the application layer, and the protocol processing means that is the part affected by the change of hardware or the like is separated into the control layer. With the configuration, efficient program development can be performed.

また、請求項15にかかる発明は、請求項11〜14のいずれか一つに記載の画像形成装置において、前記スプール読み出し手段は、前記分割された一または複数の印刷データを印刷ジョブとして前記記憶手段から読み出した場合に、前記画像形成アプリケーションまたは前記プリンタアプリに読み出し完了の旨を通知することを特徴とする。   According to a fifteenth aspect of the present invention, in the image forming apparatus according to any one of the eleventh to fourteenth aspects, the spool reading unit stores the one or a plurality of divided print data as a print job. When reading from the means, the image forming application or the printer application is notified of the completion of reading.

この請求項15にかかる発明によれば、分割された一または複数の印刷データを記憶手段から読み出した場合に、画像形成アプリケーションまたはプリンタアプリに読み出し完了の旨を通知することで、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができる。   According to the fifteenth aspect of the present invention, when one or a plurality of divided print data is read from the storage unit, the image forming application or the printer application is notified of the completion of reading, whereby the image forming application or the print application is notified. The execution process of the print job by the printer application can be smoothly performed.

また、請求項16にかかる発明は、ネットワークに接続されたクライアント端末からの印刷要求を受けてネットワークに接続されたプリンタ装置に対する印刷処理を行う情報処理装置であって、ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成処理手段に固有の印刷データを抽出するプロトコル処理手段と、前記印刷データを印刷ジョブとして記憶する記憶手段と、前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成処理手段に受け渡すスプール読み出し手段と、を備えたことを特徴とする。   According to a sixteenth aspect of the present invention, there is provided an information processing apparatus that receives a print request from a client terminal connected to a network and performs a printing process on a printer apparatus connected to the network, the client terminal connected to the network The received data to be printed received from the printer is interpreted based on a predetermined communication protocol, the protocol processing means for extracting print data specific to the image forming processing means for performing the printing process, and the print data is stored as a print job. A spool reading means for delivering print data included in a print job stored in the storage means to the image forming processing means via a shared memory, which is functionally independent from the storage means and the protocol processing means. And.

この請求項16にかかる発明によれば、プロトコル処理手段とは異なり機能的に独立して、記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して画像形成処理手段に受け渡すことで、スプール処理に関連するインタフェースの変更があった場合でも、一カ所のスプール書き込み手段のプログラム変更を行えばインタフェースの変更に対応することができ、複数の印刷プロトコルごとにスプール処理部分の変更を行う必要がない。また、ハードウェアに変更があった場合でもスプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、プロトコル処理手段の変更を行えば、スプール読み出し手段のプログラム変更を行う必要がない。このため、本発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができる。また、スプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。   According to the sixteenth aspect of the invention, unlike the protocol processing means, the print data included in the print job stored in the storage means is received by the image forming processing means via the shared memory, independently of the function. By passing, even if there is a change in the interface related to spool processing, it is possible to cope with the change in the interface by changing the program of the spool writing means at one place. There is no need to make changes. Even if the hardware is changed, the spool reading means is a functionally independent means different from the protocol processing means. Therefore, if the protocol processing means is changed, it is necessary to change the program of the spool reading means. Absent. For this reason, according to the present invention, unlike the spool reading means and the protocol processing means, it is possible to perform efficient program development by making them functionally independent. Further, since the spool reading means is a functionally independent means different from the protocol processing means, data can be transferred between applications via a shared memory by issuing a system call provided by the OS. It is possible to pass print data between applications that are not directly affected by the change.

また、請求項17にかかる発明は、請求項16に記載の情報処理装置において、前記スプール読み出し手段は、前記印刷データを前記記憶手段から読み出した後に、前記画像形成処理手段に読み出し完了の旨を通知することを特徴とする。   According to a seventeenth aspect of the present invention, in the information processing apparatus according to the sixteenth aspect, after the spool reading unit reads the print data from the storage unit, the spool forming unit notifies the image forming processing unit that the reading is completed. It is characterized by notifying.

この請求項17にかかる発明によれば、印刷データを前記記憶手段から読み出した場合に、前記画像形成処理手段に読み出し完了の旨を通知することで、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができる。   According to the seventeenth aspect of the present invention, when print data is read from the storage unit, a print job is executed by the image forming application or the printer application by notifying the image forming processing unit of the completion of reading. Can be carried out smoothly.

また、請求項18にかかる発明は、請求項16または17に記載の情報処理装置において、前記スプール読み出し手段は、単一の印刷ジョブとして登録された単一の印刷データを、前記記憶手段から読み出すことを特徴とする。   The invention according to claim 18 is the information processing apparatus according to claim 16 or 17, wherein the spool reading means reads a single print data registered as a single print job from the storage means. It is characterized by that.

この請求項18にかかる発明によれば、スプール読み出し手段によって単一の印刷ジョブとして登録された単一の印刷データを記憶手段から読み出すことで、スプール処理に関連するインタフェースの変更があった場合でも、単一の印刷ジョブに対する単一の印刷データに関するスプール処理部分の変更を複数のプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができる。   According to the eighteenth aspect of the present invention, even when there is a change in the interface related to the spool processing by reading out the single print data registered as a single print job from the storage means by the spool reading means. Therefore, it is not necessary to change the spool processing portion relating to a single print data for a single print job for each of a plurality of protocols, and an efficient program development can be performed.

この請求項1にかかる発明によれば、効率的なプログラム開発を行うことができるという効果を奏する。また、本発明によれば、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となるという効果を奏する。   According to the first aspect of the invention, there is an effect that efficient program development can be performed. In addition, according to the present invention, data can be transferred between applications via a shared memory by issuing a system call provided by the OS, and print data can be transferred between applications that are not directly affected by hardware changes. The effect that it becomes possible to deliver is produced.

また、請求項2にかかる発明によれば、印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションに読み出し完了の旨を通知することで、画像形成アプリケーションによる印刷ジョブの実行の処理を円滑に行うことができるという効果を奏する。   According to the second aspect of the present invention, when print data is read from the storage unit, the image forming application is notified of the completion of reading, thereby executing a print job execution process by the image forming application. There is an effect that it can be performed smoothly.

また、請求項3にかかる発明によれば、スプール処理に関連するインタフェースの変更があった場合でも、単一の印刷ジョブに対する単一の印刷データに関するスプール処理部分の変更を複数のプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができるという効果を奏する。   According to the invention of claim 3, even when there is a change in the interface related to the spool processing, the spool processing portion related to a single print data for a single print job is changed for each of a plurality of protocols. This eliminates the need for efficient program development.

また、請求項4にかかる発明によれば、スプール処理に関連するインタフェースの変更があった場合でも、単一の印刷ジョブに対する複数の印刷データに関するスプール処理部分の変更を複数のプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができるという効果を奏する。   According to the fourth aspect of the present invention, it is necessary to change the spool processing portion for a plurality of print data for a single print job for each of a plurality of protocols even when the interface related to the spool processing is changed. There is no effect, and there is an effect that efficient program development can be performed.

また、請求項5にかかる発明によれば、請求項1〜4のいずれか一つの動作をコンピュータによって実行することができるという効果を奏する。   Moreover, according to the invention concerning Claim 5, there exists an effect that the operation | movement of any one of Claims 1-4 can be performed by a computer.

また、この請求項6にかかる発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができるという効果を奏する。また、本発明によれば、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となるという効果を奏する。   Further, according to the sixth aspect of the present invention, unlike the spool reading means and the protocol processing means, there is an effect that efficient program development can be performed by making them functionally independent. In addition, according to the present invention, data can be transferred between applications via a shared memory by issuing a system call provided by the OS, and print data can be transferred between applications that are not directly affected by hardware changes. The effect that it becomes possible to deliver is produced.

また、請求項7にかかる発明によれば、ハードウェア等の変更の影響を受けない部分であるスプール読み出し手段をアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができるという効果を奏する。   According to the seventh aspect of the present invention, the spool reading means that is not affected by changes in hardware or the like is controlled in the application layer, and the protocol processing means that is affected by changes in hardware or the like is controlled. By having a configuration separated into layers, an effect is achieved that efficient program development can be performed.

また、この請求項8にかかる発明によれば、ハードウェア等の変更の影響を受けない部分でるスプールアプリをアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができるという効果を奏する。   According to the invention of claim 8, the spool application that is not affected by the change of hardware or the like is used as the application layer, and the protocol processing means that is the part affected by the change of hardware or the like as the control layer. By having the configuration separated into two, there is an effect that efficient program development can be performed.

また、請求項9にかかる発明によれば、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができるという効果を奏する。   According to the ninth aspect of the invention, it is possible to smoothly execute a print job execution process by the image forming application or the printer application.

また、請求項10にかかる発明によれば、スプール処理に関連するインタフェースの変更があった場合でも、単一の印刷ジョブに対する単一の印刷データに関するスプール処理部分の変更を複数のプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができるという効果を奏する。   According to the tenth aspect of the present invention, even when there is a change in the interface related to the spool processing, the spool processing portion related to a single print data for a single print job is changed for each of a plurality of protocols. This eliminates the need for efficient program development.

また、請求項11にかかる発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができるという効果を奏する。また、本発明によれば、スプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となるという効果を奏する。   Further, according to the invention of claim 11, unlike the spool reading means and the protocol processing means, there is an effect that efficient program development can be performed by making them functionally independent. Further, according to the present invention, since the spool reading means is a functionally independent means different from the protocol processing means, data is transferred between applications through the shared memory by issuing a system call provided by the OS. Therefore, print data can be transferred between applications that are not directly affected by hardware changes.

また、請求項12にかかる発明によれば、複数の印刷データを単一の印刷ジョブとして扱うスプール処理のプログラム開発をプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができるという効果を奏する。   According to the twelfth aspect of the present invention, there is no need to develop a spool processing program for handling a plurality of print data as a single print job for each protocol, and an efficient program development can be performed. Play.

また、請求項13にかかる発明によれば、ハードウェア等の変更の影響を受けない部分であるスプール読み出し手段をアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができるという効果を奏する。   According to the thirteenth aspect of the present invention, the spool reading means that is not affected by changes in hardware or the like is controlled in the application layer, and the protocol processing means that is affected by changes in hardware or the like is controlled. By having a configuration separated into layers, an effect is achieved that efficient program development can be performed.

また、請求項14にかかる発明によれば、ハードウェア等の変更の影響を受けない部分であるスプールアプリをアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができるという効果を奏する。   According to the fourteenth aspect of the present invention, the spool application that is not affected by the change of hardware or the like is used as the application layer, and the protocol processing means that is the part affected by the change of hardware or the like is used as the control layer. By having the configuration separated into two, there is an effect that efficient program development can be performed.

また、請求項15にかかる発明によれば、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができるという効果を奏する。   Further, according to the fifteenth aspect of the present invention, there is an effect that it is possible to smoothly execute a print job process by the image forming application or the printer application.

また、請求項16にかかる発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができるという効果を奏する。また、本発明によれば、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となるという効果を奏する。   According to the sixteenth aspect of the invention, unlike the spool reading means and the protocol processing means, there is an effect that efficient program development can be performed by making them functionally independent. In addition, according to the present invention, data can be transferred between applications via a shared memory by issuing a system call provided by the OS, and print data can be transferred between applications that are not directly affected by hardware changes. The effect that it becomes possible to deliver is produced.

また、請求項17にかかる発明によれば、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができるという効果を奏する。   According to the seventeenth aspect of the present invention, there is an effect that it is possible to smoothly execute the print job execution by the image forming application or the printer application.

また、請求項18にかかる発明によれば、スプール処理に関連するインタフェースの変更があった場合でも、単一の印刷ジョブに対する単一の印刷データに関するスプール処理部分の変更を複数のプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができるという効果を奏する。   According to the eighteenth aspect of the present invention, even when there is a change in the interface related to the spool processing, the spool processing portion related to a single print data for a single print job is changed for each of a plurality of protocols. This eliminates the need for efficient program development.

以下に添付図面を参照して、この発明にかかるスプール処理方法、その方法をコンピュータに実行させるプログラム、画像形成装置および情報処理装置の好適な実施の形態を詳細に説明する。   Exemplary embodiments of a spool processing method, a program for causing a computer to execute the method, an image forming apparatus, and an information processing apparatus according to the present invention will be explained below in detail with reference to the accompanying drawings.

(実施の形態1)
実施の形態1は、本発明の画像形成装置を、複合機に適用したものである。なお、本発明の画像形成装置を複合機の他、プリンタ装置、複写機、ファクシミリ装置にも適用することができる。
(Embodiment 1)
In the first embodiment, the image forming apparatus of the present invention is applied to a multifunction machine. Note that the image forming apparatus of the present invention can be applied to a printer, a copying machine, and a facsimile machine in addition to a multifunction machine.

図1は、実施の形態1の複合機の主要構成およびネットワーク構成を示すブロック図である。図1に示すように、本実施の形態では、複合機100と、PC(personal Computer)190とがEthernet(R)などのネットワーク180で接続されている。   FIG. 1 is a block diagram illustrating a main configuration and a network configuration of the multifunction peripheral according to the first embodiment. As shown in FIG. 1, in the present embodiment, the multifunction peripheral 100 and a PC (Personal Computer) 190 are connected via a network 180 such as Ethernet (R).

PC190は通常のコンピュータであり、本発明におけるクライアント端末を構成する。すなわち、本実施の形態の複合機100は、PC190をクライアントとしたサーバとして動作するようになっている。   The PC 190 is a normal computer and constitutes a client terminal in the present invention. That is, the MFP 100 according to the present embodiment operates as a server using the PC 190 as a client.

本実施の形態の複合機100は、アプリケーション層にスプールアプリ110と、プリンタアプリ−A120aとプリンタアプリ−B120bを主に搭載している。また、各アプリケーションに対して共通の処理を行うコントロールサービス層には、ネットワークコントロールサービス(NCS)130を主に搭載している。   The MFP 100 according to the present embodiment mainly includes a spool application 110, a printer application-A 120a, and a printer application-B 120b in the application layer. In addition, a network control service (NCS) 130 is mainly installed in a control service layer that performs common processing for each application.

この他、複合機100には、汎用OS(Operating System)であるUNIX(登録商標)などのOS140、ハードウェア資源としてハードディスク装置(HDD)150、RAM(Ramdom Accsess Memory)160、Ethernet(R)ケーブルを接続するネットワークカード170が設けられている。   In addition, the MFP 100 includes an OS 140 such as UNIX (registered trademark), which is a general-purpose OS (Operating System), a hard disk device (HDD) 150 as a hardware resource, a RAM (Random Access Memory) 160, and an Ethernet (R) cable. Is provided.

スプールアプリ110は、従来の複合機100においてNCS139の印刷プロトコル処理部内部に設けられていたスプール機能を実行するスプール処理部を通信プロトコルに共通の処理部としてアプリケーション層で実現したものである。このスプールアプリ110は、スプール書き込み処理部111とスプール読み出し処理部112とスプール転送I/F部115とメモリ転送I/F部114とHDD−I/F部113と、を主に備えている。ここで、スプール読み出し処理部112は本発明におけるスプール読み出し手段を構成する。   The spool application 110 is realized in the application layer by using a spool processing unit for executing a spool function provided in the print protocol processing unit of the NCS 139 in the conventional multifunction peripheral 100 as a processing unit common to the communication protocol. The spool application 110 mainly includes a spool write processing unit 111, a spool read processing unit 112, a spool transfer I / F unit 115, a memory transfer I / F unit 114, and an HDD-I / F unit 113. Here, the spool reading processing unit 112 constitutes a spool reading means in the present invention.

スプール書き込み処理部111は、PC190から印刷要求があった場合に、印刷ジョブを生成して、印刷対象の印刷データを印刷プロトコル処理部131〜13Nから共有メモリ161を介してHDD150に格納するものである。   When there is a print request from the PC 190, the spool writing processing unit 111 generates a print job and stores print data to be printed from the print protocol processing units 131 to 13N into the HDD 150 via the shared memory 161. is there.

ここで、印刷ジョブとは、印刷に関してOSに対して実行させる処理の単位をいい、一つの印刷ジョブは、ジョブ情報ファイルとジョブデータファイルをHDD150に保存することによって登録される。   Here, the print job refers to a unit of processing to be executed by the OS regarding printing, and one print job is registered by storing a job information file and a job data file in the HDD 150.

ジョブ情報ファイルは、印刷ジョブに関する情報を記録したデータファイルであり、具体的には印刷要求を行ったPC190の識別名称であるホスト名およびIPアドレス、印刷要求を行ったユーザ名、ジョブ名、印刷対象のドキュメント名、トレイ指定などの印刷設定などから構成される。ジョブデータファイルは、印刷要求の対象となる印刷データのファイルである。このジョブデータファイルは、単一の印刷ジョブに対して単一のジョブデータファイルとする他、単一の印刷ジョブに対して複数のジョブデータファイルを含めるように構成することができる。なお、本実施の形態では、単一の印刷ジョブに対して単一のジョブデータファイルを含めている。   The job information file is a data file in which information related to a print job is recorded. Specifically, the host name and IP address that are identification names of the PC 190 that has made a print request, the user name that has made the print request, the job name, and the print Consists of print settings such as the target document name and tray designation. The job data file is a print data file that is a target of a print request. The job data file can be configured to include a plurality of job data files for a single print job in addition to a single job data file for a single print job. In the present embodiment, a single job data file is included for a single print job.

スプール読み出し部112は、印刷ジョブの実行時に、HDD150に格納されている印刷ジョブに対応する印刷データを読み出して、共有メモリを介してプリンタアプリ−A120a、プリンタアプリ−B120bに受け渡すものである。   The spool reading unit 112 reads out print data corresponding to a print job stored in the HDD 150 when the print job is executed, and passes the print data to the printer application-A 120a and the printer application-B 120b via the shared memory.

スプール転送I/F部115は、スプール処理の際のデータの転送を制御するものである。メモリ転送I/F部114は、RAM160等のメモリ、あるいはRAM160に確保された共有メモリ領域161へのアクセスを制御するものである。HDD−I/F部113は、HDD150に対するアクセスを制御するものである。   The spool transfer I / F unit 115 controls data transfer during spool processing. The memory transfer I / F unit 114 controls access to a memory such as the RAM 160 or the shared memory area 161 secured in the RAM 160. The HDD-I / F unit 113 controls access to the HDD 150.

本実施の形態では、記憶手段のインタフェースとしてメモリ転送I/F部114とHDD−I/F部113しかないが、例えばSDカードのような他の記憶手段が搭載された場合には、SDカードに対するアクセスを制御するSDカードI/F部を設ける。このようにハードウェアに固有の処理を行う部分がアプリケーション層のスプールアプリ110に設けられているため、HDD150などの記憶手段の変更、あるいは新たなハードウェアの追加などによりインタフェースに変更がある場合には、アプリケーション層のスプールアプリ110を変更すれば、NCS130の印刷プロトコル処理部131〜13Nのそれぞれに修正を加える必要がなくなり、プログラム開発の効率化を図ることができる。   In this embodiment, only the memory transfer I / F unit 114 and the HDD-I / F unit 113 are interfaces as storage means. However, when other storage means such as an SD card is mounted, the SD card An SD card I / F unit for controlling access to the card is provided. As described above, since a part that performs processing unique to hardware is provided in the spool application 110 in the application layer, when the interface is changed due to a change in storage means such as the HDD 150 or addition of new hardware. If the spool application 110 in the application layer is changed, it is not necessary to modify each of the print protocol processing units 131 to 13N of the NCS 130, and the efficiency of program development can be improved.

NCS130は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。   The NCS 130 provides a service that can be commonly used for applications that require network I / O, and distributes data received by each protocol from the network side to each application, or transfers data from the application to the network side. Intermediary when sending.

NCS130は、複数の印刷プロトコル処理部131〜13Nと、機器管理部132と、機器管理プロトコル処理部134と、ネットワーク管理部133と、アプリ管理部135と、ネットワークI/F部137を主に備えた構成となっている。ここで、印刷プロトコル処理部131〜13Nは本発明におけるプロトコル処理手段を構成する。   The NCS 130 mainly includes a plurality of print protocol processing units 131 to 13N, a device management unit 132, a device management protocol processing unit 134, a network management unit 133, an application management unit 135, and a network I / F unit 137. It becomes the composition. Here, the print protocol processing units 131 to 13N constitute a protocol processing means in the present invention.

複数の印刷プロトコル処理部131〜13Nの各々は、各種通信プロトコルに従った処理を行うものであり、各プロトコルに対応して存在する。具体的には、印刷プロトコル処理部131〜13Nは、ネットワークI/F部137を介してネットワーク上180のPC(Personal Computer)190等からデータを受信し、論理セッションの確立および開放を行うとともに、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データの解釈後、データからアプリケーション固有のデータ部分を抽出して、該当するアプリケーションにデータを受け渡す。このような通信プロトコルには、FTP(File Transfer Protocol)、HTTP(Hypertext Transfer Protocol)、NPR(Network Printer)、IIP(Internet Printing Protocol:インターネット印刷プロトコル)、Netware(登録商標)などのプロトコルがあり、各プロトコルに対応して印刷プロトコル処理部131〜13Nが設けられている。   Each of the plurality of printing protocol processing units 131 to 13N performs processing according to various communication protocols, and exists corresponding to each protocol. Specifically, the print protocol processing units 131 to 13N receive data from a PC (Personal Computer) 190 on the network 180 via the network I / F unit 137, and establish and release a logical session. Interpret the data sent over the established session according to the communication protocol. Then, after interpreting the data, a data portion specific to the application is extracted from the data, and the data is transferred to the corresponding application. Such communication protocols include FTP (File Transfer Protocol), HTTP (Hypertext Transfer Protocol), NPR (Network Printer), IIP (Internet Printing Protocol: Internet Printing Protocol), and Network (registered trademark). Corresponding to each protocol, print protocol processing units 131 to 13N are provided.

機器管理プロトコル処理部134は、ネットワーク管理のプロトコルに従った処理を行うものであり、このようなプロトコルとしては例えばSNMP(Simple Network Management Protocol)等がある。機器管理部132は、機器管理プロトコル処理部134を利用して複合機のネットワーク管理を行うものである。   The device management protocol processing unit 134 performs processing according to a network management protocol. Examples of such a protocol include SNMP (Simple Network Management Protocol). The device management unit 132 performs network management of the multifunction peripheral using the device management protocol processing unit 134.

ネットワーク管理部133は、TCP/IPなどのプロトコルに従ってネットワークに関する処理を行うものである。   The network management unit 133 performs processing related to the network according to a protocol such as TCP / IP.

アプリ管理部135は、アプリケーション層で動作するプリンタアプリ−A120a,プリンタアプリ−B120b等のアプリケーションを管理するものであり、各アプリケーションの識別データであるアプリIDを管理する。   The application management unit 135 manages applications such as the printer application-A 120a and the printer application-B 120b that operate in the application layer, and manages an application ID that is identification data of each application.

メモリ転送I/F部139は、RAM等のメモリ、あるいは共有メモリへのアクセスを制御するものである。ネットワークI/F部137は、ネットワークカード170に対するアクセスを制御するものである。   The memory transfer I / F unit 139 controls access to a memory such as a RAM or a shared memory. The network I / F unit 137 controls access to the network card 170.

RAM160には、共有メモリ領域(以下、「共有メモリ」という)が確保されている。この共有メモリは、スプールアプリ110によって確保され、スプールアプリ110の他、プリンタアプリ−A120aと、NCS130の印刷プロトコル処理部131〜13Nから参照可能なものとなっている。   In the RAM 160, a shared memory area (hereinafter referred to as “shared memory”) is secured. This shared memory is secured by the spool application 110 and can be referred to from the printer application-A 120a and the print protocol processing units 131 to 13N of the NCS 130 in addition to the spool application 110.

次に、本実施の形態にかかる複合機100の全体の機能的構成について説明する。図2は、実施の形態1の複合機100の全体構成を示すブロック図である。図2に示すように、複合機100は、白黒レーザプリンタ(B&W LP)201と、カラーレーザプリンタ(Color LP)202と、スキャナ、ファクシミリ、メモリなどのハードウェアリソース204を有するとともに、プラットホーム220と、アプリケーション230とから構成されるソフトウェア群210とを備えている。   Next, the overall functional configuration of the multifunction peripheral 100 according to the present embodiment will be described. FIG. 2 is a block diagram illustrating the overall configuration of the multifunction peripheral 100 according to the first embodiment. As shown in FIG. 2, the multifunction peripheral 100 includes a monochrome laser printer (B & W LP) 201, a color laser printer (Color LP) 202, a hardware resource 204 such as a scanner, a facsimile, and a memory, and a platform 220. And a software group 210 including the application 230.

プラットホーム220は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)223と、汎用OS140とを有する。   The platform 220 interprets a processing request from an application and generates a hardware resource acquisition request, and a system resource manager that manages one or more hardware resources and arbitrates the acquisition request from the control service. (SRM) 223 and a general-purpose OS 140.

コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)222と、ECS(エンジンコントロールサービス)224と、MCS(メモリコントロールサービス)225と、OCS(オペレーションパネルコントロールサービス)226と、FCS(ファックスコントロールサービス)227と、NCS(ネットワークコントロールサービス)130とから構成される。このプラットホーム220は、あらかじめ定義された関数により前記アプリケーション230から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。   The control service is formed of a plurality of service modules, and includes an SCS (system control service) 222, an ECS (engine control service) 224, an MCS (memory control service) 225, an OCS (operation panel control service) 226, and an FCS. (Fax control service) 227 and NCS (network control service) 130. The platform 220 has an application program interface (API) that can receive a processing request from the application 230 using a predefined function.

汎用OS140は、前述のとおり、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム220並びにアプリケーション230の各ソフトウェアをそれぞれプロセスとして並列実行する。   As described above, the general-purpose OS 140 is a general-purpose operating system such as UNIX (registered trademark), and executes the software of the platform 220 and the application 230 in parallel as processes.

SRM223のプロセスは、SCS222とともにシステムの制御およびリソースの管理を行うものである。SRM223のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F)、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。   The process of the SRM 223 performs system control and resource management together with the SCS 222. The SRM 223 process includes hardware resources such as an engine such as a scanner unit and a printer unit, memory, HDD file, host I / O (Centro I / F, network I / F), IEEE 1394 I / F, RS232C I / F, and the like. It performs arbitration according to the request from the upper layer that uses, and controls execution.

具体的には、このSRM223は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM223は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。   Specifically, the SRM 223 determines whether the requested hardware resource is available (whether it is not used by another request), and if it is available, the requested hardware resource is used. Tell the upper layer that it is possible. The SRM 223 performs hardware resource usage scheduling in response to a request from an upper layer, and directly executes the request contents (for example, paper conveyance and image forming operation, memory allocation, file generation, etc. by the printer engine). .

SCS222のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。   The process of the SCS 222 performs application management, operation unit control, system screen display, LED display, resource management, interrupt application control, and the like.

ECS224のプロセスは、白黒レーザプリンタ(B&W LP)201、カラーレーザプリンタ(Color LP)202、HDD150、スキャナ、ファクシミリなどからなるハードウェアリソース204のエンジンの制御を行う。   The ECS 224 process controls the engine of a hardware resource 204 including a black and white laser printer (B & W LP) 201, a color laser printer (Color LP) 202, an HDD 150, a scanner, and a facsimile.

MCS225のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。   The MCS 225 process acquires and releases image memory, uses a hard disk drive (HDD), compresses and decompresses image data, and the like.

FCS227のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。   The process of FCS 227 includes facsimile transmission / reception using PSTN / ISDN network from each application layer of the system controller, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and fusion transmission / reception. Provides an API to do.

OCS226のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS226は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS222に送信するOCSプロセスである。また、オペレーションパネルの操作表示部に対する各種画面を描画出力やその他オペレーションパネルに対する制御は、OCS関数ライブラリに登録されている描画関数等の各種関数をアプリケーション130またはコントロールサービスから呼び出すことにより行われる。   The process of the OCS 226 controls an operation panel (operation panel) serving as information transmission means between the operator (user) and the main body control. The OCS 226 is an OCS process that acquires a key press (or touch operation) from the operation panel as a key event and transmits a key event function corresponding to the acquired key to the SCS 222. Further, various screens for the operation display unit of the operation panel are rendered and output, and other operations are controlled by calling various functions such as a drawing function registered in the OCS function library from the application 130 or the control service.

アプリケーション230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ−A120a、プリンタアプリ−B120bと、コピー用アプリケーションであるコピーアプリ212と、ファクシミリ用アプリケーションであるファックスアプリ213と、スキャナ用アプリケーションであるスキャナアプリ214と、ネットワークファイル用アプリケーションであるネットファイルアプリ215と、工程検査用アプリケーションである工程検査アプリ216と、上述したスプールアプリ110とを有している。   The application 230 includes a printer application A120a and a printer application B120b that are applications for a printer having page description language (PDL), PCL, and PostScript (PS), a copy application 212 that is a copy application, and a facsimile application. A fax application 213, a scanner application 214 as a scanner application, a net file application 215 as a network file application, a process inspection application 216 as a process inspection application, and the spool application 110 described above. ing.

アプリケーション230の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。   Each process of the application 230 and each process of the control service realize a user service related to image forming processing such as copying, printer, scanner, facsimile, etc. while performing inter-process communication by calling a function, sending its return value, and sending / receiving a message. doing.

このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション230に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。   As described above, the MFP 100 according to the first embodiment includes a plurality of applications 130 and a plurality of control services, all of which operate as processes. In each of these processes, one or a plurality of threads are generated and parallel execution is performed in units of threads. The control service provides a common service to the application 230. For this reason, a large number of these processes perform a parallel operation and a parallel operation of threads to perform inter-process communication with each other. User services related to image forming processing such as copying, printers, scanners, and facsimiles are provided.

また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリを開発して搭載することが可能となっている。   Also, in the multifunction device 100, a third party such as a customer of the multifunction device 100 or a third vendor can develop and install an external application on the application layer above the control service layer.

次に、以上のように構成された本実施の形態の複合機100によるスプール処理について説明する。図3は、本実施の形態の複合機100によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。   Next, a description will be given of spool processing by the multifunction peripheral 100 of the present embodiment configured as described above. FIG. 3 is an explanatory diagram showing a data flow at the time of registration of a print job in spool processing by the multifunction peripheral 100 according to the present embodiment.

この印刷ジョブの登録処理は次のように行われる。PC190からネットワーク180経由で複合機100に対して印刷要求があると、図3に示すように、その印刷対象の印刷データをNCS130の印刷プロトコル処理部131〜13Nが受信する(ステップS301)。   The print job registration process is performed as follows. When there is a print request from the PC 190 to the multifunction peripheral 100 via the network 180, as shown in FIG. 3, the print protocol processing units 131 to 13N of the NCS 130 receive the print data to be printed (step S301).

そして、通信プロトコルに対応したNCS130の印刷プロトコル処理部131〜13Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプール書き込み処理部111に受け渡す。具体的には、印刷プロトコル処理部131〜13Nが印刷データを共有メモリ161の書き込み領域に書き込み(ステップS302)、印刷プロトコル処理部131〜13Nが共有メモリへの書き込み通知をスプール書き込み処理部111に通知する(ステップS303)。   Then, a logical session is established by the print protocol processing units 131 to 13N of the NCS 130 corresponding to the communication protocol, and data transmitted on the established session is interpreted according to the communication protocol. Then, a data portion specific to the application is extracted from the data as print data, and the print data is transferred to the spool write processing unit 111. Specifically, the print protocol processing units 131 to 13N write the print data to the write area of the shared memory 161 (step S302), and the print protocol processing units 131 to 13N send a write notification to the shared memory to the spool write processing unit 111. Notification is made (step S303).

共有メモリへの書き込み通知を受信したスプール書き込み処理部111は、OSのファイルシステムが提供するWriteシステムコールを発行することによって共有メモリ161の書き込み領域の印刷データをHDD150に格納する(ステップS304)。これによって印刷ジョブの登録が行われる。この後、スプール書き込み処理部111はスプール読み出し処理部112にHDDへの書き込み通知を通知する(ステップS305)。   The spool write processing unit 111 that has received the write notification to the shared memory stores print data in the write area of the shared memory 161 in the HDD 150 by issuing a Write system call provided by the OS file system (step S304). As a result, the print job is registered. Thereafter, the spool write processing unit 111 notifies the spool read processing unit 112 of a write notification to the HDD (step S305).

このように、印刷プロトコル処理部131〜13Nとスプール書き込み処理部111との間の印刷データの受け渡しは共有メモリ161を介して行われるようになっている。   As described above, the transfer of print data between the print protocol processing units 131 to 13N and the spool writing processing unit 111 is performed via the shared memory 161.

次に、かかる印刷ジョブの登録の詳細な処理について説明する。図4は、印刷ジョブの登録時のNCS130の印刷プロトコル処理部131〜13Nが行う処理の手順を示すフローチャートである。   Next, detailed processing for registering the print job will be described. FIG. 4 is a flowchart illustrating a procedure of processing performed by the print protocol processing units 131 to 13N of the NCS 130 when registering a print job.

印刷プロトコル処理部131〜13Nは、PC190と接続待ち状態にあり(ステップS401)、接続要求があった場合には(ステップS401:Yes)、接続処理を行う(ステップS402)。具体的には、印刷プロトコル処理部131〜13Nは、PC190とのセッションを確立し、スプールアプリ110のスプール書き込み処理部111に接続要求を送信し、コネクションIDをスプール書き込み処理部111から受信する。   The print protocol processing units 131 to 13N are in a connection waiting state with the PC 190 (step S401), and when there is a connection request (step S401: Yes), the connection processing is performed (step S402). Specifically, the print protocol processing units 131 to 13N establish a session with the PC 190, transmit a connection request to the spool write processing unit 111 of the spool application 110, and receive a connection ID from the spool write processing unit 111.

次いで、印刷プロトコル処理部131〜13Nは、ジョブ開始処理を行う(ステップS403)。具体的には、印刷プロトコル処理部131〜13Nは、スプールアプリ110のスプール書き込み処理部111にコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果スプール書き込み処理部111からジョブIDを受信する。また、スプール書き込み処理部111にジョブIDとジョブ情報を指定してジョブ情報設定を行ったり、ジョブ転送開始要求を行う。   Next, the print protocol processing units 131 to 13N perform job start processing (step S403). Specifically, the print protocol processing units 131 to 13N specify a connection ID and a transfer method to the spool writing processing unit 111 of the spool application 110 and transmit a job start request, and as a result, the spool writing processing unit 111 receives a job ID. Receive. Also, the job information is set by specifying the job ID and job information to the spool writing processing unit 111, or a job transfer start request is made.

次に、PC190からの受信すべきデータがあるか否かを判断し(ステップS404)、受信すべきデータがある場合には、共有メモリ161に空き領域が存在するか否かを調べる(ステップS405)。そして、空き領域が存在しない場合には(ステップS405:No)、空き領域ができるまで待ち状態となる。   Next, it is determined whether there is data to be received from the PC 190 (step S404). If there is data to be received, it is checked whether there is an empty area in the shared memory 161 (step S405). ). If there is no free area (step S405: No), the process waits until a free area is created.

一方、共有メモリ161に空き領域がある場合には(ステップS405:Yes)、PC190からのデータを受信して(ステップS406)、受信データを共有メモリ161の書き込み領域に書き込む(ステップS407)。かかるステップS404からS407までの処理を、受信データのEOF(End Of File)を検出するまで繰り返し行う(ステップS408)。   On the other hand, if there is an empty area in the shared memory 161 (step S405: Yes), data from the PC 190 is received (step S406), and the received data is written in the writing area of the shared memory 161 (step S407). The processing from step S404 to S407 is repeated until an EOF (End Of File) of the received data is detected (step S408).

共有メモリ161への受信データの書き込みが完了したら、印刷プロトコル処理部131〜13Nはデータ書き込み完了処理を行う(ステップS409)。具体的には、印刷プロトコル処理部131〜13Nは全データ書き込み完了通知をジョブIDとともにスプール書き込み処理部111に通知する。   When the writing of the reception data to the shared memory 161 is completed, the print protocol processing units 131 to 13N perform a data writing completion process (step S409). Specifically, the print protocol processing units 131 to 13N notify the spool writing processing unit 111 of a notification of all data writing completion together with the job ID.

次に、印刷ジョブ登録時のスプールアプリ110のスプール書き込み処理部111の行う処理について説明する。図5は、印刷ジョブ登録時のスプールアプリ110のスプール書き込み処理部111の行う処理の手順のフローチャートである。   Next, processing performed by the spool writing processing unit 111 of the spool application 110 when registering a print job will be described. FIG. 5 is a flowchart of a processing procedure performed by the spool writing processing unit 111 of the spool application 110 when registering a print job.

スプール書き込み処理部111は、NCS130と接続待ち状態にあり(ステップS501)、NCS130の印刷プロトコル処理部131〜13Nから接続要求があった場合には(ステップS501:Yes)、接続処理を行う(ステップS502)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。   The spool writing processing unit 111 is in a connection waiting state with the NCS 130 (step S501), and when there is a connection request from the print protocol processing units 131 to 13N of the NCS 130 (step S501: Yes), connection processing is performed (step S501). S502). Specifically, the spool write processing unit 111 transmits a connection request to the spool read processing unit 112 and receives a connection ID from the spool read processing unit 112.

次いで、スプール書き込み処理部111は、ジョブ開始処理を行う(ステップS503)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112にコネクションIDを指定してジョブ開始要求を送信し、その結果スプール読み出し処理部112からジョブIDを受信する。また、スプール読み出し処理部112にジョブ転送開始要求も行う。   Next, the spool writing processing unit 111 performs job start processing (step S503). Specifically, the spool write processing unit 111 transmits a job start request by specifying a connection ID to the spool read processing unit 112, and as a result, receives a job ID from the spool read processing unit 112. Also, a job transfer start request is sent to the spool read processing unit 112.

次に、スプール書き込み処理部111は、HDD150上でジョブデータファイルのオープン処理を行う(ステップS505)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に受信データが存在するか否かを調べる(ステップS505)。そして、受信データが存在する場合には(ステップS505:Yes)、HDD150に空き領域があるか否かを調べる(ステップS506)。   Next, the spool write processing unit 111 performs a job data file open process on the HDD 150 (step S505). Specifically, this open processing is performed by issuing an Open system call provided by the OS file system. Then, it is checked whether or not received data exists in the shared memory 161 (step S505). If the received data exists (step S505: Yes), it is checked whether or not there is a free area in the HDD 150 (step S506).

そして、HDD150に空き領域がない場合には(ステップS506:No)、空き領域ができるまで待ち状態となる。一方、HDD150に空き領域がある場合には、OSのファイルシステムが提供するWriteシステムコールを発行して共有メモリ161にあるデータをHDD150にジョブデータファイルとして書き込む(ステップS507)。   If there is no free space in the HDD 150 (step S506: No), the HDD 150 waits until a free space is created. On the other hand, if there is free space in the HDD 150, a Write system call provided by the OS file system is issued, and the data in the shared memory 161 is written in the HDD 150 as a job data file (step S507).

そして、ステップS505からS507までの処理を、共有メモリにあるデータのEOF(End Of File)を検出するまで繰り返し行う(ステップS508)。   Then, the processes from step S505 to S507 are repeated until an EOF (End Of File) of data in the shared memory is detected (step S508).

HDD150へのジョブデータファイルの書き込みが完了したら、スプール書き込み処理部111は、OSのファイルシステムで提供されるCloseシステムコールを発行することによってジョブデータファイルのクローズ処理を行い(ステップS509)、データ書き込み完了処理を行う(ステップS510)。具体的には、スプール書き込み処理部111はデータ書き込み完了通知をジョブIDとともにスプール読み出し処理部112に通知する。   When the writing of the job data file to the HDD 150 is completed, the spool writing processing unit 111 performs a closing process of the job data file by issuing a Close system call provided by the OS file system (step S509), and writing the data Completion processing is performed (step S510). Specifically, the spool write processing unit 111 notifies the spool read processing unit 112 of a data write completion notification together with the job ID.

NCS130の印刷プロトコル処理部131〜13Nおよびスプールアプリ110による印刷ジョブの登録処理について説明したが、次に、印刷ジョブ登録処理時の各部の命令およびデータの流れについて説明する。図6、7は、スプール処理における命令の流れを示すフロー図であり、図6は印刷ジョブ登録処理のフロー図、図7は印刷ジョブのジョブデータ書き込み処理のフロー図である。   The print job registration process by the print protocol processing units 131 to 13N of the NCS 130 and the spool application 110 has been described. Next, the flow of commands and data of each unit during the print job registration process will be described. 6 and 7 are flowcharts showing the flow of instructions in spool processing, FIG. 6 is a flowchart of print job registration processing, and FIG. 7 is a flowchart of job data write processing of print jobs.

PC190は、印刷要求を行う際に、複合機100に対して接続要求を行う(ステップS601)。複合機100のNCS130がかかる接続要求を受信してスプールアプリ110のスプール書き込み処理部111に接続要求を行い(ステップS602)、スプール書き込み処理部111はスプール読み出し処理部112に、スプール読み出し処理部112はプリンタアプリ−A120aに順次接続要求を行う(ステップS603、S604)。   When making a print request, the PC 190 makes a connection request to the multifunction peripheral 100 (step S601). The NCS 130 of the MFP 100 receives the connection request and issues a connection request to the spool write processing unit 111 of the spool application 110 (step S602). The spool write processing unit 111 sends the spool read processing unit 112 to the spool read processing unit 112. Sequentially issues a connection request to the printer application-A 120a (steps S603 and S604).

接続要求を受けたプリンタアプリ−A120aは、コネクションIDをスプール読み出し処理部112に送信し(ステップS605)、スプール読み出し処理部112、スプール書き込み処理部111、NCS130の印刷プロトコル処理部131〜13Nに順次送信され(ステップS606、S607)、印刷プロトコル処理部131〜13NからPC190に接続OKの旨のメッセージが送信され(ステップS608)、これによってPC190と複合機100との接続が確立される。   Upon receiving the connection request, the printer application-A 120a transmits the connection ID to the spool read processing unit 112 (step S605), and sequentially transmits the spool read processing unit 112, the spool write processing unit 111, and the print protocol processing units 131 to 13N of the NCS 130. The message is transmitted (steps S606 and S607), and a message indicating that the connection is OK is transmitted from the print protocol processing units 131 to 13N to the PC 190 (step S608), thereby establishing a connection between the PC 190 and the MFP 100.

次いで、PC190はジョブ開始要求を複合機100に送信する(ステップS609)。複合機100では、ジョブ開始要求をNCS130の印刷プロトコル処理部131〜13Nが受信して、ジョブ開始要求はコネクションIDと転送方式とともに印刷プロトコル処理部131〜13Nからスプール書き込み処理部111、スプール読み出し処理部112、プリンタアプリA−120aへ順次送信される(ステップS610、S611、S612)。プリンタアプリA−120aでは、ジョブIDを決定し、決定したジョブIDをスプール読み出し処理部112に送信し(ステップS613)、スプール読み出し処理部112、スプール書き込み処理部111、NCS130の印刷プロトコル処理部131〜13Nに順次送信される(ステップS614、S615)。   Next, the PC 190 transmits a job start request to the multifunction device 100 (step S609). In the MFP 100, the print protocol processing units 131 to 13N of the NCS 130 receive the job start request, and the job start request is sent from the print protocol processing units 131 to 13N together with the connection ID and the transfer method from the spool write processing unit 111 and the spool read processing. Are sequentially transmitted to the printer 112 and the printer application A-120a (steps S610, S611, and S612). The printer application A-120a determines the job ID, transmits the determined job ID to the spool read processing unit 112 (step S613), the spool read processing unit 112, the spool write processing unit 111, and the print protocol processing unit 131 of the NCS 130. To 13N sequentially (steps S614 and S615).

次に、印刷プロトコル処理部131〜13Nは、スプール書き込み処理部111に対してジョブIDとジョブ情報ファイルを指定してジョブ情報設定要求を送信する(ステップS616)。ここで、ジョブ情報は、PC190の識別名称であるホスト名およびアドレス、PC190において印刷要求を行ったユーザ名、ジョブ名、印刷対象のドキュメント名、トレイ指定などの印刷設定などから構成されるデータである。   Next, the print protocol processing units 131 to 13N specify a job ID and a job information file to the spool writing processing unit 111 and transmit a job information setting request (step S616). Here, the job information is data composed of a host name and an address which are identification names of the PC 190, a user name that has made a print request in the PC 190, a job name, a document name to be printed, a print setting such as tray designation, and the like. is there.

ジョブ情報設定要求を受信したスプール書き込み処理部111は、ジョブ情報ファイルをHDD150に書き込む(ステップS617)。そして、スプール書き込み処理部111は、印刷プロトコル処理部131〜13Nに通知タイミング設定を行う(ステップS618)。   The spool writing processing unit 111 that has received the job information setting request writes the job information file in the HDD 150 (step S617). Then, the spool writing processing unit 111 sets a notification timing in the printing protocol processing units 131 to 13N (step S618).

一方、スプール読み出し処理部112は、HDD150からジョブ情報ファイルを読み出して(ステップS619)、プリンタアプリA−120aに対してジョブ設定要求を送信する(ステップS620)。   On the other hand, the spool read processing unit 112 reads a job information file from the HDD 150 (step S619), and transmits a job setting request to the printer application A-120a (step S620).

プリンタアプリA−120aでは、ジョブ情報ファイルの内容に従ってジョブ情報設定を行って、スプール読み出し処理部112に通知タイミング設定を行う(ステップS621)。   In the printer application A-120a, job information setting is performed according to the contents of the job information file, and notification timing is set to the spool read processing unit 112 (step S621).

NCS130の印刷プロトコル処理部131〜13Nでは、ステップS618によって通知タイミング設定が行われると、印刷データの転送を開始するがこの際に、ジョブデータ転送開始の通知をスプール書き込み処理部111に対して行う(ステップS623)。このジョブデータ転送開始通知は、スプール書き込み処理部111からスプール読み出し処理部112へ、スプール読み出し処理部112からプリンタアプリA−120aへ順次送信される(ステップS623、S624)。   In the print protocol processing units 131 to 13N of the NCS 130, when the notification timing is set in step S618, the print data transfer is started. At this time, the job data transfer start notification is sent to the spool write processing unit 111. (Step S623). The job data transfer start notification is sequentially transmitted from the spool writing processing unit 111 to the spool reading processing unit 112 and from the spool reading processing unit 112 to the printer application A-120a (steps S623 and S624).

プリンタアプリ−A120aでは、ジョブデータ転送開始通知を受信し、印刷データの受信の受け入れる状態となってる場合には、OKの旨の通知をスプール読み出し処理部112に送信する(ステップS625)。このOKの旨の通知は、スプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nへ順次送信される(ステップS626、S627)。そして、さらに印刷プロトコル処理部131〜13NからPC190にOKの旨の通知が送信される(ステップS628)。   When the printer application-A 120a receives the job data transfer start notification and is ready to receive print data, the printer application-A 120a transmits a notification of OK to the spool read processing unit 112 (step S625). This OK notification is sequentially transmitted from the spool read processing unit 112 to the spool write processing unit 111 and from the spool write processing unit 111 to the print protocol processing units 131 to 13N (steps S626 and S627). Further, a notice of OK is transmitted from the print protocol processing units 131 to 13N to the PC 190 (step S628).

スプール書き込み処理部111では、ジョブデータ転送開始がOKの旨の通知を受信すると、HDD150にジョブデータファイルを生成するため、ジョブデータオープン命令(OSのOpenシステムコール)を発行する(ステップS701)。   When the spool write processing unit 111 receives a notification that the job data transfer start is OK, it issues a job data open command (OS Open system call) to generate a job data file in the HDD 150 (step S701).

そして、NCS130の印刷プロトコル処理部131〜13NはPC190から印刷対象の印刷データを受信し(ステップS702)、受信した印刷データに対して対応するプロトコル処理を行って共有メモリ161に書き込み領域に印刷データを書き込む(ステップS703)。印刷プロトコル処理部131〜13Nは共有メモリへの書き込みが終了したら、共有メモリデータ書き込み通知をスプール書き込み処理部111に通知する(ステップS704)。   Then, the print protocol processing units 131 to 13N of the NCS 130 receive print data to be printed from the PC 190 (step S702), perform corresponding protocol processing on the received print data, and print data in the write area in the shared memory 161. Is written (step S703). When the writing to the shared memory is completed, the print protocol processing units 131 to 13N notify the spool writing processing unit 111 of a shared memory data write notification (step S704).

共有メモリデータ書き込み通知を受信したスプール書き込み処理部111は、OSのWriteシステムコールを発行して共有メモリ161の印刷データををジョブデータファイルとしてHDD150に保存する(ステップS705)。そして、スプール書き込み処理部111は、印刷プロトコル処理部131〜13Nに共有メモリへのデータ読み出し通知を送信する(ステップS706)。このようなステップS702からステップS706までの処理をPC190からのデータ送信があるたびに繰り返し行う。   Upon receiving the shared memory data write notification, the spool write processing unit 111 issues an OS Write system call and saves the print data in the shared memory 161 as a job data file in the HDD 150 (step S705). Then, the spool write processing unit 111 transmits a data read notification to the shared memory to the print protocol processing units 131 to 13N (step S706). Such processes from step S702 to step S706 are repeated every time data is transmitted from the PC 190.

PC190は印刷対象のすべての印刷データの送信が完了すると、データ送信完了通知を複合機100に送信する(ステップS707)。複合機100では、印刷プロトコル処理部131〜13Nによってかかる通知を受信し、全データ書き込み完了通知をスプール書き込み処理部111に送信する(ステップS708)。スプール書き込み処理部111は、全データ書き込み完了通知を受信すると、HDD150のジョブデータファイルに対しファイルクローズ命令(OSのCloseシステムコール)を発行し(ステップS709)、さらにスプール読み出し処理部112に対してジョブデータファイル書き込み完了通知を送信する(ステップS710)。スプール読み出し処理部112は、このジョブデータファイル書き込み完了通知を受信して当該通知をプリンタアプリ−A120aに送信する(ステップS711)。これにより、プリンタアプリ−A120aが印刷ジョブを実行する場合には、HDD150からの印刷データの読み出しが可能となったことがわかるようになってる。これにより、印刷ジョブが登録されることになり、一つの印刷ジョブに対して1つの印刷データがHDD150に生成されることになる。   When the transmission of all print data to be printed is completed, the PC 190 transmits a data transmission completion notification to the multi-function device 100 (step S707). In the multi-function device 100, the print protocol processing units 131 to 13N receive the notification, and transmit an all data writing completion notification to the spool writing processing unit 111 (step S708). When the spool writing processing unit 111 receives the notification of completion of all data writing, the spool writing processing unit 111 issues a file close command (OS Close system call) to the job data file in the HDD 150 (step S709), and further to the spool reading processing unit 112. A job data file write completion notification is transmitted (step S710). The spool read processing unit 112 receives the job data file writing completion notification and transmits the notification to the printer application-A 120a (step S711). As a result, when the printer application-A 120a executes a print job, it can be seen that the print data can be read from the HDD 150. As a result, a print job is registered, and one print data is generated in the HDD 150 for one print job.

次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図8は、本実施の形態の複合機100によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。この印刷ジョブの実行処理は次のように行われる。   Next, the reading process of the print job registered as described above will be described. FIG. 8 is an explanatory diagram illustrating a data flow when a print job is read in the spool processing by the multifunction peripheral 100 according to the present embodiment. The print job execution process is performed as follows.

スプール書き込み処理部111からスプール読み出し処理部112にジョブデータ書き込み完了通知が行われると(ステップS801)、スプール読み出し部112は、HDD150に格納されている該当するジョブIDのジョブデータファイル(印刷データ)を、OSが提供するWriteシステムコールを発行することにより、共有メモリ161の読み出し領域に格納する(ステップS802)。その後、スプール読み出し部112は共有メモリデータ書き込み通知をプリンタアプリ−A120aに送信する(ステップS803)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは、OSが提供するReadシステムコールを発行することにより、共有メモリの読み出し領域から印刷データを読み出して(ステップS804)、印刷処理を行う。   When a job data writing completion notification is sent from the spool writing processing unit 111 to the spool reading processing unit 112 (step S801), the spool reading unit 112 reads the job data file (print data) of the corresponding job ID stored in the HDD 150. Is stored in the read area of the shared memory 161 by issuing a Write system call provided by the OS (step S802). Thereafter, the spool reading unit 112 transmits a shared memory data write notification to the printer application-A 120a (step S803). Receiving the shared memory data write notification, the printer application-A 120a issues a Read system call provided by the OS to read the print data from the read area of the shared memory (step S804) and perform print processing.

このように、スプール読み出し処理部112とプリンタアプリ−A120aとの間の印刷データの受け渡しはシステムコールの発行によって共有メモリ161を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。   As described above, the transfer of print data between the spool read processing unit 112 and the printer application-A 120a is performed via the shared memory 161 by issuing a system call. It is possible to exchange data between applications that do not receive data directly.

次に、かかる印刷ジョブの読み出しの詳細な処理について説明する。図9は、スプール読み出し処理部112による印刷ジョブの読み出し処理の手順を示すフローチャートである。   Next, a detailed process of reading the print job will be described. FIG. 9 is a flowchart illustrating a procedure of print job read processing by the spool read processing unit 112.

スプール読み出し処理部112は、スプール書き込み処理部111と接続待ち状態にあり(ステップS901)、スプール書き込み処理部111から接続要求があった場合には(ステップS901:Yes)、接続処理を行う(ステップS902)。具体的には、スプール読み出し処理部112は、印刷プロトコル処理部による受信データの解釈によって処理を行うアプリケーションのアプリID(本実施の形態ではプリンタアプリ−A120aのアプリID)を指定してアプリケーション(プリンタアプリ−A120a)に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。   The spool read processing unit 112 is in a connection waiting state with the spool write processing unit 111 (step S901), and when there is a connection request from the spool write processing unit 111 (step S901: Yes), connection processing is performed (step S901). S902). Specifically, the spool read processing unit 112 designates an application ID (application ID of the printer application-A 120a in the present embodiment) of an application that performs processing by interpreting received data by the print protocol processing unit, and the application (printer). A connection request is transmitted to the application-A 120 a), and a connection ID is received from the spool read processing unit 112.

次いで、スプール読み出し処理部112は、ジョブ開始処理を行う(ステップS903)。具体的には、スプール読み出し処理部112は、アプリケーションにコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果アプリケーションからジョブIDを受信する。また、スプール読み出し処理部112はHDD150からジョブ情報ファイルの読み出し処理、アプリケーションに対するジョブ情報設定も行う。   Next, the spool read processing unit 112 performs job start processing (step S903). Specifically, the spool read processing unit 112 transmits a job start request specifying a connection ID and a transfer method to the application, and receives a job ID from the application as a result. The spool read processing unit 112 also performs a job information file read process from the HDD 150 and sets job information for an application.

次に、スプール読み出し処理部112は、ジョブデータファイルの書き込み完了通知待ちの状態となり(ステップS904)、ジョブデータファイルの書き込み完了通知を受信すると(ステップS904:Yes)、HDD150のジョブデータファイルのオープン処理を行う(ステップS905)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に空き領域があるかを調べる(ステップS906)。   Next, the spool read processing unit 112 waits for a job data file write completion notification (step S904). When the job data file write completion notification is received (step S904: Yes), the job data file of the HDD 150 is opened. Processing is performed (step S905). Specifically, this open processing is performed by issuing an Open system call provided by the OS file system. Then, it is checked whether there is a free area in the shared memory 161 (step S906).

そして、共有メモリ161に空き領域がない場合には(ステップS906:Yes)、空き領域ができるまで待ち状態となる。一方、共有メモリ161に空き領域がある場合には、HDD150からジョブデータファイルの内容を読み出し(ステップS907)、読み出したジョブデータファイルの内容を共有メモリ161の読み出し領域に書き込む(ステップS908)。   If there is no free area in the shared memory 161 (step S906: Yes), the process waits until a free area is created. On the other hand, if there is a free area in the shared memory 161, the contents of the job data file are read from the HDD 150 (step S907), and the contents of the read job data file are written in the read area of the shared memory 161 (step S908).

そして、ステップS906からS908までの処理を、ジョブデータファイルのEOF(End Of File)が検出されるまで繰り返し行う(ステップS909)。   Then, the processes from step S906 to S908 are repeated until an EOF (End Of File) of the job data file is detected (step S909).

共有メモリ161へのジョブデータファイルの書き込みが完了したら、スプール読み出し処理部112は、OSのファイルシステムで提供されるCloseシステムコールを発行することによってジョブデータファイルのクローズ処理を行い(ステップS910)、データ書き込み完了処理を行う(ステップS911)。具体的には、スプール読み出し処理部112は、アプリケーションにデータ書き込み通知を通知する。   When the writing of the job data file to the shared memory 161 is completed, the spool read processing unit 112 performs a job data file closing process by issuing a Close system call provided by the OS file system (step S910). Data write completion processing is performed (step S911). Specifically, the spool read processing unit 112 notifies the application of a data write notification.

図10は、上述した印刷ジョブのジョブデータ読み出し処理におけるデータ、命令の流れを示すデータフロー図である。   FIG. 10 is a data flow diagram showing the flow of data and instructions in the job data reading process of the print job described above.

スプール読み出し処理部112は、スプール書き込み処理部111からジョブデータファイル書き込み完了通知を受信すると、HDD150のジョブデータファイル(印刷データ)のオープン命令(OSのOpenシステムコール)を発行する(ステップS1001)。次に、スプール読み出し処理部112は、HDD150からオープンしたジョブデータファイルの読み出しを行い(ステップS1002)、読み出したデータを共有メモリ161の読み出し領域に書き込む(ステップS1003)。   When the spool read processing unit 112 receives the job data file write completion notification from the spool write processing unit 111, the spool read processing unit 112 issues an open command (Open system call of the OS) for the job data file (print data) in the HDD 150 (step S1001). Next, the spool read processing unit 112 reads the job data file opened from the HDD 150 (step S1002), and writes the read data in the read area of the shared memory 161 (step S1003).

次に、スプール読み出し処理部112は、プリンタアプリ−A120aに対して共有メモリデータ書き込み通知を送信する(ステップS1004)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは共有メモリ161の読み出し領域から印刷データを読み出す(ステップS1005)。ここで、かかる読み出しは、共有メモリの管理テーブルに登録されている先頭アドレスの位置から管理テーブルに登録されたサイズ分のデータを読み出すことによって行われる。そして、プリンタアプリ−A120aは、共有メモリデータ読み出し通知をスプール読み出し処理部112に送信する(ステップS1006)。   Next, the spool read processing unit 112 transmits a shared memory data write notification to the printer application-A 120a (step S1004). The printer application-A 120a that has received the shared memory data write notification reads print data from the read area of the shared memory 161 (step S1005). Here, such reading is performed by reading data corresponding to the size registered in the management table from the position of the head address registered in the management table of the shared memory. Then, the printer application-A 120a transmits a shared memory data read notification to the spool read processing unit 112 (step S1006).

そして、ジョブデータファイルの全てのレコードの読み出しが完了するまで、ステップS1002からステップS1006までの処理を繰り返し行う。   Then, the processes from step S1002 to step S1006 are repeated until reading of all the records of the job data file is completed.

ジョブデータファイルの全てのレコードの読み出しが完了したら、スプール読み出し処理部112は、ジョブデータファイルのクローズ命令(OSのCloseシステムコール)を発行する(ステップS1007)。そして、プリンタアプリA−120aは、共有メモリのデータを全て読み出したら、全データ読み出し完了通知をその処理結果と共にスプール読み出し処理部112を送信する(ステップS1008)。全データ読み出し完了通知を受信したスプール読み出し処理部112は、ファイル読み出し完了通知をスプール書き込み処理部111に送信し(ステップS1009)、ファイル読み出し完了通知を受信したスプール書き込み処理部111は、全データ読み出し完了通知を印刷プロトコル処理部131〜13Nに送信する(ステップS1010)。これにより、プリンタアプリA−120aによる印刷データの読み出し処理が完了し、プリンタアプリA−120aによる印刷処理が実行される。   When all the records of the job data file have been read, the spool read processing unit 112 issues a job data file close command (OS Close system call) (step S1007). When the printer application A-120a has read all the data in the shared memory, the printer application A-120a transmits a notification of completion of reading all data together with the processing result to the spool read processing unit 112 (step S1008). The spool read processing unit 112 that has received the all data read completion notification transmits a file read completion notification to the spool write processing unit 111 (step S1009), and the spool write processing unit 111 that has received the file read completion notification receives all data read. A completion notification is transmitted to the print protocol processing units 131 to 13N (step S1010). Thus, the print data read process by the printer application A-120a is completed, and the print process by the printer application A-120a is executed.

図11は、印刷ジョブの終了処理における命令の流れを示すフロー図である。PC190が複合機100に対してジョブ終了要求を送信すると、NCS130の印刷プロトコル処理部131〜13Nでかかるジョブ終了要求を受信する(ステップS1101)。そして、ジョブ終了要求は、印刷プロトコル処理部131〜13Nからスプール書き込み処理部111、スプール書き込み処理部111からスプール読み出し処理部112、スプール読み出し処理部112からプリンタアプリA−120aへ順次送信される(ステップS1102,S1103.S1104)。   FIG. 11 is a flowchart showing the flow of instructions in the print job end processing. When the PC 190 transmits a job end request to the MFP 100, the print protocol processing units 131 to 13N of the NCS 130 receive the job end request (step S1101). Then, the job end request is sequentially transmitted from the print protocol processing units 131 to 13N to the spool writing processing unit 111, from the spool writing processing unit 111 to the spool reading processing unit 112, and from the spool reading processing unit 112 to the printer application A-120a ( Steps S1102, S1103 and S1104).

プリンタアプリ−A120aでは、ジョブ終了処理を行った後、ジョブ終了結果をスプール読み出し処理部112に送信し(ステップS1105)、さらにジョブ終了結果はスプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nへ、印刷プロトコル処理部131〜13NからPC190へ順次送信される(ステップS1106、S1107、S1108)。   The printer application-A 120a performs job end processing, and then transmits the job end result to the spool read processing unit 112 (step S1105). Further, the job end result is spooled from the spool read processing unit 112 to the spool write processing unit 111. The data is sequentially transmitted from the writing processing unit 111 to the printing protocol processing units 131 to 13N and from the printing protocol processing units 131 to 13N to the PC 190 (steps S1106, S1107, and S1108).

次いで、PC190は切断要求を複合機100に対して行う(ステップS1109)。一方、プリンタアプリ−A120aはスプール読み出し処理部112に対しコネクションIDを指定して切断要求を行う(ステップS1110)。この切断要求は、さらにスプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nに順次送信される(ステップS1111、S1112)。   Next, the PC 190 makes a disconnection request to the multifunction device 100 (step S1109). On the other hand, the printer application-A 120a issues a disconnection request to the spool read processing unit 112 by specifying a connection ID (step S1110). This disconnection request is further sequentially transmitted from the spool read processing unit 112 to the spool write processing unit 111 and from the spool write processing unit 111 to the print protocol processing units 131 to 13N (steps S1111 and S1112).

印刷プロトコル処理部131〜13Nでは、PC190およびスプール書き込み処理部111から切断要求を受信すると、切断処理を行い、その切断結果をPC190に送信し(ステップS1113)、さらにスプール書き込み処理部111に送信する(ステップS1114)。   When receiving a disconnection request from the PC 190 and the spool writing processing unit 111, the printing protocol processing units 131 to 13N perform the disconnecting process, transmit the disconnection result to the PC 190 (step S1113), and further transmit to the spool writing processing unit 111. (Step S1114).

そして、スプール書き込み処理部111は、受信した切断結果を、スプール読み出し処理部112へ、スプール読み出し処理部112からプリンタアプリA−120aへ順次送信する(ステップS1115、S1116)。   Then, the spool writing processing unit 111 sequentially transmits the received cutting result to the spool reading processing unit 112 and from the spool reading processing unit 112 to the printer application A-120a (steps S1115 and S1116).

プリンタアプリ−A120aは、印刷処理が終了後、印刷完了通知をスプール読み出し処理部112へ送信し、印刷完了通知を受信したスプール読み出し処理部112は、HDD150からジョブデータファイルを削除する。これにより、ジョブが終了することになる。   After the printing process is completed, the printer application-A 120 a transmits a print completion notification to the spool read processing unit 112, and the spool read processing unit 112 that has received the print completion notification deletes the job data file from the HDD 150. As a result, the job ends.

このように実施の形態1の複合機100では、このように実施の形態1の複合機100では、印刷データを、印刷プロトコル処理部131〜13Nとは機能的に独立させたスプール読み出し部112によって、HDD150から読み出しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリ110の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層の印刷プロトコル処理部131〜13Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、コントロール層の印刷プロトコル処理部131〜13Nを変更すれば、アプリケーション層のスプールアプリ110のプログラム変更は必要がない。このためハードウェア等の変更の影響を受けない部分であるスプールアプリ110をアプリケーション層に、ハードウェア等の変更の影響を受ける部分である印刷プロトコル処理部131〜13Nをコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。   As described above, in the MFP 100 according to the first embodiment, in the MFP 100 according to the first embodiment, the print data is functionally independent from the print protocol processing units 131 to 13N by the spool reading unit 112. Since the data is read from the HDD 150, if the spool application 110 of the application layer that does not affect the hardware is modified even if the spool processing that does not affect the hardware is changed, the control service layer that affects the hardware Need not be corrected for each protocol. Further, even when there is a change in the hardware interface due to the addition of a new hardware resource such as an SD card, the program of the spool application 110 in the application layer can be changed by changing the print protocol processing units 131 to 13N in the control layer. No change is necessary. Therefore, a configuration in which the spool application 110 that is not affected by changes in hardware or the like is separated into the application layer, and the print protocol processing units 131 to 13N that are affected by changes in hardware or the like are separated into the control layer and As a result, efficient program development can be performed.

また、本実施の形態によれば、スプールアプリ110は印刷プロトコル処理部131〜13Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。   Further, according to the present embodiment, the spool application 110 is a functionally independent means different from the print protocol processing units 131 to 13N, and therefore, by issuing a system call provided by the OS for passing data between applications. This can be done via a shared memory, and print data can be passed between applications that are not directly affected by hardware changes.

本実施の形態では、印刷データをプリンタアプリ−A120aに受け渡しているが、この他、プリンタアプリ−B120bあるいはその他のアプリケーションに受け渡す構成とすることができる。   In the present embodiment, print data is transferred to the printer application-A 120a. However, in addition to this, a configuration in which the print data is transferred to the printer application-B 120b or other applications can be adopted.

(実施の形態2)
実施の形態1の複合機100は、単一の印刷データに対して一つの印刷ジョブを割り当ててスプール処理を行っていたが、この実施の形態2の複合機は、複数の印刷データに対して単一の印刷ジョブを割り当ててスプール処理を行うものである。
(Embodiment 2)
The MFP 100 according to the first embodiment assigns one print job to a single print data and performs spool processing. However, the MFP 100 according to the second embodiment applies to a plurality of print data. A single print job is assigned to perform spool processing.

実施の形態2の複合機100の機能的構成は、図1および図2で説明した実施の形態1の複合機と同様である。   The functional configuration of the MFP 100 according to the second embodiment is the same as that of the MFP 1 according to the first embodiment described with reference to FIGS. 1 and 2.

ただし、本実施の形態の複合機100では、スプールアプリ110は設定パラメータを有しており、この設定パラメータの設定内容に従って複数の印刷データに対して単一の印刷ジョブを割り当てるか否か、分割のサイズを決定する点が実施の形態1の複合機と異なっている。   However, in the MFP 100 according to the present embodiment, the spool application 110 has a setting parameter, and whether to assign a single print job to a plurality of print data according to the setting contents of the setting parameter is divided. This is different from the multifunction machine of the first embodiment in that the size is determined.

次に、本実施の形態の複合機100によるスプール処理について説明する。図12は、本実施の形態の複合機100によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。   Next, spool processing by the multifunction peripheral 100 of this embodiment will be described. FIG. 12 is an explanatory diagram showing a data flow at the time of registration of a print job in spool processing by the multifunction peripheral 100 according to the present embodiment.

この印刷ジョブの登録処理は次のように行われる。PC190からネットワーク180経由で複合機100に対して印刷要求があると、図12に示すように、その印刷対象の印刷データをNCS130が受信する(ステップS1201)。   The print job registration process is performed as follows. When there is a print request from the PC 190 to the MFP 100 via the network 180, the NCS 130 receives the print data to be printed as shown in FIG. 12 (step S1201).

そして、印刷プロトコルに対応したNCS130の印刷プロトコル処理部131〜13Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプールアプリ110に受け渡す。具体的には、印刷プロトコル処理部131〜13Nが印刷データを共有メモリ161の書き込み領域に書き込み(ステップS1202、印刷プロトコル処理部131〜13Nが共有メモリへの書き込み通知をスプール書き込み処理部111に通知する(ステップS1203)。   Then, the logical protocol is established by the print protocol processing units 131 to 13N of the NCS 130 corresponding to the print protocol, and the data transmitted on the established session is interpreted according to the communication protocol. Then, a data portion specific to the application is extracted from the data as print data, and the print data is transferred to the spool application 110. Specifically, the print protocol processing units 131 to 13N write the print data to the write area of the shared memory 161 (step S1202, the print protocol processing units 131 to 13N notify the spool write processing unit 111 of a write notification to the shared memory). (Step S1203).

共有メモリへの書き込み通知を受信したスプール書き込み処理部111は、設定パラメータテーブル1201を参照して(ステップS1204)、該当するアプリケーションについて印刷データをどのように扱うかを判断する。そして、OSのファイルシステムで提供されるWriteシステムコールを発行して共有メモリ161の書き込み領域にある印刷データをHDD150に書き込む(ステップS1205)。このとき、参照した設定パラメータテーブルの内容に従って、複数の印刷データを一つの印刷ジョブで扱う場合には、共有メモリ161の印刷データを設定パラメータテーブル901で設定されたサイズに分割し、HDD150に格納することによって印刷ジョブの登録が行われる。この後、スプール書き込み処理部111はスプール読み出し処理部112にHDDへの書き込み通知を通知する(ステップS1206)。   The spool writing processing unit 111 that has received the notification of writing to the shared memory refers to the setting parameter table 1201 (step S1204) and determines how to handle the print data for the corresponding application. Then, a Write system call provided by the OS file system is issued to write the print data in the writing area of the shared memory 161 to the HDD 150 (step S1205). At this time, when a plurality of print data is handled by a single print job in accordance with the contents of the referenced setting parameter table, the print data in the shared memory 161 is divided into the size set in the setting parameter table 901 and stored in the HDD 150. As a result, the print job is registered. Thereafter, the spool write processing unit 111 notifies the spool read processing unit 112 of a write notification to the HDD (step S1206).

このように、印刷プロトコル処理部131〜13Nとスプール書き込み処理部111との間の印刷データの受け渡しは共有メモリ161を介して行われるようになっている。   As described above, the transfer of print data between the print protocol processing units 131 to 13N and the spool writing processing unit 111 is performed via the shared memory 161.

ここで、設定パラメータテーブル1210について説明する。図14は、設定パラメータテーブル1210の内容の一例を示す説明図である。図14に示すように、設定パラメータテーブル1210は、アプリケーション毎に、スプール領域、ファイル分割、分割単位、最大スプール数が定められている。   Here, the setting parameter table 1210 will be described. FIG. 14 is an explanatory diagram showing an example of the contents of the setting parameter table 1210. As shown in FIG. 14, the setting parameter table 1210 defines a spool area, file division, division unit, and maximum spool number for each application.

スプール領域は、印刷データを格納するHDD150内のディレクトリであり、ファイル分割は、一つの印刷ジョブに対して印刷データを分割するか否かを規定し、分割単位は分割された印刷データのサイズを規定し、最大スプール数は登録可能な印刷ジョブの数の最大値を規定したものである。   The spool area is a directory in the HDD 150 that stores print data. File division defines whether to divide print data for one print job, and the division unit is the size of the divided print data. The maximum number of spools defines the maximum number of print jobs that can be registered.

次に、かかる印刷ジョブの登録の詳細な処理について説明する。図13は、印刷ジョブ登録時のスプールアプリ110のスプール書き込み処理部111の行う処理の手順のフローチャートである。なお、NCS130の印刷プロトコル処理部131〜13Nの処理については実施の形態1と同様であるので説明を省略する。   Next, detailed processing for registering the print job will be described. FIG. 13 is a flowchart of a processing procedure performed by the spool writing processing unit 111 of the spool application 110 when registering a print job. Note that the processing of the print protocol processing units 131 to 13N of the NCS 130 is the same as that of the first embodiment, and thus description thereof is omitted.

スプール書き込み処理部111は、NCS130と接続待ち状態にあり(ステップS1301)、NCS130の印刷プロトコル処理部131〜13Nから接続要求があった場合には(ステップS1301:Yes)、接続処理を行う(ステップS1302)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。   The spool writing processing unit 111 is in a connection waiting state with the NCS 130 (step S1301), and when there is a connection request from the print protocol processing units 131 to 13N of the NCS 130 (step S1301: Yes), connection processing is performed (step S1301). S1302). Specifically, the spool write processing unit 111 transmits a connection request to the spool read processing unit 112 and receives a connection ID from the spool read processing unit 112.

次いで、スプール書き込み処理部111は、ジョブ開始処理を行う(ステップS1303)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112にコネクションIDを指定してジョブ開始要求を送信し、その結果スプール読み出し処理部112からジョブIDを受信する。また、スプール読み出し処理部112にジョブ転送開始要求も行う。   Next, the spool writing processing unit 111 performs job start processing (step S1303). Specifically, the spool write processing unit 111 transmits a job start request by specifying a connection ID to the spool read processing unit 112, and as a result, receives a job ID from the spool read processing unit 112. Also, a job transfer start request is sent to the spool read processing unit 112.

次に、スプール書き込み処理部111は、設定パラメータテーブル1210を読み出して(ステップS1304)、該当するアプリケーションについて印刷データを印刷ジョブにおける扱いを判断する。そして、HDD150上でジョブデータファイル#Nのオープン処理を行う(ステップS1305)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。その後、共有メモリ161に受信データが存在するか否かを調べる(ステップS1306)。受信データが存在する場合には(ステップS1306:Yes)、HDD150に空き領域があるか否かを調べる(ステップS1307)。   Next, the spool write processing unit 111 reads the setting parameter table 1210 (step S1304), and determines whether the print data is handled in the print job for the corresponding application. Then, the job data file #N is opened on the HDD 150 (step S1305). Specifically, this open processing is performed by issuing an Open system call provided by the OS file system. Thereafter, it is checked whether or not received data exists in the shared memory 161 (step S1306). If the received data exists (step S1306: Yes), it is checked whether or not there is a free area in the HDD 150 (step S1307).

そして、HDD150に空き領域がない場合には(ステップS1307:No)、空き領域ができるまで待ち状態となる。一方、HDD150に空き領域がある場合には、Writeシステムコールを発行して共有メモリ161にあるデータをHDD150にジョブデータファイル#Nとして書き込む(ステップS1308)。   If there is no free space in the HDD 150 (step S1307: No), the HDD 150 waits until a free space is created. On the other hand, if there is free space in the HDD 150, a Write system call is issued to write the data in the shared memory 161 to the HDD 150 as a job data file #N (step S1308).

そして、ジョブデータファイル#Nのデータサイズが設定パラメータテーブル1210の該当アプリケーション(本実施の形態ではプリンタアプリ−A)の分割サイズに達したか否かを判断する(ステップS1309)。   Then, it is determined whether or not the data size of the job data file #N has reached the division size of the corresponding application (printer application-A in the present embodiment) in the setting parameter table 1210 (step S1309).

そして、ジョブデータファイル#Nのデータサイズが設定パラメータテーブル1210に設定されている分割サイズに達していない場合には(ステップS1309:No)、ステップS1306からS1308までの処理を繰り返し行って(ステップS1309)、ジョブデータファイル#Nのデータサイズが分割サイズに達するまでジョブデータファイル#Nにデータを書き込む。   If the data size of the job data file #N has not reached the division size set in the setting parameter table 1210 (step S1309: No), the processing from step S1306 to S1308 is repeated (step S1309). ), Data is written to the job data file #N until the data size of the job data file #N reaches the division size.

HDD150へのジョブデータファイル#Nの書き込みが完了したら、スプール書き込み処理部111は、OSのファイルシステムで提供されるCloseシステムコールを発行することによってジョブデータファイル#Nのクローズ処理を行い(ステップS1310)、ジョブデータファイル#N書き込み完了処理を行う(ステップS1311)。具体的には、スプール書き込み処理部111はジョブデータファイル#N書き込み完了通知をジョブIDとともにスプール読み出し処理部112に通知する。   When the writing of the job data file #N to the HDD 150 is completed, the spool writing processing unit 111 performs a closing process of the job data file #N by issuing a Close system call provided by the OS file system (step S1310). ), Job data file #N write completion processing is performed (step S1311). Specifically, the spool write processing unit 111 notifies the spool read processing unit 112 of the job data file #N write completion notification together with the job ID.

スプールアプリ110による印刷ジョブの登録処理について説明したが、次に、印刷ジョブ登録処理時の各部の命令およびデータの流れについて説明する。図15は、印刷ジョブのジョブデータ書き込み処理のフロー図である。なお、印刷ジョブの登録時の処理は実施の形態1と同様であるので説明を省略する。   The print job registration process by the spool application 110 has been described. Next, an instruction and data flow of each unit during the print job registration process will be described. FIG. 15 is a flowchart of job data write processing of a print job. Note that the processing at the time of registering a print job is the same as that of the first embodiment, and thus description thereof is omitted.

スプール書き込み処理部111では、実施の形態1と同様に、ジョブデータ転送開始がOKの旨の通知を受信すると、設定パラメータテーブル1210を読み出し(ステップS1501)、該当するアプリケーション、この例ではプリンタアプリ−A120aに対する設定パラメータを読み込む。そして、設定パラメータテーブル1501のファイル分割が「する」に設定されている場合には、以下に説明する処理を行う。一方、ファイル分割が「しない」に設定されている場合には、実施の形態1で説明した印刷ジョブの書き込み処理と同様の処理を行う。   As in the first embodiment, when the spool writing processing unit 111 receives a notification that the job data transfer start is OK, the spool writing processing unit 111 reads the setting parameter table 1210 (step S1501), and the corresponding application, in this example, the printer application— Read the setting parameters for A120a. When the file division of the setting parameter table 1501 is set to “Yes”, the processing described below is performed. On the other hand, when the file division is set to “No”, the same process as the print job writing process described in the first embodiment is performed.

この例では、アプリケーションがプリンタアプリ−A120aの場合を説明しており、設定パラメータファイルでは、ファイル分割が「する」、分割単位が「100KB」、最大スプール数が「64」に設定されている。   In this example, the application is the printer application-A 120a. In the setting parameter file, the file division is set to “Yes”, the division unit is set to “100 KB”, and the maximum number of spools is set to “64”.

このため、スプール書き込み処理部111は、PC190から印刷データを受信するごとに、一つの印刷データが100KBのサイズとなった時点で一つのジョブデータファイルを生成することによって、複数の印刷データを一つの印刷ジョブに含める。なお、PC190から受信した印刷データが分割サイズ以上のサイズの場合には、受信した印刷データを100KBのサイズごとに分割するように構成してもよい。   For this reason, every time print data is received from the PC 190, the spool writing processing unit 111 generates one job data file when one print data reaches a size of 100 KB. In one print job. If the print data received from the PC 190 is larger than the division size, the received print data may be divided into 100 KB sizes.

次に、スプール書き込み処理部111は、ジョブデータファイル#Nのオープン命令(OSのOpenシステムコール)を発行する(ステップS1502)。なお、図15中では、ジョブデータファイル#Nとなっている。Nは1以上の整数であり、ジョブデータファイル#Nは、ジョブデータファイルである印刷データを設定パラメータテーブル901に設定されている分割サイズで分割した個々のジョブデータファイルを示すものである。   Next, the spool write processing unit 111 issues an open command (Open system call of the OS) for the job data file #N (step S1502). In FIG. 15, it is a job data file #N. N is an integer equal to or greater than 1, and job data file #N indicates individual job data files obtained by dividing print data, which is job data files, by the division size set in the setting parameter table 901.

そして、NCS130の印刷プロトコル処理部131〜13NはPC190から印刷対象の印刷データを受信し(ステップS1503)、受信した印刷データに対して対応するプロトコル処理を行って共有メモリ161に書き込み領域に印刷データを書き込む(ステップS1504)。印刷プロトコル処理部131〜13Nは共有メモリ161への書き込みが終了したら、共有メモリデータ書き込み通知をスプール書き込み処理部111に通知する(ステップS1505)。   The print protocol processing units 131 to 13N of the NCS 130 receive the print data to be printed from the PC 190 (step S1503), perform corresponding protocol processing on the received print data, and print the print data in the write area in the shared memory 161. Is written (step S1504). When the writing to the shared memory 161 is completed, the print protocol processing units 131 to 13N notify the spool writing processing unit 111 of a shared memory data write notification (step S1505).

共有メモリデータ書き込み通知を受信したスプール書き込み処理部111は、OSのファイルシステムが提供するWriteシステムコールを発行することによって、共有メモリ161に格納されている印刷データをジョブデータファイル#NとしてHDD150に格納する(ステップS1506)。そして、スプール書き込み処理部111は、印刷プロトコル処理部131〜13Nに共有メモリ161へのデータ読み出し通知を送信する(ステップS1507)。このようなステップS1503〜ステップS1507までの処理を、ジョブデータファイル#Nのサイズが設定パラメータテーブル1210の分割サイズ分になるまで、繰り返し行う。   Upon receiving the shared memory data write notification, the spool write processing unit 111 issues a Write system call provided by the OS file system, and print data stored in the shared memory 161 is stored in the HDD 150 as a job data file #N. Store (step S1506). Then, the spool write processing unit 111 transmits a data read notification to the shared memory 161 to the print protocol processing units 131 to 13N (step S1507). Such processes from step S1503 to step S1507 are repeated until the size of the job data file #N reaches the division size of the setting parameter table 1210.

次に、スプール書き込み処理部111は、ジョブデータファイル#Nのクローズ命令(OSのCloseシステムコール)を発行し(ステップS1508)、分割されたジョブデータファイル#NがHDD150に生成されることになる。このため、スプール書き込み処理部111は、ジョブデータファイル#N書き込み完了通知をジョブIDとともにスプール読み出し処理部112に送信する(ステップS1509)。   Next, the spool writing processing unit 111 issues a close instruction (close system call of the OS) of the job data file #N (step S1508), and the divided job data file #N is generated in the HDD 150. . Therefore, the spool write processing unit 111 transmits a job data file #N write completion notification together with the job ID to the spool read processing unit 112 (step S1509).

スプール読み出し処理部112とプリンタアプリ−A120aでは、通知のあったジョブデータファイル#Nの読み出し処理を行い(ステップS1510)、読み出しが完了したら、ジョブデータファイル#N読み出し完了通知をジョブIDとともにスプール書き込み処理部111に送信する(ステップS1511)。なお、スプール読み出し処理部112とプリンタアプリ−A120aでは、通知のあったジョブデータファイル#Nの読み出し処理については後述する。   The spool reading processing unit 112 and the printer application-A 120a read the notified job data file #N (step S1510). When the reading is completed, the job data file #N reading completion notification is written together with the job ID into the spool writing. The data is transmitted to the processing unit 111 (step S1511). The spool read processing unit 112 and the printer application-A 120a will be described later with reference to the job data file #N that has been notified.

上記ステップS1502からS1511までの処理を、PC190からデータ送信が完了するまで繰り返す。繰り返す場合には、#Nの値を1だけ増加して行う。これにより、複数のジョブデータファイル#NがHDD150に生成される。   The processes from steps S1502 to S1511 are repeated until data transmission from the PC 190 is completed. When repeating, increase the value of #N by 1. As a result, a plurality of job data files #N are generated in the HDD 150.

PC190は印刷対象のすべての印刷データの送信が完了すると、データ送信完了通知を複合機100に送信する(ステップS1512)。複合機100では、印刷プロトコル処理部131〜13Nによってかかる通知を受信し、全データ書き込み完了通知をスプール書き込み処理部111に送信する(ステップS1513)。スプール書き込み処理部111は、全データ書き込み完了通知を受信すると、スプール読み出し処理部112に対して全ジョブデータファイル書き込み完了通知を送信する(ステップS1514)。   When the transmission of all print data to be printed is completed, the PC 190 transmits a data transmission completion notification to the multi-function device 100 (step S1512). In the multifunction device 100, the print protocol processing units 131 to 13N receive the notification, and transmit an all data writing completion notification to the spool writing processing unit 111 (step S1513). Upon receiving the all data writing completion notification, the spool writing processing unit 111 transmits an all job data file writing completion notification to the spool reading processing unit 112 (step S1514).

次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図16は、本実施の形態の複合機100によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。この印刷ジョブの実行処理は次のように行われる。   Next, the reading process of the print job registered as described above will be described. FIG. 16 is an explanatory diagram illustrating a data flow when a print job is read in the spool processing by the multifunction peripheral 100 according to the present embodiment. The print job execution process is performed as follows.

スプール書き込み処理部111からスプール読み出し処理部112に分割されたジョブデータファイル#N書き込み完了通知が行われると(ステップS1601)、スプール読み出し部112は、HDD150に格納されている該当するジョブIDのジョブデータファイル#N(図16では#1の例を示す)を、OSが提供するWriteシステムコールを発行することにより、共有メモリ161の読み出し領域に格納する(ステップS1602)。その後、スプール読み出し部112は共有メモリデータ書き込み通知をプリンタアプリ−A120aに送信する(ステップS1603)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは、OSが提供するReadシステムコールを発行することにより、共有メモリの読み出し領域から印刷データを読み出して(ステップS1604)、印刷処理を行う。   When notification of completion of writing of the job data file #N divided from the spool writing processing unit 111 to the spool reading processing unit 112 is made (step S1601), the spool reading unit 112 reads the job with the corresponding job ID stored in the HDD 150. The data file #N (the example of # 1 in FIG. 16) is stored in the read area of the shared memory 161 by issuing a Write system call provided by the OS (step S1602). Thereafter, the spool reading unit 112 transmits a shared memory data write notification to the printer application-A 120a (step S1603). Upon receiving the shared memory data write notification, the printer application-A 120a issues a Read system call provided by the OS to read the print data from the read area of the shared memory (step S1604), and performs the printing process.

このように、スプール読み出し処理部112とプリンタアプリ−A120aとの間の印刷データの受け渡しは共有メモリ161を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。   As described above, the transfer of print data between the spool read processing unit 112 and the printer application-A 120a is performed via the shared memory 161. Therefore, an application that is not directly affected by hardware changes. Data can be exchanged between them.

次に、かかる印刷ジョブの読み出しの詳細な処理について説明する。図17は、スプール読み出し処理部112による印刷ジョブの読み出し処理の手順を示すフローチャートである。   Next, a detailed process of reading the print job will be described. FIG. 17 is a flowchart illustrating a procedure of print job read processing by the spool read processing unit 112.

スプール読み出し処理部112は、スプール書き込み処理部111と接続待ち状態にあり(ステップS1701)、スプール書き込み処理部111から接続要求があった場合には(ステップS1701:Yes)、接続処理を行う(ステップS1702)。具体的には、スプール読み出し処理部112は、印刷プロトコル処理部による受信データの解釈によって処理を行うアプリケーションのアプリID(本実施の形態ではプリンタアプリ−A120aのアプリID)を指定してアプリケーション(プリンタアプリ−A120a)に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。   The spool read processing unit 112 is in a connection waiting state with the spool write processing unit 111 (step S1701), and when there is a connection request from the spool write processing unit 111 (step S1701: Yes), connection processing is performed (step S1701). S1702). Specifically, the spool read processing unit 112 designates an application ID (application ID of the printer application-A 120a in the present embodiment) of an application that performs processing by interpreting received data by the print protocol processing unit, and the application (printer). A connection request is transmitted to the application-A 120 a), and a connection ID is received from the spool read processing unit 112.

次いで、スプール読み出し処理部112は、ジョブ開始処理を行う(ステップS1703)。具体的には、スプール読み出し処理部112は、アプリケーションにコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果アプリケーションからジョブIDを受信する。また、スプール読み出し処理部112はHDD150からジョブ情報ファイルの読み出し処理、アプリケーションに対するジョブ情報設定も行う。   Next, the spool read processing unit 112 performs job start processing (step S1703). Specifically, the spool read processing unit 112 transmits a job start request specifying a connection ID and a transfer method to the application, and receives a job ID from the application as a result. The spool read processing unit 112 also performs a job information file read process from the HDD 150 and sets job information for an application.

次に、スプール読み出し処理部112は、ジョブデータファイル#Nの書き込み完了通知待ちの状態となり(ステップS1704)、ジョブデータファイル#Nの書き込み完了通知を受信すると(ステップS1704:Yes)、HDD150のジョブデータファイル#Nのオープン処理を行う(ステップS1705)このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に空き領域があるかを調べる(ステップS1706)。   Next, the spool read processing unit 112 waits for a job data file #N write completion notification (step S1704), and upon receiving a job data file #N write completion notification (step S1704: Yes), the job of the HDD 150 is processed. The data file #N is opened (step S1705). Specifically, this open process is performed by issuing an Open system call provided by the OS file system. Then, it is checked whether there is a free area in the shared memory 161 (step S1706).

そして、共有メモリ161に空き領域がない場合には(ステップS1706:Yes)、空き領域ができるまで待ち状態となる。一方、共有メモリ161に空き領域がある場合には、HDD150からジョブデータファイルの内容を読み出し(ステップS1707)、読み出したジョブデータファイル#Nの内容を共有メモリ161の読み出し領域に書き込む(ステップS1708)。   If there is no free area in the shared memory 161 (step S1706: Yes), the process waits until a free area is created. On the other hand, if there is a free area in the shared memory 161, the contents of the job data file are read from the HDD 150 (step S1707), and the contents of the read job data file #N are written to the read area of the shared memory 161 (step S1708). .

そして、ステップS1706からS1708までの処理を、ジョブデータファイルのEOF(End Of File)が検出されるまで繰り返し行う(ステップS1709)。   Then, the processing from step S1706 to S1708 is repeated until EOF (End Of File) of the job data file is detected (step S1709).

共有メモリ161へのジョブデータファイルの書き込みが完了したら、スプール読み出し処理部112は、OSのファイルシステムで提供されるCloseシステムコールを発行することによってジョブデータファイルのクローズ処理を行い(ステップS1710)、データ書き込み完了処理を行う(ステップS1711)。具体的には、スプール読み出し処理部112は、アプリケーションにデータ書き込み通知を通知する。   When the writing of the job data file to the shared memory 161 is completed, the spool read processing unit 112 performs a job data file closing process by issuing a Close system call provided by the OS file system (step S1710). Data write completion processing is performed (step S1711). Specifically, the spool read processing unit 112 notifies the application of a data write notification.

そして、このようなステップS1704からS1711までの処理を、HDD150に保存されている全てのジョブデータファイル#Nの内容を読み出すまで繰り返し行う(ステップS1712)。全てのジョブデータファイル#Nの内容を読み出したら、全ジョブデータファイル読み出し完了処理を行う(ステップS1713)。具体的には、スプール読み出し処理部112は、全ファイル読み出し完了通知をスプール書き込み処理部111に通知する。   The processes from step S1704 to S1711 are repeated until the contents of all job data files #N stored in the HDD 150 are read (step S1712). When the contents of all job data files #N are read, all job data file read completion processing is performed (step S1713). Specifically, the spool read processing unit 112 notifies the spool write processing unit 111 of an all file read completion notification.

図18は、上述した印刷ジョブのジョブデータ読み出し処理におけるデータ、命令の流れを示すデータフロー図である。   FIG. 18 is a data flow diagram showing the flow of data and instructions in the job data reading process of the print job described above.

スプール読み出し処理部112は、スプール書き込み処理部111からジョブデータファイル#N書き込み完了通知を受信すると(ステップS1801)、HDD150のジョブデータファイル#N(印刷データ)のオープン命令(OSのOpenシステムコール)を発行する(ステップS1802)。次に、スプール読み出し処理部112は、HDD150からオープンしたジョブデータファイルの読み出しを行い(ステップS1803)、読み出したデータを共有メモリ161の読み出し領域に書き込む(ステップS1804)。   When the spool read processing unit 112 receives a job data file #N write completion notification from the spool write processing unit 111 (step S1801), the spool data read processing unit 112 opens a job data file #N (print data) in the HDD 150 (Open system call of the OS). Is issued (step S1802). Next, the spool read processing unit 112 reads the job data file opened from the HDD 150 (step S1803), and writes the read data in the read area of the shared memory 161 (step S1804).

次に、スプール読み出し処理部112は、プリンタアプリ−A120aに対して共有メモリデータ書き込み通知を送信する(ステップS1805)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは共有メモリ161の読み出し領域から印刷データを読み出す(ステップS1806)。ここで、かかる読み出しは、共有メモリの管理テーブルに登録されている先頭アドレスの位置から管理テーブルに登録されたサイズ分のデータを読み出すことによって行われる。そして、プリンタアプリ−A120aは、共有メモリデータ読み出し通知をスプール読み出し処理部112に送信する(ステップS1807)。   Next, the spool read processing unit 112 transmits a shared memory data write notification to the printer application-A 120a (step S1805). The printer application-A 120a that has received the shared memory data write notification reads print data from the read area of the shared memory 161 (step S1806). Here, such reading is performed by reading data corresponding to the size registered in the management table from the position of the head address registered in the management table of the shared memory. Then, the printer application-A 120a transmits a shared memory data read notification to the spool read processing unit 112 (step S1807).

そして、ジョブデータファイル#Nの全てのレコードの読み出しが完了するまで、ステップS1803からステップS1807までの処理を繰り返し行う。   The processes from step S1803 to step S1807 are repeated until reading of all the records of job data file #N is completed.

プリンタアプリA−120aはジョブデータファイル#Nの全てのレコードの読み出しが完了したら、スプール読み出し処理部112に対してジョブデータファイル#N読み出し完了通知を送信する(ステップS1808)。スプール読み出し処理部112は、ジョブデータファイル#N読み出し完了通知を受信すると、ジョブデータファイル#Nのクローズ命令(OSのCloseシステムコール)を発行する(ステップS1309)。これによって、分割されたジョブデータファイル#Nの読み出し処理が完了する。そして、分割されたすべてのジョブデータファイル#Nについて、上記ステップS1801からS1809までの処理を繰り返す。   When the printer application A-120a completes reading all the records of the job data file #N, the printer application A-120a transmits a job data file #N read completion notification to the spool read processing unit 112 (step S1808). Upon receiving the job data file #N read completion notification, the spool read processing unit 112 issues a close instruction (OS Close system call) for the job data file #N (step S1309). Thereby, the read processing of the divided job data file #N is completed. Then, the processing from steps S1801 to S1809 is repeated for all the divided job data files #N.

すべてのジョブデータファイル#Nについての読み出し処理が完了したら、全ジョブデータファイル読み出し完了通知をその処理結果と共にスプール読み出し処理部112を送信する(ステップS1810)。全ジョブデータファイル読み出し完了通知を受信したスプール読み出し処理部112は、全ファイル読み出し完了通知をスプール書き込み処理部111に送信し(ステップS1811)、全ファイル読み出し完了通知を受信したスプール書き込み処理部111は、全データ読み出し完了通知を印刷プロトコル処理部131〜13Nに送信する(ステップS1812)。これにより、プリンタアプリA−120aによる印刷データの読み出し処理が完了し、プリンタアプリA−120aによる印刷処理が実行される。なお、印刷ジョブの終了処理については実施の形態1で説明した処理と同様に行われる。   When the reading process for all job data files #N is completed, a notification of completion of reading all job data files is sent to the spool reading processing unit 112 together with the processing result (step S1810). The spool read processing unit 112 that has received the all job data file read completion notification transmits the all file read completion notification to the spool write processing unit 111 (step S1811), and the spool write processing unit 111 that has received the all file read completion notification The all data reading completion notification is transmitted to the print protocol processing units 131 to 13N (step S1812). Thus, the print data read process by the printer application A-120a is completed, and the print process by the printer application A-120a is executed. Note that the print job end process is the same as the process described in the first embodiment.

このように実施の形態2の複合機100では、スプール読み出し処理部112によって、印刷データを、印刷プロトコル処理部131〜13Nとは別個に、分割された複数の印刷データを、HDD150から読み出しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリ110の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層の印刷プロトコル処理部131〜13Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、コントロール層の印刷プロトコル処理部131〜13Nを変更すれば、アプリケーション層のスプールアプリ110のプログラム変更は必要がない。このためハードウェア等の変更の影響を受けない部分であるスプールアプリ110をアプリケーション層に、ハードウェア等の変更の影響を受ける部分である印刷プロトコル処理部131〜13Nをコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。   As described above, in the MFP 100 according to the second embodiment, the spool read processing unit 112 reads the print data from the HDD 150 separately from the print protocol processing units 131 to 13N. Therefore, even if there is a change in the spool processing that does not affect the hardware, if the spool application 110 in the application layer that does not affect the hardware is corrected, the print protocol processing unit 131 in the control service layer that affects the hardware. There is no need to modify ~ 13N for each protocol. Further, even when there is a change in the hardware interface due to the addition of a new hardware resource such as an SD card, the program of the spool application 110 in the application layer can be changed by changing the print protocol processing units 131 to 13N in the control layer. No change is necessary. Therefore, a configuration in which the spool application 110 that is not affected by changes in hardware or the like is separated into the application layer, and the print protocol processing units 131 to 13N that are affected by changes in hardware or the like are separated into the control layer and As a result, efficient program development can be performed.

また、本実施の形態によれば、スプールアプリ110は印刷プロトコル処理部131〜13Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。   Further, according to the present embodiment, the spool application 110 is a functionally independent means different from the print protocol processing units 131 to 13N, and therefore, by issuing a system call provided by the OS for passing data between applications. This can be done via a shared memory, and print data can be passed between applications that are not directly affected by hardware changes.

(実施の形態3)
実施の形態1および2では、複合機100において本発明のスプール処理を実行するものであったが、この実施の形態3は本発明のスプール処理をプリンタサーバで実行するものである。
(Embodiment 3)
In the first and second embodiments, the spool processing of the present invention is executed in the multifunction peripheral 100. However, in the third embodiment, the spool processing of the present invention is executed by a printer server.

図19は、実施の形態3のプリンタシステムのネットワーク構成とプリンタサーバの機能的構成を示すブロック図である。図19に示すように、本実施の形態では、プリンタサーバ1900と、PC190と、プリンタ装置1990がEthernet(R)などのネットワーク180で接続されている。   FIG. 19 is a block diagram illustrating a network configuration of the printer system according to the third embodiment and a functional configuration of the printer server. As shown in FIG. 19, in this embodiment, a printer server 1900, a PC 190, and a printer device 1990 are connected via a network 180 such as Ethernet (R).

PC190は通常のコンピュータであり、本発明におけるクライアント端末を構成する。すなわち、本実施の形態のプリンタサーバ1900は、PC190をクライアントとしたサーバとして動作するようになっている。   The PC 190 is a normal computer and constitutes a client terminal in the present invention. In other words, the printer server 1900 according to the present embodiment operates as a server using the PC 190 as a client.

本実施の形態のプリンタサーバ1900は、本発明における情報処理装置を構成するものであり、スプール処理部1910と、印刷処理部1920と、ネットワーク処理部1930とを主に備えている。   The printer server 1900 of this embodiment constitutes an information processing apparatus according to the present invention, and mainly includes a spool processing unit 1910, a print processing unit 1920, and a network processing unit 1930.

この他、プリンタサーバ1900は、OS1940と、HDD1950と、RAM1960と、Ethernet(R)ケーブルを接続するネットワークカード1970が設けられている。   In addition, the printer server 1900 is provided with an OS 1940, an HDD 1950, a RAM 1960, and a network card 1970 for connecting an Ethernet (R) cable.

スプール処理部1910は、従来の印刷プロトコル処理部内部で行っていたスプール機能を、印刷プロトコル処理部1931〜193Nとは別個に設けて実行するものである。このスプール処理部1910は、スプール書き込み処理部1911とスプール読み出し処理部1912とスプール転送I/F部1915とメモリ転送I/F部1914とHDD−I/F部1913と、を主に備えている。ここで、スプール読み出し処理部1912は本発明におけるスプール読み出し手段を構成する。   The spool processing unit 1910 executes a spool function that has been performed in the conventional print protocol processing unit separately from the print protocol processing units 1931 to 193N. The spool processing unit 1910 mainly includes a spool write processing unit 1911, a spool read processing unit 1912, a spool transfer I / F unit 1915, a memory transfer I / F unit 1914, and an HDD-I / F unit 1913. . Here, the spool reading processing unit 1912 constitutes a spool reading means in the present invention.

スプール書き込み処理部1911は、PC190から印刷要求があった場合に、印刷ジョブを生成して、印刷対象の印刷データを印刷プロトコル処理部1931〜193Nから共有メモリ1961を介してHDD1950に格納するものである。   The spool write processing unit 1911 generates a print job when a print request is received from the PC 190, and stores print data to be printed from the print protocol processing unit 1931 to 193N in the HDD 1950 via the shared memory 1961. is there.

スプール読み出し部処理1912は、印刷ジョブの実行時に、HDD1950に格納されている印刷ジョブに対応する印刷データを読み出して、共有メモリを介して印刷処理部1920に受け渡すものである。   The spool reading unit process 1912 reads out print data corresponding to a print job stored in the HDD 1950 when the print job is executed, and passes the print data to the print processing unit 1920 via the shared memory.

スプール転送I/F部1915は、スプール処理の際のデータの転送を制御するものである。メモリ転送I/F部1914は、RAM1960等のメモリ、あるいは共有メモリ1961へのアクセスを制御するものである。HDD−I/F部1913は、HDD1950に対するアクセスを制御するものである。   The spool transfer I / F unit 1915 controls data transfer during spool processing. The memory transfer I / F unit 1914 controls access to a memory such as the RAM 1960 or the shared memory 1961. The HDD-I / F unit 1913 controls access to the HDD 1950.

本実施の形態では、記憶手段のインタフェースとしてメモリ転送I/F部1914とHDD−I/F部1913しかないが、例えばSDカードのような他の記憶手段が搭載された場合には、SDカードに対するアクセスを制御するSDカードI/F部を設ける。このようにハードウェアに固有の処理を行う部分がアプリケーション層のスプール処理部1910に設けられているため、HDD1950等の記憶手段の変更、あるいは新たなハードウェアの追加などによりインタフェースに変更がある場合には、スプール処理部1910を変更すれば、印刷プロトコル処理部1931〜193Nのそれぞれに修正を加える必要がなくなり、プログラム開発の効率化を図ることができる。   In this embodiment, only the memory transfer I / F unit 1914 and the HDD-I / F unit 1913 are provided as interfaces of the storage means. However, when other storage means such as an SD card is mounted, the SD card An SD card I / F unit for controlling access to the card is provided. As described above, since a part that performs processing specific to hardware is provided in the spool processing unit 1910 in the application layer, the interface is changed due to a change in storage means such as the HDD 1950 or addition of new hardware. In other words, if the spool processing unit 1910 is changed, it is not necessary to modify each of the print protocol processing units 1931 to 193N, and the efficiency of program development can be improved.

ネットワーク処理部1930は、ネットワーク側から各プロトコルによって受信したデータを処理するものである。ネットワーク処理部1930は、複数の印刷プロトコル処理部1931〜193Nと、ネットワーク管理部1935と、メモリ転送I/F部1939と、ネットワークI/F部1937を主に備えた構成となっている。ここで、印刷プロトコル処理部1931〜193Nは本発明におけるプロトコル処理手段を構成する。   The network processing unit 1930 processes data received by each protocol from the network side. The network processing unit 1930 mainly includes a plurality of print protocol processing units 1931 to 193N, a network management unit 1935, a memory transfer I / F unit 1939, and a network I / F unit 1937. Here, the print protocol processing units 1931 to 193N constitute protocol processing means in the present invention.

複数の印刷プロトコル処理部1931〜193Nの各々は、各種通信プロトコルに従った処理を行うものであり、各プロトコルに対応して存在する。具体的には、印刷プロトコル処理部131〜13Nは、ネットワークI/F部1937を介してネットワーク上180のPC190等からデータを受信し、論理セッションの確立および開放を行うとともに、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈し、する。そして、解釈したデータからアプリケーション固有のデータ部分を抽出して、印刷処理部1920に受け渡す。ここで、このような通信プロトコルとしては実施の形態1で説明したものと同様である。   Each of the plurality of print protocol processing units 1931 to 193N performs processing according to various communication protocols, and exists corresponding to each protocol. Specifically, the print protocol processing units 131 to 13N receive data from the PC 190 or the like on the network 180 via the network I / F unit 1937, and establish and release a logical session. Interpret the data sent by, according to the communication protocol. Then, a data portion specific to the application is extracted from the interpreted data and transferred to the print processing unit 1920. Here, such a communication protocol is the same as that described in the first embodiment.

ネットワーク管理部1935は、TCP/IP、httpなどのプロトコルに従ってネットワークに関する処理を行うものである。   The network management unit 1935 performs processing related to the network in accordance with protocols such as TCP / IP and http.

印刷処理部1920は、例えばプリンタドライバなどであり、PC190から受信した印刷データを印刷対象のプリンタ装置1990に依存する印刷形式のデータに変換する等の処理を行う。   The print processing unit 1920 is, for example, a printer driver or the like, and performs processing such as converting print data received from the PC 190 into print format data depending on the printer device 1990 to be printed.

本実施形態のプリンタサーバ1900は、CPUなどの制御装置と、HDD1950などの記録装置と、RAM1960等の記憶装置と、ネットワークカード1970等の通信装置とが接続されており、コンピュータを利用した通常の構成である。   The printer server 1900 of this embodiment is connected to a control device such as a CPU, a recording device such as an HDD 1950, a storage device such as a RAM 1960, and a communication device such as a network card 1970, and is connected to a normal computer using a computer. It is a configuration.

尚、本実施形態のプリンタサーバ1900で実行されるスプール処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フロッピー(R)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。   The spool processing program executed by the printer server 1900 of the present embodiment is an installable or executable file that can be read by a computer such as a CD-ROM, floppy (R) disk (FD), or DVD. Recorded on a simple recording medium.

また、本実施形態のスプール処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のC言語プログラム生成プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。   In addition, the spool processing program of the present embodiment may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. Further, the C language program generation program of the present embodiment may be provided or distributed via a network such as the Internet.

本実施形態にかかるスプール処理プログラムは、プリンタサーバ1400で上記記憶媒体から読み出して実行することにより主記憶装置上にロードされ、上記機能的構成で説明した各部が主記憶装置上に生成されるようになっている。   The spool processing program according to the present embodiment is loaded on the main storage device by being read from the storage medium and executed by the printer server 1400, and the respective units described in the functional configuration are generated on the main storage device. It has become.

次に、以上のように構成された本実施の形態のプリンタサーバ1900によるスプール処理について説明する。図20は、本実施の形態のプリンタサーバ1900によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。   Next, the spool processing by the printer server 1900 of the present embodiment configured as described above will be described. FIG. 20 is an explanatory diagram showing a data flow when registering a print job in spool processing by the printer server 1900 of this embodiment.

この印刷ジョブの登録処理は次のように行われる。PC190からネットワーク180経由でプリンタサーバ1900に対して印刷要求があると、図20に示すように、その印刷対象の印刷データをネットワーク処理部1930の印刷プロトコル処理部1931〜193Nが受信する(ステップS1901)。   The print job registration process is performed as follows. When there is a print request from the PC 190 to the printer server 1900 via the network 180, as shown in FIG. 20, the print protocol processing units 1931 to 193N of the network processing unit 1930 receive the print data to be printed (step S1901). ).

そして、通信プロトコルに対応した印刷プロトコル処理部1931〜193Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプール書き込み処理部1911に受け渡す。具体的には、印刷プロトコル処理部1931〜193Nが印刷データを共有メモリ1961の書き込み領域に書き込み(ステップS2002)、印刷プロトコル処理部1931〜193Nが共有メモリへの書き込み通知をスプール書き込み処理部1911に通知する(ステップS2003)。   Then, a logical session is established by the print protocol processing units 1931 to 193N corresponding to the communication protocol, and data transmitted on the established session is interpreted according to the communication protocol. Then, a data portion specific to the application is extracted from the data as print data, and the print data is transferred to the spool write processing unit 1911. Specifically, the print protocol processing units 1931 to 193N write the print data to the write area of the shared memory 1961 (step S2002), and the print protocol processing units 1931 to 193N send a write notification to the shared memory to the spool write processing unit 1911. Notification is made (step S2003).

共有メモリ1961への書き込み通知を受信したスプール書き込み処理部1911は、OS1940のファイルシステムが提供するWriteシステムコールによって共有メモリ1961の書き込み領域の印刷データをHDD1950に格納する(ステップS2004)。これによって印刷ジョブの登録が行われる。この後、スプール書き込み処理部1911はスプール読み出し処理部1912にHDD1950への書き込み通知を通知する(ステップS2006)。   The spool writing processing unit 1911 that has received the notification of writing to the shared memory 1961 stores the print data in the writing area of the shared memory 1961 in the HDD 1950 by the Write system call provided by the file system of the OS 1940 (step S2004). As a result, the print job is registered. Thereafter, the spool write processing unit 1911 notifies the spool read processing unit 1912 of a write notification to the HDD 1950 (step S2006).

このように、印刷プロトコル処理部1931〜193Nとスプール書き込み処理部1911との間の印刷データの受け渡しは共有メモリ1961を介して行われるようになっている。印刷ジョブの登録の詳細な処理については実施の形態1と同様であるため説明を省略する。   As described above, the transfer of print data between the print protocol processing units 1931 to 193N and the spool writing processing unit 1911 is performed via the shared memory 1961. The detailed processing for registering the print job is the same as that in the first embodiment, and a description thereof will be omitted.

次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図21は、本実施の形態のプリンタサーバ1900によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。この印刷ジョブの実行処理は次のように行われる。   Next, the reading process of the print job registered as described above will be described. FIG. 21 is an explanatory diagram showing the flow of data when a print job is read in the spool processing by the printer server 1900 of this embodiment. The print job execution process is performed as follows.

スプール書き込み処理部1911からスプール読み出し処理部1912にジョブデータ書き込み完了通知が行われると(ステップS2101)、スプール読み出し処理部1912は、HDD1950から該当するジョブIDのジョブデータファイル(印刷データ)を、OSが提供するWriteシステムコールを発行することにより、共有メモリ1961の読み出し領域に格納する(ステップS2102)。その後、スプール読み出し処理部1912は共有メモリデータ書き込み通知を印刷処理部1920に送信する(ステップS2103)。共有メモリデータ書き込み通知を受信した印刷処理部1920は、OSが提供するReadシステムコールを発行することにより、共有メモリ1961の読み出し領域から印刷データを読み出して(ステップS2104)、印刷処理を行う。   When a job data write completion notification is sent from the spool write processor 1911 to the spool read processor 1912 (step S2101), the spool read processor 1912 sends the job data file (print data) of the corresponding job ID from the HDD 1950 to the OS. Is stored in the read area of the shared memory 1961 (step S2102). Thereafter, the spool read processing unit 1912 transmits a shared memory data write notification to the print processing unit 1920 (step S2103). Upon receiving the shared memory data write notification, the print processing unit 1920 issues a Read system call provided by the OS, reads print data from the read area of the shared memory 1961 (step S2104), and performs print processing.

このように、スプール読み出し処理部1912と印刷処理部1920との間の印刷データの受け渡しは共有メモリ1961を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。なお、かかる印刷ジョブの読み出しの詳細な処理については実施の形態1と同様であるため説明を省略する。   As described above, the transfer of print data between the spool read processing unit 1912 and the print processing unit 1920 is performed via the shared memory 1961. Therefore, an application that is not directly affected by hardware changes. Data can be exchanged between them. Note that the detailed processing for reading out the print job is the same as that in the first embodiment, and thus description thereof is omitted.

このように実施の形態3のプリンタサーバ1900では、スプール読み出し処理部1912によって、印刷プロトコル処理部1931〜193Nとは別個に、HDD1950に記憶された印刷ジョブに含まれる印刷データを印刷処理部1920に受け渡しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないスプール書き込み処理部1911の修正を行えば、ハードウェアに影響を及ぼす印刷プロトコル処理部1931〜193Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、印刷プロトコル処理部1931〜193Nを変更すれば、スプール書き込み処理部1911のプログラム変更は必要がない。このため効率的なプログラム開発を行うことができる。   As described above, in the printer server 1900 according to the third embodiment, the spool read processing unit 1912 causes the print data included in the print job stored in the HDD 1950 to be sent to the print processing unit 1920 separately from the print protocol processing units 1931 to 193N. Therefore, if the spool write processing unit 1911 that does not affect the hardware is modified even if the spool processing that does not affect the hardware is changed, the print protocol processing units 1931 to 193N that affect the hardware are performed. Need not be modified for each protocol. Further, even when there is a change in the hardware interface due to the addition of a new hardware resource such as an SD card, for example, if the print protocol processing units 1931 to 193N are changed, it is necessary to change the program of the spool writing processing unit 1911. Absent. Therefore, efficient program development can be performed.

また、本実施の形態によれば、スプール読み出し処理部1912は印刷プロトコル処理部1931〜193Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。   Further, according to the present embodiment, since the spool read processing unit 1912 is a functionally independent means different from the print protocol processing units 1931 to 193N, a system call provided by the OS for passing data between applications is provided. Issuing can be performed via the shared memory, and print data can be transferred between applications that are not directly affected by hardware changes.

なお、本実施の形態のプリンタサーバ1900では、一つの印刷ジョブで単一の印刷データを扱っているが、印刷データを分割して一つの印刷ジョブで複数の印刷データを扱うように構成しても良い。   In the printer server 1900 of this embodiment, a single print job handles a single print data. However, the print data is divided so that a single print job can handle a plurality of print data. Also good.

以上のように、本発明にかかるスプール処理方法、その方法をコンピュータに実行させるプログラム、画像形成装置および情報処理装置は、プリンタ装置、プリンタサーバ、プリンタ機能を含む複合機に適している。   As described above, the spool processing method according to the present invention, the program for causing a computer to execute the method, the image forming apparatus, and the information processing apparatus are suitable for a multifunction peripheral including a printer apparatus, a printer server, and a printer function.

実施の形態1の複合機の主要構成およびネットワーク構成を示すブロック図である。1 is a block diagram illustrating a main configuration and a network configuration of a multifunction machine according to a first embodiment. 実施の形態1の複合機の全体構成を示すブロック図である。1 is a block diagram illustrating an overall configuration of a multifunction machine according to a first embodiment. 実施の形態1の複合機によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。FIG. 6 is an explanatory diagram illustrating a data flow when registering a print job in spool processing by the multifunction peripheral according to the first embodiment. 印刷ジョブの登録時のNCSの印刷プロトコル処理部が行う処理の手順を示すフローチャートである。6 is a flowchart illustrating a procedure of processing performed by a print protocol processing unit of the NCS when registering a print job. 印刷ジョブ登録時のスプールアプリのスプール書き込み処理部の行う処理の手順のフローチャートである。10 is a flowchart of a processing procedure performed by a spool writing processing unit of a spool application when registering a print job. 印刷ジョブ登録処理のデータフロー図である。FIG. 9 is a data flow diagram of print job registration processing. 印刷ジョブのジョブデータ書き込み処理のデータフロー図である。FIG. 10 is a data flow diagram of job data write processing of a print job. 実施の形態1の複合機によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。6 is an explanatory diagram illustrating a data flow when a print job is read in spool processing by the multifunction peripheral according to the first embodiment. FIG. スプール読み出し処理部による印刷ジョブの読み出し処理の手順を示すフローチャートである。6 is a flowchart illustrating a procedure of print job read processing by a spool read processing unit. 印刷ジョブのジョブデータ読み出し処理におけるデータ、命令の流れを示すデータフロー図である。FIG. 7 is a data flow diagram illustrating a flow of data and commands in a job data read process of a print job. 印刷ジョブの終了処理における命令の流れを示すフロー図である。FIG. 9 is a flowchart showing a flow of instructions in a print job end process. 実施の形態2の複合機によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。FIG. 10 is an explanatory diagram illustrating a data flow when a print job is registered in spool processing by the multifunction peripheral according to the second embodiment. 印刷ジョブ登録時のスプールアプリのスプール書き込み処理部の行う処理の手順のフローチャートである。10 is a flowchart of a processing procedure performed by a spool writing processing unit of a spool application when registering a print job. 設定パラメータテーブルの内容の一例を示す説明図である。It is explanatory drawing which shows an example of the content of a setting parameter table. 印刷ジョブのジョブデータ書き込み処理のフロー図である。FIG. 9 is a flowchart of job data write processing for a print job. 実施の形態2の複合機によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。FIG. 10 is an explanatory diagram illustrating a data flow when a print job is read in spool processing by the multifunction peripheral according to the second embodiment. スプール読み出し処理部による印刷ジョブの読み出し処理の手順を示すフローチャートである。6 is a flowchart illustrating a procedure of print job read processing by a spool read processing unit. 印刷ジョブのジョブデータ読み出し処理におけるデータ、命令の流れを示すデータフロー図である。FIG. 7 is a data flow diagram illustrating a flow of data and commands in a job data read process of a print job. 実施の形態3のプリンタシステムのネットワーク構成とプリンタサーバの機能的構成を示すブロック図である。FIG. 10 is a block diagram illustrating a network configuration of a printer system according to a third embodiment and a functional configuration of a printer server. 実施の形態3のプリンタサーバによるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。FIG. 10 is an explanatory diagram illustrating a data flow when a print job is registered in spool processing by the printer server according to the third embodiment. 実施の形態3のプリンタサーバによるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。FIG. 10 is an explanatory diagram illustrating a data flow when a print job is read in spool processing by the printer server according to the third embodiment. 従来の複合機におけるスプール処理に関連する機能的構成を示すブロック図である。It is a block diagram which shows the functional structure relevant to the spool process in the conventional multifunction device.

符号の説明Explanation of symbols

100 複合機
110 スプールアプリ
111,1911 スプール書き込み処理部
112,1912 スプール読み出し処理部
113,1913 HDD−I/F部
114,139,1914、1939 メモリ転送I/F部
115,1915 スプール転送I/F部
137,1937 ネットワークI/F部
131〜13N,1931〜193N 印刷プロトコル処理部
132 機器管理部
133,1935 ネットワーク管理部
134 機器管理プロトコル処理部
135 アプリ管理部
161,1961 共有メモリ
120a プリンタアプリ−A
120b プリンタアプリ−B
130 NCS
170,1970 ネットワークカード
180 ネットワーク
201 白黒ラインプリンタ
202 カラーラインプリンタ
203 ハードウェアリソース
210 ソフトウェア群
212 コピーアプリ
213 ファックスアプリ
214 スキャナアプリ
215 ネットファイルアプリ
216 工程検査アプリ
220 プラットホーム
221 汎用OS
222 SCS
223 SRM
224 ECS
225 MCS
226 OCS
227 FCS
1210 設定パラメータテーブル
1900 プリンタサーバ
1910 スプール処理部
1920 印刷処理部
1930 ネットワーク処理部
1990 プリンタ装置
100 MFP 110 Spool application 111, 1911 Spool writing processing unit 112, 1912 Spool reading processing unit 113, 1913 HDD-I / F unit 114, 139, 1914, 1939 Memory transfer I / F unit 115, 1915 Spool transfer I / F Unit 137, 1937 Network I / F unit 131-13N, 1931-193N Print protocol processing unit 132 Device management unit 133, 1935 Network management unit 134 Device management protocol processing unit 135 Application management unit 161, 1961 Shared memory 120a Printer application-A
120b Printer app-B
130 NCS
170, 1970 Network card 180 Network 201 Black and white line printer 202 Color line printer 203 Hardware resource 210 Software group 212 Copy application 213 Fax application 214 Scanner application 215 Net file application 216 Process inspection application 220 Platform 221 General purpose OS
222 SCS
223 SRM
224 ECS
225 MCS
226 OCS
227 FCS
1210 Setting parameter table 1900 Printer server 1910 Spool processing unit 1920 Print processing unit 1930 Network processing unit 1990 Printer device

Claims (18)

少なくとも画像形成アプリケーションを含む複数のアプリケーション間で共有メモリを介してデータの送受信を行ってスプール処理を行うスプール処理方法であって、
ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成アプリケーションに固有の印刷データを抽出するプロトコル処理ステップと、
前記プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成アプリケーションに受け渡すスプール読み出しステップと、
を含むことを特徴とするスプール処理方法。
A spool processing method for performing spool processing by transmitting and receiving data via a shared memory between a plurality of applications including at least an image forming application,
A protocol processing step for interpreting received data to be printed received from a client terminal connected to a network based on a predetermined communication protocol, and extracting print data specific to an image forming application that performs the printing process;
A spool reading step of transferring print data included in the print job stored in the storage means to the image forming application via a shared memory by a functionally independent means different from the means for executing the protocol processing step; ,
A spool processing method.
前記印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションに読み出し完了の旨を通知する通知ステップを更に含むことを特徴とする請求項1に記載の記載のスプール処理方法。   The spool processing method according to claim 1, further comprising a notification step of notifying the image forming application of completion of reading when the print data is read from the storage unit. 前記スプール読み出しステップは、単一の印刷ジョブとして登録された単一の印刷データを、前記プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、前記記憶手段から読み出すことを特徴とする請求項1または2に記載のスプール処理方法。   In the spool reading step, single print data registered as a single print job is read from the storage unit by a functionally independent means different from the means for executing the protocol processing step. The spool processing method according to claim 1 or 2. 前記スプール読み出しステップは、単一の印刷ジョブとして登録された複数に分割された印刷データを、前記プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、前記記憶手段から読み出すことを特徴とする請求項1または2に記載のスプール処理方法。   The spool reading step reads out the print data divided into a plurality of pieces registered as a single print job from the storage unit by a functionally independent means different from the means for executing the protocol processing step. The spool processing method according to claim 1 or 2, characterized by the above. 請求項1〜4のいずれか一つに記載された方法をコンピュータに実行させるプログラム。   The program which makes a computer perform the method as described in any one of Claims 1-4. 少なくとも画像形成アプリケーションを含む複数のアプリケーション間で共有メモリを介してデータの送受信を行って、画像形成処理にかかるユーザサービスを提供する画像形成装置であって、
ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成アプリケーションに固有の印刷データを抽出するプロトコル処理手段と、
前記印刷データを印刷ジョブとして記憶する記憶手段と、
前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成アプリケーションに受け渡すスプール読み出し手段と、
を備えたことを特徴とする画像形成装置。
An image forming apparatus that transmits and receives data between a plurality of applications including at least an image forming application via a shared memory and provides a user service related to an image forming process,
Protocol processing means for interpreting received data to be printed received from a client terminal connected to a network based on a predetermined communication protocol and extracting print data specific to an image forming application that performs print processing;
Storage means for storing the print data as a print job;
Spool reading means for delivering print data included in a print job stored in the storage means to the image forming application via a shared memory, functionally independent from the protocol processing means;
An image forming apparatus comprising:
画像形成処理で使用されるハードウェア資源と、
画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーション層と、
前記アプリケーション層と前記ハードウェア資源との間に介在し、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービス層と、をさらに備え、
前記コントロールサービス層は、前記プロトコル処理手段を有し、
前記アプリケーション層は、前記スプール読み出し手段と、前記画像形成アプリケーションとしてのプリンタアプリとを有したことを特徴とする請求項6に記載の画像形成装置。
Hardware resources used in the image forming process;
An application layer that performs processing specific to each user service related to image formation processing;
Acquisition request, management, execution control, and image forming processing of the hardware resource that are commonly required by at least two applications when providing a user service that is interposed between the application layer and the hardware resource And a control service layer for performing
The control service layer has the protocol processing means,
The image forming apparatus according to claim 6, wherein the application layer includes the spool reading unit and a printer application as the image forming application.
前記コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有するネットワークコントロールサービスを備え、
前記アプリケーション層は、前記スプール読み出し手段を有するスプールアプリを更に備えたことを特徴とする請求項7に記載の画像形成装置。
The control service layer includes a network control service for controlling the network and having the protocol processing means,
The image forming apparatus according to claim 7, wherein the application layer further includes a spool application having the spool reading unit.
前記スプール読み出し手段は、前記印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションまたは前記プリンタアプリに読み出し完了の旨を通知することを特徴とする請求項6〜8のいずれか一つに記載の画像形成装置。   The spool reading unit notifies the image forming application or the printer application of the completion of reading when the print data is read from the storage unit. The image forming apparatus described in 1. 前記スプール読み出し手段は、単一の印刷ジョブとして登録された単一の印刷データを、前記記憶手段から読み出すことを特徴とする請求項6〜9のいずれか一つに記載の画像形成装置。   The image forming apparatus according to claim 6, wherein the spool reading unit reads a single print data registered as a single print job from the storage unit. 少なくとも画像形成アプリケーションを含む複数のアプリケーション間で共有メモリを介してデータの送受信を行って、画像形成処理にかかるユーザサービスを提供する画像形成装置であって、
ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成アプリケーションに固有の印刷データを抽出するプロトコル処理手段と、
前記印刷データからスプールの処理内容を定めたスプール設定情報に基づいて分割された一または複数の印刷データを、単一の印刷ジョブとして記憶する記憶手段と、
前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された前記一または複数の印刷データを、共有メモリを介して前記画像形成アプリケーションに共有メモリを介して受け渡すスプール読み出し手段と、
を備えたことを特徴とする画像形成装置。
An image forming apparatus that transmits and receives data between a plurality of applications including at least an image forming application via a shared memory and provides a user service related to an image forming process,
Protocol processing means for interpreting received data to be printed received from a client terminal connected to a network based on a predetermined communication protocol and extracting print data specific to an image forming application that performs print processing;
Storage means for storing one or a plurality of print data divided based on spool setting information defining spool processing contents from the print data as a single print job;
Unlike the protocol processing unit, a spool reading unit that functionally and independently transfers the one or more print data stored in the storage unit to the image forming application via a shared memory via the shared memory. When,
An image forming apparatus comprising:
前記記憶手段は、前記印刷データから前記画像形成アプリケーションごとに前記印刷データの分割処理情報を定めた前記スプール設定情報に基づいて分割された一または複数の印刷データを、単一の印刷ジョブとして記憶することを特徴とする請求項11に記載の画像形成装置。   The storage unit stores, as a single print job, one or a plurality of print data divided based on the spool setting information defining the print data division processing information for each image forming application from the print data. The image forming apparatus according to claim 11. 画像形成処理で使用されるハードウェア資源と、
画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーション層と、
前記アプリケーション層と前記ハードウェア資源との間に介在し、ユーザサービスを提供する際に、アプリケーション層の少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービス層と、をさらに備え、
前記コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有し、
前記アプリケーション層は、前記スプール読み出し手段とを有することを特徴とする請求項12に記載の画像形成装置。
Hardware resources used in the image forming process;
An application layer that performs processing specific to each user service related to image formation processing;
Acquisition request, management, execution control, and image formation of the hardware resource that are commonly required by at least two of the application layers when providing user services that are interposed between the application layer and the hardware resources A control service layer for processing,
The control service layer controls the network and has the protocol processing means;
The image forming apparatus according to claim 12, wherein the application layer includes the spool reading unit.
前記コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有するネットワークコントロールサービスを備え、
前記アプリケーション層は、前記スプール読み出し手段とを有するスプールアプリと、前記画像形成アプリケーションとしてのプリンタアプリとを備えたことを特徴とする請求項13に記載の画像形成装置。
The control service layer includes a network control service for controlling the network and having the protocol processing means,
The image forming apparatus according to claim 13, wherein the application layer includes a spool application having the spool reading unit and a printer application as the image forming application.
前記スプール読み出し手段は、前記分割された一または複数の印刷データを印刷ジョブとして前記記憶手段から読み出した場合に、前記画像形成アプリケーションまたは前記プリンタアプリに読み出し完了の旨を通知することを特徴とする請求項11〜14のいずれか一つに記載の画像形成装置。   The spool reading unit notifies the image forming application or the printer application of the completion of reading when the one or a plurality of divided print data are read from the storage unit as a print job. The image forming apparatus according to claim 11. ネットワークに接続されたクライアント端末からの印刷要求を受けてネットワークに接続されたプリンタ装置に対する印刷処理を行う情報処理装置であって、
ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成処理手段に固有の印刷データを抽出するプロトコル処理手段と、
前記印刷データを印刷ジョブとして記憶する記憶手段と、
前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成処理手段に受け渡すスプール読み出し手段と、
を備えたことを特徴とする情報処理装置。
An information processing apparatus that receives a print request from a client terminal connected to a network and performs print processing on a printer apparatus connected to the network,
Protocol processing means for interpreting received data to be printed received from a client terminal connected to a network based on a predetermined communication protocol, and extracting print data unique to an image forming processing means for performing print processing;
Storage means for storing the print data as a print job;
A spool reading means for delivering print data included in a print job stored in the storage means to the image formation processing means via a shared memory, functionally independent from the protocol processing means,
An information processing apparatus comprising:
前記スプール読み出し手段は、前記印刷データを前記記憶手段から読み出した後に、前記画像形成処理手段に読み出し完了の旨を通知することを特徴とする請求項16に記載の情報処理装置。   The information processing apparatus according to claim 16, wherein the spool reading unit notifies the image forming processing unit of the completion of reading after reading the print data from the storage unit. 前記スプール読み出し手段は、単一の印刷ジョブとして登録された単一の印刷データを、前記記憶手段から読み出すことを特徴とする請求項16または17に記載の情報処理装置。   18. The information processing apparatus according to claim 16, wherein the spool reading unit reads single print data registered as a single print job from the storage unit.
JP2003330370A 2003-09-22 2003-09-22 Spool processing method, image forming apparatus, and information processing apparatus Expired - Fee Related JP4368173B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003330370A JP4368173B2 (en) 2003-09-22 2003-09-22 Spool processing method, image forming apparatus, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003330370A JP4368173B2 (en) 2003-09-22 2003-09-22 Spool processing method, image forming apparatus, and information processing apparatus

Publications (2)

Publication Number Publication Date
JP2005099932A true JP2005099932A (en) 2005-04-14
JP4368173B2 JP4368173B2 (en) 2009-11-18

Family

ID=34459361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003330370A Expired - Fee Related JP4368173B2 (en) 2003-09-22 2003-09-22 Spool processing method, image forming apparatus, and information processing apparatus

Country Status (1)

Country Link
JP (1) JP4368173B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009086832A (en) * 2007-09-28 2009-04-23 Nidec Sankyo Corp Information system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009086832A (en) * 2007-09-28 2009-04-23 Nidec Sankyo Corp Information system

Also Published As

Publication number Publication date
JP4368173B2 (en) 2009-11-18

Similar Documents

Publication Publication Date Title
JP4033857B2 (en) Print system, print management server, print method, print management method, and program
JP4420421B2 (en) Information processing apparatus and control method thereof
JP6440480B2 (en) Image processing apparatus, image processing apparatus control method, and program
JP6066006B2 (en) Image forming apparatus
JP5679740B2 (en) Peripheral device control system, peripheral device, information processing device, and control method
CN107102826A (en) Image processing equipment and its control method
JP4991449B2 (en) Image processing apparatus, image processing apparatus control method, and computer program
JP3802829B2 (en) Image information processing apparatus, remote image information processing method, and program for causing computer to execute the method
JP4697713B2 (en) Print system, print management server, print method, print management method, and program
JP2009262376A (en) Printing controller, printing control method and program
JP4368173B2 (en) Spool processing method, image forming apparatus, and information processing apparatus
JP4405217B2 (en) Spool processing method, program for causing computer to execute the method, image forming apparatus, and information processing apparatus
JP6155802B2 (en) Image forming apparatus, image forming system, control method thereof, and program
JP4480037B2 (en) Print management server, printing apparatus, print management method, printing method, program, and recording medium
JP2019047518A (en) Image processing apparatus, image processing method, and program
JP7555899B2 (en) Image processing device, image processing method, and program
JP7135169B2 (en) Image processing device, job processing method, and program
JP2006171991A (en) Proxy and distributed printing system
JP2003044249A (en) Composite printing device, printing system, print control method, recording medium, and its program
JP2003037700A (en) Image output device, image output system, control method for the image output device, medium for providing control program and the control program
JP2004304774A (en) Image processing apparatus, method for providing image, and image-providing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090803

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: 20090825

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090825

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees