JP5958254B2 - 特定のサーバ及び通信装置 - Google Patents

特定のサーバ及び通信装置 Download PDF

Info

Publication number
JP5958254B2
JP5958254B2 JP2012218125A JP2012218125A JP5958254B2 JP 5958254 B2 JP5958254 B2 JP 5958254B2 JP 2012218125 A JP2012218125 A JP 2012218125A JP 2012218125 A JP2012218125 A JP 2012218125A JP 5958254 B2 JP5958254 B2 JP 5958254B2
Authority
JP
Japan
Prior art keywords
data
terminal device
specific
communication
server
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.)
Active
Application number
JP2012218125A
Other languages
English (en)
Other versions
JP2014071730A (ja
Inventor
宗久 松田
宗久 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2012218125A priority Critical patent/JP5958254B2/ja
Priority to US14/020,026 priority patent/US9232395B2/en
Publication of JP2014071730A publication Critical patent/JP2014071730A/ja
Application granted granted Critical
Publication of JP5958254B2 publication Critical patent/JP5958254B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Description

本明細書では、ウェブ画面を端末装置に表示させるための特定のサーバを開示する。本明細書では、さらに、端末装置と無線通信を実行するための通信装置を開示する。
例えば、特許文献1には、PCと中継装置とMFPとサービス提供装置とを備えるシステムが開示されている。PCは、仮登録ID発行要求を中継装置に送信する。中継装置は、仮登録ID発行要求を受信すると、仮登録IDを生成して、仮登録IDをPCに送信する。これにより、PCは、仮登録IDを表示させる。ユーザは、MFPを操作して、PCに表示された仮登録IDをMFPに入力する。この場合、MFPは、仮登録IDを中継装置に送信する。中継装置は、仮登録IDを受信すると、仮登録IDを用いて、サービス提供装置からアクセストークンを取得する。
特開2012−113696号公報
特許文献1の技術では、ユーザは、MFPを操作して、仮登録IDをMFPに入力する必要がある。本明細書では、新規な手法を用いて、対象データを通信装置に供給し得る技術を提供する。
本明細書によって開示される特定のサーバは、第1の受信部と、準備部と、第1の送信部と、を備える。第1の受信部は、ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、第1の送信要求を送信する場合に、第1の送信要求を受信する。準備部は、第1の送信要求が受信される場合に、対象データを含む第1の特定データを準備する。第1の特定データは、第1の端末装置が、第1種の無線通信とは異なる第2種の無線通信を利用して、第1の端末装置とは異なる通信装置に対象データを送信するための手法を示す第1のウェブ画面を、第1の端末装置に表示させるためのデータである。第1の送信部は、第1の特定データを第1の端末装置に送信する。
上記の構成によると、特定のサーバは、第1の端末装置から第1の送信要求を受信する場合に、対象データを含む第1の特定データを準備して、第1の特定データを第1の端末装置に送信する。これにより、第1の端末装置は、第1のウェブ画面を表示させ得る。このために、第1の端末装置のユーザは、第1のウェブ画面を見て、第1の端末装置が通信装置に対象データを送信するための手法(即ち、第2種の無線通信を利用するための手法)を知り得る。この結果、ユーザが当該手法に従って動作すれば、第1の端末装置は、第2種の無線通信を利用して、通信装置に対象データを送信し得る。このために、新規な手法を用いて、対象データを通信装置に供給し得る。
本明細書によって開示される通信装置は、受信部と、処理実行部と、を備える。受信部は、ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、特定のサーバから、対象データを含む第1の特定データを受信した結果として、第1の端末装置が、第1種の無線通信とは異なる第2種の無線通信を利用して、対象データを通信装置に送信する場合に、第2種の無線通信を利用して、対象データを受信する。第1の特定データは、第1の端末装置が、第2種の無線通信を利用して、通信装置に対象データを送信するための手法を示す第1のウェブ画面を、第1の端末装置に表示させるためのデータである。処理実行部は、対象データを用いて、特定の処理を実行する。
上記の構成によると、第1の端末装置は、第1種の無線通信を利用して、特定のサーバから第1の特定データを受信し得る。これにより、第1の端末装置は、第1のウェブ画面を表示させ得る。このために、第1の端末装置のユーザは、第1のウェブ画面を見て、第1の端末装置が通信装置に対象データを送信するための手法(即ち、第2種の無線通信を利用するための手法)を知り得る。この結果、ユーザが当該手法に従って動作すれば、第1の端末装置は、第2種の無線通信を利用して、通信装置に対象データを送信し得る。このために、通信装置は、新規な手法を用いて、第1の端末装置から対象データを受信して、特定の処理を適切に実行し得る。
上記の特定のサーバを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も、新規で有用である。また、上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も、新規で有用である。また、上記の特定のサーバと上記の通信装置とを備える通信システムも、新規で有用である。
以下の特徴は、出願当初の特許請求の範囲に記載の要素である。
(特徴1)
特定のサーバであって、
ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、第1の送信要求を送信する場合に、前記第1の送信要求を受信する第1の受信部と、
前記第1の送信要求が受信される場合に、対象データを含む第1の特定データを準備する準備部であって、前記第1の特定データは、前記第1の端末装置が、前記第1種の無線通信とは異なる第2種の無線通信を利用して、前記第1の端末装置とは異なる通信装置に前記対象データを送信するための手法を示す第1のウェブ画面を、前記第1の端末装置に表示させるためのデータである、前記準備部と、
前記第1の特定データを前記第1の端末装置に送信する第1の送信部と、
を備える特定のサーバ。
(特徴2)
前記第1の特定データは、前記対象データを含む第1の位置情報であって、前記第1のウェブ画面を表わす第1のウェブデータの位置を示す前記第1の位置情報へのアクセスを指示する第1のアクセスコマンドである、特徴1に記載の特定のサーバ。
(特徴3)
前記特定のサーバは、さらに、
前記対象データを生成する生成部を備え、
前記準備部は、前記対象データを含む前記第1の特定データを生成することによって、前記第1の特定データを準備する、特徴1又は2に記載の特定のサーバ。
(特徴4)
前記特定のサーバは、さらに、
前記特定のサーバとは異なるサービス提供サーバから認証情報を取得する取得部であって、前記認証情報は、前記通信装置が前記サービス提供サーバからサービスを受けるための情報である、前記取得部を備え、
前記生成部は、前記サービス提供サーバから前記認証情報が取得される場合に、前記通信装置が前記認証情報を前記特定のサーバから取得するための前記対象データを生成して、前記認証情報と前記対象データとを対応付けてメモリに記憶させる、特徴3に記載の特定のサーバ。
(特徴5)
前記特定のサーバは、さらに、
前記第1の特定データが前記第1の端末装置に送信された後に、前記通信装置から、前記対象データを含む特定の送信要求を受信する第2の受信部と、
前記特定の送信要求が受信される場合に、前記特定の送信要求に含まれる前記対象データに対応付けられている前記認証情報を前記メモリから読み出して、前記認証情報を前記通信装置に送信する第2の送信部と、
を備える、特徴4に記載の特定のサーバ。
(特徴6)
前記第1の送信要求は、前記第1の端末装置が、前記サービス提供サーバから、前記特定のサーバ内の位置を示す第2の位置情報へのアクセスを指示する第2のアクセスコマンドを受信する場合に、前記第2の位置情報を用いて、前記特定のサーバに送信する要求である、特徴4又は5に記載の特定のサーバ。
(特徴7)
前記第2種の無線通信は、前記第1種の無線通信と比べて無線通信可能な距離が短い近距離無線通信であり、
前記第1のウェブ画面は、前記第1の端末装置を前記通信装置に近づけることを示す第1のメッセージを含む、特徴1から6のいずれか一項に記載の特定のサーバ。
(特徴8)
前記第1の送信要求は、さらに、前記第1の端末装置に搭載されているプログラムに関係する関係情報を含み、
前記特定のサーバは、さらに、
前記関係情報に基づいて、前記プログラムが前記第2種の無線通信をサポートするのか否かを判断する判断部を備え、
前記準備部は、
前記プログラムが前記第2種の無線通信をサポートすると判断される第1の場合に、前記第1のメッセージを含む前記第1のウェブ画面を、前記第1の端末装置に表示させるための前記第1の特定データを準備し、
前記プログラムが前記第2種の無線通信をサポートしないと判断される第2の場合に、前記第1のメッセージを含まない第2のウェブ画面であって、前記通信装置を操作して前記対象データを前記通信装置に入力することを示す第2のメッセージを含む前記第2のウェブ画面を、前記第1の端末装置に表示させるための第2の特定データを準備し、
前記第1の送信部は、
前記第1の場合に、前記第1の特定データを前記第1の端末装置に送信し、
前記第2の場合に、前記第2の特定データを前記第1の端末装置に送信する、特徴7に記載の特定のサーバ。
(特徴9)
前記第1の受信部は、
前記第2種の無線通信をサポートする前記第1の端末装置が、前記特定のサーバ内の位置を示す第3の位置情報を用いて、前記第1の送信要求を前記特定のサーバに送信する場合に、前記第1の送信要求を受信し、
前記第2種の無線通信をサポートしない第2の端末装置が、前記特定のサーバ内の位置を示す第4の位置情報であって、前記第3の位置情報とは異なる前記第4の位置情報を用いて、第2の送信要求を前記特定のサーバに送信する場合に、前記第2の送信要求を受信し、
前記準備部は、さらに、前記第2の送信要求が受信される場合に、前記第1のメッセージを含まない第2のウェブ画面であって、前記通信装置を操作して前記対象データを前記通信装置に入力することを示す第2のメッセージを含む前記第2のウェブ画面を、前記第2の端末装置に表示させるための第2の特定データを準備し、
前記第1の送信部は、さらに、前記第2の送信要求が受信される場合に、前記第2の特定データを前記第2の端末装置に送信する、特徴7に記載の特定のサーバ。
(特徴10)
通信装置であって、
ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、特定のサーバから、対象データを含む第1の特定データを受信した結果として、前記第1の端末装置が、前記第1種の無線通信とは異なる第2種の無線通信を利用して、前記対象データを前記通信装置に送信する場合に、前記第2種の無線通信を利用して、前記対象データを受信する受信部であって、前記第1の特定データは、前記第1の端末装置が、前記第2種の無線通信を利用して、前記通信装置に前記対象データを送信するための手法を示す第1のウェブ画面を、前記第1の端末装置に表示させるためのデータである、前記受信部と、
前記対象データを用いて、特定の処理を実行する処理実行部と、
を備える通信装置。
(特徴11)
前記第1の特定データは、前記対象データを含む第1の位置情報であって、前記第1のウェブ画面を表わす第1のウェブデータの位置を示す前記第1の位置情報へのアクセスを指示する第1のアクセスコマンドであり、
前記受信部は、前記第1の端末装置が、前記第1のアクセスコマンドに従って前記第1の位置情報にアクセスして、前記第1のウェブ画面を表示させた後に、前記第2種の無線通信を利用して、前記第1の位置情報を前記通信装置に送信する場合に、前記第2種の無線通信を利用して、前記第1の位置情報を受信し、
前記通信装置は、さらに、
前記第1の位置情報から前記対象データを抽出する抽出部を備え、
前記処理実行部は、抽出済みの前記対象データを用いて、前記特定の処理を実行する、特徴10に記載の通信装置。
(特徴12)
特定のサーバのためのコンピュータプログラムであって、
前記特定のサーバに搭載されるコンピュータに、以下の各処理、即ち、
ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、第1の送信要求を送信する場合に、前記第1の送信要求を受信する第1の受信処理と、
前記第1の送信要求が受信される場合に、対象データを含む第1の特定データを準備する準備処理であって、前記第1の特定データは、前記第1の端末装置が、前記第1種の無線通信とは異なる第2種の無線通信を利用して、前記第1の端末装置とは異なる通信装置に前記対象データを送信するための手法を示す第1のウェブ画面を、前記第1の端末装置に表示させるためのデータである、前記準備処理と、
前記第1の特定データを前記第1の端末装置に送信する第1の送信処理と、
を実行させるコンピュータプログラム。
通信システムの構成を示す。 携帯端末を利用してMFPにDL印刷処理を実行させるための各処理のシーケンス図を示す。 図2の続きのシーケンス図を示す。 携帯端末又はPCで表示される各画面の一例を示す。 PCを利用してMFPにDL印刷処理を実行させるための各処理のシーケンス図を示す。 図5の続きのシーケンス図を示す。 図2の続きの第2実施例のシーケンス図を示す。 図5の続きの第2実施例のシーケンス図を示す。 (A)携帯端末で表示されるメッセージ画面と、(B)PCで表示されるメッセージ画面と、の一例を示す。
(第1実施例)
(システムの構成)
図1に示されるように、通信システム2は、MFP(Multi-Function Peripheralの略)10と、仲介サーバ50と、複数個のサービス提供サーバ100,110と、携帯端末150と、PC160と、を備える。各デバイス10,50,100,110,150,160は、インターネットに接続可能である。また、MFP10及び携帯端末150のそれぞれは、NFC(Near Field Communicationの略)通信を実行可能である。
(MFP10の構成)
MFP10は、印刷機能、スキャン機能、コピー機能、FAX機能等の多機能を実行可能な周辺装置である。MFP10は、操作部12と、表示部14と、NFCI/F(NFC Interfaceの略)16と、印刷実行部18と、スキャン実行部20と、ネットワークI/F22と、制御部30と、を備える。操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をMFP10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構を備える。スキャン実行部20は、CCD、CIS等のスキャン機構を備える。
NFCI/F16は、NFC方式の無線通信を実行するためのインターフェースである。NFC方式は、いわゆる近距離無線通信のための無線通信方式であり、例えば、ISO/IEC21481又は18092の国際標準規格に基づく無線通信方式である。ネットワークI/F22は、LAN(Local Area Networkの略)に接続するためのインターフェースである。ネットワークI/F22は、有線LANに接続されるインターフェースであってもよいし、無線LANに接続されるインターフェースであってもよい。MFP10は、ネットワークI/F22を介して(即ちLANを介して)、インターネットに接続可能である。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に格納されているプログラムに従って、様々な処理を実行する。CPU32が上記のプログラムに従って処理を実行することによって、各部41〜43の機能が実現される。
MFP10は、後述の図2及び図3等の各処理を実行することによって、サービス提供サーバ(例えば100)からサービスを受けることができる。例えば、MFP10は、サービス提供サーバから画像データをダウンロードして、画像データによって表わされる画像を印刷媒体に印刷することができる(以下では「DL印刷処理」と呼ぶ)。即ち、MFP10は、サービス提供サーバからデータ供給サービスを受けて、DL印刷処理を実行することができる。また、例えば、MFP10は、スキャンによって生成される画像データをサービス提供サーバにアップロードすることができる(以下では「スキャンUL処理」と呼ぶ)。即ち、MFP10は、サービス提供サーバからデータ保存サービスを受けて、スキャンUL処理を実行することができる。
(仲介サーバ50の構成)
仲介サーバ50は、MFP10のベンダによって提供されるサーバであり、サービス提供サーバ100,110からMFP10へのサービスの提供を仲介するためのサーバである。また、仲介サーバ50は、携帯端末150及びPC160にウェブデータを提供するためのウェブサーバとして機能する。仲介サーバ50は、ネットワークI/F60と、制御部70と、を備える。仲介サーバ50は、ネットワークI/F60を介して、インターネットに接続可能である。
制御部70は、CPU72と、メモリ74と、を備える。CPU72は、メモリ74に格納されているプログラムに従って、様々な処理を実行する。CPU72が上記のプログラムに従って処理を実行することによって、各部81〜88の機能が実現される。
(サービス提供サーバ100,110の構成)
各サービス提供サーバ100,110は、例えば、「Evernote(登録商標)」、「Google(登録商標) Docs」、「PICASA(登録商標)」、「Facebook(登録商標)」等の公知のサービス提供サーバである。本実施例では、各サービス提供サーバ100,110の名称(即ちサービス名)は、それぞれ、「AAA」、「BBB」である。各サービス提供サーバ100,110は、通信機器(例えばMFP10)にデータを供給するためのデータ供給サービスと、通信機器からデータを取得して保存するためのデータ保存サービスと、を提供可能である。
サービス提供サーバ100は、第1のサービス事業者(即ち第1の会社)によって提供されるサーバであり、サービス提供サーバ110は、第1のサービス事業者とは異なる第2のサービス事業者(即ち第2の会社)によって提供されるサーバである。第1のサービス事業者は、サービス提供サーバ100からサービスを受けるための第1のAPI(Application Program Interfaceの略)を公開しており、第2のサービス事業者は、サービス提供サーバ110からサービスを受けるための第2のAPIを公開している。第1のサービス事業者と第2のサービス事業者とが異なるために、通常、第1のAPIと第2のAPIとは異なる。通信機器は、例えば、サービス提供サーバ100,110の両方からサービスを受けるためには、第1及び第2のAPIの両方に対応している必要がある(即ち、第1のAPIを利用するためのプログラムと、第2のAPIを利用するためのプログラムと、の両方が必要である)。
例えば、MFP10が複数個のサービス提供サーバ100,110のそれぞれからサービスを受けるためには、MFP10は、複数個のAPIに対応している必要があり、多くのプログラムを格納する必要がある。しかしながら、PC160等と比べると、MFP10のメモリ34の記憶容量は少ない。従って、本実施例では、MFP10に多くのプログラムを格納させることなく、MFP10が複数個のサービス提供サーバ100,110のそれぞれからサービスを受けることができるように、仲介サーバ50が設けられている。
即ち、仲介サーバ50は、複数個のサービス提供サーバ100,110のための複数個のAPIに対応している。そして、仲介サーバ50は、MFP10が各サービス提供サーバ100,110からサービスを受けることができるように、各サービス提供サーバ100,110のための各APIを利用して、各サービス提供サーバ100,110と通信(例えば、後述のアクセストークン230の取得のための通信)を実行する。これにより、MFP10は、各サービス提供サーバ100,110のための各APIに対応していなくても(即ち多くのプログラムを格納していなくても)、各サービス提供サーバ100,110からサービスを受けることができる。また、サービス提供サーバ100,110の仕様変更が行われる場合に、仲介サーバ50のプログラムを変更すれば、MFP10のプログラムを変更しなくても、当該仕様変更に対応することができる。また、新規のサービス提供サーバのためのAPIに対応するように、仲介サーバ50のプログラムを変更すれば、MFP10のプログラムを変更しなくても、MFP10は、新規のサービス提供サーバからサービスを受けることができる。
(携帯端末150の構成)
携帯端末150は、例えば、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。図示省略しているが、携帯端末150は、NFC通信を実行するためのインターフェースと、Wi−Fiアライアンスによって定められる無線通信規格に基づく無線通信を実行するためのインターフェースと、を備える。以下では、後者の無線通信のことを「Wi−Fi通信」と呼ぶ。
携帯端末150は、NFC通信及びWi−Fi通信をサポートしている公知のOSプログラム(例えばAndroid(登録商標)等)を備える。また、携帯端末150は、さらに、公知のウェブブラウザプログラムを備える。ただし、携帯端末150は、ウェブデータの中から後述のテンポラリIDを抽出して、NFC通信を利用して当該テンポラリIDをMFP10に送信するための特別なアプリケーションプログラムを備えていない。携帯端末150は、Wi−Fi通信を実行して、インターネットに接続可能である。なお、本実施例では、携帯端末150及びMFP10が同一のLANに接続されていない状況を想定している。
ここでは、NFC通信とWi−Fi通信との相違点を記載しておく。NFC通信は、上述したように、例えば、ISO/IEC21481又は18092の国際標準規格に基づく無線通信である。これに対し、Wi−Fi通信は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば、802.11a,11b,11g,11n等)に基づく無線通信である。NFC通信の通信速度(例えば最大の通信速度=100〜424Kbps)は、Wi−Fi通信の通信速度(例えば最大の通信速度=11〜600Mbps)よりも遅い。また、NFC通信における搬送波の周波数(例えば13.56MHz帯)は、Wi−Fi通信における搬送波の周波数(例えば2.4GHz帯又は5.0GHz帯)とは異なる。また、NFC通信の通信可能距離(例えば10cm以下)は、Wi−Fi通信の通信可能距離(例えば100m以下)よりも短い。
(PC160の構成)
PC160は、例えば、デスクトップPC、ノートPC、タブレットPC等の端末装置である。PC160は、携帯端末150とは異なり、NFC通信を実行不可能である。PC160は、Wi−Fi通信をサポートしている公知のOSプログラム(例えばWindows(登録商標)等)を備える。また、PC160は、さらに、公知のウェブブラウザプログラムを備える。PC160は、Wi−Fi通信を実行して、インターネットに接続可能である。なお、本実施例では、PC160及びMFP10が同一のLANに接続されていない状況を想定している。
(ユーザの事前準備)
ユーザは、MFP10が各サービス提供サーバ100,110からサービスを受けるために、以下の事前準備を実行する必要がある。ユーザは、例えば、携帯端末150、PC160等の端末装置を用いて、例えば、サービス提供サーバ100にアクセスして、公知の手法を利用して、ログインID及びパスワードをサービス提供サーバ100に登録する。このような事前準備が完了すると、ユーザは、上記の端末装置を用いて、サービス提供サーバ100からサービスを受けることができる。例えば、ユーザは、サービス提供サーバ100からデータ保存サービスを受けて、画像データを含むファイルをサービス提供サーバ100にアップロードすることができる。その後、ユーザは、アップロード済みのファイルの印刷をMFP10に実行させることを望む場合(即ち、MFP10にDL印刷処理を実行させる場合)に、後述の図2及び図3等に示される動作を実行する。
(MFP10にDL印刷処理を実行させるための処理)
MFP10が、サービス提供サーバ100からデータ供給サービスを受けて、DL印刷処理を実行するためには、MFP10は、サービス提供サーバ100によって生成されるアクセストークンを取得する必要がある。アクセストークンをMFP10に供給するための手法として、NFC通信を実行可能な携帯端末150が利用される手法と、NFC通信を実行不可能なPC160が利用される手法と、が存在する。以下では、図2及び図3を参照して、携帯端末150が利用される手法を説明し、次いで、図5及び図6を参照して、PC160が利用される手法を説明する。
(携帯端末150が利用されるケースA;図2)
携帯端末150のユーザは、携帯端末150とMFP10との間にNFC接続が確立されるように、携帯端末150をMFP10に近づける。MFP10が電源ONにされている間に、MFP10のNFCI/F16は、NFC通信を実行可能な機器(例えば携帯端末150)を検出するための検出電波を発信している。また、携帯端末150のNFCI/F(図示省略)も、NFC通信を実行可能な機器(例えばMFP10)を検出するための検出電波を発信している。MFP10と携帯端末150との間の距離が、上記の検出電波が届く距離(例えば10cm)より小さくなると、MFP10及び携帯端末150の一方の機器は、他方の機器から検出電波を受信して、応答電波を送信する。この結果、MFP10と携帯端末150との間にNFC接続が確立される。
MFP10のメモリ34は、仲介サーバ50のURL(Uniform Resource Locatorの略)「http://www.aa.com」を予め記憶している。MFP10の制御部30は、MFP10と携帯端末150との間にNFC接続が確立される場合に、当該NFC接続を利用して(即ちNFC通信を利用して)、メモリ34内の仲介サーバ50のURLを携帯端末150に送信する。
S10では、携帯端末150のOSプログラムは、NFC通信の結果として仲介サーバ50のURLを受信する場合に、携帯端末150のウェブブラウザを起動させる。このような仕組みは、OSプログラムに予め搭載されている仕組みである。従って、携帯端末150に特別なアプリケーションプログラムをインストールしなくても、携帯端末150のOSプログラムは、ウェブブラウザを起動させることができる。
携帯端末150のウェブブラウザは、仲介サーバ50のURLにアクセスする。なお、以下では、携帯端末150のOSプログラム、携帯端末150のブラウザプログラムを、それぞれ、「携帯端末150(OS)」、「携帯端末150(ブラウザ)」と簡単に記載する。携帯端末150(ブラウザ)が仲介サーバ50のURLにアクセスする手法を、次に説明する。
携帯端末150(ブラウザ)は、仲介サーバ50のURL「http://www.aa.com」のうち、仲介サーバ50のサーバ名「www.aa.com」を用いて、DNS(Domain Name Systemの略)サーバから仲介サーバ50のIPアドレスを取得する。そして、携帯端末150(ブラウザ)は、取得済みのIPアドレスを送信先IPアドレスとして含むHTTP(Hyper Text Transfer Protocolの略)のGETコマンドを生成する。従って、GETコマンドは、仲介サーバ50のIPアドレスを含むが、仲介サーバ50のURLそのものを含まない。ただし、仲介サーバ50のIPアドレスは、仲介サーバ50のURLを名前変換することによって得られるものであるために、仲介サーバ50のURLと等価な情報である。このために、GETコマンドが仲介サーバ50のIPアドレスを含むということは、GETコマンドが仲介サーバ50のURLを含むことに等しいと言える。従って、本実施例では、機器(例えば携帯端末150)がURLにアクセスしてGETコマンドを送信する状況において、実際には、GETコマンドがURLそのものを含むわけではないが、「GETコマンドがURLを含む」と表現する。
また、仮に、携帯端末150(ブラウザ)がアクセスすべき対象のURLが、例えば、「http://www.aa.com/xxx/yyy」である状況を想定する。以下では、このようなURLにおいて、サーバ名「www.aa.com」より後ろの部分「xxx」及び「yyy」のことを「リソース部」と呼ぶ。携帯端末150(ブラウザ)は、サーバ名「www.aa.com」を用いて、DNSサーバからIPアドレスを取得して、取得済みのIPアドレスを送信先IPアドレスとして含むGETコマンドを生成する。GETコマンドは、さらに、URL内のリソース部を示す文字列(即ち「xxx」及び「yyy」)を含む。従って、GETコマンドは、仲介サーバ50のIPアドレスと、URL内のリソース部以降の文字列と、を含むが、URLそのものを含まない。本実施例では、このようなGETコマンドについても、「GETコマンドがURLを含む」と表現する。なお、実際には、リソース部は、「.cgi」のような拡張子を含むが、本実施例及び図面では、「.cgi」の記載及び図示を省略する。
携帯端末150(ブラウザ)は、仲介サーバ50のURLを要求先URLとして含むGETコマンド210を生成する。URL210は、仲介サーバ50のサーバ名「www.aa.com」を含む(即ち仲介サーバ50内の位置を示す)。従って、携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を実行して、GETコマンド210を仲介サーバ50に送信する。これにより、携帯端末150(ブラウザ)は、仲介サーバ50のURLにアクセスすることができる。
仲介サーバ50の制御部70は、HTTP通信を利用して、携帯端末150(ブラウザ)からGETコマンド210を受信する。この場合、制御部70は、サービスリストデータ212をメモリ74から取得する。サービスリストデータ212は、図4のサービスリスト画面212aを表わすウェブデータであり、携帯端末150(ブラウザ)が解釈可能な形式を有する。次いで、制御部70は、HTTP通信を利用して、サービスリストデータ212を携帯端末150(ブラウザ)に送信する。サービスリストデータ212は、ウェブページ(即ち図4のサービスリスト画面212a)のページURLとして、仲介サーバ50のURL(即ち、GETコマンド210に含まれる要求先URLと同じURL)を含む。
携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、仲介サーバ50からサービスリストデータ212を受信する。この場合、携帯端末150(ブラウザ)は、サービスリストデータ212によって表わされるサービスリスト画面212a(図4参照)を表示させる。サービスリスト画面212aの最上欄は、サービスリストデータ212内のURL「http://www.aa.com」を示す。また、サービスリスト画面212aは、サービス提供サーバ100,110のそれぞれのサービス名(即ち、「AAA」、「BBB」)を含む。
ユーザは、サービスリスト画面212aを見ながら、携帯端末150を操作して、1個のサービス名(例えばAAA」)を選択し、その後、図示省略のOKボタンを選択する。これにより、携帯端末150(ブラウザ)は、選択結果(例えば「AAA」)を含むPOSTコマンド214を生成する。次いで、携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、POSTコマンド214を仲介サーバ50に送信する。
なお、携帯端末150(ブラウザ)がPOSTコマンド214を生成するためのスクリプトは、サービスリストデータ212に含まれる。このために、携帯端末150に特別なアプリケーションをインストールしなくても、携帯端末150(ブラウザ)は、POSTコマンド214を生成して送信することができる。
仲介サーバ50の制御部70は、HTTP通信を利用して、携帯端末150(ブラウザ)からPOSTコマンド214を受信する。この場合、制御部70は、POSTコマンド214に含まれる選択結果に対応するURLを生成して、当該URLをリダイレクトURLとして含むHTTPのリダイレクトコマンド216を生成する。なお、HTTPのリダイレクトコマンドは、当該リダイレクトコマンドに含まれるURL(即ちリダイレクトURL)へのアクセスを指示するコマンドである。
POSTコマンド214に含まれる選択結果が、サービス提供サーバ100のサービス名「AAA」を示す場合には、制御部70は、サービス提供サーバ100のURL「http://www.bb.com」を、メモリ74から取得する。制御部70は、さらに、後述の図3のS40の処理を実行するためのURL(以下では「戻りURL」と呼ぶ)を、メモリ74から取得する。戻りURLは、「http://www.aa.com/id」であり、仲介サーバ50のサーバ名「www.aa.com」を含む(即ち、仲介サーバ50内の位置を示す)。次いで、制御部70は、サービス提供サーバ100のURL「http://www.bb.com」と、戻りURLが記述されたクエリ部「?URL=http://www.aa.com/id」と、を組み合わせることによって、第1の組合せURLを生成する。なお、以下では、URLがクエリ部(「?」以降の部分)を含む場合には、クエリ部よりも前の部分(即ち「?」より前の部分)のことを「ドメイン部」と呼ぶ。例えば、第1の組合せURLでは、ドメイン部が「http://www.bb.com」であり、クエリ部が「?URL=http://www.aa.com/id」である。
仮に、POSTコマンド214に含まれる選択結果が、サービス提供サーバ110のサービス名「BBB」を示す場合には、制御部70は、サービス提供サーバ110のURL(図示省略)を示すドメイン部と、上記の戻りURLが記述されたクエリ部と、を組み合わせることによって、第1の組合せURLを生成する。
制御部70は、生成済みの第1の組合せURLをリダイレクトURLとして含むリダイレクトコマンド216を生成し、HTTP通信を利用して、リダイレクトコマンド216を携帯端末150(ブラウザ)に送信する。
携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、仲介サーバ50からリダイレクトコマンド216を受信する。この場合、携帯端末150(ブラウザ)は、リダイレクトコマンド216に従って、リダイレクトURL(即ち第1の組合せURL)にアクセスする。即ち、携帯端末150(ブラウザ)は、第1の組合せURLを要求先URLとして含むGETコマンド218を生成する。図2の例では、要求先URLのドメイン部「http://www.bb.com」は、サービス提供サーバ100のサーバ名「www.bb.com」を含む(即ち、サービス提供サーバ100内の位置を示す)。従って、携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、GETコマンド218をサービス提供サーバ100に送信する。
サービス提供サーバ100は、携帯端末150(ブラウザ)からGETコマンド218を受信する場合に、ログインデータ220をサービス提供サーバ100のメモリ(図示省略)から取得する。ログインデータ220は、図4のログイン画面220aを表わすウェブデータであり、携帯端末150(ブラウザ)が解釈可能な形式を有する。次いで、サービス提供サーバ100は、ログインデータ220を携帯端末150(ブラウザ)に送信する。ログインデータ220は、ウェブページ(即ち図4のログイン画面220a)のページURLとして、第1の組合せURL(即ち、GETコマンド218に含まれる要求先URLと同じURL)を含む。
なお、サービス提供サーバ100は、GETコマンド218に含まれる第1の組合せURLを取得することができるので、第1の組合せURL内のクエリ部(「?」以降の部分)に記述されている戻りURL「http://www.aa.com/id」を用いて、後述の図3のリダイレクトコマンド250を送信することができる。このような仕組み、即ち、GETコマンドの要求先URL内のクエリ部に記述されているURLを用いて、リダイレクトコマンドを送信する仕組みは、サービス提供サーバ100に予め搭載されている。
携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、仲介サーバ50からログインデータ220を受信する。この場合、携帯端末150(ブラウザ)は、ログインデータ220によって表わされるログイン画面220a(図4)を表示させる。ログイン画面220aの最上欄は、ログインデータ220内のURL(即ち第1の組合せURL)を示す。また、ログイン画面220aは、ログインIDを入力するためのボックスと、パスワードを入力するためのボックスと、を含む。
ユーザは、ログイン画面220aを見ながら、携帯端末150を操作して、ログインID及びパスワードを入力する。即ち、ユーザは、上記の事前準備でサービス提供サーバ100に予め登録しておいたログインID及びパスワードを入力する。その後、ユーザは、ログイン画面220a内の図示省略のOKボタンを選択する。これにより、携帯端末150(ブラウザ)は、ログインID及びパスワードを含むPOSTコマンド222を生成する。携帯端末150(ブラウザ)がPOSTコマンド222を生成するためのスクリプトは、ログインデータ220に含まれる。次いで、携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、POSTコマンド222をサービス提供サーバ100に送信する。
S20では、サービス提供サーバ100は、携帯端末150(ブラウザ)からPOSTコマンド222を受信する場合に、POSTコマンド222に含まれるログインID及びパスワードの認証を実行する。認証が成功すると、S22において、サービス提供サーバ100は、MFP10がサービス提供サーバ100からサービスを受けるためのアクセストークン230を生成する。次いで、サービス提供サーバ100は、仲介サーバ50にアクセストークン230を送信する。
仲介サーバ50の取得部87は、HTTP通信を利用して、サービス提供サーバ100からアクセストークン230を受信することによって、アクセストークン230を取得する。この場合、S30では、仲介サーバ50の生成部86は、例えば、複数個のアルファベットをランダムに選択して組み合わせることによって、テンポラリID(本実施例では文字列「xyz」)を生成する。そして、生成部86は、アクセストークン230とテンポラリIDとを対応付けて、メモリ74に記憶させる。これにより、後述の図3において、仲介サーバ50は、テンポラリIDを含むアクセストークン要求280をMFP10から受信する場合に、テンポラリIDに対応付けられているアクセストークン230をMFP10に送信することができる。
(ケースA1;図3(図2の続き))
上述したように、サービス提供サーバ100は、携帯端末150(ブラウザ)から図2のGETコマンド218を受信することによって、第1の組合せURLを取得する。サービス提供サーバ100は、第1の組合せURLから、クエリ部(「?」以降の部分)に含まれる戻りURL「http://www.aa.com/id」を抽出する。そして、図3に示されるように、サービス提供サーバ100は、抽出済みの戻りURLをリダイレクトURLとして含むリダイレクトコマンド250を生成して、リダイレクトコマンド250を携帯端末150(ブラウザ)に送信する。
携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、サービス提供サーバ100からリダイレクトコマンド250を受信する。この場合、携帯端末150(ブラウザ)は、リダイレクトコマンド250に従って、リダイレクトURL(即ち上記の戻りURL)にアクセスする。即ち、携帯端末150(ブラウザ)は、上記の戻りURLを要求先URLとして含むGETコマンド252を生成する。戻りURLは、仲介サーバ50のサーバ名「www.aa.com」を含む。従って、携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、GETコマンド252を仲介サーバ50に送信する。
仲介サーバ50の第1の受信部81は、HTTP通信を利用して、携帯端末150(ブラウザ)からGETコマンド252を受信する。仲介サーバ50の制御部70は、GETコマンド252内の要求先URL(即ち戻りURL)に「/id」が含まれることを認識すると、後述のS40の処理のためのプログラムを起動させて、当該プログラムに従って、S40の処理を実行する。
上述したように、本実施例では、仲介サーバ50は、戻りURL(即ち第1の組合せURLのクエリ部)を含むリダイレクトコマンド216を、携帯端末150(ブラウザ)に送信する(図2参照)。このために、携帯端末150(ブラウザ)は、各データ218,220,222,250の通信をサービス提供サーバ100と実行した後に、戻りURLにアクセスする。このために、ユーザが仲介サーバ50にアクセスするための操作を携帯端末150(ブラウザ)に加えなくても、携帯端末150(ブラウザ)は、仲介サーバ50にアクセスして(即ちGETコマンド252を送信して)、仲介サーバ50にS40の処理を適切に実行させることができる。
S40では、仲介サーバ50の準備部85は、後述のメッセージデータ258の位置を示すメッセージURL「http://www.aa.com/message」を、メモリ74から取得する。次いで、準備部85は、図2のS30で生成されたテンポラリID「xyz」をメモリ74から取得する。準備部85は、メッセージURLを示すドメイン部と、テンポラリIDが記述されているクエリ部「?ID=xyz」と、を組み合わせることによって、第2の組合せURL「http://www.aa.com/message?ID=xyz」を生成する。
次いで、準備部85は、第2の組合せURLをリダイレクトURLとして含むリダイレクトコマンド254を生成することによって、リダイレクトコマンド254を準備する。そして、仲介サーバ50の第1の送信部83は、HTTP通信を利用して、リダイレクトコマンド254を携帯端末150(ブラウザ)に送信する。
なお、S40では、準備部85は、さらに、メッセージデータ258を生成する。メッセージデータ258は、図4のメッセージ画面258aを表わすウェブデータであり、携帯端末150(ブラウザ)が解釈可能な形式を有する。メッセージデータ258は、メッセージ300a(図4参照)を表わす文字データと、メッセージ300bを表わす文字データと、を含む。メッセージ300aは、携帯端末150とMFP10との間でNFC通信が実行されるように、携帯端末150をMFP10に近づけることをユーザに促すためのメッセージである。
メッセージ300bは、携帯端末150をMFP10に近づけても反応がない場合(即ちNFC通信が開始されない場合)、又は、携帯端末150がNFCI/Fを備えない場合に、MFP10の操作部12を操作して、テンポラリIDをMFP10に入力することをユーザに促すためのメッセージである。詳しくは後述するが、本実施例の携帯端末150(OS)は、NFC接続が確立される際に、フォアグラウンドのプログラムとしてウェブブラウザが動作している場合に、当該ウェブブラウザによって表示されているウェブページのURLをNFC通信によって送信する仕組みを有する。しかしながら、このような仕組みを有さないOSプログラム(以下では「非対応OS」と呼ぶ)も存在し得る。仮に、携帯端末150が、NFCI/F16を備えているものの、非対応OSを搭載している場合には、ウェブページのURLをNFC通信によって送信することができない。そこで、メッセージ300bでは、携帯端末150をMFP10に近づけても反応がない場合に、テンポラリIDをMFP10に入力することをユーザに促している。
メモリ74は、メッセージデータ258を生成するためのテンプレートを予め記憶している。テンプレートは、上記の各文字データを含む。ただし、テンプレートでは、テンポラリIDの具体的な値(即ち「xyz」)が記述されていない。このために、S40では、準備部85は、テンポラリID(即ち「xyz」)をテンプレートに記述することによって、メッセージデータ258を生成する。
携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、仲介サーバ50からリダイレクトコマンド254を受信する。この場合、携帯端末150(ブラウザ)は、リダイレクトコマンド254に従って、リダイレクトURL(即ち第2の組合せURL)にアクセスする。即ち、携帯端末150(ブラウザ)は、第2の組合せURLを要求先URLとして含むGETコマンド256を生成する。第2の組合せURLは、仲介サーバ50のサーバ名「www.aa.com」を含む。従って、携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、GETコマンド256を仲介サーバ50に送信する。
仲介サーバ50の制御部70は、HTTP通信を利用して、携帯端末150(ブラウザ)からGETコマンド256を受信する。制御部70は、GETコマンド256内の要求先URL(即ち第2の組合せURL)にリソース部「message」が含まれることを認識すると、メッセージデータ258を送信するためのプログラムを起動させる。そして、制御部70は、当該プログラムに従って、HTTP通信を利用して、メッセージデータ258を携帯端末150(ブラウザ)に送信する。メッセージデータ258は、ウェブページ(即ち図4のメッセージ画面258a)のページURLとして、第2の組合せURL(即ち、GETコマンド256に含まれる要求先URLと同じURL)を含む。
上述したように、仲介サーバ50は、携帯端末150からGETコマンド252を受信する場合に、第2の組合せURL及びメッセージデータ258を生成し(S40)、次いで、リダイレクトコマンド254及びGETコマンド256の通信を実行した後に、第2の組合せURLを含むメッセージデータ258を携帯端末150に送信する。このような構成を採用せずに、仲介サーバ50が、GETコマンド252のレスポンスとして、第2の組合せURLを含むメッセージデータ258を携帯端末150に送信する構成(即ち、リダイレクトコマンド254及びGETコマンド256の通信を省略する構成)を採用することが考えられる。
しかしながら、HTTPの仕組みでは、ウェブサーバ(即ち仲介サーバ50)は、クライアント(即ち携帯端末150)からGETコマンドを受信して、GETコマンドのレスポンスとしてウェブデータを送信する際に、当該GETコマンド内の要求先URLを、当該ウェブデータのページURLとして利用しなければならない。従って、仮に、仲介サーバ50がGETコマンド252のレスポンスとしてメッセージデータ258を送信する構成を採用すると、仲介サーバ50は、GETコマンド252内の要求先URLである戻りURL「http://www.aa.com/id」を、メッセージデータ258のページURLとして記述せざるを得ず、テンポラリIDが記述された第2の組合せURLを、メッセージデータ258のページURLとして記述することができない。
本実施例では、上記の実情に鑑みて、仲介サーバ50は、GETコマンド252のレスポンスとして、ウェブデータではなく、第2の組合せURLをリダイレクトURLとして含むリダイレクトコマンド254を送信して、GETコマンド256を受信する構成を採用している。この結果、仲介サーバ50は、GETコマンド256内の要求先URLである第2の組合せURLを、メッセージデータ258のページURLとして記述することができる。これにより、仲介サーバ50は、テンポラリIDが記述された第2の組合せURLをページURLとして含むメッセージデータ258を、携帯端末150に適切に送信することができる。
携帯端末150(ブラウザ)は、Wi−Fi通信(即ちHTTP通信)を利用して、仲介サーバ50からメッセージデータ258を受信する。この場合、携帯端末150(ブラウザ)は、メッセージデータ258によって表わされるメッセージ画面258a(図4)を表示させる。メッセージ画面258aの最上欄は、メッセージデータ258内のURL(即ち第2の組合せURL)を示す。また、メッセージ画面258aは、各メッセージ300a,300bを含む。
ユーザは、メッセージ画面258a内のメッセージ300aを見ることによって、NFC通信を実行可能な携帯端末150をMFP10に近づけるべきであることを知ることができる。このために、ユーザは、携帯端末150をMFP10に近づける。この結果、MFP10と携帯端末150(OS)との間にNFC接続が再び確立される。
携帯端末150(OS)は、NFC接続が確立される場合に、当該NFC接続を利用して(即ちNFC通信を利用して)、メッセージ画面258aに記述されているURL(即ち第2の組合せURL)をMFP10に送信する。このように、ウェブページ(即ちメッセージ画面258a)が表示されている状態で、NFC接続が確立される場合に、当該NFC接続を利用して、当該ウェブページのページURL(即ち第2の組合せURL)を送信する仕組みは、OSプログラムに予め搭載されている仕組みである。即ち、携帯端末150(OS)は、NFC接続が確立される際に、フォアグラウンドのプログラムとしてウェブブラウザが動作している場合に、当該ウェブブラウザによって表示されているウェブページのURLをNFC通信によって送信する仕組みを有する。従って、携帯端末150に特別なアプリケーションプログラムをインストールしなくても、携帯端末150(OS)は、NFC通信を利用して、第2の組合せURLをMFP10に送信することができる。換言すると、携帯端末150(OS)は、NFC通信を利用して、第2の組合せURLのクエリ部に記述されているテンポラリIDをMFP10に送信することができる。
なお、メッセージ画面258a内のメッセージ300bは、テンポラリIDを含む。このために、携帯端末150が、メッセージ画面258a内のメッセージ300bを抽出し、NFC通信を利用して、メッセージ300bをMFP10に送信することによって、テンポラリIDをMFP10に供給する構成を採用することが考えられる。しかしながら、携帯端末150が、HTTP通信の結果としてウェブデータ(即ちメッセージデータ258)を受信する場合に、NFC通信を利用して、ウェブデータそのもの(もしくはウェブデータ内の一部の文字列)を送信するためには、携帯端末150に特別なアプリケーションプログラムをインストールする必要がある。このような実情に鑑みて、本実施例では、仲介サーバ50が、テンポラリIDが記述された第2の組合せURLを生成し(S40)、第2の組合せURLをページURLとして含むメッセージデータ258を携帯端末150に送信する構成を採用している。これにより、携帯端末150に特別なアプリケーションプログラムをインストールしなくても、携帯端末150(OS)は、NFC通信を利用して、第2の組合せURLをMFP10に送信することによって、テンポラリIDをMFP10に適切に供給することができる。
MFP10の受信部41は、NFC通信を利用して、携帯端末150(OS)から第2の組合せURLを受信する。この場合、S50では、MFP10の抽出部43は、第2の組合せURLからテンポラリIDを抽出する。具体的に言うと、抽出部43は、第2の組合せURLに含まれるクエリ部から、テンポラリIDの先頭を示す文字列「ID=」を探し出し、その文字列「ID=」より後ろに記述されている文字列「xyz」を抽出する。
次いで、MFP10の処理実行部42は、抽出済みのテンポラリIDを含むアクセストークン要求280を生成して、HTTP通信を利用して、アクセストークン要求280を仲介サーバ50に送信する。なお、アクセストークン要求280は、HTTPのGETコマンドであってもよいし、POSTコマンドであってもよい。
仲介サーバ50の第2の受信部82は、HTTP通信を利用して、MFP10からアクセストークン要求280を受信する。この場合、仲介サーバ50の第2の送信部84は、アクセストークン要求280に含まれるテンポラリID「xyz」に対応付けられているアクセストークン230をメモリ74から読み出す。そして、第2の送信部84は、HTTP通信を利用して、アクセストークン230をMFP10に送信する。
例えば、複数のユーザが図2及び図3の動作を同時的に実行する場合には、仲介サーバ50が、複数のユーザのための複数個のアクセストークンを、メモリ74に同時的に記憶させなければならない状況が起こり得る。従って、仮に、メモリ74において、テンポラリIDとアクセストークンとが対応付けられていなければ、仲介サーバ50は、アクセストークン要求280を受信する場合に、複数個のアクセストークンのうちのどのアクセストークンをMFP10に送信すればよいのかわからない。本実施例では、図2のS30において、仲介サーバ50は、アクセストークンとテンポラリIDとを対応付けて、メモリ74に格納させておく。これにより、仲介サーバ50は、MFP10からアクセストークン要求280を受信する場合に、テンポラリIDに対応付けられているアクセストークン230をMFP10に適切に送信することができる。
MFP10の処理実行部42は、HTTP通信を利用して、仲介サーバ50からアクセストークン230を受信する。この場合、処理実行部42は、アクセストークン230を用いて、サービス提供サーバ100からデータ供給サービスを受けるための処理を実行する。即ち、処理実行部42は、HTTP通信を利用して、アクセストークン230を含むファイル取得要求290(例えばHTTPのGETコマンド)をサービス提供サーバ100に送信する。
サービス提供サーバ100は、MFP10からファイル取得要求290を受信する場合に、ファイル取得要求290に含まれるアクセストークン230を用いて、認証を実行する。即ち、サービス提供サーバ100は、アクセストークン230がサービス提供サーバ100自身によって生成されたものであるのか否かを判断する。アクセストークン230の認証が成功すると、サービス提供サーバ100は、ユーザによって過去にサービス提供サーバ100にアップロードされたファイル292をMFP10に送信する。即ち、サービス提供サーバ100は、データ供給サービスを提供する。
MFP10の処理実行部42は、サービス提供サーバ100からファイル292を受信する場合に、ファイル292に含まれる画像データを印刷実行部18に供給する。印刷実行部18は、画像データによって表わされる画像を印刷媒体に印刷する。これにより、MFP10は、サービス提供サーバ100からデータ供給サービスを受けて、DL印刷処理を実行することができる。換言すると、携帯端末150のユーザは、携帯端末150を用いて、MFP10にDL印刷処理を実行させることができる。
(PC160が利用されるケースB;図5)
続いて、PC160が利用されるケースBについて説明する。PC160は、NFC通信を実行することができない。従って、PC160は、Wi−Fi通信を利用して(もしくは有線LANを介した有線通信を実行して)、図5及び図6に示される各通信を実行する。
ユーザは、PC160のブラウザを起動させて、キーボード、マウス等の操作装置を用いて、仲介サーバ50のURLをPC160に入力する。ここで入力される仲介サーバ50のURL「http://www.aa.com」は、図2のケースAにおいて、携帯端末150(OS)がNFC通信の結果としてMFP10から受信する仲介サーバ50のURLと同じものである。なお、仲介サーバ50のURLは、例えば、MFP10のための説明書等の中に記述されており、PC160のユーザに予め通知されている。
PC160は、仲介サーバ50のURLにアクセスする。即ち、PC160は、仲介サーバ50のURLを要求先URLとして含むGETコマンド210を仲介サーバ50に送信する。以降の各処理は、図2のケースAと同様である。
(ケースB1;図6(図5の続き))
PC160が仲介サーバ50からメッセージデータ258を受信するまでの各処理は、図3のケースA1と同様である。PC160は、仲介サーバ50からメッセージデータ258を受信する場合に、メッセージ画面258a(図4参照)を表示させる。ユーザは、PC160がNFC通信を実行不可能であることを知っている。このために、ユーザは、メッセージ画面258a内のメッセージ300bを見て、MFP10の操作部12を操作して、テンポラリID「xyz」をMFP10に入力する。
MFP10の処理実行部42は、テンポラリID「xyz」が入力される場合に、図3のケースA1と同様に、テンポラリID「xyz」を含むアクセストークン要求280を仲介サーバ50に送信して、仲介サーバ50からアクセストークン230を受信する。以降の各処理は、図3のケースA1と同様である。PC160のユーザは、PC160を用いて、MFP10にDL印刷処理を実行させることができる。
なお、本実施例では、図3のケースA1でも、図6のケースB1でも、MFP10の制御部30は、アクセストークン230を用いて、DL印刷処理を実行すると、アクセストークン230を破棄する(即ちメモリ34から消去する)。ただし、変形例では、制御部30は、アクセストークン230と、ユーザ名(例えば、操作部12に入力されるユーザ名)と、サービス提供サーバ100のサービス名と、を関連付けて、メモリ34に継続して記憶させてもよい。この場合、例えば、ユーザが、サービス提供サーバ100からデータ供給サービスを受けて、MFP10にDL印刷処理を再び実行させることを望む場合に、MFP10は、メモリ34内のアクセストークン230を用いて、DL印刷処理を実行することができる。
(第1実施例の効果)
仮に、MFP10がウェブサーバ機能を備えており、かつ、携帯端末150及びMFP10が同一のLANに接続されている場合には、ユーザは、メッセージ画面258a内のメッセージ300b(図4参照)からテンポラリIDを知得した後に、例えば、携帯端末150を用いて、MFP10のウェブサーバにアクセスし得る。そして、ユーザは、MFP10のウェブサーバから供給されるウェブ画面上でテンポラリIDを入力すれば、MFP10にテンポラリIDを供給し得る。しかしながら、上述したように、本実施例では、携帯端末150及びMFP10が同一のLANに接続されていない状況を想定している。このような状況では、携帯端末150は、HTTP通信を利用して、MFP10にアクセスすることができない。そこで、本実施例では、図2及び図3のケースA,A1に示されるように、携帯端末150及びMFP10が同一のLANに接続されていない状況でも、携帯端末150がMFP10にテンポラリIDを適切に供給するための技術を採用している。
即ち、仲介サーバ50は、サービス提供サーバ100からアクセストークン230を取得する場合に、テンポラリID「xyz」を生成して、テンポラリIDとアクセストークン230とを対応付けて、メモリ74に記憶させる(図2のS30)。そして、仲介サーバ50は、携帯端末150(ブラウザ)からGETコマンド252を受信する場合に、テンポラリIDが記述された第2の組合せURLを含むリダイレクトコマンド254を携帯端末150(ブラウザ)に送信する。携帯端末150(ブラウザ)は、GETコマンド256を仲介サーバ50に送信して、仲介サーバ50からメッセージデータ258を受信し、この結果、メッセージ画面258a(図4参照)を表示させる。
ユーザは、メッセージ画面258a内のメッセージ300aを見て、携帯端末150をMFC10に近づける。この結果、携帯端末150(OS)は、NFC通信を利用して、第2の組合せURLをMFP10に送信することによって、テンポラリIDをMFP10に供給する。従って、PC160が利用される場合(図5、図6参照)とは異なり、ユーザは、MFP10の操作部12を操作して、テンポラリIDをMFP10に入力しなくて済むために、テンポラリIDをMFP10に容易に供給することができる。特に、テンポラリIDを構成する文字数(例えばアルファベットの数)が多い場合には、本実施例の技術が効果的である。本実施例によると、ユーザの利便性を向上させることができる。
また、本実施例では、第2の組合せURL内のクエリ部にテンポラリIDが記述される。このために、携帯端末150は、OSプログラムに予め搭載されている仕組み、即ち、フォアグラウンドで動作しているメッセージ画面258aのページURLをNFC通信で送信する仕組みに従って、第2の組合せURLをMFP10に送信することができる。携帯端末150に特別なアプリケーションプログラムをインストールしなくても、携帯端末150(OS)は、NFC通信を利用して、テンポラリIDをMFP10に適切に送信することができる。
図5及び図6のケースB,B1に示されるように、ユーザが、NFC通信を実行不可能なPC160を用いて、MFP10にDL印刷処理を実行させることを望む可能性がある。このために、仲介サーバ50は、メッセージ300aのみならず、メッセージ300bを含むメッセージ画面258aを表わすメッセージデータ258を準備する。このために、NFC通信を実行可能な携帯端末150が利用される場合でも、NFC通信を実行不可能なPC160が利用される場合でも、ユーザは、テンポラリIDをMFP10に適切に供給することができる。
また、MFP10は、NFC通信を利用して、携帯端末150から第2の組合せURLを受信する場合に、第2の組合せURLからテンポラリIDを適切に抽出することができる。このために、MFP10は、テンポラリIDを用いて、仲介サーバ50からアクセストークン230を適切に取得することができる。また、MFP10は、アクセストークン230を用いて、サービス提供サーバ100からデータ供給サービスを受けて、DL印刷処理を適切に実行することができる。
(対応関係)
MFP10、仲介サーバ50、携帯端末150が、それぞれ、「通信装置」、「特定のサーバ」、「第1の端末装置」の一例である。Wi−Fi通信(即ちHTTP通信)、NFC通信が、それぞれ、「第1種の無線通信」、「第2種の無線通信」の一例である。リダイレクトコマンド254が、「第1の特定データ」及び「第1のアクセスコマンド」の一例である。GETコマンド252、アクセストークン要求280、リダイレクトコマンド250が、それぞれ、「第1の送信要求」、「特定の送信要求」、「第2のアクセスコマンド」の一例である。第2の組合せURL、戻りURLが、それぞれ、「第1の位置情報」、「第2の位置情報」の一例である。メッセージデータ258、メッセージ画面258a、メッセージ300aが、それぞれ、「第1のウェブデータ」、「第1のウェブ画面」、「第1のメッセージ」の一例である。テンポラリID、アクセストークン230が、それぞれ、「対象データ」、「認証情報」の一例である。アクセストークン要求280の送信処理及びDL印刷処理が、「特定の処理」の一例である。
(第2実施例)
第1実施例と異なる点を説明する。第1実施例では、仲介サーバ50は、NFC通信を実行可能な携帯端末150が利用される場合でも、NFC通信を実行不可能なPC160が利用される場合でも、同じメッセージ画面258aを携帯端末150及びPC160に表示させる。本実施例では、仲介サーバ50は、携帯端末150及びPC160に異なるメッセージ画面258a−1,258a−2(図9(A)、(B)参照)を表示させる。
(携帯端末150が利用されるケースA2;図7(図2の続き))
NFC通信を実行可能な携帯端末150が利用される場合には、図2のケースAと同様に、各通信及び各処理が実行される。その後、図7に示されるように、携帯端末150(ブラウザ)は、サービス提供サーバ100からリダイレクトコマンド250を受信する場合に、OS情報を含むGETコマンド252を仲介サーバ50に送信する。OS情報は、携帯端末150のOSプログラムの名称及びバージョン(例えばAndroid 4.0(登録商標)等)を示す。ウェブブラウザには、通常、OS情報を含むHTTPのGETコマンドを送信する仕組みが搭載されている。従って、携帯端末150に特別なアプリケーションをインストールしなくても、携帯端末150(ブラウザ)は、OS情報を含むGETコマンド252を仲介サーバ50に送信することができる。
仲介サーバ50のメモリ74は、公知の様々なOSプログラムについて、OS情報と、NFC通信をサポートしているのか否かを示すNFC情報と、が関連付けられている判断用情報を予め記憶している。MFP10のベンダは、公知の様々なOSプログラムを調査して、判断用情報をメモリ74に予め記憶させておく。
仲介サーバ50の判断部88は、携帯端末150(ブラウザ)からGETコマンド252を受信する場合に、GETコマンド252に含まれるOS情報と、メモリ74内の判断用情報と、を用いて、携帯端末150のOSプログラムがNFC通信をサポートしているのか否かを判断する。
メモリ74内の判断用情報では、携帯端末150のOSプログラムに関するOS情報と、NFC通信をサポートしていることを示すNFC情報と、が関連付けられている。従って、S32では、判断部88は、携帯端末150のOSプログラムがNFC通信をサポートしていると判断する。この場合、S42では、仲介サーバ50の準備部85は、後述のメッセージデータ258−1の位置を示すメッセージURLを、メモリ74から取得する。ここで取得されるメッセージURL「・・・message1」は、第1実施例の図3のS40で取得されるメッセージURL「・・・message」とは異なる。なお、「・・・」は、「http://www.aa.com/」を省略したものである。準備部85は、メッセージURLを示すドメイン部と、テンポラリIDが記述されたクエリ部と、を組み合わせることによって、第2の組合せURL「・・・message1?ID=xyz」を生成する。
メモリ74は、メッセージ画面258a−1(図9参照)を表わすメッセージデータ258−1を生成するための第1のテンプレートと、メッセージ画面258a−2(図9参照)を表わすメッセージデータ258−2を生成するための第2のテンプレートと、を予め記憶している。S42では、準備部85は、さらに、第1のテンプレートを用いて、メッセージデータ258−1を生成する。メッセージデータ258−1は、メッセージ300aを表わす文字データと、メッセージ300bを表わす文字データと、を含む(図9(A)参照)。
リダイレクトコマンド254−1及びGETコマンド256−1は、第2の組合せURLが異なる点を除くと、図3のリダイレクトコマンド254及びGETコマンド256と同様である。仲介サーバ50の制御部70は、携帯端末150(ブラウザ)からGETコマンド256−1を受信する場合に、メッセージデータ258−1を携帯端末150(ブラウザ)に送信する。
これにより、携帯端末150は、メッセージ画面258a−1(図9(A)参照)を表示させる。この結果、ユーザは、携帯端末150をMFP10に近づける。なお、OSプログラムがNFC通信をサポートしていても、NFCI/Fが設けられていない機器が存在し得ること、また、NFCI/Fが設けられていても、搭載されているOSプログラムが上記の非対応OSである機器(即ち、ウェブページのURLをNFC通信によって送信不可能である機器)が存在し得ることを考慮して、本実施例でも、メッセージ画面258a−1がメッセージ300bを含むように、上記の第1のテンプレートが構成されている。以降の各処理は、図3のケースA1と同様である。
(PC160が利用されるケースB2;図8(図5の続き))
NFC通信を実行不可能なPC160が利用される場合には、図5のケースBと同様に、各通信及び各処理が実行される。その後、図8に示されるように、携帯端末150(ブラウザ)は、OS情報を含むGETコマンド252を仲介サーバ50に送信する。
メモリ74内の判断用情報では、PC160のOSプログラム(例えばWindows(登録商標))に関するOS情報と、NFC通信をサポートしていないことを示すNFC情報と、が関連付けられている。従って、S34では、判断部88は、PC160のOSプログラムがNFC通信をサポートしていないと判断する。この場合、S44では、仲介サーバ50の準備部85は、後述のメッセージデータ258−2の位置を示すメッセージURLを、メモリ74から取得する。ここで取得されるメッセージURL「・・・message2」は、図7のS42で取得されるメッセージURL「・・・message1」とは異なる(即ち、リソース部が異なる)。準備部85は、図7のS42とは異なり、メッセージURLとクエリ部とを含む第2の組合せURLを生成しない。図9のケースB2では、NFC通信を利用してテンポラリIDをMFP10に供給することを想定していないために、テンポラリIDを含むクエリ部が必要ないからである。
S44では、準備部85は、さらに、上記の第2のテンプレートを用いて、メッセージデータ258−2を生成する。メッセージデータ258−2は、メッセージ300c(図9(B)参照)を表わす文字データを含む。ただし、メッセージデータ258−2は、NFC通信に関するメッセージ300a(図9(A)参照)を含まない。
リダイレクトコマンド254−2及びGETコマンド256−2は、第2の組合せURLの代わりに、メッセージURL「・・・message2」が利用される点を除くと、図6のリダイレクトコマンド254及びGETコマンド256と同様である。仲介サーバ50の制御部70は、携帯端末150(ブラウザ)からGETコマンド256−2を受信する場合に、メッセージデータ258−2を携帯端末150(ブラウザ)に送信する。
これにより、携帯端末150は、メッセージ画面258a−2(図9(B)参照)を表示させる。これにより、ユーザは、MFP10の操作部12を操作して、テンポラリIDをMFP10に入力する。以降の各処理は、図6のケースB1と同様である。
上述したように、本実施例では、仲介サーバ50は、NFC通信を実行可能な携帯端末150が利用される場合には、NFC通信に関するメッセージ300aを含むメッセージ画面258a−1を携帯端末150に適切に表示させることができる。一方において、仲介サーバ50は、NFC通信を実行不可能なPC160が利用される場合には、NFC通信に関するメッセージ300aを含まず、MFP10の操作に関するメッセージ300cを含むメッセージ画面258a−2をPC160に適切に表示させることができる。
本実施例では、携帯端末150及びPC160が、「第1の端末装置」の一例である。OS情報が、「関係情報」の一例である。図7のケースA2、図8のケースB2が、それぞれ、「第1の場合」、「第2の場合」の一例である。リダイレクトコマンド254−1、リダイレクトコマンド254−2が、それぞれ、「第1の特定データ」、「第2の特定データ」の一例である。メッセージ画面258a−1、メッセージ画面258a−2が、それぞれ、「第1のウェブ画面」、「第2のウェブ画面」の一例である。メッセージ300a、メッセージ300cが、それぞれ、「第1のメッセージ」、「第2のメッセージ」の一例である。
(第3実施例)
本実施例では、仲介サーバ50は、携帯端末150及びPC160に異なるメッセージ画面258b−1,258a−2(図9(C)、(B)参照)を表示させる。図9(C)に示されるように、メッセージ画面258b−1は、メッセージ300aと、メッセージ300dと、を含む。メッセージ300dは、携帯端末150をMFP10に近づけても反応がない場合に、MFP10の操作部12を操作して、テンポラリIDを入力することをユーザに促すためのメッセージである。即ち、メッセージ300dは、メッセージ300b(図9(A)参照)とは異なり、NFCI/Fが設けられていない機器のユーザに向けてのメッセージ(即ち「NFCI/Fを備えていない場合には」)を含まない。後で説明するように、本実施例では、仲介サーバ50は、携帯端末150がNFCI/F16を備えていることを確実に把握することができるからである。以下では、第2実施例と異なる点を説明する。
(携帯端末150が利用されるケース)
MFP10のメモリ34は、NFC通信を利用して携帯端末150に送信されるべき仲介サーバ50のURLとして、第1実施例のURL「http://www.aa.com」に代えて、NFC用URL「http://www.aa.com/nfc」を予め記憶している。従って、図2のNFC接続が確立される際に、MFP10の制御部30は、NFC通信を利用して、NFC用URL「・・・nfc」を携帯端末150(OS)に送信する。
従って、図2において、GETコマンド210内の要求先URLは、NFC用URL「・・・nfc」である。仲介サーバ50の制御部70は、NFC用URLを含むGETコマンド210を受信する場合には、リソース部「nfc」に対応するプログラムに従って動作し、その後、リダイレクトコマンド216を送信する際に、戻りURLとして、第1実施例の「・・・id」に代えて、「・・・nfc/id」を利用する。この結果、図3において、リダイレクトコマンド250及びGETコマンド252は、URL「・・・nfc/id」を含む。仲介サーバ50の準備部85は、URL「・・・nfc/id」を含むGETコマンド252を受信する場合には、当該URLのリソース部「nfc/id」に対応するプログラムに従って動作する。即ち、図7のS42において、準備部85は、メモリ74に予め記憶されている第3のテンプレートを用いて、メッセージ画面258b−1(図9(C)参照)を表わすメッセージデータ258−1を生成する。これにより、携帯端末150は、メッセージ画面258b−1を表示させることができる。他の処理は、図7のケースA2と同様である。
(PC160が利用されるケース)
MFP10のための説明書等では、第1実施例のURL「http://www.aa.com」に代えて、非NFC用URL「http://www.aa.com/nonfc」が記述されている。非NFC用URL「・・・nonfc」は、上記のNFC用URL「・・・nfc」とは異なる(即ち、リソース部が異なる)。図5において、ユーザは、PC160に非NFC用URLを入力する。
従って、図5において、GETコマンド210内の要求先URLは、非NFC用URL「・・・nonfc」である。仲介サーバ50の制御部70は、非NFC用URLを含むGETコマンド210を受信する場合には、リソース部「nonfc」に対応するプログラムに従って動作し、その後、リダイレクトコマンド216を送信する際に、戻りURLとして、第1実施例の「・・・id」に代えて、「・・・nonfc/id」を利用する。この結果、図6において、リダイレクトコマンド250及びGETコマンド252は、URL「・・・nonfc/id」を含む。仲介サーバ50の準備部85は、URL「・・・nonfc/id」を含むGETコマンド252を受信する場合に、第2実施例の図8のケースB2と同様に、S44を実行して、リダイレクトコマンド254−2及びメッセージデータ258−2を準備する。これにより、PC160は、メッセージ画面258a−2(図9(B)参照)を表示させることができる。他の処理は、図8のケースB2と同様である。
このように、本実施例では、NFC用URL「・・・nfc」と非NFC用URL「・・・nonfc」とが異なる。このように2つのURLが利用されるために、仲介サーバ50は、GETコマンド252内のURLがリソース部「nfc/id」を含む場合に、携帯端末150がNFCI/F16を備えることを確実に把握することができる。このために、仲介サーバ50は、GETコマンド252(図3、図6参照)を受信する場合に、GETコマンド252内のURL(即ち、リソース部「nfc/id」又は「nonfc/id」)に応じて、携帯端末150及びPC160に適切なメッセージ画面258b−1,258a−2(図9(C)、(B)参照)を表示させることができる。即ち、NFCI/Fを備える携帯端末150に適切なメッセージ画面258b−1を表示させることができ、NFCI/Fを備えるか定かでない機器に適切なメッセージ画面258a−2を表示させることができる。特に、メッセージ画面258b−1に表示されるメッセージ300dは、NFCI/Fが設けられていない機器のユーザに向けてのメッセージを含まない。従って、NFCI/Fを備える携帯端末150に、不要なメッセージが表示されることを抑制することができる。
第2実施例では、MFP10のベンダは、仲介サーバ50のメモリ74に判断用情報を予め記憶させる必要があるが、本実施例では、このような作業が必要ない。また、第2実施例では、仮に、判断用情報の内容が正確でない場合には、例えば、NFC通信を実行可能な携帯端末150が利用される状況であるにも関わらず、メッセージ画面258a−2(図9(B)参照)が表示される事象が発生する可能性がある。本実施例では、判断用情報に従った判断が実行されないので、上記の事象が発生するのを抑制することができ、携帯端末150、PC160に、それぞれ、メッセージ画面258b−1、メッセージ画面258a−2を確実に表示させることができる。
本実施例では、携帯端末150、PC160が、それぞれ、「第1の端末装置」、「第2の端末装置」の一例である。URL「・・・nfc/id」、URL「・・・nonfc/id」が、それぞれ、「第3の位置情報」、「第4の位置情報」の一例である。また、URL「・・・nfc/id」を含むGETコマンド252、URL「・・・nonfc/id」を含むGETコマンド252が、それぞれ、「第1の送信要求」、「第2の送信要求」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
(変形例1)上記の第1実施例では、図3のS40において、仲介サーバ50の準備部85は、テンポラリID「xyz」が記述された第2の組合せURLを含むリダイレクトコマンド254を生成する。この結果、リダイレクトコマンド254及びGETコマンド256の通信の後に、メッセージデータ258が携帯端末150(ブラウザ)に送信される。これに代えて、S40において、準備部85は、第2の組合せURLを生成せず、GETコマンド252のレスポンスとして送信されるべきメッセージデータ258を準備してもよい。即ち、準備部85は、テンポラリIDが記述されていない戻りURL「・・・id」をページURLとして含むメッセージデータ258を準備し、さらに、メッセージデータ258内の所定部分(即ちページURLとは異なる部分)にテンポラリID「xyz」を記述してもよい。そして、仲介サーバ50の第1の送信部83は、GETコマンド252のレスポンスとして、メッセージデータ258を携帯端末150に送信してもよい(即ち、リダイレクトコマンド254及びGETコマンド256の通信を省略してもよい)。
第1実施例では、携帯端末150(OS)は、メッセージデータ258内の上記の所定部分からテンポラリIDを抽出し、NFC通信を利用して、テンポラリIDをMFP10に送信するという一連の処理を実行することができない。即ち、このような一連の処理を携帯端末150に実行させるためには、携帯端末150に特別なアプリケーションをインストールしなければならない。ただし、本変形例では、携帯端末150(OS)は、上記の一連の処理を実行することができる。従って、携帯端末150に特別なアプリケーションをインストールしなくても、携帯端末150(OS)は、メッセージデータ258内の上記の所定部分からテンポラリIDを抽出し、NFC通信を利用して、テンポラリIDをMFP10に送信することができる。本変形例によると、リダイレクトコマンド254及びGETコマンド256の通信を省略することができる。なお、本変形例では、上記の所定部分にテンポラリID「xyz」が記述されているメッセージデータ258が、「第1の特定データ」の一例である。一般的に言うと、「第1の特定データ」は、対象データを含むデータであって、第1のウェブ画面を第1の端末装置に表示させるためのデータであればよい。
(変形例2)「対象データ」は、テンポラリIDに限られず、特定のサーバ(例えば仲介サーバ50)から第1の端末装置(例えば携帯端末150)を介して通信装置(例えばMFP10)に供給されるべきデータであれば、どのようなデータであってもよい。例えば、特定のサーバは、ユーザによって登録されるアドレス帳を格納するためのサーバであってもよい。この場合、「対象データ」は、例えば、上記のアドレス帳を示すデータであってもよい。また、例えば、特定のサーバは、通信装置が新たに利用すべき設定情報を格納するためのサーバであってもよい。この場合、「対象データ」は、例えば、上記の設定情報を示すデータであってもよい。設定情報の一例として、例えば、印刷解像度、印刷用紙のサイズ等を示す印刷設定情報、スキャン解像度、スキャンデータのファイル形式等を示すスキャン設定情報等を挙げることができる。
(変形例3)MFP10がサービス提供サーバ100から受けるサービスは、データ供給サービスに限られない。例えば、図3のケースA1において、MFP10の処理実行部42は、ファイル取得要求290を送信するのに代えて、原稿のスキャンをスキャン実行部20に実行させて、スキャンデータを生成してもよい。そして、処理実行部42は、スキャンデータとアクセストークン230とを含むファイル保存要求(例えばHTTPのPOSTコマンド)をサービス提供サーバ100に送信してもよい。この場合、サービス提供サーバ100は、アクセストークン230の認証が成功すると、スキャンデータを含むファイルをサービス提供サーバ100のメモリ(図示省略)に格納する。即ち、サービス提供サーバ100は、データ保存サービスを提供する。これにより、MFP10は、サービス提供サーバ100からデータ保存サービスを受けて、スキャンUL処理を実行することができる。換言すると、ユーザは、携帯端末150を用いて、MFP10にスキャンUL処理を実行させることができる。本変形例では、アクセストークン要求280の送信処理及びスキャンUL処理が、「特定の処理」の一例である。また、「特定の処理」は、他の処理(例えば、対象データを印刷する処理等)であってもよい。
(変形例4)「認証情報」は、アクセストークンに限られず、サービス提供サーバ100,110が認証に利用する他の情報(例えば、ユーザID、パスワード等)であってもよい。
(変形例5)「第1種の無線通信」は、Wi−Fi通信(即ちHTTP通信)に限られず、例えば、IMT2000(International Mobile Telecommunication 2000の略)の規格に準拠した3G等の無線通信であってもよい。また、HTTP通信に代えて、ウェブデータを通信するための他のプロトコル(例えばHTTPに準ずるHTTPS等)に従った通信が利用されてもよい。また、「第2種の無線通信」は、NFC通信に限られず、例えば、赤外線通信、BlueTooth(登録商標)通信等であってもよい。
(変形例6)上記の各実施例では、「携帯端末をMFPに近づけてください」というメッセージ300aを含むメッセージ画面258aが、「第1のウェブ画面」の一例である。これに代えて、「第1のウェブ画面」は、「携帯端末にNFC通信を実行させてください」というメッセージを含んでいてもよい。即ち、「第1のウェブ画面」は、端末装置に第2種の無線通信を実行させることを示すメッセージを含んでいてもよい。より一般的に言うと、「第1のウェブ画面」は、第2種の無線通信を利用して通信装置に対象データを送信するための手法を示していればよい。
(変形例7)仲介サーバ50は、別体に構成されている2個以上の機器によって構成されていてもよい。例えば、仲介サーバ50は、図2のGETコマンド210を受信する場合に、サービスリストデータ212を送信する処理を実行するための第1の機器と、図3のGETコマンド252を受信して、S40以降の処理を実行するための第2の機器と、によって構成されてもよい。一般的に言うと、「特定のサーバ」は、物理的に一個の機器によって構成されてもよいし、別体に構成されている2個以上の機器によって構成されてもよい。
(変形例8)上記の各実施例では、MFP10及び仲介サーバ50のCPU32,72がソフトウェアに従って処理を実行することによって、各部41〜43,81〜88の機能が実現される。これに代えて、各部41〜43,81〜88の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
2:通信システム、10:MFP、50:仲介サーバ、100,100:サービス提供サーバ、150:携帯端末、160:PC、210,218,252,256:GETコマンド、212:サービスリストデータ、212a:サービスリスト画面、214,222:POSTコマンド、216,250,254:リダイレクトコマンド、220:ログインデータ、220a:ログイン画面、230:アクセストークン、258:メッセージデータ、258a:メッセージ画面、280:アクセストークン要求、290:ファイル取得要求

Claims (9)

  1. 特定のサーバであって、
    ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、第1の送信要求を送信する場合に、前記第1の送信要求を受信する第1の受信部と、
    前記第1の送信要求が受信される場合に、対象データを含む第1の特定データを準備する準備部であって、前記第1の特定データは、前記第1の端末装置が、前記第1種の無線通信とは異なる第2種の無線通信を利用して、前記第1の端末装置とは異なる通信装置に前記対象データを送信するための手法を示す第1のウェブ画面を、前記第1の端末装置に表示させるためのデータであるとともに、前記対象データを含む第1の位置情報であって、前記第1のウェブ画面を表わす第1のウェブデータの位置を示す前記第1の位置情報へのアクセスを指示する第1のアクセスコマンドである、前記準備部と、
    前記第1の特定データを前記第1の端末装置に送信する第1の送信部と、
    を備える特定のサーバ。
  2. 特定のサーバであって、
    前記特定のサーバとは異なるサービス提供サーバから認証情報を取得する取得部であって、前記認証情報は、通信装置が前記サービス提供サーバからサービスを受けるための情報である、前記取得部と、
    前記サービス提供サーバから前記認証情報が取得される場合に、前記通信装置が前記認証情報を前記特定のサーバから取得するための対象データを生成して、前記認証情報と前記対象データとを対応付けてメモリに記憶させる生成部と、
    ウェブブラウザを備える第1の端末装置であって、前記通信装置とは異なる前記第1の端末装置が、第1種の無線通信を利用して、第1の送信要求を送信する場合に、前記第1の送信要求を受信する第1の受信部と、
    前記第1の送信要求が受信される場合に、前記対象データを含む第1の特定データを生成することによって、前記第1の特定データを準備する準備部であって、前記第1の特定データは、前記第1の端末装置が、前記第1種の無線通信とは異なる第2種の無線通信を利用して、前記通信装置に前記対象データを送信するための手法を示す第1のウェブ画面を、前記第1の端末装置に表示させるためのデータである、前記準備部と、
    前記第1の特定データを前記第1の端末装置に送信する第1の送信部と、
    を備える特定のサーバ。
  3. 前記特定のサーバは、さらに、
    前記第1の特定データが前記第1の端末装置に送信された後に、前記通信装置から、前記対象データを含む特定の送信要求を受信する第2の受信部と、
    前記特定の送信要求が受信される場合に、前記特定の送信要求に含まれる前記対象データに対応付けられている前記認証情報を前記メモリから読み出して、前記認証情報を前記通信装置に送信する第2の送信部と、
    を備える、請求項に記載の特定のサーバ。
  4. 前記第1の送信要求は、前記第1の端末装置が、前記サービス提供サーバから、前記特定のサーバ内の位置を示す第2の位置情報へのアクセスを指示する第2のアクセスコマンドを受信する場合に、前記第2の位置情報を用いて、前記特定のサーバに送信する要求である、請求項又はに記載の特定のサーバ。
  5. 特定のサーバであって、
    ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、第1の送信要求を送信する場合に、前記第1の送信要求を受信する第1の受信部と、
    前記第1の送信要求が受信される場合に、対象データを含む第1の特定データを準備する準備部であって、前記第1の特定データは、前記第1の端末装置が、前記第1種の無線通信と比べて無線通信可能な距離が短い近距離無線通信である第2種の無線通信を利用して、前記第1の端末装置とは異なる通信装置に前記対象データを送信するための手法を示す第1のウェブ画面を、前記第1の端末装置に表示させるためのデータであり、前記第1のウェブ画面は、前記第1の端末装置を前記通信装置に近づけることを示す第1のメッセージを含む、前記準備部と、
    前記第1の特定データを前記第1の端末装置に送信する第1の送信部と、
    を備える特定のサーバ。
  6. 前記第1の送信要求は、さらに、前記第1の端末装置に搭載されているプログラムに関係する関係情報を含み、
    前記特定のサーバは、さらに、
    前記関係情報に基づいて、前記プログラムが前記第2種の無線通信をサポートするのか否かを判断する判断部を備え、
    前記準備部は、
    前記プログラムが前記第2種の無線通信をサポートすると判断される第1の場合に、前記第1のメッセージを含む前記第1のウェブ画面を、前記第1の端末装置に表示させるための前記第1の特定データを準備し、
    前記プログラムが前記第2種の無線通信をサポートしないと判断される第2の場合に、前記第1のメッセージを含まない第2のウェブ画面であって、前記通信装置を操作して前記対象データを前記通信装置に入力することを示す第2のメッセージを含む前記第2のウェブ画面を、前記第1の端末装置に表示させるための第2の特定データを準備し、
    前記第1の送信部は、
    前記第1の場合に、前記第1の特定データを前記第1の端末装置に送信し、
    前記第2の場合に、前記第2の特定データを前記第1の端末装置に送信する、請求項に記載の特定のサーバ。
  7. 前記第1の受信部は、
    前記第2種の無線通信をサポートする前記第1の端末装置が、前記特定のサーバ内の位置を示す第3の位置情報を用いて、前記第1の送信要求を前記特定のサーバに送信する場合に、前記第1の送信要求を受信し、
    前記第2種の無線通信をサポートしない第2の端末装置が、前記特定のサーバ内の位置を示す第4の位置情報であって、前記第3の位置情報とは異なる前記第4の位置情報を用いて、第2の送信要求を前記特定のサーバに送信する場合に、前記第2の送信要求を受信し、
    前記準備部は、さらに、前記第2の送信要求が受信される場合に、前記第1のメッセージを含まない第2のウェブ画面であって、前記通信装置を操作して前記対象データを前記通信装置に入力することを示す第2のメッセージを含む前記第2のウェブ画面を、前記第2の端末装置に表示させるための第2の特定データを準備し、
    前記第1の送信部は、さらに、前記第2の送信要求が受信される場合に、前記第2の特定データを前記第2の端末装置に送信する、請求項に記載の特定のサーバ。
  8. 通信装置であって、
    ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、特定のサーバから、対象データを含む第1の特定データを受信した結果として、前記第1の端末装置が、前記第1種の無線通信とは異なる第2種の無線通信を利用して、前記対象データを含む第1の位置情報を前記通信装置に送信する場合に、前記第2種の無線通信を利用して、前記第1の位置情報を受信する受信部であって、前記第1の特定データは、前記第1の端末装置が、前記第2種の無線通信を利用して、前記通信装置に前記対象データを送信するための手法を示す第1のウェブ画面を、前記第1の端末装置に表示させるためのデータであるとともに、前記第1のウェブ画面を表わす第1のウェブデータの位置を示す前記第1の位置情報へのアクセスを指示する第1のアクセスコマンドである、前記受信部と、
    前記第1の位置情報から前記対象データを抽出する抽出部と、
    抽出済みの前記対象データを用いて、特定の処理を実行する処理実行部と、
    を備え
    前記受信部は、前記第1の端末装置が、前記第1のアクセスコマンドに従って前記第1の位置情報にアクセスして、前記第1のウェブ画面を表示させた後に、前記第2種の無線通信を利用して、前記第1の位置情報を前記通信装置に送信する場合に、前記第2種の無線通信を利用して、前記第1の位置情報を受信する通信装置。
  9. 特定のサーバのためのコンピュータプログラムであって、
    前記特定のサーバに搭載されるコンピュータに、以下の各処理、即ち、
    ウェブブラウザを備える第1の端末装置が、第1種の無線通信を利用して、第1の送信要求を送信する場合に、前記第1の送信要求を受信する第1の受信処理と、
    前記第1の送信要求が受信される場合に、対象データを含む第1の特定データを準備する準備処理であって、前記第1の特定データは、前記第1の端末装置が、前記第1種の無線通信とは異なる第2種の無線通信を利用して、前記第1の端末装置とは異なる通信装置に前記対象データを送信するための手法を示す第1のウェブ画面を、前記第1の端末装置に表示させるためのデータであるとともに、前記対象データを含む第1の位置情報であって、前記第1のウェブ画面を表わす第1のウェブデータの位置を示す前記第1の位置情報へのアクセスを指示する第1のアクセスコマンドである、前記準備処理と、
    前記第1の特定データを前記第1の端末装置に送信する第1の送信処理と、
    を実行させるコンピュータプログラム。
JP2012218125A 2012-09-28 2012-09-28 特定のサーバ及び通信装置 Active JP5958254B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012218125A JP5958254B2 (ja) 2012-09-28 2012-09-28 特定のサーバ及び通信装置
US14/020,026 US9232395B2 (en) 2012-09-28 2013-09-06 System, server, communication device and computer readable medium therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012218125A JP5958254B2 (ja) 2012-09-28 2012-09-28 特定のサーバ及び通信装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016124157A Division JP6471728B2 (ja) 2016-06-23 2016-06-23 特定のサーバ及び通信装置

Publications (2)

Publication Number Publication Date
JP2014071730A JP2014071730A (ja) 2014-04-21
JP5958254B2 true JP5958254B2 (ja) 2016-07-27

Family

ID=50386588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012218125A Active JP5958254B2 (ja) 2012-09-28 2012-09-28 特定のサーバ及び通信装置

Country Status (2)

Country Link
US (1) US9232395B2 (ja)
JP (1) JP5958254B2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780637B (zh) * 2012-10-18 2016-12-21 腾讯科技(深圳)有限公司 信息共享装置及方法
US9807085B2 (en) * 2013-03-15 2017-10-31 Veracode, Inc. Systems and methods for automated detection of login sequence for web form-based authentication
JP6179228B2 (ja) * 2013-07-09 2017-08-16 株式会社リコー 情報処理装置、画像処理システム及び制御プログラム
JP6338344B2 (ja) * 2013-10-04 2018-06-06 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
WO2015070582A1 (zh) * 2013-11-18 2015-05-21 珠海金山网络游戏科技有限公司 文件共享方法、装置及移动设备
CN104702635B (zh) * 2013-12-04 2019-09-20 腾讯科技(深圳)有限公司 浏览器传输文件的方法和装置
JP6668610B2 (ja) * 2014-06-19 2020-03-18 株式会社リコー プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP6478523B2 (ja) * 2014-08-21 2019-03-06 キヤノン株式会社 印刷装置、その制御方法、およびプログラム
JP6803109B2 (ja) * 2014-12-26 2020-12-23 キヤノンマーケティングジャパン株式会社 認証システム、その制御方法、及びプログラム、並びに、認証サーバ、その制御方法、及びプログラム
JP6413838B2 (ja) * 2015-02-27 2018-10-31 ブラザー工業株式会社 画像形成装置、サーバ装置、通信システム、及びプログラム
JP6240125B2 (ja) * 2015-08-10 2017-11-29 キヤノン株式会社 情報処理装置と情報処理装置を制御するプログラム、及びその制御方法
JP6582741B2 (ja) * 2015-08-27 2019-10-02 ブラザー工業株式会社 中継装置及び通信システム
JP6593073B2 (ja) * 2015-09-30 2019-10-23 ブラザー工業株式会社 通信装置のためのコンピュータプログラム
JP6724338B2 (ja) * 2015-10-30 2020-07-15 ブラザー工業株式会社 通信機器
JP7175584B2 (ja) 2015-10-30 2022-11-21 キヤノン株式会社 携帯端末、情報表示方法およびプログラム
KR20170070649A (ko) * 2015-12-14 2017-06-22 에스프린팅솔루션 주식회사 화상형성장치, 클라우드 서버, 화상형성시스템 및 화상형성장치와의 연결 설정 방법
JP2017151514A (ja) * 2016-02-22 2017-08-31 富士ゼロックス株式会社 プログラム及び情報処理装置
JP6658221B2 (ja) * 2016-03-31 2020-03-04 ブラザー工業株式会社 通信装置
JP6743622B2 (ja) * 2016-09-28 2020-08-19 ブラザー工業株式会社 中継サーバ及びシステム
US10904069B2 (en) * 2016-11-29 2021-01-26 Brother Kogyo Kabushiki Kaisha Communication apparatus executing specific process related to security
JP7180075B2 (ja) * 2018-02-09 2022-11-30 ブラザー工業株式会社 通信システム、通信装置、及び、端末装置のためのコンピュータプログラム
JP7119844B2 (ja) * 2018-03-05 2022-08-17 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP7028117B2 (ja) * 2018-09-12 2022-03-02 株式会社リコー 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP7135655B2 (ja) * 2018-09-21 2022-09-13 富士フイルムビジネスイノベーション株式会社 情報処理装置、データ管理装置及びプログラム
US11153401B2 (en) * 2018-09-28 2021-10-19 Ricoh Company, Ltd. Information processing system, information processing apparatus, and method of processing information
EP3672308B1 (de) * 2018-12-14 2021-08-25 Deutsche Telekom AG Authorization method and terminal for releasing or blocking resources
FR3091143B1 (fr) 2018-12-28 2021-04-02 Combagroup Sa Support de culture hors sol
JP6822511B2 (ja) * 2019-04-24 2021-01-27 ブラザー工業株式会社 通信システム、画像形成装置、サーバ、及びプログラム
US11551200B1 (en) 2019-09-18 2023-01-10 Wells Fargo Bank, N.A. Systems and methods for activating a transaction card
CN111045625B (zh) * 2019-12-11 2023-04-25 广州市统云网络科技有限公司 一种公共场所显示屏信息发布的安全管理方法
CN111741453A (zh) * 2020-05-29 2020-10-02 拉卡拉支付股份有限公司 蓝牙数据封装通信方法及装置
CN112887191B (zh) * 2021-01-08 2022-07-26 Oppo广东移动通信有限公司 信息展示控制方法及相关装置
US11818102B2 (en) * 2021-04-16 2023-11-14 Nokia Technologies Oy Security enhancement on inter-network communication

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318756A (ja) * 2001-04-19 2002-10-31 Fuji Photo Film Co Ltd プリント・システム
JP2004246821A (ja) 2003-02-17 2004-09-02 Ufj Card Co Ltd 情報システム
JP4852938B2 (ja) 2005-09-02 2012-01-11 富士ゼロックス株式会社 データサーバ及びデータ管理方法及びプログラム
JP4935274B2 (ja) 2006-09-27 2012-05-23 大日本印刷株式会社 サーバ及びプログラム
JP2009282561A (ja) 2008-05-19 2009-12-03 Kddi Corp ユーザ認証システム、ユーザ認証方法およびプログラム
US8433896B2 (en) * 2009-09-29 2013-04-30 Oracle International Corporation Simplifying addition of web servers when authentication server requires registration
JP5803544B2 (ja) 2010-11-04 2015-11-04 ブラザー工業株式会社 通信システム、中継装置、通信装置、中継方法、および通信方法
US10453062B2 (en) * 2011-03-15 2019-10-22 Capital One Services, Llc Systems and methods for performing person-to-person transactions using active authentication

Also Published As

Publication number Publication date
JP2014071730A (ja) 2014-04-21
US20140096202A1 (en) 2014-04-03
US9232395B2 (en) 2016-01-05

Similar Documents

Publication Publication Date Title
JP5958254B2 (ja) 特定のサーバ及び通信装置
JP6098095B2 (ja) 特定のサーバ及び通信装置
JP5954127B2 (ja) 制御サーバ、データ処理装置、及び、データ処理装置のための制御装置
JP6070466B2 (ja) 端末装置とプリンタ
US8810839B2 (en) Information processing apparatus for transferring image data, server apparatus for receiving transferred image data, and control methods and storage media therefor
JP6098423B2 (ja) 端末装置とプリンタ
JP6347146B2 (ja) 画像記録装置、記録システム、及びプログラム
US11570830B2 (en) Communication system, non-transitory computer-readable recording medium storing connection application for terminal, and communication device for establishing wireless connection between pair of devices
JP6471728B2 (ja) 特定のサーバ及び通信装置
JP2021060974A (ja) プログラム、情報処理システム、情報処理方法、情報処理装置
JP6702452B2 (ja) 特定のサーバ及び通信装置
JP6083296B2 (ja) 制御サーバ、通信システム、及び、携帯端末のためのコンピュータプログラム
JP6288167B2 (ja) 制御サーバ、データ処理装置、及び、データ処理装置のための制御装置
JP2017045293A (ja) 中継装置及び通信システム
JP6844107B2 (ja) プログラム、fax装置、及び携帯端末
JP6406060B2 (ja) 画像形成装置、サーバ装置、携帯端末、及び通信システム
JP2019070981A (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP2022069802A (ja) 出力システム、情報処理システム、情報処理装置、認証方法
JP6245331B2 (ja) 端末装置とプリンタ
US20230171319A1 (en) Communication system, communication method, and non-transitory recording medium
JP6593073B2 (ja) 通信装置のためのコンピュータプログラム
JP2023118487A (ja) プログラム、情報処理システム、端末装置、出力方法
JP2016189069A (ja) デバイス制御システム、デバイス制御Webページへの誘導方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R150 Certificate of patent or registration of utility model

Ref document number: 5958254

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150