(57)【要約】【課題】  クラウドプリントサービスがジョブの情報取得の為複数のプロトコルを提供する場合がある。ユーザにプロトコルを選択させた場合、ユーザにとって設定が煩わしいという課題がある。また、ユーザが設定を間違えた場合、クラウドプリンビスから印刷データを取得できないという課題がある。【解決手段】  印刷装置が、クラウドのプリンタキューの種別、クラウドのユーザ認証設定、印刷装置の認証設定を取得し、適切なジョブの取得方法、取得プロトコルを判定する。【選択図】  図１２
2020119016.tif 000002
【特許請求の範囲】
【請求項１】
インターネットを介して接続されたプリントサービスに対して印刷装置を登録する処理と前記プリントサービスが備えるプリンタキューから印刷ジョブを取得する処理とを行うことでクラウドプリントを実現する印刷機能と、ユーザを認証することで機能の利用を制限する認証機能とを有する印刷装置であって、
前記プリントサービスからは登録された前記印刷装置に関連付くプリンタキューの種別に関する情報を取得し、前記印刷装置の前記認証機能からは前記認証機能を有効にするかまたは無効にするかに関する情報を取得する取得手段と、
前記取得手段により取得された少なくとも２つの情報を基に、前記印刷ジョブを取得し印刷するために利用される複数のプロトコルの中から１つのプロトコルを決定する決定手段と、を有し、
前記決定手段により決定されたプロトコルで前記印刷ジョブを取得し印刷する処理が行われることを特徴とする印刷装置。
【請求項２】
前記取得手段は、さらに、前記印刷ジョブを取得する際の前記プリントサービスに対する認証の設定に関する情報を取得し、
前記決定手段は、前記２つの情報に加えて前記印刷ジョブを取得する際の前記プリントサービスに対する認証の設定に関する情報も基に、前記印刷ジョブを取得するために利用される複数のプロトコルの中から１つのプロトコルを決定することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記取得手段は、さらに、前記印刷装置に関連付いたプリンタキューの種別が変更されたことを認識するための情報を取得し、
前記決定手段は、前記印刷装置に関連付いたプリンタキューの種別が変更されたことを認識するための情報が取得されたことに応じて、改めて前記印刷ジョブを取得するために利用される複数のプロトコルの中から１つのプロトコルを決定することを特徴とする請求項１または２に記載の印刷装置。
【請求項４】
前記プリンタキューの種別とは、前記プリントサービスのプリンタオブジェクトが１つと前記印刷装置が１台の関係で関連付けられたことで利用される実プリンタキューと、前記プリントサービスのプリンタオブジェクトが１つと前記印刷装置が１台の関係で関連付けられたことで利用される仮想プリンタキューの２つのプリンタキューのうち何れか１つを示す情報であることを特徴とする請求項１乃至３の何れか１項に記載の印刷装置。
【請求項５】
前記印刷機能が利用するプロトコルの１つは、前記印刷装置を認証するためのプリンタアクセストークンを前記プリントサービスに送信することで前記実プリンタキューに保存された全ての印刷ジョブの一覧を取得し、前記全ての印刷ジョブの一覧の中から選択された印刷ジョブを取得し印刷する処理を実行するためのプロトコルであることを特徴とする請求項４に記載の印刷装置。
【請求項６】
前記印刷機能が利用するプロトコルの１つは、前記印刷装置を認証するためのプリンタアクセストークンと前記認証機能により認証されたユーザを識別するための識別子とを前記プリントサービスに送信することで前記実プリンタキューに保存された全ての印刷ジョブの中から前記ユーザに関連付く印刷ジョブの一覧を取得し、前記ユーザに関連付く印刷ジョブの一覧の中から選択された印刷ジョブを取得し印刷する処理を実行するためのプロトコルであることを特徴とする請求項４または５に記載の印刷装置。
【請求項７】
前記印刷機能が利用するプロトコルの１つは、前記印刷装置を認証するためのプリンタアクセストークンと前記プリントサービスへの認証を行うためにユーザ認証情報を入力し認証されたことで発行されるユーザアクセストークンとを前記プリントサービスに送信することで前記仮想プリンタキューに保存された全ての印刷ジョブの中から前記ユーザに関連付く印刷ジョブの一覧を取得し、前記ユーザに関連付く印刷ジョブの一覧の中から選択された印刷ジョブを取得し印刷する処理を実行するためのプロトコルであることを特徴とする請求項４乃至６の何れか１項に記載の印刷装置。
【請求項８】
前記印刷機能が利用するプロトコルの１つは、前記印刷装置を認証するためのプリンタアクセストークンと前記認証機能を利用するために用いられたＩＣカードのカードＩＤとを前記プリントサービスに送信することで前記仮想プリンタキューに保存された全ての印刷ジョブの中から前記ユーザに関連付く印刷ジョブの一覧を取得し、前記ユーザに関連付く印刷ジョブの一覧の中から選択された印刷ジョブを取得し印刷する処理を実行するためのプロトコルであることを特徴とする請求項４乃至７の何れか１項に記載の印刷装置。
【請求項９】
前記印刷機能が利用するプロトコルの１つは、前記印刷装置を認証するためのプリンタアクセストークンと前記認証機能により認証されたユーザを識別するための識別子とを前記プリントサービスに送信することで前記仮想プリンタキューに保存された全ての印刷ジョブの中から前記ユーザに関連付く印刷ジョブの一覧を取得し、前記ユーザに関連付く印刷ジョブの一覧の中から選択された印刷ジョブを取得し印刷する処理を実行するためのプロトコルであることを特徴とする請求項４乃至８の何れか１項に記載の印刷装置。
【請求項１０】
インターネットを介して接続されたプリントサービスに対して印刷装置を登録する処理と前記プリントサービスが備えるプリンタキューから印刷ジョブを取得する処理とを行うことでクラウドプリントを実現する印刷機能と、ユーザを認証することで機能の利用を制限する認証機能とを有する印刷装置の制御方法であって、
前記プリントサービスからは登録された前記印刷装置に関連付くプリンタキューの種別に関する情報を取得し、前記印刷装置の前記認証機能からは前記認証機能を有効にするかまたは無効にするかに関する情報を取得する取得ステップと、
前記取得ステップにより取得された少なくとも２つの情報を基に、前記印刷ジョブを取得し印刷するために利用される複数のプロトコルの中から１つのプロトコルを決定する決定ステップと、を有し、
前記決定ステップにより決定されたプロトコルで前記印刷ジョブを取得し印刷する処理が行われることを特徴とする印刷装置の制御方法。
【請求項１１】
インターネットを介して接続されたプリントサービスに対して印刷装置を登録する処理と前記プリントサービスが備えるプリンタキューから印刷ジョブを取得する処理とを行うことでクラウドプリントを実現する印刷機能と、ユーザを認証することで機能の利用を制限する認証機能とを有する印刷装置で実行されるプログラムであって、
前記プリントサービスからは登録された前記印刷装置に関連付くプリンタキューの種別に関する情報を取得させ、前記印刷装置の前記認証機能からは前記認証機能を有効にするかまたは無効にするかに関する情報を取得させる取得ステップと、
前記取得ステップにより取得された少なくとも２つの情報を基に、前記印刷ジョブを取得し印刷するために利用される複数のプロトコルの中から１つのプロトコルを決定させる決定ステップと、を有し、
前記決定ステップにより決定されたプロトコルで前記印刷ジョブを取得し印刷する処理が前記印刷装置で行われることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドプリントサービスに対応する印刷装置および印刷装置の制御方法およびプログラムに関するものである。
【背景技術】
【０００２】
近年、インターネット上のサーバが提供するプリントサービスにプリンタを登録し、プリンタがユーザ端末からの指示により出力された印刷データをクラウドサービス経由で取得して印刷を行うクラウドプリントサービスが知られている。
【０００３】
ユーザ端末からクラウドプリントサービスを利用する際に、物理的なプリンタと１対１で関連付いたプリンタのオブジェクトを指定して印刷指示を行う印刷形態と、物理的なプリンタと１対Ｎで関連付いたプリンタオブジェクトを指定して印刷指示を行う印刷形態がある。前者のオブジェクトを実プリンタオブジェクトと称し、後者のオブジェクトは仮想プリンタオブジェクトと称す。また、実プリンタオブジェクトを指定して投入された印刷データのクラウドサービス上の一時保存領域を実プリンタキューと称す。仮想プリンタオブジェクトを指定して投入された印刷データのクラウドサービス上の一時保存領域を仮想プリンタキューと称す。仮想プリンタキューに保存された印刷データは、仮想プリンタオブジェクトに関連付いたプリンタであれば、どのプリンタからでもアクセスして印刷出力を行うことができる（特許文献１を参照）。このような仮想プリンタキューを利用した印刷形態はどこプリ（Ａｎｙｗｈｅｒｅ  Ｐｒｉｎｔ）と称される。
【０００４】
クラウドプリントサービスは、プリンタと異なるベンダーが提供する場合がある。例えば、Ｇｏｏｇｌｅ社が、Ｇｏｏｇｌｅ  Ｃｌｏｕｄ  Ｐｒｉｎｔ（登録商標）と称するクラウドプリントサービスを提供し、各社プリンタのベンダーがＧｏｏｇｌｅ  Ｃｌｏｕｄ  Ｐｒｉｎｔに対応したプリンタを提供する形態がある。
【０００５】
プリンタのベンダーは、各社のクラウドプリントサービスに対応する為、各社クラウドサービスが規定した複数のプロトコルに対応したプリンタを市場に提供している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第０５８４３６９１号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、同一のベンダーが提供するクラウドプリントサービスにおいても、印刷形態（実プリンタキューや仮想プリンタキュー）、認証方法、利用方法などに応じて、複数のプロトコルを提供する場合が考えられる。
【０００８】
プリンタが複数のプロトコルに対応する必要があるのはもちろんのこと、クラウドプリントサービス側の設定やユーザの利用シーンを把握した上で複数あるプロトコルから適切なプロトコルを選択して動作する必要がある。プリンタを利用するユーザにプロトコルを選択させる為のユーザインタフェースを提供した場合、ユーザにとって設定が煩わしいという課題がある。
【０００９】
本発明は上記課題を鑑みてなされたもので、クラウドプリントサービスからの印刷データの取得の際、適切なプロトコルで印刷データを取得する可用性の高いプリンタを提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記課題を解決する為、本発明に係る印刷装置は、
クラウドプリントサービスに対応した印刷装置であって、
印刷装置と関連付いたプリンタキューに関する情報を取得する手段（Ｓ１２０２）を備え、
プリンタのユーザ認証設定情報を取得する手段（Ｓ１２０３）を備え、
取得したプリンタキューに関する情報と、プリンタのユーザ認証設定情報を元に
複数のジョブ情報の取得手段から１つを選択する手段（Ｓ１２０５〜Ｓ１２１４）を備え、
前記選択したジョブの取得手段を用いてクラウドからジョブ情報の一覧を取得する手段を備えることを特徴とする。
【発明の効果】
【００１１】
クラウドプリントサービスからの印刷データの取得の際、適切なプロトコルで印刷データを取得する可用性の高いプリンタを提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施例におけるシステム構成を示す図である。
【図２】印刷装置のハードウェア構成を示す図である。
【図３】ソフトウェア構成を示す図である。
【図４】印刷装置の操作部に表示されるユーザインタフェースを示す図である。
【図５】印刷装置をプリントサービスに登録する際のシーケンスを示す図である。
【図６】登録の承認を行うプリントサービスのユーザインタフェースを示す図である。
【図７】プリントサービスが提供するユーザインタフェースを示す図である。
【図８】ユーザ端末からの印刷時のフローを示す図である。
【図９】印刷装置にログインした際の通知を示す図である。
【図１０】実プリンタキューからの印刷ジョブの取得フローを示す図である。
【図１１】仮想プリンタキューからの印刷ジョブの取得フローを示す図である。
【図１２】プロトコル判定時のフローを示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１４】
図１は、本発明を適用した印刷装置を含むプリントシステムを示す構成図である。１０１は本発明を適用した印刷装置（プリンタ）であり、クラウドプリントを実現するための印刷機能を備えた印刷装置である。１０２は、インターネット上で提供されるクラウドプリントサービスであり、Ｗｅｂサーバーである。１０３はユーザの操作端末である。印刷装置１０１は、予め印刷装置のオーナーによってクラウドプリントサービス１０２に登録される。ユーザは、ユーザ端末１０３からクラウドプリントサービス１０２に登録された印刷装置１０１と関連付いたオブジェクトを選択して、印刷データをクラウドプリントサービス１０２に送信する。印刷装置１０１はクラウドプリントサービス１０２を介して、ユーザが送信した印刷データを受信して、印刷を行う。不図示であるが、ユーザの端末はユーザ端末１０３のみならず、汎用のパーソナルコンピュータやスマートフォンなどの複数のユーザ端末からクラウドプリントサービス１０２を利用することができる。印刷装置１０１およびユーザ端末１０３は、クラウドプリントサービス１０２とインターネットを介して接続されている。また、不図示であるが印刷装置１０１と同様の構成の複数の印刷装置が、ユーザ端末１０３やクラウドプリントサービス１０２とインターネットを介して接続されている。
【００１５】
＜印刷装置のハードウェア構成＞
図２は、印刷装置１０１のハードウェア構成を示す簡略図である。
【００１６】
ＣＰＵ２０１は複合機全体の動作を制御する中央演算装置（プロセッサ）である。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３は揮発性メモリであり、ワークエリア、ＲＯＭ２０２及びＨＤＤ２０４に格納された各種制御プログラムを展開するための一時記憶領域として用いられる。
【００１７】
ＲＯＭ２０２は不揮発性メモリであり、複合機のブートプログラムなどが格納されている。ＨＤＤ２０４はＲＡＭ２０３と比較して大容量な不揮発性のハードディスクである。ＨＤＤ２０４には、複合機の制御用プログラムが格納されている。また、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーションプログラムもＨＤＤ２０４に格納されている。
【００１８】
ＣＰＵ２０１は複合機の起動時、ＲＯＭ２０２に格納されているブートプログラムを実行する。このブートプログラムは、ＨＤＤ２０４に格納されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを読み出し、ＲＡＭ２０３上に展開するためのものである。ＣＰＵ２０１はブートプログラムを実行すると、続けてＲＡＭ２０３上に展開したＯＳのプログラムを実行し、複合機の制御を行う。また、ＣＰＵ２０１は制御用プログラムによる動作に用いるデータもＲＡＭ２０３上に格納して読み書きを行う。
【００１９】
なお、複合機は、１つのＣＰＵ２０１が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のＣＰＵやマイクロプロセッサ（ＭＰＵ）が協働して後述するフローチャートに示す各処理を実行するようにすることもできる。また、後述する処理の一部をＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のハードウェア回路を用いて実行するようにしても良い。
【００２０】
操作部２０５は、タッチ操作可能なディスプレイである。
【００２１】
プリンタ２０６は、通信部２０７を介して外部から受信した印刷データをプリントするプリンタエンジンである。
【００２２】
通信部２０７は、インターネットやオフィスのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続する為のネットワークインタフェースである。
【００２３】
なお、ユーザ端末１０３およびクラウドプリントサービス１０２にも、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４と同様のハードウェア構成が備えられている。
【００２４】
ＩＣカードリーダ２０８は、ＩＣカードからユーザ認証に使用する情報を読み出す為の装置であり、ＩＣカード認証を実現するために必要なユニットである。
【００２５】
＜ソフトウェア構成＞
図３は、印刷装置１０１、クラウドプリントサービス１０２、ユーザ端末１０３のソフトウェア構成を示す簡略図である。
【００２６】
＜印刷装置１０１のソフトウェア構成＞
印刷装置１０１のソフトウェア構成について説明する。
【００２７】
印刷装置１０１のローカルＵＩ３０１は、操作部２０５のディスプレイを用いて、ユーザが印刷装置の設定変更や機能を利用する為のユーザインタフェースを提供する。ローカルＵＩ３０１が提供するユーザインタフェースの例を図４に示す。リモートＵＩ３０２は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ機能を有し、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で構成されるユーザインタフェースをユーザに提供する。ユーザは、ユーザ端末のウェブブラウザを利用してリモートＵＩ３０２にアクセスし、印刷装置の設定変更や機能を利用することができる。クラウドプリントアプリケーション３０３は、クラウドプリントサービス１０２に対応するための通信プロトコルや機能を実装するソフトウェアモジュールである。印刷部３０４は、クラウドプリントアプリケーション３０３がクラウドプリントサービス１０２から印刷ジョブを受信し、プリンタ２０６を制御して印刷処理を実行する。ユーザ認証部３０５は、ローカルＵＩ３０１やリモートＵＩ３０２を利用するユーザを認証するソフトウェアモジュールであり、印刷装置１０１が提供する各機能の利用を制限させることができる。ＨＤＤ２０４には、ローカルＵＩ３０１やリモートＵＩ３０２のユーザインタフェースを介して、管理者や一般ユーザのアカウントを登録することができる。ＨＤＤ２０４に記憶するアカウント情報の例を下記の表１に示す。ＨＤＤ２０４には、アカウント情報として、ユーザ名・パスワード・ＩＣカードのカードＩＤ・ロール（管理者／一般ユーザ）登録できる。また、クラウドプリントサービス１０２のアカウントを印刷装置１０１のアカウントと関連付けて管理することができる。
【００２８】
【表１】
2020119016.tif 000003
【００２９】
印刷装置１０１の工場出荷時の設定は、ユーザ認証機能は無効であり、印刷装置を起動すると、ローカルＵＩ３０１はメニュー画面４０１を表示する。ユーザは、メニュー画面４０１を介して、ユーザ認証設定画面４０２を表示することができる。ユーザ認証設定画面４０２では、ユーザ認証機能の有効／無効を選択することができる。また、ユーザ認証機能有効を選択した場合は、更に、キーボードログイン機能とＩＣカードログイン機能を選択することができる。ユーザが行った設定はＨＤＤ２０４へ記憶し、ユーザ認証部３０５が参照することができる。キーボードログイン機能を選択した場合、ローカルＵＩ３０１は、キーボードログイン画面４０３を表示して、メニュー画面４０１を利用するユーザを認証する。キーボードログイン画面４０３では、ソフトキーボードを表示して、ユーザからのユーザ名・パスワードの入力を受け付ける。ユーザ認証部３０５は、画面から取得したユーザ名・パスワードを取得し、ＨＤＤ２０４に登録されたアカウント情報（表１）と比較して、ユーザ認証を行う。認証が成功した場合、認証に成功したユーザを印刷装置１０１にログインさせる。具体的には、ユーザ認証部３０５は、ローカルＵＩ３０１にログイン画面を閉じてメニュー画面４０１に遷移するように指示する。ＩＣカードログイン機能を選択した場合、ローカルＵＩ３０１は、ＩＣカードログイン画面４０４を表示して、メニュー画面４０１を利用するユーザを認証する。ＩＣカードログイン画面４０４表示中は、ＩＣカードリーダ２０８にかざされたＩＣカードを検知し、ＩＣカードからカードＩＤを読み出す。ユーザ認証部３０５は、ＩＣカードリーダ２０８から取得したカードＩＤと一致するアカウントをＨＤＤ２０４に登録されたアカウント情報（表１）から検索する。カードＩＤが一致するアカウントが存在する場合、カードＩＤが一致したユーザを印刷装置１０１にログインさせる。
【００３０】
ユーザ認証部３０５は、ログインしたユーザの情報をログインコンテキストと称するオブジェクトに格納して、ログインコンテキストをクラウドプリントアプリケーション３０３などの他のソフトウェアモジュールへ伝達する。ログインコンテキストに格納する情報の例を下記の表２に示す。ログインコンテキストには、ログインしたユーザの表１で管理されるユーザ名、ロールを格納する。また、ＩＣカードを用いてユーザがログインした場合は、ログインコンテキストにカードＩＤを格納する。ユーザ名・パスワードを用いてログインした場合は、カードＩＤは格納しない。また、表１でユーザ名と関連付けて記憶されたクラウドプリントサービス１０２のアカウントをログインコンテキストに格納する。
【００３１】
【表２】
2020119016.tif 000004
【００３２】
また、ユーザ端末１０３にはＨＴＭＬのリクエストを送信しレスポンスで受信したＨＴＭＬに基づいて画面を表示するウェブブラウザが備わっている。また、クラウドプリントサービス１０２には、印刷装置１０１を登録する機能と、ユーザ端末１０３から印刷指定された印刷データを印刷ジョブに変換する機能と、選択された印刷装置１０１に対し印刷ジョブを送信する機能が備わっている。
【００３３】
ローカルＵＩ３０１および、リモートＵＩ３０２は、ユーザが印刷装置１０１をクラウドプリントサービス１０２に登録・登録の更新・登録の解除を行う為のユーザインタフェース４０５を提供する。
【００３４】
＜クラウドプリントサービス１０２のソフトウェア構成＞
クラウドプリントサービス１０２のソフトウェア構成について説明する。クラウドプリントサービス１０２は、管理者がサービスの設定を行う為のウェブサイトを備える。クラウドプリントサービスが提供するウェブサイトのユーザインタフェースの例を図７に示す。
【００３５】
ユーザ管理３１１は、クラウドプリントサービスにアクセスするユーザのアカウントを管理するデータベースやアカウントを登録・編集・削除するユーザインタフェースを備える。ユーザ管理３１１が、データベースに記憶して管理するユーザアカウント情報の例を下記の表３に示す。データベースには、アカウント情報として、ユーザアカウント名・パスワード・ＩＣカードのカードＩＤ・ロール（管理者／一般ユーザ）登録できる。
【００３６】
【表３】
2020119016.tif 000005
【００３７】
プリンタ管理３１２は、クラウドプリントサービスに登録されたプリンタの情報を管理するデータベースやプリンタ情報を登録・編集・削除するユーザインタフェースを備える。認証・認可サービス３１３は、クラウドプリントサービス１０２が提供するＷｅｂサイトにログインするユーザを認証する。また、クラウドプリントサービス１０２にアクセスするユーザやプリンタを認証してユーザＩＤトークンや、アクセストークンを発行する為のプロトコルを備える。前記プロトコルは、例えば、ＯｐｅｎＩＤファウンデーションが標準化したＯｐｅｎＩＤ  Ｃｏｎｎｅｃｔや、ＲＦＣ６７４９で規定されたＯＡｕｔｈ２．０である。プリントサービス３１４は、ユーザ端末１０３や印刷装置１０１と通信を行う。プリントサービス３１４は印刷ジョブの送受信やプリントに関する設定やイベントの通知を行うプロトコルを備える。また、プリントサービスは実プリンタオブジェクトや仮想プリンタオブジェクトを作成して、ユーザ端末１０３に公開する為のユーザインタフェースを備える。
【００３８】
実プリンタキュー３１５また、ユーザ端末１０３から実プリンタオブジェクトを指定して送信された印刷ジョブを一時的に保存する印刷ジョブの保存領域である。仮想プリンタキュー３１６は、ユーザ端末１０３から仮想プリンタオブジェクトを指定して送信された印刷ジョブを一時的に保存する印刷ジョブの保存領域である。プリンタキューは、プリントオブジェクトが作成されることで用意される、または既に用意されているものと関連付けられる。
【００３９】
＜ユーザ端末１０３のソフトウェア構成＞
ユーザ端末１０３のソフトウェア構成について説明する。ユーザ端末１０３は、オペレーティングシステム３２１やアプリケーション３２２、ウェブブラウザ３２３、プリントサービスクライアント３２４などのソフトで構成される。プリントサービスクライアント３２４は、クラウドプリントサービス１０２を利用する為の通信クライアントである。
【００４０】
なお、プリントサービスクライアント３２４の機能は、アプリケーション３２２、ウェブブラウザ３２３がそれぞれ備えていても良い。また、オペレーティングシステム３２１のプリントサービスクライアント３２４の機能を備えており、アプリケーション３２２、ウェブブラウザ３２３に機能を提供するように構成しても良い。また、ユーザ端末１０３にインストールされたプリントドライバ（不図子）が、プリントサービスクライアント３２４の機能を備えるようにしても良い。
【００４１】
＜印刷装置１０１の登録フロー＞
印刷装置１０１をクラウドプリントサービス１０２へ登録する際のフローについて図５を用いて説明する。
【００４２】
ユーザがローカルＵＩ３０１から印刷装置１０１へログインし、４０５に示すクラウドプリント設定画面を表示する。ユーザは登録ボタンを押下することにより、登録の指示を行う（Ｓ５０１）。印刷装置１０１のクラウドプリントアプリケーション３０３は、これを検知して、公開鍵と秘密鍵のペアを生成し、ＣＳＲ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｉｇｎｉｎｇ  Ｒｅｑｕｅｓｔ）を生成する。ＣＳＲとは、公開鍵証明書を申し込むために申請者から認証局へ送られる証明書署名要求のメッセージフォーマットである。ＣＳＲには、 申請者を識別する情報と、生成した公開鍵を含める。ＣＳＲに含める申請者を識別する情報としては、コモンネーム、組織名、部署名、住所、国別番号がある。印刷装置１０１は、コモンネームとしてプリンタ名「印刷装置１０１」を使用する。組織名、部署名、住所、国別番号は、印刷装置１０１に工場出荷時から記憶されているデフォルトの値を使用する。
【００４３】
印刷装置１０１は、ＣＳＲと共にプリントサービス３１４へ登録要求を送信する（Ｓ５０２）。登録要求には印刷装置１０１の情報が含まれており、例えば印刷装置１０１のプリンタ名、モデル名、設置場所、装着ユニット、モノクロ／カラーと言った印刷能力に関する情報があげられる。プリントサービス３１４は、登録要求を受け付けたことに応じて印刷装置１０１に対する登録用のＵＲＬを生成し、これを印刷装置１０１へ返信する（Ｓ５０３）。この時点ではまだ印刷装置１０１はクラウドプリントサービス１０２に登録されてない。印刷装置１０１からプリンタ登録を受信した際にプリントサービス３１４は後述するクライアント証明書を発行する。
【００４４】
クラウドプリントサービス１０２が、印刷装置１０１に発行するクライアント証明書に含まれる情報を以下の表に示す。
【００４５】
【表４】
2020119016.tif 000006
【００４６】
バージョンは、証明書のフォーマットであるＸ５０９のバージョンを示す。シリアル番号は、プリントサービス３１４が発行した証明書に付与する通し番号である。発行者は、証明書を発行者であるプリントサービス３１４の識別子である。ユーザ識別子は、証明書の発行要求者である印刷装置１０１の識別子である。有効期間の開始は、証明書の利用開始日時を示す。有効期間の終了は、証明書の利用期間が満了する有効期限を示す。以下の説明では単に有効期限と記載する。公開鍵は、印刷装置１０１がＣＳＲに含めた公開鍵である。署名アルゴリズムは、証明書の署名のアルゴリズムである。署名は、発行者であるプリントサービス３１４が証明書に付与するデジタル署名である。署名は、プリントサービス３１４が持つ秘密鍵で署名される。
【００４７】
実施例１ではプリントサービス３１４が証明書発行機能を有する場合の例を説明したが、プリントサービス３１４が第三者の証明書発行サービスを用いて証明書を発行しても良い。プリントサービス３１４が第三者の証明書発行サービスを利用する場合、発行者の識別子および署名は第三者の証明書発行サービスのものとなる。
【００４８】
印刷装置１０１は、ローカルＵＩ３０１に受信したＵＲＬを表示して、ユーザに印刷装置登録の為のＵＲＬにアクセスするように促す。ＵＲＬをエンコードしたＱＲコード（登録商標）を表示して、スマートフォンなどのカメラで読み取り可能にしても良い。また、印刷部３０４に対して、ＵＲＬやＱＲコードの印刷を指示して、用紙に印刷出力しても良い。
【００４９】
ユーザは、ユーザ端末１０３のウェブブラウザを用いて前記ＵＲＬにアクセスする。ユーザが、ユーザ端末１０３のウェブブラウザ３２３を用いてＵＲＬにアクセスした際の、ウェブサイトのインタフェースの一例を図６に示す。ユーザがＵＲＬにアクセスすると、認証・認可サービス３１３によって、ウェブサイトへのログインを要求される。ユーザは、ウェブサイトのログインアカウントを入力してログインを行うと、次に、印刷装置１０１の登録の承認を要求するユーザインタフェースが表示される。
【００５０】
印刷装置１０１は、定期的にプリントサービス３１４にアクセスし、登録の承認状況の確認を行う（Ｓ５０４）。図６のユーザインタフェースにおいて、登録が承認されていれば、プリントサービス３１４は、印刷装置１０１用に発行したＸ５０９のフォーマットのクライアン証明書を印刷装置１０１に返信する（Ｓ５０５）。また、プリントサービス３１４は、登録された正規の印刷装置であることを証明するクレデンシャルとして、ＯＡｕｔｈ２．０で規定されたクライアントＩＤを発行し、印刷装置１０１に返信する（Ｓ５０６）。印刷装置１０１が実行する登録の承認状況の確認処理は、Ｓ５０３の後から開始し、クライアン証明書の取得が成功するか、プリントサービス３１４から承認がキャンセルされた旨の通知をうけるか、一定期間が過ぎるまで繰り返し行うものである。プリントサービス３１４は、印刷装置１０１の情報、対応したクライアント証明書、クライアントＩＤをプリンタ管理３１２に記憶する。
【００５１】
クラウドプリントアプリケーション３０３が、認証・認可サービス３１３にクライアントＩＤを送信する（Ｓ５０７）と、プリントサービス３１４にアクセス可能なプリンタアクセストークンを取得することができる（Ｓ５０８）。クラウドプリントアプリケーション３０３は、取得したクライアント証明書、クライアントＩＤ、プリンタアクセストークンをＨＤＤ２０４に記憶する。また、クラウドプリントアプリケーション３０３は、印刷装置の登録状態４０４を「登録済み」として記憶して、登録処理を完了する。
【００５２】
＜クラウドプリントサービス１０２におけるプリンタオブジェクトの作成と公開＞
クラウドプリントサービス１０２におけるプリンタオブジェクトの作成と公開について説明する。
【００５３】
図７は、プリンタオブジェクトを管理する為のプリントサービス３１４が提供するウェブサイトのユーザインタフェースの例である。プリンタオブジェクトは、プリントサービスクライアント３２４から参照可能かつ、プリント先として指定可能なオブジェクトである。実プリンタオブジェクトは、登録された物理的な印刷装置と１対１で関連付いたプリンタオブジェクトであり、仮想プリンタオブジェクトは、複数の印刷装置と１対Ｎで関連付いたプリンタオブジェクトである。
【００５４】
例えば、作成したプリンタオブジェクトの一覧を管理するユーザインタフェース７０１を備える。７０１において、管理者が実プリンタオブジェクトの追加を選択した場合、実プリンタオブジェクトの追加画面７０２を表示する。実プリンタオブジェクトの追加画面７０２では、登録済みのプリンタからプリンタオブジェクトとしてユーザ端末１０３に公開する一台をプリンタオブジェクトと関連付けるプリンタとして選択することができる。また、実プリンタオブジェクトの公開先として、利用を許可するユーザやユーザグループを選択する。ユーザグループのＥｖｅｒｙｂｏｄｙは、誰でも利用可能であることを示す。
【００５５】
７０１において、管理者が仮想プリンタオブジェクトの追加を選択した場合、仮想プリンタオブジェクトの追加画面７０３を表示する。仮想プリンタオブジェクトの追加画面７０３では、公開する仮想プリンタオブジェクト名を設定する。また、ユーザが印刷時にプリンタオブジェクトを選択する際のヒントとしてコメントを登録することができる。また、登録済みのプリンタからプリンタオブジェクトと関連付けるプリンタとして複数台を選択することができる。また、実プリンタオブジェクトの公開先として、利用を許可するユーザやユーザグループを選択する。図７の７０３では、仮想プリンタ００３には印刷装置１０１、１０７、１０８の３台が関連付いていることが分かる。
【００５６】
プリンタオブジェクトに関連づけられた印刷装置には、プリンタオブジェクトの種別（実プリンタオブジェクト、または仮想プリンタオブジェクト）、公開時のプリンタオブジェクトの名称を通知する。例えば、印刷装置１０１は通知された情報を、ローカルＵＩ３０１に表示して、印刷装置１０１を利用したいユーザが、ユーザ端末から印刷操作を行うときにどのプリンタオブジェクトを選択すればよいか分かるようにしても良い。
【００５７】
＜クラウドプリントサービス１０２における認証設定＞
図７の画面７０４は、管理者がユーザ認証のオプション機能を設定する為のプリントサービス３１４が提供するユーザインタフェースの例である。管理者が７０５の設定を有効にした場合、認証・認可サービス３１３は、登録済みの印刷装置からのカードＩＤを利用したユーザ認証要求を受け付ける。管理者が７０６の設定を有効にした場合、登録済みの印刷装置からアカウント名のみ（パスワード不要）のユーザ認証要求を受け付ける。７０５や７０６の設定が変更された場合、プリントサービス３１４から登録済みの印刷装置１０１へ設定変更を通知する。
【００５８】
＜ユーザ端末１０３からの印刷フロー＞
図８を参照して、ユーザ端末１０３からの印刷フローについて説明する。印刷装置１０１は、起動するとプリントサービス３１４に接続する。
【００５９】
プリントサービスクライアント３２４は、ユーザからクラウドプリントサービス１０２にアクセスする為のユーザ認証情報の入力を受け付ける（Ｓ８０２）。ユーザ認証情報は、ユーザ管理３１１で管理されたユーザアカウント名（例えば、ａｌｉｃｅ＠ｃｌｏｕｄ．ｃｏｍ）とパスワードである。プリントサービスクライアント３２４は、認証・認可サービス３１３にユーザ認証情報を送信し、プリントサービス３１４にアクセスする為の認可を受ける（Ｓ８０３）。更に、プリントサービスクライアント３２４は、プリントサービス３１４にアクセスし認可を受けたユーザが利用可能なプリンタオブジェクトの一覧を取得する（Ｓ８０４）。プリンタオブジェクトの一覧は、アプリケーション３２２、ウェブブラウザ３２３から参照することができる（Ｓ８０５）。
【００６０】
ユーザは、ユーザ端末１０３のＵＩ上でプリンタオブジェクトの一覧から所望のプリンタオブジェクトを選択し、アプリケーション３２２、ウェブブラウザ３２３などで表示したドキュメントや画像の印刷指示を行う（Ｓ８０６）。アプリケーション３２２、ウェブブラウザ３２３からは、印刷指示されたドキュメントをプリントサービスクライアント３２４に伝達する（Ｓ８０７）。プリントサービスクライアント３２４は、アプリケーション３２２、またはウェブブラウザ３２３から受け取ったドキュメントや画像のデータをクラウドプリントサービス１０２で処理可能なフォーマットの印刷データに変換する。更に、印刷データに、ユーザアカウントやユーザ名、ドキュメント名などのジョブ属性を付加した印刷ジョブと称するデータを生成してプリントサービス３１４に送信する（Ｓ８０８）。
【００６１】
ユーザアカウントは、プリンタオブジェクトの一覧の取得に利用したクラウドプリントサービス１０２におけるユーザアカウントである。ユーザ名は、ユーザ端末１０３の利用者のユーザ名であり、例えば、パーソナルコンピュータは、オペレーティングシステム３２１からログイン中のユーザ名を取得することができる。印刷ジョブに含まれる情報の例を下記の表５に示す。
【００６２】
【表５】
2020119016.tif 000007
【００６３】
プリントサービス３１４は、ユーザ端末１０３から受信した印刷ジョブをプリンタキューに一時記憶する。ユーザ端末１０３から実プリンタオブジェクトを指定して送信された印刷データは、実プリンタキュー３１５に記憶する。ユーザ端末１０３から仮想プリンタオブジェクトを指定して送信された印刷データは、仮想プリンタキュー３１６に記憶する。印刷時に指定されたプリンタオブジェクトと関連付いた印刷装置には、プリンタキューにジョブが記憶されたことを通知する（Ｓ８０９）。
【００６４】
＜クラウドプリントサービス１０２からのジョブ一覧の取得方法＞
クラウドプリントサービス１０２は、印刷装置に対して、実プリンタキュー、仮想プリンタキューそれぞれから印刷ジョブの一覧を取得する複数のプロトコルを提供する。複数提供される印刷ジョブの一覧の取得プロトコルとフローについて説明する。
【００６５】
クラウドプリントサービス１０２は、実プリンタキューと関連付いた印刷装置からのジョブ一覧取得要求であることを確認する為、プリンタアクセストークンを検証する。なお、クラウドプリントサービス１０２は実プリンタキューと通信する場合、後述するユーザアクセストークンの検証を必要としない。クラウドプリントサービス１０２は、実プリンタキューに印刷ジョブが投入されると、直ぐに実プリンタキューに関連付いた印刷装置に印刷ジョブが投入された旨を通知する。通知を受けた印刷装置は、ユーザの指示を受けることなくクラウドプリントサービス１０２から印刷ジョブを取得して即時プリントを行うケースと、印刷装置のローカルＵＩからユーザが印刷指示を行ったことを受けて、印刷ジョブを取得して印刷を行うケースがある。
【００６６】
前者のように、印刷装置の前にユーザがいない無人の状態で印刷が行われるケースがあるため、実プリンタキューへのアクセスには、ユーザの識別子を使用しない。後者のケースのように直ぐに印刷せずに、ユーザの印刷指示を待つケースでは、実プリンタキューに複数の印刷ジョブが留め置かれた状態になる。クラウドプリントサービス１０２は、利便性の為、実プリンタキューに留め置かれた複数の印刷ジョブからユーザの識別子を用いて返却するジョブ一覧をフィルタリングする機能を提供する。
【００６７】
一方、仮想プリンタキューを使用するユースケースにおいては、ユーザが複数ある印刷装置から１つを選択して印刷指示を行うことを起点とする為、プリンタアクセストークンの確認に加えてユーザアクセストークンを確認しセキュリティを強化する。クラウドプリントサービス１０２は、ユーザアクセストークンを確認することにより印刷ジョブの投入を行ったユーザのみが自分の印刷ジョブを取得できるようにアクセス制御を行うことができる。ユーザアクセストークンは、認証・認可サービス３１３が、ユーザ認証情報を用いてユーザを認証し、かつ認証したユーザにプリントサービス３１４へのアクセスを許可する場合に発行するプリントサービス３１４へアクセスチケットである。認証・認可サービス３１３が提供するユーザ認証のユーザ認証情報は、ユーザアカウントとパスワードであるが、印刷装置からユーザ認証を要求する場合、設定に応じてカードＩＤによる認証や、ユーザアカウント名のみの認証を提供する。本願発明ではクラウドプリントサービス１０２へのユーザの認証が成功していることを示すユーザアクセストークンと、印刷装置の登録が成功していることを示すプリンタアクセストークンの２つのアクセストークンを想定している。
【００６８】
前述した方法を組み合わせることにより、印刷装置１０１はクラウドプリントサービス１０２と後述するプロトコル１からプロトコル５の印刷ジョブの取得方法の何れか１つのプロトコルで通信する。印刷装置１０１の動作と共に各プロトコルについて詳細を説明する。
【００６９】
＜プロトコル１：実プリンタキューから全ての印刷ジョブの一覧を取得する＞
図９の画面フロー図と、図１０のシーケンス図を参照して、実プリンタキューから全ての印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。
【００７０】
ユーザは、ローカルＵＩ３０１が表示するメニュー画面９１０からクラウドプリントアプリケーション３０３を選択する（Ｓ１００１）。クラウドプリントアプリケーション３０３は、プリンタアクセストークンをプリントサービス３１４に送信して印刷ジョブの一覧を要求する（Ｓ１００２）。プリントサービス３１４は、プリンタアクセストークンが印刷装置１０１に対し発行されたアクセストークンであることを検証する。そして、実プリンタキューから印刷装置１０１に関連付いた全てのジョブの一覧を取得して、クラウドプリントアプリケーション３０３に返信する（Ｓ１００３）。クラウドプリントアプリケーション３０３は、取得した印刷ジョブの一覧を含む画面９１１を表示する。ユーザは画面９１１において、所望の印刷ジョブを選択して、印刷指示を行う（Ｓ１００４）。クラウドプリントアプリケーション３０３は、プリンタアクセストークンをプリントサービス３１４に送信して、選択された印刷ジョブを取得し印刷を実行する。
【００７１】
クラウドプリントアプリケーション３０３は、クラウドプリントサービス１０２からのジョブ投入通知の受信をきっかけに、ユーザから指示を受けることなく、即時印刷ジョブを取得して印刷を実行するようにしても良い。この場合、クラウドプリントアプリケーション３０３は、ジョブ投入通知の受信をきっかけに、プリンタアクセストークンをプリントサービス３１４に送信して印刷ジョブの一覧と印刷ジョブを取得し、印刷を実行する。
【００７２】
＜プロトコル２：実プリンタキューから特定ユーザの印刷ジョブの一覧を取得する＞
図９の画面フロー図と、図１０のシーケンス図を参照して、実プリンタキューから特定ユーザの印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。
【００７３】
ユーザは、ログイン画面９２０が表示された状態において、ログイン操作を行い印刷装置にログインする（Ｓ１０１０）。ユーザは、ローカルＵＩ３０１が表示するメニュー画面９２１からクラウドプリントアプリケーション３０３を選択する（Ｓ１０１１）。
【００７４】
クラウドプリントアプリケーション３０３は、ログインコンテキスト（表２）を参照して、ログイン中のユーザのユーザ識別子を取得する。ユーザの識別子は、印刷装置１０１のログインユーザ名もしくは、クラウドプリントサービス１０２のアカウントである。プリンタアクセストークンとユーザの識別子をプリントサービス３１４に送信してユーザの識別子と関連付いた印刷ジョブの一覧を要求する（Ｓ１０１２）。
【００７５】
プリントサービス３１４は、プリンタアクセストークンが印刷装置１０１のものであることを検証する。実プリンタキューから印刷装置１０１に関連付いた全てのジョブの一覧を取得する。更に、プリントサービス３１４は、受信したユーザ識別子と、ジョブ属性（クラウドプリントサービス１０２のアカウント・ユーザ名）を比較し、一致する印刷ジョブの一覧を生成して、クラウドプリントアプリケーション３０３に返信する（Ｓ１０１３）。クラウドプリントアプリケーション３０３は、取得した印刷ジョブの一覧を含む画面９２２を表示する。例えば、ログイン中のユーザが”Ａｌｉｃｅ”であれば、”Ａｌｉｃｅ”の印刷ジョブのみが、画面９２２に表示される。
【００７６】
＜プロトコル３：仮想プリンタキューからユーザアカウントとパスワードを使用して印刷ジョブの一覧を取得する＞
図９の画面フロー図と、図１１のシーケンス図を参照して、仮想プリンタキューからユーザアカウントとパスワードを使用して印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。
【００７７】
ユーザは、ローカルＵＩ３０１に表示したメニュー（９３０）からクラウドプリントアプリケーション３０３を選択する（Ｓ１１０１）。クラウドプリントアプリケーション３０３は、クラウドプリントサービス１０２にアクセスする為のアカウントとパスワードを入力する画面９３１を表示する。画面９３１は、ＷｅｂＶｉｅｗで構成しても良い。画面９３１をＷｅｂＶｉｅｗで構成する場合は、認証・認可サービス３１３が提供するＵＲＬにアクセスし、ユーザアカウントとパスワードを入力する為のＨＴＭＬを取得して画面表示する。ユーザアカウントとパスワードを入力する（Ｓ１１０２）と、クラウドプリントアプリケーション３０３は、ユーザアカウントとパスワードを認証・認可サービス３１３へ送信する（Ｓ１１０３）。認証・認可サービス３１３は、ユーザ認証を実施する。ユーザ認証が成功した場合は、ユーザアクセストークン、リフレッシュトークンを発行し、クラウドプリントアプリケーション３０３に返信する（Ｓ１１０４）。リフレッシュトークンは、アクセストークンを再取得する為のトークンであり、通常、リフレッシュトークンは、アクセストークンよりも有効期限を長く設定される。クラウドプリントアプリケーション３０３は、ユーザアクセストークンの取得に成功すると、画面９３１を閉じる。クラウドプリントアプリケーション３０３は、プリンタアクセストークンと、ユーザアクセストークンをプリントサービス３１４へ送信し（Ｓ１１０５）、印刷ジョブの一覧を要求する。プリントサービス３１４は、プリンタアクセストークンが印刷装置１０１のものであることを検証する。更に、ユーザアクセストークンを検証し、ユーザアクセストークンと関連付いたユーザアカウントを取得する。ユーザアカウントは、ユーザアクセストークンに含まれていても良いし、アクセストークンを使って認証・認可サービス３１３からユーザアカウントを取得するようにしても良い。プリントサービス３１４は、印刷装置１０１と関連付いた仮想プリンタキューにアクセスし、更に、ユーザアカウントと関連付いた印刷ジョブの一覧を取得する。プリントサービス３１４は、取得した印刷ジョブの一覧を、クラウドプリントアプリケーション３０３へ返信する（Ｓ１１０６）。クラウドプリントアプリケーション３０３はローカルＵＩに、取得した印刷ジョブの一覧を含む画面表示し、ユーザに印刷出力したい印刷ジョブを選択させる画面９３２を表示する。
【００７８】
プロトコル３において、印刷装置のユーザ認証機能が有効な場合の画面フローを画面フロー９０４に示す。ユーザは、ログイン画面９４０でログイン操作を行った後に、メニュー画面９４１からクラウドプリントアプリケーション３０３を選択する。クラウドプリントアプリケーション３０３は、ユーザアカウントとパスワードを記憶するオプション付きの入力画面９４２を表示するようにしても良い。ユーザが記憶することを選択した場合、ユーザアカウントとパスワードは、印刷装置にログイン中のユーザ情報と関連付けて記憶する。記憶後は、ユーザアカウン・パスワード入力画面９４２を表示する必要が無いため、ユーザは、画面フロー９０２の操作フローでクラウドプリントを利用することができる。また、Ｓ１１０４で取得したアクセストークンやリフレッシュトークンを印刷装置にログイン中のユーザ情報と関連付けて記憶することにより、トークンが有効な間は、ユーザアカウン・パスワード入力画面９４２の表示をスキップするようにしても良い。
【００７９】
＜プロトコル４：仮想プリンタキューからカードＩＤを使用して印刷ジョブの一覧を取得する＞
図９の画面フロー図と、図１１のシーケンス図を参照して、仮想プリンタキューからカードＩＤを使用して印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。本プロトコルは、設定７０５「登録済み印刷装置からのＩＣカード認証を有効にする」が有効な場合に、利用可能なプロトコルである。
【００８０】
ユーザは、ログイン画面９２０が表示された状態において、ＩＣカードを用いて印刷装置にログインする（Ｓ１１１０）。ユーザは、ローカルＵＩ３０１が表示するメニュー画面９２１からクラウドプリントアプリケーション３０３を選択する（Ｓ１１１１）。クラウドプリントアプリケーション３０３は、ローカルＵＩ３０１にて、メニューからクラウドプリントアプリケーション３０３を選択されたことを検知すると、ログインコンテキスト（表２）を参照し、ログインに使用されたＩＣカードのカードＩＤを取得する。クラウドプリントアプリケーション３０３は、認証・認可サービス３１３へカードＩＤを送信する（Ｓ１１１２）。また、カードＩＤと共に、登録された印刷装置からの送信であることを証明する為、デジタル署名とプリンタアクセストークンを併せて送信する。デジタル署名は、プリンタ登録時に生成した秘密鍵を使って生成することができる。送信するカードＩＤのみにデジタル署名を付加しても良いし、送信データ全体にデジタル署名を付加しても良い。認証・認可サービス３１３は、受信したプリンタアクセストークン、デジタル署名が登録済みの印刷装置のものであることを確認する。更に、受信したカードＩＤを用いてユーザ認証を実施する。ユーザ認証が成功した場合は、ユーザアクセストークンとリフレッシュトークンを返信する（Ｓ１１１３）。クラウドプリントアプリケーション３０３は、ユーザアクセストークンの取得が成功すると、プリンタアクセストークンと、ユーザアクセストークンをプリントサービス３１４へ送信し、印刷ジョブの一覧を要求する（Ｓ１１１４）。プリントサービス３１４は、プリンタアクセストークンが印刷装置１０１のものであることを検証する。更に、ユーザアクセストークンを検証し、ユーザアクセストークンと関連付いたユーザアカウントを取得する。プリントサービス３１４は、印刷装置１０１と関連付いた仮想プリンタキューにアクセスし、更に、ユーザアカウントと関連付いた印刷ジョブの一覧を取得する。プリントサービス３１４は、取得した印刷ジョブの一覧を、クラウドプリントアプリケーション３０３へ返信する（Ｓ１１１５）。クラウドプリントアプリケーション３０３はローカルＵＩに、取得した印刷ジョブの一覧を表示し、ユーザに印刷出力したい印刷ジョブを選択させる画面９２２を表示する。
【００８１】
なお、仮想プリンタキューを利用した印刷はユーザはクラウドプリントサービス１０２へのユーザ認証を行う必要があり、ユーザにとっては認証操作が手間である。しかし、プロトコル４を利用することでユーザは印刷装置１０１へのＩＣカード認証を行うだけで、クラウドプリントサービス１０２での認証も併せて行うことが可能になるのでプロトコル３および５よりも利便性が高い。
【００８２】
＜プロトコル５：仮想プリンタキューからユーザアカウントを使用して印刷ジョブの一覧を取得する＞
図９の画面フロー図と、図１１のシーケンス図を参照して、仮想プリンタキューからユーザアカウントを使用して印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。本プロトコルは、設定７０６「登録済み印刷装置からのアカウント名のみの認証を有効にする」が有効な場合に、利用可能なプロトコルである。なお、前述した通り７０４の画面は一例であり、設定７０６の形態には限られない。
【００８３】
ユーザは、ログイン画面９２０が表示された状態において、ログイン操作を行い印刷装置にログインする（Ｓ１１２０）。ユーザは、ローカルＵＩ３０１が表示するメニュー画面９２１からクラウドプリントアプリケーション３０３を選択する（Ｓ１１２１）。
【００８４】
クラウドプリントアプリケーション３０３は、メニュー画面９２１からクラウドプリントアプリケーション３０３を選択されたことを検知すると、ログインコンテキスト（表２）を参照してクラウドプリントサービス１０２のユーザアカウントを取得する。クラウドプリントアプリケーション３０３は、認証・認可サービス３１３へユーザアカウントを送信する（Ｓ１１２２）。
【００８５】
また、ユーザアカウントと共に、登録された印刷装置からの送信であることを証明する為、デジタル署名とプリンタアクセストークンを併せて送信する。送信するユーザアカウントのみにデジタル署名を付加しても良いし、送信データ全体にデジタル署名を付加しても良い。認証・認可サービス３１３は、受信したプリンタアクセストークン、デジタル署名が登録済みの印刷装置のものであることを確認する。更に、受信したユーザアカウントを用いてユーザ認証を実施する。ユーザ認証が成功した場合は、ユーザアクセストークンとリフレッシュトークンを返信する（Ｓ１１２３）。クラウドプリントアプリケーション３０３は、ユーザアクセストークンの取得が成功すると、プリンタアクセストークンと、ユーザアクセストークンをプリントサービス３１４へ送信し、印刷ジョブの一覧を要求する（Ｓ１１２４）。プリントサービス３１４は、プリンタアクセストークンが印刷装置１０１のものであることを検証する。更に、ユーザアクセストークンを検証し、ユーザアクセストークンと関連付いたユーザアカウントを取得する。プリントサービス３１４は、印刷装置１０１と関連付いた仮想プリンタキューにアクセスし、更に、ユーザアカウントと関連付いた印刷ジョブの一覧を取得する。プリントサービス３１４は、取得した印刷ジョブの一覧を、クラウドプリントアプリケーション３０３へ返信する（Ｓ１１２５）。クラウドプリントアプリケーション３０３はローカルＵＩに、取得した印刷ジョブの一覧を表示し、ユーザに印刷出力したい印刷ジョブを選択させる画面９２２を表示する。
【００８６】
＜プロトコルの選択フロー＞
説明した通り、プリンタキューの種別（実プリンタキュー／仮想プリンタキュー）、クラウドプリントサービスの設定、印刷装置のユーザ認証機能の有効／無効の組み合わせを考慮すれば、上記プロトコル１からプロトコル５のいずれかを利用することができる。
【００８７】
しかしながら、ユーザが上記の組み合わせを考慮して、プロトコル１からプロトコル５のいずれかを設定するのが煩わしい。また、ユーザが設定を間違えた場合は、正しく印刷ジョブを取得できない恐れがある。
【００８８】
そこで、本発明を実施した印刷装置は、ユーザの手を煩わせることなく、必要な設定情報を取得して、プロトコル１からプロトコル５の中から適切なものを選択する。プロトコルを選択するフローを図１２のフローチャートを参照して説明する。
【００８９】
プロトコルを選択するフローを実行する主体は、ＣＰＵ２０１が実行するクラウドプリントアプリケーション３０３である。
【００９０】
クラウドプリントアプリケーション３０３はプロトコルを選択する為に、クラウドプリントサービス１０２へプリンタアクセストークンを送信して、印刷装置１０１が関連付いたプリンタキューの種別（実プリンタキュー／仮想プリンタキュー）を取得する（Ｓ１２０１）。更に、クラウドプリントサービス１０２からクラウドプリントサービスのユーザ認証設定（７０５や７０６）を取得する（Ｓ１２０２）。更に、クラウドプリントアプリケーション３０３は、ユーザ認証部３０５から印刷装置自身のユーザ認証設定を取得する（Ｓ１２０３）。
【００９１】
クラウドプリントアプリケーション３０３は、前記取得した情報をＲＡＭ２０３やＨＤＤ２０４に一時記憶して、プロトコルの選択の際に参照する。クラウドプリントアプリケーション３０３が、プロトコルの判定に使用する一時記憶する情報の例を表６に示す。
【００９２】
【表６】
2020119016.tif 000008
【００９３】
クラウドプリントアプリケーション３０３は、取得した情報を元にプロトコル１からプロトコル５の中からいずれか１つのプロトコルを選択するための判定を開始する（Ｓ１２０４）。クラウドプリントアプリケーション３０３は、印刷装置１０１と関連付いたプリンタキューの種別が、実プリンタキューか仮想プリンタキューかを判定する（Ｓ１２０５）。
【００９４】
実プリンタキューと関連付いている場合、次に印刷装置のユーザ認証機能の有効・無効を判定する（Ｓ１２０６）。印刷装置のユーザ認証機能が無効の場合、印刷装置を利用中のユーザを特定できない為、プロトコル１を選択する（Ｓ１２０７）。印刷装置のユーザ認証機能が有効の場合、ログインコンテキストを参照して、印刷装置を利用中のユーザを特定できる為、プロトコル２を選択する（Ｓ１２０８）。
【００９５】
仮想プリンタキューと関連付いている場合、次に印刷装置のユーザ認証機能が有効か無効か判定する（Ｓ１２０９）。印刷装置のユーザ認証機能が無効の場合は印刷装置を利用中のユーザを特定できない。一方で、仮想プリンタキューに保存されたユーザのジョブを特定するためにユーザアカウント・パスワードをユーザに入力させるためのユーザインタフェースを表示する。この為、プロトコル３を選択する（Ｓ１２１０）。
【００９６】
印刷装置のユーザ認証機能が有効の場合、次に印刷装置１０１とクラウドプリントサービス１０２の両者共にＩＣカード認証機能が有効かどうかを判定する（Ｓ１２１１）。印刷装置１０１のＩＣカード認証機能の有効は４０２の画面における設定を、クラウドプリントサービス１０２のＩＣカード認証機能の有効は７０６の設定を確認することになる。両者共にＩＣカード認証機能が有効である場合、プロトコル４を選択する（Ｓ１２１２）。印刷装置１０１とクラウドプリントサービス１０２の両方もしくは一方においてＩＣカード認証機能が無効の場合、クラウドプリントサービス１０２がユーザアカウント名のみで認証する機能が有効か否かを判定する（Ｓ１２１３）。ユーザアカウント名のみで認証する機能が有効の場合、プロトコル５を選択する（Ｓ１２１４）。ユーザアカウント名のみで認証する機能が無効の場合、プロトコル３を選択する（Ｓ１２１０）。
【００９７】
プロトコルを判定するタイミングは、ローカルＵＩ３０１が表示するメニュー画面からクラウドプリントアプリケーション３０３を選択される度に、毎回実施する。もしくは印刷装置の起動時に一度だけ実施し、判定結果をＲＡＭ２０３やＨＤＤ２０４に一時記憶して、参照するようにしても良い。また、設定が変更されたことの通知を受けて（Ｓ１２１５）、表６に示す情報を新しい設定で更新し、再度プロトコルの判定を実施するようにしても良い。また、プリントサービス３１４からプリンタキューにジョブが記憶されたことの通知を受けて、プロトコルの判定処理を実施しても良い。
【００９８】
＜プリンタオブジェクトを変更した場合の動作＞
例えば、管理者が図７に示すプリントサービス３１４のＵＩより、印刷装置１０１の所属するプリンタオブジェクトを、実プリンタオブジェクトから仮想プリンタオブジェクトへ変更するケースが考えられる。この場合、プリントサービス３１４は、プリンタキューの種別の変更を印刷装置１０１へ通知する。クラウドプリントアプリケーション３０３はプリンタキューの種別の変更を検知し変更を認識して（Ｓ１２１５）、新しい情報で一時記憶した情報（表６）を更新し、再度プロトコルの判定を実施する。また、仮想プリンタオブジェクトから実プリンタオブジェクトへ変更するケースが考えられるが、Ｓ１２１５の処理を実行する点で変わりはない。
【００９９】
＜実プリンタオブジェクトと仮想プリンタオブジェクトの両方に所属する場合＞
また、管理者が図７に示すプリントサービス３１４のＵＩより、印刷装置１０１の所属するプリンタオブジェクトを、実プリンタオブジェクトと仮想プリンタオブジェクトの両方に関連づけるケースが考えられる。この場合、実プリンタキューからのジョブの取得方法であるプロトコル１とプロトコル２のどちらかと、仮想プリンタキューからのジョブの取得方法であるプロトコル３からプロトコル５のいずれかを選択し、実プリンタキューと仮想プリンタキューの両方からジョブの一覧を取得しても良い。また、印刷装置１０１は、プリントサービス３１４からプリンタキューにジョブが記憶されたことの通知を受けて、どちらの実プリンタキューと仮想プリンタキューのどちらに印刷ジョブが記憶されているかを把握することができる。この為、印刷装置１０１は、印刷ジョブの記憶されている方にのみアクセスするようにしても良い。
【０１００】
上記で説明した通り、本発明の印刷装置は、クラウドのプリンタキューの種別、クラウドのユーザ認証設定、印刷装置の認証設定を取得し、適切なジョブの取得方法、取得プロトコルを判定するようにした。この為、ユーザにクラウドプリントサービスからの印刷データの取得方法に関するプロトコルを選択させることなく、適切なプロトコルで印刷データを取得することができる。ユーザが設定を間違えた場合、クラウドプリントサービスから印刷データを取得できないという問題を防止することができる。
【０１０１】
〔その他の実施例〕
実施例１では、プリンタキューの情報と、クラウドプリントサービス１０２の認証設定と、印刷装置１０１の認証設定の３つの情報を基にした判定方法を示した。しかし、３つの情報に限られるものではない。例えば、プリンタキューの情報と印刷装置１０１の認証設定の情報のみでプロトコルを判定しても良い。その場合、プロトコル３乃至５の決定は、あらかじめ設定されたプロトコル３乃至５の設定に従う形態で良い。また、取得する情報は３つよりも多くても良い。
【０１０２】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１０３】
１０１  印刷装置
１０２  プリントサービス
１０３  ユーザ端末
３０１  印刷装置１０１のローカルＵＩ
３０２  印刷装置１０１のリモートＵＩ
３０３  印刷装置１０１のクラウドプリントアプリケーション
３０４  印刷装置１０１の印刷部
３０５  印刷装置１０１のユーザ認証部
【図１】
2020119016.tif 000009
【図２】
2020119016.tif 000010
【図３】
2020119016.tif 000011
【図４】
2020119016.tif 000012
【図５】
2020119016.tif 000013
【図６】
2020119016.tif 000014
【図７】
2020119016.tif 000015
【図８】
2020119016.tif 000016
【図９】
2020119016.tif 000017
【図１０】
2020119016.tif 000018
【図１１】
2020119016.tif 000019
【図１２】
2020119016.tif 000020