JP4368173B2 - スプール処理方法、画像形成装置および情報処理装置 - Google Patents

スプール処理方法、画像形成装置および情報処理装置 Download PDF

Info

Publication number
JP4368173B2
JP4368173B2 JP2003330370A JP2003330370A JP4368173B2 JP 4368173 B2 JP4368173 B2 JP 4368173B2 JP 2003330370 A JP2003330370 A JP 2003330370A JP 2003330370 A JP2003330370 A JP 2003330370A JP 4368173 B2 JP4368173 B2 JP 4368173B2
Authority
JP
Japan
Prior art keywords
print
spool
data
processing unit
application
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.)
Expired - Fee Related
Application number
JP2003330370A
Other languages
English (en)
Other versions
JP2005099932A (ja
Inventor
尚久 式田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003330370A priority Critical patent/JP4368173B2/ja
Publication of JP2005099932A publication Critical patent/JP2005099932A/ja
Application granted granted Critical
Publication of JP4368173B2 publication Critical patent/JP4368173B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

この発明は、ネットワークに接続されたクライアント端末からの印刷要求によって印刷データをスプールして出力するスプール処理方法、画像形成装置および情報処理装置に関する。
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)がある(例えば、特許文献1参照)。
このような複合機では、ネットワーク上のPC等のクライアント端末で生成されたアプリケーションデータの印刷出力を行う際に、印刷データを直接プリンタエンジンに送出するのではなく、印刷ジョブとして一時的にハードディスク装置(HDD)等の記憶手段に保存しておき、後でまとめてプリンタエンジンに送信するスプール処理を行っている。
図22は、上述した従来の複合機において、スプール処理に関連する機能的構成を示すブロック図である。図22に示すように、従来の複合機には、アプリケーション層に印刷処理を行うアプリケーションであるプリンタアプリ2201と、ファクシミリ送信およびファクシミリ受信を行うファックスアプリ2202が搭載されている。また、コントロールサービス層にはネットワークの制御を行うネットワークコントロールサービス(NCS)2203が搭載されている。
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内部に設けられている。
また、NCS2203には、HDD2207へのアクセスの際のデータの送受信を行うHDD−I/F部2205と、メモリへのアクセスの際のデータの送受信を行うとともにスプール処理を実行する際にプリンタアプリやファックスアプリとのデータの送受信を行うメモリ転送I/F−スプール転送I/F部2204とネットワークカード(図示せず)に対するアクセスを制御するネットワークI/F部2206とを備えた構成となっている。
このように構成された複合機に対して、ネットワーク上のPC(Personal Computer)から印刷要求が行われた場合、印刷要求を印刷対象の受信データをNCS2203のネットワークI/F部2206を経由して印刷プロトコルに対応した印刷プロトコル処理部2211,2212〜221Nが受信する。そして、印刷プロトコル処理部2211,2212〜221Nのそれぞれは、受信データを自身の通信プロトコルに従って解釈し、受信データからアプリケーションに固有の部分である印刷データを抽出し、抽出された印刷データをそれぞれスプール処理部2221、2222〜222Nによって印刷ジョブとしてHDD2207にHDD−I/F部を介して登録する。
そして、スプール処理部2221、2222〜222Nは、印刷ジョブを実行する場合には、HDD2205から印刷データを読み出し、プリンタアプリ2201に読み出した印刷データを受け渡し、プリンタアプリ2201によって印刷データがプリンタエンジンに依存する印刷形式に変換されてプリンタエンジンに送出される。
特開2002−84383号公報(図3)
しかしながら、このような従来の複合機では、各印刷プロトコル処理部2211,2212〜221Nごとにスプール処理を行うスプール処理部2221,2222〜222Nを備えているので、例えばHDD2207の他にSDカードなど他のハードウェア資源が追加された場合、全ての印刷プロトコル処理部2211,2212〜221Nの中のスプール処理部2221,2222〜222Nに対して新たなハードウェア資源に対する処理を変更する必要があり、新たなハードウェア資源の追加に伴うスプール機能に関するプログラム変更に多大な労力を要するという問題がある。
また、スプール処理には、一つの印刷ジョブに対して単一の印刷データファイルを割り当てるほか、一つの印刷ジョブに対して印刷データを分割して、例えばページごとに複数の印刷データファイルを割り当てる場合もある。この場合、プリンタアプリなどのアプリケーションのジョブごとに分割するか否か、分割の単位などが異なる場合があり、全てのスプール処理部で個々に各アプリケーションごとに異なる処理を組み込むとなるとスプール機能に関するプログラム作成作業に多大な労力を要するという問題がある。
この発明は上記に鑑みてなされたもので、ハードウェア等の変更等が生じた場合にも、印刷プロトコル処理ごとの修正インタフェース変更を不要とし、プログラム開発の容易化を図ることができるスプール処理方法、画像形成装置および情報処理装置を得ることを目的とする。

上記目的を達成するため、請求項1にかかる発明は、プロセッサと、共有メモリ及び実行領域を備えた第1記憶部と、第2記憶部とを備え、前記実行領域には、印刷プロトコル処理部と、画像形成アプリケーションと、スプール書き込み部とスプール読み出し処理部と画像形成アプリケーションごとにファイル分割を行うか否かの分割指定および分割単位が設定された設定パラメータとを含むスプールアプリケーションと、が記憶された画像形成装置で実行されるスプール処理方法であって、前記プロセッサが、前記印刷プロトコル処理部を実行して、クライアント端末から所定の画像形成アプリケーションに対する印刷処理要求とともに送信された受信データから印刷データを抽出して前記共有メモリに格納するステップと、前記プロセッサが、前記スプール書き込み処理部を実行し、前記共有メモリから印刷データを読み出し、印刷処理を依頼されている画像形成アプリケーションに対して設定された前記設定パラメータの前記分割指定に従って、前記印刷データを分割するか否かを決定し、前記印刷データを分割すると決定された場合、前記設定パラメータの前記分割単位で、読み出した印刷データを分割して印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、前記印刷データを分割しないと決定された場合、前読み出した印刷データを分割せずに前記印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、全ての受信データについて前記印刷ジョブデータファイルを作成して前記第2記憶部に記憶するステップと、前記プロセッサが、前記スプール読み出し処理部を実行して、前記第2記憶部から前記印刷ジョブデータファイルを読み出して前記共有メモリに格納するステップと、前記プロセッサが、印刷処理要求がなされた前記画像形成アプリケーションを実行して、前記共有メモリから前記印刷ジョブデータファイルを読み出して、印刷処理を行うステップと、を含むことを特徴とする。
この請求項1にかかる発明によれば、プロトコル処理ステップを実行する手段とは異なる機能的に独立した手段によって、記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して前記画像形成アプリケーションに受け渡すことで、スプール処理に関連するインタフェースの変更があった場合でも、一カ所のスプール処理部分のプログラム変更を行えばインタフェースの変更に対応することができ、複数の印刷プロトコルごとにスプール処理部分の変更を行う必要がない。また、ハードウェアに変更があった場合でもスプール処理を行う手段はプロトコル処理ステップを実行する手段とは異なる機能的に独立した手段であるため、プロトコル処理ステップを実行する手段の変更を行えば、スプール処理を実行する部分のプログラム変更を行う必要がない。このため、本発明によれば、効率的なプログラム開発を行うことができる。また、スプール処理を行う手段はプロトコル処理ステップを実行する手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
また、請求項2にかかる発明は、請求項1に記載の記載のスプール処理方法において、前記プロセッサが、前記第2記憶部からの前記印刷ジョブデータファイルの読み出しを完了した後に、前記画像形成アプリケーションに読み出し完了の旨を通知するステップを更に含むことを特徴とする。
この請求項2にかかる発明によれば、印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションに読み出し完了の旨を通知することで、画像形成アプリケーションによる印刷ジョブの実行の処理を円滑に行うことができる。
また、請求項にかかる発明は、プロセッサと、共有メモリ及び実行領域を備えた第1記憶部と、第2記憶部とを備え、前記実行領域には、印刷プロトコル処理部と、画像形成アプリケーションと、スプール書き込み部とスプール読み出し処理部と画像形成アプリケーションごとにファイル分割を行うか否かの分割指定および分割単位が設定された設定パラメータとを含むスプールアプリケーションと、が記憶された画像形成装置であって、前記プロセッサが、前記印刷プロトコル処理部を実行して、クライアント端末から所定の画像形成アプリケーションに対する印刷処理要求とともに送信された受信データから印刷データを抽出して前記共有メモリに格納し、前記スプール書き込み処理部を実行し、前記共有メモリから印刷データを読み出し、印刷処理を依頼されている画像形成アプリケーションに対して設定された前記設定パラメータの前記分割指定に従って、前記印刷データを分割するか否かを決定し、前記印刷データを分割すると決定された場合、前記設定パラメータの前記分割単位で、読み出した印刷データを分割して印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、前記印刷データを分割しないと決定された場合、前読み出した印刷データを分割せずに前記印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、全ての受信データについて前記印刷ジョブデータファイルを作成して前記第2記憶部に記憶し、前記スプール読み出し処理部を実行して、前記第2記憶部から前記印刷ジョブデータファイルを読み出して前記共有メモリに格納し、印刷処理要求がなされた前記画像形成アプリケーションを実行して、前記共有メモリから前記印刷ジョブデータファイルを読み出して、印刷処理を行う、ことを特徴とする
この請求項にかかる発明によれば、プロトコル処理手段とは異なり機能的に独立して、記憶手段に記憶された、印刷データからスプールの処理内容を定めたスプール設定情報に基づいて分割された一または複数の印刷データを、共有メモリを介して画像形成アプリケーションに共有メモリを介して受け渡すことで、スプール処理に関連するインタフェースの変更があった場合でも、一カ所のスプール書き込み手段のプログラム変更を行えばインタフェースの変更に対応することができ、複数の印刷プロトコルごとにスプール処理部分の変更を行う必要がない。また、ハードウェアに変更があった場合でもスプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、プロトコル処理手段の変更を行えば、スプール読み出し手段のプログラム変更を行う必要がない。このため、本発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができる。また、スプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
また、この請求項にかかる発明によれば、記憶手段が、印刷データから前記画像形成アプリケーションごとに印刷データの分割処理情報を定めたスプール設定情報に基づいて分割された一または複数の印刷データを、単一の印刷ジョブとして記憶することで、複数の印刷データを単一の印刷ジョブとして扱うスプール処理のプログラム開発をプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができる。
また、請求項4にかかる発明は、請求項3に記載の画像形成装置において、画像形成処理で使用されるハードウェア資源を更に備え、前記実行領域には、前記画像形成アプリケーションを含む複数のアプリケーションと、前記印刷プロトコル処理部を含むコントロールサービスが記憶され、前記プロセッサは、前記印刷プロトコル処理部以外の前記コンロールサービスを実行して、前記複数のアプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行い、前記プロセッサは、前記コンロールサービスに含まれる前記印刷プロトコル処理部を実行して、前記複数のアプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うとともに、前記クライアント端末から前記印刷処理要求と前記受信データとを受信し、前記受信データから前記印刷データを抽出して前記共有メモリに格納することを特徴とする。
この請求項にかかる発明によれば、コントロールサービス層にプロトコル処理手段を有し、アプリケーション層にスプール読み出し手段を有したことで、スプール処理に関連する記憶手段などのハードウェアやハードウェアとのインタフェースに変更があった場合でも、ハードウェア等の変更の影響を受けない部分であるスプール読み出し手段をアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプール読み出し手段の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層のプロトコル処理手段をプロトコルごとに修正する必要がなくなる。また、ハードウェアの変更があった場合には、コントロール層のプロトコル処理手段を変更すれば、アプリケーション層のスプール読み出し手段のプログラム変更は必要がない。このように本発明によれば、ハードウェア等の変更の影響を受けない部分であるスプール読み出し手段をアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。
また、請求項5にかかる発明は、請求項4に記載の画像形成装置において、前前記印刷プロトコル処理部は、前記クライアント端末から前記印刷処理要求と前記受信データとを受信し、前記受信データから前記印刷データを抽出して前記共有メモリに格納するネットワークコントロールサービスであり、前記画像形成アプリケーションは、プリンタアプリケーションであり、前記プロセッサは、前記ネットワークコントロールサービスと、前記プリンタアプリケーションとを実行することを特徴とする。
この請求項にかかる発明によれば、コントロールサービス層は、ネットワークを制御するとともに前記プロトコル処理手段を有するネットワークコントロールサービスを備え、アプリケーションは、スプール読み出し手段を有するスプールアプリを備えたことで、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリの修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層のプロトコル処理手段をプロトコルごとに修正する必要がなくなる。また、ハードウェアの変更があった場合には、コントロール層のプロトコル処理手段を変更すれば、アプリケーション層のスプールアプリのプログラム変更は必要がない。このように本発明によれば、ハードウェア等の変更の影響を受けない部分であるスプールアプリをアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。
また、請求項にかかる発明は、請求項3〜5のいずれか一つに記載の画像形成装置において、前記プロセッサは、前記スプール読み出し部を実行して、前記印刷ジョブデータファイルの前記第2記憶部からの読み出しが完了した後に、前記画像形成アプリケーションに読み出し完了の旨を通知することを特徴とする
この請求項にかかる発明によれば、分割された一または複数の印刷データを記憶手段から読み出した場合に、画像形成アプリケーションまたはプリンタアプリに読み出し完了の旨を通知することで、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができる。
また、請求項にかかる発明は、プロセッサと、共有メモリ及び実行領域を備えた第1記憶部と、第2記憶部とを備え、前記実行領域には、印刷プロトコル処理部と、画像形成アプリケーションと、スプール書き込み部とスプール読み出し処理部と画像形成アプリケーションごとにファイル分割を行うか否かの分割指定および分割単位が設定された設定パラメータとを含むスプールアプリケーションと、が記憶された画像形成装置であって、前記プロセッサが、前記印刷プロトコル処理部を実行して、クライアント端末から所定の画像形成アプリケーションに対する印刷処理要求とともに送信された受信データから印刷データを抽出して前記共有メモリに格納し、前記スプール書き込み処理部を実行し、前記共有メモリから印刷データを読み出し、印刷処理を依頼されている画像形成アプリケーションに対して設定された前記設定パラメータの前記分割指定に従って、前記印刷データを分割するか否かを決定し、前記印刷データを分割すると決定された場合、前記設定パラメータの前記分割単位で、読み出した印刷データを分割して印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、前記印刷データを分割しないと決定された場合、前読み出した印刷データを分割せずに前記印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、全ての受信データについて前記印刷ジョブデータファイルを作成して前記第2記憶部に記憶し、前記スプール読み出し処理部を実行して、前記第2記憶部から前記印刷ジョブデータファイルを読み出して前記共有メモリに格納し、印刷処理要求がなされた前記画像形成アプリケーションを実行して、前記共有メモリから前記印刷ジョブデータファイルを読み出して、印刷処理を行う、ことを特徴とする。
この請求項にかかる発明によれば、プロトコル処理手段とは異なり機能的に独立して、記憶手段に記憶された印刷ジョブに含まれる印刷データを、共有メモリを介して画像形成処理手段に受け渡すことで、スプール処理に関連するインタフェースの変更があった場合でも、一カ所のスプール書き込み手段のプログラム変更を行えばインタフェースの変更に対応することができ、複数の印刷プロトコルごとにスプール処理部分の変更を行う必要がない。また、ハードウェアに変更があった場合でもスプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、プロトコル処理手段の変更を行えば、スプール読み出し手段のプログラム変更を行う必要がない。このため、本発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができる。また、スプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
また、請求項にかかる発明は、請求項に記載の情報処理装置において、前記プロセッサは、前記スプール読み出し部を実行して、前記印刷ジョブデータファイルの前記第2記憶部からの読み出しが完了した後に、前記画像形成アプリケーションに読み出し完了の旨を通知することを特徴とする
この請求項にかかる発明によれば、印刷データを前記記憶手段から読み出した場合に、前記画像形成処理手段に読み出し完了の旨を通知することで、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができる。
この請求項1にかかる発明によれば、効率的なプログラム開発を行うことができるという効果を奏する。また、本発明によれば、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となるという効果を奏する。
また、請求項2にかかる発明によれば、印刷データを前記記憶手段から読み出した場合に、前記画像形成アプリケーションに読み出し完了の旨を通知することで、画像形成アプリケーションによる印刷ジョブの実行の処理を円滑に行うことができるという効果を奏する。
また、請求項にかかる発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができるという効果を奏する。また、本発明によれば、スプール読み出し手段はプロトコル処理手段とは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となるという効果を奏する。
また、請求項にかかる発明によれば、複数の印刷データを単一の印刷ジョブとして扱うスプール処理のプログラム開発をプロトコルごとに行う必要がなく、効率的なプログラム開発を行うことができるという効果を奏する。
また、請求項にかかる発明によれば、ハードウェア等の変更の影響を受けない部分であるスプール読み出し手段をアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができるという効果を奏する。
また、請求項にかかる発明によれば、ハードウェア等の変更の影響を受けない部分であるスプールアプリをアプリケーション層に、ハードウェア等の変更の影響を受ける部分であるプロトコル処理手段をコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができるという効果を奏する。
また、請求項にかかる発明によれば、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができるという効果を奏する。
また、請求項にかかる発明によれば、スプール読み出し手段とプロトコル処理手段と異なり機能的に独立させたことにより、効率的なプログラム開発を行うことができるという効果を奏する。また、本発明によれば、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となるという効果を奏する。
また、請求項にかかる発明によれば、画像形成アプリケーションまたはプリンタアプリによる印刷ジョブの実行の処理を円滑に行うことができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるスプール処理方法、画像形成装置および情報処理装置の好適な実施の形態を詳細に説明する。
(実施の形態1)
実施の形態1は、本発明の画像形成装置を、複合機に適用したものである。なお、本発明の画像形成装置を複合機の他、プリンタ装置、複写機、ファクシミリ装置にも適用することができる。
図1は、実施の形態1の複合機の主要構成およびネットワーク構成を示すブロック図である。図1に示すように、本実施の形態では、複合機100と、PC(personal Computer)190とがEthernet(R)などのネットワーク180で接続されている。
PC190は通常のコンピュータであり、本発明におけるクライアント端末を構成する。すなわち、本実施の形態の複合機100は、PC190をクライアントとしたサーバとして動作するようになっている。
本実施の形態の複合機100は、アプリケーション層にスプールアプリ110と、プリンタアプリ−A120aとプリンタアプリ−B120bを主に搭載している。また、各アプリケーションに対して共通の処理を行うコントロールサービス層には、ネットワークコントロールサービス(NCS)130を主に搭載している。
この他、複合機100には、汎用OS(Operating System)であるUNIX(登録商標)などのOS140、ハードウェア資源としてハードディスク装置(HDD)150、RAM(Ramdom Accsess Memory)160、Ethernet(R)ケーブルを接続するネットワークカード170が設けられている。
スプールアプリ110は、従来の複合機100においてNCS139の印刷プロトコル処理部内部に設けられていたスプール機能を実行するスプール処理部を通信プロトコルに共通の処理部としてアプリケーション層で実現したものである。このスプールアプリ110は、スプール書き込み処理部111とスプール読み出し処理部112とスプール転送I/F部115とメモリ転送I/F部114とHDD−I/F部113と、を主に備えている。ここで、スプール読み出し処理部112は本発明におけるスプール読み出し手段を構成する。
スプール書き込み処理部111は、PC190から印刷要求があった場合に、印刷ジョブを生成して、印刷対象の印刷データを印刷プロトコル処理部131〜13Nから共有メモリ161を介してHDD150に格納するものである。
ここで、印刷ジョブとは、印刷に関してOSに対して実行させる処理の単位をいい、一つの印刷ジョブは、ジョブ情報ファイルとジョブデータファイルをHDD150に保存することによって登録される。
ジョブ情報ファイルは、印刷ジョブに関する情報を記録したデータファイルであり、具体的には印刷要求を行ったPC190の識別名称であるホスト名およびIPアドレス、印刷要求を行ったユーザ名、ジョブ名、印刷対象のドキュメント名、トレイ指定などの印刷設定などから構成される。ジョブデータファイルは、印刷要求の対象となる印刷データのファイルである。このジョブデータファイルは、単一の印刷ジョブに対して単一のジョブデータファイルとする他、単一の印刷ジョブに対して複数のジョブデータファイルを含めるように構成することができる。なお、本実施の形態では、単一の印刷ジョブに対して単一のジョブデータファイルを含めている。
スプール読み出し部112は、印刷ジョブの実行時に、HDD150に格納されている印刷ジョブに対応する印刷データを読み出して、共有メモリを介してプリンタアプリ−A120a、プリンタアプリ−B120bに受け渡すものである。
スプール転送I/F部115は、スプール処理の際のデータの転送を制御するものである。メモリ転送I/F部114は、RAM160等のメモリ、あるいはRAM160に確保された共有メモリ領域161へのアクセスを制御するものである。HDD−I/F部113は、HDD150に対するアクセスを制御するものである。
本実施の形態では、記憶手段のインタフェースとしてメモリ転送I/F部114とHDD−I/F部113しかないが、例えばSDカードのような他の記憶手段が搭載された場合には、SDカードに対するアクセスを制御するSDカードI/F部を設ける。このようにハードウェアに固有の処理を行う部分がアプリケーション層のスプールアプリ110に設けられているため、HDD150などの記憶手段の変更、あるいは新たなハードウェアの追加などによりインタフェースに変更がある場合には、アプリケーション層のスプールアプリ110を変更すれば、NCS130の印刷プロトコル処理部131〜13Nのそれぞれに修正を加える必要がなくなり、プログラム開発の効率化を図ることができる。
NCS130は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
NCS130は、複数の印刷プロトコル処理部131〜13Nと、機器管理部132と、機器管理プロトコル処理部134と、ネットワーク管理部133と、アプリ管理部135と、ネットワークI/F部137を主に備えた構成となっている。ここで、印刷プロトコル処理部131〜13Nは本発明におけるプロトコル処理手段を構成する。
複数の印刷プロトコル処理部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が設けられている。
機器管理プロトコル処理部134は、ネットワーク管理のプロトコルに従った処理を行うものであり、このようなプロトコルとしては例えばSNMP(Simple Network Management Protocol)等がある。機器管理部132は、機器管理プロトコル処理部134を利用して複合機のネットワーク管理を行うものである。
ネットワーク管理部133は、TCP/IPなどのプロトコルに従ってネットワークに関する処理を行うものである。
アプリ管理部135は、アプリケーション層で動作するプリンタアプリ−A120a,プリンタアプリ−B120b等のアプリケーションを管理するものであり、各アプリケーションの識別データであるアプリIDを管理する。
メモリ転送I/F部139は、RAM等のメモリ、あるいは共有メモリへのアクセスを制御するものである。ネットワークI/F部137は、ネットワークカード170に対するアクセスを制御するものである。
RAM160には、共有メモリ領域(以下、「共有メモリ」という)が確保されている。この共有メモリは、スプールアプリ110によって確保され、スプールアプリ110の他、プリンタアプリ−A120aと、NCS130の印刷プロトコル処理部131〜13Nから参照可能なものとなっている。
次に、本実施の形態にかかる複合機100の全体の機能的構成について説明する。図2は、実施の形態1の複合機100の全体構成を示すブロック図である。図2に示すように、複合機100は、白黒レーザプリンタ(B&W LP)201と、カラーレーザプリンタ(Color LP)202と、スキャナ、ファクシミリ、メモリなどのハードウェアリソース204を有するとともに、プラットホーム220と、アプリケーション230とから構成されるソフトウェア群210とを備えている。
プラットホーム220は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)223と、汎用OS140とを有する。
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)222と、ECS(エンジンコントロールサービス)224と、MCS(メモリコントロールサービス)225と、OCS(オペレーションパネルコントロールサービス)226と、FCS(ファックスコントロールサービス)227と、NCS(ネットワークコントロールサービス)130とから構成される。このプラットホーム220は、あらかじめ定義された関数により前記アプリケーション230から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
汎用OS140は、前述のとおり、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム220並びにアプリケーション230の各ソフトウェアをそれぞれプロセスとして並列実行する。
SRM223のプロセスは、SCS222とともにシステムの制御およびリソースの管理を行うものである。SRM223のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F)、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
具体的には、このSRM223は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM223は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
SCS222のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
ECS224のプロセスは、白黒レーザプリンタ(B&W LP)201、カラーレーザプリンタ(Color LP)202、HDD150、スキャナ、ファクシミリなどからなるハードウェアリソース204のエンジンの制御を行う。
MCS225のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
FCS227のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
OCS226のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS226は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS222に送信するOCSプロセスである。また、オペレーションパネルの操作表示部に対する各種画面を描画出力やその他オペレーションパネルに対する制御は、OCS関数ライブラリに登録されている描画関数等の各種関数をアプリケーション130またはコントロールサービスから呼び出すことにより行われる。
アプリケーション230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ−A120a、プリンタアプリ−B120bと、コピー用アプリケーションであるコピーアプリ212と、ファクシミリ用アプリケーションであるファックスアプリ213と、スキャナ用アプリケーションであるスキャナアプリ214と、ネットワークファイル用アプリケーションであるネットファイルアプリ215と、工程検査用アプリケーションである工程検査アプリ216と、上述したスプールアプリ110とを有している。
アプリケーション230の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション230に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリを開発して搭載することが可能となっている。
次に、以上のように構成された本実施の形態の複合機100によるスプール処理について説明する。図3は、本実施の形態の複合機100によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。
この印刷ジョブの登録処理は次のように行われる。PC190からネットワーク180経由で複合機100に対して印刷要求があると、図3に示すように、その印刷対象の印刷データをNCS130の印刷プロトコル処理部131〜13Nが受信する(ステップS301)。
そして、通信プロトコルに対応したNCS130の印刷プロトコル処理部131〜13Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプール書き込み処理部111に受け渡す。具体的には、印刷プロトコル処理部131〜13Nが印刷データを共有メモリ161の書き込み領域に書き込み(ステップS302)、印刷プロトコル処理部131〜13Nが共有メモリへの書き込み通知をスプール書き込み処理部111に通知する(ステップS303)。
共有メモリへの書き込み通知を受信したスプール書き込み処理部111は、OSのファイルシステムが提供するWriteシステムコールを発行することによって共有メモリ161の書き込み領域の印刷データをHDD150に格納する(ステップS304)。これによって印刷ジョブの登録が行われる。この後、スプール書き込み処理部111はスプール読み出し処理部112にHDDへの書き込み通知を通知する(ステップS305)。
このように、印刷プロトコル処理部131〜13Nとスプール書き込み処理部111との間の印刷データの受け渡しは共有メモリ161を介して行われるようになっている。
次に、かかる印刷ジョブの登録の詳細な処理について説明する。図4は、印刷ジョブの登録時のNCS130の印刷プロトコル処理部131〜13Nが行う処理の手順を示すフローチャートである。
印刷プロトコル処理部131〜13Nは、PC190と接続待ち状態にあり(ステップS401)、接続要求があった場合には(ステップS401:Yes)、接続処理を行う(ステップS402)。具体的には、印刷プロトコル処理部131〜13Nは、PC190とのセッションを確立し、スプールアプリ110のスプール書き込み処理部111に接続要求を送信し、コネクションIDをスプール書き込み処理部111から受信する。
次いで、印刷プロトコル処理部131〜13Nは、ジョブ開始処理を行う(ステップS403)。具体的には、印刷プロトコル処理部131〜13Nは、スプールアプリ110のスプール書き込み処理部111にコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果スプール書き込み処理部111からジョブIDを受信する。また、スプール書き込み処理部111にジョブIDとジョブ情報を指定してジョブ情報設定を行ったり、ジョブ転送開始要求を行う。
次に、PC190からの受信すべきデータがあるか否かを判断し(ステップS404)、受信すべきデータがある場合には、共有メモリ161に空き領域が存在するか否かを調べる(ステップS405)。そして、空き領域が存在しない場合には(ステップS405:No)、空き領域ができるまで待ち状態となる。
一方、共有メモリ161に空き領域がある場合には(ステップS405:Yes)、PC190からのデータを受信して(ステップS406)、受信データを共有メモリ161の書き込み領域に書き込む(ステップS407)。かかるステップS404からS407までの処理を、受信データのEOF(End Of File)を検出するまで繰り返し行う(ステップS408)。
共有メモリ161への受信データの書き込みが完了したら、印刷プロトコル処理部131〜13Nはデータ書き込み完了処理を行う(ステップS409)。具体的には、印刷プロトコル処理部131〜13Nは全データ書き込み完了通知をジョブIDとともにスプール書き込み処理部111に通知する。
次に、印刷ジョブ登録時のスプールアプリ110のスプール書き込み処理部111の行う処理について説明する。図5は、印刷ジョブ登録時のスプールアプリ110のスプール書き込み処理部111の行う処理の手順のフローチャートである。
スプール書き込み処理部111は、NCS130と接続待ち状態にあり(ステップS501)、NCS130の印刷プロトコル処理部131〜13Nから接続要求があった場合には(ステップS501:Yes)、接続処理を行う(ステップS502)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。
次いで、スプール書き込み処理部111は、ジョブ開始処理を行う(ステップS503)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112にコネクションIDを指定してジョブ開始要求を送信し、その結果スプール読み出し処理部112からジョブIDを受信する。また、スプール読み出し処理部112にジョブ転送開始要求も行う。
次に、スプール書き込み処理部111は、HDD150上でジョブデータファイルのオープン処理を行う(ステップS505)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に受信データが存在するか否かを調べる(ステップS505)。そして、受信データが存在する場合には(ステップS505:Yes)、HDD150に空き領域があるか否かを調べる(ステップS506)。
そして、HDD150に空き領域がない場合には(ステップS506:No)、空き領域ができるまで待ち状態となる。一方、HDD150に空き領域がある場合には、OSのファイルシステムが提供するWriteシステムコールを発行して共有メモリ161にあるデータをHDD150にジョブデータファイルとして書き込む(ステップS507)。
そして、ステップS505からS507までの処理を、共有メモリにあるデータのEOF(End Of File)を検出するまで繰り返し行う(ステップS508)。
HDD150へのジョブデータファイルの書き込みが完了したら、スプール書き込み処理部111は、OSのファイルシステムで提供されるCloseシステムコールを発行することによってジョブデータファイルのクローズ処理を行い(ステップS509)、データ書き込み完了処理を行う(ステップS510)。具体的には、スプール書き込み処理部111はデータ書き込み完了通知をジョブIDとともにスプール読み出し処理部112に通知する。
NCS130の印刷プロトコル処理部131〜13Nおよびスプールアプリ110による印刷ジョブの登録処理について説明したが、次に、印刷ジョブ登録処理時の各部の命令およびデータの流れについて説明する。図6、7は、スプール処理における命令の流れを示すフロー図であり、図6は印刷ジョブ登録処理のフロー図、図7は印刷ジョブのジョブデータ書き込み処理のフロー図である。
PC190は、印刷要求を行う際に、複合機100に対して接続要求を行う(ステップS601)。複合機100のNCS130がかかる接続要求を受信してスプールアプリ110のスプール書き込み処理部111に接続要求を行い(ステップS602)、スプール書き込み処理部111はスプール読み出し処理部112に、スプール読み出し処理部112はプリンタアプリ−A120aに順次接続要求を行う(ステップS603、S604)。
接続要求を受けたプリンタアプリ−A120aは、コネクションIDをスプール読み出し処理部112に送信し(ステップS605)、スプール読み出し処理部112、スプール書き込み処理部111、NCS130の印刷プロトコル処理部131〜13Nに順次送信され(ステップS606、S607)、印刷プロトコル処理部131〜13NからPC190に接続OKの旨のメッセージが送信され(ステップS608)、これによってPC190と複合機100との接続が確立される。
次いで、PC190はジョブ開始要求を複合機100に送信する(ステップS609)。複合機100では、ジョブ開始要求をNCS130の印刷プロトコル処理部131〜13Nが受信して、ジョブ開始要求はコネクションIDと転送方式とともに印刷プロトコル処理部131〜13Nからスプール書き込み処理部111、スプール読み出し処理部112、プリンタアプリA−120aへ順次送信される(ステップS610、S611、S612)。プリンタアプリA−120aでは、ジョブIDを決定し、決定したジョブIDをスプール読み出し処理部112に送信し(ステップS613)、スプール読み出し処理部112、スプール書き込み処理部111、NCS130の印刷プロトコル処理部131〜13Nに順次送信される(ステップS614、S615)。
次に、印刷プロトコル処理部131〜13Nは、スプール書き込み処理部111に対してジョブIDとジョブ情報ファイルを指定してジョブ情報設定要求を送信する(ステップS616)。ここで、ジョブ情報は、PC190の識別名称であるホスト名およびアドレス、PC190において印刷要求を行ったユーザ名、ジョブ名、印刷対象のドキュメント名、トレイ指定などの印刷設定などから構成されるデータである。
ジョブ情報設定要求を受信したスプール書き込み処理部111は、ジョブ情報ファイルをHDD150に書き込む(ステップS617)。そして、スプール書き込み処理部111は、印刷プロトコル処理部131〜13Nに通知タイミング設定を行う(ステップS618)。
一方、スプール読み出し処理部112は、HDD150からジョブ情報ファイルを読み出して(ステップS619)、プリンタアプリA−120aに対してジョブ設定要求を送信する(ステップS620)。
プリンタアプリA−120aでは、ジョブ情報ファイルの内容に従ってジョブ情報設定を行って、スプール読み出し処理部112に通知タイミング設定を行う(ステップS621)。
NCS130の印刷プロトコル処理部131〜13Nでは、ステップS618によって通知タイミング設定が行われると、印刷データの転送を開始するがこの際に、ジョブデータ転送開始の通知をスプール書き込み処理部111に対して行う(ステップS623)。このジョブデータ転送開始通知は、スプール書き込み処理部111からスプール読み出し処理部112へ、スプール読み出し処理部112からプリンタアプリA−120aへ順次送信される(ステップS623、S624)。
プリンタアプリ−A120aでは、ジョブデータ転送開始通知を受信し、印刷データの受信の受け入れる状態となってる場合には、OKの旨の通知をスプール読み出し処理部112に送信する(ステップS625)。このOKの旨の通知は、スプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nへ順次送信される(ステップS626、S627)。そして、さらに印刷プロトコル処理部131〜13NからPC190にOKの旨の通知が送信される(ステップS628)。
スプール書き込み処理部111では、ジョブデータ転送開始がOKの旨の通知を受信すると、HDD150にジョブデータファイルを生成するため、ジョブデータオープン命令(OSのOpenシステムコール)を発行する(ステップS701)。
そして、NCS130の印刷プロトコル処理部131〜13NはPC190から印刷対象の印刷データを受信し(ステップS702)、受信した印刷データに対して対応するプロトコル処理を行って共有メモリ161に書き込み領域に印刷データを書き込む(ステップS703)。印刷プロトコル処理部131〜13Nは共有メモリへの書き込みが終了したら、共有メモリデータ書き込み通知をスプール書き込み処理部111に通知する(ステップS704)。
共有メモリデータ書き込み通知を受信したスプール書き込み処理部111は、OSのWriteシステムコールを発行して共有メモリ161の印刷データををジョブデータファイルとしてHDD150に保存する(ステップS705)。そして、スプール書き込み処理部111は、印刷プロトコル処理部131〜13Nに共有メモリへのデータ読み出し通知を送信する(ステップS706)。このようなステップS702からステップS706までの処理をPC190からのデータ送信があるたびに繰り返し行う。
PC190は印刷対象のすべての印刷データの送信が完了すると、データ送信完了通知を複合機100に送信する(ステップS707)。複合機100では、印刷プロトコル処理部131〜13Nによってかかる通知を受信し、全データ書き込み完了通知をスプール書き込み処理部111に送信する(ステップS708)。スプール書き込み処理部111は、全データ書き込み完了通知を受信すると、HDD150のジョブデータファイルに対しファイルクローズ命令(OSのCloseシステムコール)を発行し(ステップS709)、さらにスプール読み出し処理部112に対してジョブデータファイル書き込み完了通知を送信する(ステップS710)。スプール読み出し処理部112は、このジョブデータファイル書き込み完了通知を受信して当該通知をプリンタアプリ−A120aに送信する(ステップS711)。これにより、プリンタアプリ−A120aが印刷ジョブを実行する場合には、HDD150からの印刷データの読み出しが可能となったことがわかるようになってる。これにより、印刷ジョブが登録されることになり、一つの印刷ジョブに対して1つの印刷データがHDD150に生成されることになる。
次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図8は、本実施の形態の複合機100によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。この印刷ジョブの実行処理は次のように行われる。
スプール書き込み処理部111からスプール読み出し処理部112にジョブデータ書き込み完了通知が行われると(ステップS801)、スプール読み出し部112は、HDD150に格納されている該当するジョブIDのジョブデータファイル(印刷データ)を、OSが提供するWriteシステムコールを発行することにより、共有メモリ161の読み出し領域に格納する(ステップS802)。その後、スプール読み出し部112は共有メモリデータ書き込み通知をプリンタアプリ−A120aに送信する(ステップS803)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは、OSが提供するReadシステムコールを発行することにより、共有メモリの読み出し領域から印刷データを読み出して(ステップS804)、印刷処理を行う。
このように、スプール読み出し処理部112とプリンタアプリ−A120aとの間の印刷データの受け渡しはシステムコールの発行によって共有メモリ161を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。
次に、かかる印刷ジョブの読み出しの詳細な処理について説明する。図9は、スプール読み出し処理部112による印刷ジョブの読み出し処理の手順を示すフローチャートである。
スプール読み出し処理部112は、スプール書き込み処理部111と接続待ち状態にあり(ステップS901)、スプール書き込み処理部111から接続要求があった場合には(ステップS901:Yes)、接続処理を行う(ステップS902)。具体的には、スプール読み出し処理部112は、印刷プロトコル処理部による受信データの解釈によって処理を行うアプリケーションのアプリID(本実施の形態ではプリンタアプリ−A120aのアプリID)を指定してアプリケーション(プリンタアプリ−A120a)に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。
次いで、スプール読み出し処理部112は、ジョブ開始処理を行う(ステップS903)。具体的には、スプール読み出し処理部112は、アプリケーションにコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果アプリケーションからジョブIDを受信する。また、スプール読み出し処理部112はHDD150からジョブ情報ファイルの読み出し処理、アプリケーションに対するジョブ情報設定も行う。
次に、スプール読み出し処理部112は、ジョブデータファイルの書き込み完了通知待ちの状態となり(ステップS904)、ジョブデータファイルの書き込み完了通知を受信すると(ステップS904:Yes)、HDD150のジョブデータファイルのオープン処理を行う(ステップS905)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に空き領域があるかを調べる(ステップS906)。
そして、共有メモリ161に空き領域がない場合には(ステップS906:Yes)、空き領域ができるまで待ち状態となる。一方、共有メモリ161に空き領域がある場合には、HDD150からジョブデータファイルの内容を読み出し(ステップS907)、読み出したジョブデータファイルの内容を共有メモリ161の読み出し領域に書き込む(ステップS908)。
そして、ステップS906からS908までの処理を、ジョブデータファイルのEOF(End Of File)が検出されるまで繰り返し行う(ステップS909)。
共有メモリ161へのジョブデータファイルの書き込みが完了したら、スプール読み出し処理部112は、OSのファイルシステムで提供されるCloseシステムコールを発行することによってジョブデータファイルのクローズ処理を行い(ステップS910)、データ書き込み完了処理を行う(ステップS911)。具体的には、スプール読み出し処理部112は、アプリケーションにデータ書き込み通知を通知する。
図10は、上述した印刷ジョブのジョブデータ読み出し処理におけるデータ、命令の流れを示すデータフロー図である。
スプール読み出し処理部112は、スプール書き込み処理部111からジョブデータファイル書き込み完了通知を受信すると、HDD150のジョブデータファイル(印刷データ)のオープン命令(OSのOpenシステムコール)を発行する(ステップS1001)。次に、スプール読み出し処理部112は、HDD150からオープンしたジョブデータファイルの読み出しを行い(ステップS1002)、読み出したデータを共有メモリ161の読み出し領域に書き込む(ステップS1003)。
次に、スプール読み出し処理部112は、プリンタアプリ−A120aに対して共有メモリデータ書き込み通知を送信する(ステップS1004)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは共有メモリ161の読み出し領域から印刷データを読み出す(ステップS1005)。ここで、かかる読み出しは、共有メモリの管理テーブルに登録されている先頭アドレスの位置から管理テーブルに登録されたサイズ分のデータを読み出すことによって行われる。そして、プリンタアプリ−A120aは、共有メモリデータ読み出し通知をスプール読み出し処理部112に送信する(ステップS1006)。
そして、ジョブデータファイルの全てのレコードの読み出しが完了するまで、ステップS1002からステップS1006までの処理を繰り返し行う。
ジョブデータファイルの全てのレコードの読み出しが完了したら、スプール読み出し処理部112は、ジョブデータファイルのクローズ命令(OSのCloseシステムコール)を発行する(ステップS1007)。そして、プリンタアプリA−120aは、共有メモリのデータを全て読み出したら、全データ読み出し完了通知をその処理結果と共にスプール読み出し処理部112を送信する(ステップS1008)。全データ読み出し完了通知を受信したスプール読み出し処理部112は、ファイル読み出し完了通知をスプール書き込み処理部111に送信し(ステップS1009)、ファイル読み出し完了通知を受信したスプール書き込み処理部111は、全データ読み出し完了通知を印刷プロトコル処理部131〜13Nに送信する(ステップS1010)。これにより、プリンタアプリA−120aによる印刷データの読み出し処理が完了し、プリンタアプリA−120aによる印刷処理が実行される。
図11は、印刷ジョブの終了処理における命令の流れを示すフロー図である。PC190が複合機100に対してジョブ終了要求を送信すると、NCS130の印刷プロトコル処理部131〜13Nでかかるジョブ終了要求を受信する(ステップS1101)。そして、ジョブ終了要求は、印刷プロトコル処理部131〜13Nからスプール書き込み処理部111、スプール書き込み処理部111からスプール読み出し処理部112、スプール読み出し処理部112からプリンタアプリA−120aへ順次送信される(ステップS1102,S1103.S1104)。
プリンタアプリ−A120aでは、ジョブ終了処理を行った後、ジョブ終了結果をスプール読み出し処理部112に送信し(ステップS1105)、さらにジョブ終了結果はスプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nへ、印刷プロトコル処理部131〜13NからPC190へ順次送信される(ステップS1106、S1107、S1108)。
次いで、PC190は切断要求を複合機100に対して行う(ステップS1109)。一方、プリンタアプリ−A120aはスプール読み出し処理部112に対しコネクションIDを指定して切断要求を行う(ステップS1110)。この切断要求は、さらにスプール読み出し処理部112からスプール書き込み処理部111へ、スプール書き込み処理部111から印刷プロトコル処理部131〜13Nに順次送信される(ステップS1111、S1112)。
印刷プロトコル処理部131〜13Nでは、PC190およびスプール書き込み処理部111から切断要求を受信すると、切断処理を行い、その切断結果をPC190に送信し(ステップS1113)、さらにスプール書き込み処理部111に送信する(ステップS1114)。
そして、スプール書き込み処理部111は、受信した切断結果を、スプール読み出し処理部112へ、スプール読み出し処理部112からプリンタアプリA−120aへ順次送信する(ステップS1115、S1116)。
プリンタアプリ−A120aは、印刷処理が終了後、印刷完了通知をスプール読み出し処理部112へ送信し、印刷完了通知を受信したスプール読み出し処理部112は、HDD150からジョブデータファイルを削除する。これにより、ジョブが終了することになる。
このように実施の形態1の複合機100では、このように実施の形態1の複合機100では、印刷データを、印刷プロトコル処理部131〜13Nとは機能的に独立させたスプール読み出し部112によって、HDD150から読み出しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリ110の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層の印刷プロトコル処理部131〜13Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、コントロール層の印刷プロトコル処理部131〜13Nを変更すれば、アプリケーション層のスプールアプリ110のプログラム変更は必要がない。このためハードウェア等の変更の影響を受けない部分であるスプールアプリ110をアプリケーション層に、ハードウェア等の変更の影響を受ける部分である印刷プロトコル処理部131〜13Nをコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。
また、本実施の形態によれば、スプールアプリ110は印刷プロトコル処理部131〜13Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
本実施の形態では、印刷データをプリンタアプリ−A120aに受け渡しているが、この他、プリンタアプリ−B120bあるいはその他のアプリケーションに受け渡す構成とすることができる。
(実施の形態2)
実施の形態1の複合機100は、単一の印刷データに対して一つの印刷ジョブを割り当ててスプール処理を行っていたが、この実施の形態2の複合機は、複数の印刷データに対して単一の印刷ジョブを割り当ててスプール処理を行うものである。
実施の形態2の複合機100の機能的構成は、図1および図2で説明した実施の形態1の複合機と同様である。
ただし、本実施の形態の複合機100では、スプールアプリ110は設定パラメータを有しており、この設定パラメータの設定内容に従って複数の印刷データに対して単一の印刷ジョブを割り当てるか否か、分割のサイズを決定する点が実施の形態1の複合機と異なっている。
次に、本実施の形態の複合機100によるスプール処理について説明する。図12は、本実施の形態の複合機100によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。
この印刷ジョブの登録処理は次のように行われる。PC190からネットワーク180経由で複合機100に対して印刷要求があると、図12に示すように、その印刷対象の印刷データをNCS130が受信する(ステップS1201)。
そして、印刷プロトコルに対応したNCS130の印刷プロトコル処理部131〜13Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプールアプリ110に受け渡す。具体的には、印刷プロトコル処理部131〜13Nが印刷データを共有メモリ161の書き込み領域に書き込み(ステップS1202、印刷プロトコル処理部131〜13Nが共有メモリへの書き込み通知をスプール書き込み処理部111に通知する(ステップS1203)。
共有メモリへの書き込み通知を受信したスプール書き込み処理部111は、設定パラメータテーブル1201を参照して(ステップS1204)、該当するアプリケーションについて印刷データをどのように扱うかを判断する。そして、OSのファイルシステムで提供されるWriteシステムコールを発行して共有メモリ161の書き込み領域にある印刷データをHDD150に書き込む(ステップS1205)。このとき、参照した設定パラメータテーブルの内容に従って、複数の印刷データを一つの印刷ジョブで扱う場合には、共有メモリ161の印刷データを設定パラメータテーブル901で設定されたサイズに分割し、HDD150に格納することによって印刷ジョブの登録が行われる。この後、スプール書き込み処理部111はスプール読み出し処理部112にHDDへの書き込み通知を通知する(ステップS1206)。
このように、印刷プロトコル処理部131〜13Nとスプール書き込み処理部111との間の印刷データの受け渡しは共有メモリ161を介して行われるようになっている。
ここで、設定パラメータテーブル1210について説明する。図14は、設定パラメータテーブル1210の内容の一例を示す説明図である。図14に示すように、設定パラメータテーブル1210は、アプリケーション毎に、スプール領域、ファイル分割、分割単位、最大スプール数が定められている。
スプール領域は、印刷データを格納するHDD150内のディレクトリであり、ファイル分割は、一つの印刷ジョブに対して印刷データを分割するか否かを規定し、分割単位は分割された印刷データのサイズを規定し、最大スプール数は登録可能な印刷ジョブの数の最大値を規定したものである。
次に、かかる印刷ジョブの登録の詳細な処理について説明する。図13は、印刷ジョブ登録時のスプールアプリ110のスプール書き込み処理部111の行う処理の手順のフローチャートである。なお、NCS130の印刷プロトコル処理部131〜13Nの処理については実施の形態1と同様であるので説明を省略する。
スプール書き込み処理部111は、NCS130と接続待ち状態にあり(ステップS1301)、NCS130の印刷プロトコル処理部131〜13Nから接続要求があった場合には(ステップS1301:Yes)、接続処理を行う(ステップS1302)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。
次いで、スプール書き込み処理部111は、ジョブ開始処理を行う(ステップS1303)。具体的には、スプール書き込み処理部111は、スプール読み出し処理部112にコネクションIDを指定してジョブ開始要求を送信し、その結果スプール読み出し処理部112からジョブIDを受信する。また、スプール読み出し処理部112にジョブ転送開始要求も行う。
次に、スプール書き込み処理部111は、設定パラメータテーブル1210を読み出して(ステップS1304)、該当するアプリケーションについて印刷データを印刷ジョブにおける扱いを判断する。そして、HDD150上でジョブデータファイル#Nのオープン処理を行う(ステップS1305)。このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。その後、共有メモリ161に受信データが存在するか否かを調べる(ステップS1306)。受信データが存在する場合には(ステップS1306:Yes)、HDD150に空き領域があるか否かを調べる(ステップS1307)。
そして、HDD150に空き領域がない場合には(ステップS1307:No)、空き領域ができるまで待ち状態となる。一方、HDD150に空き領域がある場合には、Writeシステムコールを発行して共有メモリ161にあるデータをHDD150にジョブデータファイル#Nとして書き込む(ステップS1308)。
そして、ジョブデータファイル#Nのデータサイズが設定パラメータテーブル1210の該当アプリケーション(本実施の形態ではプリンタアプリ−A)の分割サイズに達したか否かを判断する(ステップS1309)。
そして、ジョブデータファイル#Nのデータサイズが設定パラメータテーブル1210に設定されている分割サイズに達していない場合には(ステップS1309:No)、ステップS1306からS1308までの処理を繰り返し行って(ステップS1309)、ジョブデータファイル#Nのデータサイズが分割サイズに達するまでジョブデータファイル#Nにデータを書き込む。
HDD150へのジョブデータファイル#Nの書き込みが完了したら、スプール書き込み処理部111は、OSのファイルシステムで提供されるCloseシステムコールを発行することによってジョブデータファイル#Nのクローズ処理を行い(ステップS1310)、ジョブデータファイル#N書き込み完了処理を行う(ステップS1311)。具体的には、スプール書き込み処理部111はジョブデータファイル#N書き込み完了通知をジョブIDとともにスプール読み出し処理部112に通知する。
スプールアプリ110による印刷ジョブの登録処理について説明したが、次に、印刷ジョブ登録処理時の各部の命令およびデータの流れについて説明する。図15は、印刷ジョブのジョブデータ書き込み処理のフロー図である。なお、印刷ジョブの登録時の処理は実施の形態1と同様であるので説明を省略する。
スプール書き込み処理部111では、実施の形態1と同様に、ジョブデータ転送開始がOKの旨の通知を受信すると、設定パラメータテーブル1210を読み出し(ステップS1501)、該当するアプリケーション、この例ではプリンタアプリ−A120aに対する設定パラメータを読み込む。そして、設定パラメータテーブル1501のファイル分割が「する」に設定されている場合には、以下に説明する処理を行う。一方、ファイル分割が「しない」に設定されている場合には、実施の形態1で説明した印刷ジョブの書き込み処理と同様の処理を行う。
この例では、アプリケーションがプリンタアプリ−A120aの場合を説明しており、設定パラメータファイルでは、ファイル分割が「する」、分割単位が「100KB」、最大スプール数が「64」に設定されている。
このため、スプール書き込み処理部111は、PC190から印刷データを受信するごとに、一つの印刷データが100KBのサイズとなった時点で一つのジョブデータファイルを生成することによって、複数の印刷データを一つの印刷ジョブに含める。なお、PC190から受信した印刷データが分割サイズ以上のサイズの場合には、受信した印刷データを100KBのサイズごとに分割するように構成してもよい。
次に、スプール書き込み処理部111は、ジョブデータファイル#Nのオープン命令(OSのOpenシステムコール)を発行する(ステップS1502)。なお、図15中では、ジョブデータファイル#Nとなっている。Nは1以上の整数であり、ジョブデータファイル#Nは、ジョブデータファイルである印刷データを設定パラメータテーブル901に設定されている分割サイズで分割した個々のジョブデータファイルを示すものである。
そして、NCS130の印刷プロトコル処理部131〜13NはPC190から印刷対象の印刷データを受信し(ステップS1503)、受信した印刷データに対して対応するプロトコル処理を行って共有メモリ161に書き込み領域に印刷データを書き込む(ステップS1504)。印刷プロトコル処理部131〜13Nは共有メモリ161への書き込みが終了したら、共有メモリデータ書き込み通知をスプール書き込み処理部111に通知する(ステップS1505)。
共有メモリデータ書き込み通知を受信したスプール書き込み処理部111は、OSのファイルシステムが提供するWriteシステムコールを発行することによって、共有メモリ161に格納されている印刷データをジョブデータファイル#NとしてHDD150に格納する(ステップS1506)。そして、スプール書き込み処理部111は、印刷プロトコル処理部131〜13Nに共有メモリ161へのデータ読み出し通知を送信する(ステップS1507)。このようなステップS1503〜ステップS1507までの処理を、ジョブデータファイル#Nのサイズが設定パラメータテーブル1210の分割サイズ分になるまで、繰り返し行う。
次に、スプール書き込み処理部111は、ジョブデータファイル#Nのクローズ命令(OSのCloseシステムコール)を発行し(ステップS1508)、分割されたジョブデータファイル#NがHDD150に生成されることになる。このため、スプール書き込み処理部111は、ジョブデータファイル#N書き込み完了通知をジョブIDとともにスプール読み出し処理部112に送信する(ステップS1509)。
スプール読み出し処理部112とプリンタアプリ−A120aでは、通知のあったジョブデータファイル#Nの読み出し処理を行い(ステップS1510)、読み出しが完了したら、ジョブデータファイル#N読み出し完了通知をジョブIDとともにスプール書き込み処理部111に送信する(ステップS1511)。なお、スプール読み出し処理部112とプリンタアプリ−A120aでは、通知のあったジョブデータファイル#Nの読み出し処理については後述する。
上記ステップS1502からS1511までの処理を、PC190からデータ送信が完了するまで繰り返す。繰り返す場合には、#Nの値を1だけ増加して行う。これにより、複数のジョブデータファイル#NがHDD150に生成される。
PC190は印刷対象のすべての印刷データの送信が完了すると、データ送信完了通知を複合機100に送信する(ステップS1512)。複合機100では、印刷プロトコル処理部131〜13Nによってかかる通知を受信し、全データ書き込み完了通知をスプール書き込み処理部111に送信する(ステップS1513)。スプール書き込み処理部111は、全データ書き込み完了通知を受信すると、スプール読み出し処理部112に対して全ジョブデータファイル書き込み完了通知を送信する(ステップS1514)。
次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図16は、本実施の形態の複合機100によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。この印刷ジョブの実行処理は次のように行われる。
スプール書き込み処理部111からスプール読み出し処理部112に分割されたジョブデータファイル#N書き込み完了通知が行われると(ステップS1601)、スプール読み出し部112は、HDD150に格納されている該当するジョブIDのジョブデータファイル#N(図16では#1の例を示す)を、OSが提供するWriteシステムコールを発行することにより、共有メモリ161の読み出し領域に格納する(ステップS1602)。その後、スプール読み出し部112は共有メモリデータ書き込み通知をプリンタアプリ−A120aに送信する(ステップS1603)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは、OSが提供するReadシステムコールを発行することにより、共有メモリの読み出し領域から印刷データを読み出して(ステップS1604)、印刷処理を行う。
このように、スプール読み出し処理部112とプリンタアプリ−A120aとの間の印刷データの受け渡しは共有メモリ161を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。
次に、かかる印刷ジョブの読み出しの詳細な処理について説明する。図17は、スプール読み出し処理部112による印刷ジョブの読み出し処理の手順を示すフローチャートである。
スプール読み出し処理部112は、スプール書き込み処理部111と接続待ち状態にあり(ステップS1701)、スプール書き込み処理部111から接続要求があった場合には(ステップS1701:Yes)、接続処理を行う(ステップS1702)。具体的には、スプール読み出し処理部112は、印刷プロトコル処理部による受信データの解釈によって処理を行うアプリケーションのアプリID(本実施の形態ではプリンタアプリ−A120aのアプリID)を指定してアプリケーション(プリンタアプリ−A120a)に接続要求を送信し、コネクションIDをスプール読み出し処理部112から受信する。
次いで、スプール読み出し処理部112は、ジョブ開始処理を行う(ステップS1703)。具体的には、スプール読み出し処理部112は、アプリケーションにコネクションIDと転送方式を指定してジョブ開始要求を送信し、その結果アプリケーションからジョブIDを受信する。また、スプール読み出し処理部112はHDD150からジョブ情報ファイルの読み出し処理、アプリケーションに対するジョブ情報設定も行う。
次に、スプール読み出し処理部112は、ジョブデータファイル#Nの書き込み完了通知待ちの状態となり(ステップS1704)、ジョブデータファイル#Nの書き込み完了通知を受信すると(ステップS1704:Yes)、HDD150のジョブデータファイル#Nのオープン処理を行う(ステップS1705)このオープン処理は具体的にはOSのファイルシステムで提供されるOpenシステムコールを発行することによって行う。そして、共有メモリ161に空き領域があるかを調べる(ステップS1706)。
そして、共有メモリ161に空き領域がない場合には(ステップS1706:Yes)、空き領域ができるまで待ち状態となる。一方、共有メモリ161に空き領域がある場合には、HDD150からジョブデータファイルの内容を読み出し(ステップS1707)、読み出したジョブデータファイル#Nの内容を共有メモリ161の読み出し領域に書き込む(ステップS1708)。
そして、ステップS1706からS1708までの処理を、ジョブデータファイルのEOF(End Of File)が検出されるまで繰り返し行う(ステップS1709)。
共有メモリ161へのジョブデータファイルの書き込みが完了したら、スプール読み出し処理部112は、OSのファイルシステムで提供されるCloseシステムコールを発行することによってジョブデータファイルのクローズ処理を行い(ステップS1710)、データ書き込み完了処理を行う(ステップS1711)。具体的には、スプール読み出し処理部112は、アプリケーションにデータ書き込み通知を通知する。
そして、このようなステップS1704からS1711までの処理を、HDD150に保存されている全てのジョブデータファイル#Nの内容を読み出すまで繰り返し行う(ステップS1712)。全てのジョブデータファイル#Nの内容を読み出したら、全ジョブデータファイル読み出し完了処理を行う(ステップS1713)。具体的には、スプール読み出し処理部112は、全ファイル読み出し完了通知をスプール書き込み処理部111に通知する。
図18は、上述した印刷ジョブのジョブデータ読み出し処理におけるデータ、命令の流れを示すデータフロー図である。
スプール読み出し処理部112は、スプール書き込み処理部111からジョブデータファイル#N書き込み完了通知を受信すると(ステップS1801)、HDD150のジョブデータファイル#N(印刷データ)のオープン命令(OSのOpenシステムコール)を発行する(ステップS1802)。次に、スプール読み出し処理部112は、HDD150からオープンしたジョブデータファイルの読み出しを行い(ステップS1803)、読み出したデータを共有メモリ161の読み出し領域に書き込む(ステップS1804)。
次に、スプール読み出し処理部112は、プリンタアプリ−A120aに対して共有メモリデータ書き込み通知を送信する(ステップS1805)。共有メモリデータ書き込み通知を受信したプリンタアプリ−A120aは共有メモリ161の読み出し領域から印刷データを読み出す(ステップS1806)。ここで、かかる読み出しは、共有メモリの管理テーブルに登録されている先頭アドレスの位置から管理テーブルに登録されたサイズ分のデータを読み出すことによって行われる。そして、プリンタアプリ−A120aは、共有メモリデータ読み出し通知をスプール読み出し処理部112に送信する(ステップS1807)。
そして、ジョブデータファイル#Nの全てのレコードの読み出しが完了するまで、ステップS1803からステップS1807までの処理を繰り返し行う。
プリンタアプリA−120aはジョブデータファイル#Nの全てのレコードの読み出しが完了したら、スプール読み出し処理部112に対してジョブデータファイル#N読み出し完了通知を送信する(ステップS1808)。スプール読み出し処理部112は、ジョブデータファイル#N読み出し完了通知を受信すると、ジョブデータファイル#Nのクローズ命令(OSのCloseシステムコール)を発行する(ステップS1309)。これによって、分割されたジョブデータファイル#Nの読み出し処理が完了する。そして、分割されたすべてのジョブデータファイル#Nについて、上記ステップS1801からS1809までの処理を繰り返す。
すべてのジョブデータファイル#Nについての読み出し処理が完了したら、全ジョブデータファイル読み出し完了通知をその処理結果と共にスプール読み出し処理部112を送信する(ステップS1810)。全ジョブデータファイル読み出し完了通知を受信したスプール読み出し処理部112は、全ファイル読み出し完了通知をスプール書き込み処理部111に送信し(ステップS1811)、全ファイル読み出し完了通知を受信したスプール書き込み処理部111は、全データ読み出し完了通知を印刷プロトコル処理部131〜13Nに送信する(ステップS1812)。これにより、プリンタアプリA−120aによる印刷データの読み出し処理が完了し、プリンタアプリA−120aによる印刷処理が実行される。なお、印刷ジョブの終了処理については実施の形態1で説明した処理と同様に行われる。
このように実施の形態2の複合機100では、スプール読み出し処理部112によって、印刷データを、印刷プロトコル処理部131〜13Nとは別個に、分割された複数の印刷データを、HDD150から読み出しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないアプリケーション層のスプールアプリ110の修正を行えば、ハードウェアに影響を及ぼすコントロールサービス層の印刷プロトコル処理部131〜13Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、コントロール層の印刷プロトコル処理部131〜13Nを変更すれば、アプリケーション層のスプールアプリ110のプログラム変更は必要がない。このためハードウェア等の変更の影響を受けない部分であるスプールアプリ110をアプリケーション層に、ハードウェア等の変更の影響を受ける部分である印刷プロトコル処理部131〜13Nをコントロール層に分離した構成としたことにより効率的なプログラム開発を行うことができる。
また、本実施の形態によれば、スプールアプリ110は印刷プロトコル処理部131〜13Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
(実施の形態3)
実施の形態1および2では、複合機100において本発明のスプール処理を実行するものであったが、この実施の形態3は本発明のスプール処理をプリンタサーバで実行するものである。
図19は、実施の形態3のプリンタシステムのネットワーク構成とプリンタサーバの機能的構成を示すブロック図である。図19に示すように、本実施の形態では、プリンタサーバ1900と、PC190と、プリンタ装置1990がEthernet(R)などのネットワーク180で接続されている。
PC190は通常のコンピュータであり、本発明におけるクライアント端末を構成する。すなわち、本実施の形態のプリンタサーバ1900は、PC190をクライアントとしたサーバとして動作するようになっている。
本実施の形態のプリンタサーバ1900は、本発明における情報処理装置を構成するものであり、スプール処理部1910と、印刷処理部1920と、ネットワーク処理部1930とを主に備えている。
この他、プリンタサーバ1900は、OS1940と、HDD1950と、RAM1960と、Ethernet(R)ケーブルを接続するネットワークカード1970が設けられている。
スプール処理部1910は、従来の印刷プロトコル処理部内部で行っていたスプール機能を、印刷プロトコル処理部1931〜193Nとは別個に設けて実行するものである。このスプール処理部1910は、スプール書き込み処理部1911とスプール読み出し処理部1912とスプール転送I/F部1915とメモリ転送I/F部1914とHDD−I/F部1913と、を主に備えている。ここで、スプール読み出し処理部1912は本発明におけるスプール読み出し手段を構成する。
スプール書き込み処理部1911は、PC190から印刷要求があった場合に、印刷ジョブを生成して、印刷対象の印刷データを印刷プロトコル処理部1931〜193Nから共有メモリ1961を介してHDD1950に格納するものである。
スプール読み出し部処理1912は、印刷ジョブの実行時に、HDD1950に格納されている印刷ジョブに対応する印刷データを読み出して、共有メモリを介して印刷処理部1920に受け渡すものである。
スプール転送I/F部1915は、スプール処理の際のデータの転送を制御するものである。メモリ転送I/F部1914は、RAM1960等のメモリ、あるいは共有メモリ1961へのアクセスを制御するものである。HDD−I/F部1913は、HDD1950に対するアクセスを制御するものである。
本実施の形態では、記憶手段のインタフェースとしてメモリ転送I/F部1914とHDD−I/F部1913しかないが、例えばSDカードのような他の記憶手段が搭載された場合には、SDカードに対するアクセスを制御するSDカードI/F部を設ける。このようにハードウェアに固有の処理を行う部分がアプリケーション層のスプール処理部1910に設けられているため、HDD1950等の記憶手段の変更、あるいは新たなハードウェアの追加などによりインタフェースに変更がある場合には、スプール処理部1910を変更すれば、印刷プロトコル処理部1931〜193Nのそれぞれに修正を加える必要がなくなり、プログラム開発の効率化を図ることができる。
ネットワーク処理部1930は、ネットワーク側から各プロトコルによって受信したデータを処理するものである。ネットワーク処理部1930は、複数の印刷プロトコル処理部1931〜193Nと、ネットワーク管理部1935と、メモリ転送I/F部1939と、ネットワークI/F部1937を主に備えた構成となっている。ここで、印刷プロトコル処理部1931〜193Nは本発明におけるプロトコル処理手段を構成する。
複数の印刷プロトコル処理部1931〜193Nの各々は、各種通信プロトコルに従った処理を行うものであり、各プロトコルに対応して存在する。具体的には、印刷プロトコル処理部131〜13Nは、ネットワークI/F部1937を介してネットワーク上180のPC190等からデータを受信し、論理セッションの確立および開放を行うとともに、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈し、する。そして、解釈したデータからアプリケーション固有のデータ部分を抽出して、印刷処理部1920に受け渡す。ここで、このような通信プロトコルとしては実施の形態1で説明したものと同様である。
ネットワーク管理部1935は、TCP/IP、httpなどのプロトコルに従ってネットワークに関する処理を行うものである。
印刷処理部1920は、例えばプリンタドライバなどであり、PC190から受信した印刷データを印刷対象のプリンタ装置1990に依存する印刷形式のデータに変換する等の処理を行う。
本実施形態のプリンタサーバ1900は、CPUなどの制御装置と、HDD1950などの記録装置と、RAM1960等の記憶装置と、ネットワークカード1970等の通信装置とが接続されており、コンピュータを利用した通常の構成である。
尚、本実施形態のプリンタサーバ1900で実行されるスプール処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フロッピー(R)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施形態のスプール処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のC言語プログラム生成プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
本実施形態にかかるスプール処理プログラムは、プリンタサーバ1400で上記記憶媒体から読み出して実行することにより主記憶装置上にロードされ、上記機能的構成で説明した各部が主記憶装置上に生成されるようになっている。
次に、以上のように構成された本実施の形態のプリンタサーバ1900によるスプール処理について説明する。図20は、本実施の形態のプリンタサーバ1900によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。
この印刷ジョブの登録処理は次のように行われる。PC190からネットワーク180経由でプリンタサーバ1900に対して印刷要求があると、図20に示すように、その印刷対象の印刷データをネットワーク処理部1930の印刷プロトコル処理部1931〜193Nが受信する(ステップS1901)。
そして、通信プロトコルに対応した印刷プロトコル処理部1931〜193Nによって論理セッションの確立を行い、確立されたセッション上で送信されてくるデータを、通信プロトコルに従って解釈する。そして、データからアプリケーション固有のデータ部分を印刷データとして抽出して、印刷データをスプール書き込み処理部1911に受け渡す。具体的には、印刷プロトコル処理部1931〜193Nが印刷データを共有メモリ1961の書き込み領域に書き込み(ステップS2002)、印刷プロトコル処理部1931〜193Nが共有メモリへの書き込み通知をスプール書き込み処理部1911に通知する(ステップS2003)。
共有メモリ1961への書き込み通知を受信したスプール書き込み処理部1911は、OS1940のファイルシステムが提供するWriteシステムコールによって共有メモリ1961の書き込み領域の印刷データをHDD1950に格納する(ステップS2004)。これによって印刷ジョブの登録が行われる。この後、スプール書き込み処理部1911はスプール読み出し処理部1912にHDD1950への書き込み通知を通知する(ステップS2006)。
このように、印刷プロトコル処理部1931〜193Nとスプール書き込み処理部1911との間の印刷データの受け渡しは共有メモリ1961を介して行われるようになっている。印刷ジョブの登録の詳細な処理については実施の形態1と同様であるため説明を省略する。
次に、以上のように登録された印刷ジョブの読み出し処理について説明する。図21は、本実施の形態のプリンタサーバ1900によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。この印刷ジョブの実行処理は次のように行われる。
スプール書き込み処理部1911からスプール読み出し処理部1912にジョブデータ書き込み完了通知が行われると(ステップS2101)、スプール読み出し処理部1912は、HDD1950から該当するジョブIDのジョブデータファイル(印刷データ)を、OSが提供するWriteシステムコールを発行することにより、共有メモリ1961の読み出し領域に格納する(ステップS2102)。その後、スプール読み出し処理部1912は共有メモリデータ書き込み通知を印刷処理部1920に送信する(ステップS2103)。共有メモリデータ書き込み通知を受信した印刷処理部1920は、OSが提供するReadシステムコールを発行することにより、共有メモリ1961の読み出し領域から印刷データを読み出して(ステップS2104)、印刷処理を行う。
このように、スプール読み出し処理部1912と印刷処理部1920との間の印刷データの受け渡しは共有メモリ1961を介して行われるようになっており、このためハードウェアの変更の影響を直接受けないアプリケーション間でのデータの受け渡しが可能となる。なお、かかる印刷ジョブの読み出しの詳細な処理については実施の形態1と同様であるため説明を省略する。
このように実施の形態3のプリンタサーバ1900では、スプール読み出し処理部1912によって、印刷プロトコル処理部1931〜193Nとは別個に、HDD1950に記憶された印刷ジョブに含まれる印刷データを印刷処理部1920に受け渡しているので、ハードウェアに影響のないスプール処理に変更があった場合でもハードウェアに影響のないスプール書き込み処理部1911の修正を行えば、ハードウェアに影響を及ぼす印刷プロトコル処理部1931〜193Nをプロトコルごとに修正する必要がなくなる。また、例えばSDカードなどの新たなハードウェア資源の追加に伴うハードウェアインタフェースの変更があった場合でも、印刷プロトコル処理部1931〜193Nを変更すれば、スプール書き込み処理部1911のプログラム変更は必要がない。このため効率的なプログラム開発を行うことができる。
また、本実施の形態によれば、スプール読み出し処理部1912は印刷プロトコル処理部1931〜193Nとは異なる機能的に独立した手段であるため、アプリケーション間のデータの受け渡しをOSが提供するシステムコールの発行によって共有メモリを介して行うことができ、ハードウェアの変更の影響を直接受けないアプリケーション間で印刷データを受け渡すことが可能となる。
なお、本実施の形態のプリンタサーバ1900では、一つの印刷ジョブで単一の印刷データを扱っているが、印刷データを分割して一つの印刷ジョブで複数の印刷データを扱うように構成しても良い。
以上のように、本発明にかかるスプール処理方法、画像形成装置および情報処理装置は、プリンタ装置、プリンタサーバ、プリンタ機能を含む複合機に適している。
実施の形態1の複合機の主要構成およびネットワーク構成を示すブロック図である。 実施の形態1の複合機の全体構成を示すブロック図である。 実施の形態1の複合機によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。 印刷ジョブの登録時のNCSの印刷プロトコル処理部が行う処理の手順を示すフローチャートである。 印刷ジョブ登録時のスプールアプリのスプール書き込み処理部の行う処理の手順のフローチャートである。 印刷ジョブ登録処理のデータフロー図である。 印刷ジョブのジョブデータ書き込み処理のデータフロー図である。 実施の形態1の複合機によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。 スプール読み出し処理部による印刷ジョブの読み出し処理の手順を示すフローチャートである。 印刷ジョブのジョブデータ読み出し処理におけるデータ、命令の流れを示すデータフロー図である。 印刷ジョブの終了処理における命令の流れを示すフロー図である。 実施の形態2の複合機によるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。 印刷ジョブ登録時のスプールアプリのスプール書き込み処理部の行う処理の手順のフローチャートである。 設定パラメータテーブルの内容の一例を示す説明図である。 印刷ジョブのジョブデータ書き込み処理のフロー図である。 実施の形態2の複合機によるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。 スプール読み出し処理部による印刷ジョブの読み出し処理の手順を示すフローチャートである。 印刷ジョブのジョブデータ読み出し処理におけるデータ、命令の流れを示すデータフロー図である。 実施の形態3のプリンタシステムのネットワーク構成とプリンタサーバの機能的構成を示すブロック図である。 実施の形態3のプリンタサーバによるスプール処理における印刷ジョブの登録時のデータの流れを示す説明図である。 実施の形態3のプリンタサーバによるスプール処理における印刷ジョブの読み出し時のデータの流れを示す説明図である。 従来の複合機におけるスプール処理に関連する機能的構成を示すブロック図である。
符号の説明
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 プリンタ装置

Claims (8)

  1. プロセッサと、共有メモリ及び実行領域を備えた第1記憶部と、第2記憶部とを備え、前記実行領域には、印刷プロトコル処理部と、画像形成アプリケーションと、スプール書き込み部とスプール読み出し処理部と画像形成アプリケーションごとにファイル分割を行うか否かの分割指定および分割単位が設定された設定パラメータとを含むスプールアプリケーションと、が記憶された画像形成装置で実行されるスプール処理方法であって、
    前記プロセッサが、前記印刷プロトコル処理部を実行して、クライアント端末から所定の画像形成アプリケーションに対する印刷処理要求とともに送信された受信データから印刷データを抽出して前記共有メモリに格納するステップと、
    前記プロセッサが、前記スプール書き込み処理部を実行し、前記共有メモリから印刷データを読み出し、印刷処理を依頼されている画像形成アプリケーションに対して設定された前記設定パラメータの前記分割指定に従って、前記印刷データを分割するか否かを決定し、前記印刷データを分割すると決定された場合、前記設定パラメータの前記分割単位で、読み出した印刷データを分割して印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、前記印刷データを分割しないと決定された場合、前読み出した印刷データを分割せずに前記印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、全ての受信データについて前記印刷ジョブデータファイルを作成して前記第2記憶部に記憶するステップと、
    前記プロセッサが、前記スプール読み出し処理部を実行して、前記第2記憶部から前記印刷ジョブデータファイルを読み出して前記共有メモリに格納するステップと、
    前記プロセッサが、印刷処理要求がなされた前記画像形成アプリケーションを実行して、前記共有メモリから前記印刷ジョブデータファイルを読み出して、印刷処理を行うステップと、
    を含むことを特徴とするスプール処理方法。
  2. 前記プロセッサが、前記第2記憶部からの前記印刷ジョブデータファイルの読み出しを完了した後に、前記画像形成アプリケーションに読み出し完了の旨を通知するステップを更に含むことを特徴とする請求項1に記載のスプール処理方法。
  3. プロセッサと、共有メモリ及び実行領域を備えた第1記憶部と、第2記憶部とを備え、前記実行領域には、印刷プロトコル処理部と、画像形成アプリケーションと、スプール書き込み部とスプール読み出し処理部と画像形成アプリケーションごとにファイル分割を行うか否かの分割指定および分割単位が設定された設定パラメータとを含むスプールアプリケーションと、が記憶された画像形成装置であって、
    前記プロセッサが、
    前記印刷プロトコル処理部を実行して、クライアント端末から所定の画像形成アプリケーションに対する印刷処理要求とともに送信された受信データから印刷データを抽出して前記共有メモリに格納し、
    前記スプール書き込み処理部を実行し、前記共有メモリから印刷データを読み出し、印刷処理を依頼されている画像形成アプリケーションに対して設定された前記設定パラメータの前記分割指定に従って、前記印刷データを分割するか否かを決定し、前記印刷データを分割すると決定された場合、前記設定パラメータの前記分割単位で、読み出した印刷データを分割して印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、前記印刷データを分割しないと決定された場合、前読み出した印刷データを分割せずに前記印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、全ての受信データについて前記印刷ジョブデータファイルを作成して前記第2記憶部に記憶し、
    前記スプール読み出し処理部を実行して、前記第2記憶部から前記印刷ジョブデータファイルを読み出して前記共有メモリに格納し、
    印刷処理要求がなされた前記画像形成アプリケーションを実行して、前記共有メモリから前記印刷ジョブデータファイルを読み出して、印刷処理を行う、
    ことを特徴とする画像形成装置。
  4. 画像形成処理で使用されるハードウェア資源を更に備え、
    前記実行領域には、前記画像形成アプリケーションを含む複数のアプリケーションと、前記印刷プロトコル処理部を含むコントロールサービスが記憶され、
    前記プロセッサは、前記印刷プロトコル処理部以外の前記コンロールサービスを実行して、前記複数のアプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行い、前記プロセッサは、前記コンロールサービスに含まれる前記印刷プロトコル処理部を実行して、前記複数のアプリケーションの少なくとも2つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うとともに、前記クライアント端末から前記印刷処理要求と前記受信データとを受信し、前記受信データから前記印刷データを抽出して前記共有メモリに格納することを特徴とする請求項3に記載の画像形成装置。
  5. 前記印刷プロトコル処理部は、前記クライアント端末から前記印刷処理要求と前記受信データとを受信し、前記受信データから前記印刷データを抽出して前記共有メモリに格納するネットワークコントロールサービスであり、
    前記画像形成アプリケーションは、プリンタアプリケーションであり、
    前記プロセッサは、前記ネットワークコントロールサービスと、前記プリンタアプリケーションとを実行する、
    ことを特徴とする請求項4に記載の画像形成装置。
  6. 前記プロセッサは、前記スプール読み出し部を実行して、前記印刷ジョブデータファイルの前記第2記憶部からの読み出しが完了した後に、前記画像形成アプリケーションに読み出し完了の旨を通知することを特徴とする請求項3〜5のいずれか一つに記載の画像形成装置。
  7. プロセッサと、共有メモリ及び実行領域を備えた第1記憶部と、第2記憶部とを備え、前記実行領域には、印刷プロトコル処理部と、画像形成アプリケーションと、スプール書き込み部とスプール読み出し処理部と画像形成アプリケーションごとにファイル分割を行うか否かの分割指定および分割単位が設定された設定パラメータとを含むスプールアプリケーションと、が記憶された画像形成装置であって、
    前記プロセッサが、
    前記印刷プロトコル処理部を実行して、クライアント端末から所定の画像形成アプリケーションに対する印刷処理要求とともに送信された受信データから印刷データを抽出して前記共有メモリに格納し、
    前記スプール書き込み処理部を実行し、前記共有メモリから印刷データを読み出し、印刷処理を依頼されている画像形成アプリケーションに対して設定された前記設定パラメータの前記分割指定に従って、前記印刷データを分割するか否かを決定し、前記印刷データを分割すると決定された場合、前記設定パラメータの前記分割単位で、読み出した印刷データを分割して印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、前記印刷データを分割しないと決定された場合、前読み出した印刷データを分割せずに前記印刷ジョブデータファイルとして作成して前記第2記憶部に記憶し、全ての受信データについて前記印刷ジョブデータファイルを作成して前記第2記憶部に記憶し、
    前記スプール読み出し処理部を実行して、前記第2記憶部から前記印刷ジョブデータファイルを読み出して前記共有メモリに格納し、
    印刷処理要求がなされた前記画像形成アプリケーションを実行して、前記共有メモリから前記印刷ジョブデータファイルを読み出して、印刷処理を行う、
    ことを特徴とする情報処理装置。
  8. 前記プロセッサは、前記スプール読み出し部を実行して、前記印刷ジョブデータファイルの前記第2記憶部からの読み出しが完了した後に、前記画像形成アプリケーションに読み出し完了の旨を通知することを特徴とする請求項7に記載の情報処理装置。
JP2003330370A 2003-09-22 2003-09-22 スプール処理方法、画像形成装置および情報処理装置 Expired - Fee Related JP4368173B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003330370A JP4368173B2 (ja) 2003-09-22 2003-09-22 スプール処理方法、画像形成装置および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003330370A JP4368173B2 (ja) 2003-09-22 2003-09-22 スプール処理方法、画像形成装置および情報処理装置

Publications (2)

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

Family

ID=34459361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003330370A Expired - Fee Related JP4368173B2 (ja) 2003-09-22 2003-09-22 スプール処理方法、画像形成装置および情報処理装置

Country Status (1)

Country Link
JP (1) JP4368173B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009086832A (ja) * 2007-09-28 2009-04-23 Nidec Sankyo Corp 情報システム

Also Published As

Publication number Publication date
JP2005099932A (ja) 2005-04-14

Similar Documents

Publication Publication Date Title
JP4033857B2 (ja) プリントシステムおよび印刷管理サーバおよび印刷方法および印刷管理方法およびプログラム
JP4420421B2 (ja) 情報処理装置およびその制御方法
JP4317162B2 (ja) プリントサーバおよび印刷管理サーバおよび印刷装置およびプリントシステムおよび印刷データ蓄積方法および印刷管理方法および印刷方法およびプログラム
JP5113545B2 (ja) 文書処理システム、文書処理システムの制御方法、プログラム及び記憶媒体
JP6440480B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP2007179197A (ja) プリントシステムおよびプリントサーバおよび印刷管理サーバおよび印刷装置およびプリント方法およびプログラムおよび記録媒体
JP6066006B2 (ja) 画像形成装置
JP5679740B2 (ja) 周辺装置制御システム、周辺装置、情報処理装置及び制御方法
CN107102826A (zh) 图像处理设备及其控制方法
JP4697713B2 (ja) プリントシステムおよび印刷管理サーバおよび印刷方法および印刷管理方法およびプログラム
JP4368173B2 (ja) スプール処理方法、画像形成装置および情報処理装置
JP2009055240A (ja) 画像処理装置、画像処理装置の制御方法、及び、コンピュータプログラム
JP6155802B2 (ja) 画像形成装置、画像形成システム、その制御方法及びプログラム
JP4405217B2 (ja) スプール処理方法、その方法をコンピュータに実行させるプログラム、画像形成装置および情報処理装置
JP4480037B2 (ja) 印刷管理サーバおよび印刷装置および印刷管理方法および印刷方法およびプログラムおよび記録媒体
JP6824944B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6995959B2 (ja) 画像処理装置及び画像処理方法
JP7135169B2 (ja) 画像処理装置、ジョブ処理方法、およびプログラム
JP3809350B2 (ja) 画像出力装置
JP4191062B2 (ja) 画像処理装置、画像提供方法、画像提供プログラム

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