(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-09
(45)【発行日】2024-02-20
(54)【発明の名称】クラウドプリントサービスに対応した印刷装置および印刷装置の制御方法およびプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240213BHJP
B41J 29/38 20060101ALI20240213BHJP
【FI】
G06F3/12 336
G06F3/12 304
G06F3/12 338
G06F3/12 372
G06F3/12 387
B41J29/38 201
(21)【出願番号】P 2022205025
(22)【出願日】2022-12-22
(62)【分割の表示】P 2019007009の分割
【原出願日】2019-01-18
【審査請求日】2023-01-19
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】細田 泰弘
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2015-118533(JP,A)
【文献】特開2015-141570(JP,A)
【文献】特開2014-159123(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09- 3/12
B41J 29/00-29/70
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
インターネットを介して接続されたプリントサービスが備えるプリンタキューから印刷ジョブを取得する処理を行うことでクラウドプリントを実現する印刷機能と、ユーザを認証することで印刷装置の機能の利用を制限する認証機能と、を有する前記印刷装置であって、
前記認証機能を有効にするかまたは無効にするかに関する情報を取得する取得手段を有し、
前記認証機能が無効、かつ前記プリントサービスの実プリンタキューを利用する場合、前記実プリンタキューに保存された複数のユーザに対応する前記印刷ジョブを取得し、
前記認証機能が有効、かつ前記プリントサービスの実プリンタキューを利用する場合、前記実プリンタキューに保存された前記印刷ジョブの内、前記認証機能により認証されたユーザの前記印刷ジョブを取得し、
前記認証機能が有効、かつ前記プリントサービスの仮想プリンタキューを利用する場合、前記仮想プリンタキューに保存された前記印刷ジョブの内、前記認証機能により認証されたユーザの前記印刷ジョブを取得することを特徴とする印刷装置。
【請求項2】
前記プリントサービスが有するプリンタキューには前記実プリンタキューと前記仮想プリンタキューとが含まれ、前記実プリンタキューとは前記プリントサービスのプリンタオブジェクトが1つと前記印刷装置が1台の関係で関連付けられたことで利用されるプリンタキューであり、前記仮想プリンタキューとは前記プリントサービスのプリンタオブジェクトが1つと前記印刷装置が複数台の関係で関連付けられたことで利用されるプリンタキューであることを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記実プリンタキューに保存された複数のユーザに対応する前記印刷ジョブを取得するとは、前記印刷装置を認証するためのプリンタアクセストークンを前記プリントサービスに送信することで前記実プリンタキューに保存された全ての印刷ジョブの一覧を取得し、前記全ての印刷ジョブの一覧の中から選択された印刷ジョブを取得し印刷する処理であることを特徴とする請求項1または2に記載の印刷装置。
【請求項4】
前記実プリンタキューに保存された前記印刷ジョブの内、前記認証機能により認証されたユーザの前記印刷ジョブを取得するとは、前記印刷装置を認証するためのプリンタアクセストークンと前記認証機能により認証されたユーザを識別するための識別子とを前記プリントサービスに送信することで前記実プリンタキューに保存された全ての印刷ジョブの中から前記ユーザに関連付く印刷ジョブの一覧を取得し、前記ユーザに関連付く印刷ジョブの一覧の中から選択された印刷ジョブを取得する処理を実行する処理であることを特徴とする請求項1乃至3の何れか1項に記載の印刷装置。
【請求項5】
前記仮想プリンタキューに保存された前記印刷ジョブの内、前記認証機能により認証されたユーザの前記印刷ジョブを取得するとは、前記印刷装置を認証するためのプリンタアクセストークンと前記プリントサービスへの認証を行うためにユーザ認証情報を入力し認証されたことで発行されるユーザアクセストークンとを前記プリントサービスに送信することで前記仮想プリンタキューに保存された全ての印刷ジョブの中から前記ユーザに関連付く印刷ジョブの一覧を取得し、前記ユーザに関連付く印刷ジョブの一覧の中から選択された印刷ジョブを取得する処理を実行する処理であることを特徴とする請求項1乃至4の何れか1項に記載の印刷装置。
【請求項6】
インターネットを介して接続されたプリントサービスが備えるプリンタキューから印刷ジョブを取得する処理を行うことでクラウドプリントを実現する印刷機能と、ユーザを認証することで印刷装置の機能の利用を制限する認証機能と、を有する前記印刷装置の制御方法であって、
前記認証機能を有効にするかまたは無効にするかに関する情報を取得する取得ステップを含み、
前記認証機能が無効、かつ前記プリントサービスの実プリンタキューを利用する場合、前記実プリンタキューに保存された複数のユーザに対応する前記印刷ジョブを取得し、
前記認証機能が有効、かつ前記プリントサービスの実プリンタキューを利用する場合、前記実プリンタキューに保存された前記印刷ジョブの内、前記認証機能により認証されたユーザの前記印刷ジョブを取得し、
前記認証機能が有効、かつ前記プリントサービスの仮想プリンタキューを利用する場合、前記仮想プリンタキューに保存された前記印刷ジョブを取得することを特徴とする制御方法。
【請求項7】
前記プリントサービスが有するプリンタキューには前記実プリンタキューと前記仮想プリンタキューとが含まれ、前記実プリンタキューとは前記プリントサービスのプリンタオブジェクトが1つと前記印刷装置が1台の関係で関連付けられたことで利用されるプリンタキューであり、前記仮想プリンタキューとは前記プリントサービスのプリンタオブジェクトが1つと前記印刷装置が複数台の関係で関連付けられたことで利用されるプリンタキューであることを特徴とする請求項6に記載の制御方法。
【請求項8】
前記実プリンタキューに保存された複数のユーザに対応する前記印刷ジョブを取得するとは、前記印刷装置を認証するためのプリンタアクセストークンを前記プリントサービスに送信することで前記実プリンタキューに保存された全ての印刷ジョブの一覧を取得し、前記全ての印刷ジョブの一覧の中から選択された印刷ジョブを取得し印刷する処理であることを特徴とする請求項6または7に記載の制御方法。
【請求項9】
前記実プリンタキューに保存された前記印刷ジョブの内、前記認証機能により認証されたユーザの前記印刷ジョブを取得するとは、前記印刷装置を認証するためのプリンタアクセストークンと前記認証機能により認証されたユーザを識別するための識別子とを前記プリントサービスに送信することで前記実プリンタキューに保存された全ての印刷ジョブの中から前記ユーザに関連付く印刷ジョブの一覧を取得し、前記ユーザに関連付く印刷ジョブの一覧の中から選択された印刷ジョブを取得する処理を実行する処理であることを特徴とする請求項6乃至8の何れか1項に記載の制御方法。
【請求項10】
前記仮想プリンタキューに保存された前記印刷ジョブの内、前記認証機能により認証されたユーザの前記印刷ジョブを取得するとは、前記印刷装置を認証するためのプリンタアクセストークンと前記プリントサービスへの認証を行うためにユーザ認証情報を入力し認証されたことで発行されるユーザアクセストークンとを前記プリントサービスに送信することで前記仮想プリンタキューに保存された全ての印刷ジョブの中から前記ユーザに関連付く印刷ジョブの一覧を取得し、前記ユーザに関連付く印刷ジョブの一覧の中から選択された印刷ジョブを取得する処理を実行する処理であることを特徴とする請求項1乃至4の何れか1項に記載の
制御方法。
【請求項11】
インターネットを介して接続されたプリントサービスが備えるプリンタキューから印刷ジョブを取得する処理を行うことでクラウドプリントを実現する印刷機能と、ユーザを認証することで印刷装置の機能の利用を制限する認証機能と、を有する前記印刷装置で実行されるプログラムであって、
前記認証機能を有効にするかまたは無効にするかに関する情報を取得させる取得ステップを含み、
前記認証機能が無効、かつ前記プリントサービスの実プリンタキューを利用する場合、前記実プリンタキューに保存された複数のユーザに対応する前記印刷ジョブを取得させ、
前記認証機能が有効、かつ前記プリントサービスの実プリンタキューを利用する場合、前記実プリンタキューに保存された前記印刷ジョブの内、前記認証機能により認証されたユーザの前記印刷ジョブを取得させ、
前記認証機能が有効、かつ前記プリントサービスの仮想プリンタキューを利用する場合、前記仮想プリンタキューに保存された前記印刷ジョブを取得させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラウドプリントサービスに対応する印刷装置および印刷装置の制御方法およびプログラムに関するものである。
【背景技術】
【0002】
近年、インターネット上のサーバが提供するプリントサービスにプリンタを登録し、プリンタがユーザ端末からの指示により出力された印刷データをクラウドサービス経由で取得して印刷を行うクラウドプリントサービスが知られている。
【0003】
ユーザ端末からクラウドプリントサービスを利用する際に、物理的なプリンタと1対1で関連付いたプリンタのオブジェクトを指定して印刷指示を行う印刷形態と、物理的なプリンタと1対Nで関連付いたプリンタオブジェクトを指定して印刷指示を行う印刷形態がある。前者のオブジェクトを実プリンタオブジェクトと称し、後者のオブジェクトは仮想プリンタオブジェクトと称す。また、実プリンタオブジェクトを指定して投入された印刷データのクラウドサービス上の一時保存領域を実プリンタキューと称す。仮想プリンタオブジェクトを指定して投入された印刷データのクラウドサービス上の一時保存領域を仮想プリンタキューと称す。仮想プリンタキューに保存された印刷データは、仮想プリンタオブジェクトに関連付いたプリンタであれば、どのプリンタからでもアクセスして印刷出力を行うことができる(特許文献1を参照)。このような仮想プリンタキューを利用した印刷形態はどこプリ(Anywhere Print)と称される。
【0004】
クラウドプリントサービスは、プリンタと異なるベンダーが提供する場合がある。例えば、Google社が、Google Cloud Print(登録商標)と称するクラウドプリントサービスを提供し、各社プリンタのベンダーがGoogle CloudPrintに対応したプリンタを提供する形態がある。
【0005】
プリンタのベンダーは、各社のクラウドプリントサービスに対応する為、各社クラウドサービスが規定した複数のプロトコルに対応したプリンタを市場に提供している。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、同一のベンダーが提供するクラウドプリントサービスにおいても、印刷形態(実プリンタキューや仮想プリンタキュー)、認証方法、利用方法などに応じて、複数のプロトコルを提供する場合が考えられる。
【0008】
プリンタが複数のプロトコルに対応する必要があるのはもちろんのこと、クラウドプリントサービス側の設定やユーザの利用シーンを把握した上で複数あるプロトコルから適切なプロトコルを選択して動作する必要がある。プリンタを利用するユーザにプロトコルを選択させる為のユーザインタフェースを提供した場合、ユーザにとって設定が煩わしいという課題がある。
【0009】
本発明は上記課題を鑑みてなされたもので、クラウドプリントサービスからの印刷データの取得の際、適切なプロトコルで印刷データを取得する可用性の高いプリンタを提供することを目的とする。
【課題を解決するための手段】
【0010】
前記課題を解決する為、本発明に係る印刷装置は、
クラウドプリントサービスに対応した印刷装置であって、
印刷装置と関連付いたプリンタキューに関する情報を取得する手段(S1202)を備え、
プリンタのユーザ認証設定情報を取得する手段(S1203)を備え、
取得したプリンタキューに関する情報と、プリンタのユーザ認証設定情報を元に
複数のジョブ情報の取得手段から1つを選択する手段(S1205~S1214)を備え、
前記選択したジョブの取得手段を用いてクラウドからジョブ情報の一覧を取得する手段を備えることを特徴とする。
【発明の効果】
【0011】
クラウドプリントサービスからの印刷データの取得の際、適切なプロトコルで印刷データを取得する可用性の高いプリンタを提供することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】実施例におけるシステム構成を示す図である。
【
図2】印刷装置のハードウェア構成を示す図である。
【
図4】印刷装置の操作部に表示されるユーザインタフェースを示す図である。
【
図5】印刷装置をプリントサービスに登録する際のシーケンスを示す図である。
【
図6】登録の承認を行うプリントサービスのユーザインタフェースを示す図である。
【
図7】プリントサービスが提供するユーザインタフェースを示す図である。
【
図8】ユーザ端末からの印刷時のフローを示す図である。
【
図9】印刷装置にログインした際の通知を示す図である。
【
図10】実プリンタキューからの印刷ジョブの取得フローを示す図である。
【
図11】仮想プリンタキューからの印刷ジョブの取得フローを示す図である。
【
図12】プロトコル判定時のフローを示す図である。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例1】
【0014】
図1は、本発明を適用した印刷装置を含むプリントシステムを示す構成図である。101は本発明を適用した印刷装置(プリンタ)であり、クラウドプリントを実現するための印刷機能を備えた印刷装置である。102は、インターネット上で提供されるクラウドプリントサービスであり、Webサーバーである。103はユーザの操作端末である。印刷装置101は、予め印刷装置のオーナーによってクラウドプリントサービス102に登録される。ユーザは、ユーザ端末103からクラウドプリントサービス102に登録された印刷装置101と関連付いたオブジェクトを選択して、印刷データをクラウドプリントサービス102に送信する。印刷装置101はクラウドプリントサービス102を介して、ユーザが送信した印刷データを受信して、印刷を行う。不図示であるが、ユーザの端末はユーザ端末103のみならず、汎用のパーソナルコンピュータやスマートフォンなどの複数のユーザ端末からクラウドプリントサービス102を利用することができる。印刷装置101およびユーザ端末103は、クラウドプリントサービス102とインターネットを介して接続されている。また、不図示であるが印刷装置101と同様の構成の複数の印刷装置が、ユーザ端末103やクラウドプリントサービス102とインターネットを介して接続されている。
【0015】
<印刷装置のハードウェア構成>
図2は、印刷装置101のハードウェア構成を示す簡略図である。
【0016】
CPU201は複合機全体の動作を制御する中央演算装置(プロセッサ)である。RAM(Random Access Memory)203は揮発性メモリであり、ワークエリア、ROM202及びHDD204に格納された各種制御プログラムを展開するための一時記憶領域として用いられる。
【0017】
ROM202は不揮発性メモリであり、複合機のブートプログラムなどが格納されている。HDD204はRAM203と比較して大容量な不揮発性のハードディスクである。HDD204には、複合機の制御用プログラムが格納されている。また、OS(Operating System)やアプリケーションプログラムもHDD204に格納されている。
【0018】
CPU201は複合機の起動時、ROM202に格納されているブートプログラムを実行する。このブートプログラムは、HDD204に格納されているOS(Operating System)のプログラムを読み出し、RAM203上に展開するためのものである。CPU201はブートプログラムを実行すると、続けてRAM203上に展開したOSのプログラムを実行し、複合機の制御を行う。また、CPU201は制御用プログラムによる動作に用いるデータもRAM203上に格納して読み書きを行う。
【0019】
なお、複合機は、1つのCPU201が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のCPUやマイクロプロセッサ(MPU)が協働して後述するフローチャートに示す各処理を実行するようにすることもできる。また、後述する処理の一部をASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェア回路を用いて実行するようにしても良い。
【0020】
操作部205は、タッチ操作可能なディスプレイである。
【0021】
プリンタ206は、通信部207を介して外部から受信した印刷データをプリントするプリンタエンジンである。
【0022】
通信部207は、インターネットやオフィスのLAN(Local Area Network)に接続する為のネットワークインタフェースである。
【0023】
なお、ユーザ端末103およびクラウドプリントサービス102にも、CPU201、ROM202、RAM203、HDD204と同様のハードウェア構成が備えられている。
【0024】
ICカードリーダ208は、ICカードからユーザ認証に使用する情報を読み出す為の装置であり、ICカード認証を実現するために必要なユニットである。
【0025】
<ソフトウェア構成>
図3は、印刷装置101、クラウドプリントサービス102、ユーザ端末103のソフトウェア構成を示す簡略図である。
【0026】
<印刷装置101のソフトウェア構成>
印刷装置101のソフトウェア構成について説明する。
【0027】
印刷装置101のローカルUI301は、操作部205のディスプレイを用いて、ユーザが印刷装置の設定変更や機能を利用する為のユーザインタフェースを提供する。ローカルUI301が提供するユーザインタフェースの例を
図4に示す。リモートUI302は、HTTP(Hypertext Transfer Protocol)サーバ機能を有し、HTML(HyperText Markup Language)で構成されるユーザインタフェースをユーザに提供する。ユーザは、ユーザ端末のウェブブラウザを利用してリモートUI302にアクセスし、印刷装置の設定変更や機能を利用することができる。クラウドプリントアプリケーション303は、クラウドプリントサービス102に対応するための通信プロトコルや機能を実装するソフトウェアモジュールである。印刷部304は、クラウドプリントアプリケーション303がクラウドプリントサービス102から印刷ジョブを受信し、プリンタ206を制御して印刷処理を実行する。ユーザ認証部305は、ローカルUI301やリモートUI302を利用するユーザを認証するソフトウェアモジュールであり、印刷装置101が提供する各機能の利用を制限させることができる。HDD204には、ローカルUI301やリモートUI302のユーザインタフェースを介して、管理者や一般ユーザのアカウントを登録することができる。HDD204に記憶するアカウント情報の例を下記の表1に示す。HDD204には、アカウント情報として、ユーザ名・パスワード・ICカードのカードID・ロール(管理者/一般ユーザ)登録できる。また、クラウドプリントサービス102のアカウントを印刷装置101のアカウントと関連付けて管理することができる。
【0028】
【0029】
印刷装置101の工場出荷時の設定は、ユーザ認証機能は無効であり、印刷装置を起動すると、ローカルUI301はメニュー画面401を表示する。ユーザは、メニュー画面401を介して、ユーザ認証設定画面402を表示することができる。ユーザ認証設定画面402では、ユーザ認証機能の有効/無効を選択することができる。また、ユーザ認証機能有効を選択した場合は、更に、キーボードログイン機能とICカードログイン機能を選択することができる。ユーザが行った設定はHDD204へ記憶し、ユーザ認証部305が参照することができる。キーボードログイン機能を選択した場合、ローカルUI301は、キーボードログイン画面403を表示して、メニュー画面401を利用するユーザを認証する。キーボードログイン画面403では、ソフトキーボードを表示して、ユーザからのユーザ名・パスワードの入力を受け付ける。ユーザ認証部305は、画面から取得したユーザ名・パスワードを取得し、HDD204に登録されたアカウント情報(表1)と比較して、ユーザ認証を行う。認証が成功した場合、認証に成功したユーザを印刷装置101にログインさせる。具体的には、ユーザ認証部305は、ローカルUI301にログイン画面を閉じてメニュー画面401に遷移するように指示する。ICカードログイン機能を選択した場合、ローカルUI301は、ICカードログイン画面404を表示して、メニュー画面401を利用するユーザを認証する。ICカードログイン画面404表示中は、ICカードリーダ208にかざされたICカードを検知し、ICカードからカードIDを読み出す。ユーザ認証部305は、ICカードリーダ208から取得したカードIDと一致するアカウントをHDD204に登録されたアカウント情報(表1)から検索する。カードIDが一致するアカウントが存在する場合、カードIDが一致したユーザを印刷装置101にログインさせる。
【0030】
ユーザ認証部305は、ログインしたユーザの情報をログインコンテキストと称するオブジェクトに格納して、ログインコンテキストをクラウドプリントアプリケーション303などの他のソフトウェアモジュールへ伝達する。ログインコンテキストに格納する情報の例を下記の表2に示す。ログインコンテキストには、ログインしたユーザの表1で管理されるユーザ名、ロールを格納する。また、ICカードを用いてユーザがログインした場合は、ログインコンテキストにカードIDを格納する。ユーザ名・パスワードを用いてログインした場合は、カードIDは格納しない。また、表1でユーザ名と関連付けて記憶されたクラウドプリントサービス102のアカウントをログインコンテキストに格納する。
【0031】
【0032】
また、ユーザ端末103にはHTMLのリクエストを送信しレスポンスで受信したHTMLに基づいて画面を表示するウェブブラウザが備わっている。また、クラウドプリントサービス102には、印刷装置101を登録する機能と、ユーザ端末103から印刷指定された印刷データを印刷ジョブに変換する機能と、選択された印刷装置101に対し印刷ジョブを送信する機能が備わっている。
【0033】
ローカルUI301および、リモートUI302は、ユーザが印刷装置101をクラウドプリントサービス102に登録・登録の更新・登録の解除を行う為のユーザインタフェース405を提供する。
【0034】
<クラウドプリントサービス102のソフトウェア構成>
クラウドプリントサービス102のソフトウェア構成について説明する。クラウドプリントサービス102は、管理者がサービスの設定を行う為のウェブサイトを備える。クラウドプリントサービスが提供するウェブサイトのユーザインタフェースの例を
図7に示す。
【0035】
ユーザ管理311は、クラウドプリントサービスにアクセスするユーザのアカウントを管理するデータベースやアカウントを登録・編集・削除するユーザインタフェースを備える。ユーザ管理311が、データベースに記憶して管理するユーザアカウント情報の例を下記の表3に示す。データベースには、アカウント情報として、ユーザアカウント名・パスワード・ICカードのカードID・ロール(管理者/一般ユーザ)登録できる。
【0036】
【0037】
プリンタ管理312は、クラウドプリントサービスに登録されたプリンタの情報を管理するデータベースやプリンタ情報を登録・編集・削除するユーザインタフェースを備える。認証・認可サービス313は、クラウドプリントサービス102が提供するWebサイトにログインするユーザを認証する。また、クラウドプリントサービス102にアクセスするユーザやプリンタを認証してユーザIDトークンや、アクセストークンを発行する為のプロトコルを備える。前記プロトコルは、例えば、OpenIDファウンデーションが標準化したOpenID Connectや、RFC6749で規定されたOAuth2.0である。プリントサービス314は、ユーザ端末103や印刷装置101と通信を行う。プリントサービス314は印刷ジョブの送受信やプリントに関する設定やイベントの通知を行うプロトコルを備える。また、プリントサービスは実プリンタオブジェクトや仮想プリンタオブジェクトを作成して、ユーザ端末103に公開する為のユーザインタフェースを備える。
【0038】
実プリンタキュー315また、ユーザ端末103から実プリンタオブジェクトを指定して送信された印刷ジョブを一時的に保存する印刷ジョブの保存領域である。仮想プリンタキュー316は、ユーザ端末103から仮想プリンタオブジェクトを指定して送信された印刷ジョブを一時的に保存する印刷ジョブの保存領域である。プリンタキューは、プリントオブジェクトが作成されることで用意される、または既に用意されているものと関連付けられる。
【0039】
<ユーザ端末103のソフトウェア構成>
ユーザ端末103のソフトウェア構成について説明する。ユーザ端末103は、オペレーティングシステム321やアプリケーション322、ウェブブラウザ323、プリントサービスクライアント324などのソフトで構成される。プリントサービスクライアント324は、クラウドプリントサービス102を利用する為の通信クライアントである。
【0040】
なお、プリントサービスクライアント324の機能は、アプリケーション322、ウェブブラウザ323がそれぞれ備えていても良い。また、オペレーティングシステム321のプリントサービスクライアント324の機能を備えており、アプリケーション322、ウェブブラウザ323に機能を提供するように構成しても良い。また、ユーザ端末103にインストールされたプリントドライバ(不図子)が、プリントサービスクライアント324の機能を備えるようにしても良い。
【0041】
<印刷装置101の登録フロー>
印刷装置101をクラウドプリントサービス102へ登録する際のフローについて
図5を用いて説明する。
【0042】
ユーザがローカルUI301から印刷装置101へログインし、405に示すクラウドプリント設定画面を表示する。ユーザは登録ボタンを押下することにより、登録の指示を行う(S501)。印刷装置101のクラウドプリントアプリケーション303は、これを検知して、公開鍵と秘密鍵のペアを生成し、CSR(Certificate Signing Request)を生成する。CSRとは、公開鍵証明書を申し込むために申請者から認証局へ送られる証明書署名要求のメッセージフォーマットである。CSRには、 申請者を識別する情報と、生成した公開鍵を含める。CSRに含める申請者を識別する情報としては、コモンネーム、組織名、部署名、住所、国別番号がある。印刷装置101は、コモンネームとしてプリンタ名「印刷装置101」を使用する。組織名、部署名、住所、国別番号は、印刷装置101に工場出荷時から記憶されているデフォルトの値を使用する。
【0043】
印刷装置101は、CSRと共にプリントサービス314へ登録要求を送信する(S502)。登録要求には印刷装置101の情報が含まれており、例えば印刷装置101のプリンタ名、モデル名、設置場所、装着ユニット、モノクロ/カラーと言った印刷能力に関する情報があげられる。プリントサービス314は、登録要求を受け付けたことに応じて印刷装置101に対する登録用のURLを生成し、これを印刷装置101へ返信する(S503)。この時点ではまだ印刷装置101はクラウドプリントサービス102に登録されてない。印刷装置101からプリンタ登録を受信した際にプリントサービス314は後述するクライアント証明書を発行する。
【0044】
クラウドプリントサービス102が、印刷装置101に発行するクライアント証明書に含まれる情報を以下の表に示す。
【0045】
【0046】
バージョンは、証明書のフォーマットであるX509のバージョンを示す。シリアル番号は、プリントサービス314が発行した証明書に付与する通し番号である。発行者は、証明書を発行者であるプリントサービス314の識別子である。ユーザ識別子は、証明書の発行要求者である印刷装置101の識別子である。有効期間の開始は、証明書の利用開始日時を示す。有効期間の終了は、証明書の利用期間が満了する有効期限を示す。以下の説明では単に有効期限と記載する。公開鍵は、印刷装置101がCSRに含めた公開鍵である。署名アルゴリズムは、証明書の署名のアルゴリズムである。署名は、発行者であるプリントサービス314が証明書に付与するデジタル署名である。署名は、プリントサービス314が持つ秘密鍵で署名される。
【0047】
実施例1ではプリントサービス314が証明書発行機能を有する場合の例を説明したが、プリントサービス314が第三者の証明書発行サービスを用いて証明書を発行しても良い。プリントサービス314が第三者の証明書発行サービスを利用する場合、発行者の識別子および署名は第三者の証明書発行サービスのものとなる。
【0048】
印刷装置101は、ローカルUI301に受信したURLを表示して、ユーザに印刷装置登録の為のURLにアクセスするように促す。URLをエンコードしたQRコード(登録商標)を表示して、スマートフォンなどのカメラで読み取り可能にしても良い。また、印刷部304に対して、URLやQRコードの印刷を指示して、用紙に印刷出力しても良い。
【0049】
ユーザは、ユーザ端末103のウェブブラウザを用いて前記URLにアクセスする。ユーザが、ユーザ端末103のウェブブラウザ323を用いてURLにアクセスした際の、ウェブサイトのインタフェースの一例を
図6に示す。ユーザがURLにアクセスすると、認証・認可サービス313によって、ウェブサイトへのログインを要求される。ユーザは、ウェブサイトのログインアカウントを入力してログインを行うと、次に、印刷装置101の登録の承認を要求するユーザインタフェースが表示される。
【0050】
印刷装置101は、定期的にプリントサービス314にアクセスし、登録の承認状況の確認を行う(S504)。
図6のユーザインタフェースにおいて、登録が承認されていれば、プリントサービス314は、印刷装置101用に発行したX509のフォーマットのクライアン証明書を印刷装置101に返信する(S505)。また、プリントサービス314は、登録された正規の印刷装置であることを証明するクレデンシャルとして、OAuth2.0で規定されたクライアントIDを発行し、印刷装置101に返信する(S506)。印刷装置101が実行する登録の承認状況の確認処理は、S503の後から開始し、クライアン証明書の取得が成功するか、プリントサービス314から承認がキャンセルされた旨の通知をうけるか、一定期間が過ぎるまで繰り返し行うものである。プリントサービス314は、印刷装置101の情報、対応したクライアント証明書、クライアントIDをプリンタ管理312に記憶する。
【0051】
クラウドプリントアプリケーション303が、認証・認可サービス313にクライアントIDを送信する(S507)と、プリントサービス314にアクセス可能なプリンタアクセストークンを取得することができる(S508)。クラウドプリントアプリケーション303は、取得したクライアント証明書、クライアントID、プリンタアクセストークンをHDD204に記憶する。また、クラウドプリントアプリケーション303は、印刷装置の登録状態404を「登録済み」として記憶して、登録処理を完了する。
【0052】
<クラウドプリントサービス102におけるプリンタオブジェクトの作成と公開>
クラウドプリントサービス102におけるプリンタオブジェクトの作成と公開について説明する。
【0053】
図7は、プリンタオブジェクトを管理する為のプリントサービス314が提供するウェブサイトのユーザインタフェースの例である。プリンタオブジェクトは、プリントサービスクライアント324から参照可能かつ、プリント先として指定可能なオブジェクトである。実プリンタオブジェクトは、登録された物理的な印刷装置と1対1で関連付いたプリンタオブジェクトであり、仮想プリンタオブジェクトは、複数の印刷装置と1対Nで関連付いたプリンタオブジェクトである。
【0054】
例えば、作成したプリンタオブジェクトの一覧を管理するユーザインタフェース701を備える。701において、管理者が実プリンタオブジェクトの追加を選択した場合、実プリンタオブジェクトの追加画面702を表示する。実プリンタオブジェクトの追加画面702では、登録済みのプリンタからプリンタオブジェクトとしてユーザ端末103に公開する一台をプリンタオブジェクトと関連付けるプリンタとして選択することができる。また、実プリンタオブジェクトの公開先として、利用を許可するユーザやユーザグループを選択する。ユーザグループのEverybodyは、誰でも利用可能であることを示す。
【0055】
701において、管理者が仮想プリンタオブジェクトの追加を選択した場合、仮想プリンタオブジェクトの追加画面703を表示する。仮想プリンタオブジェクトの追加画面703では、公開する仮想プリンタオブジェクト名を設定する。また、ユーザが印刷時にプリンタオブジェクトを選択する際のヒントとしてコメントを登録することができる。また、登録済みのプリンタからプリンタオブジェクトと関連付けるプリンタとして複数台を選択することができる。また、実プリンタオブジェクトの公開先として、利用を許可するユーザやユーザグループを選択する。
図7の703では、仮想プリンタ003には印刷装置101、107、108の3台が関連付いていることが分かる。
【0056】
プリンタオブジェクトに関連づけられた印刷装置には、プリンタオブジェクトの種別(実プリンタオブジェクト、または仮想プリンタオブジェクト)、公開時のプリンタオブジェクトの名称を通知する。例えば、印刷装置101は通知された情報を、ローカルUI301に表示して、印刷装置101を利用したいユーザが、ユーザ端末から印刷操作を行うときにどのプリンタオブジェクトを選択すればよいか分かるようにしても良い。
【0057】
<クラウドプリントサービス102における認証設定>
図7の画面704は、管理者がユーザ認証のオプション機能を設定する為のプリントサービス314が提供するユーザインタフェースの例である。管理者が705の設定を有効にした場合、認証・認可サービス313は、登録済みの印刷装置からのカードIDを利用したユーザ認証要求を受け付ける。管理者が706の設定を有効にした場合、登録済みの印刷装置からアカウント名のみ(パスワード不要)のユーザ認証要求を受け付ける。705や706の設定が変更された場合、プリントサービス314から登録済みの印刷装置101へ設定変更を通知する。
【0058】
<ユーザ端末103からの印刷フロー>
図8を参照して、ユーザ端末103からの印刷フローについて説明する。印刷装置101は、起動するとプリントサービス314に接続する。
【0059】
プリントサービスクライアント324は、ユーザからクラウドプリントサービス102にアクセスする為のユーザ認証情報の入力を受け付ける(S802)。ユーザ認証情報は、ユーザ管理311で管理されたユーザアカウント名(例えば、alice@cloud.com)とパスワードである。プリントサービスクライアント324は、認証・認可サービス313にユーザ認証情報を送信し、プリントサービス314にアクセスする為の認可を受ける(S803)。更に、プリントサービスクライアント324は、プリントサービス314にアクセスし認可を受けたユーザが利用可能なプリンタオブジェクトの一覧を取得する(S804)。プリンタオブジェクトの一覧は、アプリケーション322、ウェブブラウザ323から参照することができる(S805)。
【0060】
ユーザは、ユーザ端末103のUI上でプリンタオブジェクトの一覧から所望のプリンタオブジェクトを選択し、アプリケーション322、ウェブブラウザ323などで表示したドキュメントや画像の印刷指示を行う(S806)。アプリケーション322、ウェブブラウザ323からは、印刷指示されたドキュメントをプリントサービスクライアント324に伝達する(S807)。プリントサービスクライアント324は、アプリケーション322、またはウェブブラウザ323から受け取ったドキュメントや画像のデータをクラウドプリントサービス102で処理可能なフォーマットの印刷データに変換する。更に、印刷データに、ユーザアカウントやユーザ名、ドキュメント名などのジョブ属性を付加した印刷ジョブと称するデータを生成してプリントサービス314に送信する(S808)。
【0061】
ユーザアカウントは、プリンタオブジェクトの一覧の取得に利用したクラウドプリントサービス102におけるユーザアカウントである。ユーザ名は、ユーザ端末103の利用者のユーザ名であり、例えば、パーソナルコンピュータは、オペレーティングシステム321からログイン中のユーザ名を取得することができる。印刷ジョブに含まれる情報の例を下記の表5に示す。
【0062】
【0063】
プリントサービス314は、ユーザ端末103から受信した印刷ジョブをプリンタキューに一時記憶する。ユーザ端末103から実プリンタオブジェクトを指定して送信された印刷データは、実プリンタキュー315に記憶する。ユーザ端末103から仮想プリンタオブジェクトを指定して送信された印刷データは、仮想プリンタキュー316に記憶する。印刷時に指定されたプリンタオブジェクトと関連付いた印刷装置には、プリンタキューにジョブが記憶されたことを通知する(S809)。
【0064】
<クラウドプリントサービス102からのジョブ一覧の取得方法>
クラウドプリントサービス102は、印刷装置に対して、実プリンタキュー、仮想プリンタキューそれぞれから印刷ジョブの一覧を取得する複数のプロトコルを提供する。複数提供される印刷ジョブの一覧の取得プロトコルとフローについて説明する。
【0065】
クラウドプリントサービス102は、実プリンタキューと関連付いた印刷装置からのジョブ一覧取得要求であることを確認する為、プリンタアクセストークンを検証する。なお、クラウドプリントサービス102は実プリンタキューと通信する場合、後述するユーザアクセストークンの検証を必要としない。クラウドプリントサービス102は、実プリンタキューに印刷ジョブが投入されると、直ぐに実プリンタキューに関連付いた印刷装置に印刷ジョブが投入された旨を通知する。通知を受けた印刷装置は、ユーザの指示を受けることなくクラウドプリントサービス102から印刷ジョブを取得して即時プリントを行うケースと、印刷装置のローカルUIからユーザが印刷指示を行ったことを受けて、印刷ジョブを取得して印刷を行うケースがある。
【0066】
前者のように、印刷装置の前にユーザがいない無人の状態で印刷が行われるケースがあるため、実プリンタキューへのアクセスには、ユーザの識別子を使用しない。後者のケースのように直ぐに印刷せずに、ユーザの印刷指示を待つケースでは、実プリンタキューに複数の印刷ジョブが留め置かれた状態になる。クラウドプリントサービス102は、利便性の為、実プリンタキューに留め置かれた複数の印刷ジョブからユーザの識別子を用いて返却するジョブ一覧をフィルタリングする機能を提供する。
【0067】
一方、仮想プリンタキューを使用するユースケースにおいては、ユーザが複数ある印刷装置から1つを選択して印刷指示を行うことを起点とする為、プリンタアクセストークンの確認に加えてユーザアクセストークンを確認しセキュリティを強化する。クラウドプリントサービス102は、ユーザアクセストークンを確認することにより印刷ジョブの投入を行ったユーザのみが自分の印刷ジョブを取得できるようにアクセス制御を行うことができる。ユーザアクセストークンは、認証・認可サービス313が、ユーザ認証情報を用いてユーザを認証し、かつ認証したユーザにプリントサービス314へのアクセスを許可する場合に発行するプリントサービス314へアクセスチケットである。認証・認可サービス313が提供するユーザ認証のユーザ認証情報は、ユーザアカウントとパスワードであるが、印刷装置からユーザ認証を要求する場合、設定に応じてカードIDによる認証や、ユーザアカウント名のみの認証を提供する。本願発明ではクラウドプリントサービス102へのユーザの認証が成功していることを示すユーザアクセストークンと、印刷装置の登録が成功していることを示すプリンタアクセストークンの2つのアクセストークンを想定している。
【0068】
前述した方法を組み合わせることにより、印刷装置101はクラウドプリントサービス102と後述するプロトコル1からプロトコル5の印刷ジョブの取得方法の何れか1つのプロトコルで通信する。印刷装置101の動作と共に各プロトコルについて詳細を説明する。
【0069】
<プロトコル1:実プリンタキューから全ての印刷ジョブの一覧を取得する>
図9の画面フロー図と、
図10のシーケンス図を参照して、実プリンタキューから全ての印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。
【0070】
ユーザは、ローカルUI301が表示するメニュー画面910からクラウドプリントアプリケーション303を選択する(S1001)。クラウドプリントアプリケーション303は、プリンタアクセストークンをプリントサービス314に送信して印刷ジョブの一覧を要求する(S1002)。プリントサービス314は、プリンタアクセストークンが印刷装置101に対し発行されたアクセストークンであることを検証する。そして、実プリンタキューから印刷装置101に関連付いた全てのジョブの一覧を取得して、クラウドプリントアプリケーション303に返信する(S1003)。クラウドプリントアプリケーション303は、取得した印刷ジョブの一覧を含む画面911を表示する。ユーザは画面911において、所望の印刷ジョブを選択して、印刷指示を行う(S1004)。クラウドプリントアプリケーション303は、プリンタアクセストークンをプリントサービス314に送信して、選択された印刷ジョブを取得し印刷を実行する。
【0071】
クラウドプリントアプリケーション303は、クラウドプリントサービス102からのジョブ投入通知の受信をきっかけに、ユーザから指示を受けることなく、即時印刷ジョブを取得して印刷を実行するようにしても良い。この場合、クラウドプリントアプリケーション303は、ジョブ投入通知の受信をきっかけに、プリンタアクセストークンをプリントサービス314に送信して印刷ジョブの一覧と印刷ジョブを取得し、印刷を実行する。
【0072】
<プロトコル2:実プリンタキューから特定ユーザの印刷ジョブの一覧を取得する>
図9の画面フロー図と、
図10のシーケンス図を参照して、実プリンタキューから特定ユーザの印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。
【0073】
ユーザは、ログイン画面920が表示された状態において、ログイン操作を行い印刷装置にログインする(S1010)。ユーザは、ローカルUI301が表示するメニュー画面921からクラウドプリントアプリケーション303を選択する(S1011)。
【0074】
クラウドプリントアプリケーション303は、ログインコンテキスト(表2)を参照して、ログイン中のユーザのユーザ識別子を取得する。ユーザの識別子は、印刷装置101のログインユーザ名もしくは、クラウドプリントサービス102のアカウントである。プリンタアクセストークンとユーザの識別子をプリントサービス314に送信してユーザの識別子と関連付いた印刷ジョブの一覧を要求する(S1012)。
【0075】
プリントサービス314は、プリンタアクセストークンが印刷装置101のものであることを検証する。実プリンタキューから印刷装置101に関連付いた全てのジョブの一覧を取得する。更に、プリントサービス314は、受信したユーザ識別子と、ジョブ属性(クラウドプリントサービス102のアカウント・ユーザ名)を比較し、一致する印刷ジョブの一覧を生成して、クラウドプリントアプリケーション303に返信する(S1013)。クラウドプリントアプリケーション303は、取得した印刷ジョブの一覧を含む画面922を表示する。例えば、ログイン中のユーザが”Alice”であれば、”Alice”の印刷ジョブのみが、画面922に表示される。
【0076】
<プロトコル3:仮想プリンタキューからユーザアカウントとパスワードを使用して印刷ジョブの一覧を取得する>
図9の画面フロー図と、
図11のシーケンス図を参照して、仮想プリンタキューからユーザアカウントとパスワードを使用して印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。
【0077】
ユーザは、ローカルUI301に表示したメニュー(930)からクラウドプリントアプリケーション303を選択する(S1101)。クラウドプリントアプリケーション303は、クラウドプリントサービス102にアクセスする為のアカウントとパスワードを入力する画面931を表示する。画面931は、WebViewで構成しても良い。画面931をWebViewで構成する場合は、認証・認可サービス313が提供するURLにアクセスし、ユーザアカウントとパスワードを入力する為のHTMLを取得して画面表示する。ユーザアカウントとパスワードを入力する(S1102)と、クラウドプリントアプリケーション303は、ユーザアカウントとパスワードを認証・認可サービス313へ送信する(S1103)。認証・認可サービス313は、ユーザ認証を実施する。ユーザ認証が成功した場合は、ユーザアクセストークン、リフレッシュトークンを発行し、クラウドプリントアプリケーション303に返信する(S1104)。リフレッシュトークンは、アクセストークンを再取得する為のトークンであり、通常、リフレッシュトークンは、アクセストークンよりも有効期限を長く設定される。クラウドプリントアプリケーション303は、ユーザアクセストークンの取得に成功すると、画面931を閉じる。クラウドプリントアプリケーション303は、プリンタアクセストークンと、ユーザアクセストークンをプリントサービス314へ送信し(S1105)、印刷ジョブの一覧を要求する。プリントサービス314は、プリンタアクセストークンが印刷装置101のものであることを検証する。更に、ユーザアクセストークンを検証し、ユーザアクセストークンと関連付いたユーザアカウントを取得する。ユーザアカウントは、ユーザアクセストークンに含まれていても良いし、アクセストークンを使って認証・認可サービス313からユーザアカウントを取得するようにしても良い。プリントサービス314は、印刷装置101と関連付いた仮想プリンタキューにアクセスし、更に、ユーザアカウントと関連付いた印刷ジョブの一覧を取得する。プリントサービス314は、取得した印刷ジョブの一覧を、クラウドプリントアプリケーション303へ返信する(S1106)。クラウドプリントアプリケーション303はローカルUIに、取得した印刷ジョブの一覧を含む画面表示し、ユーザに印刷出力したい印刷ジョブを選択させる画面932を表示する。
【0078】
プロトコル3において、印刷装置のユーザ認証機能が有効な場合の画面フローを画面フロー904に示す。ユーザは、ログイン画面940でログイン操作を行った後に、メニュー画面941からクラウドプリントアプリケーション303を選択する。クラウドプリントアプリケーション303は、ユーザアカウントとパスワードを記憶するオプション付きの入力画面942を表示するようにしても良い。ユーザが記憶することを選択した場合、ユーザアカウントとパスワードは、印刷装置にログイン中のユーザ情報と関連付けて記憶する。記憶後は、ユーザアカウン・パスワード入力画面942を表示する必要が無いため、ユーザは、画面フロー902の操作フローでクラウドプリントを利用することができる。また、S1104で取得したアクセストークンやリフレッシュトークンを印刷装置にログイン中のユーザ情報と関連付けて記憶することにより、トークンが有効な間は、ユーザアカウン・パスワード入力画面942の表示をスキップするようにしても良い。
【0079】
<プロトコル4:仮想プリンタキューからカードIDを使用して印刷ジョブの一覧を取得する>
図9の画面フロー図と、
図11のシーケンス図を参照して、仮想プリンタキューからカードIDを使用して印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。本プロトコルは、設定705「登録済み印刷装置からのICカード認証を有効にする」が有効な場合に、利用可能なプロトコルである。
【0080】
ユーザは、ログイン画面920が表示された状態において、ICカードを用いて印刷装置にログインする(S1110)。ユーザは、ローカルUI301が表示するメニュー画面921からクラウドプリントアプリケーション303を選択する(S1111)。クラウドプリントアプリケーション303は、ローカルUI301にて、メニューからクラウドプリントアプリケーション303を選択されたことを検知すると、ログインコンテキスト(表2)を参照し、ログインに使用されたICカードのカードIDを取得する。クラウドプリントアプリケーション303は、認証・認可サービス313へカードIDを送信する(S1112)。また、カードIDと共に、登録された印刷装置からの送信であることを証明する為、デジタル署名とプリンタアクセストークンを併せて送信する。デジタル署名は、プリンタ登録時に生成した秘密鍵を使って生成することができる。送信するカードIDのみにデジタル署名を付加しても良いし、送信データ全体にデジタル署名を付加しても良い。認証・認可サービス313は、受信したプリンタアクセストークン、デジタル署名が登録済みの印刷装置のものであることを確認する。更に、受信したカードIDを用いてユーザ認証を実施する。ユーザ認証が成功した場合は、ユーザアクセストークンとリフレッシュトークンを返信する(S1113)。クラウドプリントアプリケーション303は、ユーザアクセストークンの取得が成功すると、プリンタアクセストークンと、ユーザアクセストークンをプリントサービス314へ送信し、印刷ジョブの一覧を要求する(S1114)。プリントサービス314は、プリンタアクセストークンが印刷装置101のものであることを検証する。更に、ユーザアクセストークンを検証し、ユーザアクセストークンと関連付いたユーザアカウントを取得する。プリントサービス314は、印刷装置101と関連付いた仮想プリンタキューにアクセスし、更に、ユーザアカウントと関連付いた印刷ジョブの一覧を取得する。プリントサービス314は、取得した印刷ジョブの一覧を、クラウドプリントアプリケーション303へ返信する(S1115)。クラウドプリントアプリケーション303はローカルUIに、取得した印刷ジョブの一覧を表示し、ユーザに印刷出力したい印刷ジョブを選択させる画面922を表示する。
【0081】
なお、仮想プリンタキューを利用した印刷はユーザはクラウドプリントサービス102へのユーザ認証を行う必要があり、ユーザにとっては認証操作が手間である。しかし、プロトコル4を利用することでユーザは印刷装置101へのICカード認証を行うだけで、クラウドプリントサービス102での認証も併せて行うことが可能になるのでプロトコル3および5よりも利便性が高い。
【0082】
<プロトコル5:仮想プリンタキューからユーザアカウントを使用して印刷ジョブの一覧を取得する>
図9の画面フロー図と、
図11のシーケンス図を参照して、仮想プリンタキューからユーザアカウントを使用して印刷ジョブの一覧を取得する操作フローと通信プロトコルについて説明する。本プロトコルは、設定706「登録済み印刷装置からのアカウント名のみの認証を有効にする」が有効な場合に、利用可能なプロトコルである。なお、前述した通り704の画面は一例であり、設定706の形態には限られない。
【0083】
ユーザは、ログイン画面920が表示された状態において、ログイン操作を行い印刷装置にログインする(S1120)。ユーザは、ローカルUI301が表示するメニュー画面921からクラウドプリントアプリケーション303を選択する(S1121)。
【0084】
クラウドプリントアプリケーション303は、メニュー画面921からクラウドプリントアプリケーション303を選択されたことを検知すると、ログインコンテキスト(表2)を参照してクラウドプリントサービス102のユーザアカウントを取得する。クラウドプリントアプリケーション303は、認証・認可サービス313へユーザアカウントを送信する(S1122)。
【0085】
また、ユーザアカウントと共に、登録された印刷装置からの送信であることを証明する為、デジタル署名とプリンタアクセストークンを併せて送信する。送信するユーザアカウントのみにデジタル署名を付加しても良いし、送信データ全体にデジタル署名を付加しても良い。認証・認可サービス313は、受信したプリンタアクセストークン、デジタル署名が登録済みの印刷装置のものであることを確認する。更に、受信したユーザアカウントを用いてユーザ認証を実施する。ユーザ認証が成功した場合は、ユーザアクセストークンとリフレッシュトークンを返信する(S1123)。クラウドプリントアプリケーション303は、ユーザアクセストークンの取得が成功すると、プリンタアクセストークンと、ユーザアクセストークンをプリントサービス314へ送信し、印刷ジョブの一覧を要求する(S1124)。プリントサービス314は、プリンタアクセストークンが印刷装置101のものであることを検証する。更に、ユーザアクセストークンを検証し、ユーザアクセストークンと関連付いたユーザアカウントを取得する。プリントサービス314は、印刷装置101と関連付いた仮想プリンタキューにアクセスし、更に、ユーザアカウントと関連付いた印刷ジョブの一覧を取得する。プリントサービス314は、取得した印刷ジョブの一覧を、クラウドプリントアプリケーション303へ返信する(S1125)。クラウドプリントアプリケーション303はローカルUIに、取得した印刷ジョブの一覧を表示し、ユーザに印刷出力したい印刷ジョブを選択させる画面922を表示する。
【0086】
<プロトコルの選択フロー>
説明した通り、プリンタキューの種別(実プリンタキュー/仮想プリンタキュー)、クラウドプリントサービスの設定、印刷装置のユーザ認証機能の有効/無効の組み合わせを考慮すれば、上記プロトコル1からプロトコル5のいずれかを利用することができる。
【0087】
しかしながら、ユーザが上記の組み合わせを考慮して、プロトコル1からプロトコル5のいずれかを設定するのが煩わしい。また、ユーザが設定を間違えた場合は、正しく印刷ジョブを取得できない恐れがある。
【0088】
そこで、本発明を実施した印刷装置は、ユーザの手を煩わせることなく、必要な設定情報を取得して、プロトコル1からプロトコル5の中から適切なものを選択する。プロトコルを選択するフローを
図12のフローチャートを参照して説明する。
【0089】
プロトコルを選択するフローを実行する主体は、CPU201が実行するクラウドプリントアプリケーション303である。
【0090】
クラウドプリントアプリケーション303はプロトコルを選択する為に、クラウドプリントサービス102へプリンタアクセストークンを送信して、印刷装置101が関連付いたプリンタキューの種別(実プリンタキュー/仮想プリンタキュー)を取得する(S1201)。更に、クラウドプリントサービス102からクラウドプリントサービスのユーザ認証設定(705や706)を取得する(S1202)。更に、クラウドプリントアプリケーション303は、ユーザ認証部305から印刷装置自身のユーザ認証設定を取得する(S1203)。
【0091】
クラウドプリントアプリケーション303は、前記取得した情報をRAM203やHDD204に一時記憶して、プロトコルの選択の際に参照する。クラウドプリントアプリケーション303が、プロトコルの判定に使用する一時記憶する情報の例を表6に示す。
【0092】
【0093】
クラウドプリントアプリケーション303は、取得した情報を元にプロトコル1からプロトコル5の中からいずれか1つのプロトコルを選択するための判定を開始する(S1204)。クラウドプリントアプリケーション303は、印刷装置101と関連付いたプリンタキューの種別が、実プリンタキューか仮想プリンタキューかを判定する(S1205)。
【0094】
実プリンタキューと関連付いている場合、次に印刷装置のユーザ認証機能の有効・無効を判定する(S1206)。印刷装置のユーザ認証機能が無効の場合、印刷装置を利用中のユーザを特定できない為、プロトコル1を選択する(S1207)。印刷装置のユーザ認証機能が有効の場合、ログインコンテキストを参照して、印刷装置を利用中のユーザを特定できる為、プロトコル2を選択する(S1208)。
【0095】
仮想プリンタキューと関連付いている場合、次に印刷装置のユーザ認証機能が有効か無効か判定する(S1209)。印刷装置のユーザ認証機能が無効の場合は印刷装置を利用中のユーザを特定できない。一方で、仮想プリンタキューに保存されたユーザのジョブを特定するためにユーザアカウント・パスワードをユーザに入力させるためのユーザインタフェースを表示する。この為、プロトコル3を選択する(S1210)。
【0096】
印刷装置のユーザ認証機能が有効の場合、次に印刷装置101とクラウドプリントサービス102の両者共にICカード認証機能が有効かどうかを判定する(S1211)。印刷装置101のICカード認証機能の有効は402の画面における設定を、クラウドプリントサービス102のICカード認証機能の有効は706の設定を確認することになる。両者共にICカード認証機能が有効である場合、プロトコル4を選択する(S1212)。印刷装置101とクラウドプリントサービス102の両方もしくは一方においてICカード認証機能が無効の場合、クラウドプリントサービス102がユーザアカウント名のみで認証する機能が有効か否かを判定する(S1213)。ユーザアカウント名のみで認証する機能が有効の場合、プロトコル5を選択する(S1214)。ユーザアカウント名のみで認証する機能が無効の場合、プロトコル3を選択する(S1210)。
【0097】
プロトコルを判定するタイミングは、ローカルUI301が表示するメニュー画面からクラウドプリントアプリケーション303を選択される度に、毎回実施する。もしくは印刷装置の起動時に一度だけ実施し、判定結果をRAM203やHDD204に一時記憶して、参照するようにしても良い。また、設定が変更されたことの通知を受けて(S1215)、表6に示す情報を新しい設定で更新し、再度プロトコルの判定を実施するようにしても良い。また、プリントサービス314からプリンタキューにジョブが記憶されたことの通知を受けて、プロトコルの判定処理を実施しても良い。
【0098】
<プリンタオブジェクトを変更した場合の動作>
例えば、管理者が
図7に示すプリントサービス314のUIより、印刷装置101の所属するプリンタオブジェクトを、実プリンタオブジェクトから仮想プリンタオブジェクトへ変更するケースが考えられる。この場合、プリントサービス314は、プリンタキューの種別の変更を印刷装置101へ通知する。クラウドプリントアプリケーション303はプリンタキューの種別の変更を検知し変更を認識して(S1215)、新しい情報で一時記憶した情報(表6)を更新し、再度プロトコルの判定を実施する。また、仮想プリンタオブジェクトから実プリンタオブジェクトへ変更するケースが考えられるが、S1215の処理を実行する点で変わりはない。
【0099】
<実プリンタオブジェクトと仮想プリンタオブジェクトの両方に所属する場合>
また、管理者が
図7に示すプリントサービス314のUIより、印刷装置101の所属するプリンタオブジェクトを、実プリンタオブジェクトと仮想プリンタオブジェクトの両方に関連づけるケースが考えられる。この場合、実プリンタキューからのジョブの取得方法であるプロトコル1とプロトコル2のどちらかと、仮想プリンタキューからのジョブの取得方法であるプロトコル3からプロトコル5のいずれかを選択し、実プリンタキューと仮想プリンタキューの両方からジョブの一覧を取得しても良い。また、印刷装置101は、プリントサービス314からプリンタキューにジョブが記憶されたことの通知を受けて、どちらの実プリンタキューと仮想プリンタキューのどちらに印刷ジョブが記憶されているかを把握することができる。この為、印刷装置101は、印刷ジョブの記憶されている方にのみアクセスするようにしても良い。
【0100】
上記で説明した通り、本発明の印刷装置は、クラウドのプリンタキューの種別、クラウドのユーザ認証設定、印刷装置の認証設定を取得し、適切なジョブの取得方法、取得プロトコルを判定するようにした。この為、ユーザにクラウドプリントサービスからの印刷データの取得方法に関するプロトコルを選択させることなく、適切なプロトコルで印刷データを取得することができる。ユーザが設定を間違えた場合、クラウドプリントサービスから印刷データを取得できないという問題を防止することができる。
【0101】
〔その他の実施例〕
実施例1では、プリンタキューの情報と、クラウドプリントサービス102の認証設定と、印刷装置101の認証設定の3つの情報を基にした判定方法を示した。しかし、3つの情報に限られるものではない。例えば、プリンタキューの情報と印刷装置101の認証設定の情報のみでプロトコルを判定しても良い。その場合、プロトコル3乃至5の決定は、あらかじめ設定されたプロトコル3乃至5の設定に従う形態で良い。また、取得する情報は3つよりも多くても良い。
【0102】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0103】
101 印刷装置
102 プリントサービス
103 ユーザ端末
301 印刷装置101のローカルUI
302 印刷装置101のリモートUI
303 印刷装置101のクラウドプリントアプリケーション
304 印刷装置101の印刷部
305 印刷装置101のユーザ認証部