以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
[第一の実施形態]
<全体構成>
まず、本実施形態に係る印刷システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る印刷システム1の全体構成の一例を示す図である。
図1に示す印刷システム1は、サービス提供環境E1と、ユーザ環境E2とが含まれ、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。また、図1に示す印刷システム1は、ネットワークN1を介して、外部プリントシステム40と通信可能に接続されている。
サービス提供環境E1は、ネットワークN1を介して、クラウドサービス等の外部サービスと連携した所定のサービスを提供するシステム環境である。本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、これに限られない。本実施形態は、例えば、ASP(Application Service Provider)によって提供されるサービスやWebサービス等のネットワークを介して提供される各種のサービスに関して適用されても良い。
サービス提供環境E1は、一台以上の情報処理装置で実現されるサービス提供システム10を有する。サービス提供システム10は、ネットワークN1を介して所定のサービスを提供する。
例えば、サービス提供システム10は、外部プリントシステム40により提供されるクラウドサービス(クラウドプリントサービス)と連携した印刷サービス(クラウド連携プリントサービス)を提供する。本実施形態に係るサービス提供システム10は、このようなクラウド連携プリントサービス(以降では、単に「クラウド連携プリント」とも表す。)を提供するものとして説明する。
なお、サービス提供システム10の全部又は一部は、ユーザ環境E2に設置されていても良い。すなわち、サービス提供システム10を構成する情報処理装置の全部又は一部は、ユーザ環境E2に包含されていても良い。
ユーザ環境E2は、例えば、画像形成装置20を使用するユーザである企業等のシステム環境である。ユーザ環境E2は、一台以上の画像形成装置20と、一台以上の端末装置30とが、例えばLAN(Local Area Network)等のネットワークN2を介して通信可能に接続されている。
本実施形態に係る画像形成装置20は、プリント機能(印刷機能)を有する機器である。なお、画像形成装置20は、プリント機能以外に、例えば、コピー機能やスキャン機能、ファクス(FAX)通信機能等の各種機能を有するMFP(Multifunction Peripheral)等の複合機であっても良い。なお、複数台の画像形成装置20をそれぞれ区別して表すときは、「画像形成装置20-1」、「画像形成装置20-2」等と表す。
端末装置30は、ユーザが操作するスマートフォンやタブレット端末、ノート型PC等の携帯型の装置である。ただし、端末装置30は、必ずしも携帯型である必要はなく、例えばデスクトップ型PC等であっても良い。また、これ以外にも、端末装置30は、例えば、ゲーム機器、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC等であっても良い。
端末装置30は、ユーザの印刷指示に応じて、クラウドプリントサービスによる印刷要求を外部プリントシステム40に送信する。また、端末装置30は、例えばBluetooth(登録商標)等の近距離無線通信により周囲の画像形成装置20を探索して、印刷を実行する画像形成装置をユーザが選択するための画面(画像形成装置20の選択画面)を表示する。
外部プリントシステム40は、ネットワークN1を介して、クラウドプリントサービスを提供するコンピュータシステムである。ここで、クラウドプリントサービスとは、例えば、端末装置30から送信された印刷要求に基づく印刷ジョブを、予め登録されたプリンタ等の装置に送信して印刷するサービスである。クラウドプリントサービスには、例えば、Googleクラウドプリント等が挙げられる。
なお、図1に示す印刷システム1の構成は一例であって、他の構成であっても良い。例えば、端末装置30がユーザ環境E2に含まれずに、ネットワークN1に接続されていても良い。また、ユーザ環境E2には、例えば、プロジェクタやデジタルサイネージ等の機器が含まれていても良い。
<クラウド連携プリント>
次に、本実施形態に係るサービス提供システム10により提供されるクラウド連携プリントについて、図2を参照しながら説明する。図2は、クラウド連携プリントを説明する図である。なお、図2では、ユーザがクラウドプリントサービスを利用するための登録等が完了しているものとして説明する。
まず、端末装置30は、印刷対象データの選択操作を受け付ける(ステップS1)。ユーザは、例えば、端末装置30にインストールされているアプリケーション等を用いて印刷対象データを選択することができる。なお、印刷対象データとは、印刷対象となるデータのことであり、例えば、文書データや画像データ等が挙げられる。
次に、端末装置30は、印刷対象データの選択を受け付けると、例えばBluetooth等の近距離無線通信により、周囲に設置されている画像形成装置20を識別する機器IDを受信する(ステップS2)。すなわち、端末装置30は、例えばBluetooth等の近距離無線通信で通信可能な範囲内に設置されている画像形成装置20から機器IDを受信する。
例えば、近距離無線通信により通信可能な範囲内に画像形成装置20-1と画像形成装置20-2とが設置されている場合、端末装置30は、画像形成装置20-1の機器IDと、画像形成装置20-2の機器IDとを受信する。
なお、端末装置30は、Bluetooth以外に、例えば、BLE(Bluetooth Low Energy)やZigBee等の近距離無線通信により機器IDを受信しても良い。
次に、端末装置30は、上記のステップS2で受信した機器IDが示す画像形成装置20の一覧が含まれる画面(画像形成装置20の選択画面)を表示して、ユーザによる画像形成装置20の選択操作を受け付ける(ステップS3)。
そして、端末装置30は、画像形成装置20の選択を受け付けると、印刷要求を外部プリントシステム40に送信する(ステップS4)。印刷要求には、ユーザにより選択された印刷対象データと、画像形成装置20を識別する機器IDとが含まれる。なお、印刷要求には、これら印刷対象データ及び機器ID以外にも、例えば、印刷設定情報等の各種情報が含まれる。
外部プリントシステム40は、端末装置30から印刷要求を受信すると、当該印刷要求に基づく印刷ジョブを作成して、サービス提供システム10に送信する(ステップS5)。
次に、サービス提供システム10は、外部プリントシステム40から印刷ジョブを受信すると、当該印刷ジョブを保存する(ステップS6)。このように、サービス提供システム10は、外部プリントシステム40から受信した印刷ジョブを蓄積する。
なお、サービス提供システム10に蓄積される印刷ジョブには、印刷データと、上記の機器IDとが含まれる。印刷データとは、印刷対象データを外部プリントシステム40で変換したデータであり、例えばPDF(Portable Document Format)形式のデータである。ただし、印刷データのデータ形式は、外部プリントシステム40によって異なる場合があり、PDF形式に限られない。
次に、画像形成装置20は、自身の機器IDをサービス提供システム10に送信することで、サービス提供システム10に蓄積されている印刷ジョブのうち、当該機器IDが含まれる印刷ジョブを取得する(ステップS7)。
なお、画像形成装置20は、例えば、所定の時間毎に機器IDをサービス提供システム10に送信している。すなわち、画像形成装置20は、自身の機器IDが含まれる印刷ジョブがサービス提供システム10に蓄積されているかをポーリングしている。ただし、画像形成装置20は、端末装置30からの通知(例えば、端末装置30でジョブ実行時に送信される通知)に応じて機器IDをサービス提供システム10に送信しても良い。
そして、画像形成装置20は、上記のステップS7で取得した印刷ジョブに含まれる印刷データを印刷する(ステップS8)。これにより、ユーザは、自身の周囲に設置されている画像形成装置20のうち、所望の画像形成装置20を用いて印刷を行うことができる。
以上のように、本実施形態に係る印刷システム1では、ユーザは、自身の周囲に設置されている画像形成装置20の中から所望の画像形成装置20を選択することで、選択した画像形成装置20を用いて、クラウドプリントサービスによる印刷を行うことができる。このため、ユーザは、画像形成装置20を外部プリントシステム40に予め登録することなく、自身の近くにある画像形成装置20を用いて印刷を行うことができる。
<ハードウェア構成>
次に、本実施形態に係るサービス提供システム10のハードウェア構成について、図3を参照しながら説明する。図3は、コンピュータ500のハードウェア構成の一例を示す図である。
本実施形態に係るサービス提供システム10を実現する一台以上の情報処理装置は、図3に示すコンピュータ500により実現される。なお、端末装置30も同様に、図3に示すコンピュータ500により実現される。
図3に示すコンピュータ500は、入力装置51と、表示装置52と、外部I/F53と、RAM(Random Access Memory)54とを有する。また、コンピュータ500は、ROM(Read Only Memory)55と、CPU(Central Processing Unit)56と、通信I/F57と、HDD(Hard Disk Drive)58とを有する。これらの各ハードウェアは、それぞれがバスBで接続されている。
入力装置51は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置52は、ディスプレイ等を含み、コンピュータ500による処理結果を表示する。なお、入力装置51及び表示装置52の少なくとも一方は、必要なときにバスBに接続して利用する形態であっても良い。
通信I/F57は、コンピュータ500をネットワークN1やネットワークN2等に接続するインタフェースである。コンピュータ500は、通信I/F57を介して、データ通信を行うことができる。なお、端末装置30の通信I/F57には、例えばBluetooth等の近距離無線通信を行うためのモジュール等が含まれる。
HDD58は、プログラムやデータを格納している不揮発性の記憶装置である。HDD58に格納されるプログラムやデータには、コンピュータ500全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
なお、コンピュータ500は、HDD58に代えて又はHDD58と共に、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を利用するものであっても良い。また、HDD58は、格納しているプログラムやデータを所定のファイルシステムやDBにより管理している。
外部I/F53は、外部装置とのインタフェースである。外部装置には、記録媒体53a等がある。コンピュータ500は、外部I/F53を介して、記録媒体53aの読み取りや書き込みを行うことができる。記録媒体53aには、例えば、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
ROM55は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM55には、コンピュータ500の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM54は、プログラムやデータを一時保持する揮発性の半導体メモリである。
CPU56は、ROM55やHDD58等の記憶装置からプログラムやデータをRAM54上に読み出し、処理を実行することで、コンピュータ500全体の制御や機能を実現する演算装置である。
本実施形態に係るサービス提供システム10を実現する一台以上の情報処理装置は、図3に示すコンピュータ500のハードウェア構成を有することにより、後述するような各種処理を実現できる。また、本実施形態に係る端末装置30は、同様に、図3に示すコンピュータ500のハードウェア構成を有することにより、後述するような各種処理を実現できる。
次に、本実施形態に係る画像形成装置20のハードウェア構成について、図4を参照しながら説明する。図4は、本実施形態に係る画像形成装置20のハードウェア構成の一例を示す図である。
図4に示す画像形成装置20は、コントローラ21と、操作パネル22と、外部I/F23と、通信I/F24と、プロッタ25と、スキャナ26とを有する。また、コントローラ21は、CPU211と、RAM212と、ROM213と、NVRAM214と、HDD215とを有する。
ROM213は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM212は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM214は、例えば設定情報等を格納している半導体メモリである。また、HDD215は、各種プログラムやデータを格納している不揮発性の記憶装置である。
CPU211は、ROM213やNVRAM214、HDD215等からプログラムやデータ、設定情報等をRAM212上に読み出し、処理を実行することで、画像形成装置20全体の制御や機能を実現する演算装置である。
操作パネル22は、ユーザからの入力を受け付ける入力装置と、表示を行う表示装置とを備える装置である。
外部I/F23は、外部装置とのインタフェースである、外部装置には、記録媒体23a等がある。画像形成装置20は、外部I/F23を介して、記録媒体23aの読み取りや書き込みを行うことができる。なお、記録媒体23aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F24は、画像形成装置20をネットワークN2に接続するインタフェースである。画像形成装置20は、通信I/F24を介して、データ通信を行うことができる。なお、画像形成装置20の通信I/F24には、例えばBluetooth等の近距離無線通信を行うためのモジュール等が含まれる。
プロッタ25は、印刷データを被搬送物に印刷するための印刷装置である。なお、被搬送物は、紙に限られず、例えば、OHPシートやプラスチックフィルム、銅箔等であっても良い。スキャナ26は、原稿を読み取って、画像データを生成する読取装置である。
本実施形態に係る画像形成装置20は、図4に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
<機能構成>
次に、本実施形態に係る印刷システム1の機能構成について、図5を参照しながら説明する。図5は、本実施形態に係る印刷システム1の機能構成の一例を示す図である。
端末装置30は、UI制御部301と、印刷要求部302と、機器ID受信部303と、プリンタID取得部304とを有する。これら各機能部は、端末装置30にインストールされた1以上のプログラムが、CPU56に実行させる処理により実現される。
UI制御部301は、表示装置52に各種画面を表示させる。また、UI制御部301は、入力装置51に入力されたユーザの各種操作を受け付ける。
印刷要求部302は、UI制御部301により受け付けられたユーザの操作に応じて、印刷対象データ及び機器ID等が含まれる印刷要求を外部プリントシステム40に送信する。
機器ID受信部303は、例えばBluetooth等の近距離無線通信により画像形成装置20から機器IDを受信する。
プリンタID取得部304は、外部プリントシステム40に登録したプリンタ(後述する仮想プリンタ)を示すプリンタIDを取得する。
画像形成装置20は、UI制御部201と、機器ID送信部202と、ジョブ監視部203と、印刷処理部204とを有する。これら各機能部は、画像形成装置20にインストールされた1以上のプログラムが、CPU211に実行させる処理により実現される。
UI制御部201は、操作パネル22上に各種画面を表示させる。また、UI制御部201は、操作パネル22上に表示された各種画面におけるユーザの各種操作を受け付ける。
機器ID送信部202は、例えばBluetooth等の近距離無線通信により機器IDを送信する。
ジョブ監視部203は、例えば所定の時間毎に、ジョブの取得要求をサービス提供システム10に送信する。ジョブの取得要求には、画像形成装置20の機器IDが含まれる。なお、ジョブ監視部203は、上述したように、端末装置30からの通知(例えば、端末装置30でジョブ実行時に送信される通知)に応じて機器IDをサービス提供システム10に送信しても良い。
印刷処理部204は、サービス提供システム10から取得した印刷ジョブに含まれる印刷データをプロッタ25で印刷する。
サービス提供システム10は、登録受付部101と、認可部102と、登録部103と、一覧取得部104と、通知部105と、ジョブ取得部106と、印刷変換部107と、ジョブ管理部108とを有する。これら各機能部は、サービス提供システム10にインストールされた1以上のプログラムが、CPU56に実行させる処理により実現される。
また、サービス提供システム10は、連携情報記憶部110と、ジョブ記憶部120とを有する。これら各記憶部は、例えばHDD58を用いて実現可能である。なお、連携情報記憶部110及びジョブ記憶部120の少なくとも一方が、サービス提供システム10とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
登録受付部101は、クラウド連携プリントの利用登録を行うための登録要求を受け付ける。
認可部102は、外部プリントシステム40との間でOAuthに準拠した認可処理を行う。例えば、認可部102は、ユーザが端末装置30を用いてクラウド連携プリントの利用登録を行う場合に、外部プリントシステム40がサービス提供システム10を認可するための処理(認可処理)を行う。
登録部103は、認可部102により認可処理が行われると、外部プリントシステム40に対してクラウドプリントサービスの利用登録を行う。すなわち、登録部103は、サービス提供システム10をプリンタとして外部プリントシステム40に登録する。
また、登録部103は、クラウドプリントサービスの利用登録が行われると、サービス提供システム10でユーザを識別するユーザIDと、外部プリントシステム40で当該ユーザを識別するアカウントIDとを関連付けて連携情報テーブル111に記憶させる。
なお、アカウントIDは、外部プリントシステム40でユーザを識別する識別情報の一例であり、例えば、メールアドレス等が挙げられる。ただし、アカウントIDは、メールアドレスに限られず、例えば、電話番号、英数字から構成される任意の文字列等であっても良い。
一覧取得部104は、外部プリントシステム40からの通知に応じて、当該外部プリントシステム40から印刷ジョブの一覧(以降、「ジョブ一覧」と表す。)を取得する。なお、ジョブ一覧には、例えば、印刷ジョブを識別するジョブIDと、外部プリントシステム40における印刷ジョブの実行状態を示すステータス(例えば、「印刷済」、「未処理」(未実行)等)とが含まれる。
通知部105は、外部プリントシステム40に対してサービス提供システム10の状態(例えば、「処理中」、「印刷可能」等)を通知する。
ジョブ取得部106は、一覧取得部104により取得されたジョブ一覧のうち、ステータスが「未処理」である印刷ジョブの取得要求を外部プリントシステム40に送信する。
印刷変換部107は、ジョブ取得部106により取得された印刷ジョブに含まれる印刷データを、必要に応じて、例えば画像形成装置20の印刷に適切なデータ形式に変換する。例えば、印刷変換部107は、PDF形式である印刷データを、画像形成装置20が印刷可能なデータ形式やより高速に印刷が可能なデータ形式等に変換する。
ジョブ管理部108は、ジョブ取得部106により取得された印刷ジョブ又は印刷変換部107により印刷データが変換された印刷ジョブをジョブ記憶部120に記憶させる。
連携情報記憶部110は、サービス提供システム10でユーザを識別するユーザIDと、外部プリントシステム40で当該ユーザを識別するアカウントIDとが関連付けられた連携情報テーブル111を記憶する。ジョブ記憶部120は、印刷ジョブ121を記憶する。
ここで、連携情報記憶部110に記憶されている連携情報テーブル111について、図6を参照しながら説明する。図6は、連携情報テーブル111の一例を示す図である。
図6に示す連携情報テーブル111は、データ項目として、ユーザIDと、アカウントIDとを有する。ユーザIDは、上述したように、サービス提供システム10でユーザを識別する識別情報である、また、アカウントIDは、上述したように、外部プリントシステム40でユーザを識別する識別情報である。
このように、連携情報テーブル111では、ユーザIDとアカウントIDとが関連付けられている。なお、連携情報テーブル111において、1つのユーザIDに対して、複数のアカウントIDが関連付けられていても良い。
<処理の詳細>
次に、本実施形態に係る印刷システム1の処理の詳細について説明する。
≪利用登録処理≫
以降では、ユーザが端末装置30を用いて、クラウド連携プリントの利用登録を行う場合の処理について、図7を参照しながら説明する。図7は、本実施形態に係る利用登録処理の一例を示すシーケンス図である。
まず、端末装置30には、UI制御部301により、例えば図8に示すトップ画面G110が表示されているものとする。このとき、ユーザにより利用登録ボタンG111が押下されると、UI制御部301は、登録要求をサービス提供システム10に送信する(ステップS701)。
サービス提供システム10の登録受付部101は、登録要求を受信すると、クラウド連携プリントの利用規約等をユーザに確認させるための同意画面を端末装置30に返信する。これにより、端末装置30には、UI制御部301により、例えば図8に示す同意画面G120が表示される。
図8に示す同意画面G120には、クラウド連携プリントの利用規約が表示される表示欄G121が含まれる。ユーザは、表示欄G121に表示されている利用規約を確認した上で、当該利用規約に同意する場合には同意ボタンG122を押下する。
ユーザにより同意ボタンG122が押下されると、UI制御部301は、ユーザが利用規約に同意したことを示す情報をサービス提供システム10に送信する(ステップS702)。
サービス提供システム10の認可部102は、ユーザが利用規約に同意したことを示す情報を受信すると、OAuthに準拠したリクエストトークンの要求を外部プリントシステム40に送信する(ステップS703)。すると、外部プリントシステム40は、リクエストトークンをサービス提供システム10に返信する。
次に、サービス提供システム10の認可部102は、リクエストトークンを受信すると、外部プリントシステム40の認証画面のURL(Uniform Resource Locator)を端末装置30に送信して、リダイレクトさせる(ステップS704)。これにより、端末装置30には、UI制御部301により、例えば図8に示す外部プリントシステム40の認証画面G130が表示される。
図8に示す外部プリントシステム40の認証画面G130には、外部プリントシステム40のアカウントIDを入力するアカウントID入力欄G131と、当該アカウントIDに対応するパスワードを入力するパスワード入力欄G132とが含まれる。ユーザによりアカウントID入力欄G131及びパスワード入力欄G132にそれぞれアカウントID及びパスワードが入力された上で、OKボタンG133が押下されると、UI制御部301は、認証要求を外部プリントシステム40に送信する(ステップS705)。認証要求には、アカウントID入力欄G131に入力されたアカウントIDと、パスワード入力欄G132に入力されたパスワードとが含まれる。
すると、外部プリントシステム40において、認証要求に基づいて認証処理が行われる。例えば、外部プリントシステム40において、当該認証要求に含まれるアカウントIDとパスワードとの組が正当なものであるか否かの検証が行われる。
そして、外部プリントシステム40は、認証処理の処理結果が認証成功を示すものである場合、サービス提供システム10の認可リクエストを許可するか否かユーザに確認させるための認可確認画面を端末装置30に返信する。これにより、端末装置30には、UI制御部301により、例えば図8に示す認可確認画面G140が表示される。
図8に示す認可確認画面G140には、サービス提供システム10の認可リクエストを許可するための許可ボタンG141が含まれる。ユーザにより許可ボタンG141が押下されると、UI制御部301は、認可要求を外部プリントシステム40に送信する(ステップS706)。すると、外部プリントシステム40は、認可済のリクエストトークンを端末装置30に返信する。
端末装置30のUI制御部301は、外部プリントシステム40から認可済のリクエストトークンを受信すると、当該認可済のリクエストトークンをサービス提供システム10に送信する(ステップS707)。
サービス提供システム10の認可部102は、認可済のリクエストトークンを受信すると、当該認可済のリクエストトークンを外部プリントシステム40に送信する(ステップS708)。すると、外部プリントシステム40は、アクセストークンをサービス提供システム10に返信する。これにより、サービス提供システム10が外部プリントシステム40に対してクラウドプリントサービスの利用登録を行うための認可処理が完了する。
サービス提供システム10の登録部103は、ステップS708で取得したアクセストークンを用いて、クラウドプリントサービスの利用登録を行うための登録要求を外部プリントシステム40に送信する(ステップS709)。このとき、登録部103は、クラウドプリントサービスを利用するプリンタ等の装置として、サービス提供システム10を登録する。すなわち、登録部103は、サービス提供システム10を仮想的なプリンタとして利用登録を行う。以降では、クラウドプリントサービスに登録されるサービス提供システム10を「仮想プリンタ」とも表す。
例えば、クラウドプリントサービスがGoogleクラウドプリントである場合、上記の登録要求には、プリンタ名、デフォルト表示名、プロキシ(又はプリンタクライアント)、製造者、及びモデル名等が指定される。したがって、この場合、登録部103は、これらの情報として、サービス提供システム10を示す情報を指定した登録要求を外部プリントシステム40に送信する。
そして、外部プリントシステム40は、サービス提供システム10を登録すると、登録結果をサービス提供システム10に返信する。登録結果には、例えば、外部プリントシステム40に登録されたプリンタ(すなわち、仮想プリンタとして登録されたサービス提供システム10)を識別するプリンタIDが含まれる。
なお、外部プリントシステム40に対してクラウドプリントサービスを利用する装置の性能情報(例えば、両面印刷やカラー印刷の可否等)の登録が必要な場合、仮想プリンタの性能情報としては、一般的なプリンタに共通する性能情報を登録すれば良い。
サービス提供システム10の登録部103は、外部プリントシステム40から登録結果を受信すると、ユーザIDを生成する(ステップS710)。なお、例えば、上記のステップ701の登録要求にユーザIDが指定されている場合、登録部103は、ユーザIDを生成しなくても良い。
次に、サービス提供システム10の登録部103は、ユーザIDとアカウントIDとを関連付けて連携情報テーブル111に記憶させる(ステップS711)。すなわち、登録部103は、上記のステップS710で生成したユーザID(又は上記のステップS701の登録要求に指定されているユーザID)と、アカウントID入力欄G131に入力されたアカウントIDとを関連付けて連携情報テーブル111に記憶させる。
そして、サービス提供システム10の登録部103は、登録完了を端末装置30に返信する。登録完了には、例えば、仮想プリンタ(すなわち、サービス提供システム10)を識別するプリンタIDが含まれる。プリンタIDは、端末装置30のHDD58等の所定の記憶領域に保存される。
以上により、本実施形態に係るサービス提供システム10により提供されるクラウド連携プリントをユーザが利用するための利用登録が完了する。なお、図7のステップS701において、ユーザが既にクラウド連携プリントの利用登録を完了している場合(すなわち、連携情報テーブル111にユーザIDが既に記憶されている場合)、追加登録するか否かをユーザに確認させる画面を表示させても良い。
≪印刷ジョブの蓄積処理≫
以降では、ユーザが端末装置30を用いて、クラウドプリントサービスを利用した印刷を行って、サービス提供システム10に印刷ジョブを蓄積させる処理について、図9を参照しながら説明する。図9は、本実施形態に係る印刷ジョブの蓄積処理の一例を示すシーケンス図である。図9では、一例として、端末装置30が画像形成装置20から機器IDを受信するための近距離無線通信はBluetoothであるものとする。
まず、画像形成装置20の機器ID送信部202は、アドバタイズにより、当該画像形成装置20の周囲の所定の範囲内に、機器IDと機器名とが含まれるパケット(アドバタイズパケット)を送信している(ステップS901)。
すなわち、画像形成装置20-1、画像形成装置20-2、画像形成装置20-3等の複数の画像形成装置20は、機器ID送信部202により、それぞれ機器IDと機器名とが含まれるアドバタイズパケットを周囲に送信している。
端末装置30のUI制御部301は、ユーザによる印刷対象データの選択操作を受け付ける(ステップS902)。ユーザは、図10に示すトップ画面G110でプリントボタンG112を押下することで表示される印刷対象選択画面G210において、印刷対象データ一覧G211から所望の印刷対象データを選択した上で、決定ボタンG212を押下することで、印刷対象データの選択操作を行うことができる。なお、このとき、ユーザは、印刷設定(例えば、両面や片面、カラー、モノクロ等)を指定しても良い。
端末装置30の機器ID受信部303は、当該端末装置30の周囲に設置されている画像形成装置20をスキャンすることで(ステップS903)、当該画像形成装置20の機器IDと機器名と受信する。より具体的には、機器ID受信部303は、印刷対象データの選択操作が行われると、所定の時間の間スキャン状態となり、当該スキャン状態中に受信したアドバタイズパケットから機器IDと機器名とを取得する。
機器ID受信部303がスキャン状態である間、端末装置30には、UI制御部301により、図10に示す探索画面G220が表示される。なお、図10に示す探索画面G220において、ユーザによりキャンセルボタンG221が押下されると、機器ID受信部303は、スキャン状態をキャンセルする(すなわち、画像形成装置20のスキャンをキャンセルする。)。
機器ID受信部303により画像形成装置20のスキャンが完了すると、端末装置30には、UI制御部301により、例えば図10に示す画像形成装置20の選択画面G230が表示される。図10に示す画像形成装置20の選択画面G230には、機器ID及び機器名を受信した画像形成装置20(すなわち、端末装置30の周囲に設置されている画像形成装置20)の一覧G231が含まれる。
ユーザは、画像形成装置20の一覧G231から、印刷を所望する画像形成装置20を選択した上で、決定ボタンG232を押下することで、画像形成装置20の選択操作を行うことができる。
端末装置30のUI制御部301は、画像形成装置20の選択操作を受け付ける(ステップS904)。すると、端末装置30のプリンタID取得部304は、クラウドプリントサービスのプリンタIDを検索する(ステップS905)。すなわち、プリンタID取得部304は、HDD58等の所定の記憶領域を検索して、仮想プリンタ(すなわち、サービス提供システム10)を示すプリンタIDを取得する。
次に、端末装置30の印刷要求部302は、印刷要求を外部プリントシステム40に送信する(ステップS906)。印刷要求には、上記のステップS905で取得されたプリンタID(すなわち、仮想プリンタのプリンタID)と、ユーザにより選択された印刷対象データと、当該印刷対象データの印刷設定を示す印刷設定情報とが含まれる。また、当該印刷要求には、ユーザのアカウントIDと、ユーザにより選択された画像形成装置20の機器IDとが含まれる。
外部プリントシステム40は、端末装置30から印刷要求を受信すると、例えば、当該印刷要求に基づく印刷ジョブを作成して、新規に印刷ジョブが作成されたことを示す新規ジョブ通知をサービス提供システム10に送信する。新規ジョブ通知には、印刷要求の送信元の端末装置30のユーザを識別するユーザ識別情報が含まれる。
ユーザ識別情報には、サービス提供システム10と外部プリントシステム40との間で、印刷要求の送信元の端末装置30のユーザを識別する任意の識別情報を用いれば良い。本実施形態では、ユーザ識別情報として、例えば、アカウントIDを用いれば良い。
なお、外部プリントシステム40により作成される印刷ジョブには、例えば、印刷ジョブを識別するジョブIDと、印刷ジョブのステータスと、印刷対象データを変換した印刷データと、印刷設定情報と、アカウントIDと、機器IDとが含まれる。
サービス提供システム10の一覧取得部104は、新規ジョブ通知を受信すると、当該新規ジョブ通知に含まれるユーザ識別情報に対応するアカウントIDの印刷ジョブを取得するためのジョブ一覧の取得要求を外部プリントシステム40に送信する(ステップS907)。すると、外部プリントシステム40は、ジョブ一覧をサービス提供システム10に返信する。なお、ジョブ一覧には、上述したように、例えば、印刷ジョブのジョブIDと、印刷ジョブのステータスとが含まれる。
サービス提供システム10の通知部105は、ジョブ一覧を受信すると、当該サービス提供システム10の状態(例えば、「処理中」、「印刷可能」等)を示す状態通知を外部プリントシステム40に送信する(ステップS908)。なお、ここでは、通知部105は、例えば、「処理中」を示す状態通知を外部プリントシステム40に送信すれば良い。
次に、サービス提供システム10のジョブ取得部106は、上記のステップS907で取得したジョブ一覧のうち、ステータスが「未処理」である印刷ジョブの取得要求を外部プリントシステム40に送信する(ステップS909)。すると、外部プリントシステム40は、当該取得要求に係る印刷ジョブ(すなわち、ステータスが「未処理」である印刷ジョブ)を返信する。
なお、ジョブ取得部106は、上記のステップS907で取得したジョブ一覧の中にステータスが「未処理」である印刷ジョブが複数存在する場合には、ステップS909において、これら複数の印刷ジョブの取得要求を外部プリントシステム40に送信する。
次に、サービス提供システム10の印刷変換部107は、ジョブ取得部106により取得された印刷ジョブに含まれる印刷データを、画像形成装置20の印刷に適切なデータ形式に変換する(ステップS910)。なお、ジョブ取得部106により取得された印刷ジョブに含まれる印刷データが、画像形成装置20の印刷に適切なデータ形式である場合、印刷変換部107は、データ形式の変換を行わなくて良い。
例えば、印刷ジョブに含まれる印刷データのデータ形式が画像形成装置20で印刷可能なデータ形式でない場合、印刷変換部107は、当該印刷データのデータ形式を、画像形成装置20で印刷可能なデータ形式に変換する。また、例えば、印刷データを変換することで、画像形成装置20でより高速な印刷が可能である場合等には、印刷変換部107は、当該印刷データのデータ形式を所定のデータ形式に変換する。
次に、サービス提供システム10のジョブ管理部108は、印刷ジョブをジョブ記憶部120に記憶させる(ステップS911)。これにより、印刷ジョブ121がジョブ記憶部120に蓄積される。
なお、ジョブ記憶部120には、例えば、サービス提供システム10における印刷ジョブ121の実行状態を示すジョブ状態と関連付けて当該印刷ジョブ121が記憶されても良い。また、ジョブ記憶部120には、印刷要求を送信した端末装置30のユーザを識別するユーザIDが関連付けて印刷ジョブ121が記憶されていても良い。
次に、サービス提供システム10の通知部105は、当該サービス提供システム10の状態を示す状態通知を外部プリントシステム40に送信する(ステップS912)。なお、ここでは、通知部105は、例えば、「印刷可能」を示す状態通知を外部プリントシステム40に送信すれば良い。このように、本実施形態に係るサービス提供システム10は、印刷ジョブの取得から保存までの間を「処理中」であると外部プリントシステム40に通知し、印刷ジョブの保存後に「印刷可能」であると外部プリントシステム40に通知する。
以上により、本実施形態に係るサービス提供システム10には、外部プリントシステム40により提供されるクラウドプリントサービスによる印刷ジョブが蓄積される。また、このとき、本実施形態に係るサービス提供システム10に蓄積される印刷ジョブには、ユーザにより選択された画像形成装置20の機器IDが含まれる。これにより、後述するように、当該機器IDの画像形成装置20が印刷ジョブを実行して、印刷を行うことができる。
なお、図9では、ユーザが印刷対象データの選択操作を行った(ステップS902)後に、画像形成装置20の選択操作を行った(ステップS904)が、この順番は逆であっても良い。すなわち、端末装置30には、画像形成装置20の選択画面G230が表示された後に、印刷対象選択画面G210が表示されても良い。
また、図9のステップS905において、仮想プリンタのプリンタIDをUI制御部301が検索する場合について説明したが、例えば、プリンタIDの一覧を表示した上で、ユーザがプリンタIDを選択しても良い。これにより、ユーザは、例えば、クラウド連携プリントではなく、通常のクラウドプリントサービス(例えばGoogleクラウドプリント)を利用するためのプリンタIDも選択することができるようになる。
ただし、通常のクラウドプリントサービス(例えばGoogleクラウドプリント)を利用するためのプリンタIDが選択された場合には、当該プリンタIDが示すプリンタで印刷が行われるため、画像形成装置20の選択画面G230を表示しない方が好ましい。
また、図9では、外部プリントシステム40が新規ジョブ通知を行う場合について説明したが、外部プリントシステム40によっては新規ジョブ通知を行わない場合も有り得る。この場合には、サービス提供システム10は、例えば、外部プリントシステム40を所定の時間毎にポーリングすることで、印刷ジョブを取得すれば良い。
≪印刷実行処理≫
以降では、画像形成装置20が印刷ジョブを実行して、当該印刷ジョブに含まれる印刷データを印刷する場合について、図11を参照しながら説明する。図11は、本実施形態に係る印刷実行処理の一例を示すシーケンス図である。
画像形成装置20のジョブ監視部203は、例えば所定の時間毎に、ジョブの取得要求をサービス提供システム10に送信する(ステップS1101)。ジョブの取得要求には、当該画像形成装置20の機器IDが含まれる。
サービス提供システム10のジョブ管理部108は、ジョブの取得要求を受信すると、当該取得要求に含まれる機器IDの印刷ジョブ121がジョブ記憶部120に記憶されているか否かを判定する(ステップS1102)。
当該機器IDの印刷ジョブ121がジョブ記憶部120に記憶されていると判定された場合、ジョブ管理部108は、当該機器IDの印刷ジョブ121をジョブ記憶部120から取得する(ステップS1103)。なお、当該機器IDの印刷ジョブ121がジョブ記憶部120に複数記憶されている場合、ジョブ管理部108は、これら複数の印刷ジョブ121をジョブ記憶部120から取得すれば良い。
そして、サービス提供システム10のジョブ管理部108は、ジョブ記憶部120から取得した印刷ジョブ121を、ジョブの取得要求の送信元の画像形成装置20に返信する。
画像形成装置20の印刷処理部204は、印刷ジョブ121を受信すると、当該印刷ジョブ121を実行して、当該印刷ジョブ121に含まれている印刷データを印刷する(ステップS1104)。これにより、画像形成装置20において印刷ジョブ121が実行され、印刷データが印刷される。
以上により、本実施形態に係る印刷システム1では、ユーザにより選択された画像形成装置20で印刷が行われる。このように、本実施形態に係る印刷システム1では、サービス提供システム10が提供するクラウド連携プリントを利用することで、クラウドプリントサービスに登録していない画像形成装置20でも印刷を行うことができる。しかも、ユーザは、例えばBluetooth等の近距離無線通信により、自身の近くに設置されている画像形成装置20の中から選択した所望の画像形成装置20で印刷を行うことができる。
なお、本実施形態に係るサービス提供システム10が提供するクラウド連携プリントは、いわゆる「ロケーションフリー印刷サービス」と共存することができる。ロケーションフリー印刷サービスでは、例えば、図9のステップS906における印刷要求に機器IDを含めないことで、サービス提供システム10に蓄積されている印刷ジョブを任意の画像形成装置20で取得して実行することができるサービスである。
≪印刷ジョブの蓄積処理の変形例≫
ここで、以降では、図9を用いて説明した印刷ジョブの蓄積処理の変形例について、図12を参照しながら説明する。図12は、本実施形態に係る印刷ジョブの蓄積処理の変形例を示すシーケンス図である。なお、図12のステップS901~ステップS912は、図9と同様であるため、その説明を省略する。
ステップS903に続いて、端末装置30のUI制御部301は、機器ID受信部303による画像形成装置20のスキャンが完了すると、機器情報の取得要求をサービス提供システム10に送信する(ステップS1201)。機器情報の取得要求には、機器ID受信部303が受信した機器IDが含まれる。
サービス提供システム10は、端末装置30から機器情報の取得要求を受信すると、当該取得要求に含まれる機器IDの機器情報を返信する。機器情報には、例えば、画像形成装置20の設置場所、トナー残量、紙残量、状態(例えば「稼働中」や「故障中」等)が含まれる。このような機器情報は、例えば、サービス提供システム10により所定の時間毎に画像形成装置20から収集され、HDD58等の所定の記憶領域に保存される。
機器情報がサービス提供システム10から返信されると、端末装置30には、UI制御部301により、例えば図13に示す画像形成装置20の選択画面G230が表示される。図13に示す画像形成装置20の選択画面G230には、機器ID及び機器名と、機器情報に含まれる各種情報(例えば、設置場所、トナー残量、紙残量、状態等)とが表示される画像形成装置20の一覧G231が含まれる。
画像形成装置20の一覧G231に設置場所が表示されることで、ユーザは、例えば、自身の最も近くにある画像形成装置20を選択することができるようになる。また、画像形成装置20の一覧G231にトナー残量や紙残量、状態等が表示されることで、ユーザは、例えば、トナーや紙が十分にある画像形成装置20や故障等していない画像形成装置20を選択することができるようになる。
[第二の実施形態]
次に、第二の実施形態について説明する。第二の実施形態では、ユーザの周囲に設置されている画像形成装置20のうち、ユーザにより選択された画像形成装置20の機器IDと、外部プリントシステム40に登録された仮想プリンタとを対応付ける場合について説明する。これにより、ユーザは、端末装置30を用いて印刷を行う際に、複数の仮想プリンタの中から所望の仮想プリンタを選択することで、選択した仮想プリンタに対応する画像形成装置20で印刷を行うことができるようになる。
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、適宜、その説明を省略又は簡略化するものとする。
<機能構成>
まず、本実施形態に係る印刷システム1の機能構成について、図14を参照しながら説明する。図14は、本実施形態に係る印刷システム1の機能構成の一例を示す図である。
サービス提供システム10の連携情報記憶部110には、仮想プリンタのプリンタIDと、機器IDとが関連付けられた機器ID連携情報テーブル112が記憶されている。
ここで、機器ID連携情報テーブル112について、図15を参照しながら説明する。図15は、機器ID連携情報テーブル112の一例を示す図である。
図15に示す機器ID連携情報テーブル112は、データ項目として、プリンタIDと、機器IDとを有する。プリンタIDは、仮想プリンタを識別する識別情報である。また、機器IDは、画像形成装置20を識別する識別情報である。
このように、機器ID連携情報テーブル112では、プリンタIDと機器IDとが関連付けられている。なお、上述したように、プリンタIDは外部プリントシステム40上の仮想プリンタを識別するものである。このため、例えば、ユーザ毎や部署毎の初期設定が異なり、ユーザのアカウント毎に仮想プリンタを作成するような場合等には、1つの機器IDに対して、複数のプリンタIDが関連付けられていても良い。
<処理の詳細>
次に、本実施形態に係る印刷システムの処理の詳細について説明する。なお、印刷実行処理は第一の実施形態と同様であるため、その説明を省略する。
≪利用登録処理≫
以降では、ユーザが端末装置30を用いて、クラウド連携プリントの利用登録を行う場合の処理について、図16を参照しながら説明する。図16は、本実施形態に係る利用登録処理の一例を示すシーケンス図である。
まず、画像形成装置20の機器ID送信部202は、アドバタイズにより、当該画像形成装置20の周囲の所定の範囲内に、機器IDと機器名とが含まれるアドバタイズパケットを送信している(ステップS1601)。
また、端末装置30には、UI制御部301により、例えば図17に示すトップ画面G310が表示されているものとする。このとき、ユーザにより利用登録ボタンG311が押下されると、UI制御部301は、登録要求をサービス提供システム10に送信する(ステップS1602)。
サービス提供システム10の登録受付部101は、登録要求を受信すると、同意画面を端末装置30に返信する。これにより、端末装置30には、UI制御部301により、例えば図17に示す同意画面G320が表示される。
ユーザは、表示欄G321に表示されている利用規約を確認した上で、当該利用規約に同意する場合には同意ボタンG322を押下して、同意操作を行う。ユーザにより同意操作が行われると、UI制御部301は、当該操作を受け付ける(ステップS1603)。
UI制御部301により同意操作が受け付けられると、端末装置30の機器ID受信部303は、当該端末装置30の周囲に設置されている画像形成装置20をスキャンすることで(ステップS1604)、当該画像形成装置20の機器IDと機器名と受信する。
機器ID受信部303がスキャン状態である間、端末装置30には、UI制御部301により、図17に示す探索画面G330が表示される。なお、キャンセルボタンG331が押下されると、機器ID受信部303は、スキャン状態をキャンセルする。
機器ID受信部303により画像形成装置20のスキャンが完了すると、端末装置30には、UI制御部301により、例えば図17に示す画像形成装置20の選択画面G340が表示される。
ユーザは、画像形成装置20の一覧G341から、印刷を所望する画像形成装置20を選択した上で、決定ボタンG422を押下することで、画像形成装置20の選択操作を行うことができる。
端末装置30のUI制御部301は、画像形成装置20の選択操作を受け付ける(ステップS1605)と、ユーザが規約に同意したことを示す情報と、選択された画像形成装置20の機器IDとをサービス提供システム10に送信する(ステップS1606)。
サービス提供システム10の認可部102は、ユーザが利用規約に同意したことを示す情報と、機器IDとを受信すると、OAuthに準拠したリクエストトークンの要求を外部プリントシステム40に送信する(ステップS1607)。すると、外部プリントシステム40は、リクエストトークンをサービス提供システム10に返信する。
次に、サービス提供システム10の認可部102は、リクエストトークンを受信すると、外部プリントシステム40の認証画面のURLを端末装置30に送信して、リダイレクトさせる(ステップS1608)。これにより、端末装置30には、UI制御部301により、例えば図17に示す外部プリントシステム40の認証画面G350が表示される。
図17に示す外部プリントシステム40の認証画面G350において、アカウントID入力欄G351及びパスワード入力欄G352にそれぞれアカウントID及びパスワードが入力された上で、OKボタンG353が押下されたものとする。UI制御部301は、認証要求を外部プリントシステム40に送信する(ステップS1609)。認証要求には、アカウントID入力欄G351に入力されたアカウントIDと、パスワード入力欄G352に入力されたパスワードとが含まれる。
すると、外部プリントシステム40において、認証要求に基づいて認証処理が行われる。そして、外部プリントシステム40は、認証処理の処理結果が認証成功を示すものである場合、認可確認画面を端末装置30に返信する。これにより、端末装置30には、UI制御部301により、例えば図17に示す認可確認画面G360が表示される。
図17に示す認可確認画面G360において、ユーザにより許可ボタンG361が押下されると、UI制御部301は、認可要求を外部プリントシステム40に送信する(ステップS1610)。すると、外部プリントシステム40は、認可済のリクエストトークンを端末装置30に返信する。
端末装置30のUI制御部301は、外部プリントシステム40から認可済のリクエストトークンを受信すると、当該認可済のリクエストトークンをサービス提供システム10に送信する(ステップS1611)。
サービス提供システム10の認可部102は、認可済のリクエストトークンを受信すると、当該認可済のリクエストトークンを外部プリントシステム40に送信する(ステップS1612)。すると、外部プリントシステム40は、アクセストークンをサービス提供システム10に返信する。これにより、サービス提供システム10が外部プリントシステム40に対してクラウドプリントサービスの利用登録を行うための認可処理が完了する。
サービス提供システム10の登録部103は、ステップS1612で取得したアクセストークンを用いて、クラウドプリントサービスの利用登録を行うための登録要求を外部プリントシステム40に送信する(ステップS1613)。このとき、登録部103は、ユーザにより選択された画像形成装置20の機器IDを指定可能な場合は、当該機器IDを指定した上で、サービス提供システム10を仮想プリンタとして登録する。
例えば、クラウドプリントサービスがGoogleクラウドプリントである場合、上記の登録要求には、プリンタ名、デフォルト表示名、プロキシ(又はプリンタクライアント)、製造者、及びモデル名等に加えて、タグが指定可能である。したがって、この場合、登録部103は、プリンタ名、デフォルト表示名、プロキシ(又はプリンタクライアント)、製造者、及びモデル名等にサービス提供システム10を示す情報を指定すると共に、タグに機器IDをした登録要求を外部プリントシステム40に送信する。
以降では、本実施形態では、一例として、登録部103が機器IDを指定せずに、サービス提供システム10を仮想プリンタとして登録する場合について説明する。
そして、外部プリントシステム40は、サービス提供システム10を登録すると、登録結果をサービス提供システム10に返信する。登録結果には、例えば、外部プリントシステム40に登録されたプリンタ(すなわち、機器ID毎に仮想プリンタとして登録されたサービス提供システム10)を識別するプリンタIDが含まれる。
サービス提供システム10の登録部103は、外部プリントシステム40から登録結果を受信すると、ユーザIDを生成する(ステップS1614)。
次に、サービス提供システム10の登録部103は、ユーザIDとアカウントIDとを関連付けて連携情報テーブル111に記憶させる(ステップS1615)。
次に、サービス提供システム10の登録部103は、プリンタIDと機器IDとを関連付けて機器ID連携情報テーブル112に記憶させる(ステップS1616)。すなわち、登録部103は、外部プリントシステム40に登録した仮想プリンタのプリンタIDと、ユーザにより選択された画像形成装置20の機器IDとを関連付けて機器ID連携情報テーブル112に記憶させる。なお、上述したように、1つの機器IDに対して、複数のプリンタIDが関連付けられても良い。
そして、サービス提供システム10の登録部103は、登録完了を端末装置30に返信する。登録完了には、例えば、プリンタIDが含まれる。プリンタIDは、端末装置30のHDD58等の所定の記憶領域に保存される。
以上により、本実施形態に係るサービス提供システム10により提供されるクラウド連携プリントをユーザが利用するための利用登録が完了する。このとき、本実施形態では、ユーザが選択した画像形成装置20の機器ID毎の仮想プリンタを外部プリントシステム40に登録する。これにより、後述するように、ユーザは、仮想プリンタを選択するだけで、当該仮想プリンタに対応する機器IDの画像形成装置20で印刷を行うことができるようになる。
≪印刷ジョブの蓄積処理≫
以降では、ユーザが端末装置30を用いて、クラウドプリントサービスを利用した印刷を行って、サービス提供システム10に印刷ジョブを蓄積させる処理について、図18を参照しながら説明する。図18は、本実施形態に係る印刷ジョブの蓄積処理の一例を示すシーケンス図である。
まず、端末装置30には、UI制御部301により、例えば図19に示すトップ画面G310が表示されているものとする。ユーザは、図19に示すトップ画面G310でプリントボタンG312を押下することで表示される印刷対象選択画面G410において、印刷対象データ一覧G411から所望の印刷対象データを選択した上で、決定ボタンG412を押下することで、印刷対象データの選択操作を行うことができる。
端末装置30のUI制御部301は、印刷対象データの選択操作を受け付ける(ステップS1801)。すると、端末装置30のプリンタID取得部304は、プリンタ一覧の取得要求を外部プリントシステム40に送信する(ステップS1802)。仮想プリンタ一覧の取得要求には、ユーザのアカウントIDが含まれる。
外部プリントシステム40は、プリンタ一覧の取得要求を受信すると、当該取得要求に含まれるアカウントIDに対応するプリンタのプリンタIDを返信する。
外部プリントシステム40からプリンタIDが返信されると、端末装置30には、UI制御部301により、例えば図19に示すプリンタ選択画面G420を表示される。図19に示すプリンタ選択画面G420には、外部プリントシステム40から返信されたプリンタIDが示すプリンタ(すなわち、ユーザが外部プリントシステム40に登録したプリンタ)の一覧G421が含まれる。
ユーザは、プリンタの一覧G421の中から所望のプリンタを選択した上で、決定ボタンG422を押下することで、プリンタの選択操作を行うことができる。以降では、ユーザは、プリンタの一覧G421の中から、仮想プリンタとして登録されたプリンタを選択したものとする。
なお、上記のステップS1802では、プリンタ一覧の取得要求を外部プリントシステム40に送信することで、プリンタIDを取得したが、これに限られない。プリンタID取得部304は、例えば、端末装置30のHDD58等の所定の記憶領域に記憶されているプリンタIDを取得しても良い。
端末装置30のUI制御部301は、プリンタの選択操作を受け付ける(ステップS1803)。端末装置30の印刷要求部302は、UI制御部301によりプリンタの選択操作が受け付けられると、印刷要求を外部プリントシステム40に送信する(ステップS1804)。印刷要求には、ユーザにより選択されたプリンタIDと、印刷対象データと、印刷設定情報と、アカウントIDとが含まれる。
外部プリントシステム40は、端末装置30から印刷要求を受信すると、例えば、当該印刷要求に基づく印刷ジョブを作成して、新規に印刷ジョブが作成されたことを示す新規ジョブ通知をサービス提供システム10に送信する。新規ジョブ通知には、印刷要求の送信元の端末装置30のユーザを識別するユーザ識別情報と、上記のプリンタIDとが含まれる。
なお、外部プリントシステム40により作成される印刷ジョブには、例えば、印刷ジョブを識別するジョブIDと、印刷ジョブのステータスと、印刷対象データを変換した印刷データと、印刷設定情報と、アカウントIDとが含まれる。
サービス提供システム10の一覧取得部104は、新規ジョブ通知を受信すると、当該新規ジョブ通知に含まれるユーザ識別情報に対応するアカウントIDの印刷ジョブを取得するためのジョブ一覧の取得要求を外部プリントシステム40に送信する(ステップS1805)。ジョブ一覧の取得要求には、ユーザ識別情報と、上記のプリンタIDとが含まれる。
外部プリントシステム40は、ジョブ一覧の取得要求を受信すると、ジョブ一覧をサービス提供システム10に返信する。
サービス提供システム10の通知部105は、ジョブ一覧を受信すると、当該サービス提供システム10の状態(例えば、「処理中」、「印刷可能」等)を示す状態通知を外部プリントシステム40に送信する(ステップS1805)。なお、ここでは、通知部105は、例えば、「処理中」を示す状態通知を外部プリントシステム40に送信すれば良い。
次に、サービス提供システム10のジョブ取得部106は、上記のステップS1805で取得したジョブ一覧のうち、ステータスが「未処理」である印刷ジョブの取得要求を外部プリントシステム40に送信する(ステップS1807)。すると、外部プリントシステム40は、当該取得要求に係る印刷ジョブ(すなわち、ステータスが「未処理」である印刷ジョブ)を返信する。
次に、サービス提供システム10の印刷変換部107は、ジョブ取得部106により取得された印刷ジョブに含まれる印刷データを、画像形成装置20の印刷に適切なデータ形式に変換する(ステップS1808)。なお、ジョブ取得部106により取得された印刷ジョブに含まれる印刷データが、画像形成装置20の印刷に適切なデータ形式である場合、印刷変換部107は、データ形式の変換を行わなくて良い。
次に、サービス提供システム10のジョブ管理部108は、上記のプリンタIDから機器IDを取得する(ステップS1809)。すなわち、ジョブ管理部108は、端末装置30から受信した印刷要求に含まれるプリンタIDと関連付けられている機器IDを機器ID連携情報テーブル112から取得する。
次に、サービス提供システム10のジョブ管理部108は、上記のステップS1809で取得した機器IDを印刷ジョブに含めた上で、ジョブ記憶部120に記憶させる(ステップS1810)。これにより、上記のステップS1809で取得した機器IDが含まれる印刷ジョブ121がジョブ記憶部120に蓄積される。
次に、サービス提供システム10の通知部105は、当該サービス提供システム10の状態を示す状態通知を外部プリントシステム40に送信する(ステップS1810)。なお、ここでは、通知部105は、例えば、「印刷可能」を示す状態通知を外部プリントシステム40に送信すれば良い。
以上により、本実施形態に係るサービス提供システム10には、外部プリントシステム40により提供されるクラウドプリントサービスによる印刷ジョブが蓄積される。また、このとき、本実施形態に係るサービス提供システム10に蓄積される印刷ジョブには、ユーザにより選択された仮想プリンタに対応する機器IDが含まれる。これにより、当該機器IDの画像形成装置20が印刷ジョブを実行して、印刷を行うことができる。
なお、本実施形態では、図16のステップS1613において、機器IDを指定せずに仮想プリンタの登録を行ったが、外部プリントシステム40によっては機器IDを指定して仮想プリンタの登録を行うこともできる。機器IDを指定して仮想プリンタの登録を行った場合には、例えば、図18のステップS1804における新規ジョブ通知に当該機器IDが含まれる。したがって、この場合、図16のステップS1616の処理や図18のステップS1809の処理を行う必要はない(すなわち、機器ID連携情報テーブル112は不要である。)。
また、本実施形態において、端末装置30が利用登録を行うためのアプリケーションと、端末装置30が印刷ジョブの蓄積を行うためのアプリケーションとは異なるアプリケーションプログラムであっても良い。
なお、上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するように設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
本発明は、具体的に開示された上記の各実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。