(57)【要約】【課題】画像形成装置は多くの印刷設定機能を持ち、クラウドプリントなどの印刷サービス上からはそれらの一部は設定できない。【解決手段】印刷システムに、ジョブチケットを取得し保存する設定情報保存手段と、ダウンロードを実行する主体を判断する判定手段と、前記ダウンロードの主体にダウンロード要求を送信する送信手段を持ち、印刷設定を前記画像形成装置の代理として受け付ける設定プロキシと、外部から要求を受信する受信手段と、前記印刷サービスから印刷ジョブをダウンロードする手段と、印刷要求を作成する手段と、前記印刷要求を送信する手段を持ち、印刷ジョブを前記画像形成装置の代理で受信するダウンロードプロキシと、外部から要求を受信する受信手段と、前記印刷ジョブを印刷サービスからダウンロードする手段と、前記印刷ジョブを印刷する印刷手段を持つ画像形成装置、を用意した。【選択図】  図５
2014052751.tif 000002
【特許請求の範囲】
【請求項１】
印刷を行う画像形成装置（４４０、５４０）と、印刷設定を前記画像形成装置の代理として受け付ける設定プロキシ（５２０）と、印刷設定を受信してその設定情報をジョブチケット（５２３）として提供するジョブチケットサーバ（５３０）と、印刷ジョブ（５５２）を前記画像形成装置の代理で受信するダウンロードプロキシ（５６０）と、ユーザが操作するクライアント（５１０）と、印刷サービス（５５０）からなる印刷システムであり、
ユーザの指示により前記ジョブチケットサーバと通信して印刷の詳細設定を行い、その設定情報をジョブチケット（５２３）として取得し保存する設定情報保存手段（６２２）と、前記印刷サービスから印刷要求イベント（５５１）の受信時にダウンロードを実行する主体を判断する判定手段（７０１）と、前記判定手段により判定した前記ダウンロードの主体にダウンロード要求（５２７）を送信する送信手段（７０３）と、を持つことを特徴とする設定プロキシ（５２０）と、
外部から要求を受信する受信手段（９０１）と、前記受信手段により前記ダウンロード要求を受信すると前記印刷サービスから前記印刷ジョブをダウンロードする手段（５６１）と、印刷要求（５６４）を作成する手段（９０５）と、前記画像形成装置へ前記印刷要求を送信する手段（９０６）と、を持つことを特徴とするダウンロードプロキシ（５６０）と、
外部から要求を受信する受信手段（８０１）と、前記受信手段により前記ダウンロード要求を受信すると前記印刷ジョブを印刷サービスからダウンロードする手段（４４１）と、前記印刷ジョブを印刷する印刷手段（４４３）を持つことを特徴とする画像形成装置（４４０）
からなる印刷システム。
【請求項２】
前記設定プロキシの持つ判定手段において、前記画像形成装置が印刷要求イベントにて指定された印刷サービスから印刷ジョブをダウンロード可能か否かで判定する、ことを特徴とする設定プロキシ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク印刷システムの制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来のネットワーク印刷システムではクライアントからネットワーク上の画像形成装置に対して印刷を行う場合、それぞれの画像形成装置に固有の印刷ドライバを使用して印刷を行っていた。近年、ネットワーク上のサーバにアプリケーションを搭載し、簡易なクライアントがネットワークを介してサーバ上のアプリケーションを操作するネットワークシステム、いわゆるクラウドシステムが登場している。たとえばサーバ上に文書作成アプリケーションを搭載し、クライアントからはウェブブラウザなどの簡易なソフトウエアで文書作成アプリケーションを表示させ、文書作成作業を行うなどである。つまりクライアントで行う処理は表示のみであり、文書作成アプリケーションの実際の処理はクラウド上のサーバで実行される。そのため、このようなシステムから文書を印刷する場合、画像形成装置ごとの印刷ドライバをサーバ側に持たなければならない。しかし、クラウドシステムでは不特定多数のユーザからの操作が想定され、それらユーザが印刷を実行する画像形成装置も各メーカー、各機種が存在する。それら全ての印刷ドライバをサーバ上に搭載させることは現実的ではない。したがって、クラウド上のサーバから画像形成装置へ直接文書を印刷するための「クラウドプリントＡＰＩ」が提案されている（非特許文献１）。この方法では特定の印刷ドライバは使用せず、クライアントはクラウド上のサーバを介してクラウドプリントＡＰＩに準拠した画像形成装置に対して印刷設定を行い、印刷を実行する。
【０００３】
また、印刷設定をジョブチケットとしてクライアントに保存し印刷実行時に文書とジョブチケットを対としてサーバに転送し、サーバは指示された画像形成装置にそれら対データを送信し印刷する、という先行技術もある（特許文献１）。この先行技術も、印刷ドライバを持たないサーバから、ユーザが指定する画像形成装置で文書を印刷する方法である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１１５６６０号公報
【非特許文献】
【０００５】
【非特許文献１】Ｇｏｏｇｌｅ  Ｃｌｏｕｄ  Ｐｒｉｎｔ  （ｈｔｔｐ：／／ｃｏｄｅ．ｇｏｏｇｌｅ．ｃｏｍ／ａｐｉｓ／ｃｌｏｕｄｐｒｉｎｔ／）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像形成装置は一般的に多くの印刷設定機能を持ち、また各機種によって持つ機能が異なる。クラウドプリントＡＰＩがサポートする機能は標準的なものとなるため、目的とする画像形成装置が持つ機能に対して設定できないことがある。ユーザがそれらの機能を設定する場合は、操作パネルから直接設定するか、画像形成装置が用意するネットワークからの設定方法などを使用することになる。しかしそれらは他のユーザから操作されると変更・消去されてしまうような、一時的な設定であることが多い。たとえば、ユーザＡがクラウドプリントＡＰＩを使用して装置１に対して印刷設定を行い、更に装置１が持つウェブサーバにアクセスして機能１を設定したとする。その直後にユーザＢが操作パネルなどから機能１の設定を解除してしまったとする。すると、ユーザＡはクラウドから印刷しても機能１の設定が解除された印刷が行われてしまう、というケースが発生する。つまり、クラウドプリントＡＰＩにサポートされていない機能の設定は保障されない、という問題があった。また、画像形成装置に対応するジョブチケットをクライアント側で作成しクラウド上のサーバに転送し、文書と対にして画像形成装置に転送することができれば多くの機能を使用することができる。しかし、当然のことながらジョブチケットをクラウド側でサポートしていなければならず、不特定多数のユーザを想定しているクラウドシステムはジョブチケットを使用した印刷を想定してない。
【課題を解決するための手段】
【０００７】
本発明に係る印刷システムの構成は、
印刷を行う画像形成装置と、印刷設定を前記画像形成装置の代理として受け付ける設定プロキシと、印刷設定を受信してその設定情報をジョブチケットとして提供するジョブチケットサーバと、印刷ジョブを前記画像形成装置の代理で受信するダウンロードプロキシと、ユーザが操作するクライアントと、印刷サービスからなる印刷システムであり、
ユーザの指示により前記ジョブチケットサーバと通信して印刷の詳細設定を行い、その設定情報をジョブチケットとして取得し保存する設定情報保存手段と、前記印刷サービスから印刷要求イベントの受信時にダウンロードを実行する主体を判断する判定手段と、前記判定手段により判定した前記ダウンロードの主体にダウンロード要求を送信する送信手段と、を持つことを特徴とする設定プロキシと、
外部から要求を受信する受信手段と、前記受信手段により前記ダウンロード要求を受信すると前記印刷サービスから印刷ジョブをダウンロードする手段と、印刷要求を作成する手段と、前記画像形成装置へ前記印刷要求を送信する手段と、を持つことを特徴とするダウンロードプロキシと、
外部から要求を受信する受信手段と、前記受信手段により前記ダウンロード要求を受信すると前記印刷ジョブをダウンロードし印刷を行う印刷手段を持つことを特徴とする画像形成装置
からなる印刷システム。
【発明の効果】
【０００８】
本発明によれば、前記手段を講じることにより、以下の効果を得ることができる。
クラウド側に改変を行うことなく、クラウドプリントＡＰＩでは仕様範囲外の画像形成装置の機能に対して設定を行うことができ、またその設定を印刷結果に対して保障することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態におけるネットワークシステムの全体図。
【図２】一般的なＰＣの構成を示すブロック図である。
【図３】本発明の実施形態における印刷デバイスの構成を示すブロック図である。
【図４】本発明の実施形態における動作シーケンスの一例を示す図である。
【図５】本発明の実施形態における動作シーケンスの一例を示す図である。
【図６】設定プロキシの動作を説明するフローチャートである。
【図７】設定プロキシの動作を説明するフローチャートである。
【図８】印刷デバイスの動作を説明するフローチャートである。
【図９】ダウンロードプロキシの動作を説明するフローチャートである。
【図１０】ジョブチケットの一例を示す図である。
【図１１】印刷要求イベントの一例を示す図である。
【図１２】ダウンロード要求の一例を示す図である。
【図１３】印刷ジョブの一例を示す図である。
【図１４】印刷要求の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１１】
本発明は以下に詳述するように、クライアントはサーバに対して印刷設定を行い、それらの設定を反映させた印刷を行うネットワーク印刷システムに関するものである。
【００１２】
図１は本発明の一例となるシステム構成の図である。図１において、１００はあるネットワークの一例である。デバイス１１０〜１１２は画像形成装置であり、以後印刷デバイスと呼ぶ。デバイス１１０はコピー、プリント、センド、ボックス、プルプリントなどを機能として持つＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ）である。デバイス１１１、１１２はプリント機能を持つＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ）である。ＰＣ１２０は１つ以上のサービスを提供するサーバＰＣ、ＰＣ１３０はクライアント端末である。前記１１０〜１３０はそれぞれＬＡＮ１０８に接続されている。１０９はファイアウォールであり、ＬＡＮ１０８を外部のインタネット１９９に接続する。またＬＡＮ１０８はファイアウォール１０９、インタネット１９９を介して更に別のネットワーク１８０に接続される。ネットワーク１８０の内部構成は、ネットワーク１００と同様な構成である。ＰＣ１８１、１８２、１８３、１８４がＬＡＮ１８８に接続され、外部のインタネットとはファイアウォール１８９によって接続される。
【００１３】
本発明では、プリントサービスを提供するネットワークとジョブチケット発行サービスを提供するサーバが必要である。以後、一例としてプリントサービスを提供するネットワークを１８０、ジョブチケットを発行するジョブチケットサーバをＰＣ１２０として説明するが、これらはあくまで例である。例えばジョブチケットサーバはネットワーク１８０のいずれかのＰＣで提供されてもよいし、ＭＦＰ１１０に実装提供されてもよい。
【００１４】
図２は、一般的なパーソナルコンピュータの内部構成を示した図であり、図１におけるＰＣ１２０、１８１、１８２、１８３、１８４およびクライアント１３０の内部構成はこのようになっている。各種ソフトウェアおよび本発明のプログラムは、ＲＯＭ２０２、ハードディスク（ＨＤ）２１１あるいはフロッピー（登録商標）ディスクドライブ（ＦＤ）２１２により供給され、ＣＰＵ２０１がそれらを実行する。また、ＣＰＵ２０１はシステムバス２０４に接続される各機器を総括的に制御する。２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９や不図示のポインティングデバイス等からの指示入力を制御する。２０６はモニタコントローラ（ＭＯＮＣ）で、モニタ（ＭＯＮ）２１０の表示を制御する。２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、本発明の動作を行うプログラム、種々のアプリケーション、編集ファイル、ならびにユーザファイル等を記憶するハードディスク（ＨＤ）２１１とのアクセスを制御する。また、さらにフロッピーディスクコントローラ（ＦＤ）２１２とのアクセスも制御する。２０８はネットワークインタフェース（ＮＩＣ）であり有線また無線を介してＬＡＮ２２０に接続し、ネットワークプリンタ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。これらは一般的な構成を示したものであり、たとえばクライアント１３０が軽量なモバイル端末となる場合では、ＨＤ２１１やＦＤ２１２、ＤＫＣ２０７を装備していない、という構成もあり得る。なお、本実施例においては、ＬＡＮ２２０は図１におけるＬＡＮ１０８、１８８と同じものである。
【００１５】
図３において、３００は、本発明プログラムが稼動する印刷デバイスの内部構成の一例であり、図１における１１０、１１１、１１２と同等である。デバイス３００は、ＲＯＭ３０２もしくはハードディスク（ＨＤ）３１０に記憶された、あるいはフロッピーディスクドライブ（ＦＤ）３１１より供給される各種プログラムを実行するＣＰＵ３０１を備える。加えてＣＰＵ３０１は、システムバス３０４に接続される各機器を総括的に制御する。３０３はＲＡＭで、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。３０５はユーザインタフェースコントローラ（ＵＩＣ）で、ユーザインタフェース（ＵＩ）３０９への表示、３０９からの指示入力を制御する。ファンクションコントローラ（ＦＵＮＣＣ）３０６は各デバイス特有の機能であるファンクション（ＦＵＮＣ）３１０を実現／制御する。デバイスがモノクロプリンタであればモノクロプリントエンジンコントローラとモノクロプリントエンジンを持つ。カラープリンタであればカラープリントエンジンコントローラとカラープリントエンジンを持つ。またスキャン機能を持つデバイスはスキャンコントローラとスキャナを更に持つ。ファックスを持つデバイスはファックスコントローラとファックスインタフェースを更に持つ。このように複合機能を持つデバイス３００は各機能のファンクションコントローラ（ＦＵＮＣＣ）３０６とファンクション（ＦＵＮＣ）３１０をそれぞれ持つ。３０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、本発明の動作を行うプログラム、種々のアプリケーションを記憶する機能、ならびにデータファイルを格納する記憶領域としてのハードディスク（ＨＤ）３１１とのアクセスを制御する。また、さらにフロッピーディスクコントローラ（ＦＤ）３１２とのアクセスも制御する。３０８はネットワークインタフェース（ＮＩＣ）で有線または無線を介してＬＡＮ３２０に接続し、ネットワークプリンタ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。本構成はあくまで印刷デバイスの一例であり、たとえばＦＤ３１２を持たない印刷デバイスがあってもよい。なお、本実施例においては、ＬＡＮ３２０は図１におけるＬＡＮ１０８、１８８と同じものである。
【００１６】
図４は、本発明で実現される動作シーケンス図の一例である。この図では、ユーザ４０１が印刷デバイス４４０の印刷設定として、クライアント４１０に対して設定操作を行う（４０２）と、クライアント４１０は設定プロキシに対して設定画面を要求する（４１１）。設定画面要求４１１を受信した設定プロキシ４２０は、設定画面を返信する（４２１）。設定画面を受信したクライアント４１０は設定画面を表示する。その後ユーザ４０１により各設定が行われ、それら設定の確定操作４０３が行われる。するとクライアント４１０はそれまで設定した情報とともに設定確定要求４１２を設定プロキシ４２０へ送信する。設定確定要求４１２を受信した設定プロキシ４２０は、ジョブチケットサーバ４３０へ印刷デバイス４４０で認識可能なジョブチケットの作成を要求する（４２２）。要求を受信したジョブチケットサーバ４３０はジョブチケットを作成（４３１）、返信する（４３２）。設定プロキシ４２０は、受信したジョブチケットを保存する（４２３）。次に設定プロキシ４２０は、クライアント４１０に対して設定完了画面を送信し（４２４）、クライアント４１０は設定完了画面を表示する。ユーザは操作４０２を複数の印刷デバイスに対してそれぞれ行ってもよく、その際は設定プロキシにそれぞれの印刷デバイスのジョブチケットが保存されることになる。その後、ユーザ４０１から印刷操作（４０４）が実行されると、クライアント４１０は印刷サービス印刷要求４１３を印刷サービス４５０へ送信する。印刷サービス印刷要求４１３を受信した印刷サービス４５０は、印刷要求イベントを設定プロキシ４２０へ送信し（４５１）、設定プロキシ４２０は受信した印刷要求イベント４５１から得られるジョブＩＤを保存する（４２５）。次に設定プロキシは印刷要求イベントから得られる情報から印刷ジョブのダウンロードを行う主体および印刷処理を行う主体を決定する（４２６）。図４の場合では、印刷デバイス４４０においてダウンロードおよび印刷を行う、と決定した例であり、設定プロキシ４２０は印刷デバイス４４０に対してダウンロード要求を送信する（４２７）。ダウンロード要求４２７は、印刷デバイス４４０に対するジョブチケット４２３と、ジョブＩＤ４２５を保持する。ダウンロード要求４２７を受信した印刷デバイス４４０は、ダウンロード処理４４１を開始し、印刷サービス４５０に対してデータ要求４４２を送信する。印刷サービス４５０による印刷ジョブ４５２の返信を受信後、印刷デバイス４４０は印刷処理４４３を実行する。
【００１７】
ここで、図４のクライアント４１０、設定プロキシ４２０、ジョブチケットサーバ４３０、印刷デバイス４４０、印刷サービス４５０のそれぞれが、図１に示したどの装置で実現されるかについて言及しておく。あくまで一例であるが、クライアント４１０は図１でのクライアント１３０で提供される。同様に設定プロキシ４２０とジョブチケットサーバ４３０はＰＣ１２０で、印刷デバイス４４０はＭＦＰ１１０で提供される。印刷サービスは、ネットワーク１８０（つまりネットワーク１８０内のいずれかの装置）で提供される。もちろんあくまで例であるため、例えばジョブチケットサーバ４３０はネットワーク１８０で実現されてもよく、また別の例としてＭＦＰ１１０に内包されてもよい。設定プロキシについても、ネットワーク１００、１８０とは別のネットワーク内の装置で実現されてもよく、さらにはクライアント１３０に内包されてもよい。
【００１８】
図５は、図４の処理４２６で決定したダウンロードを行う主体が印刷デバイス４４０ではない例でのシーケンス図を示している。図５は、設定プロキシ５２０がジョブＩＤ５２５を印刷要求イベント４５１から取り出して保存するところまでは図４と同様である。図５での処理５２６では、ダウンロードを行う主体をダウンロードプロキシ５６０、印刷処理を行う主体を印刷デバイス５４０と決定する。すると設定プロキシ５２０は、ダウンロードプロキシ５６０に対してダウンロード要求５２７を送信する。ダウンロード要求５２７は、図４の４２７と同様に、印刷デバイス５４０に対するジョブチケット５２３と、ジョブＩＤ５２５を保持する。ダウンロード要求５２７を受信したダウンロードプロキシは処理５６１を開始し、データ要求５６２を印刷サービス５５０へ送信しその返信として印刷ジョブ５５２を受信する。そして処理５６３により印刷ジョブ５５２をもとに印刷要求５６４を作成し、目的とする印刷デバイス５４０に対して送信する。すると印刷デバイス５４０は印刷処理５４１を実行する。
【００１９】
図４と図１の関係と同様に、図５のダウンロードプロキシ５６０は図１でのネットワーク１８０内の装置で実現されてもよいし、ＰＣ１２０で実現されることもある。さらには別のネットワーク内の装置で実現されてもよい。
【００２０】
図４、図５のように設定プロキシは、印刷サービスから印刷ジョブをダウンロードして実行できる印刷デバイス４４０と、その機能を持たない印刷デバイス５５０を識別して処理を振り分けている。これにより、ユーザはある印刷サービスにおいて印刷を実行する際に、その印刷サービスをサポートしている印刷デバイスの組み合わせを意識することなく、印刷サービス４５０、５５０に対して印刷操作４０４、５０４を行うことができる、という効果を得る。
【００２１】
図６は図４の設定プロキシ４２０または図５の設定プロキシ５２０における、外部からの要求メッセージを受信した際に動作する要求メッセージ受信処理のフローチャートである。以下、図４をもとに説明するが、図５もジョブＩＤ４２５を保存するシーケンスまでは同様となる。設定プロキシ４２０は、処理６０１で外部からの要求メッセージを受信し、その要求種別によって処理が分岐する。設定画面要求４１１を受信した場合は処理６１０へ進み、印刷設定画面４２１を要求元へ返信する。処理８０１にて設定確定要求４１２を受信した場合は処理６２０に進み、前記要求の内容にもとづいたジョブチケット作成要求４２２をジョブチケットサーバへ送信する。次に処理６２１にて、ジョブチケット作成要求の応答としてジョブチケット返信４３２を待つ。ジョブチケット返信４３２を受信すると処理６２２にてジョブチケット４２３を保存し、処理６２３では設定確定要求における設定値を保存する。その後処理６２４で、設定確定要求の送信元に設定完了画面４２４を返信し、処理６９９へ進み要求メッセージ受信処理６００を終了する。処理６２１にてジョブチケットサーバからの応答がない場合は、タイムアウトとして処理６２９へ進み設定失敗画面を返信し、次に処理６９９へ進み要求メッセージ受信処理６００を終了する。処理６０１にて受信した要求が印刷要求イベント４５１であった場合、処理６３０へ進む。処理６３０では印刷要求イベント処理が実行され、その後処理６９９へ進み要求メッセージ受信処理を終了する。処理６４０は、処理６０１にて以上記述した要求以外の要求を受信した場合の処理を行い、その処理終了後に処理６９９へ進み、要求メッセージ受信処理６００を終了する。
【００２２】
図７は、図６での処理６３０の詳細を示したものである。処理７０１では、印刷要求イベント４５１または５５１で印刷実行を指定された印刷デバイス４４０または５４０が、指定された印刷サービス４５０または５５０から印刷ジョブのダウンロードが可能であるかを判断する。ダウンロード可能であれば処理７０２へ進み、ダウンロード要求の送信先は印刷実行を指定された印刷デバイスとする（図４の印刷デバイス４４０）。ダウンロード不可能であれば処理７１０へ進み、図５の例で説明すればダウンロード要求の送信先は指定された印刷デバイス５４０の代替として動作するダウンロードプロキシ５６０となる。このとき、ダウンロードプロキシ５６０が印刷デバイス５４０の代替として動作するという情報は、あらかじめ設定プロキシ５２０に設定されていてもよく、また都度適当な装置に能力情報として取得することによって得ても良い。処理７０２、処理７１０ともにその後処理７０３へ進む。処理７０３では、処理６２２で保存したジョブチケットおよび印刷要求イベント４５１、５５１から取得するＪｏｂＩＤをもとにダウンロード要求４２７、５２７を作成し、決定したダウンロードを行う主体４４０、５６０へ送信する。その後は処理７９９へ進み、処理６３０を終了する。
【００２３】
図８は、印刷デバイス４４０において、外部から要求を受信した際の振る舞いを表したフローチャートである。処理８０１で外部からの要求を受信する。処理８０１にてダウンロード要求４２７を受信した場合は、処理８０２へ進む。処理８０２では、ダウンロード要求４２７に記載されたジョブＩＤ４２５を指定して、印刷サービス４５０に対してデータ要求４４２を送信する。その後、処理８０３にて印刷ジョブ４５２を受信する。処理８０４ではダウンロード要求４２７から取り出したジョブチケット４２３と、受信した印刷ジョブ４５２に含まれる設定情報から印刷設定を決定する。印刷ジョブ４５２に含まれる設定情報は、印刷操作４０３を行う以前に印刷サービス４５０に対して設定されるもあれば、印刷操作４０３で設定されるものもある。処理８０５では、処理８０４で決定された印刷設定にて印刷ジョブ４５２の印刷処理を実行する。印刷処理が終了すると、処理８９９に進みダウンロード要求に対して印刷デバイスが行う処理を終了する。処理８０１で印刷要求５６４を受信した場合は、処理８０５へ進み、受信した印刷要求５６４にしたがって印刷処理を実行する。その後はダウンロード要求を受信した処理と同様に、処理８９９へ進み終了となる。この印刷要求５６４を受信して印刷する動作は従来からの印刷フローであり、例えば印刷ドライバからの印刷要求はこのフローを使用する。印刷デバイス５４０がダウンロードプロキシ５６０を代替として必要とする理由は、一例としてダウンロード要求４２７を受信した際のフローが実装されていないためである。処理８０１で印刷要求、ダウンロード要求以外の要求を受信した場合は、受信した要求にしたがった処理を処理８０９にて実行し、処理８９９へ進み終了する。
【００２４】
図９は、ダウンロードプロキシ５６０において、外部から要求を受信した際の振る舞いを表したフローチャートである。処理９０１で外部からの要求を受信する。処理９０１にて要求を受信すると、ダウンロード要求５２７の場合は処理９０２へすすみ、その他の要求を受信した場合は処理９０９へ進む。処理９０２では、ダウンロード要求５２７に記載されたジョブＩＤを指定して、印刷サービス５５０に対してデータ要求５６２を送信する。その後、処理９０３にて印刷ジョブ５５２を受信する。処理９０４ではダウンロード要求から取り出したジョブチケット５２３と、受信した印刷ジョブ５５２の設定情報から印刷設定を決定する。印刷ジョブ５５２の設定情報は、印刷操作５０３を行う以前に印刷サービス５５０に対して設定されるもあれば、印刷操作５０３で設定されるものもある。
【００２５】
処理９０５では、処理９０４で決定された印刷設定と印刷ジョブ５５２から、印刷デバイス５４０に対する印刷要求５６４を作成する。その後、処理９０６で印刷要求５６４を印刷デバイス５４０に対して送信し、処理９９９に進みダウンロード要求に対してダウンロードプロキシが行う処理を終了する。処理９０９ではダウンロード要求以外の処理を実行し、処理９９９へ進みダウンロードプロキシの処理を終了する。
【００２６】
図１０はジョブチケット４２３、５２３の内容の一例である。行１００１はＸＭＬ宣言、行１００２はコメント行である。行１０１０はジョブチケットの記述開始を示す開始タグである。行１０１１は、ジョブチケットの名前が“ｔｉｃｋｅｔＡ”であることを示している。行１０１２は発行日時を表している。行１０２０は、印刷設定内容の記述開始を示す開始タグである。行１０２１は給紙段の設定であり、自動給紙であることを示している。行１０２２は排紙段の設定であり、自動であることを示している。行１０２３ではモノクロ印刷であることを示している。行１０２４は部数が１であることを示している。行１０２５は、ステープル設定がＯＦＦであること示している。行１０２６は製本設定がＯＦＦであることを示している。行１０３０は、留め置きプリント設定がＯＮであることを示している。留め置きプリントとは、印刷データを受信・展開しても、印刷実行はユーザが操作パネルからユーザ名、パスワードを入力することによって印刷する機能である。行１０３１は留め置きプリントで使用するユーザ名が“ａａａ”であることを示している。行１０３２は留め置きプリントで使用するパスワードが“ａｗｅｘ８ｄ３１”であることを示している。行１０３９は印刷設定の記述終了を示す終了タグ、行１０４０はジョブチケットの設定内容の記述終了を示す終了タグである。
【００２７】
図１１は、印刷要求イベント４５１、５５１の内容の一例である。行１１０１はＸＭＬ宣言、行１１０２はコメント行である。行１１１０は印刷要求イベントの記述開始を示す開始タグである。行１１１１はジョブＩＤであり、その値は“２２２”であることを示している。行１１１２は印刷要求イベントの生成日時を表している。行１１１３は印刷を実行する印刷デバイスを指定している。その印刷デバイスは“ｈｔｔｐ：／／ｘｘｘ．ｘｘｘ．ｘｘｘ．ｘｘｘ／ｐｒｉｎｔｅｒである。行１１１４では印刷ジョブを保持する印刷サービスのサーバを指定している。ダウンロードを実行する主体は”ｈｔｔｐ：／／ｙｙｙ．ｙｙｙ．ｙｙｙ．ｙｙｙ／ａａａ／ｄｌに対して、データ要求４６２、５６２を送信する。行１１９９は印刷要求イベントの記述終了を示す終了タグである。
【００２８】
図１２は、ダウンロード要求４２７，５２７の内容の一例である。行１２０１はＸＭＬ宣言、行１２０２はコメント行である。行１２１０はダウンロード要求の記述開始を示す開始タグである。行１２１１はジョブＩＤであり、その値は“２２２”であることを示している。これは、図１１の行１１１１に相当する。行１２１２はダウンロード要求の生成日時を表している。行１２１３は印刷を実行する印刷デバイスを指定している。その印刷デバイスは“ｈｔｔｐ：／／ｘｘｘ．ｘｘｘ．ｘｘｘ．ｘｘｘ／ｐｒｉｎｔｅｒである。これは、図１１の行１１１３に相当するものである。行１２１４では印刷ジョブを保持する印刷サービスのサーバを指定している。ダウンロード要求１２００を受信した印刷デバイス４４０またはダウンロードプロキシ５６０は、”ｈｔｔｐ：／／ｙｙｙ．ｙｙｙ．ｙｙｙ．ｙｙｙ／ａａａ／ｄｌに対して、データ要求４６２、５６２を送信する。これは、図１１の行１１１４に相当するものである。ブロック１２２０はジョブチケットの記述内容であり、図１０の１０００と同じものである。行１２９９は、ダウンロード要求の記述終了を示す終了タグである。
【００２９】
図１３は印刷ジョブ４５２、５５２の内容の一例である。行１３０１はＸＭＬ宣言、行１３０２はコメント行である。行１３１０は印刷ジョブの記述開始を示す開始タグである。行１３１１はジョブＩＤであり、その値は“２２２”であることを示している。これは、図１１の行１１１１に相当する。行１３１２は印刷ジョブの生成日時を表している。行１３１３は印刷を実行する印刷デバイスを指定している。その印刷デバイスは“ｈｔｔｐ：／／ｘｘｘ．ｘｘｘ．ｘｘｘ．ｘｘｘ／ｐｒｉｎｔｅｒである。これは、図１１の行１１１３に相当するものである。ブロック１３２０は印刷ジョブに記述された印刷設定の内容であり、印刷サービス４５０、５５０で保持している印刷設定の内容である。この設定は印刷操作４０３、５０３を行う以前に印刷サービス４５０、５５０に対して設定するものもあれば、印刷操作４０３、５０３で設定するものもある。行１３２１はコメント行であり、行１３２２は印刷設定の記述開始を示す開始タグである。行１３２３は部数が”３“であることを示している。行１３２４はページ印字がＯＮであることを示している。行１３２５では、ステープルがＯＮであり、ダブルステープルであることを示している。行１３３１は印刷データの記述開始を示す開始タグ、行１３３９は印刷データの記述終了を示す終了タグである。行１３３０は印刷データに関するコメント行である。行１３９９は、印刷ジョブの記述終了を示す終了タグである。
【００３０】
図１４は印刷要求５６４の内容の一例であり、処理５６３で作成されるものである。行１４０１はＸＭＬ宣言、行１４０２はコメント行である。行１４１０は印刷要求の記述開始を示す開始タグである。行１４１１は印刷要求を生成した日時を表している。行１４１２は、印刷を実行する印刷デバイスを指定してる。その印刷デバイスは“ｈｔｔｐ：／／ｘｘｘ．ｘｘｘ．ｘｘｘ．ｘｘｘ／ｐｒｉｎｔｅｒである。これは、図１１の行１１１３に相当するものである。ブロック１４２０はジョブチケットの記述内容であり、処理９０４で決定された印刷設定が反映されている。行１４２１はコメント行、行１４２２はジョブチケットの内容の記述開始を表す開始タグである。行１４２３はジョブチケットの名前であり、”ｔｉｃｋｅｔＡ−２０１０１０１５１４２８“となっている。行１４２４はジョブチケット１４２０が生成された日時を表している。行１４３０は印刷設定内容を示している。行１４３１は給紙段で自動給紙の設定を表している。行１４３２は排紙段で設定値が自動であることを示している。行１４３３ではモノクロ設定がされている。行１４３４は部数３の設定を表している。行１４３５はステープルがＯＮであり、その位置が”左上のシングル“で実行する設定となっている。以後、行１４３６では製本ＯＦＦ、行１４３７は留め置きプリントＯＮ、行１４３８、行１４３９では留め置きプリントのユーザ名とパスワードが設定されている。行１４５０は印刷設定の記述終了を示す終了タグ、行１４５１はジョブチケットの記述終了を示す終了タグである。行１４６１は印刷データの記述開始を示す開始タグ、行１４６９は印刷データの記述終了を示す終了タグである。行１４６０は印刷データに関するコメント行である。行１４９９は印刷要求の記述終了を示す終了タグである。
【００３１】
ジョブチケット１４２０の内容は、図１２の１２２０の内容と図１３の１３２０の内容が合成されたものとなる。同じ意味のものは図１２か図１３の値のどちらかの値を使用する。例えば、行１２３４と行１３２３はともに部数を指定しているが値が異なっており、図１４の例では行１３２３の値を使用している。また行１２３５と行１３２５はともにステープルがＯＮであることを示しているが、１３２５ではダブルステープルを指定している。図１４では、デバイス５４０にダブルステープルの機能が無い場合に、行１４３５のように他の値に置き換えている例となっている。このように、どちらを使用するか、またはどのような値を指定するかは、デバイス全体としての設定、それぞれの値ごとの設定、印刷デバイスの持つ機能や性能にしたがって決定される。１２２０には無く、１３２０にしかない設定は１３２０の設定を使用するが、印刷デバイスの機能に無いものは記述しなくてもよい。例えば、行１３２４はページ印字がＯＮに設定されているが、印刷デバイス５４０にはページ印字機能がなければ、ここに記述が無くてもよい。印刷デバイス５４０で無視できるのであれば、あえて記述をせずとも残しておいてもよい。次に１３２０には存在せず１２２０にのみある設定について説明する。例えば、留め置きプリントなどは特殊な設定である。このような設定は、印刷デバイス４４０、５４０でサポートされるが、印刷サービス４５０、５５０には印刷設定項目として用意されていない、というケースとなる。このような設定は、あらかじめジョブチケット１２００、行１２４０〜行１２４２として設定プロキシに設定値を保持しておく。そしてユーザの印刷操作時に、ダウンロード要求４２７、５２７によってジョブチケット１４２０、行１４３７〜行１４３９として印刷デバイス４４０、５４０へ渡される。これにより、印刷デバイス４４０、５４０で実現できる機能であるにも関わらず、印刷サービス４５０、５５０を使用した印刷では使用できない、という問題を回避することができる。加えて、本発明は印刷サービスに改変を必要とするものではない。このことは、不特定多数のユーザを想定している印刷サービス、例えばユーザごとにカスタマイズができない一般的なクラウドシステム上で印刷を実行する際に、印刷デバイスが持つ特殊な機能を使用することを可能にする。
【符号の説明】
【００３２】
１００  ネットワーク
１１０〜１１２  デバイス
【図１】
2014052751.tif 000003
【図２】
2014052751.tif 000004
【図３】
2014052751.tif 000005
【図４】
2014052751.tif 000006
【図５】
2014052751.tif 000007
【図６】
2014052751.tif 000008
【図７】
2014052751.tif 000009
【図８】
2014052751.tif 000010
【図９】
2014052751.tif 000011
【図１０】
2014052751.tif 000012
【図１１】
2014052751.tif 000013
【図１２】
2014052751.tif 000014
【図１３】
2014052751.tif 000015
【図１４】
2014052751.tif 000016