(57)【特許請求の範囲】
【請求項１】
通信装置と中継装置とを含む通信システムであって、
前記通信装置と前記中継装置とは、それぞれ、外部サービスが接続されたネットワークに接続され、
前記通信装置は、
ブラウザ部を備えたブラウザ搭載装置に接続するための接続部と、
前記接続部により接続された前記ブラウザ搭載装置からの要求に応じて、所定のデータの所在を示すデータ所在情報を前記ブラウザ搭載装置へ送信する第１送信手段と、
前記通信装置の所在を示す通信装置所在情報を出力する出力手段と、を備え、
前記中継装置は、
前記ブラウザ搭載装置から、前記データ所在情報に基づく要求を受信する第１受信手段と、
前記第１受信手段が前記データ所在情報に基づく要求を受信すると、前記所定のデータを前記ブラウザ搭載装置へ送信する第２送信手段と、
前記所定のデータの送信先である前記ブラウザ搭載装置に接続された前記通信装置が出力する前記通信装置所在情報を取得する第１取得手段と、
前記中継装置に対してデータを送信する際には、前記ブラウザ搭載装置に接続された前記通信装置の通信装置所在情報であって前記第１取得手段により取得された前記通信装置所在情報または当該通信装置所在情報に対応する対応情報を、前記中継装置に対して出力するように、前記ブラウザ搭載装置へ指示する第１指示手段と、
前記ブラウザ搭載装置から送信される前記外部サービスの認証データを受信する第２受信手段と、
前記第２受信手段が前記認証データを受信する際に、前記ブラウザ搭載装置が出力する前記通信装置所在情報または前記対応情報に対応する前記通信装置所在情報を取得する第２取得手段と、
前記第２取得手段により取得した前記通信装置所在情報が示す前記通信装置へ前記認証データを送信するように、前記ブラウザ搭載装置へ指示する第２指示手段とを備える、通信システム。
【請求項２】
通信装置と中継装置とを含む通信システムであって、
前記通信装置と前記中継装置とは、それぞれ、外部サービスが接続されたネットワークに接続され、
前記通信装置は、
ブラウザ部を備えたブラウザ搭載装置に接続するための接続部と、
前記接続部により接続された前記ブラウザ搭載装置からの要求に応じて、所定のデータの所在を示すデータ所在情報を前記ブラウザ搭載装置へ送信する第１送信手段と、
前記通信装置の所在を示す通信装置所在情報を出力する出力手段と、を備え、
前記中継装置は、
前記ブラウザ搭載装置から、前記データ所在情報に基づく要求を受信する第１受信手段と、
前記第１受信手段が前記データ所在情報に基づく要求を受信すると、前記所定のデータを前記ブラウザ搭載装置へ送信する第２送信手段と、
前記所定のデータの送信先である前記ブラウザ搭載装置に接続された前記通信装置が出力する前記通信装置所在情報を取得する第１取得手段と、
前記中継装置に対してデータを送信する際には、前記ブラウザ搭載装置に接続された前記通信装置の通信装置所在情報であって前記第１取得手段により取得された前記通信装置所在情報または当該通信装置所在情報に対応する対応情報を、前記中継装置に対して出力するように、前記ブラウザ搭載装置へ指示する第１指示手段と、
前記ブラウザ搭載装置から送信される前記外部サービスの認証データを受信する第２受信手段と、
前記第２手段が前記認証データを受信する際に、前記ブラウザ搭載装置が出力する前記通信装置所在情報または前記対応情報に対応する前記通信装置所在情報を取得する第２取得手段と、
前記第２取得手段により取得した前記通信装置所在情報が示す前記通信装置に対して前記認証データに対応する対応認証データを送信するように、前記ブラウザ搭載装置へ指示する第３指示手段と、
前記通信装置から前記対応認証データを受信した場合、当該対応認証データに対応する前記認証データを、前記通信装置へ送信する第３送信手段とを備える、通信システム。
【請求項３】
前記通信装置は、
前記中継装置から前記データ所在情報を取得するデータ所在情報取得手段を備え、
前記第１送信手段は、前記ブラウザ搭載装置から、前記データ所在情報の要求があると、前記データ所在情報取得手段により取得した前記データ所在情報を前記ブラウザ搭載装置へ送信する、請求項１または２に記載の通信システム。
【請求項４】
前記中継装置は、
前記所定のデータを記憶する記憶部を備え、
前記第２送信手段は、前記第１受信手段が前記データ所在情報に基づく要求を受信すると、前記記憶部から読み出した前記データを前記ブラウザ搭載装置へ送信する、請求項１から３のいずれかに記載の通信システム。
【請求項５】
前記所定のデータは、前記外部サービスを指定する指定情報を含む、請求項１から４のいずれか記載の通信システム。
【請求項６】
前記データ所在情報取得手段は、前記ブラウザ搭載装置から前記データ所在情報の要求があると、前記中継装置から前記データ所在情報を取得するものであり、
前記第１送信手段は、前記データ所在情報の要求元のブラウザ搭載装置に対して、前記データ所在情報取得手段により取得した前記データ所在情報を送信する、請求項３記載の通信システム。
【請求項７】
前記通信装置において、前記出力手段は、前記第１送信手段によって前記ブラウザ搭載装置へ送信する前記データ所在情報に前記通信装置所在情報を付加することにより、前記通信装置所在情報を出力するものであり、
前記中継装置において、前記第１取得手段は、前記ブラウザ搭載装置から前記データ所在情報に基づく要求を受け取る際、当該データ所在情報に付加された前記通信装置所在情報を取得する、請求項１から６のいずれかに記載の通信システム。
【請求項８】
前記中継装置は、
前記第１取得手段により取得された前記通信装置所在情報を、記憶部に記憶させる第１記憶制御手段と、
前記第１記憶制御手段により記憶させた前記通信装置所在情報に対応する対応情報を生成する第１対応情報生成手段とを備え、
前記第１指示手段は、前記ブラウザ搭載装置が前記中継装置に対してデータを送信する際には、前記第１対応情報生成手段により生成した前記対応情報を、前記ブラウザ搭載装置から前記中継装置に対して出力するように、前記ブラウザ搭載装置に対して指示する、請求項７記載の通信システム。
【請求項９】
前記通信装置は、
前記データ所在情報の要求を前記中継装置へ送信するデータ所在情報要求手段を備え、
前記出力手段は、前記データ所在情報要求手段が前記データ所在情報の要求を前記中継装置へ送信する際に、前記通信装置所在情報を前記中継装置へ送信するものであり、
前記中継装置において、前記第１取得手段は、前記通信装置から前記データ所在情報の要求を受信する際に、当該通信装置から送られてくる前記通信装置所在情報を取得する、請求項１から６のいずれかに記載の通信システム。
【請求項１０】
前記中継装置は、
前記第１取得手段により取得された前記通信装置所在情報を、記憶部に記憶させる第２記憶制御手段と、
前記第２記憶制御手段により記憶された前記通信装置所在情報に対応する対応情報を生成する第２対応情報生成手段と、
前記第２対応情報生成手段により生成した前記対応情報を付加した前記データ所在情報を、前記通信装置へ送信するデータ所在情報送信手段とを備え、
前記通信装置において、前記第１送信手段は、前記中継装置から受信した、前記対応情報が付加された前記データ所在情報を、前記ブラウザ搭載装置へ送信するものであり、
前記中継装置において、前記第１受信手段は、前記対応情報が付加された前記データ所在情報に基づく要求を受信するものであり、
前記第１指示手段は、前記第１受信手段により前記対応情報が付加された前記データ所在情報を受信した場合、当該対応情報を前記ブラウザ搭載装置から前記中継装置に対して出力するように、前記ブラウザ搭載装置へ指示する、請求項９記載の通信システム。
【請求項１１】
前記第１指示手段は、前記通信装置所在情報または当該通信装置所在情報に対応する対応情報を、前記中継装置に対して出力するように、前記ブラウザ搭載装置の前記ブラウザ部へ指示することを特徴とする、請求項１から１０のいずれかに記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
特許文献１には、読み取った画像の電子ファイルをサーバへアップロードする画像読取装置が開示されている。また、サーバからダウンロードした電子ファイルを印刷するプリンタが知られている。これらのサービスを提供するために、画像読取装置やプリンタのメーカは、専用のサーバを独自に設置する場合がある。
【０００３】
一方で、サービス事業者が用意したネットワーク上のデータベースに電子ファイルを格納できるＷｅｂサービスが普及している。例えば、Ｐｉｃａｓａ（登録商標）ウェブアルバムや、ｆｌｉｃｋｒ（登録商標）がその一例である。利用者は、Ｗｅｂブラウザを備えた通信装置を利用して、所望の電子ファイルをＷｅｂサービスにアップロードしたり、電子ファイルをダウンロードしたりできる。
【０００４】
したがって、画像読取装置やプリンタのメーカは、専用のサーバを設ける代わりに、これらの装置からＷｅｂサービスを直接利用できるよう、画像読取装置やプリンタを構成する場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２６９２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像読取装置や、プリンタなどの装置から、上記のようなＷｅｂサービスを利用するためには、これらの画像読取装置や、プリンタなどの装置は、サービスの利用に先立ち、Ｗｅｂサービスとの間で認証を行い、Ｗｅｂサービスからアクセス許可を受ける必要がある。しかしながら、Ｗｅｂサービスとの認証は、Ｗｅｂブラウザを利用して行われることが一般的であり、Ｗｅｂブラウザを搭載しない画像読取装置や、プリンタなどの装置では、認証データを取得することが困難であるという問題点がある。
【０００７】
本発明は、上述した問題点を解決するためになされたものであり、通信装置がＷｅｂブラウザを備えているか否かに関わらず、外部サービスの認証データを通信装置に容易に取得させることができる通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この目的を達成するために、本発明の通信システムは、通信装置と中継装置とを含むシステムであって、前記通信装置と前記中継装置とは、それぞれ、外部サービスが接続されたネットワークに接続され、前記通信装置は、ブラウザ部を備えたブラウザ搭載装置に接続するための接続部と、前記接続部により接続された前記ブラウザ搭載装置からの要求に応じて、所定のデータの所在を示すデータ所在情報を前記ブラウザ搭載装置へ送信する第１送信手段と、前記通信装置の所在を示す通信装置所在情報を出力する出力手段と、を備え、前記中継装置は、前記ブラウザ搭載装置から、前記データ所在情報に基づく要求を受信する第１受信手段と、前記第１受信手段が前記データ所在情報に基づく要求を受信すると、前記所定のデータを前記ブラウザ搭載装置へ送信する第２送信手段と、前記所定のデータの送信先である前記ブラウザ搭載装置に接続された前記通信装置が出力する前記通信装置所在情報を取得する第１取得手段と、前記中継装置に対してデータを送信する際には、前記ブラウザ搭載装置に接続された前記通信装置の通信装置所在情報であって前記第１取得手段により取得された前記通信装置所在情報または当該通信装置所在情報に対応する対応情報を、前記中継装置に対して出力するように、前記ブラウザ搭載装置へ指示する第１指示手段と、前記ブラウザ搭載装置から送信される前記外部サービスの認証データを受信する第２受信手段と、前記第２受信手段が前記認証データを受信する際に、前記ブラウザ搭載装置が出力する前記通信装置所在情報または前記対応情報に対応する前記通信装置所在情報を取得する第２取得手段と、前記第２取得手段により取得した前記通信装置所在情報が示す前記通信装置へ前記認証データを送信するように、前記ブラウザ搭載装置へ指示する第２指示手段とを備える。
【０００９】
なお、本発明は、通信方法、通信システムを構成する通信装置または中継装置、通信装置または中継装置を制御する制御装置、通信装置または中継装置において実行されるプログラム、該プログラムを記録する記録媒体等の種々の態様で実現可能である。
【発明の効果】
【００１０】
請求項１記載の通信システムによれば、ブラウザ搭載装置が中継装置に対して外部サービスの認証データを送信する場合、ブラウザ搭載装置から中継装置に対しては、当該ブラウザ搭載装置に接続された通信装置の通信装置所在情報または通信装置所在情報に対応する対応情報が出力される。よって、中継装置は、その通信装置所在情報または対応情報に基づいて、ブラウザ搭載装置に接続された通信装置へ認証データを送信するようにブラウザ搭載装置へ指示できる。よって、通信装置がＷｅｂブラウザを備えているか否かに関わらず、外部サービスの認証データを、通信装置に容易に取得させることができるという効果がある。
【００１１】
請求項２記載の通信システムによれば、ブラウザ搭載装置が中継装置に対して外部サービスの認証データを送信する場合、ブラウザ搭載装置から中継装置に対しては、当該ブラウザ搭載装置に接続された通信装置の通信装置所在情報または通信装置所在情報に対応する対応情報が出力される。よって、中継装置は、その通信装置所在情報または対応情報に基づいて、ブラウザ搭載装置に接続された通信装置へ対応認証データを送信するようにブラウザ搭載装置へ指示できる。一方、通信装置は対応認証データを中継装置へ送信することにより、当該対応認証データに対応する認証データを受信できる。よって、通信装置がＷｅｂブラウザを備えているか否かに関わらず、外部サービスの認証データを、通信装置に容易に取得させることができるという効果がある。
【００１２】
請求項３記載の通信システムによれば、請求項１または２に記載の通信システムの奏する効果に加え、通信装置が中継装置から取得したデータ所在情報が、ブラウザ搭載装置へ送信される。よって、ブラウザ搭載装置がそのデータ所在情報に基づく要求を送信することにより、当該ブラウザ搭載装置を通信装置と同一の中継装置にアクセスさせることができるという効果がある。
【００１３】
請求項４記載の通信システムによれば、請求項１から３のいずれかに記載の通信システムの奏する効果に加え、中継装置が記憶する所定のデータをブラウザ搭載装置に取得させることができるという効果がある。
【００１４】
請求項５記載の通信システムによれば、請求項１から４のいずれかに記載の通信システムの奏する効果に加え、外部サービスを指定する指定情報を含む所定のデータを、ブラウザ搭載装置に取得させることができるという効果がある。
【００１５】
請求項６記載の通信システムによれば、請求項３記載の通信システムの奏する効果に加え、中継装置から送信されるデータ所在情報を、通信装置を介して、ブラウザ搭載装置に取得させることができるという効果がある。
【００１６】
請求項７記載の通信システムによれば、請求項１から６のいずれかに記載の通信システムの奏する効果に加え、通信装置からブラウザ搭載装置へ送信されるデータ所在情報に通信装置所在情報が付加される。一方、中継装置はブラウザ搭載装置からデータ所在情報に基づく要求を受け取る際に、当該データ所在情報に付加された通信装置所在情報を取得する。よって、通信装置が出力する通信装置所在情報を中継装置に取得させることができるという効果がある。
【００１７】
請求項８記載の通信システムによれば、請求項７記載の通信システムの奏する効果に加え、ブラウザ搭載装置が中継装置に対してデータを送信する際には通信装置所在情報に対応した対応情報がブラウザ搭載装置から中継装置に対して出力されるので、中継装置は、当該対応情報に基づいて、前記ブラウザ搭載装置に接続された通信装置の通信装置所在情報を取得できるという効果がある。
【００１８】
請求項９記載の通信システムによれば、請求項１から６のいずれかに記載の通信システムの奏する効果に加え、通信装置が出力する通信装置所在情報を中継装置に取得させることができるという効果がある。
【００１９】
請求項１０記載の通信システムによれば、請求項９記載の通信システムの奏する効果に加え、中継装置は、ブラウザ搭載装置から受信したデータ所在情報から、当該ブラウザ搭載装置に接続された通信装置の通信装置所在情報を取得できるという効果がある。また、ブラウザ搭載装置が中継装置に対してデータを送信する際には、その通信装置所在情報に対応する対応情報をブラウザ搭載装置から中継装置に対して出力するよう指示が出されるので、中継装置は、ブラウザ搭載装置から認証データを受信する場合に、当該ブラウザ搭載装置から対応情報を受信し、その対応情報に基づいて、当該ブラウザ搭載装置に接続された通信装置の通信装置所在情報を取得できるという効果がある。
【００２０】
請求項１１記載の通信システムによれば、請求項１から１０のいずれかに記載の通信システムの奏する効果に加え、通信装置所在情報または通信装置所在情報に対応する対応情報を中継装置に対して出力するように、ブラウザ搭載装置のブラウザ部へ指示できるという効果がある。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態であるサービス連携システムの電気的構成を概略的に示すブロック図である。
【図２】ＭＦＰ識別子テーブルの構成の一例を示す図である。
【図３】認証トークン取得シーケンスを説明するシーケンス図である。
【図４】ＯＡｕｔｈ通信シーケンスを説明するシーケンス図である。
【図５】中継装置が受信するＵＲＬの構成を示す図である。
【図６】中継装置が実行する中継処理を示すフローチャートである。
【図７】ＭＦＰが実行するコマンド実行処理を示すフローチャートである。
【図８】第２実施形態の認証トークン取得シーケンスを説明するシーケンス図である。
【図９】第３実施形態の認証トークン取得シーケンスを説明するシーケンス図である。
【発明を実施するための形態】
【００２２】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の通信システムの第１実施形態であるサービス連携システム１０の電気的構成を概略的に示すブロック図である。サービス連携システム１０は、多機能装置１００（以下、ＭＦＰ１００）と、中継装置２００とを含む。ＭＦＰ１００は、印刷機能、スキャナ機能、ＦＡＸ機能、およびコピー機能を備えるデジタル複合機である。中継装置２００は、ＭＦＰ１００のメーカによって設置されるサーバである。ＰＣ４００は、ＭＦＰ１００のユーザが所有するパーソナルコンピュータである。外部サービス５００は、サービス事業者によって設置されたＷｅｂサーバである。本実施形態のサービス連携システム１０は、Ｗｅｂブラウザを備えないＭＦＰ１００であっても、外部サービス５００の認証トークンを容易に取得できるように構成されている。以下、詳細を説明する。
【００２３】
ＭＦＰ１００と、中継装置２００と、ＰＣ４００と、外部サービス５００とは、インターネット６００を介して接続され、互いにＨＴＴＰに従って、データの送受信を行う。インターネット６００は、例えば、インターネット網で構成される。また、ＭＦＰ１００とＰＣ４００とは、ＬＡＮ７００を介して互いに接続され、さらにＬＡＮ７００を介してインターネット６００に接続される。なお、インターネット６００には、複数種類の外部サービス５００が存在しているが、図１においては、１の外部サービス５００のみ図示する。
【００２４】
ＭＦＰ１００は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、フラッシュメモリ１０４、ＬＡＮインターフェイス（Ｉ／Ｆ）１０５、プリンタ１０６、スキャナ１０７、入力部１０８、液晶表示装置（ＬＣＤ）１０９を主に有し、これらはバスライン１１０を介して互いに接続されている。
【００２５】
ＣＰＵ１０１は、ＲＯＭ１０２に記憶されているプログラムに従って処理を実行する。ＲＯＭ１０２は、ＭＦＰ１００の動作を制御するプログラムなどを格納するメモリであり、通信プログラム１０２ａを格納する。ＭＦＰ１００は、通信プログラム１０２ａに従って、後述するコマンド実行処理（図７）を実行する。なお、通信プログラム１０２ａは、ＨＴＴＰに従ったデータの送受信を行うプログラムであり、ＸＭＬを解釈するＸＭＬパーサとしての機能を有するが、ＨＴＭＬを解釈するＨＴＭＬパーサとしての機能は有さない。本実施形態において、ＭＦＰ１００は、ＨＴＭＬで記述される情報を解釈できず、外部サービス５００が提供するＷｅｂページを表示できないものとする。
【００２６】
ＲＡＭ１０３は、ＣＰＵ１０１の処理に必要な情報を一時的に記憶する。フラッシュメモリ１０４は不揮発性のメモリであり、認証トークンメモリ１０４ａとcallbackURLメモリ１０４ｂとを備える。詳細は、図３を参照して後述するが、認証プロトコルの一例であるＯＡｕｔｈに従って、ＰＣ４００が外部サービス５００との間で認証手続きを行うと、外部サービス５００は、リソースの利用許可を示す認証トークンを発行する。一方、ＭＦＰ１００は、外部サービス５００の認証トークンを、ＰＣ４００経由で取得し、認証トークンメモリ１０４ａに保存する。その後、ＭＦＰ１００は、認証トークンを用いて、外部サービス５００のリソースを利用する。
【００２７】
callbackURLメモリ１０４ｂは、ＭＦＰ１００の所在を示すＵＲＬであって、ＭＦＰ１００が認証トークンを取得するために設定されたＵＲＬ（以下、ＭＦＰのcallbackURL）を記憶する。
【００２８】
ＬＡＮＩ／Ｆ１０５は、ＬＡＮ７００を介して他の装置と通信を行うためのインターフェイスであり、ＭＦＰ１００とＰＣ４００とをＬＡＮ接続する。プリンタ１０６は、画像の印刷を行う装置であり、スキャナ１０７は、画像を読み取る装置である。入力部１０８は、ＭＦＰ１００に指示や情報を入力するための操作キーやタッチパネルで構成される。ＬＣＤ１０９は、各種情報を表示する。
【００２９】
中継装置２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ハードディスクドライブ（ＨＤＤ）２０４、インターネットインターフェイス（Ｉ／Ｆ）２０５を主に有し、これらはバスライン２１０を介して互いに接続されている。
【００３０】
ＣＰＵ２０１は、ＲＯＭ２０２またはＨＤＤ２０４に記憶されるプログラムに従って処理を実行する。ＲＯＭ２０２は、中継装置２００の動作を制御するプログラムなどを格納する。ＲＡＭ２０３は、ＣＰＵ２０１の処理に必要なデータを一時的に記憶する。
【００３１】
ＨＤＤ２０４は、書換え可能な不揮発性の記憶装置であって、通信プログラム２０４ａ、callbackURLメモリ２０４ｂ、ＭＦＰ識別子テーブル２０４ｃが設けられる。通信プログラム２０４ａは、ＨＴＴＰメッセージの送受信を行うためのプログラムである。中継装置２００は、この通信プログラム２０４ａに従って、後述する中継処理（図６）を実行する。
【００３２】
callbackURLメモリ２０４ｂには、中継装置２００がＰＣ４００から認証トークンを受信するためのＵＲＬ（以下、中継装置のcallbackURL）が設定される。ＭＦＰ識別子テーブル２０４ｃは、ＭＦＰのcallbackURLを記憶するテーブルである。ＭＦＰ識別子テーブル２０４ｃについては、図２を参照して後述する。インターネットＩ／Ｆ２０５は、インターネット６００に接続された他の装置と通信を行うための機器である。
【００３３】
ＰＣ４００は、Ｗｅｂブラウザ４００ａを搭載し、外部サービス５００など各種のＷｅｂサーバが提供するＷｅｂページを表示可能に構成されている。本実施形態のサービス連携システム１０において、ＰＣ４００は中継装置２００を経由して、外部サービス５００との間で認証手続きを行う。
【００３４】
図２は、中継装置２００に設けられるＭＦＰ識別子テーブル２０４ｃの構成を模式的に示す図である。詳細は図３を参照して後述するが、中継装置２００は、ＰＣ４００とＬＡＮ接続されたＭＦＰのcallbackURLを、ＰＣ４００経由で取得する。そして、取得したcallbackURLに任意の文字列（以下、ＭＦＰ識別子）を対応付けて、ＭＦＰ識別子テーブル２０４ｃに記憶する。
【００３５】
なお、ＭＦＰの識別子はクッキーの値として、クライアントであるＰＣ４００に記憶される。そして、ＰＣ４００が２回目以降に中継装置２００にデータを送信する際、ＭＦＰの識別子がクッキーの値として、ＰＣ４００から中継装置２００へ送信される。よって、中継装置２００は、当該ＭＦＰの識別子に基づき、ＰＣ４００に接続されたＭＦＰ１００について、そのＭＦＰのcallbackURLを取得できる。
【００３６】
図３は、ＰＣ４００と、ＭＦＰ１００と、中継装置２００と、外部サービス５００との間で実行される認証トークン取得シーケンスを説明するシーケンス図である。この処理の開始前に、ユーザはＰＣ４００を外部サービス５００に接続させて、外部サービス５００に、アカウント名とパスワードとを発行させているものとする。なお、図３に示す各装置間で通信される要求やレスポンスは、ＨＴＴＰメッセージに含めて送受される。
【００３７】
まず、ＰＣ４００は、サービス選択画面を表示するための画面データの所在を示すＵＲＬ（以下、サービス選択画面ＵＲＬ）を要求するＨＴＴＰメッセージを、ＰＣ４００とＬＡＮ接続されたＭＦＰ１００へ送信する（Ｕ３０１）。一方、ＭＦＰ１００は、ＰＣ４００からの要求に応じて、サービス選択画面ＵＲＬの要求を中継装置２００へ送信する（Ｕ３０２）。
【００３８】
図５（ａ）は、サービス選択画面ＵＲＬの要求に含まれる指定ＵＲＬの一例を示す図である。図５（ａ）に示すように、指定ＵＲＬ５０１は、要求受付ＵＲＬ５０２と、クエリ文字列５０３とを含む。ＭＦＰ１００は、中継装置２００がサービス選択画面ＵＲＬの要求を受け付けるために設定した要求受付ＵＲＬ５０２を予め記憶している。そして、予め記憶している要求受付ＵＲＬ５０２に、ＭＦＰのcallbackURLをパラメータとして含むクエリ文字列５０３を付加することにより、指定ＵＲＬ５０１を生成し、この指定ＵＲＬを宛先として、サービス選択画面ＵＲＬの要求を出力する。
【００３９】
なお、クエリ文字列５０３は、当該クエリ文字列５０３がcallbackURLを含むことを示す文字列５０４と、callbackURL５０５とを含む。ただし、ＨＴＴＰの制約上、クエリ文字列５０３に含めることができる文字種類には制限がある。よって、ＭＦＰ１００は、ＭＦＰのcallbackURLをＵＲＬエンコードして、callbackURL５０５を生成し、クエリ文字列５０３に含める。
【００４０】
図３に戻り説明する。図３に示す例では、中継装置２００として、中継装置Ａ，Ｂを図示する。中継装置Ａ，Ｂは、共にＭＦＰ１００のメーカによって設置されるサーバであり、同じサービスを提供するが、図３に示す例では、中継装置Ａが障害により接続できず、中継装置Ｂは接続できたものとする。その場合、ＭＦＰ１００は、サービス選択画面ＵＲＬの要求を中継装置Ｂに送信し、中継装置Ｂからサービス選択画面ＵＲＬを取得する。なお、ＭＦＰ１００がアクセスできた中継装置Ｂを、以下、単に中継装置２００と記載する。
【００４１】
中継装置２００は、サービス選択画面ＵＲＬの要求をＭＦＰ１００から受信する際に、当該要求に含まれる指定ＵＲＬ５０１（図５（ａ））内のcallbackURL５０５をデコードし、ＭＦＰのcallbackURLを取得する。そして、ＭＦＰのcallbackURLに対応するＭＦＰ識別子を生成し、ＭＦＰのcallbackURLに対応付けて、ＭＦＰ識別子テーブル２０４ｃに記憶させる（Ｕ３０３）。そして、中継装置２００は、そのＭＦＰ識別子をサービス選択画面ＵＲＬに付加し、ＭＦＰ１００へ送信する（Ｕ３０４）。
【００４２】
図５（ｂ）は、ＭＦＰ識別子が付加されたサービス選択画面ＵＲＬの一例を示す図である。図５（ｂ）に示すように、サービス選択画面ＵＲＬ５１０の末尾に、ＭＦＰ識別子（ＡＡＡ）をパラメータとして指定するクエリ文字列５１１を付加することにより、ＭＦＰ１００にＭＦＰ識別子を送信できる。
【００４３】
図３に戻り説明する。ＭＦＰ１００は、ＭＦＰ識別子が付加されたサービス選択画面ＵＲＬを中継装置２００から取得すると、当該サービス選択画面ＵＲＬを含むリダイレクト指令を、ＰＣ４００へ送信する（Ｕ３０５）。ＰＣ４００は、リダイレクト指令に従って、中継装置２００のサービス選択画面ＵＲＬへ接続し、サービス選択画面を要求する（Ｕ３０６）。このように、本実施形態によれば、ＭＦＰ１００は中継装置２００から取得したサービス選択画面ＵＲＬをＰＣ４００へ送信するので、ＰＣ４００はそのサービス選択画面ＵＲＬに基づいて、ＭＦＰ１００と同一の中継装置２００にアクセスできる。すなわち、中継装置２００が複数台存在する分散環境であっても、ＰＣ４００は、ＭＦＰ識別子およびＭＦＰのcallbackURLを記憶する中継装置２００（図３に示す例では、中継装置Ｂ）に対して、サービス選択画面を要求できる。
【００４４】
一方、中継装置２００は、ＭＦＰ識別子が付加されたサービス選択画面ＵＲＬに基づく要求をＰＣ４００から受信すると、サービス選択画面ＵＲＬ５１０に付加されたクエリ文字列５１１（図５（ｂ）参照）からＭＦＰ識別子を抽出する。そして、Ｗｅｂページで構成されるサービス選択画面を表示させるための画面データをＰＣ４００へ送信する（Ｕ３０７）。すなわち、中継装置２００がＨＤＤ２０４に予め記憶する画面データを、ＰＣ４００に取得させる。ここで、中継装置２００は、画面データを送信するときにクッキーを設定し、ＰＣ４００が中継装置２００に対してＨＴＴＰメッセージを送信する際には、クッキーの値としてＭＦＰ識別子を出力するように、ＰＣ４００のＷｅｂブラウザ４００ａへ指示する。
【００４５】
その結果、Ｕ３０７以降において、中継装置２００は、ＰＣ４００からＨＴＴＰメッセージを受信する毎にＭＦＰ識別子を受信し、そのＭＦＰ識別子に基づいて、当該ＰＣ４００にＬＡＮ接続されたＭＦＰのcallbackURLを取得できる。
【００４６】
ＰＣ４００は、中継装置２００から受信した画面データを用いてサービス選択画面を表示し、そのサービス選択画面においてユーザが選択した外部サービス５００との間で認証手続きを行う。認証手続きの具体的手順を示すＯＡｕｔｈ通信シーケンス（Ｕ３０８）については、図４を参照して後述する。
【００４７】
ＰＣ４００と外部サービス５００との間における認証手続きが成功すると、外部サービス５００はＰＣ４００に対し、中継装置２００へのリダイレクト指令を送信する（Ｕ３０９）。このリダイレクト指令には、外部サービス５００によって発行される認証トークンおよび中継装置のcallbackURLが含まれる。一例を挙げると、認証トークンは、クエリ文字列として、中継装置のcallbackURLに付加されている。
【００４８】
一方、ＰＣ４００は、外部サービス５００からのリダイレクト指令を受けて、中継装置２００へアクセスし、認証トークンを中継装置２００へ送信する（Ｕ３１０）これは例えば、ＰＣ４００が、認証トークンがクエリ文字列として付加された中継装置のcallbackURLへ接続することで実現できる。このとき、ＰＣ４００から中継装置２００へは、クッキーの値としてＭＦＰ識別子が出力（送信）される。
【００４９】
中継装置２００は、ＰＣ４００から認証トークンを受信することにより、ＰＣ４００と外部サービス５００との間において、認証手続きが行われたことを判断できる。そして、中継装置２００は、クッキーの値として取得したＭＦＰ識別子に基づき、そのＭＦＰ識別子に対応するＭＦＰのcallbackURLを、ＭＦＰ識別子テーブル２０４ｃから読み出す。そして、そのＭＦＰのcallbackURLを指定したリダイレクト指令を、認証トークンと共に、ＰＣ４００に送信することにより、ＰＣ４００からＭＦＰ１００へ認証トークンを送信するように、ＰＣ４００へ指示する（Ｕ３１１）。
【００５０】
ＰＣ４００は、リダイレクト指令に基づいて、ＬＡＮ接続されたＭＦＰのcallbackURLに接続し、認証トークンを送信する（Ｕ３１２）。ＭＦＰ１００は認証トークンを取得すると、取得した認証トークンを認証トークンメモリ１０４ａに記憶する。そして、設定を完了したことを示す通知を、ＰＣ４００へ送信する（Ｕ３１３）。
【００５１】
本実施形態によれば、ユーザは、ＰＣ４００のＷｅｂブラウザ４００ａを利用して、外部サービス５００との間で認証手続きを実行できる。また、認証手続きが成功して、外部サービス５００が発行した認証トークンは、中継装置２００およびＰＣ４００を経由して、ＭＦＰ１００に送信される。よって、ＭＦＰ１００がＷｅｂブラウザを備えていない場合であっても、ＭＦＰ１００に認証トークンを容易に取得させることができる。また、ＭＦＰ１００にＷｅｂブラウザを搭載しない場合には、高い処理能力を必要とせず、ＭＦＰ１００の製造コストを抑制できる。
【００５２】
また、外部サービス５００を利用するためにパスワードやアカウント名で認証を受ける場合、ログインページを表示するためにＷｅｂブラウザが必要になることが多い。しかしながら、本実施形態のＭＦＰ１００によれば、パスワードやアカウント名の代わりに認証トークンで認証を受けることができるので、Ｗｅｂブラウザがないために、ログインページを表示できなくても、外部サービス５００の認証を受けることができる。
【００５３】
また、本実施形態によれば、中継装置２００は、クッキーの値として取得されるＭＦＰ識別子に基づいてＭＦＰのcallbackURLを取得し、そのＭＦＰのcallbackURLを指定したリダイレクト指令をＰＣ４００に送信するので、ＰＣ４００が備えるＷｅｂブラウザ４００ａが汎用のものであっても、ＰＣ４００からＭＦＰ１００へ認証トークンを送信させることができる。
【００５４】
図４は、ＯＡｕｔｈ通信シーケンス（Ｕ３０８）を示すシーケンス図である。図３を参照して説明したように、ＰＣ４００は、サービス選択画面の画面データを中継装置２００から受信すると（Ｕ３０７）、受信した画面データに基づき、Ｗｅｂブラウザ４００ａの機能によりサービス選択画面を表示する。画面データは、ＨＴＭＬ、及びＸＭＬテキストなどのマークアップ言語により構成され、指定ＵＲＬ５２０（図５（ｃ）を参照して後述）を含む。このサービス選択画面は、インターネット６００に存在するサービスの中からいずれかを、ユーザに選択させるための画面である。
【００５５】
次に、ＰＣ４００は、サービス選択画面に選択項目として表示されるサービスのうち、ユーザによって選択されたサービスへの登録開始要求を、中継装置２００へ送信する（Ｕ４０１）。
【００５６】
図５（ｃ）は、登録開始要求に含まれる指定ＵＲＬ５２０の一例を示す図である。この指定ＵＲＬ５２０は外部サービスを指定する文字列（例えば、service1）を含み、サービス選択画面の選択項目にリンクとして関連付けられている。そして、ＰＣ４００において、ユーザがサービス選択画面内の選択項目をクリックすると、ＰＣ４００は、当該選択項目にリンクとして関連付けられている指定ＵＲＬ５２０を含む登録開始要求を中継装置２００へ送信する。
【００５７】
登録開始要求を受けた中継装置２００は、ＰＣ４００において選択されたサービス（すなわち中継装置２００が受信した指定ＵＲＬ５２０で指定されるサービス）を提供する外部サービス５００へ、リクエストトークン取得要求を送信する（Ｕ４０２）。これに対して、外部サービス５００は、リクエストトークンを中継装置２００へ送信する（Ｕ４０３）。なお、外部サービス５００の種類によっては、リクエストトークンの送受が不要の場合もある。次に、中継装置２００は、外部サービス５００が公開するログインページのＵＲＬへのリダイレクト指令を、登録開始要求元のＰＣ４００へ送信する（Ｕ４０４）。このリダイレクト指令は、中継装置２００が外部サービス５００から受信したリクエストトークン、および中継装置のcallbackURLを含む。図５（ｄ）は、中継装置のcallbackURL５３０の一例を示す図である。
【００５８】
図４に戻り説明する。リダイレクト指令を受けたＰＣ４００は、外部サービス５００のログインページのＵＲＬへ接続し、中継装置２００から受信したリクエストトークンを外部サービス５００へ送信する（Ｕ４０５）。外部サービス５００は、リクエストトークンの送信元のＰＣ４００へログインページを送信する（Ｕ４０６）。このログインページは、アカウント名およびパスワードの入力欄が設けられたＷｅｂページである。
【００５９】
ＰＣ４００に表示されたログインページにおいて、サービスについて登録済みのアカウント名およびパスワードが入力されると（Ｕ４０７）、ＰＣ４００は、アカウント名とパスワードとを外部サービス５００へ送信する（Ｕ４０８）。外部サービス５００は、それらアカウント名およびパスワードが、サービスについて予め発行されているアカウント名およびパスワードの組み合わせと一致するか否かをチェックし、一致すると判断される場合、認可確認ページをＰＣ４００へ送信する（Ｕ４０９）。この認可確認ページは、入力されたアカウント名での外部サービス５００の利用を、中継装置２００に許可するか否かを、ユーザに問い合わせるためのＷｅｂページである。
【００６０】
認可確認ページにおいて、中継装置２００による外部サービス５００の利用が、ＰＣ４００のユーザによって許可されると（Ｕ４１０）、ＰＣ４００は外部サービス５００へ許可通知（Ａｃｃｅｐｔ）を送信する（Ｕ４１１）。これにより、ＰＣ４００と外部サービス５００との間における認証手続きが完了し、外部サービス５００は、認証トークンを発行する（図３のＵ３０９）。
【００６１】
図６は、中継装置２００が実行する中継処理を示すフローチャートである。この中継処理は、ＣＰＵ２０１が通信プログラム２０４ａに従い実行するものであり、図３に示す認証トークン取得シーケンスを実現するための処理である。この処理は、中継装置２００の起動中、繰り返し実行される。
【００６２】
まず、サービス選択画面ＵＲＬの要求をＭＦＰ１００から受信した場合（Ｓ６０１：Ｙｅｓ）、ＣＰＵ２０１は、当該要求と共に送られてくるＭＦＰのcallbackURLを取得する（Ｓ６０２）。具体的には、図５（ａ）を参照して説明したように、サービス選択画面ＵＲＬの要求が宛先として含む指定ＵＲＬ５０１は、要求受付ＵＲＬ５０２を含む。よって、受信した指定ＵＲＬに要求受付ＵＲＬ５０２が含まれる場合、ＣＰＵ１０１はＳ６０２以降の処理を実行する。そして、指定ＵＲＬ５０１に含まれるクエリ文字列５０３内の「＝」以降の文字列をcallbackURL５０５として認識する。なお、callbackURL５０５は、ＵＲＬエンコードされているので、ＣＰＵ２０１はcallbackURL５０５として認識した文字列をデコードし、ＭＦＰのcallbackURLを取得する。そして、ＣＰＵ２０１は、ＭＦＰ識別子を生成し、ＭＦＰのcallbackURLに対応付けて、ＭＦＰ識別子テーブル２０４ｃに記憶させる（Ｓ６０３）。そして、ＣＰＵ２０１は、サービス選択画面ＵＲＬと、ＭＦＰ識別子とをＭＦＰ１００へ送信する。具体的には、ＭＦＰ識別子をパラメータとして示すクエリ文字列５１１をサービス選択画面ＵＲＬ５１０に付加したＵＲＬ（図５（ｂ）参照）を生成して、ＭＦＰ１００へ送信し（Ｓ６０４）、Ｓ６０１に戻る。
【００６３】
サービス選択画面ＵＲＬの要求がなく（Ｓ６０１：Ｎｏ）、ＰＣ４００からサービス選択画面ＵＲＬへの接続があった場合（Ｓ６０５：Ｙｅｓ）、具体的には、Ｓ６０４で送信したＵＲＬを宛先とする要求を受信した場合、ＣＰＵ２０１は、ＰＣ４００から受信したＵＲＬにクエリ文字列５１１として付加されたＭＦＰ識別子を取得する（Ｓ６０６）。次に、ＣＰＵ２０１は、そのＭＦＰ識別子をクッキーの値として設定し（Ｓ６０７）、サービス選択画面の画面データとクッキーとを、ＰＣ４００へ送信し（Ｓ６０８）、Ｓ６０１に戻る。
【００６４】
サービス選択画面ＵＲＬへの接続がなく（Ｓ６０５：Ｎｏ）、サービスの登録開始要求を受信した場合（Ｓ６０９：Ｙｅｓ）、具体的には、図５（ｃ）を参照して説明した指定ＵＲＬ５２０を宛先とする要求を受信した場合、ＣＰＵ２０１は、外部サービス５００へリクエストトークンを要求し（Ｓ６１０）、当該要求に応じて外部サービス５００から送信されてくるリクエストトークンを取得する（Ｓ６１１）。一例では、外部サービス５００はリクエストトークンを含んだＸＭＬテキストを中継装置２００へ送信する。ＣＰＵ２０１は、ＸＭＬテキストからリクエストトークンを読み出す。次に、ＣＰＵ２０１は、外部サービス５００が公開するログインページのＵＲＬへのリダイレクト指令を、登録開始要求元のＰＣ４００へ送信する（Ｓ６１２）。このリダイレクト指令は、リダイレクトの宛先としてログインページのＵＲＬを含む。当該ログインページのＵＲＬには、中継装置のcallbackURL５３０を示すクエリ文字列（図示せず）、及びＳ６１１で取得したリクエストトークンを示すクエリ文字列が付加されている。そして、ＣＰＵ２０１は、Ｓ６０１に戻る。
【００６５】
サービス登録開始要求がなく（Ｓ６０９：Ｎｏ）、ＰＣ４００から中継装置２００のcallbackURL５３０に接続があった場合（Ｓ６１３：Ｙｅｓ）、ＣＰＵ２０１はＰＣ４００から送られてくる認証トークンを取得する（Ｓ６１４）。具体的には、ＰＣ４００から受信したＨＴＴＰメッセージに含まれる中継装置２００のcallbackURL５３０に、クエリ文字列として付加された認証トークンを読み出す。そして、ＰＣ４００から受信したＨＴＴＰメッセージのヘッダに含まれるクッキーからＭＦＰ識別子を取得し、そのＭＦＰ識別子に対応するＭＦＰのcallbackURLを、ＭＦＰ識別子テーブル２０４ｃから抽出する（Ｓ６１５）。そして、そのcallbackURLを宛先として指定したリダイレクト指令と認証トークンとを、ＰＣ４００に送信する（Ｓ６１６）。なお、ＰＣ４００は、中継装置２００からリダイレクト指令を受信すると、リダイレクト指令に含まれるcallbackURLに対応するＭＦＰ１００へ認証トークンを送信する。そして、ＣＰＵ２０１は、Ｓ６０１に戻る。中継装置のcallbackURL５３０への接続がない場合（Ｓ６１３：Ｎｏ）、ＣＰＵ２０１は、その他の処理を実行し（Ｓ６１７）、Ｓ６０１に戻る。
【００６６】
図７は、ＭＦＰ１００のＣＰＵ１０１が実行するコマンド実行処理を示すフローチャートである。この処理は、ＭＦＰ１００の電源起動後、繰り返し実行されるものであり、図３に示す認証トークン取得シーケンスを実現するための処理である。
【００６７】
まず、ＰＣ４００からサービス選択画面ＵＲＬの要求があった場合（Ｓ７０１：Ｙｅｓ）、ＣＰＵ１０１は、サービス選択画面ＵＲＬの要求とＭＦＰのcallbackURLとを、中継装置２００へ送信する。具体的には、ＭＦＰ１００は、中継装置２００の要求受付ＵＲＬ５０２を予め記憶しており、この要求受付ＵＲＬ５０２の後ろに、エンコードしたＭＦＰのcallbackURLをパラメータとして含むクエリ文字列５０３を付加することにより、指定ＵＲＬ５０１を生成する。そして、その指定ＵＲＬ５０１（図５（ａ））を宛先として、サービス選択画面ＵＲＬの要求を送信する（Ｓ７０２）。次に、ＣＰＵ１０１は、中継装置２００から送られてくるサービス選択画面ＵＲＬと、そのサービス選択画面ＵＲＬに付加されたＭＦＰ識別子とを取得する（Ｓ７０３）。そして、ＣＰＵ１０１は、ＭＦＰ識別子が付加されたサービス選択画面ＵＲＬ（図５（ｂ）参照）を含むリダイレクト指令を、ＰＣ４００へ送信し（Ｓ７０４）、Ｓ７０１に戻る。
【００６８】
サービス選択画面ＵＲＬの要求がなく（Ｓ７０１：Ｎｏ）、ＭＦＰのcallbackURLへの接続があった場合（Ｓ７０５：Ｙｅｓ）、ＣＰＵ１０１は、ＰＣ４００から送られてくる認証トークンを取得し（Ｓ７０６）、それを認証トークンメモリ１０４ａに記憶させる（Ｓ７０７）。そして、ＣＰＵ１０１は、設定を完了したことを示す通知をＰＣ４００へ送信し（Ｓ７０８）、Ｓ７０１に戻る。
【００６９】
なお、ＭＦＰのcallbackURLへの接続がない場合（Ｓ７０５：Ｎｏ）、ＣＰＵ１０１は、その他の処理を実行する（Ｓ７０９）。例えば、取得した認証トークンを用いて、外部サービス５００を利用する処理を実行する。
【００７０】
第１実施形態によれば、ＭＦＰ１００がＷｅｂブラウザを備えていない場合であっても、ＭＦＰ１００に認証トークンを容易に取得させることができる。
【００７１】
図８を参照して、本発明の第２実施形態を説明する。なお、第２実施形態のサービス連携システム１０の電気的構成を示すブロック図は、第１実施形態と同様であるため、図示および説明を省略する。第２実施形態において第１実施形態と同一の構成については、同一の符号を付して説明を省略する。
【００７２】
図８は、認証トークン取得シーケンスを説明するシーケンス図であり、図３に対応する。図８に示す認証トークン取得シーケンスは、第１実施形態の図３に示すＵ３０２〜Ｕ３０７に替えて、Ｕ８０２〜Ｕ８０７を実行する点において第１実施形態と異なり、他の点については同一である。
【００７３】
上記第１実施形態では、ＭＦＰ１００は、サービス選択画面ＵＲＬを中継装置２００に要求するときに、ＭＦＰのcallbackURLを中継装置２００へ送信し（Ｕ３０２）、ＭＦＰ識別子が付加されたサービス選択画面ＵＲＬを受信した（Ｕ３０４）。これに対し、第２実施形態では、サービス選択画面ＵＲＬを要求するときには、ＭＦＰのcallbackURLを中継装置２００へ送信しない（Ｕ８０２）。また、ＭＦＰ１００が中継装置から受信するサービス選択画面ＵＲＬには、ＭＦＰの識別子が付加されない（Ｕ８０３）。
【００７４】
その代わりに、第２実施形態のＭＦＰ１００は、ＰＣ４００へ送信するサービス選択画面ＵＲＬにＭＦＰのcallbackURLを付加することにより、ＭＦＰのcallbackURLを出力する（Ｕ８０４）。具体的には、ＭＦＰ１００は、中継装置２００から受信したサービス選択画面ＵＲＬにクエリ文字列を付加し、エンコードしたＭＦＰのcallbackURLを当該クエリ文字列を含めてＰＣ４００へ送信する。一方、ＰＣ４００は、ＭＦＰ１００から受信したサービス選択画面ＵＲＬに接続してサービス選択画面を要求する際に、サービス選択画面ＵＲＬ（ＭＦＰのcallbackURLを示すクエリ文字列が付加されたサービス選択画面ＵＲＬ）を、中継装置２００へ送信する（Ｕ８０５）。
【００７５】
すなわち、第２実施形態によれば、中継装置２００は、ＰＣ４００からサービス選択画面ＵＲＬに基づく要求を受け取る際に、当該サービス選択画面ＵＲＬに付加されたＭＦＰのcallbackURLを取得する。そして、中継装置２００は、取得したＭＦＰのcallbackURLを、ＭＦＰ識別子テーブル２０４ｃに記憶させる。また、ＭＦＰ識別子を生成し、ＭＦＰのcallbackURLに対応付けてＭＦＰ識別子テーブル２０４ｃに記憶させる（Ｕ８０６）。
【００７６】
そして、中継装置２００は、サービス選択画面ＵＲＬに対応する画面データをＰＣ４００に対して送信するときにクッキーを設定し、ＰＣ４００が中継装置２００に対してデータを送信する際には、クッキーの値としてＭＦＰ識別子を送信するように、ＰＣ４００のＷｅｂブラウザ４００ａへ指示する（Ｕ８０７）。よって、その後、中継装置２００はＰＣ４００からＨＴＴＰメッセージを受信する毎に、ＭＦＰ識別子を受信し、これに基づいて、ＰＣ４００にＬＡＮ接続されたＭＦＰ１００のcallbackURLを取得する。
【００７７】
第２実施形態によれば、ＭＦＰ１００がＰＣ４００へ送信したＭＦＰのcallbackURLを、ＰＣ４００を介して、中継装置２００に取得させることができる。よって、中継装置２００は、ＭＦＰのcallbackURLを用いて、ＭＦＰ１００に認証トークンを取得させることができ、第１実施形態と同様の効果が得られる。
【００７８】
図９を参照して、本発明の第３実施形態を説明する。なお、第３実施形態のサービス連携システム１０の電気的構成を示すブロック図は、第１実施形態と同様であるため、図示および説明を省略する。第３実施形態において第１実施形態と同一の構成については、同一の符号を付して説明を省略する。
【００７９】
図９は、認証トークン取得シーケンスを説明するシーケンス図であり、図３に対応する。図９に示す認証トークン取得シーケンスは、第１実施形態の図３に示すＵ３１１〜Ｕ３１２に替えて、Ｕ９００〜Ｕ９０４を実行する点において第１実施形態と異なり、他の点については同一である。
【００８０】
上記第１実施形態では、中継装置２００はＰＣ４００から受信した認証トークンを、ＰＣ４００を介してＭＦＰ１００に取得させていた（図３のＵ３１０〜Ｕ３１２）。これに対し、第３実施形態では、中継装置２００はＰＣ４００から認証トークンを受信すると（Ｕ３１０）、受信した認証トークンをＨＤＤ２０４（図１）に記憶させる。また、当該認証トークンに対応する情報（以下、認証トークン対応情報）を生成し、認証トークンに対応付けてＨＤＤ２０４に記憶させる（Ｕ９００）。そして、ＭＦＰのcallbackURLをリダイレクト先として指定したリダイレクト指令を、認証トークン対応情報と共に、ＰＣ４００に送信する。具体的には、リダイレクト先として指定したＭＦＰのcallbackURLにクエリ文字列を付加し、当該クエリ文字列に認証トークン対応情報を含めて送信する。これにより、ＰＣ４００からＭＦＰ１００へ認証トークン対応情報を送信するように、中継装置２００からＰＣ４００へ指示できる（Ｕ９０１）。
【００８１】
一方、ＰＣ４００はリダイレクト指令に基づいて、ＬＡＮ接続されたＭＦＰのcallbackURLに接続し、認証トークン対応情報を送信する（Ｕ９０２）。具体的には、認証トークン対応情報を含むクエリが付加されたＭＦＰのcallbackURLを送信する。一方、ＭＦＰ１００は、クエリ文字列から認証トークン対応情報を取得し、フラッシュメモリ１０４に記憶する。そして、設定を完了したことを示す通知を、ＰＣ４００へ送信する（Ｕ３１３）。
【００８２】
そして、ＭＦＰ１００から外部サービス５００へアクセスする場合、その前準備として、ＭＦＰ１００は認証トークン対応情報を中継装置２００へ送信し、認証トークンを要求する（Ｕ９０３）。一方、中継装置２００は、ＭＦＰ１００から認証トークン対応情報を受信すると、当該認証トークン対応情報に対応付けて記憶している認証トークンを読み出し、ＭＦＰ１００へ送信する（Ｕ９０４）。ＭＦＰ１００は、中継装置２００から受信した認証トークンを用いて、外部サービス５００へアクセスできる。
【００８３】
第３実施形態によれば、ＭＦＰ１００に認証トークンを取得させることができ、第１実施形態と同様の効果が得られる。また、ＭＦＰ１００は認証トークンの代わりに、認証トークン対応情報を記憶していれば良い。よって、例えば、外部サービス５００から発行される認証トークンのデータサイズが、ＭＦＰ１００に設けられた認証トークンメモリ１０４ａの容量以上である場合、中継装置２００は、認証トークンよりもデータサイズが小さい認証トークン対応情報を生成し、これをＭＦＰ１００に取得させても良い。
【００８４】
上記実施形態において、サービス連携システム１０が通信システムの一例であり、ＭＦＰ１００が通信装置の一例であり、ＰＣ４００がブラウザ搭載装置の一例である。Ｗｅｂブラウザ４００ａがブラウザ部の一例である。インターネット６００がネットワークの一例である。ＭＦＰ１００のＬＡＮＩ／Ｆ１０５が接続部、第１送信手段、出力手段の一例である。中継装置２００のインターネットＩ／Ｆ２０５が第１受信手段、第２送信手段の一例である。サービス選択画面ＵＲＬがデータ所在情報の一例である。ＭＦＰのcallbackURLが通信装置所在情報の一例である。ＭＦＰ識別子が対応情報の一例である。Ｓ６０２を実行するＣＰＵ２０１が第１取得手段の一例である。Ｓ６０８を実行するＣＰＵ２０１が第１指示手段の一例である。Ｓ６１５を実行するＣＰＵ２０１が第２取得手段の一例である。Ｓ６１６を実行するＣＰＵ２０１が第２指示手段の一例である。Ｓ７０３を実行するＣＰＵ１０１がデータ所在情報取得手段の一例である。Ｓ７０２を実行するＣＰＵ１０１がデータ所在情報要求手段の一例である。Ｓ６０３を実行するＣＰＵ２０１が第２記憶制御手段、第２対応情報生成手段の一例である。Ｓ６０４を実行するＣＰＵ２０１がデータ所在情報送信手段の一例である。第２実施形態において、Ｕ８０６を実行するＣＰＵ２０１が第１記憶制御手段、第１対応情報生成手段の一例である。
【００８５】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【００８６】
例えば、上記実施形態では、ＭＦＰ１００が通信装置の一例であったが、携帯電話機、デジタルカメラなど、各種装置が通信装置の一例となり得る。また、中継装置は、複数の物理的な装置が協働して一つのサーバとして機能するヴァーチャルマシン（例えば、Ａｍａｚｏｎ（登録商標）のＥＣ２）であっても良く、周知のレンタルサーバであっても良い。
【００８７】
上記実施形態では、ＭＦＰのcallbackURLに対応するＭＦＰ識別子を生成し、それをクッキーの値として、ＰＣ４００から中継装置２００に対して送信するよう、中継装置２００がＰＣ４００へ指示した。しかしながら、ＭＦＰのcallbackURLそのものをクッキーの値として設定するように、上記実施形態を変形しても良い。
【００８８】
例えば、図３に示す第１実施形態においては、中継装置２００がＭＦＰ１００からＭＦＰのcallbackURLを受信した場合（Ｕ３０２）、中継装置２００は、ＭＦＰのcallbackURLを記憶せず（すなわちＵ３０３を実行せずに）、ＭＦＰ１００に送信するサービス選択画面ＵＲＬに、クエリ文字列のパラメータとしてＭＦＰのcallbackURLを付加する。そして、そのサービス選択画面ＵＲＬが、ＭＦＰ１００を介してＰＣ４００へ送信され（Ｕ３０５）、次に、ＰＣ４００から中継装置２００へ送信された場合（Ｕ３０６）、中継装置２００は、サービス選択画面ＵＲＬからＭＦＰのcallbackURLを取得し、それをクッキーの値として設定し、ＰＣ４００へ送信すれば良い（Ｕ３０７）。
【００８９】
図７に示す第２実施形態においても同様に、中継装置２００は、ＭＦＰのcallbackURLを記憶せずに（すなわち、Ｕ８０６を実行せずに）、サービス選択画面ＵＲＬからＭＦＰのcallbackURLを取得し、それをクッキーの値として設定すれば良い（Ｕ８０７）。
【００９０】
この変形例によれば、ＭＦＰのcallbackURLは、クッキーの値として、ＰＣ４００に記憶され、且つ、ＰＣ４００から中継装置２００へＨＴＴＰメッセージが送信される毎に、ＭＦＰのcallbackURLも送信される。よって、ＭＦＰ識別子テーブル２０４ｃを中継装置２００に設けなくても良く、またＭＦＰ識別子を生成する必要がないので、中継装置２００の負荷をできる。その結果、中継装置２００の運用費用または設備投資費を抑えることができる。
【００９１】
上記実施形態では、通信装置の一例であるＭＦＰ１００にはＷｅｂブラウザが搭載されていないものとして説明したが、本発明は、Ｗｅｂブラウザを搭載する通信装置についても、本発明を適用可能である。
【００９２】
なお、「中継装置に対してデータを送信する際には、ブラウザ搭載装置に接続された通信装置の通信装置所在情報であって第１取得手段により取得された前記通信装置所在情報または当該通信装置所在情報に対応する対応情報を、前記中継装置に対して出力するように、前記ブラウザ搭載装置へ指示する」ことの一例として、上記実施形態では、ＭＦＰ識別子をクッキーの値として設定してＰＣ４００へ送信する例を説明した。このようにすれば、ブラウザ搭載装置から中継装置へ送信されるＨＴＴＰメッセージに、ＭＦＰ識別子を含め、ブラウザ搭載装置から中継装置へ送信させることができる。これに代えて、例えば、中継装置のcallbackURL５３０に、通信装置所在情報または対応情報をクエリ文字列のパラメータとして付加することにより、これらの値をブラウザ搭載装置から中継装置に対して送信するように指示しても良い。また、中継装置からブラウザ搭載装置へ送信するＨＴＭＬにこれらの情報を埋め込むことにより、これらの値をブラウザ搭載装置から中継装置に対して送信するように指示しても良い。
【００９３】
上記実施形態では、ＭＦＰのcallbackURLや認証トークン対応情報を、ＵＲＬに付加したクエリ文字列に含めて送信していた。しかしながら、これらの情報をＨＴＭＬに埋め込むなど、別の手段によりパケットに含めて、通信装置から出力するように、上記実施形態を変形しても良い。
【００９４】
上記実施形態では、通信装置所在情報の一例として、ＭＦＰのcallbackURLを例示したが、例えばＩＰアドレスであっても良い。その場合、中継装置２００は、Ｕ３０２及びＵ８０５で取得したＩＰアドレスに、予め記憶されている文字列を付加してＭＦＰ１００のcallbackURLを得る処理が必要となる。
【００９５】
また、上記第３実施形態において、中継装置２００は、ＰＣ４００から受信した認証トークンと認証トークンに対応する認証トークン対応情報とを対応付けて記憶し、ＭＦＰ１００から認証トークン対応情報を受信した場合に、当該認証トークン対応情報と対応付けて記憶している認証トークンをＭＦＰ１００へ送信するものとして説明した。これに代えて、中継装置２００は、ＰＣ４００から認証トークンを受信した場合、当該認証トークンを予め定められている規則に従い、認証トークン対応情報を生成し、これをＭＦＰ１００に送信しても良い。そして、ＭＦＰ１００から認証トークン対応情報を受信した場合、中継装置２００は、規則に従い、認証トークンを生成し、ＭＦＰ１００へ送信しても良い。
【符号の説明】
【００９６】
１０            サービス連携システム
１００          ＭＦＰ
２００          中継装置
２０４ｃ        ＭＦＰ識別子テーブル
４００          ＰＣ
５００          外部サービス
６００          インターネット
【図１】
0005673453.tif 000002
【図２】
0005673453.tif 000003
【図３】
0005673453.tif 000004
【図４】
0005673453.tif 000005
【図５】
0005673453.tif 000006
【図６】
0005673453.tif 000007
【図７】
0005673453.tif 000008
【図８】
0005673453.tif 000009
【図９】
0005673453.tif 000010