(57)【要約】【課題】  負荷分散印刷において自動代行処理が繰り返されても１つの印刷ジョブが他のジョブを挟んでしまうことを回避する負荷分散機能を持つ情報処理装置等を提供することを目的とする。【解決手段】  複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理装置であって、印刷ジョブを送信後この印刷ジョブの印刷処理を実行する実行プリンタの状態を監視し、複数のプリンタのうち、印刷ジョブを送信したことのある送信済プリンタを管理する。そして、実行プリンタに所定のエラー発生が認識された場合に、送信済プリンタとして管理されているプリンタ以外のプリンタを代行可能プリンタとして選択する。この代行可能プリンタの中から代行プリンタを選択して、印刷ジョブを処理する。【選択図】  図１３
2005173921.tif 000002
【特許請求の範囲】
【請求項１】
複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理装置であって、
前記印刷ジョブを送信後、この印刷ジョブの印刷処理を実行する実行プリンタの状態を監視する状態監視手段と、
前記複数のプリンタのうち、前記印刷ジョブを送信したことのある送信済プリンタを管理する送信済プリンタ管理手段と、
前記状態監視手段によって前記実行プリンタに所定のエラー発生が認識された場合に、前記送信済プリンタ管理手段によって管理されている前記送信済プリンタ以外のプリンタを代行可能プリンタとして選択する代行可能プリンタ選択手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記送信済プリンタ管理手段は、プリンタの能力に従って、前記送信済プリンタとして登録するタイミングを異ならしめることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記送信済プリンタ管理手段は、前記印刷ジョブの送信先のプリンタがジョブ削除機能を有するときには、このプリンタで印刷処理が開始されることを条件として、このプリンタを前記送信済みプリンタとして登録することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記送信済みプリンタ管理手段は、１つの印刷ジョブ毎に送信済みプリンタを管理するものであり、
１つの印刷ジョブについて代行印刷が行われる毎に送信済みプリンタを追加することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記複数のプリンタの全てが、前記転送済プリンタ管理手段によって転送済プリンタとして管理されている場合には、前記制御手段は、手動代行印刷処理を実行するようにすることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
さらに、前記複数のプリンタのそれぞれに対応したプリンタキュー手段を有し、
このプリンタキュー手段は、印刷データを有する前記印刷ジョブである実ジョブを管理する実ジョブキューと、前記実ジョブと関連付けられ、ジョブ情報を含む仮想ジョブを管理する仮想キューを備えていることを特徴とする請求項１乃至５のいずれか1項に記載の情報処置装置。
【請求項７】
前記制御手段は、前記代行プリンタにおける前記仮想キューに前記仮想ジョブを発生させることを特徴とする請求項6に記載の情報処理装置。
【請求項８】
前記制御手段は、前記代行プリンタが印刷可能であると判断された場合に、前記仮想キューに存在する前記仮想ジョブを前記実ジョブキューの実ジョブに切り替え、
前記転送済プリンタ管理手段は、前記仮想ジョブから前記実ジョブへの切り替えが発生したときに、対応する前記代行プリンタを前記転送済プリンタとして管理することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記制御手段は、前記仮想ジョブから前記実ジョブへの切り替えが発生した場合、他の代行プリンタで生成された仮想ジョブを削除することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理装置を備える印刷システムであって、
前記印刷ジョブを送信後、この印刷ジョブの印刷処理を実行する実行プリンタの状態を監視する状態監視手段と、
前記複数のプリンタのうち、前記印刷ジョブを送信したことのある送信済プリンタを管理する送信済プリンタ管理手段と、
前記状態監視手段によって前記実行プリンタに所定のエラー発生が認識された場合に、前記送信済プリンタ管理手段によって管理されている前記送信済プリンタ以外のプリンタを代行可能プリンタとして選択する代行可能プリンタ選択手段と、
を備えることを特徴とする印刷システム。
【請求項１１】
複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理方法であって、
前記印刷ジョブを送信後、この印刷ジョブの印刷処理を実行する実行プリンタの状態を監視する状態監視工程と、
前記複数のプリンタのうち、前記印刷ジョブを送信したことのある送信済プリンタを管理する送信済プリンタ管理工程と、
前記状態監視工程において前記実行プリンタに所定のエラー発生が認識された場合に、前記送信済プリンタ管理工程によって管理されている前記送信済プリンタ以外のプリンタを代行可能プリンタとして選択する代行可能プリンタ選択工程と、
を備えることを特徴とする情報処理方法。
【請求項１２】
複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理を制御する制御プログラムであって、
前記印刷ジョブを送信後、この印刷ジョブの印刷処理を実行する実行プリンタの状態を監視する状態監視工程を実現するコードと、
前記複数のプリンタのうち、前記印刷ジョブを送信したことのある送信済プリンタを管理する送信済プリンタ管理工程を実現するコードと、
前記状態監視工程において前記実行プリンタに所定のエラー発生が認識された場合に、前記送信済プリンタ管理工程によって管理されている前記送信済プリンタ以外のプリンタを代行可能プリンタとして選択する代行可能プリンタ選択工程を実現するコードと、
を備えることを特徴とする制御プログラム。
【請求項１３】
前記送信済プリンタ管理工程では、プリンタの能力に従って、前記送信済プリンタとして登録するタイミングが異なるようになされることを特徴とする請求項１２記載の制御プログラム。
【請求項１４】
前記送信済プリンタ管理工程では、前記印刷ジョブの送信先のプリンタがジョブ削除機能を有するときには、このプリンタで印刷処理が開始されることを条件として、このプリンタが前記送信済みプリンタとして登録されることを特徴とする請求項１３に記載の制御プログラム。
【請求項１５】
前記送信済みプリンタ管理工程では、１つの印刷ジョブ毎に送信済みプリンタが管理され、１つの印刷ジョブについて代行印刷が行われる毎に送信済みプリンタが追加されることを特徴とする請求項１２乃至１４のいずれか１項に記載の制御プログラム。
【請求項１６】
前記複数のプリンタの全てが、前記転送済プリンタ管理工程において転送済プリンタとして管理されている場合には、前記制御工程では、手動代行印刷処理が実行されるようになされることを特徴とする請求項１２乃至１５のいずれか１項に記載の制御プログラム。
【請求項１７】
さらに、前記複数のプリンタは、対応したプリンタキューを有し、
このプリンタキューは、印刷データを有する前記印刷ジョブである実ジョブを管理する実ジョブキューと、前記実ジョブと関連付けられ、ジョブ情報を含む仮想ジョブを管理する仮想キューを備えていることを特徴とする請求項１２乃至１６のいずれか1項に記載の制御プログラム。
【請求項１８】
前記制御工程では、前記代行プリンタにおける前記仮想キューに前記仮想ジョブが発生するようになされることを特徴とする請求項１７に記載の制御プログラム。
【請求項１９】
前記制御工程では、前記代行プリンタが印刷可能であると判断された場合に、前記仮想キューに存在する前記仮想ジョブが前記実ジョブキューの実ジョブに切り替わり、
前記転送済プリンタ管理工程では、前記仮想ジョブから前記実ジョブへの切り替えが発生したときに、対応する前記代行プリンタが前記転送済プリンタとして管理されることを特徴とする請求項１８に記載の制御プログラム。
【請求項２０】
前記制御工程では、前記仮想ジョブから前記実ジョブへの切り替えが発生した場合、他の代行プリンタで生成された仮想ジョブが削除されることを特徴とする請求項１９に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散印刷処理機能を有する情報処理装置等に関するものである。
【背景技術】
【０００２】
複数のプリンタデバイスにおける負荷分散印刷処理では、複数のデバイスの中で一番早くスケジュールUPを受け付けたジョブをプリンタデバイスに転送し、プリンタデバイスにおいて「紙なし」や「ジャム」などのエラーにより印刷が失敗した場合、自動的に負荷分散を繰り返す自動代行処理を行うことで効率のよい並列処理を実現している。
このようなに、複数プリンタ間で代行印刷を行うように制御する印刷システムは、例えば、特開２００１−５６７５１号公報や特開２０００−３０５７３６号公報に開示されている。
【特許文献１】特開２００１−５６７５１号公報
【特許文献２】特開２０００−３０５７３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記のプリントシステムでは、負荷分散において自動代行処理が繰り返されることにより、１つの印刷ジョブが同一（１つ）のプリンタデバイスへ複数回印刷され、他の印刷ジョブを挟んでしまうという課題がある。
【０００４】
本発明は上述のような課題に鑑み、負荷分散印刷において自動代行処理が繰り返されても１つの印刷ジョブが他のジョブを挟んでしまうことを回避する負荷分散機能を持つ情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明による情報処理装置は、複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理装置であって、前記印刷ジョブを送信後、該印刷ジョブの印刷処理を実行する実行プリンタの状態を監視する状態監視手段と、前記複数のプリンタのうち、前記印刷ジョブを送信したことのある送信済プリンタを管理する送信済プリンタ管理手段と、前記状態監視手段によって前記実行プリンタに所定のエラー発生が認識された場合に、前記送信済プリンタ管理手段によって管理されている前記送信済プリンタ以外のプリンタを代行可能プリンタとして選択する代行可能プリンタ選択手段と、を備えることを特徴とする。
また、本発明による印刷システムは、複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理装置を備える印刷システムであって、前記印刷ジョブを送信後、この印刷ジョブの印刷処理を実行する実行プリンタの状態を監視する状態監視手段と、前記複数のプリンタのうち、前記印刷ジョブを送信したことのある送信済プリンタを管理する送信済プリンタ管理手段と、前記状態監視手段によって前記実行プリンタに所定のエラー発生が認識された場合に、前記送信済プリンタ管理手段によって管理されている前記送信済プリンタ以外のプリンタを代行可能プリンタとして選択する代行可能プリンタ選択手段と、を備えることを特徴とする。
【０００６】
さらに、本発明による情報処理方法は、複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理方法であって、前記印刷ジョブを送信後、この印刷ジョブの印刷処理を実行する実行プリンタの状態を監視する状態監視工程と、前記複数のプリンタのうち、前記印刷ジョブを送信したことのある送信済プリンタを管理する送信済プリンタ管理工程と、前記状態監視工程において前記実行プリンタに所定のエラー発生が認識された場合に、前記送信済プリンタ管理工程によって管理されている前記送信済プリンタ以外のプリンタを代行可能プリンタとして選択する代行可能プリンタ選択工程と、を備えることを特徴とする。
【０００７】
また、本発明による制御プログラムは、複数のプリンタのいずれかで印刷すべき印刷ジョブを生成する情報処理を制御する制御プログラムであって、前記印刷ジョブを送信後、この印刷ジョブの印刷処理を実行する実行プリンタの状態を監視する状態監視工程を実現するコードと、前記複数のプリンタのうち、前記印刷ジョブを送信したことのある送信済プリンタを管理する送信済プリンタ管理工程を実現するコードと、前記状態監視工程において前記実行プリンタに所定のエラー発生が認識された場合に、前記送信済プリンタ管理工程によって管理されている前記送信済プリンタ以外のプリンタを代行可能プリンタとして選択する代行可能プリンタ選択工程を実現するコードと、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、負荷分散印刷において自動代行が発生した場合に、過去に印刷ジョブが送信されたプリンタデバイスへの印刷ジョブの送信を回避するようにしたので、１つのジョブが他のジョブを挟んでしまうという課題を解決することが可能である。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１０】
＜＜第１の実施の形態＞＞
＜システム構成＞
図１は、本発明の印刷システムの構成を示すブロック図である。なお、本システムにおけるネットワークプリンタは、複数台接続されていることを仮定している。
【００１１】
図１において、１０２、１０３、１０４、１０５は印刷制御装置であるネットワークプリンタであり、図示省略したネットワークインタフェースを介してネットワーク１０６と接続されており、１０１サーバコンピュータから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して１ページ毎に印刷する。プリンタ１０２、１０３、１０４、１０５としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、様々な方式のものに適応できることも無論想定される。
【００１２】
１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。
プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理している。構成としては、プリントサーバ１０１は、一般的な情報処理装置であり、印刷制御プログラムが実行可能に格納されている。
【００１３】
１０６はネットワークであり、サーバ１０１、ネットワークプリンタ１０２、１０３、１０４、１０５等と接続している。
【００１４】
＜情報処理装置の構成＞
図２は、図１に示した情報処理装置の構成を説明するブロック図であり、情報処理装置で、サーバ１０１も同様あるいは同等のハードウエア構成とする。よって、サーバの構成を説明するブロック図として説明する。
【００１５】
同図において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００１６】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリやワークエリア等として機能する。
【００１７】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。  
なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００１８】
２０４は記憶媒体であるフロッピー（登録商標）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００１９】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。
【００２０】
スプール手段は、プリントサーバ１０１ではサーバスプーラのことである。
２０６は指示入力手段であるキーボードであり、ユーザががプリントサーバ１０１に対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００２１】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタ１０２〜１０５の状態等を表示したりするものである。２０８はシステムバスであり、プリントサーバ１０１であるコンピュータ内のデータの流れを司るものである。
【００２２】
２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２３】
＜メモリマップ等の説明＞
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２４】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラム及び関係データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００２５】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２６】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、プリントサーバ１０１において、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。
【００２７】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００２８】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００２９】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【００３０】
同図において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関係データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施形態では、サーバ１０１に同様の構成を採っている。
【００３１】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。
【００３２】
同図において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラム及び関係データを格納している。
【００３３】
＜印刷ジョブ制御システム＞
次に、本実施形態における、プリンタを複数台使用して、前述の負荷分散といった印刷処理を行う印刷ジョブ制御システムについて説明する。なお、この印刷ジョブ制御システムの印刷処理は、上述した印刷制御プログラムで実行される。
【００３４】
＜印刷ジョブの処理＞
図６は、アプリケーションから発行された印刷ジョブの処理を示す図であり、本システムのクライアントサーバモデルにおいてＭｉｃｒｏＳｏｆｔＷｏｒｄ（登録商標）などの一般的なアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを表している。
【００３５】
同図において、６００はサーバで、印刷ジョブ制御システムのモジュールが動作するマシンを指す（サーバ１０１に相当）。
【００３６】
通常、印刷の指示がされるとアプリケーションプログラム６０１はＯＳのグラフィック機能を介して一連の描画命令を生成させ、プリンタドライバを経てＷｉｎｄｏｗｓ（登録商標）スプーラ６０４に渡される。Ｗｉｎｄｏｗｓ（登録商標）スプーラ６０４は、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順を採る。
【００３７】
本実施形態では、ユーザは予め印刷ジョブ制御システム用のポートモニタ（以下、ジョブ制御ポートモニタと記す）６２１を指定して印刷を指示する。アプリケーションプログラム６０１は一連のＯＳを介して描画命令を生成する。
【００３８】
描画命令を受け取ったPDLプリンタドライバ６０２では、印刷データを生成し、プリンタデバイスへプリントジョブデータを送信するポートモニタではなく、ジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。ジョブ制御ポートモニタ６２１はプリントジョブデータをプリンタデバイス６５０に送信するのではなく、印刷ジョブ制御システム用のプリントサービス（以下、ジョブ制御プリントサービスと記す）６２２に送信する。ジョブ制御プリントサービス６２２はジョブ／デバイスの状態を管理する機能を備える。
【００３９】
さらに、デバイスとクライアントＰＣがピアツーピア接続環境で互いに動作するような場合には、ジョブ制御プリントサービス６２２はデバイスから通知されるデバイス状態やジョブの状態などの情報を管理したり、また、デバイスに対して所定の命令をする機能も備える。これは、複数のプリンタデバイス６５０のデバイス情報やジョブ情報を管理する機能に相当する。
【００４０】
印刷ジョブ制御システム用プリントマネージャ（以下、ジョブ制御プリントマネージャと記す）６２３は、ユーザがジョブ制御プリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェース（ＵＩ）を提供するプログラムである。
【００４１】
ジョブ制御プリントマネージャ６２３はジョブ制御プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ）を介して、ジョブ制御プリントサービス６２２と情報の送受信を実行し、主に、ジョブ制御プリントサービス６２２が管理する外部のプリンタデバイスの状態情報をイベントとして取得する機能を備える。イベントの通知の種別としては、トナー残量が少なくなった警告、クライアントとデバイスとの通信障害、メモリ不足、排紙トレイ満載などのエラー／警告情報の通知や、エラー状態から正常状態に復帰した正常情報の通知などが想定される。
【００４２】
ジョブ制御プリントサービス６２２はネットワークを介して通信可能な各デバイス（印刷装置）の印刷実行中、電力制御状態、障害情報（紙ジャム）等のステータスを監視する機能を備える。
【００４３】
印刷ジョブ制御システム用のマネージメントコンソール６３３（以降、ジョブ制御マネージメントコンソールと略記）は、ジョブ制御プリントサービス６２２が持つソフトウェアがアクセスするためのＡＰＩを介してジョブ制御プリントサービス６２２と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００４４】
また、ジョブ制御プリントサービス６２２は、デバイス情報コントロールモジュール６３１を用いて各プリンタデバイス６５０と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。
【００４５】
＜印刷アプリケーション６０１からの印刷＞
次に、本実施形態に印刷アプリケーション６０１からの印刷について説明する。
【００４６】
PDLプリンタドライバ６０２はアプリケーションプログラム６０１が生成した一連の描画コマンドをプリンタデバイス６５０で解釈可能なＰＤＬファイルにする。
このPDLファイルは前述したようにＷｉｎｄｏｗｓ（登録商標）スプーラ６０４からジョブ制御ポートモニタ６２２を経て（図６の（ａ））、ジョブ制御プリントサービス６２２に導かれる（図６の（ｂ））。
【００４７】
ジョブ制御プリントサービス６２２はこのプリントジョブに対して行うジョブ制御の種類に応じて、プリントジョブの動作を制御する。
図６では、ジョブ制御プリントサービス６２２で負荷分散印刷制御が行われる場合において、プリントジョブはプリンタデバイス６５０が送信可能になると送信されるが、送信可能になるタイミングが早いほうに送信される。複数のプリントジョブが発生すると送信可能な複数のプリンタデバイスにプリントジョブが送信される例を二つの矢印（ｃ）（ｄ）で示している。
【００４８】
また、一般的なＷｉｎｄｏｗｓ（登録商標）プリントシステムにおいて、PDLプリンタドライバ６０２はアプリケーションプログラム６０１が生成した一連の描画コマンドをプリンタデバイス６５０で解釈可能なＰＤＬファイルにする。このPDLファイルは前述したようにＷｉｎｄｏｗｓ（登録商標）スプーラ６０４からＷｉｎｄｏｗｓ（登録商標）ジョブ制御ポートモニタ６６０を経て（図６の（ｅ））、プリンタデバイス６５０に送信（転送）される（図６のｆ））。
【００４９】
＜Ｗｉｎｄｏｗｓ（登録商標）プリントシステムと印刷ジョブの関係＞
次に、図７でＷｉｎｄｏｗｓ（登録商標）が提供するプリントシステムと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。
【００５０】
図７中で印刷ジョブ制御サービス６２２は、サーバ１０１の制御プログラムが動作する印刷ジョブ制御システムを示している。
本実施形態では、実際のプリントジョブデータはジョブ制御プリントサービス６２２に保持され、アプリケーションが選択したＰＤＬドライバ６０２に対応したプリンタデバイス６５０に、ジョブ制御プリントサービス６２２はプリントジョブデータをデバイス６５０に送信する。
【００５１】
次に、印刷ジョブ制御サービス６２２が、負荷分散の付加価値的な印刷を行う場合の処理を説明する。
【００５２】
印刷ジョブ制御サービス６２２が、負荷分散印刷の付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション６０１は、負荷分散印刷の設定を持つプリンタに印刷ジョブを発行しなければならない。
【００５３】
アプリケーション６０１が印刷処理を開始すると、グループプリンタドライバ６０３は、ジョブ制御プリントサービス６２２のロジカルキュー情報（後述）を取得し、印刷プロパティで参照できる情報を、汎用印刷ファイルに設定する。
【００５４】
ジョブ制御プリントサービス６２２は、ＰＤＬドライバ６０２によって処理されたジョブデータをジョブ制御ポートモニタ６０４を介してＰＤＬファイルとして受け取る。
ジョブ制御プリントサービス６２２はこのジョブを受け取り、ジョブデータは自身のプリンタキュー７０１で一時保持し、後述する方式により、プリンタキューに対応するプリントデバイスや、バックアッププリンタキュー７０１Ａ，７０１Ｂにプリントジョブを振り分け、その後、プリントデバイス６５０に送信する。
【００５５】
＜各種の情報と代行条件等の内容＞
（プリンタキューの実ジョブキューと仮想ジョブキュー）
図８は、プリンタキュー７０１内の実ジョブキュー８０１と仮想ジョブキュー８０２を示す図である。実ジョブキュー８０１と仮想ジョブキュー８０２は、負荷分散印刷処理を行う場合に使用する、プリントジョブを管理するキューである。
実ジョブは印字データをもつ印刷ジョブで、実ジョブキューで管理される。また、仮想ジョブは実ジョブと関連のあるジョブで、ジョブ情報のみのジョブであり、仮想ジョブキューで管理される。
【００５６】
図９は、プリンタキュー７０１で受付た印刷ジョブの動作を決めるプリントキュー情報を示す図である。
【００５７】
ここで、プリントキュー情報の設定内容の、プリンタ名、プリンタドライバ名、プリントタイプ、及びバックアッププリンタ名について説明する。
プリンタ名は、Ｗｉｎｄｏｗｓ（登録商標）のプリンタオブジェクトの名前を示しており、プリンタオブジェクト毎に異なる名前であり、プリンタオブジェクトを識別することができる。
【００５８】
プリンタドライバ名は、プリンタオブジェクトに設定されているプリンタドライバの名前である。
プリントタイプは、プリンタキューで受け付けた印刷ジョブの動作を決定する設定である。
【００５９】
バックアッププリンタ名は、負荷分散印刷処理などの場合に使用される負荷分散印刷するためのプリンタの名前である。
【００６０】
プリントタイプに負荷分散印刷の設定がなされていて、プリンタキュー７０１で印刷ジョブを受け付けると、後述する方式によって受け付けたプリンタキュー（負荷分散プリンタキューとする）とプリンタキュー情報に設定されている複数のバックアッププリンタの中から、先に転送可能なプリンタに印刷ジョブを移動し、複数のプリンタの中で印刷の負荷を分散する処理を行う。
【００６１】
（実ジョブ情報）
図１０は、プリンタキュー７０１の実ジョブキューに登録される印刷ジョブの情報を示す図である。
【００６２】
実ジョブは、印字データをもつ印刷ジョブであり、出力ポートに送られて実際に転送処理が行われプリンタで出力される印刷ジョブである。実ジョブ情報は、プリンタキュー７０１で受け付けられた印刷ジョブに設定されるもので、印刷ジョブを処理するための情報である。
【００６３】
以下、実ジョブ情報の設定内容のドキュメント名、ジョブＩＤ、プリントタイプ、実行タイプ、First Printer名、バックアッププリンタ名、仮想ジョブＩＤ、先頭ジョブマーク、送信済みプリンタ名（自動代行非候補プリンタ名）について説明する。
【００６４】
ドキュメント名はアプリケーション７０１が印刷するジョブの名前である。
ジョブＩＤは印刷ジョブに割り振られる任意のＩＤでジョブを識別するためのＩＤである。
【００６５】
プリンタキュー７０１が印刷ジョブを受け付けるとそのジョブにジョブＩＤを割り当てる。
【００６６】
プリントタイプは、印刷ジョブの動作を決定する情報で、負荷分散印刷などの情報が設定される。プリンタキュー７０１が印刷ジョブを受け付けると、プリントキュー情報のプリントタイプから情報を取得し実ジョブ情報のプリントタイプに設定する。
【００６７】
実行タイプは、印刷ジョブのタイプを表す情報で、プリンタデバイス６５０でパスワードを入力しなければ印刷できないパスワード入力ジョブ、暗号化されたセキュアジョブ、プリンタデバイス６５０で出力する直前にオフラインになるオフラインジョブ、プリンタデバイス６５０のＨＤに保存される保存ジョブなどのタイプが設定される。これは、プリンタドライバからジョブのタイプの通知を受け付けたり、アプリケーションからジョブのタイプの通知を受け付けたりした場合に設定する項目である。また、印刷データを解析してジョブのタイプを判別し設定する場合もある。
【００６８】
First Printer名は印刷アプリケーション６０１から印刷指示されたプリンタデバイス６５０に対するプリンタオブジェクトの名前を示しており、プリンタキュー７０１が印刷ジョブを受け付けると、プリントキュー情報のプリンタ名から情報を取得し実ジョブ情報のFirst Printer名に設定する。
【００６９】
バックアッププリンタ名は、負荷分散印刷処理などの場合に使用される負荷分散印刷するためのプリンタの名前であり、プリンタキュー７０１が印刷ジョブを受け付けると、プリントキュー情報のバックアッププリンタ名から情報を取得し実ジョブ情報のバックアッププリンタ名に設定する。複数のバックアッププリンタが存在する場合には、バックアッププリンタ名は複数設定される。
【００７０】
仮想ジョブＩＤは、負荷分散印刷処理を行う場合に作成される仮想ジョブのＩＤを設定する。複数の仮想ジョブが発生する場合には、仮想ジョブＩＤは複数設定される。
先頭ジョブマークは、プリンタデバイス６５０で管理されている印刷ジョブの先頭を現すマークである。
【００７１】
送信済みプリンタ名（自動代行非候補プリンタ名）は、実ジョブを送信したプリンタの名前を設定する。また、複数の送信済みプリンタが存在する場合には、送信済みプリンタは複数設定される。
【００７２】
図１１は、プリンタキュー７０１の仮想ジョブキューに登録される印刷ジョブの情報を示す図である。
【００７３】
仮想ジョブ情報は印字データを持たない仮想ジョブの情報であり、負荷分散の実ジョブと関連する仮想ジョブの情報で、負荷分散印刷処理でスケジュール管理するために必要な情報である。
【００７４】
以下、仮想ジョブ情報の設定内容のドキュメント名、ジョブＩＤ、プリントタイプ、実ジョブＩＤについて説明する。
【００７５】
ドキュメント名は、仮想ジョブに対応する実ジョブのドキュメント名であり、仮想ジョブが作られるときに、実ジョブ情報からコピーされる情報である。
ジョブＩＤは仮想ジョブを識別するためのＩＤで、仮想ジョブが作成されるときに設定される情報である。
【００７６】
プリントタイプは、仮想ジョブに対応する実ジョブのプリントタイプであり、仮想ジョブが作成されるときに、実ジョブ情報のプリントタイプからコピーされる情報である。
実ジョブＩＤは、仮想ジョブと関連する実ジョブのＩＤであり、仮想ジョブが作成されるときに設定される情報である。
【００７７】
＜本実施形態の負荷分散処理＞
本実施形態では、ある印刷ジョブについての印刷処理で、プリンタデバイス６５０Ａでエラーが発生した場合、この印刷ジョブについて過去に印刷を行ったプリンタデバイスでの自動代行印刷を回避することにより、１つの印刷ジョブが１つのプリンタデバイスへ繰り返し送信されることを回避する負荷分散印刷を実現する。
【００７８】
図１２は、負荷分散印刷処理における、自動代行発生から仮想ジョブ作成までの処理を示すフローチャートである。
【００７９】
図１３は、図１２のフローチャートの処理を説明した図である。図１３では、プリンタキュー７０１の実ジョブキュー８０１にジョブIDが１の実ジョブ、バックアッププリンタ７０１Aの実ジョブキュー８０１AにジョブIDが７の実ジョブがあり、プリンタデバイス６５０Aへ印刷データを転送後、プリンタデバイス６５０Aにおいてエラーが発生したという前提で説明している。
【００８０】
ステップＳ１２０１では、プリンタデバイス６５０Ａにおいて「紙なし」や「ジャム」などのエラーにより、自動代行が発生する。
【００８１】
ステップＳ１２０２では、実ジョブ情報のFirst Printer名を取得し、ステップＳ１２０３では実ジョブ情報の送信済みプリンタ名（自動代行非候補プリンタ名）が取得される。
【００８２】
ステップＳ１２０４では、送信済みプリンタ名（自動代行非候補プリンタ名）の中にFirst Printer名が含まれているかが判断される。First Printer名が含まれていればステップＳ１２０９に移行し、含まれていなければステップＳ１２０５へ移行する。
【００８３】
ステップＳ１２０５では、First Printerのステータスが取得され、First Printerで印刷可能か否かが判断される。印刷可能の場合には、処理はステップＳ１２０６に進み、印刷不可能の場合には処理はステップＳ１２０９に進む。
【００８４】
ステップＳ１２０６では、First Printerの仮想ジョブ情報が作成され、各情報が設定される。
【００８５】
ドキュメント名については、実ジョブ情報のドキュメント名から情報が取得され、設定される。ジョブID は仮想ジョブ情報を作成するときに生成し設定される。プリントタイプは、実ジョブ情報のプリントタイプの情報から取得され設定される。実ジョブID は実ジョブ情報のジョブIDから取得し設定される。
【００８６】
ステップＳ１２０７では、実ジョブ情報の仮想ジョブIDに仮想ジョブ情報のジョブIDが設定される。
【００８７】
ステップＳ１２０８では、仮想ジョブ情報が仮想ジョブキュー８０２に登録される（図１３のジョブID８のジョブ）。ステップＳ１２０８の処理が終了すると、処理はステップＳ１２１７に移行する。
【００８８】
一方、ステップＳ１２０４でＹｅｓの場合、及びステップＳ１２０５で不可能であると判断された場合には、処理はステップＳ１２０９に移行するが、ステップＳ１２０９では、実ジョブ情報のバックアッププリンタ名が取得され、取得後ステップＳ１２１０へ処理が進む。  
ステップＳ１２１０では実ジョブ情報の送信済みプリンタ名（自動代行非候補プリンタ名）が取得され、取得後処理はステップＳ１２１１に進む。
【００８９】
ステップＳ１２１１では、送信済みプリンタ名（自動代行非候補プリンタ名）の中にバックアッププリンタ名が含まれているかが判断される。バックアッププリンタ名が含まれていればステップＳ１２１６に移行し、含まれていなければステップＳ１２１２へ移行する。
【００９０】
ステップＳ１２１２では、バックアッププリンタのステータスが取得され、そのバックアッププリンタで印刷可能かが判断される。印刷可能な場合、処理はステップＳ１２１３へ移行し、印刷不可能である場合には処理はステップＳ１２１６へ移行する。
【００９１】
ステップＳ１２１１では、バックアッププリンタの仮想ジョブ情報が作成され、各情報が設定される。ドキュメント名については、実ジョブ情報のドキュメント名から情報が取得され設定される。ジョブID は仮想ジョブ情報を作成するときに生成され設定される。プリントタイプは、実ジョブ情報のプリントタイプの情報から取得され設定される。実ジョブID は実ジョブ情報のジョブIDから取得され設定される。
【００９２】
ステップＳ１２１４では、実ジョブ情報の仮想ジョブIDに仮想ジョブ情報のジョブIDが設定される。
【００９３】
ステップＳ１２１５では、仮想ジョブ情報が仮想ジョブキュー８０２Bに登録される（図１３のジョブID９のジョブ）。ステップＳ１２０５の処理後は、処理はステップＳ１２１７へ移行する。
【００９４】
ステップＳ１２１６にはステップＳ１２１１から処理が移行してくるが、ここでは、ステップＳ１２０９で取得したバックアッププリンタが残っているか判断され、残っていれば、処理はステップＳ１２１０に戻る。残っていなければ、処理はステップＳ１２１７に移行する。
【００９５】
ステップＳ１２１７では、ステップＳ１２０６またはステップＳ１２１３において仮想ジョブが作成されたかが判断される。仮想ジョブが作成されていればステップＳ１２１９へ移行し、作成されていなければステップＳ１２１８移行する。ステップＳ１２１８では、手動代行処理が行われる。
【００９６】
ステップＳ１２１９では、実ジョブと作成した仮想ジョブのスケジュール要求が発行される。
【００９７】
図１３では、ステップＳ１２０９で取得されたバックアッププリンタが1つであり、First Printer名、バックアッププリンタ名がともに送信済みプリンタ名（自動代行非候補プリンタ名）に設定されていない場合を想定して説明しているため、仮想ジョブ情報は、２つ作成され、夫々、仮想ジョブキュー８０２、８０２BにジョブIDが８と９の仮想ジョブが作成され、実ジョブ（ジョブID が７）の実ジョブ情報の仮想ジョブには、８と９のジョブIDが設定される。また、ジョブIDが８と９の仮想ジョブ情報の実ジョブIDには、７が設定される。
【００９８】
図１４は、各プリンタキュー７０１に対するスケジュール処理を示す図である。
ステップＳ１４０１では、各プリンタキューのスケジュールの管理を行っており、スケジュール要求、印刷ジョブの送信完了、印刷ジョブの削除、印刷ジョブの完了などのアクションが監視されている。各プリンタキューに対する、上記アクションが発生すると、ステップＳ１４０２に処理が移行し、アクションが発生しない場合は、ステップＳ１４０１で待機処理を行う。
【００９９】
ステップＳ１４０２において、上記アクションが発生したプリンタキュー８０１が確認され、実ジョブキュー８０１、仮想ジョブキュー８０２の順に検索し、ジョブ情報が存在していればステップＳ１４０３に処理が移行され、ジョブ情報が無ければステップＳ１４０１に移行される。
【０１００】
ステップＳ１４０３において、プリンタキュー７０１に対応するプリンタデバイス６５０の動作ステータスが取得され、ステップＳ１４０４においてプリンタデバイス６５０に印刷データを転送可能かどうかが判断される。
【０１０１】
ステップＳ１４０４において、プリンタデバイスに印刷データを転送可能であると判断されれば、ステップＳ１４０５に処理が移行し、転送不可能であれば、処理はステップＳ１２０１（図１２）に移行する。
【０１０２】
ステップＳ１４０５において、ステップＳ１４０２で見つけたジョブに対して、スケジュールUP要求が発行され、処理がステップＳ１４０１に移行する。
図１５は、負荷分散印刷処理のプリントキュー７０１の処理における、スケジュールUP要求を受け付けてから、プリンタデバイス６５０に印刷データを送信する処理について示すフローチャートである。
【０１０３】
負荷分散印刷では、実ジョブと、バックアッププリンタの仮想ジョブキューに登録された仮想ジョブが作成され、これらのジョブの中で早くスケジュールUP要求を受け付けた印刷ジョブがプリンタデバイス６５０に転送される。図１５では、この動作についての処理の流れについて説明する。
【０１０４】
また、図１６、図１７は、図１５のフローチャートに関連した処理を表した図である。  まず、ステップＳ１５０１では、スケジュール要求（スケジュールUP）を受け付けるか判断する。スケジュールUPを受け付けると処理をＳ１５０２に移行し、スケジュールアップが来なければステップＳ１５０１で待機する。
【０１０５】
ステップＳ１５０２では、スケジュールアップを受け付けた印刷ジョブが負荷分散ジョブかどうかが判断される。ジョブ情報のプリントタイプの情報が取得され、プリントタイプが負荷分散印刷であれば、ステップＳ１５０３に処理が移行する。負荷分散印刷でなければ、ステップＳ１５１１に処理が移行する。
【０１０６】
ステップＳ１５０３では、スケジュールアップのジョブが仮想ジョブであるか、実ジョブであるかが判断される。仮想ジョブであれば、ステップ１５０４に処理が移行し、実ジョブであればステップＳ１５１４に処理が移行する。
ステップＳ１５０４において、実ジョブ情報を参照するために仮想ジョブ情報の実ジョブIDが取得される。
【０１０７】
ステップＳ１５０５では、スケジュールUP要求が発生した仮想ジョブに関連した、他の仮想ジョブを認識するために実ジョブ情報から仮想ジョブIDが取得される。
ステップＳ１５０６では、ステップＳ１５０５で取得した仮想ジョブIDから、スケジュールUP要求を受けていない他の仮想ジョブが順に削除する（図１６のｇ）。
ステップＳ１５０７において、ステップＳ１５０５で取得した仮想ジョブで、ステップＳ１５０６で削除していない仮想ジョブが残っていればステップＳ１５０６に処理が移行し、仮想ジョブが残っていなければ、ステップＳ１５０８に処理が移行する。
【０１０８】
ステップＳ１５０８では、仮想ジョブが実ジョブとなりプリンタデバイスに送信するために仮想ジョブから実ジョブに切り替える処理が実行される。仮想ジョブ情報から実ジョブ情報に切り替えし、実ジョブキュー８０１Bに実ジョブが登録される（図１６のｈ）。
【０１０９】
さらに、ステップＳ１５０９において、仮想ジョブ情報に設定されていた実ジョブのジョブIDに対応するジョブ情報が取得され、仮想ジョブから実ジョブに切り替えたジョブ情報に情報がコピーされる。
【０１１０】
更にステップＳ１５１０において仮想ジョブ情報の実ジョブIDに登録されている実ジョブが削除される（図１６のｉ）。これらの処理の結果、図１７のような状況となり仮想ジョブが実ジョブとしてプリンタデバイスに転送される。
【０１１１】
また、ステップＳ１５１１において、プリントキュー７０１Bのプリントキュー情報のプリンタ名から情報が取得され、実ジョブ情報の送信済みプリンタ名（自動代行非候補プリンタ名）に設定される。このように、一度でも送信された場合には、送信済みプリンタとして登録される。逆に言えば、送信されない限り送信済みプリンタとして登録されない。つまり、例えば図14のスケジューリング中に出力先に指定されているプリンタが印刷不可能である場合には、自動代行処理が発生することになるが、その場合、再度出力先に指定されているプリンタ（現在印刷不可能でも）も自動代行先として選択候補になるのである。なぜなら、自動代行中にこのプリンタのエラーが修復され、印刷可能となる場合があるからである。
【０１１２】
ステップＳ１５１２では、送信先（転送先）のプリンタにプリンタ内の印刷ジョブの削除機能があるかが判断される。削除機能が無い場合には処理はステップＳ１５１５に移行し、削除機能がある場合には、処理はステップＳ１５１３に移行する。なお、送信先（転送先）プリンタ内に削除機能があるか否かは、ジョブ制御プリンタサービス６２２がPDLプリンタドライバ６０２に問い合わせることによって認識される。すなわち、送信先（代行先）のプリンタの能力によって送信済みのプリンタとして登録されるタイミングが異なることになる。印刷ジョブの削除機能があるプリンタについては、印刷ジョブが送信されても印刷ジョブの印刷処理が開始までは、この送信先（代行先）のプリンタは送信済みのプリンタとして登録されない。印刷ジョブ削除機能があるプリンタの場合、印刷ジョブが送信された後でも、印刷処理が開始する前にプリンタエラーで印刷不能が認識された場合には、児童代行処理が発生し、再度このプリンタが代行先の候補となるかが判断される。削除機能が無いプリンタの場合には、送信されると直ぐに送信済みプリンタとして登録されることになる（Ｓ１５１１→Ｓ１５１２→Ｓ１５１５）。
【０１１３】
ステップＳ１５１３では、印刷ジョブのステータスが監視される。
【０１１４】
そして、ステップＳ１５１４において、印刷が開始されるまで待機される。印刷が開始すると、処理はステップＳ１５１５に移行する。
【０１１５】
ステップＳ１５１５では、実ジョブに変更されたジョブがプリンタデバイスに転送され、送信が終了したらステップＳ１５１３で送信終了の通知が行われる。
次にスケジュールアップを受けたジョブが負荷分散印刷のジョブでなく、通常の印刷ジョブである場合についての処理が以下の処理となる。
【０１１６】
ステップＳ１５０２においてスケジュールアップを受けたジョブのプリントタイプが負荷分散印刷でなければ、ステップＳ１５１１に処理を移行し、実ジョブ情報がプリンタデバイスに転送される。
【０１１７】
負荷分散処理により発生した実ジョブと複数の仮想ジョブの内、スケジュールアップを受けたジョブが実ジョブの場合については、以下の処理となる。
ステップＳ１５０３において、スケジュールＵＰされたジョブが仮想ジョブでなく実ジョブであればステップＳ１５１７に処理が移行する。ステップ１５１７では、実ジョブ情報から全ての仮想ジョブ情報が取得され、続いてステップＳ１５１８において全ての仮想ジョブが削除され、処理がステップＳ１５１１に移行する。ステップＳ１５１１においては実ジョブ情報の送信済みプリンタ名（自動代行非候補プリンタ名）が設定され、スケジュールＵＰを受け付けた実ジョブがプリンタデバイス６５０に転送される。
【０１１８】
このように本実施形態では、送信済みのプリンタ名を実ジョブ情報に設定し、自動代行発生時に送信済みのプリンタデバイスの仮想ジョブキューへ仮想ジョブを作成しないことにより、一度送信されたプリンタデバイスへの印刷ジョブの再送を回避する。
【０１１９】
＜＜他の実施の形態＞＞
前述の実施形態では、実ジョブ情報のFirst Printer名、バックアッププリンタ名、送信済みプリンタ名（自動代行非候補プリンタ名）としてプリントキュー情報のプリンタ名、バックアッププリンタ名を設定する実施形態を開示した。
【０１２０】
しかし、実ジョブ情報のFirst Printer名、バックアッププリンタ名、送信済みプリンタ名（自動代行非候補プリンタ名）として、プリンタデバイスのIPアドレスまたはホスト名を設定する場合にも本発明は応用が可能である。
【０１２１】
＜＜その他＞＞
本発明による各実施形態の処理は、各機能具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１２２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【０１２３】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【図面の簡単な説明】
【０１２４】
【図１】本発明の印刷システムの構成を示すブロック図である。
【図２】図１に示した情報処理装置の構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図である。
【図６】アプリケーションから発行された印刷ジョブの処理を示す図である。
【図７】Ｗｉｎｄｏｗｓ（登録商標）が提供するプリントスプーラと印刷ジョブ制御サービスにおける印刷ジョブの関係を示す図である。
【図８】プリンタキュー７０１と実ジョブキュー８０１、仮想ジョブキュー８０２との関連を表す図である。
【図９】ロジカルキュー（論理プリンタ管理）７０５プリンタキュー情報を示す図である。
【図１０】実ジョブ情報を示す図である。
【図１１】仮想ジョブ情報を示す図である。
【図１２】自動代行発生から仮想ジョブ作成までの処理を示すフローチャートである。
【図１３】実ジョブ、仮想ジョブと実ジョブキュー、仮想ジョブキュー、プリンタキュー、バックアッププリンタキューの関連を示す図である。
【図１４】スケジュールUPの処理を示す図である。
【図１５】スケジュールUPから印刷するまでの処理を示す図である。
【図１６】実ジョブ、仮想ジョブと実ジョブキュー、仮想ジョブキュー、プリンタキュー、バックアッププリンタキューの関連を示す図である。
【図１７】実ジョブ、実ジョブキュー、仮想ジョブキュー、プリンタキュー、バックアッププリンタキューの関連を示す図である。
【図１】
2005173921.tif 000003
【図２】
2005173921.tif 000004
【図３】
2005173921.tif 000005
【図４】
2005173921.tif 000006
【図５】
2005173921.tif 000007
【図６】
2005173921.tif 000008
【図７】
2005173921.tif 000009
【図８】
2005173921.tif 000010
【図９】
2005173921.tif 000011
【図１０】
2005173921.tif 000012
【図１１】
2005173921.tif 000013
【図１２】
2005173921.tif 000014
【図１３】
2005173921.tif 000015
【図１４】
2005173921.tif 000016
【図１５】
2005173921.tif 000017
【図１６】
2005173921.tif 000018
【図１７】
2005173921.tif 000019