JP2004246513A - 印刷制御プログラム及び情報処理装置 - Google Patents

印刷制御プログラム及び情報処理装置 Download PDF

Info

Publication number
JP2004246513A
JP2004246513A JP2003034345A JP2003034345A JP2004246513A JP 2004246513 A JP2004246513 A JP 2004246513A JP 2003034345 A JP2003034345 A JP 2003034345A JP 2003034345 A JP2003034345 A JP 2003034345A JP 2004246513 A JP2004246513 A JP 2004246513A
Authority
JP
Japan
Prior art keywords
job
data
print
print data
image forming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003034345A
Other languages
English (en)
Other versions
JP3774702B2 (ja
JP2004246513A5 (ja
Inventor
Nakakatsu Kurotsu
中克 黒津
Masamichi Oshima
正道 大島
Hidekazu Morooka
秀和 師岡
Takashi Yakida
隆 八木田
Koichiro Wanda
浩一郎 椀田
Koji Kikuchi
浩司 菊池
Kei Kitakata
圭 北形
Hiroyuki Kayama
博之 嘉山
Kenichi Shirai
健一 白井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2003034345A priority Critical patent/JP3774702B2/ja
Priority to US10/774,473 priority patent/US7538902B2/en
Publication of JP2004246513A publication Critical patent/JP2004246513A/ja
Publication of JP2004246513A5 publication Critical patent/JP2004246513A5/ja
Application granted granted Critical
Publication of JP3774702B2 publication Critical patent/JP3774702B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1234Errors handling and recovery, e.g. reprinting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1261Job scheduling, e.g. queuing, determine appropriate device by using alternate printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】第1スプールファイルに連動した第2スプールファイルのスプール及びデバイスへの送信を効率よく行うこと。
【解決手段】オペレーションシステムによってスプールファイルとしてスプールされ、一旦デスプールされた印刷データを、更にジョブファイルとして再スプールし(S1409)、かつ、その再スプール中に、ジョブファイルとして再スプールされた印刷データの一部を読出し、デバイスに送信する(S1406)。
【選択図】 図14

Description

【0001】
【発明の属する技術分野】
本発明は、画像形成装置に対して印刷データを送信する技術に関する。
【0002】
【従来の技術】
従来から、Windows(登録商標)等のオペレーションシステム(OS)を介してスプールファイルとして書込まれたデータを、スプールの完了を待つことなく、逐次画像形成装置に転送する転送技術が知られている。
【0003】
また、Windows(登録商標)等のOSの仕組みにおいて作成される印刷用のスプールファイルとは別に、印刷制御独自スプールファイルを作成し、再印刷が必要となった際に、その独自スプールファイルを利用する技術が知られている。
【0004】
例えば、特許文献1には、印刷装置に転送した印刷データを、転送終了後も保持し、保持された印刷データを再度印刷装置に転送する再転送の技術が開示されている。
【0005】
【特許文献1】
特開2002−196916号公報
【0006】
【発明が解決しようとする課題】
しかしながら、従来の技術においては、アプリケーションの印刷処理(OSへのスプール処理)が完了する前に画像形成装置へ転送を開始するため、アプリケーション或いはプリンタドライバにおける印刷データ生成処理が滞ると、OSへのスプール処理が待機状態となり、ウェイトタイムが長時間に及ぶ場合には、インタフェースタイムアウトにより印刷が完遂されない場合があった。
【0007】
また、なんらかのエラー発生に際してジョブの再転送を行うことを可能とした従来のシステムにおいては、再転送を行うにあたって、印刷データが再度読み込み可能であって、かつ、既にスプールが終了している状態であることが前提であった。つまり、印刷データのスプールが行われている最中に、エラーが発生すると、再転送を行うにあたり、スプール終了を待つ必要があった。したがって、他の画像形成装置などにスプールファイルの再転送を行うまで長時間を要するという問題があった。
【0008】
本発明は上記の課題に鑑みてなされたものであり、独自のスプールファイルを利用することにより印刷データの再転送を行うような仕組みにおいて、インタフェースタイムアウトエラーの発生を防止すること、及びエラー発生時に再転送をより高速に行うことができる印刷制御の仕組みを提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るプログラムは、画像形成装置に対して印刷データを送信して画像を記録させる情報処理装置において実行される印刷制御プログラムであって、
前記情報処理装置に、
オペレーションシステムによって第1スプールファイルとしてスプールされ、一旦デスプールされた印刷データを、更に第2スプールファイルとして再スプールするスプールステップと、
前記スプールステップにおける再スプール中に、前記第2スプールファイルとして再スプールされた印刷データの一部を読出し、前記画像形成装置に送信する送信ステップと、を実行させることを特徴とする。
【0010】
前記情報処理装置に、更に、
前記印刷データに対応して発行される第1ジョブ識別子とは異なる第2ジョブ識別子を、前記スプールステップにおいて再スプールされる印刷データに関連づけるステップと、
前記第2ジョブ識別子に基づくジョブ管理を行う管理ステップと、を実行させることを特徴とする。
【0011】
前記第1ジョブ識別子は前記オペレーションシステムを介して発行される識別子であることを特徴とする。
【0012】
前記送信ステップは、前記第2スプールファイル中における印刷データを、前記画像形成装置に対して分割して送信する分割送信ステップを含むことを特徴とする。
【0013】
前記送信ステップは、前記スプールステップにおいて前記第2スプールファイルのスプールの終了を検知する書込終了検知ステップを含み、
前記分割送信ステップは、前記書込終了検知ステップによってスプールファイルの書込終了が検知されていない場合に、前記第2スプールファイル中における印刷データを、前記画像形成装置に対して分割して送信することを特徴とする。
【0014】
前記分割送信ステップは、
前記第2スプールファイルにおいて、前記画像形成装置に対して未送信のデータ量を検知するデータ量検知ステップと
前記データ量検知ステップで検知されたデータ量が所定の閾値以下か否かを判定する判定ステップと、
前記判定ステップで前記データ量が前記閾値以下と判定された場合に、前記閾値の整数分の1のデータ量のみを前記画像形成装置に送信するデータ送信ステップと、を含むことを特徴とする。
【0015】
前記分割送信ステップは、前記判定ステップで前記データ量が前記閾値より多いと判定するまで、前記画像形成装置におけるインタフェースタイムアウトが発生する時間未満の間隔で、前記データ送信ステップを繰り返し実行することを特徴とする。
【0016】
前記情報処理装置に、前記スプールステップにおいて第2スプールファイルとして再スプールされた前記印刷データの前記画像形成装置への送信が滞った場合に、前記スプールステップの再スプールが完了していなくても、前記印刷データの再送信を行う再送信ステップを更に実行させることを特徴とする。
【0017】
前記再送信ステップは、
前記スプールステップにおいて第2スプールファイルとして再スプールされた印刷データの状態を表示する表示ステップと、
前記表示ステップにおいて、エラーによって前記画像形成装置への送信が中断している印刷データが表示された場合に、該印刷データの再送信指示を受け付けるステップと、を含むことを特徴とする。
【0018】
前記再送信ステップは、
再送信すべき印刷データを前記第2ジョブ識別子によって特定する特定ステップを含むことを特徴とする。
【0019】
上記目的を達成するため、本発明に係る記憶媒体は、上記印刷制御プログラムを記憶することを特徴とする。
【0020】
上記目的を達成するため、本発明に係る装置は、画像形成装置に対して印刷データを送信して画像を記録させる情報処理装置であって、
オペレーションシステムによって第1スプールファイルとしてスプールされ、一旦デスプールされた印刷データを、更に第2スプールファイルとして再スプールするスプール手段と、
前記スプール手段による再スプール中に、前記第2スプールファイルとして再スプールされた印刷データの一部を読出し、前記画像形成装置に送信する送信手段と、を有することを特徴とする。
【0021】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0022】
(第1実施形態)
<システム構成>
図1は、本発明の実施形態としての印刷制御プログラムを適用可能な情報処理システムの構成を説明するブロック図である。
【0023】
図1において、102〜104はクライアントコンピュータ(以下、クライアントと称する)としての情報処理装置であり、イーサネット(登録商標)などのネットワークケーブルによって、ネットワーク106に接続される。クライアント102〜104の各々は、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタ言語に変換する機能を有するプリンタドライバを搭載している。ここで、各クライアント102〜104はプリンタドライバを複数登録可能である。なお、図1では例示的に3台のクライアントコンピュータを示しているが、ネットワーク106に接続されているクライアントコンピュータは1台でも、または4台以上でもよい。
【0024】
101はプリントサーバ(図中ではサーバと記している)としての情報処理装置であり、ネットワークケーブルによって、ネットワーク106に接続される。プリントサーバ101は、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視したりする。また、プリントサーバ101は、ネットワーク106に接続されている複数のプリンタを管理している。
【0025】
なお、クライアント102〜104とプリントサーバ101は、一般的な情報処理装置(いわゆるパーソナルコンピュータなど)に、それぞれ異なる制御を行う印刷制御プログラム(ネットワークプリンタ制御プログラム)を実行可能に格納することで構成することができる。また、プリントサーバ101は、クライアントコンピュータとしての機能を同時に有することもできる。
【0026】
ここで、印刷制御プログラムは、クライアント102〜104において印刷ジョブの印刷先の変更を指示したり、印刷順序の変更を指示するための制御を行うプログラムを含む。また、印刷制御プログラムは、プリントサーバ101において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。ここで印刷制御プログラムは、クライアント102〜104にインストールされるモジュールと、プリントサーバ101にインストールされるモジュールとを別々に含み、情報処理装置の種類に応じていずれかのモジュールをインストールする。しかし、本発明の印刷制御プログラムはこれに限定されるものではなく、一つの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に並列動作させる構成をとることも可能である。
【0027】
プリントサーバ101は、クライアント102〜104から描画データを含む印刷ジョブを受信してプリンタに印刷させる機能を有する。また、プリントサーバ101は、クライアント102〜104から描画データを含まない印刷ジョブを受け取り、クライアント102〜104の印刷順序を管理し、それぞれのクライアントに対して描画データを含む印刷ジョブの送信許可を順番に通知する機能を有する。更に、プリントサーバ101は、ネットワークプリンタ105のステータスや印刷ジョブの各種情報を取得し、クライアント102〜104に通知する機能を有する。
【0028】
画像形成装置としてのネットワークプリンタ105は、ネットワークインタフェースを介してネットワーク106と接続されている。ネットワークプリンタ105は、クライアントコンピュータ102〜104から送信された、描画データを含む印刷ジョブを解析して1ページずつドットイメージに変換し、1ページ毎に印刷する。
【0029】
また、ネットワークプリンタ105としては、電子写真方式のレーザービームプリンタや複写機やデジタル複合機やファクシミリや、インクジェット方式のプリンタやデジタル複合機など様々な記録方式の画像形成装置を適用できる。
【0030】
プリントサーバ101及びクライント102〜104は同様のハードウェア構成を有した情報処理装置によって実現可能である。図2は、プリントサーバ101またはクライアント102〜105として利用可能な情報処理装置の構成を示すブロック図である。
【0031】
図2において、情報処理装置の制御手段であるCPU200は、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや印刷制御プログラム等を実行し、RAM202に、プログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0032】
ROM201は、その内部に、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。一時記憶手段としてのRAM202は、上述したようにCPU200の主メモリ、ワークエリア等として機能する。
【0033】
フレキシブルディスク(FD)ドライブ203は、記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体としてのフレキシブルディスク(FD)204は、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。ここで、記憶媒体としては、FDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意の媒体を利用できる。FD以外の記憶媒体を利用する場合には、その記憶媒体に適したドライブをFDドライブ203の代わりに、或いはFDドライブ203と共に設ければよい。
【0034】
外部記憶装置の一つであり、大容量メモリとして機能するHD(ハードディスク)205には、上述したようにアプリケーションプログラム、プリンタドライバプログラム、OS、印刷制御プログラム、関連プログラム等が格納されている。また、スプール手段であるスプーラもこのHD205に確保される。なお、ここでスプーラとは、クライアント102〜104ではクライアントスプーラのことであり、プリントサーバ101ではサーバスプーラのことである。また、プリントサーバ101では、クライアント102〜104から受けたジョブ情報を格納し、順序制御を行うためのテーブルもこのHD205に生成されて格納される。
【0035】
キーボード206は、ユーザがクライアントコンピュータに対して、或いは、オペレータや管理者がプリントサーバに対して、制御コマンド等を入力するためのものである。なお、指示を入力するために更にポインティングデバイス(不図示)を備えてもよい。
【0036】
ディスプレイ207は、キーボード206から入力したコマンドや、プリンタの状態等を表示する。システムバス208は、情報処理装置内のデータの流れを司る。また、情報処理装置はインタフェース209を介してネットワーク106と接続され、外部装置とのデータのやり取りを行うことが可能となる。
【0037】
図3は、図2に示したRAM202のメモリマップの一例を示す図である。図4は、図2に示したFD204のメモリマップの一例を示す図である。
【0038】
図3において、301は基本I/Oプログラムであり、本制御装置の電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムが入っている領域である。302はオペレーティングシステム(OS)、303は印刷制御プログラムであり、それぞれRAM202上に確保された領域に記憶される。304は関連データで、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が本実施形態のプリンタ制御プログラム(303)等を実行する際に利用される作業領域が確保されている。
【0039】
図4において、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は印刷制御プログラム、404はその関連データである。印刷制御プログラム403は、本実施形態では、クライアント用、サーバ用共に、同様の構成をとっているものとする。
【0040】
図5は、図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図である。例えば、印刷制御プログラムがFD204に格納されている場合には、図5のように、FD204内の印刷制御プログラムがFDドライブ203によって読みとられ、図3のようにRAM202にロードされ、実行可能な状態となる。
【0041】
なお、FD204から印刷制御プログラムおよび関連データを直接RAM202にロードして実行させる以外にも、予めHD205に印刷制御プログラムをインストールしておき、必要な時にHD205からRAM202にロードするようにしてもよい。また、本印刷制御プログラムを記憶する媒体は、FD以外にCD−ROM、CD−R、PCカード、DVD、ICメモリカード等であってもよい。さらに、本印刷制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【0042】
<印刷制御処理>
図6は本実施形態における印刷システムの機能的構成を示すブロック図である。
【0043】
本印刷システムは、プリンタドライバ601、スプーラ602、LPRポート604といった、従来の印刷制御用のモジュールに加えて、新たに、ジョブ制御サービスポートモニタ605、ジョブ制御プリントサービス610、及びプリントマネージャ611を備えたものである。これらのジョブ制御サービスポートモニタ605、ジョブ制御プリントサービス610、及びプリントマネージャ611といった機能は、上述してきた印刷制御プログラムを実行することによって実現される。
【0044】
逆に言えば、本実施形態に係る印刷制御プログラムには、ジョブ制御サービスポートモニタ605、ジョブ制御プリントサービス610、及びプリントマネージャ611といった各機能が含まれる。
【0045】
次に、本印刷システムで行われる印刷処理について説明する。
【0046】
プリンタドライバ601は、OS606(及びアプリケーション607)を介してクライアント102〜104のディスプレイ207にユーザインタフェース608を表示し、ユーザからの印刷設定を受け付ける。そして608を介しての印刷設定が確定すると、この確定した印刷設定に従うアプリケーションからの印刷指示を受け付ける。
【0047】
図8は、クライアント102〜104のディスプレイ207に表示されるユーザインタフェース(印刷設定画面)の一例を示す。801は、クライアント102〜104が選択可能な複数のプリンタリストを示すものであり、図8の状態ではプリンタリスト801から「プリンタE」が選択されるところである。
【0048】
なお、ここでプリンタリストに表示されるのは、画像形成装置としてのプリンタデバイスそのものを表す名称ではなく、どのようにその印刷ジョブを処理するかを示す各種の処理方法である。従って、プリンタリスト801において、例えば、「プリンタC」はPDF(Portable Document Format)(登録商標)ライターを示す場合がある。また、「自動代行」、「同報」は複数のプリンタ(メンバプリンタ)を対象とした印刷を行う為の仮想プリンタを示す。「自動代行」や、「同報」の対象となるメンバプリンタとしては、例えば、プリンタB及びプリンタDを予め登録しておくことができる。
【0049】
図9は、図8において、「プリンタE」の選択が確定した状態でのユーザインタフェースを示す。901は、選択したプリンタに対応するポート名を示す欄である。「プリンタE」のポート名が、Proxy Output PortE(以下、ポートEと称する)であることを示している。尚、HD205には、図8のプリンタリスト801に示される各プリンタと、ポート名とを関連づけるテーブルが格納されており、複数のプリンタから何れかのプリンタが選択されると、図9の901の表示は各々のポートに対応したものとなる。
【0050】
図9に対しユーザからの印刷指示(OKボタンの押下)がキーボード206または不図示のポインティングデバイスから入力されると、図6に戻って、OS606がこれを解釈して描画命令(DDI)としてプリンタドライバ601に送る。プリンタドライバ601はOSを介して供給される描画命令(DDI)に基づき頁記述言語(PDL)で記述された印刷データを生成する。この印刷データにはアプリケーションプログラムが描画した描画データとジョブ制御データの双方が含まれる。
【0051】
生成された印刷データは、OSのスプーラ602によって、スプールファイル(第1スプールファイル)として、スプールファイル記憶エリア603に記憶される。図9で選択されたプリンタに関連付けられたポートがLPRポート604の場合は、LPR(ラインプリンタデーモンプロトコル)を用いてスプーラ602から転送されてきた印刷データが画像形成装置としてのデバイス614に送られる。LPRポート604から転送される印刷データは転送後消去され、再印刷/代行印刷などに利用でいないようになっている。
【0052】
ここで、デバイス614は、図1のネットワークプリンタ105に対応するものであり、上述したとおり、電子写真方式のレーザービームプリンタ/複写機/デジタル複合機/ファクシミリや、インクジェット方式のプリンタ/デジタル複合機など様々な記録方式の画像形成装置が適用できる。
【0053】
一方、プリンタに関連付けられたポートがジョブ制御サービスポートモニタ605を利用するものである場合には、デスプール処理として、ジョブ転送開始通知及び描画データがスプーラ602からジョブ制御サービスポートモニタ605に送られる。そして、ジョブ制御サービスポートモニタ605に送られた描画データはジョブファイル(第2スプールファイル)として、ジョブファイル記憶エリア609に再度スプールされる。
【0054】
なお、ジョブ制御サービスポートモニタ605は、ポート毎に用意されており、それぞれジョブファイル記憶エリア609にジョブファイルを格納する際のデータフォーマットなどの設定を保有している。従って、スプーラ602は、そのジョブがどのポートに対応するものかを判断して、ジョブに応じたジョブ制御サービスポートモニタ605にデスプールする。
【0055】
図7は、スプーラ602からジョブ制御サービスポートモニタ605に送られるジョブ転送開始通知の内容を示す図である。
【0056】
図7において、701はジョブ転送の開始を示し、702はプリンタ名を示す。プリンタ名702は、図8、図9のユーザインタフェースにおいてプリンタリスト801から選択されたプリンタの識別名称に対応する。
【0057】
703は、プリンタリスト801から選択されたプリンタ名に対応するポート名であり、図9の901に示されるポート名と同じ内容となる。
【0058】
704は、印刷指示に応じてOSの仕組みを介して発行されたジョブ識別子としてのID(以下、第1ジョブIDと称する)である。第1ジョブID704はOSを介して発行された印刷指示を識別する為のIDそのものである必要はなく、そのIDに関連付けられていれば良い。
【0059】
ジョブ制御サービスポートモニタ605は、ジョブ制御プリントサービス610に対し、ジョブ開始通知として、受信した図7の情報を通知する。この通知には少なくとも第1ジョブID704が含まれていればよい。第1ジョブID704に関連する他の情報はジョブ制御プリントサービス610が第1ジョブID704をキーに特定できれば良い。
【0060】
これに応じて、ジョブ制御プリントサービス610は、ジョブ制御サービス内部で印刷要求を識別するジョブ識別子としてのID(以下、第2ジョブIDと称する)を生成し、ジョブ制御サービスポートモニタ605に送信する。また、ジョブ制御プリントサービス610は、第2ジョブIDと同時に、ジョブファイル記憶エリア609に描画データを格納する際のファイル名を生成し、ジョブ制御サービスポートモニタ605に送信する。
【0061】
ここで、第1ジョブIDとは別に第2ジョブIDを生成するのは、以下の理由による。
【0062】
OSに管理された第1ジョブIDは、原則的に印刷が終了した時点で開放され、新たに発生した他のジョブに全く同じ第1ジョブIDが付される可能性がある。一方、ジョブ制御プリントサービス610を含む印刷制御プログラムは、一旦終了したジョブのジョブ情報及び描画データを保存しておいて再印刷時に有効に利用しようとするものである。従って、第1ジョブIDだけで管理すると、再印刷時に、同じ第1ジョブIDが付された2つのジョブを区別することができない。そこで、ジョブ制御プリントサービス610は、管理するジョブごとに新たにオリジナルの第2ジョブIDを付して、上記のような問題が生じないようにしている。
【0063】
ジョブ制御プリントサービスポートモニタ605は、スプーラ602から渡された描画データを、順次、ジョブ制御プリントサービス610から指示されたファイル名に関連づけてジョブファイル記憶エリア609に書込む。そして、ジョブ制御プリントサービス610に対し、描画データの書き込み開始を通知する。
【0064】
ジョブ制御プリントサービス610はジョブファイル記憶エリア609への書き込み開始通知を受けると、ジョブファイル記憶エリア609に書込まれた描画データを順次読込み、複数のデバイス614の中で対応するデバイスに送信する。
【0065】
一方、プリントマネージャ611は、一種のアプリケーションであり、API(アプリケーションプログラムインタフェース)612を介してジョブ制御プリントサービス610と各種情報の送受信を行う。この各種情報の送受信には図13中のジョブ識別子が関連付けられているものとする。例えば、プリントマネージャ611は、ジョブ制御プリントサービス610が監視するデバイス614の状態やジョブの状態を反映したユーザインタフェースを作成したり、各種印刷指示の入力画面を提供する。
【0066】
図11は、プリントマネージャ611が表示可能なジョブ一覧画面の一例である。図11の表示には1つのジョブしか示されていないが複数のジョブが表示される場合もある。その場合各々のジョブにはジョブ識別子が関連付けられている。
【0067】
プリントマネージャ611は、ジョブ制御プリントサービス610からプリントジョブの一覧を取得し、図11のようなジョブ一覧画面を、ディスプレイ207に表示することができる。ジョブ一覧画面には、ジョブのプリンタ名(プリンタE)、接続先のポート(Proxy Output PortE)、デバイスの状態等を含むステータス1101を表示する。図においては、「Printer Test Page」というジョブが選択状態にある。
【0068】
また、各ジョブがどのような状態にあるかを、リスト1102にして示す。そして、リスト中のいずれかのジョブを選択して、ポップアップメニュー1103を表示させることにより、そのジョブのキャンセル、停止、再開、再印刷等の指示を行うことができる。ポップアップメニュー1103によるこれらの指示は、選択されたジョブの第2ジョブIDと共にジョブ制御プリントサービス610に送られる。
【0069】
つまり、ジョブ一覧画面に表示された各ジョブは第2ジョブIDと関連づけられているため、一覧画面の中からジョブが選択され、指示が入力されると、そのジョブの第2ジョブIDがプリントマネージャ611からジョブ制御プリントサービス610に送られる。そして、ジョブ制御プリントサービス610は、受け取った第2ジョブIDによってジョブを特定し、再送信や削除などの処理を行う。
【0070】
プリントマネージャ611は、基本的には、このジョブ一覧画面をユーザからの指示に応じて表示するが、ジョブ制御プリントサービス610において認識された画像形成装置への送信が滞るようなエラー発生情報が送られてきたことに応じて、自動的に表示してもよい。
【0071】
図10は、図6のジョブ制御プリントサービス610の詳細を示すブロック図である。
【0072】
ジョブ出力モジュール1001はジョブ情報をリストにして管理し、印刷データのデバイス614への送信を制御する。
【0073】
デバイス監視モジュール1003はネットワークケーブルなどの通信回線を介してデバイスの状態情報を監視する機能を備える。デバイス監視モジュール1003はデバイスに問合せを行ったり、デバイスから自発的に通知されてくる状態情報を受信する機能を備える。
【0074】
状態情報としては、デバイス614における紙/トナーなどの消耗品無し、ジャム、ドアオープン、等のエラー情報や、デバイス614におけるジョブの予約数などデバイスの負荷情報などを含む。
【0075】
ジョブ管理モジュール1002はデバイス監視モジュール1003とジョブ出力モジュール1001との情報の送受信を仲介する機能を備える。またジョブ制御プリントサービスが、前述のサーバ101上でサーバプログラムとして動作している場合、及び/又は、同一デバイスへ出力される複数のジョブ(ジョブ情報及びジョブファイル)がジョブ出力モジュール中に存在した場合には、それぞれのジョブの送信順序を制御する機能も備える。図10中の双方向矢印1004はスケジュール(出力順序制御)の依頼と、スケジュールアップ(出力開始指示)とを示す。
【0076】
図12はジョブ出力モジュール1001の更に詳細な機能構成を示すブロック図である。図12に示すように、ジョブ出力モジュール1001は、OSのスプーラに登録されているプリンタ及びポート単位でジョブ情報リスト1201を管理するため、各プリンタ及びポートに対応するオブジェクト1208,1209を含んでいる。図12では、それらのオブジェクトの例として、プリンタE、ポートEを示しており、ポートEに対応するデバイスとしてプリンタデバイスEを示している。
【0077】
また、上述したようにジョブ制御サービスポートモニタ605もポート毎に用意されている。このため、スプーラ602からデスプールされたジョブ情報は、そこで指定されているポートに応じて各ジョブ制御サービスポートモニタに振り分けられ、各ジョブ制御サービスポートモニタは、対応するプリンタオブジェクト及びポートオブジェクトとの間で処理を行う。
【0078】
各プリンタオブジェクト1208は、ジョブ情報リスト1201から、ジョブ情報を検索したり、ポートオブジェクト1209にジョブファイルの送信を指示したりする機能を有する。また、各プリンタオブジェクトは、ジョブ制御プリントサービス内部で制御を行う為に必要な拡張情報を保持しており、更にその設定を行うためのユーザインタフェースを表示する機能を有している。図16は、そのような拡張情報を設定するための画面の一例を示す図である。図16に示すように、プリンタオブジェクト1208に設定可能な拡張情報としてはジョブの優先度や代行発生条件がある。
【0079】
一方、各ポートオブジェクト1209は、プリンタオブジェクト1208から送信指示されたジョブの第2ジョブIDを送信待ちジョブのキュー1210へ登録する機能を有する。そして、キュー1210において、最先に登録された第2ジョブIDに対応するジョブファイルをジョブファイル記憶エリア609から読出し、所定のデバイスに送信する機能を有する。
【0080】
ジョブ制御サービスポートモニタ605は、図17に示すユーザインタフェースをディスプレイ207に表示することができ、デバイスのアドレスやモデル名を表示するほか、送信プロトコル、ポート番号、デバイスへの転送方法の設定を受け付けることができる。そして、これらの設定内容のコピーが、ポートオブジェクト1209に予め送られる。
【0081】
従って、図17の「ジョブのデバイスへの転送」チェックボックスにおいて、「スプールしながら転送する」が選択されている場合には、ジョブ制御サービスポートモニタ605によるジョブファイル記憶エリア609へのスプール動作に並行して、ポートオブジェクト1209によるデバイスへの送信処理が行われる。一方、「スプール後に転送する」が選択されている場合は、従来通り、ジョブ制御サービスポートモニタ605がジョブファイル記憶エリア609にジョブに対応する全ての描画データをスプールした後に、デバイスへの転送を開始する。すなわち、印刷制御プログラムは、スプール処理の動作とポートオブジェクトにおける送信処理とを並行動作するか否かを排他的に選択可能である。
【0082】
図17で「スプールしながら転送する」と設定された場合、オペレーションシステムによってスプールファイルとしてスプールされ、一旦デスプールされた印刷データを、更にジョブファイルとして再スプールし、かつ、その再スプール中に、ジョブファイルとして再スプールされた印刷データの一部を読出し、デバイスに送信することになる。
【0083】
なお、1つのデバイスに出力することを目的としたポートオブジェクト1209が複数存在した場合、プリンタオブジェクト1208で受け付けたジョブ情報は、複数のポートオブジェクト1209間において順序制御され順次デバイスへ転送される。
【0084】
なお、ジョブ情報リスト1201に格納される各ジョブ情報の詳細は図13に示されている。ジョブ情報には、第1ジョブIDと第2ジョブIDの対応のほか、ジョブファイルの名称、プリンタ名、ポート名、ジョブの状態、受け付け時刻等が含まれる。ジョブ情報は第2ジョブID、或いはプリンタ名と第1ジョブIDの組み合わせによって検索可能である。ジョブ情報リスト1201は、API612や不図示の内部インタフェースによって、プリンタオブジェクト1208、ポートオブジェクト1209等からアクセス可能に構成されている。なお、ジョブ情報リスト1201はRAM202上に保存され、高速にアクセス可能な構成となっているが、そのコピーはファイルとしてHD205上に保存され、ジョブファイルと共に、装置の電源が切断されても再度利用可能な構成となっている。
【0085】
次に、ジョブ制御サービスポートモニタ605とプリンタオブジェクト1208及びポートオブジェクト1209との間での処理について、図14を用いて詳細に説明する。
【0086】
ユーザインタフェースを介してプリンタEによる印刷指示が入力されると、プリンタE(すなわちポートE)に対応するジョブ制御サービスポートモニタ605は、OSからの印刷開始イベントを認識する(S1401)。
【0087】
次に、ジョブ制御サービスポートモニタ605は、図7に示される情報を含んだジョブ開始要求を、対応するプリンタオブジェクト1208に通知する(S1402)。
【0088】
プリンタオブジェクト1208は、そのジョブ開始要求によって新規にジョブが発行されたことを検知し、ジョブ情報リストから、未使用の第2ジョブID及びジョブファイル記憶エリア609に描画データを記憶する際のファイル名を選択/生成する。そして更に、それらの第2ジョブID及びファイル名を、OSから取得したジョブの属性及び第1ジョブIDと共にジョブ情報リストに登録する。
【0089】
また、ジョブ制御ポートモニタ605は、更新されたジョブ情報リスト1201の中からプリンタ名及び第1ジョブIDをキーとしてジョブ情報を特定し、そのジョブ情報に含まれる第2ジョブID及びファイル名をステップS1402の応答として受け取る(S1403)。
【0090】
次に、ジョブ制御サービスポートモニタ605は、スプーラ602からデスプールされた描画データを、ステップS1403において受信したファイル名を付して、順次、ジョブファイル記憶エリア609へ書き込む(S1409)。そして、第2ジョブIDとジョブファイルの書き込み開始とをプリンタオブジェクト1208へ通知する(S1404)。
【0091】
ステップS1404の通知を受けたプリンタオブジェクト1208は、ステップS1405において、ポートオブジェクト1209に対して第2ジョブIDに対応するジョブの送信予約/登録を行う。これに応じ、ポートオブジェクト1209は、プリンタオブジェクト1208から送信指示されたジョブの第2ジョブIDを送信待ちジョブのキュー1210へ登録する。
【0092】
ポートオブジェクト1209において、「スプールしながら転送する」が設定されている場合、ポートオブジェクト1209は、送信指示を受けたジョブを、ジョブファイルの書込終了シグナルを待たずに、デバイスへの転送候補としてピックアップする。転送候補としてマークされたジョブは、そのジョブに対応するジョブ情報に含まれた優先順位、受付時刻等が参照され、送信順序が決定される。
【0093】
送信待ちジョブのキュー1210に登録されたジョブが送信順序に達すると、ポートオブジェクト1209は、ジョブファイル記憶エリア609から、そのジョブに対応するジョブファイルを読込み、デバイスに送信する(S1406)。ジョブファイルを受信したプリントデバイスでは、受信したジョブファイルに基づいて記録材へのプリントを実行する。
【0094】
ところが、デバイスに対するジョブファイルの送信がエラーによって終了すると、ステップS1407からステップS1408に進み、再送信の指示を待つ。プリンタオブジェクト1208では、再送を指示されると、ステップS1405に戻り、ポートオブジェクト1209に対し、第2ジョブIDに対応するジョブの送信予約を再度行う。そしてステップS1406に進み、更に、ジョブファイル609の読み込み・送信処理が行われる。
【0095】
一方、ジョブ制御サービスポートモニタ605によりジョブファイル609の書き込みが終了した場合には、プリンタオブジェクト1208にジョブファイルの書込終了の同期シグナルが通知される(S1410)。プリンタオブジェクト1208は、書込終了シグナルを受け取ると、確定されたジョブの属性情報(用紙サイズ、用紙枚数等)を元にジョブ情報リスト1201を更新する。
【0096】
書込終了シグナルは、ジョブ制御サービスポートモニタ605からプリンタオブジェクト1208に直接通知しても良いし、セマフォ等を用いて(semaphore:並行して動作しているプロセス間で同期を取ったり割り込み処理の制御を行なう機構。また、そのためにプロセス間で交換される信号)通知しても良い。
【0097】
また、エラー終了することなく書込終了シグナルを検知したプリンタオブジェクト1208及びポートオブジェクト1209は、ジョブの送信処理を正常終了する。
【0098】
デバイスでの印刷完了がデバイス監視モジュール1003によって検知され、ジョブ管理モジュール1002を経由してジョブ出力モジュール1001へ通知されると、ジョブ情報リスト1201からジョブ情報が削除され、ジョブファイル記憶エリア609からジョブファイルが削除され、印刷処理が完了する。
【0099】
<データ転送処理>
図15は、図14のステップS1406におけるジョブデータ送信処理の詳細を示すフローチャートである。このフローチャートに示される各処理はポートオブジェクト1209によって実行される。
【0100】
まず、ステップS1501では、ジョブファイル記憶エリア609において、第2ジョブIDに対応したジョブファイルをオープンする。
【0101】
続いて、ステップS1502において、RAM202上の送信バッファにジョブファイルのデータを記憶する。続いてステップS1503においてジョブファイルの書込終了シグナルがセットされているかを確認する。
【0102】
ステップS1504の判定において、書込終了シグナルがセットされたと判定された場合には、ステップS1505で送信バッファ中のデータが全て転送され、ステップS1506でファイルをクローズして送信処理は終了する。
【0103】
一方、ステップS1504の判定において、書き込みスプール終了シグナルがセットされておらず、まだスプール中であると判定された場合には、ステップS1507に進み、送信バッファに残っている未送信のデータ量を判定する。送信バッファに閾値よりも多くのデータが入っていると判定された場合、ステップS1508において、閾値分のデータだけ送信バッファに残るようにデータを転送する。例えば、閾値が1024バイトで、送信バッファに1124バイトのデータが記憶されている場合には、1124−1024=100バイトだけステップS1508で送信される。
【0104】
ステップS1508の送信処理において、デバイスがデータを受け付けないことが分かった場合には、エラーが発生したと判定し、ステップS1509からステップS1506に進んで、ファイルをクローズし送信処理は終了する。
【0105】
ステップS1509の判定で送信が成功した場合には、ステップS1502に戻り、次のデータを送信バッファに読み込み、送信処理を継続する。
【0106】
一方、ステップS1507におけるデータ量の判定において閾値以下かつ1バイト以上のデータが存在する判定された場合には、ステップS1510において、1バイトのデータのみをデバイス614へ転送する。
【0107】
ステップS1511において送信エラーの発生を判定し、エラーが発生していた場合には、ステップS1506に進み、ファイルをクローズして送信処理を終了する。
【0108】
一方、ステップS1511の判定で送信処理が成功と判定された場合には、ステップS1512において一定時間書込終了シグナルがセットされるのを待つ。ステップS1512はタイムアウトが発生するか、書込終了シグナルがセットされると終了し、
また、ステップS1507の判定でデータが無いと判定された場合には、そのままステップS1502のデータの読み込み処理に戻る。また、別の形態として、ステップS1507の判定でデータが無いと判定された場合には、ステップS1512の処理に移行するようにしても良い。
【0109】
以上の処理によれば、ジョブファイル中における印刷データを、デバイスに対して分割して送信することになるので、再スプールされたジョブファイルを送信するような形態においてインタフェースタイムアウトの発生を回避できることになる。
【0110】
また、ジョブファイルのスプールの終了を監視し、スプールファイルの書込終了が検知されていない場合に、印刷データをデバイスに対して分割して送信するようにし、書込終了が検知された場合に送信バッファ中のデータを全て転送するようにするので、ジョブ制御サービスポートモニタ605を介してのジョブファイルのスプールが滞っている可能性のケースに対応して効率よくインタフェースタイムアウトの発生を回避できできることになる。
【0111】
また、ジョブファイルにおいて、デバイスに対して未送信のデータ量を検知し、検知された未送信データ量が所定の閾値以下か否かを判定し、未送信データ量が前記閾値以下と判定された場合に、閾値の整数分の1のデータ量のみをデバイスに送信することになる。また、データ量が閾値より多いと判定するまで、デバイスにおけるインタフェースタイムアウトが発生する時間未満の間隔で、分割送信を繰り返し実行することになる。
【0112】
なお、ステップS1507の判定に利用する閾値及びステップS1512におけるシグナル待ち時間は、予め設定されたインタフェースタイムアウト防止時間及びデバイス614のインタフェースタイムアウト時間によって決定される。例えば、デバイスにおいて1分間のインタフェースタイムアウト時間が設定されている場合、ステップS1512において書込終了イベントを待つ時間は、デバイスのインタフェースタイムアウト時間以下の値(例えば40秒)に設定される。この書込終了イベント待ち時間は、デバイスのインタフェースタイムアウト時間よりも十分に少ない時間であることが望ましい。
【0113】
例えば、ステップS1512における書込終了イベントの待ち時間が30秒で、インタフェースタイムアウトを10分(600秒)間防止したい場合には、閾値として600÷30=20バイトを設定すればよいことになる。これらの値は本印刷システムがサポートする全デバイスの特性を考慮してシステム全体で一意に決定し、ROM201に保持しても良いし、デバイス毎に個別の設定をROM201或いはHD205等に保持しても良い。またタイムアウト設定画面を表示し、閾値や書込終了シグナル待ち時間などについてユーザの任意の設定を受け付けるタイムアウト設定手段を設けてもよい。その場合、デバイス毎或いはシステムで一意のタイムアウト設定は、HD205等の不揮発性メモリに保存することが望ましい。
【0114】
また、前述の説明においてステップS1510ではタイムアウト防止用に1バイトのデータを分割送信したが、本発明はこれに限定されるものではなく、他の所定量のデータ(例えば、閾値の整数分の1のデータ)に分割して送信してもよい。例えば、1回の分割送信のバイト数を16バイトとした場合には、閾値を320バイトとすれば、送信バッファ内のデータが閾値以下になってから全くジョブファイルにデータが記憶されなくても、320÷16=20回、ステップS1512の待機処理が行われる。これによって1回の書込終了イベントの待ち時間が30秒であれば、30×20=600秒、つまり10分間のインタフェースタイムアウト時間が保証される。
【0115】
なお、ここでは閾値を1つにして、閾値以下の場合に1バイトずつ送信するアルゴリズムとしたが、本発明はこれに限定されるものではなく、複数の閾値を設け、データサイズに応じて様々なデータ量に分割するアルゴリズムでもかまわない。
【0116】
ステップS1512の待機処理が繰り返されても、スプーラ602からジョブ制御ポートモニタ605への描画データの転送が滞った場合には、デバイスとのインタフェースにおいてインタフェースタイムアウトが発生する。このような場合や、デバイスの電源断等が発生しデバイスがデータを受け付けない場合には、ステップS1509またはステップS1511においてエラーと判定し、送信処理が終了する。
【0117】
なお、本実施形態においては、印刷データの再送を、図11に示したジョブ一覧画面におけるユーザからの指示によって実施することとしたが、本発明はこれに限定されるものではなく、例えばプリントマネージャ611等のジョブ制御プリントサービス610を監視するプログラムが、ジョブの状態を常時監視し、ジョブエラーの発生後、自動的に再送指示を行ってもよい。このポートオブジェクト1209に対する再送指示は、ジョブエラー発生の一定時間後であってもよいし、エラーとなったジョブのジョブファイル生成が完了した時点であってもよい。
【0118】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0119】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(上記実施形態では図14や図15に示すフローチャートに対応したプログラム)を、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0120】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0121】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0122】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0123】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
【0124】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0125】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0126】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【0127】
【発明の効果】
以上説明したように、本発明によれば、印刷データのスプールステップと該印刷データのデバイスへの転送ステップを並行に動作している場合に、印刷データのスプールステップが滞った場合にもデバイスへの転送ステップにおけるインタフェースタイムアウトエラーの発生を最小限に抑えることが可能となる。
【0128】
またインタフェースタイムアウトが発生した場合においても速やかに再送をおこなうことが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る印刷処理システムの構成を示す図である。
【図2】本発明の実施形態に係る印刷処理システムにおける情報処理装置の構成を示すブロック図である。
【図3】本発明の実施形態に係る情報処理装置のRAMのメモリマップの一例を示す図である。
【図4】本発明の実施形態に係るFDのメモリマップの一例を示す図である。
【図5】本発明の実施形態に係る情報処理装置のFDドライブに挿入されるFDとの関係を示す図である。
【図6】本発明の実施形態に係る情報処理装置の印刷制御機能の概略を示す図である。
【図7】本発明の実施形態に係る通知情報の一例を示す図である。
【図8】本発明の実施形態に係る印刷設定画面の一例を示す図である。
【図9】本発明の実施形態に係る印刷設定画面の一例を示す図である。
【図10】本発明の実施形態に係る情報処理装置の印刷制御機能の詳細を示す図である。
【図11】本発明の実施形態に係る印刷設定画面の一例を示す図である。
【図12】本発明の実施形態に係る情報処理装置の印刷制御機能の詳細を示す図である。
【図13】本発明の実施形態に係るジョブ情報の一例を示す図である。
【図14】本発明の実施形態に係る印刷制御処理を示すフローチャートである。
【図15】本発明の実施形態に係る印刷制御処理を示すフローチャートである。
【図16】本発明の実施形態に係る印刷設定画面の一例を示す図である。
【図17】本発明の実施形態に係る印刷設定画面の一例を示す図である。

Claims (21)

  1. 画像形成装置に対して印刷データを送信して画像を記録させる情報処理装置において実行される印刷制御プログラムであって、
    前記情報処理装置に、
    オペレーションシステムによって第1スプールファイルとしてスプールされ、一旦デスプールされた印刷データを、更に第2スプールファイルとして再スプールするスプールステップと、
    前記スプールステップにおける再スプール中に、前記第2スプールファイルとして再スプールされた印刷データの一部を読出し、前記画像形成装置に送信する送信ステップと、
    を実行させることを特徴とする印刷制御プログラム。
  2. 前記情報処理装置に、更に、
    前記印刷データに対応して発行される第1ジョブ識別子とは異なる第2ジョブ識別子を、前記スプールステップにおいて再スプールされる印刷データに関連づけるステップと、
    前記第2ジョブ識別子に基づくジョブ管理を行う管理ステップと、
    を実行させることを特徴とする請求項1に記載の印刷制御プログラム。
  3. 前記第1ジョブ識別子は前記オペレーションシステムを介して発行される識別子であることを特徴とする請求項2に記載の印刷制御プログラム。
  4. 前記送信ステップは、
    前記第2スプールファイル中における印刷データを、前記画像形成装置に対して分割して送信する分割送信ステップを含むことを特徴とする請求項1乃至3のいずれかに記載の印刷制御プログラム。
  5. 前記送信ステップは、前記スプールステップにおいて前記第2スプールファイルのスプールの終了を検知する書込終了検知ステップを含み、
    前記分割送信ステップは、前記書込終了検知ステップによってスプールファイルの書込終了が検知されていない場合に、前記第2スプールファイル中における印刷データを、前記画像形成装置に対して分割して送信することを特徴とする請求項4に記載の印刷制御プログラム。
  6. 前記分割送信ステップは、
    前記第2スプールファイルにおいて、前記画像形成装置に対して未送信のデータ量を検知するデータ量検知ステップと
    前記データ量検知ステップで検知されたデータ量が所定の閾値以下か否かを判定する判定ステップと、
    前記判定ステップで前記データ量が前記閾値以下と判定された場合に、前記閾値の整数分の1のデータ量のみを前記画像形成装置に送信するデータ送信ステップと、
    を含むことを特徴とする請求項4または5に記載の印刷制御プログラム。
  7. 前記分割送信ステップは、
    前記判定ステップで前記データ量が前記閾値より多いと判定するまで、前記画像形成装置におけるインタフェースタイムアウトが発生する時間未満の間隔で、前記データ送信ステップを繰り返し実行することを特徴とする請求項6に記載の印刷制御プログラム。
  8. 前記情報処理装置に、
    前記スプールステップにおいて第2スプールファイルとして再スプールされた前記印刷データの前記画像形成装置への送信が滞った場合に、前記スプールステップの再スプールが完了していなくても、前記印刷データの再送信を行う再送信ステップを更に実行させることを特徴とする請求項1乃至7のいずれかに記載の印刷制御プログラム。
  9. 前記再送信ステップは、
    前記スプールステップにおいて第2スプールファイルとして再スプールされた印刷データの状態を表示する表示ステップと、
    前記表示ステップにおいて、エラーによって前記画像形成装置への送信が中断している印刷データが表示された場合に、該印刷データの再送信指示を受け付けるステップと、
    を含むことを特徴とする請求項8に記載の印刷制御プログラム。
  10. 前記再送信ステップは、
    再送信すべき印刷データを前記第2ジョブ識別子によって特定する特定ステップを含むことを特徴とする請求項9に記載の印刷制御プログラム。
  11. 請求項1から10の何れかに記載の印刷制御プログラムを記憶することを特徴とするコンピュータ読み取り可能な記憶媒体。
  12. 画像形成装置に対して印刷データを送信して画像を記録させる情報処理装置であって、
    オペレーションシステムによって第1スプールファイルとしてスプールされ、一旦デスプールされた印刷データを、更に第2スプールファイルとして再スプールするスプール手段と、
    前記スプール手段による再スプール中に、前記第2スプールファイルとして再スプールされた印刷データの一部を読出し、前記画像形成装置に送信する送信手段と、
    を有することを特徴とする情報処理装置。
  13. 更に、
    前記印刷データに対応して発行される第1ジョブ識別子とは異なる第2ジョブ識別子を、前記スプール手段によって再スプールされる印刷データに関連づける手段と、
    前記第2ジョブ識別子に基づくジョブ管理を行う管理手段と、
    を有することを特徴とする請求項12に記載の情報処理装置。
  14. 前記第1ジョブ識別子は前記オペレーションシステムを介して発行される識別子であることを特徴とする請求項13に記載の情報処理装置。
  15. 前記送信手段は、
    前記第2スプールファイル中における印刷データを、前記画像形成装置に対して分割して送信する分割送信手段を含むことを特徴とする請求項12乃至14のいずれかに記載の情報処理装置。
  16. 前記送信手段は、前記スプール手段による前記第2スプールファイルのスプールの終了を検知する書込終了検知手段を更に含み、
    前記分割送信手段は、前記書込終了検知手段によってスプールファイルの書込終了が検知されていない場合に、前記第2スプールファイル中における印刷データを、前記画像形成装置に対して分割して送信することを特徴とする請求項15に記載の情報処理装置。
  17. 前記分割送信手段は、
    前記第2スプールファイルにおいて、前記画像形成装置に対して未送信のデータ量を検知するデータ量検知手段と
    前記データ量検知手段で検知されたデータ量が所定の閾値以下か否かを判定する判定手段と、
    前記判定手段で前記データ量が前記閾値以下と判定された場合に、前記閾値の整数分の1のデータ量のみを前記画像形成装置に送信するデータ送信手段と、
    を含むことを特徴とする請求項15または16に記載の情報処理装置。
  18. 前記分割送信手段は、
    前記判定手段で前記データ量が前記閾値より多いと判定するまで、前記画像形成装置におけるインタフェースタイムアウトが発生する時間未満の間隔で、前記データ送信手段によるデータ送信を繰り返し実行することを特徴とする請求項17に記載の情報処理装置。
  19. 前記第2スプールファイルとして再スプールされた前記印刷データの前記画像形成装置への送信が滞った場合に、前記スプール手段による再スプールが完了していなくても、前記印刷データの再送信を行う再送信手段を更に有することを特徴とする請求項12乃至18のいずれかに記載の情報処理装置。
  20. 前記再送信手段は、
    前記第2スプールファイルとして再スプールされた印刷データの状態を表示する表示手段と、
    前記表示手段において、エラーによって前記画像形成装置への送信が中断している印刷データが表示された場合に、該印刷データの再送信指示を受け付ける手段と、
    を含むことを特徴とする請求項19に記載の情報処理装置。
  21. 前記再送信手段は、
    再送信すべき印刷データを前記第2ジョブ識別子によって特定する特定手段を含むことを特徴とする請求項20に記載の情報処理装置。
JP2003034345A 2003-02-12 2003-02-12 印刷制御プログラム及び情報処理装置 Expired - Fee Related JP3774702B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003034345A JP3774702B2 (ja) 2003-02-12 2003-02-12 印刷制御プログラム及び情報処理装置
US10/774,473 US7538902B2 (en) 2003-02-12 2004-02-10 Print control program and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003034345A JP3774702B2 (ja) 2003-02-12 2003-02-12 印刷制御プログラム及び情報処理装置

Publications (3)

Publication Number Publication Date
JP2004246513A true JP2004246513A (ja) 2004-09-02
JP2004246513A5 JP2004246513A5 (ja) 2005-04-07
JP3774702B2 JP3774702B2 (ja) 2006-05-17

Family

ID=32821010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003034345A Expired - Fee Related JP3774702B2 (ja) 2003-02-12 2003-02-12 印刷制御プログラム及び情報処理装置

Country Status (2)

Country Link
US (1) US7538902B2 (ja)
JP (1) JP3774702B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148620A (ja) * 2005-11-25 2007-06-14 Noritsu Koki Co Ltd 写真プリント管理装置
JP2010092373A (ja) * 2008-10-09 2010-04-22 Yahoo Japan Corp 情報収集配信装置、方法及びシステム
JP2012118894A (ja) * 2010-12-03 2012-06-21 Silex Technology Inc 認証印刷システムにおけるクライアント端末およびプログラム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1452956A3 (en) * 2003-02-12 2010-03-17 Canon Kabushiki Kaisha print control system
JP4298594B2 (ja) * 2004-06-14 2009-07-22 キヤノン株式会社 情報処理装置および通知方法
JP4164479B2 (ja) * 2004-07-29 2008-10-15 キヤノン株式会社 印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム
JP4630751B2 (ja) * 2005-07-28 2011-02-09 キヤノン株式会社 印刷システム、印刷装置及びその制御方法、プログラム
JP4827615B2 (ja) * 2006-05-29 2011-11-30 キヤノン株式会社 情報処理装置、印刷システム、監視方法、プログラム及び記憶媒体
JP4881130B2 (ja) * 2006-11-08 2012-02-22 キヤノン株式会社 情報処理装置及び情報処理方法
US8237944B2 (en) * 2006-11-10 2012-08-07 Konica Minolta Business Technologies, Inc. Data input/output system, control method and control apparatus based on coordinating the input and output parameter lists
JP4845700B2 (ja) * 2006-12-13 2011-12-28 キヤノン株式会社 画像形成装置及びその制御方法
JP4971778B2 (ja) * 2006-12-20 2012-07-11 キヤノン株式会社 印刷管理装置、印刷管理方法、及びコンピュータプログラム
JP5211686B2 (ja) * 2007-12-28 2013-06-12 ブラザー工業株式会社 データ提供システムとデータ提供装置
JP4983596B2 (ja) * 2007-12-28 2012-07-25 ブラザー工業株式会社 データ提供システムとデータ提供装置
EP2157775A1 (en) * 2008-08-20 2010-02-24 Konica Minolta Business Technologies, INC. Image forming apparatus with two-dimensional display of job scheduling screen
JP4656219B2 (ja) * 2008-09-10 2011-03-23 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画面選択方法および画面選択プログラム
JP4987099B2 (ja) 2010-05-06 2012-07-25 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP2012063944A (ja) 2010-09-15 2012-03-29 Canon Inc 印刷システム、制御方法、クライアント端末、プリントサーバ、及びプログラム
JP5760888B2 (ja) * 2011-09-15 2015-08-12 株式会社リコー 表示制御装置と画像形成装置とプログラム
JP6272080B2 (ja) 2014-02-26 2018-01-31 キヤノン株式会社 情報処理装置及び分散印刷システム、印刷制御方法、プログラム
JP6272117B2 (ja) 2014-04-14 2018-01-31 キヤノン株式会社 印刷システム、印刷サーバー及び印刷制御方法とプログラム
JP2022168530A (ja) * 2021-04-26 2022-11-08 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287434A (en) * 1991-10-28 1994-02-15 Monarch Marking Systems, Inc. Barcode identification system spooler
JPH0890845A (ja) 1994-09-20 1996-04-09 Fujitsu Ltd 印刷制御装置
US6115132A (en) * 1996-12-27 2000-09-05 Canon Kabushiki Kaisha Printing system that transmits job information independently of print data
JP3363793B2 (ja) * 1998-07-10 2003-01-08 キヤノン株式会社 印刷制御方法及び装置
JP3575382B2 (ja) * 1999-04-08 2004-10-13 セイコーエプソン株式会社 印刷コマンドの生成および送信を行う印刷制御方法、印刷制御装置、そのためのプログラムを記録した記録媒体
JP2001243159A (ja) 2000-02-29 2001-09-07 Canon Inc データ処理装置及びデータ処理方法、記憶媒体
JP3720740B2 (ja) 2000-09-12 2005-11-30 キヤノン株式会社 分散印刷システム、分散印刷制御方法、記憶媒体、及びプログラム
JP2002196916A (ja) 2000-12-25 2002-07-12 Ricoh Co Ltd 印刷システム
JP2002318778A (ja) 2001-04-20 2002-10-31 Ricoh Co Ltd データ通信システムとその通信方法
JP2003058528A (ja) 2001-05-31 2003-02-28 Canon Inc 文字処理装置および文字処理方法およびプログラム
US7804607B2 (en) 2001-09-14 2010-09-28 Canon Kabushiki Kaisha Group printer for multiple member printers
EP1293886B1 (en) 2001-09-14 2014-04-16 Canon Kabushiki Kaisha Controlling printing by use of a virtual printer
JP3639821B2 (ja) 2001-09-14 2005-04-20 キヤノン株式会社 印刷制御方法及び印刷制御装置及び情報処理装置が実行可能な印刷制御プログラム並びにコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP4125044B2 (ja) 2002-05-31 2008-07-23 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム、及び記憶媒体
EP1452956A3 (en) 2003-02-12 2010-03-17 Canon Kabushiki Kaisha print control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007148620A (ja) * 2005-11-25 2007-06-14 Noritsu Koki Co Ltd 写真プリント管理装置
JP2010092373A (ja) * 2008-10-09 2010-04-22 Yahoo Japan Corp 情報収集配信装置、方法及びシステム
JP2012118894A (ja) * 2010-12-03 2012-06-21 Silex Technology Inc 認証印刷システムにおけるクライアント端末およびプログラム

Also Published As

Publication number Publication date
JP3774702B2 (ja) 2006-05-17
US7538902B2 (en) 2009-05-26
US20040156069A1 (en) 2004-08-12

Similar Documents

Publication Publication Date Title
US7719703B2 (en) Print control program and medium and information processing apparatus
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
US8045202B2 (en) Information processing apparatus and print device control method
JP3854963B2 (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及び制御プログラム
US7583400B2 (en) Print controlling method and apparatus that prevents transmission of print data from clients until a predetermined time that is scheduled based on when the client registers with the managing section
US20070091361A1 (en) Printer, print control method, and program for executing print control method
US8643870B2 (en) Printing control apparatus, printing control method, program, and storage medium
JP3833213B2 (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及びプログラム並びに記憶媒体
JP3903024B2 (ja) 出力管理方法及び情報処理装置
JP2006004077A (ja) 情報処理装置及びジョブ転送制御方法
JP4756998B2 (ja) 印刷装置、制御方法およびプログラム
JP2004005259A (ja) 情報通知装置、情報通知方法、コンピュータ読み取り可能なプログラム、及び記憶媒体
JP5100195B2 (ja) 情報処理装置及びジョブ管理方法
US8711379B2 (en) Method and apparatus for executing load distributed printing
JPH07230372A (ja) 印刷システム
JP4933302B2 (ja) 印刷システム及び印刷装置及び再印刷制御方法
JP2001260433A (ja) プリンタおよびプリンタの制御方法
JP3840226B2 (ja) 印刷制御プログラム及び媒体及び情報処理装置
JP2007334608A (ja) 画像処理装置及びジョブ管理方法
JP2008027217A (ja) 情報処理装置および印刷装置を備える印刷システム
JP4776763B2 (ja) プリントサーバ装置及び情報処理装置及び印刷ジョブ保存管理方法、及び保存ジョブ生成方法および記憶媒体
JP2005242741A (ja) 情報処理装置、情報処理装置及び印刷システム及び印刷処理方法
JP4174523B2 (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及びプログラム、並びに記憶媒体
JP2004295357A (ja) 部門管理を伴う印刷処理を行う印刷処理プログラム及び情報処理装置及び情報処理方法並びに記憶媒体
JP2007156901A (ja) 印刷制御装置及び印刷制御方法並びにプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060220

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100224

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110224

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120224

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130224

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140224

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees