説明

仲介サーバ及び通信装置

【課題】 多機能機10及びサービス提供サーバ100が複数個の画像データを適切に通信し得る技術を提供すること。
【解決手段】 仲介サーバ50は、複数個のテンプレート212,232を準備して、多機能機10に供給する。複数個のテンプレート212,232のそれぞれは、タイムスタンプを含む。多機能機10は、複数個のテンプレート212,232を用いて、複数個のPOSTコマンド214,234を生成する。多機能機10は、複数個のPOSTコマンド214,234をサービス提供サーバ100に送信することによって、サービス提供サーバ100から複数個の画像データ216,236をダウンロードする。仲介サーバ50は、テンプレート212を準備した後に、多機能機10がPOSTコマンド214をサービス提供サーバ100に送信したことを条件として、テンプレート232を準備する。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、通信装置と特定のサーバとの間の通信を仲介するための仲介サーバを開示する。本明細書では、さらに、仲介サーバを介して特定のサーバと通信するための通信装置を開示する。
【背景技術】
【0002】
例えば、特許文献1には、文書をスキャンして画像データを生成する画像処理装置が開示されている。画像処理装置は、上記の画像データをサーバにアップロードすることが可能である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−269250号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、通信装置及び特定のサーバが複数個の対象データを適切に通信し得る技術を提供する。
【課題を解決するための手段】
【0005】
本明細書では、通信装置と特定のサーバとの間の通信を仲介するための仲介サーバを開示する。仲介サーバは、通知受信部と準備部と供給部とを備える。通知受信部は、通信装置と特定のサーバとの間で通信されるべき複数個の対象データを特定するための複数個のデータ特定情報を含む1個の通知を、通信装置から受信する。準備部は、通信装置から1個の通知が受信される場合に、1個の通知に含まれる複数個のデータ特定情報を用いて、複数個の対象データに対応する複数個の要求生成用データを準備する。複数個の要求生成用データのそれぞれは、通信装置が、当該1個の要求生成用データに対応する1個の対象データを特定のサーバと通信するための1個の通信要求を生成するのに必要なデータである。複数個の要求生成用データのそれぞれは、当該1個の要求生成用データが準備されたタイミングに関係するタイミング情報を含む。供給部は、複数個の要求生成用データを、通信装置に供給する。準備部は、複数個の対象データのうちの第1の対象データに対応する第1の要求生成用データを準備した後に、通信装置が、第1の要求生成用データを用いて第1の通信要求を生成して、第1の通信要求を特定のサーバに送信したことを条件として、複数個の対象データのうちの第2の対象データに対応する第2の要求生成用データを準備する。
【0006】
上記の構成によると、仲介サーバは、第1の要求生成用データを準備して、通信装置に供給する。この場合、通信装置は、第1の要求生成用データを用いて第1の通信要求を生成して、特定のサーバに送信する。その後、仲介サーバは、第2の要求生成用データを準備する。従って、仲介サーバが、適切なタイミングで第2の要求生成用データを準備し得るために、第2の要求生成用データが、適切なタイミング情報を含み得る。この結果、通信装置及び特定のサーバは、複数個の対象データを適切に通信し得る。
【0007】
準備部は、通信装置が第1の通信要求を特定のサーバに送信することによって、通信装置と特定のサーバとの間で第1の対象データの通信が終了したことを条件として、第2の要求生成用データを準備してもよい。この構成によると、仲介サーバが、適切なタイミングで第2の要求生成用データを準備し得るために、第2の要求生成用データが、適切なタイミング情報を含み得る。この結果、通信装置及び特定のサーバは、複数個の対象データを適切に通信し得る。
【0008】
準備部は、通信装置から1個の通知が受信される場合に、1個の通知に含まれる複数個のデータ特定情報を含むリストを、通信装置に送信してもよい。準備部は、リストに含まれる複数個のデータ特定情報の中から通信装置によって選択される第1のデータ特定情報であって、第1の対象データを特定するための第1のデータ特定情報を含む第1のリクエストが、通信装置から受信される場合に、第1の要求生成用データを準備してもよい。準備部は、リストに含まれる複数個のデータ特定情報の中から通信装置によって選択される第2のデータ特定情報であって、第2の対象データを特定するための第2のデータ特定情報を含む第2のリクエストが、通信装置から受信される場合に、第2の要求生成用データを準備してもよい。第2のリクエストは、通信装置が第1の通信要求を特定のサーバに送信した後に、通信装置から受信されるリクエストであってもよい。この構成によると、仲介サーバは、通信装置から受信される第1及び第2のリクエストに応じて、適切なタイミングで第1及び第2の要求生成用データを準備し得る。
【0009】
準備部は、第1のリクエストが通信装置から受信される場合に、第1のリクエストに含まれる第1のデータ特定情報を用いて、第1の対象データの通信対象である特定のサーバ内の第1の位置情報を、特定のサーバから取得して、第1の位置情報を用いて、第1の要求生成用データを準備してもよい。準備部は、第2のリクエストが通信装置から受信される場合に、第2のリクエストに含まれる第2のデータ特定情報を用いて、第2の対象データの通信対象である特定のサーバ内の第2の位置情報を、特定のサーバから取得して、第2の位置情報を用いて、第2の要求生成用データを準備してもよい。この構成によると、仲介サーバは、第1及び第2の位置情報を用いて、第1及び第2の要求生成用データを適切に準備し得る。
【0010】
第1のリクエストは、複数個のデータ特定情報のうち、第1のデータ特定情報のみを含んでいてもよい。第2のリクエストは、複数個のデータ特定情報のうち、第2のデータ特定情報のみを含んでいてもよい。
【0011】
第1のリクエストは、複数個のデータ特定情報のうちの一部であるN1個(N1は2以上の整数)のデータ特定情報であって、第1のデータ特定情報を含むN1個のデータ特定情報を含んでいてもよい。第2のリクエストは、複数個のデータ特定情報のうちの一部であるN2個(N2は2以上の整数)のデータ特定情報であって、第2のデータ特定情報を含むN2個のデータ特定情報を含んでいてもよい。
【0012】
複数個の要求生成用データのそれぞれは、通信装置がPOSTコマンドの通信要求を生成するのに必要なデータであってもよい。
【0013】
複数個の対象データのそれぞれは、特定のサーバから通信装置にダウンロードされるべきデータであってもよい。
【0014】
複数個の対象データのそれぞれは、通信装置から特定のサーバにアップロードされるべきデータであってもよい。
【0015】
本明細書では、さらに、仲介サーバを介して特定のサーバと通信するための通信装置を開示する。通信装置は、通知送信部と取得部と生成部と対象データ通信部とを備える。通知送信部は、通信装置と特定のサーバとの間で通信されるべき複数個の対象データを特定するための複数個のデータ特定情報を含む1個の通知を、仲介サーバに送信する。仲介サーバは、通信装置から1個の通知を受信する場合に、1個の通知に含まれる複数個のデータ特定情報を用いて、複数個の対象データに対応する複数個の要求生成用データを準備するサーバである。複数個の要求生成用データのそれぞれは、通信装置が、当該1個の要求生成用データに対応する1個の対象データを前記特定のサーバと通信するための1個の通信要求を生成するのに必要なデータである。複数個の要求生成用データのそれぞれは、当該1個の要求生成用データが準備されたタイミングに関係するタイミング情報を含む。取得部は、仲介サーバから、複数個の要求生成用データを取得する。生成部は、複数個の要求生成用データを用いて、複数個の通信要求を生成する。対象データ通信部は、複数個の通信要求を特定のサーバに送信することによって、複数個の対象データを特定のサーバと通信する。取得部は、複数個の対象データのうちの第1の対象データに対応する第1の要求生成用データを、仲介サーバから取得した後に、生成部が、第1の要求生成用データを用いて第1の通信要求を生成して、対象データ通信部が、第1の通信要求を特定のサーバに送信したことを条件として、複数個の対象データのうちの第2の対象データに対応する第2の要求生成用データを、仲介サーバから取得する。
【0016】
上記の構成によると、通信装置は、適切なタイミングで第2の要求生成用データを取得し得る。この結果、通信装置及び特定のサーバは、複数個の対象データを適切に通信し得る。
【0017】
なお、上記の仲介サーバを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。また、上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。
【図面の簡単な説明】
【0018】
【図1】通信システムの構成を示す。
【図2】ダウンロード印刷が実行される際に、第1実施例の各デバイスが実行する各処理のシーケンス図を示す。
【図3】スキャンアップロードが実行される際に、第1実施例の各デバイスが実行する各処理のシーケンス図を示す。
【図4】ダウンロード印刷又はスキャンアップロードが実行される際に、比較例の各デバイスが実行する各処理のシーケンス図を示す。
【図5】ダウンロード印刷が実行される際に、第2実施例の各デバイスが実行する各処理のシーケンス図を示す。
【発明を実施するための形態】
【0019】
(第1実施例)
(システムの構成)
図1に示されるように、通信システム2は、多機能機10と、仲介サーバ50と、複数個のサービス提供サーバ100,110と、を備える。多機能機10は、LAN4に接続されている。仲介サーバ50と複数個のサービス提供サーバ100,110とは、インターネット6に接続されている。
【0020】
(多機能機10の構成)
多機能機10は、印刷機能、スキャン機能、コピー機能、FAX機能等の多機能を実行可能である。多機能機10は、さらに、サービス提供サーバ100,110に保存されている画像データをダウンロードして、当該画像データによって表わされる画像を印刷するダウンロード印刷機能(以下では「DL印刷機能」と呼ぶ)を実行可能である。また、多機能機10は、さらに、多機能機10がスキャンすることによって生成される画像データを、サービス提供サーバ100,110にアップロードするスキャンアップロード機能(以下では「スキャンUL機能」と呼ぶ)を実行可能である。
【0021】
多機能機10は、操作部12と、表示部14と、ネットワークインターフェイス16と、印刷実行部18と、スキャン実行部20と、制御部30と、を備える。操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を多機能機10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。ネットワークインターフェイス16は、LAN4に接続されている。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部20は、CCD、CIS等のスキャン機構である。
【0022】
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に格納されているプログラムに従って、様々な処理を実行する。CPU32が上記のプログラムに従って処理を実行することによって、通知送信部40、取得部42、生成部44、及び、対象データ通信部46の各機能が実現される。
【0023】
(仲介サーバ50の構成)
仲介サーバ50は、サービス提供サーバ100,110から多機能機10へのサービスの提供を仲介するためのサーバである。仲介サーバ50は、多機能機10のベンダによって提供されるサーバである。仲介サーバ50は、ネットワークインターフェイス52と、制御部60と、を備える。制御部60は、CPU62と、メモリ64と、を備える。CPU62は、メモリ64に格納されているプログラムに従って、様々な処理を実行する。CPU62が上記のプログラムに従って処理を実行することによって、通知受信部70、準備部72、及び、供給部74の各機能が実現される。
【0024】
(サービス提供サーバ100,110の構成)
各サービス提供サーバ100,110は、例えば、「Evernote(登録商標)」、「Google(登録商標) Docs」、「PICASA(登録商標)」、「FACEBOOK(登録商標)」等の公知のクラウドサーバである。各サービス提供サーバ100,110は、多機能機10を含む様々な通信機器にサービスを提供可能である。例えば、各サービス提供サーバ100,110は、多機能機10がDL印刷機能を実行するために、多機能機10に画像データを供給する画像供給サービスを実行可能である。また、例えば、各サービス提供サーバ100,110は、多機能機10がスキャンUL機能を実行するために、多機能機10から取得される画像データを保存する画像保存サービスを実行可能である。
【0025】
なお、サービス提供サーバ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を利用するためのプログラムと、の両方が必要である)。
【0026】
例えば、多機能機10が複数個のサービス提供サーバ100,110のそれぞれからサービスを受けるためには、多機能機10は、複数個のAPIに対応している必要があり、多くのプログラムを格納する必要がある。しかしながら、PC等と比べると、多機能機10のメモリ容量は少ない。従って、本実施例では、多機能機10に多くのプログラムを格納させることなく、多機能機10が複数個のサービス提供サーバ100,110のそれぞれからサービスを受けることができるように、仲介サーバ50が設けられている。即ち、仲介サーバ50は、複数個のサービス提供サーバ100,110のための複数個のAPIに対応している。そして、多機能機10が、複数個のサービス提供サーバ100,110のうちの特定のサービス提供サーバ(例えばサービス提供サーバ100)からサービスを受けるべき状況では、仲介サーバ50は、特定のサービス提供サーバのためのAPIを利用して、特定のサービス提供サーバと後述の様々な通信(例えば、図2のリクエスト202,210等)を実行する。これにより、多機能機10は、特定のサービス提供サーバのためのAPIに対応していなくても、特定のサービス提供サーバと画像データの通信を実行することができる。即ち、多機能機10は、複数個のAPIを利用するための多くのプログラムを格納していなくても、複数個のサービス提供サーバ100,110のそれぞれからサービスを受けることができる。
【0027】
(多機能機10のユーザの事前準備)
多機能機10のユーザ(以下では「特定のユーザ」と呼ぶ)は、多機能機10が各サービス提供サーバ100,110からサービスを受けるために、以下の事前準備を実行する必要がある。特定のユーザは、例えば、PC、PDA端末(例えばスマートフォン)等を利用して、各サービス提供サーバ100,110にアカウントを作成する。これにより、各サービス提供サーバ100,110は、特定のユーザにアクセストークン(一般的に言うと「認証情報」)を与える。特定のユーザは、各サービス提供サーバ100,110から与えられた各アクセストークンを多機能機10に登録する。なお、特定のユーザは、PC、PDA端末等を利用して、様々なファイル(例えば画像データ)を各サービス提供サーバ100,110にアップロードすることができる。また、特定のユーザは、PC、PDA端末等を利用して、特定のユーザ自身がアップロードした様々なファイルをダウンロードすることもできる。
【0028】
(多機能機10がDL印刷機能を実行するための処理;図2)
続いて、図2を参照して、多機能機10がDL印刷機能を実行する際に、各デバイス10,50,100が実行する各処理の内容を説明する。図示していないが、特定のユーザは、多機能機10の操作部12を操作して、どのサービス提供サーバから画像供給サービスを受けるのかを選択する。本実施例では、特定のユーザによってサービス提供サーバ100が選択された場合を例として、説明を続ける。
【0029】
特定のユーザは、さらに、操作部12を操作して、多機能機10が実行可能な複数の機能の中から、DL印刷機能を選択する。この場合、多機能機10の制御部30は、仲介サーバ50に画像IDリクエスト200を送信する。なお、多機能機10は、仲介サーバ50に画像IDリクエスト200を送信する段階、又は、それより前の段階で、特定のユーザがサービス提供サーバ100から与えられたアクセストークン(以下では「特定のアクセストークン」と呼ぶ)を、仲介サーバ50に送信する。
【0030】
仲介サーバ50の制御部60は、多機能機10から画像IDリクエスト200を受信すると、画像IDリクエスト202をサービス提供サーバ100に送信する。なお、仲介サーバ50の制御部60は、画像IDリクエスト202をサービス提供サーバ100に送信する段階、又は、それより前の段階で、上記の特定のアクセストークンを用いて、サービス提供サーバ100に認証を実行させる。これにより、サービス提供サーバ100は、仲介サーバ50から受信される画像IDリクエスト202に応じて、適切なレスポンスを仲介サーバ50に送信することができる。なお、以下では、特定のアクセストークンを用いた認証についての説明を省略するが、仲介サーバ50は、必要に応じて(例えば、サービス提供サーバ100にリクエストを送信する毎に)、特定のアクセストークンを用いた認証を、サービス提供サーバ100に実行させる。
【0031】
本実施例では、サービス提供サーバ100が、特定のユーザのアカウントに対応付けて、L個(Lは2以上の整数)の画像データを保存している状況を想定する。なお、この状況では、サービス提供サーバ100は、L個の画像データのそれぞれについて、当該画像データよりもデータサイズが小さいサムネイル画像データも保存している。サービス提供サーバ100は、仲介サーバ50から画像IDリクエスト202を受信すると、L個の画像データを識別するためのL個の画像ID(例えば、L個の画像データのファイル名)を仲介サーバ50に送信する。
【0032】
仲介サーバ50の制御部60は、サービス提供サーバ100からL個の画像IDを受信すると、L個の画像IDを多機能機10に送信する。
【0033】
なお、図示していないが、多機能機10の制御部30は、仲介サーバ50からL個の画像IDを受信すると、L個の画像データに対応するL個のサムネイル画像データをサービス提供サーバ100から取得して、L個のサムネイル画像データによって表わされるL個のサムネイル画像を、表示部14に表示させる。これにより、特定のユーザは、操作部12を操作して、L個のサムネイル画像の中から、ダウンロード対象の画像に対応するサムネイル画像を選択することができる。
【0034】
本実施例では、L個のサムネイル画像の中からM1個(M1はL以下であって2以上の整数)のサムネイル画像(即ち複数個のサムネイル画像)が選択される状況を想定する。例えば、特定のユーザは、M1個のサムネイル画像を指定した後に、OKボタンを操作する。これにより、多機能機10の制御部30は、特定のユーザの指示に従って、M1個のサムネイル画像を選択する。本実施例では、1個のサムネイル画像が選択されて印刷が実行された後に、他の1個のサムネイル画像がさらに選択されて印刷が実行される状況のように、複数個のサムネイル画像が非同時的に選択される状況を想定しているのではなく、複数個(即ちM1個)のサムネイル画像が同時的に選択される状況を想定している。なお、M1個のサムネイル画像が同時的に選択されるということは、M1個の画像IDが同時的に選択されることに等しい。
【0035】
なお、本実施例では、多機能機10にL個のサムネイル画像が表示されるが、変形例では、多機能機10にL個のサムネイル画像が表示されずに、L個の画像ID(例えば、L個の画像データのファイル名)が表示されてもよい。そして、特定のユーザは、L個の画像IDの中から、ダウンロード対象のM1個の画像に対応するM1個の画像IDを選択してもよい。
【0036】
多機能機10の通知送信部40(図1参照)は、M1個の画像IDが同時的に選択されると、M1個の画像IDを含む通知204を生成する。なお、一般的に知られている1個の通信データは、通常、1個のヘッダ部と、1個のボディ部と、を含む。通知204は、複数個の通信データに含まれる複数個のボディ部に、M1個の画像IDが分散して記述されたものではなく、1個の通信データに含まれる1個のボディ部に、M1個の画像IDの全てが記述されたものである。即ち、通知204は1個の通知(1個の通信データ)である、と言うことができる。通知送信部40は、通知204を仲介サーバ50に送信する。
【0037】
仲介サーバ50の通知受信部70(図1参照)は、多機能機10から通知204を受信する。この場合、仲介サーバ50の準備部72(図1参照)は、通知204に含まれるM1個の画像IDが記述されたリスト206を生成して、リスト206を多機能機10に送信する。
【0038】
多機能機10の取得部42(図1参照)は、仲介サーバ50からリスト206を受信する。この場合、取得部42は、リスト206に含まれるM1個の画像IDの中から1個の画像ID(以下では「第1の画像ID」と呼ぶ)を選択する。次いで、取得部42は、第1の画像IDを含むURLリクエスト208を生成して、URLリクエスト208を仲介サーバ50に送信する。即ち、URLリクエスト208は、M1個の画像IDのうちの1個の画像ID(即ち第1の画像ID)のみを含む。
【0039】
仲介サーバ50の準備部72は、多機能機10からURLリクエスト208を受信する。この場合、準備部72は、サービス提供サーバ100のための第1のAPIに従って、URLリクエスト208に含まれる第1の画像IDが記述されたURLリクエスト210を生成して、URLリクエスト210をサービス提供サーバ100に送信する。
【0040】
なお、上述したように、図2の例では、通知204、リスト206、及び、URLリクエスト208の通信を経て、URLリクエスト210の通信が実行される。これらの通信は、RESTful(Representational State Transfer ful)に従うために実行される。ただし、変形例では、多機能機10から仲介サーバ50に通知204が送信された後に、リスト206及びURLリクエスト208の通信が実行されなくてもよい。この場合、仲介サーバ50の準備部72は、通知204に含まれるM1個の画像IDの中から第1の画像IDを選択し、次いで、第1の画像IDが記述されたURLリクエスト210を生成して、URLリクエスト210をサービス提供サーバ100に送信してもよい。
【0041】
サービス提供サーバ100は、URLリクエスト210を受信すると、URLリクエスト210に含まれる第1の画像IDに対応する1個の画像データ216のサーバ100内の位置を示す1個のURL(即ち、ダウンロード元のURL;以下では「第1のURL」と呼ぶ)を特定する。次いで、サービス提供サーバ100は、第1のURLを仲介サーバ50に送信する。
【0042】
仲介サーバ50の準備部72は、サービス提供サーバ100から第1のURLを受信することによって、第1のURLを取得する。この場合、準備部72は、第1のAPIに従って、第1のURLを含むテンプレート212を準備(即ち生成)する。テンプレート212は、多機能機10がHTTP(Hyper Text Transfer Protocol)のPOSTコマンドを生成するのに必要なデータを含む。本実施例では、サービス提供サーバ100は、サービス(画像供給サービス及び画像保存サービス)を提供するためのトリガとなるコマンドとして、POSTコマンドを採用している。従って、準備部72は、POSTコマンドのフォーマットを有するテンプレート212を準備する。なお、本実施例のPOSTコマンドには、タイムスタンプが記述される。従って、準備部72は、第1のURLのみならず、現在の日時(即ちテンプレート212が準備された日時)を示すタイムスタンプを含むテンプレート212を準備する。そして、準備部72は、テンプレート212を多機能機10に送信することによって、テンプレート212を多機能機10に供給する。
【0043】
上述したように、サービス提供サーバ100はPOSTコマンドを採用しているが、どのコマンドを採用するのかはサービス提供サーバに依存する。例えば、サービス提供サーバ110は、サービスを提供するためのトリガとなるコマンドとして、GETコマンドを採用している。そして、仮に、特定のユーザがサービス提供サーバ110からサービスを受けることを望む場合には、準備部72は、サービス提供サーバ110のための第2のAPIに従って、GETコマンドのテンプレートを準備する。本実施例のGETコマンドには、タイムスタンプが記述されない。従って、準備部72は、GETコマンドのテンプレートを準備する際に、タイムスタンプを含まないテンプレートを準備する。このように、準備部72は、多機能機10が通信を実行すべきサービス提供サーバに応じて、適切なテンプレートを生成することができる。
【0044】
多機能機10の取得部42は、仲介サーバ50からテンプレート212を受信することによって、仲介サーバ50からテンプレート212を取得する。この場合、多機能機10の生成部44(図1参照)は、テンプレート212を用いて、POSTコマンド214を生成する。具体的に言うと、生成部44は、テンプレート212に記述された各情報(第1のURL、タイムスタンプ等)をそのまま利用すると共に、送信元アドレスとして多機能機10のIPアドレスを記述することによって、POSTコマンド214を生成する。次いで、多機能機10の対象データ通信部46(図1参照)は、仲介サーバ50を介さずに、POSTコマンド214をサービス提供サーバ100に送信する。
【0045】
サービス提供サーバ100は、POSTコマンド214を受信すると、まず、POSTコマンド214に含まれるタイムスタンプが示す日時と現在日時との差分が、所定時間よりも大きいのか否かを判断する。サービス提供サーバ100は、差分が所定時間よりも大きい場合には、エラーを示す情報を多機能機10に送信する。この場合、多機能機10は、画像データを取得することができない。一方において、サービス提供サーバ100は、差分が所定時間よりも小さい場合には、POSTコマンド214に含まれる第1のURL(即ち、ダウンロード元のURL)に保存されている画像データ216を、仲介サーバ50を介さずに、多機能機10に送信する。本実施例では、画像データ216が仲介サーバ50を介さずに通信されるために、特定のユーザのプライベートな画像が仲介サーバ50を経由するのを防止することができる。
【0046】
多機能機10の対象データ通信部46は、サービス提供サーバ100から画像データ216を受信する。サービス提供サーバ100から画像データ216の全てが受信されると(即ち、画像データ216の通信が終了すると)、多機能機10の制御部30は、画像データ216によって表わされる画像を、印刷実行部18に印刷させる。これにより、多機能機10は、サービス提供サーバ100から画像供給サービスを受けることができ、DL印刷機能を実行することができる。
【0047】
画像データ216によって表わされる画像の印刷が開始された後(なお、印刷が終了した後でもよいし、印刷が終了する前でもよい)に、多機能機10の取得部42は、リスト206に含まれるM1個の画像IDの中から、第1の画像IDとは異なる1個の画像ID(以下では「第2の画像ID」と呼ぶ)を選択する。次いで、取得部42は、第2の画像IDを含むURLリクエスト228を生成して、URLリクエスト228を仲介サーバ50に送信する。即ち、URLリクエスト228は、M1個の画像IDのうちの1個の画像ID(即ち第2の画像ID)のみを含む。
【0048】
URLリクエスト228が送信された後の各デバイス10,50,100の処理は、上記と同様である。即ち、仲介サーバ50の準備部72は、第2の画像IDが記述されたURLリクエスト230を生成して、URLリクエスト230をサービス提供サーバ100に送信することによって、サービス提供サーバ100から、第2の画像IDに対応する画像データ236のURL(以下では「第2のURL」と呼ぶ)を受信する。
【0049】
次いで、仲介サーバ50の準備部72は、第1のAPIに従って、第2のURLを含むテンプレート232を準備(即ち生成)する。なお、上記の説明から明らかなように、準備部72は、多機能機10がサービス提供サーバ100にPOSTコマンド214を送信した後、より具体的には、多機能機10及びサービス提供サーバ100の間で画像データ216の通信が終了した後に、テンプレート232を準備する。従って、テンプレート232に含まれるタイムスタンプが示す日時は、テンプレート212に含まれるタイムスタンプが示す日時よりも後の日時である。次いで、準備部72は、テンプレート232を多機能機10に供給する。
【0050】
次いで、多機能機10の取得部42は、仲介サーバ50からテンプレート232を取得し、生成部44は、テンプレート232を用いてPOSTコマンド234を生成する。次いで、対象データ通信部46は、POSTコマンド234をサービス提供サーバ100に送信することによって、サービス提供サーバ100から画像データ236を受信する。この結果、制御部30は、画像データ236によって表わされる画像を、印刷実行部18に印刷させる。
【0051】
多機能機10から仲介サーバ50へのURLリクエスト(例えば、URLリクエスト208,228)の通信から、画像データ(上記の例では画像データ216,236)によって表わされる画像の印刷までの各デバイス10,50,100の処理を、「1セットの処理」と呼ぶ。上述したように、本実施例では、特定のユーザによってM1個の画像IDが同時的に選択される。そして、多機能機10は、1個の画像IDのみを含むURLリクエスト(例えば、URLリクエスト208,228)を仲介サーバ50に送信することを繰り返して、画像データを1個ずつダウンロードする。従って、図2の例では、トータルでM1セットの処理が実行される。
【0052】
(多機能機10がスキャンUL機能を実行するための処理;図3)
続いて、図3を参照して、多機能機10がスキャンUL機能を実行する際に、各デバイス10,50,100が実行する各処理の内容を説明する。図示していないが、特定のユーザは、多機能機10の操作部12を操作して、どのサービス提供サーバから画像保存サービスを受けるのかを選択する。本実施例では、特定のユーザによってサービス提供サーバ100が選択された場合を例として、説明を続ける。
【0053】
特定のユーザは、さらに、操作部12を操作して、多機能機10が実行可能な複数の機能の中から、スキャンUL機能を選択する。この場合、多機能機10の制御部30は、スキャン実行部20に原稿のスキャンを実行させる。本実施例では、M2枚(M2は2以上の整数)の原稿のスキャンが実行されて、M2個の画像データが生成される状況を想定する。即ち、本実施例では、1枚の原稿のスキャンによって1個の画像データが生成され、当該1個の画像データがサービス提供サーバ100にアップロードされた後に、他の1枚の原稿のスキャンによって他の1個の画像データが生成される状況のように、複数個の画像データが非同時的に生成される状況を想定しているのではなく、M2個の画像データが同時的に生成される状況を想定している。
【0054】
多機能機10の通知送信部40は、M2個の画像データが生成されると、M2個の画像データに対応するM2個の画像ID(例えば、M2個の画像データのファイル名)を含む1個の通知304を生成して、通知304を仲介サーバ50に送信する。
【0055】
仲介サーバ50の通知受信部70は、多機能機10から通知304を受信する。これ以降の処理は、図2の処理とほぼ同様である。即ち、仲介サーバ50の準備部72は、通知304に含まれるM2個の画像IDが記述されたリスト306を生成して、リスト306を多機能機10に送信する。
【0056】
次いで、多機能機10の取得部42は、リスト306に含まれるM2個の画像IDの中から1個の画像ID(以下では「第3の画像ID」と呼ぶ)を選択する。次いで、取得部42は、第3の画像IDを含むURLリクエスト308を生成して、URLリクエスト308を仲介サーバ50に送信する。
【0057】
次いで、仲介サーバ50の準備部72は、第1のAPIに従って、第3の画像IDが記述されたURLリクエスト310を生成して、URLリクエスト310をサービス提供サーバ100に送信する。この場合、サービス提供サーバ100は、URLリクエスト310に含まれる第3の画像IDに対応する1個の画像データが保存されるべきサーバ100内の位置を示すURL(即ち、アップロード先のURL;以下では「第3のURL」と呼ぶ)を、仲介サーバ50に送信する。
【0058】
次いで、仲介サーバ50の準備部72は、第1のAPIに従って、第3のURLと、タイムスタンプと、を含むPOSTコマンドのテンプレート312を準備(即ち生成)する。そして、供給部74は、テンプレート312を多機能機10に供給する。
【0059】
多機能機10の取得部42は、仲介サーバ50からテンプレート312を取得し、生成部44は、テンプレート312を用いてPOSTコマンド314を生成する。なお、生成部44は、第3の画像IDに対応する1個の画像データ(即ち、スキャンによって生成された画像データ)をPOSTコマンド314内に書き込むことによって、POSTコマンド314を生成する。次いで、対象データ通信部46は、POSTコマンド314を、仲介サーバ50を介さずに、サービス提供サーバ100に送信することによって、画像データをサービス提供サーバ100に送信する。本実施例では、POSTコマンド314が仲介サーバ50を介さずに通信されるために、特定のユーザのプライベートな画像が仲介サーバ50を経由するのを防止することができる。
【0060】
この場合、サービス提供サーバ100は、第3のURL(即ち、アップロード先のURL)が示す位置に画像データを保存する。これにより、多機能機10は、サービス提供サーバ100から画像保存サービスを受けることができ、スキャンUL機能を実行することができる。なお、サービス提供サーバ100は、画像データを適切に保存することができた場合には、OKを示す情報を多機能機10に送信する。
【0061】
サービス提供サーバ100からOKを示す情報が受信された後(即ち、画像データの通信が終了した後)に、多機能機10の取得部42は、リスト306に含まれるM2個の画像IDの中から、第3の画像IDとは異なる1個の画像ID(以下では「第4の画像ID」と呼ぶ)を選択する。次いで、取得部42は、第4の画像IDを含むURLリクエスト328を生成して、URLリクエスト328を仲介サーバ50に送信する。
【0062】
URLリクエスト328が送信された後の各デバイス10,50,100の処理は、上記と同様である。即ち、仲介サーバ50の準備部72は、第4の画像IDが記述されたURLリクエスト330を生成して、URLリクエスト330をサービス提供サーバ100に送信することによって、サービス提供サーバ100から、第4の画像IDに対応する画像データのURL(以下では「第4のURL」と呼ぶ)を受信する。
【0063】
次いで、仲介サーバ50の準備部72は、第1のAPIに従って、第4のURLと、タイムスタンプと、を含むテンプレート332を準備(即ち生成)する。なお、上記の説明から明らかなように、準備部72は、多機能機10がサービス提供サーバ100にPOSTコマンド314を送信した後、より具体的には、多機能機10及びサービス提供サーバ100の間で第3の画像IDに対応する1個の画像データの通信(POSTコマンド314の通信)が終了した後に、テンプレート332を準備する。そして、供給部74は、テンプレート332を多機能機10に供給する。
【0064】
次いで、多機能機10の取得部42は、仲介サーバ50からテンプレート332を取得し、生成部44は、テンプレート332を用いて、第4の画像IDに対応する1個の画像データを含むPOSTコマンド334を生成する。次いで、対象データ通信部46は、POSTコマンド334をサービス提供サーバ100に送信することによって、画像データをサービス提供サーバ100に送信する。この結果、サービス提供サーバ100は、第4のURLが示す位置に画像データを保存し、OKを示す情報を多機能機10に送信する。
【0065】
多機能機10から仲介サーバ50へのURLリクエスト(例えば、URLリクエスト308,328)の通信から、サービス提供サーバ100から多機能機10へのOKを示す情報の通信までの各デバイス10,50,100の処理を、「1セットの処理」と呼ぶ。上述したように、本実施例では、M2個の画像データが同時的に生成される。そして、多機能機10は、1個の画像IDのみを含むURLリクエスト(例えば、URLリクエスト308,328)を仲介サーバ50に送信することを繰り返して、画像データを1個ずつアップロードする。従って、図3の例では、トータルでM2セットの処理が実行される。
【0066】
(本実施例の効果)
図4の比較例では、仲介サーバは、多機能機からM3個(M3は2以上の整数)の画像IDを含む1個の通知を受信すると、M3個の画像IDを含むURLリクエストをサービス提供サーバに送信することによって、サービス提供サーバからM3個のURL(ダウンロード元のURL又はアップロード先のURL)を受信する。
【0067】
次いで、仲介サーバは、M3個のURLを用いてM3個のテンプレートを準備して、M3個のテンプレートを多機能機に供給する。この場合、多機能機は、M3個のテンプレートを順次用いて、M3個のPOSTコマンドを順次生成して、M3個のPOSTコマンドをサービス提供サーバに順次送信する。ただし、比較例では、M3個のテンプレートがほぼ同時に準備されるために、各テンプレートに含まれるタイムスタンプは、ほぼ同じ日時を示す。そして、M3個のテンプレートのうち、多機能機10において比較的に後で用いられるテンプレートについては、当該テンプレートが準備されたタイミングと、当該テンプレートを用いて生成されたPOSTコマンドが送信されるタイミングと、の間に、大きな時間差が発生し得る。このために、サービス提供サーバは、M3個のPOSTコマンドのうち、比較的に後に送信されるPOSTコマンドを受信すると、当該POSTコマンドに含まれるタイムスタンプが示す日時と現在日時との差分が、所定時間よりも大きいと判断し得る。この場合、サービス提供サーバは、タイムスタンプが無効であると判断して、エラーを示す情報を多機能機10に送信する。即ち、多機能機は、画像データのダウンロード又はアップロードを実行することができない。この事象は、特に、M3の値が大きくなる程、発生し易くなる。
【0068】
これに対し、本実施例では、図2及び図3に示されるように、多機能機10が、テンプレート212(又は312)を用いてPOSTコマンド214(又は314)を生成して、POSTコマンド214(又は314)をサービス提供サーバ100に送信した後に、仲介サーバ50は、テンプレート232(又は332)を準備する。従って、テンプレート232(又は332)が準備されたタイミングと、テンプレート232(又は332)を用いて生成されたPOSTコマンド234(又は334)が送信されるタイミングと、の間に、大きな時間差が発生するのを抑制することができる。このために、サービス提供サーバ100によってタイムスタンプが無効であると判断される事象が発生するのを抑制することができる、即ち、仲介サーバ50が適切なタイミングでテンプレート232(又は332)を準備することができ、この結果、テンプレート232(又は332)が、サービス提供サーバ100で無効と判断され難い適切なタイムスタンプを含む。このために、多機能機10及びサービス提供サーバ100は、複数個の画像データの通信(ダウンロード又はアップロード)を適切に実行することができる。
【0069】
(対応関係)
多機能機10、サービス提供サーバ100が、それぞれ、「通信装置」、「特定のサーバ」の一例である。M1個の画像ID(又はM2個の画像ID)が、「複数個のデータ特定情報」の一例である。M1個の画像データ(又はM2個の画像データ)が、「複数個の対象データ」の一例である。テンプレート212,232(又はテンプレート312,332)が、「複数個の要求生成用データ」の一例である。また、POSTコマンド214,234(又はPOSTコマンド314,334)が、「通信要求」の一例である。
【0070】
例えば、第1の画像ID、URLリクエスト208、第1のURL、画像データ216、テンプレート212、POSTコマンド214が、それぞれ、「第1のデータ特定情報」、「第1のリクエスト」、「第1の位置情報」、「第1の対象データ」、「第1の要求生成用データ」、「第1の通信要求」の一例である。また、第2の画像ID、URLリクエスト228、第2のURL、画像データ236、テンプレート232が、それぞれ、「第2のデータ特定情報」、「第2のリクエスト」、「第2の位置情報」、「第2の対象データ」、「第2の要求生成用データ」の一例である。
【0071】
(第2実施例)
図5を参照して、第2実施例の多機能機10がDL印刷機能を実行するための処理を説明する。通知404及びリスト406の通信は、図2の通知204及びリスト206の通信と同様である。多機能機10の取得部42は、リスト406に含まれるM1個の画像IDの一部であるN個(Nは2以上M1未満の整数)の画像IDを選択して、N個の画像IDを含むURLリクエスト408を仲介サーバ50に送信する。
【0072】
次いで、仲介サーバ50の準備部72は、N個の画像IDが記述されたURLリクエスト410を生成して、URLリクエスト410をサービス提供サーバ100に送信することによって、サービス提供サーバ100から、N個の画像IDに対応するN個の画像データ416−1,416−2のURLを受信する。次いで、準備部72は、第1のAPIに従って、N個のURLを用いて、N個のテンプレート412を準備(即ち生成)する。なお、N個のテンプレート412に含まれる各タイムスタンプが示す日時は、ほぼ同じである。準備部72は、N個のテンプレート412を多機能機10に供給する。
【0073】
多機能機10の取得部42は、仲介サーバ50からN個のテンプレート412を取得し、生成部44は、N個のテンプレート412のうちの1個のテンプレートを用いて、POSTコマンド414−1を生成する。そして、対象データ通信部46は、POSTコマンド414−1をサービス提供サーバ100に送信することによって、サービス提供サーバ100から画像データ416−1を受信する。この結果、制御部30は、画像データ416−1によって表わされる画像を、印刷実行部18に印刷させる。
【0074】
続いて、生成部44は、N個のテンプレート412のうちの他の1個のテンプレートを用いて、POSTコマンド414−2を生成する。そして、対象データ通信部46は、POSTコマンド414−2をサービス提供サーバ100に送信することによって、サービス提供サーバ100から画像データ416−2を受信する。この結果、制御部30は、画像データ416−1によって表わされる画像を、印刷実行部18に印刷させる。この処理が、N回繰り返される。即ち、多機能機10は、サービス提供サーバ100からN個の画像データをダウンロードして、N個の画像の印刷を実行する。
【0075】
多機能機10から仲介サーバ50へのURLリクエスト(例えば、URLリクエスト408)の通信から、N個の画像の印刷までの各デバイス10,50,100の処理を、「1セットの処理」と呼ぶ。多機能機10の取得部42は、1セット目の処理が終了すると、リスト406に含まれるM1個の画像IDの一部である他のN個の画像ID(即ち、1セット目で選択されたN個の画像IDとは異なるN個の画像ID)を選択して、N個の画像IDを含むURLリクエストを仲介サーバ50に送信する。これにより、2セット目の処理が実行される。上述したように、本実施例では、特定のユーザによってM2個の画像IDが同時的に選択される。そして、多機能機10から仲介サーバ50へのURLリクエスト(例えば、URLリクエスト408)は、N個の画像IDを含む。従って、図5の例では、トータルでM1/Nセットの処理が実行される。
【0076】
なお、多機能機10がスキャンUL機能を実行するための処理は、図5の例と同様に実行される。例えば、多機能機10がスキャンを実行することによってM2個の画像データが同時的に生成される場合に、多機能機10は、M2個の画像IDの一部であるN個の画像IDを選択して、N個の画像IDを含むURLリクエストを仲介サーバ50に送信する。この結果、多機能機10は、1セット目の処理において、N個の画像データをサービス提供サーバ100にアップロードすることができる。その後、多機能機10は、M2個の画像IDの一部である他のN個の画像IDを選択して、N個の画像IDを含むURLリクエストを仲介サーバ50に送信する。この結果、多機能機10は、2セット目の処理において、N個の画像データをサービス提供サーバ100にアップロードすることができる。
【0077】
(本実施例の効果)
本実施例では、図5に示されるように、1セット目の処理において、多機能機10が、N個のテンプレート412を用いてN個のPOSTコマンド414−1,414−2を生成して、N個のPOSTコマンド414−1,414−2をサービス提供サーバ100に送信した後に、2セット目の処理において、仲介サーバ50は、次のN個のテンプレートを準備する。従って、2セット目の処理でテンプレートが準備されたタイミングと、当該テンプレートを用いて生成されたPOSTコマンドが送信されるタイミングと、の間に、大きな時間差が発生するのを抑制することができる。このために、サービス提供サーバ100によってタイムスタンプが無効であると判断される事象が発生するのを抑制することができる。従って、多機能機10及びサービス提供サーバ100は、複数個の画像データの通信(ダウンロード又はアップロード)を適切に実行することができる。
【0078】
(対応関係)
1セット目の処理で送信されるURLリクエスト408(以下では「1セット目のURLリクエスト」と呼ぶ)に含まれるN個の画像IDが、「N1個のデータ特定情報」の一例である。そして、2セット目の処理で送信されるURLリクエスト(以下では「2セット目のURLリクエスト」と呼ぶ)に含まれるN個の画像IDが、「N2個のデータ特定情報」の一例である。なお、上記の実施例では、1セット目のURLリクエストに含まれる画像IDの数(N個)と、2セット目のURLリクエストに含まれる画像IDの数(N個)と、が同じである。ただし、変形例では、前者の画像IDの数と、後者の画像IDの数と、が異なってもよい。
【0079】
また、1セット目のURLリクエスト、2セット目のURLリクエストが、それぞれ、「第1のリクエスト」、「第2のリクエスト」の一例である。また、1セット目のURLリクエストに含まれるN個の画像IDのうちの1個の画像ID、2セット目のURLリクエストに含まれるN個の画像IDのうちの1個の画像IDが、それぞれ、「第1のデータ特定情報」、「第2のデータ特定情報」の一例である。
【0080】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
【0081】
(1)「通信装置」は、多機能機10に限られず、他の種類の通信装置(例えば、PC、サーバ、PDA、携帯端末、プリンタ、スキャナ、電話機、FAX装置、コピー機等)であってもよい。また、「特定のサーバ」は、クラウドサービスを提供するサービス提供サーバ100に限られず、「通信装置」とデータの通信を実行する他の種類のサーバ(例えば、画像データに対して画像処理を実行するサーバ)であってもよい。また、「対象データ」は、画像データに限られず、他の種類のデータ(例えば、ワープロソフトによって生成されるデータであってもよいし、表計算ソフトによって生成されるデータ)であってもよい。
【0082】
(2)上記の各実施例では、例えば図2に示されるように、仲介サーバ50の準備部72は、多機能機10がPOSTコマンド214をサービス提供サーバ100に送信することによって、多機能機10とサービス提供サーバ100との間で画像データ216の通信が終了したことを条件として、テンプレート232を準備する。これに代えて、準備部72は、多機能機10がPOSTコマンド214をサービス提供サーバ100に送信した後であって、画像データ216の通信が終了する前に、テンプレート232を準備してもよい。本変形例を実現するためには、例えば、多機能機10の取得部42は、サービス提供サーバ100から画像データ216をダウンロードしている間に、URLリクエスト228を多機能機10に送信すればよい。一般的に言うと、仲介サーバ50の準備部72は、通信装置が第1の通信要求を特定のサーバに送信したことを条件として、第2の要求生成用データを準備すればよい。また、多機能機10の取得部42は、第1の通信要求を特定のサーバに送信したことを条件として、第2の要求生成用データを仲介サーバから取得すればよい。
【0083】
(3)上記の各実施例では、仲介サーバ50の準備部72は、多機能機10がPOSTコマンドを生成するために必要なテンプレート(例えば図2のテンプレート212)を準備する。しかしながら、準備部72は、多機能機10が他の種類のコマンド(例えばGETコマンド)を生成するために必要なテンプレートを準備してもよい。一般的に言うと、仲介サーバ50の準備部72は、タイミング情報を含む要求生成用データを準備すればよい。また、多機能機10の生成部44は、要求生成用データを用いて、通信要求を生成すればよい。
【0084】
(4)上記の各実施例では、テンプレートは、当該テンプレートが準備された日時を示すタイムスタンプを含む。これに代えて、テンプレートは、当該テンプレートが準備された日のみを示すタイムスタンプを含んでいてもよいし、当該テンプレートが準備された時刻のみを示すタイムスタンプを含んでいてもよい。また、テンプレートは、当該テンプレートが準備された日時に予め決められた時間が加えられた日時(即ち、テンプレートの有効期限を示す日時)を示すタイムスタンプを含んでいてもよい。なお、「タイミング情報」は、タイムスタンプという称呼を有する情報に限られず、他の称呼を有する情報であってもよい。一般的に言うと、「タイミング情報」は、要求生成用データが準備されたタイミングに関係する情報であればよい。
【0085】
(5)上記の第2実施例では、仲介サーバ50の準備部72は、N個のテンプレート412を準備する。これに代えて、仲介サーバ50の準備部72は、1個のテンプレートと、当該テンプレートに書き込まれるべきN個の情報(ここでのN個の情報は、例えば、N個のURLと1個のタイムスタンプとを含む)と、を生成してもよい。この場合、多機能機10の生成部44は、上記の1個のテンプレートに上記のN個の情報のうちの1個の情報を書き込むことによって、POSTコマンド414−1を生成し、上記の1個のテンプレートに上記のN個の情報のうちの他の1個の情報を書き込むことによって、POSTコマンド414−2を生成してもよい。本変形例では、上記のN個の情報が、「N1個(又はN2個)の要求生成用データ」の一例である。
【0086】
(6)上記の各実施例では、多機能機10及び仲介サーバ50のCPU32,62がソフトウェアに従って処理を実行することによって、各部40〜46,70〜74の機能が実現される。これに代えて、各部40〜46,70〜74の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
【符号の説明】
【0087】
2:通信システム、10:多機能機、50:仲介サーバ、100,110:サービス提供サーバ、204:通知、206:リスト、208,210,228,230:URLリクエスト、212,232:テンプレート、214,234:POSTコマンド、216,236:画像データ

【特許請求の範囲】
【請求項1】
通信装置と特定のサーバとの間の通信を仲介するための仲介サーバであって、
前記通信装置と前記特定のサーバとの間で通信されるべき複数個の対象データを特定するための複数個のデータ特定情報を含む1個の通知を、前記通信装置から受信する通知受信部と、
前記通信装置から前記1個の通知が受信される場合に、前記1個の通知に含まれる前記複数個のデータ特定情報を用いて、前記複数個の対象データに対応する複数個の要求生成用データを準備する準備部であって、前記複数個の要求生成用データのそれぞれは、前記通信装置が、当該1個の要求生成用データに対応する1個の対象データを前記特定のサーバと通信するための1個の通信要求を生成するのに必要なデータであり、前記複数個の要求生成用データのそれぞれは、当該1個の要求生成用データが準備されたタイミングに関係するタイミング情報を含む、前記準備部と、
前記複数個の要求生成用データを、前記通信装置に供給する供給部と、を備え、
前記準備部は、前記複数個の対象データのうちの第1の対象データに対応する第1の要求生成用データを準備した後に、前記通信装置が、前記第1の要求生成用データを用いて第1の通信要求を生成して、前記第1の通信要求を前記特定のサーバに送信したことを条件として、前記複数個の対象データのうちの第2の対象データに対応する第2の要求生成用データを準備する、仲介サーバ。
【請求項2】
前記準備部は、前記通信装置が前記第1の通信要求を前記特定のサーバに送信することによって、前記通信装置と前記特定のサーバとの間で前記第1の対象データの通信が終了したことを条件として、前記第2の要求生成用データを準備する、請求項1に記載の仲介サーバ。
【請求項3】
前記準備部は、前記通信装置から前記1個の通知が受信される場合に、前記1個の通知に含まれる前記複数個のデータ特定情報を含むリストを、前記通信装置に送信し、
前記準備部は、
前記リストに含まれる前記複数個のデータ特定情報の中から前記通信装置によって選択される第1のデータ特定情報であって、前記第1の対象データを特定するための前記第1のデータ特定情報を含む第1のリクエストが、前記通信装置から受信される場合に、前記第1の要求生成用データを準備し、
前記リストに含まれる前記複数個のデータ特定情報の中から前記通信装置によって選択される第2のデータ特定情報であって、前記第2の対象データを特定するための前記第2のデータ特定情報を含む第2のリクエストが、前記通信装置から受信される場合に、前記第2の要求生成用データを準備し、
前記第2のリクエストは、前記通信装置が前記第1の通信要求を前記特定のサーバに送信した後に、前記通信装置から受信されるリクエストである、請求項1又は2に記載の仲介サーバ。
【請求項4】
前記準備部は、
前記第1のリクエストが前記通信装置から受信される場合に、前記第1のリクエストに含まれる前記第1のデータ特定情報を用いて、前記第1の対象データの通信対象である前記特定のサーバ内の第1の位置情報を、前記特定のサーバから取得して、前記第1の位置情報を用いて、前記第1の要求生成用データを準備し、
前記第2のリクエストが前記通信装置から受信される場合に、前記第2のリクエストに含まれる前記第2のデータ特定情報を用いて、前記第2の対象データの通信対象である前記特定のサーバ内の第2の位置情報を、前記特定のサーバから取得して、前記第2の位置情報を用いて、前記第2の要求生成用データを準備する、請求項3に記載の仲介サーバ。
【請求項5】
前記第1のリクエストは、前記複数個のデータ特定情報のうち、前記第1のデータ特定情報のみを含み、
前記第2のリクエストは、前記複数個のデータ特定情報のうち、前記第2のデータ特定情報のみを含む、請求項3又は4に記載の仲介サーバ。
【請求項6】
前記第1のリクエストは、前記複数個のデータ特定情報のうちの一部であるN1個(N1は2以上の整数)のデータ特定情報であって、前記第1のデータ特定情報を含む前記N1個のデータ特定情報を含み、
前記第2のリクエストは、前記複数個のデータ特定情報のうちの一部であるN2個(N2は2以上の整数)のデータ特定情報であって、前記第2のデータ特定情報を含む前記N2個のデータ特定情報を含む、請求項3又は4に記載の仲介サーバ。
【請求項7】
前記複数個の要求生成用データのそれぞれは、前記通信装置がPOSTコマンドの通信要求を生成するのに必要なデータである、請求項1から6のいずれか一項に記載の仲介サーバ。
【請求項8】
前記複数個の対象データのそれぞれは、前記特定のサーバから前記通信装置にダウンロードされるべきデータである、請求項1から7のいずれか一項に記載の仲介サーバ。
【請求項9】
前記複数個の対象データのそれぞれは、前記通信装置から前記特定のサーバにアップロードされるべきデータである、請求項1から7のいずれか一項に記載の仲介サーバ。
【請求項10】
仲介サーバを介して特定のサーバと通信するための通信装置であって、
前記通信装置と前記特定のサーバとの間で通信されるべき複数個の対象データを特定するための複数個のデータ特定情報を含む1個の通知を、前記仲介サーバに送信する通知送信部であって、前記仲介サーバは、前記通信装置から前記1個の通知を受信する場合に、前記1個の通知に含まれる前記複数個のデータ特定情報を用いて、前記複数個の対象データに対応する複数個の要求生成用データを準備するサーバであり、前記複数個の要求生成用データのそれぞれは、前記通信装置が、当該1個の要求生成用データに対応する1個の対象データを前記特定のサーバと通信するための1個の通信要求を生成するのに必要なデータであり、前記複数個の要求生成用データのそれぞれは、当該1個の要求生成用データが準備されたタイミングに関係するタイミング情報を含む、前記通知送信部と、
前記仲介サーバから、前記複数個の要求生成用データを取得する取得部と、
前記複数個の要求生成用データを用いて、複数個の通信要求を生成する生成部と、
前記複数個の通信要求を前記特定のサーバに送信することによって、前記複数個の対象データを前記特定のサーバと通信する対象データ通信部と、を備え、
前記取得部は、前記複数個の対象データのうちの第1の対象データに対応する第1の要求生成用データを、前記仲介サーバから取得した後に、前記生成部が、前記第1の要求生成用データを用いて第1の通信要求を生成して、前記対象データ通信部が、前記第1の通信要求を前記特定のサーバに送信したことを条件として、前記複数個の対象データのうちの第2の対象データに対応する第2の要求生成用データを、前記仲介サーバから取得する、通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−110716(P2013−110716A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−256556(P2011−256556)
【出願日】平成23年11月24日(2011.11.24)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】