(57)【特許請求の範囲】
【請求項１】
サーバ装置と画像形成装置とを備えるシステムであって、
前記サーバ装置は、
ユーザに対応するトークン情報を保持する保持手段と、
ユーザ装置からユーザ情報を受け付ける受付手段と、
前記受付手段によって受け付けた前記ユーザ情報に基づいてユーザを認証する認証手段と、
前記認証手段によって認証が成功したユーザに対応するトークン情報を発行する発行手段と、
前記発行手段によって発行されたユーザに対応するトークン情報を含んだプルプリントの印刷要求を前記画像形成装置へ転送する指示を前記ユーザ装置に送信する送信手段を備え、
前記画像形成装置は、
前記ユーザ装置により前記指示に従って送信された、前記ユーザに対応するトークン情報を含んだプルプリントの印刷要求を取得する取得手段と、
前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれているか否かを判定する判定手段と、
前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていると前記判定手段によって判定された場合、前記取得手段によって取得された前記プルプリントの印刷要求に従い、前記ユーザに対応するトークン情報と印刷データの取得要求を前記サーバ装置に送信する要求送信手段と、
前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないと前記判定手段によって判定された場合、前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないために当該プルプリントの印刷要求に失敗したことを示す応答を前記ユーザ装置に送信する応答送信手段と、
を備え、
前記印刷データの取得要求を受信したサーバ装置は、
前記画像形成装置から受信した前記ユーザに対応するトークン情報と、前記保持手段に保持されたユーザに対応するトークン情報とに基づいて、前記印刷データを前記画像形成装置へ送信する
ことを特徴とする印刷システム。 
【請求項２】
前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないために当該プルプリントの印刷要求に失敗したことを示す応答を受信したユーザ装置は、前記ユーザに対応するトークン情報の取得要求を前記サーバ装置に送信し、
前記ユーザに対応するトークン情報の取得要求を受信したサーバ装置は、前記ユーザに対応するトークン情報を含んだプルプリントの印刷要求を前記画像形成装置へ転送する指示を前記ユーザ装置に送信する
ことを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記画像形成装置は、
前記判定手段は、前記取得手段によって取得された前記プルプリントの印刷要求に前記トークン情報を記述可能なＨＴＴＰ拡張情報が含まれているかをさらに判定し、
前記応答送信手段は、前記判定手段によって前記ＨＴＴＰ拡張情報が含まれていないと判定された場合に、前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないために当該プルプリントの印刷要求に失敗したことを示す応答を前記ユーザ装置に送信する、
ことを特徴とする請求項１又は２に記載の印刷システム。
【請求項４】
前記画像形成装置が備える前記応答送信手段は、
前記取得手段によって取得された前記プルプリントの印刷要求に前記トークン情報を記述可能なＨＴＴＰ拡張情報に前記トークン情報が含まれていると前記判定手段が判定した場合に、当該トークン情報を、予め定められた期間、記憶手段に保存し、
前記ＨＴＴＰ拡張情報に前記トークン情報が含まれていないと前記判定手段が判定した場合に、前記記憶手段に前記トークン情報が保存されているかを判定し、
前記記憶手段に前記トークン情報が保存されていないと判定した場合に、前記ユーザ装置に対して、前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないために当該プルプリントの印刷要求に失敗したことを示す応答を送信する
ことを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記トークン情報を含んだプルプリントの印刷要求のフォーマットは、ＷＳＤ(Ｗｅｂ  Ｓｅｒｖｉｃｅ  ｏｎ  Ｄｅｖｉｃｅ)プルプリントの印刷要求フォーマットに、前記トークン情報を含むように拡張した形式である
ことを特徴とする請求項１乃至４のいずれか１項に記載の印刷システム。
【請求項６】
前記送信手段は、前記ユーザ装置に対して、前記プルプリントの印刷要求のフォーマットに前記トークン情報を含めた拡張を行わせるためのスクリプトを送信する、
ことを特徴とする請求項１乃至５のいずれか１項に記載の印刷システム。
【請求項７】
前記スクリプトは、ＪａｖａＳｃｒｉｐｔ（登録商標）であり、
前記ユーザ装置は、
前記サーバ装置が備える前記送信手段から受けた前記ＪａｖａＳｃｒｉｐｔ（登録商標）を実行することによって、前記トークン情報が記述されたＨＴＴＰ拡張情報を含むプルプリントの印刷要求を生成して前記画像形成装置に送信する要求手段を備える
ことを特徴とする請求項６に記載の印刷システム。
【請求項８】
前記サーバ装置が備える前記送信手段は、前記ユーザ装置に対して、前記プルプリントの印刷要求のフォーマットに前記トークン情報と前記印刷データを示す情報とを含めた拡張を行わせるためのＪａｖａＳｃｒｉｐｔ（登録商標）を送信し、
前記ユーザ装置が備える要求手段は、前記サーバ装置から受けた前記ＪａｖａＳｃｒｉｐｔ（登録商標）を実行することによって、前記トークン情報と前記印刷データを示す情報が記述されたＨＴＴＰ拡張情報を含むプルプリントの印刷要求を生成して前記画像形成装置に送信し、
前記取得手段は、前記ユーザ装置から受信した前記プルプリントの印刷要求が含む前記ＨＴＴＰ拡張情報に記述された前記トークン情報と前記印刷データを示す情報とを取得し、
前記要求送信手段は、前記取得した前記トークン情報と前記印刷データを示す情報とを前記印刷データの取得要求のＨＴＴＰヘッダに記述して、当該印刷データの取得要求を前記サーバ装置に対して行う
ことを特徴とする請求項７に記載の印刷システム。 
【請求項９】
サーバ装置と通信可能な画像形成装置であって、
ユーザ装置から受け付けたユーザ情報に基づいて認証が成功したユーザに対応して発行されたトークン情報を含んだプルプリントの印刷要求を、前記サーバ装置の指示に従い送信する前記ユーザ装置から取得する取得手段と、
前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれているか否かを判定する判定手段と、
前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていると前記判定手段によって判定された場合、前記取得手段によって取得された前記プルプリントの印刷要求に従い、前記ユーザに対応するトークン情報と印刷対象の印刷データの取得要求を前記サーバ装置に送信する要求送信手段と、
前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないと前記判定手段によって判定された場合、前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないために当該プルプリントの印刷要求に失敗したことを示す応答を前記ユーザ装置に送信する応答送信手段と、
前記要求送信手段によって送信された前記ユーザに対応するトークン情報と、前記サーバ装置の保持手段に保持されたユーザに対応するトークン情報と、に基づいて、前記サーバ装置から送信される印刷データに基づいて印刷を実行する印刷手段と、を備える
ことを特徴とする画像形成装置。
【請求項１０】
サーバ装置と通信可能な画像形成装置が、
ユーザ装置から受け付けたユーザ情報に基づいて認証が成功したユーザに対応して発行されたトークン情報を含んだプルプリントの印刷要求を、前記サーバ装置の指示に従い送信する前記ユーザ装置から取得し、
取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれているか否かを判定し、
取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていると判定された場合、取得された前記プルプリントの印刷要求に従い、前記ユーザに対応するトークン情報と印刷対象の印刷データの取得要求を前記サーバ装置に送信し、
取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないと判定された場合、前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないために当該プルプリントの印刷要求に失敗したことを示す応答を前記ユーザ装置に送信し、
送信された前記ユーザに対応するトークン情報と、前記サーバ装置の保持手段に保持されたユーザに対応するトークン情報と、に基づいて、前記サーバ装置から送信される印刷データに基づいて印刷を実行する
ことを特徴とする画像形成装置を制御する制御方法。
【請求項１１】
サーバ装置と通信可能な画像形成装置で実行されるプログラムであって、コンピュータに、
ユーザ装置から受け付けたユーザ情報に基づいて認証が成功したユーザに対応して発行されたトークン情報を含んだプルプリントの印刷要求を、前記サーバ装置の指示に従い送信する前記ユーザ装置から取得する処理と、
取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれているか否かを判定する処理と、
取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていると判定された場合、取得された前記プルプリントの印刷要求に従い、前記ユーザに対応するトークン情報と印刷対象の印刷データの取得要求を前記サーバ装置に送信する処理と、
取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないと判定された場合、前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないために当該プルプリントの印刷要求に失敗したことを示す応答を前記ユーザ装置に送信する処理と、
送信された前記ユーザに対応するトークン情報と、前記サーバ装置の保持手段に保持されたユーザに対応するトークン情報と、に基づいて、前記サーバ装置から送信される印刷データに基づいて印刷を実行する処理と、を実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、サーバ装置、画像形成装置および印刷処理方法に関する。
【背景技術】
【０００２】
企業のイントラネット内に設けられたクライアント装置（ユーザ装置）がインターネット上にある各種サービスを利用できるようにするシステムが提案されている。このようなシステムにおいては、一般的に、イントラネットとインターネットとの境界に、ファイアウォールが設けられている。
【０００３】
ファイアウォールは、イントラネット側からインターネット側への接続は許可するが、インターネット側からイントラネット内への接続は拒否するように設定されている。これにより、インターネット側の装置からイントラネット内への侵入が防御される。このような背景から、従来のＷｅｂを使用した通信システムにおいては、クライアント装置がサーバ装置に対して情報取得の要求を行い、サーバ装置が情報を返すというプル（ＰＵＬＬ）型通信が行われている。
【０００４】
また、従来、企業内で用いられる印刷システムは、インターネットを介して使用できるようになってきている。ファイアウォールが存在するので、インターネットを介したクライアント装置への印刷サービスの提供は、インターネット上のプリントサーバにある印刷ジョブを、イントラネット内の画像形成装置が取得しにいくプル型通信により実現される。このプル型通信により実現される印刷処理をプル型印刷処理という。
【０００５】
特許文献１は、ネットワークを介して接続された複数の機器の各種情報をサーバ側からセキュリティを確保して収集するリモートプリンティングシステムを開示する。このシステムでは、ユーザが、クライアントコンピュータでプリントサーバに対して認証を行い、印刷ジョブをプリントサーバにアップロードする。そして、イントラネット内の仲介機器が、定期的にインターネット上のプリントサーバに問合せを行い、イントラネット内のプリンタに対する印刷ジョブが存在した場合にはそれを受信してプリンタに転送する。
【０００６】
また、ＷＳＤ（Web Services on Devices ）のプル型印刷処理を実行するシステムにおいては、以下のような印刷処理が実行される。すなわち、クライアントコンピュータが、イントラネット内の画像形成装置に対して、プルプリント要求を送信する。プルプリント要求は、インターネット上に存在するプリントサーバの印刷ジョブのＵＲＬを含む。プルプリント要求を受信した画像形成装置が、プリントサーバに対して印刷ジョブの取得を行い、取得した印刷ジョブに対して印刷処理を行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２９４９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来、プル型印刷処理を実行するシステムにおいて、画像形成装置がプリントサーバに対して印刷ジョブを取得する際の認証は、画像形成装置ごとに設定された認証情報を利用して行われていた。しかし、この認証は、画像形成装置ごとの認証であり、ユーザごとの認証を行うことはできない。
【０００９】
ここで、クライアントコンピュータが、ユーザごとの認証（または認可）処理を行うためのトークン情報を画像形成装置に渡すことで、画像形成装置がプリントサーバに対して印刷ジョブを取得する際にユーザごとの認証処理または認可処理を行う方法が考えられる。しかし、この方法では、印刷システムで利用するトークン情報の種類を後から追加、変更する場合には、画像形成装置のソフトウェアを変更しなければならなくなる。
【００１０】
本発明は、プル型印刷処理を行うシステムであって、印刷サービスを受けるユーザごとの認証処理を行うことができ、かつ、認証処理に用いるトークン情報を変更する場合でも、画像形成装置のソフトウェア変更を必要としない印刷システムの提供を目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施形態の印刷システムは、サーバ装置と画像形成装置とを備える印刷システムである。前記サーバ装置は、ユーザに対応するトークン情報を保持する保持手段と、ユーザ装置からユーザ情報を受け付ける受付手段と、前記受付手段によって受け付けた前記ユーザ情報に基づいてユーザを認証する認証手段と、前記認証手段によって認証が成功したユーザに対応するトークン情報を発行する発行手段と、前記発行手段によって発行されたトークン情報を含んだプルプリントの印刷要求を前記画像形成装置へ転送する指示を前記ユーザ装置に送信する送信手段を備え、前記画像形成装置は、前記ユーザ装置により前記指示に従って送信された、前記ユーザに対応するトークン情報を含んだプルプリントの印刷要求を取得する取得手段と、前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれているか否かを判定する判定手段と、前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていると前記判定手段によって判定された場合、前記取得手段によって取得された前記プルプリントの印刷要求に従い、前記ユーザに対応するトークン情報と前記印刷データの取得要求を前記サーバ装置に送信する要求送信手段と、前記取得手段によって取得された前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないと前記判定手段によって判定された場合、前記プルプリントの印刷要求に前記ユーザに対応するトークン情報が含まれていないために当該プルプリントの印刷要求に失敗したことを示す応答を前記ユーザ装置に送信する応答送信手段と、を備える。前記印刷データの取得要求を受信したサーバ装置は、前記画像形成装置から受信した前記ユーザに対応するトークン情報と、前記保持手段に保持されたユーザに対応するトークン情報とに基づいて、前記印刷データを前記画像形成装置へ送信する。
【発明の効果】
【００１２】
本発明の印刷システムによれば、プル型印刷処理を行う際に、印刷サービスを受けるユーザごとの認証処理を行うことができる。また、画像形成装置のソフトウェア変更をすることなく、ユーザの認証処理に用いるトークン情報を変更することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のシステム構成例を示す図である。
【図２】画像形成装置のハードウェア構成例を示す図である。
【図３】クライアントコンピュータ、プリントサーバ、認証サーバのハードウェア構成例を示す図である。
【図４】画像形成装置およびクライアントコンピュータの機能ブロック図である。
【図５】プリントサーバおよび認証サーバの機能ブロック図の一例である。
【図６】文書一覧画面の例を示す図である。
【図７】実施例１における印刷処理を説明するシーケンス図である。
【図８】印刷システム内で送受信される要求／応答の例を示す図である。
【図９】ＨＴＴＰヘッダ管理テーブルの一例を示す図である。
【図１０】プリントサーバの動作処理を説明するフローチャートである。
【図１１】画像形成装置の動作処理を説明するフローチャートである。
【図１２】認証トークンをＨＴＴＰのリクエスト行のクエリストリング後に含む印刷ジョブ取得要求の例を示す図である。
【図１３】実施例２における印刷処理を説明するシーケンス図である。
【図１４】プルプリント要求およびプルプリント要求失敗応答の例である。
【図１５】実施例２におけるプリントサーバの動作処理を説明するフローチャートである。
【図１６】実施例２における画像形成装置の動作処理を示すフローチャートである。
【発明を実施するための形態】
【実施例１】
【００１４】
図１は、本実施形態のシステム構成例を示す図である。図１に示す印刷システムは、画像形成装置１０１、クライアントコンピュータ１０２、認証サーバ１２２、プリントサーバ１２３を備える。
【００１５】
クライアントコンピュータ１０２と、認証サーバ１２２とは、イントラネット１０内に設けられており、例えばＬＡＮ（Local Area Network）等のネットワーク１０６を介して互いに通信できる。プリントサーバ１２３と認証サーバ１２２とは、インターネット等のネットワーク１２１に接続されている。また、ネットワーク１２１とイントラネットとの境界に、ファイアウォール１０５が設けられている。
【００１６】
なお、図１において、イントラネットは一つだけしか図示していないが、イントラネット１０と同様の構成を持つイントラネットが複数存在していてもよい。同様に、画像形成装置、クライアントコンピュータの台数は、図１中に示す台数に限定されない。
【００１７】
画像形成装置１０１は、プリントサーバ１２３が蓄積している印刷ジョブをプリントサーバ１２３から取得して印刷する機能を持つ。クライアントコンピュータ１０２は、ユーザが所望する画像形成装置への印刷を指示するユーザ装置である。プリントサーバ１２３は、本実施形態のサーバ装置であって、印刷システム全体を制御する。
【００１８】
プリントサーバ１２３は、クライアントコンピュータ１０２からの印刷要求に応じた処理、印刷ジョブの管理、画像形成装置の管理といった様々な処理を行う。また、プリントサーバ１２３は、夫々のユーザに対応する文書を管理する文書管理サーバとしての機能も備えている。認証サーバ１２２は、プリントサーバ１２３にアクセスするユーザの認証処理または認可処理を行う。このために、認証サーバ１２２は、ユーザの認証処理または認可処理に用いるトークン情報を管理する。なお、プリントサーバ１２３と認証サーバ１２２とが本実施形態のサーバ装置を構成するようにしてもよい。本実施形態の印刷処理方法は、図１に示すシステムが備える各処理装置の機能によって実現される。また、本実施形態のコンピュータプログラムは、当該印刷処理方法をコンピュータに実行させることを特徴とする。
【００１９】
図２は、画像形成装置のハードウェア構成例を示す図である。図２に示す画像形成装置は、例えば、複写機である。画像形成装置１０１が備えるＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭまたは外部記憶装置２１１に記憶された制御プログラムに基づいてシステムバス２０４に接続される各種のデバイスとのアクセスを総括的に制御する。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称である。
【００２０】
また、ＣＰＵ２０１は、印刷インターフェース２０７を介して接続される印刷部（プリンタエンジン）２１０に、出力情報としての画像信号を出力する。また、ＣＰＵ２０１は、読取インターフェース２１２を介して接続される読取部（スキャナ）２１３から入力される画像信号を制御する。
【００２１】
ＲＯＭ２０３のプログラム用ＲＯＭには、ＣＰＵ２０１が実行可能な制御プログラム等が予め記憶されている。ＲＯＭ２０３のフォント用ＲＯＭには、ＣＰＵ２０１が上記出力情報を生成する際に使用するフォントデータ（アウトラインフォントデータを含む）等が予め記憶されている。また、ＲＯＭ２０３のデータ用ＲＯＭには、クライアントコンピュータ上で利用される情報等が予め記憶されている。ＣＰＵ２０１は、ＬＡＮコントローラ２０６を介して、ネットワーク上のクライアントコンピュータや画像形成装置との通信処理を実行する。
【００２２】
ＲＡＭ２０２は、主としてＣＰＵ２０１の主メモリ、ワークエリア等として機能する記憶手段である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。ＲＡＭ２０２は、図示しない増設ポートに接続されるオプションＲＡＭにより、メモリ容量を拡張することができるように構成されている。ＲＡＭ２０２は、例えば、出力情報展開領域，環境データ格納領域等に用いられる。
【００２３】
ハードディスク（ＨＤＤ）、ＩＣカード等の外部記憶装置２１１は、ディスクコントローラ（ＤＫＣ）２０８によって、アクセスが制御される。ハードディスクは、アプリケーションプログラム、フォントデータ、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。本実施形態においては、外部記憶装置２１１としてＨＤＤを使用するものとし、ハードディスクには、ジョブログ、画像ログ等各種ログが記憶される。
【００２４】
また、ハードディスクは、スキャナ２１３から読み取られた画像データやプリントジョブの画像データをＢＯＸデータとして保持するＢＯＸデータ格納領域としても使用される。
【００２５】
クライアントコンピュータ１０２は、ＢＯＸデータ格納領域に保持されているＢＯＸデータをネットワークを介して参照したり、当該ＢＯＸデータの印刷指示を行ったりすることができる。なお、外部記憶装置２１１は、１個に限定されない。外部記憶装置２１１は、内蔵フォントに加えて、オプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。
【００２６】
操作パネル２０５は、ユーザによるソフトウェアキーの操作に応じた各種情報を入力する。不揮発性メモリ２０９は、操作パネル２０５から設定される各種設定情報を記憶する。
【００２７】
また、図示していないが、画像形成装置１０１には、さらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置など各種拡張装置を装着することが可能である。これらの各種拡張装置の動作は、ＣＰＵ２０１によって制御される。
【００２８】
図３は、クライアントコンピュータ、プリントサーバ、認証サーバのハードウェア構成例を示す図である。ＣＰＵ３０１は、システムバス３０４に接続された各種デバイスの制御を行う。ＲＯＭ３０２は、ＢＩＯＳやブートプログラムを記憶する。ＲＡＭ３０３は、ＣＰＵ３０１の主記憶装置として使用される。
【００２９】
キーボードコントローラ（ＫＢＣ）３０５は、マウス（登録商標）等のポインティングデバイス（ＰＤ）３０９、キーボード（ＫＢ）３１０からの情報入力に応じた処理を行う。表示制御部（ＣＲＴＣ）３０６は、内部にビデオメモリを有する。ＣＲＴＣ３０６は、ＣＰＵ３０１の指示に従って、ビデオメモリに描画する。また、ＣＲＴＣ３０６は、ＣＰＵ３０１の指示に従って、ビデオメモリに描画されたイメージデータをビデオ信号としてＣＲＴ表示装置３１１に出力する。
【００３０】
図３においては、表示装置としてＣＲＴを例示しているが、表示装置の種類は限定されない。例えば、表示装置が液晶表示装置等であってもよい。ディスクコントローラ（ＤＫＣ）３０７は、ハードディスク（ＨＤＤ）３１２、フロッピー（登録商標）ディスク（ＦＤ）３１３へのアクセスを行う。ネットワークインタフェースカード（ＮＩＣ）３０８は、ネットワークに接続し、当該ネットワークを介して情報通信を行う。
【００３１】
なお、ＨＤＤ３１２には、ＯＳやＯＳ上で動作する各種アプリケーションプログラム等が格納される。本装置の電源がＯＮになると、ＣＰＵ３０１は、ＲＯＭ３０２に格納されたブートプログラムに従って、ＨＤＤ３１２からＯＳをＲＡＭ３０３に読み込み、本装置を情報処理装置として機能させる。
【００３２】
図４は、画像形成装置およびクライアントコンピュータの機能ブロック図の一例である。図４（Ａ）は、画像形成装置の機能ブロック図を示す。画像形成装置１０１は、印刷要求受信部４０１、印刷ジョブ取得部４０２、印刷処理部４０３、イベント通知部４０４、ＨＴＴＰヘッダ変換部４０５、ＨＴＴＰヘッダ管理テーブル４０６を備える。
【００３３】
印刷要求受信部４０１は、クライアントコンピュータ１０２から、印刷ジョブ生成要求、プルプリント要求を受信（取得）する。印刷要求受信部４０１は、印刷ジョブ生成要求を印刷ジョブ取得部に渡す。また、印刷要求受信部４０１は、プルプリント要求に含まれる印刷ジョブのアドレス情報（ＵＲＬ）を印刷ジョブ取得部４０２に渡す。このＵＲＬは、印刷ジョブを蓄積しているプリントサーバ１２３のアドレスとパスとを含む。
【００３４】
印刷要求受信部４０１は、プルプリント要求のフォーマットを解釈して、プルプリント要求が含むＨＴＴＰ拡張情報を取得して、記憶手段であるＨＴＴＰヘッダ管理テーブル４０６に保存する。また、印刷要求受信部４０１は、ＨＴＴ拡張情報をＨＴＴＰヘッダ変換部４０５に渡す。
【００３５】
ＨＴＴＰヘッダ変換部４０５は、ＨＴＴＰ拡張情報を機械的に変換して、印刷ジョブの取得要求で利用されるＨＴＴＰヘッダを生成し、印刷ジョブ取得部４０２に渡す。具体的には、ＨＴＴＰヘッダ変換部４０５は、ＨＴＴＰ拡張情報に記述されている、クライアントコンピュータ１０２のユーザの認証または認可に用いるトークン情報と、印刷要求に対応する印刷データを示す情報とを取得する取得手段として機能する。そして、ＨＴＴＰヘッダ変換部４０５は、取得したトークン情報と上記印刷データを示す情報とをＨＴＴＰヘッダに記述し、当該ＨＴＴＰヘッダを印刷ジョブ取得部４０２に渡す。
【００３６】
すなわち、ＨＴＴＰヘッダ変換部４０５および印刷ジョブ取得部４０２は、取得されたプルプリントの印刷要求に含まれるトークン情報を印刷データ取得要求に含め、この印刷データ取得要求をプリントサーバ１２３に対して行う印刷データ取得要求手段である。ＨＴＴＰヘッダ変換部４０５の、より詳細な動作処理については、図７を参照して後述する。
【００３７】
ＨＴＴＰヘッダ管理テーブル４０６には、ＨＴＴＰ拡張情報が保存される。印刷ジョブ取得部４０２は、ＨＴＴＰヘッダ変換部４０５から受け取ったＨＴＴＰヘッダを有する印刷ジョブ取得要求を生成する。
【００３８】
印刷ジョブ取得部４０２は、印刷要求受信部４０１から印刷要求を受け取ると、印刷ジョブを識別するＪｏｂＩＤを含む印刷ジョブを生成する。また、印刷ジョブ取得部４０２は、印刷要求受信部４０１から受け取ったＵＲＬに対して、当該印刷ジョブ取得要求を送信する。すなわち、画像形成装置１０１は、プルプリント要求のフォーマットを解釈してトークン情報を取得し、ＨＴＴＰヘッダに該トークン情報を含めた印刷データ取得の要求（印刷データ取得要求）を、ネットワークを介してプリントサーバ１２３に対して行う。
【００３９】
また、印刷ジョブ取得部４０２は、印刷ジョブ取得要求の応答として、印刷ジョブを受信し、印刷処理部４０３に渡す。この印刷ジョブは、トークン情報を基に認証、または認可されたことで、プリントサーバ１２３から送信される。印刷処理部４０３は、印刷ジョブを解析してビットマップに展開し、用紙への印刷を行う。つまり、印刷処理部４０３は、印刷ジョブが含む印刷データを基に、印刷出力を行う印刷手段として機能する。イベント通知部４０４は、ジョブ終了等の印刷ジョブの状態をプリントサーバ１２３に通知する。
【００４０】
図４（Ｂ）は、クライアントコンピュータの機能ブロック図を示す。クライアントコンピュータ１０２は、Ｗｅｂブラウザ部５０１を備える。Ｗｅｂブラウザ部５０１は、クライアントコンピュータ１０２のユーザの操作に従って、プリントサーバ１２３にアクセスし、プリントサーバ１２３に対してログイン要求、印刷要求を行う。
【００４１】
また、Ｗｅｂブラウザ部５０１は、プルプリント要求手段としても機能する。すなわち、Ｗｅｂブラウザ部５０１は、プリントサーバ１２３から受けた応答が含むＪａｖａ（登録商標）Ｓｃｒｉｐｔ（Ｓｃｒｉｐｔ言語で記述されたクライアントコンピュータに対する制御命令）を実行する。本実施形態に特有の動作として、Ｗｅｂブラウザ部５０１は、プリントサーバ１２３から返される印刷要求応答のＪａｖａＳｃｒｉｐｔを実行することによって、プルプリント要求を生成し、生成したプルプリント要求を画像形成装置１０１に送信する。すなわち、クライアントコンピュータ１０２は、プリントサーバ１２３の指示に従って、プルプリント要求を生成する。言い換えると、プリントサーバ１２３は、印刷要求応答をクライアントコンピュータ１０２に返すことを通じ、印刷要求を行ったクライアントコンピュータ１０２に対し、プルプリントの印刷要求にトークン情報を付加するように指示する。
【００４２】
このプルプリント要求は、プルプリントの印刷要求である。Ｗｅｂブラウザ部５０１は、プルプリント要求のフォーマットに、トークン情報を含めた拡張を行って、プルプリント要求を生成する。具体的には、Ｗｅｂブラウザ部５０１は、ユーザに対応付けられたトークン情報が記述されたＨＴＴＰ拡張情報を含むプルプリント要求を生成する。このトークン情報は、クライアントコンピュータ１０２のユーザに対応付けられた情報であって、クライアントコンピュータ１０２がプリントサーバ１２３から印刷サービスを受ける際のユーザの認証または認可に用いられる。Ｗｅｂブラウザ部５０１は、生成したトークン情報を画像形成装置１０１に送信する。
【００４３】
なお、本実施形態においては、プリントサーバ１２３から返された応答がＪａｖａＳｃｒｉｐｔを含む場合を例にとって説明するが、本発明は、ＪａｖａＳｃｒｉｐｔ以外のＳｃｒｉｐｔ言語を適用することもできる。
【００４４】
図５は、プリントサーバおよび認証サーバの機能ブロック図の一例である。図５（Ａ）は、プリントサーバの機能ブロック図を示す。プリントサーバ１２３は、Ｗｅｂサーバ部６０１、文書管理部６０２、印刷制御部６０３、要求応答部６０４、印刷ジョブ取得要求処理部６０５、イベント受信部６０６、認証制御部６０７を備える。
【００４５】
Ｗｅｂサーバ部６０１は、クライアントコンピュータ１０２に対して、ＵＩを提供する。そして、当該ＵＩ上におけるユーザ操作に従って生成／送信された要求をクライアントコンピュータ１０２から受け取る。例えば、Ｗｅｂサーバ部６０１は、クライアントコンピュータ１０２から、ログイン要求を受け付ける。また、Ｗｅｂサーバ部６０１は、クライアントコンピュータ１０２から印刷データの印刷要求を受け付ける印刷要求受け付け手段として機能する。上記印刷要求は、ユーザが印刷処理させたい画像形成装置を指定する情報を含む。
【００４６】
また、例えば、Ｗｅｂサーバ部６０１は、画像形成装置１０１から、印刷ジョブ取得要求を受け取って、印刷ジョブ取得要求処理部６０５に渡す。この印刷ジョブ取得要求は、画像形成装置１０１が印刷処理の対象とする印刷データを含む印刷ジョブの送信を求める要求である。具体的には、画像形成装置１０１が、トークン情報が付加されたプルプリントの印刷要求をクライアントコンピュータ１０２から受信し、プルプリントの印刷要求からトークン情報を取得し、トークン情報を含む印刷データ取得要求をプリントサーバに送信する。プリントサーバ１２３のＷｅｂサーバ部６０１は、この印刷データ取得要求を受け付けるデータ取得要求受け付け手段として機能する。
【００４７】
Ｗｅｂサーバ部６０１は、クライアントコンピュータ１０２または画像形成装置１０１から受け取った要求に応じた処理を実行する。例えば、Ｗｅｂサーバ部６０１が、ログイン要求を受け取った場合を想定する。Ｗｅｂサーバ部６０１は、後述する認証制御部６０７から、当該ログイン要求を行ったユーザの認証処理結果を受け取る。この認証処理結果が、当該ユーザの認証が成功したことを示す場合、Ｗｅｂサーバ部６０１は、文書管理部６０２が管理する当該ユーザの文書情報をクライアントコンピュータ１０２に返す。
【００４８】
また、Ｗｅｂサーバ部６０１が、クライアントコンピュータ１０２から印刷要求を受信した場合、Ｗｅｂサーバ部６０１は、この印刷要求を印刷制御部６０３と要求応答部１２３とに渡す。印刷制御部６０３は、Ｗｅｂサーバ部６０１から受け取った印刷要求が指定する画像形成装置に対応する印刷ジョブを生成し、記憶手段に一時的に蓄積する。
【００４９】
認証制御部６０７は、認証サーバ１２２に、ユーザ名、パスワード、認証トークンを渡す。具体的には、Ｗｅｂサーバ部６０１が、クライアントコンピュータ１０２からログイン要求を受け取った場合、認証制御部６０７は、以下の処理を行う。認証制御部６０７は、ログイン要求が含む当該クライアントコンピュータ１０２のユーザのユーザＩＤとパスワードとを認証サーバ１２２に渡し、ユーザの認証要求を行う。そして、認証制御部６０７は、認証サーバ１２２がユーザの認証要求に応じて行ったユーザの認証処理の結果を認証サーバ１２２から受け取り、Ｗｅｂサーバ部６０１に渡す。
【００５０】
認証サーバ１２２が、当該ユーザの認証に成功した場合、認証制御部６０７は、トークン情報を取得するトークン取得手段として機能する。具体的には、認証制御部６０７は、認証サーバ１２２から、当該ユーザの認証処理の結果とともに、認証サーバ１２２が発行した、当該ユーザに対応付けられた認証トークンを受け取る。
【００５１】
また、Ｗｅｂサーバ部６０１が、画像形成装置１０１から印刷ジョブ取得要求を受け取った場合、認証制御部６０７は、印刷ジョブ取得要求のＨＴＴＰヘッダから、認証トークンを取得し、取得した認証トークンを認証サーバ１２２に渡し、ユーザの認証要求を行う。なお、認証制御部６０７が、印刷ジョブ取得要求のＨＴＴＰヘッダから認可トークンを取得し、取得した認可トークンを認証サーバ１２２に渡し、ユーザの認可要求を行うようにしてもよい。なお、認証トークンと認可トークンの違いについて説明すると、認可トークンは、ユーザＩＤ、パスワード等の認証情報を入力する認証処理を行うことなく、あらゆるサービスを受けることができる情報である。一方、認可トークンは、ユーザＩＤ、パスワード等の認証情報を入力する認証処理を行う必要がないという点では認証トークンと同一であるが、認可トークンを発行するサーバのハンドリングによって、受けられるサービスを制限させることができる情報である。本実施例では、ユーザＩＤ、パスワード等を入力する認証処理を行う必要がないこの２つの情報を総称してトークン情報と称する。つまり、トークン情報は、プリントサーバ１２３が発行する情報であって、プリントサーバ１２３から印刷サービスを受ける際にユーザ認証情報を入力することなく認証、または認可される。なお、トークン情報はこの２つの情報に制限されるものではない。
【００５２】
認証制御部６０７は、認証サーバ１２２が当該認証／認可トークンに基づいて行ったユーザの認証／認可処理の結果を認証サーバ１２２から受け取り、印刷ジョブ取得要求処理部６０５に渡す。すなわち、認証制御部６０７および認証サーバ１２２は、印刷データ取得の要求からＨＴＴＰヘッダに含まれるトークン情報を取得し、トークン情報に基づいて、トークン情報に対応付けられているユーザの認証処理または認可処理を行う認証／認可処理手段である。
【００５３】
要求応答部６０４は、Ｗｅｂサーバ部６０１から印刷要求を受け取る。そして、要求応答部６０４は、ネットワーク１２１を介して、印刷要求応答をクライアントコンピュータ１０２に返す印刷要求応答手段として機能する。この印刷要求応答は、クライアントコンピュータ１０２に印刷ジョブ生成要求、プルプリント要求を生成／送信させるためのＪａｖａＳｃｒｉｐｔを含む。また、印刷要求応答は、そのＨＴＴＰ拡張情報に、当該印刷要求の送信元のクライアントコンピュータ１０２のユーザに対応する認証トークンを含んでいる。このＪａｖａＳｃｒｉｐｔは、クライアントコンピュータ１０２に、プルプリントの印刷要求のフォーマットに、上記認証トークンと、印刷要求に対応する印刷データを示す情報を含めた拡張を行わせるためのスクリプトである。
【００５４】
クライアントコンピュータ１０２は、印刷要求応答が含むＪａｖａＳｃｒｉｐｔを実行することによって、そのＨＴＴＰ拡張情報ガ含む認証トークンを含むプルプリント要求を生成し、ネットワーク１０６を介して画像形成装置１０１に対して送信する。
【００５５】
印刷ジョブ取得要求処理部６０５は、Ｗｅｂサーバ部６０１から印刷ジョブ取得要求を受け取る。印刷ジョブ取得要求処理部６０５は、以下の制御処理を実行する印刷データ送信手段として機能する。印刷ジョブ取得要求処理部６０５は、認証制御部６０７から受け取ったユーザの認証／認可処理の結果が、認証／認可が失敗したことを示す場合、画像形成装置１０１に印刷ジョブを送信しない。印刷ジョブ取得要求処理部６０５は、認証制御部６０７から受け取ったユーザの認証／認可処理の結果が、認証／認可が成功したことを示す場合、画像形成装置１０１に印刷ジョブを送信する。具体的には、印刷ジョブ取得要求処理部６０５は、印刷ジョブ取得要求が指定する印刷ジョブを記憶手段から取得して、画像形成装置１０１に対して送信する。すなわち、印刷ジョブ取得要求処理部６０５は、ユーザが認証または認可された場合に、画像形成装置１０１に対して印刷データ取得の要求に対応する印刷データを送信する印刷データ送信手段として機能する。イベント受信部６０６は、画像形成装置１０１から印刷ジョブの状態の通知を受信する。
【００５６】
図５（Ｂ）は、認証サーバの機能ブロック図を示す。認証サーバ１２２は、認証サービス７０１を備える。認証サービス７０１は、認証サーバ１２２に実装されているアプリケーションの機能によって実現される。認証サービス７０１は、プリントサーバ１２３にアクセスするためのユーザＩＤ、パスワード、認証トークンなどの認証情報を保持している。プリントサーバ１２３は、クライアントコンピュータ１０２からログイン要求を受信すると、認証サービス７０１へ認証要求を行う。
【００５７】
認証サービス７０１は、クライアントコンピュータ１０２からのログイン要求に含まれるユーザＩＤおよびパスワードと、認証サービス７０１が保持するユーザＩＤおよびパスワードとを照合する。認証サービス７０１は、上記照合結果に基づいて、ユーザの認証（または認可）処理を行う。認証が成功すると、認証サービス７０１は、認証されたユーザ（のユーザＩＤおよびパスワード）に対応付けられた認証トークンを発行する。認証サービス７０１は、発行した認証トークンを、必要に応じて、プリントサーバ１２３、クライアントコンピュータ１０２、画像形成装置１０１に送信する。
【００５８】
また、プリントサーバ１２３は、画像形成装置１０１から印刷ジョブ取得要求を受信すると、認証サービス７０１に対して認証要求を行う。認証サービス７０１は、この認証要求に応じて、印刷ジョブ取得要求のＨＴＴＰヘッダに含まれる認証トークンと、認証サービス７０１で保持する認証トークンとを照合することを通じてユーザの認証（または認可）処理を行う。認証サービス７０１は、ユーザの認証処理結果をプリントサーバ１２３に渡す。
【００５９】
次に、本実施形態の印刷システムにおける印刷処理の流れを説明する。クライアントコンピュータ１０２は、ユーザの入力を受け付け、プリントサーバ１２３に対して、ユーザ名およびパスワードを含むログイン要求を送信する。プリントサーバ１２３は、認証サーバ１２２に対して、受信したユーザ名およびパスワードを含む認証要求を行う。
【００６０】
認証サーバ１２２は、プリントサーバ１２３から受信したユーザ名およびパスワードと、保持するユーザ名およびパスワードとの照合を行う。ユーザの認証に成功すると、プリントサーバ１２３のＷｅｂサーバ部６０１が、文書管理部６０２が管理している当該ユーザに対応する文書リストを表示するために必要なＷｅｂページをクライアントコンピュータ１０２に送信する。このＷｅｂページを受信したクライアントコンピュータ１０２のＷｅｂブラウザ５０１が、図６に示す文書一覧画面を表示する。
【００６１】
図６は、文書一覧画面の例を示す図である。この文書一覧画面上に、ログインしたユーザがアクセス可能な文書のリストが、文書名８０１、日付８０２、ページ数８０３、サイズ８０４といった各種情報と共に表示される。ユーザが、文書一覧画面上で、所望の文書のチェックボックス８０５をチェックし、印刷ボタン８０６を押下すると、クライアントコンピュータ１０２のＷｅｂブラウザ５０１が、当該文書の印刷を求める要求（印刷要求）をプリントサーバ１２３に対して送信する。なお、この印刷要求は、予めユーザによって入力された、印刷処理を実行する画像形成装置１０１を指定する情報を含んでいる。
【００６２】
図７は、実施例１における印刷処理を説明するシーケンス図である。この印刷処理に関する画像形成装置１０１のプログラムは、外部記憶装置２１１（図２）に格納されており、ＲＡＭ２０２に読み出され、ＣＰＵ２０１によって実行される。また、この印刷処理に関するクライアントコンピュータ１０２、プリントサーバ１２３、認証サーバ１２２の各プログラムは、各機器のＨＤＤ３１２（図３）に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。なお、この印刷処理の説明において、図８に示す要求／応答を適宜参照するが、図８の詳細な説明については、後述する。
【００６３】
クライアントコンピュータ１０２のＷｅｂブラウザ部５０１が、文書の印刷要求をプリントサーバ１２３に送信する（ステップＳ９０１）。プリントサーバ１２３の印刷制御部６０３が、印刷要求が指定する画像形成装置１０１に対応する印刷ジョブを生成し、記憶手段に一時的に蓄積する。
【００６４】
次に、プリントサーバ１２３の要求応答部６０４が、クライアントコンピュータ１０２に対して、印刷要求応答を送信する（ステップＳ９０２）。この印刷要求応答は、クライアントコンピュータ１０２に印刷ジョブ生成要求、プルプリント要求を生成／送信させるためのＪａｖａＳｃｒｉｐｔを含む。また、この印刷要求応答は、クライアントコンピュータ１０２のユーザに対応する認証トークンを含む。また、この印刷要求応答は、ステップＳ９０１において生成された印刷ジョブのＵＲＬを含む。
【００６５】
クライアントコンピュータ１０２のＷｅｂブラウザ部５０１が、受信したＪａｖａＳｃｒｉｐｔを実行する。これにより、例えば、図８（Ａ）に示す印刷ジョブ生成要求と、図８（Ｃ）に示すプルプリント要求とが生成される。そして、Ｗｅｂブラウザ部５０１が、印刷ジョブ生成要求を画像形成装置１０１に送信する（ステップＳ９０３）。
【００６６】
次に、画像形成装置１０１の印刷要求受信部４０１が、印刷ジョブ生成要求を受信する。印刷ジョブ取得部４０２が、ステップＳ９０１においてプリントサーバ１２３が生成した印刷ジョブに対応するＪｏｂＩＤを生成する。そして、印刷ジョブ取得部４０２が、クライアントコンピュータ１０２に対して、例えば図８（Ｂ）に示す印刷ジョブ生成要求応答を送信する（ステップＳ９０４）。印刷ジョブ生成要求応答は、上記生成されたＪｏｂＩＤを含む。印刷ジョブ生成要求応答を受け取ったクライアントコンピュータ１０２は、Ｓ９０１において生成された印刷ジョブ、すなわち、Ｓ９０２における印刷要求応答が含むＵＲＬに対応する印刷ジョブと、印刷ジョブ生成要求応答が含むＪｏｂＩＤとを対応付ける。
【００６７】
次に、クライアントコンピュータ１０２が、受信した印刷ジョブ生成要求応答をリダイレクトして、プリントサーバ１２３に送信する（ステップＳ９０５）。
【００６８】
クライアントコンピュータ１０２のＷｅｂブラウザ部５０１が、前述した図８（Ｃ）に示すプルプリント要求を画像形成装置１０１に送信する（ステップＳ９０６）。プルプリント要求は、画像形成装置１０２に対して、プリントサーバ１２３への印刷ジョブ取得要求を行うことを求める要求である。このプルプリント要求の送信を通じて、プリントサーバ１２３が、クライアントコンピュータ１０２を介して、画像形成装置１０２に印刷ジョブのＵＲＬを通知することができる。
【００６９】
また、プルプリント要求は、ＨＴＴＰ拡張情報を含む。後述するように、ＨＴＴＰ拡張情報は、クライアントコンピュータ１０２のユーザに対応する認証トークンを含む。これにより、認証トークンが、プリントサーバ１２３からクライアントコンピュータ１０２を介して画像形成装置１０１に渡される。
【００７０】
画像形成装置１０１の所定の処理部（例えば、印刷要求受信部４０１）が、クライアントコンピュータ１０２に対して、プルプリント要求応答を送信する（ステップＳ９０７）。クライアントコンピュータ１０２のＷｅｂブラウザ部５０１が、受信したプルプリント要求応答をリダイレクトし、プリントサーバ１２３に送信する（ステップＳ９０８）。
【００７１】
次に、画像形成装置１０１の印刷ジョブ取得部４０２（図４（Ａ））は、プルプリント要求（Ｓ９０６）が含む印刷ジョブのＵＲＬを抽出する。また、ＨＴＴＰヘッダ変換部４０５が、プルプリント要求のＨＴＴＰ拡張情報を解析して、印刷ジョブ取得要求のＨＴＴＰヘッダを生成する。ＨＴＴＰヘッダ変換部４０５は、ＨＴＴＰヘッダの生成の際に、ＨＴＴＰ拡張情報が含む認証トークンをＨＴＴＰヘッダに格納する。印刷ジョブ取得部４０２は、上記抽出された印刷ジョブのＵＲＬを含むリクエスト行と、上記生成されたＨＴＴＰヘッダとを有する印刷ジョブ取得要求をプリントサーバ１２３に送信する（ステップＳ９０９）。これにより、例えば、図８（Ｄ）に示す印刷ジョブ取得要求がプリントサーバ１２３に送信される。
【００７２】
次に、プリントサーバ１２３の認証制御部６０７が、画像形成装置１０１から受信した印刷ジョブ取得要求のＨＴＴＰヘッダから認証トークンを抽出する。そして、認証制御部６０７が、認証サーバ１２２に認証トークンを渡して、認証要求を行う（ステップＳ９１０）。続いて、認証サーバ１２２が、認証制御部６０７から受信した認証トークンと、保持する認証トークンとの照合を行うことを通じて、ユーザの認証処理を実行する。認証サーバ１２２は、ユーザの認証が成功した場合、認証が成功したことを示す情報（認証許可情報）をプリントサーバ１２３に送信する（ステップＳ９１１）。
【００７３】
次に、プリントサーバ１２３の印刷ジョブ取得要求処理部６０５が、画像形成装置１０１に対して、印刷ジョブを送信する（ステップＳ９１２）。具体的には、印刷ジョブ取得要求処理部６０５は、印刷ジョブ取得要求が含む印刷データのドキュメント識別子が示す印刷データを取得し、この印刷データを含む印刷ジョブを生成して、画像形成装置１０１に送信する。これにより、画像形成装置１０１が、印刷ジョブが含む印刷データを取得する。送信される印刷ジョブは、プリントサーバ１２３が、印刷ジョブ生成要求応答（Ｓ９０５）が含むＪｏｂＩＤに基づいて識別した印刷ジョブである。
【００７４】
次に、画像形成装置１０１の印刷ジョブ取得部４０２が、プリントサーバ１２３から受信した印刷ジョブを処理して印刷を行う（ステップＳ９１３）。印刷が終了した場合、画像形成装置１０１のイベント通知部４０４が、ジョブ終了通知をプリントサーバ１２３に送信する（ステップＳ９１４）。ジョブ終了通知は、画像形成装置１０１がプリントサーバ１２３に、印刷処理が終了したことを通知するために送信される。
【００７５】
図８は、印刷システム内で送受信される要求／応答の例を示す図である。図８（Ａ）は、クライアントコンピュータ１０２が画像形成装置１０１に送信する印刷ジョブ生成要求の例を示す。＜ＣｒｅａｔｅＰｒｉｎｔＪｏｂＲｅｑｕｅｓｔ＞タグ１００１は、この要求が印刷ジョブ生成要求であることを示す。また、＜ＪｏｂＯｒｉｇｉｎａｔｉｎｇＵｓｅｒＮａｍｅ＞タグには、クライアントコンピュータ１０２を操作するユーザのユーザ名が格納されている。前述した図７のＳ９０３において印刷ジョブ生成要求を受け取った画像形成装置１０１は、印刷ジョブ生成要求が含むユーザ名に対応するユーザとＪｏｂＩＤとを対応付ける。
【００７６】
図８（Ｂ）は、画像形成装置１０１がクライアントコンピュータ１０２に送信する印刷ジョブ生成要求応答の例である。＜ＣｒｅａｔｅＰｒｉｎｔＪｏｂＲｅｓｐｏｎｓｅ＞タグ１０１１は、この応答が印刷ジョブ生成要求応答であることを示す。＜ＪｏｂＩｄ＞タグ１０１２は、ＪｏｂＩＤを示す。
【００７７】
図８（Ｃ）は、クライアントコンピュータ１０２が画像形成装置１０１に送信するプルプリント要求の例を示す。図８（Ｃ）中の＜ｈｔｔｐＥｘｔｅｎｓｉｏｎ＞タグ１０２２とその配下のタグは、ＷＳＤプリントのフォーマットを拡張した項目に相当する。即ち、プリントサーバ１２３がフォーマットを拡張したことで、画像形成装置１０１がこの拡張情報を解釈できる装置であることが要求される。
【００７８】
＜ＡｄｄＤｏｃｕｍｅｎｔＲｅｑｕｅｓｔ＞タグ１０２１は、この要求がプルプリント要求であることを示す。＜ｈｔｔｐＥｘｔｅｎｓｉｏｎ＞タグ１０２２は、ＨＴＴＰ拡張情報タグであって、ＨＴＴＰ拡張情報が格納される。＜ｈｔｔｐＥｘｔｅｎｓｉｏｎ＞タグ１０２２の配下に、ＨＴＴＰヘッダに関する拡張情報を示す＜Ｈｅａｄｅｒ＞タグがある。
【００７９】
＜Ｈｅａｄｅｒ＞タグの配下にある＜Ｎａｍｅ＞タグ１０２３、１０２５は、ＨＴＴＰヘッダのフィールド名の変換前情報を示す。また、＜Ｖａｌｕｅ＞タグ１０２４、１０２６は、ＨＴＴＰヘッダのフィールド値の変換前情報を示す。
【００８０】
＜Ｎａｍｅ＞タグ１０２３は、＜Ｖａｌｕｅ＞タグ１０２４に格納された情報が認証情報であることを示す。具体的には、＜Ｖａｌｕｅ＞タグ１０２４には、認証トークンが格納されている。＜Ｖａｌｕｅ＞タグ１０２４に、認可トークンが格納されていてもよい。＜Ｎａｍｅ＞タグ１０２５は、＜Ｖａｌｕｅ＞タグ１０２６に格納された情報がドキュメントの識別情報であることを示す。具体的には、＜Ｖａｌｕｅ＞タグ１０２６には、クライアントコンピュータ１０２がプリントサーバ１２３に対して行った印刷要求に対応する印刷データを示す情報として、当該印刷データのドキュメント識別子が格納される。＜ＤｏｃｕｍｅｎｔＵｒｌ＞タグ１０２７は、プリントサーバ１２３が一時的に蓄積した印刷ジョブを提供するサービス提供部にアクセスするためのＵＲＬを示す。画像形成装置１０１は、このＵＲＬに対して印刷ジョブ取得要求を送信する。
【００８１】
図８（Ｄ）は、画像形成装置１０１がプリントサーバ１２３に送信する印刷ジョブ取得要求の例を示す。画像形成装置１０１は、印刷ジョブ取得要求のメソッドとしてＧＥＴを指定し、パスとして図８（Ｃ）の＜ＤｏｃｕｍｅｎｔＵｒｌ＞タグ１０２７に格納されているＵＲＬを指定する（符号１０３１を参照）。すなわち、印刷ジョブ取得要求には、ＨＴＴＰプロトコルのＧＥＴオペレーションが設定されている。
【００８２】
また、画像形成装置１０１は、ＨＴＴＰヘッダ１０３２に、図８（Ｃ）に示すプルプリント要求のタグ１０２３、１０２４に指定されている認証トークンを記述する。また、画像形成装置１０１は、ＨＴＴＰヘッダ１０３３に、図８（Ｃ）に示すプルプリント要求のタグ１０２５、１０２６に指定されている認証トークンを記述する。
【００８３】
印刷ジョブ取得要求のフォーマット形式としては、図８（Ｄ）に示すフォーマットの他に、リクエスト行に認証トークンを格納する形式が考えられる。図１２は、リクエスト行に認証トークンが格納された印刷ジョブ取得要求のフォーマット例を示す図である。この印刷ジョブ取得要求は、リクエスト行２０、ヘッダ２１、ボディ２２を含む。リクエスト行２０には、メソッドとしてＧＥＴ、パスとして"PrintServer.ddd.co.jp" が指定されている。この例では、クエリストリング"?" の後に認証トークンが指定されている。
【００８４】
しかし、図１２に示すような、リクエスト行に認証トークンを格納するフォーマット形式では、認証トークンを示す情報がアプリケーションレベルにまで渡されてしまう。従って、この形式では、より下位層のレベルすなわちＷｅｂサーバ（プリントサーバ）レベルでの認証をすることができない。本実施形態のように、ＨＴＴＰヘッダに認証トークンを記述することによって、より下位層のレベルでのユーザ認証をすることができる。
【００８５】
図９は、ＨＴＴＰヘッダ管理テーブルの一例を示す図である。ＨＴＴＰヘッダ管理テーブル４０６は、ユーザ毎に作成される。すなわち、画像形成装置１０１は、図７のＳ９０６において受信したプルプリント要求が含むＪｏｂＩＤに対応するユーザを特定し、当該ユーザに対応するＨＴＴＰヘッダ管理テーブルを作成する。ＨＴＴＰヘッダ管理テーブル４０６は、ＮａｍｅとＶａｌｕｅといったデータ項目を有する。Ｎａｍｅには、図８（Ｃ）に示すプルプリント要求の＜Ｎａｍｅ＞タグに指定された情報が設定される。画像形成装置１０１は、印刷ジョブ取得要求を送信する際に、Ｎａｍｅの値をＨＴＴＰヘッダのフィールド名として使用する。Ｖａｌｕｅには、図８（Ｃ）に示すプルプリント要求の＜Ｖａｌｕｅ＞タグに指定された情報が設定される。画像形成装置１０１は、印刷ジョブ取得要求を送信する際に、Ｖａｌｕｅの値をＨＴＴＰヘッダのフィールド値として使用する。
【００８６】
図１０は、プリントサーバの動作処理を説明するフローチャートである。図１０を参照して説明する動作処理に関するプリントサーバ１２３のプログラムは、プリントサーバ１２３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。
【００８７】
プリントサーバ１２３が、クライアントコンピュータ１０２から印刷要求を受信する（ステップＳ１２０１）。続いて、プリントサーバ１２３が、認証サーバ１２２から認証トークンを取得する（ステップＳ１２０２）。プリントサーバ１２３が、認証トークンとドキュメント識別子とを含むＨＴＴＰ拡張情報タグを生成する（ステップＳ１２０３）。
【００８８】
次に、プリントサーバ１２３が、クライアントコンピュータ１０２に上記ＨＴＴＰ拡張情報タグを含む印刷要求応答を送信する（ステップＳ１２０４）。この印刷要求応答を受信したクライアントコンピュータ１０２は、印刷要求応答が含むＨＴＴＰ拡張タグ内の認証トークンとドキュメント識別子とを＜ｈｔｔｐＥｘｔｅｎｓｉｏｎ＞タグ１０２２に含むプルプリント要求を生成する。次に、プリントサーバ１２３が、印刷ジョブ生成要求応答をクライアントコンピュータ１０２から受信する（ステップＳ１２０５）。そして、プリントサーバ１２３が、プルプリント要求応答をクライアントコンピュータ１０２から受信する（ステップＳ１２０６）。
【００８９】
図１１は、画像形成装置の動作処理を説明するフローチャートである。図１０を参照して説明する動作処理に関する画像形成装置１０１のプログラムは、画像形成装置１０１のＨＤＤ２１１に格納されており、ＲＡＭ２０２に読み出され、ＣＰＵ２０１によって実行される。
【００９０】
画像形成装置１０１が、クライアントコンピュータ１０２からメッセージを受信し、メッセージを判別する（ステップＳ１３０１）。メッセージが印刷ジョブ生成要求である場合、画像形成装置１０１は、印刷ジョブ生成要求応答をクライアントコンピュータ１０２に送信する（ステップＳ１３０２）。メッセージがプルプリント要求である場合、画像形成装置１０１は、プルプリント要求を解析し、プルプリント要求がＨＴＴＰ拡張情報タグを含むかを判断する（ステップＳ１３０３）。
【００９１】
画像形成装置１０１がプルプリント要求がＨＴＴＰ拡張情報タグを含むと判断した場合、画像形成装置１０１はＨＴＴＰヘッダのフィールド値とフィールド名の元となるＮａｍｅとＶａｌｕｅをＨＴＴＰヘッダ管理テーブル４０６に保存する（ステップＳ１３０４）。これにより、認証トークンと、印刷要求に対応する印刷データのドキュメント識別子とがＨＴＴＰヘッダ管理テーブル４０６に保存される。そして、画像形成装置１０１が、プルプリント要求応答をクライアントコンピュータ１０２に送信する（ステップＳ１３０５）。
【００９２】
次に、画像形成装置１０１が、ステップＳ１３０４においてＨＴＴＰヘッダ管理テーブル４０６に保存したＮａｍｅとＶａｌｕｅとに基づいて、印刷ジョブ取得要求のＨＴＴＰヘッダを生成する（ステップＳ１３０６）。画像形成装置１０１が、生成したＨＴＴＰヘッダを含む印刷ジョブ取得要求をプリントサーバ１２３に送信して、印刷ジョブを取得する（ステップＳ１３０７）。
【００９３】
次に、画像形成装置１０１が、印刷処理を実行する（ステップＳ１３０８）。そして、画像形成装置１０１が、プリントサーバ１２３に対してジョブ終了通知を送信する（ステップＳ１３０９）。
【００９４】
上記ステップＳ１３０３において、画像形成装置１０１が、プルプリント要求がＨＴＴＰ拡張情報タグを含まないと判断した場合、画像形成装置１０１は、プルプリント要求失敗応答をクライアントコンピュータ１０２に送信する（ステップＳ１３１０）。
【００９５】
本実施例の印刷システムによれば、プルプリント印刷の実行において、ユーザごとの認証を行うことができる。具体的には、クライアントコンピュータ１０２のユーザがログイン時にユーザＩＤとパスワードを入力すれば、このユーザに対応する認証トークンが発行される。そして、クライアントコンピュータ１０２からプリントサーバ１２３に対する印刷要求がされると、プリントサーバ１２３及びクライアントコンピュータ１０２を介して、当該認証トークンが画像形成装置１０１に渡される。
【００９６】
認証トークンを受け取った画像形成装置１０１が、プルプリントの印刷要求（印刷ジョブ取得要求）に、この認証トークンを含めてプリントサーバ１２３に送信する。そして、プリントサーバ１２３が印刷ジョブ取得要求が含む認証トークンを認証サーバ１２２に渡して、認証要求を行う。すなわち、ユーザは、ログイン時にユーザＩＤとパスワードを入力すれば、プリントサーバ１２３から印刷サービスの提供を受ける時には、ユーザは、再度ユーザＩＤとパスワードを入力することなく、認証を受けることができる。従って、本実施例の印刷システムによれば、プルプリント印刷で利用する認証方式が変更された場合においても、プリントサーバ１２３のソフトウェア変更をすればよく、画像形成装置のソフトウェア変更を行う必要がなくなる。
【００９７】
また、本実施例では、プリントサーバ１２３がＨＴＴＰ拡張情報タグ１０２２にドキュメント識別子を含めてプルプリント要求を送信する。画像形成装置１０１は、プルプリント要求を受信すると、ＨＴＴＰヘッダにドキュメント識別子を含めた印刷ジョブ取得要求を送信する。このドキュメント識別子により、印刷ジョブ取得要求で取得する印刷ジョブの個別指定を行うことができるため、印刷ジョブ取得要求のＵＲＬは常に同一とすることができる。
【実施例２】
【００９８】
図１３は、実施例２における印刷処理を説明するシーケンス図である。実施例２においては、画像形成装置１０１が、認証トークンを一定時間保持する。そして、プリントサーバ１２３は、画像形成装置１０１が認証トークンを保持していないときのみ、認証トークンを含むプルプリント要求を送信する。本実施例によれば、プリントサーバ１２３は、認証トークンを毎回送信しないで良いため、ネットワーク上に認証トークンが流れる回数を減らすことができる。その結果、認証トークンが盗聴されることを減らすことができる。なお、実施例２については、実施例１と同一部分に関する説明は省略し、その差異についてのみ説明する。
【００９９】
図１３は、実施例２における印刷処理を説明するシーケンス図である。実施例２における印刷処理のうち、ステップＳ９０５までの処理は、図７を参照して説明した実施例１の印刷処理と同様であるので、説明を省略する。ステップＳ１４０１において、クライアントコンピュータ１０２のＷｅｂブラウザ部５０１が、プルプリント要求を画像形成装置１０１に送信する。
【０１００】
図１４（Ａ）は、Ｓ１４０１において送信されるプルプリント要求の一例である。＜ＡｄｄＤｏｃｕｍｅｎｔＲｅｑｕｅｓｔ＞タグ１５０１は、この要求がプルプリント要求であることを示す。＜ｈｔｔｐＥｘｔｅｎｓｉｏｎ＞タグ１５０２は、ＨＴＴＰ拡張情報タグであって、ＨＴＴＰ拡張情報が格納される。図１４（Ａ）に示すプルプリント要求にはＨＴＴＰ拡張情報が含まれているが、認証トークンは含まない。画像形成装置１０１は、プルプリント要求のＨＴＴＰ拡張情報を解析するが、プルプリント要求には認証トークンが含まれていない。
【０１０１】
プルプリント要求に認証／認可トークンが含まれていないことを確認した画像形成装置１０１は、このプルプリント要求が含むＪｏｂＩＤに対応するユーザを特定し、当該ユーザに対応するＨＴＴＰヘッダ管理テーブル４０６を参照する。そして、画像形成装置１０１は、当該ＨＴＴＰヘッダ管理テーブル４０６に、当該ユーザに対応する認証トークンが保存されているかを確認する。認証トークンが保存されていない場合、画像形成装置１０１は、図１３のステップＳ１４０２において、プルプリント要求失敗応答をクライアントコンピュータ１０２に送信する。
【０１０２】
図１４（Ｂ）は、図１３のステップＳ１４０２において送信されるプルプリント要求失敗応答の一例である。＜Ｆａｕｌｔ＞タグ１５１１は、この応答がプルプリント要求失敗応答であることを示す。この例では、プルプリント要求失敗応答は、ＳｏａｐＦａｕｌｔの形式を有する。なお、プルプリント要求失敗応答は、クライアントコンピュータ１０２が、プルプリント要求に認証トークンがないために失敗したことを認識できる任意の形式とすることができる。
【０１０３】
＜Ｓｕｂｃｏｄｅ＞タグ１５１２は、失敗サブコードを示す。＜Ｒｅａｓｏｎ＞タグ１５１３は失敗理由を示す。なお、プルプリント要求失敗応答は、タグ１５１２とタグ１５１３のいずれかを含んでいればよい。タグ１５１２またはタグ１５１３に記述する文字列は、クライアントコンピュータ１０２が、プルプリント要求に認証トークンがないためにプルプリント要求が失敗したことを認識できる任意の文字列とすることができる。上述したプルプリント要求失敗応答は、クライアントコンピュータ１０２に対して、認証トークンの送信を求める要求として機能する。
【０１０４】
図１３に戻って、クライアントコンピュータ１０２が、プルプリント要求失敗応答を受けて、認証トークン取得要求をプリントサーバ１２３に送信する（ステップＳ１４０３）。認証トークン取得要求は、認証トークンの取得を求める要求である。プリントサーバ１２３の要求応答部６０４が、クライアントコンピュータ１０２から受信した認証トークン取得要求に応じて、クライアントコンピュータ１０２のユーザに対応する認証トークンをクライアントコンピュータ１０２に送信する（ステップＳ１４０４）。
【０１０５】
次に、クライアントコンピュータ１０２が、ステップＳ１４０４においてプリントサーバ１２３から送信された認証トークンを受信する。そして、クライアントコンピュータ１０２は、受信した認証トークンをＨＴＴＰ拡張情報に持つプルプリント要求を生成し、生成されたプルプリント要求を画像形成装置１０１に対し再度送信する（ステップＳ１４０５）。
【０１０６】
ステップＳ９０７以降の処理は、図７を参照して説明した処理と同様であるので、説明を省略する。なお、本実施例では、初回のプルプリント要求には、認証トークンは含まれない。しかし、初回のプルプリント要求の送信時においては、画像形成装置１０１は認証トークンを保持していないため、初回のプルプリント要求には必ず認証トークンを含めるようにしてもよい。
【０１０７】
図１５は、実施例２におけるプリントサーバの動作処理を説明するフローチャートである。この動作処理に関するプリントサーバ１２３のプログラムは、プリントサーバ１２３のＨＤＤ３１２に格納されており、ＲＡＭ３０３に読み出されＣＰＵ３０１によって実行される。
【０１０８】
プリントサーバ１２３が、クライアントコンピュータ１０２から印刷要求を受信する（ステップＳ１６０１）。次に、プリントサーバ１２３が、認証トークンを含まないＨＴＴＰ拡張情報タグを生成する（ステップＳ１６０２）。
【０１０９】
次に、プリントサーバ１２３が、クライアントコンピュータ１０２に上記ＨＴＴＰ拡張情報タグを含む印刷要求応答を送信する（ステップＳ１６０３）。続いて、プリントサーバ１２３は、印刷ジョブ生成要求応答をクライアントコンピュータ１０２から受信する。そして、プリントサーバ１２３が、プルプリント要求応答を受信するのを待つ。
【０１１０】
プリントサーバ１２３が、プルプリント要求が成功したかを判断する（ステップＳ１６０５）。プリントサーバ１２３が、プルプリント要求応答を受信した場合は、プリントサーバ１２３は、プルプリント要求が成功したと判断する。プリントサーバ１２３が、プルプリント要求応答を受信しない場合は、プリントサーバ１２３は、プルプリント要求が失敗したと判断する。
【０１１１】
プリントサーバ１２３が、プルプリント要求が成功したと判断した場合は、処理を終了する。プリントサーバ１２３が、プルプリント要求が失敗したと判断した場合は、ステップＳ１６０６に進む。
【０１１２】
ステップＳ１６０６において、プリントサーバ１２３が、クライアントコンピュータ１０２から認証トークン取得要求を受信する（ステップＳ１６０６）。続いて、プリントサーバ１２３が、認証サーバ１２２から認証トークンを取得して、取得した認証トークンをクライアントコンピュータ１０２に送信する（ステップＳ１６０７）。そして、プリントサーバ１２３が、プルプリント要求応答をクライアントコンピュータ１０２から受信する（ステップＳ１６０８）。
【０１１３】
図１６は、実施例２における画像形成装置の動作処理を示すフローチャートである。この動作処理に関する画像形成装置１０１のプログラムは、画像形成装置１０１のＨＤＤ２１１に格納されており、ＲＡＭ２０２に読み出されＣＰＵ２０１によって実行される。
【０１１４】
図１６のステップＳ１７０１乃至Ｓ１７０３は、図１１のステップＳ１３０１乃至Ｓ１３０３と同様である。図１６のステップＳ１７０６乃至Ｓ１７１０は、図１１のステップＳ１３０５乃至Ｓ１３０９と同様である。
【０１１５】
画像形成装置１０１の印刷要求受信部４０１が、プルプリント要求にＨＴＴＰ拡張情報タグが含まれると判断した場合（Ｓ１７０３でＹｅｓ）、ステップＳ１７０４に進む。そして、印刷要求受信部４０１が、ＨＴＴＰ拡張情報タグに認証トークンが含まれるかを判断する（ステップＳ１７０４）。印刷要求受信部４０１が、ＨＴＴＰ拡張情報タグに認証トークンが含まれると判断した場合は、ステップＳ１７０５に進む。そして、印刷要求受信部４０１は、ＨＴＴＰヘッダのフィールド値とフィールド名の元となるＮａｍｅとＶａｌｕｅを、予め定められた期間、ＨＴＴＰヘッダ管理テーブル４０６に保存する（ステップＳ１７０５）。これにより、認証トークンと印刷要求に対応する印刷データのドキュメント識別子とが、ＨＴＴＰヘッダ管理テーブル４０６に保存される。
【０１１６】
印刷要求受信部４０１が、プルプリント要求にＨＴＴＰ拡張情報タグが含まれないと判断した場合（Ｓ１７０４でＮｏ）、ステップＳ１７１１に進む。ステップＳ１７１１において、ＨＴＴＰヘッダ変換部４０５が、ＨＴＴＰヘッダ管理テーブル４０６を参照し、ＨＴＴＰヘッダ管理テーブル４０６に認証トークンが保存されているかを判断する（ステップＳ１７１１）。ＨＴＴＰヘッダ変換部４０５が、認証トークンが保存されていると判断した場合は、ステップＳ１７０６に進む。ＨＴＴＰヘッダ変換部４０５が、認証トークンが保存されていないと判断した場合は、ステップＳ１７１２に進む。そして、印刷要求受信部４０１が、プルプリント要求失敗応答をクライアントコンピュータ１０２に送信する（ステップＳ１７１２）。
【０１１７】
実施例２においては、画像形成装置１０１は、プルプリント要求が含むＨＴＴＰ拡張情報タグに認証トークンが記述されているかを判断する（図１６のＳ１７０３でＹｅｓ，Ｓ１７０４）。画像形成装置１０１は、ＨＴＴＰ拡張情報タグに認証トークンが記述されておらず（Ｓ１７０４でＮｏ）、ＨＴＴＰヘッダ管理テーブル４０６に認証トークンが保存されているとき（Ｓ１７１１でＹｅｓ）、プルプリント要求応答を送信する（Ｓ１７０６）。従って、本実施例の印刷システムによれば、プリントサーバ１２３が、認証トークンを毎回送信しなくてよい。また、画像形成装置１０１が認証トークンを削除した場合等にも、プリントサーバ１２３に認証トークンを要求することを通じて、認証トークンを取得することができる。
【０１１８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１１９】
１０  イントラネット
１０１  画像形成装置
１０２  クライアントコンピュータ
１０５  ファイアウォール
１０６  ネットワーク
１２１  インターネット
１２２  認証サーバ
１２３  プリントサーバ
【図１】
0005888880.tif 000002
【図２】
0005888880.tif 000003
【図３】
0005888880.tif 000004
【図４】
0005888880.tif 000005
【図５】
0005888880.tif 000006
【図６】
0005888880.tif 000007
【図７】
0005888880.tif 000008
【図８】
0005888880.tif 000009
【図９】
0005888880.tif 000010
【図１０】
0005888880.tif 000011
【図１１】
0005888880.tif 000012
【図１２】
0005888880.tif 000013
【図１３】
0005888880.tif 000014
【図１４】
0005888880.tif 000015
【図１５】
0005888880.tif 000016
【図１６】
0005888880.tif 000017