(第1実施例)
図1に示されるように、通信システム2は、プリンタ10と、携帯端末70と、印刷仲介サーバ100と、情報提供サーバ105と、を備える。各デバイス10,70,100,105は、インターネットを介して、相互に通信可能である。
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺機器(即ちPC等の周辺機器)である。プリンタ10は、操作部12と、表示部14と、NFC(Near Field Communicationの略)インターフェース16と、無線LAN(Local Area Networkの略)インターフェース18と、印刷実行部20と、制御部30と、を備える。各部12〜30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と記載する。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に与えることができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部20は、インクジェット方式、レーザ方式等の印刷機構である。
NFCI/F16は、いわゆる近距離無線通信のためのNFC方式に従った無線通信(以下では「NFC通信」と呼ぶ)を実行するためのI/F(即ち、ICチップ、通信回路)である。NFC方式は、例えば、ISO/IEC21481又は18092の国際標準規格に基づく無線通信方式である。
無線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等)に基づく無線通信方式である。無線LANI/F18は、アクセスポイントを介した無線通信(即ちインフラストラクチャ方式の無線通信)を実行するためのI/Fであってもよいし、アクセスポイントを介さない無線通信(例えば、アドホック方式の無線通信、Wi−Fi Direct方式の無線通信)を実行するためのI/Fであってもよい。
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のNFCI/F16と他の機器の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を介して他の機器と無線通信を実行可能な最大の距離よりも大きい。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム(図示省略)に従って、様々な処理を実行するプロセッサである。メモリ34は、RAM、ROM等によって構成される。メモリ34は、さらに、プリンタ10を識別するためのプロキシID「aaa」と、プリンタ10のモデル(即ち、タイプ、機種)を示すモデル名「M10」と、を記憶している。
(携帯端末70の構成)
携帯端末70は、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。携帯端末70は、操作部72と、表示部74と、NFCI/F76と、無線LANI/F78と、制御部80と、を備える。各部72〜80は、バス線(符号省略)に接続されている。
操作部72は、複数のキーを備える。ユーザは、操作部72を操作することによって、様々な指示を携帯端末70に与えることができる。表示部74は、様々な情報を表示するためのディスプレイである。NFCI/F76、無線LANI/F78は、それぞれ、プリンタ10のNFCI/F16、無線LANI/F18と同様である。従って、NFCI/F76及び無線LANI/F78の相違点は、NFCI/F16及び無線LANI/F18の相違点と同様である。
制御部80は、CPU82と、メモリ84と、を備える。CPU82は、メモリ84に記憶されているOSプログラムに従って、様々な処理を実行するプロセッサである。メモリ84は、RAM、ROM等によって構成される。メモリ84は、さらに、複数個の画像ファイルF1,F2と、プリンタ用アプリケーション(以下では「プリンタアプリ」と呼ぶ)と、を記憶する。
各画像ファイルF1,F2は、例えば、携帯端末70によって撮影された画像を表わすファイルである。各画像ファイルF1,F2は、どのようなファイル形式のファイルであってもよく、例えば、JPEG(Joint Photographic Experts Groupの略)等のビットマップ形式のファイルであってもよいし、ベクタ形式のファイルであってもよいし、テキスト形式のファイルであってもよい。
プリンタアプリは、印刷仲介サーバ100を利用して、プリンタ10に印刷を実行させるためのアプリケーションである。プリンタアプリは、プリンタ10のベンダによって提供されるアプリケーションである。プリンタアプリは、インターネット上のサーバから携帯端末70にインストールされてもよいし、プリンタ10と共に出荷されるメディアから携帯端末70にインストールされてもよい。
メモリ84は、さらに、情報提供サーバ105から取得される実際印刷条件情報を記憶する。実際印刷条件情報は、プリンタ10が実際に利用可能な印刷条件である実際印刷条件を示す。実際印刷条件情報は、印刷用紙のサイズを示す用紙サイズ情報と、色数を示す色数情報と、を含む。実際印刷条件情報に含まれる用紙サイズ情報は、「A4」及び「B5」を示す。実際印刷条件情報に含まれる色数情報は、「モノクロ印刷」を示す。なお、実際印刷条件情報は、さらに、両面印刷の実行の有無、印刷向き(例えば、ランドスケー
プ印刷、ポートレート印刷)等を示す他の情報を含んでいてもよい。
メモリ84は、さらに、印刷仲介サーバ100から取得されるプリンタID「xxx」及び第1のAT(Authentication(もしくはAccess) Tokenの略)を記憶する。プリンタID「xxx」及び第1のATは、印刷仲介サーバ100が認証を実行するための認証情報であり、印刷仲介サーバ100によって生成される。
(印刷仲介サーバ100の構成)
印刷仲介サーバ100は、インターネット上に設置されるサーバであり、例えば、Google(登録商標)によって提供されるGCPサーバである。ただし、変形例では、印刷仲介サーバ100は、例えば、プリンタ10のベンダによって提供されるサーバであってもよいし、プリンタ10のベンダとは異なる事業者によって提供されるサーバであってもよい。
印刷仲介サーバ100は、外部機器(例えば携帯端末70)とプリンタ(例えばプリンタ10)との間で印刷の仲介を実行するためのサーバである。即ち、印刷仲介サーバ100は、外部機器からサブミットされる画像ファイルを変換して、プリンタが解釈可能なデータ形式を有する印刷データを生成し、当該印刷データを当該プリンタに供給する。従って、外部機器は、画像ファイルを印刷データに変換するためのプリンタドライバを備えていなくても、印刷仲介サーバ100に画像ファイルをサブミットすれば、プリンタに印刷を実行させることができる。
(情報提供サーバ105の構成)
情報提供サーバ105は、インターネット上に設置されるサーバであり、プリンタ10のベンダによって提供されるサーバである。
情報提供サーバ105は、プリンタ10のベンダが販売している複数のモデルのプリンタのそれぞれについて、当該プリンタのモデル名(例えば、「M1」、「M10」等)と、当該プリンタの実際印刷条件を示す実際印刷条件情報と、を関連付けて記憶している。情報提供サーバ105は、外部機器(例えば携帯端末70)からの要求に応じて、実際印刷条件情報を外部機器に提供することができる。
(事前準備)
携帯端末70のユーザは、印刷仲介サーバ100を利用して、プリンタ10に印刷を実行させるために、以下の事前準備を実行する。
即ち、携帯端末70のユーザは、例えば、携帯端末70を利用して、印刷仲介サーバ100にアカウント情報ACを登録する。アカウント情報ACは、例えば、ユーザID、パスワード等を含む。なお、ユーザは、携帯端末70を利用する代わりに、他の機器(例えばPC等)を利用して、印刷仲介サーバ100にアカウント情報ACを登録してもよい。ユーザのアカウント情報ACが印刷仲介サーバ100に登録されれば、ユーザは、印刷仲介サーバ100を利用して、プリンタ10に印刷を実行させることができる。
(登録プロセス;図2)
続いて、図2を参照して、携帯端末70が様々な情報を印刷仲介サーバ100に登録するための登録プロセスについて説明する。本実施例の登録プロセスでは、いわゆるOAuthの手法が利用される。図2では、太線の矢印、細線の矢印は、それぞれ、NFC通信、Wi−Fi通信を示す。この点は、以降の図面でも同様である。
登録プロセスでは、携帯端末70のユーザは、プリンタ10の近くに存在しなくてはな
らない。後述するように、携帯端末70及びプリンタ10がNFC通信を実行しなければならないからである。
携帯端末70のユーザは、まず、携帯端末70にインストールされているプリンタアプリを起動し、登録操作を実行する。登録操作は、プリンタアプリに従って表示される画面上で「登録」を示すボタンを選択することを含む。携帯端末70のCPU82は、登録操作が実行されると、プリンタアプリに従って、図2の各処理を実行する。
携帯端末70のCPU82は、まず、携帯端末70をプリンタ10に近づけることを促すメッセージを表示部74に表示させる。この結果、携帯端末70のユーザは、携帯端末70をプリンタ10に近づける。プリンタ10のNFCI/F16と携帯端末70のNFCI/F76との間の距離(以下では「デバイス間距離」と呼ぶ)が、所定の距離(例えば10cm)より大きい状態から、上記の所定の距離以下である状態になると、2個のNFCI/F16,76の間にNFC方式の通信リンク(以下では「NFCリンク」と呼ぶ)が確立される。
携帯端末70のCPU82は、NFCリンクを利用して、モデル名要求200をプリンタ10に送信する。ここでは、CPU82は、NFC通信を実行するので、送信先及び送信元のIPアドレス、送信先及び送信元のURL等を利用することなく、モデル名要求200をプリンタ10に送信することができる。以下でも、NFC通信が実行される場合には、送信先及び送信元のIPアドレス、送信先及び送信元のURL等が利用されない。
プリンタ10のCPU32は、NFCリンクを利用して、携帯端末70からモデル名要求200を受信すると、メモリ34からプリンタ10のモデル名「M10」及びプロキシID「aaa」を読み出す(図1参照)。そして、CPU32は、同じNFCリンクを利用して、モデル名「M10」及びプロキシID「aaa」を含むレスポンス202を携帯端末70に送信する。
プリンタ10のCPU32は、携帯端末70へのレスポンス202の送信が完了すると、NFC通信が終了したことを示すメッセージを表示部14に表示させる。これにより、携帯端末70のユーザは、NFC通信が終了したことを知ることができ、携帯端末70をプリンタ10から遠ざける。この結果、デバイス間距離が上記の所定の距離より大きい状態になり、NFCリンクが切断される。
携帯端末70のCPU82は、プリンタ10からレスポンス202を受信することによって、プリンタ10のモデル名「M10」及びプロキシID「aaa」を取得することができる。この場合、CPU82は、無線LANI/F78を介して(即ちWi−Fi通信を実行して)、モデル名「M10」を含む印刷条件情報要求204を情報提供サーバ105に供給する。なお、印刷条件情報要求204の供給先である情報提供サーバ105のURLは、プリンタアプリに予め登録されている。以下でも、特に説明しない限り、要求の供給先のURLは、プリンタアプリに予め登録されている。
情報提供サーバ105は、携帯端末70から印刷条件情報要求204を取得すると、情報提供サーバ105自身が記憶している情報の中から、印刷条件情報要求204に含まれるモデル名「M10」に関連付けられている実際印刷条件情報を抽出する。次いで、情報提供サーバ105は、当該実際印刷条件情報を含むレスポンス206を携帯端末70に供給する。
携帯端末70のCPU82は、無線LANI/F78を介して、情報提供サーバ105からレスポンス206を取得することによって、プリンタ10の実際印刷条件を示す実際
印刷条件情報を取得することができる。この場合、CPU82は、当該実際印刷条件情報をメモリ84に記憶させる(図1参照)。
次いで、携帯端末70のCPU82は、無線LANI/F78を介して、登録要求208を印刷仲介サーバ100に供給する。登録要求208は、情報提供サーバ105から取得された実際印刷条件情報と、プリンタ10から受信されたレスポンス202に含まれるプロキシID「aaa」と、を含む。
印刷仲介サーバ100は、携帯端末70から登録要求208を取得すると、登録要求208に含まれるプロキシID「aaa」を利用して、登録対象のプリンタ10を識別するためのプリンタID「xxx」を生成する。
次いで、印刷仲介サーバ100は、プリンタ10のプリンタID「xxx」と、登録要求208に含まれる実際印刷条件情報と、を関連付けて記憶する。図2において、印刷仲介サーバ100に対応する破線の右側のボックスは、当該ボックス内の各情報が関連付けられている様子を示す。この点は、図3以降でも同様である。
続いて、印刷仲介サーバ100は、プリンタID「xxx」と、後述のログイン画面データ214の所在を示すログイン用URLと、を含むレスポンス210を、携帯端末70に供給する。
携帯端末70のCPU82は、無線LANI/F78を介して、印刷仲介サーバ100からレスポンス210を取得すると、レスポンス210に含まれるプリンタID「xxx」をメモリ84に記憶させる(図1参照)。次いで、CPU82は、レスポンス210に含まれるログイン用URLを供給先として、無線LANI/F78を介して、アクセス要求212を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、携帯端末70からアクセス要求212を取得すると、ログイン画面データ214を携帯端末70に供給する。ログイン画面データ214は、アカウント情報AC(即ちユーザID、パスワード等)を入力するためのログイン画面を表わすデータである。
携帯端末70のCPU82は、無線LANI/F78を介して、印刷仲介サーバ100からログイン画面データ214を取得すると、ログイン画面データ214によって表わされるログイン画面を表示部74に表示させる。ユーザは、操作部72を利用して、上記の事前準備において印刷仲介サーバ100に登録されたアカウント情報ACを、携帯端末70に入力する。この場合、CPU82は、無線LANI/F78を介して、アカウント情報ACを含むログイン要求216を、印刷仲介サーバ100に供給する。
なお、上記の例では、アカウント情報ACがユーザによって携帯端末70に入力される。これに代えて、例えば、携帯端末70を利用して上記の事前準備が実行された場合には、携帯端末70のメモリ84は、アカウント情報ACを記憶していてもよい。この場合、携帯端末70のCPU82は、アカウント情報ACの入力をユーザに実行させずに、メモリ84からアカウント情報を読み出して、アカウント情報ACを含むログイン要求216を印刷仲介サーバ100に供給してもよい。
印刷仲介サーバ100は、携帯端末70からログイン要求216を取得すると、ログイン要求216に含まれるアカウント情報ACの認証を実行する。具体的には、印刷仲介サーバ100は、ログイン要求216に含まれるアカウント情報ACが、印刷仲介サーバ100に登録済みであるのか否かを判断する。図示省略しているが、印刷仲介サーバ100
は、アカウント情報ACが登録済みでないと判断する場合、即ち、アカウント情報ACの認証が失敗する場合には、ログイン失敗通知を携帯端末70に供給する。この場合、以降の処理が実行されることなく、登録プロセスが終了する。
印刷仲介サーバ100は、アカウント情報ACが登録済みであると判断する場合、即ち、アカウント情報ACの認証が成功する場合には、ユニークなトークン(即ち文字列)である第1のATを生成する。そして、印刷仲介サーバ100は、認証が成功したアカウント情報ACと、プリンタID「xxx」と、実際印刷条件情報と、第1のATと、を関連付けて記憶する。次いで、印刷仲介サーバ100は、第1のATを含むログイン成功通知218を携帯端末70に供給する。
携帯端末70のCPU82は、無線LANI/F78を介して、印刷仲介サーバ100からログイン成功通知218を取得すると、ログイン成功通知218に含まれる第1のATをメモリ84に記憶させる(図1参照)。これにより、登録プロセスが終了する。
(サブミットプロセス;図3)
続いて、図3を参照して、携帯端末70が印刷対象の画像を表わす画像ファイルを印刷仲介サーバ100にサブミット(即ち登録)するためのサブミットプロセスについて説明する。サブミットプロセスでは、携帯端末70のユーザは、プリンタ10の近くに存在しなくてもよい。例えば、ユーザは、外出先で携帯端末70によって撮影された画像を表わす画像ファイルを印刷仲介サーバ100にサブミットすることができる。
携帯端末70のユーザは、メモリ84内の画像ファイルF1(図1参照)を印刷仲介サーバ100にサブミットすることを望む場合に、プリンタアプリを起動して、サブミット操作を実行する。サブミット操作は、プリンタアプリに従って表示される画面上で「サブミット」を示すボタンを選択すること、及び、メモリ84内の画像ファイルF1を指定することを含む。携帯端末70のCPU82は、サブミット操作が実行されると、プリンタアプリに従って、図3の各処理を実行する。
携帯端末70のCPU82は、まず、無線LANI/F78を介して、アクセス要求220を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、携帯端末70からアクセス要求220を取得すると、ログイン画面データ222を携帯端末70に供給する。
携帯端末70のCPU82は、無線LANI/F78を介して、印刷仲介サーバ100からログイン画面データ222を取得すると、ログイン画面データ222によって表わされるログイン画面を表示部74に表示させる。ユーザは、操作部72を利用して、アカウント情報ACを携帯端末70に入力する。この場合、CPU82は、無線LANI/F78を介して、アカウント情報ACを含むログイン要求224を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、携帯端末70からログイン要求224を取得すると、ログイン要求224に含まれるアカウント情報ACの認証を実行する。印刷仲介サーバ100は、アカウント情報ACの認証が成功する場合には、第1のATとは異なるトークンである第2のATを生成する。次いで、印刷仲介サーバ100は、認証が成功したアカウント情報ACと、第2のATと、を関連付けて記憶する。この結果、印刷仲介サーバ100では、アカウント情報ACと、プリンタID「xxx」と、実際印刷条件情報と、第1のATと、第2のATと、が関連付けられる。そして、印刷仲介サーバ100は、第2のATを含むログイン成功通知226を携帯端末70に供給する。
携帯端末70のCPU82は、無線LANI/F78を介して、印刷仲介サーバ100からログイン成功通知226を取得すると、メモリ84から実際印刷条件情報を読み出す。そして、CPU82は、当該実際印刷条件情報を利用して、印刷設定選択画面を表示部74に表示させる。印刷設定選択画面は、当該実際印刷条件情報によって示される実際印刷条件の中から印刷設定をユーザに選択させるための画面である。上述したように、実際印刷条件情報は、用紙サイズ情報として「A4」及び「B5」を含み、色数情報として「モノクロ印刷」を含む。従って、印刷設定選択画面は、用紙サイズとして「A4」又は「B5」を選択可能な態様を有する。ユーザは、印刷設定選択画面を見ながら、操作部72を利用して、用紙サイズ(例えば「A4」)を選択することによって、印刷設定を選択する。色数(即ち「モノクロ印刷」)は、選択肢がないので、自動的に印刷設定に組み込まれる。
携帯端末70のCPU82は、印刷設定がユーザによって選択されると、サブミット要求230を生成する。サブミット要求230は、ログイン成功通知226に含まれる第2のATと、メモリ84内のプリンタID「xxx」と、ユーザによって指定された画像ファイルF1と、ユーザによって選択された印刷設定を示す印刷設定情報PS1と、を含む。そして、CPU82は、無線LANI/F78を介して、サブミット要求230を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、携帯端末70からサブミット要求230を取得すると、サブミット要求230に含まれる第2のATの認証を実行する。印刷仲介サーバ100は、第2のATが登録済みであると判断する場合(即ち、第2のATの認証が成功する場合)に、ジョブ情報J1を生成する。ジョブ情報J1は、サブミット要求230に含まれる画像ファイルF1及び印刷設定情報PS1を含む。
次いで、印刷仲介サーバ100は、サブミット要求230に含まれる第2のAT及びプリンタID「xxx」に関連付けて、ジョブ情報J1を記憶する。この結果、印刷仲介サーバ100では、アカウント情報ACと、プリンタID「xxx」と、実際印刷条件情報と、第1のATと、第2のATと、ジョブ情報J1と、が関連付けられる。そして、印刷仲介サーバ100は、サブミット成功通知236を携帯端末70に供給する。
携帯端末70のCPU82は、無線LANI/F78を介して、印刷仲介サーバ100からサブミット成功通知236を取得する。これにより、1個のジョブ情報J1をサブミットするためのサブミットプロセスが終了する。
携帯端末70のユーザは、さらに、他の画像ファイルF2を印刷仲介サーバ100にサブミットすることを望む場合には、画像ファイルF2を指定することを含むサブミット操作を実行する。これにより、携帯端末70のCPU82は、上記と同様の処理を実行することによって、さらに、画像ファイルF2及び印刷設定情報PS2を含むジョブ情報J2を印刷仲介サーバ100にサブミットすることができる。この結果、印刷仲介サーバ100では、アカウント情報ACと、プリンタID「xxx」と、実際印刷条件情報と、第1のATと、第2のATと、2個のジョブ情報J1,J2と、が関連付けられる。
本実施例では、印刷仲介サーバ100において、アカウント情報ACに関連付けて、2個のジョブ情報J1,J2が登録されるが、アカウント情報ACに関連付けられるジョブ情報の数は2個に限定されず、1個であってもよいし、3個以上であってもよい。
(印刷プロセス;図4)
続いて、図4を参照して、携帯端末70がプリンタ10に印刷を実行させるための印刷
プロセスについて説明する。印刷プロセスでは、携帯端末70のユーザは、プリンタ10の近くに存在しなくてはならない。従って、ユーザは、例えば、外出先から帰宅した後に、携帯端末70を利用して、プリンタ10に印刷を実行させる。
印刷仲介サーバ100では、図3のサブミットプロセスが実行されると、アカウント情報ACと、プリンタID「xxx」と、実際印刷条件情報と、第1のATと、第2のATと、2個のジョブ情報J1,J2と、が関連付けられる。ただし、第2のATは、サブミットプロセスの間だけ利用される一時的なトークンであるので、図4では、第2のATが関連付けられていない。
携帯端末70のユーザは、プリンタ10に印刷を実行させることを望む場合に、プリンタアプリを起動して、印刷操作を実行する。印刷操作は、プリンタアプリに従って表示される画面上で「印刷」を示すボタンを選択することを含む。携帯端末70のCPU82は、印刷操作が実行されると、プリンタアプリに従って、図4の各処理を実行する。
携帯端末70のCPU82は、まず、メモリ84から第1のAT及びプリンタID「xxx」(即ち図2の登録プロセスでメモリ84に記憶された各情報)を読み出す。そして、CPU82は、プリンタアプリに予め登録されている暗号鍵を利用して、第1のAT及びプリンタID「xxx」を暗号化することによって、暗号化データ270を生成する。暗号化の手法は、特に限定されないが、例えば、AES(Advanced Encryption Standardの略)、DES(Data Encryption Standardの略)等である。
次いで、携帯端末70のCPU82は、携帯端末70をプリンタ10に近づけることを促すメッセージを表示部74に表示させる。この結果、携帯端末70のユーザは、携帯端末70をプリンタ10に近づける。これにより、デバイス間距離が、上記の所定の距離より大きい状態から、上記の所定の距離以下である状態になる。この結果、2個のNFCI/F16,76の間にNFCリンクが確立される。
携帯端末70のCPU82は、NFCリンクを利用して、暗号化データ270を含む印刷指示260をプリンタ10に送信する。第1のAT及びプリンタID「xxx」が暗号化されているので、第1のAT及びプリンタID「xxx」が第三者によって不正に取得されるのを抑制することができる。
プリンタ10のCPU32は、NFCリンクを利用して、携帯端末70から印刷指示260を受信すると、NFC通信が終了したことを示すメッセージを表示部14に表示させる。これにより、携帯端末70のユーザが携帯端末70をプリンタ10から遠ざけるので、NFCリンクが切断される。
次いで、プリンタ10のCPU32は、メモリ34に予め記憶されている暗号鍵、即ち、携帯端末70で利用された暗号鍵に一致する暗号鍵を利用して、暗号化データ270を復号化する。これにより、CPU32は、第1のAT及びプリンタID「xxx」を取得することができる。
次いで、プリンタ10のCPU32は、無線LANI/F18を介して、第1のAT及びプリンタID「xxx」を含むジョブリスト要求280を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、プリンタ10からジョブリスト要求280を取得すると、ジョブリスト要求280に含まれる第1のAT及びプリンタID「xxx」の認証を実行する。そして、印刷仲介サーバ100は、第1のAT及びプリンタID「xxx」が登録済
みであると判断する場合(即ち、認証が成功する場合)に、ジョブリスト282を生成する。ジョブリスト282では、第1のジョブIDと第1のURLとが対応付けられると共に、第2のジョブIDと第2のURLとが対応付けられる。第1のジョブID、第2のジョブIDは、それぞれ、ジョブ情報J1、ジョブ情報J2を識別するためのIDである。第1のURL、第2のURLは、それぞれ、ジョブ情報J1、ジョブ情報J2に含まれる画像ファイルから生成されるべき印刷データの所在を示すURLである。そして、印刷仲介サーバ100は、ジョブリスト282をプリンタ10に供給する。
プリンタ10のCPU32は、無線LANI/F18を介して、印刷仲介サーバ100からジョブリスト282を取得すると、印刷データ要求290を生成する。印刷データ要求290は、ジョブリスト282に含まれる第1のジョブIDと、プリンタ10が解釈可能なデータ形式を示すデータ形式情報と、を含む。本実施例では、当該データ形式は、「PDF(Portable Document Formatの略)」であるが、変形例では、「PWG−Raster」、「XPS(XML Paper Specificationの略)」等であってもよい。次いで、CP
U32は、ジョブリスト282に含まれる第1のURLを供給先として、無線LANI/F18を介して、印刷データ要求290を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、プリンタ10から印刷データ要求290を取得すると、印刷データ要求290に含まれる第1のジョブIDによって識別されるジョブ情報J1を利用して、変換処理を実行する。具体的には、印刷仲介サーバ100は、ジョブ情報J1に含まれる印刷設定情報PS1と、印刷データ要求290に含まれるデータ形式情報「PDF」と、に従って、ジョブ情報J1に含まれる画像ファイルF1を変換して、印刷データD1を生成する。例えば、印刷設定情報PS1が用紙サイズ「A4」を示すと共に色数「モノクロ印刷」を示す場合には、印刷仲介サーバ100は、A4の印刷用紙にモノクロ画像の印刷を実行するためのPDF形式の印刷データD1を生成する。
次いで、印刷仲介サーバ100は、第1のURLに対応する位置に、生成済みの印刷データD1を記憶させる。そして、印刷仲介サーバ100は、印刷データ要求290の供給先である第1のURLに対応する位置に記憶されている印刷データD1をプリンタ10に供給する。
プリンタ10のCPU32は、無線LANI/F18を介して、印刷仲介サーバ100から印刷データD1を取得すると、印刷データD1を印刷実行部20に供給する。この結果、印刷実行部20は、印刷データD1によって表わされる画像を印刷用紙に印刷する。これにより、携帯端末70のユーザは、印刷済みの印刷用紙を取得することができる。
次いで、プリンタ10のCPU32は、ジョブリスト282に含まれる第2のURLを供給先として、無線LANI/F18を介して、ジョブリスト282に含まれる第2のジョブIDと、データ形式情報「PDF」と、を含む印刷データ要求292を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、プリンタ10から印刷データ要求292を取得すると、ジョブ情報J1を利用した変換処理と同様に、ジョブ情報J2を利用した変換処理を実行して、印刷データD2を生成する。そして、印刷仲介サーバ100は、印刷データD2をプリンタ10に供給する。
プリンタ10のCPU32は、無線LANI/F18を介して、印刷仲介サーバ100から印刷データD2を取得すると、印刷データD2を印刷実行部20に供給する。この結果、印刷実行部20は、印刷データD2によって表わされる画像を印刷用紙に印刷する。
(比較例;図5)
本実施例の効果を説明する前に、図5を参照しながら、比較例のプロセスを説明する。比較例のシステムは、プリンタ110と、PC170と、印刷仲介サーバ100と、を備える。プリンタ110及びPC170は、Wi−Fi通信を実行可能であるが、NFC通信を実行不可能である。従って、図5に示される全ての通信は、Wi−Fi通信である。
PC170のユーザは、まず、プリンタ110のウェブサーバ機能にアクセスするための操作をPC170に実行する。これにより、PC170は、プリンタ110のウェブサーバ機能にアクセスして、登録指示をプリンタ110に送信する。
プリンタ110は、PC170から登録指示を受信すると、プリンタ110の実際印刷条件を示す実際印刷条件情報と、プリンタ110のプロキシIDと、を含む登録要求を、印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、プリンタ110から登録要求を取得すると、登録要求に含まれるプリンタ110のプロキシIDを利用して、プリンタ110を識別するためのプリンタIDを生成する。次いで、印刷仲介サーバ100は、当該プリンタIDと、登録要求に含まれる実際印刷条件情報と、を関連付けて記憶する。そして、印刷仲介サーバ100は、当該プリンタIDと、ログイン用URLと、を含むレスポンスを、プリンタ110に供給する。
プリンタ110は、印刷仲介サーバ100からレスポンスを取得すると、レスポンスに含まれるログイン用URLをPC170に送信する。また、プリンタ110は、レスポンスに含まれるプリンタIDを記憶し、さらに、図示省略しているが、印刷仲介サーバ100に対するポーリングを実行する。当該ポーリングは、印刷仲介サーバ100においてアカウント情報の認証が成功した際に、プリンタ110と印刷仲介サーバ100との間にXMPP(eXtensible Messaging and Presence Protocolの略)接続を確立するために実行される。
PC170は、プリンタ110からログイン用URLを受信すると、ログイン用URLを供給先として、アクセス要求を印刷仲介サーバ100に供給する。この結果、PC170は、印刷仲介サーバ100からログイン画面データを取得し、ログイン画面を表示させる。そして、ユーザは、アカウント情報をPC170に入力する。この場合、PC170は、アカウント情報を含むログイン要求を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、PC170からログイン要求を取得すると、アカウント情報の認証を実行し、アカウント情報の認証が成功すると、アカウント情報を記憶する。これにより、印刷仲介サーバ100では、アカウント情報と、プリンタIDと、実際印刷条件情報と、が関連付けられる。
印刷仲介サーバ100は、アカウント情報の認証が成功すると、さらに、プリンタ110からのポーリングに応じて、印刷仲介サーバ100とプリンタ110との間にXMPP接続を確立する。これにより、印刷仲介サーバ100とプリンタ110との間にいわゆる常時接続が確立されるので、WAN側に存在する印刷仲介サーバ100からLAN側に存在するプリンタ110に後述のサブミット通知を供給することができる。
次いで、PC170は、画像ファイルをサブミットするための操作が実行されると、印刷仲介サーバ100から、印刷仲介サーバ100に記憶されている実際印刷条件情報を取得する。そして、PC170は、当該実際印刷条件情報を利用して、印刷設定選択画面を表示させる。PC170は、ユーザによって印刷設定が選択されると、画像ファイルと、
当該印刷設定を示す印刷設定情報と、を含むサブミット要求を、印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、PC170からサブミット要求を取得すると、画像ファイル及び印刷設定情報を含むジョブ情報を生成して、当該ジョブ情報を記憶する。これにより、印刷仲介サーバ100では、アカウント情報と、プリンタIDと、実際印刷条件情報と、ジョブ情報と、が関連付けられる。
印刷仲介サーバ100は、画像ファイル及び印刷設定情報がサブミットされた直後に、XMPP接続を利用して、印刷指示を含むサブミット通知をプリンタ110に供給する。
プリンタ110は、印刷仲介サーバ100からサブミット通知を取得すると、印刷データ要求を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、プリンタ110から印刷データ要求を取得すると、印刷設定情報に従って画像ファイルに対する変換処理を実行して、印刷データを生成する。そして、印刷仲介サーバ100は、印刷データをプリンタ110に供給する。
プリンタ110は、印刷仲介サーバ100から印刷データを取得すると、印刷データによって表される画像の印刷を実行する。
(第1実施例の効果)
上述したように、図5の比較例では、ユーザは、プリンタ110のウェブサーバ機能にアクセスして、印刷仲介サーバ100との登録要求の通信をプリンタ110に実行させて、プリンタ110の実際印刷条件情報を印刷仲介サーバ100に登録しなければならない。プリンタ110に関する知識に乏しいユーザは、プリンタ110のウェブサーバ機能にアクセスするのが困難であるので、実際印刷条件情報の登録のための作業を実行するのが困難である。
本実施例では、図2に示されるように、ユーザが携帯端末70をプリンタ10に近づければ、携帯端末70は、プリンタ10からモデル名「M10」を受信し、当該モデル名「M10」を利用して、情報提供サーバ105からプリンタ10の実際印刷条件情報を取得する。そして、携帯端末70は、実際印刷条件情報を含む登録要求208を印刷仲介サーバ100に供給することによって、実際印刷条件情報を印刷仲介サーバ100に登録する。従って、ユーザは、実際印刷条件情報を印刷仲介サーバ100に登録するために、印刷仲介サーバ100との通信をプリンタ10に実行させずに済む。このために、ユーザは、プリンタ10のウェブサーバ機能にアクセスするための作業を実行せずに済み、携帯端末70をプリンタ10に近づけるワンタッチの動作を実行すれば、実際印刷条件情報を印刷仲介サーバ100に登録することができる。従って、ユーザの利便性が高い。
また、図3に示されるように、携帯端末70は、実際印刷条件情報を利用して、印刷設定選択画面を表示させる。このために、ユーザは、印刷設定選択画面を見ながら、プリンタ10の実際印刷条件の中から、所望の印刷設定を選択することができる。そして、携帯端末70は、アカウント情報AC、プリンタID「xxx」、実際印刷条件情報等に関連付けて、画像ファイルF1及び印刷設定情報PS1を含むジョブ情報J1を印刷仲介サーバ100に登録する。従って、ユーザは、所望の画像ファイルF1と、所望の印刷設定を示す印刷設定情報PS1と、を印刷仲介サーバ100に登録することができる。
また、図5の比較例では、PC170は、画像ファイルを印刷仲介サーバ100にサブミットすべき際に、印刷仲介サーバ100からプリンタ110の実際印刷条件情報を取得
して、印刷設定選択画面を表示させる。このために、画像ファイルをサブミットするために、PC170と印刷仲介サーバ100との間で実際印刷条件情報の通信を実行しなければならず、PC170と印刷仲介サーバ100との間のネットワークの負荷が高い。
本実施例では、図2に示されるように、携帯端末70は、情報提供サーバ105から取得されるプリンタ10の実際印刷条件情報をメモリ84に記憶させる。このために、図3に示されるように、携帯端末70は、サブミット操作が実行される場合、即ち、画像ファイルF1のサブミットを実行すべき場合に、メモリ84内の実際印刷条件情報を利用して、印刷設定選択画面を表示させることができる。従って、携帯端末70が印刷仲介サーバ100から実際印刷条件情報を取得せずに済むので、画像ファイルF1をサブミットするために、携帯端末70と印刷仲介サーバ100との間で実際印刷条件情報の通信を実行せずに済む。このために、携帯端末70と印刷仲介サーバ100との間のネットワークの負荷を低減させることができる。
また、本実施例では、図4に示されるように、携帯端末70は、印刷仲介サーバ100から取得された第1のAT及びプリンタID「xxx」を暗号化して、暗号化データ270を含む印刷指示260をプリンタ10に送信する。この結果、プリンタ10は、第1のAT及びプリンタID「xxx」を含むジョブリスト要求280を印刷仲介サーバ100に供給して、印刷仲介サーバ100から印刷データD1,D2を取得し、印刷を実行することができる。このように、印刷仲介サーバ100からプリンタ10に印刷指示が送信される構成ではなく、携帯端末70からプリンタ10に印刷指示260が送信される構成を採用しているので、プリンタ10と印刷仲介サーバ100との間にXMPP接続を確立せずに済む。このために、プリンタ10と印刷仲介サーバ100との間のネットワークの負荷を低減させることができる。
(対応関係)
プリンタ10のモデル名「M10」が、「印刷条件関係情報」及び「モデル情報」の一例である。プリンタ10の実際印刷条件情報が、「プリンタ関係情報」の一例である。画像ファイルF1が、「対象ファイル」及び「ファイル関係情報」の一例である。第1のAT及びプリンタID「xxx」が、「認証情報」の一例である。印刷設定選択画面が、「選択画面」の一例である。情報提供サーバ105が、「特定のサーバ」の一例である。NFC方式、Wi−Fi方式が、ぞれぞれ、「近距離無線通信方式」、「所定の通信方式」の一例である。
(第2実施例)
本実施例では、情報提供サーバ105が存在しない。そして、図1に示されるように、プリンタアプリは、プリンタ10のベンダが販売している複数のモデルのプリンタのそれぞれについて、当該プリンタのモデル名(例えば、「M1」、「M10」等)と、当該プリンタの実際印刷条件を示す実際印刷条件情報と、が関連付けられた情報を含む。
(登録プロセス;図6の上の図)
図6の上の図を参照して、第1実施例と同様の部分については説明を省略しつつ、第2実施例の登録プロセスについて説明する。
携帯端末70のCPU82は、ユーザによって登録操作が実行されると、第1実施例と同様に、モデル名要求200をプリンタ10に送信して、プリンタ10からモデル名「M10」及びプロキシID「aaa」を含むレスポンス202を受信する。
次いで、携帯端末70のCPU82は、プリンタアプリから、レスポンス202に含まれるモデル名「M10」に関連付けられているプリンタ10の実際印刷条件情報を読み出
す。そして、CPU82は、図3のサブミットプロセスで印刷設定選択画面を表示するために利用されるべき実際印刷条件情報として、読み出した実際印刷条件情報をメモリ84に記憶させる。
携帯端末70から印刷仲介サーバ100への登録要求208の供給以降の各処理は、第1実施例と同様である(図2参照)。また、サブミットプロセス及び印刷プロセスは、第1実施例と同様である。
本実施例でも、第1実施例と同様の効果を得ることができる。また、本実施例では、情報提供サーバ105を設ける必要がないので、システムを簡易化することができる。本実施例でも、プリンタ10のモデル名「M10」が、「印刷条件関係情報」及び「モデル情報」の一例である。
(第3実施例)
本実施例でも、情報提供サーバ105が存在しない。そして、図1に示されるように、プリンタ10のメモリ34は、プリンタ10の実際印刷条件情報を予め記憶している。
(登録プロセス;図6の下の図)
図6の下の図を参照して、第1実施例と同様の部分については説明を省略しつつ、第3実施例の登録プロセスについて説明する。
携帯端末70のCPU82は、ユーザによって登録操作が実行されると、NFC通信を実行して、印刷条件情報要求300をプリンタ10に送信する。
プリンタ10のCPU32は、携帯端末70から印刷条件情報要求300を受信すると、メモリ34から実際印刷条件情報及びプロキシID「aaa」を読み出す。そして、CPU32は、NFC通信を実行して、実際印刷条件情報及びプロキシID「aaa」を含むレスポンス302を携帯端末70に送信する。
携帯端末70のCPU82は、プリンタ10からレスポンス302を受信すると、レスポンス302に含まれる実際印刷条件情報をメモリ84に記憶させる。
携帯端末70から印刷仲介サーバ100への登録要求208の供給以降の各処理は、第1実施例と同様である(図2参照)。また、サブミットプロセス及び印刷プロセスは、第1実施例と同様である。
本実施例でも、第1実施例と同様の効果を得ることができる。また、本実施例では、情報提供サーバ105を設ける必要がないので、システムを簡易化することができる。本実施例では、プリンタ10の実際印刷条件情報が、「印刷条件関係情報」の一例である。即ち、本実施例では、「印刷条件関係情報」と「実際印刷条件情報」とが同じ情報である。
(第4実施例;図7)
上記の各実施例では、OAuthの手法を利用した登録プロセスが実行されるが(図2参照)、本実施例では、Client Loginの手法を利用した登録プロセスが実行される。
図7に示されるように、各情報200,202,204,206の通信が実行されて、プリンタ10の実際印刷条件情報が携帯端末70のメモリ84に記憶されるまでの各処理は、第1実施例と同様である(図2参照)。
次いで、携帯端末70のCPU82は、プリンタアプリに予め登録されているログイン画面を表示部74に表示させる。ユーザは、操作部72を利用して、アカウント情報ACを携帯端末70に入力する。この場合、CPU82は、無線LANI/F78を介して、アカウント情報ACを含むログイン要求216を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、携帯端末70からログイン要求216を取得すると、ログイン要求216に含まれるアカウント情報ACの認証を実行し、アカウント情報ACの認証が成功する場合には、第1のATを生成する。次いで、印刷仲介サーバ100は、認証が成功したアカウント情報ACと、第1のATと、を関連付けて記憶する。印刷仲介サーバ100は、第1のATを含むログイン成功通知218を携帯端末70に供給する。
携帯端末70のCPU82は、無線LANI/F78を介して、印刷仲介サーバ100からログイン成功通知218を取得すると、ログイン成功通知218に含まれる第1のATをメモリ84に記憶させる。次いで、CPU82は、無線LANI/F78を介して、実際印刷条件情報及びプロキシID「aaa」を含む登録要求208を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、携帯端末70から登録要求208を取得すると、登録要求208に含まれるプロキシID「aaa」を利用して、プリンタID「xxx」を生成する。そして、印刷仲介サーバ100は、プリンタID「xxx」と、実際印刷条件情報と、を記憶する。この結果、印刷仲介サーバ100では、アカウント情報ACと、プリンタID「xxx」と、実際印刷条件情報と、第1のATと、が関連付けられる。そして、印刷仲介サーバ100は、プリンタID「xxx」を含む登録成功通知209を携帯端末70に供給する。
携帯端末70のCPU82は、無線LANI/F78を介して、印刷仲介サーバ100から登録成功通知209を取得すると、登録成功通知209に含まれるプリンタID「xxx」をメモリ84に記憶させる。これにより、登録プロセスが終了する。サブミットプロセス及び印刷プロセスは、第1実施例と同様である(図3、図4参照)。
本実施例によっても、携帯端末70は、実際印刷条件情報、プリンタID「xxx」等を印刷仲介サーバ100に登録することができ、第1実施例と同様の効果を得ることができる。本実施例でも、第1のAT及びプリンタID「xxx」が、「認証情報」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)図2の登録プロセスにおいて、携帯端末70と情報提供サーバ105との間で通信される印刷条件情報要求204及びレスポンス206を省略してもよい。この場合、携帯端末70は、プリンタ10のモデル名「M10」を含む登録要求208を印刷仲介サーバ100に送信する。そして、印刷仲介サーバ100は、登録要求208に含まれるプリンタ10のモデル名「M10」を含む印刷条件情報要求を情報提供サーバ105に供給して、情報提供サーバ105からプリンタ10の実際印刷条件情報を取得する。本変形例でも、印刷仲介サーバ100は、プリンタID「xxx」と、プリンタ10の実際印刷条件情報と、を関連付けて記憶することができる。本変形例も、「印刷条件関係情報を利用して、プリンタ関係情報を印刷仲介サーバに登録する」の一例である。
(変形例2)図2の登録プロセスにおいて、携帯端末70は、プリンタ10の実際印刷条
件情報をメモリ84に記憶させなくてもよい。この場合、図3のサブミットプロセスにおいて、携帯端末70は、印刷仲介サーバ100からプリンタ10の実際印刷条件情報を取得して、印刷設定選択画面を表示させる。即ち、「記憶制御部」は省略可能である。
(変形例3)上記の各実施例では、図4の印刷プロセスが実行される状況において、図2の登録プロセスで生成された第1のATが印刷仲介サーバ100に登録されている。ただし、図4の印刷プロセスが実行される際に、第1のATの有効期限が終了していることがあり得る。そこで、図2の登録プロセスにおいて、印刷仲介サーバ100は、第1のATのみならず、いわゆるリフレッシュトークンを生成して、アカウント情報AC等に関連付けてリフレッシュトークンを記憶してもよい。この場合、印刷仲介サーバ100は、第1のATの有効期限が終了する場合に、リフレッシュトークンを利用して、新たなトークンを生成し、第1のATに代えて、当該新たなトークンを記憶することができる。そして、携帯端末70は、印刷仲介サーバ100から、第1のATのみならず、リフレッシュトークンを含むログイン成功通知218を受信する。そして、図4の印刷プロセスにおいて、携帯端末70は、第1のATのみならず、リフレッシュトークンを含む暗号化データ270を、プリンタ10に送信する。この場合、プリンタ10は、第1のATの有効期限が終了している場合に、リフレッシュトークンを利用して新たなトークンを生成し、当該新たなトークンを利用して、印刷仲介サーバ100から印刷データD1,D2を取得することができる。本変形例では、リフレッシュトークンが「認証情報」の一例である。
(変形例4)上記の各実施例では、例えば、図3のサブミットプロセスにおいて、携帯端末70は、画像ファイルF1を含むサブミット要求230を印刷仲介サーバ100に供給する。これに代えて、携帯端末70は、例えば、画像ファイルF1がインターネット上のデータサーバに保存されている場合には、画像ファイルF1のURLを含むサブミット要求230を印刷仲介サーバ100に供給してもよい。この場合、印刷仲介サーバ100は、画像ファイルF1のURLと、印刷設定情報PS1と、を含むジョブ情報J1を記憶する。そして、図4の印刷プロセスにおいて、印刷仲介サーバ100は、プリンタ10から印刷データ要求290を取得すると、画像ファイルF1のURLを利用して、データサーバから画像ファイルF1を取得し、当該画像ファイルF1を変換して、印刷データD1を生成してもよい。本変形例では、画像ファイルF1のURLが、「ファイル関係情報」の一例である。
(変形例5)上記の各実施例では、「認証情報」は、プリンタIDと、トークン(即ち第1のAT)と、を含む。ただし、印刷仲介サーバ100が、トークンを利用せずに、プリンタIDのみを利用して認証を実行可能な構成であれば、「認証情報」は、トークンを含んでおらず、プリンタIDのみを含んでいてもよい。また、印刷仲介サーバ100が、プリンタIDを利用せずに、トークンのみを利用して認証を実行可能である構成であれば、「認証情報」は、プリンタIDを含んでおらず、トークンのみを含んでいてもよい。一般的に言うと、「認証情報」は、印刷仲介サーバにおいて認証に利用される情報であれば、どのような情報であってもよい。
(変形例6)「プリンタ関係情報」は、プリンタ10の実際印刷条件情報に限られず、プリンタ10のプリンタ名を示す情報、プリンタ10のデフォルト設定を示す情報、プリンタ10のステータスを示す情報等を含んでいてもよい。
(変形例7)上記の各実施例では、図4の印刷プロセスにおいて、携帯端末70は、プリンタID「xxx」及び第1のATを暗号化することによって生成される暗号化データ270を、プリンタ10に送信する。これに代えて、携帯端末70は、暗号化することなく、プリンタID「xxx」及び第1のATをプリンタ10に送信してもよい。一般的に言うと、「送信部」は、認証情報をプリンタに送信すればよい。
(変形例8)プリンタ10及び携帯端末70は、NFC方式の無線通信を実行する代わりに、他の通信方式の近距離無線通信(例えば、トランスファージェット方式、赤外線方式等の無線通信)を実行して、モデル名要求200、レスポンス202、及び、印刷指示260の通信を実行してもよい。本変形例では、上記の他の通信方式が、「近距離無線通信方式」の一例である。また、プリンタ10及び携帯端末70は、近距離無線通信を実行する代わりに、Wi−Fi方式の無線通信を実行して、モデル名要求200等の通信を実行してもよい。また、プリンタ10及び携帯端末70は、無線通信を実行する代わりに、有線通信を実行して、モデル名要求200等の通信を実行してもよい。一般的に言うと、端末装置とプリンタとが通信可能であればよい。
(変形例9)携帯端末70は、Wi−Fi方式の無線通信を実行して、印刷仲介サーバ100と様々な情報(例えば図2の登録要求208等)の通信を実行する代わりに、3G、4G等のセルラー方式の無線通信を実行して、印刷仲介サーバ100と通信を実行してもよい。本変形例では、セルラー方式が、「所定の通信方式」の一例である。また、携帯端末70は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ100と通信を実行してもよい。一般的に言うと、端末装置と印刷仲介サーバとが通信可能であればよい。
(変形例10)プリンタ10は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ100と様々な情報(例えば図4のジョブリスト要求280等)の通信を実行してもよい。一般的に言うと、プリンタと印刷仲介サーバとが通信可能であればよい。
(変形例11)印刷仲介サーバ100は、1個のサーバでなくてもよく、別体に構成されている複数個のサーバであってもよい。例えば、印刷仲介サーバ100は、図2の登録プロセスに示される各処理を実行する第1のサーバと、図3以降の各プロセスに示される各処理を実行する第2のサーバ(即ち第1のサーバとは別体に構成されている第2のサーバ)と、を備えていてもよい。
(変形例12)「端末装置」は、携帯端末70でなくてもよく、据え置き型のPCであってもよいし、他のデバイス(例えばテレビ等)であってもよい。
(変形例13)上記の各実施例では、プリンタ10のCPU32及び携帯端末70のCPU82がメモリ34,84内のプログラムを実行することによって、図2〜図4等の各処理が実現される。これに代えて、図2〜図4等の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。