特許第6233046号(P6233046)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

<>
  • 特許6233046-通信装置 図000002
  • 特許6233046-通信装置 図000003
  • 特許6233046-通信装置 図000004
  • 特許6233046-通信装置 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6233046
(24)【登録日】2017年11月2日
(45)【発行日】2017年11月22日
(54)【発明の名称】通信装置
(51)【国際特許分類】
   G06F 3/12 20060101AFI20171113BHJP
   B41J 29/38 20060101ALI20171113BHJP
【FI】
   G06F3/12 334
   G06F3/12 310
   G06F3/12 329
   G06F3/12 335
   G06F3/12 367
   G06F3/12 387
   G06F3/12 392
   B41J29/38 Z
【請求項の数】13
【全頁数】22
(21)【出願番号】特願2014-9603(P2014-9603)
(22)【出願日】2014年1月22日
(65)【公開番号】特開2015-138391(P2015-138391A)
(43)【公開日】2015年7月30日
【審査請求日】2016年12月15日
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】鈴木 隆延
【審査官】 境 周一
(56)【参考文献】
【文献】 米国特許第08189225(US,B1)
【文献】 特開2013−109616(JP,A)
【文献】 米国特許出願公開第2009/0052348(US,A1)
【文献】 米国特許出願公開第2015/0169266(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09−3/12
B41J 5/00−5/52;21/00−21/18;29/00−29/70
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
通信装置であって、
前記通信装置が対象機能を実行するための機能実行情報を、第1の装置から取得する第1の取得部であって、前記対象機能は、前記第1の装置と異なる第2の装置との特定データの通信と、前記特定データに関連する特定処理と、を含む、前記第1の取得部と、
前記第2の装置にて生成され、前記第1の装置にて前記第2の装置から取得された認証情報を、前記第1の装置から取得する第2の取得部であって、前記認証情報は、前記第2の装置との通信を実行可能であるか否かの認証を前記第2の装置にて実行させるための情報である、前記第2の取得部と、
前記機能実行情報が取得されることを契機として、前記通信装置の状態が、前記特定処理を実行可能な実行可能状態であるか否かを、前記認証情報を使用せずに判断する第1の判断処理を実行する第1の判断部と、
前記第1の判断処理において、前記実行可能状態であると判断される場合に、取得済みの前記認証情報を用いて、前記第2の装置との通信を試行することによって、前記通信装置が、前記第2の装置と前記特定処理を実行するための前記通信を実行可能であるか否かを判断する第2の判断処理を実行する第2の判断部と、
前記第2の判断処理において、前記通信装置が、前記特定処理を実行するための前記通信を実行可能でないと判断される場合に、前記第2の判断処理の結果に関する第1の報知を、第1の報知部に実行させる第1の報知制御部と、
前記第2の判断処理において、前記通信装置が、前記特定処理を実行するための前記通信を実行可能であると判断される場合に、前記第2の装置との通信を実行する通信部と、を備える通信装置。
【請求項2】
前記通信装置は、さらに、
印刷実行部と、
前記印刷実行部に印刷処理を実行させる印刷制御部と、を備え、
前記特定処理は、印刷処理であり、
前記認証情報は、前記対象データが前記第2の装置から送信されるべきか否かの認証を、前記第2の装置にて実行させるための情報であり、
前記通信部は、前記認証情報を用いて、前記第2の装置と通信を実行することによって、前記第2の装置から印刷対象の対象データを受信し、
前記印刷制御部は、受信済みの前記対象データを用いた印刷処理を、前記印刷実行部に実行させる、請求項1に記載の通信装置。
【請求項3】
前記第1の判断処理は、前記印刷実行部の状態が印刷処理を実行可能な状態であるか否かを判断する処理を含み、
前記第2の判断処理は、前記第2の装置から前記対象データを受信可能であるか否かを判断する処理を含む、請求項2に記載の通信装置。
【請求項4】
前記通信装置は、さらに、
前記第1の判断処理において、前記実行可能状態であると判断される場合に、前記実行可能状態であることを示す情報を、前記第1の装置に供給する供給部であって、前記第1の判断処理において、前記特定処理を実行可能な状態でない実行不可能状態と判断される場合に、前記通信装置が前記実行不可能状態であることを示す情報を、前記第1の装置に供給する前記供給部を、備える、請求項1から3のいずれか一項に記載の通信装置。
【請求項5】
前記供給部は、前記第1の判断部が前記第1の判断処理を実行した後であって、前記第2の判断部が前記第2の判断処理を実行する前に、前記実行可能状態であることを示す情報を供給する、請求項4に記載の通信装置。
【請求項6】
前記通信装置は、さらに、
前記機能実行情報が取得されることを契機として、前記通信装置の表示部に、前記機能実行情報の取得に関する第1の画面を表示させる第1の表示制御部と、
前記第1の判断処理において、前記実行可能状態であると判断される場合に、前記表示部に、前記第2の装置との通信に関する第2の画面を表示させる第2の表示制御部と、を備える、請求項1から5のいずれか一項に記載の通信装置。
【請求項7】
前記通信装置は、さらに、
第1のインターフェースと、
前記第1のインターフェースとは異なる第2のインターフェースと、を備え、
前記第1の取得部は、前記第1のインターフェースを利用して、前記第1の装置から前記機能実行情報を取得し、
前記第2の取得部は、前記第1のインターフェースを利用して、前記第1の装置から前記認証情報を取得し、
前記第2の判断部は、前記第2のインターフェースを利用して、前記第2の装置との前記通信を試行することによって、前記第2の判断処理を実行し、
前記通信部は、前記第2のインターフェースを利用して、前記第2の装置との前記通信を実行する、請求項1から6のいずれか一項に記載の通信装置。
【請求項8】
前記第2のインターフェースは、所定の通信方式に従った無線通信を実行するためのインターフェースであり、
前記第1のインターフェースは、前記所定の通信方式よりも近距離の無線通信を実行するための近距離無線通信方式に従った無線通信を実行するためのインターフェースである、請求項7に記載の通信装置。
【請求項9】
前記第1のインターフェースは、NFC(Near Field Communication)方式に従った無線通信を実行するための通信インターフェースである、請求項7又は8に記載の通信装置。
【請求項10】
前記第1の判断部は、前記第2の装置との前記通信を試行せずに、前記第1の判断処理を実行する、請求項1から9のいずれか一項に記載の通信装置。
【請求項11】
前記通信装置は、さらに、
前記第1の判断処理において、前記実行不可能状態であると判断される場合に、前記第1の判断処理の結果に関する第2の報知を、第2の報知部に実行させる第2の報知制御部を備え、
前記第1の報知部は、前記通信装置の表示部を含み、
前記第1の報知制御部は、前記第1の報知として、前記表示部に、前記第2の判断処理の結果に関する第3の画面を表示させ、
前記第2の報知部は、前記通信装置のスピーカを含み、
前記第2の報知制御部は、前記第2の報知として、前記スピーカに、前記第2の判断処理の結果に関する音声を出力させる、請求項1から10のいずれか一項に記載の通信装置。
【請求項12】
前記第2の判断部は、インターネットを介して、前記第2の装置との前記通信を試行することによって、前記第2の判断処理を実行し、
前記通信部は、前記インターネットを介して、前記第2の装置との通信を実行する、請求項1から11のいずれか一項に記載の通信装置。
【請求項13】
通信装置のためのコンピュータプログラムであって、通信装置に搭載されているコンピュータに、以下の処理、即ち、
前記通信装置が対象機能を実行するための機能実行情報を、前記第2の装置と異なる第1の装置から取得する第1の取得処理であって、前記対象機能は、第2の装置との特定データの通信と、前記特定データに関連する特定処理と、を含む、前記第1の取得処理と、
前記第2の装置にて生成され、前記第1の装置にて前記第2の装置から取得された認証情報を、前記第1の装置から取得する第2の取得処理であって、前記認証情報は、前記第2の装置との通信を実行可能であるか否かの認証を前記第2の装置にて実行させるための情報である、前記第2の取得処理と、
前記機能実行情報が取得されることを契機として、前記通信装置の状態が、前記特定処理を実行可能な実行可能状態であるか否かを、前記認証情報を使用せずに判断する第1の判断処理と、
前記第1の判断処理において、前記実行可能状態であると判断される場合に、取得済みの前記認証情報を用いて、前記第2の装置との通信を試行することによって、前記通信装置が、前記第2の装置と前記特定処理を実行するための前記通信を実行可能であるか否かを判断する第2の判断処理と、
前記第2の判断処理において、前記通信装置が、前記特定処理を実行するための前記通信を実行可能でないと判断される場合に、前記第2の判断処理の結果に関する第1の報知を、第1の報知部に実行させる第1の報知制御処理と、
前記第2の判断処理において、前記通信装置が、前記特定処理を実行するための前記通信を実行可能であると判断される場合に、前記第2の装置との通信を実行する通信処理と、を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、通信装置が、他の装置とのデータの通信と、当該データに関連する機能と、を実行するための技術を開示する。
【背景技術】
【0002】
従来から、端末装置がサーバにデータを送信し、プリンタが当該サーバから送信されたデータを受信することで、プリンタが受信したデータを印刷する技術が知られている。例えば、非特許文献1には、Google(登録商標) Cloud Print(以下では「GCP」と呼ぶ)と呼ばれるインターネット上のサービスが開示されている。ユーザは、例えば、端末装置を利用してプリンタにアクセスし、GCPを提供するサーバ(以下では「GCPサーバ」と呼ぶ)との通信をプリンタに実行させる。これにより、プリンタは、当該プリンタの名称、当該プリンタが利用可能な印刷条件(即ちCapability)、当該プリンタのデフォルト設定等を含むプリンタ関係情報をGCPサーバに登録することができる。その後、ユーザは、例えば、端末装置を利用して、印刷対象の画像を表わす画像データをGCPサーバにサブミットする。これにより、プリンタは、GCPサーバによって画像データから生成される印刷データ(即ちプリンタが解釈可能なデータ)を取得して、印刷データによって表わされる画像の印刷を実行することができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】“What is Google Cloud Print”、[online]、[平成26年1月14日検索]、インターネット<URL: https://developers.google.com/cloud-print/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、サーバとプリンタとを用いて実行される印刷において、プリンタが印刷を実行することができない状況がある。例えば、プリンタ自体が正常な状態で無い(例えば印刷用紙が無い、インクが無い)場合や、プリンタがサーバからデータを取得することができない場合、プリンタは、印刷を実行することができない。
【0005】
本明細書では、比較的に早期に通信装置が対象機能を実行可能でない状況を判断し得る技術を開示する。
【課題を解決するための手段】
【0006】
本明細書によって開示される通信装置は、第1の取得部と、第2の取得部と、第1の判断部と、第2の判断部と、第1の報知制御部と、通信部と、を備える。第1の取得部は、通信装置が対象機能を実行するための機能実行情報を、第2の装置と異なる第1の装置から取得する。対象機能は、第2の装置との特定データの通信と、特定データに関連する特定処理と、を含む。第2の取得部は、第2の装置にて生成され、第1の装置にて第2の装置から取得された認証情報を、第1の装置から取得する。認証情報は、第2の装置との通信を実行可能であるか否かの認証を第2の装置にて実行させるための情報である。第1の判断部は、機能実行情報が取得されることを契機として、通信装置の状態が、特定処理を実行可能な実行可能状態であるか否かを、認証情報を使用せずに判断する第1の判断処理を実行する。第2の判断部は、第1の判断処理において、実行可能状態であると判断される場合に、取得済みの認証情報を用いて、第2の装置との通信を試行することによって、通信装置が、第2の装置と特定処理を実行するための通信を実行可能であるか否かを判断する第2の判断処理を実行する。第1の報知制御部は、第2の判断処理において、通信装置が、特定処理を実行するための通信を実行可能でないと判断される場合に、第2の判断処理の結果に関する第1の報知を、第1の報知部に実行させる。通信部は、第2の判断処理において、通信装置が、特定処理を実行するための通信を実行可能であると判断される場合に、第2の装置との通信を実行する。
【0007】
第1の判断処理では、通信装置自体の状態が判断対象であり、通信装置以外の装置の状態まで判断対象とせずに済む。このため、第1の判断処理では、比較的に早期に判断が完了され得る。一方、第2の判断処理では、通信装置と第2の装置と通信を試行する必要があり、第2の装置の状態が判断対象となり得る。この結果、第2の判断処理では、第1の判断処理と比較して、処理時間が掛かる場合が多い。上記の構成では、通信装置は、比較的に早期に判断し得る第1の判断処理を先に実行し、比較的に時間が掛り得る第2の判断処理を後に実行する。この結果、通信装置は、通信装置自体の状態が特定処理を実行することができない状態である場合、比較的に早期に対象機能を実行可能でない状況であることを判断し得る。
【0008】
通信装置は、さらに、印刷実行部と、印刷実行部に印刷処理を実行させる印刷制御部と、を備えていてもよい。特定処理は、印刷処理であってもよい。認証情報は、対象データが第2の装置から送信されるべきか否かの認証を、第2の装置にて実行させるための情報であってもよい。通信部は、認証情報を用いて、第2の装置と通信を実行することによって、第2の装置から印刷対象の対象データを受信してもよい。印刷制御部は、受信済みの対象ファイルを用いた印刷処理を、印刷実行部に実行させてもよい。この構成によれば、通信装置は、第1の装置から、第1の装置機能実行情報を取得することによって、第2の装置から受信された対象データを用いた印刷処理を実行することができる。
【0009】
第1の判断処理は、印刷実行部の状態が印刷処理を実行可能な状態であるか否かを判断する処理を含んでいてもよい。第2の判断処理は、第2の装置から対象データを受信可能であるか否かを判断する処理を含んでいてもよい。この構成によれば、通信装置は、印刷実行部の状態が印刷処理を実行可能な状態であるか否かの判断を先に実行し、第2の装置から対象ファイルを受信可能であるか否かを判断する処理を後に実行することができる。この結果、通信装置は、比較的に早期に通信装置が印刷処理を実行可能な状況でないことを判断し得る。
【0010】
通信装置は、さらに、第1の判断処理において、実行可能状態であると判断される場合に、実行可能状態であることを示す情報を、第1の装置に供給する供給部をさらに備えていてもよい。供給部は、第1の判断処理において、特定処理を実行可能な状態でない実行不可能状態と判断される場合に、通信装置が実行不可能状態であることを示す情報を、第1の装置に供給してもよい。この構成によれば、例えば、第1の装置は、通信装置の第1の判断処理の結果を、第1の装置から取得し得る。
【0011】
供給部は、第1の判断部が第1の判断処理を実行した後であって、第2の判断部が第2の判断処理を実行する前に、実行可能状態であることを示す情報を供給してもよい。この構成によれば、通信装置は、比較的に早期に判断が完了する第1の判断処理の結果である実行可能状態であることを示す情報を、比較的に時間の掛り得る第2の判断を行う前に供給できるので、当該情報を比較的に早期に第1の装置に供給することが出来る。
【0012】
通信装置は、さらに、第1の表示制御部と、第2の表示制御部と、を備えていてもよい。第1の表示制御部は、機能実行情報が取得されることを契機として、通信装置の表示部に、機能実行情報の取得に関する第1の画面を表示させてもよい。第2の表示制御部は、第1の判断処理において、実行可能状態であると判断される場合に、表示部に、第2の装置との通信に関する第2の画面を表示させてもよい。この構成によれば、例えば、ユーザは、第1の画面を確認することによって、通信装置によって、機能実行情報が適切に取得されたことを知ることができる。また、例えば、ユーザは、第2の画面を確認することによって、第1の判断処理において、実行可能状態であると判断され、第2の判断処理が実行されることを知ることができる。
【0013】
通信装置は、さらに、第1のインターフェースと、第1のインターフェースとは異なる第2のインターフェースと、を備えていてもよい。第1の取得部は、第1のインターフェースを利用して、第1の装置から前記機能実行情報を取得してもよい。第2の取得部は、第1のインターフェースを利用して、第1の装置から認証情報を取得してもよい。第2の判断部は、第2のインターフェースを利用して、第2の装置との通信を試行することによって、第2の判断処理を実行してもよい。通信部は、第2のインターフェースを利用して、第2の装置との通信を実行してもよい。この構成によれば、通信装置は、通信を実行する装置に応じて、利用すべきインターフェースを変更することができる。
【0014】
第2のインターフェースは、所定の通信方式に従った無線通信を実行するためのインターフェースであり、第1のインターフェースは、所定の通信方式よりも近距離の無線通信を実行するための近距離無線通信方式に従った無線通信を実行するためのインターフェースであってもよい。この構成によれば、通信装置は、比較的に近距離の無線通信を実行して、第1の装置から機能実行情報を取得することができ、比較的に遠距離の無線通信を実行して、第2の装置からデータを取得することができる。
【0015】
第2のインターフェースは、NFC(Near Field Communication)方式に従った無線通信を実行するための通信インターフェースであってもよい。
【0016】
第1の判断部は、第2の装置との通信を試行せずに、第1の判断処理を実行してもよい。この構成によれば、通信装置は、第1の判断処理の処理時間を短縮し得る。
【0017】
通信装置は、さらに、第1の判断処理において、実行不可能状態であると判断される場合に、第1の判断処理の結果に関する第2の報知を、第2の報知部に実行させる第2の報知制御部を備えていてもよい。第1の報知部は、通信装置の表示部を含んでいてもよい。第1の報知制御部は、第1の報知として、表示部に、第2の判断処理の結果に関する第3の画面を表示させてもよい。第2の報知部は、通信装置のスピーカを含んでいてもよい。第2の報知制御部は、第2の報知として、スピーカに、第2の判断処理の結果に関する音声を出力させてもよい。この構成によれば、例えば、ユーザは、スピーカから出力される音声を聞くことによって、通信装置が実行不可能状態であることを知ることができる。また、例えば、ユーザは、第3の画面を確認することによって、第2の判断処理の判断結果を知ることができる。
【0018】
第2の判断部は、インターネットを介して、第2の装置との通信を試行することによって、第2の判断処理を実行してもよい。通信部は、インターネットを介して、第2の装置との通信を実行してもよい。この構成によれば、通信装置は、インターネットを介して、第2の装置と通信を実行することができる。
【0019】
上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の通信装置と、第2の装置及び第1の装置の少なくとも一方を備える通信システムも、新規で有用である。
【図面の簡単な説明】
【0020】
図1】通信システムの構成を示す。
図2】登録プロセスのシーケンス図を示す。
図3】印刷プロセスのシーケンス図を示す。
図4】プリンタが実行する判断処理のフローチャートを示す。
【発明を実施するための形態】
【0021】
図1に示されるように、通信システム2は、プリンタ10と、携帯端末70と、印刷仲介サーバ100と、を備える。各デバイス10,70,100は、インターネットを介して、相互に通信可能である。
【0022】
(プリンタ10の構成)
プリンタ10は、印刷処理を実行可能な周辺機器(即ちPC等の周辺機器)である。プリンタ10は、操作部12と、表示部14と、を備える。また、プリンタ10は、NFC(Near Field Communicationの略)インターフェース16と、無線LAN(Local Area Networkの略)インターフェース18と、を備える。また、プリンタ10は、印刷実行部20を備える。また、プリンタ10は、スピーカ22を備える。また、プリンタ10は、制御部30を備える。各部12〜30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と記載する。
【0023】
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に与えることができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部20は、インクジェット方式、レーザ方式等の印刷機構を備える。スピーカ22は、CPU32に従って音声を出力する。
【0024】
NFCI/F16は、いわゆる近距離無線通信のためのNFC方式に従った無線通信(以下では「NFC通信」と呼ぶ)を実行するためのI/F(即ち、ICチップ、通信回路)である。NFC方式は、例えば、ISO/IEC21481又は18092の国際標準規格に基づく無線通信方式である。
【0025】
無線LANI/F18は、Wi−Fi Allianceによって定められた通常Wi−Fi方式に従った無線通信(以下では「通常Wi−Fi通信」と呼ぶ)を実行するためのI/F(即ち、ICチップ、通信回路)である。通常Wi−Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば、802.11a,11b,11g,11n等)に基づく無線通信方式である。
【0026】
ここでは、NFCI/F16と無線LANI/F18の相違点を説明しておく。無線LANI/F18を介した無線通信の通信速度(例えば、最大の通信速度が11〜600Mbps)は、NFCI/F16を介した無線通信の通信速度(例えば、最大の通信速度が100〜424Kbps)よりも速い。また、無線LANI/F18を介した無線通信における搬送波の周波数(例えば、2.4GHz帯、5.0GHz帯)は、NFCI/F16を介した無線通信における搬送波の周波数(例えば、13.56MHz帯)とは異なる。また、例えば、プリンタ10のNFCI/F16と他の機器(例えば携帯端末70)のNFCI/Fとの間の距離が約10cm以下である場合に、制御部30は、NFCI/F16を介して、当該他の機器とNFC通信を実行可能である。一方において、プリンタ10の無線LANI/F18と他の機器(例えば携帯端末70)の無線LANI/Fとの間の距離が、10cm以下である場合でも、10cm以上である場合(例えば最大で約100m)でも、制御部30は、無線LANI/F18を介して、当該他の機器と通常Wi−Fi通信を実行可能である。即ち、プリンタ10が無線LANI/F18を介して他の機器と無線通信を実行可能な最大の距離は、プリンタ10がNFCI/F16を介して他の機器と無線通信を実行可能な最大の距離よりも大きい。
【0027】
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に格納されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ34は、RAM、ROM、ハードディスク等によって構成される。メモリ34は、上記のプログラムのみならず、プリンタ10が様々な処理を実行する過程で生成又は取得される様々なデータを格納する。
【0028】
(携帯端末70の構成)
携帯端末70は、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC、デジタルカメラ、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。携帯端末70は、操作部と、表示部と(共に図示省略)、制御部80と、を備える。また、携帯端末70は、プリンタ10のNFCI/F16と同様のNFCI/F76と、無線LANI/F18と同様の無線LANI/F78と、を備える。各部76〜80は、バス線(符号省略)に接続されている。
【0029】
制御部80は、CPU82と、メモリ84と、を備える。CPU82は、メモリ84に格納されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ84は、RAM、ROM、ハードディスク等によって構成される。メモリ84は、上記のプログラムのみならず、携帯端末70が様々な処理を実行する過程で生成又は取得される様々なデータを格納する。
【0030】
メモリ84は、さらに、印刷仲介サーバ100を利用して、プリンタ10に印刷を実行させるためのプリンタ用アプリケーション(以下では「プリンタアプリ」と呼ぶ)を記憶する。プリンタアプリは、プリンタ10のベンダによって提供されるアプリケーションである。プリンタアプリは、インターネット上のサーバから携帯端末70にインストールされてもよいし、プリンタ10と共に出荷されるメディアから携帯端末70にインストールされてもよい。
【0031】
(印刷仲介サーバ100の構成)
印刷仲介サーバ100は、インターネット上に設置されるサーバであり、例えば、Google(登録商標)によって提供されるGCPサーバである。ただし、変形例では、印刷仲介サーバ100は、例えば、プリンタ10のベンダによって提供されるサーバであってもよいし、プリンタ10のベンダとは異なる事業者によって提供されるサーバであってもよい。
【0032】
印刷仲介サーバ100は、外部機器(例えば携帯端末70)とプリンタ(例えばプリンタ10)との間で印刷の仲介を実行するためのサーバである。即ち、印刷仲介サーバ100は、外部機器からサブミットされる画像データを変換して、プリンタが解釈可能なデータ形式を有する印刷データを生成し、当該印刷データを当該プリンタに供給する。従って、外部機器は、画像データを印刷データに変換するためのプリンタドライバを備えていなくても、印刷仲介サーバ100に画像データをサブミットすれば、プリンタに印刷処理を実行させることができる。
【0033】
(事前準備)
上述したように、例えば、携帯端末70は、印刷仲介サーバ100を介した印刷処理をプリンタ10に実行させることができる。以下では、図2図4を参照して、当該印刷処理のための様々な処理を説明する。なお、携帯端末70のユーザは、図2,3に開示されている携帯端末70の動作を実現するために、以下の事前準備を実行しておく必要がある。
【0034】
即ち、ユーザは、例えば、携帯端末70を利用して、印刷仲介サーバ100にアカウント情報を登録しておく必要がある。アカウント情報は、例えば、ユーザID、パスワード等を含む。なお、ユーザは、携帯端末70を利用する代わりに、他の機器(例えばPC等)を利用して、印刷仲介サーバ100にアカウント情報を登録してもよい。ユーザのアカウント情報が印刷仲介サーバ100に登録されれば、ユーザは、携帯端末70を利用して、印刷仲介サーバ100を介した印刷処理をプリンタ10に実行させることができる。
【0035】
(登録プロセス;図2
続いて、図2を参照して、携帯端末70が必要な情報を印刷仲介サーバ100に登録するための登録プロセスについて説明する。本実施例では、OAuthを利用した登録プロセスが実行される。
【0036】
登録プロセスでは、携帯端末70のユーザは、プリンタ10の近くに存在しなくてもよい。即ち、例えば、プリンタ10が家庭内に設置されており、ユーザが携帯端末70を持参して外出している状況において、ユーザは、携帯端末70を利用して、様々な情報を印刷仲介サーバ100に登録することができる。なお、登録プロセスでは、携帯端末70は、無線LANI/F78を介して(即ちインターネットを介して)、印刷仲介サーバ100と通信を実行する。
【0037】
携帯端末70のユーザは、まず、携帯端末70にインストールされているプリンタアプリを起動し、プリンタアプリに従って表示される画面上で「登録」を示すボタンを選択する。この場合、CPU82は、プリンタアプリに従って、図2に示される各処理を実行する。
【0038】
CPU82は、まず、プリンタアプリに予め登録されている仮想印刷条件情報をメモリ84から読み出す。仮想印刷条件情報は、実在プリンタ(例えばプリンタ10)ではなく、仮想プリンタが利用可能な仮想的な印刷条件を示す情報であり、プリンタ10のベンダによって予め決められた情報である。なお、図1に示されるように、プリンタアプリには、仮想印刷条件情報が予め登録されている。従って、仮想印刷条件情報は、実在プリンタ(例えばプリンタ10)から取得されることなく、メモリ84に予め記憶されている。
【0039】
仮想的な印刷条件は、例えば、画像が印刷されるべき印刷用紙のサイズ(即ち用紙サイズ)、両面印刷の実行の有無、色数(例えばモノクロ印刷、カラー印刷等)等を含む。本実施例では、予め決められている仮想的な印刷条件は、用紙サイズとして「A4」及び「B5」を含み、両面印刷の実行の有無として「無」を含み、色数として「モノクロ印刷」及び「カラー印刷」を含む。仮想的な印刷条件は、さらに、印刷向き(例えば、ランドスケープ印刷、ポートレート印刷)等の他の条件を含んでいてもよい。
【0040】
次いで、CPU82は、携帯端末70のプロキシID(即ち携帯端末70を識別するためのID)をメモリ84から読み出す。そして、CPU82は、仮想印刷条件情報とプロキシIDとを含む登録要求200を、印刷仲介サーバ100に送信する。なお、印刷仲介サーバ100のURL(即ち登録要求200の送信先のURL)は、プリンタアプリに予め登録されている。以下でも、特に説明しない限り、要求の送信先のURLは、プリンタアプリに予め登録されているURLであってもよい。但し、要求の送信先のURLは、当該要求の送信前に印刷仲介サーバ100から取得されたURLであってもよい。
【0041】
印刷仲介サーバ100は、携帯端末70から登録要求200を受信すると、登録要求200に含まれるプロキシIDを利用して、登録対象のプリンタを識別するためのプリンタIDを生成する。携帯端末70が登録対象のプリンタとして実在プリンタ(例えばプリンタ10)を指定しているわけではないので(即ち、登録要求200が、実在プリンタの印刷条件情報、実在プリンタのプロキシID等を含んでいないので)、印刷仲介サーバ100によって生成されるプリンタIDは、仮想プリンタを識別するためのIDである。
【0042】
印刷仲介サーバ100は、生成済みの仮想プリンタのプリンタIDと、登録要求200に含まれる仮想印刷条件情報と、を関連付けて記憶する。図2において、印刷仲介サーバ100に対応する破線の右側のボックスは、当該ボックス内の各情報が関連付けられている様子を示す。図3以降でも同様である。
【0043】
次いで、印刷仲介サーバ100は、生成済みのプリンタIDと、後述のログイン画面データ212の所在を示すログイン用URLと、を含むレスポンス202を、携帯端末70に送信する。
【0044】
CPU82は、印刷仲介サーバ100からレスポンス202を受信すると、レスポンス202に含まれるプリンタIDをメモリ84に記憶させる。次いで、CPU82は、レスポンス202に含まれるログイン用URLを送信先として、無線LANI/F78を介して、アクセス要求210を印刷仲介サーバ100に送信する。
【0045】
印刷仲介サーバ100は、携帯端末70からアクセス要求210を受信すると、ログイン画面データ212を携帯端末70に送信する。ログイン画面データ212は、アカウント情報(即ちユーザID、パスワード等)を入力するためのログイン画面を表わすデータである。
【0046】
CPU82は、印刷仲介サーバ100からログイン画面データ212を受信すると、ログイン画面データ212によって表わされるログイン画面を携帯端末70の表示部に表示させる。ユーザは、携帯端末70の操作部を利用して、上記の事前準備において印刷仲介サーバ100に登録されたアカウント情報を、携帯端末70に入力する。この場合、CPU82は、入力済みのアカウント情報を含むログイン要求214を、印刷仲介サーバ100に送信する。
【0047】
なお、上記の例では、アカウント情報がユーザによって携帯端末70に入力される様子を説明したが、変形例では、例えば、携帯端末70を利用して上記の事前準備が実行された場合には、メモリ84は、アカウント情報を記憶していてもよい。この場合、CPU82は、アカウント情報の入力をユーザに実行させずに、メモリ84からアカウント情報を読み出して、アカウント情報を含むログイン要求214を印刷仲介サーバ100に送信してもよい。なお、後述するサブミットプロセス、図3の印刷プロセスにおいて、携帯端末70から印刷仲介サーバ100にログイン要求が送信される状況でも、本変形例が採用されてもよい。
【0048】
印刷仲介サーバ100は、携帯端末70からログイン要求214を受信すると、ログイン要求214に含まれるアカウント情報の認証を実行する。具体的に言うと、印刷仲介サーバ100は、ログイン要求214に含まれるアカウント情報が、印刷仲介サーバ100に登録済みであるか否かを判断する。印刷仲介サーバ100は、アカウント情報が登録済みでないと判断する場合、即ち、アカウント情報の認証が失敗する場合には、図示省略しているが、ログイン失敗通知を携帯端末70に送信する。この場合、後の処理が実行されることなく、登録プロセスが終了する。
【0049】
一方において、印刷仲介サーバ100は、アカウント情報が登録済みであると判断する場合、即ち、アカウント情報の認証が成功する場合には、ユニークな文字列であるトークンを生成する。トークンは、後の処理(例えば図3の印刷プロセス)で利用される認証のための情報である。以下では、ここで生成されるトークンのことを「AT(Authentication(もしくはAccess) Tokenの略)」と呼ぶ。
【0050】
次いで、印刷仲介サーバ100は、認証が成功したアカウント情報と、仮想プリンタのプリンタIDと、仮想印刷条件情報と、生成済みのATと、を関連付けて記憶する。そして、印刷仲介サーバ100は、生成済みのATを含むログイン成功通知216を携帯端末70に送信する。
【0051】
CPU82は、印刷仲介サーバ100からログイン成功通知216を受信すると、ログイン成功通知216に含まれるATをメモリ84に記憶させる。これにより、登録プロセスが終了する。
【0052】
上述したように、登録プロセスでは、実在プリンタ(例えばプリンタ10)のプリンタID及び印刷条件情報を印刷仲介サーバ100に登録するのではなく、仮想プリンタのプリンタID及び仮想印刷条件情報を印刷仲介サーバ100に登録する手法を採用している。即ち、携帯端末70は、仮想プリンタのプリンタID及び仮想印刷条件情報を印刷仲介サーバ100に登録する。このために、ユーザは、プリンタID及び仮想印刷条件情報(さらにはAT)を印刷仲介サーバ100に登録するために、印刷仲介サーバ100との通信をプリンタ10に実行させずに済む。
【0053】
(サブミットプロセス)
上記の登録プロセスが終了すると、ユーザは、携帯端末70を利用して、印刷対象の画像を表わす画像データを印刷仲介サーバ100にサブミットすることができる。携帯端末70のユーザは、登録プロセスと同様に、プリンタ10の近くに存在しなくても、画像データを印刷仲介サーバ100にサブミットすることができる。例えば、ユーザは、外出先で携帯端末70によって撮影された画像を表わす画像データを印刷仲介サーバ100にサブミットすることができる。なお、画像データは、印刷対象の画像を表わすデータであれば、どのような形式のデータであってもよく、例えば、JPEG(Joint Photographic Experts Groupの略)等のビットマップ形式のデータ、ベクタ形式のデータ、テキスト形式のデータ、あるいは、その他の形式のデータであってもよい。
【0054】
画像データを印刷仲介サーバ100にサブミットするためのサブミットプロセスでは、携帯端末70のユーザが、印刷仲介サーバ100に所定の操作(例えば、プリンタアプリを起動し、画面上の「サブミット」を示すボタンを選択し、画像データを指定する操作)を実行すると、携帯端末70と印刷仲介サーバ100とは、登録プロセスの処理210〜216までと同様の処理を実行する。なお、サブミットプロセスでは、印刷仲介サーバ100は、ATを生成せず、既に生成済みのATを送信する。
【0055】
ログインが成功すると、CPU82は、印刷仲介サーバ100に仮想的な印刷条件を要求し、上述した印刷仲介サーバ100にから取得する。携帯端末70のユーザは、携帯端末70を操作して、取得した仮想印刷条件情報によって示される仮想的な印刷条件の中から、画像の印刷のための印刷設定を選択する。詳しくは後述するが、印刷仲介サーバ100では、選択済みの印刷設定に従って印刷データが生成されて、当該印刷データがプリンタ10に供給される(図3参照)。
【0056】
なお、上述したように、選択済みの印刷設定は、仮想的な印刷条件の中から選択されたものであり、プリンタ10が実際に利用可能な印刷条件の中から選択されたものではない。即ち、プリンタ10が選択済みの印刷設定に従った印刷処理を実行可能であるという保証がない。ただし、本実施例では、プリンタ10のベンダは、通常のプリンタ(例えば当該ベンダが販売している全てのプリンタ)が利用可能な印刷条件を仮想的な印刷条件として予め決定して、そのような仮想的な印刷条件を示す仮想印刷条件情報を含むプリンタアプリを提供する。従って、本実施例では、プリンタ10は、選択済みの印刷設定に従った印刷処理を適切に実行することができる。
【0057】
携帯端末70は、ユーザによって印刷設定が選択されると、ATと、ユーザによって指定された画像データ232(図3参照)と、ユーザによって指定された選択された印刷設定を示す印刷設定情報234(図3参照)と、を含むサブミット要求を、印刷仲介サーバ100に送信する。印刷仲介サーバ100は、ATの認証を実行し、認証が成功すると、サブミット要求に含まれる各情報を関連付けて記憶する。これにより、印刷仲介サーバ100では、登録プロセス時に記憶されたアカウント情報、プリンタID、仮想印刷条件情報、ATと、第1のジョブ情報240(即ち、画像データ232及び印刷設定情報234)と、が関連付けられて記憶される(図3参照)。
【0058】
なお、ユーザは、さらに、他の画像データを印刷仲介サーバ100にサブミットすることを望む場合には、上記と同様の操作を実行する。これにより、CPU82は、上記と同様の処理を実行することによって、1個以上のジョブ情報を印刷仲介サーバ100にサブミットすることができる。
【0059】
(印刷プロセス;図3
続いて、図3を参照して、携帯端末70が、既に印刷仲介サーバ100にサブミットされたジョブ情報(第1のジョブ情報240)に従った印刷処理を、プリンタ10に実行させるための印刷プロセスについて説明する。印刷プロセスでは、携帯端末70のユーザは、プリンタ10の近くに存在しなくてはならない。後述するように、携帯端末70及びプリンタ10がNFC通信を実行しなければならないからである。従って、ユーザは、例えば、外出先から帰宅した後に、携帯端末70を利用して、プリンタ10に印刷処理を実行させる。
【0060】
携帯端末70のユーザは、印刷仲介サーバ100にサブミットされたジョブ情報に従った印刷処理をプリンタ10に実行させることを望む場合に、プリンタアプリを起動し、プリンタアプリに従って表示される画面上で「印刷」を示すボタンを選択する。この場合、CPU82は、プリンタアプリに従って、図3に示される各処理を実行する。
【0061】
CPU82は、まず、メモリ84からAT及びプリンタID(即ち図2の登録プロセスでメモリ84に記憶された各情報)を読み出す。なお、CPU82は、プリンタアプリに予め登録されている暗号鍵を利用して、読み出されたAT及びプリンタIDを暗号化することによって、暗号化データを生成する。暗号化の手法は、特に限定されないが、例えば、AES(Advanced Encryption Standardの略)、DES(Data Encryption Standardの略)等である。
【0062】
携帯端末70のユーザは、携帯端末70をプリンタ10に近づける。NFCI/F76とNFCI/F16との間の距離が所定の距離(例えば10cm)以下になると、CPU82は、NFCI/F76を介して、印刷指示及び暗号化データをプリンタ10に送信する。ここでは、CPU82は、NFC通信を実行するので、送信先のIPアドレス、URL等を利用せずに、印刷指示及び暗号化データをプリンタ10に送信することができる。また、AT及びプリンタIDが暗号化されているので、AT及びプリンタIDが第三者によって不正に取得されることを抑制することができる。
【0063】
CPU32は、NFCI/F16を介して、携帯端末70から印刷指示及び暗号化データを受信すると、メモリ34に予め記憶されている暗号鍵、即ち、携帯端末70で利用された暗号鍵に一致する暗号鍵を利用して、暗号化データを復号化する。これにより、CPU32は、AT及びプリンタIDを取得することができる。CPU32は、判断処理を実行する。
【0064】
(判断処理:図4
図4を参照して、CPU32が実行する判断処理について説明する。CPU32は、印刷指示がNFCI/F16を介して受信されることを契機として、判断処理を開始する。
【0065】
まず、S10において、CPU32は、印刷指示が受信されると、印刷指示を取得したことを示す指示取得画面を、表示部14に表示する。この結果、ユーザは、指示取得画面を確認することによって、プリンタ10に適切に印刷指示が取得されたことを知ることができる。
【0066】
次いで、S12では、CPU32は、印刷実行部20が、印刷処理を実行可能であるか否かを判断する。S12では、CPU32は、携帯端末70から受信されたATを用いずに判断する。具体的には、CPU32は、印刷実行部20の印刷機構のインク残量、給紙機構の印刷用紙の有無、給紙機構の紙詰まりの有無等、印刷実行部20自体が正常に印刷処理を実行するために必要な複数の条件を判断する。CPU32は、印刷機構のインクが残っており、給紙機構に印刷用紙がセットされており、かつ、給紙機構の紙詰まりが無い等、上記の複数の条件の全ての条件において、正常に印刷処理を実行可能であると判断される場合に、印刷処理を実行可能である(S12でYES)と判断する。
【0067】
一方、CPU32は、印刷機構のインクが残っていない、給紙機構に印刷用紙がセットされていない、あるいは、給紙機構の紙詰まりが有る等、上記の複数の条件のうちのいずれかの条件において、正常に印刷処理を実行可能でないと判断される場合に、印刷処理を実行可能でない(S12でNO)と判断する。S12でYESの場合にS14に進み、S12でNOの場合にS16に進む。
【0068】
S14では、CPU32は、印刷実行部20以外のプリンタ10の状況が、印刷処理を実行可能な状況であるか否かを判断する。S14では、CPU32は、ATを用いずに判断する。S14では、CPU32は、プリンタ10のセキュリティ設定状況、無線LANI/F18の接続状況等の1個以上の状況について判断する。例えば、CPU32は、プリンタ10に設定されているセキュリティ設定が、NFCI/F16を介した印刷指示の不許可を示す設定である場合に、プリンタ10の状況が印刷処理を実行可能な状況でないと判断する(S14でNO)。あるいは、例えば、CPU32は、無線LANI/F18が、通信可能に他の装置(例えばアクセスポイント)に接続されていない場合に、プリンタ10の状況が印刷処理を実行可能な状況でないと判断する(S14でNO)。一方、CPU32は、セキュリティ設定が、NFCI/F16を介した印刷指示の許可を示す設定であり、かつ、無線LANI/F18が、通信可能に他の装置に接続されている等、上記の1個以上の状況の全ての状況において、印刷処理を実行可能な状況である場合に、S14でYESと判断する。S14でYESの場合にS20に進み、S14でNOの場合にS16に進む。
【0069】
S16では、CPU32は、NFCI/F16を介して、印刷処理を実行不可能であることを示す情報を、携帯端末70に送信する。次いで、S18では、CPU32は、印刷処理を実行不可能であることを示す音声を、スピーカ22に出力させて、判断処理を終了する。仮に、ユーザが、プリンタ10から離れた場所に移動している場合であっても、ユーザは、音声を聞くことによって、プリンタ10が印刷処理を実行不可能であることを知ることができる。なお、変形例では、CPU32は、印刷処理を実行不可能であることを示す画面を、表示部14に表示させてもよい。一方、S20では、CPU32は、NFCI/F16を介して、印刷処理を実行可能であることを示す情報を、携帯端末70に送信する。
【0070】
携帯端末70は、S16で送信された印刷処理を実行不可能であることを示す情報あるいは、S20で送信された印刷処理を実行可能であることを示す情報を受信すると、受信された情報を示す画面(即ち、プリンタ10が印刷処理を実行不可能又は実行可能)を、携帯端末70の表示部に表示する。この構成によれば、ユーザは、携帯端末70の表示部に表示される画面を確認することによって、プリンタ10が印刷処理を実行可能であるか否かを知ることができる。なお、変形例では、携帯端末70は、携帯端末70のスピーカに、受信された情報を示す音声を出力させてもよい。
【0071】
次いで、S22では、CPU32は、後述するS24において、無線LANI/F18を介して、印刷仲介サーバ100との通信を試行することを示す画面(例えば「通信試行中」の文字列を含む画面)を、表示部14に表示させる。これにより、ユーザは、S22で表示される画面を確認することによって、プリンタ10が印刷仲介サーバ100との通信を試行していることを知ることができる。
【0072】
次いで、S24では、CPU32は、無線LANI/F18を介して、印刷仲介サーバ100との通信を試行し、印刷仲介サーバ100との通信を実行可能であるか否かを判断する。具体的には、CPU32は、メモリ34に予め記憶されている印刷仲介サーバ100のURLを送信先として、無線LANI/F18を介して(即ちインターネットを介して)、通信を実行可能であるか否かを確認するための確認信号(例えばPINGに従ったパケット)を送信する。CPU32は、確認信号を送信してから所定の期間が経過するまでに、印刷仲介サーバ100から確認信号の応答として、応答信号が受信される場合に、印刷仲介サーバ100通信を実行可能である(S24でYES)と判断して、S26に進む。一方、CPU32は、確認信号を送信してから所定の期間が経過するまでに、印刷仲介サーバ100から応答信号が受信されない場合に、印刷仲介サーバ100と通信を実行可能でない(S24でNO)と判断して、S32に進む。例えば、印刷仲介サーバ100のURLが変更されている場合、メモリ34に予め記憶されている印刷仲介サーバ100のURLを送信先として、確認信号を送信することができない。
【0073】
S26では、CPU32は、無線LANI/F18を介して、取得済みのAT及びプリンタIDを含むジョブリスト要求280(図3参照)を、印刷仲介サーバ100に送信する。
【0074】
図3に示すように、印刷仲介サーバ100は、プリンタ10からジョブリスト要求280を受信すると、ジョブリスト要求280に含まれるAT及びプリンタIDの認証を実行する。印刷仲介サーバ100は、AT及びプリンタIDを記憶していると判断する場合(即ち、AT及びプリンタIDの認証が成功する場合)に、それらの情報に関連付けられている1個以上のジョブ情報が、印刷仲介サーバ100に記憶されているか否かを判断する。それらの情報に関連付けられている1個以上のジョブ情報が、印刷仲介サーバ100に記憶されている場合に、1個以上のジョブ情報のそれぞれについて、当該ジョブ情報を識別するための1個以上のジョブIDと、後述の印刷データ292の所在を示すURLと、を含むジョブリスト282を生成する。そして、印刷仲介サーバ100は、ジョブリスト282をプリンタ10に送信する。
【0075】
一方で、印刷仲介サーバ100は、プリンタ10から受信済みのAT及びプリンタIDを記憶していないと判断する場合(即ち、AT及びプリンタIDの認証が失敗する場合)に、認証が失敗したことを示す情報を、プリンタ10に送信する。認証が失敗する状況としては、例えば、ATに有効期限が存在する場合、印刷仲介サーバ100が認証を実行するタイミングでは、ATの有効期限を越えている状況が想定される。
【0076】
また、印刷仲介サーバ100は、AT及びプリンタIDに関連付けられているジョブ情報が、印刷仲介サーバ100に記憶されていない場合に、ジョブ情報が記憶されていないことを示す情報を、プリンタ10に送信する。ジョブ情報が記憶されていない状況としては、例えば、ユーザが画像データをサブミットしていない状況、あるいは、ユーザが一旦サブミットした画像データを既に削除した状況が想定される。
【0077】
図4に戻って、S28では、CPU32は、無線LANI/F18を介して、ジョブリスト要求280に対する応答が受信されることを監視している。ジョブリスト要求280に対する応答が受信されると、CPU32は、その応答が、認証が失敗したことを示す情報である場合、認証が失敗したと判断して(S28でNO)、S32に進む。一方、ジョブリスト要求280に対する応答が、認証が失敗したことを示す情報でない場合、認証が成功したと判断して(S28でYES)、S30に進む。
【0078】
S30では、CPU32は、ジョブリスト要求280に対する応答が、ジョブ情報が印刷仲介サーバ100に記憶されていないことを示す情報である場合(S30でNO)、S32に進む。一方、ジョブリスト要求280に対する応答が、ジョブ情報が印刷仲介サーバ100に記憶されていないことを示す情報でない場合、即ち、ジョブリスト282(図3参照)である場合(S30でYES)、判断処理を終了する。
【0079】
一方、判断処理において、S32が実行される状況では、CPU32は、印刷仲介サーバ100から印刷データを取得することができず、印刷処理を実行することができない。この場合、S32において、CPU32は、印刷処理を実行することができない理由を示す画面を表示して、判断処理を終了する。具体的には、S24でNOの場合、S32では、CPU32は、プリンタ10と印刷仲介サーバ100とが通信を実行することができないことを示す画面(例えば文字列「サーバへの通信に失敗しました」を含む画面)を、表示部14に表示させる。また、S28でNOの場合、S32では、CPU32は、認証が失敗したことを示す画面(例えば文字列「AT又はプリンタIDの認証に失敗しました」を含む画面)を、表示部14に表示させる。また、S30でNOの場合、S32では、CPU32は、認証が失敗したことを示す画面(例えば文字列「ジョブの取得に失敗しました」を含む画面)を、表示部14に表示させる。
【0080】
図3に戻って、CPU32は、無線LANI/F18を介して、印刷仲介サーバ100からジョブリスト282を受信すると、ジョブリスト282に含まれるURLを送信先として、無線LANI/F18を介して、印刷データ要求290を送信する。なお、印刷データ要求290は、プリンタ10が解釈可能なデータ形式を示す情報と、取得済みのATと、プリンタIDと、を含む。当該データ形式は、例えば、PDF(Portable Document Formatの略)である。
【0081】
印刷仲介サーバ100は、プリンタ10から印刷データ要求290を受信すると、上述のジョブリスト要求280が受信された場合と同様に、印刷データ要求290に含まれるAT及びプリンタIDの認証を実行する。そして、印刷仲介サーバ100が、AT及びプリンタIDを記憶していると判断する場合、変換処理を実行する。即ち、印刷仲介サーバ100は、第1のジョブ情報240に含まれる印刷設定情報234と、印刷データ要求290に含まれるデータ形式を示す情報と、に従って、第1のジョブ情報240に含まれる画像データ232を変換して、印刷データ292を生成する。例えば、印刷設定情報234が、データ形式として「XPS」を含み、用紙サイズとして「A4」を含み、両面印刷の有無として「無」を含み、色数として「カラー」を含む場合には、印刷仲介サーバ100は、A4の印刷用紙の片面のみにカラー画像の印刷処理を実行するための印刷データ292を生成する。また、印刷データ要求290がPDF形式を示す情報を含む場合には、印刷仲介サーバ100は、PDF形式の印刷データ292を生成する。
【0082】
次いで、印刷仲介サーバ100は、ジョブリスト282に含まれるURLに対応する位置に、生成済みの印刷データ292を記憶させる。そして、印刷仲介サーバ100は、印刷データ要求290の送信先であるURLに対応する位置に記憶されている印刷データ292をプリンタ10に送信する。
【0083】
CPU32は、無線LANI/F18を介して、印刷仲介サーバ100から印刷データ292を受信する。これにより、CPU32は、印刷仲介サーバ100から印刷データ292を取得することができる。そして、CPU32は、取得済みの印刷データ292を印刷実行部20に供給する。この結果、印刷実行部20は、印刷データ292によって表わされる画像を印刷用紙に印刷する。これにより、携帯端末70のユーザは、印刷済みの印刷用紙を取得することができる。
【0084】
なお、図3の例では、印刷仲介サーバ100に1個のジョブ情報240のみが記憶されているが、仮に、印刷仲介サーバ100に複数個のジョブ情報(例えば第1及び第2のジョブ情報)が記憶されている場合には、ジョブリスト282は、複数個のジョブIDと複数個のURLとを含む。
【0085】
プリンタ10は、ジョブリスト282に含まれる複数個のURLのそれぞれについて、当該URLを送信先として印刷データ要求を順次送信する。そして、印刷仲介サーバ100は、プリンタ10から印刷データ要求を受信する毎に、当該印刷データ要求に対応するジョブ情報に含まれる画像データを変換して、印刷データを生成する。これにより、プリンタ10は、複数個の印刷データのそれぞれを順次取得して、複数個の印刷データによって表わされる複数個の画像のそれぞれの印刷処理を順次実行することができる。
【0086】
(第1実施例の効果)
上述したように、プリンタ10は、図4の判断処理において、印刷実行部20が印刷処理を実行可能であるか否かを先に判断(S12)し、その後に、印刷仲介サーバ100との通信を実行可能であるか否かを判断する(S24,S28,S30)。同様に、印刷実行部20以外のプリンタ10の状況が、印刷処理を実行可能な状況であるか否かを先に判断する(S14)。S12,S14の判断処理は、プリンタ10自体の状態が判断対象であり、印刷仲介サーバ100との通信状況や、印刷仲介サーバ100自体の状態まで判断対象としない。このため、S12,S14の判断では、プリンタ10は、印刷仲介サーバ100と通信を実行しない。このため、印刷仲介サーバ100との通信状況や、印刷仲介サーバ100自体の状態が判断対象となるS24,S28,S30の処理よりも比較的に早期に判断することができる。この結果、印刷実行部20を含むプリンタ10自体の状況が、印刷処理を実行可能な状況でない場合、比較的に早期にプリンタ10が印刷処理対象機能を実行可能でない状況であることを判断することができる。
【0087】
また、本実施例では、プリンタ10は、NFCI/F16を利用し、携帯端末70と通信を実行し、無線LANI/F18を利用して、印刷仲介サーバ100と通信を実行する。この構成によれば、プリンタ10は、通信を実行する装置に応じて、利用すべきインターフェースを変更することができる。また、プリンタ10は、インターネットを介して、印刷仲介サーバ100と通信を実行することができる。
【0088】
また、プリンタ10は、NFCI/F16を利用するNFC通信を行う場合、上述したように、携帯端末70のユーザが、携帯端末70をプリンタ10に近づける必要がある。本実施例では、S12,S14の判断処理がS24,S28,S30の判断処理よりも比較的に早期に判断することができるため、携帯端末70は、図3のNFC通信による印刷指示及び暗号化データの送信に対する返答として、S16又はS20の情報を、比較的早期に取得することができる。従って、携帯端末70のユーザは、長時間、携帯端末70をプリンタ10に近づけ続けて返答を待つ必要がなく、携帯端末70のユーザは、携帯端末70とプリンタ10とのNFC通信が利用しやすい。
【0089】
また、プリンタ10は、比較的に早期に判断が完了する図4のS12,S14の処理の結果、印刷処理を実行可能な状況である場合に、印刷サーバ100との通信を試行する(S24)前に、印刷処理を実行可能であることを示す情報を、携帯端末70に送信する。従って、プリンタ10は、印刷処理を実行可能であることを示す情報を、比較的に時間の掛り得るS24,S28,S30の判断処理を行う前に供給できるので、当該情報を比較的に早期に携帯端末70に供給することが出来る。
【0090】
(対応関係)
プリンタ10、携帯端末70、印刷仲介サーバ100が、それぞれ、「通信装置」、「第1の装置」、「第2の装置」の一例である。印刷指示及びプリンタIDが「機能実行情報」の一例であり、AT及びプリンタIDが「認証情報」の一例である。図3の印刷データ292を受信する処理及び印刷処理が「対象機能」の一例である。図4のS12,S14の処理が「第1の判断処理」の一例であり、図4のS24,S28,S30の処理が「第2の判断処理」及び「第2の装置から対象データを受信可能であるか否かを判断する処理」の一例である。図4のS12の処理が「印刷実行部の状態が印刷処理を実行可能な状態であるか否かを判断する処理」である。
【0091】
図3の印刷指示及びプリンタIDを取得する処理が、「第1の取得部」よって実行される処理の一例である。図3のATを取得する処理が、「第2の取得部」よって実行される処理の一例である。図4のS32の処理が、「第1の報知制御部」よって実行される処理の一例である。図3の印刷データ要求290を送信する処理及び印刷データ292を受信する処理が、「通信部」よって実行される処理の一例である。図4のS16及びS20の処理が、「供給部」よって実行される処理の一例である。図4のS10の処理が、「第1の表示制御部」よって実行される処理の一例である。図4のS22の処理が、「第2の表示制御部」よって実行される処理の一例である。図4のA18の処理が、「第2の報知制御部」よって実行される処理の一例である。
【0092】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0093】
(変形例1)上記の実施例では、図2の登録プロセスにおいて、OAuthの手法を利用した登録プロセスが実行されるが、登録プロセスでは、Client Loginの手法を利用した登録プロセスが実行されてもよい。
【0094】
Client Loginの手法では、CPU82は、ユーザの登録操作に従って、ログイン画面を携帯端末70の表示部に表示させ(図2のログイン画面と同様)、アカウント情報を取得する。CPU82は、無線LANI/F78を介して、入力済みのアカウント情報を含むログイン要求(ログイン要求214と同様)を、印刷仲介サーバ100に送信する。印刷仲介サーバ100は、図2と同様に、ログイン要求の受信、アカウント情報の認証の実行、ATの生成、ログイン成功通知の送信を実行する。
【0095】
CPU82は、ログイン成功通知を受信すると、ログイン成功通知に含まれるATをメモリ84に記憶させ、図2の登録要求200と同様の登録要求を、印刷仲介サーバ100に送信する。印刷仲介サーバ100は、携帯端末70から登録要求を受信すると、登録要求に含まれるプロキシIDを利用して、プリンタIDを生成し、生成済みのプリンタIDと、仮想印刷条件情報と、を記憶する。この結果、印刷仲介サーバ100では、生成済みのプリンタIDと、アカウント情報と、仮想印刷条件情報と、ATと、が関連付けられる。そして、印刷仲介サーバ100は、生成済みのプリンタIDを含む登録成功通知322を、携帯端末70に送信する。
【0096】
CPU82は、無線LANI/F78を介して、印刷仲介サーバ100から登録成功通知322を受信すると、登録成功通知322に含まれるプリンタIDをメモリ84に記憶させて、登録プロセスを終了する。
【0097】
(変形例2)上記の実施例では、図2の登録プロセスにおいて、携帯端末70は、仮想印刷条件情報を含む登録要求200を印刷仲介サーバ100に送信する。これに代えて、例えば、仮想印刷条件情報がインターネット上のデータサーバ(即ちプリンタ10のベンダによって提供されるサーバ)に記憶されている場合には、携帯端末70は、仮想印刷条件情報のURLを含む登録要求を、印刷仲介サーバ100に送信してもよい。この場合、印刷仲介サーバ100は、仮想印刷条件情報のURLを利用して、データサーバから仮想印刷条件情報を取得し、取得済み仮想印刷条件情報を記憶してもよい。また、印刷仲介サーバ100がプリンタ10のベンダによって提供されるサーバである場合には、印刷仲介サーバ100は、仮想印刷条件情報を予め記憶していてもよい。この場合、携帯端末70は、仮想印刷条件情報も仮想印刷条件情報のURLも含まない登録要求を、印刷仲介サーバ100に送信すればよい。
【0098】
(変形例3)上記の実施例では、図3の印刷プロセスが実行される状況において、図2の登録プロセスで生成されたATが印刷仲介サーバ100に登録されている。ただし、図5の印刷プロセスが実行される際に、ATの有効期限が終了していることがあり得る。そこで、図2の登録プロセスにおいて、印刷仲介サーバ100は、ATのみならず、いわゆるリフレッシュトークンを生成して、アカウント情報等に関連付けてリフレッシュトークンを記憶してもよい。この場合、印刷仲介サーバ100は、ATの有効期限が終了する場合に、リフレッシュトークンを利用して、新たなトークンを生成し、ATに代えて、当該新たなトークンを記憶することができる。そして、携帯端末70は、印刷仲介サーバ100から、ATのみならず、いわゆるリフレッシュトークンを含むログイン成功通知216を受信する。図3の印刷プロセスにおいて、携帯端末70は、ATのみならず、リフレッシュトークンをプリンタ10に送信する。この場合、プリンタ10は、ATの有効期限が終了している場合に、リフレッシュトークンを利用して新たなトークンを生成し、当該新たなトークンを利用して、印刷仲介サーバ100から印刷データを取得することができる。本変形例では、リフレッシュトークンが、「認証情報」の一例である。
【0099】
(変形例4)上記の実施例では、「認証情報」は、ATを含む。ただし、印刷仲介サーバ100が、トークンを利用せずに、プリンタIDのみを利用して認証を実行可能な構成であれば、「認証情報」は、トークンを含んでおらず、プリンタIDのみを含んでいてもよい。また、印刷仲介サーバ100が、プリンタIDを利用せずに、トークンのみを利用して認証を実行可能である構成であれば、「認証情報」は、プリンタIDを含んでおらず、トークンのみを含んでいてもよい。一般的に言うと、「認証情報」は、印刷仲介サーバにおいて認証に利用される情報であれば、どのような情報であってもよい。
【0100】
(変形例5)プリンタ10及び携帯端末70は、NFC方式の無線通信を実行する代わりに、他の通信方式の近距離無線通信(例えば、トランスファージェット方式、赤外線方式等の無線通信)を実行して、暗号化データの通信を実行してもよい。本変形例では、上記の他の通信方式が、「近距離無線通信方式」の一例である。また、プリンタ10及び携帯端末70は、近距離無線通信を実行する代わりに、通常Wi−Fi方式の無線通信を実行して、暗号化データの通信を実行してもよい。また、プリンタ10及び携帯端末70は、無線通信を実行する代わりに、有線通信を実行して、暗号化データの通信を実行してもよい。即ち、「第1のインターフェース」は、近距離無線通信方式に従った無線通信を実行するためのインターフェースでなくてもよく、通常Wi−Fi方式又は有線方式に従った通信を実行するためのインターフェースであってもよい。
【0101】
(変形例6)携帯端末70は、通常Wi−Fi方式の無線通信を実行して、印刷仲介サーバ100と様々な情報(例えば図2の登録要求200等)の通信を実行する代わりに、3G、4G等のセルラー方式の無線通信を実行して、印刷仲介サーバ100と通信を実行してもよい。また、携帯端末70は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ100と通信を実行してもよい。本変形例では、セルラー方式又は有線方式が、「所定の通信方式」の一例である。
【0102】
(変形例7)プリンタ10は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ100と様々な情報(例えば図5のジョブリスト要求280等)の通信を実行してもよい。本変形例では、有線方式が、「所定の通信方式」の一例である。
【0103】
(変形例8)印刷仲介サーバ100は、1個のサーバでなくてもよく、別体に構成されている複数個のサーバであってもよい。例えば、印刷仲介サーバ100は、図2の登録プロセスに示される各処理を実行する第1のサーバと、図3の印刷プロセスに示される各処理を実行する第2のサーバ(即ち第1のサーバとは別体に構成されている第2のサーバ)と、を備えていてもよい。本変形例では、第1のサーバ及び第2のサーバが、「第2の装置」の一例である。
【0104】
(変形例9)「通信装置」は、プリンタ10でなくてもよい。例えば、「通信装置」は、原稿をスキャンするスキャン実行部と、スキャン実行部を制御するスキャン制御部を備えるスキャナであってもよい。また、「第2の装置」は、印刷仲介サーバでなくてもよい。例えば、「第2の装置」は、スキャナによりスキャンされた画像データがアップロードされ、当該アップロードされた画像データを記憶する記憶部を備えるアップロードサーバであってもよい。本変形例では、図2の印刷プロセスに代えて、スキャナ、アップロードサーバ、携帯端末70は、以下のスキャンプロセスを実行してもよい。即ち、携帯端末70のユーザは、携帯端末70にインストールされているスキャンアプリを起動し、スキャンアプリに従って表示される画面上で「スキャン」を示すボタンを選択してもよい。この結果、CPU82は、メモリ84からAT及びスキャナID(図2の登録プロセスにおいて、プリンタIDに代えて取得されるIDである)を読み出し、NFCI/F76を介して、スキャン指示、AT及びスキャンIDをスキャナに送信してもよい。
【0105】
スキャナは、携帯端末70からスキャン指示、AT及びスキャンIDを受信すると、図4の判断処理と同様の判断処理を実行してもよい。但し、本変形例の判断処理では、図4のS12において、スキャナのCPUは、スキャン実行部が、スキャン処理を実行可能であるか否かを判断してもよい。さらに、S14では、スキャナのCPUは、スキャン実行部以外のスキャナの状況が、印刷処理を実行可能な状況であるか否かを判断してもよい。また、S24,S28では、スキャナのCPUは、アップロードサーバとの通信を試行及び認証してもよい。スキャナのCPUは、図4のS26,S30を実行しなくてもよい。なお、スキャナは、スキャンした画像データをアップロードサーバに送信し、アップロードサーバは、送信された画像データを記憶部に記憶してもよい。本変形例では、スキャン処理が「特定処理」の一例である。
【0106】
(変形例10)「第1の装置」は、携帯端末70でなくてもよく、据え置き型のPCであってもよいし、他のデバイス(例えばテレビ等)であってもよい。
【0107】
(変形例11)上記の実施例では、CPU32がメモリ34内のプログラム(例えばプリンタアプリ)を実行することによって、図2図4の各処理が実現される。これに代えて、図2図4の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
【0108】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0109】
2:通信システム、10:プリンタ、16:NFCインターフェース、18:無線LANインターフェース、20:印刷実行部、22:スピーカ、30:制御部、32:CPU、34:メモリ、70:携帯端末、100:印刷仲介サーバ
図1
図2
図3
図4