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