(57)【要約】【課題】  サーバ、クライアント環境において、複数のアプリケーションや印刷制御装置が連携して印刷処理を実行する環境においても、印刷ジョブの重複や消失が発生せずに正しく印刷制御装置で印刷処理が完了すること。【解決手段】  サーバは、クライアントへ印刷データを送信し、クライアントに印刷ジョブの生成を指示し、指示の際に印刷ジョブを識別するための識別子をクライアントへ通知し、クライアントが生成した印刷ジョブを記憶し、クライアントは、サーバからの指示に応じて印刷ジョブを生成し、印刷ジョブの生成の際に通知された識別子を生成された印刷ジョブへ付加し、生成された印刷ジョブを記憶し、印刷ジョブの生成の前にサーバまたはクライアントに同一識別子を有する印刷ジョブが存在するかを検索し、検索結果に応じて印刷ジョブを生成するかを判断する。【選択図】  図６
2011242951.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブの管理を行うサーバおよび印刷ジョブの生成を行うクライアントで構成されるジョブ管理システムであって、
前記サーバは、
前記クライアントへ印刷データを送信し、該クライアントに印刷ジョブの生成を指示する指示手段と、
前記指示の際に印刷ジョブを識別するための識別子を前記クライアントへ通知する通知手段と、
前記クライアントが生成した印刷ジョブを記憶するサーバ記憶手段とを有し、
前記クライアントは、
前記サーバからの指示に応じて印刷ジョブを生成する生成手段と、
印刷ジョブの生成の際に前記通知手段から通知された前記識別子を前記生成手段により生成された前記印刷ジョブへ付加する付加手段と、
前記生成手段により生成された印刷ジョブを記憶するクライアント記憶手段と、
前記印刷ジョブの生成の前に前記サーバ記憶手段または前記クライアント記憶手段に同一識別子を有する印刷ジョブが存在するかを検索する検索手段を有し、
前記検索結果に応じて印刷ジョブを生成するかを判断する手段を有することを特徴とするジョブ管理システム。
【請求項２】
前記サーバは、
前記サーバ記憶手段に記憶された印刷ジョブを前記識別子に基づいて識別する識別手段と、
前記記憶手段の中から前記識別された印刷ジョブを印刷制御装置へ送信する送信手段を有し、
前記識別手段が前記記憶手段から印刷ジョブの識別を行えなかった場合に、前記通知手段は、前記クライアントへ印刷ジョブの再生成指示を通知することを特徴とする請求項１に記載のジョブ管理システム。
【請求項３】
前記クライアントの前記検索手段は、
前記サーバに接続されている他のクライアントにおけるクライアント記憶手段に同一識別子を有する印刷ジョブが存在するかを検索することを特徴とする請求項１または２に記載のジョブ管理システム。
【請求項４】
前記クライアントの前記検索手段は、
前記印刷ジョブの出力先である印刷制御装置で処理中の印刷ジョブおよび印刷履歴に同一識別子を有する印刷ジョブが存在するかを検索することを特徴とすることを有することを特徴とする請求項１から３の何れかに記載のジョブ管理システム。
【請求項５】
前記サーバの前記通知手段は、
印刷データの印刷制御装置における印刷設定を指示する手段を有し、
前記クライアントの判断手段は、
前記サーバから指示された印刷設定の内容と、前記検索手段により検索された印刷ジョブの印刷設定とを比較して、印刷設定が異なる場合に、印刷ジョブを生成すると判断する判断手段
を有することを特徴とするジョブ管理システム。
【請求項６】
印刷ジョブの管理を行うサーバと通信し、印刷ジョブの生成を行う情報処理装置であって、
前記サーバからの指示に応じて印刷ジョブを生成する生成手段と、
印刷ジョブの生成の際に前記サーバから通知された前記識別子を前記生成手段により生成された前記印刷ジョブへ付加する付加手段と、
前記生成手段により生成された印刷ジョブを記憶するクライアント記憶手段と、
前記印刷ジョブの生成の前に前記サーバまたは前記クライアント記憶手段に同一識別子を有する印刷ジョブが存在するかを検索する検索手段を有し、
前記検索結果に応じて印刷ジョブを生成するかを判断する手段を有することを特徴とする情報処理装置。
【請求項７】
印刷ジョブの管理を行い、印刷ジョブの生成を行うクライアントと通信する情報処理装置であって、
前記クライアントへ印刷データを送信し、該クライアントに印刷ジョブの生成を指示する指示手段と、
前記指示の際に印刷ジョブを識別するための識別子を前記クライアントへ通知する通知手段と、
前記クライアントが生成した印刷ジョブを記憶するサーバ記憶手段とを有し、
前記クライアントが、前記印刷ジョブの生成の前に前記サーバ記憶手段に同一識別子を有する印刷ジョブが存在するかを検索可能にしたことを特徴とする情報処理装置。
【請求項８】
印刷ジョブの管理を行うサーバおよび印刷ジョブの生成を行うクライアントで構成されるジョブ管理システムにおけるジョブ管理方法であって、
前記サーバが、前記クライアントへ印刷データを送信し、該クライアントに印刷ジョブの生成を指示する指示工程と、
前記サーバが、前記指示の際に印刷ジョブを識別するための識別子を前記クライアントへ通知する通知工程と、
前記サーバが、前記クライアントが生成した印刷ジョブをサーバ記憶手段に記憶するサーバ記憶工程と、
前記クライアントが、前記サーバからの指示に応じて印刷ジョブを生成する生成工程と、
前記クライアントが、印刷ジョブの生成の際に前記通知工程から通知された前記識別子を前記生成工程により生成された前記印刷ジョブへ付加する付加工程と、
前記クライアントが、前記生成工程により生成された印刷ジョブをクライアント記憶手段に記憶するクライアント記憶工程と、
前記クライアントが、前記印刷ジョブの生成の前に前記サーバ記憶手段または前記クライアント記憶手段に同一識別子を有する印刷ジョブが存在するかを検索する検索工程と、
前記クライアントが、前記検索結果に応じて印刷ジョブを生成するかを判断する判断工程を有することを特徴とするジョブ管理方法。
【請求項９】
印刷ジョブの管理を行うサーバと通信し、印刷ジョブの生成を行う情報処理装置のジョブ生成方法であって、
前記サーバからの指示に応じて印刷ジョブを生成する生成工程と、
印刷ジョブの生成の際に前記サーバから通知された前記識別子を前記生成工程により生成された前記印刷ジョブへ付加する付加工程と、
前記生成工程により生成された印刷ジョブをクライアント記憶手段に記憶するクライアント記憶工程と、
前記印刷ジョブの生成の前に前記サーバまたは前記クライアント記憶手段に同一識別子を有する印刷ジョブが存在するかを検索する検索工程と、
前記検索結果に応じて印刷ジョブを生成するかを判断する判断工程を有することを特徴とするジョブ生成方法。
【請求項１０】
印刷ジョブの管理を行い、印刷ジョブの生成を行うクライアントと通信する情報処理装置でのジョブ管理方法であって、
前記クライアントへ印刷データを送信し、該クライアントに印刷ジョブの生成を指示する指示工程と、
前記指示の際に印刷ジョブを識別するための識別子を前記クライアントへ通知する通知工程と、
前記クライアントが生成した印刷ジョブをサーバ機構手段に記憶するサーバ記憶手段とを有し、
前記クライアントが、前記印刷ジョブの生成の前に前記サーバ記憶手段に同一識別子を有する印刷ジョブが存在するかを検索可能にしたことを特徴とするジョブ管理方法。
【請求項１１】
請求項９に記載されたジョブ生成方法または請求項１０に記載されたジョブ管理方法を、コンピュータに実行させるためのコンピュータプログラム。
【請求項１２】
請求項１１に記載されたコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバコンピュータおよびクライアントコンピュータにおいて印刷データを管理する情報処理装置、情報処理方法、情報処理システムならびに情報処理方法を実行するプログラムに関するものである。
【背景技術】
【０００２】
従来の情報処理装置では、印刷制御装置において紙ジャムなどにより印刷処理が正常に終了しなかった場合に、印刷に失敗したページを印刷制御装置のパネルなどに表示することでユーザのリカバリ作業を補助するための技術が知られている（例えば参考文献１参照）。
【０００３】
一方、近年の情報処理装置においては、サーバコンピュータやクライアントコンピュータにおける複数のアプリケーションプログラムおよび印刷制御装置が連携することで、複雑な印刷業務を実現している。すなわち、サーバコンピュータのアプリケーションで顧客からの注文を受信し、クライアントコンピュータのアプリケーションでユーザ（印刷処理を実行するオペレータ）が印刷データ（原稿）の編集や印刷ジョブの生成を行ってサーバコンピュータへ返却する。その後、サーバコンピュータは、前記印刷ジョブを印刷制御装置へ印刷ジョブを送信し、印刷制御装置において印刷処理を実行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３０５９０６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、印刷制御装置に到達した印刷ジョブの印刷処理が正常に終了しなかった場合についてのリカバリ処理は可能であるが、サーバコンピュータおよびクライアントコンピュータにおける印刷データの受注・編集や、印刷ジョブの生成・送信といった印刷業務全体に係わる問題に対するリカバリは実現できていない。すなわち、サーバコンピュータおよびクライアントコンピュータにおける処理中に、印刷ジョブの生成処理の失敗や送信失敗などによって印刷ジョブが消失してしまったり、サーバコンピュータおよびクライアントコンピュータ、印刷制御装置の通信（印刷ジョブ情報の伝達）が正常に行われなかったために、印刷ジョブが重複して作成され無駄な処理（無駄な出力物）が発生しかねない。
【課題を解決するための手段】
【０００６】
本発明のジョブ管理システムは、印刷ジョブの管理を行うサーバおよび印刷ジョブの生成を行うクライアントで構成されるジョブ管理システムであって、前記サーバは、前記クライアントへ印刷データを送信し、該クライアントに印刷ジョブの生成を指示する指示手段と、前記指示の際に印刷ジョブを識別するための識別子を前記クライアントへ通知する通知手段と、前記クライアントが生成した印刷ジョブを記憶するサーバ記憶手段とを有し、前記クライアントは、前記サーバからの指示に応じて印刷ジョブを生成する生成手段と、印刷ジョブの生成の際に前記通知手段から通知された前記識別子を前記生成手段により生成された前記印刷ジョブへ付加する付加手段と、前記生成手段により生成された印刷ジョブを記憶するクライアント記憶手段と、前記印刷ジョブの生成の前に前記サーバ記憶手段または前記クライアント記憶手段に同一識別子を有する印刷ジョブが存在するかを検索する検索手段を有し、前記検索結果に応じて印刷ジョブを生成するかを判断する手段を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、サーバからの印刷ジョブの生成指示に応じて、クライアントがサーバおよびクライアントにおける印刷ジョブの記憶部、および印刷制御装置から印刷ジョブの存在を確認してから印刷ジョブの生成を行うようにしたことで、印刷ジョブを無駄なく生成することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の情報処理システムの構成を示すブロック図である。
【図２】図１に示した情報処理装置の構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図である。
【図６】サーバおよびクライアントのジョブ管理プログラムのモジュール構成の一例を示す図である。
【図７】サーバに格納されるジョブ情報リストの一例を示した図である。
【図８】クライアントにおいて作成され、サーバからプリンタへ送信される印刷ジョブのフォーマットを示す図である。
【図９】サーバのジョブ管理プログラム（出力管理プログラム）における印刷ジョブの編集・生成指示を行う処理の流れを示すフローチャートである。
【図１０】クライアントのジョブ管理プログラム（印刷データ編集プログラム）における処理の流れを示すフローチャートである。
【図１１】サーバのジョブ管理プログラム（出力管理プログラム）における印刷ジョブをプリンタに送信するまでの処理の流れを示すフローチャートである。
【図１２】クライアントが表示する、製本アプリケーションのユーザインターフェースの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１０】
＜システム構成＞
図１は、本発明のジョブ管理システムの構成を示すブロック図である。なお、本システムにおけるクライアントコンピュータおよびネットワークプリンタは、１台または複数台接続されていることを仮定している。図１において、１０１は本実施形態のサーバコンピュータ（以下、サーバと呼ぶ）としての情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。サーバ１０１は、ネットワーク１０６に接続されている複数のクライアントコンピュータおよびネットワークプリンタを管理している。また、サーバ１０１は、印刷データをネットワークプリンタに対応するプリンタ言語に変換して印刷ジョブを生成する機能を有するプリンタドライバを搭載している。１０２、１０３はクライアントコンピュータ（以下、クライアントと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、サーバ１０１のプリンタドライバを、ネットワーク１０６を介して共有することで、印刷データをネットワークプリンタに対応するプリンタ言語に変換して印刷ジョブを生成して、サーバ１０１へ送信することが可能である。構成としては、サーバ１０１と、クライアント１０２、１０３は一般的な情報処理装置であり、サーバ１０１とクライアント１０２、１０３には、それぞれ出力管理プログラム、印刷データ編集プログラム（これらを総称してジョブ管理プログラムと呼ぶ）が実行可能に格納されている。また、サーバ１０１は、一般的な情報処理装置であり、クライアント１０２、１０３の機能を同時に持つこともできる。１０４、１０５は印刷制御装置であるネットワークプリンタ（以下、プリンタと呼ぶ）であり、図示省略したネットワークインタフェースを介してネットワーク１０６と接続されており、クライアントまたはサーバから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して１ページ毎に印刷する。プリンタ１０４、１０５としては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等、様々な方式のものに適応できることも無論想定される。１０６はネットワークであり、サーバ１０１、クライアント１０２、１０３、プリンタ１０４、１０５等と接続している。
【００１１】
＜情報処理装置の構成＞
図２は、図１に示した情報処理装置の構成を説明するブロック図であり、情報処理装置であるサーバ１０１およびクライアント１０２、１０３は同様あるいは同等のハードウェア構成とする。よって、サーバとクライアントの構成を説明するブロック図として説明する。同図において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のジョブ管理プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリやワークエリア等として機能する。２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。２０４は記憶媒体であるフロッピー（登録商標）ディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ジョブ管理プログラム、及び関係プログラム等を格納している。さらに、スプール手段であるスプーラはここに確保される。２０６は指示入力手段であるキーボードであり、管理者がサーバ１０１に対して、また、ユーザ（オペレータ）がクライアント１０２、１０３に対して、デバイスの制御コマンドの命令等を入力指示するものである。２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。２０８はシステムバスであり、サーバ１０１やクライアント１０２、１０３におけるコンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００１２】
＜メモリマップ等の説明＞
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ジョブ管理プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。本実施形態では、ＦＤ２０４からジョブ管理プログラム及び関係データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からジョブ管理プログラムを動作させる度に、既にジョブ管理プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。また、本ジョブ管理プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ジョブ管理プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。３０１は基本Ｉ／Ｏプログラムであり、本情報処理装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。３０２はオペレーティングシステム（ＯＳ）であり、３０３はジョブ管理プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関係データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本ジョブ管理プリグラムを実行する領域が確保されている。サーバ１０１において、ジョブ管理プログラム（出力管理プログラム）３０３は、顧客からの印刷注文を受け付けたり、ユーザからのオペレーションに応じてクライアントのジョブ管理プログラム（印刷データ編集プログラム）へ印刷データの作成・編集を指示したり、クライアントで作成した印刷データをプリンタへ送信したりするための制御を行うプログラムを含む。また、クライアント１０２、１０３において、ジョブ管理プログラム（印刷データ編集プログラム）３０３は、サーバの出力管理プログラムからの指示により起動し、図１２に示すような画面においてユーザがプリンタに対する各種出力設定（出力用紙サイズやステイプル、製本設定など）を行う制御プログラム、およびプリンタドライバへの出力を行うための制御プログラムを含む。
【００１３】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。同図において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明するジョブ管理プログラム、４０４はその関係データである。４０３のジョブ管理プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものである。
【００１４】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。同図において、ＦＤ２０４には、本実施形態で説明するジョブ管理プログラム及び関係データを格納している。
【００１５】
＜ジョブ管理プログラムのモジュール構成＞
図６は、本発明の実施形態に係る情報処理装置の全体構成における、サーバおよびクライアント内のジョブ管理プログラム３０３のモジュール構成の一例を示す図である。本ジョブ管理プログラムは、ＨＤ２０５に格納されており、ＲＡＭ２０２にロードされてＣＰＵ２００により実行される。６０１は、サーバにおいて、後述する通知部６０３を介してクライアントの印刷データ編集プログラムへ印刷データの編集および印刷ジョブの生成を指示するジョブ生成指示部である。前記指示は、図示しないユーザインターフェースからのユーザのオペレーションに応じて行われる。また、ジョブ生成指示部６０１は、印刷ジョブを一意に識別するためのジョブ識別子を発行し、後述するジョブ情報リスト７００へ設定するとともに、印刷データの名称にジョブ識別子を付加する。６０２は、サーバにおいて、後述するクライアントの印刷データ編集プログラムへ印刷データの編集を指示する際に、編集内容を指定する印刷設定指示部である。編集内容には、例えば出力用紙サイズや片面／両面、製本印刷、ステイプルなどのプリンタにおける印刷設定が含まれる。前記編集内容は、図示しないユーザインターフェースからユーザが顧客からの注文をもとに設定を行うことによって作成され、後述するジョブ情報記憶部６０４に格納される。６０３は、サーバにおいて、クライアントの印刷データ編集プログラムへ印刷データの編集および印刷ジョブの生成を通知する通知部である。また、通知部６０３は、印刷データ編集プログラムからの処理結果を取得する。６０４は、サーバにおいて、図７に示すようなジョブ情報リストを記憶するジョブ情報記憶部である。６０５は、サーバにおいて、ジョブ識別子の情報を使用して後述するサーバジョブ記憶部６０８に記憶されている印刷ジョブを識別するための、ジョブ識別部である。６０６は、サーバにおいて、サーバのメモリ上に読み込まれた、ネットワークプリンタを管理するプリンタドライバである。プリンタドライバは、印刷データをプリンタに対応するプリンタ言語に変換して印刷ジョブを生成する機能を有する。本実施例においては、プリンタドライバ６０６はネットワーク上で共有設定がされており、クライアントの印刷データ編集プログラムは、共有設定されたプリンタドライバを利用し印刷ジョブを生成する。６０７は、サーバにおいて、後述するサーバジョブ記憶部６０７に記憶されている印刷ジョブをプリンタへ送信するジョブ送信部である。６０８は、サーバにおいて、クライアントから受信した印刷ジョブを保存するサーバジョブ記憶部である。サーバジョブ記憶部６０８に保存されるジョブは図８に示すような形式となる。
【００１６】
６０９は、クライアントにおいて、図１２に示すようなユーザインターフェースからユーザが指定した印刷設定に基づいてサーバから受信した印刷データを編集する機能を有する製本アプリケーションである。６１０は、クライアントにおいて、製本アプリケーショ６０９によって編集された印刷データをプリンタドライバ６０６へ描画データとして出力する印刷データデスプーラである。印刷データデスプーラ６１０は、製本アプリケーションが編集６０９した印刷データを出力先プリンタに応じたプリンタドライバ６０６を介してプリンタで解釈実行可能な印刷ジョブ（デバイスコマンド）に変換する。印刷データデスプーラ６１０は、後述するジョブ生成判別部６１４の判別結果に応じて印刷ジョブを生成するか否かを切り替える。印刷データデスプーラ６１０の処理結果は、製本アプリケーションを通してサーバへ通知される。６１１は、クライアントにおいて、サーバから受け付けた印刷データの名称に設定されているジョブ識別子を図８に示すような印刷ジョブへ付加するジョブ識別子設定部である。このとき、クライアントにおいて複数の印刷ジョブを生成する場合（ファイルサイズなどによって印刷ジョブを分割する場合）、ジョブ識別子に印刷ジョブのトータル数および印刷ジョブの順番を示す情報を付加する（例えば、ジョブの識別子が“００１”の印刷ジョブを３つに分割した場合、それぞれのジョブの識別子に“００１＿１＿３”、“００１＿２＿３”、“００１＿３＿３”（＜ジョブ識別子＞＋”＿”＋＜順番＞＋”＿”＋＜トータル数＞）を付加する）。６１２は、クライアントにおいて、サーバのサーバジョブ記憶部６０８およびクライアントの後述するクライアントジョブ記憶部６１３、プリンタの履歴およびプリンタで処理中の印刷ジョブからジョブ識別子をもとに同一識別子を有する印刷ジョブを検索するジョブ検索部である。６１３は、クライアントにおいて、プリンタドライバ６０６が印刷ジョブを生成後に保存するクライアントジョブ記憶部である。クライアントジョブ記憶部６１３に保存される印刷ジョブは図８に示すような形式となる。クライアントジョブ記憶部６１３に保存された印刷ジョブは、サーバのサーバジョブ記憶部６０８へ自動的に送信される。６１４は、クライアントにおいて、ジョブ検索部６１２の検索結果に応じて、印刷ジョブの生成を行うか否かを判別するジョブ生成判別部である。ジョブ検索部６１２が印刷ジョブを検索した結果、同一識別子を有する印刷ジョブが見つかった場合、ジョブ生成判別部６１２は、印刷ジョブの重複を防ぐために、印刷ジョブを生成しないように判別する。また、印刷ジョブが見つからなかった場合は、印刷ジョブを生成する必要があると判別する。なお、ジョブ生成判別部６１４は、ジョブ検索部６１２が印刷ジョブを検索した結果、印刷ジョブが見つかった場合、これから生成する印刷ジョブの印刷設定と、前記見つかった印刷ジョブの印刷設定とを比較し、印刷設定が一致する場合、印刷ジョブを生成しないように判別する。印刷ジョブ生成判別部６１４は、判別した結果を印刷データデスプーラ６１０へ通知する。
【００１７】
＜ジョブ情報リスト＞
図７は、本発明の実施形態に係るサーバのジョブ情報記憶部６０４に格納されるジョブ情報リスト７００の一例を示した図である。ジョブ情報リスト７００には、顧客から受け付けた注文としてのジョブがリストアップされる。すなわち、ジョブの名称、およびジョブ生成指示部６０１が発行したジョブ識別子、ジョブ識別子を付加する前の（顧客から受け付けた時点での）印刷データのファイル名であるオリジナルデータファイル名、印刷設定指示部６０２において設定された印刷設定の情報が含まれる。なお、クライアントへのジョブ生成指示を行っていないジョブについては、ジョブ識別子は設定されておらず、印刷設定には顧客からの注文内容が設定されている。（クライアントへ印刷ジョブの編集・生成指示を行う際に上書きされる）
＜印刷ジョブのフォーマット＞
図８は、本発明の実施形態に係わるクライアントの印刷データデスプーラ６１０およびプリンタドライバ６０６が生成してサーバへ送信し、プリンタへ送信する印刷ジョブ８００のフォーマットを示す図である。
【００１８】
ヘッダ情報８０１は、印刷ジョブをプリンタへ送信するために必要な情報や送信する印刷ジョブの情報を含む。ジョブ識別子８０２は、サーバにおいて印刷ジョブを一意に識別するためのＩＤ情報を含む。出力設定情報８０３は、プリンタへ指示を行う印刷設定を含む。印刷設定には例えば印刷部数やページ数、出力用紙サイズなどの情報が含まれる。出力データ８０３にはプリンタに描画させる出力データの描画情報が含まれる。なお、印刷ジョブ８００は図８の形式に限定されるものではなく、印刷対象となる出力データのジョブ識別子、印刷設定情報と描画情報を識別できるものであればどのような形式でもよい。
【００１９】
＜サーバのジョブ編集・生成指示の処理シーケンス＞
図９は本発明の実施形態に係るサーバ１０１のジョブ管理プログラム（出力管理プログラム）３０３において、ユーザからの指示に応じて、クライアントへ印刷ジョブの編集・生成を指示するときの処理シーケンスについて説明している。各フローに係るプログラムは情報処理装置のＨＤ２０５に格納されており、ＲＡＭ２０２にロードされてＣＰＵ２００により実行される。ステップＳ９０１では、サーバのジョブ生成指示部６０１が、図示しないユーザインターフェースからユーザがジョブに対して印刷ジョブの編集・生成指示を行ったかを判断する。指示が行われた場合は処理をステップＳ９０２へ移行する。ステップＳ９０２では、ジョブ生成指示部６０１が、ジョブを一意に識別するためのジョブ識別子を発行し、ジョブ情報記憶部６０４のジョブ情報リスト７００へ設定する。ステップＳ９０３では、ジョブ生成指示部６０１が、対象のジョブに含まれる印刷データが一つであるか、複数存在するかを判断する。印刷データが一つの場合はステップＳ９０４へ処理を移行する。印刷データが複数存在する場合はステップＳ９０６へ処理を移行する。ステップＳ９０４では、ジョブ生成指示部６０１が、印刷データのファイル名にステップＳ９０２で発行したジョブ識別子を付加する。このとき、ジョブ生成指示部６０１は、ジョブ情報記憶部６０４のジョブ情報リスト７００におけるオリジナルデータ名に印刷データの名称を設定する。ステップＳ９０５では、通知部６０３が、ジョブ生成指示部６０１からの指示に応じて印刷データとともに印刷設定指示部６０２から受け取った印刷設定の内容をクライアントへ送信し、印刷ジョブの編集・作成の指示を行う。ステップＳ９０６では、ジョブ生成指示部６０１が、複数の印刷データのうち、先頭の印刷データのファイル名にステップＳ９０２で発行したジョブ識別子を付加する。どの印刷データが先頭であるかについては、印刷データの作成日時や印刷データのファイル名などによって判断する。このとき、ジョブ生成指示部６０１は、ジョブ情報記憶部６０４のジョブ情報リスト７００におけるオリジナルデータ名に印刷データの名称を設定する。
【００２０】
＜クライアントのジョブ生成の処理シーケンス＞
図１０は本発明の実施形態に係るクライアント１０２、１０３のジョブ管理プログラム（印刷データ編集プログラム）３０３において、ユーザからの指示に応じて、印刷ジョブの生成処理を行うときの処理シーケンスについて説明している。各フローに係るプログラムは情報処理装置のＨＤ２０５に格納されており、ＲＡＭ２０２にロードされてＣＰＵ２００により実行される。ステップＳ１００１では、クライアントの製本アプリケーション６０９が、図１２に示すようなユーザインターフェースから、印刷ジョブの生成指示が行われたかを判断する。印刷ジョブの生成指示を行った場合はステップＳ１００２へ処理を移行する。ステップＳ１００２では、印刷データデスプーラ６１０が、サーバから受信したファイル名（複数存在する場合は先頭のファイル名）からジョブ識別子を取得する。ステップＳ１００３では、ジョブ検索部６１２が、クライアントジョブ記憶部６１３からステップＳ１００２で取得したジョブ識別子と一致する印刷ジョブを検索する。このとき、一つのジョブ識別子に対して複数の印刷ジョブを生成する条件の場合（例えば印刷データのサイズが既定のサイズを超えている場合）は、すべての印刷ジョブを検索する（例えば、“００１＿１＿３”が見つかった場合、残りの“００１＿２＿３”、“００１＿３＿３”についても検索する）。ステップＳ１００４では、ジョブ検索部６１２が、ステップＳ１００３において検索対象のジョブ識別子を持つ印刷ジョブがすべて見つかったかを判断する。見つかった場合はステップＳ１００５へ処理を移行する。見つからなかった場合はステップＳ１０１１へ処理を移行する。ステップＳ１００５では、ジョブ生成判別部６１４が、ジョブ検索部６１２の見つけた印刷ジョブの印刷設定の情報を取得する。ステップＳ１００６では、ジョブ生成判別部６１４が、ステップＳ１００５で取得した印刷設定と、製本アプリケーション６０９においてユーザが指定した印刷設定が異なる設定であるかを判断する。印刷設定が異なる場合はステップＳ１００７へ処理を移行する。印刷設定が同じ場合はステップＳ１００８へ処理を移行する。ステップＳ１００７では、ジョブ生成判別部６１４が印刷データデスプーラ６１０へ印刷ジョブの生成を指示し、印刷データデスプーラ６１０はドライバ６０６を介してクライアントジョブ記憶部６１３へ印刷ジョブを生成する。ステップＳ１００８では、ジョブ検索部６１２が、印刷データデスプーラ６１０、製本アプリケーション６０９を介して、印刷ジョブが見つかった場所（クライアント、サーバ、プリンタ（履歴））をサーバへ通知する。ステップＳ１００９では、製本アプリケーション６０９が、印刷ジョブの見つかった場所が自クライアントであるかを判断する。自クライアントの場合はステップＳ１０１０へ処理を移行する。自クライアントではない場合は、ステップＳ１０１９へ処理を移行する。ステップＳ１０１０では、製本アプリケーション６０９が、クライアントジョブ記憶部６１３に印刷ジョブが止まっている（サーバへ送られていない）ことを図示しないユーザインターフェースに表示する（ネットワークの接続確認などを指示する）。
【００２１】
ステップＳ１０１１では、ジョブ検索部６１２が、サーバに接続している他のクライアントの情報をサーバから取得する。取得する情報は例えばＩＰアドレスなど、クライアントを識別し、通信できる情報であれば何でも良い。また、サーバから取得せずに単にネットワーク上に存在するクライアントをすべて検索する方法でもよい。ステップ１０１２では、ジョブ検索部６１２が、他のクライアントにおけるクライアントジョブ記憶部６１３からステップＳ１００２で取得したジョブ識別子と一致する印刷ジョブを検索する。このとき、一つのジョブ識別子に対して複数の印刷ジョブが存在する場合は、すべての印刷ジョブを検索する。ステップＳ１０１３では、ジョブ検索部６１２が、ステップＳ１０１２において検索対象のジョブ識別子を持つ印刷ジョブが他のクライアントからすべて見つかったかを判断する。見つかった場合はステップＳ１００５へ処理を移行する。見つからなかった場合はステップＳ１０１４へ処理を移行する。ステップＳ１０１４では、ジョブ検索部６１２が、サーバにおけるサーバジョブ記憶部６０８からステップＳ１００２で取得したジョブ識別子と一致する印刷ジョブを検索する。このとき、一つのジョブ識別子に対して複数の印刷ジョブが存在する場合は、すべての印刷ジョブを検索する。ステップＳ１０１５では、ジョブ検索部６１２が、ステップＳ１０１４において検索対象のジョブ識別子を持つ印刷ジョブがサーバからすべて見つかったかを判断する。見つかった場合はステップＳ１００５へ処理を移行する。見つからなかった場合はステップＳ１０１６へ処理を移行する。ステップＳ１０１６では、ジョブ検索部６１２が、プリンタにおける印刷を実行中のジョブ（プリンタのキューに溜まっているジョブ）およびプリンタにおける印刷の履歴からステップＳ１００２で取得したジョブ識別子と一致する印刷ジョブを検索する。このとき、一つのジョブ識別子に対して複数の印刷ジョブが存在する場合は、すべての印刷ジョブを検索する。ステップＳ１０１７では、ジョブ検索部６１２が、検索対象のジョブ識別子を持つ印刷ジョブがプリンタからすべて見つかったかを判断する。見つかった場合はステップＳ１００５へ処理を移行する。見つからなかった場合はステップＳ１０１８へ処理を移行する。ステップＳ１０１８では、ジョブ検索部６１２が、印刷データデスプーラ６１０へ印刷ジョブの生成を指示し、印刷データデスプーラ６１０はドライバ６０６を介してクライアントジョブ記憶部６１３へ印刷ジョブを生成する。ステップＳ１０１９では、製本アプリケーション６０９が、印刷データデスプーラ６１０から取得した印刷ジョブの生成結果をサーバへ通知する。
【００２２】
＜サーバの印刷ジョブ送信の処理シーケンス＞
図１１は本発明の実施形態に係るサーバ１０１のジョブ管理プログラム（出力管理プログラム）３０３において、クライアントから印刷ジョブの編集・処理結果を受け付けてからプリンタへ印刷ジョブを送信するまでの処理シーケンスについて説明している。各フローに係るプログラムは情報処理装置のＨＤ２０５に格納されており、ＲＡＭ２０２にロードされてＣＰＵ２００により実行される。ステップＳ１１０１では、サーバの通知部６０３が、クライアントから処理結果を受信したかを判断する。処理結果を受信した場合はステップＳ１１０２へ処理を移行する。ステップＳ１１０２では、サーバの通信部６０３が、ステップＳ１１０１で受信した処理結果が成功（印刷ジョブの編集・作成に成功した）であったかを判断する。成功の場合はステップＳ１１０４へ処理を移行する。成功しなかった場合（印刷ジョブの編集・作成に失敗した、印刷ジョブを作成しなかった）はステップＳ１１０３へ移行する。ステップＳ１１０３では、処理の結果（印刷ジョブの生成に失敗した、印刷ジョブがすでにＸＸＸ（ＸＸＸは保存場所や履歴）に存在するため印刷ジョブを作成しなかった）をユーザへ表示する。ステップＳ１１０４では、ジョブ識別部６０５が、ジョブ識別子をもとにサーバジョブ記憶部６０８から対象の印刷ジョブを検索する。ステップＳ１１０５では、ジョブ識別部６０５が、ステップＳ１１０４の検索の結果、印刷ジョブが見つかったかを判断する。見つかった場合はステップＳ１１０６へ処理を移行する。見つからなかった場合はステップＳ１１０７へ処理を移行する。ステップＳ１１０６では、ジョブ送信部６０７が、ステップＳ１１０５で見つけたサーバジョブ記憶部６０８の印刷ジョブをプリンタへ送信する。ステップＳ１１０７では、通知部６０３が、クライアントへ印刷データと印刷設定を送信し、印刷ジョブの再生成指示を行う。
【００２３】
＜製本アプリケーションのユーザインターフェース＞
図１２は、クライアントの製本アプリケーション６０９が表示する、印刷データの編集を行うためのユーザインターフェース１２００の一例を示す図である。製本アプリケーション６０９は、印刷データのページ順の入れ替えや複製、削除などの編集に加えて、ステイプルなどのプリンタの機能設定も行うことができる。図１２の左側の領域には、印刷データの構造を示すツリービュー１２０１が表示されている。印刷データの構造は、章単位に分割することができ、これにより章単位での印刷設定を行うことができる。図１２の右側の領域には、印刷データの各ページのプレビュー１２０２が表示されている。ツリービュー１２０１に表示されるページは印刷データの原稿ページである。プレビュー１２０２に表示されるページはユーザの指定に応じて、３通りの表示方法が用意されている。第一は原稿ページをそのまま表示する原稿ビューと呼ばれるモードである。原稿ビューモードでは、印刷データの原稿ページの内容が縮小されて表示される。プレビュー１２０２の表示に印刷レイアウトは反映されない。第二は、印刷ビューモードである。印刷ビューモードでは、プレビュー１２０２には、原稿ページの印刷レイアウトが反映された形で原稿ページが表示される。第三は簡易印刷ビューモードである。簡易印刷ビューモードでは、各原稿ページの内容はプレビュー１２０２には反映されず、印刷レイアウトのみが反映される。
【００２４】
以上に示したように、クライアントのジョブ検索部６１２が印刷ジョブの処理される各アプリケーションやプリンタを検索し、ジョブ生成判別部６１４が印刷ジョブの生成の有無を判別してから印刷ジョブの生成を行うようにしたことで、複数のアプリケーションやプリンタが連携して印刷ジョブを処理する場合においても、印刷ジョブを重複して作成することや、エラーなどによって印刷ジョブが消滅してしまうといった問題を回避することができる。
【図１】
2011242951.tif 000003
【図２】
2011242951.tif 000004
【図３】
2011242951.tif 000005
【図４】
2011242951.tif 000006
【図５】
2011242951.tif 000007
【図６】
2011242951.tif 000008
【図７】
2011242951.tif 000009
【図８】
2011242951.tif 000010
【図９】
2011242951.tif 000011
【図１０】
2011242951.tif 000012
【図１１】
2011242951.tif 000013
【図１２】
2011242951.tif 000014