説明

印刷システム、サーバ装置、画像形成装置および印刷処理方法

【課題】プル型印刷処理を行う際に、印刷サービスを受けるユーザごとの認証処理を行うことができ、かつ、認証処理に用いるトークン情報を変更する場合においても、画像形成装置のソフトウェア変更を必要としない印刷システムを提供する。
【解決手段】プリントサーバ123が、印刷要求を行ったクライアントコンピュータ102に対して、ユーザがプリントサーバ123から印刷サービスを受ける際のユーザの認証に用いる認証トークンを含むプルプリント要求を生成して画像形成装置101に送信するように指示する。画像形成装置101が、クライアントコンピュータ102から受信したプルプリント要求から上記認証トークンを取得する。そして、画像形成装置101が、HTTPヘッダに上記認証トークントを含む印刷ジョブ取得要求を生成して、プリントサーバ123に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷システム、サーバ装置、画像形成装置および印刷処理方法に関する。
【背景技術】
【0002】
企業のイントラネット内に設けられたクライアント装置(ユーザ装置)がインターネット上にある各種サービスを利用できるようにするシステムが提案されている。このようなシステムにおいては、一般的に、イントラネットとインターネットとの境界に、ファイアウォールが設けられている。
【0003】
ファイアウォールは、イントラネット側からインターネット側への接続は許可するが、インターネット側からイントラネット内への接続は拒否するように設定されている。これにより、インターネット側の装置からイントラネット内への侵入が防御される。このような背景から、従来のWebを使用した通信システムにおいては、クライアント装置がサーバ装置に対して情報取得の要求を行い、サーバ装置が情報を返すというプル(PULL)型通信が行われている。
【0004】
また、従来、企業内で用いられる印刷システムは、インターネットを介して使用できるようになってきている。ファイアウォールが存在するので、インターネットを介したクライアント装置への印刷サービスの提供は、インターネット上のプリントサーバにある印刷ジョブを、イントラネット内の画像形成装置が取得しにいくプル型通信により実現される。このプル型通信により実現される印刷処理をプル型印刷処理という。
【0005】
特許文献1は、ネットワークを介して接続された複数の機器の各種情報をサーバ側からセキュリティを確保して収集するリモートプリンティングシステムを開示する。このシステムでは、ユーザが、クライアントコンピュータでプリントサーバに対して認証を行い、印刷ジョブをプリントサーバにアップロードする。そして、イントラネット内の仲介機器が、定期的にインターネット上のプリントサーバに問合せを行い、イントラネット内のプリンタに対する印刷ジョブが存在した場合にはそれを受信してプリンタに転送する。
【0006】
また、WSD(Web Services on Devices )のプル型印刷処理を実行するシステムにおいては、以下のような印刷処理が実行される。すなわち、クライアントコンピュータが、イントラネット内の画像形成装置に対して、プルプリント要求を送信する。プルプリント要求は、インターネット上に存在するプリントサーバの印刷ジョブのURLを含む。プルプリント要求を受信した画像形成装置が、プリントサーバに対して印刷ジョブの取得を行い、取得した印刷ジョブに対して印刷処理を行う。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−294920号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来、プル型印刷処理を実行するシステムにおいて、画像形成装置がプリントサーバに対して印刷ジョブを取得する際の認証は、画像形成装置ごとに設定された認証情報を利用して行われていた。しかし、この認証は、画像形成装置ごとの認証であり、ユーザごとの認証を行うことはできない。
【0009】
ここで、クライアントコンピュータが、ユーザごとの認証(または認可)処理を行うためのトークン情報を画像形成装置に渡すことで、画像形成装置がプリントサーバに対して印刷ジョブを取得する際にユーザごとの認証処理または認可処理を行う方法が考えられる。しかし、この方法では、印刷システムで利用するトークン情報の種類を後から追加、変更する場合には、画像形成装置のソフトウェアを変更しなければならなくなる。
【0010】
本発明は、プル型印刷処理を行うシステムであって、印刷サービスを受けるユーザごとの認証処理を行うことができ、かつ、認証処理に用いるトークン情報を変更する場合でも、画像形成装置のソフトウェア変更を必要としない印刷システムの提供を目的とする。
【課題を解決するための手段】
【0011】
ユーザ装置と、サーバ装置と、画像形成装置とを備え、前記サーバ装置は、ネットワークを介して、印刷要求を行った前記ユーザ装置に対して、プルプリントの印刷要求のフォーマットに、前記ユーザ装置のユーザに対応付けられた情報であって、前記ユーザ装置が前記サーバ装置から印刷サービスを受ける際のユーザの認証または認可に用いるトークン情報を含めた拡張を行うように指示し、前記ユーザ装置は、前記サーバ装置の指示に従って、前記プルプリントの印刷要求のフォーマットに前記トークン情報を含めた拡張を行い、該プルプリントの印刷要求をネットワークを介して前記画像形成装置に送信し、前記画像形成装置は、前記ユーザ装置から受信した前記プルプリントの印刷要求のフォーマットを解釈して前記トークン情報を取得し、HTTPヘッダに該トークン情報を含めた印刷データ取得の要求をネットワークを介して前記サーバ装置に対して行うことを特徴とする印刷システム。
【発明の効果】
【0012】
本発明の印刷システムによれば、プル型印刷処理を行う際に、印刷サービスを受けるユーザごとの認証処理を行うことができる。また、画像形成装置のソフトウェア変更をすることなく、ユーザの認証処理に用いるトークン情報を変更することができる。
【図面の簡単な説明】
【0013】
【図1】本実施形態のシステム構成例を示す図である。
【図2】画像形成装置のハードウェア構成例を示す図である。
【図3】クライアントコンピュータ、プリントサーバ、認証サーバのハードウェア構成例を示す図である。
【図4】画像形成装置およびクライアントコンピュータの機能ブロック図である。
【図5】プリントサーバおよび認証サーバの機能ブロック図の一例である。
【図6】文書一覧画面の例を示す図である。
【図7】実施例1における印刷処理を説明するシーケンス図である。
【図8】印刷システム内で送受信される要求/応答の例を示す図である。
【図9】HTTPヘッダ管理テーブルの一例を示す図である。
【図10】プリントサーバの動作処理を説明するフローチャートである。
【図11】画像形成装置の動作処理を説明するフローチャートである。
【図12】認証トークンをHTTPのリクエスト行のクエリストリング後に含む印刷ジョブ取得要求の例を示す図である。
【図13】実施例2における印刷処理を説明するシーケンス図である。
【図14】プルプリント要求およびプルプリント要求失敗応答の例である。
【図15】実施例2におけるプリントサーバの動作処理を説明するフローチャートである。
【図16】実施例2における画像形成装置の動作処理を示すフローチャートである。
【発明を実施するための形態】
【実施例1】
【0014】
図1は、本実施形態のシステム構成例を示す図である。図1に示す印刷システムは、画像形成装置101、クライアントコンピュータ102、認証サーバ122、プリントサーバ123を備える。
【0015】
クライアントコンピュータ102と、認証サーバ122とは、イントラネット10内に設けられており、例えばLAN(Local Area Network)等のネットワーク106を介して互いに通信できる。プリントサーバ123と認証サーバ122とは、インターネット等のネットワーク121に接続されている。また、ネットワーク121とイントラネットとの境界に、ファイアウォール105が設けられている。
【0016】
なお、図1において、イントラネットは一つだけしか図示していないが、イントラネット10と同様の構成を持つイントラネットが複数存在していてもよい。同様に、画像形成装置、クライアントコンピュータの台数は、図1中に示す台数に限定されない。
【0017】
画像形成装置101は、プリントサーバ123が蓄積している印刷ジョブをプリントサーバ123から取得して印刷する機能を持つ。クライアントコンピュータ102は、ユーザが所望する画像形成装置への印刷を指示するユーザ装置である。プリントサーバ123は、本実施形態のサーバ装置であって、印刷システム全体を制御する。
【0018】
プリントサーバ123は、クライアントコンピュータ102からの印刷要求に応じた処理、印刷ジョブの管理、画像形成装置の管理といった様々な処理を行う。また、プリントサーバ123は、夫々のユーザに対応する文書を管理する文書管理サーバとしての機能も備えている。認証サーバ122は、プリントサーバ123にアクセスするユーザの認証処理または認可処理を行う。このために、認証サーバ122は、ユーザの認証処理または認可処理に用いるトークン情報を管理する。なお、プリントサーバ123と認証サーバ122とが本実施形態のサーバ装置を構成するようにしてもよい。本実施形態の印刷処理方法は、図1に示すシステムが備える各処理装置の機能によって実現される。また、本実施形態のコンピュータプログラムは、当該印刷処理方法をコンピュータに実行させることを特徴とする。
【0019】
図2は、画像形成装置のハードウェア構成例を示す図である。図2に示す画像形成装置は、例えば、複写機である。画像形成装置101が備えるCPU201は、ROM203のプログラム用ROMまたは外部記憶装置211に記憶された制御プログラムに基づいてシステムバス204に接続される各種のデバイスとのアクセスを総括的に制御する。CPUは、Central Processing Unitの略称である。ROMは、Read Only Memoryの略称である。
【0020】
また、CPU201は、印刷インターフェース207を介して接続される印刷部(プリンタエンジン)210に、出力情報としての画像信号を出力する。また、CPU201は、読取インターフェース212を介して接続される読取部(スキャナ)213から入力される画像信号を制御する。
【0021】
ROM203のプログラム用ROMには、CPU201が実行可能な制御プログラム等が予め記憶されている。ROM203のフォント用ROMには、CPU201が上記出力情報を生成する際に使用するフォントデータ(アウトラインフォントデータを含む)等が予め記憶されている。また、ROM203のデータ用ROMには、クライアントコンピュータ上で利用される情報等が予め記憶されている。CPU201は、LANコントローラ206を介して、ネットワーク上のクライアントコンピュータや画像形成装置との通信処理を実行する。
【0022】
RAM202は、主としてCPU201の主メモリ、ワークエリア等として機能する記憶手段である。RAMは、Random Access Memoryの略称である。RAM202は、図示しない増設ポートに接続されるオプションRAMにより、メモリ容量を拡張することができるように構成されている。RAM202は、例えば、出力情報展開領域,環境データ格納領域等に用いられる。
【0023】
ハードディスク(HDD)、ICカード等の外部記憶装置211は、ディスクコントローラ(DKC)208によって、アクセスが制御される。ハードディスクは、アプリケーションプログラム、フォントデータ、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。本実施形態においては、外部記憶装置211としてHDDを使用するものとし、ハードディスクには、ジョブログ、画像ログ等各種ログが記憶される。
【0024】
また、ハードディスクは、スキャナ213から読み取られた画像データやプリントジョブの画像データをBOXデータとして保持するBOXデータ格納領域としても使用される。
【0025】
クライアントコンピュータ102は、BOXデータ格納領域に保持されているBOXデータをネットワークを介して参照したり、当該BOXデータの印刷指示を行ったりすることができる。なお、外部記憶装置211は、1個に限定されない。外部記憶装置211は、内蔵フォントに加えて、オプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。
【0026】
操作パネル205は、ユーザによるソフトウェアキーの操作に応じた各種情報を入力する。不揮発性メモリ209は、操作パネル205から設定される各種設定情報を記憶する。
【0027】
また、図示していないが、画像形成装置101には、さらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置など各種拡張装置を装着することが可能である。これらの各種拡張装置の動作は、CPU201によって制御される。
【0028】
図3は、クライアントコンピュータ、プリントサーバ、認証サーバのハードウェア構成例を示す図である。CPU301は、システムバス304に接続された各種デバイスの制御を行う。ROM302は、BIOSやブートプログラムを記憶する。RAM303は、CPU301の主記憶装置として使用される。
【0029】
キーボードコントローラ(KBC)305は、マウス(登録商標)等のポインティングデバイス(PD)309、キーボード(KB)310からの情報入力に応じた処理を行う。表示制御部(CRTC)306は、内部にビデオメモリを有する。CRTC306は、CPU301の指示に従って、ビデオメモリに描画する。また、CRTC306は、CPU301の指示に従って、ビデオメモリに描画されたイメージデータをビデオ信号としてCRT表示装置311に出力する。
【0030】
図3においては、表示装置としてCRTを例示しているが、表示装置の種類は限定されない。例えば、表示装置が液晶表示装置等であってもよい。ディスクコントローラ(DKC)307は、ハードディスク(HDD)312、フロッピー(登録商標)ディスク(FD)313へのアクセスを行う。ネットワークインタフェースカード(NIC)308は、ネットワークに接続し、当該ネットワークを介して情報通信を行う。
【0031】
なお、HDD312には、OSやOS上で動作する各種アプリケーションプログラム等が格納される。本装置の電源がONになると、CPU301は、ROM302に格納されたブートプログラムに従って、HDD312からOSをRAM303に読み込み、本装置を情報処理装置として機能させる。
【0032】
図4は、画像形成装置およびクライアントコンピュータの機能ブロック図の一例である。図4(A)は、画像形成装置の機能ブロック図を示す。画像形成装置101は、印刷要求受信部401、印刷ジョブ取得部402、印刷処理部403、イベント通知部404、HTTPヘッダ変換部405、HTTPヘッダ管理テーブル406を備える。
【0033】
印刷要求受信部401は、クライアントコンピュータ102から、印刷ジョブ生成要求、プルプリント要求を受信(取得)する。印刷要求受信部401は、印刷ジョブ生成要求を印刷ジョブ取得部に渡す。また、印刷要求受信部401は、プルプリント要求に含まれる印刷ジョブのアドレス情報(URL)を印刷ジョブ取得部402に渡す。このURLは、印刷ジョブを蓄積しているプリントサーバ123のアドレスとパスとを含む。
【0034】
印刷要求受信部401は、プルプリント要求のフォーマットを解釈して、プルプリント要求が含むHTTP拡張情報を取得して、記憶手段であるHTTPヘッダ管理テーブル406に保存する。また、印刷要求受信部401は、HTT拡張情報をHTTPヘッダ変換部405に渡す。
【0035】
HTTPヘッダ変換部405は、HTTP拡張情報を機械的に変換して、印刷ジョブの取得要求で利用されるHTTPヘッダを生成し、印刷ジョブ取得部402に渡す。具体的には、HTTPヘッダ変換部405は、HTTP拡張情報に記述されている、クライアントコンピュータ102のユーザの認証または認可に用いるトークン情報と、印刷要求に対応する印刷データを示す情報とを取得する取得手段として機能する。そして、HTTPヘッダ変換部405は、取得したトークン情報と上記印刷データを示す情報とをHTTPヘッダに記述し、当該HTTPヘッダを印刷ジョブ取得部402に渡す。
【0036】
すなわち、HTTPヘッダ変換部405および印刷ジョブ取得部402は、取得されたプルプリントの印刷要求に含まれるトークン情報を印刷データ取得要求に含め、この印刷データ取得要求をプリントサーバ123に対して行う印刷データ取得要求手段である。HTTPヘッダ変換部405の、より詳細な動作処理については、図7を参照して後述する。
【0037】
HTTPヘッダ管理テーブル406には、HTTP拡張情報が保存される。印刷ジョブ取得部402は、HTTPヘッダ変換部405から受け取ったHTTPヘッダを有する印刷ジョブ取得要求を生成する。
【0038】
印刷ジョブ取得部402は、印刷要求受信部401から印刷要求を受け取ると、印刷ジョブを識別するJobIDを含む印刷ジョブを生成する。また、印刷ジョブ取得部402は、印刷要求受信部401から受け取ったURLに対して、当該印刷ジョブ取得要求を送信する。すなわち、画像形成装置101は、プルプリント要求のフォーマットを解釈してトークン情報を取得し、HTTPヘッダに該トークン情報を含めた印刷データ取得の要求(印刷データ取得要求)を、ネットワークを介してプリントサーバ123に対して行う。
【0039】
また、印刷ジョブ取得部402は、印刷ジョブ取得要求の応答として、印刷ジョブを受信し、印刷処理部403に渡す。この印刷ジョブは、トークン情報を基に認証、または認可されたことで、プリントサーバ123から送信される。印刷処理部403は、印刷ジョブを解析してビットマップに展開し、用紙への印刷を行う。つまり、印刷処理部403は、印刷ジョブが含む印刷データを基に、印刷出力を行う印刷手段として機能する。イベント通知部404は、ジョブ終了等の印刷ジョブの状態をプリントサーバ123に通知する。
【0040】
図4(B)は、クライアントコンピュータの機能ブロック図を示す。クライアントコンピュータ102は、Webブラウザ部501を備える。Webブラウザ部501は、クライアントコンピュータ102のユーザの操作に従って、プリントサーバ123にアクセスし、プリントサーバ123に対してログイン要求、印刷要求を行う。
【0041】
また、Webブラウザ部501は、プルプリント要求手段としても機能する。すなわち、Webブラウザ部501は、プリントサーバ123から受けた応答が含むJava(登録商標)Script(Script言語で記述されたクライアントコンピュータに対する制御命令)を実行する。本実施形態に特有の動作として、Webブラウザ部501は、プリントサーバ123から返される印刷要求応答のJavaScriptを実行することによって、プルプリント要求を生成し、生成したプルプリント要求を画像形成装置101に送信する。すなわち、クライアントコンピュータ102は、プリントサーバ123の指示に従って、プルプリント要求を生成する。言い換えると、プリントサーバ123は、印刷要求応答をクライアントコンピュータ102に返すことを通じ、印刷要求を行ったクライアントコンピュータ102に対し、プルプリントの印刷要求にトークン情報を付加するように指示する。
【0042】
このプルプリント要求は、プルプリントの印刷要求である。Webブラウザ部501は、プルプリント要求のフォーマットに、トークン情報を含めた拡張を行って、プルプリント要求を生成する。具体的には、Webブラウザ部501は、ユーザに対応付けられたトークン情報が記述されたHTTP拡張情報を含むプルプリント要求を生成する。このトークン情報は、クライアントコンピュータ102のユーザに対応付けられた情報であって、クライアントコンピュータ102がプリントサーバ123から印刷サービスを受ける際のユーザの認証または認可に用いられる。Webブラウザ部501は、生成したトークン情報を画像形成装置101に送信する。
【0043】
なお、本実施形態においては、プリントサーバ123から返された応答がJavaScriptを含む場合を例にとって説明するが、本発明は、JavaScript以外のScript言語を適用することもできる。
【0044】
図5は、プリントサーバおよび認証サーバの機能ブロック図の一例である。図5(A)は、プリントサーバの機能ブロック図を示す。プリントサーバ123は、Webサーバ部601、文書管理部602、印刷制御部603、要求応答部604、印刷ジョブ取得要求処理部605、イベント受信部606、認証制御部607を備える。
【0045】
Webサーバ部601は、クライアントコンピュータ102に対して、UIを提供する。そして、当該UI上におけるユーザ操作に従って生成/送信された要求をクライアントコンピュータ102から受け取る。例えば、Webサーバ部601は、クライアントコンピュータ102から、ログイン要求を受け付ける。また、Webサーバ部601は、クライアントコンピュータ102から印刷データの印刷要求を受け付ける印刷要求受け付け手段として機能する。上記印刷要求は、ユーザが印刷処理させたい画像形成装置を指定する情報を含む。
【0046】
また、例えば、Webサーバ部601は、画像形成装置101から、印刷ジョブ取得要求を受け取って、印刷ジョブ取得要求処理部605に渡す。この印刷ジョブ取得要求は、画像形成装置101が印刷処理の対象とする印刷データを含む印刷ジョブの送信を求める要求である。具体的には、画像形成装置101が、トークン情報が付加されたプルプリントの印刷要求をクライアントコンピュータ102から受信し、プルプリントの印刷要求からトークン情報を取得し、トークン情報を含む印刷データ取得要求をプリントサーバに送信する。プリントサーバ123のWebサーバ部601は、この印刷データ取得要求を受け付けるデータ取得要求受け付け手段として機能する。
【0047】
Webサーバ部601は、クライアントコンピュータ102または画像形成装置101から受け取った要求に応じた処理を実行する。例えば、Webサーバ部601が、ログイン要求を受け取った場合を想定する。Webサーバ部601は、後述する認証制御部607から、当該ログイン要求を行ったユーザの認証処理結果を受け取る。この認証処理結果が、当該ユーザの認証が成功したことを示す場合、Webサーバ部601は、文書管理部602が管理する当該ユーザの文書情報をクライアントコンピュータ102に返す。
【0048】
また、Webサーバ部601が、クライアントコンピュータ102から印刷要求を受信した場合、Webサーバ部601は、この印刷要求を印刷制御部603と要求応答部123とに渡す。印刷制御部603は、Webサーバ部601から受け取った印刷要求が指定する画像形成装置に対応する印刷ジョブを生成し、記憶手段に一時的に蓄積する。
【0049】
認証制御部607は、認証サーバ122に、ユーザ名、パスワード、認証トークンを渡す。具体的には、Webサーバ部601が、クライアントコンピュータ102からログイン要求を受け取った場合、認証制御部607は、以下の処理を行う。認証制御部607は、ログイン要求が含む当該クライアントコンピュータ102のユーザのユーザIDとパスワードとを認証サーバ122に渡し、ユーザの認証要求を行う。そして、認証制御部607は、認証サーバ122がユーザの認証要求に応じて行ったユーザの認証処理の結果を認証サーバ122から受け取り、Webサーバ部601に渡す。
【0050】
認証サーバ122が、当該ユーザの認証に成功した場合、認証制御部607は、トークン情報を取得するトークン取得手段として機能する。具体的には、認証制御部607は、認証サーバ122から、当該ユーザの認証処理の結果とともに、認証サーバ122が発行した、当該ユーザに対応付けられた認証トークンを受け取る。
【0051】
また、Webサーバ部601が、画像形成装置101から印刷ジョブ取得要求を受け取った場合、認証制御部607は、印刷ジョブ取得要求のHTTPヘッダから、認証トークンを取得し、取得した認証トークンを認証サーバ122に渡し、ユーザの認証要求を行う。なお、認証制御部607が、印刷ジョブ取得要求のHTTPヘッダから認可トークンを取得し、取得した認可トークンを認証サーバ122に渡し、ユーザの認可要求を行うようにしてもよい。なお、認証トークンと認可トークンの違いについて説明すると、認可トークンは、ユーザID、パスワード等の認証情報を入力する認証処理を行うことなく、あらゆるサービスを受けることができる情報である。一方、認可トークンは、ユーザID、パスワード等の認証情報を入力する認証処理を行う必要がないという点では認証トークンと同一であるが、認可トークンを発行するサーバのハンドリングによって、受けられるサービスを制限させることができる情報である。本実施例では、ユーザID、パスワード等を入力する認証処理を行う必要がないこの2つの情報を総称してトークン情報と称する。つまり、トークン情報は、プリントサーバ123が発行する情報であって、プリントサーバ123から印刷サービスを受ける際にユーザ認証情報を入力することなく認証、または認可される。なお、トークン情報はこの2つの情報に制限されるものではない。
【0052】
認証制御部607は、認証サーバ122が当該認証/認可トークンに基づいて行ったユーザの認証/認可処理の結果を認証サーバ122から受け取り、印刷ジョブ取得要求処理部605に渡す。すなわち、認証制御部607および認証サーバ122は、印刷データ取得の要求からHTTPヘッダに含まれるトークン情報を取得し、トークン情報に基づいて、トークン情報に対応付けられているユーザの認証処理または認可処理を行う認証/認可処理手段である。
【0053】
要求応答部604は、Webサーバ部601から印刷要求を受け取る。そして、要求応答部604は、ネットワーク121を介して、印刷要求応答をクライアントコンピュータ102に返す印刷要求応答手段として機能する。この印刷要求応答は、クライアントコンピュータ102に印刷ジョブ生成要求、プルプリント要求を生成/送信させるためのJavaScriptを含む。また、印刷要求応答は、そのHTTP拡張情報に、当該印刷要求の送信元のクライアントコンピュータ102のユーザに対応する認証トークンを含んでいる。このJavaScriptは、クライアントコンピュータ102に、プルプリントの印刷要求のフォーマットに、上記認証トークンと、印刷要求に対応する印刷データを示す情報を含めた拡張を行わせるためのスクリプトである。
【0054】
クライアントコンピュータ102は、印刷要求応答が含むJavaScriptを実行することによって、そのHTTP拡張情報ガ含む認証トークンを含むプルプリント要求を生成し、ネットワーク106を介して画像形成装置101に対して送信する。
【0055】
印刷ジョブ取得要求処理部605は、Webサーバ部601から印刷ジョブ取得要求を受け取る。印刷ジョブ取得要求処理部605は、以下の制御処理を実行する印刷データ送信手段として機能する。印刷ジョブ取得要求処理部605は、認証制御部607から受け取ったユーザの認証/認可処理の結果が、認証/認可が失敗したことを示す場合、画像形成装置101に印刷ジョブを送信しない。印刷ジョブ取得要求処理部605は、認証制御部607から受け取ったユーザの認証/認可処理の結果が、認証/認可が成功したことを示す場合、画像形成装置101に印刷ジョブを送信する。具体的には、印刷ジョブ取得要求処理部605は、印刷ジョブ取得要求が指定する印刷ジョブを記憶手段から取得して、画像形成装置101に対して送信する。すなわち、印刷ジョブ取得要求処理部605は、ユーザが認証または認可された場合に、画像形成装置101に対して印刷データ取得の要求に対応する印刷データを送信する印刷データ送信手段として機能する。イベント受信部606は、画像形成装置101から印刷ジョブの状態の通知を受信する。
【0056】
図5(B)は、認証サーバの機能ブロック図を示す。認証サーバ122は、認証サービス701を備える。認証サービス701は、認証サーバ122に実装されているアプリケーションの機能によって実現される。認証サービス701は、プリントサーバ123にアクセスするためのユーザID、パスワード、認証トークンなどの認証情報を保持している。プリントサーバ123は、クライアントコンピュータ102からログイン要求を受信すると、認証サービス701へ認証要求を行う。
【0057】
認証サービス701は、クライアントコンピュータ102からのログイン要求に含まれるユーザIDおよびパスワードと、認証サービス701が保持するユーザIDおよびパスワードとを照合する。認証サービス701は、上記照合結果に基づいて、ユーザの認証(または認可)処理を行う。認証が成功すると、認証サービス701は、認証されたユーザ(のユーザIDおよびパスワード)に対応付けられた認証トークンを発行する。認証サービス701は、発行した認証トークンを、必要に応じて、プリントサーバ123、クライアントコンピュータ102、画像形成装置101に送信する。
【0058】
また、プリントサーバ123は、画像形成装置101から印刷ジョブ取得要求を受信すると、認証サービス701に対して認証要求を行う。認証サービス701は、この認証要求に応じて、印刷ジョブ取得要求のHTTPヘッダに含まれる認証トークンと、認証サービス701で保持する認証トークンとを照合することを通じてユーザの認証(または認可)処理を行う。認証サービス701は、ユーザの認証処理結果をプリントサーバ123に渡す。
【0059】
次に、本実施形態の印刷システムにおける印刷処理の流れを説明する。クライアントコンピュータ102は、ユーザの入力を受け付け、プリントサーバ123に対して、ユーザ名およびパスワードを含むログイン要求を送信する。プリントサーバ123は、認証サーバ122に対して、受信したユーザ名およびパスワードを含む認証要求を行う。
【0060】
認証サーバ122は、プリントサーバ123から受信したユーザ名およびパスワードと、保持するユーザ名およびパスワードとの照合を行う。ユーザの認証に成功すると、プリントサーバ123のWebサーバ部601が、文書管理部602が管理している当該ユーザに対応する文書リストを表示するために必要なWebページをクライアントコンピュータ102に送信する。このWebページを受信したクライアントコンピュータ102のWebブラウザ501が、図6に示す文書一覧画面を表示する。
【0061】
図6は、文書一覧画面の例を示す図である。この文書一覧画面上に、ログインしたユーザがアクセス可能な文書のリストが、文書名801、日付802、ページ数803、サイズ804といった各種情報と共に表示される。ユーザが、文書一覧画面上で、所望の文書のチェックボックス805をチェックし、印刷ボタン806を押下すると、クライアントコンピュータ102のWebブラウザ501が、当該文書の印刷を求める要求(印刷要求)をプリントサーバ123に対して送信する。なお、この印刷要求は、予めユーザによって入力された、印刷処理を実行する画像形成装置101を指定する情報を含んでいる。
【0062】
図7は、実施例1における印刷処理を説明するシーケンス図である。この印刷処理に関する画像形成装置101のプログラムは、外部記憶装置211(図2)に格納されており、RAM202に読み出され、CPU201によって実行される。また、この印刷処理に関するクライアントコンピュータ102、プリントサーバ123、認証サーバ122の各プログラムは、各機器のHDD312(図3)に格納されており、RAM303に読み出されCPU301によって実行される。なお、この印刷処理の説明において、図8に示す要求/応答を適宜参照するが、図8の詳細な説明については、後述する。
【0063】
クライアントコンピュータ102のWebブラウザ部501が、文書の印刷要求をプリントサーバ123に送信する(ステップS901)。プリントサーバ123の印刷制御部603が、印刷要求が指定する画像形成装置101に対応する印刷ジョブを生成し、記憶手段に一時的に蓄積する。
【0064】
次に、プリントサーバ123の要求応答部604が、クライアントコンピュータ102に対して、印刷要求応答を送信する(ステップS902)。この印刷要求応答は、クライアントコンピュータ102に印刷ジョブ生成要求、プルプリント要求を生成/送信させるためのJavaScriptを含む。また、この印刷要求応答は、クライアントコンピュータ102のユーザに対応する認証トークンを含む。また、この印刷要求応答は、ステップS901において生成された印刷ジョブのURLを含む。
【0065】
クライアントコンピュータ102のWebブラウザ部501が、受信したJavaScriptを実行する。これにより、例えば、図8(A)に示す印刷ジョブ生成要求と、図8(C)に示すプルプリント要求とが生成される。そして、Webブラウザ部501が、印刷ジョブ生成要求を画像形成装置101に送信する(ステップS903)。
【0066】
次に、画像形成装置101の印刷要求受信部401が、印刷ジョブ生成要求を受信する。印刷ジョブ取得部402が、ステップS901においてプリントサーバ123が生成した印刷ジョブに対応するJobIDを生成する。そして、印刷ジョブ取得部402が、クライアントコンピュータ102に対して、例えば図8(B)に示す印刷ジョブ生成要求応答を送信する(ステップS904)。印刷ジョブ生成要求応答は、上記生成されたJobIDを含む。印刷ジョブ生成要求応答を受け取ったクライアントコンピュータ102は、S901において生成された印刷ジョブ、すなわち、S902における印刷要求応答が含むURLに対応する印刷ジョブと、印刷ジョブ生成要求応答が含むJobIDとを対応付ける。
【0067】
次に、クライアントコンピュータ102が、受信した印刷ジョブ生成要求応答をリダイレクトして、プリントサーバ123に送信する(ステップS905)。
【0068】
クライアントコンピュータ102のWebブラウザ部501が、前述した図8(C)に示すプルプリント要求を画像形成装置101に送信する(ステップS906)。プルプリント要求は、画像形成装置102に対して、プリントサーバ123への印刷ジョブ取得要求を行うことを求める要求である。このプルプリント要求の送信を通じて、プリントサーバ123が、クライアントコンピュータ102を介して、画像形成装置102に印刷ジョブのURLを通知することができる。
【0069】
また、プルプリント要求は、HTTP拡張情報を含む。後述するように、HTTP拡張情報は、クライアントコンピュータ102のユーザに対応する認証トークンを含む。これにより、認証トークンが、プリントサーバ123からクライアントコンピュータ102を介して画像形成装置101に渡される。
【0070】
画像形成装置101の所定の処理部(例えば、印刷要求受信部401)が、クライアントコンピュータ102に対して、プルプリント要求応答を送信する(ステップS907)。クライアントコンピュータ102のWebブラウザ部501が、受信したプルプリント要求応答をリダイレクトし、プリントサーバ123に送信する(ステップS908)。
【0071】
次に、画像形成装置101の印刷ジョブ取得部402(図4(A))は、プルプリント要求(S906)が含む印刷ジョブのURLを抽出する。また、HTTPヘッダ変換部405が、プルプリント要求のHTTP拡張情報を解析して、印刷ジョブ取得要求のHTTPヘッダを生成する。HTTPヘッダ変換部405は、HTTPヘッダの生成の際に、HTTP拡張情報が含む認証トークンをHTTPヘッダに格納する。印刷ジョブ取得部402は、上記抽出された印刷ジョブのURLを含むリクエスト行と、上記生成されたHTTPヘッダとを有する印刷ジョブ取得要求をプリントサーバ123に送信する(ステップS909)。これにより、例えば、図8(D)に示す印刷ジョブ取得要求がプリントサーバ123に送信される。
【0072】
次に、プリントサーバ123の認証制御部607が、画像形成装置101から受信した印刷ジョブ取得要求のHTTPヘッダから認証トークンを抽出する。そして、認証制御部607が、認証サーバ122に認証トークンを渡して、認証要求を行う(ステップS910)。続いて、認証サーバ122が、認証制御部607から受信した認証トークンと、保持する認証トークンとの照合を行うことを通じて、ユーザの認証処理を実行する。認証サーバ122は、ユーザの認証が成功した場合、認証が成功したことを示す情報(認証許可情報)をプリントサーバ123に送信する(ステップS911)。
【0073】
次に、プリントサーバ123の印刷ジョブ取得要求処理部605が、画像形成装置101に対して、印刷ジョブを送信する(ステップS912)。具体的には、印刷ジョブ取得要求処理部605は、印刷ジョブ取得要求が含む印刷データのドキュメント識別子が示す印刷データを取得し、この印刷データを含む印刷ジョブを生成して、画像形成装置101に送信する。これにより、画像形成装置101が、印刷ジョブが含む印刷データを取得する。送信される印刷ジョブは、プリントサーバ123が、印刷ジョブ生成要求応答(S905)が含むJobIDに基づいて識別した印刷ジョブである。
【0074】
次に、画像形成装置101の印刷ジョブ取得部402が、プリントサーバ123から受信した印刷ジョブを処理して印刷を行う(ステップS913)。印刷が終了した場合、画像形成装置101のイベント通知部404が、ジョブ終了通知をプリントサーバ123に送信する(ステップS914)。ジョブ終了通知は、画像形成装置101がプリントサーバ123に、印刷処理が終了したことを通知するために送信される。
【0075】
図8は、印刷システム内で送受信される要求/応答の例を示す図である。図8(A)は、クライアントコンピュータ102が画像形成装置101に送信する印刷ジョブ生成要求の例を示す。<CreatePrintJobRequest>タグ1001は、この要求が印刷ジョブ生成要求であることを示す。また、<JobOriginatingUserName>タグには、クライアントコンピュータ102を操作するユーザのユーザ名が格納されている。前述した図7のS903において印刷ジョブ生成要求を受け取った画像形成装置101は、印刷ジョブ生成要求が含むユーザ名に対応するユーザとJobIDとを対応付ける。
【0076】
図8(B)は、画像形成装置101がクライアントコンピュータ102に送信する印刷ジョブ生成要求応答の例である。<CreatePrintJobResponse>タグ1011は、この応答が印刷ジョブ生成要求応答であることを示す。<JobId>タグ1012は、JobIDを示す。
【0077】
図8(C)は、クライアントコンピュータ102が画像形成装置101に送信するプルプリント要求の例を示す。図8(C)中の<httpExtension>タグ1022とその配下のタグは、WSDプリントのフォーマットを拡張した項目に相当する。即ち、プリントサーバ123がフォーマットを拡張したことで、画像形成装置101がこの拡張情報を解釈できる装置であることが要求される。
【0078】
<AddDocumentRequest>タグ1021は、この要求がプルプリント要求であることを示す。<httpExtension>タグ1022は、HTTP拡張情報タグであって、HTTP拡張情報が格納される。<httpExtension>タグ1022の配下に、HTTPヘッダに関する拡張情報を示す<Header>タグがある。
【0079】
<Header>タグの配下にある<Name>タグ1023、1025は、HTTPヘッダのフィールド名の変換前情報を示す。また、<Value>タグ1024、1026は、HTTPヘッダのフィールド値の変換前情報を示す。
【0080】
<Name>タグ1023は、<Value>タグ1024に格納された情報が認証情報であることを示す。具体的には、<Value>タグ1024には、認証トークンが格納されている。<Value>タグ1024に、認可トークンが格納されていてもよい。<Name>タグ1025は、<Value>タグ1026に格納された情報がドキュメントの識別情報であることを示す。具体的には、<Value>タグ1026には、クライアントコンピュータ102がプリントサーバ123に対して行った印刷要求に対応する印刷データを示す情報として、当該印刷データのドキュメント識別子が格納される。<DocumentUrl>タグ1027は、プリントサーバ123が一時的に蓄積した印刷ジョブを提供するサービス提供部にアクセスするためのURLを示す。画像形成装置101は、このURLに対して印刷ジョブ取得要求を送信する。
【0081】
図8(D)は、画像形成装置101がプリントサーバ123に送信する印刷ジョブ取得要求の例を示す。画像形成装置101は、印刷ジョブ取得要求のメソッドとしてGETを指定し、パスとして図8(C)の<DocumentUrl>タグ1027に格納されているURLを指定する(符号1031を参照)。すなわち、印刷ジョブ取得要求には、HTTPプロトコルのGETオペレーションが設定されている。
【0082】
また、画像形成装置101は、HTTPヘッダ1032に、図8(C)に示すプルプリント要求のタグ1023、1024に指定されている認証トークンを記述する。また、画像形成装置101は、HTTPヘッダ1033に、図8(C)に示すプルプリント要求のタグ1025、1026に指定されている認証トークンを記述する。
【0083】
印刷ジョブ取得要求のフォーマット形式としては、図8(D)に示すフォーマットの他に、リクエスト行に認証トークンを格納する形式が考えられる。図12は、リクエスト行に認証トークンが格納された印刷ジョブ取得要求のフォーマット例を示す図である。この印刷ジョブ取得要求は、リクエスト行20、ヘッダ21、ボディ22を含む。リクエスト行20には、メソッドとしてGET、パスとして"PrintServer.ddd.co.jp" が指定されている。この例では、クエリストリング"?" の後に認証トークンが指定されている。
【0084】
しかし、図12に示すような、リクエスト行に認証トークンを格納するフォーマット形式では、認証トークンを示す情報がアプリケーションレベルにまで渡されてしまう。従って、この形式では、より下位層のレベルすなわちWebサーバ(プリントサーバ)レベルでの認証をすることができない。本実施形態のように、HTTPヘッダに認証トークンを記述することによって、より下位層のレベルでのユーザ認証をすることができる。
【0085】
図9は、HTTPヘッダ管理テーブルの一例を示す図である。HTTPヘッダ管理テーブル406は、ユーザ毎に作成される。すなわち、画像形成装置101は、図7のS906において受信したプルプリント要求が含むJobIDに対応するユーザを特定し、当該ユーザに対応するHTTPヘッダ管理テーブルを作成する。HTTPヘッダ管理テーブル406は、NameとValueといったデータ項目を有する。Nameには、図8(C)に示すプルプリント要求の<Name>タグに指定された情報が設定される。画像形成装置101は、印刷ジョブ取得要求を送信する際に、Nameの値をHTTPヘッダのフィールド名として使用する。Valueには、図8(C)に示すプルプリント要求の<Value>タグに指定された情報が設定される。画像形成装置101は、印刷ジョブ取得要求を送信する際に、Valueの値をHTTPヘッダのフィールド値として使用する。
【0086】
図10は、プリントサーバの動作処理を説明するフローチャートである。図10を参照して説明する動作処理に関するプリントサーバ123のプログラムは、プリントサーバ123のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。
【0087】
プリントサーバ123が、クライアントコンピュータ102から印刷要求を受信する(ステップS1201)。続いて、プリントサーバ123が、認証サーバ122から認証トークンを取得する(ステップS1202)。プリントサーバ123が、認証トークンとドキュメント識別子とを含むHTTP拡張情報タグを生成する(ステップS1203)。
【0088】
次に、プリントサーバ123が、クライアントコンピュータ102に上記HTTP拡張情報タグを含む印刷要求応答を送信する(ステップS1204)。この印刷要求応答を受信したクライアントコンピュータ102は、印刷要求応答が含むHTTP拡張タグ内の認証トークンとドキュメント識別子とを<httpExtension>タグ1022に含むプルプリント要求を生成する。次に、プリントサーバ123が、印刷ジョブ生成要求応答をクライアントコンピュータ102から受信する(ステップS1205)。そして、プリントサーバ123が、プルプリント要求応答をクライアントコンピュータ102から受信する(ステップS1206)。
【0089】
図11は、画像形成装置の動作処理を説明するフローチャートである。図10を参照して説明する動作処理に関する画像形成装置101のプログラムは、画像形成装置101のHDD211に格納されており、RAM202に読み出され、CPU201によって実行される。
【0090】
画像形成装置101が、クライアントコンピュータ102からメッセージを受信し、メッセージを判別する(ステップS1301)。メッセージが印刷ジョブ生成要求である場合、画像形成装置101は、印刷ジョブ生成要求応答をクライアントコンピュータ102に送信する(ステップS1302)。メッセージがプルプリント要求である場合、画像形成装置101は、プルプリント要求を解析し、プルプリント要求がHTTP拡張情報タグを含むかを判断する(ステップS1303)。
【0091】
画像形成装置101がプルプリント要求がHTTP拡張情報タグを含むと判断した場合、画像形成装置101はHTTPヘッダのフィールド値とフィールド名の元となるNameとValueをHTTPヘッダ管理テーブル406に保存する(ステップS1304)。これにより、認証トークンと、印刷要求に対応する印刷データのドキュメント識別子とがHTTPヘッダ管理テーブル406に保存される。そして、画像形成装置101が、プルプリント要求応答をクライアントコンピュータ102に送信する(ステップS1305)。
【0092】
次に、画像形成装置101が、ステップS1304においてHTTPヘッダ管理テーブル406に保存したNameとValueとに基づいて、印刷ジョブ取得要求のHTTPヘッダを生成する(ステップS1306)。画像形成装置101が、生成したHTTPヘッダを含む印刷ジョブ取得要求をプリントサーバ123に送信して、印刷ジョブを取得する(ステップS1307)。
【0093】
次に、画像形成装置101が、印刷処理を実行する(ステップS1308)。そして、画像形成装置101が、プリントサーバ123に対してジョブ終了通知を送信する(ステップS1309)。
【0094】
上記ステップS1303において、画像形成装置101が、プルプリント要求がHTTP拡張情報タグを含まないと判断した場合、画像形成装置101は、プルプリント要求失敗応答をクライアントコンピュータ102に送信する(ステップS1310)。
【0095】
本実施例の印刷システムによれば、プルプリント印刷の実行において、ユーザごとの認証を行うことができる。具体的には、クライアントコンピュータ102のユーザがログイン時にユーザIDとパスワードを入力すれば、このユーザに対応する認証トークンが発行される。そして、クライアントコンピュータ102からプリントサーバ123に対する印刷要求がされると、プリントサーバ123及びクライアントコンピュータ102を介して、当該認証トークンが画像形成装置101に渡される。
【0096】
認証トークンを受け取った画像形成装置101が、プルプリントの印刷要求(印刷ジョブ取得要求)に、この認証トークンを含めてプリントサーバ123に送信する。そして、プリントサーバ123が印刷ジョブ取得要求が含む認証トークンを認証サーバ122に渡して、認証要求を行う。すなわち、ユーザは、ログイン時にユーザIDとパスワードを入力すれば、プリントサーバ123から印刷サービスの提供を受ける時には、ユーザは、再度ユーザIDとパスワードを入力することなく、認証を受けることができる。従って、本実施例の印刷システムによれば、プルプリント印刷で利用する認証方式が変更された場合においても、プリントサーバ123のソフトウェア変更をすればよく、画像形成装置のソフトウェア変更を行う必要がなくなる。
【0097】
また、本実施例では、プリントサーバ123がHTTP拡張情報タグ1022にドキュメント識別子を含めてプルプリント要求を送信する。画像形成装置101は、プルプリント要求を受信すると、HTTPヘッダにドキュメント識別子を含めた印刷ジョブ取得要求を送信する。このドキュメント識別子により、印刷ジョブ取得要求で取得する印刷ジョブの個別指定を行うことができるため、印刷ジョブ取得要求のURLは常に同一とすることができる。
【実施例2】
【0098】
図13は、実施例2における印刷処理を説明するシーケンス図である。実施例2においては、画像形成装置101が、認証トークンを一定時間保持する。そして、プリントサーバ123は、画像形成装置101が認証トークンを保持していないときのみ、認証トークンを含むプルプリント要求を送信する。本実施例によれば、プリントサーバ123は、認証トークンを毎回送信しないで良いため、ネットワーク上に認証トークンが流れる回数を減らすことができる。その結果、認証トークンが盗聴されることを減らすことができる。なお、実施例2については、実施例1と同一部分に関する説明は省略し、その差異についてのみ説明する。
【0099】
図13は、実施例2における印刷処理を説明するシーケンス図である。実施例2における印刷処理のうち、ステップS905までの処理は、図7を参照して説明した実施例1の印刷処理と同様であるので、説明を省略する。ステップS1401において、クライアントコンピュータ102のWebブラウザ部501が、プルプリント要求を画像形成装置101に送信する。
【0100】
図14(A)は、S1401において送信されるプルプリント要求の一例である。<AddDocumentRequest>タグ1501は、この要求がプルプリント要求であることを示す。<httpExtension>タグ1502は、HTTP拡張情報タグであって、HTTP拡張情報が格納される。図14(A)に示すプルプリント要求にはHTTP拡張情報が含まれているが、認証トークンは含まない。画像形成装置101は、プルプリント要求のHTTP拡張情報を解析するが、プルプリント要求には認証トークンが含まれていない。
【0101】
プルプリント要求に認証/認可トークンが含まれていないことを確認した画像形成装置101は、このプルプリント要求が含むJobIDに対応するユーザを特定し、当該ユーザに対応するHTTPヘッダ管理テーブル406を参照する。そして、画像形成装置101は、当該HTTPヘッダ管理テーブル406に、当該ユーザに対応する認証トークンが保存されているかを確認する。認証トークンが保存されていない場合、画像形成装置101は、図13のステップS1402において、プルプリント要求失敗応答をクライアントコンピュータ102に送信する。
【0102】
図14(B)は、図13のステップS1402において送信されるプルプリント要求失敗応答の一例である。<Fault>タグ1511は、この応答がプルプリント要求失敗応答であることを示す。この例では、プルプリント要求失敗応答は、SoapFaultの形式を有する。なお、プルプリント要求失敗応答は、クライアントコンピュータ102が、プルプリント要求に認証トークンがないために失敗したことを認識できる任意の形式とすることができる。
【0103】
<Subcode>タグ1512は、失敗サブコードを示す。<Reason>タグ1513は失敗理由を示す。なお、プルプリント要求失敗応答は、タグ1512とタグ1513のいずれかを含んでいればよい。タグ1512またはタグ1513に記述する文字列は、クライアントコンピュータ102が、プルプリント要求に認証トークンがないためにプルプリント要求が失敗したことを認識できる任意の文字列とすることができる。上述したプルプリント要求失敗応答は、クライアントコンピュータ102に対して、認証トークンの送信を求める要求として機能する。
【0104】
図13に戻って、クライアントコンピュータ102が、プルプリント要求失敗応答を受けて、認証トークン取得要求をプリントサーバ123に送信する(ステップS1403)。認証トークン取得要求は、認証トークンの取得を求める要求である。プリントサーバ123の要求応答部604が、クライアントコンピュータ102から受信した認証トークン取得要求に応じて、クライアントコンピュータ102のユーザに対応する認証トークンをクライアントコンピュータ102に送信する(ステップS1404)。
【0105】
次に、クライアントコンピュータ102が、ステップS1404においてプリントサーバ123から送信された認証トークンを受信する。そして、クライアントコンピュータ102は、受信した認証トークンをHTTP拡張情報に持つプルプリント要求を生成し、生成されたプルプリント要求を画像形成装置101に対し再度送信する(ステップS1405)。
【0106】
ステップS907以降の処理は、図7を参照して説明した処理と同様であるので、説明を省略する。なお、本実施例では、初回のプルプリント要求には、認証トークンは含まれない。しかし、初回のプルプリント要求の送信時においては、画像形成装置101は認証トークンを保持していないため、初回のプルプリント要求には必ず認証トークンを含めるようにしてもよい。
【0107】
図15は、実施例2におけるプリントサーバの動作処理を説明するフローチャートである。この動作処理に関するプリントサーバ123のプログラムは、プリントサーバ123のHDD312に格納されており、RAM303に読み出されCPU301によって実行される。
【0108】
プリントサーバ123が、クライアントコンピュータ102から印刷要求を受信する(ステップS1601)。次に、プリントサーバ123が、認証トークンを含まないHTTP拡張情報タグを生成する(ステップS1602)。
【0109】
次に、プリントサーバ123が、クライアントコンピュータ102に上記HTTP拡張情報タグを含む印刷要求応答を送信する(ステップS1603)。続いて、プリントサーバ123は、印刷ジョブ生成要求応答をクライアントコンピュータ102から受信する。そして、プリントサーバ123が、プルプリント要求応答を受信するのを待つ。
【0110】
プリントサーバ123が、プルプリント要求が成功したかを判断する(ステップS1605)。プリントサーバ123が、プルプリント要求応答を受信した場合は、プリントサーバ123は、プルプリント要求が成功したと判断する。プリントサーバ123が、プルプリント要求応答を受信しない場合は、プリントサーバ123は、プルプリント要求が失敗したと判断する。
【0111】
プリントサーバ123が、プルプリント要求が成功したと判断した場合は、処理を終了する。プリントサーバ123が、プルプリント要求が失敗したと判断した場合は、ステップS1606に進む。
【0112】
ステップS1606において、プリントサーバ123が、クライアントコンピュータ102から認証トークン取得要求を受信する(ステップS1606)。続いて、プリントサーバ123が、認証サーバ122から認証トークンを取得して、取得した認証トークンをクライアントコンピュータ102に送信する(ステップS1607)。そして、プリントサーバ123が、プルプリント要求応答をクライアントコンピュータ102から受信する(ステップS1608)。
【0113】
図16は、実施例2における画像形成装置の動作処理を示すフローチャートである。この動作処理に関する画像形成装置101のプログラムは、画像形成装置101のHDD211に格納されており、RAM202に読み出されCPU201によって実行される。
【0114】
図16のステップS1701乃至S1703は、図11のステップS1301乃至S1303と同様である。図16のステップS1706乃至S1710は、図11のステップS1305乃至S1309と同様である。
【0115】
画像形成装置101の印刷要求受信部401が、プルプリント要求にHTTP拡張情報タグが含まれると判断した場合(S1703でYes)、ステップS1704に進む。そして、印刷要求受信部401が、HTTP拡張情報タグに認証トークンが含まれるかを判断する(ステップS1704)。印刷要求受信部401が、HTTP拡張情報タグに認証トークンが含まれると判断した場合は、ステップS1705に進む。そして、印刷要求受信部401は、HTTPヘッダのフィールド値とフィールド名の元となるNameとValueを、予め定められた期間、HTTPヘッダ管理テーブル406に保存する(ステップS1705)。これにより、認証トークンと印刷要求に対応する印刷データのドキュメント識別子とが、HTTPヘッダ管理テーブル406に保存される。
【0116】
印刷要求受信部401が、プルプリント要求にHTTP拡張情報タグが含まれないと判断した場合(S1704でNo)、ステップS1711に進む。ステップS1711において、HTTPヘッダ変換部405が、HTTPヘッダ管理テーブル406を参照し、HTTPヘッダ管理テーブル406に認証トークンが保存されているかを判断する(ステップS1711)。HTTPヘッダ変換部405が、認証トークンが保存されていると判断した場合は、ステップS1706に進む。HTTPヘッダ変換部405が、認証トークンが保存されていないと判断した場合は、ステップS1712に進む。そして、印刷要求受信部401が、プルプリント要求失敗応答をクライアントコンピュータ102に送信する(ステップS1712)。
【0117】
実施例2においては、画像形成装置101は、プルプリント要求が含むHTTP拡張情報タグに認証トークンが記述されているかを判断する(図16のS1703でYes,S1704)。画像形成装置101は、HTTP拡張情報タグに認証トークンが記述されておらず(S1704でNo)、HTTPヘッダ管理テーブル406に認証トークンが保存されているとき(S1711でYes)、プルプリント要求応答を送信する(S1706)。従って、本実施例の印刷システムによれば、プリントサーバ123が、認証トークンを毎回送信しなくてよい。また、画像形成装置101が認証トークンを削除した場合等にも、プリントサーバ123に認証トークンを要求することを通じて、認証トークンを取得することができる。
【0118】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0119】
10 イントラネット
101 画像形成装置
102 クライアントコンピュータ
105 ファイアウォール
106 ネットワーク
121 インターネット
122 認証サーバ
123 プリントサーバ

【特許請求の範囲】
【請求項1】
ユーザ装置と、
サーバ装置と、
画像形成装置とを備え、
前記サーバ装置は、ネットワークを介して、印刷要求を行った前記ユーザ装置に対して、プルプリントの印刷要求のフォーマットに、前記ユーザ装置のユーザに対応付けられた情報であって、前記ユーザ装置が前記サーバ装置から印刷サービスを受ける際のユーザの認証または認可に用いるトークン情報を含めた拡張を行うように指示し、
前記ユーザ装置は、前記サーバ装置の指示に従って、前記プルプリントの印刷要求のフォーマットに前記トークン情報を含めた拡張を行い、該プルプリントの印刷要求をネットワークを介して前記画像形成装置に送信し、
前記画像形成装置は、前記ユーザ装置から受信した前記プルプリントの印刷要求のフォーマットを解釈して前記トークン情報を取得し、HTTPヘッダに該トークン情報を含めた印刷データ取得の要求をネットワークを介して前記サーバ装置に対して行う
ことを特徴とする印刷システム。
【請求項2】
前記サーバ装置は、
前記ユーザ装置から前記印刷要求を受け付ける印刷要求受け付け手段と、
前記ユーザ装置のユーザのユーザIDおよびパスワードに対応付けられた前記トークン情報を取得するトークン取得手段と、
前記ユーザ装置に対して、前記プルプリントの印刷要求のフォーマットに前記トークン情報を含めた拡張を行わせるためのスクリプトを含む応答を返す印刷要求応答手段と、
前記画像形成装置から前記印刷データ取得の要求を受け付けるデータ取得要求受け付け手段と、
前記受け付けられた印刷データ取得の要求から、前記HTTPヘッダに含まれる前記トークン情報を取得し、取得したトークン情報に基づいて、該トークン情報に対応付けられているユーザの認証処理または認可処理を行う認証/認可処理手段と、
前記ユーザが認証または認可された場合に、前記画像形成装置に対して前記印刷データ取得の要求に対応する印刷データを送信する印刷データ送信手段とを備える
ことを特徴とする請求項1に記載の印刷システム。
【請求項3】
前記スクリプトは、JavaScriptであり、
前記ユーザ装置は、
前記サーバ装置に対して印刷要求を行う印刷要求手段と、
前記サーバ装置から受けた応答に含まれる前記JavaScriptを実行することによって、前記トークン情報が記述されたHTTP拡張情報を含むプルプリントの印刷要求を生成して前記画像形成装置に送信するプルプリント要求手段とを備える
ことを特徴とする請求項2に記載の印刷システム。
【請求項4】
前記サーバ装置が備える印刷要求応答手段は、前記ユーザ装置に対して、前記プルプリントの印刷要求のフォーマットに前記トークン情報と前記印刷要求に対応する印刷データを示す情報とを含めた拡張を行わせるためのJavaScriptを含む応答を返し、
前記ユーザ装置が備えるプルプリント要求手段は、前記サーバ装置から受けた応答に含まれる前記JavaScriptを実行することによって、前記トークン情報と前記印刷要求に対応する印刷データを示す情報が記述されたHTTP拡張情報を含むプルプリントの印刷要求を生成して前記画像形成装置に送信し、
前記画像形成装置は、
前記ユーザ装置から受信した前記プルプリントの印刷要求が含む前記HTTP拡張情報に記述された前記トークン情報と前記印刷要求に対応する印刷データを示す情報とを取得する取得手段と、
前記取得した前記トークン情報と前記印刷データを示す情報とを前記印刷データ取得の要求のHTTPヘッダに記述して、該印刷データ取得の要求を前記サーバ装置に対して行う印刷データ取得要求手段とを備える
ことを特徴とする請求項3に記載の印刷システム。
【請求項5】
前記画像形成装置が備える前記取得手段は、
前記ユーザ装置から受信した前記プルプリントの印刷要求が含む前記HTTP拡張情報にトークン情報が記述されているかを判断し、
前記HTTP拡張情報に前記トークン情報が記述されていると判断した場合に、該トークン情報を、予め定められた期間、記憶手段に保存し、
前記HTTP拡張情報に前記トークン情報が記述されていないと判断した場合に、前記記憶手段に前記トークン情報が保存されているかを判断し、
前記記憶手段に前記トークン情報が保存されていないと判断した場合に、前記ユーザ装置に対して、トークン情報の送信を要求する
ことを特徴とする請求項4に記載の印刷システム。
【請求項6】
ユーザ装置からネットワークを介して印刷データの印刷要求を受け付ける印刷要求受け付け手段と、
前記印刷要求を行ったユーザ装置に対し、前記サーバ装置から印刷サービスを受ける際にユーザ認証情報を入力することなく認証、または認可されるトークン情報を、プルプリントの印刷要求に付加するように指示する指示手段と、
前記トークン情報が付加されたプルプリントの印刷要求を受信し、受信されたプルプリントの印刷要求から前記トークン情報を取得した画像形成装置から、前記トークン情報を含む印刷データ取得要求を受け付けるデータ取得要求受け付け手段と、
受け付けられた印刷データ取得要求から前記トークン情報を取得し、取得したトークン情報に基づいて、前記トークン情報に対応付けられているユーザの認証処理または認可処理を行う認証/認可処理手段と、
前記ユーザが認証または認可されなかった場合は、前記画像形成装置に対して印刷データを送信せず、前記ユーザが認証または認可された場合に、前記画像形成装置に対して前記印刷データ取得の要求に対応する印刷データを送信するよう制御する印刷データ送信手段とを備える
ことを特徴とするサーバ装置。
【請求項7】
サーバ装置に対して印刷要求を行ったユーザに対応付けられた、前記サーバ装置が発行する情報であって、前記サーバ装置から印刷サービスを受ける際にユーザ認証情報を入力することなく認証、または認可されるトークン情報を含むプルプリントの印刷要求をユーザ装置から取得する取得手段と、
取得されたプルプリントの印刷要求に含まれるトークン情報を印刷データ取得要求に含め、前記トークン情報を含む印刷データ取得要求を前記サーバ装置に対して行う印刷データ取得要求手段と、
前記トークン情報を基に認証、または認可されたことで前記サーバ装置から送信される印刷データを基に、印刷出力を行う印刷手段とを備える
ことを特徴とする画像形成装置。
【請求項8】
ユーザ装置と、サーバ装置と、画像形成装置とを備える印刷システムにおける印刷処理方法であって、
前記サーバ装置が、ネットワークを介して、印刷要求を行った前記ユーザ装置に対して、プルプリントの印刷要求のフォーマットに、前記ユーザ装置のユーザに対応付けられた情報であって、前記ユーザ装置が前記サーバ装置から印刷サービスを受ける際のユーザの認証または認可に用いるトークン情報を含めた拡張を行うように指示する工程と、
前記ユーザ装置が、前記サーバ装置の指示に従って、前記プルプリントの印刷要求のフォーマットに前記トークン情報を含めた拡張を行い、該プルプリントの印刷要求をネットワークを介して前記画像形成装置に送信する工程と、
前記画像形成装置が、前記ユーザ装置から受信した前記プルプリントの印刷要求のフォーマットを解釈して前記トークン情報を取得し、HTTPヘッダに該トークン情報を含めた印刷データ取得の要求をネットワークを介して前記サーバ装置に対して行う工程とを有する
ことを特徴とする印刷処理方法。
【請求項9】
請求項8に記載の印刷処理方法をコンピュータに実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−256225(P2012−256225A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−129251(P2011−129251)
【出願日】平成23年6月9日(2011.6.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】