図1を参照して、この実施形態のシステムの構成の一例を説明する。例示するシステムは、インターネット400を介して互いに通信可能な画像形成装置100、クラウドプリントサービス200、及びクラウドレポジトリサービス300と、ユーザが携帯する携帯端末500を含む。
画像形成装置100は、入力される印刷データを用紙に印刷する装置である。画像形成装置100は、印刷機能以外の機能を備えていてもよい。例えば、画像形成装置100は、印刷機能の他にスキャン機能、複写機能、ファックス送信機能、電子メール送信機能を備える、いわゆるデジタル複合機であってもよい。画像形成装置100は、自身のUI(ユーザインタフェース)部108(図3参照)で受け付けたユーザからの指示に応じて複写、スキャン、印刷等の処理を実行する機能を持つ他に、インターネット400上のクラウドプリントサービス200から印刷データを取得して印刷出力する機能を備える。また、画像形成装置100が企業等の組織内のネットワークに接続されているものであってもよく、この場合、画像形成装置100は、その組織内のネットワークに接続されたコンピュータからの指示に応じて印刷等の処理を実行する機能を持つ。
また、画像形成装置100は、クラウド印刷対応機能、すなわち、クラウドプリントサービス200を用いた印刷処理を実行する機能、を有している。クラウド印刷対応機能には、例えば、画像形成装置100は、当該画像形成装置100をクラウドプリントサービス200に登録し、物理プリンタID(後述)の付与を受ける機能、クラウドプリントサービス200と各種プロトコルで通信を行うことで、自身が出力先として指定された印刷データを受信する機能、等が含まれる。なお、画像形成装置100がクラウド印刷対応機能を持たない場合、画像形成装置100に接続されたPC(パーソナルコンピュータ)等のコンピュータを用意し、そのコンピュータにクラウド印刷対応機能を持たせてもよい。この場合、そのコンピュータが画像形成装置100のプロキシ(代理)としてクラウドプリントサービス200との通信を行い、クラウドプリントサービス200から取得した印刷データを画像形成装置100に渡して印刷させる。
クラウドプリントサービス200は、クラウドコンピューティングにより、インターネット等のネットワーク上で、ユーザに対してプリントサービスを提供するシステムである。クラウドプリントサービス200は、一般的には複数のコンピュータからなるシステムであるが、単一のコンピュータにより構成されていてもよい。例えばGoogle Cloud Printがクラウドプリントサービス200の一例である。
クラウドプリントサービス200は、例えば、ユーザから印刷対象として指定された文書データ(例えばワードプロセッサや表計算のソフトウエアで作成されている)を、画像形成装置100で取扱可能な印刷データ形式(例えばPostScript(登録商標)等のページ記述言語形式、PDF形式)の印刷データに変換する機能、受け付けた印刷指示に対応する印刷ジョブを生成しその実行状態等を管理する機能(例えばキュー管理)等を、ユーザに対して提供する。クラウドプリントサービス200は、プリントサービスのための諸機能を実現する論理プリンタ(プリンタオブジェクトとも呼ばれる)210を生成し、管理する。論理プリンタ210には、その論理プリンタ210を利用する1以上のユーザが登録される。例えば、論理プリンタ210の作成を指示したユーザのユーザIDが、その論理プリンタ210の管理者属性情報としてその論理プリンタ210に登録される。また、管理者は、その論理プリンタ210を共有できる共有者を設定できる。設定された共有者のユーザIDは、共有者属性情報として論理プリンタ210に保持される。
クラウドプリントサービス200内には、一般に複数の論理プリンタ210が保持されており、それら各論理プリンタ210は、それぞれ、自身に登録された1以上のユーザ(管理者または共有者)により利用される。
また、論理プリンタ210には、その論理プリンタのキューに保持された印刷ジョブを出力する、出力先の物理的なプリンタ(「物理プリンタ」と呼ぶ。例えば、図示の画像形成装置100)が1以上登録されてもよい。この場合、論理プリンタ210は、登録された物理プリンタについての管理情報を保持する。管理情報には、例えば、物理プリンタの識別情報(例えばクラウドプリントサービス200が付与した一意な物理プリンタIDや物理プリンタのIPアドレス)、物理プリンタが有する能力(機能)を示す能力情報等が含まれる。能力情報には、例えば、両面印刷が可能か否か、フルカラー印刷が可能か否か、保持している用紙サイズ、などの情報が含まれる。また、物理プリンタが、後処理装置を備えている場合、その後処理装置が有する能力(例えばステープル留め、パンチ穴開け、折り機能等)についての情報も含まれる。
ユーザは、クラウドプリントサービス200に自分のアカウントを登録(作成)する。アカウント作成の際に、ユーザは、クラウドプリントサービス200において一意なユーザIDを登録する。Google Cloud Printの場合、Google社の提供するサービス一般のアカウントであるGoogleアカウントが、Google Cloud Printのための当該ユーザのアカウント(ユーザID)として用いられる。
クラウドプリントサービス200は、ユーザからの指示に応じて論理プリンタ210を作成する。クラウドプリントサービス200は、個々の論理プリンタ210ごとに、当該論理プリンタ210を利用可能なユーザとして登録された各ユーザのユーザIDを記憶する。また、既存の論理プリンタ210に対して、ユーザ登録の権利を持つユーザからの指示に応じて、既存の論理プリンタ210に対して、その論理プリンタ210を使用可能とするユーザを登録(共有設定)できるようにしてもよい。
ユーザは、インターネット400に接続されたPCや携帯端末、或いは画像形成装置100等から、HTTP(Hypertext Transfer Protocol)等の通信プロトコルを用いて、インターネット400経由でクラウドプリントサービス200に対して自分のユーザIDでログインし、そのユーザIDに対応づけられた論理プリンタ210(複数存在する場合もある)の中から選んだ論理プリンタ210に対して印刷指示を行う。印刷指示には、印刷対象の文書データ、又はその文書データを特定する情報(例えばインターネット400上での当該文書データの格納場所の情報(例えばURL:Uniform Resource Locator))等のように、印刷対象を指定する情報が含まれる。ここで、例えば、文書データは、後述するクラウドレポジトリサービス300に存在する場合もある。論理プリンタ210は、その印刷指示に応じて印刷ジョブを生成し、管理する。印刷ジョブは、論理プリンタ210内で印刷指示を管理するための単位であり、一意なジョブIDを付与される。論理プリンタ210は、ジョブIDに対応づけて、印刷対象の文書データの情報、その文書データを変換して得たページ記述言語形式等の印刷データ、印刷指示を行ったユーザのユーザID、印刷ジョブの実行状態(例えば、未実行、実行中、実行完了、エラー、等の状態)等の情報を管理する。
論理プリンタ210は、保持する印刷データをユーザの指示する出力先の物理プリンタに提供し、物理プリンタから印刷出力されるようにする。印刷データの提供は、論理プリンタ210から物理プリンタへ直接印刷データ自体をプッシュ方式で送信する形態であってもよいし、物理プリンタに対して印刷データを特定する情報を含むメッセージを送り、メッセージを受け取った物理プリンタからのHTTPなどのプロトコルに基づく取得要求に応じてその印刷ジョブをそのプリンタに提供する形態(プル方式)であってもよい。例えば、ファイアウォールによりインターネット400と隔てられた内部ネットワーク内の画像形成装置100にて、論理プリンタ210の印刷ジョブを印刷する場合には、プル方式での印刷が行われる。
物理プリンタをクラウドプリントサービス200での印刷に使用したい場合、ユーザはクラウドプリントサービス200に対してその物理プリンタの登録操作を行う。この登録操作により、クラウドプリントサービス200がその物理プリンタを識別し、認証することが可能になる。例えば、その物理プリンタの識別情報が物理プリンタとクラウドプリントサービス200との共通の知識となり、物理プリンタが自分の識別情報(及び必要ならばその正当性を証明するための認証情報)をクラウドプリントサービス200に提示することで、物理プリンタがクラウドプリントサービス200にアクセス可能となる。
Google Cloud Printの場合、Googleアカウントを有するユーザが、Googleアカウントにログインした状態で物理プリンタ登録用のウェブページにて登録操作を行うと、Google Cloud Printが、登録対象の物理プリンタを一意に識別する物理プリンタID(“printer_id”)を発行する。この物理プリンタIDは、登録対象の物理プリンタ内、またはその物理プリンタのプロキシとして動作するPC(パーソナルコンピュータ)等のコンピュータ内、に保存される。Google Cloud Printは、登録された物理プリンタに付与した物理プリンタIDを、そのユーザのアカウントに関連づけて記憶する。これにより、登録操作を行ったユーザが、その物理プリンタの管理者として認識されることになる。Google Cloud Printのそのユーザに対応する論理プリンタ210に対してその物理プリンタIDを、使用可能なプリンタの1つとして設定する。物理プリンタまたはこれに接続されたプロキシは、保持している物理プリンタIDをクラウドプリントサービス200に提示することで、自分が登録済みの物理プリンタであることを証明し、その物理プリンタに対応する論理プリンタ210に保持された印刷ジョブを取得する。
物理プリンタの管理者は、管理者自身の論理プリンタ210に対して共有設定を行うことで、クラウドプリントサービス200に登録された他のユーザに対して、その論理プリンタ210及びこの論理プリンタ210に対して出力先として登録された物理プリンタ、の利用を許可することができる。
クラウドレポジトリサービス300は、インターネット400上で、ユーザに対してレポジトリサービスを提供するシステムである。レポジトリサービスは、データやプログラム等を保管するサービスであり、オンラインストレージサービスとも呼ばれる。クラウドレポジトリサービス300は、一般的には複数のコンピュータからなるシステムであるが、単一のコンピュータにより構成されていてもよい。クラウドレポジトリサービス300の例としては、例えばGoogle Docs(商標)、Dropbox(商標)、Evernote(商標)等がある。
クラウドレポジトリサービス300は、例えばユーザ毎に、当該ユーザからアップロードされた文書データやプログラム等の各種ファイルを保存し、保存したファイルを当該ユーザに対して提供する。ユーザは、クラウドレポジトリサービス300に対してユーザ登録を行うことで当該サービス300において一意なユーザIDを取得し、このユーザIDを用いて当該サービス300にログインし、ファイルのアップロードやダウンロードを行う。ただし、Google Cloud PrintとGoogle Docsのようにユーザ認証に関して互いに連携しているサービス同士の間では、第1のサービスのアカウントにログインすれば(あるいはGoogleアカウントのようなそれら全サービスを包括するアカウントにログインすれば)、連携した第2のサービスをその第1のサービスから利用することも可能である。以下では、説明を簡潔にするために、クラウドレポジトリサービス300とクラウドプリントサービス200とは、ユーザ認証の点で連携しているものとする。
携帯端末500は、ユーザが携帯する情報処理装置である。例えばスマートフォンやタブレット端末、携帯電話機などがその一例である。携帯端末500は、クラウドプリントサービス200等のインターネット400上のサービスにアクセス可能である。携帯端末500には、クラウドプリントサービス200に対して印刷を指示する際のUI(ユーザインタフェース)となるアプリケーション(以下「クラウド印刷アプリ」と呼ぶ)がインストールされている。
この例では、携帯端末500を携帯するユーザは、クラウドプリントサービス200のアカウントを有しているものとする。また、画像形成装置100は、管理者によりクラウドプリントサービス200に登録済みであり、物理プリンタIDの付与を受けているものとする。ただし、この例では、携帯端末500を携帯するユーザは、クラウドプリントサービス200に登録された画像形成装置100の管理者とは異なるものとする。この場合、そのユーザは、携帯端末500からクラウドプリントサービス200を利用することはできるが、出力先としてその画像形成装置100を指定することは(前述した共有設定がなされない限り)、従来はできない。
このような状況において、携帯端末500を携帯するユーザが画像形成装置100を出力先として、クラウドプリントサービス200経由の印刷を行うための仕組みを以下に説明する。
この仕組みでは、携帯端末500のユーザが、訪問先等にある画像形成装置100を臨時にまたは一時的に利用できるようにする設定をクラウドプリントサービス200に対して行う。この設定のことを、プリンタ臨時設定と呼ぶ。プリンタ臨時設定では、そのユーザのユーザIDとその画像形成装置100の物理プリンタIDとの対応関係を含み、そのユーザがその画像形成装置100を利用可能であることを示す設定情報をクラウドプリントサービス200に登録する。
例えば、この設定情報は、ユーザID又は物理プリンタIDを検索キーとして検索可能なデータベースに登録してもよい。この場合、クラウドプリントサービス200は、ユーザから出力先の物理プリンタの指定を受けた場合に、そのユーザと物理プリンタとの対応関係がそのデータベースに登録されているかどうかを調べ、登録されていれば、そのユーザがその物理プリンタから印刷出力可能と判定する。
別の例では、その設定情報を論理プリンタ210に持たせる。すなわち、携帯端末500のユーザが管理者又は共有者として設定され、画像形成装置100が出力先候補として設定された論理プリンタ210を、クラウドプリントサービス200内に用意するのである。管理者又は共有者として設定されたそのユーザのユーザIDと、出力先候補として設定されたその画像形成装置100の物理プリンタIDと、の対応関係が、上述の設定情報に該当する。以下では、この方式、すなわち携帯端末500のユーザが画像形成装置100を利用できるようにするための設定情報を論理プリンタ210に持たせる方式を代表例にとって説明する。
この方式でのプリンタ臨時設定の具体的な態様にはいくつかのバリエーションがある。1つの例では、プリンタ臨時設定として、その物理プリンタIDを出力先候補に設定した新規の論理プリンタ210を作成する。この場合、新規作成された論理プリンタには、プリンタ臨時設定を行うユーザ(すなわち携帯端末500のユーザ)のユーザIDが管理者属性として設定される。また、別の例として、そのユーザIDが管理者として設定されている既存の論理プリンタ210に対して、出力先の候補としてその物理プリンタIDを登録してもよい。これらの設定は、当該ユーザ自身が管理者である論理プリンタを作成したり、変更したりするものであり、そのユーザの通常の権限内の行為である。
また、更に別の例として、画像形成装置100の管理者が事前に認めているならば、プリンタ臨時設定において、その管理者が管理権限を持つ論理プリンタ210(出力先として画像形成装置100の物理プリンタIDが登録されているもの)に対して、その論理プリンタを利用可能なユーザ(共有者)としてそのユーザのユーザIDを設定してもよい。画像形成装置100の管理者が、クラウドプリントサービス200内のその画像形成装置100を出力先とする当該管理者の論理プリンタ210に対し、例えば、共有設定を任意のユーザに認める設定を行っておけば、この態様でのプリンタ臨時設定が可能となる。なお、画像形成装置100の管理者の論理プリンタ210に対する共有設定を「任意の」ユーザに無条件で認めるのではなく、後述する設定要求(すなわち、要求者のユーザIDと、その論理プリンタ210の出力先に設定されている画像形成装置100の物理プリンタIDと、を含む設定要求)を通してのみ、その共有設定を認めるようにしてもよい。
このようなプリンタ臨時設定を実現するために、画像形成装置100は、自分を利用しようとするユーザの携帯端末500に対して、自分の物理プリンタIDを知らせるための手段を有している。1つの例(図1参照)では、画像形成装置100の筐体の表面上に、クラウドプリントサービス200から付与されたその画像形成装置100の物理プリンタIDを表す画像コード120の印刷物が貼付されている。例えば、画像形成装置100は、保持ししている自分の物理プリンタIDの画像コードを印刷する機能を有しており、その機能の実行が指示された場合、その物理プリンタIDの画像コードを用紙に印刷出力する。管理者は、印刷された画像コード120を画像形成装置100の表面に貼付する。物理プリンタIDを表す画像コードの形式は特に限られるものではなく、バーコードやQRコード(登録商標)などを用いればよい。携帯端末500は、内蔵されたカメラでその画像コード120を撮影し、その撮影画像を解析することにより、その画像コード120が表す物理プリンタIDの値を求める。なお、携帯端末500側で文字認識が可能であれば、画像コード120の代わりに、物理プリンタIDを文字列で表記したものを貼付してもよい。また、物理プリンタIDを表す画像コード等の情報を画像形成装置100が備えるユーザインタフェース用の表示画面に表示し、表示された情報を携帯端末500のカメラで撮像してもよい。
また別の例では、画像形成装置100は、NFC(Near Field Communication)やBluetooth(登録商標)やWiFi等の近距離無線通信方式を用いて、自分が保持している物理プリンタIDを携帯端末500に通知する。また、赤外線通信等、無線以外の近接通信手段を用いて、その近接通信手段にて通信可能な近接位置にある携帯端末500と通信し、物理プリンタIDを通知する方式も考えられる。また、画像形成装置100が物理プリンタIDを知らせる手段を複数有し、携帯端末500がそのうちの自分の対応している手段により物理プリンタIDを取得するようにしてもよい。
なお、画像形成装置100に貼付された(あるいは画面表示された)画像コード120を携帯端末500のカメラで読み取る方式も、携帯端末500を画像形成装置100に近接させなければ不可能な方式である。したがって、この方式も、近接通信による物理プリンタIDの伝達の一種ととらえることができる。この方式も、NFCや赤外線通信などを用いる方式も、携帯端末500を持ったユーザが画像形成装置100のところまで出向き、携帯端末500を画像形成装置100に近接させることで、携帯端末500と画像形成装置100とを結びつけるという点では共通する。
一方、携帯端末500は、画像形成装置100から物理プリンタIDを取得し、取得した物理プリンタIDを用いて上述のプリンタ臨時設定を行うプリンタ臨時設定機能を有している。この設定機能は、前述したクラウド印刷アプリに含まれていてもよいし、クラウド印刷アプリとは別のアプリケーションとして実装されていてもよい。また、文書閲覧用アプリケーションや文書編集用アプリケーション、ウェブブラウザ、電子メールクライアント等のように、印刷対象となり得る文書を表示する機能を持ったアプリケーションに、そのプリンタ臨時設定機能を持たせてもよい。また、それら文書表示機能を持つアプリケーションから、そのプリンタ臨時設定機能を呼び出せるようにしてもよい。
このプリンタ臨時設定機能は、画像形成装置100から取得した物理プリンタIDと、そのユーザのクラウドプリントサービス200におけるユーザID(アカウント)と、を含んだ設定要求データを生成し、その設定要求データをクラウドプリントサービス200に送信する。これに応じ、クラウドプリントサービス200が、その物理プリンタID(画像形成装置100)を、携帯端末500を携帯しているユーザのアカウントに対応づけて、そのユーザが利用可能な物理プリンタとして設定する。
携帯端末500からクラウドプリントサービス200経由で画像形成装置100に印刷出力する処理の流れを、図2に示す。
(1)携帯端末500を携帯するユーザは、訪問先にある画像形成装置100を利用したい場合、1つの例では、携帯端末500にて上述したプリンタ臨時設定機能(またはその機能を持つアプリケーション)を起動し、この臨時設定機能により、画像形成装置100から物理プリンタID(“printer_id”)を取得する。物理プリンタIDの通知にNFCを用いる場合、その臨時設定機能を起動した状態の携帯端末500を、画像形成装置100に設けられたNFC通信用のリーダ・ライタ部に近接(タッチ)させることで、その臨時設定機能がNFC経由で画像形成装置100と通信し、画像形成装置100から物理プリンタIDを取得する。また、携帯端末500を画像形成装置100のリーダ・ライタ部に近接させると、臨時設定機能が起動されるようにしてもよい。例えば、携帯端末500を画像形成装置100のリーダ・ライタ部に近接させると、画像形成装置100から「自分(画像形成装置100)がプリンタであること」(あるいは本実施形態の仕組みにより一時利用が可能なプリンタであること)を示す通知が、NFC通信により携帯端末500に送信される。携帯端末500のOS(オペレーティングシステム)は、その通知を受け取ると、プリンタ臨時設定機能を起動する。そして、その臨時設定機能により、画像形成装置100から物理プリンタIDを取得する。物理プリンタIDは、「自分がプリンタであること」を示す通知と共に画像形成装置100から送信されてもよいし、その通知の後、例えば臨時設定機能からの要求に応じて、画像形成装置100から送信されてもよい。
また、その臨時設定機能を起動した状態で内蔵カメラにより画像形成装置100に貼付された画像コード120を撮影すると、その臨時設定機能がその撮影結果の画像から物理プリンタIDを求める。例えば、臨時設定機能を起動すると、画像コード撮影画面が携帯端末500の画面に表示され、その状態で画像コード120を携帯端末500の内蔵カメラで撮像すると、撮影された画像コード120を臨時設定機能が解析し、その画像コード120が表す物理プリンタIDを求める。
(2)そのプリンタ臨時設定機能は、取得した物理プリンタIDと、携帯端末500を携帯しているユーザのクラウドプリントサービス200におけるユーザIDと、を含む設定要求を生成し、その設定要求をインターネット400経由でクラウドプリントサービス200に送信する。ここで、ユーザIDは、そのユーザにその時点で入力させてもよいし、携帯端末500のOSまたはそのアプリケーションに対してそのユーザがあらかじめ登録しておいてもよい。設定要求のデータ形式は、あらかじめクラウドプリントサービス200が定めており、アプリケーションはそのデータ形式に従って設定要求を生成する。
携帯端末500からその設定要求を受け取ったクラウドプリントサービス200は、その設定要求に応じて、上述のプリンタ臨時設定を行う。すなわち、設定要求に含まれるその物理プリンタID(画像形成装置100)を出力先の候補としてその設定要求に含まれるユーザIDに対応づける設定情報、をクラウドプリントサービス200に登録する。この例では、上述の通り、その設定情報を有する論理プリンタ210が、新規作成により、又は既存の論理プリンタ210の変更により、用意される。
このような設定処理により、携帯端末500を携帯するユーザが、クラウドプリントサービス200経由で画像形成装置100から印刷出力可能となる。
この設定処理が完了すると、クラウドプリントサービス200から携帯端末500に対して、設定完了の旨を通知するようにしてもよい。この場合、この通知に応じたメッセージを携帯端末500に画面表示することで、ユーザに、その画像形成装置100が利用可能になったことを知らせることができる。
(3)この後そのユーザは、携帯端末500からクラウドプリントサービス200にアクセスし、印刷を指示する。例えば、携帯端末500にてクラウド印刷アプリを起動し、クラウドプリントサービス200にログインすると、そのユーザが使用可能な論理プリンタ210(すなわちそのユーザが管理者または共有者として登録されている論理プリンタ)のリストが提供される。そのリストには、(2)でそのユーザが使用できるよう設定した画像形成装置100に対応づけられた論理プリンタ210も存在する。ユーザは、クラウド印刷アプリの画面にてそのリストの中から今回使用する論理プリンタ210を選択する。ここでは、画像形成装置100に対応づけられた論理プリンタ210が選択されたとする。なお、そのユーザが使用可能な論理プリンタ210が1つしかない場合は、選択は不要である。
画像形成装置100に対応づけられた論理プリンタ210に対し、利用可能な物理プリンタが複数設定されている場合、それら物理プリンタのリストが論理プリンタ210からクラウド印刷アプリに提供される。ユーザは、クラウド印刷アプリに表示されたリストの中から、今回の出力先とする物理プリンタを選択する。ここでは、画像形成装置100が出力先に選択されたとする。
クラウドプリントサービス200が携帯端末500に提供する論理プリンタのリストには、各論理プリンタのオーナー(管理者)名や共有状態(共有されているか否か、あるいは各共有者名など)が表示されてもよい。
なお、(3)でのクラウド印刷アプリからクラウドプリントサービス200へのアクセスの際、(1)で取得した物理プリンタIDを通知することで、クラウドプリントサービス200がその物理プリンタIDに対応する論理プリンタ210を自動選択してもよい。
ここで、クラウドプリントサービス200は、そのユーザが利用可能な各論理プリンタが、それぞれユーザによる通常の登録設定により作成されたものか、本実施形態のプリンタ臨時設定機能により作成されたものか、の区別の情報を保持し、携帯端末500に提供する論理プリンタのリストに、その区別の情報を含めてもよい。この場合、携帯端末500にてそのリストを表示した場合、各論理プリンタがそれぞれそれら2つのうちのどちらに該当するかが表示され、ユーザは、その区別の表示により、先ほど臨時設定した画像形成装置100に対応する論理プリンタを選びやすくなる。
また、上記(2)のプリンタ臨時設定にて、携帯端末500のユーザの既存の論理プリンタに対して画像形成装置100を出力先候補として追加する方式の場合には、その論理プリンタに、プリンタ臨時設定機能により設定されたものであることを示す区別の情報を設定してもよい。この場合も、携帯端末500に当該ユーザの使用可能な論理プリンタのリストを表示する際、そのユーザが臨時設定機能により登録した画像形成装置100を、通常の登録設定機能により作成された画像形成装置と区別した形態で表示できる。また、この場合、クラウドプリントサービス200は、臨時設定機能によりその論理プリンタに追加登録した出力先候補に対し、臨時設定機能により設定されたものであることを示す属性情報を持たせてもよい。これにより、その論理プリンタに登録された出力先の物理プリンタのリストの画面を携帯端末500に提供する際、臨時設定機能により設定された物理プリンタ(画像形成装置100)を、通常の登録処理により登録された物理プリンタとは異なる表示形態で表示することができる。ユーザは、この表示により、今回臨時に使用しようとしている画像形成装置100を識別し、その画像形成装置100を出力先として選択する。
また、上記(2)のプリンタ臨時設定にて、画像形成装置100の管理者の論理プリンタに対して携帯端末500のユーザのユーザIDを共有者として登録する方式の場合、共有者として登録したそのユーザのユーザIDに対して、そのユーザIDがプリンタ臨時設定機能により登録されたものであることを示す属性情報を持たせてもよい。クラウドプリントサービス200は、携帯端末500にそのユーザの使用可能な論理プリンタのリストを提供する際、共有者としてそのユーザを含み、かつ、そのユーザのIDに、プリンタ臨時設定機能により登録されたものであることを示す属性情報が付されている論理プリンタがあれば、その論理プリンタを、臨時設定機能に設定されたものとして、通常の登録設定機能により作成された画像形成装置と区別した形態で表示できる。
またユーザは、携帯端末500内またはクラウドレポジトリサービス300内などにある文書を印刷対象として指定して印刷を指示する。クラウドレポジトリサービス300がクラウドプリントサービス200と認証連携をしている場合、クラウドプリントサービス200にログインすれば、クラウドレポジトリサービス300内に保存されたそのユーザの文書のリストを取得でき、そのリストの中から印刷対象の文書を指定できる。
論理プリンタ210は、ユーザが指定した印刷対象の文書を携帯端末500やクラウドレポジトリサービス300等から取得し、その文書のデータを印刷データ形式に変換する。ここで、印刷対象の文書を論理プリンタ210が能動的に取得する代わりに、その文書を携帯端末500がクラウドレポジトリサービス300等から取得し、論理プリンタ210に送信してもよい。また、携帯端末500が、クラウドレポジトリサービス300に対して、当該サービス300内の印刷対象の文書をクラウドプリントサービス200に提供するよう指示し、その指示に応じてクラウドレポジトリサービス300がその文書をクラウドプリントサービス200に送信してもよい。携帯端末500内にある文書が印刷対象として指定された場合は、携帯端末500がその文書をクラウドプリントサービス200に送信すればよい。
なお、使用する論理プリンタ(及び必要であれば更に出力先の物理プリンタ)の指定と、印刷対象の文書の指定とは、どちらが先に行われてもよい。
(4)指定された文書の印刷データが用意できると、論理プリンタ210は、出力先に指定された画像形成装置100に対して、その印刷データを特定する情報(例えばその印刷データのURL:Uniform Resource Locator)を含んだメッセージを送る。Google Cloud Printの場合、このメッセージは、Google Talkサービス経由でXMPP(Extensible Messaging and Presence Protocol)を用いて送られる。
(5)そのメッセージを受け取った画像形成装置100は、HTTPのGETリクエストを用いて、クラウドプリントサービス200に対して印刷データを要求する。そのリクエストには、受け取ったメッセージに含まれる、その印刷データを特定する情報が含まれる。そのリクエストに、画像形成装置100の物理プリンタIDを含めてもよい。
(6)そのリクエストに応じ、クラウドプリントサービス200から画像形成装置100に対し、ユーザが(3)で指定した文書の印刷データが送信される。画像形成装置100は、その印刷データを受信し、用紙に印刷する。
なお、(6)の印刷実行が完了した後、画像形成装置100からクラウドプリントサービス200に印刷完了を通知し、その通知に応じてクラウドプリントサービス200から携帯端末500に対して印刷完了を通知してもよい。また、この印刷完了の通知と共に、クラウドプリントサービス200から携帯端末500に対して、引き続き別の文書を印刷するかどうかを問い合わせてもよい。そして、この問合せに対してユーザが印刷しない旨の回答を行った場合、クラウドプリントサービス200は、そのユーザがその画像形成装置100を利用可能とする設定情報を削除するようにしてもよい。
次に、以上に説明した処理を実行する画像形成装置100の機能構成の例を、図3を参照して説明する。なお、図3では、実施形態の処理に関係の深い部分のみを示しており、画像形成装置が通常有する構成要素であっても実施形態の処理と関連の薄いものについては表示は省略している。
画像形成装置100において、ジョブ受信部102は、クラウドプリントサービス200と通信し、XMPP等のメッセージを受け取ったり、そのメッセージに応じてHTTPを用いて印刷データを受け取ったりする。画像形成部106は、紙等の媒体に対して画像を印刷する装置である。制御部104は、画像形成装置100全体を制御するシステムである。例えば制御部104は、図示省略した画像処理部に指示して、ジョブ受信部102がクラウドプリントサービス200から受け取った印刷データを、画像形成部106が取り扱い可能なラスター形式等の画像データに変換させ、変換結果の画像データを画像形成部106に供給し、媒体に印刷させる。また、制御部104は、クラウドプリントサービス200に対する当該画像形成装置100の登録操作が行われた際に、クラウドプリントサービス200から送られてきた物理プリンタIDを物理プリンタID保持部110に記憶させる。UI(ユーザインタフェース)部108は、画像形成装置100に対するユーザからの操作を受け付けるための画面を表示したり、その画面に応じたユーザからの操作入力を受け取ったりする。例えば、UI部108から物理プリンタIDの印刷指示が入力された場合、制御部104は、物理プリンタID保持部110から物理プリンタIDを読み出し、その物理プリンタIDを表す画像コードを生成し、その画像コードを画像形成部106に印刷出力させる。印刷された物理プリンタIDの画像コードは、画像形成装置100の表面に貼付される。近接無線通信部112は、NFC規格の通信を行う装置である。ユーザがNFC対応の携帯端末500を画像形成装置100のリーダ・ライタ部に近接させると、近接無線通信部112が、NFC準拠のデバイス(携帯端末500)を認識する。この認識に応じ、制御部104は、「自装置がプリンタであること」ことを示す情報や、物理プリンタID保持部110から読み出した物理プリンタID等の情報を携帯端末500に対してNFC通信で提供する。なお、この例の画像形成装置100は、物理プリンタIDを携帯端末500に提供する手段として、近接無線通信を利用する手段と、物理プリンタIDを印刷出力する手段とを有していたが、これはあくまで一例に過ぎない。いずれか一方だけであってもよいし、別の提供手段を有していてもよい。
次に、図4を参照して、上述の処理を実行する携帯端末500の機能構成の例を説明する。なお、図4では、実施形態の処理に関係の深い部分のみを示しており、携帯端末が通常有する構成要素であっても実施形態の処理と関連の薄いものについては表示は省略している。
携帯端末500には、クラウド印刷アプリ510がインストールされている。クラウド印刷アプリ510は、携帯端末500からクラウドプリントサービス200を用いた印刷を行うために用いるアプリケーションである。クラウド印刷アプリ510のうちのUI処理部512は、クラウド利用の印刷のためのユーザインタフェースを提供する。ユーザ情報保持部514は、当該携帯端末500を携帯するユーザのクラウドプリントサービス200におけるアカウント(ユーザID等)を保持する。このアカウントの情報は、ユーザが事前に設定しておく。なお、クラウド印刷アプリ510の代わりに携帯端末500のOSがこのアカウントの情報を管理していてもよい。
物理プリンタID取得部516及び設定要求送信部518は、前述したプリンタ臨時設定機能を担う部分である。物理プリンタID取得部516は、カメラ502で撮影された画像コード120の画像を解析して、その画像コード120が装着された画像形成装置100の物理プリンタIDを取得する。また物理プリンタID取得部516は、近接無線通信部504がNFC通信により画像形成装置100から得たデータから、その画像形成装置100の物理プリンタIDを取得する。設定要求送信部518は、物理プリンタID取得部516が画像形成装置100の物理プリンタIDを取得すると、その物理プリンタIDと、ユーザ情報保持部514に保持されたユーザのアカウントとを含んだ設定要求をクラウドプリントサービス200に送信する。この例では、画像形成装置100の物理プリンタIDを検出する手段として、近接無線通信を利用する手段と、物理プリンタIDの画像を解析する手段との両方を有していたが、これはあくまで一例に過ぎない。いずれか一方だけであってもよいし、別の手段を有していてもよい。
この携帯端末500において、クラウド印刷アプリ510は、起動されると、携帯電話回線や無線ネットワーク等を介してインターネット400上のクラウドプリントサービス200にアクセスし、ユーザ情報保持部514に保持されたアカウントを用いてクラウドプリントサービス200にログインする。UI処理部512は、ログインに応じてクラウドプリントサービス200から提供される当該ユーザの論理プリンタのリスト等の画面を表示し、ユーザに使用する論理プリンタをそのリストの中から選択させる。UI処理部512は、この論理プリンタの選択画面の他に、出力先の物理プリンタの選択画面、印刷設定画面、印刷対象の文書の選択画面等のUI画面を、クラウドプリントサービス200やクラウドレポジトリサービス300、あるいは携帯端末500内のファイルシステム等から提供される情報に従って生成する。また、UI処理部512は、操作メニューから「プリンタ臨時設定」機能が選択されると、カメラ502又は近接無線通信部504又はその両方を有効にし、物理プリンタIDを取得可能な状態とする。この状態で、ユーザがカメラ502で画像形成装置100の画像コード120を撮影するか、携帯端末500を画像形成装置100のリーダ・ライタ部に近接させると、物理プリンタID取得部516は撮影画像又は近接無線通信の信号から物理プリンタIDを取得する。このようにユーザが「プリンタ臨時設定」機能を明示的に指定する代わりに、NFC等の近接通信によりこの臨時設定機能に対応する画像形成装置100を検出した場合に、携帯端末500がその臨時設定機能を起動し、この機能により画像形成装置100から物理プリンタIDを取得してもよい。
このようにして物理プリンタIDが取得されると、設定要求送信部518が、その物理プリンタIDと、ユーザ情報保持部514に保持されたユーザのアカウントとを含んだ設定要求をクラウドプリントサービス200に送信する。これにより、そのアカウントのユーザに、その物理プリンタIDに対応する画像形成装置100を利用可能とする設定情報(例えばそのような設定を有する新たな論理プリンタ、または画像形成装置100の管理者の既存の論理プリンタに共有者として追加されたそのユーザのIDなど)がクラウドプリントサービス200に登録される。
次に、第1の変形例を説明する。この変形例では、クラウドプリントサービス200は、携帯端末500からの設定要求(図2の(2))に応じて設定した設定情報(携帯端末500のユーザが画像形成装置100を利用できるようにする設定情報)に対して有効期限を設定する。有効期限が過ぎるまでは、クラウドプリントサービス200はその設定情報に従い、そのユーザからの、画像形成装置100を出力先とする印刷指示を受け付ける。有効期限を過ぎると、その設定情報を無効とし、そのユーザから画像形成装置100を出力先とする印刷指示が来ても、その指示を受け付けない。
図5に、この変形例におけるクラウドプリントサービス200の、画像形成装置100を携帯端末500のユーザに使用可能とする処理手順の一例を示す。なお、画像形成装置100及び携帯端末500の処理は、図1〜図4を参照して説明した上記実施形態の処理と同様でよい。
図5の手順において、クラウドプリントサービス200は、携帯端末500から、画像形成装置100の物理プリンタID(“printer_id”)と、携帯端末500のユーザのユーザIDとを含んだ設定要求を待ち受ける(S10)。設定要求が到来すると、その設定要求中のユーザIDに対応する論理プリンタを新規に生成し、その論理プリンタに対して、出力先の物理プリンタを表す設定情報として、その設定要求中の物理プリンタIDを設定する(S12)。更に、クラウドプリントサービス200は、S12で生成した論理プリンタに対して、有効期限を設定する(S14)。例えば、設定要求を受け取った時刻に対して、あらかじめ定められた有効期間の長さを足したものを、有効期限として設定すればよい。また、携帯端末500がユーザから有効期限又は有効期間の入力を受け付け、入力された有効期限等を設定要求と共にクラウドプリントサービス200に送り、クラウドプリントサービス200が有効期限等に従って、論理プリンタに対して有効期限を設定してもよい。
有効期限の管理の仕方に特に限定はない。例えば、有効期限の値は、属性情報の1つとしてその論理プリンタに持たせてもよいし、その論理プリンタの外に設けた有効期限管理テーブルに、当該論理プリンタの識別情報と対応づけて登録するようにしてもよい。
その後、クラウドプリントサービス200は、有効期限を設定した論理プリンタ毎に、その論理プリンタについての有効期限が到来したかどうかを(例えば定期的に)確認する(S16)。そして、論理プリンタの有効期限が到来すると、クラウドプリントサービス200は、その論理プリンタを削除する(S18)。
S12で生成された論理プリンタは、S18で削除されるまでの間、S10で取得した設定要求中のユーザIDを持つユーザにより使用可能である。ユーザは、その間に、その論理プリンタを用いることで、その論理プリンタ経由で画像形成装置100から印刷出力を行うことができる。有効期限が過ぎると、その論理プリンタがなくなるので、そのユーザがその画像形成装置100を利用可能であると規定した設定情報がクラウドプリントサービス200からなくなり、ユーザは画像形成装置100から印刷出力できなくなる。このような機構により、画像形成装置100が携帯端末500のユーザに「一時的に」利用可能となる。画像形成装置100の管理者は、そのユーザに画像形成装置100を利用可能とする設定を明示的に解除しなくてもよい。
なお、クラウドプリントサービス200がユーザの操作する装置(例えば携帯端末500)に提供する、当該ユーザが利用可能な論理プリンタのリストに、それら各論理プリンタの有効期限の情報(有効期限の日時、あるいは有効期限までの残り時間など)を含めてもよい。ユーザは、このリストの表示を閲覧した際、有効期限の有無により、臨時設定機能により利用可能となった物理プリンタに対応する論理プリンタであるかどうかを識別することができる。
図5の手順は、画像形成装置100を出力先に設定した、携帯端末500のユーザの論理プリンタを新規に作成するものであったため、有効期限が到来するとその論理プリンタを削除すればよかった。これに対し、クラウドプリントサービス200内に既に存在する画像形成装置100の管理者の論理プリンタに対してそのユーザを共有設定したり、そのユーザの既存の論理プリンタに対して出力先としてその画像形成装置100を追加設定する方式の場合、有効期限が到来しても、その論理プリンタは削除できない。この場合、有効期限が到来すると、携帯端末500のユーザに画像形成装置100を利用可能とする設定をその論理プリンタから削除すればよい。例えば、クラウドプリントサービス200は、管理者の論理プリンタに対して共有者として携帯端末500のユーザIDを設定した場合、その設定に対して有効期限を設定しておき、有効期限が到来するとその設定を削除する。同様に、携帯端末500のユーザの既存の論理プリンタに対して、画像形成装置100の物理プリンタIDを出力先として追加設定した場合、その論理プリンタ内の出力先の追加設定に対して有効期限を設定し、有効期限が到来するとその追加設定を削除する。
また、有効期限の到来に応じて論理プリンタや設定情報を削除する代わりに、そのような削除を行わず、その携帯端末500のユーザからその論理プリンタへのアクセスがあった場合に、有効期限が過ぎていれば、そのユーザにその論理プリンタの利用を許可しないよう制御してもよい。
以上に説明した第1の変形例では、携帯端末500のユーザが画像形成装置100を利用できるようにする設定情報を、その設定情報に対応する有効期限が到来すると無効化したが、設定情報を無効化するトリガは、有効期限の到来に限らない。この代わりに、クラウドプリントサービス200が、その設定情報を設定した後、そのユーザからの印刷指示に応じて画像形成装置100に印刷を行わせ、その印刷が完了したときに、その設定情報を無効化するようにしてもよい。また、ユーザからの明示的な指示に応じてその設定情報を無効化できるようにしてもよい。なお、設定情報の無効化は、設定情報を削除することにより実現してもよいし、設定情報に対して無効を示す情報を付加し、クラウドプリントサービス200がその無効情報の付加された設定情報を用いないようにすることで実現してもよい。
次に、第2の変形例を説明する。この変形例では、クラウドプリントサービス200は、携帯端末500からの設定要求(図2の(2))に応じて、携帯端末500のユーザが画像形成装置100を利用できるようにする設定情報を設定すると、画像形成装置100をそのユーザ専用の装置として「ロック」する。すなわち、その設定情報の設定の後は、その後、あらかじめ定められた条件が満たされるまでは、そのユーザ以外の他のユーザがクラウドプリントサービス200経由でその画像形成装置100から印刷出力できないようにする。ロック期間の終期を規定する「あらかじめ定められた条件」は、第1の変形例で設定された「有効期限」であってもよい。また、別の例として、その設定情報を設定した後、そのユーザからの印刷指示に応じて画像形成装置100に応じて行わせた印刷が完了したことを、その「条件」としてもよい。また、ユーザからの明示的なロック解除指示の入力を、その「条件」としてもよい。
図6に、この第2の変形例におけるクラウドプリントサービス200の、ロック設定/解除に関する処理手順の一例を示す。この例は、「有効期限」が経過するとロックを解除する場合の例である。図6の手順のうち、図5の手順と同様の処理ステップには同一符号を付して説明を省略する。
図6の手順では、S10で到来した設定要求に対応する論理プリンタをS12で用意した後、その論理プリンタに有効期限を設定(S12)すると共に、その設定要求に含まれる物理プリンタID(printer_id)をその設定要求に含まれるユーザID専用のものとしてロック設定する(S15)。ロック設定は、例えば、クラウドプリントサービス200が保持するロック管理テーブルに対してその物理プリンタID、そのユーザID、及びS12で設定した有効期限を含んだエントリを登録することにより行う。そして、有効期限が到来すると、ロック設定を解除し(S17)、その論理プリンタを削除する(S18)。ロック設定の解除は、例えばロック管理テーブルから有効期限が過ぎたエントリを削除することにより行えばよい。
図7は、この第2の変形例におけるクラウドプリントサービス200の、ユーザからの印刷指示の受付処理の手順の一例を示す。
図7の手順では、クラウドプリントサービス200は、いずれかのユーザからの印刷指示の到来を待ち(S20)、印刷指示が到来すると、その印刷指示に指定された出力先の物理プリンタIDがロック設定されているかどうかを例えばロック管理テーブル(図示省略)を参照して判定する(S22)。出力先の物理プリンタIDがロックされていなければ、その印刷指示に応じてその出力先の物理プリンタIDに対応する画像形成装置100に対して印刷データを提供し、印刷が実行されるようにする(S24)(図2の(4)〜(6)参照)。S22で出力先の物理プリンタIDがロックされていると判定した場合、その印刷指示を行ったユーザが、その出力先の物理プリンタIDの画像形成装置100から出力可能なユーザであるかどうかを判定する(S26)。この判定では、その印刷指示を発行したユーザのユーザIDが、その出力先の物理プリンタIDに対応するロック設定に含まれるユーザIDと等しい場合、そのユーザは出力可能であると判定する(判定結果がYes)。この場合、クラウドプリントサービス200はS24にて印刷指示を実行する。S26の判定結果がNoの場合、クラウドプリントサービス200は、その印刷指示を保留状態として保存する(S28)。クラウドプリントサービス200は、保留した各印刷指示について、その印刷指示内に含まれる出力先の物理プリンタIDについてのロック設定が解除されたかどうかを例えば定期的に確認し、解除されたことを検知すると、その印刷指示を実行する。なお、S22とS26の判定はどちらを先に行ってもよい。
図7の例では、ロック中の画像形成装置100を出力先とする他のユーザからの印刷指示を保留状態としたが、これは一例に過ぎない。保留状態とする代わりに、他のユーザからのロック中の画像形成装置100を出力先とする印刷指示を受け付けないようにしてもよい。
なお、画像形成装置100をロックしたユーザの印刷ジョブが終わり、ユーザが画像形成装置100から立ち去った後もロックが解除されない場合、有効期限等の到来によりそのロックが解除されるまでは、他のユーザはその画像形成装置100を用いることができない。これは非効率である。そこで、クラウドプリントサービス200は、画像形成装置100をロックしたユーザの印刷データを画像形成装置100に送り、画像形成装置100からその印刷データの出力完了の通知が来た後に、新たにプリンタ臨時設定の設定要求を受け付けた場合、そのロックを自動的に解除し、その設定要求を受け付けるようにしてよい。これにより、ロックしたユーザが自分の印刷出力物を持って画像形成装置100から立ち去った後、ロックが解除されなくても、他のユーザはその画像形成装置100を利用可能となる。この場合、画像形成装置100がロックされた後、そのロックを行ったユーザの印刷出力が完了するまでの間は、新たな設定要求を受け付けないようにする。
次に、第3の変形例を説明する。この変形例では、クラウドプリントサービス200経由で画像形成装置100を一時利用できる者を、NFC等の近接型の非接触通信により画像形成装置100から物理プリンタIDを取得した携帯端末500のユーザに限定する仕組みを提供する。
この第3の変形例における処理の流れの一例を、図8に示す。図8において、図2に示した処理段階と同様の処理を行う段階には、同じ符号を付して、詳細な説明を省略する。
この変形例は、画像形成装置100及び携帯端末500の双方が、NFC等のように双方向で情報を通信可能な通信手段を備えている場合に実施可能である。
この処理では、ユーザが携帯端末500を画像形成装置100に近接させると、(1)画像形成装置100から携帯端末500に物理プリンタID(“printer_id”)が通知されると共に、(1−2)携帯端末500から画像形成装置100に、その携帯端末500のユーザの、クラウドプリントサービス200におけるユーザIDが通知される。画像形成装置100は、通知されたユーザIDを記憶する。記憶したユーザIDは、いわばこの後画像形成装置100がそのユーザIDにより利用されるという、予約情報となる。その後の処理段階(2)及び(3)は、図2の場合と同様である。(3)の印刷指示に応じて、処理段階(4)にて、クラウドプリントサービス200から画像形成装置100に対して、その画像形成装置100を出力先とする印刷ジョブが存在する旨を通知する際、この変形例では、その印刷指示を行ったユーザのユーザIDも併せて通知する。この通知を受け取った画像形成装置100は、(4)で受け取ったユーザIDが、(1−2)で携帯端末500から通知され、記憶していたユーザIDと一致するかどうか判定する。(5−1)一致しない場合、画像形成装置100は、クラウドプリントサービス200に対して、その印刷ジョブを受け付けられない旨を示すエラー通知を送る。エラー通知を受けたクラウドプリントサービス200は、印刷データを画像形成装置100に送ることをとりやめ、印刷を指示したユーザに対してその画像形成装置100から印刷出力できない旨を通知する。(5−2)一致する場合には、画像形成装置100は、HTTPのGETリクエストを用いて、クラウドプリントサービス200に対して印刷データを要求する。(6)そのリクエストに応じ、クラウドプリントサービス200から画像形成装置100に対し、印刷データが送信される。これに応じ、画像形成装置100は、その印刷データを用紙に印刷する。ここで、この例では、画像形成装置100は、その印刷データの印刷を指示したユーザのユーザID(クラウドプリントサービス200でのユーザID)を知っているので、今回の印刷に関するログ(処理履歴)情報の中に、印刷を指示したユーザの情報としてそのユーザIDを記録してもよい。
なお、(4)のXMPP等のメッセージ通知なしで、プッシュ方式でクラウドプリントサービス200から画像形成装置100に印刷データを送信する方式の場合、その印刷データと共にユーザIDを画像形成装置100に送ればよい。画像形成装置100は、そのユーザIDが(1−2)で携帯端末500から通知されたユーザIDと一致している場合にはその印刷データを印刷し、一致していない場合には印刷しない。
次に、図9を参照して第4の変形例を説明する。
この第4の変形例では、文書を開いて表示した状態の携帯端末500を画像形成装置100のリーダ・ライタ部に近接させることで、その文書をクラウドプリントサービス200経由でその画像形成装置100から印刷出力できるようにする。すなわち、上述の各例では、画像形成装置100を出力先として臨時設定した後、クラウドリポジトリサービス300等から印刷対象の文書を選択したが、この変形例では、携帯端末500にてユーザが閲覧又は編集している文書を自動的に印刷対象にすることで、その選択の作業を省略可能とする。
この変形例では、ユーザが、携帯端末500にて、印刷対象となり得る文書を表示する機能を持ったアプリケーション(例えば文書編集アプリケーション)にて文書を開き、画面表示されたその文書を閲覧したり編集したりしている状況を考える。図9の(A)に示すように、この状態でそのユーザが携帯端末500を画像形成装置100のリーダ・ライタ部に近接させる。すると、(B)画像形成装置100が携帯端末500を検知し、印刷を行うか否かの選択のための選択画面を、NFC経由で携帯端末500に送る。すると、携帯端末500がその選択画面を表示し、ユーザは、その選択画面に対し、印刷を行うか否かの選択結果を入力する。ユーザが入力した選択結果は、NFCにより携帯端末500から画像形成装置100に伝達される。
選択結果が「印刷しない」である場合、画像形成装置100は何もせずに、今回のNFC通信に関する処理を終了する。
選択結果が「印刷する」である場合、携帯端末500は、上述したプリンタ臨時設定機能を起動すると共に、(C)「印刷する」旨の選択結果をNFCにて画像形成装置100に通知する。
(1)この通知を受けた画像形成装置100は、自分の物理プリンタID(printer_id)をNFCにて携帯端末500に送信する。(2)携帯端末500のプリンタ臨時設定機能は、その物理プリンタIDと、当該携帯端末500のユーザのユーザIDと、を含む設定要求をクラウドプリントサービス200に送信することで、ユーザがその画像形成装置100を利用できるようにする設定を行う。クラウドプリントサービス200は、この設定が完了すると、設定完了の旨を携帯端末500に通知する。
(3−1)設定完了の通知を受けると、携帯端末500は、クラウドプリントサービス200にアクセスし、上述のアプリケーションで開かれている文書を印刷対象として指定して、印刷の実行を指示する。このとき、携帯端末500はクラウドプリントサービス200に対し、その文書を特定するURL等の識別情報を送ってもよいし、その文書のデータ自体を送ってもよい。例えば、アプリケーションで開かれている文書が、クラウドレポジトリサービス300上の文書である場合、携帯端末500はその文書のURL等の識別情報をクラウドレポジトリサービス300から取得し、その識別情報をクラウドプリントサービス200に通知する。ここで、アプリケーション上でその文書を編集中の場合、その文書をクラウドレポジトリサービス300にいったん保存してから、その文書のURLをクラウドプリントサービス200に通知するようにしてもよい。また、アプリケーションが携帯端末500のファイルシステム内にある文書を表示している場合、その文書のデータを印刷指示と対応づけてクラウドプリントサービス200に送信すればよい。
クラウドプリントサービス200は、その印刷指示に従い、その文書の印刷データを生成し、図9の(4)〜(6)の処理により、その印刷データを画像形成装置100に提供する。なお、図9の(4)〜(6)の処理は、図2の(4)〜(6)の処理と同様でよい。
図9の処理では、処理(A)の後に、(B)にて画像形成装置100から携帯端末500に対し、印刷するか否かの選択画面を提供し、ユーザの確認を求めたが、このような確認処理は省略してもよい。確認処理を省略した手順では、処理(A)にてユーザが文書を表示した携帯端末500を画像形成装置100に近接させると、これをトリガとして画像形成装置100が処理(1)を実行し、物理プリンタIDを携帯端末500に送信する。
以上に例示した画像形成装置100、クラウドプリントサービス200、携帯端末500の情報処理を行う部分は、例えば、汎用のコンピュータに当該装置の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで言うコンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)、フラッシュメモリ等の二次記憶を制御する二次記憶コントローラ、各種I/O(入出力)インタフェース、無線又は有線のネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVD、ブルーレイディスクなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、フラッシュメモリ等の二次記憶装置に保存され、コンピュータにインストールされる。二次記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。