(57)【要約】【課題】データサイズの大きなアドレス情報を必要とするサービスを、画像処理装置に利用させることができる中継サーバを提供する。【解決手段】中継サーバ８０は、アドレス情報及びアクセスＩＤを互いに対応付けてメモリに記憶させる記憶処理と、ＭＦＰ１０から第１アップロード要求情報を受信する第１受信処理（Ｓ６６）と、第１アップロード要求情報に含まれるアクセスＩＤに対応付けられたアドレス情報を読み出す読出処理（Ｓ６７）と、サービス提供装置１１０に第２アップロード要求情報を送信する第１送信処理（Ｓ６８）と、サービス提供装置１１０からアップロード結果情報を受信する第２受信処理（Ｓ６９）と、ＭＦＰ１０にアップロード結果情報を送信する第２送信処理（Ｓ７０）とを実行する。【選択図】図６
2018056751.tif 000002
【特許請求の範囲】
【請求項１】
通信インタフェースと、メモリと、コントローラとを備える中継サーバであって、
前記コントローラは、アドレス情報及びアクセスＩＤを、互いに対応付けて前記メモリに記憶させる記憶処理を実行し、前記アドレス情報は、画像処理装置が実行する画像処理動作の対象となる画像データを記憶可能なサービス提供装置のメモリ領域を示し且つ前記画像処理装置のユーザ毎に個別に割り当てられた情報であり、前記アクセスＩＤは、前記アドレス情報よりサイズが小さく且つ前記アドレス情報を識別するための情報であり、
前記コントローラは、前記通信インタフェースを通じて前記画像処理装置から第１要求情報を受信する第１受信処理を実行し、前記第１要求情報は、前記アクセスＩＤを含み且つ前記サービス提供装置へのアクセスを要求するための情報であり、
前記コントローラは、
前記第１要求情報に含まれる前記アクセスＩＤに対応付けられた前記アドレス情報を、前記メモリから読み出す読出処理と、
前記通信インタフェースを通じて前記サービス提供装置に第２要求情報を送信する第１送信処理とを実行し、前記第２要求情報は、前記読出処理で読み出した前記アドレス情報で示される前記メモリ領域へのアクセスを要求するための情報であり、
前記コントローラは、
前記通信インタフェースを通じて前記サービス提供装置からアクセス結果情報を受信する第２受信処理と、
前記第２受信処理で受信した前記アクセス結果情報を、前記通信インタフェースを通じて前記画像処理装置に送信する第２送信処理とを実行し、前記アクセス結果情報は、前記第２要求情報に従って前記メモリ領域にアクセスした結果を示すための情報である中継サーバ。
【請求項２】
前記コントローラは、
前記画像処理装置のユーザに前記サービス提供装置が対応付けた前記アドレス情報を、前記通信インタフェースを通じて外部装置から受信する第３受信処理を実行し、
前記記憶処理において、前記第３受信処理で受信した前記アドレス情報と、前記アクセスＩＤとを対応付けて、前記メモリに記憶させる請求項１に記載の中継サーバ。
【請求項３】
前記コントローラは、
前記第３受信処理において、前記外部装置の入力インタフェースを通じて前記画像処理装置のユーザが入力した前記アドレス情報を受信し、
前記第３受信処理で受信した前記アドレス情報で示される前記メモリ領域にアクセス可能か否かを判断する第１判断処理と、
前記第１判断処理でアクセス可能と判断したことに応じて、前記記憶処理を実行する請求項２に記載の中継サーバ。
【請求項４】
前記コントローラは、
前記通信インタフェースを通じて前記サービス提供装置から認証情報を受信する第４受信処理を実行し、前記認証情報は、前記サービス提供装置へのアクセス権限を有することを示し、且つ前記画像処理装置のユーザ毎に個別に割り当てられた情報であり、
前記コントローラは、
前記第４受信処理で受信した前記認証情報のサイズが閾値サイズ以上か否かを判断する第２判断処理と、
前記第２判断処理で前記閾値サイズ以上だと判断したことに応じて、
前記第３受信処理で受信した前記アドレス情報及び前記第４受信処理で受信した前記認証情報の組み合わせを識別する前記アクセスＩＤを発行する発行処理と、
前記発行処理で発行した前記アクセスＩＤを、前記通信インタフェースを通じて前記画像処理装置に送信する第３送信処理とを実行し、
前記記憶処理において、前記第３受信処理で受信した前記アドレス情報、前記第４受信処理で受信した前記認証情報、及び前記発行処理で発行した前記アクセスＩＤを、互いに対応付けて前記メモリに記憶させ、
前記第１送信処理において、前記認証情報を含む前記第２要求情報を、前記通信インタフェースを通じて前記サービス提供装置に送信する請求項２又は３に記載の中継サーバ。
【請求項５】
前記コントローラは、前記第２判断処理で前記閾値サイズ未満だと判断したことに応じて、前記第４受信処理で受信した前記認証情報を、前記アクセスＩＤとして、前記通信インタフェースを通じて前記画像処理装置に送信する第４送信処理を実行する請求項４に記載の中継サーバ。
【請求項６】
前記コントローラは、前記認証情報の発行を指定装置に要求するための発行要求情報を、前記通信インタフェースを通じて前記外部装置から受信する第５受信処理を実行し、前記指定装置は、該中継サーバが通信可能な複数の前記サービス提供装置のうち、前記外部装置のユーザが指定した前記サービス提供装置であり、
前記コントローラは、
前記第５受信処理で受信した前記発行要求情報を、前記通信インタフェースを通じて前記指定装置に送信する第５送信処理と、
アカウント情報の入力を受け付けるためのログイン画面を示す画面情報が記憶された前記指定装置の前記メモリ領域を示す第１リダイレクト情報を、前記発行要求情報の応答として、前記通信インタフェースを通じて前記指定装置から受信する第６受信処理と、
前記第６受信処理で受信した前記第１リダイレクト情報を、前記通信インタフェースを通じて前記外部装置に送信する第６送信処理とを実行し、前記アカウント情報は、前記認証情報を発行させる権限を有することを示すために、前記画像処理装置のユーザ毎に前記指定装置が発行した情報であり、
前記コントローラは、
前記認証情報が記憶された前記指定装置の前記メモリ領域を示す第２リダイレクト情報を、前記通信インタフェースを通じて前記外部装置から受信する第７受信処理と、
前記第２リダイレクト情報で示される前記メモリ領域に記憶された前記認証情報の送信を要求する送信要求情報を、前記通信インタフェースを通じて前記指定装置に送信する第７送信処理とを実行し、
前記コントローラは、前記第４受信処理において、前記ログイン画面を通じて入力された前記アカウント情報に対応する前記認証情報を、前記送信要求情報の応答として、前記通信インタフェースを通じて前記指定装置から受信する請求項４又は５に記載の中継サーバ。
【請求項７】
前記サービス提供装置は、
前記画像処理装置のユーザ毎に異なる前記アドレス情報を発行し、且つ第１サービスを提供する第１装置と、
複数のユーザに共通の前記アドレス情報を発行し、且つ前記第１サービスと異なる第２サービスを提供する第２装置とを含み、
前記コントローラは、
前記第１装置が前記指定装置に指定された場合において、前記第２判断処理を実行し、
前記第２装置が前記指定装置に指定された場合において、前記第２判断処理を実行することなく、前記第３受信処理で受信した前記アドレス情報及び前記第４受信処理で受信した前記認証情報を、前記通信インタフェースを通じて前記画像処理装置に送信する第８送信処理を実行する請求項６に記載の中継サーバ。
【請求項８】
前記メモリは、前記コントローラが実行する処理を示すプログラムを記憶しており、
前記コントローラは、
前記プログラムに含まれる第１モジュールを用いて前記第１装置と通信し、
前記プログラムに含まれる第２モジュールを用いて前記第２装置と通信する請求項７に記載の中継サーバ。
【請求項９】
前記中継サーバは、通信ネットワークに接続された第１サーバ及び第２サーバを含み、
前記第１サーバは、前記通信インタフェースを備えており、前記画像処理装置、前記サービス提供装置、及び前記第２サーバと通信可能な前記通信ネットワーク上の位置に接続されており、
前記第２サーバは、前記メモリを備えており、前記画像処理装置、前記サービス提供装置、及び前記第１サーバのうちの前記第１サーバとのみ通信可能な前記通信ネットワーク上の位置に接続されている請求項１から８のいずれかに記載の中継サーバ。
【請求項１０】
第１通信インタフェース、第１メモリ、及び第１コントローラを備える中継サーバと、第２通信インタフェース、第２メモリ、及び第２コントローラを備える画像処理装置とを備えるシステムであって、
前記第１コントローラは、アドレス情報及びアクセスＩＤを、互いに対応付けて前記第１メモリに記憶させる記憶処理を実行し、前記アドレス情報は、前記画像処理装置が実行する画像処理動作の対象となる画像データを記憶可能なサービス提供装置のメモリ領域を示し且つ前記画像処理装置のユーザ毎に個別に割り当てられた情報であり、前記アクセスＩＤは、前記アドレス情報のサイズより小さく且つ前記アドレス情報を識別するための情報であり、
前記第１コントローラは、前記第１通信インタフェースを通じて前記画像処理装置から第１要求情報を受信する第１受信処理を実行し、前記第１要求情報は、前記アクセスＩＤを含み且つ前記サービス提供装置へのアクセスを要求するための情報であり、
前記第１コントローラは、
前記第１要求情報に含まれる前記アクセスＩＤに対応付けられた前記アドレス情報を、前記第１メモリから読み出す読出処理と、
前記第１通信インタフェースを通じて前記サービス提供装置に第２要求情報を送信する第１送信処理とを実行し、前記第２要求情報は、前記読出処理で読み出した前記アドレス情報で示される前記メモリ領域へのアクセスを要求するための情報であり、
前記第１コントローラは、
前記第１通信インタフェースを通じて前記サービス提供装置からアクセス結果情報を受信する第２受信処理と、
前記第２受信処理で受信した前記アクセス結果情報を、前記第１通信インタフェースを通じて前記画像処理装置に送信する第２送信処理とを実行し、前記アクセス結果情報は、前記第２要求情報に従って前記メモリ領域にアクセスした結果を示すための情報であり、
前記第２コントローラは、
前記第２メモリに記憶された前記アクセスＩＤを含む前記第１要求情報を、前記第２通信インタフェースを通じて前記中継サーバに送信する第３送信処理と、
前記第２通信インタフェースを通じて前記アクセス結果情報を前記中継サーバから、前記第１要求情報の応答として受信する第３受信処理とを実行するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置とサービス提供装置との通信を中継する中継サーバに関する。
【背景技術】
【０００２】
従来より、インターネット上のサービス提供装置が提供するサービスを利用することができる画像処理装置が知られている。サービス提供装置が提供するサービスとは、例えば、画像処理装置がアップロードしたデータをサービス提供装置に記憶させるサービス、或いはサービス提供装置に記憶されているデータを画像処理装置にダウンロードするサービス等が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２２９９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
インターネット上に存在する複数のサービス提供装置の一部は、ユーザ毎に個別に割り当てたメモリ領域に画像処理装置をアクセスさせる。すなわち、画像処理装置は、当該サービス提供装置が提供するサービスを利用するために、割り当てられたメモリ領域を示すアドレス情報を、予め記憶しておく必要がある。
【０００５】
しかしながら、画像処理装置は、記憶容量の大きなメモリを搭載していないものも多く、且つ処理対象の画像データを記憶するのに大きな記憶領域を必要とする。そのため、画像処理装置において、アドレス情報を記憶するための大きな記憶領域を確保することが難しいという課題がある。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、データサイズの大きなアドレス情報を必要とするサービスを、画像処理装置に利用させることができる中継サーバを提供することにある。
【課題を解決するための手段】
【０００７】
本明細書では様々な開示を行う。開示例の１つである中継サーバは、通信インタフェースと、メモリと、コントローラとを備える。前記コントローラは、アドレス情報及びアクセスＩＤを、互いに対応付けて前記メモリに記憶させる記憶処理を実行する。前記アドレス情報は、画像処理装置が実行する画像処理動作の対象となる画像データを記憶可能なサービス提供装置のメモリ領域を示し且つ前記画像処理装置のユーザ毎に個別に割り当てられた情報である。前記アクセスＩＤは、前記アドレス情報よりサイズが小さく且つ前記アドレス情報を識別するための情報である。前記コントローラは、前記通信インタフェースを通じて前記画像処理装置から第１要求情報を受信する第１受信処理を実行する。前記第１要求情報は、前記アクセスＩＤを含み且つ前記サービス提供装置へのアクセスを要求するための情報である。前記コントローラは、前記第１要求情報に含まれる前記アクセスＩＤに対応付けられた前記アドレス情報を、前記メモリから読み出す読出処理と、前記通信インタフェースを通じて前記サービス提供装置に第２要求情報を送信する第１送信処理とを実行する。前記第２要求情報は、前記読出処理で読み出した前記アドレス情報で示される前記メモリ領域へのアクセスを要求するための情報である。前記コントローラは、前記通信インタフェースを通じて前記サービス提供装置からアクセス結果情報を受信する第２受信処理と、前記第２受信処理で受信した前記アクセス結果情報を、前記通信インタフェースを通じて前記画像処理装置に送信する第２送信処理とを実行する。前記アクセス結果情報は、前記第２要求情報に従って前記メモリ領域にアクセスした結果を示すための情報である。
【０００８】
上記構成によれば、データサイズの大きいアドレス情報を画像処理装置に記憶させなくても、ユーザ毎に個別に割り当てられたアドレス情報で示されるメモリ領域に、画像処理装置をアクセスさせることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態に係るシステム１００の概略図である。
【図２】図２（Ａ）はＭＦＰ１０のブロック図を、図２（Ｂ）はサービス提供装置１１０にアクセスするための情報を、図２（Ｃ）はサービス提供装置１２０にアクセスするための情報を示す。
【図３】図３（Ａ）は情報処理端末５０のブロック図を、図３（Ｂ）は中継サーバ８０のブロック図を、図３（Ｃ）はアクセスリストを示す。
【図４】図４は、情報処理端末５０を用いてＴｅｍｐＩＤを取得する処理を示すフローチャートである。
【図５】図５は、アクセスＩＤ或いはトークンをＭＦＰ１０に記憶させる処理を示すフローチャートである。
【図６】図６は、スキャンアップロードサービスを利用するための処理を示すフローチャートである。
【図７】図７は、ダウンロードプリントサービスを利用するための処理を示すフローチャートである。
【図８】図８は、ディスプレイ５３の表示例であって、（Ａ）はサービス選択画面を、（Ｂ）はログイン画面を示す。
【図９】図９は、ディスプレイ２３、５３の表示例であって、（Ａ）はＵＲＬ入力画面を、（Ｂ）はＴｅｍｐＩＤ入力画面を示す。
【図１０】図１０は、ディスプレイ２３の表示例であって、（Ａ）はユーザ選択画面を、（Ｂ）はデータ選択画面を示す。
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１１】
図１は、本実施形態におけるシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ１０と、情報処理端末５０と、中継サーバ８０とで構成される。このシステム１００は、サービス提供装置１１０、１２０からサービスの提供を受けるためのシステムである。ＭＦＰ１０、情報処理端末５０、中継サーバ８０、及びサービス提供装置１１０、１２０は、通信ネットワークを介して相互に通信可能とされている。通信ネットワークの具体例は特に限定されないが、例えば、インターネット１０１、無線ＬＡＮ１０２、有線ＬＡＮ１０３、或いはこれらの組み合わせであってもよい。
【００１２】
ＭＦＰ１０及び情報処理端末５０は、無線ＬＡＮ１０２に属している。また、無線ＬＡＮ１０２は、ルータ１０２Ａを通じてインターネット１０１に接続されている。さらに、中継サーバ８０及びサービス提供装置１１０、１２０は、インターネット１０１に接続されている。そして、ＭＦＰ１０及び情報処理端末５０は、ルータ１０２Ａからインターネット１０１を経由して、中継サーバ８０及びサービス提供装置１１０、１２０と通信することができる。但し、ＭＦＰ１０及び情報処理端末５０は、異なる通信ネットワークに属していてもよい。
【００１３】
ＭＦＰ１０（Multi-Function Peripheralの略）は、図２（Ａ）に示されるように、プリンタ１１と、スキャナ１２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。ＭＦＰ１０は、画像処理装置の一例である。また、画像処理装置の具体例はＭＦＰ１０に限定されず、例えば、プリンタ単能機或いはスキャナ単能機であってもよい。
【００１４】
プリンタ１１は、画像データで示される画像をシートに記録するプリント動作を実行するハードウェアである。プリンタ１１の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ１２は、原稿に記録されている画像を読み取って画像データ（以下、「スキャンデータ」と表記する。）を生成するスキャン動作を実行するハードウェアである。プリント動作及びスキャン動作は、画像処理動作の一例である。なお、画像処理動作の具体例はこれらに限定されず、例えば、ＦＡＸプロトコルに従って画像データを外部装置にＦＡＸ送信するＦＡＸ送信動作等であってもよい。
【００１５】
ディスプレイ２３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。
【００１６】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示画面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
【００１７】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたオブジェクトの位置をタップするユーザ操作は、当該オブジェクトを指定するユーザ操作の一例である。
【００１８】
通信Ｉ／Ｆ２５は、通信ネットワークを通じて外部装置と通信可能な第２通信インタフェースの一例である。すなわち、ＭＦＰ１０は、通信Ｉ／Ｆ２５を通じて外部装置に各種情報を送信し、通信Ｉ／Ｆ２５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（Wi-Fi Allianceの登録商標）を採用することができる。また、ＭＦＰ１０及び情報処理端末５０がＵＳＢケーブルで接続される場合、通信Ｉ／Ｆ２５は、ＵＳＢケーブルを着脱可能なＵＳＢインタフェースであってもよい。
【００１９】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、入力Ｉ／Ｆ２４から出力される各種情報、通信Ｉ／Ｆ２５を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ３２から取得して実行する。ＣＰＵ３１及びメモリ３２は、第２コントローラの一例を構成する。
【００２０】
メモリ３２は、ＯＳ３４と、装置プログラム３５とを記憶する第２メモリの一例である。装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２は、装置プログラム３５の実行に必要なデータ或いは情報等を記憶する。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００２１】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット１０１上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する情報処理端末５０のメモリ６２についても同様である。
【００２２】
また、メモリ３２は、図２（Ｂ）に示されるように、アクセスＩＤを記憶することができる。アクセスＩＤは、サービス提供装置１１０が提供するサービスの利用を中継サーバ８０に要求する際に、中継サーバ８０に送信する情報である。アクセスＩＤは、ＭＦＰ１０のユーザ毎に個別に割り当てられる。すなわち、ＭＦＰ１０が複数のユーザで共用されている場合、メモリ３２には、複数のアクセスＩＤが記憶される。アクセスＩＤに対応付けられたユーザ名は、アクセスＩＤが割り当てられたユーザを識別するための情報であって、例えば、入力Ｉ／Ｆ２４を通じてユーザが指定してもよい。
【００２３】
また、メモリ３２は、図２（Ｃ）に示されるように、トークンと、アドレス情報とを対応付けて記憶することができる。トークンは、サービス提供装置１２０が提供するサービスを利用する権限を有することを示すために、サービス提供装置１２０によって発行される認証情報の一例である。トークンは、ＭＦＰ１０のユーザ毎に個別に割り当てられる。アドレス情報は、サービスを利用するためにアクセスすべきサービス提供装置１２０のアドレスを示す情報である。アドレス情報は、例えば、ＵＲＬ形式の情報である。サービス提供装置１２０は、複数のユーザに対して共通のアドレス情報を割り当てる。すなわち、図２（Ｃ）に示されるように、複数のトークンに対して同一のアドレス情報が対応付けられる。
【００２４】
さらに図示は省略するが、メモリ３２は、閾値サイズを示すサイズ情報を記憶することができる。閾値サイズは、メモリ３２に記憶可能なトークンのデータサイズの最大値である。閾値サイズは、例えば、画像処理動作の対象となる画像データを記憶するためのメモリ領域を十分に確保でき、且つＭＦＰ１０を共用するユーザの想定人数分のトークンが記憶可能になるように、ＭＦＰ１０の管理者によって予め設定された値である。
【００２５】
情報処理端末５０は、図３（Ａ）に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。情報処理端末５０に含まれるディスプレイ５３、入力Ｉ／Ｆ５４、通信Ｉ／Ｆ５５、ＣＰＵ６１、メモリ６２、及び通信バス６３は、ＭＦＰ１０に含まれるディスプレイ２３、入力Ｉ／Ｆ２４、通信Ｉ／Ｆ２５、ＣＰＵ３１、メモリ３２、及び通信バス３３と同様の構成であるので、説明は省略する。情報処理端末５０は、例えば、携帯電話、スマートフォン、タブレット端末、或いはＰＣ等である。メモリ６２に記憶された端末プログラム６５は、例えば、ブラウザプログラムである。
【００２６】
中継サーバ８０は、図３（Ｂ）に示されるように、第１通信インタフェースの一例である通信Ｉ／Ｆ８５と、ＣＰＵ９１と、第１メモリの一例であるメモリ９２と、通信バス９３とを主に備える。ＣＰＵ９１及びメモリ９２は、第１コントローラの一例を構成する。中継サーバ８０に含まれる通信Ｉ／Ｆ８５、ＣＰＵ９１、メモリ９２、及び通信バス９３は、ＭＦＰ１０に含まれる通信Ｉ／Ｆ２５、ＣＰＵ３１、メモリ３２、及び通信バス３３と同様の構成であるので、説明は省略する。
【００２７】
メモリ９２は、サーバプログラム９５を記憶している。サーバプログラム９５は、ＭＦＰ１０、情報処理端末５０、及びサービス提供装置１１０、１２０と通信するためのモジュールを含む。より詳細には、サーバプログラム９５は、サービス提供装置１１０と通信する際に呼び出される第１モジュールと、サービス提供装置１２０と通信する際に呼び出される第２モジュールとを含む。なお、モジュールとは、複数の処理の纏まりを示すプログラム上の単位であって、関数、ライブラリ、或いはＡＰＩ等と呼ばれることもある。
【００２８】
第１モジュールは、サービス提供装置１１０が公開した通信手順をサポートしている。すなわち、ＣＰＵ９１は、第１モジュールを呼び出すことによって、サービス提供装置１１０が公開した通信手順に従って、サービス提供装置１１０と通信することができる。第２モジュールは、サービス提供装置１２０が公開した通信手順をサポートしている。すなわち、ＣＰＵ９１は、第２モジュールを呼び出すことによって、サービス提供装置１２０が公開した通信手順に従って、サービス提供装置１２０と通信することができる。なお、以下の処理の説明において、第１モジュール及び第２モジュールの明記は省略する。
【００２９】
中継サーバ８０は、例えば図１に示されるように、第１サーバ８０Ａと、第２サーバ８０Ｂとで実現されてもよい。第１サーバ８０Ａ及び第２サーバ８０Ｂの構成は、図３（Ｂ）に示される中継サーバ８０の構成と共通する。第１サーバ８０Ａ及び第２サーバ８０Ｂは、中継サーバ８０が実行すべき処理を分担する。但し、中継サーバ８０の具体的な構成はこれに限定されず、単一の装置で実現されてもよいし、不図示の第３サーバをさらに含んでもよい。
【００３０】
第１サーバ８０Ａ及び第２サーバ８０Ｂは、通信ネットワークの一例である有線ＬＡＮ１０３を通じて、相互に通信可能に構成されている。第１サーバ８０Ａは、例えば、有線ＬＡＮ１０３上のＤＭＺ（DeMilitarized Zoneの略）に接続されており、ＭＦＰ１０、情報処理端末５０、第２サーバ８０Ｂ、及びサービス提供装置１１０、１２０と通信可能な所謂ＷＥＢサーバである。一方、第２サーバ８０Ｂは、例えば、有線ＬＡＮ１０３のファイアーウォールの内側に接続されており、ＭＦＰ１０、情報処理端末５０、第１サーバ８０Ａ、及びサービス提供装置１１０、１２０のうち、第１サーバ８０Ａのみと接続可能な所謂データベースサーバである。
【００３１】
第２サーバ８０Ｂのメモリ９２は、図３（Ｃ）に示されるアクセスリストを記憶することができる。アクセスリストは、１以上のアクセスレコードを含む。アクセスリストは、ＴｅｍｐＩＤと、トークンと、アドレス情報と、アクセスＩＤとを含む。なお、中継サーバ８０が単一の装置で構成されている場合、アクセスリストは、中継サーバ８０のローカルメモリに記憶される。
【００３２】
ＴｅｍｐＩＤは、サービス提供装置１１０が発行したトークンを取得する権限をＭＦＰ１０に与えるために、中継サーバ８０が発行する情報である。トークンは、サービス提供装置１１０が発行する認証情報の一例である。アドレス情報は、サービス提供装置１１０が提供するサービスを利用するために、アクセスすべきサービス提供装置１１０のメモリ領域を示す。サービス提供装置１１０は、ＭＦＰ１０のユーザ毎に個別のアドレス情報を割り当てる。すなわち、図３（Ｃ）に示されるように、トークンとアドレス情報とは、一対一に対応付けられる。アクセスＩＤは、対応するトークン及びアドレス情報の組み合わせを識別するために、中継サーバ８０が発行する情報である。
【００３３】
ＴｅｍｐＩＤ及びアドレス情報は、例えば、情報処理端末５０のユーザが一見して認識可能なテキストデータである。一方、トークン及びアクセスＩＤは、例えば、バイナリデータであってもよい。また、アクセスＩＤのデータサイズは、トークン及びアドレス情報のデータサイズより小さい。また、アドレス情報のデータサイズは、トークンのデータサイズより大きい場合が多い。トークンのデータサイズは、例えば、１２８バイト、２５６バイト等である。また、Ｎ個の文字で構成されるアドレス情報のデータサイズは、Ｎバイトである。
【００３４】
ＭＦＰ１０及び中継サーバ８０は、連携動作を実行することができる。連携動作は、中継サーバ８０がＭＦＰ１０に動作を指示し、中継サーバ８０に指示された動作をＭＦＰ１０が実行し、当該動作の結果をＭＦＰ１０が中継サーバ８０に報告し、当該報告に基づいて中継サーバ８０がＭＦＰ１０に次の動作を指示するものである。連携動作において、ＭＦＰ１０から中継サーバ８０への情報はＨＴＴＰリクエストとして送信され、中継サーバ８０からＭＦＰ１０への情報はＨＴＴＰレスポンスとして送信される。
【００３５】
また、中継サーバ８０からＭＦＰ１０に送信される指示情報は、例えば、ＸＭＬによって記述されている。そして、当該指示情報は、例えば、ディスプレイ２３に表示させる画面を示す画面指示情報と、入力情報を取得するインタフェース（例えば、入力Ｉ／Ｆ２４、通信Ｉ／Ｆ２５等）を示すインタフェース情報と、次の動作の要求先を示す次動作ＵＲＬとを含む。
【００３６】
当該指示情報を受信したＭＦＰ１０は、画面指示情報で示される画面をディスプレイ２３に表示させ、インタフェース情報で示すインタフェースを通じて入力情報を取得し、次動作ＵＲＬで示される次の指示情報の送信を要求するＨＴＴＰリクエストを送信する。さらに、ＭＦＰ１０は、当該ＨＴＴＰリクエストを送信する際に、一連の連携動作において取得した入力情報をＧＥＴメソッドによって中継サーバ８０に送信する。
【００３７】
サービス提供装置１１０、１２０は、ＭＦＰ１０にサービスを提供する装置である。サービス提供装置１１０、１２０はインターネット１０１上に存在し、ＭＦＰ１０、情報処理端末５０、或いは中継サーバ８０からのリクエストに応じて各種サービスを提供する。本実施形態に係るサービス提供装置１１０、１２０は、例えば、ＭＦＰ１０の状態を管理するサービス、アップロードされたデータを記憶するサービス、ダウンロード要求に応じて記憶しているデータを送信するサービス、或いはデータの形式を変換するサービス等を提供してもよい。
【００３８】
サービス提供装置１１０は、ＭＦＰ１０のユーザ毎に異なるアドレス情報を発行し、且つ第１サービスを提供する第１装置の一例である。サービス提供装置１２０は、ＭＦＰ１０の複数のユーザに共通のアドレス情報を発行し、且つ第１サービスと異なる第２サービスを提供する第２装置の一例である。一方、サービス提供装置１１０、１２０は、ＭＦＰ１０のユーザ毎に異なるトークンを発行する点において共通する。
【００３９】
より詳細には、サービス提供装置１１０が発行するアドレス情報は、例えば、サービス提供装置１１０を識別するドメイン情報“www.server-a.com”と、ユーザに割り当てたメモリ領域へのパスを示すパス情報“mfp/user-b”とを含む。一方、サービス提供装置１２０が発行するアドレス情報は、例えば、サービス提供装置１２０を識別するドメイン情報“www.server-a.com”を含み、パス情報を含まない。
【００４０】
なお、パス情報で示されるメモリ領域とは、サービス提供装置１１０が備えるメモリの論理的な領域（例えば、フォルダ）を示すものであればよく、メモリの物理的な領域を示すものでなくてもよい。パス情報は、例えば、階層関係を有する複数のフォルダのうち、ルートフォルダ（例えば、“mfp”）からユーザＢに割り当てたフォルダ（例えば、“user-b”）までの経路を示す。後述するログイン指示情報及びトークン指示情報についても同様である。
【００４１】
サービス提供装置１１０、１２０は、例えば、「Ｅｖｅｒｎｏｔｅ（Evernote Corporationの登録商標）」、「Ｄｒｏｐｂｏｘ（DropBox, Inc.の登録商標）」、「Ｇｏｏｇｌｅ  Ｄｒｉｖｅ（Googleは、Google, Inc.の登録商標）」、ＳｈａｒｅＰｏｉｎｔＯｎｌｉｎｅ（Microsoft Corporationの登録商標）、ＯｎｅＤｒｉｖｅ  ｆｏｒ  Ｂｕｓｉｎｅｓｓ（OneDriveは、Microsoft Corporationの登録商標）等のサービスを提供する装置である。
【００４２】
［システム１００の動作］
図４〜図７を参照して、本実施形態に係るシステム１００の動作を説明する。
【００４３】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１、６１の処理を表している。ＣＰＵ３１、６１による処理は、ＯＳ３４、６４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００４４】
まず、図４を参照して、ＭＦＰ１０のユーザＢが情報処理端末５０を用いて、中継サーバ８０からＴｅｍｐＩＤを取得する処理を説明する。なお、図４の処理の開始時点において、ユーザＢは、サービス提供装置１１０がユーザＢに対して発行したアカウント情報及びアドレス情報“www.server-a.com/mfp/user-b”を取得しているものとする。アカウント情報は、トークンの発行をサービス提供装置１１０に要求する権限を有することを示すための情報であって、例えば、ユーザＩＤ“ＵＳＥＲ−Ｂ”及びパスワード“ＡＢＣＤＥ”の組み合わせである。
【００４５】
まず、情報処理端末５０の端末プログラム６５は、通信Ｉ／Ｆ５５を通じて中継サーバ８０にサービス一覧要求情報を送信する（Ｓ１１）。サービス一覧要求情報は、中継サーバ８０が通信可能なサービス提供装置１１０、１２０を示すサービス一覧情報の送信を要求するための情報である。
【００４６】
次に、中継サーバ８０のサーバプログラム９５は、通信Ｉ／Ｆ８５を通じて情報処理端末５０からサービス一覧要求情報を受信する（Ｓ１１）。そして、サーバプログラム９５は、サービス一覧要求情報の応答として、通信Ｉ／Ｆ８５を通じて情報処理端末５０にサービス一覧情報を送信する（Ｓ１２）。サービス一覧情報は、例えば、図８（Ａ）に示されるサービス選択画面を示すＨＴＭＬである。
【００４７】
次に、端末プログラム６５は、通信Ｉ／Ｆ８５を通じて中継サーバ８０からサービス一覧情報を受信する（Ｓ１２）。次に、端末プログラム６５は、受信したサービス一覧情報に従って、図８（Ａ）に示されるサービス選択画面をディスプレイ５３に表示させる（Ｓ１３）。サービス選択画面は、サービス提供装置１１０に対応するサービスアイコン１３１と、サービス提供装置１２０に対応するサービスアイコン１３２とを含む。そして、端末プログラム６５は、サービス選択画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ１４）。
【００４８】
次に、端末プログラム６５は、サービスアイコン１３１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１４）、通信Ｉ／Ｆ５５を通じて中継サーバ８０に発行要求情報を送信する（Ｓ１５）。発行要求情報は、指定されたサービスアイコン１３１に対応するサービス提供装置１１０に、トークンの発行を要求するための情報である。ユーザＢが指定したサービス提供装置１１０は、指定装置の一例である。
【００４９】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じて情報処理端末５０から発行要求情報を受信する（Ｓ１５）。そして、サーバプログラム９５は、情報処理端末５０が指定したサービス提供装置１１０に、通信Ｉ／Ｆ８５を通じて発行要求情報を送信する（Ｓ１６）。中継サーバ８０が実行するＳ１５の処理は第５受信処理の一例であり、中継サーバ８０が実行するＳ１６の処理は第５送信処理の一例である。
【００５０】
次に、サービス提供装置１１０は、中継サーバ８０から発行要求情報を受信する（Ｓ１６）。次に、サービス提供装置１１０は、発行要求情報の応答として、ログイン指示情報を中継サーバ８０に送信する（Ｓ１７）。ログイン指示情報は、ログイン画面情報が記憶されたサービス提供装置１１０のメモリ領域を示す第１リダイレクト情報の一例である。ログイン指示情報は、例えば、ＵＲＬ形式の情報である。
【００５１】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０からログイン指示情報を受信する（Ｓ１７）。そして、サーバプログラム９５は、発行要求情報の応答として、通信Ｉ／Ｆ８５を通じて情報処理端末５０にログイン指示情報を送信する（Ｓ１８）。中継サーバ８０が実行するＳ１７の処理は第６受信処理の一例であり、中継サーバ８０が実行するＳ１８の処理は第６送信処理の一例である。
【００５２】
次に、端末プログラム６５は、通信Ｉ／Ｆ５５を通じて中継サーバ８０からログイン指示情報を受信する（Ｓ１８）。そして、端末プログラム６５は、通信Ｉ／Ｆ５５を通じてサービス提供装置１１０にログイン画面要求情報を送信し（Ｓ１９）、通信Ｉ／Ｆ５５を通じてサービス提供装置１１０からログイン画面情報を受信する（Ｓ２０）。ログイン画面要求情報は、ログイン指示情報で示されるメモリ領域に記憶されたログイン画面情報の送信を要求するための情報である。ログイン画面情報は、図８（Ｂ）に示されるログイン画面を示すＨＴＭＬであって、ログイン画面要求情報の応答としてサービス提供装置１１０によって送信される。
【００５３】
次に、端末プログラム６５は、受信したログイン画面情報に従って、図８（Ｂ）に示されるログイン画面をディスプレイ５３に表示させる（Ｓ２１）。ログイン画面は、「ユーザＩＤ＆パスワードを入力して、［ログイン］を押して下さい。」とのメッセージと、ユーザＩＤの入力を受け付けるためのテキストボックス１３６と、パスワードの入力を受け付けるためのテキストボックス１３７と、［ログイン］アイコン１３８とを含む。そして、端末プログラム６５は、ユーザＩＤ“ＵＳＥＲ−Ｂ”の入力と、パスワード“ＡＢＣＤＥ”の入力と、［ログイン］アイコン１３８の指定とを入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ２２）、入力されたアカウント情報“ＵＳＥＲ−Ｂ”＆“ＡＢＣＤＥ”を、通信Ｉ／Ｆ５５を通じてサービス提供装置１１０に送信する（Ｓ２３）。
【００５４】
次に、サービス提供装置１１０は、情報処理端末５０からアカウント情報を受信する。次に、サービス提供装置１１０は、受信したアカウント情報に対応付けてトークン“０ｘ４ＣＤ７”を発行し、発行したトークンをメモリに記憶させる。そして、サービス提供装置１１０は、アカウント情報の応答として、情報処理端末５０にトークン指示情報を送信する（Ｓ２４）。トークン指示情報は、発行したトークンが記憶されたメモリ領域を示す第２リダイレクト情報の一例である。
【００５５】
次に、端末プログラム６５は、通信Ｉ／Ｆ５５を通じてサービス提供装置１１０からトークン指示情報を受信する（Ｓ２４）。そして、端末プログラム６５は、通信Ｉ／Ｆ５５を通じて中継サーバ８０にトークン指示情報を送信する（Ｓ２５）。
【００５６】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じて端末プログラム６５からトークン指示情報を受信する（Ｓ２５）。次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０にトークン要求情報を送信する（Ｓ２６）。トークン要求情報は、トークン指示情報で示されるメモリ領域に記憶されたトークンの送信を要求する送信要求情報の一例である。Ｓ２５の処理は第７受信処理の一例であり、Ｓ２６の処理は第７送信処理の一例である。
【００５７】
次に、サーバプログラム９５は、ユーザＢのアカウント情報に対応付けて発行されたトークン“０ｘ４ＣＤ７”を、トークン要求情報の応答として、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０から受信する（Ｓ２７）。Ｓ２７の処理は第４受信処理の一例である。なお、ステップＳ１５〜Ｓ２７の処理は、例えば、ＯＡｕｔｈプロトコルに準拠した周知の手順に従って実行されてもよい。
【００５８】
次に、サーバプログラム９５は、トークン指示情報の応答として、通信Ｉ／Ｆ８５を通じて情報処理端末５０にアドレス指示情報を送信する（Ｓ２８）。アドレス指示情報は、ユーザＢが取得したアドレス情報の送信を指示するための情報である。アドレス指示情報は、例えば、図９（Ａ）に示されるアドレス入力画面を示すＨＴＭＬである。
【００５９】
次に、端末プログラム６５は、通信Ｉ／Ｆ５５を通じて中継サーバ８０からアドレス指示情報を受信する（Ｓ２８）。次に、端末プログラム６５は、受信したアドレス指示情報に従って、図９（Ａ）に示されるアドレス入力画面をディスプレイ５３に表示させる（Ｓ２９）。アドレス入力画面は、「アドレス情報を入力して、［ＯＫ］を押して下さい。」とのメッセージと、アドレス情報の入力を受け付けるためのテキストボックス１４１と、［ＯＫ］アイコン１４２とを含む。
【００６０】
そして、端末プログラム６５は、アドレス情報“www.server-a.com/mfp/user-b”の入力と、［ＯＫ］アイコン１４２の指定とを入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ３０）、入力されたアドレス情報を通信Ｉ／Ｆ５４を通じて中継サーバ８０に送信する（Ｓ３１）。なお、アドレス情報の入力とは、例えば、アドレス情報を構成する文字列をキーボードを通じて入力することに限定されず、例えば、メモリ６２に記憶されたＥメールからコピー＆ペーストすること等も含む。
【００６１】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じて情報処理端末５０からアドレス情報を受信する（Ｓ３１）。次に、サーバプログラム９５は、受信したアドレス情報で示されるメモリ領域にアクセス可能か否かを判断する（Ｓ３２）。Ｓ３１の処理は第３受信処理の一例であり、Ｓ３２の処理は第１判断処理の一例である。
【００６２】
サーバプログラム９５は、例えば、アドレス情報で示されるサービス提供装置１１０に対して、ＩＣＭＰ（Internet Control Message Protocolの略）のエコーリクエストを通信Ｉ／Ｆ８５を通じて送信する。そして、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０からエコーリプライを受信したことに応じて、アクセス可能と判断する。一方、サーバプログラム９５は、所定の時間が経過してもエコーリプライを受信できないことに応じて、アクセス不能と判断する。但し、アクセス可能か否かの判断方法は前述の例に限定されず、他の周知の方法を採用してもよい。
【００６３】
次に、サーバプログラム９５は、メモリ領域にアクセス可能と判断したことに応じて、アクセスリスト内で一意なＴｅｍｐＩＤ“７８９”を発行する（Ｓ３３）。そして、サーバプログラム９５は、Ｓ２７で受信したトークン“０ｘ４ＣＤ７”と、Ｓ３１で受信したアドレス情報“www.server-a.com/mfp/user-b”と、Ｓ３３で発行したＴｅｍｐＩＤ“７８９”とを含むアクセスレコードを、アクセスリストに登録する（Ｓ３４）。ここで登録されるアクセスレコードには、アクセスＩＤが含まれていなくてもよい。Ｓ３４の処理は、記憶処理の一例である。そして、サーバプログラム９５は、Ｓ３３で発行したＴｅｍｐＩＤ“７８９”を、アドレス情報の応答として、通信Ｉ／Ｆ８５を通じて情報処理端末５０に送信する（Ｓ３５）。
【００６４】
次に、端末プログラム６５は、通信Ｉ／Ｆ５５を通じて中継サーバ８０からＴｅｍｐＩＤ“７８９”を受信する（Ｓ３５）。そして、端末プログラム６５は、受信したＴｅｍｐＩＤ“７８９”をディスプレイ５３に表示させて、ユーザＢに報知する（Ｓ３６）。
【００６５】
一方、システム１００は、図８（Ａ）に示されるサービスアイコン１３２が指定された場合に、Ｓ２８〜Ｓ３１の処理を省略した図４の処理を実行する。この場合の処理は、例えば、サービス提供装置１１０の代わりにサービス提供装置１２０が通信相手になる点、複数のユーザに共通のアドレス情報“www.server-b.com”をサービス提供装置１２０から受信する点において前述の処理と相違し、その他の点において前述の処理と共通する。
【００６６】
次に、図５を参照して、ユーザＢが取得したＴｍｐＩＤ“７８９”を用いて、中継サーバ８０が発行したアクセスＩＤをＭＦＰ１０に記憶させる処理を説明する。
【００６７】
まず、ＭＦＰ１０の装置プログラム３５は、図９（Ｂ）に示されるＴｅｍｐＩＤ入力画面をディスプレイ５３に表示させる（Ｓ４１）。ＴｅｍｐＩＤ入力画面は、「ＴｅｍｐＩＤを入力して下さい。」とのメッセージと、ＴｅｍｐＩＤの入力を受け付けるためのテキストボックス１４６と、［送信］アイコン１４７とを含む。そして、装置プログラム３５は、ＴｅｍｐＩＤ“７８９”の入力と、［送信］アイコン１４７の指定とを入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ４２）、入力されたＴｅｍｐＩＤ “７８９”及びメモリ３２に記憶されたサイズ情報を、通信Ｉ／Ｆ２５を通じて中継サーバ８０に送信する（Ｓ４３）。
【００６８】
次に、サーバプログラム９５は、ＴｅｍｐＩＤ及びサイズ情報を通信Ｉ／Ｆ８５を通じてＭＦＰ１０から受信する（Ｓ４３）。次に、サーバプログラム９５は、ＴｅｍｐＩＤ“７８９”に対応付けられたトークン“０ｘ４ＣＤ７”のデータサイズが閾値サイズ以上か否かを判断する（Ｓ４４）。Ｓ４４の処理は、第２判断処理の一例である。
【００６９】
次に、サーバプログラム９５は、トークンが閾値サイズ以上だと判断したことに応じて（Ｓ４４：Ｙｅｓ）、アクセスリスト内で一意なアクセスＩＤ“ｘｙｚ”を発行する（Ｓ４５）。そして、サーバプログラム９５は、Ｓ４５で発行したアクセスＩＤ “ｘｙｚ”を、Ｓ４３で受信したＴｅｍｐＩＤ“７８９”を含むアクセスレコードに登録する（Ｓ４６）。Ｓ４５の処理は発行処理の一例であり、Ｓ４６の処理は記憶処理の一例である。
【００７０】
次に、サーバプログラム９５は、Ｓ４５で発行したアクセスＩＤ“ｘｙｚ”を、ＴｅｍｐＩＤ及びアドレス情報の応答として、通信Ｉ／Ｆ８５を通じてＭＦＰ１０に送信する（Ｓ４７）。一方、サーバプログラム９５は、トークンが閾値サイズ未満だと判断したことに応じて（Ｓ４４：Ｎｏ）、Ｓ４５〜Ｓ４７の処理をスキップして、Ｓ４３で受信したＴｅｍｐＩＤに対応するトークン “０ｘ４ＣＤ７”を、ＴｅｍｐＩＤ及びサイズ情報の応答として、通信Ｉ／Ｆ８５を通じてＭＦＰ１０に送信する（Ｓ４９）。中継サーバ８０が実行するＳ４７の処理は第３送信処理の一例であり、中継サーバ８０が実行するＳ４９の処理は第４送信処理の一例である。
【００７１】
次に、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて中継サーバ８０からアクセスＩＤ“ｘｙｚ”を受信したことに応じて（Ｓ４７）、図２（Ｂ）に示されるように、入力Ｉ／Ｆ２５を通じて入力されたユーザ名“ユーザＢ”と、Ｓ４７で受信したアクセスＩＤ“ｘｙｚ”とを対応付けてメモリ３２に記憶させる（Ｓ４８）。一方、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて中継サーバ８０からトークン“０ｘ４ＣＤ７”を受信したことに応じて（Ｓ４９）、入力Ｉ／Ｆ２５を通じて入力されたユーザ名“ユーザＢ”と、Ｓ４９で受信したトークン“０ｘ４ＣＤ７”とを対応付けてメモリ３２に記憶させる（Ｓ５０）。
【００７２】
一方図示は省略するが、サーバプログラム９５は、サービス提供装置１２０が発行したトークンに対応付けられたＴｅｍｐＩＤを、通信Ｉ／Ｆ８５を通じてＭＦＰ１０から受信することができる（Ｓ４３）。この場合のサーバプログラム９５は、Ｓ４４の処理を実行することなく、サービス提供装置１２０から受信したトークン“０ｘ８Ｂ２６”及びアドレス情報“www.server-b.com”を、通信Ｉ／Ｆ８５を通じてＭＦＰ１０に送信する。中継サーバ８０が実行するこの処理は、第８送信処理の一例である。そして、装置プログラム３５は、図２（Ｃ）に示されるように、通信Ｉ／Ｆ２５を通じて中継サーバ８０から受信したトークン及びアドレス情報を、メモリ３２に記憶させる。
【００７３】
次に、図６を参照して、サービス提供装置１１０、１２０が提供するスキャンアップロードサービスを、ユーザＢがＭＦＰ１０を用いて利用する処理を説明する。
【００７４】
まず、装置プログラム３５は、スキャンアップロードサービスの利用を指示するユーザ操作を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、サービス選択画面をディスプレイ２３に表示させる（Ｓ６１）。サービス選択画面は、図８（Ａ）と同様に、サービス提供装置１１０に対応するサービスアイコン１３１と、サービス提供装置１２０に対応するサービスアイコン１３２とを含む。
【００７５】
次に、装置プログラム３５は、例えば、サービスアイコン１３１の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ６２）、図１０（Ａ）に示されるユーザ選択画面をディスプレイ２３に表示させる（Ｓ６３）。ユーザ選択画面は、「サービスＡを利用するユーザを選択して下さい。」とのメッセージと、ユーザアイコン１５１、１５２とを含む。ユーザアイコン１５１、１５２は、メモリ３２に記憶されているアクセスＩＤの１つに対応する。また、ユーザアイコン１５１、１５２には、アクセスＩＤに対応付けられたユーザ名が記述される。
【００７６】
次に、装置プログラム３５は、例えば、ユーザアイコン１５２の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ６４）、スキャナ１２にスキャン動作を実行させる（Ｓ６５）。すなわち、スキャナ１２は、コンタクトガラス或いはＡＤＦにセットされた原稿に記録された画像を読み取って、当該画像を示すスキャンデータを生成する。
【００７７】
そして、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて中継サーバ８０に第１アップロード要求情報を送信する（Ｓ６６）。第１アップロード要求情報は、サービス提供装置１１０のメモリのうち、ユーザアイコン１５２に対応するユーザＢに割り当てられたメモリ領域にスキャンデータを記憶させることを要求するための第１要求情報の一例である。第１アップロード要求情報は、ユーザアイコン１５２に対応付けられたアクセスＩＤ“ｘｙｚと、Ｓ６５で生成したスキャンデータとを含む。ＭＦＰ１０が実行するＳ６６の処理は、第３送信処理の一例である。
【００７８】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてＭＦＰ１０から第１アップロード要求情報を受信する（Ｓ６６）。次に、サーバプログラム９５は、第１アップロード要求情報に含まれるアクセスＩＤ“ｘｙｚ”を含むアクセスレコードを、アクセスリストから読み出す（Ｓ６７）。中継サーバ８０が実行するＳ６６の処理は第１受信処理の一例であり、Ｓ６７の処理は読出処理の一例である。
【００７９】
次に、サーバプログラム９５は、Ｓ６７で読み出したアクセスレコードのドメイン情報“www.server-a.com”で識別されるサービス提供装置１１０に、通信Ｉ／Ｆ８５を通じて第２アップロード要求情報を送信する（Ｓ６８）。第２アップロード要求情報は、パス情報で示されるメモリ領域へのスキャンデータの記憶を要求するための第２要求情報の一例である。第２アップロード要求情報は、例えば、第１アップロード要求情報に含まれるスキャンデータと、Ｓ６７で読み出したアクセスレコードのトークン“０ｘ４ＣＤ７”及びパス情報“mfp/user-b”とを含む。中継サーバ８０が実行するＳ６８の処理は、第１送信処理の一例である。
【００８０】
次に、サービス提供装置１１０は、中継サーバ８０から第２アップロード要求情報を受信する（Ｓ６８）。次に、サービス提供装置１１０は、第２アップロード要求情報に含まれるトークン“０ｘ４ＣＤ７”が有効か否かを判断する。次に、サービス提供装置１１０は、トークンが有効だと判断したことに応じて、パス情報“mfp/user-b”で示されるメモリ領域にスキャンデータを記憶させる。一方、サービス提供装置１１０は、トークンが無効だと判断したことに応じて、スキャンデータの記憶を拒否する。
【００８１】
そして、サービス提供装置１１０は、アップロード結果情報を中継サーバ８０に送信する（Ｓ６９）。アップロード結果情報は、第２アップロード要求情報に従ってメモリ領域にアクセスした結果、すなわち、スキャンアップロードサービスの実行結果を示すためのアクセス結果情報の一例である。トークンが有効だと判断した場合のアップロード結果情報は、パス情報で示されるメモリ領域にスキャンデータを記憶させたことを示す情報である。トークンが無効だと判断した場合のアップロード結果情報は、スキャンデータの記憶を拒否したことを示す情報である。
【００８２】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０からアップロード結果情報を受信する（Ｓ６９）。そして、サーバプログラム９５は、Ｓ６９で受信したアップロード結果情報を、第１アップロード要求情報の応答として、通信Ｉ／Ｆ８５を通じてＭＦＰ１０に送信する（Ｓ７０）。中継サーバ８０が実行するＳ６９の処理は第２受信処理の一例であり、中継サーバ８０が実行するＳ７０の処理は第２送信処理の一例である。
【００８３】
次に、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて中継サーバ８０からアップロード結果情報を受信する（Ｓ７０）。ＭＦＰ１０が実行するＳ７０の処理は、第３受信処理の一例である。そして、装置プログラム３５は、例えば、アップロード結果情報で示されるスキャンアップロードサービスの実行結果を、ディスプレイ５３に表示させて、ユーザＢに報知する。
【００８４】
一方、装置プログラム３５は、サービス選択画面のサービスアイコン１３２の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、Ｓ６５で生成したスキャンデータと、メモリ３２に記憶されたトークン“０ｘ８Ｂ２６”及びアドレス情報“www.server-b.com”とを含む第１アップロード要求情報を送信する（Ｓ６６）。また、サーバプログラム９５は、Ｓ６７の処理をスキップする。さらに、サーバプログラム９５は、第１アップロード要求情報に含まれるアドレス情報で示されるサービス提供装置１２０に、第２アップロード要求情報を送信する（Ｓ６８）。その他の処理は前述の説明と同様なので、説明を省略する。
【００８５】
次に、図７を参照して、サービス提供装置１１０、１２０が提供するダウンロードプリントサービスを、ユーザＢがＭＦＰ１０を用いて利用する処理を説明する。なお、前述のスキャンアップロードサービスを利用する際の処理との共通点の詳しい説明は省略し、相違点を中心に説明する。まず、図７のＳ８１の処理に先立って、図６のＳ６１〜Ｓ６４までの処理実行される。
【００８６】
装置プログラム３５は、ダウンロードプリントサービスの利用を指示するユーザ操作と、サービスアイコン１３１の指定と、ユーザアイコン１５２の指定とを入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、通信Ｉ／Ｆ２５を通じて中継サーバ８０に第１リスト要求情報を送信する（Ｓ８１）。第１リスト要求情報は、ユーザＢに割り当てられたサービス提供装置１１０のメモリ領域に記憶されたデータのデータＩＤのリスト（以下、「リストデータ」表記する。）の送信を要求するための第１要求情報の一例である。第１リスト要求情報は、ユーザアイコン１５２に対応付けられたアクセスＩＤ“ｘｙｚを含む。ＭＦＰ１０が実行するＳ８１の処理は、第３送信処理の一例である。
【００８７】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてＭＦＰ１０から第１リスト要求情報を受信する（Ｓ８１）。次に、サーバプログラム９５は、第１リスト要求情報に含まれるアクセスＩＤ“ｘｙｚ”を含むアクセスレコードを、アクセスリストから読み出す（Ｓ８２）。中継サーバ８０が実行するＳ８１の処理は第１受信処理の一例であり、Ｓ８２の処理は読出処理の一例である。
【００８８】
次に、サーバプログラム９５は、Ｓ８２で読み出したアクセスレコードのドメイン情報“www.server-a.com"で識別されるサービス提供装置１１０に、通信Ｉ／Ｆ８５を通じて第２リスト要求情報を送信する（Ｓ８３）。第２リスト要求情報は、パス情報で示されるメモリ領域のリストデータの送信を要求するための第２要求情報の一例である。第２リスト要求情報は、例えば、Ｓ８２で読み出したアクセスレコードのトークン“０ｘ４ＣＤ７”及びパス情報“mfp/user-b”を含む。中継サーバ８０が実行するＳ８３の処理は、第１送信処理の一例である。
【００８９】
次に、サービス提供装置１１０は、中継サーバ８０から第２リスト要求情報を受信する（Ｓ８３）。次に、サービス提供装置１１０は、第２リスト要求情報に含まれるトークンが有効だと判断したことに応じて、パス情報“mfp/user-b”で示されるメモリ領域のリストデータを生成する。そして、サービス提供装置１１０は、アクセス結果情報の一例であるリストデータを中継サーバ８０に送信する（Ｓ８４）。
【００９０】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０からリストデータを受信する（Ｓ８４）。そして、サーバプログラム９５は、Ｓ８４で受信したリストデータを、第１リスト要求情報の応答として、通信Ｉ／Ｆ８５を通じてＭＦＰ１０に送信する（Ｓ８５）。中継サーバ８０が実行するＳ８４の処理は第２受信処理の一例であり、中継サーバ８０が実行するＳ８５の処理は第２送信処理の一例である。
【００９１】
次に、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて中継サーバ８０からリストデータを受信する（Ｓ８５）。ＭＦＰ１０が実行するＳ８５の処理は、第３受信処理の一例である。そして、装置プログラム３５は、図１０（Ｂ）に示されるデータ選択画面をディスプレイ２３に表示させる（Ｓ８６）。データ選択画面は、データアイコン１５６、１５７、１５８を含む。データアイコン１５６、１５７、１５８は、リストデータに含まれるデータＩＤ“写真．ＪＰＥＧ”、“見積書．ＰＤＦ”、“プレゼン．ＰＰＴ”の１つに対応する。
【００９２】
次に、装置プログラム３５は、例えば、データアイコン１５６の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ８７）、通信Ｉ／Ｆ２５を通じて中継サーバ８０に第１データ要求情報を送信する（Ｓ８８）。第１データ要求情報は、ユーザＢに割り当てられたサービス提供装置１１０のメモリ領域に記憶されたデータ、より詳細には、データアイコン１５６に対応するデータＩＤで識別されるデータの送信を要求するための第１要求情報の一例である。第１リスト要求情報は、データアイコン１５６に対応するデータＩＤ“写真．ＪＰＥＧ”と、ユーザアイコン１５２に対応付けられたアクセスＩＤ“ｘｙｚとを含む。ＭＦＰ１０が実行するＳ８８の処理は、第３送信処理の一例である。
【００９３】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてＭＦＰ１０から第１データ要求情報を受信する（Ｓ８８）。次に、サーバプログラム９５は、第１データ要求情報に含まれるアクセスＩＤ“ｘｙｚ”を含むアクセスレコードを、アクセスリストから読み出す（Ｓ８９）。中継サーバ８０が実行するＳ８８の処理は第１受信処理の一例であり、Ｓ８９の処理は読出処理の一例である。
【００９４】
次に、サーバプログラム９５は、Ｓ８９で読み出したアクセスレコードのドメイン情報“www.server-a.com”で識別されるサービス提供装置１１０に、通信Ｉ／Ｆ８５を通じて第２データ要求情報を送信する（Ｓ９０）。第２データ要求情報は、パス情報で示されるメモリ領域に記憶されたデータ“写真．ＪＰＥＧ”の送信を要求するための第２要求情報の一例である。第２データ要求情報は、例えば、第１データ要求情報に含まれるデータＩＤ“写真．ＪＰＥＧ”と、Ｓ８９で読み出したアクセスレコードのトークン“０ｘ４ＣＤ７”及びパス情報“mfp/user-b”とを含む。中継サーバ８０が実行するＳ９０の処理は、第１送信処理の一例である。
【００９５】
次に、サービス提供装置１１０は、中継サーバ８０から第２データ要求情報を受信する（Ｓ９０）。次に、サービス提供装置１１０は、第２データ要求情報に含まれるトークンが有効だと判断したことに応じて、パス情報“mfp/user-b”で示されるメモリ領域からデータＩＤ“写真．ＪＰＥＧ”で識別されるデータ（以下、「ダウンロードデータ」と表記する。）を読み出す。そして、サービス提供装置１１０は、アクセス結果情報の一例であるダウンロードデータを中継サーバ８０に送信する（Ｓ９１）。
【００９６】
次に、サーバプログラム９５は、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０からダウンロードデータを受信する（Ｓ９１）。そして、サーバプログラム９５は、Ｓ９１で受信したダウンロードデータを、第１データ要求情報の応答として、通信Ｉ／Ｆ８５を通じてＭＦＰ１０に送信する（Ｓ９２）。中継サーバ８０が実行するＳ９１の処理は第２受信処理の一例であり、中継サーバ８０が実行するＳ９２の処理は第２送信処理の一例である。
【００９７】
次に、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて中継サーバ８０からダウンロードデータを受信する（Ｓ９２）。ＭＦＰ１０が実行するＳ９２の処理は、第３受信処理の一例である。そして、装置プログラム３５は、ダウンロードデータを対象とするプリント動作をプリンタ１１に実行させる（Ｓ９３）。すなわち、プリンタ１１は、ダウンロードデータで示される画像をシートに記録する。
【００９８】
一方、装置プログラム３５は、サービス選択画面のサービスアイコン１３２の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、メモリ３２に記憶されたトークン“０ｘ８Ｂ２６”及びアドレス情報“www.server-b.com”を含む第１リスト要求情報を送信する（Ｓ８１）。また、装置プログラム３５は、データＩＤと、メモリ３２に記憶されたトークン“０ｘ８Ｂ２６”及びアドレス情報“www.server-b.com”とを含む第１データ要求情報を送信する（Ｓ８８）。また、サーバプログラム９５は、Ｓ８２、Ｓ８９の処理をスキップする。さらに、サーバプログラム９５は、第１リスト要求情報及び第１データ要求情報に含まれるアドレス情報で示されるサービス提供装置１２０に、第２リスト要求情報及び第２データ要求情報を送信する（Ｓ８３、Ｓ９０）。その他の処理は前述の説明と同様なので、説明を省略する。
【００９９】
［実施形態の作用効果］
上記の実施形態に係る中継サーバ８０は、ＭＦＰ１０からサービス提供装置１１０へのアクセスを中継する際に、第１要求情報に含まれるアクセスＩＤに対応するアドレス情報を読み出し、読み出したアドレス情報で示されるサービス提供装置１１０のメモリ領域にアクセスする。これにより、データサイズの大きいアドレス情報をＭＦＰ１０に記憶させなくても、ユーザ毎に個別に割り当てられたアドレス情報で示されるメモリ領域に、ＭＦＰ１０をアクセスさせることができる。
【０１００】
また、上記の実施形態によれば、ＭＦＰ１０の入力Ｉ／Ｆ２４を通じてアドレス情報が手入力されるので、中継サーバ８０は、ＭＦＰ１０から受信したアドレス情報が正しく入力されたことを事前に確認する。これにより、サービス提供装置１１０が提供するサービスを実際に利用しようとする場合に、割り当てられたメモリ領域にアクセスできないことを抑制できる。なお、上記の実施形態では、図４に示される処理が情報処理端末５０を用いて行われる例を説明した。しかしながら、図４で情報処理端末５０が実行する処理の一部又は全部は、ＭＦＰ１０が実行してもよい。すなわち、ＭＦＰ１０及び情報処理端末５０は、外部装置の一例である。
【０１０１】
また、上記の実施形態によれば、トークンが閾値サイズ以上の場合に、アドレス情報及びトークンの組み合わせを識別するアドレスＩＤがＭＦＰ１０に記憶される。これにより、データサイズの大きいトークンをＭＦＰ１０に記憶させなくても、ＭＦＰ１０をサービス提供装置１１０にアクセスさせることができる。一方、トークンが閾値サイズ未満の場合に、当該トークンがアクセスＩＤとして用いられる。これにより、トークンとは別のアクセスＩＤを用いる必要がなくなるので、中継サーバ８０の処理を簡素化することができる。但し、中継サーバ８０は、Ｓ４４の処理をスキップして、常にアクセスＩＤをＭＦＰ１０に送信してもよい。
【０１０２】
また、上記の実施形態によれば、サービス提供装置１１０との通信に第１モジュールを用い、サービス提供装置１２０との通信に第２モジュールを用いる。このように、サービス提供装置１１０、１２０毎に異なる通信手順を予めモジュール化しておくことにより、既存のサービス提供装置１１０、１２０の通信手順の変更、或いは新たなサービス提供装置との接続等が容易となる。
【０１０３】
なお、トークンは、リフレッシュトークンと、アクセストークンとに区別されてもよい。リフレッシュトークンは、アクセストークンの発行をサービス提供装置１１０、１２０に要求するためのトークンである。アクセストークンは、サービス提供装置１１０、１２０にアクセスする度に、新たに発行されるトークンである。すなわち、中継サーバ８０は、サービス提供装置１１０、１２０が提供するサービスをＭＦＰ１０に複数回利用させる場合において、同一のリフレッシュトークンと、異なるアクセストークンとを用いて、サービス提供装置１１０、１２０にアクセスする。
【０１０４】
より詳細には、図４、図５、図６のＳ６７、図７のＳ８２、Ｓ８９で用いられるトークンは、リフレッシュトークンである。また、サーバプログラム９５は、Ｓ６８、Ｓ８３、Ｓ９０において、メモリ９２から読み出したリフレッシュトークンを含むアクセストークン要求情報を、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０に送信する。そして、サーバプログラム９５は、サービス提供装置１１０が新たに発行したアクセストークンを、アクセストークン要求情報の応答として、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０から受信する。そして、サーバプログラム９５は、受信したアクセストークンを含む第２要求情報を、通信Ｉ／Ｆ８５を通じてサービス提供装置１１０に送信する。
【０１０５】
また、上記の実施形態のＭＦＰ１０、情報処理端末５０、及び中継サーバ８０において、メモリ３２、６２、９２に記憶された各種プログラムがＣＰＵ３１、６１、９１によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【０１０６】
さらに、本発明は、ＭＦＰ１０、情報処理端末５０、及び中継サーバ８０として実現できるだけでなく、ＭＦＰ１０、情報処理端末５０、及び中継サーバ８０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワークを通じてＭＦＰ１０、情報処理端末５０、及び中継サーバ８０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット１０１等の通信ネットワークを通じて配信されてもよい。
【符号の説明】
【０１０７】
１０・・・ＭＦＰ
１１・・・プリンタ
１２・・・スキャナ
３１，６１，９１・・・ＣＰＵ
２３・・・ディスプレイ
２４・・・入力Ｉ／Ｆ
２５，５５，８５・・・通信Ｉ／Ｆ
３２，６２，９２・・・メモリ
３５・・・装置プログラム
９５・・・サーバプログラム
５０・・・情報処理端末
８０・・・中継サーバ
８０Ａ・・・第１サーバ
８０Ｂ・・・第２サーバ
１１０，１２０・・・サービス提供装置
【図１】
2018056751.tif 000003
【図２】
2018056751.tif 000004
【図３】
2018056751.tif 000005
【図４】
2018056751.tif 000006
【図５】
2018056751.tif 000007
【図６】
2018056751.tif 000008
【図７】
2018056751.tif 000009
【図８】
2018056751.tif 000010
【図９】
2018056751.tif 000011
【図１０】
2018056751.tif 000012