説明

通信システム、中継装置、通信装置、中継方法、および通信方法

【課題】Webブラウザを備えていない通信装置であっても、サービス提供装置が発行する許可情報を通信装置に取得させることができる中継装置、中継方法、通信装置、通信システム、および通信方法を提供すること。
【解決手段】サービス提供装置500とPCとの間において認証手続きが行われると、中継装置200からPCへ仮登録IDが送信されるので、ユーザは、PCによって仮登録IDを知ることができる。そして、その仮登録IDがMFP100に入力されると、MFP100から中継装置200へ、仮登録IDが送信され、中継装置200からMFP100へは、認証手続きに基づいてサービス提供装置500により発行されるアクセストークンが送信される。よって、MFP100がWebブラウザを備えていなくても、サービス提供装置500によって発行されるアクセストークンを、MFP100に取得させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム、中継装置、通信装置、中継方法、および通信方法に関する。
【背景技術】
【0002】
特許文献1には、読み取った画像の電子ファイルをサーバへアップロードする画像読取装置が開示されている。また、サーバからダウンロードした電子ファイルを印刷するプリンタが知られている。これらのサービスを提供するために、画像読取装置またはプリンタのメーカは、専用のサーバを独自に設置する場合がある。
【0003】
一方で、サービス事業者が用意したネットワーク上のデータベースに電子ファイルを格納できるWebサービスが普及している。たとえば、Picasa(登録商標)ウェブアルバムおよび、flickr(登録商標)がその一例である。利用者は、Webブラウザを備えた通信装置を利用して、Webサービスのサービス提供装置に対して所望の電子ファイルをアップロードしたり、電子ファイルをダウンロードしたりできる。
【0004】
したがって、画像読取装置またはプリンタのメーカは、専用のサーバを設ける代わりに、これらの装置からWebサービスを直接利用できるよう、画像読取装置またはプリンタを構成する場合がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−269250号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のようなWebサービスを利用するためには、サービスの利用に先立ち、画像読取装置またはプリンタが、Webサービスのサービス提供装置との間で認証を行い、Webサービスのサービス提供装置からアクセス許可を受ける必要がある。しかしながら、Webサービスのサービス提供装置との認証は、Webブラウザを利用して行われることが一般的であり、Webブラウザを搭載しない装置では、アクセス許可を受けることが困難であるという問題点がある。
【0007】
本発明は、上述した問題点を解決するためになされたものであり、Webブラウザを備えていない通信装置であっても、サービス提供装置が発行する許可情報を通信装置に取得させることができる通信システム、中継装置、通信装置、中継方法、および通信方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
この目的を達成するために、本発明の一態様である中継装置は、サービスを提供するサービス提供装置、およびそのサービス提供装置が提供する情報を処理するためのブラウザを備えたブラウザ搭載装置がそれぞれ接続されるネットワークを介して、通信装置と接続される中継装置であって、前記サービス提供装置が提供する前記サービスを前記中継装置が利用するために前記サービス提供装置と前記ブラウザ搭載装置との間において行われる認証手続きについて、仮登録情報を前記中継装置の登録部に登録する登録手段と、前記サービス提供装置と前記ブラウザ搭載装置との間において行われる前記認証手続きについて、前記サービス提供装置が発行する許可情報であって、前記サービスの利用が許可されることを示す前記許可情報を取得する許可情報取得手段と、前記登録手段により登録される前記仮登録情報を、前記中継装置から前記ブラウザ搭載装置へ送信する仮登録情報通信手段と、前記ブラウザ搭載装置が出力した前記仮登録情報に応じた入力情報であって、前記通信装置において受け付けられた入力情報を、前記通信装置から受信する入力情報受信手段と、前記入力情報受信手段により前記通信装置から前記入力情報を受信した場合、前記入力情報と一致する前記仮登録情報が登録された前記認証手続きについて、前記許可情報取得手段により取得された前記許可情報を、前記中継装置から前記入力情報の送信元である前記通信装置へ送信する許可情報通信手段とを備える。
【0009】
なお、本発明は、通信システム、通信方法、通信装置、中継方法、中継装置を制御する制御装置、通信プログラム、該通信プログラムを記録する記録媒体、中継プログラム、該中継プログラムを記録する記録媒体等の種々の態様で実現可能である。
【発明の効果】
【0010】
本発明によれば、サービス提供装置とブラウザ搭載装置との間において認証手続きが行われると、中継装置からブラウザ搭載装置へ仮登録情報が送信される。そして、その仮登録情報が通信装置に入力されると、通信装置から中継装置へは、仮登録情報が送信され、中継装置から通信装置へは、その認証手続きについて発行される許可情報が送信される。よって、通信装置がWebブラウザを備えていなくても、サービス提供装置によって発行される許可情報を、通信装置に取得させることができるという効果がある。
【図面の簡単な説明】
【0011】
【図1】本発明の通信システムの一実施形態であるサービス連携システムの電気的構成を概略的に示すブロック図である。
【図2】(a)は、登録情報DBの構成の一例を示す図であり、(b)は、仮登録情報DBの構成の一例を示す図である。
【図3】PCと中継装置とサービス提供装置との間における情報の流れを説明するシーケンス図である。
【図4】MFPと中継装置とサービス提供装置との間における情報の流れを説明するシーケンス図である。
【図5】MFPにおける画面遷移を説明する図である。
【図6】MFPがアクセストークンを取得した後における、MFPと中継装置とサービス提供装置との間における情報の流れを説明するシーケンス図である。
【図7】中継装置において実行される中継処理を示すフローチャートである。
【図8】MFPにおいて実行されるコマンド実行処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の通信システムの一実施形態であるサービス連携システム10の電気的構成を概略的に示すブロック図である。サービス連携システム10は、多機能装置100(以下、MFP100)と、中継装置200とを含む。MFP100は、印刷機能、スキャナ機能、FAX機能、およびコピー機能を備えるデジタル複合機である。中継装置200は、MFP100のメーカによって設置されるサーバである。PC400は、MFP100のユーザが所有するパーソナルコンピュータである。サービス提供装置500は、サービス事業者によって設置されたWebサーバである。
【0013】
サービス提供装置500へアクセスし、サービス事業者が提供するAPIを利用するためには、サービス提供装置500が発行するアクセストークンを取得する必要がある。本実施形態のサービス連携システム10は、Webブラウザを備えないMFP100であっても、アクセストークンを取得できるように構成されている。以下、詳細を説明する。
【0014】
MFP100と、中継装置200と、PC400と、サービス提供装置500とは、ネットワーク600を介して接続され、互いにHTTPに従って、データの送受信を行う。ネットワーク600は、例えば、インターネット網で構成される。また、本実施形態において、ネットワーク600には、互いに異なるサービス(サービスA,サービスB)を提供する複数台のサービス提供装置500が存在しているものとする。サービスAを提供する装置をサービス提供装置500Aと称し、サービスBを提供する装置をサービス提供装置500Bと称する。
【0015】
MFP100は、CPU101、ROM102、RAM103、フラッシュメモリ104、インターネットインターフェイス(I/F)105、プリンタ106、スキャナ107、入力部108、液晶表示装置(LCD)109を主に有し、これらはバスライン110を介して互いに接続されている。
【0016】
CPU101は、ROM102に記憶されているプログラムに従って処理を実行する。ROM102は、MFP100の動作を制御するプログラムなどを格納するメモリであり、通信プログラム102aを格納する。通信プログラム102aは、HTTPに従ったデータの送受信を行うプログラムであり、XMLを解釈するXMLパーサとしての機能を有するが、HTMLを解釈するHTMLパーサとしての機能は有さない。したがって、MFP100は、HTMLで記述される情報を解釈できず、サービス提供装置500が提供するWebページを表示できない。
【0017】
RAM103は、CPU101の処理に必要な情報を一時的に記憶する。フラッシュメモリ104は、不揮発性のメモリであり、登録情報データベース(DB)104aを記憶する。登録情報DB104aについては、図2(a)を参照して後述する。インターネットI/F105は、ネットワーク600を介して他の装置と通信を行うための装置であり、インターネットI/F105として周知のネットワークカードを採用できる。プリンタ106は、画像の印刷を行う装置であり、スキャナ107は、画像を読み取る装置である。入力部108は、MFP100に指示または情報を入力するための操作キーおよびタッチパネルで構成される。LCD109は、各種情報を表示する。LCD109の表示面にはタッチパネルが重ねて配置されている。
【0018】
中継装置200は、CPU201、ROM202、RAM203、ハードディスクドライブ(HDD)204、インターネットインターフェイス(I/F)207を主に有し、これらはバスライン210を介して互いに接続されている。
【0019】
CPU201は、ROM202またはHDD204に記憶されるプログラムに従って処理を実行する。ROM202は、中継装置200の動作を制御するプログラムなどを格納する。RAM203は、CPU201の処理に必要なデータを一時的に記憶する。
【0020】
HDD204は、書換え可能な不揮発性の記憶装置である。通信プログラム204a、サービスA用通信プログラム204b、サービスB用通信プログラム204c、および、仮登録情報データベース204d(仮登録情報DB204d)が、HDD204の所定のメモリエリアに記憶される。また、HDD204は、アクセストークンメモリ204eを備える。通信プログラム204aは、HTTPに従ったデータの送受信を行うためのプログラムであり、XMLを解釈するXMLパーサとしての機能を有する。MFP100と中継装置200との間の通信には、XMLが用いられる。サービスA用通信プログラム204b、およびサービスB用通信プログラム204cは、それぞれ、サービス提供装置500A,500Bと中継装置200との間で通信を行うためのプログラムである。サービスA用通信プログラム204bに従って、サービスAのサービス事業者が提供するAPIを利用したHTTPメッセージが作成され、サービスB用通信プログラム204cに従って、サービスBのサービス事業者が提供するAPIを利用したHTTPメッセージが作成される。
【0021】
仮登録情報DB204dについては、図2(b)を参照して後述する。アクセストークンメモリ204eは、中継装置200がサービス提供装置500から受信したアクセストークンを記憶するメモリである。インターネットI/F207は、中継装置200がネットワーク600に接続された他の装置と通信を行うための機器である。
【0022】
PC400は、CPU401、ROM402、RAM403、ハードディスクドライブ(HDD)404、インターネットインターフェイス(I/F)405、入力部406、LCD407などを備え、これらはバスライン410により互いに接続されている。また、HDD404にはWebブラウザ404aが設けられ記憶され、サービス提供装置500など、各種のWebサーバが提供するWebページは、Webブラウザ404aによりLCD407に表示可能である。
【0023】
図2(a)は、MFP100に設けられる登録情報DB104aの構成の一例を模式的に示す図である。図2(a)に示すように、登録情報DB104aを構成する各情報は、サービスIDと、アカウント名と、パスワードと、アクセストークンとを含む。サービスIDと、アカウント名と、パスワードと、アクセストークンとは、対応付けられた関係で記憶される。サービスIDは、MFP100がネットワークを介して利用可能なサービスを特定するための情報である。サービスIDに対応付けられたアカウント名は、サービスIDで特定されるサービスにログインする権利を有するユーザの識別情報である。パスワードは、サービスIDで特定されるサービスへログインする際に、アカウント名とセットで用いられる文字列である。アクセストークンは、サービスIDで特定されるサービスのサービス提供装置から発行される9桁以上の文字列であり、当該サービスの利用が許可されることを示すための情報である。登録情報DB104aの各種情報は、図4に示すU415において設定される。詳細については、図4を参照して後述する。
【0024】
MFP100は、サービス提供装置500と通信する際、または、中継装置200とサービス提供装置500との間において通信を実行するよう、MFP100から中継装置200に要求する際に、このアクセストークンに基づいて作成された後述の署名情報を利用する。MFP100がアクセストークンに基づいて作成された署名情報を利用する方法については、図6を参照して後述する。また、MFP100がアクセストークンを取得する方法については、図4を参照して後述する。
【0025】
図2(b)は、中継装置200に設けられる仮登録情報DB204dの構成の一例を模式的に示す図である。図2(b)に示すように、仮登録情報DB204dを構成する各情報は、仮登録IDと、認証トークンと、サービスIDとを含む。仮登録IDと、認証トークンと、サービスIDとは、対応付けられた関係で記憶される。
【0026】
仮登録IDは、中継装置200において生成される8桁の乱数である。一方、認証トークンは、例えば、数字とアルファベットとを用いた9桁以上の文字列であり、サービス提供装置500が発行する情報である。図2(b)に示すように、1つの仮登録IDに対しては、1つの認証トークンが対応づけられる。また、認証トークンを発行したサービス提供装置が提供するサービスを特定するため、認証トークンは、当該認証トークンを発行したサービス提供装置が提供するサービスのサービスIDに対応付けられて記憶される。
【0027】
図3は、PC400と、中継装置200と、サービス提供装置500との間における情報の流れを説明するシーケンス図である。なお、この処理の開始前に、PC400は、ユーザの入力操作に従って、ユーザを識別するためのアカウント名とパスワードとをサービス提供装置500に対して登録する処理を行っており、サービス提供装置500には、登録されたアカウント名とパスワードとが対応付けて記憶されている。
【0028】
PC400は、ユーザの入力操作に従って認証手続きを行う。認証手続きとは、中継装置200が、サービス事業者によって提供されるAPIを利用してサービス提供装置500にアクセスし、サービス提供装置500が提供するサービスを利用することを許可するための手続きである。具体的に、認証手続きとは、ユーザ自身のアカウント名によってサービス提供装置500が管理するリソースを、中継装置200が利用することを許可するための手続きである。なお、図3に示すU301からU315までのユーザ操作および通信処理において、PC400とサービス提供装置500との間で行われる認証手続きは、APIの利用を認可するプロトコルの一例であるOAuthに従った手順で行われる。
【0029】
まず、PC400は、サービス選択画面の表示を指示するためのユーザの入力操作を受け付ける。そして、PC400は、サービス選択画面を中継装置200に要求する(U301)。中継装置200は、Webページで構成されるサービス選択画面を、PC400へ送信する(U302)。PC400は、Webブラウザ404aの機能により、受信したサービス選択画面をLCD407に表示する。このサービス選択画面は、ネットワークを通して提供されるサービスの中からいずれかを、ユーザに選択させるための画面であり、HTMLデータで構成される。
【0030】
次に、PC400は、サービス選択画面に選択項目として表示されるサービスのうち、ユーザによって選択されたサービスへの仮登録要求を、中継装置200へ送信する(U303)。なお、ここでは説明を分かりやすくするために、1つのサービスがユーザによって選択されたものとする。仮登録要求を受けた中継装置200は、選択されたサービスを提供するサービス提供装置500へ、リクエストトークン取得要求と、中継装置200のURLとを送信する(U304)。中継装置200のURLは、中継装置200のHDD204に記憶されている。これに対して、サービス提供装置500は、リクエストトークンを発行し、そのリクエストトークンと、中継装置200から受信した中継装置200のURLとを対応付けて記憶する。そして、サービス提供装置500は、発行したリクエストトークンを、中継装置200へ送信する(U305)。
【0031】
次に、中継装置200は、サービス提供装置500のサービス事業者が提供するログインページへのリダイレクト指令を、仮登録要求元のPC400へ送信する(U306)。このリダイレクト指令は、中継装置200がサービス提供装置500から受信したリクエストトークンを含む。
【0032】
リダイレクト指令を受けたPC400は、サービス提供装置500のログインページへアクセスし、中継装置200から受信したリクエストトークンをサービス提供装置500へ送信する(U307)。サービス提供装置500は、リクエストトークンの送信元のPC400へ、ログインページを送信する(U308)。このログインページは、アカウント名およびパスワードの入力欄が設けられたWebページである。
【0033】
PC400に表示されたログインページにおいて、ユーザが、サービス提供装置500に対して登録されているアカウント名およびパスワードを入力すると(U309)、PC400は、アカウント名とパスワードとをサービス提供装置500へ送信する(U310)。サービス提供装置500は、それらアカウント名およびパスワードが、サービス提供装置500に記憶されているアカウント名およびパスワードの組み合わせと一致するか否かをチェックし、一致すると判断される場合、許可確認ページをPC400へ送信する(U311)。この許可確認ページは、入力されたアカウント名でサービス提供装置500が管理するリソースの利用を、中継装置200に許可するか否かを、ユーザに問い合わせるためのWebページである。一方、入力されたアカウント名およびパスワードが、サービス提供装置500に記憶されているアカウント名およびパスワードの組み合わせと一致しないと判断される場合、サービス提供装置500は、一致するまでアカウント名およびパスワードの入力を要求する。
【0034】
許可確認ページにおいて、中継装置200によるサービス提供装置500の利用がユーザによって受諾されると(U312)、PC400はサービス提供装置500へ受諾通知を送信する(U313)。これにより、PC400とサービス提供装置500との間における認証手続きが完了する。すなわち、中継装置200がサービス提供装置500にアクセスし、且つ、サービス提供装置500が提供するサービスを利用することが許可される。具体的には、中継装置200がサービス提供装置500に記憶されているデータのうち、U309で入力されたアカウント名およびパスワードで特定されるユーザのデータにアクセスすることが許可される。なお、U308、U310〜U311、および、U313において、PC400またはサービス提供装置500は、ログインページなどの各種情報と一緒に、U305で発行されたリクエストトークンを送信する。これにより、PC400とサービス提供装置500との間で、中継装置200のURLと対応付けてサービス提供装置500に記憶されているリクエストトークンが送受されるため、サービス提供装置500は、認証手続きによりサービス提供装置500へのアクセスが許可される中継装置200を特定することができる。
【0035】
一方、許可確認ページにおいて、中継装置200によるサービス提供装置500の利用がユーザによって拒絶されると(U312)、PC400はサービス提供装置500へ拒絶通知を送信する。これにより、PC400とサービス提供装置500との間における認証手続きが中断される。
【0036】
次に、サービス提供装置500は、中継装置200へのリダイレクト指令を、PC40
0に送信する(U314)。このリダイレクト指令には、サービス提供装置500によって発行される認証トークンと中継装置200のURLとが含まれる。この認証トークンは、サービス提供装置500とPC400との間において認証手続きが行われたことを示す情報である。サービス提供装置500は、中継装置200のURLと認証トークンとを対応付けて記憶する。
【0037】
PC400は、サービス提供装置500からのリダイレクト指令を受けて、中継装置200へアクセスし、仮登録ID発行要求を中継装置200へ送信する(U315)。リダイレクト指令には、中継装置200のURLが含まれるため、PC400は、認証手続きによりサービス提供装置500へのアクセスが許可された中継装置200を特定することができる。この仮登録ID発行要求には、PC400がサービス提供装置500から受信した認証トークンが含まれる。
【0038】
中継装置200は、PC400から認証トークンを受信することにより、PC400とサービス提供装置500との間において、認証手続きが行われたことを判断できる。そして、中継装置200は、仮登録IDを生成し(U316)、PC400から受信した認証トークンと、認証トークンを発行したサービス提供装置が提供するサービスのサービスIDとに対応付けて、仮登録IDを仮登録情報DB204dに含まれる情報として登録する(U317)。
【0039】
そして、中継装置200は、仮登録情報DB204dに登録した仮登録IDを、PC400へ送信する(U318)。一方、PC400は、受信した仮登録IDを、Webブラウザ404aによりLCD407に表示出力し、ユーザに知らせる(U319)。ユーザは、この仮登録IDを用いて、MFP100において、アクセストークンの登録に必要な作業(図4参照)を行う。
【0040】
図4は、MFP100と、中継装置200と、サービス提供装置500との間における情報の流れを説明するシーケンス図であり、仮登録IDがPC400のLCD407において表示された後の処理の流れを説明する図である。まず、ユーザは、アカウント登録指示をMFP100に入力する(U401)。
【0041】
アカウント登録指示がユーザにより入力されると、MFP100は、中継装置200に対して、仮登録ID入力画面を要求する(U402)。中継装置200は、仮登録ID入力画面を、MFP100に描画させるためのUI表示データを作成し、画面表示を指示するコマンドと共にUI表示データをMFP100に送信する(U403)。本実施形態において、UI表示データとは、XMLに従ったMFP100のメーカ独自のデータフォーマットで構成されたデータである。
【0042】
図5は、MFP100のLCD109における画面遷移を説明する図である。ユーザの入力操作により、ユーザにより選択されたサービスをMFP100から利用するための登録作業を開始する指示を受け付けると、MFP100は、図5に示す設定開始画面109aをLCD109に表示する。設定開始画面109aにおいて、OKキーを押下するユーザ操作が、アカウント登録指示(U401)に相当する。設定開始画面109aにおいてOKキーを押下するユーザ操作をMFP100が受け付けると、MFP100は、中継装置200へ仮登録ID入力画面を要求する(U402)。この仮登録ID入力画面要求には、ユーザにより選択されたサービスのサービスIDが含まれる。そして、MFP100は、中継装置200から受信したUI表示データに基づいて、仮登録ID入力画面109bを表示し、仮登録IDの入力を受け付ける。上述したように、PC400には、中継装置200から仮登録IDが通知されるから、ユーザは、PC400のLCD407に表示された仮登録IDを、例えばメモし、保持している。そして、ユーザは、そのメモなどを参照しながら、MFP100に表示された仮登録ID入力画面109bから、仮登録IDを入力できる。
【0043】
図4に戻り説明する。仮登録ID入力画面109bにおいて、ユーザが仮登録IDを入力すると(U404)、MFP100は、アカウント名入力画面要求を、中継装置200
へ送信する(U405)。このアカウント名入力画面要求には、仮登録ID入力画面10
9bにおいて受け付けた仮登録IDが含まれる。中継装置200は、MFP100から受信した仮登録IDが、仮登録ID入力画面要求に含まれるサービスIDと対応付けて仮登録情報DB204dに登録されている仮登録IDと一致するか否かを判断する。一致すると判断された場合、中継装置200は、アカウント名入力画面を描画させるためのUI表示データを作成し、画面表示を指示するコマンドと共にUI表示データをMFP100に送信する(U406)。MFP100から受信した仮登録IDが仮登録情報DB204dに登録されている仮登録IDと一致しないと判断された場合、中継装置200は、一致するまで仮登録IDの入力を要求する。
【0044】
図5を参照して説明する。MFP100は、中継装置200から受信するUI表示データに基づいて、アカウント名入力画面109cを表示し、アカウント名の入力を受付ける。ユーザは、MFP100に対して登録を所望するアカウント名を、アカウント名入力画面109cから入力する。
【0045】
図4に戻り説明する。アカウント名が入力されると(U407)、MFP100は、入力されたアカウント名を、中継装置200へ送信する(U408)。中継装置200は、アカウント名をMFP100から受信すると、パスワード入力画面を描画させるためのUI表示データを作成し、画面表示を指示するコマンドと共にUI表示データをMFP100に送信する(U409)。このコマンドを受信したMFP100は、図5に示すように、アカウント名入力画面109cをパスワード入力画面109eに遷移させ、パスワードの入力をユーザに促す。このパスワードは、ユーザが、U407で入力したアカウント名とともに、MFP100に対して登録を所望するパスワードである。
【0046】
図4に戻り説明する。パスワードが入力されると(U410)、MFP100は中継装置200に対して、アクセストークン取得要求を送信する(U411)。このアクセストークン取得要求は、MFP100において入力されたアカウント名とパスワードとを含む。なお、MFP100において入力されたアカウント名およびパスワードは、上述したサービス提供装置500に対して登録されたアカウント名およびパスワードと異なるものであって良い。アクセストークン取得要求を受信すると、中継装置200は、MFP100から受信した仮登録IDに対応付けられた認証トークンとサービスIDとを、仮登録情報DB204dから読み出し、そのサービスIDで特定されるサービス提供装置500へ、アクセストークン取得指令を送信する(U412)。中継装置200は、受信したアクセストークン取得要求に含まれるアカウント名とパスワードとをU405で受信した仮登録IDと対応付けてRAM203に記憶する。アクセストークン取得指令には、中継装置200が仮登録情報DB204dから読み出した認証トークンが含まれる。認証トークンを受信したサービス提供装置500は、この認証トークンが、アクセストークン取得指令の送信元装置である中継装置200のURLと対応付けて記憶されている認証トークンと一致するか否かを判断する。一致すると判断された場合には、サービス提供装置500は、認証トークンの送信元装置(この例では中継装置200)に対して、サービスの利用が許可されることを示すアクセストークンを発行する(U413)。
【0047】
一方、アクセストークン取得指令に含まれる認証トークンが、アクセストークン取得指令の送信元装置である中継装置200のURLと対応付けて記憶されている認証トークンと一致しないと判断された場合、サービス提供装置500は、認証トークンの送信元装置である中継装置200へエラー情報を送信する。エラー情報とは、サービス提供装置500がアクセストークン取得指令に基づいてアクセストークンを発行できない旨を示す情報である。
【0048】
中継装置200は、サービス提供装置500が発行するアクセストークンを取得すると、サービスID、アカウント名、パスワード、およびアクセストークンを対応付けて設定するようにMFP100に指令するための設定保存のコマンドを作成し、MFP100へ設定保存のコマンドを送信する(U414)。具体的には、設定保存のコマンドは、サービスID、アカウント名、パスワード、およびアクセストークンを対応付けて、登録情報DB104aに含めて記憶するようMFP100に指令するコマンドである。U414において、中継装置200は、設定保存のコマンドと一緒に、サービスID、アカウント名、パスワード、およびアクセストークンをMFP100へ送信する。中継装置200は、MFP100へ設定保存のコマンドを送信した後、U411においてRAM203に記憶されたアカウント名およびパスワードを削除する。また、中継装置200は、MFP100へ設定保存のコマンドを送信した後、アクセストークン取得指令に含まれる認証トークンと、この認証トークンと対応付けて仮登録情報DB204dに登録されている仮登録IDおよびサービスIDとを削除する。MFP100へ設定保存のコマンドが送信されることに応じて、パスワードおよび認証トークンなどのMFP100のユーザの個人情報が、多数のMFPからアクセス可能な中継装置200から削除されるため、個人情報の機密性を確保することができる。設定保存のコマンドを受けたMFP100は、サービスID、アカウント名、パスワード、およびアクセストークンを対応付けて、登録情報DB104aに含めて保存する(U415)。そして、MFP100は、登録完了画面を中継装置200に要求する(U416)。一方、中継装置200は、登録完了画面を表示させるためのUI表示データを作成し、画面表示のコマンドと共に、UI表示データをMFP100に送信する(U417)。
【0049】
図5に、登録完了画面109fの一例を示す。図5に示すように、登録完了画面109fにより、MFP100のユーザは、MFP100から所望のサービスを利用するための登録作業が完了したことを知る。
【0050】
サービス連携システム10によれば、サービス提供装置500とPC400との間において認証手続きが行われると、中継装置200からPC400へ仮登録IDが送信されるので、ユーザは、PC400によって仮登録IDを知ることができる。そして、その仮登録IDをユーザがMFP100に入力すると、MFP100から中継装置200へ、仮登録IDが送信され、中継装置200からMFP100へは、アクセストークンが送信される。よって、サービス連携システム10によれば、MFP100がWebブラウザを備えていなくても、サービス提供装置500によって発行されるアクセストークンを、MFP100に取得させることができる。
【0051】
また、ユーザは、ユーザの入力操作に従って、PC400に認証手続きを行わせ、その後、MFP100において仮登録IDを入力するという簡単な作業で、当該MFP100にアクセストークンを取得させることができる。また、サービス連携システム10によれば、例えば、プリンタドライバなどのMFP100を制御するためのドライバがPC400にインストールされていない環境下であっても、MFP100にアクセストークンを取得させることができる。
【0052】
また、中継装置200は、MFP100のメーカによって設置されるサーバであるため、中継装置200と通信するMFPの数は、サービス提供装置500が提供するAPIを利用する装置数に比べて少ない。すなわち、中継装置200が認証を許可する装置数は、サービス提供装置500が認証を許可する装置数に比べて少ないため、MFP100のメーカは、中継装置200が認証の可否を判断するための仮登録IDを、サービス提供装置500が認証の可否を判断するための認証トークンよりも情報量(桁数)を少なく構成することができる。よって、MFP100においてユーザが入力すべき仮登録IDは、認証トークンよりも情報量が少ないので、認証トークンを入力させる場合に比較して、ユーザの作業負担を軽減できる。
【0053】
図6は、MFP100がアクセストークンを取得した後における、MFP100と中継装置200とサービス提供装置500との間における情報の流れを説明するシーケンス図である。まず、ユーザがサービスおよびアカウント名を選択し、パスワードを入力する操作を受け付けると、MFP100は、入力されたパスワードが、選択されたサービスのサービスIDおよびアカウント名と対応付けて登録情報DB104aに登録されているパスワードと一致するか否かを判断する。一致すると判断された場合、MFP100から中継装置200に対して、サービス利用要求が送信される(U601)。このサービス利用要求には、ユーザにより選択されたサービスのサービスIDと、そのサービスIDに対応付けて登録情報DB104aに登録されているアカウント名、およびパスワードとが含まれる。入力されたパスワードが登録情報DB104aに登録されているパスワードと一致しないと判断された場合、MFP100は、一致するまでパスワードの入力を要求する。この例では、ユーザは、MFP100のスキャナ107より読み取った画像の電子ファイルをアップロードできるサービスを選択したものとして説明する。
【0054】
サービス利用要求を受けた中継装置200は、アクセストークン送信を指令するコマンドであるアクセストークン送信指令をMFP100に送信する(U602)。詳細は後述するが、中継装置200は、サービス提供装置500から受信したアクセストークンをMFP100へ送信した後、そのアクセストークンを保持しない。よって、中継装置200は、MFP100からの要求を受けてサービス提供装置500との間で通信を行う場合、必要なアクセストークンの送信をMFP100に指令する。なお、このアクセストークン送信指令には、中継装置200がMFP100から受信したサービスIDおよびアカウント名が含まれる。
【0055】
MFP100は、中継装置200から受信したサービスIDおよびMFP100で入力されたアカウント名に対応付けて、登録情報DB104aに登録されているアクセストークンを読み出し、中継装置200へ送信する(U603)。アクセストークンを受信した中継装置200は、アップロードを指示するコマンドをMFP100に送信する(U604)。
【0056】
次に、MFP100は、中継装置200に対して、アップロード先URL取得要求を送信する(U605)。アップロード先URL取得要求を受信した中継装置200は、ユーザにより選択されたサービスを提供するサービス提供装置500に対して、アップロード先URL要求を送信する(U606)。図6において図示は省略しているが、中継装置200は、MFP100から受信したアクセストークンと、自機が有する鍵情報とを用いて、署名情報を作成し、この署名情報と共に、アップロード先URL取得要求をサービス提供装置500へ送信する。なお、このアップロード先URL要求は、サービス事業者が提供するAPIを利用したHTTPメッセージであり、当該サービスに対応するプログラム(本実施形態の場合、サービスA用通信プログラム204bまたはサービスB用通信プログラム204cのいずれか)に従って作成される。
【0057】
一方、サービス提供装置500は、署名情報に基づいて中継装置200を認証すると、アップロード先URLを、中継装置200へ送信する(U607)。
【0058】
次に中継装置200は、サービス提供装置500に対して送信するアップロードメッセージのテンプレートを生成する(U608)。アップロードメッセージとは、ユーザにより選択されたサービスへのアップロード要求を行うためのメッセージである。なお、アップロードメッセージは、具体的にはHTTPのリクエスト・メッセージであるが、ヘッダに入れる情報の種類またはリクエストボディに入れる情報の種類、およびそれらの情報の数はサービス毎に異なる。中継装置200は、例えば、サービスA用通信プログラム204bまたはサービスB用通信プログラム204cのようなユーザにより選択されたサービスに対応するプログラムを利用して、それぞれのサービスに応じたテンプレートを生成する。
【0059】
次に、中継装置200は、サービス提供装置500から受信したアップロード先URLと、作成したテンプレート、およびサービス提供装置500から認証を受けた署名情報とを、MFP100に送信する(U609)。これらを受信したMFP100は、画像の読み取りを行い(U610)、読み取った画像の電子ファイルを作成する。そして、MFP100は、中継装置200から取得したテンプレートの所定の位置に、電子ファイルのバイナリデータを格納して、アップロードメッセージを作成する(U611)。
【0060】
アップロードメッセージを作成したMFP100は、ユーザにより選択されたサービスのサービス提供装置500に対してアップロードメッセージを送信する(U612)。なお、MFP100は、アップロードメッセージと共に、中継装置200から受信した署名情報を送信する。
【0061】
アップロードメッセージを受信したサービス提供装置500は、MFP100に対してアップロード結果を示すレスポンスメッセージを送信する(U613)。MFP100
は、解読要求を中継装置200へ送信し(U614)、中継装置200にレスポンスメッセージの解読を行わせる。解読要求を受信した中継装置200は、レスポンスメッセージの解読結果を作成し、MFP100に対して作成した解読結果を送信する(U615)。そして、MFP100は、受信した解読結果に含まれるアップロード結果をLCD109
に表示させる(U616)。
【0062】
このように、MFP100は、中継装置200から受信したアクセストークンを用いて、中継装置200に対して、サービス提供装置500との間の通信の実行を要求できる。また、MFP100は、中継装置200にアクセストークンを送信し、そのアクセストークンに基づいて中継装置200により作成された署名情報を用いて、サービス提供装置500と直接通信することもできる。
【0063】
また、MFP100は、Webブラウザ、または、サービスに対応するプログラム(例えば、サービスA用通信プログラム204b、サービスB用通信プログラム204c)を搭載せずとも、サービスを利用できる。よって、Webブラウザ、または、サービスに対応するプログラムを搭載する場合に比較して、MFP100は高い処理能力を必要とせず、MFP100の製造コストを抑制できる。
【0064】
さらに、アカウント名およびアクセストークンは、中継装置200ではなく、MFP100のフラッシュメモリ104に記憶されるので、中継装置200の負荷が軽減され、中継装置200の運用費用、又は、中継装置200の設備投資費を抑えることができる。すなわち、アカウント名およびアクセストークンが各MFP100に分散して記憶されるので、中継装置200を経由するMFP100が多数台存在していても、中継装置200のデータベースにアクセスが集中することを抑制できる。また、MFP100の台数の増加に伴い、中継装置200の負荷を分散するために、中継装置200を複数台設置する場合がある。この場合において、アカウント名およびアクセストークンを中継装置200側のデータベースに持たせ、複数台の中継装置200が一つのデータベースを利用すると、同時アクセスのための排他制御、または巨大なデータベースの保守管理などが必要となる。しかしながら、本実施形態によれば、アカウント名およびアクセストークンが各MFP100に記憶されるので、中継装置200を複数並べた負荷分散環境を容易に構築できる。また、中継装置200は、アカウント名など、ユーザの個人情報を一時的にしか保持しないので、中継装置200から個人情報が漏出するおそれが少ない。
【0065】
図7は、中継装置200のCPU201が実行する中継処理を示すフローチャートである。この中継処理は、MFP100とサービス提供装置500との間の通信を中継する処理であり、中継装置200の動作中に、繰り返し実行される。
【0066】
まず、CPU201は、アップロード先URL取得要求をMFP100から受信したか否かを判断する(S702)。アップロード先URL取得要求を受信したと判断した場合(S702:Yes)、CPU201は、サービス提供装置500にアップロード先URLを要求し、アップロード先URLを取得する(S704)。CPU201は、ユーザにより選択されたサービスに対応するアップロードメッセージのテンプレートを作成する(S706)。CPU201は、サービス提供装置500から受信したアップロード先URLと、テンプレートと、アップロード先URLの取得に用いた署名情報とをMFP100へ送信し(S708)、S702に戻る。
【0067】
アップロード先URL取得要求を受信しない場合(S702:No)、CPU201は、PC400からサービス仮登録要求を受信したか否かを判断する(S710)。サービス仮登録要求を受信したと判断される場合(S710:Yes)、CPU201は、サービス提供装置500へリクエストトークン取得要求を送信し、その要求に応じてサービス提供装置500が発行するリクエストトークンを取得する(S712)。CPU201は、サービスのログインページへのリダイレクト指令を、サービス仮登録要求元のPC400へ送信し(S714)、S702へ戻る。
【0068】
S710においてサービス仮登録要求を受信しないと判断した場合(S710:No)、CPU201は、PC400から仮登録ID発行要求を受信したか否かを判断する(S716)。上述したように、PC400とサービス提供装置500との間において、サービス提供装置500の利用に係る認証手続きが行われた場合、PC400から中継装置200に対して、仮登録ID発行要求が送信される。この仮登録ID発行要求には、サービス提供装置500が発行した認証トークンが含まれる。
【0069】
仮登録ID発行要求を受信したと判断される場合(S716:Yes)、サービス提供装置500とPC400との間において、認証手続きが行われたと判断できるので、CPU201は、仮登録IDを生成し(S718)、仮登録ID、サービスID、および認証トークンをセットとして、仮登録情報DB204dに登録する(S720)。そして、仮登録ID発行要求元のPC400へ、登録した仮登録IDを送信する(S722)。そして、CPU201は、S702へ戻る。
【0070】
S716において仮登録ID発行要求を受信しないと判断した場合(S716:No)、CPU201は、MFP100からアカウント名入力画面要求を受信したか否かを判断する(S724)。アカウント名入力画面要求を受信したと判断される場合(S724:Yes)、CPU201は、アカウント名入力画面要求に含まれる仮登録IDを取得する(S726)。CPU201は、取得した仮登録IDが、仮登録ID入力画面要求(図4に示すU402参照)に含まれるサービスIDと対応付けて仮登録情報DB204dに登録されている仮登録IDと一致するか否かを判断する(S727)。一致すると判断された場合(S727:YES)、CPU201は、アカウント名入力画面の表示を指示するコマンドとUI表示データとをMFP100に送信する(S728)。そして、CPU201は、S702に戻る。S726で取得した仮登録IDが仮登録情報DB204aに登録されている仮登録IDと一致しないと判断された場合(S727:NO)、CPU201は、S702に戻る。
【0071】
S724においてアカウント名入力画面要求を受信しないと判断した場合(S724:No)、CPU201は、MFP100からアクセストークン取得要求を受信したか否かを判断する(S730)。アクセストークン取得要求を受信したと判断される場合(S730:Yes)、CPU201は、MFP100から受信した仮登録IDに対応付けて、仮登録情報DB204dに登録されている認証トークンとサービスIDとを読み出す(S732)。CPU201は、取得したサービスIDで特定されるサービス提供装置500へ、認証トークンを送信する。その認証トークンをサービス提供装置500が受信した場合において、CPU201は、当該サービス提供装置500が発行するアクセストークンを取得し、アクセストークンメモリ204eに保存する(S734)。
【0072】
次に、CPU201は、サービスIDと、アカウント名と、パスワードと、アクセストークンとを対応付けて、MFP100の登録情報DB104aに記憶させることを指示する設定保存コマンドを作成して、MFP100に送信し、これらの情報をMFP100に保存させる(S736)。そして、CPU201は、MFP100へ送信したアクセストークンを、アクセストークンメモリ204eから削除する。また、このアクセストークンを取得するために用いた仮登録ID、認証トークン、およびサービスIDを仮登録情報DB204aから削除する(S738)。そして、CPU201は、S702へ戻る。
【0073】
S730において、アクセストークン取得要求を受信しないと判断された場合(S73
0:No)、CPU201は、その他の処理(例えば、MFP100からの要求に応じ
て、UI表示データをMFP100に送信する、MFP100からの解読要求に応じて解読結果をMFP100に送信する、MFP100からのサービス利用要求に応じて、MFP100へアクセストークン送信指令を送信するなど)を実行し(S740)、S702へ戻る。なお、中継装置200が実行するその他の処理(S740)のうち、主要な処理については、図3,図4,図6のシーケンス図を用いて詳細に説明したので、これ以上の説明は省略する。
【0074】
図7に示す中継処理によれば、MFP100にアクセストークンを取得させた後、中継装置200からは、アクセストークンが削除される。よって、中継装置200を経由してサービスを利用するMFP100が多数存在する場合であっても、HDD204が容量不足となることを抑制できる。また、アクセストークン取得後には不要となる仮登録IDおよび認証トークンも削除されるので、HDD204に不要な情報が蓄積することを抑制できる。なお、中継装置200は、サービス提供装置500またはMFP100が認証トークンまたはアクセストークンを取得した後、一定時間経過したら、自動的にこれらのトークンをHDD204から削除するように構成されても良い。このようにしても、不要な情報がHDD204に蓄積することを抑制できる。
【0075】
図8は、MFP100のCPU101が実行するコマンド実行処理を示すフローチャートである。この処理は、MFP100の電源投入後、繰り返し実行されるものであり、中継装置200から受信するコマンドに応じた処理を実行するためのものである。
【0076】
まず、CPU101は、中継装置200からコマンドを取得し(S802)、コマンドの種類を判断する(S804)。画面表示のコマンドであると判断される場合(S804:画面表示)、CPU101は、当該コマンドに含まれて中継装置200から送られてくるUI表示データを用いて、画面を表示し、ユーザの入力操作を待つ(S806)。そして、CPU101は、ユーザの入力内容を中継装置200に送信し、次のコマンドを取得する(S808)。例えば、CPU101は、ユーザにより入力された仮登録IDを中継装置200へ送信する。そして、CPU101は、S804へ戻る。
【0077】
中継装置200から受信したコマンドが、設定保存のコマンドであると判断される場合(S804:設定保存)、CPU101は、中継装置200から指示される情報を、フラッシュメモリ104に保存し(S810)、次のコマンドを取得する(S812)。例えば、CPU101は、中継装置200から送られてくるサービスID、アカウント名、パスワード、およびアクセストークンを対応付けて、登録情報DB104aに保存する。そして、CPU101は、S804へ戻る。
【0078】
中継装置200から受信したコマンドが、設定取得のコマンドであると判断される場合(S804:設定取得)、CPU101は、中継装置200から指示される保存値をフラッシュメモリ104から読み取り(S814)、読み取った保存値を中継装置200へ送信して、次のコマンドを取得する(S816)。例えば、CPU101は、中継装置200から指示されたサービスIDおよびアカウント名に対応付けて、登録情報DB104aに記憶されているアクセストークンを読み取り、中継装置200へ送信する。なお、本実施形態において、CPU101は、中継装置200から受信するアクセストークン送信指令(図6に示すU602参照)も、設定取得のコマンドであると判断する。
【0079】
中継装置200から受信したコマンドが、アップロード指示である場合(S804:アップロード指示)、CPU101は、アップロード処理を行う(S818)。このアップロード処理については、図6を参照して説明したので、ここでは、詳細な説明を省略する。次に、CPU101は、中継装置200から次のコマンドを取得し(S820)、S804へ戻る。そして、中継装置200から受信したコマンドが、終了指示である場合(S804:終了指示)、CPU101はこの処理を終了する。
【0080】
上記実施形態において、サービス連携システム10が通信システムの一例であり、MFP100が通信装置の一例であり、PC400がブラウザ搭載装置の一例である。仮登録IDが仮登録情報の一例であり、認証トークンが認証情報の一例であり、アクセストークンが許可情報の一例である。登録情報DB104aを記憶するフラッシュメモリ104のメモリエリアが第2記憶部の一例であり、仮登録情報DB204dを記憶するHDD204のメモリエリアが登録部の一例であり、アクセストークンメモリ204eが第1記憶部の一例である。図4に示すU414において入力される仮登録IDが入力情報の一例である。図6に示すU609〜U613の処理が、「許可情報に基づいて、通信装置とサービス提供装置との間の通信を実行」することの一例であり、図6に示すU605〜U607の処理が、「許可情報に基づいて、通信装置から中継装置に対してサービス提供装置との間の通信を要求」することの一例である。
【0081】
MFP100において、S806を実行するCPU101およびその処理動作が受付手段および受付ステップの一例であり、S808を実行するCPU101およびその処理動作が第2通信手段、入力情報送信手段、および、第2通信ステップの一例である。S810を実行するCPU101が保存手段の一例である。S816を実行するCPU101が情報取得手段の一例である。S818を実行するCPU101およびその処理動作が第4通信手段、通信手段、および、第4通信ステップの一例である。図4に示すU411を実行するCPU101が情報要求手段の一例である。
【0082】
中継装置200において、S718を実行するCPU201が生成手段の一例である。S720を実行するCPU201およびその処理動作が登録手段および登録ステップの一例である。S722を実行するCPU201およびその処理動作が第1通信手段、仮登録情報通信手段、仮登録情報通信ステップ、および、第1通信ステップの一例である。S724を実行するCPU201およびその処理動作が入力情報受信手段および入力情報受信ステップの一例である。S734を実行するCPU201およびその処理動作が認証情報送信手段、許可情報取得手段、および、許可情報取得ステップの一例である。S736を実行するCPU201およびその処理動作が第3通信手段、許可情報通信手段、許可情報通信ステップ、および、第3通信ステップの一例である。S738を実行するCPU201が削除手段の一例である。
【0083】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【0084】
例えば、上記実施形態では、MFP100が通信装置の一例であったが、携帯電話機、デジタルカメラなど、各種の装置が通信装置の一例となり得る。また、上記実施形態において、中継装置200は、物理的に存在する一つのサーバであったが、複数の物理的な装置が協働して一つのサーバとして機能するヴァーチャルマシン(例えば、Amazon(登録商標)のEC2)であっても良い。また、上記実施形態の中継装置200は、MFP100のメーカによって設置されるものであったが、周知のレンタルサーバが利用されても良い。これらの場合、中継装置200の運用費用は、中継装置200を経由する情報量、および、中継装置200での処理の負荷によって変化する。本実施形態のサービス連携システム10によれば、アクセストークンを各MFP100に保持させるので、中継装置200に発生する負荷を少なくでき、運用費用を抑制できる。
【0085】
また、上記実施形態では、図3に示すU304〜U305において、中継装置200は、サービス提供装置500へリクエストトークン取得要求を送信することに応じて、サービス提供装置500からリクエストトークンを取得していた。ここで、サービス提供装置500によっては、リクエストトークンを発行することなく、サービス提供装置500とPC400との間において認証手続きを行う場合がある。この場合、図3に示すU303で仮登録要求を受けた中継装置200は、U304およびU305の処理を行わず、サービス提供装置500のサービス事業者が提供するログインページのリダイレクト指令を、仮登録要求元のPC400へ送信しても良い(U306)。このリダイレクト指令には、中継装置200を識別可能なクライアントIDと、中継装置200のURLとが含まれる。そして、サービス提供装置500は、PC400からクライアントIDと中継装置200のURLとを受信し、受信したクライアントIDと中継装置200のURLとを対応付けて記憶しても良い(U307)。そして、図3に示すU308、U310〜U311、および、U313において、PC400またはサービス提供装置500は、ログインページ等の各種情報と一緒にクライアントIDを送信しても良い。これにより、PC400とサービス提供装置500との間で、中継装置200のURLと対応付けてサービス提供装置500に記憶されているクライアントIDが送受されるため、サービス提供装置500は、リクエストトークンを発行しない場合であっても、認証手続きによりサービス提供装置500へのアクセスが許可される中継装置200を特定することができる。
【0086】
また、上記実施形態では、サービス提供装置500とPC400との間において、認証手続きが行われた場合、図3に示すU314において、サービス提供装置500からPC400へ認証トークンが発行されていた。ここで、サービス提供装置500によっては、認証手続きが行われた場合に認証トークンを発行することなく、アクセストークンを発行する場合がある。この場合、図3に示すU315において、PC400は、サービス提供装置500からのリダイレクト指令を受けて、中継装置200へアクセスし、アクセストークンを含む仮登録ID発行要求を中継装置200へ送信しても良い。そして、中継装置200は、PC400から受信したアクセストークンと仮登録IDとを対応付けて、仮登録情報DB204dに含めて記憶しても良い。図4において、中継装置200は、MFP100から仮登録IDを受信し(U405)、アクセストークン取得要求を受信すると(U411)、U412およびU413の処理を行わず、その仮登録IDに対応付けたアクセストークンを仮登録情報DB204dから読み出し、MFP100に送信しても良い(U414)。
【0087】
また、図3に示すU315において、認証トークンを受信した中継装置200は、図4に示すU411におけるMFP100からアクセストークン取得要求を受信する前に、その認証トークンをサービス提供装置500に送信し、認証トークンと引き替えにアクセストークンを取得しても良い。例えば、中継装置200は、U315において認証トークンを受信することに応じて、図4に示すU412およびU413と同様にして、サービス提供装置500からアクセストークンを取得しても良い。この場合においても、中継装置200は、アクセストークンと仮登録IDとを対応付けて、仮登録情報DB204dに含めて記憶しても良い。図4において、中継装置200は、MFP100から仮登録IDおよびアクセストークン取得要求を受信すると(U405およびU411)、U412およびU413の処理を行わず、その仮登録IDに対応付けたアクセストークンを仮登録情報DB204dから読み出し、MFP100に送信しても良い(U414)。
【0088】
また、上記実施形態において、サービス提供装置500は、他の装置からの電子ファイルのアップロードを受付けるサービスを提供するものであったが、例えば、他の装置への電子ファイルのダウンロードを受付けるサービスなど、他のサービスを提供するサービス提供装置500についても、本実施形態のサービス連携システム10を適用可能である。
【0089】
また、上記実施形態において、MFP100に画面を表示させるためのUI表示データが、中継装置200からMFP100へ送信されるものとして説明した。このUI表示データは、画像データであっても良いし、あるいは、MFP100が有するテンプレートのうち、表示すべきテンプレートを指定する情報であっても良い。
【0090】
また、中継装置200の仮登録情報DB204d、アクセストークンメモリ204e、およびMFP100の登録情報DB104aは、それぞれ、外付けの記憶装置に設けられていても良い。
【0091】
また、上記実施形態では、MFP100から中継装置200へサービスの利用要求が送信される場合、MFP100のフラッシュメモリ104からアクセストークンが読み出され、MFP100とサービス提供装置500との間の通信、または、中継装置200とサービス提供装置500との間の通信に用いられていた。これに代えて、MFP100のフラッシュメモリ104には、ユーザにより入力された仮登録IDを記憶させておき、MFP100から中継装置200へサービスの利用要求が送信される場合に、MFP100から中継装置200へ仮登録IDを送信するように構成しても良い。その場合、中継装置200は、MFP100から受信した仮登録IDに対応するアクセストークンを取得してMFP100に送信しても良い。また、中継装置200またはMFP100は、中継装置200が取得したアクセストークンを用いて、サービス提供装置500との間で通信を行っても良い。
【0092】
また、上記実施形態では、ユーザは、PC400に表示された仮登録IDを、MFP100に手動で入力していた。しかしながら、PC400とMFP100とが通信可能な環境下では、中継装置200から受信した仮登録IDを、PC400がMFP100へ直接に出力し、一方、MFP100は、PC400からの仮登録IDの入力を受付けるように構成されても良い。そして、MFP100は、PC400から直接入力された仮登録IDを中継装置200へ送信するように構成されても良い。
【0093】
また、上記実施形態において、仮登録IDは8桁の情報であったが、これに限られるものではなく、仮登録IDは、認証トークンまたはアクセストークンよりも情報量が小さい情報であれば良い。
【0094】
また、上記実施形態では、サービス提供装置500が発行するアクセストークンを中継装置200に受信させ、そのアクセストークンを中継装置200のHDD204に記憶させることにより、中継装置200にアクセストークンを取得させていた。しかしながら、「中継装置において許可情報を取得する」とは、中継装置において受信した許可情報(例えば、アクセストークン)を不揮発性のメモリに記憶させることに限定されるものではなく、中継装置が一時的に許可情報を取得する場合(例えば、許可情報を受信し、RAMなどに一時的に保存する場合)も含むものである。
【0095】
また、上記実施形態において、MFP100は、HTMLを解釈できず、サービス提供装置500が提供するWebページを表示できないものとして説明した。しかしながら、本発明は、通信装置が、中継装置を経由してサービスを利用できるように構成されている通信システムに適用できるものであり、サービス提供装置が提供する情報を、通信装置が解釈可能である場合にも、本発明は適用可能である。すなわち、MFPまたは中継装置とサービス提供装置との間で通信される情報を、中継装置が解釈可能であり、中継装置と通信装置との間で通信される情報を、中継装置と通信装置とが解釈可能に構成されている通信システムであれば、本発明は適用可能である。また、通信装置と中継装置との間の通信に用いられる言語は、例えば、Jsonなど、XML以外の他の言語であっても良い。
【0096】
また、仮登録IDには、例えば、発行から24時間などの有効期限が設定されていても良い。
【符号の説明】
【0097】
10 サービス連携システム
100 MFP
104a 登録情報DB
200 中継装置
204d 仮登録情報DB
204e アクセストークンメモリ
400 PC
404a Webブラウザ
500 サービス提供装置
600 ネットワーク

【特許請求の範囲】
【請求項1】
サービスを提供するサービス提供装置およびそのサービス提供装置が提供する情報を処理するためのブラウザを備えたブラウザ搭載装置がそれぞれ接続されるネットワークを介して、通信装置と接続される中継装置であって、
前記サービス提供装置が提供する前記サービスを前記中継装置が利用するために前記サービス提供装置と前記ブラウザ搭載装置との間において行われる認証手続きについて、仮登録情報を前記中継装置の登録部に登録する登録手段と、
前記サービス提供装置と前記ブラウザ搭載装置との間において行われる前記認証手続きについて、前記サービス提供装置が発行する許可情報であって、前記サービスの利用が許可されることを示す前記許可情報を取得する許可情報取得手段と、
前記登録手段により登録される前記仮登録情報を、前記中継装置から前記ブラウザ搭載装置へ送信する仮登録情報通信手段と、
前記ブラウザ搭載装置が出力した前記仮登録情報に応じた入力情報であって、前記通信装置において受け付けられた入力情報を、前記通信装置から受信する入力情報受信手段と、
前記入力情報受信手段により前記通信装置から前記入力情報を受信した場合、前記入力情報と一致する前記仮登録情報が登録された前記認証手続きについて、前記許可情報取得手段により取得された前記許可情報を、前記中継装置から前記入力情報の送信元である前記通信装置へ送信する許可情報通信手段とを備える中継装置。
【請求項2】
前記許可情報取得手段は、
前記認証手続きについて前記サービス提供装置が発行する前記許可情報を、前記中継装置において受信し、その許可情報を第1記憶部に記憶するものであり、
前記許可情報通信手段により、前記通信装置へ前記許可情報を送信した後、当該許可情報を、前記第1記憶部から削除する削除手段を備える請求項1記載の中継装置。
【請求項3】
前記サービス提供装置は、前記ブラウザ搭載装置との前記認証手続きにおいて、前記ブラウザ搭載装置を正しく認証した場合に認証情報を発行するものであり、
前記登録手段は、前記サービス提供装置が前記ブラウザ搭載装置に対して発行する前記認証情報を、前記中継装置が前記ブラウザ搭載装置から取得した場合に、前記認証情報と、前記仮登録情報とを対応付けて、前記登録部に登録するものであって、
前記入力情報受信手段により前記通信装置から前記入力情報を受信した場合、その入力情報と一致する前記仮登録情報に対応付けられた前記認証情報を、前記登録部から読み出し、その認証情報の発行元のサービス提供装置へ送信する認証情報送信手段を備え、
前記許可情報取得手段は、前記認証情報送信手段により送信された前記認証情報を前記サービス提供装置が受信した場合において、当該サービス提供装置が発行する前記許可情報を取得するものである請求項1または2に記載の中継装置。
【請求項4】
前記認証情報よりも情報量の少ない情報を、前記仮登録情報として生成する生成手段を備え、
前記登録手段は、前記生成手段により生成される前記仮登録情報を、前記認証情報に対応付けて登録するものである請求項3記載の中継装置。
【請求項5】
前記サービス提供装置は、前記ブラウザ搭載装置との前記認証手続きにおいて、前記ブラウザ搭載装置を正しく認証した場合に前記許可情報を発行するものであり、
前記登録手段は、前記サービス提供装置が前記ブラウザ搭載装置に対して発行する前記許可情報を、前記中継装置が前記ブラウザ搭載装置から取得した場合に、前記許可情報と、前記仮登録情報とを対応付けて、前記登録部に登録するものであり、
前記許可情報取得手段は、前記中継装置が前記入力情報受信手段により前記通信装置から前記入力情報を受信した場合、その入力情報と一致する前記仮登録情報に対応付けられた前記許可情報を、前記登録部から読み出して取得するものである請求項1または2に記載の中継装置。
【請求項6】
サービスを提供するサービス提供装置およびそのサービス提供装置が提供する情報を処理するためのブラウザを備えたブラウザ搭載装置がそれぞれ接続されるネットワークを介して、通信装置と接続される中継装置において実行される中継方法であって、
前記サービス提供装置が提供する前記サービスを前記中継装置が利用するために前記サービス提供装置と前記ブラウザ搭載装置との間において行われる認証手続きについて、仮登録情報を前記中継装置の登録部に登録する登録ステップと、
前記サービス提供装置と前記ブラウザ搭載装置との間において行われる前記認証手続きについて、前記サービス提供装置が発行する許可情報であって、前記サービスの利用が許可されることを示す前記許可情報を取得する許可情報取得ステップと、
前記登録ステップにより登録される前記仮登録情報を、前記中継装置から前記ブラウザ搭載装置へ送信する仮登録情報通信ステップと、
前記ブラウザ搭載装置が出力した前記仮登録情報に応じた入力情報であって、前記通信装置において受け付けられた入力情報を、前記通信装置から受信する入力情報受信ステップと、
前記入力情報受信ステップにより前記通信装置から前記入力情報を受信した場合、前記入力情報と一致する前記仮登録情報が登録された前記認証手続きについて、前記許可情報取得ステップにより取得された前記許可情報を、前記中継装置から前記入力情報の送信元である前記通信装置へ送信する許可情報通信ステップを備える中継方法。
【請求項7】
サービスを提供するサービス提供装置およびそのサービス提供装置が提供する情報を処理するためのブラウザを備えたブラウザ搭載装置がそれぞれ接続されるネットワークに接続される中継装置と、前記ネットワークを介して接続される通信装置であって、
前記サービス提供装置が提供する前記サービスを前記中継装置が利用するために前記サービス提供装置と前記ブラウザ搭載装置との間において行われる認証手続きについて、前記中継装置において登録された仮登録情報に応じた入力情報を受け付ける受付手段と、
前記受付手段により受け付けられた前記入力情報を前記中継装置に送信する入力情報送信手段と、
前記入力情報送信手段により送信された前記入力情報と一致する前記仮登録情報が登録された前記認証手続きについて、前記サービス提供装置が発行する許可情報であって、前記サービスの利用が許可されることを示す前記許可情報を取得するように、前記中継装置に要求する情報要求手段と、
前記情報要求手段の要求に応じて前記中継装置が取得した前記許可情報を、前記中継装置から取得する情報取得手段と、
前記情報取得手段により取得された前記許可情報に基づいて、前記通信装置と前記サービス提供装置との間の通信を実行し、または、前記通信装置から前記中継装置に対して前記サービス提供装置との間の通信を要求する通信手段とを備える通信装置。
【請求項8】
前記情報取得手段により前記中継装置から取得された前記許可情報を、不揮発性の第2記憶部に保存する保存手段を備え、
前記通信手段は、前記第2記憶部に保存された前記許可情報に基づいて、前記通信装置と前記サービス提供装置との間の通信を実行し、または、前記通信装置から前記中継装置に対して前記サービス提供装置との間の通信を要求するものである請求項7記載の通信装置。
【請求項9】
サービスを提供するサービス提供装置およびそのサービス提供装置が提供する情報を処理するためのブラウザを備えたブラウザ搭載装置がそれぞれ接続されるネットワークに接続される中継装置と、前記ネットワークを介して前記中継装置と接続される通信装置とを含む通信システムであって、
前記サービス提供装置が提供する前記サービスを前記中継装置が利用するために前記サービス提供装置と前記ブラウザ搭載装置との間において行われる認証手続きについて、仮登録情報を前記中継装置の登録部に登録する登録手段と、
前記サービス提供装置と前記ブラウザ搭載装置との間において行われる前記認証手続きについて、前記サービス提供装置が発行する許可情報であって、前記サービスの利用が許可されることを示す前記許可情報を、前記中継装置において取得する許可情報取得手段と、
前記登録手段により登録される前記仮登録情報を、前記中継装置から前記ブラウザ搭載装置へ送信する第1通信手段と、
前記ブラウザ搭載装置が出力した前記仮登録情報に応じた入力情報を、前記通信装置において受け付ける受付手段と、
前記受付手段により受け付けられた前記入力情報を、前記通信装置から前記中継装置へ送信する第2通信手段と、
前記第2通信手段により送信された前記入力情報と一致する前記仮登録情報が登録された前記認証手続きについて、前記許可情報取得手段により取得された前記許可情報を、前記中継装置から前記入力情報の送信元である前記通信装置へ送信する第3通信手段と、
前記第3通信手段により前記通信装置へ送信された前記許可情報に基づいて、前記通信装置と前記サービス提供装置との間の通信を実行し、または、前記通信装置から前記中継装置に対して前記サービス提供装置との間の通信を要求する第4通信手段とを備える通信システム。
【請求項10】
サービスを提供するサービス提供装置およびそのサービス提供装置が提供する情報を処理するためのブラウザを備えたブラウザ搭載装置がそれぞれ接続されるネットワークに接続される中継装置と、前記ネットワークを介して前記中継装置と接続される通信装置とを含む通信システムにおいて実行される通信方法であって、
前記サービス提供装置が提供する前記サービスを前記中継装置が利用するために前記サービス提供装置と前記ブラウザ搭載装置との間において行われる認証手続きについて、仮登録情報を前記中継装置の登録部に登録する登録ステップと、
前記サービス提供装置と前記ブラウザ搭載装置との間において行われる前記認証手続きについて、前記サービス提供装置が発行する許可情報であって、前記サービスの利用が許可されることを示す前記許可情報を、前記中継装置において取得する許可情報取得ステップと、
前記登録ステップにより登録される前記仮登録情報を、前記中継装置から前記ブラウザ搭載装置へ送信する第1通信ステップと、
前記ブラウザ搭載装置が出力した前記仮登録情報に応じた入力情報を、前記通信装置において受け付ける受付ステップと、
前記受付ステップにより受け付けられた前記入力情報を、前記通信装置から前記中継装置へ送信する第2通信ステップと、
前記第2通信ステップにより送信された前記入力情報と一致する前記仮登録情報が登録された前記認証手続きについて、前記許可情報取得ステップにより取得された前記許可情報を、前記中継装置から前記入力情報の送信元である前記通信装置へ送信する第3通信ステップと、
前記第3通信ステップにより前記通信装置へ送信された前記許可情報に基づいて、前記通信装置と前記サービス提供装置との間の通信を実行し、または、前記通信装置から前記中継装置に対して前記サービス提供装置との間の通信を要求する第4通信ステップとを備える通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−113696(P2012−113696A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願番号】特願2011−224573(P2011−224573)
【出願日】平成23年10月12日(2011.10.12)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】