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 PDFInfo
- 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
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
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
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
また、NCS2203には、HDD2207へのアクセスの際のデータの送受信を行うHDD−I/F部2205と、メモリへのアクセスの際のデータの送受信を行うとともにスプール処理を実行する際にプリンタアプリやファックスアプリとのデータの送受信を行うメモリ転送I/F−スプール転送I/F部2204とネットワークカード(図示せず)に対するアクセスを制御するネットワークI/F部2206とを備えた構成となっている。
The NCS 2203 includes an HDD-I /
このように構成された複合機に対して、ネットワーク上の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 /
そして、スプール処理部2221、2222〜222Nは、印刷ジョブを実行する場合には、HDD2205から印刷データを読み出し、プリンタアプリ2201に読み出した印刷データを受け渡し、プリンタアプリ2201によって印刷データがプリンタエンジンに依存する印刷形式に変換されてプリンタエンジンに送出される。
When executing the print job, the
しかしながら、このような従来の複合機では、各印刷プロトコル処理部2211,2212〜221Nごとにスプール処理を行うスプール処理部2221,2222〜222Nを備えているので、例えばHDD2207の他にSDカードなど他のハードウェア資源が追加された場合、全ての印刷プロトコル処理部2211,2212〜221Nの中のスプール処理部2221,2222〜222Nに対して新たなハードウェア資源に対する処理を変更する必要があり、新たなハードウェア資源の追加に伴うスプール機能に関するプログラム変更に多大な労力を要するという問題がある。
However, since such a conventional multi-function peripheral includes
また、スプール処理には、一つの印刷ジョブに対して単一の印刷データファイルを割り当てるほか、一つの印刷ジョブに対して印刷データを分割して、例えばページごとに複数の印刷データファイルを割り当てる場合もある。この場合、プリンタアプリなどのアプリケーションのジョブごとに分割するか否か、分割の単位などが異なる場合があり、全てのスプール処理部で個々に各アプリケーションごとに異なる処理を組み込むとなるとスプール機能に関するプログラム作成作業に多大な労力を要するという問題がある。 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
この請求項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
PC190は通常のコンピュータであり、本発明におけるクライアント端末を構成する。すなわち、本実施の形態の複合機100は、PC190をクライアントとしたサーバとして動作するようになっている。
The
本実施の形態の複合機100は、アプリケーション層にスプールアプリ110と、プリンタアプリ−A120aとプリンタアプリ−B120bを主に搭載している。また、各アプリケーションに対して共通の処理を行うコントロールサービス層には、ネットワークコントロールサービス(NCS)130を主に搭載している。
The
この他、複合機100には、汎用OS(Operating System)であるUNIX(登録商標)などのOS140、ハードウェア資源としてハードディスク装置(HDD)150、RAM(Ramdom Accsess Memory)160、Ethernet(R)ケーブルを接続するネットワークカード170が設けられている。
In addition, the
スプールアプリ110は、従来の複合機100においてNCS139の印刷プロトコル処理部内部に設けられていたスプール機能を実行するスプール処理部を通信プロトコルに共通の処理部としてアプリケーション層で実現したものである。このスプールアプリ110は、スプール書き込み処理部111とスプール読み出し処理部112とスプール転送I/F部115とメモリ転送I/F部114とHDD−I/F部113と、を主に備えている。ここで、スプール読み出し処理部112は本発明におけるスプール読み出し手段を構成する。
The
スプール書き込み処理部111は、PC190から印刷要求があった場合に、印刷ジョブを生成して、印刷対象の印刷データを印刷プロトコル処理部131〜13Nから共有メモリ161を介してHDD150に格納するものである。
When there is a print request from the
ここで、印刷ジョブとは、印刷に関して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
ジョブ情報ファイルは、印刷ジョブに関する情報を記録したデータファイルであり、具体的には印刷要求を行った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
スプール読み出し部112は、印刷ジョブの実行時に、HDD150に格納されている印刷ジョブに対応する印刷データを読み出して、共有メモリを介してプリンタアプリ−A120a、プリンタアプリ−B120bに受け渡すものである。
The
スプール転送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 /
本実施の形態では、記憶手段のインタフェースとしてメモリ転送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 /
NCS130は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
The
NCS130は、複数の印刷プロトコル処理部131〜13Nと、機器管理部132と、機器管理プロトコル処理部134と、ネットワーク管理部133と、アプリ管理部135と、ネットワークI/F部137を主に備えた構成となっている。ここで、印刷プロトコル処理部131〜13Nは本発明におけるプロトコル処理手段を構成する。
The
複数の印刷プロトコル処理部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
機器管理プロトコル処理部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
ネットワーク管理部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
メモリ転送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
RAM160には、共有メモリ領域(以下、「共有メモリ」という)が確保されている。この共有メモリは、スプールアプリ110によって確保され、スプールアプリ110の他、プリンタアプリ−A120aと、NCS130の印刷プロトコル処理部131〜13Nから参照可能なものとなっている。
In the
次に、本実施の形態にかかる複合機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
プラットホーム220は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)223と、汎用OS140とを有する。
The
コントロールサービスは、複数のサービスモジュールから形成され、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
汎用OS140は、前述のとおり、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム220並びにアプリケーション230の各ソフトウェアをそれぞれプロセスとして並列実行する。
As described above, the general-
SRM223のプロセスは、SCS222とともにシステムの制御およびリソースの管理を行うものである。SRM223のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F)、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
The process of the
具体的には、このSRM223は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM223は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
Specifically, the
SCS222のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
The process of the
ECS224のプロセスは、白黒レーザプリンタ(B&W LP)201、カラーレーザプリンタ(Color LP)202、HDD150、スキャナ、ファクシミリなどからなるハードウェアリソース204のエンジンの制御を行う。
The
MCS225のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
The
FCS227のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
The process of
OCS226のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS226は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS222に送信するOCSプロセスである。また、オペレーションパネルの操作表示部に対する各種画面を描画出力やその他オペレーションパネルに対する制御は、OCS関数ライブラリに登録されている描画関数等の各種関数をアプリケーション130またはコントロールサービスから呼び出すことにより行われる。
The process of the
アプリケーション230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ−A120a、プリンタアプリ−B120bと、コピー用アプリケーションであるコピーアプリ212と、ファクシミリ用アプリケーションであるファックスアプリ213と、スキャナ用アプリケーションであるスキャナアプリ214と、ネットワークファイル用アプリケーションであるネットファイルアプリ215と、工程検査用アプリケーションである工程検査アプリ216と、上述したスプールアプリ110とを有している。
The
アプリケーション230の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
Each process of the
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション230に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
As described above, the
また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリを開発して搭載することが可能となっている。
Also, in the
次に、以上のように構成された本実施の形態の複合機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
そして、通信プロトコルに対応したNCS130の印刷プロトコル処理部131〜13Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプール書き込み処理部111に受け渡す。具体的には、印刷プロトコル処理部131〜13Nが印刷データを共有メモリ161の書き込み領域に書き込み(ステップS302)、印刷プロトコル処理部131〜13Nが共有メモリへの書き込み通知をスプール書き込み処理部111に通知する(ステップS303)。
Then, a logical session is established by the print
共有メモリへの書き込み通知を受信したスプール書き込み処理部111は、OSのファイルシステムが提供するWriteシステムコールを発行することによって共有メモリ161の書き込み領域の印刷データをHDD150に格納する(ステップS304)。これによって印刷ジョブの登録が行われる。この後、スプール書き込み処理部111はスプール読み出し処理部112にHDDへの書き込み通知を通知する(ステップS305)。
The spool
このように、印刷プロトコル処理部131〜13Nとスプール書き込み処理部111との間の印刷データの受け渡しは共有メモリ161を介して行われるようになっている。
As described above, the transfer of print data between the print
次に、かかる印刷ジョブの登録の詳細な処理について説明する。図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
印刷プロトコル処理部131〜13Nは、PC190と接続待ち状態にあり(ステップS401)、接続要求があった場合には(ステップS401:Yes)、接続処理を行う(ステップS402)。具体的には、印刷プロトコル処理部131〜13Nは、PC190とのセッションを確立し、スプールアプリ110のスプール書き込み処理部111に接続要求を送信し、コネクションIDをスプール書き込み処理部111から受信する。
The print
次いで、印刷プロトコル処理部131〜13Nは、ジョブ開始処理を行う(ステップS403)。具体的には、印刷プロトコル処理部131〜13Nは、スプールアプリ110のスプール書き込み処理部111にコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果スプール書き込み処理部111からジョブIDを受信する。また、スプール書き込み処理部111にジョブIDとジョブ情報を指定してジョブ情報設定を行ったり、ジョブ転送開始要求を行う。
Next, the print
次に、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
共有メモリ161への受信データの書き込みが完了したら、印刷プロトコル処理部131〜13Nはデータ書き込み完了処理を行う(ステップS409)。具体的には、印刷プロトコル処理部131〜13Nは全データ書き込み完了通知をジョブIDとともにスプール書き込み処理部111に通知する。
When the writing of the reception data to the shared
次に、印刷ジョブ登録時のスプールアプリ110のスプール書き込み処理部111の行う処理について説明する。図5は、印刷ジョブ登録時のスプールアプリ110のスプール書き込み処理部111の行う処理の手順のフローチャートである。
Next, processing performed by the spool
スプール書き込み処理部111は、NCS130と接続待ち状態にあり(ステップS501)、NCS130の印刷プロトコル処理部131〜13Nから接続要求があった場合には(ステップS501:Yes)、接続処理を行う(ステップS502)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。
The spool
次いで、スプール書き込み処理部111は、ジョブ開始処理を行う(ステップS503)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112にコネクションIDを指定してジョブ開始要求を送信し、その結果スプール読み出し処理部112からジョブIDを受信する。また、スプール読み出し処理部112にジョブ転送開始要求も行う。
Next, the spool
次に、スプール書き込み処理部111は、HDD150上でジョブデータファイルのオープン処理を行う(ステップS505)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に受信データが存在するか否かを調べる(ステップS505)。そして、受信データが存在する場合には(ステップS505:Yes)、HDD150に空き領域があるか否かを調べる(ステップS506)。
Next, the spool
そして、HDD150に空き領域がない場合には(ステップS506:No)、空き領域ができるまで待ち状態となる。一方、HDD150に空き領域がある場合には、OSのファイルシステムが提供するWriteシステムコールを発行して共有メモリ161にあるデータをHDD150にジョブデータファイルとして書き込む(ステップS507)。
If there is no free space in the HDD 150 (step S506: No), the
そして、ステップ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
NCS130の印刷プロトコル処理部131〜13Nおよびスプールアプリ110による印刷ジョブの登録処理について説明したが、次に、印刷ジョブ登録処理時の各部の命令およびデータの流れについて説明する。図6、7は、スプール処理における命令の流れを示すフロー図であり、図6は印刷ジョブ登録処理のフロー図、図7は印刷ジョブのジョブデータ書き込み処理のフロー図である。
The print job registration process by the print
PC190は、印刷要求を行う際に、複合機100に対して接続要求を行う(ステップS601)。複合機100のNCS130がかかる接続要求を受信してスプールアプリ110のスプール書き込み処理部111に接続要求を行い(ステップS602)、スプール書き込み処理部111はスプール読み出し処理部112に、スプール読み出し処理部112はプリンタアプリ−A120aに順次接続要求を行う(ステップS603、S604)。
When making a print request, the
接続要求を受けたプリンタアプリ−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-
次いで、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
次に、印刷プロトコル処理部131〜13Nは、スプール書き込み処理部111に対してジョブIDとジョブ情報ファイルを指定してジョブ情報設定要求を送信する(ステップS616)。ここで、ジョブ情報は、PC190の識別名称であるホスト名およびアドレス、PC190において印刷要求を行ったユーザ名、ジョブ名、印刷対象のドキュメント名、トレイ指定などの印刷設定などから構成されるデータである。
Next, the print
ジョブ情報設定要求を受信したスプール書き込み処理部111は、ジョブ情報ファイルをHDD150に書き込む(ステップS617)。そして、スプール書き込み処理部111は、印刷プロトコル処理部131〜13Nに通知タイミング設定を行う(ステップS618)。
The spool
一方、スプール読み出し処理部112は、HDD150からジョブ情報ファイルを読み出して(ステップS619)、プリンタアプリA−120aに対してジョブ設定要求を送信する(ステップS620)。
On the other hand, the spool read processing
プリンタアプリ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
プリンタアプリ−A120aでは、ジョブデータ転送開始通知を受信し、印刷データの受信の受け入れる状態となってる場合には、OKの旨の通知をスプール読み出し処理部112に送信する(ステップS625)。このOKの旨の通知は、スプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nへ順次送信される(ステップS626、S627)。そして、さらに印刷プロトコル処理部131〜13NからPC190にOKの旨の通知が送信される(ステップS628)。
When the printer application-
スプール書き込み処理部111では、ジョブデータ転送開始がOKの旨の通知を受信すると、HDD150にジョブデータファイルを生成するため、ジョブデータオープン命令(OSのOpenシステムコール)を発行する(ステップS701)。
When the spool
そして、NCS130の印刷プロトコル処理部131〜13NはPC190から印刷対象の印刷データを受信し(ステップS702)、受信した印刷データに対して対応するプロトコル処理を行って共有メモリ161に書き込み領域に印刷データを書き込む(ステップS703)。印刷プロトコル処理部131〜13Nは共有メモリへの書き込みが終了したら、共有メモリデータ書き込み通知をスプール書き込み処理部111に通知する(ステップS704)。
Then, the print
共有メモリデータ書き込み通知を受信したスプール書き込み処理部111は、OSのWriteシステムコールを発行して共有メモリ161の印刷データををジョブデータファイルとしてHDD150に保存する(ステップS705)。そして、スプール書き込み処理部111は、印刷プロトコル処理部131〜13Nに共有メモリへのデータ読み出し通知を送信する(ステップS706)。このようなステップS702からステップS706までの処理をPC190からのデータ送信があるたびに繰り返し行う。
Upon receiving the shared memory data write notification, the spool
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
次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図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
このように、スプール読み出し処理部112とプリンタアプリ−A120aとの間の印刷データの受け渡しはシステムコールの発行によって共有メモリ161を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。
As described above, the transfer of print data between the spool read processing
次に、かかる印刷ジョブの読み出しの詳細な処理について説明する。図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
スプール読み出し処理部112は、スプール書き込み処理部111と接続待ち状態にあり(ステップS901)、スプール書き込み処理部111から接続要求があった場合には(ステップS901:Yes)、接続処理を行う(ステップS902)。具体的には、スプール読み出し処理部112は、印刷プロトコル処理部による受信データの解釈によって処理を行うアプリケーションのアプリID(本実施の形態ではプリンタアプリ−A120aのアプリID)を指定してアプリケーション(プリンタアプリ−A120a)に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。
The spool read processing
次いで、スプール読み出し処理部112は、ジョブ開始処理を行う(ステップS903)。具体的には、スプール読み出し処理部112は、アプリケーションにコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果アプリケーションからジョブIDを受信する。また、スプール読み出し処理部112はHDD150からジョブ情報ファイルの読み出し処理、アプリケーションに対するジョブ情報設定も行う。
Next, the spool read processing
次に、スプール読み出し処理部112は、ジョブデータファイルの書き込み完了通知待ちの状態となり(ステップS904)、ジョブデータファイルの書き込み完了通知を受信すると(ステップS904:Yes)、HDD150のジョブデータファイルのオープン処理を行う(ステップS905)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に空き領域があるかを調べる(ステップS906)。
Next, the spool read processing
そして、共有メモリ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
そして、ステップ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
図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
次に、スプール読み出し処理部112は、プリンタアプリ−A120aに対して共有メモリデータ書き込み通知を送信する(ステップS1004)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは共有メモリ161の読み出し領域から印刷データを読み出す(ステップS1005)。ここで、かかる読み出しは、共有メモリの管理テーブルに登録されている先頭アドレスの位置から管理テーブルに登録されたサイズ分のデータを読み出すことによって行われる。そして、プリンタアプリ−A120aは、共有メモリデータ読み出し通知をスプール読み出し処理部112に送信する(ステップS1006)。
Next, the spool read processing
そして、ジョブデータファイルの全てのレコードの読み出しが完了するまで、ステップ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
図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
プリンタアプリ−A120aでは、ジョブ終了処理を行った後、ジョブ終了結果をスプール読み出し処理部112に送信し(ステップS1105)、さらにジョブ終了結果はスプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nへ、印刷プロトコル処理部131〜13NからPC190へ順次送信される(ステップS1106、S1107、S1108)。
The printer application-
次いで、PC190は切断要求を複合機100に対して行う(ステップS1109)。一方、プリンタアプリ−A120aはスプール読み出し処理部112に対しコネクションIDを指定して切断要求を行う(ステップS1110)。この切断要求は、さらにスプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nに順次送信される(ステップS1111、S1112)。
Next, the
印刷プロトコル処理部131〜13Nでは、PC190およびスプール書き込み処理部111から切断要求を受信すると、切断処理を行い、その切断結果をPC190に送信し(ステップS1113)、さらにスプール書き込み処理部111に送信する(ステップS1114)。
When receiving a disconnection request from the
そして、スプール書き込み処理部111は、受信した切断結果を、スプール読み出し処理部112へ、スプール読み出し処理部112からプリンタアプリA−120aへ順次送信する(ステップS1115、S1116)。
Then, the spool
プリンタアプリ−A120aは、印刷処理が終了後、印刷完了通知をスプール読み出し処理部112へ送信し、印刷完了通知を受信したスプール読み出し処理部112は、HDD150からジョブデータファイルを削除する。これにより、ジョブが終了することになる。
After the printing process is completed, the printer application-
このように実施の形態1の複合機100では、このように実施の形態1の複合機100では、印刷データを、印刷プロトコル処理部131〜13Nとは機能的に独立させたスプール読み出し部112によって、HDD150から読み出しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリ110の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層の印刷プロトコル処理部131〜13Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、コントロール層の印刷プロトコル処理部131〜13Nを変更すれば、アプリケーション層のスプールアプリ110のプログラム変更は必要がない。このためハードウェア等の変更の影響を受けない部分であるスプールアプリ110をアプリケーション層に、ハードウェア等の変更の影響を受ける部分である印刷プロトコル処理部131〜13Nをコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。
As described above, in the
また、本実施の形態によれば、スプールアプリ110は印刷プロトコル処理部131〜13Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
Further, according to the present embodiment, the
本実施の形態では、印刷データをプリンタアプリ−A120aに受け渡しているが、この他、プリンタアプリ−B120bあるいはその他のアプリケーションに受け渡す構成とすることができる。
In the present embodiment, print data is transferred to the printer application-
(実施の形態2)
実施の形態1の複合機100は、単一の印刷データに対して一つの印刷ジョブを割り当ててスプール処理を行っていたが、この実施の形態2の複合機は、複数の印刷データに対して単一の印刷ジョブを割り当ててスプール処理を行うものである。
(Embodiment 2)
The
実施の形態2の複合機100の機能的構成は、図1および図2で説明した実施の形態1の複合機と同様である。
The functional configuration of the
ただし、本実施の形態の複合機100では、スプールアプリ110は設定パラメータを有しており、この設定パラメータの設定内容に従って複数の印刷データに対して単一の印刷ジョブを割り当てるか否か、分割のサイズを決定する点が実施の形態1の複合機と異なっている。
However, in the
次に、本実施の形態の複合機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
そして、印刷プロトコルに対応したNCS130の印刷プロトコル処理部131〜13Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプールアプリ110に受け渡す。具体的には、印刷プロトコル処理部131〜13Nが印刷データを共有メモリ161の書き込み領域に書き込み(ステップS1202、印刷プロトコル処理部131〜13Nが共有メモリへの書き込み通知をスプール書き込み処理部111に通知する(ステップS1203)。
Then, the logical protocol is established by the print
共有メモリへの書き込み通知を受信したスプール書き込み処理部111は、設定パラメータテーブル1201を参照して(ステップS1204)、該当するアプリケーションについて印刷データをどのように扱うかを判断する。そして、OSのファイルシステムで提供されるWriteシステムコールを発行して共有メモリ161の書き込み領域にある印刷データをHDD150に書き込む(ステップS1205)。このとき、参照した設定パラメータテーブルの内容に従って、複数の印刷データを一つの印刷ジョブで扱う場合には、共有メモリ161の印刷データを設定パラメータテーブル901で設定されたサイズに分割し、HDD150に格納することによって印刷ジョブの登録が行われる。この後、スプール書き込み処理部111はスプール読み出し処理部112にHDDへの書き込み通知を通知する(ステップS1206)。
The spool
このように、印刷プロトコル処理部131〜13Nとスプール書き込み処理部111との間の印刷データの受け渡しは共有メモリ161を介して行われるようになっている。
As described above, the transfer of print data between the print
ここで、設定パラメータテーブル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
次に、かかる印刷ジョブの登録の詳細な処理について説明する。図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
スプール書き込み処理部111は、NCS130と接続待ち状態にあり(ステップS1301)、NCS130の印刷プロトコル処理部131〜13Nから接続要求があった場合には(ステップS1301:Yes)、接続処理を行う(ステップS1302)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。
The spool
次いで、スプール書き込み処理部111は、ジョブ開始処理を行う(ステップS1303)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112にコネクションIDを指定してジョブ開始要求を送信し、その結果スプール読み出し処理部112からジョブIDを受信する。また、スプール読み出し処理部112にジョブ転送開始要求も行う。
Next, the spool
次に、スプール書き込み処理部111は、設定パラメータテーブル1210を読み出して(ステップS1304)、該当するアプリケーションについて印刷データを印刷ジョブにおける扱いを判断する。そして、HDD150上でジョブデータファイル#Nのオープン処理を行う(ステップS1305)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。その後、共有メモリ161に受信データが存在するか否かを調べる(ステップS1306)。受信データが存在する場合には(ステップS1306:Yes)、HDD150に空き領域があるか否かを調べる(ステップS1307)。
Next, the spool
そして、HDD150に空き領域がない場合には(ステップS1307:No)、空き領域ができるまで待ち状態となる。一方、HDD150に空き領域がある場合には、Writeシステムコールを発行して共有メモリ161にあるデータをHDD150にジョブデータファイル#Nとして書き込む(ステップS1308)。
If there is no free space in the HDD 150 (step S1307: No), the
そして、ジョブデータファイル#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
スプールアプリ110による印刷ジョブの登録処理について説明したが、次に、印刷ジョブ登録処理時の各部の命令およびデータの流れについて説明する。図15は、印刷ジョブのジョブデータ書き込み処理のフロー図である。なお、印刷ジョブの登録時の処理は実施の形態1と同様であるので説明を省略する。
The print job registration process by the
スプール書き込み処理部111では、実施の形態1と同様に、ジョブデータ転送開始がOKの旨の通知を受信すると、設定パラメータテーブル1210を読み出し(ステップS1501)、該当するアプリケーション、この例ではプリンタアプリ−A120aに対する設定パラメータを読み込む。そして、設定パラメータテーブル1501のファイル分割が「する」に設定されている場合には、以下に説明する処理を行う。一方、ファイル分割が「しない」に設定されている場合には、実施の形態1で説明した印刷ジョブの書き込み処理と同様の処理を行う。
As in the first embodiment, when the spool
この例では、アプリケーションがプリンタアプリ−A120aの場合を説明しており、設定パラメータファイルでは、ファイル分割が「する」、分割単位が「100KB」、最大スプール数が「64」に設定されている。
In this example, the application is the printer application-
このため、スプール書き込み処理部111は、PC190から印刷データを受信するごとに、一つの印刷データが100KBのサイズとなった時点で一つのジョブデータファイルを生成することによって、複数の印刷データを一つの印刷ジョブに含める。なお、PC190から受信した印刷データが分割サイズ以上のサイズの場合には、受信した印刷データを100KBのサイズごとに分割するように構成してもよい。
For this reason, every time print data is received from the
次に、スプール書き込み処理部111は、ジョブデータファイル#Nのオープン命令(OSのOpenシステムコール)を発行する(ステップS1502)。なお、図15中では、ジョブデータファイル#Nとなっている。Nは1以上の整数であり、ジョブデータファイル#Nは、ジョブデータファイルである印刷データを設定パラメータテーブル901に設定されている分割サイズで分割した個々のジョブデータファイルを示すものである。
Next, the spool
そして、NCS130の印刷プロトコル処理部131〜13NはPC190から印刷対象の印刷データを受信し(ステップS1503)、受信した印刷データに対して対応するプロトコル処理を行って共有メモリ161に書き込み領域に印刷データを書き込む(ステップS1504)。印刷プロトコル処理部131〜13Nは共有メモリ161への書き込みが終了したら、共有メモリデータ書き込み通知をスプール書き込み処理部111に通知する(ステップS1505)。
The print
共有メモリデータ書き込み通知を受信したスプール書き込み処理部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
次に、スプール書き込み処理部111は、ジョブデータファイル#Nのクローズ命令(OSのCloseシステムコール)を発行し(ステップS1508)、分割されたジョブデータファイル#NがHDD150に生成されることになる。このため、スプール書き込み処理部111は、ジョブデータファイル#N書き込み完了通知をジョブIDとともにスプール読み出し処理部112に送信する(ステップS1509)。
Next, the spool
スプール読み出し処理部112とプリンタアプリ−A120aでは、通知のあったジョブデータファイル#Nの読み出し処理を行い(ステップS1510)、読み出しが完了したら、ジョブデータファイル#N読み出し完了通知をジョブIDとともにスプール書き込み処理部111に送信する(ステップS1511)。なお、スプール読み出し処理部112とプリンタアプリ−A120aでは、通知のあったジョブデータファイル#Nの読み出し処理については後述する。
The spool
上記ステップS1502からS1511までの処理を、PC190からデータ送信が完了するまで繰り返す。繰り返す場合には、#Nの値を1だけ増加して行う。これにより、複数のジョブデータファイル#NがHDD150に生成される。
The processes from steps S1502 to S1511 are repeated until data transmission from the
PC190は印刷対象のすべての印刷データの送信が完了すると、データ送信完了通知を複合機100に送信する(ステップS1512)。複合機100では、印刷プロトコル処理部131〜13Nによってかかる通知を受信し、全データ書き込み完了通知をスプール書き込み処理部111に送信する(ステップS1513)。スプール書き込み処理部111は、全データ書き込み完了通知を受信すると、スプール読み出し処理部112に対して全ジョブデータファイル書き込み完了通知を送信する(ステップS1514)。
When the transmission of all print data to be printed is completed, the
次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図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
このように、スプール読み出し処理部112とプリンタアプリ−A120aとの間の印刷データの受け渡しは共有メモリ161を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。
As described above, the transfer of print data between the spool read processing
次に、かかる印刷ジョブの読み出しの詳細な処理について説明する。図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
スプール読み出し処理部112は、スプール書き込み処理部111と接続待ち状態にあり(ステップS1701)、スプール書き込み処理部111から接続要求があった場合には(ステップS1701:Yes)、接続処理を行う(ステップS1702)。具体的には、スプール読み出し処理部112は、印刷プロトコル処理部による受信データの解釈によって処理を行うアプリケーションのアプリID(本実施の形態ではプリンタアプリ−A120aのアプリID)を指定してアプリケーション(プリンタアプリ−A120a)に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。
The spool read processing
次いで、スプール読み出し処理部112は、ジョブ開始処理を行う(ステップS1703)。具体的には、スプール読み出し処理部112は、アプリケーションにコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果アプリケーションからジョブIDを受信する。また、スプール読み出し処理部112はHDD150からジョブ情報ファイルの読み出し処理、アプリケーションに対するジョブ情報設定も行う。
Next, the spool read processing
次に、スプール読み出し処理部112は、ジョブデータファイル#Nの書き込み完了通知待ちの状態となり(ステップS1704)、ジョブデータファイル#Nの書き込み完了通知を受信すると(ステップS1704:Yes)、HDD150のジョブデータファイル#Nのオープン処理を行う(ステップS1705)このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に空き領域があるかを調べる(ステップS1706)。
Next, the spool read processing
そして、共有メモリ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
そして、ステップ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
そして、このようなステップ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
図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
次に、スプール読み出し処理部112は、プリンタアプリ−A120aに対して共有メモリデータ書き込み通知を送信する(ステップS1805)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは共有メモリ161の読み出し領域から印刷データを読み出す(ステップS1806)。ここで、かかる読み出しは、共有メモリの管理テーブルに登録されている先頭アドレスの位置から管理テーブルに登録されたサイズ分のデータを読み出すことによって行われる。そして、プリンタアプリ−A120aは、共有メモリデータ読み出し通知をスプール読み出し処理部112に送信する(ステップS1807)。
Next, the spool read processing
そして、ジョブデータファイル#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
すべてのジョブデータファイル#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
このように実施の形態2の複合機100では、スプール読み出し処理部112によって、印刷データを、印刷プロトコル処理部131〜13Nとは別個に、分割された複数の印刷データを、HDD150から読み出しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリ110の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層の印刷プロトコル処理部131〜13Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、コントロール層の印刷プロトコル処理部131〜13Nを変更すれば、アプリケーション層のスプールアプリ110のプログラム変更は必要がない。このためハードウェア等の変更の影響を受けない部分であるスプールアプリ110をアプリケーション層に、ハードウェア等の変更の影響を受ける部分である印刷プロトコル処理部131〜13Nをコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。
As described above, in the
また、本実施の形態によれば、スプールアプリ110は印刷プロトコル処理部131〜13Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
Further, according to the present embodiment, the
(実施の形態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
PC190は通常のコンピュータであり、本発明におけるクライアント端末を構成する。すなわち、本実施の形態のプリンタサーバ1900は、PC190をクライアントとしたサーバとして動作するようになっている。
The
本実施の形態のプリンタサーバ1900は、本発明における情報処理装置を構成するものであり、スプール処理部1910と、印刷処理部1920と、ネットワーク処理部1930とを主に備えている。
The
この他、プリンタサーバ1900は、OS1940と、HDD1950と、RAM1960と、Ethernet(R)ケーブルを接続するネットワークカード1970が設けられている。
In addition, the
スプール処理部1910は、従来の印刷プロトコル処理部内部で行っていたスプール機能を、印刷プロトコル処理部1931〜193Nとは別個に設けて実行するものである。このスプール処理部1910は、スプール書き込み処理部1911とスプール読み出し処理部1912とスプール転送I/F部1915とメモリ転送I/F部1914とHDD−I/F部1913と、を主に備えている。ここで、スプール読み出し処理部1912は本発明におけるスプール読み出し手段を構成する。
The
スプール書き込み処理部1911は、PC190から印刷要求があった場合に、印刷ジョブを生成して、印刷対象の印刷データを印刷プロトコル処理部1931〜193Nから共有メモリ1961を介してHDD1950に格納するものである。
The spool write processing unit 1911 generates a print job when a print request is received from the
スプール読み出し部処理1912は、印刷ジョブの実行時に、HDD1950に格納されている印刷ジョブに対応する印刷データを読み出して、共有メモリを介して印刷処理部1920に受け渡すものである。
The spool
スプール転送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
本実施の形態では、記憶手段のインタフェースとしてメモリ転送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
ネットワーク処理部1930は、ネットワーク側から各プロトコルによって受信したデータを処理するものである。ネットワーク処理部1930は、複数の印刷プロトコル処理部1931〜193Nと、ネットワーク管理部1935と、メモリ転送I/F部1939と、ネットワークI/F部1937を主に備えた構成となっている。ここで、印刷プロトコル処理部1931〜193Nは本発明におけるプロトコル処理手段を構成する。
The
複数の印刷プロトコル処理部1931〜193Nの各々は、各種通信プロトコルに従った処理を行うものであり、各プロトコルに対応して存在する。具体的には、印刷プロトコル処理部131〜13Nは、ネットワークI/F部1937を介してネットワーク上180のPC190等からデータを受信し、論理セッションの確立および開放を行うとともに、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈し、する。そして、解釈したデータからアプリケーション固有のデータ部分を抽出して、印刷処理部1920に受け渡す。ここで、このような通信プロトコルとしては実施の形態1で説明したものと同様である。
Each of the plurality of print
ネットワーク管理部1935は、TCP/IP、httpなどのプロトコルに従ってネットワークに関する処理を行うものである。
The
印刷処理部1920は、例えばプリンタドライバなどであり、PC190から受信した印刷データを印刷対象のプリンタ装置1990に依存する印刷形式のデータに変換する等の処理を行う。
The
本実施形態のプリンタサーバ1900は、CPUなどの制御装置と、HDD1950などの記録装置と、RAM1960等の記憶装置と、ネットワークカード1970等の通信装置とが接続されており、コンピュータを利用した通常の構成である。
The
尚、本実施形態のプリンタサーバ1900で実行されるスプール処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フロッピー(R)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
The spool processing program executed by the
また、本実施形態のスプール処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の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
この印刷ジョブの登録処理は次のように行われる。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
そして、通信プロトコルに対応した印刷プロトコル処理部1931〜193Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプール書き込み処理部1911に受け渡す。具体的には、印刷プロトコル処理部1931〜193Nが印刷データを共有メモリ1961の書き込み領域に書き込み(ステップS2002)、印刷プロトコル処理部1931〜193Nが共有メモリへの書き込み通知をスプール書き込み処理部1911に通知する(ステップS2003)。
Then, a logical session is established by the print
共有メモリ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
このように、印刷プロトコル処理部1931〜193Nとスプール書き込み処理部1911との間の印刷データの受け渡しは共有メモリ1961を介して行われるようになっている。印刷ジョブの登録の詳細な処理については実施の形態1と同様であるため説明を省略する。
As described above, the transfer of print data between the print
次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図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
スプール書き込み処理部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
このように、スプール読み出し処理部1912と印刷処理部1920との間の印刷データの受け渡しは共有メモリ1961を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。なお、かかる印刷ジョブの読み出しの詳細な処理については実施の形態1と同様であるため説明を省略する。
As described above, the transfer of print data between the spool
このように実施の形態3のプリンタサーバ1900では、スプール読み出し処理部1912によって、印刷プロトコル処理部1931〜193Nとは別個に、HDD1950に記憶された印刷ジョブに含まれる印刷データを印刷処理部1920に受け渡しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないスプール書き込み処理部1911の修正を行えば、ハードウェアに影響を及ぼす印刷プロトコル処理部1931〜193Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、印刷プロトコル処理部1931〜193Nを変更すれば、スプール書き込み処理部1911のプログラム変更は必要がない。このため効率的なプログラム開発を行うことができる。
As described above, in the
また、本実施の形態によれば、スプール読み出し処理部1912は印刷プロトコル処理部1931〜193Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
Further, according to the present embodiment, since the spool
なお、本実施の形態のプリンタサーバ1900では、一つの印刷ジョブで単一の印刷データを扱っているが、印刷データを分割して一つの印刷ジョブで複数の印刷データを扱うように構成しても良い。
In the
以上のように、本発明にかかるスプール処理方法、その方法をコンピュータに実行させるプログラム、画像形成装置および情報処理装置は、プリンタ装置、プリンタサーバ、プリンタ機能を含む複合機に適している。 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.
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
120b Printer app-B
130 NCS
170, 1970
222 SCS
223 SRM
224 ECS
225 MCS
226 OCS
227 FCS
1210 Setting parameter table 1900
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.
ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成アプリケーションに固有の印刷データを抽出するプロトコル処理手段と、
前記印刷データを印刷ジョブとして記憶する記憶手段と、
前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成アプリケーションに受け渡すスプール読み出し手段と、
を備えたことを特徴とする画像形成装置。 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.
ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成アプリケーションに固有の印刷データを抽出するプロトコル処理手段と、
前記印刷データからスプールの処理内容を定めたスプール設定情報に基づいて分割された一または複数の印刷データを、単一の印刷ジョブとして記憶する記憶手段と、
前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された前記一または複数の印刷データを、共有メモリを介して前記画像形成アプリケーションに共有メモリを介して受け渡すスプール読み出し手段と、
を備えたことを特徴とする画像形成装置。 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:
画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーション層と、
前記アプリケーション層と前記ハードウェア資源との間に介在し、ユーザサービスを提供する際に、アプリケーション層の少なくとも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.
ネットワークに接続されたクライアント端末から受信した印刷対象の受信データを、所定の通信プロトコルに基づいて解釈し、印刷処理を行う画像形成処理手段に固有の印刷データを抽出するプロトコル処理手段と、
前記印刷データを印刷ジョブとして記憶する記憶手段と、
前記プロトコル処理手段とは異なり機能的に独立して、前記記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成処理手段に受け渡すスプール読み出し手段と、
を備えたことを特徴とする情報処理装置。 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:
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009086832A (en) * | 2007-09-28 | 2009-04-23 | Nidec Sankyo Corp | Information system |
-
2003
- 2003-09-22 JP JP2003330370A patent/JP4368173B2/en not_active Expired - Fee Related
Cited By (1)
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 |