(57)【特許請求の範囲】
【請求項１】
データアップロードサービスを提供可能なサービス提供サーバであって、ユーザ毎に、当該ユーザのための認証情報と、当該ユーザのための電子メールアドレスと、を対応付けて記憶可能な前記サービス提供サーバに、インターネットを介して通信可能に接続される通信装置であって、
不揮発性メモリと、
揮発性メモリと、
特定のユーザのための特定の認証情報を、前記不揮発性メモリに記憶させる記憶制御部と、
アップロード対象の対象データを前記サービス提供サーバにアップロードするためのアップロード指示が、前記特定のユーザから与えられる場合に、前記不揮発性メモリ内の前記特定の認証情報を用いて、前記サービス提供サーバから、前記特定の認証情報に対応付けて記憶されている特定の電子メールアドレスを取得する取得部と、
前記特定の電子メールアドレスが送信先アドレスとして指定されている特定の電子メールであって、前記対象データを含む前記特定の電子メールを送信することによって、前記対象データを前記サービス提供サーバにアップロードするアップロード部と、
を備え、
前記記憶制御部は、前記特定の電子メールアドレスが取得される場合に、前記特定の電子メールアドレスを、前記不揮発性メモリに記憶させずに、前記揮発性メモリに記憶させる、通信装置。
【請求項２】
前記取得部は、
前記アップロード指示が与えられる場合に、前記サービス提供サーバから前記通信装置への前記データアップロードサービスの提供を仲介する仲介サーバに、前記特定の認証情報を送信する送信部と、
前記仲介サーバが、前記特定の認証情報を用いて、前記サービス提供サーバから取得する前記特定の電子メールアドレスを、前記仲介サーバから受信する受信部と、を備える請求項１に記載の通信装置。
【請求項３】
前記サービス提供サーバは、さらに、データダウンロードサービスを提供可能であり、
前記取得部は、前記サービス提供サーバからアップロード済みの前記対象データをダウンロードするためのダウンロード指示が、前記特定のユーザから与えられる場合に、前記サービス提供サーバから前記特定の電子メールアドレスを取得せず、
前記通信装置は、さらに、
前記ダウンロード指示が与えられる場合に、前記不揮発性メモリ内の前記特定の認証情報を用いて、前記サービス提供サーバから前記対象データをダウンロードするダウンロード部を備える、請求項１又は２に記載の通信装置。
【請求項４】
前記サービス提供サーバは、
電子メールの通信のための第１の通信プロトコルに従った第１種のアップロード要求に対応しており、
前記第１の通信プロトコルとは異なる第２の通信プロトコルに従った第２種のアップロード要求に対応しておらず、
前記第２の通信プロトコルに従った第２種のダウンロード要求に対応しており、
前記アップロード部は、前記アップロード指示が与えられる場合に、前記第１種のアップロード要求である前記特定の電子メールを送信することによって、前記対象データを前記サービス提供サーバにアップロードし、
前記ダウンロード部は、前記ダウンロード指示が与えられる場合に、前記第２種のダウンロード要求を前記サービス提供サーバに送信することによって、前記サービス提供サーバから前記対象データをダウンロードする、請求項３に記載の通信装置。
【請求項５】
前記サービス提供サーバに記憶される各ユーザのための各認証情報は、アクセストークンを含み、
前記特定の認証情報は、前記特定のユーザのための特定のアクセストークンを含む、請求項１から４のいずれか一項に記載の通信装置。
【請求項６】
データアップロードサービスを提供可能なサービス提供サーバであって、ユーザ毎に、当該ユーザのための認証情報と、当該ユーザのための電子メールアドレスと、を対応付けて記憶可能な前記サービス提供サーバに、インターネットを介して通信可能に接続される通信装置のためのコンピュータプログラムであって、
前記通信装置に搭載されるコンピュータに、以下の各処理、即ち、
特定のユーザのための特定の認証情報を、前記通信装置に備えられる不揮発性メモリに記憶させる第１の記憶制御処理と、
アップロード対象の対象データを前記サービス提供サーバにアップロードするためのアップロード指示が、前記特定のユーザから与えられる場合に、前記不揮発性メモリ内の前記特定の認証情報を用いて、前記サービス提供サーバから、前記特定の認証情報に対応付けて記憶されている特定の電子メールアドレスを取得する取得処理と、
前記特定の電子メールアドレスが送信先アドレスとして指定されている特定の電子メールであって、前記対象データを含む前記特定の電子メールを送信することによって、前記対象データを前記サービス提供サーバにアップロードするアップロード処理と、
前記特定の電子メールアドレスが取得される場合に、前記特定の電子メールアドレスを、前記不揮発性メモリに記憶させずに、前記通信装置に備えられる揮発性メモリに記憶させる第２の記憶制御処理と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、データアップロードサービスを提供可能なサービス提供サーバに、インターネットを介して通信可能に接続される通信装置を開示する。
【背景技術】
【０００２】
例えば、特許文献１には、文書をスキャンして画像データを生成する画像処理装置が開示されている。画像処理装置は、上記の画像データをサーバにアップロードすることが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２６９２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、ユーザが、アップロード対象の対象データをサービス提供サーバに容易にアップロードし得る技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書では、データアップロードサービスを提供可能であるサービス提供サーバに、インターネットを介して通信可能に接続される通信装置を開示する。サービス提供サーバは、ユーザ毎に、当該ユーザのための認証情報と、当該ユーザのための電子メールアドレスと、を対応付けて記憶可能である。通信装置は、記憶制御部と、取得部と、アップロード部と、を備える。記憶制御部は、特定のユーザのための特定の認証情報を、通信装置のメモリに記憶させる。取得部は、アップロード対象の対象データをサービス提供サーバにアップロードするためのアップロード指示が、特定のユーザから与えられる場合に、メモリ内の特定の認証情報を用いて、サービス提供サーバから、特定の認証情報に対応付けて記憶されている特定の電子メールアドレスを取得する。アップロード部は、特定の電子メールアドレスが送信先アドレスとして指定されている特定の電子メールであって、対象データを含む特定の電子メールを送信することによって、対象データをサービス提供サーバにアップロードする。
【０００６】
上記の構成によると、通信装置は、特定のユーザからアップロード指示が与えられる場合に、メモリ内の特定の認証情報を用いて、特定のユーザのための特定の電子メールアドレスをサービス提供サーバから取得する。そして、通信装置は、特定の電子メールアドレスが送信先アドレスとして指定されている特定の電子メールを送信することによって、対象データをサービス提供サーバにアップロードする。従って、特定のユーザは、例えば、通信装置の操作部を操作して、特定の電子メールアドレスを通信装置に入力する作業を実行せずに済む。このために、特定のユーザは、対象データをサービス提供サーバに容易にアップロードし得る。
【０００７】
取得部は、アップロード指示が与えられる場合に、サービス提供サーバから通信装置へのデータアップロードサービスの提供を仲介する仲介サーバに、特定の認証情報を送信する送信部と、仲介サーバが、特定の認証情報を用いて、サービス提供サーバから取得する特定の電子メールアドレスを、仲介サーバから受信する受信部と、を備えていてもよい。この構成によると、通信装置は、特定の電子メールアドレスを適切に取得することができる。
【０００８】
サービス提供サーバは、さらに、データダウンロードサービスを提供可能であってもよい。取得部は、サービス提供サーバからアップロード済みの対象データをダウンロードするためのダウンロード指示が、特定のユーザから与えられる場合に、サービス提供サーバから特定の電子メールアドレスを取得しなくてもよい。通信装置は、さらに、ダウンロード指示が与えられる場合に、メモリ内の特定の認証情報を用いて、サービス提供サーバから対象データをダウンロードするダウンロード部を備えていてもよい。この構成によると、通信装置は、ダウンロード指示が与えられる場合に、サービス提供サーバから特定の電子メールアドレスを取得せずに、メモリ内の特定の認証情報を用いて、サービス提供サーバから対象データをダウンロードする。このように、通信装置は、特定のユーザからアップロード指示が与えられる場合でも、特定のユーザからダウンロード指示が与えられる場合でも、共通の認証情報を用いることができる。従って、アップロードのための認証情報と、ダウンロードのための認証情報と、の両方をメモリに記憶させる構成と比べると、メモリが記憶すべき情報量を低減させることができる。
【０００９】
サービス提供サーバは、電子メールの通信のための第１の通信プロトコルに従った第１種のアップロード要求に対応しており、第１の通信プロトコルとは異なる第２の通信プロトコルに従った第２種のアップロード要求に対応しておらず、第２の通信プロトコルに従った第２種のダウンロード要求に対応していてもよい。アップロード部は、アップロード指示が与えられる場合に、第１種のアップロード要求である特定の電子メールを送信することによって、対象データをサービス提供サーバにアップロードしてもよい。ダウンロード部は、ダウンロード指示が与えられる場合に、第２種のダウンロード要求をサービス提供サーバに送信することによって、サービス提供サーバから対象データをダウンロードしてもよい。この構成によると、通信装置は、サービス提供サーバが対応しているアップロード要求及びダウンロード要求に応じて、対象データのアップロード及びダウンロードを適切に実行することができる。
【００１０】
メモリは、不揮発性メモリと、揮発性メモリと、を含んでいてもよい。記憶制御部は、特定の認証情報を、不揮発性メモリに記憶させ、特定の電子メールアドレスが取得される場合に、特定の電子メールアドレスを、不揮発性メモリに記憶させずに、揮発性メモリに記憶させてもよい。この構成によると、特定の電子メールアドレスが不揮発性メモリに記憶されないために、不揮発性メモリに記憶される情報量を低減させ得る。
【００１１】
サービス提供サーバに記憶される各ユーザのための各認証情報は、アクセストークンを含んでいてもよい。特定の認証情報は、特定のユーザのための特定のアクセストークンを含んでいてもよい。
【００１２】
なお、通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。
【図面の簡単な説明】
【００１３】
【図１】通信システムの構成を示す。
【図２】各デバイスが実行する各処理のシーケンス図を示す。
【発明を実施するための形態】
【００１４】
（システムの構成）
図１に示されるように、通信システム２は、多機能機１０と、仲介サーバ５０と、ＰＣ９０と、複数個のサービス提供サーバ１００，１１０と、を備える。多機能機１０とＰＣ９０とは、ＬＡＮ４に接続されている。仲介サーバ５０と複数個のサービス提供サーバ１００，１１０とは、インターネット６に接続されている。多機能機１０は、インターネット６を介して、仲介サーバ５０及び各サービス提供サーバ１００，１１０と通信可能である。
【００１５】
（多機能機１０の構成）
多機能機１０は、印刷機能、スキャン機能、コピー機能、ＦＡＸ機能等の多機能を実行可能である。多機能機１０は、さらに、サービス提供サーバ１００，１１０に保存されている画像データをダウンロードして、当該画像データによって表わされる画像を印刷するダウンロード印刷機能（以下では「ＤＬ印刷機能」と呼ぶ）を実行可能である。また、多機能機１０は、さらに、多機能機１０がスキャンすることによって生成される画像データを、サービス提供サーバ１００，１１０にアップロードするスキャンアップロード機能（以下では「スキャンＵＬ機能」と呼ぶ）を実行可能である。
【００１６】
多機能機１０は、操作部１２と、表示部１４と、ネットワークインターフェイス１６と、印刷実行部１８と、スキャン実行部２０と、制御部３０と、を備える。操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示を多機能機１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。ネットワークインターフェイス１６は、ＬＡＮ４に接続されている。印刷実行部１８は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部２０は、ＣＣＤ、ＣＩＳ等のスキャン機構である。
【００１７】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム（図示省略）に従って、様々な処理を実行する。ＣＰＵ３２が上記のプログラムに従って処理を実行することによって、記憶制御部４０、取得部４１、アップロード部４４、及び、ダウンロード部４５の各機能が実現される。なお、取得部４１は、送信部４２及び受信部４３を備える。
【００１８】
メモリ３４は、ＮＶＲＡＭ３６と、ＶＲＡＭ３８と、を備える。ＮＶＲＡＭ３６は、不揮発性のメモリである。従って、多機能機１０の電源がＯＦＦされても、ＮＶＲＡＭ３６内のデータは消去されない。ＮＶＲＡＭ３６は、表示名テーブル３７を格納する。表示名テーブル３７は、表示名とサーバ名とアクセストークンとが対応付けられた情報を記憶するためのテーブルである。表示名テーブル３７がどのようにして生成されるのかについては、後で詳しく説明する。ＶＲＡＭ３８は、揮発性のメモリである。従って、多機能機１０の電源がＯＦＦされると、ＶＲＡＭ３８内のデータは消去される。
【００１９】
（仲介サーバ５０の構成）
仲介サーバ５０は、サービス提供サーバ１００，１１０から多機能機１０へのサービスの提供を仲介する。仲介サーバ５０は、多機能機１０のベンダによって提供されるサーバである。仲介サーバ５０は、ネットワークインターフェイス５２と、制御部６０と、を備える。制御部６０は、ＣＰＵ６２と、メモリ６４と、を備える。ＣＰＵ６２は、メモリ６４に格納されているプログラムに従って、様々な処理を実行する。
【００２０】
（サービス提供サーバ１００，１１０の構成）
各サービス提供サーバ１００，１１０は、例えば、「Ｅｖｅｒｎｏｔｅ（登録商標）」、「Ｇｏｏｇｌｅ（登録商標）  Ｄｏｃｓ」、「ＰＩＣＡＳＡ（登録商標）」、「ＦＡＣＥＢＯＯＫ（登録商標）」等の公知のサービス提供サーバである。なお、本実施例では、サービス提供サーバ１００のサーバ名が「ＳＥ１」（例えば「Ｅｖｅｒｎｏｔｅ（登録商標）」）であり、サービス提供サーバ１１０のサーバ名が「ＳＥ２」（例えば「Ｇｏｏｇｌｅ（登録商標）  Ｄｏｃｓ」）である状況を想定している。
【００２１】
各サービス提供サーバ１００，１１０は、多機能機１０を含む様々な通信機器にサービスを提供可能である。例えば、各サービス提供サーバ１００，１１０は、多機能機１０がスキャンＵＬ機能を実行する際に、多機能機１０から取得される画像データを保存するデータアップロードサービス（以下では「ＵＬサービス」と呼ぶ）を実行可能である。また、例えば、各サービス提供サーバ１００，１１０は、多機能機１０がＤＬ印刷機能を実行する際に、多機能機１０に画像データを供給するデータダウンロードサービス（以下では「ＤＬサービス」と呼ぶ）を実行可能である。
【００２２】
なお、サービス提供サーバ１００は、第１のサービス事業者（即ち第１の会社）によって提供されるサーバであり、サービス提供サーバ１１０は、第１のサービス事業者とは異なる第２のサービス事業者（即ち第２の会社）によって提供されるサーバである。第１のサービス事業者は、サービス提供サーバ１００からサービスを受けるための第１のＡＰＩ（Application Program Interface）を公開しており、第２のサービス事業者は、サービス提供サーバ１１０からサービスを受けるための第２のＡＰＩを公開している。第１のサービス事業者と第２のサービス事業者とが異なるために、通常、第１のＡＰＩと第２のＡＰＩとは異なる。通信機器は、例えば、サービス提供サーバ１００，１１０の両方からサービスを受けるためには、第１及び第２のＡＰＩの両方に対応している必要がある（即ち、第１のＡＰＩを利用するためのプログラムと、第２のＡＰＩを利用するためのプログラムと、の両方が必要である）。
【００２３】
例えば、多機能機１０が複数個のサービス提供サーバ１００，１１０のそれぞれからサービスを受けるためには、多機能機１０は、複数個のＡＰＩに対応している必要があり、多くのプログラムを格納する必要がある。しかしながら、ＰＣ等と比べると、多機能機１０のメモリ３４の記憶容量は少ない。従って、本実施例では、多機能機１０に多くのプログラムを格納させることなく、多機能機１０が複数個のサービス提供サーバ１００，１１０のそれぞれからサービスを受けることができるように、仲介サーバ５０が設けられている。即ち、仲介サーバ５０は、複数個のサービス提供サーバ１００，１１０のための複数個のＡＰＩに対応している。そして、多機能機１０が、複数個のサービス提供サーバ１００，１１０のうちの特定のサービス提供サーバ（例えばサービス提供サーバ１００）からサービスを受けるべき状況では、仲介サーバ５０は、特定のサービス提供サーバのためのＡＰＩを利用して、特定のサービス提供サーバと後述の様々な通信（例えば、図２のリクエストＲ４，Ｒ１２、レスポンスＲ６，Ｒ１４等）を実行する。これにより、多機能機１０は、特定のサービス提供サーバのためのＡＰＩに対応していなくても、特定のサービス提供サーバと画像データの通信を実行することができる。即ち、多機能機１０は、複数個のＡＰＩを利用するための多くのプログラムを格納していなくても、複数個のサービス提供サーバ１００，１１０のそれぞれからサービスを受けることができる。
【００２４】
サービス提供サーバ１００は、ユーザ情報テーブル１０１を記憶する。ユーザ情報テーブル１０１は、アクセストークンと電子メールアドレスとアカウント名とパスワードとが対応付けられた情報を記憶するためのテーブルである。ユーザ情報テーブル１０１がどのようにして生成されるのかについては、後で詳しく説明する。なお、サービス提供サーバ１００と同様に、サービス提供サーバ１１０も、ユーザ情報テーブル（図示省略）を記憶する。
【００２５】
なお、インターネット６上の公知のサービス提供サーバへのアップロード要求の手法としては、ＨＴＴＰ（Hyper Text Transfer Protocol）に従ったコマンドを利用する手法と、ＳＭＴＰ（Simple Mail Transfer Protocol）に従った電子メールを利用する手法と、が知られている。ただし、全てのサービス提供サーバが両方の手法に対応しているとは限らない。例えば、本実施例では、サービス提供サーバ１００（例えば「Ｅｖｅｒｎｏｔｅ（登録商標）」）は、ＳＭＴＰに従ったアップロード要求に対応しているが、ＨＴＴＰに従ったアップロード要求に対応していない。即ち、サービス提供サーバ１００は、ＳＭＴＰに従ったアップロード要求を受信する場合に、当該アップロード要求に応じてＵＬサービスを提供するが（即ち、ＳＭＴＰに従ったアップロード要求をサポートしているが）、ＨＴＴＰに従ったアップロード要求を受信する場合に、当該アップロード要求に応じてＵＬサービスを提供しない（即ち、ＨＴＴＰに従ったアップロード要求をサポートしてしない）。
【００２６】
また、インターネット６上の公知のサービス提供サーバへのダウンロード要求の手法としては、ＨＴＴＰに従ったコマンドを利用する手法が知られている。本実施例では、サービス提供サーバ１００は、ＨＴＴＰに従ったダウンロード要求に対応している。即ち、サービス提供サーバ１００は、ＨＴＴＰに従ったダウンロード要求を受信する場合に、当該ダウンロード要求に応じてＤＬサービスを提供する（即ち、ＨＴＴＰに従ったダウンロード要求をサポートしている）。
【００２７】
（各デバイス１０，５０，１００が実行する各処理）
続いて、図２を参照しながら、各デバイス１０，５０，１００が実行する各処理の内容を説明する。
【００２８】
（登録処理）
多機能機１０のユーザ（以下では「特定のユーザ」と呼ぶ）は、多機能機１０が各サービス提供サーバ１００，１１０からサービスを受けるために、以下の事前準備を実行する必要がある。特定のユーザは、ＰＣ９０を利用して、サービス提供サーバ１００からサービスを受けるためのアカウント名「Ｕ１」及びパスワード「ＰＷ１」を、サービス提供サーバ１００に登録する。この場合、サービス提供サーバ１００は、特定のユーザのための電子メールアドレス「Ｍ１」を発行し、「Ｕ１」と「ＰＷ１」と「Ｍ１」とを対応付けて、ユーザ情報テーブル１０１に登録する。
【００２９】
次いで、特定のユーザは、ＰＣ９０を利用して、仲介サーバ５０にアクセスし、「認証情報の取得」を選択する。なお、本実施例では、「認証情報」は、後述のアクセストークン（例えば「ＡＫ１」）を意味する。「認証情報の取得」が選択されると、仲介サーバ５０は、サービス提供サーバ１００にアクセスするための特定のＵＲＬを、ＰＣ９０に送信する。特定のＵＲＬは、アクセストークンを生成することをサービス提供サーバ１００に指示するための生成指示と、当該アクセストークンを仲介サーバ５０に送信することをサービス提供サーバ１００に指示するための送信指示と、を含む。次いで、特定のユーザは、特定のＵＲＬを用いて、ＰＣ９０からサービス提供サーバ１００にアクセスする。次いで、特定のユーザは、ＰＣ９０を介して、アカウント名「Ｕ１」及びパスワード「ＰＷ１」をサービス提供サーバ１００に入力して、認証手続を実行する。認証が成功すると、サービス提供サーバ１００は、特定のユーザのためのアクセストークン「ＡＫ１」を生成して、アクセストークン「ＡＫ１」を仲介サーバ５０に送信する。なお、この際に、サービス提供サーバ１００は、「Ｕ１」と「ＰＷ１」と「Ｍ１」とに対応付けて、「ＡＫ１」をユーザ情報テーブル１０１に登録する。仲介サーバ５０は、サービス提供サーバ１００からアクセストークン「ＡＫ１」を受信すると、テンポラリＩＤを生成して、テンポラリＩＤをＰＣ９０に送信する。これにより、ＰＣ９０にテンポラリＩＤが表示される。特定のユーザは、ＰＣ９０に表示されたテンポラリＩＤを知ることができる。
【００３０】
次いで、特定のユーザは、多機能機１０の操作部１２を操作して、サービス提供サーバ１００のサーバ名「ＳＥ１」と、多機能機１０上での特定のユーザの表示用の名称である表示名「Ａｌｉｃｅ」と、を多機能機１０に入力する。特定のユーザは、さらに、多機能機１０の操作部１２を操作して、テンポラリＩＤを多機能機１０に入力する。この場合、多機能機１０は、仲介サーバ５０にテンポラリＩＤを送信する。これにより、仲介サーバ５０は、アクセストークン「ＡＫ１」を多機能機１０に送信する。このようにして、図２の登録指示が多機能機１０に与えられ、その結果、多機能機１０の記憶制御部４０（図１参照）は、特定のユーザによって入力された表示名「Ａｌｉｃｅ」と、特定のユーザによって入力されたサーバ名「ＳＥ１」と、仲介サーバ５０から取得されたアクセストークン「ＡＫ１」と、を対応付けて、表示名テーブル３７に記憶させる。
【００３１】
上述したように、サービス提供サーバ１００及び仲介サーバ５０がアクセストークン「ＡＫ１」をＰＣ９０に送信せずに、仲介サーバ５０は、アクセストークン「ＡＫ１」を一時的に保持する。そして、多機能機１０は、テンポラリＩＤを用いて、仲介サーバ５０からアクセストークン「ＡＫ１」を取得する。これにより、アクセストークン「ＡＫ１」が、ＰＣ９０で表示されたり、ＰＣ９０から他のデバイスに送信されたりすることを抑制することができ、この結果、アクセストークンというセキュリティの高い情報が流出するのを抑制することができる。なお、表示名テーブル３７には、特定のユーザのための電子メールアドレス「Ｍ１」が記憶されない。即ち、記憶制御部４０は、電子メールアドレス「Ｍ１」をＮＶＲＡＭ３６に記憶させない。なお、特定のユーザは、上記と同様に、サービス提供サーバ１１０に関して、表示名「Ａｌｉｃｅ」と、サーバ名「ＳＥ２」と、アクセストークン「ＡＫ２」と、を対応付けて、表示名テーブル３７に登録可能である。
【００３２】
（多機能機１０がＵＬサービスを受けるための処理）
続いて、多機能機１０がＵＬサービスを受けるために、各デバイス１０，５０，１００が実行する各処理の内容を説明する。図示していないが、特定のユーザは、多機能機１０の操作部１２を操作して、どのサービス提供サーバからＵＬサービスを受けるのかを選択すると共に、特定のユーザのための表示名を選択する。本実施例では、特定のユーザによってサービス提供サーバ１００（即ちサーバ名「ＳＥ１」）が選択され、かつ、特定のユーザによって表示名「Ａｌｉｃｅ」が選択された場合を例として、説明を続ける。特定のユーザは、さらに、操作部１２を操作して、多機能機１０が実行可能な複数の機能の中から、スキャンＵＬ機能を選択する。これにより、特定のユーザから多機能機１０にアップロード指示が与えられる。
【００３３】
上述したように、サービス提供サーバ１００は、ＨＴＴＰに従ったアップロード要求に対応しておらず、ＳＭＴＰに従ったアップロード要求に対応している。このために、アップロード要求の電子メール（後述の電子メールＥＭ）の送信先アドレスとして指定されるべき電子メールアドレスが必要である。従って、多機能機１０の取得部４１（図１参照）は、サービス提供サーバ１００から電子メールアドレスを取得するために、以下の各処理を実行する。
【００３４】
即ち、特定のユーザからアップロード指示が与えられる場合に、取得部４１は、まず、ＮＶＲＡＭ３６内の表示名テーブル３７から、サーバ名「ＳＥ１」及び表示名「Ａｌｉｃｅ」に対応付けられているアクセストークン「ＡＫ１」を特定する。次いで、送信部４２（図１参照）は、特定済みのアクセストークン「ＡＫ１」を含むリクエストＲ２を、仲介サーバ５０に送信する。なお、リクエストＲ２は、アクセストークン「ＡＫ１」に対応付けられている電子メールアドレス「Ｍ１」（サービス提供サーバ１００内のユーザ情報テーブル１０１参照）を多機能機１０に送信するように、仲介サーバ５０に指示するためのリクエストである。
【００３５】
仲介サーバ５０の制御部６０は、多機能機１０からリクエストＲ２を受信すると、第１のＡＰＩに従って、アクセストークン「ＡＫ１」を含むリクエストＲ４を生成して、リクエストＲ４をサービス提供サーバ１００に送信する。リクエストＲ４は、アクセストークン「ＡＫ１」に対応付けられている電子メールアドレス「Ｍ１」を仲介サーバ５０に送信するように、サービス提供サーバ１００に指示するためのリクエストである。
【００３６】
サービス提供サーバ１００は、リクエストＲ４を受信すると、アクセストークン「ＡＫ１」の認証を実行する（即ち、「ＡＫ１」がユーザ情報テーブル１０１に登録されているのか否かを判断する）。サービス提供サーバ１００は、認証が成功すると（即ち、「ＡＫ１」がユーザ情報テーブル１０１に登録されていると）、ユーザ情報テーブル１０１から、アクセストークン「ＡＫ１」に対応付けられている電子メールアドレス「Ｍ１」を特定する。次いで、サービス提供サーバ１００は、特定済みの電子メールアドレス「Ｍ１」を含むレスポンスＲ６を、仲介サーバ５０に送信する。
【００３７】
仲介サーバ５０の制御部６０は、サービス提供サーバ１００からレスポンスＲ６を受信すると、電子メールアドレス「Ｍ１」を含むレスポンスＲ８を生成して、レスポンスＲ８を多機能機１０に送信する。
【００３８】
多機能機１０の受信部４３（図１参照）は、仲介サーバ５０からレスポンスＲ８を受信する。これにより、取得部４１は、サービス提供サーバ１００から、仲介サーバ５０を介して、電子メールアドレス「Ｍ１」を取得する。このように、本実施例では、多機能機１０は、仲介サーバ５０を利用して、サービス提供サーバ１００から電子メールアドレス「Ｍ１」を取得する。このために、多機能機１０は、第１のＡＰＩに対応していなくても、サービス提供サーバ１００から電子メールアドレス「Ｍ１」を取得することができる。
【００３９】
サービス提供サーバ１００から電子メールアドレス「Ｍ１」が取得される場合に、記憶制御部４０は、電子メールアドレス「Ｍ１」をＶＲＡＭ３８に記憶させる。これにより、アップロード部４４（図１参照）は、後の処理で電子メールＥＭを送信する際に、ＶＲＡＭ３８内の電子メールアドレス「Ｍ１」を利用することができる。なお、記憶制御部４０は、電子メールアドレス「Ｍ１」をＮＶＲＡＭ３６に記憶させない。これにより、ＮＶＲＡＭ３６に記憶される情報量を低減させることができる。
【００４０】
次いで、制御部３０は、原稿のスキャンをスキャン実行部２０に実行させる。以下では、原稿のスキャンによって生成される画像データのことを「特定の画像データ」と呼ぶ。次いで、アップロード部４４は、ＳＭＴＰ（Simple Mail Transfer Protocol）に従って、ＶＲＡＭ３８内の電子メールアドレス「Ｍ１」が送信先アドレスとして指定されている電子メールＥＭを生成する。電子メールＥＭは、上記の特定の画像データを含む。そして、アップロード部４４は、ＳＭＴＰに従って、電子メールＥＭをサービス提供サーバ１００に送信する。電子メールＥＭは、上記の特定の画像データを保存（即ちアップロード）するように、サービス提供サーバ１００に指示するためのリクエストである。即ち、電子メールＥＭは、ＳＭＴＰに従ったアップロード要求である。
【００４１】
サービス提供サーバ１００は、電子メールＥＭを受信すると、特定のユーザのためのユーザ情報（例えばアカウント名「Ｕ１」）に対応付けて、電子メールＥＭに含まれる上記の特定の画像データを保存（アップロード）する。これにより、サービス提供サーバ１００から多機能機１０へＵＬサービスが提供される。即ち、多機能機１０は、スキャンＵＬ機能を実行することができる。
【００４２】
なお、例えば、サービス提供サーバ１００が、ＳＭＴＰに従ったアップロード要求と、ＨＴＴＰとは異なるプロトコルに従ったアップロード要求（以下では「特定のアップロード要求」と呼ぶ）と、に対応している可能性がある。そして、多機能機１０が、上記の特定のアップロード要求を送信するためのプログラムを備えていないが、仲介サーバ５０が、当該プログラムを備えている可能性がある。この場合、多機能機１０から仲介サーバ５０に上記の特定の画像データを送信し、仲介サーバ５０からサービス提供サーバ１００に上記の特定の画像データを含む上記の特定のアップロード要求を送信すれば、サービス提供サーバ１００に上記の特定の画像データをアップロードし得る。
【００４３】
しかしながら、このような手法を利用すると、特定のユーザのプライベートな画像を表わす上記の特定の画像データが、多機能機１０のベンダによって提供される仲介サーバ５０を経由することになる。特定のユーザの個人情報の保護の観点から、このような手法を採用するのは好ましくない。このために、本実施例では、仮に、仲介サーバ５０が、上記の特定のアップロード要求を送信するためのプログラムを備えていても、多機能機１０のアップロード部４４は、上記の特定の画像データを含む電子メールＥＭを送信することによって、上記の特定の画像データをサービス提供サーバ１００にアップロードする。これにより、上記の特定の画像データが多機能機１０から仲介サーバ５０を介してサービス提供サーバ１００に送信されないために、特定のユーザのプライベートな画像が仲介サーバ５０を経由することを防止することができる。
【００４４】
なお、図２では省略しているが、仮に、特定のユーザから、サービス提供サーバ１００に画像データをアップロードするための新たなアップロード指示が与えられると、上記と同様に、電子メールを用いたアップロードが実行される。即ち、特定のユーザからアップロード指示が与えられる毎に、取得部４１は、サービス提供サーバ１００から電子メールアドレス「Ｍ１」を取得し、アップロード部４４は、電子メールアドレス「Ｍ１」が送信先として指定されている電子メールを送信することによって、画像データをサービス提供サーバ１００にアップロードする。
【００４５】
（多機能機１０がＤＬサービスを受けるための処理）
続いて、多機能機１０がＤＬサービスを受けるために、各デバイス１０，５０，１００が実行する各処理の内容を説明する。図示していないが、上記のＵＬサービスの場合と同様に、特定のユーザは、多機能機１０の操作部１２を操作して、サービス提供サーバ１００（即ちサーバ名「ＳＥ１」）と、表示名「Ａｌｉｃｅ」と、を選択する。特定のユーザは、さらに、操作部１２を操作して、多機能機１０が実行可能な複数の機能の中から、ＤＬ印刷機能を選択する。これにより、特定のユーザから多機能機１０にダウンロード指示が与えられる。
【００４６】
なお、特定のユーザは、多機能機１０にダウンロード指示を与える際に、特定のユーザによってサービス提供サーバ１００に過去にアップロードされた１個以上の画像データの中から、ダウンロード対象の画像データを選択する。例えば、特定のユーザは、画像データのファイル名を指定したり、画像データのサムネイルを選択したりして、ダウンロード対象の画像データを選択する。本実施例では、特定のユーザによって上記の特定の画像データ（即ち、原稿のスキャンによって生成された画像データ）が選択された場合を例として、以下の説明を続ける。
【００４７】
上述したように、サービス提供サーバ１００は、ＨＴＴＰに従ったダウンロード要求に対応している。多機能機１０は、ダウンロード指示が与えられた場合に、サービス提供サーバ１００から電子メールアドレスを取得する必要がない。このために、上記のＵＬサービスの場合とは異なり、取得部４１は、特定のユーザからダウンロード指示が与えられても、サービス提供サーバ１００から電子メールアドレスを取得しない。このために、多機能機１０の処理負荷を低減させることができる。
【００４８】
ダウンロード部４５（図１参照）は、特定のユーザからダウンロード指示が与えられる場合に、ＮＶＲＡＭ３６内の表示名テーブル３７から、サーバ名「ＳＥ１」及び表示名「Ａｌｉｃｅ」に対応付けられているアクセストークン「ＡＫ１」を特定する。次いで、ダウンロード部４５は、特定済みのアクセストークン「ＡＫ１」を含むリクエストＲ１０を、仲介サーバ５０に送信する。なお、リクエストＲ１０は、ダウンロード対象の上記の特定の画像データのＵＲＬ（以下では「ダウンロード元のＵＲＬ」と呼ぶ）を多機能機１０に送信するように、仲介サーバ５０に指示するためのリクエストである。
【００４９】
仲介サーバ５０の制御部６０は、多機能機１０からリクエストＲ１０を受信すると、第１のＡＰＩに従って、アクセストークン「ＡＫ１」を含むリクエストＲ１２を生成して、リクエストＲ１２をサービス提供サーバ１００に送信する。リクエストＲ１２は、ダウンロード元のＵＲＬを仲介サーバ５０に送信するように、サービス提供サーバ１００に指示するためのリクエストである。
【００５０】
サービス提供サーバ１００は、リクエストＲ１２を受信すると、アクセストークン「ＡＫ１」の認証を実行する。サービス提供サーバ１００は、認証が成功すると、特定のユーザのためのユーザ情報（例えばアカウント名「Ｕ１」）に対応付けられている上記の特定の画像データのＵＲＬ（即ちダウンロード元のＵＲＬ）を含むレスポンスＲ１４を、仲介サーバ５０に送信する。
【００５１】
仲介サーバ５０の制御部６０は、サービス提供サーバ１００からレスポンスＲ１４を受信すると、第１のＡＰＩに従ってＨＴＴＰコマンドを生成する。ここでのＨＴＴＰコマンドには、ダウンロード元のＵＲＬが記述される。ＨＴＴＰコマンドは、ダウンロード元のＵＲＬに保存されている上記の特定の画像データを送信するように、サービス提供サーバ１００に指示するためのリクエストである。即ち、ＨＴＴＰコマンドは、ＨＴＴＰに従ったダウンロード要求である。次いで、制御部６０は、生成済みのＨＴＴＰコマンドを含むレスポンスＲ１６を、多機能機１０に送信する。
【００５２】
多機能機１０のダウンロード部４５は、仲介サーバ５０からレスポンスＲ１６を受信すると、レスポンスに含まれるＨＴＴＰコマンドを、仲介サーバ５０を介さずに、サービス提供サーバ１００に送信する。上述したように、本実施例では、仲介サーバ５０が、第１のＡＰＩに従ってＨＴＴＰコマンドを生成して、ＨＴＴＰコマンドを多機能機１０に供給する。このために、多機能機１０は、第１のＡＰＩに対応していなくても、仲介サーバ５０から取得されるＨＴＴＰコマンドを用いて、サービス提供サーバ１００にダウンロード要求を送信することができる。
【００５３】
サービス提供サーバ１００は、多機能機１０からＨＴＴＰコマンドを受信すると、ＨＴＴＰコマンドに含まれるダウンロード元のＵＲＬに保存されている上記の特定の画像データを、仲介サーバ５０を介さずに、多機能機１０に供給する。上記の特定の画像データがサービス提供サーバ１００から仲介サーバ５０を介して多機能機１０に送信されないために、特定のユーザのプライベートな画像が仲介サーバ５０を経由することを防止することができる。
【００５４】
多機能機１０のダウンロード部４５は、サービス提供サーバ１００から上記の特定の画像データを受信する。これにより、サービス提供サーバ１００から多機能機１０へＤＬサービスが提供される。次いで、制御部３０は、上記の特定の画像データによって表わされる画像の印刷を印刷実行部１８に実行させる。これにより、多機能機１０は、ＤＬ印刷機能を実行することができる。
【００５５】
なお、図２では省略しているが、仮に、特定のユーザから、サービス提供サーバ１００から画像データをダウンロードするための新たなダウンロード指示が与えられると、上記と同様に、ＨＴＴＰコマンドを用いたダウンロードが実行される。即ち、特定のユーザからダウンロード指示が与えられる毎に、ダウンロード部４５は、サービス提供サーバ１００からダウンロードＵＲＬを取得し、ＨＴＴＰコマンドを送信することによって、サービス提供サーバ１００から画像データをダウンロードする。
【００５６】
（本実施例の効果）
本実施例によると、多機能機１０は、特定のユーザからアップロード指示が与えられる場合に、ＮＶＮＡＭ３６内のアクセストークン「ＡＫ１」を用いて、特定のユーザのための電子メールアドレス「Ｍ１」をサービス提供サーバ１００から取得する。そして、多機能機１０は、電子メールアドレス「Ｍ１」が送信先アドレスとして指定されている電子メールＥＭを送信することによって、上記の特定の画像データをサービス提供サーバ１００にアップロードする。従って、特定のユーザは、例えば、多機能機１０の操作部１２を操作して、電子メールアドレス「Ｍ１」を多機能機１０に入力する作業を実行せずに済む。このために、特定のユーザは、上記の特定の画像データをサービス提供サーバ１００に容易にアップロードすることができる。
【００５７】
また、例えば、セキュリティ強化の観点から、サービス提供サーバ１００に登録されている電子メールアドレス「Ｍ１」が、特定のユーザによって変更される可能性がある。このような場合でも、多機能機１０は、特定のユーザからアップロード指示が与えられる場合に、変更後の電子メールアドレスをサービス提供サーバ１００から取得して、画像データをサービス提供サーバ１００にアップロードすることができる。サービス提供サーバ１００に登録されている電子メールアドレスが変更される毎に、特定のユーザが、変更後の電子メールアドレスを多機能機に入力する構成と比べると、本実施例の多機能機１０は、画像データをサービス提供サーバ１００に容易にアップロードすることができる。
【００５８】
また、本実施例では、多機能機１０は、特定のユーザからアップロード指示が与えられる場合でも、特定のユーザからダウンロード指示が与えられる場合でも、共通のアクセストークン「ＡＫ１」を用いて、サービス提供サーバ１００からＵＬサービス及びＤＬサービスを受けることができる。このために、ＵＬサービスを受けるための第１のアクセストークンと、ＤＬサービスを受けるための第２のアクセストークンと、の両方をメモリに記憶させる構成と比べると、多機能機１０のメモリ３４が記憶すべき情報量を低減させることができる。また、特定のユーザは、第１のアクセストークンを多機能機１０に登録するための手続きと、第２のアクセストークンを多機能機１０に登録するための手続きと、を実行せずに済み、共通のアクセストークン「ＡＫ１」を多機能機１０に登録するための手続きを実行すれば足りる。このために、特定のユーザが、サービス提供サーバ１００からＵＬサービス及びＤＬサービスを受けるための手続き（例えば、アクセストークン「ＡＫ１」の登録手続き）を簡単化することができる。
【００５９】
（対応関係）
多機能機１０が、「通信装置」の一例である。アクセストークン「ＡＫ１」、電子メールアドレス「Ｍ１」、電子メールＥＭ、上記の特定の画像データが、それぞれ、「特定の認証情報」、「特定の電子メールアドレス」、「特定の電子メール」、「対象データ」の一例である。ＳＭＴＰ、ＨＴＴＰが、それぞれ、「第１の通信プロトコル」、「第２の通信プロトコル」の一例である。また、電子メールＥＭ、ＨＴＴＰコマンドが、それぞれ、「第１種のアップロード要求」、「第２種のダウンロード要求」の一例である。また、「ＡＫ１」を含むリクエストＲ２を送信することが、「取得部」によって実行される「前記メモリ内の前記特定の認証情報を用いて」の一例である。また、「ＡＫ１」を含むリクエストＲ１０を送信することが、「ダウンロード部」によって実行される「前記メモリ内の前記特定の認証情報を用いて」の一例である。
【００６０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
【００６１】
（１）「通信装置」は、印刷機能、スキャン機能等を実行可能である多機能機１０に限られず、印刷機能のみを実行可能であるプリンタであってもよいし、スキャン機能のみを実行可能であるスキャナであってもよい。また、「通信装置」は、ＰＣ、携帯電話、ＰＤＡ、ＦＡＸ装置、サーバ等の他の種類のデバイスであってもよい。一般的に言うと、「通信装置」は、インターネットに接続可能であればよい。
【００６２】
（２）サービス提供サーバ１００は、ＵＬサービスとＤＬサービスとの両方を提供可能でなくてもよく、ＵＬサービスのみを提供可能であってもよいし、ＵＬサービスと他のサービス（ＤＬサービス以外のサービス）を提供可能であってもよい。一般的に言うと、「サービス提供サーバ」は、ＵＬサービスを提供可能であればよい。
【００６３】
（３）上記の実施例では、「認証情報」としてアクセストークンを利用しているが、「認証情報」は、例えば、ユーザ名とパスワードとの組合せの情報であってもよい。一般的に言うと、「認証情報」は、サービス提供サーバが認証のために利用する情報であればよい。
【００６４】
（４）上記の実施例では、取得部４１は、サービス提供サーバ１００から、仲介サーバ５０を介して、電子メールアドレス「Ｍ１」を取得している。これに代えて、例えば、多機能機１０が第１のＡＰＩに対応している場合（即ち、多機能機１０が、第１のＡＰＩを利用するためのプログラムを備えている場合）には、取得部４１は、サービス提供サーバ１００に、仲介サーバ５０を介さずに、アクセストークン「ＡＫ１」を含むリクエストを送信して、サービス提供サーバ１００から、仲介サーバ５０を介さずに、電子メールアドレス「Ｍ１」を取得してもよい。一般的に言うと、「取得部」は、特定の認証情報を用いて、サービス提供サーバから特定の電子メールアドレスを取得すればよい。
【００６５】
（５）上記の実施例では、サービス提供サーバ１００にアップロードされるデータは、原稿のスキャンによって生成される画像データである。これに代えて、サービス提供サーバ１００にアップロードされるデータは、多機能機１０に接続されている外部メモリ（例えばＵＳＢメモリ）に記憶されているデータであってもよいし、多機能機１０が外部装置（例えばＰＣ９０）から取得するデータであってもよい。一般的に言うと、「対象データ」は、アップロードされるデータであれば、どのような種類のデータであってもよい。
【００６６】
（６）上記の実施例では、多機能機１０は、サービス提供サーバ１００からダウンロードされるデータに従って、印刷を実行する。これに代えて、多機能機１０は、サービス提供サーバ１００からダウンロードされるデータを、多機能機１０に接続されている外部メモリ（例えばＵＳＢメモリ）に記憶させてもよい。また、多機能機１０は、サービス提供サーバ１００からダウンロードされるデータを加工（例えば、画像処理、演算等）してもよい。一般的に言うと、「対象データ」がダウンロードされる場合に、通信装置は、上記の実施例のように、印刷を実行してもよいし、他の処理を実行してもよい。
【００６７】
（７）上記の実施例では、多機能機１０が複数個のＡＰＩに対応していないために、仲介サーバ５０が必要である。しかしながら、多機能機１０は、複数個のＡＰＩに対応していいてもよい。この場合、多機能機１０は、仲介サーバ５０を介さずに、アップロード及びダウンロードのための各通信を実行してもよい。一般的に言うと、「通信装置」は、仲介サーバを介して、サービス提供サーバからデータアップロードサービスの提供を受けてもよいし、仲介サーバを介さずに、サービス提供サーバからデータアップロードサービスの提供を受けてもよい。
【００６８】
（８）「第２の通信プロトコル」は、ＨＴＴＰとは異なる通信プロトコル（例えば、インターネットの通信に利用される公知の通信プロトコル、サービス提供サーバによって利用される特殊なプロトコル等）であってもよい。一般的に言うと、「第２の通信プロトコル」は、「第１の通信プロトコル」とは異なる通信プロトコルであればよい。
【００６９】
（９）上記の実施例では、多機能機１０のＣＰＵ３２がソフトウェアに従って処理を実行することによって、各部４０〜４５の機能が実現される。ただし、各部４０〜４５の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
【符号の説明】
【００７０】
２：通信システム、６：インターネット、１０：多機能機、５０：仲介サーバ、１００，１１０：サービス提供サーバ、Ｒ２，Ｒ４，Ｒ１０，Ｒ１２：リクエスト、Ｒ６，Ｒ８，Ｒ１４，Ｒ１６：レスポンス、ＳＥ１，ＳＥ２：サーバ名、ＡＫ１，ＡＫ２，ＡＫ３：アクセストークン、Ｍ１，Ｍ２：電子メールアドレス、ＥＭ：電子メール
【図１】
0005857684.tif 000002
【図２】
0005857684.tif 000003