JP3639772B2 - 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 - Google Patents

情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 Download PDF

Info

Publication number
JP3639772B2
JP3639772B2 JP2000176982A JP2000176982A JP3639772B2 JP 3639772 B2 JP3639772 B2 JP 3639772B2 JP 2000176982 A JP2000176982 A JP 2000176982A JP 2000176982 A JP2000176982 A JP 2000176982A JP 3639772 B2 JP3639772 B2 JP 3639772B2
Authority
JP
Japan
Prior art keywords
print
print job
job
group
printing
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
JP2000176982A
Other languages
English (en)
Other versions
JP2001075768A (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.)
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 JP2000176982A priority Critical patent/JP3639772B2/ja
Priority to US09/605,681 priority patent/US6474881B1/en
Publication of JP2001075768A publication Critical patent/JP2001075768A/ja
Priority to US10/241,569 priority patent/US6916127B2/en
Application granted granted Critical
Publication of JP3639772B2 publication Critical patent/JP3639772B2/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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T70/00Locks
    • Y10T70/50Special application
    • Y10T70/5009For portable articles
    • Y10T70/5031Receptacle
    • Y10T70/5058Trunk and/or suitcase
    • Y10T70/5089Loop type

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)

Description

【0001】
【発明の属する技術分野】
本発明は、上位装置より受け取る印刷ジョブを印刷装置に転送制御可能な情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体に関するものであり、特に、複数の上位装置としてのクライアントコンピュータから受信する印刷ジョブをグループごとに管理し、グループジョブとして印刷装置に送信制御するプリントサーバとしての情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体に関するものである。
【0002】
【従来の技術】
従来、この種の情報処理装置を適用可能な印刷システムは、所定の通信媒体を介して印刷装置とクライアントコンピュータ(PC)、サーバコンピュータ等が通信可能に構成され、各クライアントコンピュータからのジョブ処理要求に応じて受信する印刷ジョブを受信順にジョブスプーラに蓄積して、順次印刷ジョブを解析処理して印刷装置で印刷するように構成されている。
【0003】
また、近年の印刷システムでは、サーバにスプールされている印刷ジョブのジョブ名などをクライアントに表示できるようになっており、クライアントにインストールされているネットワークユーティリティーソフトウェアを用いることにより、印刷ジョブを指定し、クライアントの権限に応じて、指定された印刷ジョブの印刷中断や印刷中止、更には順序制御を行えるものが存在している。
【0004】
また、近年のクライアント上で動作するソフトウェアとして、プリンタドライバで生成されたPDL形式の印刷ジョブをプリントサーバに印刷要求することなく保持しておき、複数の印刷ジョブをまとめてプリントサーバに印刷要求として送信することにより、まとめ印刷を実現できるものが存在している。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来技術のユーティリティーソフトウェアでは、サーバ(プリントサーバ)にスプールされている印刷ジョブの順序制御は行えるものの、複数のジョブをグループ化して、他の印刷ジョブがグループジョブ内に割り込まれないようにグループジョブの印刷を制御することはできなかった。
【0006】
また、ネットワークやプリントサーバの負荷軽減のために、クライアントから印刷要求とジョブ情報だけをプリントサーバに送信し、プリントサーバで順序制御を管理し、印刷ジョブ自体は印刷依頼元のクライアントでスプールすることが考えられるが、複数の異なるクライアントから同じプリンタに出力すべくプリントサーバ及びクライアントの両方に分けてスプールされた複数のジョブをまとめて印刷することや、あるいは同じグループ内クライアントスプールされているジョブの処理順序を異なるクライアント側から指定することはできなかった。
【0007】
また、印刷ジョブをグルーピングする際には、グループ化すべきすべての印刷ジョブの準備ができているとは限らず、またクライアントコンピュータを使用しているユーザが常にクライアントコンピュータから即座に次の印刷順の印刷ジョブの印刷依頼を行えるとは限らず、ユーザが席を外しており、かなりの時間がたってから印刷要求されることも考えられる。その場合、グループ化されているすべての印刷ジョブが印刷できる状態、つまり、プリンタに対して印刷ジョブを送信できる状態にならない限り印刷処理を開始させることができないため、プリントサーバにおけるサーバスプーラと各クライアントにおけるクライアントスプーラにスプールされている印刷ジョブはそのまま待機していなければならないが、従来の印刷キューでは印刷要求がなされた印刷ジョブは印刷できる状態であることが前提となっているため、印刷キューにおいて印刷順になるとプリンタに対して印刷ジョブを送信しなければならなかった。
【0008】
また、従来のまとめ印刷を実現するソフトウェアでは、1つのクライアントからの印刷ジョブはまとめて印刷することが可能であるが、複数のクライアントにより生成された印刷ジョブをまとめてグループ化することができなかった。
【0009】
さらに、従来はグループ印刷という処理を考慮していないためにそれぞれの印刷ジョブの出力が終わるとその依頼元のクライアントに終了通知がされてしまうため、同一グループで印刷されたすべてのジョブの印刷処理状況を確認し、一連の印刷が正常に終了したことを確認した後に各クライアントに終了通知することもなされていなかった。
【0010】
また、グループ内のすべてのジョブの印刷終了の確認がとれないうちに、プリンタのエラーなどで、印刷が失敗した場合、グループ内のジョブをすべてまとめて、クライアントに通知されないと、印刷要求元のユーザあるいはサーバは印刷先を変更することができず、かようなエラー発生に対して、迅速、かつ柔軟な対応がとれず、グループ印刷処理が中断したままの状態となり、意図する印刷処理結果を迅速に得ることができないという問題点があった。
【0011】
また、単体の印刷ジョブでは、印刷先の変更をすることも近年の印刷システムでは考えられているが、前述したようなグルーピングジョブに関しては印刷先の変更が考慮されていない。そのため、単体の印刷ジョブでは印刷先が変更になった場合でも、PDLが同一であれば、排紙面を気にする必要がない。なぜなら、プリンタ自体の機能により、印刷ジョブを内部的にスプールし、ページ順を逆順にして印刷することが実現できるからである。しかしながらプリンタ自体の機能により実現できるのは単体のジョブまでであり、本発明で考慮するグルーピングジョブに関しては対応できないでいる。
【0012】
本発明は、上記の問題点を解決するためになされたもので、本発明の第1の目的は、複数のクライアントから印刷要求された複数の印刷ジョブをグループ化して印刷させる場合に、通常の印刷ジョブが混在してプリントサーバにスプールされても、同じプリンタに対して、グループ印刷ジョブに通常の印刷ジョブが混在することない印刷制御を可能とすることである。
【0013】
また、本発明の第2の目的は、プリンタからは印刷ジョブごとの印刷確認しか取得できなくとも、印刷終了された印刷ジョブが、まとめて印刷、排紙されたことを確認し、各印刷ジョブのホストコンピュータにまとめて印刷されたことを通知することである。
【0014】
また、本発明の第3の目的は、印刷されたジョブが、まとめて印刷、排紙される前に、プリンタにエラーが発生した場合、別のプリンタにまとめて印刷先を変更することである。
【0015】
また、本発明の第4の目的は、排紙面が異なるプリンタに印刷先が変更された場合にも、プリンタは受信された順序で印刷ジョブの処理を行うことにより、グルーピングジョブとして正しい印刷順序を保てる仕組みを提供することである。
【0016】
また、本発明の第5の目的は、クライアントからの印刷要求時に、複数のクライアントからの印刷ジョブをグループ化して印刷させるグルーピングジョブの指定を行わせる仕組みを提供することである。
【0017】
【課題を解決するための手段】
本発明に係る第1の情報処理装置は、
クライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき第1の印刷ジョブと、単体の印刷ジョブとして印刷すべき第2の印刷ジョブとに識別する識別手段と、前記印刷要求が前記識別手段により第1の印刷ジョブと識別される印刷ジョブの印刷要求である場合に、前記印刷ジョブが含まれるグループ内の印刷ジョブの準備ができているかを判断する判断手段と、前記判断手段によりグループ内において印刷すべき印刷ジョブの準備ができていると判断されるグループ内の印刷ジョブの印刷制御を行い、一方、前記判断手段によりグループ内において印刷すべき印刷ジョブの準備ができていないと判断されるグループ内の印刷ジョブの印刷を保留するよう制御する制御手段と、印刷装置における印刷ジョブの状態を認識する認識手段と、前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが第2の印刷ジョブであった場合、前記第2の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記第1の印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも1つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知制御手段を備えることを特徴とする。
【0018】
また、前記識別手段により識別される第1の印刷ジョブの印刷順序を前記印刷要求で指定される指定順に並び替えて整列させる整列手段を更に有し、前記制御手段は、前記整列手段による前記第1の印刷ジョブの整列状況に基づいて、整列された前記第1の印刷ジョブと前記第2の印刷ジョブの出力順序を制御する。
【0019】
また、クライアントから受け取る印刷要求に応じて、指定先の印刷装置に対する印刷順序を管理する順序管理手段と、クライアントから受け取る前記印刷要求に対応する印刷ジョブをスプールするジョブスプール手段と、前記印刷順序にある印刷要求に対応する印刷ジョブが前記ジョブスプール手段によってスプールされている場合、前記ジョブスプール手段によってスプールされている前記印刷ジョブを指定先の印刷装置に送信し、一方、前記印刷順序にある印刷要求に対応する印刷ジョブが前記ジョブスプール手段によってスプールされていない場合、前記印刷要求を発行したクライアントに対して印刷ジョブの送信を許可する送信許可情報を送信する送信制御手段とを有する。
【0020】
また、前記順序管理手段は、前記印刷要求に基づいてグループ化して印刷すべきグルーピングジョブを管理するグルーピングジョブ管理手段と、前記グルーピングジョブ管理手段によって管理されている前記グルーピングジョブの情報に基づいて、印刷要求すべき印刷ジョブをグループ化するグルーピングジョブを指定させるための第1ユーザインタフェースを提供する第1ユーザインタフェース提供手段と、前記印刷設定手段でグループ化すべき印刷ジョブであることが指示された場合に、前記印刷ジョブをグループ化すべきグルーピングジョブ名の指示を行わせるため、新規のグルーピングジョブ名の指示を行うための領域と、既存のグルーピングジョブ名の指示を行うための領域とを含む第2ユーザインタフェースを提供する第2ユーザインタフェース提供手段と、前記第2ユーザインタフェース提供手段で提供される第2ユーザインタフェースにおいて、既存のグルーピングジョブ名の指示を行うための領域が指示された場合に、前記第1ユーザインタフェース提供工程を開始して第1ユーザインタフェースが提供されるようユーザインタフェースの提供を制御する。
【0021】
また、前記認識手段は、更に印刷装置における印刷ジョブの印刷可否を認識することが可能である。
【0022】
また、前記認識手段により、指定された印刷装置において前記印刷ジョブの印刷が行えないと認識した場合、前記印刷ジョブの出力先を他の印刷装置に変更する変更手段を更に有し、前記変更手段において前記第1の印刷ジョブと識別された印刷ジョブの出力先を変更する場合、前記印刷ジョブが含まれるグループ内の印刷ジョブの出力先を変更する。
【0023】
また、前記変更手段は、前記認識手段により指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの印刷要求を発行したクライアントにその旨を通知し、該クライアントから出力先変更指示を受け付け、該出力先変更指示に基づいて前記印刷ジョブの出力先を変更する。
【0024】
また、前記変更手段は、前記認識手段により指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの属性情報を調べ、該属性情報に予め指定されている代替印刷装置に前記印刷ジョブの出力先を変更する。
【0025】
また、前記変更手段によって変更された出力先の印刷装置がフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断するプリンタ属性判断手段を更に有し、出力先がフェイスダウンプリンタであると判断された場合は、印刷順序の先頭の印刷ジョブから順次前記フェイスダウンプリンタへ送信し、出力先がフェイスアッププリンタであると判断された場合は、印刷順序の後の印刷ジョブから前記フェイスアッププリンタへ送信する。
【0026】
また、前記変更手段により印刷ジョブの出力先の印刷装置が変更された場合に、前記印刷ジョブの印刷要求を行ったクライアントに出力先の変更を通知することを特徴とする。
【0034】
【発明の実施の形態】
〔第1実施形態〕
図1は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、n台接続されていることを仮定している。
【0035】
図において、102、103、104はクライアントコンピュータ(クライアント)としての情報処理装置であり、イーサネットなどのネットワークケーブルによって、ネットワーク106に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタドライバをサポートするものとする。
【0036】
101は本発明のサーバ(以下、プリントサーバと呼ぶ)としての情報処理装置であり、ネットワークケーブルによって、ネットワーク106に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク106の使用状態を監視したりする。プリントサーバ101は、ネットワーク106に接続されている複数のプリンタを管理している。
【0037】
構成としては、クライアント102〜104とプリントサーバ101は、一般的な情報処理装置であり、クライアントとプリントサーバには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。
【0038】
本実施形態におけるプリントサーバ101は、さらにクライアントコンピュータ102、103、104から印刷要求が出された印字データを含む印刷ジョブを格納して印刷したり、または、クライアントコンピュータ102、103、104から印字データを含まないジョブ情報のみ受け取り、クライアントコンピュータ102、103、104の印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知したり、ネットワークプリンタ105のステータスや印刷ジョブの各種情報を取得し、クライアントコンピュータ102、103、104に通知したりする機能を揃えている。
【0039】
105は印刷制御装置であるネットワークプリンタであり、図示省略したネットワークインタフェースを介してネットワーク106と接続されており、クライアントコンピュータから送信される印字データを含む印刷ジョブを解析して1ページずつドットイメージに変換して、1ページ毎に印刷する。106はネットワークであり、クライントコンピュータ102、103、104、サーバ101、ネットワークプリンタ105等と接続している。
【0040】
図2は、本発明の情報処理装置の構成を説明するブロック図であり、情報処理装置であるクライントコンピュータ102、103、104も同じ構成であり、さらにサーバ101も同様あるいは同等のハードウエア構成とする。よって、クライアントとサーバの構成を説明するブロック図として説明する。
【0041】
図2において、200は情報処理装置の制御手段であるCPUであり、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタドライバプログラム、OSや本発明のネットワークプリンタ制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0042】
201は記憶手段であるROMであり、内部には、基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。202は一時記憶手段であるRAMであり、CPU200の主メモリ、ワークエリア等として機能する。
【0043】
203は記憶媒体読み込み手段としてのフロッピーディスク(FD)ドライブであり、後述する図5に示すようにFDドライブ203を通じて記憶媒体としてのFD204に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、FDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等も含まれる。
【0044】
204は記憶媒体であるフロッピーディスク(FD)であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。このFD204には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。その記憶されている内容の構成を図4で後述する。
【0045】
205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタドライバプログラム、OS、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【0046】
206は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。
【0047】
207は表示手段であるディスプレイであり、キーボード206から入力したコマンドや、プリンタの状態等を表示したりするものである。
【0048】
208はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。
【0049】
209は入出力手段であるインタフェースであり、該インタフェース209を介して情報処理装置は外部装置とのデータのやり取りを行う。
【0050】
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、FD204からロードされる上記ネットワークプリンタ制御プログラムが、RAM202にロードされ実行可能となった状態のメモリマップである。
【0051】
本実施形態では、FD204からネットワークプリンタ制御プログラムおよび関連データを直接RAM202にロードして実行させる例を示すが、これ以外にも、FD204からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているHD205からRAM202にロードするようにしてもよい。
【0052】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、FD以外にCD−ROM、CD−R、PCカード、DVD、ICメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをROM201に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU200で実行することも可能である。
【0053】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントにおいて、グルーピングジョブ(グループ化の指定のある印刷ジョブのこと)の指定を行ったり、印刷先の変更を指示したりする制御を行わせるためのプログラムを含み、また、プリントサーバにおいて、グルーピングジョブの順序制御を行い、グルーピングジョブ内のすべての印刷ジョブのスプールを管理したり、グルーピングジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本発明の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、1回のインストールにより印刷制御プログラムがインストールされ、実行される環境によりクライアント用として機能したり、またプリントサーバ用として機能するように実行部分を選択してもよい。本実施例でいう印刷制御プログラムとは、両方の意味を含むものとする。
【0054】
301は基本I/Oプログラムであり、本制御装置の電源がONされたときに、HD205からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローデイング)機能などを有しているプログラムが入っている領域である。
【0055】
302はオペレーティングシステム(OS)であり、303はネットワークプリンタ制御プログラムで、RAM202上に確保される領域に記憶される。304は関連データで、RAM202上に確保される領域に記憶される。305はワークエリアで、CPU200が本プリンタ制御プログラムを実行する領域が確保されている。
【0056】
図4は、図2に示したFD204のメモリマップの一例を示す図である。
【0057】
図4において、400は前記FD204のデータ内容であり、401はデータの情報を示すボリューム情報であり、402はディレクトリ情報、403は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、404はその関連データである。403のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアント、サーバ共、同様の構成をとっている。
【0058】
図5は、図2に示したFDドライブ203に対して挿入されるFD204との関係を示す図であり、図2と同一のものには同一の符号を付してある。
【0059】
図5において、FD204には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。
【0060】
図6は、本発明の情報処理装置のプリント制御モジュール構成を説明するブロック図であり、図1と同一のものには同一の符号を付してある。
【0061】
図において、600はクライアントマシンで、後述するフローチャートで示す手順を実行する印刷制御プログラムであるネットワークプリンタ制御プログラムに対応するクライアントモジュールが動作するマシンを指す。
【0062】
本図において、601は、文書や表などを作成するためのアプリケーションソフトウェアであり、表示や印刷時にグラフィックエンジン602に対して描画データを出力する。グラフィックエンジン602はOSの提供する描画手段であり、Windows(米国マイクロソフト社の登録商標)OSにおけるGDIのことである。グラフィックエンジン602は、アプリケーション601から出力される描画データであるGDI関数(Graphic Device Interface)を出力すべきデバイスドライバ603が解釈可能な描画データであるDDI関数(Device Driver Interface)に変換し、DDI関数を印刷時はプリンタドライバ603に出力する。プリンタドライバ603は、グラフィックエンジン602から受け取ったDDI関数に基づいてプリンタが解釈可能なPDL(Page Description Language)を含む印刷データに変換し、JL(Job Language)を付加した印刷ジョブとしてOSの提供するスプーラであるWindows Spooler604に出力する。また、アプリケーション601は、印刷設定時にプリンタドライバ603に処理を移管し、プリンタドライバ603は、グラフィカルユーザインタフェース画面を表示部であるディスプレイ207に表示してユーザに各種印刷設定を行わせる。OSのスプーラ604は、プリンタドライバから受け取った印刷ジョブを順次クライアントスプーラ606に受け渡す。クライアントマネージャ605は、クライアントスプーラ606を監視し、クライアントスプーラ606に印刷ジョブのスプールが開始されると、印刷ジョブの設定を判断して、クライアントスプールの場合は印刷ジョブからジョブ情報を抽出してプリントサーバ610に印刷要求を発行してクライアントスプーラ606に印刷ジョブをスプールさせておき、一方サーバスプールの場合はクライアントスプーラ606にスプールされる印刷ジョブをプリントサーバ610に印刷要求として発行してクライアントとしての印刷処理を終了する。また、クライアントマネージャ605は、プリントサーバ610から印刷ジョブの送信許可通知を受けると、クライアントスプーラ606にスプールしている印刷ジョブをネットワークプリンタに対して直接送信を開始する。このとき、クライアントスプールされている印刷ジョブは削除せずに保持しておき、プリントサーバ610からの印刷完了通知をクライアントマネージャ605が受けることにより削除することが可能となる。
【0063】
次に、610はプリントサーバで、後述するフローチャートで示す手順を実行する印刷制御プログラムであるネットワークプリンタ制御プログラムに対応するプリントサーバモジュールが動作するマシンを指す。611はサーバマネージャであり、ネットワーク106を介して各クライアントからの印刷要求を受け付ける。印刷要求が印刷データを含む印刷ジョブである場合は、印刷ジョブをサーバスプーラ612にスプールし、印刷要求を受けたジョブ情報をジョブ管理テーブル613で管理する。一方、印刷要求が印刷データを含まないジョブ情報である場合は、ジョブ情報に基づいてジョブ管理テーブルを更新する。また、サーバマネージャ611は、各ネットワークプリンタにおけるジョブの処理状況を監視しており、印刷ジョブの出力が終了する度にジョブ管理テーブル613を更新し、後続する印刷ジョブの送信を開始する。このとき、送信すべき印刷ジョブをサーバスプーラ612でスプールしている場合は、そのままプリントサーバ610が送信を行うが、送信すべき印刷ジョブをクライアントスプーラ606がスプールしている場合は、依頼元のクライアントに対して印刷ジョブの送信許可通知を発行する。また、ジョブ管理テーブル613(ジョブ管理手段)は、クライアントから受けたジョブ情報に基づいて印刷順序の制御を行い、順次印刷ジョブの送信許可を発行する順番を管理するための印刷キュー615と、さらに、グループジョブの場合にグループジョブ内のすべての印刷ジョブのジョブ情報の準備ができたかを管理するためのグループジョブ管理テーブル616とを有している。
【0064】
105及び650はネットワークプリンタである。
【0065】
なお、上記分類は、機能別な分類であり、同一の情報処理装置(マシン)上に両方のソフトを有した場合、すなわち、クライアントが印刷を依頼するプリントサーバが同一マシン上であれば、ネットワークを介さずに同一マシン上のプロセス間通信で実行するし、他のマシンであれば、1クライアントとして動作する。
【0066】
また、これらの機能は、OSのスプーラが内部的に、同等の機能を包含してもよい。
【0067】
図7は、図6で説明したようにクライアントで生成されプリントサーバで管理されるジョブ情報のデータ構造の一例を示す図である。このジョブ情報は、クライアントのプリンタドライバ603で生成された印刷ジョブに基づいてクライアントマネージャ605により生成される印刷ジョブの種別を示す情報であり、印刷要求としてプリントサーバ610に送信されるものである。
【0068】
図7に示すように、本実施形態におけるジョブ情報は、印刷ジョブをプリントサーバからクライアントへ識別するためのジョブID、出力先のデバイスを指定するためのプリンタ名、クライアントのホスト名であるマシン名、印刷ジョブのステータス、印刷ジョブの元となる文書から抽出されるドキュメント名(一般にアプリケーションで付けられている文書名となる)、印刷ジョブのデータサイズ、印刷ジョブをクライアントスプーラを用いてスプールするかサーバスプーラを用いてスプールするかを指定するスプール方法(0または1のビット表現でよい)、印刷ジョブをグループ化してグルーピングジョブとして印刷制御するか否かを示すグループ印刷可否、グルーピングジョブとして印刷させる際のグループ名、グループ化して印刷する際のグループ内での印刷順序を示すグループ内印刷順、グループ化して印刷する際のグループ内の含まれる合計の印刷ジョブ数を示すグループ内ジョブ数等から構成されている。
【0069】
図8は、図6に示したクライアント600で管理されるグループ指定情報の一例を示す図である。このグループ指定情報は、本実施例では、後述するようにクライアントマネージャ605が印刷ジョブを受けたときに生成するが、アプリケーションからの印刷指定時にプリンタドライバが提供するユーザインタフェース画面によりユーザが指定した値に基づいて、プリンタドライバにより生成されてもよい。
【0070】
図8に示すように、本実施形態におけるグループ指定情報は、自身のクライアントのホスト名であるクライアント名、印刷ジョブをグループ化して印刷する際のグループ名を示すグループ名(ID)、グループ化して印刷する際のグループ内における印刷順序を示す印刷順、及びグループのジョブ総数等から構成されている。
【0071】
図9は、3台のクライアントから、印刷したジョブをグループ化して印刷する手順の例を示した本発明のシーケンス図である。
【0072】
まず、図9を用いて、本発明のグループ印刷におけるクライアント、プリントサーバの手順を説明する。図9において、クライアント1、2、3は、それぞれの印刷ジョブ(印刷ジョブ1、印刷ジョブ2、印刷ジョブ3)をクライアントスプールし、また、各クライアントからプリントサーバに対してジョブ情報の通知を行い、プリントサーバではジョブ情報に基づいてグループ化し、各クライアントから指定された印刷順序、例えば、印刷ジョブ3、印刷ジョブ2、印刷ジョブ1の順で印刷する場合の手順を示している。
【0073】
クライアント1から、グループ化して印刷したい印刷ジョブの生成とクライアントスプール処理が行われ、最初にグループジョブを生成する場合は印刷ジョブの生成と同時に図8に示すグループ指定情報と図7に示すジョブ情報とを生成し、プリントサーバに対して、グループ指定情報とジョブ情報とを用いてグループ印刷であることを指示する。このとき、プリントサーバでは受け取ったグループ指定情報とジョブ情報とに基づいてグループ情報を作成し、前述したグループジョブ管理テーブルに新規グループジョブを追加して管理する。このグループジョブ管理テーブルには、グループジョブ内の総ジョブ数分のセルを有しており、各クライアントから受け取るジョブ情報に含まれるグループ内印刷順の情報に基づいて該当するセルにジョブ情報を受けて「印刷待ち状態」であることを書き込み、更新する。サーバマネージャ611はジョブ管理テーブル613内のグループジョブ管理テーブル616を監視することにより、グループジョブ名イオン総ジョブ数分のセルのステータスがすべて「印刷待ち状態」になったかを判断し、同一グループ内のすべての印刷ジョブが「印刷待ち状態」、つまりクライアントもしくはサーバによりスプールされたと判断すると、グループジョブの印刷処理を開始するために、出力先のプリンタに対する印刷キューに印刷要求を発行し、他の印刷ジョブとの順序制御を開始する。
【0074】
次に、クライアント3、及びクライアント2から図7に示すジョブ情報が入力され(グループ名の指定がされている)、それぞれグループジョブ管理テーブルが更新されることになり、前述したように印刷キューに印刷要求が発行される。なお、グループ内の印刷順序はクライアント3、2、1の順であるが、プリントサーバにジョブ情報が発行されるタイミングや、各スプーラにスプールされるタイミングは任意で構わない。なぜなら、各印刷ジョブのジョブ情報内にグループ内の印刷順が規定されているからである。
【0075】
図9のクライアント1で、プリンタドライバがグループ化する印刷ジョブの印刷処理を開始すると、Windowsのスプーラ604で一度スプールされた後、OSとしては通常の印刷と同様にスプールされている印刷ジョブが出力される。この出力される印刷ジョブをクライアントマネージャ605がつかまえて、クライアントスプーラ606にスプールさせる。そして、印刷ジョブの設定を判断して、クライアントスプールの場合、クライアントマネージャ605は、印刷ジョブをクライアントスプーラ606にスプールさせたままジョブ情報を生成してプリントサーバ610に印刷要求として発行する。また、ジョブ情報の生成はプリンタドライバ603が行ってもよい。一方、サーバスプールの場合、クライアントマネージャ605は、クライアントスプーラ606にスプールされている印刷ジョブを印刷要求としてプリントサーバ610に発行し、プリントサーバのサーバスプーラ612に印刷ジョブをスプールすることになる。
【0076】
図10は、本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートであり、図6に示したクライアント601によるスプール処理手順に対応する。なお、s1001〜s1006は各ステップを示す。
【0077】
クライアント600において、ステップs1001において、アプリケーション601が印刷処理を始める際にプリンタドライバが提供する印刷設定のグラフィカルユーザインタフェース(図19)を用いてユーザに印刷設定を行わせる。なお、プリンタドライバ603は、この図19に示す印刷設定用のグラフィカルユーザインタフェース画面を提供し、OSを介してディスプレイ207に表示させる。図19において、1901は印刷ジョブの種別を設定できるメニューであり、「印刷」は通常の印刷処理として印刷ジョブが生成され、印刷要求とともに印刷ジョブはプリントサーバもしくはプリンタに送信されることになる。一方、「グループ印刷」はグループ印刷ジョブ(グルーピングジョブとも呼ぶ)として印刷ジョブが生成され、この印刷ジョブはプリントサーバもしくはクライアントでスプールされることにない、ジョブ情報はプリントサーバに出力されることになる。
【0078】
ユーザにより印刷設定値が設定された後に、アプリケーション601がグラフィックエンジン602に対して描画データの出力、つまり印刷処理を開始する。これにより、前述したようにグラフィックエンジンは描画データであるGDI関数を受け取り、それをDDI関数に変換し、プリンタドラバ603に渡す。プリンタドライバ603は、受けたDDI関数に基づいてページ記述言語で記述された印刷データを生成して印刷ジョブをWindowsスプーラ604に発行する。Windowsスプーラ604は受けた印刷ジョブをクライアントマネージャ605に出力する。
【0079】
クライアントマネージャ605は、Windowsスプーラ604から受け取った印刷ジョブのクライアントスプーラ606へのスプール処理を開始すると、プリントサーバ610のサーバマネージャ611からジョブIDを取得し、クライアントマネージャ605は、例えば、WindowsのJOB_INFO_2のような、図7に示したようなジョブ情報を作成する。「ジョブID」以外は、クライアント内の情報により生成可能である。たとえば、「プリンタ名」は出力先に指定されているプリンタの名称やパスでよく、「ドキュメント名」はアプリケーション601からドキュメントの名称を取得すればよく、また、「グループ印刷可否」は、前述したように、図19の1901の設定が「グループ印刷」となっているか「印刷」となっているかを判断することにより生成可能となる。また、「スプール方法」は、図19のスプール方法の1902のサーバスプーラのチェックボックスがチェックされているかを判断し、チェックされている場合はサーバスプーラを用いることを示し、チェックされていない場合はクライアントスプーラを用いることを示す情報が生成される。
【0080】
なお、クライアントとサーバ間の通信方法は、例えば、RPCのようなマルチプロトコルの関数でもよいし、WinsockやWin32APIの通信関数を用いた処理でもよく、特定の通信方法に依存しない。
【0081】
ステップs1002において、クライアントマネージャ605は、このジョブがグループ印刷のジョブなのか、通常の印刷ジョブなのかを判断する。これは、印刷ジョブの印刷設定を取得するか、生成したジョブ情報の「グループ印刷可否」を見ることにより判断する。
【0082】
また、「グループ印刷可否」はプリンタドライバの印刷設定のグラフィカルユーザインタフェースを用いて印刷指示時にユーザにより指定させてから印刷指示させたが、このグラフィカルユーザインタフェース画面の表示は、Windowsスプーラ604との接点であるポートにデータが流れるたびに、Widowsスプーラ604のポートモニタとして登録されるDLLや、クライアントでダイアログを表示する方法や、ポートごとにグループ印刷専用ポートとして指定されていてもよいし、例えば、アプリケーションが用いる特定のドキュメント名やWindowsスプーラ604が一意に割り振るジョブID等、本発明の印刷システムがグループ化すべき印刷ジョブを特定できる情報をもとに、自動的にグループ印刷を行ってもよい。
【0083】
この指定は、各ジョブのジョブ情報にグループ印刷に関する指定情報を付加する点のみが、通常のジョブと異なる点であるので、クライアント上のポートごとの設定として登録可能であるが、他のクライアントとの共有資源であるプリンタやプリンタサーバの設定には特別な設定の必要はない。
【0084】
ステップs1002の判断で、グループ印刷の印刷ジョブであると判断されると、ステップs1003において、クライアントマネージャ605は、ユーザからの指定を受け付けるためのダイアログボックス(図17)をOSに提供してディスプレイ207に表示させる。この図17のダイアログボックスは、図8に示すような、グループ印刷を指定するグループ名(IDでもよい)とグループ内のジョブの総数とジョブの印刷順序を指定することが可能であり、キーボード206やマウス等を用いてグループ名と印刷順をユーザに指定させる。
【0085】
グループ印刷の指定方法は、ジョブごとにグループ指定情報が指定されればよいので、ジョブを特定できる情報(ドキュメント名や、ジョブID等)に対してグループ指定情報音内容が一意に定まる方法であればなんでもよい。また、ダイアログボックスを表示して、手入力させなくても、レジストリやINIファイルなどのクライアントが保有する指定値を使用したり、複数の情報を保持していて、ユーザに選択させることも可能である。
【0086】
次にステップs1004では、ステップs1003で表示された図17のダイアログに対してユーザが入力したグループ名に基づいて、クライアントマネージャ605は、このグルーピングジョブが新規のグルーピングジョブなのかすでにプリントサーバ610に登録されているグルーピングジョブであるのかを判断する。すなわち、図17のグループ名の指定において、新規名称がユーザにより入力された場合は新規グルーピングジョブであると判断し、また、「参照ボタン」1701が押され、プリントサーバ610に登録されているグルーピングジョブのグループ名を参照する場合は、登録済みのグループ印刷であると判断する。新規グループ印刷であると判断された場合は、ステップs1005に処理を進める。
【0087】
ステップs1005において、クライアントマネージャ605は、ユーザに対して、手動で新規グループジョブ内の印刷順、及び、新規グループジョブ内の印刷ジョブの総数の情報の入力を促す。また、クライアントマネージャ605は、図7のジョブ情報に、グループ名、グループ内印刷順、グループ内ジョブ数であるグループ印刷指定情報を追加する。
【0088】
次にステップs1006において、クライアントマネージャ605は、ダイアログボックスの入力に基づいて、この印刷ジョブのジョブ情報に図8に示したグループ印刷を指定するグループ名(IDでもよい)、印刷順序、ジョブの総数等の情報を追加する。本実施例は、ジョブ情報にグループ印刷用のメンバーがあることを前提に説明するが、例えば、コメント情報やドキュメント名に、グループ印刷であることを判別できる情報を埋め込んで、特別なメンバーを用意しなくても実現できる。(例:コメントやドキュメント名に、Group01_1_5)という文字列を付加する。
【0089】
次にステップs1007で、クライアントマネージャ605は、印刷ジョブのスプール処理を行う。スプール処理は、以下のように行われる。まず、クライアントマネージャ605は、ジョブ情報の「スプール方法」を見ることにより、クライアントスプールの印刷ジョブなのか、サーバスプールの印刷ジョブなのかを判断する。クライアントスプールと判断された場合は、クライアントマネージャ605はWindowsスプーラ604から受けた印刷ジョブをクライアントスプーラ606にグループ指定情報と対応付けてスプールし、その印刷ジョブのジョブ情報(図7)とグループ指定情報(図8)をプリントサーバ610に送信する。一方、サーバスプールと判断された場合は、クライアントマネージャ605は、印刷ジョブとジョブ情報とグループ指定情報とをプリントサーバ610に送信して、クライアント600における印刷処理を開放する。
【0090】
次にクライアント2、3のスプール手順、つまり、グルーピングジョブの設定が行われた後に、残りの印刷ジョブを該当するグルーピングジョブに追加する手順について説明する。
【0091】
ステップs1001からステップs1003までの手順は、上記処理と同じなので省略する。ステップs1004において、クライアントマネージャ605は、ステップs1003で表示された図17のダイアログに対してユーザが入力したグループ名に基づいて、クライアントマネージャ605は、このグルーピングジョブが新規のグルーピングジョブなのかすでにプリントサーバ610に登録されているグルーピングジョブであるのかを判断する。図17のダイアログにおいて、「参照ボタン」1701がユーザの指示により押され、プリントサーバ610に登録されているグルーピングジョブのグループ名を参照する場合は、登録済みのグループ印刷であると判断して、ステップs1009に処理を進める。
【0092】
ステップs1009では、クライアントマネージャ605はプリントサーバ610のサーバマネージャ611に対して、プリントサーバ610でスプールしているグルーピングジョブのリストを問い合わせる。この問合せの手段は、例えば、Win32APIのEnumJobsのようなAPIをRPCで処理するなどの一般的なプロセス間通信でよい。
【0093】
この問合せに対して、プリントサーバ610では以下の処理が行われる。まずサーバマネージャ611は、クライアントマネージャ605からグルーピングジョブのリストの問合せを受け付けると、ジョブ管理テーブル613で管理しているグループジョブ管理テーブル616を参照し、クライアントマネージャ605に返答するためのグルーピングジョブのリストを生成する。そして、サーバマネージャ611は、生成したリストをクライアントマネージャ605に返信する。また、問合せ以外の場合は各種のスプール処理が行われる。まず、ジョブ情報を含む印刷依頼がクライアントから受け取った場合は、サーバマネージャ611は印刷依頼があったとして、ジョブ管理テーブル613に印刷順序の管理を行わせる。このときジョブ情報を解析することにより、この印刷依頼がグループ印刷ジョブであると判断された場合は、ジョブ管理テーブル613はグループジョブ管理テーブル616に新規ジョブもしくはすでに登録されているグルーピングジョブ内に該当する印刷順序のジョブがスプールされたこと示すように更新し、同時にサーバマネージャ611はサーバスプーラ612に印刷ジョブをスプールする。また、スプール方法がクライアントスプールの場合は、ジョブ情報の管理のみ行い、スプール処理はクライアントに任せることになる。
【0094】
ステップs1009において、前述した問合せに応じて、クライアントマネージャ605は、サーバマネージャ611からグルーピングジョブのリストを取得し、表示用のデータを生成し、OSを介してディスプレイ207に図18に示すように表示させる。
【0095】
図18は、グループジョブ管理テーブルによって管理されているグルーピングジョブのリストに基づいてクライアントマネージャにより生成される表示画面の一例である。
【0096】
1801は、プリントサーバ610により管理されているグルーピングジョブの名称を示している。1802は、それぞれのグループ内における印刷順を示しており、総ジョブ数と印刷順序とが表示されている。また、1803は、その印刷ジョブのステータスであり、「印刷待ち」はすでにその印刷ジョブがスプールされていることを示しており、「未処理」はまだ該当する印刷順に対応する印刷ジョブのスプールが行われていないことを示している。1804は、スプール方法を示しており、「クライアント」とは印刷データを含む印刷ジョブがクライアントスプーラ606にスプールされていることを示し、「サーバ」とは印刷データを含む印刷ジョブがサーバスプーラ612にスプールされていることを示している。1805は、対応する印刷ジョブの印刷依頼を行ったクライアント名を示している。
【0097】
このグラフィカルユーザインタフェースにおいて、キーボード206やマウスなどのポインティングデバイスを用いてユーザは、それぞれの印刷ジョブ毎に選択状態を決めることが可能となっている。図18の例では、1806に示す範囲にあるGroup2の印刷順が2番目の印刷ジョブが選択状態となっている。この選択状態にある場合に、OKボタン1807を指定することにより、図17に示したグループ印刷指定のダイアログの各項目が自動選択される。例えば、1806の範囲を選択している状態でOKボタン1807が指定されると、図17におけるグループ名は「Group2」となり、印刷順は「2/5」と自動的に入力される。
【0098】
このように、ステップs1010では、クライアントマネージャ605は、図18に示したように、ユーザにより印刷ジョブが指定されると、指定された印刷ジョブのグループ名を判断して、判断されたグループ名を図17のグループ名の項目に入力する。続いて、ステップs1011では、クライアントマネージャ605は、図18に示したように、ユーザにより印刷ジョブが指定されると、指定された印刷ジョブの印刷順と総印刷ジョブ数を判断して、それぞれを図17の各項目に入力する。
【0099】
このように、本実施例では、グラフィカルユーザインタフェース画面を用いてユーザにグルーピングジョブ内の印刷ジョブを指定させて、各項目を自動入力したが、これに限るものではない。例えば、クライアントマネージャ605が、グルーピングジョブのグループ名だけ、プリントサーバ610から取得し、その中からグルーピングジョブを指定させ、その後、ユーザの手入力により、印刷順等を指定させることも考えられる。
【0100】
グループ印刷ジョブにおける各種の指定が行われると、ステップs1006に処理を進める。ステップs1006以降は前述した処理と同様なので説明を省略する。
【0101】
図16は、図6に示したプリントサーバ610のサーバマネージャ611により作成されるグループ印刷情報のデータ構造の一例を示す図である。このグループ印刷情報は、クライアントから受け取るジョブ情報とグループ指定情報とに基づいて生成される。
【0102】
図16に示すように、本実施形態では、グループ名、ジョブ総数、印刷先プリンタ名、プリンタステータスおよびジョブID、印刷順、ステータス、クライアント名がジョブ分含むように構成されている。
【0103】
次に、図11に示すフローチャートを参照して、図6に示したプリントサーバ610上で動作するサーバマネージャ611によるスプール処理について説明する。
【0104】
図11は、本発明に係る情報処理装置における第2のデータ処理手順の一例を示すフローチャートであり、図6に示したプリントサーバ610上で動作するサーバマネージャ611によるスプール処理に対応する。なお、s1101〜s1112は各ステップを示す。
【0105】
ステップs1101において、クライアントマシン600からのジョブのスプール処理が開始されると、サーバマネージャ611は、ジョブIDを作成して、ジョブIDをクライアントマネージャ606に渡し、ステップs1102において以下のスプール処理を行う。
【0106】
ステップs1102では、サーバマネージャ611は、クライアントマネージャ606からジョブ情報を受け取り、印刷要求を受ける。またサーバマネージャ611は、必要に応じてクライアントマネージャ606からグループ指定情報も受け取る。印刷要求を受け付けると、サーバマネージャ611は、ジョブ管理テーブル613内の印刷キューに新規ジョブを受けたことによる印刷順序の管理を始めるため、印刷キューを更新し、クライアントから受け取る印刷ジョブをサーバスプーラ612にスプールする。また、クライアントから印刷ジョブを受け取らない場合、つまりクライアントスプール処理を行う印刷ジョブの場合は、クライアントにスプールさせ、プリントサーバ610は印刷順序管理を行うことになる。
【0107】
続いて、ステップs1103において、サーバマネージャ611は、クライアントマネージャ606から渡されたジョブ情報内を検索する。そして、s1104において、サーバマネージャ611は、グループ印刷を指定した印刷ジョブであるグルーピングジョブかどうかをジョブ情報内のグループ印刷指定の情報の有無で判断する。
【0108】
ここで、グループ印刷指定の印刷ジョブであると判断した場合、同一グループ内の最初のジョブのスプールか、2つめ以降のジョブのスプールかで処理が異なる。
【0109】
そこで、ステップs1105において、サーバマネージャ611は、ジョブ情報とグループ指定情報に基づいて、受け取った印刷ジョブがグループ内の最初の印刷ジョブであるか否かを判断する。新規グループ印刷であると判断された場合はステップs1106に、また図10に示したグループ印刷情報(GP−INFO)が記憶装置上すでに作成されているか場合は、ステップs1107に処理を進める。
【0110】
ステップs1106では、サーバマネージャ611は、グループ印刷情報(GP−INFO)を作成して、ジョブ管理テーブル613のグループジョブ管理テーブル616に新規のグループ印刷情報を格納する。このグループ印刷情報GP−INFOは、印刷を指定するプリンタ毎にリストデータで管理される。
【0111】
次に、ステップs1107で、サーバマネージャ611は、作成されているグループ印刷情報(GP−INFO)にジョブ情報から、印刷したクライアント名(または、アドレス)や、グループ内の印刷順序等、ジョブ固有の情報を記録する。
【0112】
次に、ステップs1108において、サーバマネージャ611は、同一グループ内で最初のジョブかどうか判断する。ここで、最初のジョブの場合は、そのジョブのスプール順がグループの印刷順になるので、ジョブの位置は変更せずに、ステップs1110に進んでスプール処理を終了する。
【0113】
次に、ステップs1108の判断において、印刷順が最初の印刷ジョブでないと判断された場合は、ステップs1109に進み、同一グループ内の指定された順番に揃うように印刷ジョブのジョブ情報を整列し、必要に応じてサーバスプーラ612における印刷ジョブのスプール順序を整列する。
【0114】
印刷ジョブのスプール順序について説明する。この処理はサーバスプールの印刷ジョブのスプール処理のときに実行される。具体的には、グループ印刷情報(GP−INFO)の中で既にスプールされているジョブのうち、処理中の印刷ジョブの順番より前のものであれば、その直後に移動し、自分の順番よりも後ろのジョブばかりスプールされているのであれば、先頭にくるように移動して、ステップs1110に移り、スプール処理を終了する。このように印刷順序に従ってスプールしておくことにより、グルーピングジョブの印刷時に印刷ジョブの読み出しが容易になる。しかしながら、印刷ジョブのスプール順序は、印刷順にスプールされていなくても、実際は印刷処理可能である。
【0115】
一方、ステップs1104において、グループ印刷のジョブでない印刷ジョブのスプールであると判断された場合は、ステップs1111に移る。ステップs1111では、サーバマネージャ611は、現在のスプール位置がグループ印刷指定で印刷されたジョブに割り込んでないか確認し、もし、プライオリティ等、別の順序変更の指定のために同一グループのグループ印刷指定のジョブの間に割り込んでしまったと判断した場合(YESの場合)は、前後のジョブがグループ印刷指定かどうかをジョブ情報から判断し、ステップs1112において、その後ろにスプールされるように位置を変更し、ステップs1111で、通常のスプール位置でグループ印刷のジョブの間に入っていなければ、そのままステップs1110に進んでスプール処理を終了する。
【0116】
次に、スプールされたジョブの印刷処理について、プリントサーバ610のサーバマネージャ611の処理を図12に示すフローチャートを参照して説明する。
【0117】
図12は、本発明に係る情報処理装置における第3のデータ処理手順の一例を示すフローチャートであり、図6に示したプリントサーバ610におけるサーバマネージャ611の処理手順に対応する。この処理は、サーバマネージャ611が、ネットワークに接続されている管理下のプリンタのステータスを監視する一方、スプールされたジョブを管理し、該当するプリンタに対して順番に印刷ジョブの送信を開始していくWindowsのスレッドのような処理単位で行う。なお、s1201〜s1208は各ステップを示す。
【0118】
先ず、ステップs1201において、サーバマネージャ611は、管理下のプリンタのステータスを監視し、監視しているプリンタに対して印刷ジョブの送信が行えると判断されると、この処理が起動される。そして、ステップs1202において、サーバマネージャ611は、ジョブ管理テーブル613にスプールされているジョブ情報を検索する。そしてステップs1203では、ジョブ管理テーブル613に該当するプリンタに対して送信すべき印刷ジョブの中で、印刷待ちの印刷ジョブがあるかを判断する。この状態が定常状態であり、印刷待ちの印刷ジョブがひとつもない場合は、ステップs1203で、印刷待ちジョブありと判断されるまで、ステップs1201のままジョブがスプールされるまで待ち続ける。
【0119】
一方、ステップs1203において、印刷待ちジョブがあると判断された場合、ステップs1204において、サーバマネージャ611は、印刷待ちの印刷ジョブがグループ印刷かどうか判断する。もし、グループ印刷指定のジョブの印刷順であれば、ステップs1204で、サーバマネージャ611は、グループジョブ管理テーブル616を解析することにより、同一グループのすべての印刷ジョブがスプールされているかどうか判断する。ここで、グループ内のすべての印刷ジョブがスプールされていると判断した場合は、ステップs1206において、サーバマネージャ611は、そのグルーピングジョブの印刷処理を行う。具体的には、サーバマネージャ611は、グループジョブ管理テーブル616に基づいて、グループ内の印刷順に従って順次スプールしている印刷ジョブをプリンタに送信する。この送信処理において、サーバマネージャ611は、印刷順の印刷ジョブのスプール方法を認識し、サーバスプールの場合は、サーバスプーラ612に保存されている該当印刷ジョブを読み出して、ネットワークを介してプリンタに印刷ジョブを送信する。また、クライアントスプールの場合は、サーバマネージャ611は、図18に示す依頼元のクライアント1805を認識し、該当するクライアントに対してジョブIDを指定する情報を含む印刷ジョブ送信許可情報を発行する。プリントサーバ610またはクライアント600からプリンタ105への印刷データの送信処理が終了すると、ステップs1207において、サーバマネージャ611は、グループジョブ管理テーブル616で管理しているグループ印刷情報(GP−INFO)のステータス情報と図18に示すグループジョブ管理テーブル616を「送信終了」に変更して、次の印刷順に対応する印刷ジョブの処理に移る。この印刷手順を繰り返すことによって、同一グループのジョブをプリンタ105に連続して送信し、印刷を行う。
【0120】
一方、ステップs1205において、同一グループのジョブがすべてスプールされる前に同じグループの最初のジョブの印刷順になってしまい、同一グループのすべての印刷ジョブがスプールされていないと判断された場合は、ステップs1208に進んで、サーバマネージャ611は、該当するプリンタに対する印刷キューにおける次の印刷ジョブに制御を移し、ステップs1203に戻って、次のジョブも同様に処理を続ける。
【0121】
一方、ステップs1204において、印刷キュー615にける印刷順の印刷ジョブが通常の印刷ジョブであると判断された場合は、そのままステップs1206に移り、サーバマネージャ611は、前述したような印刷処理(印刷ジョブの配信制御)を行う。以上の手順でプリントサーバ610における印刷処理を行う。
【0122】
なお、印刷確認を行わない場合は、データ転送終了後、ジョブを削除するときにグループ印刷情報GP−INFOも削除する。
【0123】
これらの手順を実行することにより、複数のホストコンピュータから任意のタイミングで印刷された複数の一連の印刷ジョブを、通常の印刷ジョブが混在してプリントサーバにスプールされても、また、クライアントでスプールされても、同じプリンタに対して指定された順にまとめて連続印刷することができる。
【0124】
〔第2実施形態〕
以下、第1実施形態で示した手順に従って印刷した後から、プリントサーバ610のサーバマネージャ611は、プリンタ105から通常の印刷ジョブと同様に各印刷ジョブの印刷確認を行い、グループ印刷情報に記録し、グループ印刷情報内のすべての印刷ジョブの印刷終了を確認後、各ジョブをスプールしたクライアント600のクライアントマネージャ605に印刷終了を通知するように構成してもよい。以下、その実施形態について説明する。
【0125】
図13は、本発明の第2実施形態を示す情報処理装置における第4のデータ処理手順の一例を示すフローチャートであり、図6に示したサーバマネージャ611による印刷確認スレッド(印刷確認処理の詳細手順)に対応する。なお、s1301〜s1312は各ステップを示す。
【0126】
先ず、ステップs1301において、この印刷確認スレッドが開始されるが、このスレッドはサーバマネージャ611の起動時から開始されてサーバマシン610の電源が落とされるまで常駐しても、印刷処理の後から、印刷確認が取れるまでの間のみの起動でもよく、任意のタイミングで動作を終了する。
【0127】
そして、該スレッド開始後、ステップs1302において、サーバマネージャ611は、ネットワークを介して管理下のプリンタのステータスを監視することにより、プリンタ105から印刷の確認通知を待つ。
【0128】
この確認方法は、例えば、TCP/IPのネットワーク環境における、ネットワークプリンタの場合は、SNMPのget等のコマンドを用いてプリントサーバ611がポーリングしてもよいし、trapなどで、プリンタ105からの通知をうけてもよい。
【0129】
また、プリンタがローカル接続される場合は、セントロケーブルを介した通信でもよく、プロトコルや情報の取得方法はなんでもよい。
【0130】
このようにしてプリンタ105から、印刷確認通知がくると、ステップs1303において、サーバマネージャ611は、プリンタ105から印刷ジョブのエラーが通知されたかどうかを判断する。エラーが通知されたと判断した場合は、ステップs1312に移り、サーバマネージャ611は、関連する印刷ジョブの依頼元のクライアントを図18に示すグループジョブ管理テーブルを用いて認識し、該当するクライアント600のクライアントマネージャ605に対してエラーを通知する。
【0131】
一方、ステップs1303で、エラーが通知されていないと判断した場合は、ステップs1304において、サーバマネージャ611は、印刷終了が確認された印刷ジョブのジョブ情報からグループ印刷のジョブであるかどうか判断し、グループ印刷のジョブであると判断した場合は、ステップs1305においてグループ印刷ジョブ情報(GP−INFO)の該当する印刷ジョブのステータスを「印刷中」から「印刷終了」に更新する。
【0132】
次に、ステップs1306において、サーバマネージャ611は、グループ印刷ジョブ情報(GP−INFO)内におけるすべての印刷ジョブの印刷終了が確認できたかどうかを判断し、まだ、印刷中のジョブが残っていると判断した場合は、ステップs1302に戻り、プリンタ105からの印刷確認通知を待つ。
【0133】
一方、ステップs1306で、もし、グループ内で最後のジョブの印刷確認通知であると判断した場合は、ステップs1307に進み、サーバマネージャ611は、該グループ内の印刷ジョブを印刷要求した依頼元のクライアント600のクライアントマネージャ605に通知する。各クライアントに通知後、ステップs1308で、サーバマネージャ611は、同一グループのジョブ情報をすべて削除する。
【0134】
なお、印刷後もサーバスプーラ612に印刷データを含む印刷ジョブが残っている場合は、サーバマネージャ611は、ジョブ情報と同時に印刷データも削除する。
【0135】
このようにしてグループ内のジョブ情報を削除後、ステップs1309において、サーバマネージャ611は、印刷が終了したグループ印刷情報を削除し、ステップs1302に戻る。
【0136】
一方、ステップs1304において、通常のジョブの印刷確認通知がきた場合は、ステップs1310において、サーバマネージャ611は、各クライアントマシンのクライアント601に通知し、ステップs1311でジョブを削除して、ステップs1302に戻る。
【0137】
このような手順で、通常のジョブの印刷確認の手順に、余分な処理をほとんど追加せずに、グループ印刷の印刷確認も行うことができる。
【0138】
これにより、プリンタ105からはジョブごとの印刷確認しか取得できなくとも、印刷されたジョブがまとめて印刷して排紙されたことを確認し、各印刷ジョブの印刷要求を発行したホストコンピュータにまとめて印刷されたことを通知することができる。
【0139】
〔第3実施形態〕
上記第2実施形態では、印刷要求された印刷ジョブがまとめて印刷して排紙されたことを確認し、各印刷ジョブの印刷要求を発行したクライアント(ホストコンピュータ)にまとめて印刷されたことを通知する場合について説明したが、印刷処理中にプリンタ105に何らかのエラーが発生する場合があり、印刷要求された印刷ジョブが、まとめて印刷、排紙される前に、プリンタにエラーが発生した場合には、ネットワーク上の別のプリンタにまとめて印刷先を変更するように構成してもよい。以下、その実施形態について説明する。
【0140】
図14は、本発明の第3実施形態を示す情報処理装置における第5のデータ処理手順の一例を示すフローチャートであり、プリントサーバ610におけるサーバマネージャ611による印刷先変更の手順に対応する。なお、s1401〜s1414は各ステップを示す。また、本実施形態では、第1実施形態の手順で印刷を行い、第2実施形態の手順のプリントサーバが印刷確認待ちの状態からの処理を説明する。
【0141】
先ず、ステップs1401において、印刷確認用の処理を開始すると、ステップs1402で、サーバマネージャ611は、プリンタ105からの通知を基に、プリンタ105や印刷ジョブのステータスを取得したり、クライアント601からの通知を受け付けるウエイト(wait)状態である。
【0142】
次に、ステップs1402において、サーバマネージャ611は、プリンタ105から印刷ジョブのエラーが通知された場合、s1403においてデータ転送後のジョブのエラーかどうかを判断する。この判断は、ジョブごとのステータスをプリンタ105から直に取得してもよいし、印刷確認がとれないうちにプリンタ105がエラーになった場合もジョブのエラーと判断するなど、ジョブの正常な印刷完了が確認できない場合もジョブのエラーとして判断してもよい。
【0143】
このステップs1403で、プリンタ105に転送後のジョブのエラーと判断した場合は、ステップs1404において、サーバマネージャ611は、通知されたジョブIDからジョブ情報を検索し、グループ印刷のジョブかどうかジョブ情報を基に判断する。ここで、グループ印刷の印刷ジョブでないと判断された場合は、ステップs1405において、サーバマネージャ611は、印刷ジョブのステータスを「エラー」に設定し、ステップs1406において、ジョブを印刷したクライアント600のクライアントマネージャ605に対して通知して、ステップs1402の次の確認待ち処理に戻る。
【0144】
一方、ステップs1404において、グループ印刷のジョブであると判断された場合は、ステップs1407で、サーバマネージャ611は、グループ印刷情報(GP−INFO)を更新し、ステップs1408に進み、グループ印刷情報(GP−INFO)の印刷ジョブのステータスをエラーとする。
【0145】
次に、ステップs1408において、サーバマネージャ611は、エラー時のプリンタの変更先が指定されていないプリンタであるかどうかを判定する。この判定処理は、後述するようにエラー時にクライアントから指定されることにより判定するが、予め図8に示すグループ指定情報内に、代替プリンタ名の情報を付加しておき、図16に示すグループ印刷情報(GP−INFO)に代替プリンタ名を管理することにより、サーバマネージャ611が判定してもよい。
【0146】
ここで、プリンタの変更先が指定されていないプリンタであると判定した場合は、通常のジョブと同様に、ステップs1405、s1406で、サーバマネージャ611は、印刷ジョブのステータスを変更するだけで、クライアント600のクライアントマネージャ605に通知する。この場合は、印刷先の変更はクライアント600のクライアントマネージャ605から指示がくるまでは、実行されない。
【0147】
一方、ステップs1408で、もし、エラー時の変更先が指定されているプリンタであると判断された場合は、ステップs1409に進み、サーバマネージャ611は、変更先のプリンタ、例えばプリンタ650のリストデータにグループ内のジョブ情報をすべて移動する。また、グループ印刷情報(GP−INFO)の管理も新しいプリンタのグループ印刷情報リストに移す。この場合は、プリントサーバ611が自動的にスプールしているプリンタを変更した後に、ステップs1410において、サーバマネージャ611は、印刷先の変更を各クライアントマシンのクライアントに通知し、印刷先の変更後は、第1実施形態と同様にグループ印刷のジョブとして印刷される。
【0148】
一方、図14に示したステップs1402、s1403、s1411と進み印刷先変更指示である場合、ステップs1412において、サーバマネージャ611は、クライアントから印刷先変更を指定された印刷ジョブがグループ印刷のジョブであるかどうか、ジョブ情報を元に判断し、グループ印刷のジョブでなければ、ステップs1413において、サーバマネージャ611は、指定された印刷ジョブのみを移動し、グループ印刷のジョブであれば、ステップs1414において、グループ印刷情報(GP−INFO)を更新し、ステップs1409、s1410と進み、サーバマネージャ611は、グループ内におけるすべての印刷ジョブの出力先を変更先の代替プリンタに変更し、該当するプリンタにおける印刷キューに印刷ジョブのジョブ情報をスプールする。
【0149】
なお、印刷変更先のプリンタの指定方法は、レジストリやINIファイル、プリントサーバがプリンタを管理する情報で指定しておいてもよいし、同じプリンタドライバのプリンタをランダムに指定する、など、印刷したドキュメントが正常に印刷されるプリンタの指定方法であればなんでもよい。以下、エラー発生時に、プリントサーバ610からの印刷確認通知後、クライアント600上のユーザ指示により、ジョブの印刷先を意図する他のプリンタに変更する場合の処理について説明する。
【0150】
図15は、本発明の第3実施形態を示す情報処理装置における第6のデータ処理手順の一例を示すフローチャートであり、クライアントマネージャ605の印刷確認手順、および、クライアントマネージャ605におけるグループ印刷の印刷先変更手順(ジョブのエラー通知後の印刷先変更手順)に対応する。なお、s1501〜s1511は各ステップを示す。
【0151】
先ず、s1501で、クライアントマネージャ605の起動時または印刷処理後に当該処理が開始されると、ステップs1502で、クライアントマネージャ605は、指示待ちとなり、サーバマネージャ611から何らかの指示があると、ステップs1503で、クライアントマネージャ605は、印刷確認通知であるかどうか判断する。なお、印刷先変更後であろうとなかろうと、印刷確認通知は同様である。
【0152】
ステップs1503で、印刷確認通知がなされたと判断した場合は、ステップs1504において、クライアントマネージャ605は、例えばジョブの印刷確認をダイアログボックスや、プリントマネージャのようなステータスの変化等を示すグラフィカルユーザインタフェース画面を提供し、OSを介してディスプレイ207に表示させることによりユーザに通知する。この通知後、ステップs1502へ戻る。
【0153】
ここで、グループ印刷の場合、クライアントへの通知処理が終了後に、ジョブ情報が削除されるので、この表示処理に、ジョブ情報やグループ印刷情報をプリントサーバ610のサーバマネージャ611から取得して、グループ印刷の印刷確認が終了したことを示す特別な表示を行ってもよい。
【0154】
一方、ステップs1503で、印刷確認通知でなかったと判断した場合は、ステップs1505で、クライアントマネージャ605は、通知がエラー通知であるかどうかを判定して、エラー通知であると判断した場合は、ステップs1506に進み、クライアントマネージャ605は、ジョブのエラーであることを示すダイアログなどを提供し、OSを介してディスプレイ207に表示させることによりユーザに通知する。この表示は、特別な通知メッセージを表示せずに、Windowsのプリントマネージャのように印刷ジョブのステータスの変化としてクライアントマネージャ605からユーザに通知してもよい。
【0155】
そして、エラー通知の表示後、ステップs1507において、クライアントマネージャ605は、Windowsのダイアログボックスのような印刷先変更用のユーザインタフェース(UI)提供し、OSを用いて図2に示したディスプレイ207上に表示する。
【0156】
次に、ステップs1508において、クライアントマネージャ605は、ユーザの指示によりジョブの印刷先変更指示がなされているかどうかを判定し、印刷先変更指示がなされていると判断した場合は、ステップs1509に進み、クライアントマネージャ605は、変更先をサーバ610のサーバマネージャ611に通知して、ステップs1502へ戻る。なお、グループ印刷のジョブであっても印刷先変更する印刷ジョブに対し、印刷先を指定するだけでよい。
【0157】
また、サーバマネージャ611によって印刷先が変更された場合は、サーバマネージャ611から印刷先変更の通知が届く、この場合は、ステップs1502の指示待ちからステップs1503、s1505と進み、ステップs1510で、クライアントマネージャ605は、印刷先変更指示がなされているかどうかを判定し、印刷先変更指示がなされていない場合は、ステップs1502へ戻り、印刷先変更指示がなされていると判断した場合は、ステップs15011に進み、変更された印刷先を図2に示したディスプレイ207上にダイアログボックス等でユーザに通知して、ステップs1502へ戻る。この場合は、ジョブの印刷先変更処理の終了後であるので、変更結果の通知のみである。
【0158】
このようにしてクライアント600のクライアントマネージャ605から印刷先の変更を指示されたプリントサーバ610のサーバマネージャ611は、図14に示したステップs1402、s1403、s1411と進み印刷先変更指示である場合、ステップs1412において、クライアントから印刷先変更を指定されたジョブがグループ印刷のジョブであるかどうか、ジョブ情報を元に判断し、グループ印刷のジョブでなければ、ステップs1413において、指定されたジョブのみを移動し、グループ印刷のジョブであれば、ステップs1414において、GP−INFOを更新し、ステップs1409、s1410と進み、グループ内のすべてのジョブを変更先のプリンタにスプールする。
【0159】
また、グルーピングジョブの印刷先が変更された場合、サーバマネージャ611は、以下の判断を行う。
【0160】
まず、サーバマネージャ611は、変更された印刷先のプリンタがフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断する。印刷先のプリンタがフェイスダウンプリンタである場合は、印刷ジョブの先頭から印刷すればよいのでグループジョブ管理テーブル616に管理されているグループ指定情報(GP−INFO)の印刷順に従って印刷ジョブの送信を制御すればよい。一方、印刷先のプリンタがフェイスアッププリンタである場合は、印刷ジョブの後ろから印刷しなければならない。
【0161】
ここで、1つの印刷ジョブ内のページ順序はプリンタの機能を用いて、印刷ジョブをプリンタ内にスプールして最終ページから印刷動作を行えばよいが、複数の印刷ジョブをグループ化してあたかも1つの印刷ジョブとして扱うべきグルーピングジョブの場合は、グループ指定情報の印刷順の後ろから順に送信制御を行う必要がある。よって、フェイスアッププリンタに印刷先が変更された場合は、グループ指定情報で指定される印刷順序の最後の印刷ジョブから順に、スプール方法を判断する。そして、サーバスプーラ612を用いていると判断された場合は、サーバスプーラにスプールされている印刷ジョブを送信し、クライアントスプーラ606を用いていると判断された場合は、印刷すべき印刷ジョブの印刷要求を発行したクライアントのクライアントマネージャ605に対して送信許可情報を通知する。
【0162】
また、フェイスアッププリンタからフェイスダウンプリンタに印刷先が変更された場合は、サーバマネージャ611は、印刷逆順から印刷順に送信制御を行えばよい。このように制御することにより、排紙方法が異なるプリンタに対して印刷先が変更された場合であっても、グルーピングジョブの排紙順序を保った印刷処理を行うことが可能となる。
【0163】
なお、印刷先変更の指定は、どのクライアントからも指示することができるが、他のクライアントから、先に指示が出された場合は、プリントサーバの印刷先自動変更処理と同様に、各クライアントには、変更結果の表示のみ行われる。
【0164】
以上のような手順により、プリントサーバ611は、グループ内のすべてのジョブの印刷の終了を確認する前に、プリンタ105のエラーなどで、印刷が続行できない場合は、デフォルトで指定されている印刷先に自動的に印刷先を変更したり、またはクライアント600のクライアントマネージャ605からの指示で、まとめて印刷先変更することが可能となる。
【0165】
なお、上記実施形態では、ネットワークプリンタを例として説明したが、ネットワークプリンタに限らず、プリントサーバにローカル接続されたプリンタなどのように、プリントサーバからデータを送信、ステータス情報を取得できるプリンタであれば、どんなプリンタでもよい。
【0166】
また、仮想プリントサーバシステムのようにジョブ情報のスプールだけの場合でも、さらに、ネットワークプリンタ内部にプリントサーバ機能がある場合でも、本発明を適用することができる。
【0167】
上記各実施形態によれば、複数のクライアントから複数のジョブを任意のタイミング印刷しても、プリンタから、指定された順にまとめて、印刷することを可能にする。また、まとめて印刷したジョブがすべて印刷されたことを各ジョブを印刷したクライアントPCで確認することが可能になる。さらに、まとめて印刷されるべきジョブの印刷が確認できない場合に、印刷先のプリンタを変更して、複数のジョブをまとめて印刷することを可能にする。
【0168】
以下、図20に示すメモリマップを参照して本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能なデータ処理プログラムの構成について説明する。
【0169】
図20は、本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0170】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0171】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0172】
本実施形態における図10〜図15に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0173】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0174】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0175】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。
【0176】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0177】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0178】
【発明の効果】
以上説明したとおり、本発明によれば、グループ印刷ジョブ内に通常の印刷ジョブが混在することなく印刷制御することが可能となり、さらに、プリンタからは印刷ジョブごとの印刷確認しか取得できなくとも、印刷終了された印刷ジョブが、まとめて印刷、排紙されたことを確認し、各印刷ジョブのクライアントにまとめて印刷されたことを通知することが可能となる。
【0179】
また、クライアントに印刷ジョブをスプールさせることによりネットワーク及びプリントサーバの負荷が減り、かつ、クライアントにスプールされている印刷ジョブとプリントサーバにスプールされている印刷ジョブとをグループ化でき、印刷順に従って印刷ジョブを順次送信制御することが可能となる。
【0181】
また、印刷されたジョブが、プリンタにエラーにより印刷できない場合に、指定される別のプリンタにまとめて印刷先を変更することが可能となる。
【0182】
また、排紙面が異なるプリンタに印刷先が変更された場合にも、プリンタは受信された順序で印刷ジョブの処理を行うことにより、グルーピングジョブとして正しい印刷順序を保った印刷制御を行うことが可能となる。
【0183】
従って、印刷順とは異なる順序で作成させる印刷ジョブを順次受信しても、指定された順序に自在に編成して、ユーザが意図する順序で印刷ジョブを同一の印刷装置から連続して印刷処理させることができ、かつ、当該印刷装置の印刷処理中における障害に対しても柔軟に対処することができ、印刷装置の印刷ジョブの処理順序態様を拡張して、印刷装置の印刷機能処理を格段に向上させることができる等の優れた効果を奏する。
【0184】
また、管理サーバで既に管理されているグループ印刷ジョブに対して、印刷すべき印刷ジョブをグループ化させることが可能となる。
【0185】
また、クライアントにおける印刷要求時に、複数のクライアントからの印刷ジョブをグループ化して印刷させる新規のグルーピングジョブの指定をユーザに行わせることが可能となる。
【0186】
また、管理サーバで既に管理されているグループ印刷ジョブに印刷ジョブを含ませる場合に、グラフィカルユーザインタフェースを用いてユーザは容易にグループ名や印刷順を指定することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用可能な情報処理システムの構成を説明するブロック図である。
【図2】本発明の第1実施形態を示す情報処理装置の構成を説明するブロック図である。
【図3】図2に示したRAMのメモリマップの一例を示す図である。
【図4】図2に示したFDのメモリマップの一例を示す図である。
【図5】図2に示したFDドライブに対して挿入されるFDとの関係を示す図である。
【図6】本発明の第1実施形態を示す情報処理装置のプリント制御モジュール構成を説明するブロック図である。
【図7】図6に示したクライアントとサーバとで共通となるジョブ情報のデータ構造の一例を示す図である。
【図8】図6に示したクライアントマシンで管理されるグループ指定情報の一例を示す図である。
【図9】本発明の処理を簡単に示すシーケンス図である。
【図10】本発明に係る情報処理装置における第1のデータ処理手順の一例を示すフローチャートである。
【図11】本発明に係る情報処理装置における第2のデータ処理手順の一例を示すフローチャートである。
【図12】本発明に係る情報処理装置における第3のデータ処理手順の一例を示すフローチャートである。
【図13】本発明に係る情報処理装置における第4データ処理手順の一例を示すフローチャートである。
【図14】本発明に係る情報処理装置における第5のデータ処理手順の一例を示すフローチャートである。
【図15】本発明に係る情報処理装置における第6のデータ処理手順の一例を示すフローチャートである。
【図16】図6に示したサーバマシンにより作成されるグループ印刷情報のデータ構造の一例を示す図である。
【図17】クライアント内のモジュールにより提供されるグループ印刷を指定するためのダイアログボックス画面の一例である。
【図18】プリントサーバで管理されるグループジョブ管理テーブルに応じて、クライアントで表示されるグラフィカルユーザインタフェース画面の一例である。
【図19】プリンタドライバにより提供される印刷設定を行うためのグラフィカルユーザインタフェース画面の一例である。
【図20】本発明に係る情報処理装置を適用可能な印刷システムで読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
105 プリンタ
106 ネットワーク
600 クライアント
601 アプリケーション
602 グラフィックエンジン
603 プリンタドライバ
604 システムスプーラ
605 クライアントマネージャ
606 クライアントスプーラ
610 プリントサーバ
611 サーバマネージャ
612 サーバスプーラ
613 ジョブ管理テーブル
615 印刷キュー
616 グループジョブ管理テーブル
650 プリンタ

Claims (31)

  1. クライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき第1の印刷ジョブと、単体の印刷ジョブとして印刷すべき第2の印刷ジョブとに識別する識別手段と、
    前記印刷要求が前記識別手段により第1の印刷ジョブと識別される印刷ジョブの印刷要求である場合に、前記印刷ジョブが含まれるグループ内の印刷ジョブの準備ができているかを判断する判断手段と、
    前記判断手段によりグループ内において印刷すべき印刷ジョブの準備ができていると判断されるグループ内の印刷ジョブの印刷制御を行い、一方、前記判断手段によりグループ内において印刷すべき印刷ジョブの準備ができていないと判断されるグループ内の印刷ジョブの印刷を保留するよう制御する制御手段と、
    印刷装置における印刷ジョブの状態を認識する認識手段と、
    前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが第2の印刷ジョブであった場合、前記第2の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記第1の印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも1つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知制御手段を備えることを特徴とする情報処理装置。
  2. 前記識別手段により識別される第1の印刷ジョブの印刷順序を前記印刷要求で指定される指定順に並び替えて整列させる整列手段を更に有し、
    前記制御手段は、前記整列手段による前記第1の印刷ジョブの整列状況に基づいて、整列された前記第1の印刷ジョブと前記第2の印刷ジョブの出力順序を制御することを特徴とする請求項1に記載の情報処理装置。
  3. クライアントから受け取る印刷要求に応じて、指定先の印刷装置に対する印刷順序を管理する順序管理手段と、
    クライアントから受け取る前記印刷要求に対応する印刷ジョブをスプールするジョブスプール手段と、
    前記印刷順序にある印刷要求に対応する印刷ジョブが前記ジョブスプール手段によってスプールされている場合、前記ジョブスプール手段によってスプールされている前記印刷ジョブを指定先の印刷装置に送信し、一方、前記印刷順序にある印刷要求に対応する印刷ジョブが前記ジョブスプール手段によってスプールされていない場合、前記印刷要求を発行したクライアントに対して印刷ジョブの送信を許可する送信許可情報を送信する送信制御手段と、
    を有することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記順序管理手段は、前記第1の印刷ジョブの情報を管理するグループ印刷ジョブ管理手段と、
    前記グループ印刷ジョブ管理手段によって管理されている前記第1の印刷ジョブの情報に基づいて、印刷要求すべき印刷ジョブをグループ化するグループを指定させるための第1ユーザインタフェースを提供する第1ユーザインタフェース提供手段と、
    前記印刷ジョブをグループ化すべきグループ名の指示を行わせるため、新規のグループ名の指示を行うための領域と、既存のグループ名の指示を行うための領域とを含む第2ユーザインタフェースを提供する第2ユーザインタフェース提供手段とを有し、
    前記第2ユーザインタフェース提供手段で提供される第2ユーザインタフェースにおいて、既存のグループ名の指示を行うための領域が指示された場合に、前記第1ユーザインタフェース提供工程を開始して第1ユーザインタフェースが提供されるようユーザインタフェースの提供を制御することを特徴とする請求項3に記載の情報処理装置。
  5. 前記認識手段は、更に印刷装置における印刷ジョブの印刷可否を認識することが可能であることを特徴とする請求項1乃至のいずれかに記載の情報処理装置。
  6. 前記認識手段により、指定された印刷装置において前記印刷ジョブの印刷が行えないと認識した場合、前記印刷ジョブの出力先を他の印刷装置に変更する変更手段を更に有し、
    前記変更手段において前記第1の印刷ジョブと識別された印刷ジョブの出力先を変更する場合、前記印刷ジョブが含まれるグループ内の全ての印刷ジョブの出力先を変更することを特徴とする請求項5に記載の情報処理装置。
  7. 前記変更手段は、前記認識手段により指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの印刷要求を発行したクライアントにその旨を通知し、該クライアントから出力先変更指示を受け付け、該出力先変更指示に基づいて前記印刷ジョブの出力先を変更することを特徴とする請求項に記載の情報処理装置。
  8. 前記変更手段は、前記認識手段により指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの属性情報を調べ、該属性情報に予め指定されている代替印刷装置に前記印刷ジョブの出力先を変更することを特徴とする請求項6または7に記載の情報処理装置。
  9. 前記変更手段によって変更された出力先の印刷装置がフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断するプリンタ属性判断手段を更に有し、
    出力先がフェイスダウンプリンタであると判断された場合は、印刷順序の先頭の印刷ジョブから順次前記フェイスダウンプリンタへ送信し、出力先がフェイスアッププリンタであると判断された場合は、印刷順序の後の印刷ジョブから前記フェイスアッププリンタへ送信することを特徴とする請求項6乃至8のいずれかに記載の情報処理装置。
  10. 前記変更手段により印刷ジョブの出力先の印刷装置が変更された場合に、前記印刷ジョブの印刷要求を行ったクライアントに出力先の変更を通知することを特徴とする請求項6乃至9のいずれかに記載の情報処理装置。
  11. クライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき第1の印刷ジョブと、単体の印刷ジョブとして印刷すべき第2の印刷ジョブとに識別する識別工程と、
    前記印刷要求が前記識別工程により第1の印刷ジョブと識別される印刷ジョブの印刷要求である場合に、前記印刷ジョブが含まれるグループ内の印刷ジョブの準備ができているかを判断する判断工程と、
    前記判断工程によりグループ内において印刷すべき印刷ジョブの準備ができていると判断されるグループ内の印刷ジョブの印刷制御を行い、一方、前記判断工程によりグループ内において印刷すべき印刷ジョブの準備ができていないと判断されるグループ内の印刷ジョブの印刷を保留するよう制御する制御工程と、
    印刷装置における印刷ジョブの状態を認識する認識工程と、
    前記認識工程によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが第2の印刷ジョブであった場合、前記第2の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識工程によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記第1の印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも1つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知制御工程を備えることを特徴とする印刷制御方法。
  12. 前記識別工程により識別される第1の印刷ジョブの印刷順序を前記印刷要求で指定される指定順に並び替えて整列させる整列工程を更に有し、
    前記制御工程は、前記整列工程による前記第1の印刷ジョブの整列状況に基づいて、整 列された前記第1の印刷ジョブと前記第2の印刷ジョブの出力順序を制御することを特徴とする請求項11に記載の印刷制御方法。
  13. クライアントから受け取る印刷要求に応じて、指定先の印刷装置に対する印刷順序を管理する順序管理工程と、
    クライアントから受け取る前記印刷要求に対応する印刷ジョブをスプールするジョブスプール工程と、
    前記印刷順序にある印刷要求に対応する印刷ジョブが前記ジョブスプール工程によってスプールされている場合、前記ジョブスプール工程によってスプールされている前記印刷ジョブを指定先の印刷装置に送信し、一方、前記印刷順序にある印刷要求に対応する印刷ジョブが前記ジョブスプール工程によってスプールされていない場合、前記印刷要求を発行したクライアントに対して印刷ジョブの送信を許可する送信許可情報を送信する送信制御工程と、を有することを特徴とする請求項11または12記載の印刷制御方法。
  14. 前記順序管理工程は、前記第1の印刷ジョブの情報を管理するグループ印刷ジョブ管理工程と、
    前記グループ印刷ジョブ管理工程によって管理されている前記第1の印刷ジョブの情報に基づいて、印刷要求すべき印刷ジョブをグループ化するグループを指定させるための第1ユーザインタフェースを提供する第1ユーザインタフェース提供工程と、
    前記印刷ジョブをグループ化すべきグループ名の指示を行わせるため、新規のグループ名の指示を行うための領域と、既存のグループ名の指示を行うための領域とを含む第2ユーザインタフェースを提供する第2ユーザインタフェース提供工程とを有し、
    前記第2ユーザインタフェース提供工程で提供される第2ユーザインタフェースにおいて、既存のグループ名の指示を行うための領域が指示された場合に、前記第1ユーザインタフェース提供工程を開始して第1ユーザインタフェースが提供されるようユーザインタフェースの提供を制御することを特徴とする請求項13に記載の印刷制御方法。
  15. 前記認識工程は、更に印刷装置における印刷ジョブの印刷可否を認識することが可能であることを特徴とする請求項10乃至14のいずれかに記載の印刷制御方法。
  16. 前記認識工程により、指定された印刷装置において前記印刷ジョブの印刷が行えないと認識した場合、前記印刷ジョブの出力先を他の印刷装置に変更する変更工程を更に有し、
    前記変更工程において前記第1の印刷ジョブと識別された印刷ジョブの出力先を変更する場合、前記印刷ジョブが含まれるグループ内の印刷ジョブの出力先を変更することを特徴とする請求項15に記載の印刷制御方法。
  17. 前記変更工程は、前記認識工程により指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの印刷要求を発行したクライアントにその旨を通知し、該クライアントから出力先変更指示を受け付け、該出力先変更指示に基づいて前記印刷ジョブの出力先を変更することを特徴とする請求項16に記載の印刷制御方法。
  18. 前記変更工程は、前記認識工程により指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの属性情報を調べ、該属性情報に予め指定されている代替印刷装置に前記印刷ジョブの出力先を変更することを特徴とする請求項16または17記載の印刷制御方法。
  19. 前記変更工程によって変更された出力先の印刷装置がフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断するプリンタ属性判断工程を更に有し、
    出力先がフェイスダウンプリンタであると判断された場合は、印刷順序の先頭の印刷ジョブから順次前記フェイスダウンプリンタへ送信し、出力先がフェイスアッププリンタであると判断された場合は、印刷順序の後の印刷ジョブから前記フェイスアッププリンタへ送信することを特徴とする請求項16乃至18のいずれかに記載の印刷制御方法。
  20. 前記変更工程により印刷ジョブの出力先の印刷装置が変更された場 合に、前記印刷ジョブの印刷要求を行ったクライアントに出力先の変更を通知することを特徴とする請求項16乃至19のいずれかに記載の印刷制御方法。
  21. クライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき第1の印刷ジョブと、単体の印刷ジョブとして印刷すべき第2の印刷ジョブとに識別する識別工程と、
    前記印刷要求が前記識別工程により第1の印刷ジョブと識別される印刷ジョブの印刷要求である場合に、前記印刷ジョブが含まれるグループ内の印刷ジョブの準備ができているかを判断する判断工程と、
    前記判断工程によりグループ内において印刷すべき印刷ジョブの準備ができていると判断されるグループ内の印刷ジョブの印刷制御を行い、一方、前記判断工程によりグループ内において印刷すべき印刷ジョブの準備ができていないと判断されるグループ内の印刷ジョブの印刷を保留するよう制御する制御工程と、
    印刷装置における印刷ジョブの状態を認識する認識工程と、
    前記認識工程によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが第2の印刷ジョブであった場合、前記第2の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識工程によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記第1の印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも1つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知制御工程を備えることを特徴とするコンピュータ読み出し可能なプログラムが格納された記憶媒体。
  22. 前記識別工程により識別される第1の印刷ジョブの印刷順序を前記印刷要求で指定される指定順に並び替えて整列させる整列工程を更に有し、
    前記制御工程は、前記整列工程による前記第1の印刷ジョブの整列状況に基づいて、整列された前記第1の印刷ジョブと前記第2の印刷ジョブの出力順序を制御することを特徴とする請求項21記載の記憶媒体。
  23. クライアントから受け取る印刷要求に応じて、指定先の印刷装置に対する印刷順序を管理する順序管理工程と、
    クライアントから受け取る前記印刷要求に対応する印刷ジョブをスプールするジョブスプール工程と、
    前記印刷順序にある印刷要求に対応する印刷ジョブが前記ジョブスプール工程によってスプールされている場合、前記ジョブスプール工程によってスプールされている前記印刷ジョブを指定先の印刷装置に送信し、一方、前記印刷順序にある印刷要求に対応する印刷ジョブが前記ジョブスプール工程によってスプールされていない場合、前記印刷要求を発行したクライアントに対して印刷ジョブの送信を許可する送信許可情報を送信する送信制御工程と、を有することを特徴とする請求項21または22記載の記憶媒体。
  24. 前記順序管理工程は、前記第1の印刷ジョブの情報を管理するグループ印刷ジョブ管理工程と、
    前記グループ印刷ジョブ管理工程によって管理されている前記第1の印刷ジョブの情報に基づいて、印刷要求すべき印刷ジョブをグループ化するグループを指定させるための第1ユーザインタフェースを提供する第1ユーザインタフェース提供工程と、
    前記印刷ジョブをグループ化すべきグループ名の指示を行わせるため、新規のグループ名の指示を行うための領域と、既存のグループ名の指示を行うための領域とを含む第2ユーザインタフェースを提供する第2ユーザインタフェース提供工程とを有し、
    前記第2ユーザインタフェース提供工程で提供される第2ユーザインタフェースにおいて、既存のグループ名の指示を行うための領域が指示された場合に、前記第1ユーザインタフェース提供工程を開始して第1ユーザインタフェースが提供されるようユーザインタフェースの提供を制御することを特徴とする請求項23に記載の記憶媒体。
  25. 前記認識工程は、更に印刷装置における印刷ジョブの印刷可否を認識することが可能であることを特徴とする請求項20乃至24のいずれかに記載の記憶媒体。
  26. 前記認識工程により、指定された印刷装置において前記印刷ジョブの印刷が行えないと認識した場合、前記印刷ジョブの出力先を他の印刷装置に変更する変更工程を更に有し、
    前記変更工程において前記第1の印刷ジョブと識別された印刷ジョブの出力先を変更する場合、前記印刷ジョブが含まれるグループ内の印刷ジョブの出力先を変更することを特徴とする請求項25に記載の記憶媒体。
  27. 前記変更工程は、前記認識工程により指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの印刷要求を発行したクライアントにその旨を通知し、該クライアントから出力先変更指示を受け付け、該出力先変更指示に基づいて前記印刷ジョブの出力先を変更することを特徴とする請求項26に記載の記憶媒体。
  28. 前記変更工程は、前記認識工程により指定された印刷装置において印刷ジョブの印刷が行えないと認識した場合に、前記印刷ジョブの属性情報を調べ、該属性情報に予め指定されている代替印刷装置に前記印刷ジョブの出力先を変更することを特徴とする請求項26または27に記載の記憶媒体。
  29. 前記変更工程によって変更された出力先の印刷装置がフェイスアッププリンタであるかフェイスダウンプリンタであるかを判断するプリンタ属性判断工程を更に有し、
    出力先がフェイスダウンプリンタであると判断された場合は、印刷順序の先頭の印刷ジョブから順次前記フェイスダウンプリンタへ送信し、出力先がフェイスアッププリンタであると判断された場合は、印刷順序の後の印刷ジョブから前記フェイスアッププリンタへ送信することを特徴とする請求項26乃至28のいずれかに記載の記憶媒体。
  30. 前記変更工程により印刷ジョブの出力先の印刷装置が変更された場合に、前記印刷ジョブの印刷要求を行ったクライアントに出力先の変更を通知することを特徴とする請求項26乃至29のいずれかに記載の記憶媒体。
  31. 複数のクライアントと印刷順序を管理するプリントサーバとを含む印刷システムであって、
    任意のクライアントから受け取る印刷要求に基づいて、複数の印刷ジョブをグループ化して順次印刷すべき第1の印刷ジョブと、単体の印刷ジョブとして印刷すべき第2の印刷ジョブとに識別する識別手段と、
    前記印刷要求が前記識別手段により第1の印刷ジョブと識別される印刷ジョブの印刷要求である場合に、前記印刷ジョブが含まれるグループ内の印刷ジョブの準備ができているかを判断する判断手段と、
    前記判断手段によりグループ内において印刷すべき印刷ジョブの準備ができていると判断されるグループ内の印刷ジョブの印刷制御を行い、一方、前記判断手段によりグループ内において印刷すべき印刷ジョブの準備ができていないと判断されるグループ内の印刷ジョブの印刷を保留するよう制御する制御手段と、
    印刷装置における印刷ジョブの状態を認識する認識手段と、
    前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが第2の印刷ジョブであった場合、前記第2の印刷ジョブの印刷要求を依頼したクライアントに対して印刷終了を通知し、一方、前記認識手段によって前記印刷ジョブの状態が印刷終了と認識され、前記印刷ジョブが前記第1の印刷ジョブであった場合、前記印刷ジョブを含むグループ内において全ての印刷ジョブが印刷終了状態であるか判断し、全ての印刷ジョブが印刷終了状態である場合に印刷要求を依頼した複数のクライアントに印刷終了を通知し、少なくとも1つの印刷ジョブが未印刷状態である場合に、前記グループ内において印刷終了状態である印刷ジョブの印刷を依頼したクライアントに対して印刷終了の通知を行わないよう制御する通知手段を備えることを特徴とする印刷システム。
JP2000176982A 1999-06-30 2000-06-13 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 Expired - Fee Related JP3639772B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000176982A JP3639772B2 (ja) 1999-06-30 2000-06-13 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US09/605,681 US6474881B1 (en) 1999-06-30 2000-06-28 Information processing apparatus, information processing system, print control method, and storage medium storing computer readable program
US10/241,569 US6916127B2 (en) 1999-06-30 2002-09-12 Information processing apparatus, information processing system, print control method, and storage medium storing computer readable program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-185775 1999-06-30
JP18577599 1999-06-30
JP2000176982A JP3639772B2 (ja) 1999-06-30 2000-06-13 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004272936A Division JP3919780B2 (ja) 1999-06-30 2004-09-21 情報処理装置および印刷制御方法およびコンピュータ読み出し可能な記憶媒体

Publications (2)

Publication Number Publication Date
JP2001075768A JP2001075768A (ja) 2001-03-23
JP3639772B2 true JP3639772B2 (ja) 2005-04-20

Family

ID=26503317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000176982A Expired - Fee Related JP3639772B2 (ja) 1999-06-30 2000-06-13 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Country Status (2)

Country Link
US (2) US6474881B1 (ja)
JP (1) JP3639772B2 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076027A (ja) * 1998-08-24 2000-03-14 Internatl Business Mach Corp <Ibm> 所定動作の実行方法、データ送信方法、プリンタ、下位システム、上位システム、所定動作の実行を管理する制御プログラムを格納した記録媒体、及び、データ送信を制御する制御プログラムを格納した記録媒体
JP4240690B2 (ja) * 1999-10-28 2009-03-18 キヤノン株式会社 情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体
JP3817429B2 (ja) * 2000-02-23 2006-09-06 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP3634785B2 (ja) * 2000-10-06 2005-03-30 キヤノン株式会社 情報処理装置及び方法
JP3624175B2 (ja) * 2000-10-06 2005-03-02 キヤノン株式会社 情報処理装置及び方法
US7511837B1 (en) * 2000-11-29 2009-03-31 Xerox Corporation Partial print provider
US8411298B2 (en) * 2001-01-11 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for printing device load-balancing
US7480068B2 (en) * 2001-01-11 2009-01-20 Sharp Laboratories Of America, Inc. Methods and systems for page-independent spool file sheet assembly
US20030227644A1 (en) * 2001-01-11 2003-12-11 Sharp Laboratories Of America, Inc. Methods and systems for driver independent customized printing
US20020097428A1 (en) * 2001-01-11 2002-07-25 Ferlitsch Andrew R. Methods and systems for print job interleaving
US20020089687A1 (en) * 2001-01-11 2002-07-11 Ferlitsch Andrew Rodney Methods and systems for print-processor-based printer status detection and print task distribution
US7548331B2 (en) * 2001-01-11 2009-06-16 Sharp Laboratories Of America, Inc. Methods and systems for print system component-based remote printing
US8456665B2 (en) 2001-01-11 2013-06-04 Sharp Laboratories Of America, Inc. Methods and systems for printing error recovery
US7051328B2 (en) * 2001-01-26 2006-05-23 Xerox Corporation Production server architecture and methods for automated control of production document management
US7265855B2 (en) * 2001-02-28 2007-09-04 Sharp Laboratories Of America, Inc. Priority interruptible printing system
CA2442648C (en) * 2001-05-11 2012-10-16 Pro-Virus, Inc. Oncolytic virus therapy
JP3888452B2 (ja) * 2001-07-02 2007-03-07 セイコーエプソン株式会社 ネットワークを介した印刷方法
US7324220B1 (en) * 2001-07-09 2008-01-29 Lexmark International, Inc. Print performance under the windows® operating system
US20030007171A1 (en) * 2001-07-09 2003-01-09 Simpson Shell Sterling Document production management in a distributed environment
US6961936B2 (en) * 2001-09-20 2005-11-01 Hewlett-Packard Development Company, L.P. Apparatus and method for controlling stored jobs
US6814512B2 (en) * 2001-12-21 2004-11-09 Kabushiki Kaisha Toshiba Apparatus and method for managing image forming job
JP4045800B2 (ja) * 2001-12-28 2008-02-13 コニカミノルタビジネステクノロジーズ株式会社 プリントシステム及び方法
JP3962612B2 (ja) * 2002-03-12 2007-08-22 キヤノン株式会社 情報処理装置及び情報処理装置で実行される設定方法とプログラム
US20070186216A1 (en) * 2002-05-28 2007-08-09 Mustafa Seifi Message driven job processing system and method
US20030223090A1 (en) * 2002-05-28 2003-12-04 Mustafa Seifi Method and implementation for message-driven job processing
CN100558559C (zh) * 2002-07-19 2009-11-11 精工爱普生株式会社 打印系统
JP3903024B2 (ja) * 2002-08-05 2007-04-11 キヤノン株式会社 出力管理方法及び情報処理装置
JP2004171325A (ja) * 2002-11-21 2004-06-17 Seiko Epson Corp 印刷ジョブ管理装置
JP4181890B2 (ja) * 2003-02-13 2008-11-19 キヤノン株式会社 情報処理装置、ジョブ処理方法、プログラム
JP4558340B2 (ja) * 2003-02-20 2010-10-06 オセ−テクノロジーズ・ベー・ヴエー ネットワークにおける印刷ジョブの処理システム
US7528974B2 (en) * 2003-02-28 2009-05-05 Electronics For Imaging, Inc. Methods and apparatus for providing universal print services and asynchronous message services
JP4490188B2 (ja) * 2003-07-31 2010-06-23 株式会社リコー 印刷処理装置、印刷処理システム、印刷処理装置の制御方法、印刷処理装置の制御プログラム及び記録媒体
WO2005017738A1 (ja) * 2003-08-13 2005-02-24 Fujitsu Limited 印刷制御方法、印刷制御装置および印刷制御プログラム
JP4018622B2 (ja) * 2003-12-10 2007-12-05 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム並びに記憶媒体
US20050275876A1 (en) * 2004-06-10 2005-12-15 Mclean Bruce L Method and system for server-based management of requests such as print jobs
JP4194532B2 (ja) * 2004-06-16 2008-12-10 キヤノン株式会社 情報処理装置及びジョブ転送制御方法
JP2006039908A (ja) * 2004-07-27 2006-02-09 Oki Data Corp 印刷システム
JP4468146B2 (ja) * 2004-11-25 2010-05-26 キヤノン株式会社 印刷システム及びその制御方法、印刷装置及びその制御方法、コンピュータプログラム、記憶媒体
JP4577610B2 (ja) * 2005-03-15 2010-11-10 セイコーエプソン株式会社 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法
JP4716165B2 (ja) * 2005-03-15 2011-07-06 セイコーエプソン株式会社 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法
JP2007026317A (ja) * 2005-07-20 2007-02-01 Konica Minolta Business Technologies Inc 画像形成装置及びプログラム
US8520232B2 (en) 2006-03-31 2013-08-27 Konica Minolta Laboratory U.S.A., Inc. Print job analyzing method and apparatus with print device recommendation functions
US8384927B2 (en) 2006-03-31 2013-02-26 Konica Minolta Laboratory U.S.A., Inc. Print job management method and apparatus with grouping function to group print jobs and submit groups of print jobs to printing devices
US9007603B2 (en) * 2006-03-31 2015-04-14 Konica Minolta Laboratory U.S.A., Inc. Print management method and apparatus with destination panel
US8593653B2 (en) 2006-03-31 2013-11-26 Konica Minolta Laboratory U.S.A., Inc. Print management method and apparatus with multiple views
JP4847212B2 (ja) * 2006-05-29 2011-12-28 キヤノン株式会社 情報処理装置、印刷制御方法、プログラム及びコンピュータ可読の記憶媒体
JP4666170B2 (ja) * 2006-06-20 2011-04-06 コニカミノルタビジネステクノロジーズ株式会社 画像形成システムおよび画像形成装置ならびに画像形成装置制御装置
US8743388B2 (en) * 2006-10-31 2014-06-03 Lexmark International, Inc. Access to networked peripheral device for impaired users
JP4857102B2 (ja) * 2006-12-22 2012-01-18 キヤノン株式会社 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体
JP2008201045A (ja) * 2007-02-21 2008-09-04 Brother Ind Ltd 画像形成装置
JP4372175B2 (ja) 2007-04-02 2009-11-25 キヤノン株式会社 印刷処理システム、制御装置およびその制御方法、記録媒体
US20090070660A1 (en) * 2007-09-06 2009-03-12 Poirier Arthur J System and method for manipulation of document data intercepted through port redirection
US8117617B2 (en) * 2007-11-26 2012-02-14 Xerox Corporation Energy-aware print job management
US20090323098A1 (en) * 2008-06-25 2009-12-31 Konica Minolta Systems Laboratory, Inc. Method for batch file printing and related user interface
US20090327465A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Distributed Configuration Orchestration for Network Client Management
JP2010089406A (ja) * 2008-10-09 2010-04-22 Murata Machinery Ltd 画像形成装置および印刷データ処理装置
JP2011014071A (ja) * 2009-07-06 2011-01-20 Fuji Xerox Co Ltd ジョブ管理システムおよびジョブ管理装置およびジョブ管理プログラム
JP5713557B2 (ja) * 2009-12-07 2015-05-07 キヤノン株式会社 印刷システム、制御方法、プログラム
JP5671983B2 (ja) * 2010-12-02 2015-02-18 株式会社リコー 情報処理装置、機器管理システム、情報処理方法、及び情報処理プログラム
JP5484385B2 (ja) 2011-03-30 2014-05-07 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成プログラム
JP5854667B2 (ja) * 2011-06-30 2016-02-09 キヤノン株式会社 ジョブ処理装置、ジョブ処理装置の制御方法及びプログラム
JP5411909B2 (ja) 2011-10-31 2014-02-12 シャープ株式会社 印刷装置、印刷システム、プリンタドライバ及び印刷方法
JP6065462B2 (ja) * 2012-08-27 2017-01-25 株式会社リコー 出力制御装置、システム及びプログラム
JP5786835B2 (ja) * 2012-10-03 2015-09-30 コニカミノルタ株式会社 印刷システム、印刷装置およびその制御方法、ならびにコンピュータプログラム
JP2014141003A (ja) * 2013-01-23 2014-08-07 Canon Inc 画像形成装置及びその制御方法、並びにプログラム
JP2015103149A (ja) * 2013-11-27 2015-06-04 キヤノン株式会社 管理システムおよび管理システムの制御方法
JP6347271B2 (ja) * 2016-04-19 2018-06-27 カシオ計算機株式会社 印刷装置、印刷ジョブ管理方法、及びプログラム
JP7427865B2 (ja) * 2019-02-22 2024-02-06 ブラザー工業株式会社 情報表示プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528375A (en) * 1994-04-20 1996-06-18 Xerox Corporation Apparatus for and method of scheduling and printing a job in a printing machine
EP0854415B1 (en) 1996-12-27 2004-05-19 Canon Kabushiki Kaisha Printing system
US6252681B1 (en) * 1997-04-14 2001-06-26 Xerox Corporation Multifunctional printing system with queue management
US5970224A (en) * 1997-04-14 1999-10-19 Xerox Corporation Multifunctional printing system with queue management
JPH11119940A (ja) 1997-10-16 1999-04-30 Ricoh Co Ltd 印刷制御方式

Also Published As

Publication number Publication date
US20030007819A1 (en) 2003-01-09
US6916127B2 (en) 2005-07-12
JP2001075768A (ja) 2001-03-23
US6474881B1 (en) 2002-11-05

Similar Documents

Publication Publication Date Title
JP3639772B2 (ja) 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP4420421B2 (ja) 情報処理装置およびその制御方法
JP3634783B2 (ja) 印刷システム及び印刷データ処理方法
EP1501008B1 (en) Imformation processing apparatus, information processing method, program, and computer-readable storage medium
JP7086754B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP4669895B2 (ja) 印刷制御装置、印刷制御方法、及びプログラム
US20040036908A1 (en) Information processing apparatus, print system, printing control method for information processing apparatus, and printing control program
JP4194532B2 (ja) 情報処理装置及びジョブ転送制御方法
EP1710682A2 (en) A print controller with function for guaranteeing the order of print requests received, and a control method therefor
JP3774702B2 (ja) 印刷制御プログラム及び情報処理装置
JP3833213B2 (ja) 情報処理装置、印刷システム、負荷分散印刷方法、及びプログラム並びに記憶媒体
EP2192481A2 (en) Information processing apparatus, information processing method, program thereof, medium storing program, and information processing system
JP3634785B2 (ja) 情報処理装置及び方法
JP2008059372A (ja) 印刷制御装置およびその方法
JP3840035B2 (ja) 印刷制御装置及び方法及び印刷システム
JP2003316545A (ja) 情報処理装置及び方法
JP3919780B2 (ja) 情報処理装置および印刷制御方法およびコンピュータ読み出し可能な記憶媒体
JP3984774B2 (ja) 印刷制御装置及び方法及び印刷システム
JP4078292B2 (ja) 情報処理装置、情報処理方法およびプログラム並びにコンピュータ読み取り可能な記憶媒体
JP2012221334A (ja) 画像形成システムとその処理方法、画像形成装置、印刷管理サーバー、プリントサーバ、御方法及びプログラム
JP4164479B2 (ja) 印刷制御プログラム、及び、処理方法、及び、記憶媒体、及び、情報処理装置、並びに、印刷システム
JP3740448B2 (ja) 制御装置、制御方法、プログラム及び記憶媒体
JP4194593B2 (ja) 印刷制御装置及びその制御方法と記憶媒体
JP3884949B2 (ja) ジョブ管理方法及び情報処理装置及びプログラム並びに記憶媒体
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050117

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees