(57)【要約】【課題】  比較的に早期に通信装置が対象機能を実行可能でない状況を判断し得る技術を提供する。【解決手段】  プリンタは、携帯端末から印刷指示とＡＴとを受信すると、印刷実行部が印刷処理を実行可能であるか否かを、ＡＴを使用せずに判断する（Ｓ１２）。印刷処理を実行可能であると判断される場合に（Ｓ１２でＹＥＳ）、ＡＴを用いて、プリンタ１０が、印刷仲介サーバと印刷処理を実行するための通信を実行可能であるか否かを判断する（Ｓ２４，Ｓ２８，Ｓ３０）。印刷処理を実行するための通信を実行可能でないと判断される場合に（Ｓ２４，Ｓ２８，Ｓ３０のいずれかでＮＯ）、印刷処理を実行不可能であることを示す画面を、表示部１４に表示させる（Ｓ３２）。一方、印刷処理を実行するための通信を実行可能であると判断される場合に（Ｓ２４，Ｓ２８，Ｓ３０のいずれもＹＥＳ）、印刷仲介サーバとの通信を実行する。【選択図】図４
2015138391.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
前記通信装置が対象機能を実行するための機能実行情報を、第１の装置から取得する第１の取得部であって、前記対象機能は、前記第１の装置と異なる第２の装置との特定データの通信と、前記特定データに関連する特定処理と、を含む、前記第１の取得部と、
前記第２の装置にて生成され、前記第１の装置にて前記第２の装置から取得された認証情報を、前記第１の装置から取得する第２の取得部であって、前記認証情報は、前記第２の装置との通信を実行可能であるか否かの認証を前記第２の装置にて実行させるための情報である、前記第２の取得部と、
前記機能実行情報が取得されることを契機として、前記通信装置の状態が、前記特定処理を実行可能な実行可能状態であるか否かを、前記認証情報を使用せずに判断する第１の判断処理を実行する第１の判断部と、
前記第１の判断処理において、前記実行可能状態であると判断される場合に、取得済みの前記認証情報を用いて、前記第２の装置との通信を試行することによって、前記通信装置が、前記第２の装置と前記特定処理を実行するための前記通信を実行可能であるか否かを判断する第２の判断処理を実行する第２の判断部と、
前記第２の判断処理において、前記通信装置が、前記特定処理を実行するための前記通信を実行可能でないと判断される場合に、前記第２の判断処理の結果に関する第１の報知を、第１の報知部に実行させる第１の報知制御部と、
前記第２の判断処理において、前記通信装置が、前記特定処理を実行するための前記通信を実行可能であると判断される場合に、前記第２の装置との通信を実行する通信部と、を備える通信装置。
【請求項２】
前記通信装置は、さらに、
印刷実行部と、
前記印刷実行部に印刷処理を実行させる印刷制御部と、を備え、
前記特定処理は、印刷処理であり、
前記認証情報は、前記対象データが前記第２の装置から送信されるべきか否かの認証を、前記第２の装置にて実行させるための情報であり、
前記通信部は、前記認証情報を用いて、前記第２の装置と通信を実行することによって、前記第２の装置から印刷対象の対象データを受信し、
前記印刷制御部は、受信済みの前記対象データを用いた印刷処理を、前記印刷実行部に実行させる、請求項１に記載の通信装置。
【請求項３】
前記第１の判断処理は、前記印刷実行部の状態が印刷処理を実行可能な状態であるか否かを判断する処理を含み、
前記第２の判断処理は、前記第２の装置から前記対象データを受信可能であるか否かを判断する処理を含む、請求項２に記載の通信装置。
【請求項４】
前記通信装置は、さらに、
前記第１の判断処理において、前記実行可能状態であると判断される場合に、前記実行可能状態であることを示す情報を、前記第１の装置に供給する供給部であって、前記第１の判断処理において、前記特定処理を実行可能な状態でない実行不可能状態と判断される場合に、前記通信装置が前記実行不可能状態であることを示す情報を、前記第１の装置に供給する前記供給部を、備える、請求項１から３のいずれか一項に記載の通信装置。
【請求項５】
前記供給部は、前記第１の判断部が前記第１の判断処理を実行した後であって、前記第２の判断部が前記第２の判断処理を実行する前に、前記実行可能状態であることを示す情報を供給する、請求項４に記載の通信装置。
【請求項６】
前記通信装置は、さらに、
前記機能実行情報が取得されることを契機として、前記通信装置の表示部に、前記機能実行情報の取得に関する第１の画面を表示させる第１の表示制御部と、
前記第１の判断処理において、前記実行可能状態であると判断される場合に、前記表示部に、前記第２の装置との通信に関する第２の画面を表示させる第２の表示制御部と、を備える、請求項１から５のいずれか一項に記載の通信装置。
【請求項７】
前記通信装置は、さらに、
第１のインターフェースと、
前記第１のインターフェースとは異なる第２のインターフェースと、を備え、
前記第１の取得部は、前記第１のインターフェースを利用して、前記第１の装置から前記機能実行情報を取得し、
前記第２の取得部は、前記第１のインターフェースを利用して、前記第１の装置から前記認証情報を取得し、
前記第２の判断部は、前記第２のインターフェースを利用して、前記第２の装置との前記通信を試行することによって、前記第２の判断処理を実行し、
前記通信部は、前記第２のインターフェースを利用して、前記第２の装置との前記通信を実行する、請求項１から６のいずれか一項に記載の通信装置。
【請求項８】
前記第２のインターフェースは、所定の通信方式に従った無線通信を実行するためのインターフェースであり、
前記第１のインターフェースは、前記所定の通信方式よりも近距離の無線通信を実行するための近距離無線通信方式に従った無線通信を実行するためのインターフェースである、請求項７に記載の通信装置。
【請求項９】
前記第１のインターフェースは、ＮＦＣ（Near Field Communication）方式に従った無線通信を実行するための通信インターフェースである、請求項７又は８に記載の通信装置。
【請求項１０】
前記第１の判断部は、前記第２の装置との前記通信を試行せずに、前記第１の判断処理を実行する、請求項１から９のいずれか一項に記載の通信装置。
【請求項１１】
前記通信装置は、さらに、
前記第１の判断処理において、前記実行不可能状態であると判断される場合に、前記第１の判断処理の結果に関する第２の報知を、第２の報知部に実行させる第２の報知制御部を備え、
前記第１の報知部は、前記通信装置の表示部を含み、
前記第１の報知制御部は、前記第１の報知として、前記表示部に、前記第２の判断処理の結果に関する第３の画面を表示させ、
前記第２の報知部は、前記通信装置のスピーカを含み、
前記第２の報知制御部は、前記第２の報知として、前記スピーカに、前記第２の判断処理の結果に関する音声を出力させる、請求項１から１０のいずれか一項に記載の通信装置。
【請求項１２】
前記第２の判断部は、インターネットを介して、前記第２の装置との前記通信を試行することによって、前記第２の判断処理を実行し、
前記通信部は、前記インターネットを介して、前記第２の装置との通信を実行する、請求項１から１１のいずれか一項に記載の通信装置。
【請求項１３】
通信装置のためのコンピュータプログラムであって、通信装置に搭載されているコンピュータに、以下の処理、即ち、
前記通信装置が対象機能を実行するための機能実行情報を、前記第２の装置と異なる第１の装置から取得する第１の取得処理であって、前記対象機能は、第２の装置との特定データの通信と、前記特定データに関連する特定処理と、を含む、前記第１の取得処理と、
前記第２の装置にて生成され、前記第１の装置にて前記第２の装置から取得された認証情報を、前記第１の装置から取得する第２の取得処理であって、前記認証情報は、前記第２の装置との通信を実行可能であるか否かの認証を前記第２の装置にて実行させるための情報である、前記第２の取得処理と、
前記機能実行情報が取得されることを契機として、前記通信装置の状態が、前記特定処理を実行可能な実行可能状態であるか否かを、前記認証情報を使用せずに判断する第１の判断処理と、
前記第１の判断処理において、前記実行可能状態であると判断される場合に、取得済みの前記認証情報を用いて、前記第２の装置との通信を試行することによって、前記通信装置が、前記第２の装置と前記特定処理を実行するための前記通信を実行可能であるか否かを判断する第２の判断処理と、
前記第２の判断処理において、前記通信装置が、前記特定処理を実行するための前記通信を実行可能でないと判断される場合に、前記第２の判断処理の結果に関する第１の報知を、第１の報知部に実行させる第１の報知制御処理と、
前記第２の判断処理において、前記通信装置が、前記特定処理を実行するための前記通信を実行可能であると判断される場合に、前記第２の装置との通信を実行する通信処理と、を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、通信装置が、他の装置とのデータの通信と、当該データに関連する機能と、を実行するための技術を開示する。
【背景技術】
【０００２】
従来から、端末装置がサーバにデータを送信し、プリンタが当該サーバから送信されたデータを受信することで、プリンタが受信したデータを印刷する技術が知られている。例えば、非特許文献１には、Google（登録商標） Cloud Print（以下では「ＧＣＰ」と呼ぶ）と呼ばれるインターネット上のサービスが開示されている。ユーザは、例えば、端末装置を利用してプリンタにアクセスし、ＧＣＰを提供するサーバ（以下では「ＧＣＰサーバ」と呼ぶ）との通信をプリンタに実行させる。これにより、プリンタは、当該プリンタの名称、当該プリンタが利用可能な印刷条件（即ちCapability）、当該プリンタのデフォルト設定等を含むプリンタ関係情報をＧＣＰサーバに登録することができる。その後、ユーザは、例えば、端末装置を利用して、印刷対象の画像を表わす画像データをＧＣＰサーバにサブミットする。これにより、プリンタは、ＧＣＰサーバによって画像データから生成される印刷データ（即ちプリンタが解釈可能なデータ）を取得して、印刷データによって表わされる画像の印刷を実行することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“What is Google Cloud Print”、［online］、［平成２６年１月１４日検索］、インターネット＜URL: https://developers.google.com/cloud-print/＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、サーバとプリンタとを用いて実行される印刷において、プリンタが印刷を実行することができない状況がある。例えば、プリンタ自体が正常な状態で無い（例えば印刷用紙が無い、インクが無い）場合や、プリンタがサーバからデータを取得することができない場合、プリンタは、印刷を実行することができない。
【０００５】
本明細書では、比較的に早期に通信装置が対象機能を実行可能でない状況を判断し得る技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される通信装置は、第１の取得部と、第２の取得部と、第１の判断部と、第２の判断部と、第１の報知制御部と、通信部と、を備える。第１の取得部は、通信装置が対象機能を実行するための機能実行情報を、第２の装置と異なる第１の装置から取得する。対象機能は、第２の装置との特定データの通信と、特定データに関連する特定処理と、を含む。第２の取得部は、第２の装置にて生成され、第１の装置にて第２の装置から取得された認証情報を、第１の装置から取得する。認証情報は、第２の装置との通信を実行可能であるか否かの認証を第２の装置にて実行させるための情報である。第１の判断部は、機能実行情報が取得されることを契機として、通信装置の状態が、特定処理を実行可能な実行可能状態であるか否かを、認証情報を使用せずに判断する第１の判断処理を実行する。第２の判断部は、第１の判断処理において、実行可能状態であると判断される場合に、取得済みの認証情報を用いて、第２の装置との通信を試行することによって、通信装置が、第２の装置と特定処理を実行するための通信を実行可能であるか否かを判断する第２の判断処理を実行する。第１の報知制御部は、第２の判断処理において、通信装置が、特定処理を実行するための通信を実行可能でないと判断される場合に、第２の判断処理の結果に関する第１の報知を、第１の報知部に実行させる。通信部は、第２の判断処理において、通信装置が、特定処理を実行するための通信を実行可能であると判断される場合に、第２の装置との通信を実行する。
【０００７】
第１の判断処理では、通信装置自体の状態が判断対象であり、通信装置以外の装置の状態まで判断対象とせずに済む。このため、第１の判断処理では、比較的に早期に判断が完了され得る。一方、第２の判断処理では、通信装置と第２の装置と通信を試行する必要があり、第２の装置の状態が判断対象となり得る。この結果、第２の判断処理では、第１の判断処理と比較して、処理時間が掛かる場合が多い。上記の構成では、通信装置は、比較的に早期に判断し得る第１の判断処理を先に実行し、比較的に時間が掛り得る第２の判断処理を後に実行する。この結果、通信装置は、通信装置自体の状態が特定処理を実行することができない状態である場合、比較的に早期に対象機能を実行可能でない状況であることを判断し得る。
【０００８】
通信装置は、さらに、印刷実行部と、印刷実行部に印刷処理を実行させる印刷制御部と、を備えていてもよい。特定処理は、印刷処理であってもよい。認証情報は、対象データが第２の装置から送信されるべきか否かの認証を、第２の装置にて実行させるための情報であってもよい。通信部は、認証情報を用いて、第２の装置と通信を実行することによって、第２の装置から印刷対象の対象データを受信してもよい。印刷制御部は、受信済みの対象ファイルを用いた印刷処理を、印刷実行部に実行させてもよい。この構成によれば、通信装置は、第１の装置から、第１の装置機能実行情報を取得することによって、第２の装置から受信された対象データを用いた印刷処理を実行することができる。
【０００９】
第１の判断処理は、印刷実行部の状態が印刷処理を実行可能な状態であるか否かを判断する処理を含んでいてもよい。第２の判断処理は、第２の装置から対象データを受信可能であるか否かを判断する処理を含んでいてもよい。この構成によれば、通信装置は、印刷実行部の状態が印刷処理を実行可能な状態であるか否かの判断を先に実行し、第２の装置から対象ファイルを受信可能であるか否かを判断する処理を後に実行することができる。この結果、通信装置は、比較的に早期に通信装置が印刷処理を実行可能な状況でないことを判断し得る。
【００１０】
通信装置は、さらに、第１の判断処理において、実行可能状態であると判断される場合に、実行可能状態であることを示す情報を、第１の装置に供給する供給部をさらに備えていてもよい。供給部は、第１の判断処理において、特定処理を実行可能な状態でない実行不可能状態と判断される場合に、通信装置が実行不可能状態であることを示す情報を、第１の装置に供給してもよい。この構成によれば、例えば、第１の装置は、通信装置の第１の判断処理の結果を、第１の装置から取得し得る。
【００１１】
供給部は、第１の判断部が第１の判断処理を実行した後であって、第２の判断部が第２の判断処理を実行する前に、実行可能状態であることを示す情報を供給してもよい。この構成によれば、通信装置は、比較的に早期に判断が完了する第１の判断処理の結果である実行可能状態であることを示す情報を、比較的に時間の掛り得る第２の判断を行う前に供給できるので、当該情報を比較的に早期に第１の装置に供給することが出来る。
【００１２】
通信装置は、さらに、第１の表示制御部と、第２の表示制御部と、を備えていてもよい。第１の表示制御部は、機能実行情報が取得されることを契機として、通信装置の表示部に、機能実行情報の取得に関する第１の画面を表示させてもよい。第２の表示制御部は、第１の判断処理において、実行可能状態であると判断される場合に、表示部に、第２の装置との通信に関する第２の画面を表示させてもよい。この構成によれば、例えば、ユーザは、第１の画面を確認することによって、通信装置によって、機能実行情報が適切に取得されたことを知ることができる。また、例えば、ユーザは、第２の画面を確認することによって、第１の判断処理において、実行可能状態であると判断され、第２の判断処理が実行されることを知ることができる。
【００１３】
通信装置は、さらに、第１のインターフェースと、第１のインターフェースとは異なる第２のインターフェースと、を備えていてもよい。第１の取得部は、第１のインターフェースを利用して、第１の装置から前記機能実行情報を取得してもよい。第２の取得部は、第１のインターフェースを利用して、第１の装置から認証情報を取得してもよい。第２の判断部は、第２のインターフェースを利用して、第２の装置との通信を試行することによって、第２の判断処理を実行してもよい。通信部は、第２のインターフェースを利用して、第２の装置との通信を実行してもよい。この構成によれば、通信装置は、通信を実行する装置に応じて、利用すべきインターフェースを変更することができる。
【００１４】
第２のインターフェースは、所定の通信方式に従った無線通信を実行するためのインターフェースであり、第１のインターフェースは、所定の通信方式よりも近距離の無線通信を実行するための近距離無線通信方式に従った無線通信を実行するためのインターフェースであってもよい。この構成によれば、通信装置は、比較的に近距離の無線通信を実行して、第１の装置から機能実行情報を取得することができ、比較的に遠距離の無線通信を実行して、第２の装置からデータを取得することができる。
【００１５】
第２のインターフェースは、ＮＦＣ（Near Field Communication）方式に従った無線通信を実行するための通信インターフェースであってもよい。
【００１６】
第１の判断部は、第２の装置との通信を試行せずに、第１の判断処理を実行してもよい。この構成によれば、通信装置は、第１の判断処理の処理時間を短縮し得る。
【００１７】
通信装置は、さらに、第１の判断処理において、実行不可能状態であると判断される場合に、第１の判断処理の結果に関する第２の報知を、第２の報知部に実行させる第２の報知制御部を備えていてもよい。第１の報知部は、通信装置の表示部を含んでいてもよい。第１の報知制御部は、第１の報知として、表示部に、第２の判断処理の結果に関する第３の画面を表示させてもよい。第２の報知部は、通信装置のスピーカを含んでいてもよい。第２の報知制御部は、第２の報知として、スピーカに、第２の判断処理の結果に関する音声を出力させてもよい。この構成によれば、例えば、ユーザは、スピーカから出力される音声を聞くことによって、通信装置が実行不可能状態であることを知ることができる。また、例えば、ユーザは、第３の画面を確認することによって、第２の判断処理の判断結果を知ることができる。
【００１８】
第２の判断部は、インターネットを介して、第２の装置との通信を試行することによって、第２の判断処理を実行してもよい。通信部は、インターネットを介して、第２の装置との通信を実行してもよい。この構成によれば、通信装置は、インターネットを介して、第２の装置と通信を実行することができる。
【００１９】
上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の通信装置と、第２の装置及び第１の装置の少なくとも一方を備える通信システムも、新規で有用である。
【図面の簡単な説明】
【００２０】
【図１】通信システムの構成を示す。
【図２】登録プロセスのシーケンス図を示す。
【図３】印刷プロセスのシーケンス図を示す。
【図４】プリンタが実行する判断処理のフローチャートを示す。
【発明を実施するための形態】
【００２１】
図１に示されるように、通信システム２は、プリンタ１０と、携帯端末７０と、印刷仲介サーバ１００と、を備える。各デバイス１０，７０，１００は、インターネットを介して、相互に通信可能である。
【００２２】
（プリンタ１０の構成）
プリンタ１０は、印刷処理を実行可能な周辺機器（即ちＰＣ等の周辺機器）である。プリンタ１０は、操作部１２と、表示部１４と、を備える。また、プリンタ１０は、ＮＦＣ（Near Field Communicationの略）インターフェース１６と、無線ＬＡＮ（Local Area Networkの略）インターフェース１８と、を備える。また、プリンタ１０は、印刷実行部２０を備える。また、プリンタ１０は、スピーカ２２を備える。また、プリンタ１０は、制御部３０を備える。各部１２〜３０は、バス線（符号省略）に接続されている。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００２３】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をプリンタ１０に与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。印刷実行部２０は、インクジェット方式、レーザ方式等の印刷機構を備える。スピーカ２２は、ＣＰＵ３２に従って音声を出力する。
【００２４】
ＮＦＣＩ／Ｆ１６は、いわゆる近距離無線通信のためのＮＦＣ方式に従った無線通信（以下では「ＮＦＣ通信」と呼ぶ）を実行するためのＩ／Ｆ（即ち、ＩＣチップ、通信回路）である。ＮＦＣ方式は、例えば、ＩＳＯ／ＩＥＣ２１４８１又は１８０９２の国際標準規格に基づく無線通信方式である。
【００２５】
無線ＬＡＮＩ／Ｆ１８は、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって定められた通常Ｗｉ−Ｆｉ方式に従った無線通信（以下では「通常Ｗｉ−Ｆｉ通信」と呼ぶ）を実行するためのＩ／Ｆ（即ち、ＩＣチップ、通信回路）である。通常Ｗｉ−Ｆｉ方式は、例えば、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.の略）の８０２．１１の規格、及び、それに準ずる規格（例えば、８０２．１１ａ，１１ｂ，１１ｇ，１１ｎ等）に基づく無線通信方式である。
【００２６】
ここでは、ＮＦＣＩ／Ｆ１６と無線ＬＡＮＩ／Ｆ１８の相違点を説明しておく。無線ＬＡＮＩ／Ｆ１８を介した無線通信の通信速度（例えば、最大の通信速度が１１〜６００Ｍｂｐｓ）は、ＮＦＣＩ／Ｆ１６を介した無線通信の通信速度（例えば、最大の通信速度が１００〜４２４Ｋｂｐｓ）よりも速い。また、無線ＬＡＮＩ／Ｆ１８を介した無線通信における搬送波の周波数（例えば、２．４ＧＨｚ帯、５．０ＧＨｚ帯）は、ＮＦＣＩ／Ｆ１６を介した無線通信における搬送波の周波数（例えば、１３．５６ＭＨｚ帯）とは異なる。また、例えば、プリンタ１０のＮＦＣＩ／Ｆ１６と他の機器（例えば携帯端末７０）のＮＦＣＩ／Ｆとの間の距離が約１０ｃｍ以下である場合に、制御部３０は、ＮＦＣＩ／Ｆ１６を介して、当該他の機器とＮＦＣ通信を実行可能である。一方において、プリンタ１０の無線ＬＡＮＩ／Ｆ１８と他の機器（例えば携帯端末７０）の無線ＬＡＮＩ／Ｆとの間の距離が、１０ｃｍ以下である場合でも、１０ｃｍ以上である場合（例えば最大で約１００ｍ）でも、制御部３０は、無線ＬＡＮＩ／Ｆ１８を介して、当該他の機器と通常Ｗｉ−Ｆｉ通信を実行可能である。即ち、プリンタ１０が無線ＬＡＮＩ／Ｆ１８を介して他の機器と無線通信を実行可能な最大の距離は、プリンタ１０がＮＦＣＩ／Ｆ１６を介して他の機器と無線通信を実行可能な最大の距離よりも大きい。
【００２７】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ３４は、ＲＡＭ、ＲＯＭ、ハードディスク等によって構成される。メモリ３４は、上記のプログラムのみならず、プリンタ１０が様々な処理を実行する過程で生成又は取得される様々なデータを格納する。
【００２８】
（携帯端末７０の構成）
携帯端末７０は、携帯電話（例えばスマートフォン）、ＰＤＡ、ノートＰＣ、タブレットＰＣ、デジタルカメラ、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。携帯端末７０は、操作部と、表示部と（共に図示省略）、制御部８０と、を備える。また、携帯端末７０は、プリンタ１０のＮＦＣＩ／Ｆ１６と同様のＮＦＣＩ／Ｆ７６と、無線ＬＡＮＩ／Ｆ１８と同様の無線ＬＡＮＩ／Ｆ７８と、を備える。各部７６〜８０は、バス線（符号省略）に接続されている。
【００２９】
制御部８０は、ＣＰＵ８２と、メモリ８４と、を備える。ＣＰＵ８２は、メモリ８４に格納されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ８４は、ＲＡＭ、ＲＯＭ、ハードディスク等によって構成される。メモリ８４は、上記のプログラムのみならず、携帯端末７０が様々な処理を実行する過程で生成又は取得される様々なデータを格納する。
【００３０】
メモリ８４は、さらに、印刷仲介サーバ１００を利用して、プリンタ１０に印刷を実行させるためのプリンタ用アプリケーション（以下では「プリンタアプリ」と呼ぶ）を記憶する。プリンタアプリは、プリンタ１０のベンダによって提供されるアプリケーションである。プリンタアプリは、インターネット上のサーバから携帯端末７０にインストールされてもよいし、プリンタ１０と共に出荷されるメディアから携帯端末７０にインストールされてもよい。
【００３１】
（印刷仲介サーバ１００の構成）
印刷仲介サーバ１００は、インターネット上に設置されるサーバであり、例えば、Ｇｏｏｇｌｅ（登録商標）によって提供されるＧＣＰサーバである。ただし、変形例では、印刷仲介サーバ１００は、例えば、プリンタ１０のベンダによって提供されるサーバであってもよいし、プリンタ１０のベンダとは異なる事業者によって提供されるサーバであってもよい。
【００３２】
印刷仲介サーバ１００は、外部機器（例えば携帯端末７０）とプリンタ（例えばプリンタ１０）との間で印刷の仲介を実行するためのサーバである。即ち、印刷仲介サーバ１００は、外部機器からサブミットされる画像データを変換して、プリンタが解釈可能なデータ形式を有する印刷データを生成し、当該印刷データを当該プリンタに供給する。従って、外部機器は、画像データを印刷データに変換するためのプリンタドライバを備えていなくても、印刷仲介サーバ１００に画像データをサブミットすれば、プリンタに印刷処理を実行させることができる。
【００３３】
（事前準備）
上述したように、例えば、携帯端末７０は、印刷仲介サーバ１００を介した印刷処理をプリンタ１０に実行させることができる。以下では、図２〜図４を参照して、当該印刷処理のための様々な処理を説明する。なお、携帯端末７０のユーザは、図２，３に開示されている携帯端末７０の動作を実現するために、以下の事前準備を実行しておく必要がある。
【００３４】
即ち、ユーザは、例えば、携帯端末７０を利用して、印刷仲介サーバ１００にアカウント情報を登録しておく必要がある。アカウント情報は、例えば、ユーザＩＤ、パスワード等を含む。なお、ユーザは、携帯端末７０を利用する代わりに、他の機器（例えばＰＣ等）を利用して、印刷仲介サーバ１００にアカウント情報を登録してもよい。ユーザのアカウント情報が印刷仲介サーバ１００に登録されれば、ユーザは、携帯端末７０を利用して、印刷仲介サーバ１００を介した印刷処理をプリンタ１０に実行させることができる。
【００３５】
（登録プロセス；図２）
続いて、図２を参照して、携帯端末７０が必要な情報を印刷仲介サーバ１００に登録するための登録プロセスについて説明する。本実施例では、ＯＡｕｔｈを利用した登録プロセスが実行される。
【００３６】
登録プロセスでは、携帯端末７０のユーザは、プリンタ１０の近くに存在しなくてもよい。即ち、例えば、プリンタ１０が家庭内に設置されており、ユーザが携帯端末７０を持参して外出している状況において、ユーザは、携帯端末７０を利用して、様々な情報を印刷仲介サーバ１００に登録することができる。なお、登録プロセスでは、携帯端末７０は、無線ＬＡＮＩ／Ｆ７８を介して（即ちインターネットを介して）、印刷仲介サーバ１００と通信を実行する。
【００３７】
携帯端末７０のユーザは、まず、携帯端末７０にインストールされているプリンタアプリを起動し、プリンタアプリに従って表示される画面上で「登録」を示すボタンを選択する。この場合、ＣＰＵ８２は、プリンタアプリに従って、図２に示される各処理を実行する。
【００３８】
ＣＰＵ８２は、まず、プリンタアプリに予め登録されている仮想印刷条件情報をメモリ８４から読み出す。仮想印刷条件情報は、実在プリンタ（例えばプリンタ１０）ではなく、仮想プリンタが利用可能な仮想的な印刷条件を示す情報であり、プリンタ１０のベンダによって予め決められた情報である。なお、図１に示されるように、プリンタアプリには、仮想印刷条件情報が予め登録されている。従って、仮想印刷条件情報は、実在プリンタ（例えばプリンタ１０）から取得されることなく、メモリ８４に予め記憶されている。
【００３９】
仮想的な印刷条件は、例えば、画像が印刷されるべき印刷用紙のサイズ（即ち用紙サイズ）、両面印刷の実行の有無、色数（例えばモノクロ印刷、カラー印刷等）等を含む。本実施例では、予め決められている仮想的な印刷条件は、用紙サイズとして「Ａ４」及び「Ｂ５」を含み、両面印刷の実行の有無として「無」を含み、色数として「モノクロ印刷」及び「カラー印刷」を含む。仮想的な印刷条件は、さらに、印刷向き（例えば、ランドスケープ印刷、ポートレート印刷）等の他の条件を含んでいてもよい。
【００４０】
次いで、ＣＰＵ８２は、携帯端末７０のプロキシＩＤ（即ち携帯端末７０を識別するためのＩＤ）をメモリ８４から読み出す。そして、ＣＰＵ８２は、仮想印刷条件情報とプロキシＩＤとを含む登録要求２００を、印刷仲介サーバ１００に送信する。なお、印刷仲介サーバ１００のＵＲＬ（即ち登録要求２００の送信先のＵＲＬ）は、プリンタアプリに予め登録されている。以下でも、特に説明しない限り、要求の送信先のＵＲＬは、プリンタアプリに予め登録されているＵＲＬであってもよい。但し、要求の送信先のＵＲＬは、当該要求の送信前に印刷仲介サーバ１００から取得されたＵＲＬであってもよい。
【００４１】
印刷仲介サーバ１００は、携帯端末７０から登録要求２００を受信すると、登録要求２００に含まれるプロキシＩＤを利用して、登録対象のプリンタを識別するためのプリンタＩＤを生成する。携帯端末７０が登録対象のプリンタとして実在プリンタ（例えばプリンタ１０）を指定しているわけではないので（即ち、登録要求２００が、実在プリンタの印刷条件情報、実在プリンタのプロキシＩＤ等を含んでいないので）、印刷仲介サーバ１００によって生成されるプリンタＩＤは、仮想プリンタを識別するためのＩＤである。
【００４２】
印刷仲介サーバ１００は、生成済みの仮想プリンタのプリンタＩＤと、登録要求２００に含まれる仮想印刷条件情報と、を関連付けて記憶する。図２において、印刷仲介サーバ１００に対応する破線の右側のボックスは、当該ボックス内の各情報が関連付けられている様子を示す。図３以降でも同様である。
【００４３】
次いで、印刷仲介サーバ１００は、生成済みのプリンタＩＤと、後述のログイン画面データ２１２の所在を示すログイン用ＵＲＬと、を含むレスポンス２０２を、携帯端末７０に送信する。
【００４４】
ＣＰＵ８２は、印刷仲介サーバ１００からレスポンス２０２を受信すると、レスポンス２０２に含まれるプリンタＩＤをメモリ８４に記憶させる。次いで、ＣＰＵ８２は、レスポンス２０２に含まれるログイン用ＵＲＬを送信先として、無線ＬＡＮＩ／Ｆ７８を介して、アクセス要求２１０を印刷仲介サーバ１００に送信する。
【００４５】
印刷仲介サーバ１００は、携帯端末７０からアクセス要求２１０を受信すると、ログイン画面データ２１２を携帯端末７０に送信する。ログイン画面データ２１２は、アカウント情報（即ちユーザＩＤ、パスワード等）を入力するためのログイン画面を表わすデータである。
【００４６】
ＣＰＵ８２は、印刷仲介サーバ１００からログイン画面データ２１２を受信すると、ログイン画面データ２１２によって表わされるログイン画面を携帯端末７０の表示部に表示させる。ユーザは、携帯端末７０の操作部を利用して、上記の事前準備において印刷仲介サーバ１００に登録されたアカウント情報を、携帯端末７０に入力する。この場合、ＣＰＵ８２は、入力済みのアカウント情報を含むログイン要求２１４を、印刷仲介サーバ１００に送信する。
【００４７】
なお、上記の例では、アカウント情報がユーザによって携帯端末７０に入力される様子を説明したが、変形例では、例えば、携帯端末７０を利用して上記の事前準備が実行された場合には、メモリ８４は、アカウント情報を記憶していてもよい。この場合、ＣＰＵ８２は、アカウント情報の入力をユーザに実行させずに、メモリ８４からアカウント情報を読み出して、アカウント情報を含むログイン要求２１４を印刷仲介サーバ１００に送信してもよい。なお、後述するサブミットプロセス、図３の印刷プロセスにおいて、携帯端末７０から印刷仲介サーバ１００にログイン要求が送信される状況でも、本変形例が採用されてもよい。
【００４８】
印刷仲介サーバ１００は、携帯端末７０からログイン要求２１４を受信すると、ログイン要求２１４に含まれるアカウント情報の認証を実行する。具体的に言うと、印刷仲介サーバ１００は、ログイン要求２１４に含まれるアカウント情報が、印刷仲介サーバ１００に登録済みであるか否かを判断する。印刷仲介サーバ１００は、アカウント情報が登録済みでないと判断する場合、即ち、アカウント情報の認証が失敗する場合には、図示省略しているが、ログイン失敗通知を携帯端末７０に送信する。この場合、後の処理が実行されることなく、登録プロセスが終了する。
【００４９】
一方において、印刷仲介サーバ１００は、アカウント情報が登録済みであると判断する場合、即ち、アカウント情報の認証が成功する場合には、ユニークな文字列であるトークンを生成する。トークンは、後の処理（例えば図３の印刷プロセス）で利用される認証のための情報である。以下では、ここで生成されるトークンのことを「ＡＴ（Authentication（もしくはAccess） Tokenの略）」と呼ぶ。
【００５０】
次いで、印刷仲介サーバ１００は、認証が成功したアカウント情報と、仮想プリンタのプリンタＩＤと、仮想印刷条件情報と、生成済みのＡＴと、を関連付けて記憶する。そして、印刷仲介サーバ１００は、生成済みのＡＴを含むログイン成功通知２１６を携帯端末７０に送信する。
【００５１】
ＣＰＵ８２は、印刷仲介サーバ１００からログイン成功通知２１６を受信すると、ログイン成功通知２１６に含まれるＡＴをメモリ８４に記憶させる。これにより、登録プロセスが終了する。
【００５２】
上述したように、登録プロセスでは、実在プリンタ（例えばプリンタ１０）のプリンタＩＤ及び印刷条件情報を印刷仲介サーバ１００に登録するのではなく、仮想プリンタのプリンタＩＤ及び仮想印刷条件情報を印刷仲介サーバ１００に登録する手法を採用している。即ち、携帯端末７０は、仮想プリンタのプリンタＩＤ及び仮想印刷条件情報を印刷仲介サーバ１００に登録する。このために、ユーザは、プリンタＩＤ及び仮想印刷条件情報（さらにはＡＴ）を印刷仲介サーバ１００に登録するために、印刷仲介サーバ１００との通信をプリンタ１０に実行させずに済む。
【００５３】
（サブミットプロセス）
上記の登録プロセスが終了すると、ユーザは、携帯端末７０を利用して、印刷対象の画像を表わす画像データを印刷仲介サーバ１００にサブミットすることができる。携帯端末７０のユーザは、登録プロセスと同様に、プリンタ１０の近くに存在しなくても、画像データを印刷仲介サーバ１００にサブミットすることができる。例えば、ユーザは、外出先で携帯端末７０によって撮影された画像を表わす画像データを印刷仲介サーバ１００にサブミットすることができる。なお、画像データは、印刷対象の画像を表わすデータであれば、どのような形式のデータであってもよく、例えば、ＪＰＥＧ（Joint Photographic Experts Groupの略）等のビットマップ形式のデータ、ベクタ形式のデータ、テキスト形式のデータ、あるいは、その他の形式のデータであってもよい。
【００５４】
画像データを印刷仲介サーバ１００にサブミットするためのサブミットプロセスでは、携帯端末７０のユーザが、印刷仲介サーバ１００に所定の操作（例えば、プリンタアプリを起動し、画面上の「サブミット」を示すボタンを選択し、画像データを指定する操作）を実行すると、携帯端末７０と印刷仲介サーバ１００とは、登録プロセスの処理２１０〜２１６までと同様の処理を実行する。なお、サブミットプロセスでは、印刷仲介サーバ１００は、ＡＴを生成せず、既に生成済みのＡＴを送信する。
【００５５】
ログインが成功すると、ＣＰＵ８２は、印刷仲介サーバ１００に仮想的な印刷条件を要求し、上述した印刷仲介サーバ１００にから取得する。携帯端末７０のユーザは、携帯端末７０を操作して、取得した仮想印刷条件情報によって示される仮想的な印刷条件の中から、画像の印刷のための印刷設定を選択する。詳しくは後述するが、印刷仲介サーバ１００では、選択済みの印刷設定に従って印刷データが生成されて、当該印刷データがプリンタ１０に供給される（図３参照）。
【００５６】
なお、上述したように、選択済みの印刷設定は、仮想的な印刷条件の中から選択されたものであり、プリンタ１０が実際に利用可能な印刷条件の中から選択されたものではない。即ち、プリンタ１０が選択済みの印刷設定に従った印刷処理を実行可能であるという保証がない。ただし、本実施例では、プリンタ１０のベンダは、通常のプリンタ（例えば当該ベンダが販売している全てのプリンタ）が利用可能な印刷条件を仮想的な印刷条件として予め決定して、そのような仮想的な印刷条件を示す仮想印刷条件情報を含むプリンタアプリを提供する。従って、本実施例では、プリンタ１０は、選択済みの印刷設定に従った印刷処理を適切に実行することができる。
【００５７】
携帯端末７０は、ユーザによって印刷設定が選択されると、ＡＴと、ユーザによって指定された画像データ２３２（図３参照）と、ユーザによって指定された選択された印刷設定を示す印刷設定情報２３４（図３参照）と、を含むサブミット要求を、印刷仲介サーバ１００に送信する。印刷仲介サーバ１００は、ＡＴの認証を実行し、認証が成功すると、サブミット要求に含まれる各情報を関連付けて記憶する。これにより、印刷仲介サーバ１００では、登録プロセス時に記憶されたアカウント情報、プリンタＩＤ、仮想印刷条件情報、ＡＴと、第１のジョブ情報２４０（即ち、画像データ２３２及び印刷設定情報２３４）と、が関連付けられて記憶される（図３参照）。
【００５８】
なお、ユーザは、さらに、他の画像データを印刷仲介サーバ１００にサブミットすることを望む場合には、上記と同様の操作を実行する。これにより、ＣＰＵ８２は、上記と同様の処理を実行することによって、１個以上のジョブ情報を印刷仲介サーバ１００にサブミットすることができる。
【００５９】
（印刷プロセス；図３）
続いて、図３を参照して、携帯端末７０が、既に印刷仲介サーバ１００にサブミットされたジョブ情報（第１のジョブ情報２４０）に従った印刷処理を、プリンタ１０に実行させるための印刷プロセスについて説明する。印刷プロセスでは、携帯端末７０のユーザは、プリンタ１０の近くに存在しなくてはならない。後述するように、携帯端末７０及びプリンタ１０がＮＦＣ通信を実行しなければならないからである。従って、ユーザは、例えば、外出先から帰宅した後に、携帯端末７０を利用して、プリンタ１０に印刷処理を実行させる。
【００６０】
携帯端末７０のユーザは、印刷仲介サーバ１００にサブミットされたジョブ情報に従った印刷処理をプリンタ１０に実行させることを望む場合に、プリンタアプリを起動し、プリンタアプリに従って表示される画面上で「印刷」を示すボタンを選択する。この場合、ＣＰＵ８２は、プリンタアプリに従って、図３に示される各処理を実行する。
【００６１】
ＣＰＵ８２は、まず、メモリ８４からＡＴ及びプリンタＩＤ（即ち図２の登録プロセスでメモリ８４に記憶された各情報）を読み出す。なお、ＣＰＵ８２は、プリンタアプリに予め登録されている暗号鍵を利用して、読み出されたＡＴ及びプリンタＩＤを暗号化することによって、暗号化データを生成する。暗号化の手法は、特に限定されないが、例えば、ＡＥＳ（Advanced Encryption Standardの略）、ＤＥＳ（Data Encryption Standardの略）等である。
【００６２】
携帯端末７０のユーザは、携帯端末７０をプリンタ１０に近づける。ＮＦＣＩ／Ｆ７６とＮＦＣＩ／Ｆ１６との間の距離が所定の距離（例えば１０ｃｍ）以下になると、ＣＰＵ８２は、ＮＦＣＩ／Ｆ７６を介して、印刷指示及び暗号化データをプリンタ１０に送信する。ここでは、ＣＰＵ８２は、ＮＦＣ通信を実行するので、送信先のＩＰアドレス、ＵＲＬ等を利用せずに、印刷指示及び暗号化データをプリンタ１０に送信することができる。また、ＡＴ及びプリンタＩＤが暗号化されているので、ＡＴ及びプリンタＩＤが第三者によって不正に取得されることを抑制することができる。
【００６３】
ＣＰＵ３２は、ＮＦＣＩ／Ｆ１６を介して、携帯端末７０から印刷指示及び暗号化データを受信すると、メモリ３４に予め記憶されている暗号鍵、即ち、携帯端末７０で利用された暗号鍵に一致する暗号鍵を利用して、暗号化データを復号化する。これにより、ＣＰＵ３２は、ＡＴ及びプリンタＩＤを取得することができる。ＣＰＵ３２は、判断処理を実行する。
【００６４】
（判断処理：図４）
図４を参照して、ＣＰＵ３２が実行する判断処理について説明する。ＣＰＵ３２は、印刷指示がＮＦＣＩ／Ｆ１６を介して受信されることを契機として、判断処理を開始する。
【００６５】
まず、Ｓ１０において、ＣＰＵ３２は、印刷指示が受信されると、印刷指示を取得したことを示す指示取得画面を、表示部１４に表示する。この結果、ユーザは、指示取得画面を確認することによって、プリンタ１０に適切に印刷指示が取得されたことを知ることができる。
【００６６】
次いで、Ｓ１２では、ＣＰＵ３２は、印刷実行部２０が、印刷処理を実行可能であるか否かを判断する。Ｓ１２では、ＣＰＵ３２は、携帯端末７０から受信されたＡＴを用いずに判断する。具体的には、ＣＰＵ３２は、印刷実行部２０の印刷機構のインク残量、給紙機構の印刷用紙の有無、給紙機構の紙詰まりの有無等、印刷実行部２０自体が正常に印刷処理を実行するために必要な複数の条件を判断する。ＣＰＵ３２は、印刷機構のインクが残っており、給紙機構に印刷用紙がセットされており、かつ、給紙機構の紙詰まりが無い等、上記の複数の条件の全ての条件において、正常に印刷処理を実行可能であると判断される場合に、印刷処理を実行可能である（Ｓ１２でＹＥＳ）と判断する。
【００６７】
一方、ＣＰＵ３２は、印刷機構のインクが残っていない、給紙機構に印刷用紙がセットされていない、あるいは、給紙機構の紙詰まりが有る等、上記の複数の条件のうちのいずれかの条件において、正常に印刷処理を実行可能でないと判断される場合に、印刷処理を実行可能でない（Ｓ１２でＮＯ）と判断する。Ｓ１２でＹＥＳの場合にＳ１４に進み、Ｓ１２でＮＯの場合にＳ１６に進む。
【００６８】
Ｓ１４では、ＣＰＵ３２は、印刷実行部２０以外のプリンタ１０の状況が、印刷処理を実行可能な状況であるか否かを判断する。Ｓ１４では、ＣＰＵ３２は、ＡＴを用いずに判断する。Ｓ１４では、ＣＰＵ３２は、プリンタ１０のセキュリティ設定状況、無線ＬＡＮＩ／Ｆ１８の接続状況等の１個以上の状況について判断する。例えば、ＣＰＵ３２は、プリンタ１０に設定されているセキュリティ設定が、ＮＦＣＩ／Ｆ１６を介した印刷指示の不許可を示す設定である場合に、プリンタ１０の状況が印刷処理を実行可能な状況でないと判断する（Ｓ１４でＮＯ）。あるいは、例えば、ＣＰＵ３２は、無線ＬＡＮＩ／Ｆ１８が、通信可能に他の装置（例えばアクセスポイント）に接続されていない場合に、プリンタ１０の状況が印刷処理を実行可能な状況でないと判断する（Ｓ１４でＮＯ）。一方、ＣＰＵ３２は、セキュリティ設定が、ＮＦＣＩ／Ｆ１６を介した印刷指示の許可を示す設定であり、かつ、無線ＬＡＮＩ／Ｆ１８が、通信可能に他の装置に接続されている等、上記の１個以上の状況の全ての状況において、印刷処理を実行可能な状況である場合に、Ｓ１４でＹＥＳと判断する。Ｓ１４でＹＥＳの場合にＳ２０に進み、Ｓ１４でＮＯの場合にＳ１６に進む。
【００６９】
Ｓ１６では、ＣＰＵ３２は、ＮＦＣＩ／Ｆ１６を介して、印刷処理を実行不可能であることを示す情報を、携帯端末７０に送信する。次いで、Ｓ１８では、ＣＰＵ３２は、印刷処理を実行不可能であることを示す音声を、スピーカ２２に出力させて、判断処理を終了する。仮に、ユーザが、プリンタ１０から離れた場所に移動している場合であっても、ユーザは、音声を聞くことによって、プリンタ１０が印刷処理を実行不可能であることを知ることができる。なお、変形例では、ＣＰＵ３２は、印刷処理を実行不可能であることを示す画面を、表示部１４に表示させてもよい。一方、Ｓ２０では、ＣＰＵ３２は、ＮＦＣＩ／Ｆ１６を介して、印刷処理を実行可能であることを示す情報を、携帯端末７０に送信する。
【００７０】
携帯端末７０は、Ｓ１６で送信された印刷処理を実行不可能であることを示す情報あるいは、Ｓ２０で送信された印刷処理を実行可能であることを示す情報を受信すると、受信された情報を示す画面（即ち、プリンタ１０が印刷処理を実行不可能又は実行可能）を、携帯端末７０の表示部に表示する。この構成によれば、ユーザは、携帯端末７０の表示部に表示される画面を確認することによって、プリンタ１０が印刷処理を実行可能であるか否かを知ることができる。なお、変形例では、携帯端末７０は、携帯端末７０のスピーカに、受信された情報を示す音声を出力させてもよい。
【００７１】
次いで、Ｓ２２では、ＣＰＵ３２は、後述するＳ２４において、無線ＬＡＮＩ／Ｆ１８を介して、印刷仲介サーバ１００との通信を試行することを示す画面（例えば「通信試行中」の文字列を含む画面）を、表示部１４に表示させる。これにより、ユーザは、Ｓ２２で表示される画面を確認することによって、プリンタ１０が印刷仲介サーバ１００との通信を試行していることを知ることができる。
【００７２】
次いで、Ｓ２４では、ＣＰＵ３２は、無線ＬＡＮＩ／Ｆ１８を介して、印刷仲介サーバ１００との通信を試行し、印刷仲介サーバ１００との通信を実行可能であるか否かを判断する。具体的には、ＣＰＵ３２は、メモリ３４に予め記憶されている印刷仲介サーバ１００のＵＲＬを送信先として、無線ＬＡＮＩ／Ｆ１８を介して（即ちインターネットを介して）、通信を実行可能であるか否かを確認するための確認信号（例えばPINGに従ったパケット）を送信する。ＣＰＵ３２は、確認信号を送信してから所定の期間が経過するまでに、印刷仲介サーバ１００から確認信号の応答として、応答信号が受信される場合に、印刷仲介サーバ１００通信を実行可能である（Ｓ２４でＹＥＳ）と判断して、Ｓ２６に進む。一方、ＣＰＵ３２は、確認信号を送信してから所定の期間が経過するまでに、印刷仲介サーバ１００から応答信号が受信されない場合に、印刷仲介サーバ１００と通信を実行可能でない（Ｓ２４でＮＯ）と判断して、Ｓ３２に進む。例えば、印刷仲介サーバ１００のＵＲＬが変更されている場合、メモリ３４に予め記憶されている印刷仲介サーバ１００のＵＲＬを送信先として、確認信号を送信することができない。
【００７３】
Ｓ２６では、ＣＰＵ３２は、無線ＬＡＮＩ／Ｆ１８を介して、取得済みのＡＴ及びプリンタＩＤを含むジョブリスト要求２８０（図３参照）を、印刷仲介サーバ１００に送信する。
【００７４】
図３に示すように、印刷仲介サーバ１００は、プリンタ１０からジョブリスト要求２８０を受信すると、ジョブリスト要求２８０に含まれるＡＴ及びプリンタＩＤの認証を実行する。印刷仲介サーバ１００は、ＡＴ及びプリンタＩＤを記憶していると判断する場合（即ち、ＡＴ及びプリンタＩＤの認証が成功する場合）に、それらの情報に関連付けられている１個以上のジョブ情報が、印刷仲介サーバ１００に記憶されているか否かを判断する。それらの情報に関連付けられている１個以上のジョブ情報が、印刷仲介サーバ１００に記憶されている場合に、１個以上のジョブ情報のそれぞれについて、当該ジョブ情報を識別するための１個以上のジョブＩＤと、後述の印刷データ２９２の所在を示すＵＲＬと、を含むジョブリスト２８２を生成する。そして、印刷仲介サーバ１００は、ジョブリスト２８２をプリンタ１０に送信する。
【００７５】
一方で、印刷仲介サーバ１００は、プリンタ１０から受信済みのＡＴ及びプリンタＩＤを記憶していないと判断する場合（即ち、ＡＴ及びプリンタＩＤの認証が失敗する場合）に、認証が失敗したことを示す情報を、プリンタ１０に送信する。認証が失敗する状況としては、例えば、ＡＴに有効期限が存在する場合、印刷仲介サーバ１００が認証を実行するタイミングでは、ＡＴの有効期限を越えている状況が想定される。
【００７６】
また、印刷仲介サーバ１００は、ＡＴ及びプリンタＩＤに関連付けられているジョブ情報が、印刷仲介サーバ１００に記憶されていない場合に、ジョブ情報が記憶されていないことを示す情報を、プリンタ１０に送信する。ジョブ情報が記憶されていない状況としては、例えば、ユーザが画像データをサブミットしていない状況、あるいは、ユーザが一旦サブミットした画像データを既に削除した状況が想定される。
【００７７】
図４に戻って、Ｓ２８では、ＣＰＵ３２は、無線ＬＡＮＩ／Ｆ１８を介して、ジョブリスト要求２８０に対する応答が受信されることを監視している。ジョブリスト要求２８０に対する応答が受信されると、ＣＰＵ３２は、その応答が、認証が失敗したことを示す情報である場合、認証が失敗したと判断して（Ｓ２８でＮＯ）、Ｓ３２に進む。一方、ジョブリスト要求２８０に対する応答が、認証が失敗したことを示す情報でない場合、認証が成功したと判断して（Ｓ２８でＹＥＳ）、Ｓ３０に進む。
【００７８】
Ｓ３０では、ＣＰＵ３２は、ジョブリスト要求２８０に対する応答が、ジョブ情報が印刷仲介サーバ１００に記憶されていないことを示す情報である場合（Ｓ３０でＮＯ）、Ｓ３２に進む。一方、ジョブリスト要求２８０に対する応答が、ジョブ情報が印刷仲介サーバ１００に記憶されていないことを示す情報でない場合、即ち、ジョブリスト２８２（図３参照）である場合（Ｓ３０でＹＥＳ）、判断処理を終了する。
【００７９】
一方、判断処理において、Ｓ３２が実行される状況では、ＣＰＵ３２は、印刷仲介サーバ１００から印刷データを取得することができず、印刷処理を実行することができない。この場合、Ｓ３２において、ＣＰＵ３２は、印刷処理を実行することができない理由を示す画面を表示して、判断処理を終了する。具体的には、Ｓ２４でＮＯの場合、Ｓ３２では、ＣＰＵ３２は、プリンタ１０と印刷仲介サーバ１００とが通信を実行することができないことを示す画面（例えば文字列「サーバへの通信に失敗しました」を含む画面）を、表示部１４に表示させる。また、Ｓ２８でＮＯの場合、Ｓ３２では、ＣＰＵ３２は、認証が失敗したことを示す画面（例えば文字列「ＡＴ又はプリンタＩＤの認証に失敗しました」を含む画面）を、表示部１４に表示させる。また、Ｓ３０でＮＯの場合、Ｓ３２では、ＣＰＵ３２は、認証が失敗したことを示す画面（例えば文字列「ジョブの取得に失敗しました」を含む画面）を、表示部１４に表示させる。
【００８０】
図３に戻って、ＣＰＵ３２は、無線ＬＡＮＩ／Ｆ１８を介して、印刷仲介サーバ１００からジョブリスト２８２を受信すると、ジョブリスト２８２に含まれるＵＲＬを送信先として、無線ＬＡＮＩ／Ｆ１８を介して、印刷データ要求２９０を送信する。なお、印刷データ要求２９０は、プリンタ１０が解釈可能なデータ形式を示す情報と、取得済みのＡＴと、プリンタＩＤと、を含む。当該データ形式は、例えば、ＰＤＦ（Portable Document Formatの略）である。
【００８１】
印刷仲介サーバ１００は、プリンタ１０から印刷データ要求２９０を受信すると、上述のジョブリスト要求２８０が受信された場合と同様に、印刷データ要求２９０に含まれるＡＴ及びプリンタＩＤの認証を実行する。そして、印刷仲介サーバ１００が、ＡＴ及びプリンタＩＤを記憶していると判断する場合、変換処理を実行する。即ち、印刷仲介サーバ１００は、第１のジョブ情報２４０に含まれる印刷設定情報２３４と、印刷データ要求２９０に含まれるデータ形式を示す情報と、に従って、第１のジョブ情報２４０に含まれる画像データ２３２を変換して、印刷データ２９２を生成する。例えば、印刷設定情報２３４が、データ形式として「ＸＰＳ」を含み、用紙サイズとして「Ａ４」を含み、両面印刷の有無として「無」を含み、色数として「カラー」を含む場合には、印刷仲介サーバ１００は、Ａ４の印刷用紙の片面のみにカラー画像の印刷処理を実行するための印刷データ２９２を生成する。また、印刷データ要求２９０がＰＤＦ形式を示す情報を含む場合には、印刷仲介サーバ１００は、ＰＤＦ形式の印刷データ２９２を生成する。
【００８２】
次いで、印刷仲介サーバ１００は、ジョブリスト２８２に含まれるＵＲＬに対応する位置に、生成済みの印刷データ２９２を記憶させる。そして、印刷仲介サーバ１００は、印刷データ要求２９０の送信先であるＵＲＬに対応する位置に記憶されている印刷データ２９２をプリンタ１０に送信する。
【００８３】
ＣＰＵ３２は、無線ＬＡＮＩ／Ｆ１８を介して、印刷仲介サーバ１００から印刷データ２９２を受信する。これにより、ＣＰＵ３２は、印刷仲介サーバ１００から印刷データ２９２を取得することができる。そして、ＣＰＵ３２は、取得済みの印刷データ２９２を印刷実行部２０に供給する。この結果、印刷実行部２０は、印刷データ２９２によって表わされる画像を印刷用紙に印刷する。これにより、携帯端末７０のユーザは、印刷済みの印刷用紙を取得することができる。
【００８４】
なお、図３の例では、印刷仲介サーバ１００に１個のジョブ情報２４０のみが記憶されているが、仮に、印刷仲介サーバ１００に複数個のジョブ情報（例えば第１及び第２のジョブ情報）が記憶されている場合には、ジョブリスト２８２は、複数個のジョブＩＤと複数個のＵＲＬとを含む。
【００８５】
プリンタ１０は、ジョブリスト２８２に含まれる複数個のＵＲＬのそれぞれについて、当該ＵＲＬを送信先として印刷データ要求を順次送信する。そして、印刷仲介サーバ１００は、プリンタ１０から印刷データ要求を受信する毎に、当該印刷データ要求に対応するジョブ情報に含まれる画像データを変換して、印刷データを生成する。これにより、プリンタ１０は、複数個の印刷データのそれぞれを順次取得して、複数個の印刷データによって表わされる複数個の画像のそれぞれの印刷処理を順次実行することができる。
【００８６】
（第１実施例の効果）
上述したように、プリンタ１０は、図４の判断処理において、印刷実行部２０が印刷処理を実行可能であるか否かを先に判断（Ｓ１２）し、その後に、印刷仲介サーバ１００との通信を実行可能であるか否かを判断する（Ｓ２４，Ｓ２８，Ｓ３０）。同様に、印刷実行部２０以外のプリンタ１０の状況が、印刷処理を実行可能な状況であるか否かを先に判断する（Ｓ１４）。Ｓ１２，Ｓ１４の判断処理は、プリンタ１０自体の状態が判断対象であり、印刷仲介サーバ１００との通信状況や、印刷仲介サーバ１００自体の状態まで判断対象としない。このため、Ｓ１２，Ｓ１４の判断では、プリンタ１０は、印刷仲介サーバ１００と通信を実行しない。このため、印刷仲介サーバ１００との通信状況や、印刷仲介サーバ１００自体の状態が判断対象となるＳ２４，Ｓ２８，Ｓ３０の処理よりも比較的に早期に判断することができる。この結果、印刷実行部２０を含むプリンタ１０自体の状況が、印刷処理を実行可能な状況でない場合、比較的に早期にプリンタ１０が印刷処理対象機能を実行可能でない状況であることを判断することができる。
【００８７】
また、本実施例では、プリンタ１０は、ＮＦＣＩ／Ｆ１６を利用し、携帯端末７０と通信を実行し、無線ＬＡＮＩ／Ｆ１８を利用して、印刷仲介サーバ１００と通信を実行する。この構成によれば、プリンタ１０は、通信を実行する装置に応じて、利用すべきインターフェースを変更することができる。また、プリンタ１０は、インターネットを介して、印刷仲介サーバ１００と通信を実行することができる。
【００８８】
また、プリンタ１０は、ＮＦＣＩ／Ｆ１６を利用するＮＦＣ通信を行う場合、上述したように、携帯端末７０のユーザが、携帯端末７０をプリンタ１０に近づける必要がある。本実施例では、Ｓ１２，Ｓ１４の判断処理がＳ２４，Ｓ２８，Ｓ３０の判断処理よりも比較的に早期に判断することができるため、携帯端末７０は、図３のＮＦＣ通信による印刷指示及び暗号化データの送信に対する返答として、Ｓ１６又はＳ２０の情報を、比較的早期に取得することができる。従って、携帯端末７０のユーザは、長時間、携帯端末７０をプリンタ１０に近づけ続けて返答を待つ必要がなく、携帯端末７０のユーザは、携帯端末７０とプリンタ１０とのＮＦＣ通信が利用しやすい。
【００８９】
また、プリンタ１０は、比較的に早期に判断が完了する図４のＳ１２，Ｓ１４の処理の結果、印刷処理を実行可能な状況である場合に、印刷サーバ１００との通信を試行する（Ｓ２４）前に、印刷処理を実行可能であることを示す情報を、携帯端末７０に送信する。従って、プリンタ１０は、印刷処理を実行可能であることを示す情報を、比較的に時間の掛り得るＳ２４，Ｓ２８，Ｓ３０の判断処理を行う前に供給できるので、当該情報を比較的に早期に携帯端末７０に供給することが出来る。
【００９０】
（対応関係）
プリンタ１０、携帯端末７０、印刷仲介サーバ１００が、それぞれ、「通信装置」、「第１の装置」、「第２の装置」の一例である。印刷指示及びプリンタＩＤが「機能実行情報」の一例であり、ＡＴ及びプリンタＩＤが「認証情報」の一例である。図３の印刷データ２９２を受信する処理及び印刷処理が「対象機能」の一例である。図４のＳ１２，Ｓ１４の処理が「第１の判断処理」の一例であり、図４のＳ２４，Ｓ２８，Ｓ３０の処理が「第２の判断処理」及び「第２の装置から対象データを受信可能であるか否かを判断する処理」の一例である。図４のＳ１２の処理が「印刷実行部の状態が印刷処理を実行可能な状態であるか否かを判断する処理」である。
【００９１】
図３の印刷指示及びプリンタＩＤを取得する処理が、「第１の取得部」よって実行される処理の一例である。図３のＡＴを取得する処理が、「第２の取得部」よって実行される処理の一例である。図４のＳ３２の処理が、「第１の報知制御部」よって実行される処理の一例である。図３の印刷データ要求２９０を送信する処理及び印刷データ２９２を受信する処理が、「通信部」よって実行される処理の一例である。図４のＳ１６及びＳ２０の処理が、「供給部」よって実行される処理の一例である。図４のＳ１０の処理が、「第１の表示制御部」よって実行される処理の一例である。図４のＳ２２の処理が、「第２の表示制御部」よって実行される処理の一例である。図４のＡ１８の処理が、「第２の報知制御部」よって実行される処理の一例である。
【００９２】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００９３】
（変形例１）上記の実施例では、図２の登録プロセスにおいて、ＯＡｕｔｈの手法を利用した登録プロセスが実行されるが、登録プロセスでは、Ｃｌｉｅｎｔ  Ｌｏｇｉｎの手法を利用した登録プロセスが実行されてもよい。
【００９４】
Ｃｌｉｅｎｔ  Ｌｏｇｉｎの手法では、ＣＰＵ８２は、ユーザの登録操作に従って、ログイン画面を携帯端末７０の表示部に表示させ（図２のログイン画面と同様）、アカウント情報を取得する。ＣＰＵ８２は、無線ＬＡＮＩ／Ｆ７８を介して、入力済みのアカウント情報を含むログイン要求（ログイン要求２１４と同様）を、印刷仲介サーバ１００に送信する。印刷仲介サーバ１００は、図２と同様に、ログイン要求の受信、アカウント情報の認証の実行、ＡＴの生成、ログイン成功通知の送信を実行する。
【００９５】
ＣＰＵ８２は、ログイン成功通知を受信すると、ログイン成功通知に含まれるＡＴをメモリ８４に記憶させ、図２の登録要求２００と同様の登録要求を、印刷仲介サーバ１００に送信する。印刷仲介サーバ１００は、携帯端末７０から登録要求を受信すると、登録要求に含まれるプロキシＩＤを利用して、プリンタＩＤを生成し、生成済みのプリンタＩＤと、仮想印刷条件情報と、を記憶する。この結果、印刷仲介サーバ１００では、生成済みのプリンタＩＤと、アカウント情報と、仮想印刷条件情報と、ＡＴと、が関連付けられる。そして、印刷仲介サーバ１００は、生成済みのプリンタＩＤを含む登録成功通知３２２を、携帯端末７０に送信する。
【００９６】
ＣＰＵ８２は、無線ＬＡＮＩ／Ｆ７８を介して、印刷仲介サーバ１００から登録成功通知３２２を受信すると、登録成功通知３２２に含まれるプリンタＩＤをメモリ８４に記憶させて、登録プロセスを終了する。
【００９７】
（変形例２）上記の実施例では、図２の登録プロセスにおいて、携帯端末７０は、仮想印刷条件情報を含む登録要求２００を印刷仲介サーバ１００に送信する。これに代えて、例えば、仮想印刷条件情報がインターネット上のデータサーバ（即ちプリンタ１０のベンダによって提供されるサーバ）に記憶されている場合には、携帯端末７０は、仮想印刷条件情報のＵＲＬを含む登録要求を、印刷仲介サーバ１００に送信してもよい。この場合、印刷仲介サーバ１００は、仮想印刷条件情報のＵＲＬを利用して、データサーバから仮想印刷条件情報を取得し、取得済み仮想印刷条件情報を記憶してもよい。また、印刷仲介サーバ１００がプリンタ１０のベンダによって提供されるサーバである場合には、印刷仲介サーバ１００は、仮想印刷条件情報を予め記憶していてもよい。この場合、携帯端末７０は、仮想印刷条件情報も仮想印刷条件情報のＵＲＬも含まない登録要求を、印刷仲介サーバ１００に送信すればよい。
【００９８】
（変形例３）上記の実施例では、図３の印刷プロセスが実行される状況において、図２の登録プロセスで生成されたＡＴが印刷仲介サーバ１００に登録されている。ただし、図５の印刷プロセスが実行される際に、ＡＴの有効期限が終了していることがあり得る。そこで、図２の登録プロセスにおいて、印刷仲介サーバ１００は、ＡＴのみならず、いわゆるリフレッシュトークンを生成して、アカウント情報等に関連付けてリフレッシュトークンを記憶してもよい。この場合、印刷仲介サーバ１００は、ＡＴの有効期限が終了する場合に、リフレッシュトークンを利用して、新たなトークンを生成し、ＡＴに代えて、当該新たなトークンを記憶することができる。そして、携帯端末７０は、印刷仲介サーバ１００から、ＡＴのみならず、いわゆるリフレッシュトークンを含むログイン成功通知２１６を受信する。図３の印刷プロセスにおいて、携帯端末７０は、ＡＴのみならず、リフレッシュトークンをプリンタ１０に送信する。この場合、プリンタ１０は、ＡＴの有効期限が終了している場合に、リフレッシュトークンを利用して新たなトークンを生成し、当該新たなトークンを利用して、印刷仲介サーバ１００から印刷データを取得することができる。本変形例では、リフレッシュトークンが、「認証情報」の一例である。
【００９９】
（変形例４）上記の実施例では、「認証情報」は、ＡＴを含む。ただし、印刷仲介サーバ１００が、トークンを利用せずに、プリンタＩＤのみを利用して認証を実行可能な構成であれば、「認証情報」は、トークンを含んでおらず、プリンタＩＤのみを含んでいてもよい。また、印刷仲介サーバ１００が、プリンタＩＤを利用せずに、トークンのみを利用して認証を実行可能である構成であれば、「認証情報」は、プリンタＩＤを含んでおらず、トークンのみを含んでいてもよい。一般的に言うと、「認証情報」は、印刷仲介サーバにおいて認証に利用される情報であれば、どのような情報であってもよい。
【０１００】
（変形例５）プリンタ１０及び携帯端末７０は、ＮＦＣ方式の無線通信を実行する代わりに、他の通信方式の近距離無線通信（例えば、トランスファージェット方式、赤外線方式等の無線通信）を実行して、暗号化データの通信を実行してもよい。本変形例では、上記の他の通信方式が、「近距離無線通信方式」の一例である。また、プリンタ１０及び携帯端末７０は、近距離無線通信を実行する代わりに、通常Ｗｉ−Ｆｉ方式の無線通信を実行して、暗号化データの通信を実行してもよい。また、プリンタ１０及び携帯端末７０は、無線通信を実行する代わりに、有線通信を実行して、暗号化データの通信を実行してもよい。即ち、「第１のインターフェース」は、近距離無線通信方式に従った無線通信を実行するためのインターフェースでなくてもよく、通常Ｗｉ−Ｆｉ方式又は有線方式に従った通信を実行するためのインターフェースであってもよい。
【０１０１】
（変形例６）携帯端末７０は、通常Ｗｉ−Ｆｉ方式の無線通信を実行して、印刷仲介サーバ１００と様々な情報（例えば図２の登録要求２００等）の通信を実行する代わりに、３Ｇ、４Ｇ等のセルラー方式の無線通信を実行して、印刷仲介サーバ１００と通信を実行してもよい。また、携帯端末７０は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ１００と通信を実行してもよい。本変形例では、セルラー方式又は有線方式が、「所定の通信方式」の一例である。
【０１０２】
（変形例７）プリンタ１０は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ１００と様々な情報（例えば図５のジョブリスト要求２８０等）の通信を実行してもよい。本変形例では、有線方式が、「所定の通信方式」の一例である。
【０１０３】
（変形例８）印刷仲介サーバ１００は、１個のサーバでなくてもよく、別体に構成されている複数個のサーバであってもよい。例えば、印刷仲介サーバ１００は、図２の登録プロセスに示される各処理を実行する第１のサーバと、図３の印刷プロセスに示される各処理を実行する第２のサーバ（即ち第１のサーバとは別体に構成されている第２のサーバ）と、を備えていてもよい。本変形例では、第１のサーバ及び第２のサーバが、「第２の装置」の一例である。
【０１０４】
（変形例９）「通信装置」は、プリンタ１０でなくてもよい。例えば、「通信装置」は、原稿をスキャンするスキャン実行部と、スキャン実行部を制御するスキャン制御部を備えるスキャナであってもよい。また、「第２の装置」は、印刷仲介サーバでなくてもよい。例えば、「第２の装置」は、スキャナによりスキャンされた画像データがアップロードされ、当該アップロードされた画像データを記憶する記憶部を備えるアップロードサーバであってもよい。本変形例では、図２の印刷プロセスに代えて、スキャナ、アップロードサーバ、携帯端末７０は、以下のスキャンプロセスを実行してもよい。即ち、携帯端末７０のユーザは、携帯端末７０にインストールされているスキャンアプリを起動し、スキャンアプリに従って表示される画面上で「スキャン」を示すボタンを選択してもよい。この結果、ＣＰＵ８２は、メモリ８４からＡＴ及びスキャナＩＤ（図２の登録プロセスにおいて、プリンタＩＤに代えて取得されるＩＤである）を読み出し、ＮＦＣＩ／Ｆ７６を介して、スキャン指示、ＡＴ及びスキャンＩＤをスキャナに送信してもよい。
【０１０５】
スキャナは、携帯端末７０からスキャン指示、ＡＴ及びスキャンＩＤを受信すると、図４の判断処理と同様の判断処理を実行してもよい。但し、本変形例の判断処理では、図４のＳ１２において、スキャナのＣＰＵは、スキャン実行部が、スキャン処理を実行可能であるか否かを判断してもよい。さらに、Ｓ１４では、スキャナのＣＰＵは、スキャン実行部以外のスキャナの状況が、印刷処理を実行可能な状況であるか否かを判断してもよい。また、Ｓ２４，Ｓ２８では、スキャナのＣＰＵは、アップロードサーバとの通信を試行及び認証してもよい。スキャナのＣＰＵは、図４のＳ２６，Ｓ３０を実行しなくてもよい。なお、スキャナは、スキャンした画像データをアップロードサーバに送信し、アップロードサーバは、送信された画像データを記憶部に記憶してもよい。本変形例では、スキャン処理が「特定処理」の一例である。
【０１０６】
（変形例１０）「第１の装置」は、携帯端末７０でなくてもよく、据え置き型のＰＣであってもよいし、他のデバイス（例えばテレビ等）であってもよい。
【０１０７】
（変形例１１）上記の実施例では、ＣＰＵ３２がメモリ３４内のプログラム（例えばプリンタアプリ）を実行することによって、図２〜図４の各処理が実現される。これに代えて、図２〜図４の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【０１０８】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１０９】
２：通信システム、１０：プリンタ、１６：ＮＦＣインターフェース、１８：無線ＬＡＮインターフェース、２０：印刷実行部、２２：スピーカ、３０：制御部、３２：ＣＰＵ、３４：メモリ、７０：携帯端末、１００：印刷仲介サーバ
【図１】
2015138391.tif 000003
【図２】
2015138391.tif 000004
【図３】
2015138391.tif 000005
【図４】
2015138391.tif 000006