JP2020135347A - 仲介サーバと仲介サーバのためのコンピュータプログラム - Google Patents
仲介サーバと仲介サーバのためのコンピュータプログラム Download PDFInfo
- Publication number
- JP2020135347A JP2020135347A JP2019027216A JP2019027216A JP2020135347A JP 2020135347 A JP2020135347 A JP 2020135347A JP 2019027216 A JP2019027216 A JP 2019027216A JP 2019027216 A JP2019027216 A JP 2019027216A JP 2020135347 A JP2020135347 A JP 2020135347A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- identification information
- server
- type
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】ファイル識別情報がプリンタに入力されなくても、仲介サーバに送信されたファイルに従った印刷をプリンタに実行させるための技術を提供する。【解決手段】仲介サーバは、外部装置から、サービス提供サーバが第1プリンタを識別するための第1種の第1プリンタ識別情報を受信し、仲介サーバが第1プリンタを識別するための第2種のプリンタ識別情報を出力装置に出力させ、第1の端末装置から第2種のプリンタ識別情報を受信し、仲介サーバがファイルを識別するためのファイル識別情報を第2の端末装置に送信し、第1の端末装置からファイル識別情報を受信し、第1の端末装置から第2種のプリンタ識別情報とファイル識別情報とが受信された後に、第1種の第1プリンタ識別情報と第1の対象データとを含む第1の印刷要求をサービス提供サーバに送信することによって、印刷対象の画像の印刷を第1プリンタに実行させる。【選択図】図7
Description
本明細書では、端末装置とプリンタとの間で印刷に関する通信を仲介する仲介サーバに関する技術を開示する。
特許文献1に開示されている仲介サーバは、携帯端末から画像データと印刷設定に関する印刷情報とを受信すると、PINコードを発行し、画像データと印刷情報とPINコードとを関連付けて記憶する。そして、仲介サーバは、PINコードを携帯端末に送信する。これにより、PINコードが携帯端末に表示され、ユーザはPINコードを知ることができる。ユーザは、プリンタを操作して、PINコードをプリンタに入力する。プリンタは、入力済みのPINコードを仲介サーバに送信する。仲介サーバは、プリンタからPINコードを受信すると、PINコードに関連付けて記憶されている印刷情報に従って、PINコードに関連付けて記憶されている画像データを変換して印刷用画像データを生成する。そして、仲介サーバは、印刷用画像データをプリンタに送信する。これにより、プリンタにおいて、印刷用画像データに従った画像の印刷が実行される。
上記の技術では、プリンタが仲介サーバを利用して印刷を実行するためには、プリンタがPINコードの入力を受け付けて仲介サーバとの通信を実行する必要がある。このため、PINコードの入力を受け付けて仲介サーバとの通信を実行する能力を有さないプリンタは、仲介サーバを利用して印刷を実行することができない。
本明細書では、ファイル識別情報がプリンタに入力されなくても、仲介サーバに送信されたファイルに従った印刷をプリンタに実行させるための技術を提供する。
本明細書によって開示される仲介サーバは、外部装置から、サービス提供サーバが第1プリンタを識別するための第1種の第1プリンタ識別情報を受信する第1のプリンタ識別情報受信部と、受信済みの前記第1種の第1プリンタ識別情報に関係する第2種のプリンタ識別情報であって、前記仲介サーバが前記第1プリンタを識別するための前記第2種のプリンタ識別情報を出力装置に出力させる出力制御部と、前記第2種のプリンタ識別情報が前記出力装置によって出力された後に、出力済みの前記第2種のプリンタ識別情報が第1の端末装置によって取得される場合に、前記第1の端末装置から前記第2種のプリンタ識別情報を受信する第2のプリンタ識別情報受信部と、第2の端末装置から、印刷対象の画像を表すファイルを受信するファイル受信部と、前記仲介サーバが受信済みの前記ファイルを識別するためのファイル識別情報を前記第2の端末装置に送信するファイル識別情報送信部と、送信済みの前記ファイル識別情報が前記第2の端末装置に表示された後に、前記ファイル識別情報が前記第1の端末装置に入力される場合に、前記第1の端末装置から前記ファイル識別情報を受信する第1のファイル識別情報受信部と、前記第1の端末装置から前記第2種のプリンタ識別情報と前記ファイル識別情報とが受信された後に、受信済みの前記第2種のプリンタ識別情報に関係する前記第1種の第1プリンタ識別情報と、受信済みの前記ファイル識別情報によって識別される前記ファイルによって表される前記印刷対象の前記画像と同一の画像を表す第1の対象データと、を含む第1の印刷要求を前記サービス提供サーバに送信することによって、前記印刷対象の前記画像の印刷を前記第1プリンタに実行させる印刷要求送信部と、を備えてもよい。
上記の構成によれば、仲介サーバは、サービス提供サーバが第1プリンタを識別するための第1種の第1プリンタ識別情報に関係する第2種のプリンタ識別情報を出力装置に出力させる。これにより、第2種のプリンタ識別情報が第1の端末装置によって取得される。また、仲介サーバは、ファイル識別情報を第2の端末装置に送信する。これにより、ファイル識別情報が第2の端末装置に表示され、ファイル識別情報が第1の端末装置に入力される。そして、仲介サーバは、第1の端末装置から、第2種のプリンタ識別情報とファイル識別情報とを受信して、受信済みの第2種のプリンタ識別情報に関係する第1種の第1プリンタ識別情報と、第1の対象データと、を含む印刷要求をサービス提供サーバに送信することによって、印刷対象の画像の印刷を第1プリンタに実行させる。即ち、この技術では、ファイル識別情報が第1プリンタに入力されなくても、ファイル識別情報が第1の端末装置に入力されれば、サービス提供サーバを利用して、仲介サーバに送信されたファイルに従った印刷を第1プリンタに実行させることができる。
上記の仲介サーバを実現するためのコンピュータプログラムと、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体も新規で有用である。また、上記の仲介サーバによって実行される方法も新規で有用である。
(第1実施例)
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、仲介サーバ10と、複数個のプリンタ100、200、300と、管理端末400と、ユーザ端末500と、サービス提供サーバ600(以下、「SPサーバ600」と記載)と、を備える。プリンタ100、200、300及び管理端末400は、同じLAN(Local Area Networkの略)4に接続されている。LAN4は、有線LAN及び無線LANのどちらでもよい。管理端末400及びユーザ端末500は、デスクトップPC(Personal Computerの略)、ノートPC、携帯端末等の端末装置である。
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、仲介サーバ10と、複数個のプリンタ100、200、300と、管理端末400と、ユーザ端末500と、サービス提供サーバ600(以下、「SPサーバ600」と記載)と、を備える。プリンタ100、200、300及び管理端末400は、同じLAN(Local Area Networkの略)4に接続されている。LAN4は、有線LAN及び無線LANのどちらでもよい。管理端末400及びユーザ端末500は、デスクトップPC(Personal Computerの略)、ノートPC、携帯端末等の端末装置である。
また、LAN4は、インターネット6に接続されている。インターネット6には、仲介サーバ10とSPサーバ600とが設置されている。LAN4に所属する装置(例えば400)は、LAN4及びインターネット6を介して、インターネット6上に設置されているサーバ(例えば10)と通信可能である。
各プリンタ100、200、300は、印刷機能を実行可能な周辺装置(即ち、管理端末400の周辺装置)である。プリンタ100には、MAC(Media Access Controlの略)アドレスMA1が割り当てられている。同様に、プリンタ200、300には、それぞれ、MACアドレスMA2、MA3が割り当てられている。
各プリンタ100、200は、仲介サーバ用プログラムを有さない。仲介サーバ用プログラムは、後述する印刷パスワードの入力を受け付けて、仲介サーバ10から印刷パスワードによって識別される印刷データを受信するためのプログラムである。一方、プリンタ300は、仲介サーバ用プログラムを有する。以下、仲介サーバ用プログラムを有さないプリンタ100、200を「非対応プリンタ」と呼び、仲介サーバ用プログラムを有するプリンタ300を「対応プリンタ」と呼ぶ。非対応プリンタは、例えば、対応プリンタ300のベンダによって提供されるとともに対応プリンタ300よりも安価で低機能なプリンタ、又は、対応プリンタ300及び仲介サーバ10のベンダとは異なるベンダによって提供されるプリンタである。
(SPサーバ600の構成)
SPサーバ600は、端末装置(例えば500)とプリンタ(例えば100)との間で印刷に関する通信を仲介するサービスを提供するサーバである。具体的には、SPサーバ600は、端末装置から画像を表すファイルを受信し、当該ファイルを変換してプリンタが解釈可能なデータ形式を有する印刷データを生成し、当該印刷データをプリンタに送信する。SPサーバ600が印刷データを生成するので、印刷データを生成するためのドライバプログラムを端末装置にインストールすることなく、印刷データをプリンタに送信することができる。SPサーバ600は、例えば、Google(登録商標) Cloud Printサービスを提供するサーバである。SPサーバ600は、後述するサービステーブル602を記憶する。
SPサーバ600は、端末装置(例えば500)とプリンタ(例えば100)との間で印刷に関する通信を仲介するサービスを提供するサーバである。具体的には、SPサーバ600は、端末装置から画像を表すファイルを受信し、当該ファイルを変換してプリンタが解釈可能なデータ形式を有する印刷データを生成し、当該印刷データをプリンタに送信する。SPサーバ600が印刷データを生成するので、印刷データを生成するためのドライバプログラムを端末装置にインストールすることなく、印刷データをプリンタに送信することができる。SPサーバ600は、例えば、Google(登録商標) Cloud Printサービスを提供するサーバである。SPサーバ600は、後述するサービステーブル602を記憶する。
(仲介サーバ10の構成)
仲介サーバ10も、SPサーバ600と同様に、端末装置(例えば500)とプリンタ(例えば300)との間で印刷に関する通信を仲介するサーバである。具体的には、仲介サーバ10は、印刷ジョブが登録された後に、登録済みの印刷ジョブを識別する印刷パスワードがユーザによってプリンタに入力される場合に、プリンタから印刷パスワードを受信し、登録済みの印刷ジョブを変換して印刷データを生成し、当該印刷データをプリンタに送信する。仲介サーバ10が印刷データを生成するので、印刷データを生成するためのドライバプログラムを端末装置にインストールすることなく、印刷データをプリンタに送信することができる。仲介サーバ10は、プリンタ300等のベンダによってインターネット6上に設置される。
仲介サーバ10も、SPサーバ600と同様に、端末装置(例えば500)とプリンタ(例えば300)との間で印刷に関する通信を仲介するサーバである。具体的には、仲介サーバ10は、印刷ジョブが登録された後に、登録済みの印刷ジョブを識別する印刷パスワードがユーザによってプリンタに入力される場合に、プリンタから印刷パスワードを受信し、登録済みの印刷ジョブを変換して印刷データを生成し、当該印刷データをプリンタに送信する。仲介サーバ10が印刷データを生成するので、印刷データを生成するためのドライバプログラムを端末装置にインストールすることなく、印刷データをプリンタに送信することができる。仲介サーバ10は、プリンタ300等のベンダによってインターネット6上に設置される。
仲介サーバ10は、ネットワークI/F12と制御部20とを備える。ネットワークI/F12は、インターネット6に接続されている。制御部20は、CPU22とメモリ24とを備える。CPU22は、メモリ24に記憶されているプログラム26に従って、様々な処理を実行する。メモリ24は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ24は、ユーザテーブル30と、ジョブテーブル32と、プリンタテーブル34と、サーバテーブル36と、を記憶する。
(各テーブルの構成;図2)
図2を参照して、SPサーバ600に記憶されるサービステーブル602と、仲介サーバ10に記憶される各テーブル30、32、34、36と、について説明する。
図2を参照して、SPサーバ600に記憶されるサービステーブル602と、仲介サーバ10に記憶される各テーブル30、32、34、36と、について説明する。
サービステーブル602は、SPサーバ600に関する情報を管理するためのテーブルである。具体的には、サービステーブル602は、SPサーバ600を利用する複数のユーザのそれぞれについて、SPサーバ用ユーザ名と、SPサーバ用パスワードと、サーバトークンと、プリンタIDと、プリンタ名と、プリンタトークンと、を関連付けて記憶する。SPサーバ用ユーザ名及びSPサーバ用パスワードは、SPサーバ600を利用するためのアカウント情報である。サーバトークンは、仲介サーバ10との通信を実行するための認証情報である。プリンタIDは、SPサーバ用ユーザ名によって示されるユーザによって管理されるプリンタを識別するための識別情報である。プリンタIDは、SPサーバ600がプリンタを識別するための識別情報である。プリンタ名は、当該プリンタの名称である。プリンタトークンは、当該プリンタとの通信を実行するための認証情報である。
ユーザテーブル30は、仲介サーバ10を利用するユーザを管理するためのテーブルである。具体的には、ユーザテーブル30は、仲介サーバ10を利用する複数のユーザのそれぞれについて、仲介サーバ用ユーザ名と、仲介サーバ用パスワードと、登録ID(Identifierの略)と、を関連付けて記憶する。仲介サーバ用ユーザ名及び仲介サーバ用パスワードは、仲介サーバ10を利用するためのアカウント情報である。登録IDは、仲介サーバ用ユーザ名によって示されるユーザによって登録される印刷ジョブを特定するための識別情報である。
ジョブテーブル32は、印刷ジョブを登録するためのテーブルである。ジョブテーブル32は、複数個の印刷ジョブのそれぞれについて、登録IDと、印刷パスワードと、ファイル名と、印刷設定情報と、を関連付けて記憶する。印刷パスワードは、対応する印刷ジョブに従った印刷を実行するために必要な認証情報であり、換言すると、仲介サーバ10が当該印刷ジョブ(即ち印刷対象の画像を表すファイル)を識別するための識別情報である。ファイル名は、当該ファイルの名称である。印刷設定情報は、当該印刷ジョブに従った印刷を実行するための印刷設定(用紙サイズ、色、部数、両面印刷の有無、等)を示す。
プリンタテーブル34は、対応プリンタを管理するためのテーブルである。プリンタテーブル34は、複数個のプリンタのそれぞれについて、当該プリンタを管理するユーザの仲介サーバ用ユーザ名と、当該プリンタのMACアドレスと、当該プリンタのプリンタ名と、を関連付けて記憶する。
サーバテーブル36は、SPサーバ600から受信される各情報を管理するためのテーブルである。サーバテーブル36は、仲介サーバ10を利用する複数のユーザのそれぞれについて、当該ユーザの仲介サーバ用ユーザ名と、SPサーバ600から受信される各情報(即ち、サーバトークンとプリンタIDとプリンタ名)と、特定URL(Uniform Resource Locatorの略)と、を関連付けて記憶する。特定URLは、仲介サーバ10内の位置を示す位置情報であって、印刷パスワードを入力するためのパスワード入力画面を表すパスワード入力画面の位置を示す位置情報である。なお、特定URLは、プリンタIDに関連付けて記憶される。このため、特定URLは、仲介サーバ10がプリンタID(即ち非対応プリンタ)を識別するための識別情報と言うことができる。
(プリンタをSPサーバ600に登録する処理;図3)
図3を参照して、プリンタ200をSPサーバ600に登録する処理の一例について説明する。ユーザは、T10において、管理端末400を操作して、管理端末400にプリンタ200のIPアドレスを入力する。これにより、管理端末400は、プリンタ200にアクセスし、プリンタ200の様々な設定を変更するための設定画面を表示する。設定画面では、プリンタ200をSPサーバ600に登録するための設定項目を含む。ユーザは、T11において、プリンタ200のプリンタ名として「printer200」を入力し、プリンタ200をSPサーバ600に登録するための登録指示を設定画面に入力する。
図3を参照して、プリンタ200をSPサーバ600に登録する処理の一例について説明する。ユーザは、T10において、管理端末400を操作して、管理端末400にプリンタ200のIPアドレスを入力する。これにより、管理端末400は、プリンタ200にアクセスし、プリンタ200の様々な設定を変更するための設定画面を表示する。設定画面では、プリンタ200をSPサーバ600に登録するための設定項目を含む。ユーザは、T11において、プリンタ200のプリンタ名として「printer200」を入力し、プリンタ200をSPサーバ600に登録するための登録指示を設定画面に入力する。
管理端末400は、T11において、プリンタ名「printer200」と登録指示との入力を受け付けると、T12において、認証URL要求をSPサーバ600へのリダイレクトとしてプリンタ200に送信する。これにより、T14において、認証URL要求がプリンタ200からSPサーバ600へ送信される。ここで、認証URL要求は、SPサーバ600から認証画面データの位置を示す認証URLを受信するための要求である。認証画面データは、SPサーバ用ユーザ名とSPサーバ用パスワードを入力するための認証画面を表すデータである。認証URL要求は、プリンタ名「printer200」を含む。
SPサーバ600は、T14において、プリンタ200から認証URL要求を受信すると、T16Aにおいて、認証URLをプリンタ200に送信する。これにより、プリンタ200は、T16Bにおいて、認証URLを管理端末400に送信する。
管理端末400は、T16Bにおいて、プリンタ200から認証URLを受信すると、T22において、受信済みの認証URLを含むHTTP(Hypertext Transfer Protocolの略)リクエストをSPサーバ600に送信する。この結果、管理端末400は、T24において、SPサーバ600から認証画面データを受信し、T26において、認証画面データによって表される認証画面を表示する。
管理端末400は、T28において、SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」の認証画面への入力を受け付けると、T30において、SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」とをSPサーバ600に送信する。
本ケースでは、SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」は、予めサービステーブル602に記憶されている。このため、T30において、管理端末400からSPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」とが受信されると、T32において、SPサーバ用ユーザ名「ssu1」によって示されるユーザの認証が成功する。
SPサーバ600は、T32において、認証が成功すると、T34において、プリンタ確認画面を表すプリンタ確認画面データを管理端末400に送信する。これにより、管理端末400は、T36において、プリンタ確認画面を表示する。プリンタ確認画面は、プリンタ200のSPサーバ600への登録の許可をユーザに確認するための画面である。
管理端末400は、T38において、プリンタ確認画面内のYESボタンの選択を受け付ける。そして、管理端末400は、T40において、プリンタ200のSPサーバ600への登録がユーザによって許可されたことを示す許可通知をSPサーバ600に送信する。
SPサーバ600は、T40において、管理端末400から許可通知を受信すると、T42において、SPサーバ600がプリンタ200を識別するためのプリンタID「p02」を生成する。
また、SPサーバ600は、プリンタID「p02」が生成された後に、T44において、プリンタ200からポーリング信号としてプリンタトークン要求を受信すると、T46において、プリンタ200がSPサーバ600と通信を実行するためのプリンタトークンPT2を生成する。そして、SPサーバ600は、T48において、生成済みのプリンタトークンPT2をプリンタ200に送信する。プリンタID「p02」とプリンタトークンPT2は、サービステーブル602に記憶される。
プリンタ200は、T48において、SPサーバ600からプリンタトークンPT2を受信すると、T50において、受信済みのプリンタトークンPT2を利用して、XMPP(Extensible Messaging and Presence Protocolの略)接続を確立する。これにより、インターネット6上のSPサーバ600が、プリンタ200から要求を受信しなくても、プリンタ200が所属するLAN4のファイヤウォールを越えて、プリンタ200にジョブ通知を送信することができる。変形例では、XMPP接続に代えて、HTTPS(Hypertext Transfer Protocol Secureの略)接続が確立されてもよい。
(SPサーバを利用した印刷;図4)
図4を参照して、SPサーバ600を利用した印刷の一例について説明する。T60では、ユーザは、ユーザ端末500を操作して、SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」をユーザ端末500に入力する。この結果、T60において、ユーザ端末500は、SPサーバ600にログインする。
図4を参照して、SPサーバ600を利用した印刷の一例について説明する。T60では、ユーザは、ユーザ端末500を操作して、SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」をユーザ端末500に入力する。この結果、T60において、ユーザ端末500は、SPサーバ600にログインする。
ユーザ端末500は、T60において、SPサーバ600にログインすると、T62において、SPサーバ600から印刷画面を表す印刷画面データを受信する。印刷画面は、プリンタの選択と印刷対象の画像を表すファイルの選択と印刷設定情報の入力とを受け付けるための画面である。印刷画面データは、サービステーブル602においてSPサーバ用ユーザ名「ssu1」に関連付けて記憶されているプリンタID「p01」、「p02」とプリンタ名「printer100」、「printer200」とを含む。
ユーザ端末500は、T62において、SPサーバ600から印刷画面データを受信すると、T64において、印刷画面を表示する。そして、ユーザ端末500は、T66において、プリンタ名「printer200」の選択とファイル「file1.pdf」の選択と印刷設定情報PIの入力を受け付ける。
T68では、ユーザ端末500は、プリンタ名「printer200」に対応するプリンタID「p02」とファイル「file1.pdf」と印刷設定情報PIとをSPサーバ600に送信する。この結果、SPサーバ600は、T70において、プリンタID「p02」とファイル「file1.pdf」と印刷設定情報PIとの組み合わせを記憶する。
SPサーバ600は、T70において、上記の組み合わせを記憶すると、T72において、図3のT50で確立したXMPP接続を利用して、ジョブ通知を上記の組み合わせに含まれるプリンタID「p02」によって識別されるプリンタ200に送信する。ジョブ通知は、上記の組み合わせを記憶したことをプリンタに通知するためのコマンドである。
プリンタ200は、T72において、SPサーバ600からジョブ通知を受信すると、T74において、データアドレスを要求するためのアドレス要求をSPサーバ600に送信する。データアドレスは、上記の組み合わせが記憶されるSPサーバ600内の位置を示す。
SPサーバ600は、T74において、プリンタ200からアドレス要求を受信すると、T76において、データアドレスをプリンタ200に送信する。
プリンタ200は、T76において、SPサーバ600からデータアドレスを受信すると、T78において、受信済みのデータアドレスを含む印刷データ要求をSPサーバ600に送信する。印刷データ要求は、印刷データの送信を要求するためのコマンドである。
SPサーバ600は、T78において、プリンタ200から印刷データ要求を受信すると、T80において、当該印刷データ要求に含まれるデータアドレスによって示される位置に記憶されている組み合わせを特定し、特定済みの組み合わせを利用して、印刷データを生成する。本ケースでは、SPサーバ600は、特定済みの組み合わせに含まれる印刷設定情報PIによって示される印刷設定に従って、特定済みの組み合わせに含まれるファイル「file1.pdf」を変換して、印刷データを生成する。
T82では、SPサーバ600は、生成済みの印刷データをプリンタ200に送信する。これにより、プリンタ200は、T84において、SPサーバ600から受信した印刷データによって表される画像(即ち、ファイル「file1.pdf」によって表される画像)の印刷を実行する。
(本実施例の概念;図5〜図7)
続いて、図5〜図7を参照して、本実施例の概念を説明する。本実施例では、ファイルによって表される画像の印刷を実行するための方法として、対応プリンタ登録方法と非対応プリンタ登録方法とを実現する。「対応プリンタ登録方法」は、対応プリンタを仲介サーバ10に登録して、仲介サーバ10を介して、端末装置と対応プリンタ(例えば300)との間で画像の印刷に関する通信を実行する方法である。「非対応プリンタ登録方法」は、非対応プリンタを仲介サーバ10に登録して、仲介サーバ10及びSPサーバ600を介して、端末装置と非対応プリンタ(例えば100)との間で画像の印刷に関する通信を実行する方法である。なお、以下では、理解の容易化のために、各デバイスのCPU(例えばCPU22等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えば仲介サーバ10)を主体として記載する。
続いて、図5〜図7を参照して、本実施例の概念を説明する。本実施例では、ファイルによって表される画像の印刷を実行するための方法として、対応プリンタ登録方法と非対応プリンタ登録方法とを実現する。「対応プリンタ登録方法」は、対応プリンタを仲介サーバ10に登録して、仲介サーバ10を介して、端末装置と対応プリンタ(例えば300)との間で画像の印刷に関する通信を実行する方法である。「非対応プリンタ登録方法」は、非対応プリンタを仲介サーバ10に登録して、仲介サーバ10及びSPサーバ600を介して、端末装置と非対応プリンタ(例えば100)との間で画像の印刷に関する通信を実行する方法である。なお、以下では、理解の容易化のために、各デバイスのCPU(例えばCPU22等)が実行する動作を、CPUを主体として記載せずに、各デバイス(例えば仲介サーバ10)を主体として記載する。
(対応プリンタの登録の概念;図5)
図5を参照して、対応プリンタ登録方法において対応プリンタを仲介サーバ10に登録する処理の概念を説明する。
図5を参照して、対応プリンタ登録方法において対応プリンタを仲介サーバ10に登録する処理の概念を説明する。
管理端末400は、ユーザの操作に応じて、登録番号要求を仲介サーバ10に送信する(Y1)。ここで、登録番号要求は、対応プリンタを仲介サーバ10に登録するための登録番号を要求するためのコマンドである。管理端末400は、登録番号要求に対する応答として、登録番号「1234」を受信する(Y2)。そして、管理端末400は、登録番号「1234」を表示する。
ユーザは、プリンタ300を操作して、管理端末400に表示された登録番号「1234」をプリンタ300に入力する(Y3)。これにより、プリンタ300は、登録番号「1234」とプリンタ300のMACアドレスMA3とを仲介サーバ10に送信する(Y4)。この結果、プリンタ300のMACアドレスMA3が仲介サーバ10に記憶され、対応プリンタ300が仲介サーバ10に登録される。
(対応プリンタ登録方法におけるジョブ印刷の概念)
続けて、対応プリンタ登録方法において端末装置とプリンタとの間で画像の印刷に関する通信を実行する処理(以下では、「対応プリンタにおけるジョブ印刷」と記載)の概念を説明する。
続けて、対応プリンタ登録方法において端末装置とプリンタとの間で画像の印刷に関する通信を実行する処理(以下では、「対応プリンタにおけるジョブ印刷」と記載)の概念を説明する。
ユーザ端末500は、ジョブURL「http://server.com/r001」の入力を受け付けると、ジョブURL「http://server.com/r001」を含むHTTPリクエストを仲介サーバ10に送信する(Y10)。ここで、ジョブURL「http://server.com/r001」は、後述するジョブ入力画面データの位置を示すURLである。
仲介サーバ10は、ユーザ端末500からジョブURL「http://server.com/r001」を含むHTTPリクエストを受信すると、ジョブ入力画面を表すジョブ入力画面データをユーザ端末500に送信する(Y11)。これにより、ユーザ端末500は、ジョブ入力画面を表示する。ここで、ジョブ入力画面は、登録するべき印刷ジョブに関する情報(即ち、印刷対象の画像を表すファイルと印刷設定情報)を入力するための画面である。
ユーザ端末500は、ジョブ画面に入力された情報(即ちファイルと印刷設定情報)を仲介サーバ10に送信する(Y12)。これにより、当該ファイルと当該印刷設定情報とを含む印刷ジョブが仲介サーバ10に登録される。
仲介サーバ10は、印刷ジョブを登録すると、登録済みの印刷ジョブを識別するための印刷パスワード「yyy」をユーザ端末500に送信する(Y13)。これにより、ユーザ端末500は、印刷パスワード「yyy」を表示する。
ユーザは、プリンタ300を操作して、ユーザ端末500に表示された印刷パスワード「yyy」をプリンタ300に入力する(Y14)。これにより、プリンタ300は、印刷パスワード「yyy」とプリンタ300のMACアドレスMA3とを仲介サーバ10に送信する(Y15)。MACアドレスMA3が仲介サーバ10に記憶されているので、仲介サーバ10は、印刷パスワード「yyy」によって識別される印刷ジョブを変換して印刷データを生成する。そして、仲介サーバ10は、生成済みの印刷データをプリンタ300に送信する(Y16)。これにより、プリンタ300は、印刷データによって表される画像の印刷を実行する。
(非対応プリンタの登録の概念;図6)
図6を参照して、非対応プリンタ登録方法において非対応プリンタを仲介サーバ10に登録する処理の概念を説明する。
図6を参照して、非対応プリンタ登録方法において非対応プリンタを仲介サーバ10に登録する処理の概念を説明する。
まず、ユーザは、管理端末400を操作して、SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」とを管理端末400に入力する(Y30)。これにより、SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」がSPサーバ600に送信され(Y32)、当該ユーザの認証が成功する。
SPサーバ600は、ユーザの認証が成功すると、サーバ確認画面を表すサーバ確認画面データを管理端末400に送信する(Y33)。これにより、管理端末400は、サーバ確認画面を表示する。ここで、サーバ確認画面は、仲介サーバ10とSPサーバ600との間の通信の許可をユーザに確認するための画面である。
管理端末400は、サーバ確認画面において仲介サーバ10とSPサーバ600との間の通信が許可されると、許可通知をSPサーバ600に送信する(Y34)。
SPサーバ600は、管理端末400から許可通知を受信すると、仲介サーバ10との通信を実行するためのサーバトークンST1を生成し、サーバトークンST1を仲介サーバ10に送信する(Y35)。これにより、サーバトークンST1が仲介サーバ10に記憶され、仲介サーバ10とSPサーバ600との間の通信が可能となる。
仲介サーバ10は、SPサーバ600からサーバトークンST1を受信すると、SPサーバ600にプリンタリスト要求を送信する(Y36)。プリンタリスト要求は、SPサーバ600に記憶されているプリンタIDを含むプリンタリストを要求するためのコマンドである。仲介サーバ10は、プリンタリスト要求に対する応答として、SPサーバ600からプリンタID「p01」、「p02」を含むプリンタリストを受信する(Y37)。
仲介サーバ10は、受信済みのプリンタリストに含まれるプリンタID「p01」、「p02」のそれぞれについて、特定URL(例えば「http://server.com/printer100」)を生成し、当該プリンタIDと関連付けて、特定URLを記憶する(Y38)。特定URLは、後述するパスワード入力画面データの位置を示すURLである。
仲介サーバ10は、特定URLを記憶すると、コード化された特定URLの印刷を要求するQRコード印刷要求をSPサーバ600に送信する(Y39)。QRコード印刷要求は、サーバトークンST1と、印刷を実行すべきプリンタのプリンタID「p01」と、コード化された特定URLであるQRコード(登録商標)を表すQRコードデータと、を含む。
SPサーバ600は、仲介サーバ10からQRコード印刷要求を受信すると、QRコード印刷要求に含まれるQRコードデータを変換して印刷データを生成し、生成済みの印刷データをプリンタ100に送信する(Y40)。これにより、プリンタ100は、印刷データによって表される画像(即ちコード化された特定URLであるQRコード)の印刷を実行する(Y41)。ユーザは、例えば、QRコードが印刷された用紙をプリンタ100に貼り付ける。
(SPサーバを利用したジョブ印刷の概念;図7)
図7を参照して、非対応プリンタ登録方法において端末装置とプリンタとの間で画像の印刷に関する通信を実行する処理(以下では、「SPサーバを利用したジョブ印刷」と記載)の概念を説明する。
図7を参照して、非対応プリンタ登録方法において端末装置とプリンタとの間で画像の印刷に関する通信を実行する処理(以下では、「SPサーバを利用したジョブ印刷」と記載)の概念を説明する。
まず、図5のY10〜Y13と同様の処理が実行される(Y50)。これにより、印刷パスワード「yyy」が、ユーザ端末500に表示される。
ユーザは、印刷パスワード「yyy」がユーザ端末500に表示された後に、ユーザ端末500を操作して、プリンタ100に貼り付けられた用紙内のQRコードを撮影する。これにより、ユーザ端末500は、特定URL「http://server.com/printer100」を取得する(Y51)。
ユーザ端末500は、特定URL「http://server.com/printer100」を取得すると、取得済みの特定URL「http://server.com/printer100」を含むHTTPリクエストを仲介サーバ10に送信する(Y52)。これにより、ユーザ端末500は、仲介サーバ10からパスワード入力画面データを受信し、パスワード入力画面を表示する(Y53)。ここで、パスワード入力画面は、印刷パスワードを入力するための画面である。
ユーザ端末500は、パスワード入力画面において印刷パスワード「yyy」の入力を受け付けると、入力済みの印刷パスワード「yyy」を仲介サーバ10に送信する(Y54)。
仲介サーバ10は、ユーザ端末500から印刷パスワード「yyy」を受信すると、印刷パスワード「yyy」によって識別される印刷ジョブを特定する。そして、特定済みの印刷ジョブによって表される画像の印刷を要求するジョブ印刷要求をSPサーバ600に送信する(Y55)。QRコード印刷要求は、サーバトークンST1と、特定URL「http://server.com/printer100」に関連づけられているプリンタID「p01」と、特定済みの印刷ジョブと、を含む。
SPサーバ600は、仲介サーバ10からジョブ印刷要求を受信すると、ジョブ印刷要求に含まれる印刷ジョブを変換して印刷データを生成し、生成済みの印刷データをプリンタID「p01」によって識別されるプリンタ100に送信する(Y56)。これにより、プリンタ100は、印刷データによって表される画像(即ち印刷ジョブによって表される画像)の印刷を実行する(Y57)。
(対応プリンタの登録;図8)
図8を参照して、対応プリンタ登録方法において対応プリンタを仲介サーバ10に登録する処理の詳細を説明する。
図8を参照して、対応プリンタ登録方法において対応プリンタを仲介サーバ10に登録する処理の詳細を説明する。
T100では、ユーザは、管理端末400を操作して、仲介サーバ10にログインするためのログイン操作を実行する。ログイン操作は、仲介サーバ用ユーザ名「msu1」と仲介サーバ用パスワード「xxx」とを入力する操作を含む。これにより、T102において、管理端末400が、仲介サーバ10にログインする。なお、仲介サーバ10が実行する通信の全てがネットワークI/F12を介するものであるので、以下では、「ネットワークI/F12を介して」という説明を省略する。
仲介サーバ10は、管理端末400が仲介サーバ10にログインすると、T103において、方法選択画面を表す方法選択画面データを管理端末400に送信する。方法選択画面は、対応プリンタ登録方法と非対応プリンタ登録方法とのうちのいずれかの方法を選択するための画面である。方法選択画面は、対応プリンタ登録方法を示す「対応プリンタの登録」ボタンと、非対応プリンタ登録方法を示す「非対応プリンタの登録」ボタンと、を含む。このような構成によれば、対応プリンタ登録方法と非対応プリンタ登録方法の中からユーザが意図する方法を選択することができる。
管理端末400は、T103において、仲介サーバ10から方法選択画面データを受信すると、T104において、方法選択画面を表示する。そして、管理端末400は、T106において、方法選択画面内の「対応プリンタの登録」ボタンが選択される場合に、T108において、登録番号要求を仲介サーバ10に送信する(図5のY1)。
仲介サーバ10は、T108において、管理端末400から登録番号要求を受信すると、T110において、登録番号「1234」を生成する。そして、仲介サーバ10は、生成済みの登録番号「1234」と仲介サーバ用ユーザ名「msu1」とを関連付けてメモリ24に記憶する。T112では、仲介サーバ10は、生成済みの登録番号「1234」を管理端末400に送信する(図5のY2)。なお、登録番号は、数字の組み合わせ(例えば「1234」)に限らず、英字の組み合わせ(例えば「abcd」)や数字と英字の組み合わせでもよい。
管理端末400は、T112において、仲介サーバ10から登録番号「1234」を受信すると、T104において、受信済みの登録番号「1234」を表示する。これにより、ユーザは、登録番号「1234」を知ることができる。
ユーザは、T120において、プリンタ300を操作して、仲介サーバ10にアクセスするためのアクセス操作を実行する。これにより、プリンタ300は、T122において、仲介サーバ用プログラムに従って、仲介サーバ10にアクセスし、メニュー画面を表示する。メニュー画面は、仲介サーバ10に関するメニューを表示する画面である。メニュー画面は、印刷パスワードを入力するための入力欄と登録番号を入力するための入力欄とを含む。
プリンタ300は、T124において、登録番号「1234」をメニュー画面に入力する操作をユーザから受け付ける(図5のY3)。この場合、プリンタ300は、T126において、入力済みの登録番号「1234」とプリンタ300のMACアドレスMA3とプリンタ300のプリンタ名「printer300」とを仲介サーバ10に送信する(図5のY4)。ここで、プリンタ名「printer300」は、プリンタ300に予め記憶されている。なお、変形例では、プリンタ名「printer300」は、メニュー画面においてユーザによって入力されてもよい。
仲介サーバ10は、T126において、プリンタ300から登録番号「1234」とMACアドレスMA3とプリンタ名「printer300」とを受信すると、受信済みの登録番号「1234」に関連付けて記憶されている仲介サーバ用ユーザ名「msu1」を特定する。そして、仲介サーバ10は、特定済みの仲介サーバ用ユーザ名「msu1」と関連付けて、MACアドレスMA3とプリンタ名「printer300」とをプリンタテーブル34に記憶する。
仮に、プリンタ300は、登録番号「1234」とは異なる文字列(例えば「5678」)をメニュー画面に入力する操作をユーザから受け付けると、当該異なる文字列とMACアドレスMA3とプリンタ名「printer300」とを仲介サーバ10に送信する。この場合、異なる文字列がメモリ24に記憶されていないので、仲介サーバ10は、MACアドレスMA3とプリンタ名「printer300」をプリンタテーブル34に記憶することなく、入力された文字列が誤っていることを示す通知をプリンタ300に送信する。
例えば、登録番号「1234」が入力されることなく、メニュー画面内の所定のボタンが選択される場合に、MACアドレスMA3がプリンタテーブル34に記憶される比較例が想定される。この比較例では、登録番号「1234」を知らない第三者(即ち仲介サーバ用ユーザ名「msu1」によって示されるユーザ以外のユーザ)の操作によってプリンタ300が仲介サーバ10に登録される。これに対して、本実施例では、登録番号「1234」が入力されなければ、プリンタ300を仲介サーバ10に登録することができない。第三者がプリンタ300を仲介サーバ10に登録することを抑制することができる。
(印刷ジョブの登録;図9)
図9を参照して、印刷ジョブを仲介サーバ10に登録する処理の詳細を説明する。T140では、ユーザは、ユーザ端末500を操作して、Webブラウザを起動し、ジョブURL「http://server.com/r001」をWebブラウザに入力する。ジョブURL「http://server.com/r001」は、仲介サーバ用ユーザ名「msu1」(即ち登録ID「r001」)に関連付けて印刷ジョブを仲介サーバ10に登録するためのURLである。ジョブURL「http://server.com/r001」は、仲介サーバ10によって生成され、仲介サーバ用ユーザ名「msu1」を利用してログインされた端末装置(例えば管理端末400)に表示される。
図9を参照して、印刷ジョブを仲介サーバ10に登録する処理の詳細を説明する。T140では、ユーザは、ユーザ端末500を操作して、Webブラウザを起動し、ジョブURL「http://server.com/r001」をWebブラウザに入力する。ジョブURL「http://server.com/r001」は、仲介サーバ用ユーザ名「msu1」(即ち登録ID「r001」)に関連付けて印刷ジョブを仲介サーバ10に登録するためのURLである。ジョブURL「http://server.com/r001」は、仲介サーバ10によって生成され、仲介サーバ用ユーザ名「msu1」を利用してログインされた端末装置(例えば管理端末400)に表示される。
ユーザ端末500は、T140において、ジョブURL「http://server.com/r001」の入力を受け付けると、T142において、ジョブURL「http://server.com/r001」を含むHTTPリクエストを仲介サーバ10に送信する(図5のY10)。これにより、ユーザ端末500は、T144において、仲介サーバ10からジョブ入力画面データを受信する(図5のY11)。
T146では、ユーザ端末500は、ジョブ入力画面データによって表されるジョブ入力画面を表示する。T148では、ユーザ端末500は、ジョブ入力画面において、ファイル「file1.pdf」の選択と印刷設定情報PIの入力とを受け付ける。
T150では、ユーザ端末500は、選択済みのファイル「file1.pdf」と入力済みの印刷設定情報PIとを含むジョブ登録要求を仲介サーバ10に送信する(図5のY12)。ジョブ登録要求は、印刷ジョブの登録を要求するコマンドである。
仲介サーバ10は、T150において、ユーザ端末500からジョブ登録要求を受信すると、T152において、印刷パスワード「yyy」を生成する。そして、仲介サーバ10は、登録ID「r0001」に関連付けて、生成済みの印刷パスワード「yyy」とジョブ登録要求内の情報(即ちファイル「file1.pdf」のファイル名と印刷設定情報PI)とをジョブテーブル32に記憶する。これにより、ファイル「file1.pdf」と印刷設定情報PIとを含む印刷ジョブが仲介サーバ10に登録される。
T154では、仲介サーバ10は、生成済みの印刷パスワード「yyy」をユーザ端末500に送信する(図5のY13)。これにより、ユーザ端末500は、T156において、印刷パスワード「yyy」を表示する。この結果、ユーザは、印刷パスワード「yyy」を知ることができる。
(対応プリンタにおけるジョブ印刷;図10)
図10を参照して、対応プリンタにおけるジョブ印刷の詳細を説明する。T170、T172は、図8のT120、122と同様である。T174では、プリンタ300は、印刷パスワード「yyy」をメニュー画面に入力する操作をユーザから受け付ける(図5のY14)。T176では、プリンタ300は、入力済みの印刷パスワード「yyy」とプリンタ300のMACアドレスMA3を仲介サーバ10に送信する(図5のY15)。
図10を参照して、対応プリンタにおけるジョブ印刷の詳細を説明する。T170、T172は、図8のT120、122と同様である。T174では、プリンタ300は、印刷パスワード「yyy」をメニュー画面に入力する操作をユーザから受け付ける(図5のY14)。T176では、プリンタ300は、入力済みの印刷パスワード「yyy」とプリンタ300のMACアドレスMA3を仲介サーバ10に送信する(図5のY15)。
仲介サーバ10は、T176において、プリンタ300から印刷パスワード「yyy」とMACアドレスMA3とを受信すると、T178において、受信済みのMACアドレスMA3がプリンタテーブル34に記憶されているのか否かを判断する。本ケースでは、MACアドレスMA3が既にプリンタテーブル34に記憶されているので、仲介サーバ10は、受信済みのMACアドレスMA3がプリンタテーブル34に記憶されていると判断する。この場合、仲介サーバ10は、プリンタテーブル34とユーザテーブル30とを利用して、MACアドレスMA3に関連付けて記憶されている登録ID「r001」を特定する。そして、仲介サーバ10は、ジョブテーブル32内の特定済みの登録ID「r001」に関連付けて記憶されている印刷パスワードと受信済みの印刷パスワード「yyy」とが一致するのか否かを判断する。本ケースでは、ジョブテーブル32内の印刷パスワードと受信済みの印刷パスワード「yyy」とが一致すると判断される。この場合、仲介サーバ10は、T180において、ジョブテーブル32から印刷パスワード「yyy」によって識別される印刷ジョブ(即ちファイル「file1.pdf」と印刷設定情報PI)を特定する。なお、仮に、受信済みのMACアドレスMA3がプリンタテーブル34に記憶されていないと判断される場合、又は、ジョブテーブル32内の印刷パスワードと受信済みの印刷パスワード「yyy」とが一致しないと判断される場合には、仲介サーバ10は、T180以降の処理を実行することなく、印刷が実行できないことを示す通知をプリンタ300に送信する。このような構成によれば、MACアドレスMA3がプリンタテーブル34に記憶されていない状態(即ちプリンタ300が仲介サーバ10に登録されていない状態)において、登録済みの印刷ジョブによって表される印刷をプリンタ300に実行させることを抑制することができる。
T182では、仲介サーバ10は、特定済みの印刷ジョブを変換して印刷データを生成する。そして、T184において、仲介サーバ10は、生成済みの印刷データをプリンタ300に送信する(図5のY16)。これにより、プリンタ300は、T186において、仲介サーバ10から受信した印刷データによって表される画像(即ちファイル「file1.pdf」によって表される画像)の印刷を実行する。
(非対応プリンタの登録;図11〜図13)
図11〜図13を参照して、非対応プリンタ登録方法において非対応プリンタを仲介サーバ10に登録する処理の詳細を説明する。T200〜T203は、図8のT100〜T103と同様である。これにより、管理端末400は、方法選択画面を表示する。
図11〜図13を参照して、非対応プリンタ登録方法において非対応プリンタを仲介サーバ10に登録する処理の詳細を説明する。T200〜T203は、図8のT100〜T103と同様である。これにより、管理端末400は、方法選択画面を表示する。
本ケースでは、管理端末400は、T206において、方法選択画面内の「非対応プリンタの登録」ボタンの選択を受け付ける。この場合、管理端末400は、T208において、「非対応プリンタの登録」ボタンが選択されたことを示すサーバ選択通知を仲介サーバ10に送信する。
仲介サーバ10は、T208において、管理端末400からサーバ選択通知を受信すると、T210において、認証画面要求をSPサーバ600へのリダイレクトとして管理端末400に送信する。これにより、T212において、認証画面要求が、管理端末400からSPサーバ600に送信される。認証画面要求は、SPサーバ600から認証画面データを受信するための要求である。
SPサーバ600は、T212において、管理端末400から認証画面要求を受信すると、T214において、認証画面データを管理端末400に送信する。
管理端末400は、T214において、SPサーバ600から認証画面データを受信すると、T216において、認証画面データによって表される認証画面を表示する。
T218では、管理端末400は、認証画面においてSPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」との入力を受け付ける(図6のY30)。T220では、管理端末400は、SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」とをSPサーバ600に送信する(図6のY32)。この結果、T222において、SPサーバ用ユーザ名「ssu1」によって示されるユーザの認証が成功する。
SPサーバ600は、ユーザの認証が成功すると、T224において、サーバ確認画面データを管理端末400に送信する(図6のY33)。これにより、管理端末400は、サーバ確認画面を表示する。サーバ確認画面は、仲介サーバ10とSPサーバ600との間の通信を許可することを示すYESボタンを含む。
図12に示すように、T240では、管理端末400は、サーバ確認画面内のYESボタンの選択を受け付ける。T242では、管理端末400は、許可通知をSPサーバ600に送信する(図6のY34)。
SPサーバ600は、T242において、管理端末400から許可通知を受信すると、T244において、トークン処理要求を仲介サーバ10へのリダイレクトとして管理端末400に送信する。これにより。T246において、トークン処理要求が、管理端末400から仲介サーバ10に送信される。トークン処理要求は、サーバトークン要求の送信を仲介サーバ10に実行させるための要求である。サーバトークン要求は、SPサーバ600にサーバトークンを要求するためのコマンドである。
仲介サーバ10は、T246において、管理端末400からトークン処理要求を受信すると、T248において、サーバトークン要求をSPサーバ600に送信する。
SPサーバ600は、T248において、仲介サーバ10からサーバトークン要求を受信すると、T250において、サーバトークンST1を生成する。SPサーバ600は、SPサーバ用ユーザ名「ssu1」に関連付けて、生成済みのサーバトークンST1をサービステーブル602に記憶する。そして、SPサーバ600は、T252において、生成済みのサーバトークンST1を仲介サーバ10に送信する(図6のY35)。
仲介サーバ10は、T252において、SPサーバ600からサーバトークンST1を受信すると、T254において、サーバトークンST1を含むプリンタリスト要求をSPサーバ600に送信する(図6のY36)。
SPサーバ600は、T254において、仲介サーバ10からプリンタリスト要求を受信すると、サービステーブル602から、プリンタリスト要求内のサーバトークンST1に関連付けて記憶されているプリンタIDとプリンタ名とを特定する。本ケースでは、プリンタID「p01」、「p02」とプリンタ名「printer100」、「printer200」とが特定される。そして、SPサーバ600は、T256において、プリンタID「p01」、「p02」とプリンタ名「printer100」、「printer200」とを含むプリンタリストを仲介サーバ10に送信する(図6のY37)。
仲介サーバ10は、T256において、SPサーバ600からプリンタリストを受信すると、T258において、特定URL「http://server.com/printer100」と特定URL「http://server.com/printer200」とを生成する(図6のY38)。
T260では、仲介サーバ10は、仲介サーバ10用ユーザ名「msu1」と関連付けて受信済みのサーバトークンST1と受信済みのプリンタテーブル内の情報(即ちプリンタID「p01」、「p02」とプリンタ名「printer100」、「printer200」)とをサーバテーブル36に記憶する。そして、仲介サーバ10は、プリンタID「p01」と関連付けて特定URL「http://server.com/printer100」を、プリンタID「p02」と関連付けて特定URL「http://server.com/printer200」を、サーバテーブル36に記憶する。
図13に示すように、T270では、仲介サーバ10は、プリンタ選択画面を表すプリンタ選択画面データを管理端末400に送信する。プリンタ選択画面は、複数個のプリンタの中から後述するQRコードを印刷させるべきプリンタを選択するための画面である。プリンタ選択画面は、T256で受信したプリンタリストを含む。
管理端末400は、T270において、仲介サーバ10からプリンタ選択画面データを受信すると、T272において、プリンタ選択画面データによって表されるプリンタ選択画面を表示する。本ケースでは、プリンタ選択画面は、プリンタ選択画面データ内のプリンタリストに含まれるプリンタ名「printer100」、「printer200」を含む。
T274では、管理端末400は、プリンタ選択画面内のプリンタ名「printer100」、「printer200」のうちの一方のプリンタ名(以下では、「対象プリンタ名」と記載)の選択を受け付ける。
T276では、管理端末400は、対象プリンタ名に対応する対象プリンタID(例えば「p01」)を仲介サーバ10に送信する。
仲介サーバ10は、T276において、管理端末400から対象プリンタIDを受信すると、T278において、図12の258で生成した2個の特定URLのそれぞれについて、当該特定URLをコード化する。そして、仲介サーバ10は、コード化された特定URL「http://server.com/printer100」であるQRコードを表すQRコードデータQ1とコード化された特定URL「http://server.com/printer200」であるQRコードを表すQRコードデータQ2とを生成する。
T280では、仲介サーバ10は、生成済みのQRコードデータQ1、Q2とサーバトークンST1と対象プリンタIDとを含むQRコード印刷要求をSPサーバ600に送信する(図6のY39)。
SPサーバ600は、T280において、仲介サーバ10からQRコード印刷要求を受信すると、T282において、QRコード印刷要求内の情報を記憶する。そして、SPサーバ600は、T284において、XMPP接続を利用して、ジョブ通知を対象プリンタIDによって識別される対象プリンタ(例えば100)に送信する。これにより、図4のT74〜T78と同様の通信が実行される。本ケースでは、QRコードデータQ1、Q2の位置を示すデータアドレスが対象プリンタに送信され、当該データアドレスを含む印刷データ要求が対象プリンタからSPサーバ600に送信される。
T286では、SPサーバ600は、データアドレスによって特定されたQRコードデータQ1、Q2のそれぞれを変換して2個の印刷データを生成する。
T288では、SPサーバ600は、T286で生成した2個の印刷データを対象プリンタに送信する(図6のY40)。これにより、対象プリンタは、T290において、2個の印刷データによって表される2個のQRコード(即ちコード化された特定URL「http://server.com/printer100」とコード化された特定URL「http://server.com/printer200」)の印刷を実行する(図6のY41)。例えば、特定URLを管理端末400に表示する比較例が想定される。この比較例では、ユーザは、特定URLをメモするなどして覚える必要がある。これに対して、本実施例の構成によれば、QRコードが印刷された用紙から特定URLを簡易に取得することができる。なお、変形例では、比較例の構成が採用されてもよい。
また、例えば、プリンタ選択画面を表示せずに、仲介サーバ10が選択したプリンタにQRコードの印刷を実行させる比較例が想定される。この比較例では、ユーザの意図しないプリンタによってQRコードの印刷が実行され得る。これに対して、本実施例の構成によれば、ユーザはプリンタ選択画面において対象プリンタ名を選択するので、ユーザの意図するプリンタにQRコードの印刷を実行させることができる。
(SPサーバを利用したジョブ印刷;図14)
図14を参照して、SPサーバを利用したジョブ印刷の詳細を説明する。本ケースでは、T300において、ユーザは、ユーザ端末500を操作して、プリンタ100に貼り付けられたQRコード(即ちコード化された特定URL「http://server.com/printer100」)を撮影する。これにより、ユーザ端末500は、T302において、特定URL「http://server.com/printer100」を取得し、特定URL「http://server.com/printer100」を表示する(Y51)。例えば、ユーザが特定URLそのものをユーザ端末500に入力する比較例が想定される。この比較例では、ユーザは特定URLを入力する操作を煩わしく感じる。これに対して、本実施例の構成によれば、ユーザはQRコードを撮影すればよい。ユーザの利便性が向上する。なお、変形例では、比較例の構成が採用されてもよい。
図14を参照して、SPサーバを利用したジョブ印刷の詳細を説明する。本ケースでは、T300において、ユーザは、ユーザ端末500を操作して、プリンタ100に貼り付けられたQRコード(即ちコード化された特定URL「http://server.com/printer100」)を撮影する。これにより、ユーザ端末500は、T302において、特定URL「http://server.com/printer100」を取得し、特定URL「http://server.com/printer100」を表示する(Y51)。例えば、ユーザが特定URLそのものをユーザ端末500に入力する比較例が想定される。この比較例では、ユーザは特定URLを入力する操作を煩わしく感じる。これに対して、本実施例の構成によれば、ユーザはQRコードを撮影すればよい。ユーザの利便性が向上する。なお、変形例では、比較例の構成が採用されてもよい。
T304では、ユーザ端末500は、特定URL「http://server.com/printer100」を選択する操作をユーザから受け付ける。そして、ユーザ端末500は、Webブラウザを起動し、特定URL「http://server.com/printer100」を含むHTTPリクエストを仲介サーバ10に送信する(図7のY52)。このような構成によれば、ユーザ端末500が有する汎用的なWebブラウザを利用して、後述するパスワード入力画面を表示することができる。
仲介サーバ10は、T304において、ユーザ端末500からHTTPリクエストを受信すると、T306において、サーバテーブル36から、HTTPリクエスト内の特定URL「http://server.com/printer100」に関連付けられて記憶されているプリンタID「p01」を特定する。
T308では、仲介サーバ10は、HTTPリクエストに対する応答として、パスワード入力画面データをユーザ端末500に送信する(図7のY53)。
ユーザ端末500は、T308において、仲介サーバ10からパスワード入力画面データを受信すると、T310において、パスワード入力画面を表示する。本ケースでは、図14の処理が開始される前に、図9の印刷ジョブの登録が実行され、ユーザは印刷パスワード「yyy」を知っている。このため、ユーザは、T312において、印刷パスワード「yyy」をパスワード入力画面に入力する。
T312では、ユーザ端末500は、印刷パスワード「yyy」の入力を受け付ける。T314では、ユーザ端末500は、印刷パスワード「yyy」を仲介サーバ10に送信する(図7のY54)。
仲介サーバ10は、T314において、ユーザ端末500から印刷パスワード「yyy」を受信すると、T316において、サーバテーブル36を利用して、T306で特定されたプリンタIDと関連付けて記憶されている仲介サーバ用ユーザ名「msu1」を特定し、ユーザテーブル30とジョブテーブル32とを利用して、特定済みの仲介サーバ用ユーザ名「msu1」に関連付けて記憶されている印刷パスワードを特定する。本ケースでは、仲介サーバ10は、特定済みの印刷パスワードと受信済みの印刷パスワード「yyy」とが一致すると判断する。この結果、仲介サーバ10は、ジョブテーブル32から印刷パスワード「yyy」に関連付けて記憶されている印刷ジョブ(即ちファイル「file1.pdf」と印刷設定情報PI)を特定する。
T318では、仲介サーバ10は、サーバトークンST1とプリンタID「p01」と特定済みの印刷ジョブとを含むジョブ印刷要求をSPサーバ600に送信する(図7のY55)。
SPサーバ600は、T318において、仲介サーバ10からジョブ印刷要求を受信すると、T319において、ジョブ印刷要求内の印刷ジョブを記憶する。そして、SPサーバ600は、T320において、XMPP接続を利用して、ジョブ通知をジョブ印刷要求内のプリンタID「p01」によって識別されるプリンタ100に送信する。これにより、図4のT74〜T78と同様の通信が実行される。本ケースでは、印刷ジョブの位置を示すデータアドレスがプリンタ100に送信され、当該データアドレスを含む印刷データ要求がプリンタ100からSPサーバ600に送信される。
T322では、SPサーバ600は、データアドレスによって特定された印刷ジョブを変換して印刷データを生成する。
T324では、SPサーバ600は、T322で生成した印刷データをプリンタ100に送信する(図7のY56)。これにより、プリンタ100は、T326において、印刷データによって表される画像(即ちファイル「file1.pdf」によって表される画像)の印刷を実行する(図7のY57)。
(本実施例の効果)
本実施例の構成によれば、仲介サーバ10は、コード化した特定URL「http://server.com/printer100」であるQRコードの印刷を対象プリンタ(例えば100)に実行させる(図13のT290)。これにより、ユーザ端末500は、QRコードを撮影して、特定URL「http://server.com/printer100」を取得することができる(図14のT302)。また、仲介サーバ10は、ユーザ端末500から特定URL「http://server.com/printer100」を含むHTTPリクエストを受信すると、ユーザ端末500にパスワード入力画面データを送信する(T308)。仲介サーバ10は、パスワード入力画面がユーザ端末500に表示された後に、ユーザ端末500からパスワード入力画面に入力された印刷パスワード「yyy」を受信する(T314)。そして、仲介サーバ10は、特定URL「http://server.com/printer100」に関連付けて記憶されているプリンタID「p01」と印刷パスワード「yyy」によって識別されるファイル「file1.pdf」とを含むジョブ印刷要求をSPサーバ600に送信する(T318)。上記したように、プリンタ100は、仲介サーバ用プログラムを有さない。この結果、プリンタ100は、対応プリンタにおけるジョブ印刷(図10参照)を実行することができない。本実施例の構成によれば、このような場合であっても、印刷パスワード「yyy」をプリンタ100に入力することなく、印刷パスワード「yyy」をユーザ端末500に表示されるパスワード入力画面に入力することによって(即ち、図14のSPサーバを利用したジョブ印刷を実行することによって)、仲介サーバ10に登録された印刷ジョブの印刷をプリンタ100に実行させることができる。
本実施例の構成によれば、仲介サーバ10は、コード化した特定URL「http://server.com/printer100」であるQRコードの印刷を対象プリンタ(例えば100)に実行させる(図13のT290)。これにより、ユーザ端末500は、QRコードを撮影して、特定URL「http://server.com/printer100」を取得することができる(図14のT302)。また、仲介サーバ10は、ユーザ端末500から特定URL「http://server.com/printer100」を含むHTTPリクエストを受信すると、ユーザ端末500にパスワード入力画面データを送信する(T308)。仲介サーバ10は、パスワード入力画面がユーザ端末500に表示された後に、ユーザ端末500からパスワード入力画面に入力された印刷パスワード「yyy」を受信する(T314)。そして、仲介サーバ10は、特定URL「http://server.com/printer100」に関連付けて記憶されているプリンタID「p01」と印刷パスワード「yyy」によって識別されるファイル「file1.pdf」とを含むジョブ印刷要求をSPサーバ600に送信する(T318)。上記したように、プリンタ100は、仲介サーバ用プログラムを有さない。この結果、プリンタ100は、対応プリンタにおけるジョブ印刷(図10参照)を実行することができない。本実施例の構成によれば、このような場合であっても、印刷パスワード「yyy」をプリンタ100に入力することなく、印刷パスワード「yyy」をユーザ端末500に表示されるパスワード入力画面に入力することによって(即ち、図14のSPサーバを利用したジョブ印刷を実行することによって)、仲介サーバ10に登録された印刷ジョブの印刷をプリンタ100に実行させることができる。
また、本実施例の構成によれば、仲介サーバ10は、SPサーバ600からプリンタIDを受信する(図12のT256)。例えば、プリンタIDをSPサーバ600から管理端末400に送信し、管理端末400からプリンタIDを受信する比較例が想定される。この比較例では、プリンタIDが管理端末400に受信されるため、プリンタIDを第三者に取得される可能性がある。これに対して、本実施例の構成によれば、プリンタIDは、管理端末400に受信されないので、SPサーバ600によって生成されたプリンタIDが第三者に取得されることを抑制することができる。なお、変形例では、比較例の構成が採用されてもよい。
(対応関係)
仲介サーバ10、メモリ24が、それぞれ、「仲介サーバ」、「メモリ」の一例である。SPサーバ600が、「外部装置(及びサービス提供サーバ)」の一例である。プリンタ100、プリンタ200、プリンタ300が、それぞれ、「第1プリンタ」、「第2プリンタ」、「第3プリンタ」の一例である。仲介サーバ用プログラムが、「所定のプログラム」の一例である。対象プリンタが、「出力装置」の一例である。ユーザ端末500が、「第1の端末装置(及び第2の端末装置)」の一例である。管理端末400が、「第3の端末装置」の一例である。プリンタID「p01」、プリンタID「p02」が、それぞれ、「第1種の第1プリンタ識別情報」、「第1種の第2プリンタ識別情報」の一例である。特定URLが、「第2種のプリンタ識別情報(及びURL)」の一例である。印刷パスワード「yyy」が、「ファイル識別情報」の一例である。MACアドレスMA3が、「第3種のプリンタ識別情報」の一例である。登録番号「1234」が、「特定の文字列」の一例である。図10のT184の印刷データが、「第3の対象データ」の一例である。図11のT203の方法選択画面データ、「非対応プリンタの登録」ボタン、「対応プリンタの登録」ボタンが、それぞれ、「第2の選択画面データ」、「第1の選択領域」、「第2の選択領域」の一例である。図11のT210の認証画面要求が、「表示情報」の一例である。SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」が、「通信情報」の一例である。図13のT270のプリンタ選択画面データ、プリンタ名「printer100」、プリンタ名「printer200」が、それぞれ、「第1の選択画面データ」、「第1プリンタ名」、「第2プリンタ名」の一例である。T280のQRコードデータQ1、Q2が、「第2の対象データ」の一例である。T280のQRコード印刷要求が、「第2の印刷要求(又は第3の印刷要求)」の一例である。図14のT308のパスワード入力画面データが、「第1の入力画面データ」の一例である。図15のT318のファイル「file1.pdf」と、ジョブ印刷要求が、「第1の対象データ」、「第1の印刷要求」の一例である。
仲介サーバ10、メモリ24が、それぞれ、「仲介サーバ」、「メモリ」の一例である。SPサーバ600が、「外部装置(及びサービス提供サーバ)」の一例である。プリンタ100、プリンタ200、プリンタ300が、それぞれ、「第1プリンタ」、「第2プリンタ」、「第3プリンタ」の一例である。仲介サーバ用プログラムが、「所定のプログラム」の一例である。対象プリンタが、「出力装置」の一例である。ユーザ端末500が、「第1の端末装置(及び第2の端末装置)」の一例である。管理端末400が、「第3の端末装置」の一例である。プリンタID「p01」、プリンタID「p02」が、それぞれ、「第1種の第1プリンタ識別情報」、「第1種の第2プリンタ識別情報」の一例である。特定URLが、「第2種のプリンタ識別情報(及びURL)」の一例である。印刷パスワード「yyy」が、「ファイル識別情報」の一例である。MACアドレスMA3が、「第3種のプリンタ識別情報」の一例である。登録番号「1234」が、「特定の文字列」の一例である。図10のT184の印刷データが、「第3の対象データ」の一例である。図11のT203の方法選択画面データ、「非対応プリンタの登録」ボタン、「対応プリンタの登録」ボタンが、それぞれ、「第2の選択画面データ」、「第1の選択領域」、「第2の選択領域」の一例である。図11のT210の認証画面要求が、「表示情報」の一例である。SPサーバ用ユーザ名「ssu1」とSPサーバ用パスワード「zzz」が、「通信情報」の一例である。図13のT270のプリンタ選択画面データ、プリンタ名「printer100」、プリンタ名「printer200」が、それぞれ、「第1の選択画面データ」、「第1プリンタ名」、「第2プリンタ名」の一例である。T280のQRコードデータQ1、Q2が、「第2の対象データ」の一例である。T280のQRコード印刷要求が、「第2の印刷要求(又は第3の印刷要求)」の一例である。図14のT308のパスワード入力画面データが、「第1の入力画面データ」の一例である。図15のT318のファイル「file1.pdf」と、ジョブ印刷要求が、「第1の対象データ」、「第1の印刷要求」の一例である。
図9のT150、T154が、それぞれ、「ファイル受信部」、「ファイル識別情報送信部」の一例である。図12のT256、図13のT280が、それぞれ、「第1のプリンタ識別情報受信部」、「出力制御部」によって実現される処理の一例である。図14のT304、T314、T318が、それぞれ、「第2のプリンタ識別情報受信部」、「第1のファイル識別情報受信部」、「印刷要求送信部」の一例である。
(第2実施例)
(通信システム2及びメールテーブル38の構成;図1、図2)
第2実施例は、SPサーバ600に代えて、メールサーバ700を備える点を除いて、第1実施例と同様である。メールサーバ700は、プリンタ100等のベンダによってインターネット6上に設置される。メールサーバ700は、電子メールが受信される場合に、当該電子メール含まれる添付ファイルを変換して印刷データを生成し、当該印刷データをプリンタに送信するサービスを提供するサーバである。
(通信システム2及びメールテーブル38の構成;図1、図2)
第2実施例は、SPサーバ600に代えて、メールサーバ700を備える点を除いて、第1実施例と同様である。メールサーバ700は、プリンタ100等のベンダによってインターネット6上に設置される。メールサーバ700は、電子メールが受信される場合に、当該電子メール含まれる添付ファイルを変換して印刷データを生成し、当該印刷データをプリンタに送信するサービスを提供するサーバである。
また、本実施例では、メールサーバ700を設置したベンダによって、プリンタ100にメールアドレスML1が、プリンタ200にメールアドレスML2が、それぞれ割り当てられている。換言すると、メールアドレス(例えばML1)は、メールサーバ700がプリンタ(例えば100)を識別するための情報である。
また、本実施例では、仲介サーバ10は、サーバテーブル36に代えて、メールテーブル38を記憶する。図2に示すように、メールテーブル38は、プリンタに割り当てられているメールアドレスを管理するためのテーブルである。メールテーブル38は、仲介サーバ10を利用する複数のユーザのそれぞれについて、当該ユーザの仲介サーバ用ユーザ名と、メールアドレスと、特定URLと、を関連付けて記憶する。
(メールアドレスの記憶;図15)
図15を参照して、プリンタに割り当てられているメールアドレスを仲介サーバ10に記憶するための処理について説明する。T400〜T403は、方法選択画面が「非対応プリンタの登録」ボタンを含まず、「メールの利用」ボタンを含む点を除いて、図8のT100〜T103と同様である。管理端末400は、T404において、「メールの利用」ボタンを含む方法選択画面を表示する。
図15を参照して、プリンタに割り当てられているメールアドレスを仲介サーバ10に記憶するための処理について説明する。T400〜T403は、方法選択画面が「非対応プリンタの登録」ボタンを含まず、「メールの利用」ボタンを含む点を除いて、図8のT100〜T103と同様である。管理端末400は、T404において、「メールの利用」ボタンを含む方法選択画面を表示する。
本ケースでは、管理端末400は、T406において、方法選択画面内の「メールの利用」ボタンの選択を受け付ける。この場合、管理端末400は、T408において、メールアドレス入力画面データを要求するための画面データ要求を仲介サーバ10に送信する。メールアドレス入力画面は、メールアドレスを入力するための画面である。
仲介サーバ10は、T408において、管理端末400から画面データ要求を受信すると、T410において、メールアドレス入力画面データを管理端末400に送信する。
管理端末400は、T410において、仲介サーバ10からメールアドレス入力画面データを受信すると、T412において、メールアドレス入力画面を表示する。
T414では、管理端末400は、メールアドレス入力画面においてプリンタ200のメールアドレスML2の入力を受け付ける。T416では、管理端末400は、入力済みのメールアドレスML2を仲介サーバ10に送信する。
仲介サーバ10は、T416において、管理端末400からメールアドレスML2を受信すると、T418において、特定URL「http://server.com/printer200」を生成する。そして、仲介サーバ10は、T420において、仲介サーバ10用ユーザ名「msu1」と関連付けて、メールアドレスML2と特定URL「http://server.com/printer200」とをサーバテーブル36に記憶する。
T422では、仲介サーバ10は、特定URL「http://server.com/printer200」をコード化し、コード化された特定URL「http://server.com/printer200」であるQRコードを表すQRコードデータQ2を生成する。
T424では、仲介サーバ10は、メールアドレスML2を送信先アドレスとして含むと共に、QRコードデータQ2を添付ファイルとして含む電子メールをメールサーバ700に送信する。
メールサーバ700は、T424において、仲介サーバ10から電子メールを受信すると、T426において、当該電子メール内のQRコードデータQ2を変換して印刷データを生成する。そして、メールサーバ700は、T428において、生成済みの印刷データをメールアドレスML2によって識別されるプリンタ200に送信する。これにより、プリンタ200は、T430において、印刷データによって表されるQRコードの印刷を実行する。なお、プリンタ100のメールアドレスML1についても同様の処理が実行され、コード化された特定URL「http://server.com/printer100」であるQRコードの印刷が実行される。
(メールサーバを利用したジョブ印刷;図16)
図16を参照して、仲介サーバ10とメールサーバ700とを介して、端末装置とプリンタとの間で画像の印刷に関する通信を実行する処理(以下では、「メールサーバを利用したジョブ印刷」と記載)を説明する。
図16を参照して、仲介サーバ10とメールサーバ700とを介して、端末装置とプリンタとの間で画像の印刷に関する通信を実行する処理(以下では、「メールサーバを利用したジョブ印刷」と記載)を説明する。
T500〜T504は、図14のT300〜T304と同様である。T506では、仲介サーバ10は、HTTPリクエスト内の特定URL「http://server.com/printer100」に関連付けられて記憶されているメールアドレスML1を特定する。
T508〜T516は、図14のT308〜T316と同様である。T518では、仲介サーバ10は、メールアドレスML2を送信先アドレスとして含むと共に、印刷ジョブ(即ちファイル「file1.pdf」と印刷設定情報PI)を添付ファイルとして含む電子メールをメールサーバ700に送信する。
T520は、電子メール内の印刷ジョブを変換して印刷データを生成する点を除いて、図15のT426と同様である。メールサーバ700は、T522において、生成済みの印刷データをメールアドレスML1によって識別されるプリンタ100に送信する。これにより、プリンタ100は、T524において、印刷データによって表される画像(即ちファイル「file1.pdf」によって表される画像)の印刷を実行する。
(本実施例の効果)
本実施例の構成によれば、メールサーバを利用したジョブ印刷(図16)を実行することによって、印刷パスワード「yyy」をプリンタ100に入力することなく、印刷パスワード「yyy」をユーザ端末500に表示されるパスワード入力画面に入力することによって、仲介サーバ10に登録された印刷ジョブの印刷をプリンタ100に実行させることができる。
本実施例の構成によれば、メールサーバを利用したジョブ印刷(図16)を実行することによって、印刷パスワード「yyy」をプリンタ100に入力することなく、印刷パスワード「yyy」をユーザ端末500に表示されるパスワード入力画面に入力することによって、仲介サーバ10に登録された印刷ジョブの印刷をプリンタ100に実行させることができる。
(対応関係)
メールサーバ700、メールアドレスML1が、それぞれ、「サービス提供サーバ」、「第1種の第1プリンタ識別情報(及びメールアドレス)」の一例である。管理端末400が、「外部装置」の一例である。図15のT424の電子メール、図16のT518の電子メールが、それぞれ、「第2の印刷要求」、「第1の印刷要求」の一例である。
メールサーバ700、メールアドレスML1が、それぞれ、「サービス提供サーバ」、「第1種の第1プリンタ識別情報(及びメールアドレス)」の一例である。管理端末400が、「外部装置」の一例である。図15のT424の電子メール、図16のT518の電子メールが、それぞれ、「第2の印刷要求」、「第1の印刷要求」の一例である。
図15のT416、T424が、それぞれ、「第1のプリンタ識別情報受信部」、「出力制御部」によって実現される処理の一例である。図16のT504、T514、T518が、それぞれ、「第2のプリンタ識別情報受信部」、「第1のファイル識別情報受信部」、「印刷要求送信部」によって実現される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1) 上記の第1実施例では、ユーザ端末500からファイル「file1.pdf」が受信され(図9のT150)、同じユーザ端末500から印刷パスワード「yyy」が受信される(図14のT314)。これに代えて、印刷パスワード「yyy」がユーザ端末500とは異なる端末装置(例えば400)から受信されてもよい。本変形例では、「第1の端末装置」と「第2の端末装置」が異なっていてもよい。
(変形例2) 上記の第1実施例では、仲介サーバ10は、QRコードデータQ1等を含むQRコード印刷要求をSPサーバ600に送信し(図13のT280)、印刷ジョブを含むジョブ印刷要求をSPサーバ600に送信する(図14のT318)。これに代えて、仲介サーバ10は、QRコードデータQ1(又は印刷ジョブ)を変換して印刷データを生成し、生成済みの印刷データを含むQRコード印刷要求(又はジョブ印刷要求)をSPサーバ600に送信してもよい。本変形例では、生成済みの印刷データが、「第1の対象データ(又は第2の対象データ)」の一例である。
(変形例3) 上記の各実施例では、仲介サーバ10は、印刷ジョブを変換して印刷データを生成し、生成済みの印刷データをプリンタ300に送信する(図10のT184)。これに代えて、仲介サーバ10は、印刷ジョブを変換することなく、印刷ジョブそのものをプリンタ300に送信してもよい。本変形例では、印刷ジョブが、「第3の対象データ」の一例である。
(変形例4) 「コード化された第2種のプリンタ識別情報」は、QRコードに限らず、例えば、バーコード、短縮URLでもよい。
(変形例5) 上記の第1実施例では、対象プリンタは、2個のQRコードの印刷を実行する(図13のT290)。これに代えて、対象プリンタは、1個のQRコードのみを印刷してもよい。一般的に言えば、第1種の第1プリンタ識別情報に関係する第2種のプリンタ識別情報の印刷が実行されればよい。
(変形例6) 上記の第2実施例において、第1実施例と同様に、プリンタ選択画面が表示され、プリンタ選択画面において選択された対象プリンタがQRコードの印刷を実行してよい(図13のT272参照)。一般的に言えば、第2実施例において、「選択画面データ送信部」によって実現される処理が実行されてもよい。
(変形例7) 上記の各実施例において、プリンタ300は、MACアドレスMA3を仲介サーバ10に送信する(図8のT126)。これに代えて、プリンタ300は、プリンタ300を識別するためのシリアル番号を仲介サーバ10に送信してもよい。本変形例では、シリアル番号が、「第3種のプリンタ識別情報」の一例である。
(変形例8) 上記の第1実施例では、仲介サーバ10は、プリンタIDに関連付けて特定URLを記憶する(図12のT260)。これに代えて、仲介サーバ10は、プリンタIDに関連付けて識別番号を記憶してもよい。そして、仲介サーバ10は、当該識別番号をプリンタ100に印刷させてもよい。この場合、ユーザ端末500には、例えば、仲介サーバ10にアクセスするためのアプリがインストールされている。そして、アプリに従って表示された入力画面に識別番号が入力されることによって、識別番号が仲介サーバ10に受信されてもよい。本変形例では、識別番号が、「第2種のプリンタ識別情報」の一例である。
また、上記の変形例において、アプリに従って表示された入力画面に印刷パスワードが入力されることによって、印刷パスワードが仲介サーバ10に受信されてもよい。即ち、「第2のプリンタ識別情報受信部」によって実現される処理と「第1のファイル識別情報受信部」によって実現される処理の順序は、何ら限定されるものではない。
(変形例9) 上記の第1実施例では、仲介サーバ10は、プリンタIDに関連付けて特定URLを記憶する(図12のT260)。これに代えて、仲介サーバ10は、特定URLを生成せず、プリンタIDをプリンタ100に印刷させてもよい。本変形例では、プリンタIDが、「第2種のプリンタ識別情報」の一例であり、「第2種のプリンタ識別情報」は、「第1種の第1プリンタ識別情報」と同一である。
(変形例10) 上記の各実施例では、仲介サーバ10は、コード化された特定URLをプリンタに印刷させる(図13のT290参照)。これに代えて、仲介サーバ10は、特定URLそのものをプリンタに印刷させてもよい。本変形例では、「コード化された第2種のプリンタ識別情報」を省略可能である。
(変形例11) 上記の各実施例では、仲介サーバ10は、コード化された特定URLをプリンタに印刷させる(図13のT290参照)。これに代えて、仲介サーバ10は、コード化された特定URL又は特定URLそのものを管理端末400に表示させてもよい。本変形例では、管理端末400が、「出力装置」の一例であり、「第2の印刷要求」を省略可能である。
(変形例12) 図13のT270〜T276の処理は実行されなくてもよい。本変形例では、「第1の選択画面データ送信部」を省略可能である。
(変形例13) 上記の第1実施例では、プリンタ選択画面は、プリンタ名「printer100」、プリンタ名「printer200」を含む。これに代えて、プリンタ選択画面は、プリンタ名以外のプリンタを示す情報(例えばプリンタID)を含んでもよい。本変形例では、「プリンタ名」を省略可能である。
(変形例14) 図8の処理は実行されなくてもよい。本変形例では、「第4のプリンタ識別情報受信部」、「第2の記憶制御部」を省略可能である。
(変形例15) 上記の各実施例において、仲介サーバ10は、登録番号「1234」を生成しなくてもよい。この場合、仲介サーバ10は、プリンタ300において所定の操作が実行される場合に、プリンタ300からMACアドレスMA3を受信してもよい。本変形例では、「文字列送信部」を省略可能である。
(変形例16) 方法選択画面は表示されなくてもよい(図8のT104)。本変形例では、「第2の選択画面データ送信部」を省略可能である。
(変形例17)上記の各実施例では、図3〜図16の各処理がソフトウェア(例えばプログラム26)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、6:インターネット、10:仲介サーバ、12:ネットワークI/F、20:制御部、22:CPU、24:メモリ、26:プログラム、30:ユーザテーブル、32:ジョブテーブル、34:プリンタテーブル、36:サーバテーブル、38:メールテーブル、100:プリンタ、200:プリンタ、300:プリンタ、400:管理端末、500:ユーザ端末、600:SPサーバ、602:サービステーブル、700:メールサーバ
Claims (14)
- 仲介サーバであって、
外部装置から、サービス提供サーバが第1プリンタを識別するための第1種の第1プリンタ識別情報を受信する第1のプリンタ識別情報受信部と、
受信済みの前記第1種の第1プリンタ識別情報に関係する第2種のプリンタ識別情報であって、前記仲介サーバが前記第1プリンタを識別するための前記第2種のプリンタ識別情報を出力装置に出力させる出力制御部と、
前記第2種のプリンタ識別情報が前記出力装置によって出力された後に、出力済みの前記第2種のプリンタ識別情報が第1の端末装置によって取得される場合に、前記第1の端末装置から前記第2種のプリンタ識別情報を受信する第2のプリンタ識別情報受信部と、
第2の端末装置から、印刷対象の画像を表すファイルを受信するファイル受信部と、
前記仲介サーバが受信済みの前記ファイルを識別するためのファイル識別情報を前記第2の端末装置に送信するファイル識別情報送信部と、
送信済みの前記ファイル識別情報が前記第2の端末装置に表示された後に、前記ファイル識別情報が前記第1の端末装置に入力される場合に、前記第1の端末装置から前記ファイル識別情報を受信する第1のファイル識別情報受信部と、
前記第1の端末装置から前記第2種のプリンタ識別情報と前記ファイル識別情報とが受信された後に、受信済みの前記第2種のプリンタ識別情報に関係する前記第1種の第1プリンタ識別情報と、受信済みの前記ファイル識別情報によって識別される前記ファイルによって表される前記印刷対象の前記画像と同一の画像を表す第1の対象データと、を含む第1の印刷要求を前記サービス提供サーバに送信することによって、前記印刷対象の前記画像の印刷を前記第1プリンタに実行させる印刷要求送信部と、
を備える、仲介サーバ。 - 前記仲介サーバは、さらに、
メモリと、
受信済みの前記第1種の第1プリンタ識別情報と、前記第2種のプリンタ識別情報であるURL(Uniform Resource Locatorの略)と、を関連付けて前記メモリに記憶する第1の記憶制御部であって、前記URLは、前記ファイル識別情報を入力するための第1の入力画面を表す第1の入力画面データの位置を示す、前記第1の記憶制御部と、
前記第1の端末装置から前記第2種のプリンタ識別情報である前記URLが受信される場合に、前記第1の入力画面データを前記第1の端末装置に送信する入力画面データ送信部と、を備え、
前記第1のファイル識別情報受信部は、前記第1の入力画面データが前記第1の端末装置に送信された後に、前記第1の入力画面において前記ファイル識別情報が入力される場合に、前記第1の端末装置から前記ファイル識別情報を受信する、請求項1に記載の仲介サーバ。 - 前記出力制御部は、コード化された前記第2種のプリンタ識別情報を前記出力装置に出力させる、請求項1又は2に記載の仲介サーバ。
- 前記出力装置は、前記第1プリンタであり、
前記出力制御部は、前記第1種の第1プリンタ識別情報と、前記第2種のプリンタ識別情報を表す第2の対象データと、を含む第2の印刷要求を前記サービス提供サーバに送信することによって、前記第2種のプリンタ識別情報の印刷を前記第1プリンタに実行させる、請求項1から3のいずれか一項に記載の仲介サーバ。 - 前記仲介サーバは、さらに、
前記外部装置から、前記サービス提供サーバが第2プリンタを識別するための第1種の第2プリンタ識別情報を受信する第3のプリンタ識別情報受信部と、
前記外部装置から前記第1種の第1プリンタ識別情報と前記第1種の第2プリンタ識別情報とが受信される場合に、前記第1プリンタと前記第2プリンタとの中から前記第2種のプリンタ識別情報の印刷を実行するプリンタを選択するための第1の選択画面を表す第1の選択画面データを第3の端末装置に送信する第1の選択画面データ送信部と、を備え、
前記出力制御部は、
前記第1の選択画面が前記第3の端末装置に送信された後に、前記第1の選択画面において前記第1プリンタが選択される場合に、前記第1種の第1プリンタ識別情報と前記第2の対象データとを含む前記第2の印刷要求を前記サービス提供サーバに送信することによって、前記第2種のプリンタ識別情報の印刷を前記第1プリンタに実行させ、
前記第1の選択画面が前記第3の端末装置に送信された後に、前記第1の選択画面において前記第2プリンタが選択される場合に、前記第1種の第2プリンタ識別情報と前記第2の対象データとを含む第3の印刷要求を前記サービス提供サーバに送信することによって、前記第2種のプリンタ識別情報の印刷を前記第2プリンタに実行させる、請求項4に記載の仲介サーバ。 - 前記第1のプリンタ識別情報受信部は、前記外部装置から、前記第1種の第1プリンタ識別情報と、前記第1プリンタのプリンタ名を示す第1プリンタ名と、を受信し、
前記第2のプリンタ識別情報受信部は、前記外部装置から、前記第1種の第2プリンタ識別情報と、前記第2プリンタのプリンタ名を示す第2プリンタ名と、を受信し、
前記第1の選択画面は、受信済みの第1プリンタ名と受信済みの第2プリンタ名との中から前記第2種のプリンタ識別情報の印刷を実行する前記プリンタを示す対象プリンタ名を選択するための画面である、請求項5に記載の仲介サーバ。 - 前記第1プリンタは、前記ファイル識別情報の入力を受け付けるための所定のプログラムを備えず、
前記仲介サーバは、さらに、
前記ファイル識別情報が前記第2の端末装置に表示された後に、前記ファイル識別情報が前記所定のプログラムを備える第3プリンタに入力される場合に、前記第3プリンタから前記ファイル識別情報を受信する第2のファイル識別情報受信部と、
前記第3プリンタから前記ファイル識別情報が受信される場合に、受信済みの前記ファイル識別情報によって識別される前記ファイルによって表される前記印刷対象の前記画像と同一の画像を表す第3の対象データを、前記サービス提供サーバを介さずに、前記第3プリンタに送信することによって、前記印刷対象の前記画像の印刷を前記第3プリンタに実行させる対象データ送信部と、
を備える、請求項1から6のいずれか一項に記載の仲介サーバ。 - 前記仲介サーバは、さらに、
メモリと、
前記第3プリンタに関する情報を前記仲介サーバに記憶するための記憶指示が前記第3プリンタに与えられる場合に、前記第3プリンタから、前記第3プリンタを識別するための第3種のプリンタ識別情報を受信する第4のプリンタ識別情報受信部と、
前記第3プリンタから前記第3種のプリンタ識別情報が受信される場合に、前記第3種のプリンタ識別情報を前記メモリに記憶させる第2の記憶制御部と、を備え、
前記第2のファイル識別情報受信部は、前記第3プリンタから前記ファイル識別情報と前記第3種のプリンタ識別情報とを受信し、
前記対象データ送信部は、前記第3種のプリンタ識別情報が前記メモリに記憶されている状態において、前記第3プリンタから前記ファイル識別情報と前記第3種のプリンタ識別情報とが受信される場合に、前記第3の対象データを前記第3プリンタに送信し、
前記第3種のプリンタ識別情報が前記メモリに記憶されていない状態において、前記第3プリンタから前記ファイル識別情報と前記第3種のプリンタ識別情報とが受信される場合に、前記第3の対象データは送信されない、請求項7に記載の仲介サーバ。 - 前記仲介サーバは、さらに、
特定の文字列を第3の端末装置に送信する文字列送信部を備え、
前記記憶指示は、前記特定の文字列が前記第3の端末装置に表示された後に、前記特定の文字列が前記第3プリンタに入力されることを含み、
前記第4のプリンタ識別情報受信部は、前記第3プリンタから前記第3種のプリンタ識別情報と前記特定の文字列とを受信し、
前記第2の記憶制御部は、前記第3プリンタから前記第3種のプリンタ識別情報と前記特定の文字列とが受信される場合に、前記第3種のプリンタ識別情報を前記メモリに記憶させ、
前記第3プリンタから前記第3種のプリンタ識別情報と前記特定の文字列とは異なる文字列とが受信される場合に、前記第3種のプリンタ識別情報はメモリに記憶されない、請求項8に記載の仲介サーバ。 - 前記仲介サーバは、さらに、
第1の選択領域と第2の選択領域とを含む第2の選択画面を表す第2の選択画面データを前記第3の端末装置に送信する第2の選択画面データ送信部と、
前記第2の選択画面データが前記第3の端末装置に送信された後に、前記第2の選択画面において前記第1の選択領域が選択される場合に、前記サービス提供サーバとの通信を実行するために必要な通信情報を入力するための第2の入力画面を表示させるための表示情報を前記第3の端末装置に送信する表示情報送信部と、を備え、
前記第1のプリンタ識別情報受信部は、前記表示情報が前記第3の端末装置に送信された後に、前記第2の入力画面において前記通信情報が入力される場合に、前記外部装置から前記第1種の第1プリンタ識別情報を受信し、
前記文字列送信部は、前記第2の選択画面データが前記第3の端末装置に送信された後に、前記第2の選択画面において前記第2の選択領域が選択される場合に、前記特定の文字列を前記第3の端末装置に送信する、請求項9に記載の仲介サーバ。 - 前記外部装置は、前記サービス提供サーバである、請求項1から10のいずれか一項に記載の仲介サーバ。
- 前記サービス提供サーバは、Google(登録商標) Cloud Printサービスを提供するサーバである、請求項11に記載の仲介サーバ。
- 前記外部装置は、第3の端末装置であり、
前記サービス提供サーバは、メールサーバであり、
前記第1種の第1プリンタ識別情報は、前記第1プリンタに割り当てられているメールアドレスであり、
前記第1のプリンタ識別情報受信部は、前記メールアドレスが前記第3の端末装置に入力される場合に、前記第3の端末装置から前記第1種の第1プリンタ識別情報である前記メールアドレスを受信し、
前記印刷要求送信部は、前記第1の印刷要求である電子メールを前記メールサーバに送信し、
前記電子メールは、前記第1種の第1プリンタ識別情報である前記メールアドレスを送信先アドレスとして含むと共に、前記第1の対象データを添付ファイルとして含む、請求項1から10のいずれか一項に記載の仲介サーバ。 - 仲介サーバのためのコンピュータプログラムであって、
前記仲介サーバのコンピュータを、以下の各部、
外部装置から、サービス提供サーバが第1プリンタを識別するための第1種の第1プリンタ識別情報を受信する第1のプリンタ識別情報受信部と、
受信済みの前記第1種の第1プリンタ識別情報に関係する第2種のプリンタ識別情報であって、前記仲介サーバが前記第1プリンタを識別するための前記第2種のプリンタ識別情報を出力装置に出力させる出力制御部と、
前記第2種のプリンタ識別情報が前記出力装置によって出力された後に、出力済みの前記第2種のプリンタ識別情報が第1の端末装置によって取得される場合に、前記第1の端末装置から前記第2種のプリンタ識別情報を受信する第2のプリンタ識別情報受信部と、
第2の端末装置から、印刷対象の画像を表すファイルを受信するファイル受信部と、
前記仲介サーバが受信済みの前記ファイルを識別するためのファイル識別情報を前記第2の端末装置に送信するファイル識別情報送信部と、
送信済みの前記ファイル識別情報が前記第2の端末装置に表示された後に、前記ファイル識別情報が前記第1の端末装置に入力される場合に、前記第1の端末装置から前記ファイル識別情報を受信する第1のファイル識別情報受信部と、
前記第1の端末装置から前記第2種のプリンタ識別情報と前記ファイル識別情報とが受信された後に、受信済みの前記第2種のプリンタ識別情報に関係する前記第1種の第1プリンタ識別情報と、受信済みの前記ファイル識別情報によって識別される前記ファイルによって表される前記印刷対象の前記画像と同一の画像を表す第1の対象データと、を含む第1の印刷要求を前記サービス提供サーバに送信することによって、前記印刷対象の前記画像の印刷を前記第1プリンタに実行させる印刷要求送信部と、
して機能させる、コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019027216A JP2020135347A (ja) | 2019-02-19 | 2019-02-19 | 仲介サーバと仲介サーバのためのコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019027216A JP2020135347A (ja) | 2019-02-19 | 2019-02-19 | 仲介サーバと仲介サーバのためのコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020135347A true JP2020135347A (ja) | 2020-08-31 |
Family
ID=72278676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019027216A Pending JP2020135347A (ja) | 2019-02-19 | 2019-02-19 | 仲介サーバと仲介サーバのためのコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020135347A (ja) |
-
2019
- 2019-02-19 JP JP2019027216A patent/JP2020135347A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6891718B2 (ja) | 通信装置 | |
US8576434B2 (en) | Printer | |
JP5485246B2 (ja) | 画像形成装置 | |
US20180212950A1 (en) | Communication system and registration server | |
JP7521236B2 (ja) | プリンタとサーバとそれらのためのコンピュータプログラム | |
JP2021111274A (ja) | サーバ、機能実行装置、サーバのためのコンピュータプログラム、及び、機能実行装置のためのコンピュータプログラム | |
JP2021163152A (ja) | 端末装置のためのコンピュータプログラムと端末装置と通信装置 | |
JP7424209B2 (ja) | サーバ、プリンタ、サーバのためのコンピュータプログラム、及び、プリンタのためのコンピュータプログラム | |
JP6380138B2 (ja) | 通信装置 | |
JP6828637B2 (ja) | 画像処理装置 | |
EP4187366A1 (en) | Specific communication device, and non-transitory computer-readable recording medium storing computer readable instructions for specific communication device | |
JP2020135347A (ja) | 仲介サーバと仲介サーバのためのコンピュータプログラム | |
JP7552438B2 (ja) | サーバ、及び、サーバのためのコンピュータプログラム | |
JP7494683B2 (ja) | 通信装置と通信装置のためのコンピュータプログラム | |
JP6965786B2 (ja) | 通信装置 | |
JP6705246B2 (ja) | 印刷システム、印刷装置、及びコンピュータプログラム | |
JP6520643B2 (ja) | 機能実行装置 | |
JP7327048B2 (ja) | 通信システム、端末装置のためのコンピュータプログラム、及び、端末装置 | |
JP6662482B2 (ja) | 機能実行装置 | |
JP7517029B2 (ja) | 通信装置と通信装置のためのコンピュータプログラム | |
JP6881033B2 (ja) | 管理サーバ | |
JP2023006228A (ja) | サーバのためのコンピュータプログラム、サーバ、及び、方法 | |
US11330082B2 (en) | Information processing system, service providing system, and user creation method | |
JP2022131287A (ja) | 通信システム、端末装置のためのアプリケーションプログラム、サーバ、及び、サーバのためのコンピュータプログラム | |
JP2024097636A (ja) | サーバ、サーバのためのコンピュータプログラム、及び、サーバの制御方法 |