IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特開-印刷システム、および、印刷方法 図1
  • 特開-印刷システム、および、印刷方法 図2
  • 特開-印刷システム、および、印刷方法 図3
  • 特開-印刷システム、および、印刷方法 図4
  • 特開-印刷システム、および、印刷方法 図5
  • 特開-印刷システム、および、印刷方法 図6
  • 特開-印刷システム、および、印刷方法 図7
  • 特開-印刷システム、および、印刷方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024049968
(43)【公開日】2024-04-10
(54)【発明の名称】印刷システム、および、印刷方法
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240403BHJP
   B41J 29/38 20060101ALI20240403BHJP
   B41J 29/42 20060101ALI20240403BHJP
【FI】
G06F3/12 367
G06F3/12 303
G06F3/12 359
G06F3/12 338
B41J29/38 201
B41J29/42 F
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022156514
(22)【出願日】2022-09-29
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】宮地 恵佑
【テーマコード(参考)】
2C061
【Fターム(参考)】
2C061AP07
2C061AQ05
2C061AQ06
2C061CQ04
2C061CQ24
2C061CQ34
2C061HK05
2C061HN01
2C061HN15
(57)【要約】
【課題】印刷システムにおけるユーザの負担の軽減。
【解決手段】
プリンタは、プリンタがサーバにアクセスするための第1権限情報をサーバから受信し、第1権限情報をサーバに送信することに応じて、端末装置がプリンタに印刷を実行させるための第2権限情報と、端末装置がプリンタに印刷を実行させるための印刷指示の宛先情報と、を示す特定データをサーバから受信し、特定データを表示部に表示する。端末装置は、表示部に表示される特定データを取得し、特定データによって示される宛先情報を用いて、第2権限情報と、印刷指示と、をサーバに送信する。サーバは、第1権限情報をプリンタから受信する場合に第1権限情報を検証し、第1権限情報の検証結果が肯定的である場合に特定データをプリンタに送信し、第2権限情報を端末装置から受信する場合に第2権限情報を検証し、第2権限情報の検証結果が肯定的である場合に、印刷ジョブをプリンタに送信する。
【選択図】 図2
【特許請求の範囲】
【請求項1】
印刷システムであって、
表示部と印刷実行部とを備えるプリンタと、
端末装置と、
サーバと、
を備え、
前記プリンタは、
前記プリンタが前記サーバにアクセスするための第1権限情報を前記サーバから受信し、
前記第1権限情報を前記サーバに送信することに応じて、前記端末装置が前記プリンタに印刷を実行させるための第2権限情報と、前記端末装置が前記プリンタに印刷を実行させるための印刷指示の宛先情報と、を示す特定データを前記サーバから受信し、
前記特定データを前記表示部に表示し、
前記サーバから印刷ジョブを受信する場合に前記印刷ジョブに従って前記印刷実行部に印刷を実行させ、
前記端末装置は、
前記プリンタの前記表示部に表示される前記特定データを取得し、
前記特定データによって示される前記宛先情報を用いて、前記特定データによって示される前記第2権限情報と、前記印刷指示と、を前記サーバに送信し、
前記サーバは、
前記第1権限情報を生成して前記プリンタに送信し、
前記第1権限情報を前記プリンタから受信する場合に前記第1権限情報を検証し、
前記第1権限情報の検証結果が肯定的である場合に前記特定データを前記プリンタに送信し、
前記第2権限情報を前記端末装置から受信する場合に前記第2権限情報を検証し、
前記第2権限情報の検証結果が肯定的である場合に、前記端末装置から受信する前記印刷指示に基づく前記印刷ジョブを前記プリンタに送信する、印刷システム。
【請求項2】
請求項1に記載の印刷システムであって、
前記サーバは、第1サーバと、第2サーバと、を備え、
前記第1サーバは、前記プリンタから受信する要求に応じて前記第1権限情報を生成して前記プリンタに送信し、
前記第2サーバは、
前記プリンタから前記第1権限情報を受信し、
前記プリンタから受信する前記第1権限情報を前記第1サーバに送信し、
前記第1サーバは、
前記第2サーバから受信する前記第1権限情報を検証し、
前記第1権限情報の検証結果を前記第2サーバに送信し、
前記第2サーバは、
前記第1サーバから受信する前記第1権限情報の検証結果が肯定的である場合に前記第2権限情報を生成し、
前記第2権限情報を示す特定データを前記プリンタに送信する、印刷システム。
【請求項3】
請求項1に記載の印刷システムであって、
前記サーバは、前記第1権限情報の検証結果が否定的である場合に前記特定データを前記プリンタに送信しない。
【請求項4】
請求項1に記載の印刷システムであって、
前記サーバは、前記第2権限情報の検証結果が否定的である場合に、前記端末装置から受信する前記印刷指示に基づく前記印刷ジョブを前記プリンタに送信しない、印刷システム。
【請求項5】
請求項4に記載の印刷システムであって、
前記サーバは、
前記第2権限情報の検証結果が肯定的である場合に、前記端末装置との間に、前記印刷指示を受信するためのセッションを確立し、
前記セッションを用いて、前記端末装置から前記印刷指示を受信し、
前記第2権限情報の検証結果が否定的である場合に、前記端末装置との間に、前記セッションを確立しない、印刷システム。
【請求項6】
請求項1に記載の印刷システムであって、
前記サーバは、前記プリンタによる前記印刷ジョブに従う印刷が完了した後に、前記印刷ジョブを削除する、印刷システム。
【請求項7】
請求項1に記載の印刷システムであって、
前記サーバは、前記プリンタによる前記印刷ジョブに従う印刷が失敗した後に、前記印刷ジョブを削除する、印刷システム。
【請求項8】
請求項1に記載の印刷システムであって、
前記サーバは、
前記第2権限情報を、未使用であるか使用済みであるかを示すステータス情報と対応付けて記録し、
前記第2権限情報の検証時に、前記ステータス情報を用いて、前記第2権限情報が未使用であるか否かを判断し、
前記第2権限情報の検証結果が肯定的であると判断するための条件は、前記第2権限情報が未使用であることを含む、印刷システム。
【請求項9】
請求項1に記載の印刷システムであって、
前記プリンタは、
ユーザから端末装置を用いた印刷サービスの利用要求を取得し、
前記利用要求を取得する度に、前記第1権限情報の要求を前記サーバに送信することによって、前記利用要求ごとに異なる前記第1権限情報を前記サーバから受信する、印刷システム。
【請求項10】
表示部と印刷実行部とを備えるプリンタと、端末装置と、サーバと、を用いる印刷方法であって、
前記プリンタは、
前記プリンタが前記サーバにアクセスするための第1権限情報を前記サーバから受信し、
前記第1権限情報を前記サーバに送信することに応じて、前記端末装置が前記プリンタに印刷を実行させるための第2権限情報と、前記端末装置が前記プリンタに印刷を実行させるための印刷指示の宛先情報と、を示す特定データを前記サーバから受信し、
前記特定データを前記表示部に表示し、
前記サーバから印刷ジョブを受信する場合に前記印刷ジョブに従って前記印刷実行部に印刷を実行させ、
前記端末装置は、
前記プリンタの前記表示部に表示される前記特定データを取得し、
前記特定データによって示される前記宛先情報を用いて、前記特定データによって示される前記第2権限情報と、前記印刷指示と、を前記サーバに送信し、
前記サーバは、
前記第1権限情報を生成して前記プリンタに送信し、
前記第1権限情報を前記プリンタから受信する場合に前記第1権限情報を検証し、
前記第1権限情報の検証結果が肯定的である場合に前記特定データを前記プリンタに送信し、
前記第2権限情報を前記端末装置から受信する場合に前記第2権限情報を検証し、
前記第2権限情報の検証結果が肯定的である場合に、前記端末装置から受信する前記印刷指示に基づく前記印刷ジョブを前記プリンタに送信する、印刷方法。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、端末装置とプリンタとサーバとを用いる印刷システム、および、印刷方法に関する。
【背景技術】
【0002】
特許文献1には、MFPと、スマートフォンなどのモバイルと、複数のサーバから成る管理システムと、を備える通信システムが開示されている。このシステムでは、画像データをアップロードするためのアップロードページのURLを示すQRコード(登録商標)が管理システムからMFPに送信され、MFPは該QRコードを表示する。モバイルは、QRコードを読み取ってアップロードページのURLを取得し、該アップロードページにアクセスする。ユーザがアップロードページ上で画像データをアップロードする指示を入力すると、モバイルは画像データを管理システムにアップロードする。画像データのアップロード後に、ユーザは、MFPを操作して、印刷指示等を入力すると、MFPは、管理システムから画像データを受信して、該画像データを用いた印刷を実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-84217号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記技術では、ユーザは、モバイルを用いて画像データを管理システムにアップロードした後に、MFPに印刷を実行させるためにMFPを操作する必要があった。このために、ユーザの負担が大きくなる可能性があった。
【0005】
本明細書は、プリンタと端末装置とサーバとを備える印刷システムにおいて、ユーザの負担を軽減できる技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]印刷システムは、表示部と印刷実行部とを備えるプリンタと、端末装置と、サーバと、を備える。前記プリンタは、前記プリンタが前記サーバにアクセスするための第1権限情報を前記サーバから受信し、前記第1権限情報を前記サーバに送信することに応じて、前記端末装置が前記プリンタに印刷を実行させるための第2権限情報と、前記端末装置が前記プリンタに印刷を実行させるための印刷指示の宛先情報と、を示す特定データを前記サーバから受信し、前記特定データを前記表示部に表示し、前記サーバから印刷ジョブを受信する場合に前記印刷ジョブに従って前記印刷実行部に印刷を実行させる。前記端末装置は、前記プリンタの前記表示部に表示される前記特定データを取得し、前記特定データによって示される前記宛先情報を用いて、前記特定データによって示される前記第2権限情報と、前記印刷指示と、を前記サーバに送信する。サーバは、前記第1権限情報を生成して前記プリンタに送信し、前記第1権限情報を前記プリンタから受信する場合に前記第1権限情報を検証し、前記第1権限情報の検証結果が肯定的である場合に前記特定データを前記プリンタに送信し、前記第2権限情報を前記端末装置から受信する場合に前記第2権限情報を検証し、前記第2権限情報の検証結果が肯定的である場合に、前記端末装置から受信する前記印刷指示に基づく前記印刷ジョブを前記プリンタに送信する。
【0008】
上記構成によれば、端末装置は、プリンタに表示される特定データを取得し、特定データによって示される宛先情報を用いて、特定データによって示される第2権限情報と印刷指示とをサーバに送信する。サーバは、第2権限情報の検証結果が肯定的である場合に、印刷指示に基づく印刷ジョブをプリンタに送信する。プリンタは、印刷ジョブに従って印刷実行部に印刷を実行させる。この結果、ユーザは、端末装置を用いてサーバを介してプリンタに印刷を実行させる場合に、プリンタに表示される特定データを端末装置に取得させた後は、端末装置からサーバに印刷指示を送信するだけで良い。したがって、ユーザの負担が軽減できる。さらに、サーバは、プリンタから送信される第1権限情報と、端末装置から送信される第2権限情報と、の両方を検証する。印刷は、第1権限情報と第2権限情報との両方の検証結果が肯定的ある場合に、実行されるので、例えば、端末装置から受信される印刷指示に基づいて、別のプリンタが印刷を行う不具合や、別の端末装置から受信される印刷指示に基づいて、プリンタが印刷を行う不具合を抑制できる。この結果、印刷のセキュリティの確保とユーザの負担の軽減とを両立できる。
【0009】
なお、本明細書に開示された技術は、種々の形態で実現可能であり、例えば、印刷方法、端末装置、プリンタ、サーバ、および、これらのシステム、方法、装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
図1】システム1000の構成を示すブロック図。
図2】実施例のシステム1000の動作を示す第1のシーケンス図。
図3】実施例のシステム1000の動作を示す第2のシーケンス図。
図4】実施例のシステム1000の動作を示す第3のシーケンス図。
図5】実施例のシステム1000の動作を示す第4のシーケンス図。
図6】複合機100の表示部140に表示される表示画面の例を示す図。
図7】端末装置200の表示部240に表示される表示画面の例を示す図。
図8】変形例のシステム1000の動作を示すシーケンス図。
【発明を実施するための形態】
【0011】
A.実施例
A-1.システム1000の構成
図1は、システム1000の構成を示すブロック図である。システム1000は、プリンタおよびスキャナとしての機能を有する複合機100と、端末装置200と、デバイス管理サーバ300と、WEBサーバ400と、アプリケーションサーバ500と、一時保存サーバ600と、を備える。システム1000は、不特定多数のユーザに対して、自身の端末装置(例えば、端末装置200)を用いて複合機100に印刷を行わせることができるサービス(以下、インスタント印刷サービスとも呼ぶ)を提供する。
【0012】
複合機100は、例えば、コンビニエンスストアなどの店舗に設置され、不特定多数のユーザが利用可能である。複合機100は、複合機100のコントローラとして、CPU110と、DRAMなどの揮発性記憶装置120と、ハードディスクやフラッシュメモリなどの不揮発性記憶装置130と、を備えている。また、複合機100は、画像を表示する液晶ディスプレイなどの表示部140と、ユーザによる操作を取得するためのボタンやタッチパネルなどの操作部150と、読取実行部160と、印刷実行部170と、通信インタフェース(IF)180と、を備えている。
【0013】
通信IF180は、インターネットITに接続するためのインタフェース、例えば、イーサネット(登録商標)に準拠した有線のインタフェースや、Wi-Fi規格に準拠した無線のインタフェースである。
【0014】
CPU110は、データ処理を行う演算装置(プロセッサ)である。揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置130には、複合機100を制御するためのコンピュータプログラムPG1と情報データベースIBとが格納されている。
【0015】
コンピュータプログラムPG1は、本実施例では、複合機100の製造時に不揮発性記憶装置130に予め格納されて提供される。これに代えて、コンピュータプログラムPG1は、例えば、インターネットITを介して接続されたサーバからダウンロードされる形態、あるいは、CD-ROMなどに記録された形態で提供され得る。CPU110は、コンピュータプログラムPG1を実行することによって、複合機100の制御を実行する。例えば、後述するように、CPU110は、サーバ300~600と通信を行って、サーバ300~600と協働して、インスタント印刷サービスを提供する。
【0016】
読取実行部160は、図示しない光学センサ(例えば、CIS(Contact Image Sensor)を備え、原稿を光学的に読み取ることによって、原稿を表すスキャンデータを生成する。
【0017】
印刷実行部170は、CPU110の制御に従って、印刷を実行する。本実施例の印刷実行部170は、複数種類のインク(例えば、シアンとマゼンタとイエロとブラックとの4種類のインク)を色材として用いて、画像を記録媒体に印刷するインクジェット方式の印刷実行部である。これに代えて、印刷実行部170は、トナーを色材として用いて、画像を記録媒体に印刷する電子写真方式の印刷実行部であっても良い。
【0018】
端末装置200は、ユーザが所有する計算機であり、例えば、スマートフォンやタブレットコンピュータなどの携帯端末である。
【0019】
端末装置200は、コントローラとして、CPU210と、DRAMなどの揮発性記憶装置220と、ハードディスクやフラッシュメモリなどの不揮発性記憶装置230と、を備えている。また、端末装置200は、画像を表示する液晶ディスプレイなどの表示部240と、ユーザによる操作を取得するためのボタンやタッチパネルなどの操作部250と、カメラ260と、通信IF280と、を備えている。通信IF280は、例えば、Wi-Fi規格や移動体通信の規格(例えば、LTE規格)に準拠した無線の通信インタフェースである。カメラ260は、CCDやCMOSなどの撮像素子を含むイメージセンサを用いて、撮像対象物(被写体)を表す撮像画像データを生成するカメラである。
【0020】
揮発性記憶装置220は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置230には、アプリケーションプログラムAPが格納されている。
【0021】
アプリケーションプログラムAPは、インスタント印刷サービスの提供事業者(例えば、複合機100の製造や販売を行う事業者)によって提供される。アプリケーションプログラムAPは、例えば、インターネットITを介して接続された図示しないサーバからダウンロードされる形態で提供される。これに代えて、アプリケーションプログラムAPは、端末装置200に予めプリインストールされる形態で提供されても良い。端末装置200のCPU210は、アプリケーションプログラムAPを実行することによって、後述するインスタント印刷サービスに関連する処理を実行する。以下、アプリケーションプログラムAPを実行することによって、端末装置200のCPU210が実現する機能を「端末アプリケーション」とも呼ぶ。
【0022】
サーバ300~600は、例えば、インスタント印刷サービスを提供する事業者が運用する計算機、例えば、クラウドサーバである。これらのサーバは、協働して後述するインスタント印刷サービスに関する処理を実行する。
【0023】
デバイス管理サーバ300は、コントローラとしてのCPU310と、DRAMなどの揮発性記憶装置320と、ハードディスクやフラッシュメモリなどの不揮発性記憶装置330と、通信インタフェース(IF)380と、を備えている。通信IF380は、例えば、イーサネット(登録商標)に準拠した有線のインタフェースである。
【0024】
CPU310は、データ処理を行う演算装置(プロセッサ)である。揮発性記憶装置320は、CPU310が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置330には、コンピュータプログラムPGaと、情報データベースDBaと、が格納されている。
【0025】
サーバ400~600は、それぞれ、デバイス管理サーバ300と同様に、コントローラとしてのCPUと、揮発性記憶装置と、通信IFと、を備えている(図示省略)。WEBサーバ400の不揮発性記憶装置には、コンピュータプログラムPGbが格納されている。アプリケーションサーバ500の不揮発性記憶装置には、コンピュータプログラムPGcと情報データベースDBcと、が格納されている。一時保存サーバ600の不揮発性記憶装置には、コンピュータプログラムPGdが格納されている。
【0026】
サーバ300~600のコンピュータプログラムPGa、PGb、PGc、PGdは、例えば、印刷サービスを運用する事業者によってアップロードされる形態で提供される。サーバ300~600のCPUは、それぞれ、コンピュータプログラムPGa~PGdを実行することによって、インスタント印刷サービスに関する処理を実行する。デバイス管理サーバ300の情報データベースDBaには、後述するデバイストークンなどのインスタント印刷サービスに関する情報が記録される。アプリケーションサーバ500の情報データベースDBcには、後述する端末用トークンなどのインスタント印刷サービスに関する情報が記録される。
【0027】
サーバ300~600は、互いにインターネットITを介して通信可能に接続されている。サーバ300~600の全体は、インスタント印刷サービスを提供するための1つのサーバである、とも言うことができる。
【0028】
サーバ300~600は、インターネットITを介して、複合機100、および、端末装置200とも通信可能である。
【0029】
なお、図1では、1つの複合機100と、1つの端末装置200のみが図示されているが、サーバ300~600は、多数のユーザに対して、多数のプリンタを用いて印刷サービスを提供している。以下では、1つの複合機100と端末装置200とに対するインスタント印刷サービスについて各種の処理を説明する。
【0030】
A-2.システム1000の動作
図2図5は、実施例のシステム1000の動作を示すシーケンス図である。図2図5に示す動作は、インスタント印刷サービスに関連する処理の動作である。インスタント印刷サービスに関連する処理は、ユーザが複合機100の操作部150を操作して、サービスの開始指示を入力すると、開始される。
【0031】
S2では、複合機100は、メニュー画面データ要求をWEBサーバ400に対して送信する。WEBサーバ400にアクセスするための宛先情報(例えば、URL(Uniform Resource Locator))は、予め複合機100の情報データベースIBに記録されている。
【0032】
WEBサーバ400は、複合機100からメニュー画面データ要求を受信すると、S4にて、メニュー画面データを複合機100に送信する。複合機100は、メニュー画面データを受信すると、メニュー画面データ要求を用いて、メニュー画面W1を表示部140に表示する。
【0033】
図6は、複合機100の表示部140に表示される表示画面の例を示す図である。図6(A)のメニュー画面W1は、利用可能なサービスを選択するための選択ボタンBT1~BT3と、ユーザにサービスの選択を促すメッセージMS1と、を含む。選択ボタンBT1は、ユーザが準備した原稿のコピーを行うコピーサービスを選択するためのボタンであり、選択ボタンBT2は、ユーザが準備した原稿のスキャンデータを生成するスキャンサービスを選択するためのボタンである。選択ボタンBT3は、上述したインスタント印刷サービスを選択するためのボタンである。ユーザは、選択ボタンBT3を押下することで、インスタント印刷サービスの利用要求を複合機100に入力することができる。以下では、選択ボタンBT3が押下されて、複合機100がインスタント印刷サービスの利用要求を取得する場合について説明する。
【0034】
複合機100は、インスタント印刷サービスの利用要求を取得すると、S8にて、デバイストークン要求をデバイス管理サーバ300に送信する。デバイストークン要求には、選択されたサービスを示すサービス情報(本実施例では、インスタント印刷サービスを示す情報)が含められる。本実施例では、複合機100の電源が投入されている間は、複合機100とデバイス管理サーバ300との間にXMPP(Extensible Messaging and Presence Protocol)に従って常時接続のための通信セッションが確立されている。複合機100とデバイス管理サーバ300との間の通信は、該通信セッションを用いて行われる。
【0035】
デバイス管理サーバ300は、複合機100からデバイストークン要求を受信すると、S10にて、デバイストークンを生成する。デバイストークンは、例えば、所定数の文字から成る文字列を示すデータであり、複合機100がアプリケーションサーバ500にアクセスするための権限を示す権限情報である。デバイストークンは、例えば、ランダムに所定数の文字を選択することによって生成され、生成が行われる度に異なる。したがって、複合機100がユーザからインスタント印刷サービスの利用要求を取得する度に、毎回、異なるデバイストークンが生成される。
【0036】
S12では、デバイス管理サーバ300は、生成したデバイストークンを記録する。例えば、生成されたデバイストークンは、デバイストークンテーブルDTに、複合機100のデバイスIDとサービス情報と対応付けて記録される。デバイストークンテーブルDTは、情報データベースDBa(図1)に格納されている。複合機100のデバイスIDは、例えば、XMPPの通信セッションを確立する際に、複合機100から取得されている。サービス情報は、複合機100から受信したデバイストークン要求に含まれている。図2の例では、デバイストークンテーブルDTには、生成されたデバイストークン「DTK_a」と、複合機100のデバイスID「PID_a」と、インスタント印刷サービスを示すサービス情報と、が記録されている。
【0037】
S14では、デバイス管理サーバ300は、生成したデバイストークンを複合機100に送信する。複合機100は、デバイス管理サーバ300からデバイストークンを受信すると、S16にて、インスタント印刷画面データ要求をWEBサーバ400に送信する。インスタント印刷画面データ要求には、受信したデバイストークンが含められる。なお、デバイストークンは、メニュー画面W1にてインスタント印刷サービスが選択される度に、毎回、デバイス管理サーバ300から新たに取得される。このために、受信したデバイストークンは、再度、用いられることはないので、複合機100は、該デバイストークンを情報データベースIBには記録しない。
【0038】
WEBサーバ400は、インスタント印刷画面データ要求を複合機100から受信すると、S18にて、端末用トークン要求をアプリケーションサーバ500に送信する。端末用トークン要求には、複合機100から受信したデバイストークンが含められる。
【0039】
アプリケーションサーバ500は、複合機100から端末用トークン要求を受信すると、S20にて、トークン検証要求をデバイス管理サーバ300に送信する。トークン検証要求には、端末用トークン要求に含まれるデバイストークンが含められる。
【0040】
デバイス管理サーバ300は、アプリケーションサーバ500からトークン検証要求を受信すると、S22にて、トークン検証要求に含まれるデバイストークンを検証する。具体的には、デバイス管理サーバ300は、デバイストークンテーブルDTを参照して、トークン検証要求に含まれるデバイストークンが、デバイストークンテーブルDTに記録されているか否かを判断する。デバイス管理サーバ300は、トークン検証要求に含まれるデバイストークンが、デバイストークンテーブルDTに記録されている場合には、該デバイストークンは正当なトークンであると判断する。デバイス管理サーバ300は、トークン検証要求に含まれるデバイストークンが、デバイストークンテーブルDTに記録されていない場合には、該デバイストークンは正当なトークンではないと判断する。
【0041】
S24では、デバイス管理サーバ300は、検証結果をアプリケーションサーバ500に送信する。デバイス管理サーバ300は、デバイストークンが正当なトークンであると判断する場合には、肯定的な検証結果を送信し、デバイストークンが正当なトークンでないと判断する場合には、否定的な検証結果を送信する。肯定的な検証結果には、デバイストークンテーブルDTにおいて、検証したデバイストークンと対応付けられたデバイスIDとサービス情報とが含められる。否定的な検証結果には、デバイスIDとサービス情報とが含められない。
【0042】
アプリケーションサーバ500は、デバイス管理サーバ300から検証結果を受信すると、S25にて、デバイス管理サーバ300から送信された検証結果が肯定的であるか否かを判断する。検証結果が肯定的である場合には、アプリケーションサーバ500は、図3のS26に処理を進める。
【0043】
S26では、アプリケーションサーバ500は、端末用トークンを生成する。端末用トークンは、例えば、所定数の文字から成る文字列を示すデータである。端末用トークンは、端末装置200がアプリケーションサーバ500にアクセスするため、および、アプリケーションサーバ500を介して複合機100に印刷を実行させるための権限情報である。端末用トークンは、例えば、ランダムに所定数の文字を選択することによって生成され、生成が行われる度に異なる。したがって、端末装置200からインスタント印刷画面データ要求が送信される度に、毎回、異なる端末用トークンが生成される。
【0044】
S28では、アプリケーションサーバ500は、生成した端末用トークンを記録する。例えば、生成された端末用トークンは、端末用トークンテーブルTT(図3)に、複合機100のデバイスIDとサービス情報とステータス情報と対応付けて記録される。端末用トークンテーブルTTは、情報データベースDBc(図1)に格納されている。複合機100のデバイスIDとサービス情報は、検証結果が肯定的である場合に検証結果とともにデバイス管理サーバ300から受信される(図2のS24)。ステータス情報は、端末用トークンが未使用であるか使用済みであるかを示すフラグである。S28の時点では、端末用トークンは未使用であるので、未使用を示すステータス情報が記録される。図3の例では、端末用トークンテーブルTTには、生成された端末用トークン「TTK_a」と、複合機100のデバイスID「PID_a」と、インスタント印刷サービスを示すサービス情報と、未使用を示すステータス情報とが、記録されている。
【0045】
S29では、アプリケーションサーバ500は、生成された端末用トークンを用いて端末用URLを生成する。端末用URLは、端末装置200がアプリケーションサーバ500にアクセスする際に用いるURLである。端末用URLは、アプリケーションサーバ500の宛先を示すURLに、クエリ文字列として端末用トークンが付加されたURLである。
【0046】
S30では、アプリケーションサーバ500は、端末用URLをコード化したQRコード(登録商標)を示すQRコードデータを生成する。QRコードデータは、例えば、白と黒とでQRコードを示す二値画像データである。
【0047】
S32では、アプリケーションサーバ500は、取得用URLを生成する。取得用URLは、後述するように、複合機100がQRコードデータを取得するためのURLである。アプリケーションサーバ500は、例えば、自身の不揮発性記憶装置の所定の格納場所を示すURLを取得用URLとして生成する。
【0048】
S34では、アプリケーションサーバ500は、QRコードデータを取得用URLと対応付けて不揮発性記憶装置に格納する。例えば、アプリケーションサーバ500は、取得用URLによって示される所定の格納場所にQRコードデータを格納する。図3の例では、QRコードデータ「QRD_a」と取得URL「URL_a」が対応付けられている。
【0049】
S36では、アプリケーションサーバ500は、取得用URLをWEBサーバ400に送信する。WEBサーバ400は、アプリケーションサーバ500から取得用URLを受信すると、S38にて、後述するインスタント印刷画面W2(図6(B))を示すインスタント印刷画面データを生成する。インスタント印刷画面データには、受信した取得用URLが含められる。S40では、WEBサーバ400は、生成したインスタント印刷画面データを複合機100に送信する。
【0050】
複合機100は、WEBサーバ400からインスタント印刷画面データを受信すると、S42にて、QRコードデータ要求をアプリケーションサーバ500に送信する。QRコード要求には、インスタント印刷画面データに含まれる取得用URLが宛先として含められる。アプリケーションサーバ500は、複合機100からQRコードデータ要求を受信すると、S44にて、取得用URLに対応付けられたQRコードデータを不揮発性記憶装置から取得し、複合機100に送信する。
【0051】
複合機100は、QRコードデータを受信すると、S46にて、インスタント印刷画面W2を表示部140に表示する。インスタント印刷画面W2の表示は、QRコードデータと、S40にて受信済みのインスタント印刷画面データと、を用いて、実行される。図6(B)のインスタント印刷画面W2は、印刷すべき画像データが保存された端末装置(例えば、端末装置200)を用いて、QRコードCIを読み取ることを促すメッセージMS2と、QRコードCIと、読取完了ボタンBT4と、を含んでいる。QRコードCIは、QRコードデータによって示される画像である。ユーザは、後述するように、端末装置200を操作して、端末装置200にQRコードCIを読み取らせた後に、読取完了ボタンBT4を押下する。読取完了ボタンBT4が押下されると、複合機100は、インスタント印刷画面W2の表示を終了する。
【0052】
図2のS25にて、デバイス管理サーバ300から送信された検証結果が否定的である場合には、アプリケーションサーバ500は、中断処理を実行する。具体的には、アプリケーションサーバ500は、WEBサーバ400に中断通知を送信し、図3のS26~S36を実行することなく、処理を中断する。したがって、この場合には、アプリケーションサーバ500は、端末用トークンの生成、QRコードデータの生成、取得用URLの生成および送信を実行しない。この場合には、WEBサーバ400は、アプリケーションサーバ500から中断通知を受信すると、複合機100に中断通知を送信し、インスタント印刷画面データの生成および送信(S38、S40)を行うことなく、処理を中断する。そして、複合機100は、WEBサーバ400から中断通知を受信すると、処理が中断された旨を示す表示画面を表示部140に表示して、QRコードデータの受信(S44)やインスタント印刷画面W2の表示(S46)を行うことなく、処理を中断する。この場合には、ユーザは、インスタント印刷サービスを利用できない。例えば、ユーザは、開始指示を複合機100に入力することで、図2のS2から始まる上述の処理を、システム1000に再度実行させることで、インスタント印刷サービスを利用し得る。
【0053】
以下では、図3のS46にて、インスタント印刷画面W2が表示部140に表示された場合に、その後に行われる処理について説明する。
【0054】
図4のS50では、端末装置200は、ユーザの操作に応じて、複合機100の表示部140に表示されたインスタント印刷画面W2に含まれるQRコードCIを読み取る。例えば、ユーザは、端末装置200においてQRコードを読み取るための読取アプリケーションを起動し、該読取アプリケーションを操作することで、端末装置200のカメラ260を用いてQRコードCIを撮像する。読取アプリケーションは、QRコードCIを複合することによって、QRコードCIによって示されるデータである端末用URLを取得する。端末用URLは、上述のように、アプリケーションサーバ500の宛先を示すURLと、該URLに付加された端末用トークンと、を含んでいる。
【0055】
S52では、端末装置200は、アプリケーションプログラムAPを起動する。以下では、端末装置200は、インスタント印刷のための端末アプリケーションとして動作する。S54では、端末装置200は、印刷指示画面データ要求をアプリケーションサーバ500に送信する。印刷指示画面データ要求には、QRコードCIを読み取って得られた端末用URLが宛先として含められる。したがって、端末用トークンは、印刷指示画面データ要求とともにアプリケーションサーバ500に送信される。
【0056】
アプリケーションサーバ500は、端末装置200から印刷指示画面データ要求を受信すると、S56にて、印刷指示画面データ要求に含まれる端末用URLに付加された端末用トークンを検証する。具体的には、アプリケーションサーバ500は、端末用トークンテーブルTTを参照して、該端末用トークンが端末用トークンテーブルTT(図3)に記録されているか否かを判断する。アプリケーションサーバ500は、該端末用トークンが端末用トークンテーブルTTに記録されている場合には、端末用トークンテーブルTTにおいて該端末用トークンに対応付けられたサービス情報とステータス情報とを取得する。アプリケーションサーバ500は、取得されたサービス情報がインスタント印刷サービスを示すか否かと、取得されたステータス情報が未使用を示すか否かと、を判断する。端末用トークンが端末用トークンテーブルTTに記録され、かつ、対応するサービス情報がインスタント印刷サービスを示し、かつ、ステータス情報が未使用を示す場合には、アプリケーションサーバ500は、該端末用トークンは正当なトークンであると判断する。端末用トークンが端末用トークンテーブルTTに記録されていない、または、対応するサービス情報がインスタント印刷サービスを示していない、または、ステータス情報が使用済みを示す場合には、アプリケーションサーバ500は、該端末用トークンは正当なトークンでないと判断する。
【0057】
S58では、アプリケーションサーバ500は、検証結果が肯定的であるか否かを判断する。検証結果が肯定的であるとは、S56における検証にて、端末用トークンは正当なトークンであると判断されることを意味し、検証結果が否定的であるとは、S56における検証にて、端末用トークンは正当なトークンでないと判断されることを意味する。アプリケーションサーバ500は、検証結果が肯定的である場合には、S60に処理を進める。
【0058】
S60では、アプリケーションサーバ500は、端末用トークンのステータスを使用済みに変更する。すなわち、端末用トークンテーブルTT(図3)において、端末用トークンに対応付けられたステータス情報を、未使用を示す情報から使用済みを示す情報に更新する。これによって、端末用トークンは、これ以降、正当なトークンとは扱われない。このように、本実施例の端末用トークンは、1回に限って使用が許容される使い捨てのトークンである。
【0059】
S61では、アプリケーションサーバ500は、印刷指示画面データを送信するための通信セッションを、端末装置200との間で確立する。通信セッションは、所定のプロトコル、本実施例では、HTTP(Hypertext Transfer Protocol)に従って、端末装置200とアプリケーションサーバ500との間で、所定の通信手続きを行うことによって確立される。以下では、端末装置200とアプリケーションサーバ500との間で行われる通信(図4のS62、S66、図5のS102)は、S61にて確立されたセッションを用いて行われる。
【0060】
S62では、アプリケーションサーバ500は、印刷指示画面データを端末装置200に対して送信する。この印刷指示画面データは、予め生成されてアプリケーションサーバ500の不揮発性記憶装置に格納されている。
【0061】
端末装置200は、アプリケーションサーバ500から印刷指示画面データを受信すると、S64にて、印刷指示画面データを用いて、表示部240に印刷指示画面W3を表示する。図7は、端末装置200の表示部240に表示される表示画面の例を示す図である。図7(A)の印刷指示画面W3は、画像データの選択と印刷指示の入力とを促すメッセージMS3と、画像選択ボタンBT5と、印刷指示ボタンBT6と、を含む。画像選択ボタンBT5が押下されると、端末装置200は、図示しない画像データ選択画面を表示部240に表示する。ユーザは、画像データ選択画面にて所定の操作を行って、端末装置200の不揮発性記憶装置230に格納された画像データの中から印刷すべき画像を示す画像データを選択する。ユーザは、画像データを選択した後に、印刷指示ボタンBT6を押下する。印刷指示ボタンBT6が押下されると、端末装置200は、ユーザによって選択された画像データを用いて印刷を実行する印刷指示を取得する。
【0062】
端末装置200は、ユーザから印刷指示を取得すると、S66にて、印刷指示をアプリケーションサーバ500に送信する。該印刷指示には、ユーザによって選択された画像データが含められる。アプリケーションサーバ500は、端末装置200から印刷指示を受信すると、S68にて、該印刷指示に含まれる画像データを一時保存サーバ600に送信する。
【0063】
一時保存サーバ600は、アプリケーションサーバ500から画像データを受信すると、S70にて、画像データに対して、所定の画像変換処理を実行して、印刷ジョブを生成する。印刷ジョブは、複合機100が処理可能なフォーマットを有する印刷データや印刷コマンドを含む。
【0064】
S72では、一時保存サーバ600は、生成した印刷ジョブを、自身の不揮発性記憶装置に格納する。S74では、一時保存サーバ600は、印刷ジョブの格納場所を示す格納先URLをアプリケーションサーバ500に送信する。
【0065】
アプリケーションサーバ500は、一時保存サーバ600から格納先URLを受信すると、図5のS76にて、印刷指示をデバイス管理サーバ300に送信する。印刷指示には、一時保存サーバ600から受信した格納先URLと、印刷を行うべきデバイスのデバイスID(本実施例では複合機100のデバイスID)と、が含められる。このデバイスIDは、端末用トークンテーブルTT(図3)において、図4のS54にて端末装置200から受信される端末用トークンと対応付けられたデバイスIDである。
【0066】
デバイス管理サーバ300は、アプリケーションサーバ500から印刷指示を受信すると、S78にて、印刷指示を送信すべきデバイスを特定する。デバイス管理サーバ300が印刷指示を送信可能なデバイスは、デバイス管理サーバ300との間で、常時接続(例えば、XMPP接続)の通信セッションが確立されているデバイスである。印刷指示を送信すべきデバイス(例えば、複合機100)とデバイス管理サーバ300とは、常時接続を用いて、デバイストークンに関する通信(図2のS8、S14)を行っているので、常時接続(例えば、XMPP接続)の通信セッションが確立済みである。デバイス管理サーバ300は、常時接続の通信セッションが確立されているデバイスの中から、印刷指示に含まれるデバイスIDを有するデバイスを、印刷指示を送信すべきデバイスとして特定する。図5の例では、複合機100が特定される。
【0067】
S80では、デバイス管理サーバ300は、特定されたデバイス、本実施例では、複合機100に印刷指示を送信する。印刷指示には、アプリケーションサーバ500から受信した格納先URLが含められる。
【0068】
複合機100は、デバイス管理サーバ300から印刷指示を受信すると、S82にて、印刷ジョブ要求を一時保存サーバ600に送信する。印刷ジョブ要求には、アプリケーションサーバ500から受信した格納先URL(一時保存サーバ600を示すURL)が宛先として含められる。
【0069】
一時保存サーバ600は、複合機100から印刷ジョブ要求を受信すると、S84にて、印刷ジョブを特定する。具体的には、図4にS72において、印刷ジョブ要求に含まれる格納先URLによって示される格納場所に格納された印刷ジョブが特定される。一時保存サーバ600は、特定した印刷ジョブを複合機100に送信する。
【0070】
複合機100は、一時保存サーバ600から印刷ジョブを受信すると、S88にて、該印刷ジョブに従って印刷実行部170を制御して、印刷実行部170に印刷を実行させる。
【0071】
S90では、複合機100は、印刷結果通知をデバイス管理サーバ300に送信する。印刷結果通知は、S88での印刷結果を示す通知であり、印刷の完了を示す通知や印刷の失敗を示す通知を含む。印刷の失敗は、例えば、一時保存サーバ600との通信エラー、印刷ジョブを解釈できないエラー、複合機100の故障や消耗品の不足、などに起因して起こりえる。複合機100は、デバイス管理サーバ300との間に確立された常時接続を利用して、定期的に複合機100の状況を示す通知をデバイス管理サーバ300に送信している。S90の印刷結果通知は、例えば、このような定期的な通知の1つとして、デバイス管理サーバ300に送信される。
【0072】
デバイス管理サーバ300は、複合機100から印刷結果通知を受信すると、S92にて、該印刷結果通知が、印刷の完了を示すか失敗を示すかに拘わらず、関連情報を削除する。削除される関連情報は、デバイストークンテーブルDT(図2)に記録されたデバイストークンと、該デバイストークンに対応付けられたデバイスID、サービス情報、および、ステータス情報と、を含む。S94では、デバイス管理サーバ300は、複合機100から受信した印刷結果通知をアプリケーションサーバ500に送信する。
【0073】
アプリケーションサーバ500は、デバイス管理サーバ300から印刷結果通知を受信すると、S96にて、該印刷結果通知が、印刷の完了を示すか失敗を示すかに拘わらず、関連情報を削除する。削除される関連情報は、端末用トークンテーブルTT(図3)に記録された端末用用トークンと、該端末用トークンに対応付けられたデバイスID、サービス情報と、を含む。削除される関連情報は、さらに、S34にて、不揮発性記憶装置に格納されたQRコードデータを含む。S98では、アプリケーションサーバ500は、デバイス管理サーバ300から受信した印刷結果通知を一時保存サーバ600に送信する。
【0074】
一時保存サーバ600は、アプリケーションサーバ500から印刷結果通知を受信すると、S100にて、不揮発性記憶装置に格納された印刷ジョブを削除する。
【0075】
S102では、アプリケーションサーバ500は、デバイス管理サーバ300から受信された印刷結果通知を端末装置200に送信する。端末装置200は、該印刷結果通知を受信すると、S104にて、印刷結果通知画面を表示部240に表示する。図7(B)の印刷結果通知画面W4は、印刷が完了した場合に表示される。印刷結果通知画面W4は、印刷が完了した旨を通知するメッセージMS4を含む。
【0076】
図7(C)の印刷結果通知画面W5は、印刷が失敗した場合に表示される。印刷結果通知画面W5は、印刷が失敗した旨を通知するメッセージMS5と、再度、複合機100の操作からやり直すことを促すメッセージMS6と、を含む。上述のように、印刷が失敗した場合であっても、サーバ300、500、600にて、関連情報や印刷ジョブが削除される。このため、仮にS88での印刷が失敗した場合には、例えば、ユーザは、開始指示を複合機100に入力することで、図2のS2から始まる上述の処理を、システム1000に再度実行させることで、インスタント印刷サービスを再度利用し得る。
【0077】
図4のS58にて、端末用トークンの検証結果が否定的である場合には、アプリケーションサーバ500は、中断処理を実行する。具体的には、アプリケーションサーバ500は、S54で受信される印刷指示画面要求に対して中断通知(エラーを示す通知)を送信し、図4のS61、S62を実行することなく、処理を中断する。したがって、この場合には、アプリケーションサーバ500は、端末装置200との間に、通信セッションを確立せず、印刷指示画面データの送信も行わない。このために、この場合には、S64以降の処理も実行されない。端末装置200は、中断通知を受信すると、例えば、図7(C)の印刷結果通知画面W5と同様の画面を表示する。この場合も、ユーザは、開始指示を複合機100に入力することで、図2のS2から始まる上述の処理を、システム1000に再度実行させることで、インスタント印刷サービスを再度利用し得る。
【0078】
以上説明した本実施例によれば、複合機100は、デバイストークンをデバイス管理サーバ300から受信し(図2のS14)、該デバイストークンをWEBサーバ400に送信すること(図2のS16)に応じて、QRコードデータをアプリケーションサーバ500から受信する(図3のS44)。QRコードデータは、端末用トークンと、端末装置200が印刷指示を送信するための宛先情報であるURLと、を含む端末用URLを示している。複合機100は、QRコードデータ(QRコードCI)を表示部140に表示する(図3のS46、図6(B))。さらに、複合機100は、デバイス管理サーバ300から印刷ジョブを受信する場合に(図5のS86)、印刷ジョブに従って印刷実行部170に印刷を実行させる(図5のS88)。
【0079】
端末装置200は、複合機100プリンタの表示部140に表示されるQRコードCIを読み取ることでQRコードデータを取得する(図4のS50)。端末装置200は、QRコードCIによって示される宛先情報(URL)を用いて、QRコードCIによって示される端末用トークンと、印刷指示と、をアプリケーションサーバ500に送信するサーバに送信する(図4のS54、S66)。
【0080】
デバイス管理サーバ300は、デバイストークンを生成して複合機100に送信する(図2のS14)。デバイス管理サーバ300は、デバイストークンを複合機100から受信する場合に(図2のS16、S18、S20)、デバイストークンを検証する(図2のS20)。なお、本実施例では、デバイス管理サーバ300は、サーバ300、400を介して、デバイストークンを受信する(図2のS16、S18、S20)。
【0081】
アプリケーションサーバ500は、デバイストークンの検証結果が肯定的である場合に(図2のS25)、端末用URLを示すQRコードデータを複合機100に送信する(図3のS44)。なお、本実施例では、端末用URLは、印刷指示の宛先情報(URL)と、端末用トークンと、を含む。アプリケーションサーバ500は、端末用トークンを端末装置200から受信する場合に端末用トークンを検証する(図4のS54、S56)。一時保存サーバ600は、端末用トークンの検証結果が肯定的である場合に(図4のS58)、端末装置200から受信する印刷指示に基づく印刷ジョブを複合機100に送信する(図5のS86)。
【0082】
上述のように、端末装置200は、複合機100にQRコードCIを取得し、QRコードCIによって示される宛先情報を用いて、QRコードCIによって示される端末用トークンと印刷指示とをアプリケーションサーバ500に送信する。一時保存サーバ600は、アプリケーションサーバ500による端末用トークンの検証結果が肯定的である場合に、印刷指示に基づく印刷ジョブを複合機100に送信する。複合機100は、印刷ジョブに従って印刷実行部170に印刷を実行させる。この結果、ユーザは、端末装置200を用いてサーバを介して複合機100プリンタに印刷を実行させる場合に、複合機100に表示される特定データを端末装置200に取得させた後は、端末装置200からアプリケーションサーバ500に印刷指示を送信するだけで良い。したがって、ユーザの負担が軽減できる。さらに、サーバ300、400は、複合機100から送信されるデバイストークンと、端末装置200から送信される端末用トークンと、の両方を検証する。印刷は、デバイストークンと端末用トークンとの両方の検証結果が肯定的ある場合に、実行される。このために、例えば、端末装置200から受信される印刷指示に基づいて、別の複合機やプリンタが印刷を行う不具合や、別の端末装置200から受信される印刷指示に基づいて、複合機100が印刷を行う不具合を抑制できる。この結果、印刷のセキュリティの確保とユーザの負担の軽減とを両立できる。
【0083】
端末装置200からアプリケーションサーバ500に印刷指示を送信するだけで、インスタント印刷が実行される場合には、印刷指示の送信後に、例えば、ユーザが複合機100の操作部150を操作して印刷ジョブの内容を確認する等の操作が必要ない。これによって、ユーザの負担は軽減されるが、例えば、誤印刷などのセキュリティ上の問題が発生する可能性がある。本実施例では、2段階のトークンの検証を行うことで、このような問題が発生することを抑制できる。
【0084】
より具体的には、システム1000におけるサーバは、デバイス管理サーバ300と、アプリケーションサーバ500と、を備えている。デバイス管理サーバ300は、複合機100から受信するデバイストークン要求に応じてデバイストークンを生成して複合機100に送信する(図2のS8、S10、S14)。アプリケーションサーバ500は、複合機100からデバイストークンを受信し(図2のS16、S18)、複合機100から受信するデバイストークンをデバイス管理サーバ300に送信する(図2のS20)。デバイス管理サーバ300は、アプリケーションサーバ500から受信するデバイストークンを検証し(図2のS22)、デバイストークンの検証結果をアプリケーションサーバ500に送信する(図2のS24)。アプリケーションサーバ500は、デバイス管理サーバ300から受信するデバイストークンの検証結果が肯定的である場合に端末用トークンを生成し(図2のS25、図3のS26)、端末用トークンを示すQRコードデータを複合機100に送信する(図3のS44)。この結果、デバイス管理サーバ300とアプリケーションサーバ500とが協働して、デバイストークンや端末用トークンの生成や検証を実行することで、印刷のセキュリティが適切に確保できる。
【0085】
さらに、本実施例では、アプリケーションサーバ500は、デバイストークンの検証結果が否定的である場合に、QRコードデータを複合機100に送信しない(図2のS25)。この結果、例えば、端末用トークンを示すQRコードデータを送信すべきでないデバイスに誤ってQRコードデータが送信されることを抑制できる。この結果、端末用トークンが不正にあるいは誤って端末装置やデバイスに取得されることを抑制できる。したがって、印刷のセキュリティをさらに適切に確保できる。
【0086】
さらに、本実施例では、アプリケーションサーバ500は、端末用トークンの検証結果が否定的である場合に、印刷ジョブを複合機100に送信しない(図4のS58)。この結果、正当な端末用トークンを取得していない端末装置を用いて印刷が行われることを抑制できる。この結果、例えば、インスタント印刷サービスの不正利用を抑制することができる。したがって、印刷のセキュリティをさらに適切に確保できる。
【0087】
さらに、本実施例では、アプリケーションサーバ500は、端末用トークンの検証結果が肯定的である場合に(図4のS58)、端末装置200との間に、印刷指示を受信するための通信セッションを確立し(図4のS61)、該通信セッションを用いて、端末装置200から印刷指示を受信する(図4のS66)。アプリケーションサーバ500は、端末用トークンの検証結果が否定的である場合に、端末装置200との間に、印刷指示を受信するための通信セッションを確立しない。したがって、印刷のセキュリティをさらに適切に確保できる。
【0088】
さらに、本実施例では、一時保存サーバ600は、複合機100による印刷が完了した後に、印刷ジョブを削除する(図5のS98、S100)。この結果、例えば、該印刷ジョブを用いて、印刷が再度行われることを抑制できる。この結果、インスタント印刷サービスの不正利用や、誤って印刷が行われることを抑制することができる。
【0089】
さらに、本実施例では、一時保存サーバ600は、複合機100による印刷が失敗した後に、印刷ジョブを削除する(図5のS98、S100)。このように、印刷が失敗した場合であっても、印刷ジョブの再送信等を行わずに、印刷ジョブを削除するので、インスタント印刷サービスの不正利用や、誤って印刷が行われることをさらに確実に抑制することができる。
【0090】
さらに、本実施例では、アプリケーションサーバ500は、端末用トークンをステータス情報と対応付けて記録し(図3のS28)、端末用トークンの検証時に、ステータス情報を用いて、端末用トークンが未使用であるか否かを判断する(図4のS56)。上述したように、端末用トークンが肯定的であると判断するための条件は、端末用トークンが未使用であることを含む。この結果、端末用トークンの使い回しを抑制できるので、印刷のセキュリティをさらに向上できる。仮に、端末用トークンを用いて、何度も印刷を実行することを許容すると、例えば、端末用トークンを不正に取得した端末装置を用いて印刷が行われる可能性が増加するので、セキュリティが低下しやすい。
【0091】
さらに、本実施例では、複合機100は、ユーザから端末装置200を用いたインスタント印刷サービスの利用要求を取得する度に、デバイストークン要求をデバイス管理サーバ300に送信する(図2のS8)。そして、複合機100は、利用要求ごとに異なるデバイストークンをデバイス管理サーバ300から受信する(図2のS14)。店舗に設置された複合機100のように、不特定多数のユーザによる利用が想定される環境下では、不正利用を抑制する等のセキュリティ上の観点から、利用要求ごとに異なるデバイストークンが用いられることが好ましい。本実施例によれば、不特定多数のユーザによる利用が想定される環境下であっても、印刷のセキュリティを適切に確保できる。
【0092】
さらに、本実施例では、アプリケーションサーバ500は、複合機100から送信されるインスタント印刷画面データ要求ごとに、異なる端末用トークンを生成する(図3のS26)。この結果、インスタント印刷サービスの不正利用や、誤って印刷が行われることをさらに確実に抑制することができる。
【0093】
以上の説明から解るように、本実施例のデバイストークンは、第1権限情報の例であり、端末用トークンは、第2権限情報の例であり、QRコードデータは、特定データの例である。本実施例のデバイス管理サーバ300は、第1サーバの例であり、アプリケーションサーバ500は、第2サーバの例えある。
【0094】
B.変形例
(1)図8は、変形例のシステム1000の動作を示すシーケンス図である。変形例では、実施例の図4の処理に代えて、図8の処理が実行される。図8において、S50~S62の処理は、図4のS50~S62の処理と同一であるので、図示を省略する。変形例において、図8以外の処理は、実施例の図2図3図5の処理と同一である。
【0095】
図8に示すように、変形例では、図4のS66~S74に代えて、図8のS66B~S74Bの処理が実行される。
【0096】
S64では、実施例と同様に、端末装置200は、アプリケーションサーバ500から受信される印刷指示画面データを用いて、表示部240に印刷指示画面W3を表示する。端末装置200は、印刷指示画面W3を介してユーザから印刷指示を取得すると、S66Bにて、印刷ジョブ要求を一時保存サーバ600に送信する。印刷ジョブ要求には、ユーザによって選択された画像データが含められる。
【0097】
一時保存サーバ600は、印刷ジョブ要求を受信すると、S68Bにて、図4のS70と同様の画像変換処理を実行して、印刷ジョブを生成する。S69Bでは、一時保存サーバ600は、生成した印刷ジョブを端末装置200に送信する。
【0098】
端末装置200は、一時保存サーバ600から印刷ジョブを受信すると、S70Bにて、印刷指示をアプリケーションサーバ500に送信する。該印刷指示には、一時保存サーバ600から受信した印刷ジョブが含められる。アプリケーションサーバ500は、端末装置200から印刷指示を受信すると、S71Bにて、該印刷指示に含まれる印刷ジョブを一時保存サーバ600に送信する。
【0099】
一時保存サーバ600は、アプリケーションサーバ500から印刷ジョブを受信すると、S72Bにて、受信した印刷ジョブを、自身の不揮発性記憶装置に格納する。S74Bでは、一時保存サーバ600は、印刷ジョブの格納場所を示す格納先URLをアプリケーションサーバ500に送信する。
【0100】
このように、本変形例では、端末装置200が、直接、一時保存サーバ600と通信を行って、一時保存サーバ600から印刷ジョブを取得する。このために、アプリケーションサーバ500は、実施例のように、一時保存サーバ600に画像データを送信する必要がない。このために、例えば、アプリケーションサーバ500は、一時保存サーバ600が画像変換処理を実行している間に、一時保存サーバ600との間の通信セッションを維持する必要がない。この結果、本変形例によれば、アプリケーションサーバ500の負荷を低減できる。
【0101】
(2)上記実施例では、QRコードデータは、印刷指示の宛先情報であるURLにクエリ文字列として端末用トークンが付加して得られる端末用URLを示している。これに代えて、印刷指示の宛先情報(URL)と端末用トークンとは、別々のデータであっても良い。この場合には、QRコードデータは、別々の2つのデータを示す1つのQRコードを示すデータであっても良い。また、QRコードデータは、宛先情報を示す第1QRコードと、端末用トークンを示す第2QRコードと、を示すデータであっても良い。この場合には、端末装置200は、第1QRコードと、第2QRコードと、を読み取って、印刷指示の宛先情報(URL)と端末用トークンとを取得する。
【0102】
端末用URLを示すデータは、QRコードデータに限らず、他のコードデータ、例えば、一次元コードデータ(いわゆるバーコード)であっても良いし、QRコードとは異なる二次元コードデータであっても良い。QRコードとは異なる二次元コードデータは、例えば、PDF417やCODE49などのスタック型二次元コードであっても良いし、DataMatrixやVeriCodeなどのマトリクス型二次元コードであっても良い。
【0103】
また、端末用URLを示すデータは、表示部140に端末用URLを表示可能なデータであれば良い。例えば、端末用URLをコード化して表示するデータ(本実施例のQUコードデータ)に限られず、他の態様で端末用URLを表示するデータであっても良い。他の態様としては、例えば、文字によって端末用URLを示すテキストデータが採用され得る。この場合には、表示部140には、端末用URLを示すテキストが表示される。端末装置200は、該テキストを撮像して得られる撮像画像データを取得する。端末装置200は、該撮像画像データに対して文字認識処理(例えば、公知のOCR(Optical Character Reader)技術に基づく処理)を実行して、端末用URLを取得する。あるいは、ユーザが表示部140に表示されるテキストを端末装置200に入力することによって、端末装置200が端末用URLを取得しても良い。
【0104】
(3)上記実施例では、デバイストークンの検証結果が否定的である場合には、アプリケーションサーバ500が中断処理を実行することで、処理が中断される(図2のS25)。これに代えて、例えば、検証結果は、アプリケーションサーバ500から複合機100に送信され、複合機100が中断処理を実行しても良い。例えば、複合機100は、否定的な検証結果を受信した場合には、例えば、QRコードデータを受信したとしてもQRコードCIの表示を行うことなく、処理を中断しても良い。
【0105】
(4)上記実施例では、端末用トークンの検証結果が否定的である場合には、アプリケーションサーバ500が中断処理を実行することで、処理が中断される(図4のS58)。これに代えて、例えば、検証結果は、アプリケーションサーバ500から複合機100に送信され、複合機100が中断処理を実行しても良い。例えば、複合機100は、否定的な検証結果を受信した場合には、例えば、その後に、印刷ジョブを受信したとしても該印刷ジョブを用いた印刷を行うことなく、処理を中断しても良い。
【0106】
(5)上記実施例では、一時保存サーバ600は、複合機100による印刷結果を示す印刷結果通知を受信した後に、印刷ジョブを削除している(図5のS100)。これに限らず、例えば、一時保存サーバ600は、図5のS86にて複合機100に印刷ジョブを送信した後、直ちに印刷ジョブを削除しても良い。
【0107】
上記実施例では、デバイス管理サーバ300は、複合機100による印刷結果を示す印刷結果通知を受信した後に、デバイストークンを含む関連情報を削除している(図5のS92)。これに限らず、例えば、一時保存サーバ600は、図2のS22にて、デバイストークンを検証し、S24にて検証結果をアプリケーションサーバ500に送信した後に、直ちにデバイストークンを削除しても良い。
【0108】
上記実施例では、サーバ400は、複合機100による印刷結果を示す印刷結果通知を受信した後に、端末用トークンを含む関連情報を削除している(図5のS96)。これに限らず、例えば、一時保存サーバ600は、図2のS58にて、端末用トークンを検証した後に、直ちに端末用トークンを削除しても良い。この場合には、例えば、S60にて、端末用トークンのステータスを使用済みにする必要はないので、例えば、ステータス情報は、用いられなくても良い。
【0109】
(6)上記実施例では、デバイストークンや端末用トークンは、毎回、ランダムに生成されている。これに代えて、デバイストークンや端末用トークンは、例えば、予め用意された多数の文字列の中から用いるべき文字列を選択することによって生成されても良い。
【0110】
(7)上記実施例では、アプリケーションサーバ500は、端末用トークンの検証結果が肯定的である場合に、端末装置200との間に印刷指示を受信するための通信セッションを確立している(図4のS61)。これに代えて、アプリケーションサーバ500は、端末装置200との間に通信セッションを確立した後に、該通信セッションを用いて端末用トークンを受信しても良い。この場合には、アプリケーションサーバ500は、端末用トークンの検証結果が肯定的である場合に、該通信セッションを用いて印刷指示を受信し、端末用トークンの検証結果が否定的である場合に、印刷指示を受信することなく、該通信セッションを切断しても良い。、
【0111】
(8)上記実施例では、4つのサーバ300~600が協働して、インスタント印刷サービスが提供されている。これに限らず、3個以下のサーバによって、インスタント印刷サービスが提供されても良い。例えば、実施例の4つのサーバ300~600が行う処理を1つのサーバが実行しても良い。または、デバイス管理サーバ300とWEBサーバ400とが行う処理を1つのサーバが実行しても良い。アプリケーションサーバ500と一時保存サーバ600とが行う処理を1つのサーバが実行しても良い。
【0112】
(9)上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【0113】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0114】
100…複合機,1000…システム,110…CPU,120…揮発性記憶装置,130…不揮発性記憶装置,140…表示部,150…操作部,160…読取実行部,170…印刷実行部,200…端末装置,210…CPU,220…揮発性記憶装置,230…不揮発性記憶装置,240…表示部,250…操作部,260…カメラ,300…デバイス管理サーバ,300…サーバ,310…CPU,320…揮発性記憶装置,330…不揮発性記憶装置,400…WEBサーバ,500…アプリケーションサーバ,600…一時保存サーバ,AP…アプリケーションプログラム,DT…デバイストークンテーブル,PG1,PGa~PGd…コンピュータプログラム,TT…端末用トークンテーブル
図1
図2
図3
図4
図5
図6
図7
図8