(57)【要約】【課題】  認証プルプリントシステムにおいてプリンタの稼動率を落とすことなくログイン認証と連動したエラージョブの代行印刷を行うことを目的とする。【解決手段】  プリントサーバが印刷エラーを受け付けたとき、プリンタへスケジュールされたジョブは削除するが、プリントサーバで保持する印刷データは代行待ちステータスとし保持し続けることによって課題を解決する。【選択図】  図２０
2011095894.tif 000002
【特許請求の範囲】
【請求項１】
プルプリントアプリケーション９０２がプリントサーバ１０１にログインリクエストを行うプリントサーバシステムにおいて、
プリントサーバが印刷エラー通知を受け付けたとき、
印刷エラーしたプリンタの代行設定を確認し、印刷ジョブを削除せずステータスを代行待ちとして保持する手段を有し（Ｆ２００５、Ｆ２００６）、
プルプリントアプリケーションが印刷エラー通知を受け付けたとき、代行設定に従いプリンタにスケジュールされている印刷ジョブをキャンセルする手段を有し（Ｆ２１０４）、
プリントサーバがプルプリントアプリケーションよりログインリクエストを受け付けたとき、
ログイン情報に合致する代行待ちステータスのジョブを移動し印刷を開始する（Ｆ１７０６）
ことを特徴とする印刷制御装置。
【請求項２】
印刷エラーを受信したプルプリントアプリケーションはエラーした印刷ジョブが印刷可能なプリンタをプリントサーバから取得し（Ｆ２１０３）、
代行可能プリンタ情報をプルプリントアプリケーション画面に表示する手段（Ｆ２１０７）
を備えた印刷制御装置。
【請求項３】
プリントサーバがプルプリントアプリケーションよりログインリクエストを受け付けたとき、
ログイン情報に合致する代行待ちステータスのジョブ情報をプルプリントアプリケーションに通知する手段を有し（Ｆ１７０８）、
プルプリントアプリケーションが前記代行待ちステータスのジョブ情報を受信しプルプリントアプリケーション画面に表示する手段（Ｓ１６１１）、
を備えた請求項１の印刷制御装置。
【請求項４】
プリントサーバが印刷リクエストを受け付けたとき、
印刷リクエストされたジョブのうち、ログイン情報に合致する代行待ちステータスのジョブを移動し印刷を開始する手段と（Ｆ１９０４）、
リクエストされなかったログイン情報に合致する代行待ちステータスのジョブを削除する（Ｆ１９０７）
ことを特徴とする請求項１の印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は認証プルプリントシステムにおいてログイン認証と連動して代行印刷を行うための制御方法に関する。
【背景技術】
【０００２】
特許文献１に示されるように、印刷開始要求により印刷ジョブの制御を行う技術が知られている。
【０００３】
この特許文献１によれば、プルプリントサーバが印刷開始要求を受け付けるとプリントキューの確認を行い、印刷開始要求したユーザのジョブを印刷開始要求したプリンタへ移動し印刷を開始する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１０７９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現在ネットワークを介した印刷において、出力物の放置、取り忘れによる情報漏えいが問題となっており、出力物が確実に印刷を行ったユーザによって取得される印刷システムが望まれている。
【０００６】
認証プルプリントシステムと呼ばれる印刷システムが一つの解となっている。認証プルプリントシステムによれば、クライアントからは印刷物のアップロードのみ行い、実際の印刷指示はプリンタで行うため、ユーザの出力物の放置、取り忘れを抑制する効果が望める。
【０００７】
プリンタ上で印刷指示を行った印刷ジョブがエラーし印刷に失敗した場合、エラー原因によってはすぐに復旧することができない場合もあり、エラーした印刷ジョブを印刷可能なプリンタへ移動し再度印刷指示を行うことがある。
【０００８】
その場合、再度印刷指示を行うためにはプリンタ上で再びドキュメントを選択し印刷指示するというオペレーションを行う必要がありユーザビリティを損ねてしまうという課題があった。
【０００９】
また認証プリントシステムにおいてはどのプリンタで再印刷されるかわからない、さらにいつユーザがログインし再印刷を行うのかタイミングが不定である。プリンタを複数ユーザで共有している環境において他のユーザに順番を回すために印刷エラーした印刷ジョブはキャンセルされることが考えられ、再印刷の前にキャンセルによりジョブが削除されてしまうという問題があった。
【００１０】
特許文献１によれば印刷開始要求によって印刷エラーしている印刷ジョブの移動を行い、ユーザオペレーションなくエラーした印刷ジョブの印刷を開始することができる。
【００１１】
しかし、印刷エラーした印刷ジョブは再度印刷開始要求されるまで印刷エラーした状態で保持しておく必要があり、その間はプリンタを利用することができない。再印刷するプリンタが離れた場所にある場合など印刷エラーしたプリンタは長時間誰も使用できない状態になりプリンタの稼動率が著しく落ちてしまう。
【課題を解決するための手段】
【００１２】
プルプリントアプリケーション９０２がプリントサーバ１０１にログインリクエストを行うプリントサーバシステムにおいて、
プリントサーバが印刷エラー通知を受け付けたとき、
印刷エラーしたプリンタの代行設定を確認し、印刷ジョブを削除せずステータスを代行待ちとして保持する手段を有し（Ｆ２００５、Ｆ２００６）、
プルプリントアプリケーションが印刷エラー通知を受け付けたとき、代行設定に従いプリンタにスケジュールされている印刷ジョブをキャンセルする手段を有し（Ｆ２１０４）、
プリントサーバがプルプリントアプリケーションよりログインリクエストを受け付けたとき、
ログイン情報に合致する代行待ちステータスのジョブを移動し印刷を開始する（Ｆ１７０６）
ことを特徴とする印刷制御装置。
【発明の効果】
【００１３】
本発明によれば、認証プルプリントシステムにおいてプリンタの稼動率を落とすことなくログイン認証と連動したエラージョブの代行印刷を行うことが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の印刷システムの構成を示すブロック図である。
【図２】サーバコンピュータ、又はクライアントコンピュータのハードウェア構成の一例を示す図である。
【図３】ＤＢＭＳ１０４にて管理されるジョブ情報である。
【図４】プリントサーバ１０１もしくはＤＢＭＳ１０４にて管理されるデバイス情報である。
【図５】ＤＢＭＳ１０４にて管理されるドキュメント情報である。
【図６】プリントサーバ１０１の構成を示すブロック図である。
【図７】プリントサーバ１０１で管理されるジョブキューである。
【図８】プリントデバイスのハードウェア構成の一例を示す図である。
【図９】プリントデバイスの構成を階層的に示す図である。
【図１０】スケジュールアプリケーション９０１の構成を示すブロック図である。
【図１１】プルプリントアプリケーション９０２の構成を示すブロック図である。
【図１２】プルプリント画面１１０１の画面例である。
【図１３】代行画面１１０２の画面例である。
【図１４】エラージョブ画面１１０３の画面例である。
【図１５】エラージョブ画面１１０３における代行可能プリンタダイアログの画面例である。
【図１６】プリントデバイスへのログイン時のシーケンスである。
【図１７】Ｗｅｂサーバ１０２がドキュメント取得リクエストを受信した際のフローチャートである。
【図１８】プルプリントアプリケーション９０２が印刷実行する際のシーケンスである。
【図１９】Ｗｅｂサーバ１０２が代行印刷リクエストを受信したときのフローチャートである。
【図２０】プリントサーバ１０１が印刷エラーを受信したときのフローチャートである。
【図２１】プルプリントアプリケーション９０２が印刷エラーを受信したときのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１６】
＜システム構成＞
図１は、本発明の印刷システムの構成を示すブロック図である。
【００１７】
図１において、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  １１０（以下ＷＡＮと呼ぶ）を介して、各印刷システムを制御するためのサーバコンピュータシステムとプリントデバイスおよびクライアントコンピュータが広域に接続されている。
【００１８】
ＤＢＭＳ１０４はＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍであり、ストレージ１０５に保存されているドキュメントデータ、印刷ジョブやデバイス情報といったデータを管理するサーバコンピュータシステムである。他サーバから各種データの更新、取得、追加、削除といったオペレーションを受け付け実行する。また大規模な印刷システムの場合は負荷分散するためのクラスタ構成や障害発生に備え冗長性を持たせたシステム構成をとることも考えられる。またストレージ１０５はＤＢＭＳ１０４とＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）として直接接続する形態をとっても良いし、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）としてネットワークを介して接続する形態をとっても良い。
プリントサーバ１０１は印刷システムにおけるプリントデバイスの監視や管理、印刷ジョブの監視や管理、印刷ジョブの生成・転送を司るサーバコンピュータシステムである。プリントサーバ１０１において大規模な印刷システムの場合は負荷分散するためにクラスタ構成もしくは冗長性を持たせたクラスタ構成をとることも考えられる。またＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  １０９Ａ（以下ＬＡＮと呼ぶ）を介してＤＢＭＳ１０４や後述するＷｅｂサーバ１０２と接続し、印刷ジョブデータや印刷制御指示、管理している印刷ジョブの情報等を交換する。
【００１９】
Ｗｅｂサーバ１０２はＷＡＮ１１０を介して接続するクライアント１０８や後述のプルプリントアプリケーション９０２へＤＢＭＳ１０４で管理しているジョブ情報やドキュメント情報を送信する。またプリントサーバ１０１で生成した印刷データをプルプリントアプリケーション９０２へ転送する。Ｗｅｂサーバはサーバコンピュータシステムであり、大規模な印刷システムの場合は負荷分散のためのクラスタ構成や冗長構成となることが通例である。また、クライアント１０８やプルプリントアプリケーション９０２からの印刷指示、印刷ジョブの操作を受け付けプリントサーバ１０１へ指示を転送する。またＷｅｂサーバ１０２は後述するディレクトリサーバ１０３と連携してクライアント１０８およびプリントデバイス１０７からのログインの認証管理を行う。Ｗｅｂサーバ１０２は予めシステム設計者かもしくはドキュメント生成者が設定したユーザの権限を保持している。権限情報としては、例えばドキュメントの参照、印刷、削除権限、あるプリンタへの印刷権限、印刷ジョブの削除権限などがあげられる。またこのユーザの権限情報はＷｅｂサーバ１０２で保存、管理してもよいし、前述したＤＢＭＳ１０４で保存、管理してもよい。
【００２０】
ディレクトリサーバ１０３はユーザ名およびパスワードの組み合わせによってユーザの認証管理を行うサーバである。また各ユーザはそれぞれドメイングループに参加するような構成も可能であり、例えば、ドメイングループ内のユーザ同士での権限をユーザ単体の権限とは違う範囲で設定することも出来る。またユーザは複数のドメイングループに参加するように設計することも可能である。
【００２１】
プリンタデバイス１０７Ａ，１０７Ｂ，１０７Ｃおよび１０７Ｄは印刷デバイス（以下プリンタデバイス１０７と呼ぶ）である。各印刷デバイスは図示省略したネットワークインタフェースを介しＬＡＮ１０９ＢもしくはＬＡＮ１０９Ｃに接続されている。またＬＡＮ１０９ＢもしくはＬＡＮ１０９ＣはＷＡＮ１１０と接続しており、プリントデバイス１０７はこのＬＡＮおよびＷＡＮを介して先述したプリントサーバ１０１やＷｅｂサーバ１０２と通信することが出来る。このプリンタデバイス１０７としては電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタ等を適宜適用することができる。またプリンタデバイス１０７は後述する印刷スケジュールを管理するスケジュールアプリケーション９０１を備える。
【００２２】
クライアント１０８Ａ，１０８Ｂ，１０８Ｃおよび１０８Ｄは情報処理を行うためのクライアントコンピュータ（以下クライアント１０８と呼ぶ）である。各クライアント１０８は図示省略したネットワークインタフェースを介しＬＡＮ１０９ＢもしくはＬＡＮ１０９Ｃに接続されており、ＷＡＮ１１０を介して各種サーバシステムと通信することが出来る。クライアント１０８はそれぞれ永続記憶装置を接続したコンピュータであってもよいし、一時記憶装置のみによって構成されたＴｈｉｎ  Ｃｌｉｅｎｔ構成をとってもよい。
【００２３】
＜サーバコンピュータ及びクライアントコンピュータのハードウェア構成＞
図２は、サーバコンピュータ、又はクライアントコンピュータのハードウェア構成の一例を示す図である。
【００２４】
ＣＰＵ２０３は、ＨＤＤ２０６に記憶されたプログラムをＲＡＭ２０５に読み込み、このプログラムに基づき処理を実行することによって、本装置（サーバコンピュータ、又はクライアントコンピュータ）上の各処理を司る。ＲＯＭ２０４は、本装置の各処理に関わるプログラムやデータを記憶し、書換え不可能である。ＲＡＭ２０５は、本装置の各処理に関わる一時的なデータを電気的に記憶でき、かつ書き換え可能である。本装置の各処理に関わるプログラムやデータ、及び一時的なデータ等はＨＤＤ２０６に記憶される。入力装置２０７は、本装置への指示入力を受け付けるキーボードやポインティングデバイスである。表示装置２０８は、本装置の動作状況や、本装置上で動作する各プログラムが出力する情報を表示する。ＮｅｔｗｏｒｋＩ／Ｆ２０２は、ネットワーク経由でＬＡＮ及びインターネットに接続し、外部と情報交換を行う。外部機器Ｉ／Ｆ２０１は外部記憶機器等を接続する。
【００２５】
＜Ｗｅｂサーバ＞
Ｗｅｂサーバ１０２は前述したとおり、負荷分散するためのクラスタ構成が通例であり、複数のＷｅｂサーバから構成される。ＷｅｂサーバはＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムにおいて情報通信を行うサーバであり、ソフトウェアである。Ｗｅｂサーバ１０２は以下の機能を備える。フロントエンドのクライアント１０８やプルプリントアプリケーション９０２からのログインによってユーザアカウント情報及びパスワードを得て、ディレクトリサーバ１０３へ認証を行う。ログイン認証に成功すると、ユーザのドキュメントの参照権限を承認する。承認された参照権限にしたがってＤＢＭＳ１０４からドキュメントの情報を取得し、ログインしているクライアント１０８やプルプリントアプリケーション９０２へ情報を送信する。また、クライアント１０８からのドキュメントの印刷指示を得て印刷指示をプリントサーバ１０１へ送信し、プリントサーバ１０１で生成した印刷データをプルプリントアプリケーション９０２に転送する。
【００２６】
また、前述した参照権限の承認ポリシーとしては、例えば所属するドメインすべてのユーザのドキュメントが参照可能であるポリシーや、ユーザ本人のドキュメントのみ参照可能といったポリシー等が考えられる。また、それらは印刷システムを導入するユーザのポリシーによって柔軟に設計可能である。またこの承認については、ドキュメントの参照のみでなく、ドキュメントの印刷権限、印刷ジョブの削除権限、プロモート権限といったような権限設定が可能である。
【００２７】
＜ＤＢＭＳ＞
ＤＢＭＳ１０４はカード型、リレーショナル型、オブジェクト型といった様々なデータ管理方法を選択することが出来るが、本実施例においては最も広く普及しているリレーショナル型として説明する。ＤＢＭＳ１０４はジョブ情報３００、デバイス情報４００、ドキュメント情報５００をテーブル情報として保持している。
【００２８】
ジョブ情報３００は、ジョブＩＤ３０１、ドキュメントＩＤ３０２、ユーザ名３０３、受付日時３０４、ステータス３０５、デバイス名３０６、デバイス内ジョブＩＤ３０７からなる。ユーザ名３０３は印刷を指示したユーザのアカウント名である。ドキュメントＩＤ３０２はＤＢＭＳ１０４で管理されているドキュメントの識別子である。ステータス３０５は印刷ジョブのステータスである。ステータスとしては印刷データをプリントデバイス１０７へ転送している「転送中」、プリントデバイス１０７で印刷が行われている「印刷中」、印刷順序待ちである「スケジュール待機」といった状態がある。さらには代行印刷の実行を待機している「自動代行待ち」「手動代行待ち」のステータスがある。デバイス名３０６は印刷を行うプリントデバイス１０７の名称である。デバイス内ジョブＩＤ３０７はプリントデバイス１０７内の後述のスケジュールアプリケーション９０１により発行されるジョブの識別子である。
【００２９】
デバイス情報４００は印刷対象となるプリントデバイス１０７の各種情報を保持している。デバイス情報４００はデバイス名４０１、デバイスの通信先アドレス４０２、通信ポート番号４０３、印刷データの転送方式４０４およびデバイスのステータス４０５、プリントサーバアドレス４０６、代行条件４０７、設置場所４０８、ドライバ名４０９からなる。印刷データの転送方式４０４は例えば、データをストリームとしてＴＣＰ／ＩＰにより連続送信するＲＡＷ、ＬＰＲ（Ｌｉｎｅ  ＰＲｉｎｔｅｒ  ｄｅａｍｏｎ  ｐｒｏｔｏｃｏｌ）、ＨＴＴＰにより送信する方式などがある。プリントサーバアドレス４０６はプリントサーバ１０１のアドレスが登録される。代行条件４０７は印刷代行を行うか否かを判別する条件が登録される。条件には「代行しない」「自動代行」「手動代行」「用紙切れ」、「紙づまり」などがあり、それぞれビットで表現され複数の条件を登録することができる。設置場所４０８はプリントデバイス１０７の設置場所が登録される。ドライバ名４０９は印刷する際に使用するドライバ名である。またデバイス情報４００はプリントサーバ１０１のデバイスマネージャ６０６により管理する方法も考えられ、データを保持する場所は問わない。
【００３０】
ドキュメント情報５００はドキュメントの識別子であるドキュメントＩＤ５０１、ドキュメント名５０２、ドキュメントの登録者のユーザ名５０３、および実際にドキュメントが保存されている場所を示すデータパス５０４からなる。また、本実施例ではドキュメントをドキュメントテーブル５００ではリファレンスとして保持し、データは別の箇所で保存していることとしているが、ドキュメントテーブル５００に直接保持してもよい。
【００３１】
ＤＢＭＳ１０４は例えば、以下のように利用される。Ｗｅｂサーバ１０２から指定したユーザ名と一致する全てのドキュメント情報やジョブ情報の取得。Ｗｅｂサーバ１０２からデバイス名の指定によって一致するデバイス情報の取得。プリントサーバ１０１からドキュメントＩＤの指定によって一致するドキュメントの情報の取得。プリントサーバ１０１からの印刷実行に必要なデバイス情報の取得。プリントサーバ１０１からの新規ドキュメントの登録、ジョブの登録。プリントサーバ１０１からジョブやデバイスの状態が変化した際のジョブステータスやデバイスステータスの更新等である。
【００３２】
＜プリントサーバ＞
図６はプリントサーバ１０１の構成を示すブロック図である。プリントサーバ１０１はＡＰＩ６０１、ＤＢドライバ６０２、ジョブマネージャ６０３、デバイスマネージャ６０４、通信マネージャ６０５からなる。
【００３３】
ＡＰＩ６０３はＡｐｐｌｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅである。ＡＰＩ６０３においてＷｅｂサーバ１０２や他の印刷可能なドキュメントを生成するサーバからのドキュメント登録、ドキュメントの印刷データ生成リクエストや代行印刷リクエストを受け付ける。この他の印刷可能なドキュメントを生成するサーバとしては、例えば定型帳票を作成するような帳票サーバや、ユーザのドキュメントを一括管理するドキュメント管理サーバなどが考えられる。
【００３４】
次にＤＢドライバ６０２はドキュメント登録リクエストを受けて、ＤＢＭＳ１０４へドキュメントを登録する場合や、印刷データ生成リクエストを受けて印刷データをＤＢＭＳ１０４から取得する場合など、ＤＢＭＳ１０４との通信を行うモジュールである。
【００３５】
次にジョブマネージャ６０３は以下の機能を有する。ＡＰＩ６０１で受け付けたドキュメントを、ＤＢドライバ６０２を介してＤＢＭＳ１０４へ登録する。ＡＰＩ６０１で印刷リクエストを受け付けると、ＤＢドライバ６０２を介してＤＢＭＳ１０４の印刷するドキュメント情報を参照し印刷可否を判断する。印刷可能な場合には印刷リクエストされたドキュメントのデータパス５０４よりデータを取得し、印刷リクエストに従って印刷データを生成する。印刷可能な形式にはＰＤＬ（Ｐａｇｅ  Ｄｉｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）やＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＪＤＦ（Ｊｏｂ  Ｄｅｆｉｎｉｔｉｏｎ  Ｆｏｒｍａｔ）などがある。ここでプリントデバイス１０７がＰＤＦを直接受け付けて印刷することができるＰＤＦダイレクトプリント機能を有する場合など、形式変換が必要ない場合もある。ＡＰＩ６０３より印刷データ取得リクエストを受け付けると、ジョブマネージャ６０３で生成した印刷データはＷｅｂサーバ１０２を介してプルプリントアプリケーション９０２に送信される。（「ＰＤＦ」「ＪＤＦ」は登録商標）
図７はジョブマネージャ６０３で保持するジョブキューでありジョブＩＤ７０１、ステータス７０２からなる。ＤＢＭＳ１０４で保持しているジョブ情報３００と同様の情報であるため説明は省略する。ジョブキューはプリントデバイス毎に保持され、プリントサーバ１０１へ印刷リクエスト順にキュー情報として保持される。ステータス７０２はスケジュールアプリケーション９０１よりステータス変化を通知された場合に更新される。ジョブがプリントデバイスからなくなった場合にジョブキューより削除され、同時に生成した印刷データの削除も行われる。ただしステータスが「自動代行待ち」「手動代行待ち」となっているジョブについてはプリントデバイス上からジョブが削除されるが、ジョブキューからの削除は行われない。代行に必要なジョブについてはジョブキューからの削除を行わず印刷データを保持することによって代行印刷時に印刷データを再度生成する必要がなくなる。
【００３６】
またデバイスマネージャ６０４よりジョブのステータス変化が通知された際にはジョブキュー７００のステータス７０２を更新する。ここでステータスが「自動代行待ち」または「手動代行待ち」だった場合には、ステータス変化したジョブのジョブキューの全てのジョブステータスを「自動代行待ち」または「手動代行待ち」に更新する。ジョブキュー７００のステータスが更新された場合にはＤＢＭＳ１０４で保持するジョブ情報３００の更新も行われる。
【００３７】
次にデバイスマネージャ６０４について説明する。デバイスマネージャ６０４ではＤＢＭＳ１０４で保持しているデバイス情報４００を取得し一時保存（キャッシュ）している。デバイススマネージャ６０４によりキャッシュされるデバイス情報４００は印刷データ生成時に使用され、印刷データ生成時に毎回取得してもよいし、定期的に取得してもよくデバイス情報４００のキャッシュを更新するタイミングは問わない。
【００３８】
デバイスマネージャ６０４はスケジュールアプリケーション９０１よりプリントデバイス１０６のステータス変化を受信し、ＤＢＭＳ１０４で保持するデバイス情報４００の更新を行う。またジョブのステータス変化を受信した際にはジョブマネージャ６０３に通知する。印刷エラー時には代行条件４０７にもとづき代行判定が行われる。印刷エラー受信時の動作の詳細は後述する。
【００３９】
次に通信マネージャ６０５について説明する。通信マネージャ６０５はスケジュールアプリケーション９０１からの接続を受け付け、デバイスコントローラ９１０から通知されるプリントデバイスや印刷ジョブのステータス変化の通知を行う。通信マネージャ６０５で利用されるプロトコルはＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）やＡｔｏｍＰｕｂ（Ａｔｏｍ  Ｐｕｂｌｉｓｈｉｎｇ  Ｐｒｏｔｏｃｏｌ）などが考えられるがプロトコル問わない。
【００４０】
＜プリントデバイスのハードウェア構成＞
図８は、プリントデバイス１０７のハードウェア構成の一例を示す図である。
【００４１】
イメージリーダ８０２は、原稿給送部８０１で原稿を読み込む。イメージリーダ８０２及び画像形成部８０３は、読み込んだ原稿や、ネットワーク経由で受信したデータを印刷画像に変換・印刷出力する。排紙部８０４は印刷出力した紙を排出し、ソートやステイプル等の処理を施す。ＮｅｔｗｏｒｋＩ／Ｆ８０５はネットワーク経由でＬＡＮ及びインターネットに接続し、外部と情報交換を行う。ＣＰＵ８０６は、ＲＯＭ８０７、又はＨＤＤ８０９に記憶されたプログラムをＲＡＭ８０８に読み込み、このプログラムに基づき処理を実行することによって、本装置（プリントデバイス）上の各処理を司る。不揮発性記憶手段のＲＯＭ８０７は本装置の各処理に関わるプログラムやデータを記憶する。書き換え可能なＲＡＭ８０８は本装置の各処理に関わる一時的なデータを電気的に記憶する。ＨＤＤ８０９は本装置の各処理に関わるプログラムやデータ、及び一時的なデータ等を記憶する。操作部８１０は、後述する画面を表示したり、画面を介したユーザの操作指示を受け付けたりする。
【００４２】
＜プリントデバイス＞
図９は、プリントデバイス１０７の構成を階層的に示す図である。図９において、画像形成部９１３は、紙のハンドリングや画像転写・定着等の一連の画像形成プロセスを実行して、記録紙等の記録媒体上に画像を形成する。この画像形成部９１３は、例えばインクジェットプリンタや電子写真方式の画像形成ユニットを備えている。
【００４３】
画像読み取り部９１７は、スキャナ等を備え、原稿画像を光学的に読み取ってディジタル画像情報に変換する。また、画像読み取り部９１７は、前記ディジタル画像情報を画像形成部９１３に出力して画像を形成したり、又はファックス部９１２やネットワークインタフェース部９１４等に渡して回線を介して伝送したりする。
【００４４】
デバイスコントローラ９１０は、画像形成部９１３と、画像読み取り部９１７とのそれぞれの動作を制御し、例えば画像読み取り部９１７で読み取った原稿情報を画像形成部９１３で複写するよう制御する。また、デバイスコントローラ９１０は、ネットワークインタフェース部９１４、プリント処理部９１５、ファックス部９１２、操作部制御部９１１を有し、これら各部の間での情報のやり取りも制御する。
【００４５】
ファックス部９１２は、ファクシミリ画像の送受信、即ち、画像読み取り部９１７で読み取ったディジタル画像情報を送信したり、また逆に、受信したファクシミリ信号を復号し、画像形成部９１３で記録したりする等の処理を実行する。
【００４６】
操作部制御部９１１は、操作部の操作パネルを使用したユーザの操作に応じた信号を発生したり、また操作部（又は表示部）等に各種データやメッセージ等を表示したりするよう、制御を行う。プリント処理部９１５は、例えばネットワークインタフェース部９１４を介して入力された印刷データを処理して画像形成部９１３に出力し、印刷する等の制御を行う。ネットワークインタフェース部９１４は、通信回線を介して他の通信端末との間のデータの送受信を制御する。
【００４７】
仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）９０５は、デバイスコントローラ９１０の上位に位置し、この仮想マシン９０５からデバイスコントローラ９１０を制御できるように構成されている。
【００４８】
また、ネットワークインタフェース部９１４は、デバイスコントローラ９１０と、仮想マシン９０５との双方から直接利用でき、それぞれ独立して外部ネットワークにアクセスすることができるよう構成されている。
【００４９】
更に、仮想マシン９０５の上位には、仮想マシン９０５が提供するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）に対応したプログラミング言語で記述されたアプリケーションが存在している。これらのアプリケーションは、仮想マシン９０５を介して間接的にデバイスコントローラ９１０に働きかけることができ、また画像形成部９１３や画像読み取り部９１７を動作させることができる。
【００５０】
本実施例としては、アプリケーションとして、スケジュールアプリケーション９０１を備える。また、これらアプリケーションは仮想マシン９０５上からアンインストールしたり、更に新たにアプリケーション９０４としてインストールしたりするといった事が可能なように構成されている。
【００５１】
また、上述したアプリケーションは本実施例としてはプリントデバイス１０７にインストールされるアプリケーションとして説明したが、ハードウェアとして備えられていても良い。また外部装置としてプリントデバイス１０７と通信可能に接続されたコンピュータ上のアプリケーションとして備えていても良い。
【００５２】
本実施例としてはアプリケーションとして、スケジュールアプリケーション９０１、プルプリントアプリケーション９０２、認証アプリケーション９０３を備える。これらのアプリケーションの詳細は後述する。
【００５３】
外部記憶装置制御部９１６は、画像読み取り部９１７で読み取った画像を画像形成部９１３で外部記憶装置に保存可能なデータフォーマットに変換し、外部記憶装置に保存する。また、外部記憶装置制御部９１６は、外部記憶装置に保存したデータを読み出し、画像形成部９１３を介して印刷処理を行ったり、ネットワークインタフェース部９１４を介して外部にネットワーク送信したりする。
【００５４】
また、本実施例においてはプリントデバイス１０７へのログイン手段としてＩＣカードリーダ９１８が通信可能に接続されている。ログイン手段としては他の手段でも勿論問題なく、例えば操作部制御部９１１が管理するデバイスパネルからの入力といった方法が考えられる。
【００５５】
＜スケジュールアプリケーション＞
図１０はスケジュールアプリケーション９０１の構成を示すブロック図である。スケジュールアプリケーション９０１は通信マネージャ１００１、ジョブマネージャ１００２、デバイスマネージャ１００３からなる。
【００５６】
通信マネージャ１００１はプリントサーバ１０１へ接続しデバイスコントローラ９１０から通知されるプリントデバイスや印刷ジョブのステータス変化の通知を行う。通知先のプリントサーバ１０１のアドレスはスケジュール登録時に登録される。
【００５７】
ジョブマネージャ１００２は印刷リクエストのスケジュール情報をスケジュールリストとして保持し印刷ジョブの管理を行うモジュールであり、スケジュールリストに登録された順序通りに印刷が行われるよう制御する。また、印刷ジョブの削除やプロモート（優先度変更）といった操作を受け付け、印刷ジョブをコントロールする。印刷ジョブの削除やプロモートの詳細な説明は本発明と関係しないため省略する。
【００５８】
次にデバイスマネージャ１００３はデバイスコントローラ９１０との通信を行うモジュールであり、印刷ジョブの削除を行ったり、印刷ジョブの状態の変化をキャッチしたりするドライバである。
【００５９】
＜認証アプリケーション＞
認証アプリケーション９０３は、プリントデバイス１０６に通信可能に接続したＩＣカードリーダ９１８からＩＣカードの情報を取得し、自身が管理しているユーザ管理テーブルからユーザのＩＤを取得する。ユーザ管理テーブルは、ＩＣカードの情報とユーザのＩＤの２次元テーブルである。
【００６０】
そして取得したユーザのＩＤを後述するプルプリントアプリケーション９０２に通知する。また、ユーザのログアウトを検知し、同様にプルプリントアプリケーション９０２にログアウトを通知する。ログアウトの検知は、例えばプリントデバイス１０６が備えているハードキーの押下の検知や、ユーザの無操作状態が一定時間経過したときに自動ログアウトする方法が考えられる。
【００６１】
＜プルプリントアプリケーション＞
図１１はプルプリントアプリケーション９０２の構成を示すブロック図である。プルプリントアプリケーション９０２はプルプリント画面１１０１と代行画面１１０２、エラージョブ画面１１０３、プルプリントコントローラ１１０４、プリントマネージャ１１０５、通信マネージャ１１０６からなる。
【００６２】
プルプリントコントローラ１１０４は、認証アプリケーション９０３からのログイン、ログアウトの通知を受け付ける。通知を受けたプルプリントコントローラ１１０４は、ログインの場合はＷｅｂサーバ１０２よりログインユーザのドキュメント情報や代行ジョブ情報を取得しプルプリント画面１１０１と代行画面１１０２の生成を行う。ここでステータスが「自動代行待ち」となっているジョブについてはプリントマネージャ１１０５が印刷を開始する。ログイン時シーケンスの詳細は後述する。
【００６３】
また印刷エラー時にはＷｅｂサーバ１０２より代行可能プリンタを取得しエラージョブ画面１１０３を生成する。各画面についての詳細は後述する。プルプリントコントローラ１１０４はログアウトの通知を受けると、生成した各画面の破棄を行う。
【００６４】
プリントマネージャ１１０５はＷｅｂサーバ１０２より印刷データを取得しプリントデバイスに対して印刷実行を行う。プリントマネージャ１１０５の印刷実行シーケンスについては後述する。
【００６５】
＜プルプリント画面１１０１＞
図１２はプルプリントアプリケーション９０２におけるプルプリント画面１１０１の例である。
【００６６】
例ではプルプリント画面タブ１２０１、ログインユーザ名表示領域１２０２、ドキュメント表示・選択領域１２０３、ドキュメント数表示領域１２０４、詳細ボタン１２０５、削除ボタン１２０６、印刷ボタン１２０７からなる。ドキュメント表示・選択領域１２０３にはログインユーザが参照し印刷することができるドキュメント名、ステータス、ユーザ名、受付日時などの情報を表示する。同時に表示できない個数だった場合は図示のようにページング処理を行う。図示は１ページに収まった場合である。またチェックボックスを設け複数のドキュメントを選択できるようになっている。詳細ボタン１２０５はドキュメント表示・選択領域１２０３で選択されたドキュメント情報の詳細を表示するボタンである。ユーザはドキュメント表示・選択領域１２０３に表示できなかった詳細情報を確認することができる。削除ボタン１２０６はドキュメント表示・選択領域１２０３で選択されたドキュメントの削除を行うボタンである。削除ボタン１２０６が押下されるとＷｅｂサーバ１０２にドキュメント削除リクエストを行う。削除リクエストについては本発明と関係ないため省略する。次に印刷ボタン１２０７はドキュメント表示・選択領域１２０３で選択されたドキュメントの印刷を行うためのボタンである。印刷ボタン１２０７を押下するとＷｅｂサーバに対して印刷データ生成リクエストし印刷を開始する。印刷ボタン１２０７が押下され印刷が開始されるまでの処理の詳細は後述する。
【００６７】
＜代行画面１１０２＞
図１３はプルプリントアプリケーション９０２における代行画面１１０２の例である。
【００６８】
例では代行画面タブ１３０１、ログインユーザ名表示領域１３０２、代行ジョブ表示・選択領域１３０３、ジョブ数表示領域１３０４、詳細ボタン１３０５、代行印刷ボタン１３０６、閉じるボタン１３０７からなる。代行ジョブ表示・選択領域１３０３にはログインユーザの代行印刷ジョブのドキュメント名、ステータス、ユーザ名、受付日時などの情報を表示する。同時に表示できない個数だった場合は図示のようにページング処理を行う。図示は１ページに収まった場合である。またチェックボックスを設け複数のジョブを選択できるようになっている。詳細ボタン１３０５は代行ジョブ表示・選択領域１３０３で選択された代行ジョブ情報の詳細を表示するボタンである。次に代行印刷ボタン１３０６は代行ジョブ表示・選択領域１３０３で選択された代行ジョブの代行印刷を行うボタンである。代行印刷ボタン１３０６が押下されるとＷｅｂサーバ１０２に代行印刷リクエストを行う。ここでステータスが「自動代行」となっている代行ジョブはログインと同時に印刷が開始されるため、選択状態で代行印刷ボタン１３０６が押下された場合にはエラーとなりエラー画面を表示する。エラー画面については説明を省略する。最後に閉じるボタン１３０７が押下された場合にはＷｅｂサーバに対し空の代行印刷リクエストを行い、代行画面１１０２を破棄する。
【００６９】
＜エラージョブ画面１１０３＞
図１４はプルプリントアプリケーション９０２におけるエラージョブ画面１１０３の例である。エラージョブ画面１１０３は印刷エラー発生時に生成される。印刷エラー時の画面生成フローについては後述するためここでは画面構成のみを説明する。
【００７０】
例ではエラージョブ画面タブ１４０１、ログインユーザ名表示領域１４０２、エラージョブ表示・選択領域１４０３、ジョブ数表示領域１４０４、詳細ボタン１４０５、代行可能プリンタボタン１４０６、閉じるボタン１４０７からなる。エラー表示・選択領域１４０３にはログインユーザが印刷リクエストを行ったジョブを表示する。同時に表示できない個数だった場合は図示のようにページング処理を行う。図示は１ページに収まった場合である。またチェックボックスを設け複数のジョブを選択できるようになっている。詳細ボタン１４０５はエラージョブ表示・選択領域１４０３で選択されたエラージョブ情報の詳細を表示するボタンである。次に代行可能プリンタ１４０６はエラージョブ表示・選択領域１４０３で選択されたエラージョブが代行できるプリントデバイスの情報を表示するボタンである。閉じるボタン１４０７押下によりエラージョブ画面を破棄する。図１５は代行可能プリンタダイアログの例である。代行可能プリンタ表示領域１５０１に代行することができるプリンタの情報を表示する。代行可能プリンタ表示領域１５０１にはプリンタ名、プリンタ状態、設置場所などのユーザがプリントデバイスを特定できるような情報を表示する。閉じるボタン１５０２押下により代行可能プリンタダイアログを破棄する。
【００７１】
＜ログイン時シーケンス＞
ユーザがＩＣカードリーダ９１８よりログインし、プルプリントアプリケーション９０２が画面表示を行うシーケンスを図１６に示す。
【００７２】
Ｓ１６０１においてＩＣカードリーダ９１８からログインを受けた認証アプリケーション９０３は、ユーザアカウント（ユーザＩＤ）を取得し、プルプリントアプリケーション９０２にログインを通知する（Ｓ１６０２）。プルプリントアプリケーション９０２はログインをプルプリントコントローラ１１０４で受け付ける。このとき取得したユーザ名がログインユーザ名表示領域（１３０２、１４０２）に表示される。
【００７３】
まずＳ１６０３においてプルプリントアプリケーション９０２はＷｅｂサーバ１０２へログインを行う。この際、ログイン情報として前述の認証アプリケーション９０３から得たユーザアカウント（ユーザＩＤ）を利用する。またセキュリティの向上のため、パスワードを伴った認証方法も可能である。その場合は、認証アプリケーション９０３内でユーザＩＤとの対で管理する方法か、もしくは外部ディレクトリサーバ１０３と通信を行っても良い。また、ＩＣカードリーダ９１８の代替として画面でのＩＤ、パスワード入力という方法を用いることも可能である。
【００７４】
プルプリントアプリケーション９０２からログイン通知を受けたＷｅｂサーバ１０２はディレクトリサーバ１０３に対して認証情報の取得を行う（Ｓ１６０４）。ディレクトリサーバ１０３ではあらかじめ登録されているユーザ情報を参照し、認証を行う（Ｓ１６０５）。認証に成功した場合は、ユーザ情報およびユーザが所属するドメイングループ情報を認証情報として返却する（Ｓ１６０６）。また認証に失敗した場合は失敗を返却し、ログイン失敗となる。
【００７５】
ディレクトリサーバ１０３から認証情報を得たＷｅｂサーバ１０２はセッション開始をプルプリントアプリケーション９０２に通知する。このとき通知情報として先ほど得た認証情報を転送する（Ｓ１６０７）。
【００７６】
続いてＳ１６０８においてプルプリントアプリケーション６０２は取得した認証情報を元にＷｅｂサーバ１０２に対してドキュメントリスト取得をリクエストする。この際、例えばユーザＩＤにて登録しているリストのみの取得か、もしくは所属するドメイングループ全てのリストか、といった絞込み条件を設定することが可能である。本実施形態ではユーザＩＤにて登録しているリスト取得を行った場合を説明する。
【００７７】
Ｗｅｂサーバ１０２はドキュメントリストの取得リクエストを受け、Ｓ１６０９にてＤＢＭＳ１０４からユーザＩＤが一致するドキュメントのリストを取得する。また同時に自動代行ジョブリストと手動代行ジョブリスト取得する。プルプリントアプリケーション９０２へはドキュメントリスト、自動代行ジョブリスト、手動代行ジョブリストが転送される。処理の詳細は後述する。
【００７８】
次にプルプリントアプリケーション９０２は受信した自動代行ジョブリストの印刷を開始する（Ｓ１６１９）。印刷実行シーケンスの詳細は後述する。Ｓ１６１１、Ｓ１６１２において受信したリストをもとに代行画面１１０２とプルプリント画面１１０１を生成する。その際、取得したドキュメントやジョブの総数がそれぞれドキュメント数表示領域１２０４、ジョブ数表示領域１３０４に表示される。
【００７９】
Ｓ１６１３において、例えばハードキーの押下によってユーザのログアウトを検知した認証アプリケーション９０３はユーザのログアウトをプルプリントアプリケーション９０２に通知する（Ｓ１６１４）。通知を受けたプルプリントアプリケーション９０２はＷｅｂサーバ１０２に対して、ログアウトを通知する（Ｓ１６１５）。続いてＳ１６１６においてセッションの終了となる。
【００８０】
＜ドキュメントリスト取得リクエスト＞
図１７はＷｅｂサーバ１０２がプルプリントアプリケーション９０２からのドキュメントリスト取得リクエストを受け付けた際のフローチャートである。
【００８１】
Ｆ１７０１においてプルプリントアプリケーション９０２からのリクエストを受信すると、ＤＢＭＳ１０４からユーザＩＤが一致するドキュメント情報を取得しドキュメントリストに追加する。またＤＢＭＳ１０４よりユーザＩＤが一致するジョブ情報の取得しステータスを確認する（Ｆ１７０３、Ｆ１７０４）。Ｆ１７０４においてステータスが「自動代行待ち」となっているジョブは自動代行ジョブリストに追加し、ジョブＩＤをプリントサーバ１０１に通知する。自動代行を通知されたプリントサーバ１０１はジョブキュー７００から通知されたジョブＩＤを探し、リクエスト時にされたジョブキュー７００に移動を行う（Ｆ１７０６）。Ｆ１７０４においてステータスが「手動代行待ち」だった場合には手動代行ジョブリストに追加を行う。
【００８２】
ユーザＩＤが一致するジョブのステータスの確認が終わると、Ｆ１７０８においてドキュメントリスト、自動代行ジョブリスト、手動代行ジョブリストをリクエストのレスポンスとしてプルプリントアプリケーション９０２に通知する。
【００８３】
＜印刷データ生成リクエスト＞
プルプリント画面１１０１において印刷ボタン１２０７が押下されるとＷｅｂサーバ１０２に対して印刷データ生成リクエストが行われる。印刷データ生成リクエストにはドキュメントＩＤやデバイスアドレス、印刷設定などが含まれると考えられる。印刷データ生成リクエスト生成リクエストを受信したＷｅｂサーバ１０２はプリントサーバ１０１に対して印刷データ生成を指示する。プリントサーバ１０１はＤＢＭＳ１０４よりリクエストされたドキュメント情報５００を参照し、データパス５０４に保存されているドキュメントデータを取得する。ドキュメントデータの取得が完了すると印刷データ生成リクエストに従って印刷データの生成を行い、ジョブＩＤを発行しジョブキュー７００に追加する。また発行しジョブＩＤをもってＤＢＭＳ１０４にジョブ情報３００を登録する。
【００８４】
印刷データ生成処理が完了するとＷｅｂサーバ１０２を介してプルプリントアプリケーション９０２に印刷データ生成完了が通知される。
【００８５】
＜印刷実行シーケンス＞
図１８はプルプリントアプリケーション９０２が印刷データ生成完了を受信し、印刷を実行する際の印刷実行シーケンスである。
【００８６】
まずＳ１８０１において、プルプリントアプリケーション９０２およびスケジュールアプリケーション９０１間で通信のセッションを開始する。通信セッションはＴＣＰ／ＩＰやＨＴＴＰといった通信プロトコルによって確立される。
【００８７】
Ｓ１８０２においてプルプリントアプリケーション９０２はスケジュールアプリケーション９０１に対して接続要求を行う。スケジュールアプリケーション９０１は通信マネージャ１００１にて接続要求を受け付ける。次にＳ１８０３においてプルプリントアプリケーション９０２は印刷ジョブおよびプリントデバイスのステータスが変化した場合に通知を受けるべくスケジュールアプリケーション９０１に対してイベント登録を行う。次にスケジュールアプリケーション９０１に印刷実行するジョブのスケジュール要求を行いスケジュールが行われる（Ｓ１８０４、Ｓ１８０５）。Ｓ１８０６においてスケジュールアプリケーション９０１よりスケジュール登録したジョブの印刷許可を受信すると、Ｗｅｂサーバとのセッションを開始し接続要求・印刷データ転送要求を行う（Ｓ１８０７、Ｓ１８０８、Ｓ１８０９）。印刷データ転送要求を受け付けたＷｅｂサーバ１０２はプリントサーバ１０１より印刷データの取得を行いプリントサーバに印刷データ転送を行う（Ｓ１８１０）。印刷データの転送が終了するとセッションを終了する（Ｓ１８１１、Ｓ１８１２）。
【００８８】
印刷データの取得を行ったプルプリントアプリケーション９０２はＳ１８１３においてスケジュールアプリケーション９０１に転送開始を通知し、デバイスコントローラ９１０に印刷データ転送を行う（Ｓ１８１５）。ここでデバイスコントローラ９１０への印刷データ転送は仮想マシン９０５を介して転送する方法とネットワークインタフェース部９１４へ直接転送する方法が考えられる。
【００８９】
プルプリントアプリケーション９０２はデバイスコントローラ９１０への転送が終了するとスケジュールアプリケーション９０１に転送終了を通知する（Ｓ１８１５）。印刷データの転送が完了したジョブはデバイスコントローラ９１０により印刷が開始される（Ｓ１８１６）。Ｓ１８１７、Ｓ１８１８においてスケジュールアプリケーション９０１はデバイスコントローラ９１０より印刷開始の通知を受けプルプリントアプリケーション９０２に通知する。スケジュールアプリケーション９１０は起動時にデバイスコントローラ９１０に対してイベント登録を行っているためジョブ状態変化を受け取ることができる。
【００９０】
次にＳ１８１９において印刷が終了すると同様に印刷終了通知を行う（Ｓ１８２１、Ｓ１８２０）。印刷が終了するとスケジュールアプリケーション９０１とのイベント解除しセッションを終了する（Ｓ１８２２、Ｓ１８２３、Ｓ１８２４）。
【００９１】
＜代行印刷リクエスト＞
プルプリントアプリケーション９０２の代行画面１３０１において代行印刷ボタン１３０６が押下された場合プルプリントアプリケーションはＷｅｂサーバ１０２に代行印刷リクエストを行う。図１９はＷｅｂサーバ１０２がプルプリントアプリケーション９０２からの代行印刷リクエストを受信してからの処理をフローチャートで示したものである。
【００９２】
まずＷｅｂサーバ１０２がプルプリントアプリケーション９０２より代行印刷を実行するジョブＩＤリストを受信する（Ｆ１９０１）。次にＦ１９０２、Ｆ１９０３においてジョブＩＤリストのジョブのステータスを確認する。ジョブステータスの確認はジョブＩＤをもとにＤＢＭＳ１０４に保存されているジョブ情報３００を参照する。
【００９３】
Ｆ１９０３においてジョブのステータスが「手動代行待ち」だった場合には、プリントサーバ１０１に対して代行印刷を指示し代行印刷リクエストを行ったプリントデバイスへのジョブの移動が行われる（Ｆ１９０４）。プリントサーバ１０１におけるジョブの移動ではジョブキュー７００の移動と印刷データの移動が行われる。次にＦ１９０５においてプリントサーバ１０１はＷｅｂサーバを介してプルプリントアプリケーション９０２に印刷データ生成完了通知を発行する。「手動代行待ち」となっているジョブの印刷データは削除されずに残されているので改めて印刷データを生成する必要はない。
【００９４】
Ｆ１９０３においてステータスが「手動代行待ち」以外だった場合にはプルプリントアプリケーション９０２に印刷エラーを通知する。
【００９５】
ジョブＩＤリストのすべてのジョブの処理が終了すると、Ｗｅｂサーバ１０２はプリントサーバ１０１に代行処理終了を通知する。代行処理終了を受信したプリントサーバ１０１はＦ１９０７においてログインユーザのユーザＩＤに一致するジョブでステータスが「手動代行待ち」となっているジョブを「エラー終了」としジョブキュー７００から削除する。またこのとき印刷データの削除も行われる。
【００９６】
＜印刷エラー受信時フロー（プリントサーバ１０１）＞
プリントサーバ１０１はスケジュールアプリケーション９０１よりジョブステータス変化を受信しＤＢＭＳ１０４への反映を行っている。図２０はプリントサーバ１０１がスケジュールアプリケーション９０１よりジョブエラーを受信したときの処理をフローチャートで表したものである。
【００９７】
プリントサーバ１０１はスケジュールアプリケーション９０１よりジョブエラーを受信すると、エラーしたプリンタの代行条件４０７を確認する（Ｆ２００１、Ｆ２００２）。Ｆ２００３の代行条件の判断では代行条件４０７とスケジュールアプリケーション９０１より通知されたエラー情報の比較により代行するかどうか判断される。また代行条件４０７より「代行しない」「自動代行」「手動代行」などの代行方法も判断できる。
【００９８】
Ｆ２００３においてエラー原因が代行条件４０７と合致しない、または「代行しない」設定だった場合にはエラーしたジョブのステータスを「印刷エラー」にする。次にＦ２００３においてエラー原因が代行条件４０７に合致し「自動代行」の設定だった場合には、エラープリンタのジョブキュー７００にある全てのジョブのステータスを「自動代行待ち」に更新する（Ｆ２００５）。エラー原因が代行条件４０７に合致し「手動代行」の設定だった場合にはエラープリンタのジョブキュー７００にある全てのジョブのステータスを「手動代行待ち」に更新する（Ｆ２００６）。
【００９９】
ここでジョブステータスが「自動代行待ち」「手動代行待ち」に設定されたジョブは以降、ジョブキャンセルが通知されたとしてもジョブキュー７００からの削除及び印刷データの削除は行われない。次回ログイン時または代行印刷リクエスト時まで「自動代行待ち」「手動代行待ち」となっているジョブは保持される。
また印刷エラー時にエラーしたページ番号を保存しておき、代行印刷実行じに途中のページから印刷を開始できることはいうまでもない。
【０１００】
＜印刷エラー受信時フロー（プルプリントアプリケーション９０２）＞
プルプリントアプリケーション９０２はＳ１８０３においてスケジュールアプリケーション９０１に対してイベント登録を行っており、ジョブのステータス変更の通知を受信することができる。図２１はプルプリントアプリケーション９０２がスケジュールアプリケーション９０１よりジョブエラーを受信したときの処理をフローチャートで表したものである。
【０１０１】
プルプリントアプリケーション９０２がジョブエラーを受信すると、プリントサーバ１０１に対して代行設定の確認リクエストを行う（Ｆ２１０１、Ｆ２１０２）。プリントサーバ１０１はジョブエラー情報を取得し代行判定を行う。代行判定の方法は前述したのでここでは省略する。プリントサーバ１０１は代行判定の結果、「自動代行待ち」「手動代行待ち」となる代行ジョブリストをプルプリントアプリケーション９０２に通知する。また同時に代行ジョブが印刷可能なプリンタリストも通知される。代行ジョブが印刷可能かどうかの判断はプリントデバイスのステータス４０５やドライバ名４０９などから判断される。
【０１０２】
次にプルプリントアプリケーション９０２はプリントサーバ１０１から受信した代行ジョブのキャンセルを行う（Ｆ２１０４）。ジョブのキャンセルはスケジュールアプリケーション９０１を介して行われる。ジョブキャンセルの詳細は省略する。
【０１０３】
次に認証アプリケーション９０３でログインが行われており、代行ジョブリストにログインユーザのジョブが含まれている場合、エラージョブ画面１１０３を生成し表示する（Ｆ２１０５、Ｆ２１０６、Ｆ２１０７）。
【０１０４】
エラージョブ画面１１０３からは印刷可能プリンタダイアログを表示させることができ、ユーザはエラーしたジョブが印刷可能なプリンタをその場で確認することができる。
【０１０５】
＜他の実施形態＞
以上、実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、プリンタ、ファクシミリ、ＰＣ、サーバとクライアントとを含むコンピュータシステムなどの如くである。
【０１０６】
本発明は、前述した実施形態の各機能を実現するソフトウェアプログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【０１０７】
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【０１０８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１０９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１１０】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【０１１１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【０１１２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【０１１３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【符号の説明】
【０１１４】
１０１  プリントサーバ
１０２  Ｗｅｂサーバ
１０３  ディレクトリサーバ
１０４  ＤＢＭＳ
１０７  プリントデバイス
３００  ジョブ情報
４００  デバイス情報
５００  ドキュメント情報
７００  ジョブキュー
９０１  スケジュールアプリケーション
９０２  プルプリントアプリケーション
９０３  認証アプリケーション
９１０  デバイスコントローラ
【図１】
2011095894.tif 000003
【図２】
2011095894.tif 000004
【図３】
2011095894.tif 000005
【図４】
2011095894.tif 000006
【図５】
2011095894.tif 000007
【図６】
2011095894.tif 000008
【図７】
2011095894.tif 000009
【図８】
2011095894.tif 000010
【図９】
2011095894.tif 000011
【図１０】
2011095894.tif 000012
【図１１】
2011095894.tif 000013
【図１２】
2011095894.tif 000014
【図１３】
2011095894.tif 000015
【図１４】
2011095894.tif 000016
【図１５】
2011095894.tif 000017
【図１６】
2011095894.tif 000018
【図１７】
2011095894.tif 000019
【図１８】
2011095894.tif 000020
【図１９】
2011095894.tif 000021
【図２０】
2011095894.tif 000022
【図２１】
2011095894.tif 000023