(57)【要約】【課題】サービス提供装置が提供するサービスの利用量に上限が設けられるシステムにおいて、許可されているサービスの利用量を示す利用量情報が登録されていない中継装置を介して、ユーザが所望する量のサービスを利用できるようにする。【解決手段】中継装置３０Ｂは、クライアント装置２０Ｃからサービスの利用要求を受信すると、第２キャッシュテーブル３１２を参照して、要求された利用量が自装置に割り当てられているかを判定する。中継装置３０Ｂは、必要な利用量が自装置に割り当てられていない場合に、ホームの中継装置３０Ａに利用量の割当を要求する。中継装置３０Ａは、受信された割当要求に応じてサービスの利用量の割当を行う。【選択図】図１３
2015176548.tif 000002
【特許請求の範囲】
【請求項１】
サービス提供装置が提供するサービスの利用要求をクライアント装置から受信する利用要求受信手段と、
前記受信された利用要求に基づき特定される利用量情報に応じた前記サービスの利用の割当要求を、他の中継装置へ送信する割当要求送信手段と、
前記割当要求の応答として前記他の中継装置から送信されてくる、前記サービスの利用の割当量を示す割当量情報を受信する割当量受信手段と、
前記受信された割当量情報と前記サービスの利用量とから返却情報を生成する返却情報生成手段と、
前記返却情報を前記他の中継装置へ送信する返却情報送信手段と
を有する中継装置。
【請求項２】
前記割当要求送信手段は、前記受信された利用要求に含まれる利用量情報の示す利用量よりも多い利用量の割当を要求する旨を示す要求情報を、前記他の装置へ送信する
請求項１に記載の中継装置。
【請求項３】
許可されているサービスの利用量を示す利用量情報を記憶する記憶手段と、
サービスの利用量の割当要求を他の中継装置から受信する割当要求受信手段と、
前記受信された割当要求に応じて、前記記憶手段に記憶された利用量情報の示す利用量の一部又は全部を示す割当量情報を、前記他の中継装置へ送信する割当量送信手段と、
前記他の中継装置から返却情報を受信する返却情報受信手段と、
前記受信された返却情報に応じて前記記憶された利用量情報を更新する更新手段と
を有する中継装置。
【請求項４】
前記割当量送信手段は、前記記憶手段に記憶された利用量情報の示す利用量から前記割当量情報の示す割当量を減算し、減算した情報を利用量情報として前記記憶手段に記憶し、
前記更新手段は、前記受信された返却情報の示す利用量を前記記憶された利用量情報の示す利用量に加算する
請求項３に記載の中継装置。
【請求項５】
前記割当量送信手段は、前記割当量情報を前記記憶手段に記憶し、
前記更新手段は、前記記憶された割当量情報から前記受信された返却情報を減算し、減算結果を前記記憶された利用量情報から減算する
請求項３に記載の中継装置。
【請求項６】
第１中継装置と、
第２中継装置と
を有し、
前記第１中継装置は、
サービス提供装置が提供するサービスの利用要求をクライアント装置から受信する利用要求受信手段と、
前記受信された利用要求に基づき特定される利用量情報に応じた前記サービスの利用の割当要求を、他の中継装置へ送信する割当要求送信手段と、
前記割当要求の応答として前記他の中継装置から送信されてくる、前記サービスの利用の割当量を示す割当量情報を受信する割当量受信手段と、
前記受信された割当量情報と前記サービスの利用量とから返却情報を生成する返却情報生成手段と、
前記返却情報を前記他の中継装置へ送信する返却情報送信手段と
を備え、
前記第２中継装置は、
許可されているサービスの利用量を示す利用量情報を記憶する記憶手段と、
サービスの利用量の割当要求を他の中継装置から受信する割当要求受信手段と、
前記受信された割当要求に応じて、前記記憶手段に記憶された利用量情報の示す利用量の一部又は全部を示す割当量情報を、前記他の中継装置へ送信する割当量送信手段と、
前記他の中継装置から前記返却情報を受信する返却情報受信手段と、
前記受信された返却情報に応じて前記記憶された利用量情報を更新する更新手段と
を備える
システム。
【請求項７】
コンピュータに、
サービス提供装置が提供するサービスの利用要求をクライアント装置から受信するステップと、
前記受信された利用要求に基づき特定される利用量情報に応じた、前記サービスの利用の割当要求を、他の中継装置へ送信するステップと、
前記割当要求の応答として前記他の中継装置から送信されてくる、前記サービスの利用の割当量を示す割当量情報を受信するステップと、
前記受信された割当量情報と前記サービスの利用量とから返却情報を生成するステップと、
前記返却情報を前記他の中継装置へ送信するステップと
を実行させるためのプログラム。
【請求項８】
許可されているサービスの利用量を示す利用量情報を記憶する記憶手段を有するコンピュータに、
サービスの利用量の割当要求を他の中継装置から受信するステップと、
前記受信された割当要求に応じて、前記記憶手段に記憶された利用量情報の示す利用量の一部又は全部を示す割当量情報を、前記他の中継装置へ送信するステップと、
前記他の中継装置から返却情報を受信するステップと、
前記受信された返却情報に応じて前記記憶された利用量情報を更新するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、システム及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク上のサーバ装置を利用するときに、中継装置を介してサーバ装置にアクセスする技術が知られている。例えば、特許文献１および２には、多機能装置が中継装置と連携して、サービス提供装置にデータをアップロードしたり、サービス提供装置からデータをダウンロードしたりする技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１３７０１号公報
【特許文献２】特開２０１２−１１８９７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、サービス提供装置が提供するサービスの利用量に上限が設けられるシステムにおいて、許可されているサービスの利用量を示す利用量情報が登録されていない中継装置を介して、ユーザが所望する量のサービスを利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係る発明は、サービス提供装置が提供するサービスの利用要求をクライアント装置から受信する利用要求受信手段と、前記受信された利用要求に基づき特定される利用量情報に応じた、前記サービスの利用の割当要求を、他の中継装置へ送信する割当要求送信手段と、前記割当要求の応答として前記他の中継装置から送信されてくる、前記サービスの利用の割当量を示す割当量情報を受信する割当量受信手段と、前記受信された割当量情報と前記サービスの利用量とから返却情報を生成する返却情報生成手段と、前記返却情報を前記他の中継装置へ送信する返却情報送信手段とを有する中継装置を提供する。
【０００６】
請求項２に係る発明は、請求項１に記載の中継装置において、前記割当要求送信手段は、前記受信された利用要求に含まれる利用量情報の示す利用量よりも多い利用量の割当を要求する旨を示す要求情報を、前記他の装置へ送信することを特徴とする。
【０００７】
請求項３に係る発明は、許可されているサービスの利用量を示す利用量情報を記憶する記憶手段と、サービスの利用量の割当要求を他の中継装置から受信する割当要求受信手段と、前記受信された割当要求に応じて、前記記憶手段に記憶された利用量情報の示す利用量の一部又は全部を示す割当量情報を、前記他の中継装置へ送信する割当量送信手段と、前記他の中継装置から返却情報を受信する返却情報受信手段と、前記受信された返却情報に応じて前記記憶された利用量情報を更新する更新手段とを有する中継装置を提供する。
【０００８】
請求項４に係る発明は、請求項３に記載の中継装置において、前記割当量送信手段は、前記記憶手段に記憶された利用量情報の示す利用量から前記割当量情報の示す割当量を減算し、減算した情報を利用量情報として前記記憶手段に記憶し、前記更新手段は、前記受信された返却情報の示す利用量を前記記憶された利用量情報の示す利用量に加算することを特徴とする。
【０００９】
請求項５に係る発明は、請求項３に記載の中継装置において、前記割当量送信手段は、前記割当量情報を前記記憶手段に記憶し、前記更新手段は、前記記憶された割当量情報から前記受信された返却情報を減算し、減算結果を前記記憶された利用量情報から減算する。
【００１０】
請求項６に係る発明は、第１中継装置と、第２中継装置とを有し、前記第１中継装置は、サービス提供装置が提供するサービスの利用要求をクライアント装置から受信する利用要求受信手段と、前記受信された利用要求に基づき特定される利用量情報に応じた、前記サービスの利用の割当要求を、他の中継装置へ送信する割当要求送信手段と、前記割当要求の応答として前記他の中継装置から送信されてくる、前記サービスの利用の割当量を示す割当量情報を受信する割当量受信手段と、前記受信された割当量情報と前記サービスの利用量とから返却情報を生成する返却情報生成手段と、前記返却情報を前記他の中継装置へ送信する返却情報送信手段とを備え、前記第２中継装置は、許可されているサービスの利用量を示す利用量情報を記憶する記憶手段と、サービスの利用量の割当要求を他の中継装置から受信する割当要求受信手段と、前記受信された割当要求に応じて、前記記憶手段に記憶された利用量情報の示す利用量の一部又は全部を示す割当量情報を、前記他の中継装置へ送信する割当量送信手段と、前記他の中継装置から前記返却情報を受信する返却情報受信手段と、前記受信された返却情報に応じて前記記憶された利用量情報を更新する更新手段とを備えるシステムを提供する。
【００１１】
請求項７に係る発明は、コンピュータに、サービス提供装置が提供するサービスの利用要求をクライアント装置から受信するステップと、前記受信された利用要求に基づき特定される利用量情報に応じた、前記サービスの利用の割当要求を、他の中継装置へ送信するステップと、前記割当要求の応答として前記他の中継装置から送信されてくる、前記サービスの利用の割当量を示す割当量情報を受信するステップと、前記受信された割当量情報と前記サービスの利用量とから返却情報を生成するステップと、前記返却情報を前記他の中継装置へ送信するステップとを実行させるためのプログラムを提供する。
【００１２】
請求項８に係る発明は、許可されているサービスの利用量を示す利用量情報を記憶する記憶手段を有するコンピュータに、サービスの利用量の割当要求を他の中継装置から受信するステップと、前記受信された割当要求に応じて、前記記憶手段に記憶された利用量情報の示す利用量の一部又は全部を示す割当量情報を、前記他の中継装置へ送信するステップと、前記他の中継装置から返却情報を受信するステップと、前記受信された返却情報に応じて前記記憶された利用量情報を更新するステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１３】
請求項１、３、６、７および８に係る発明によれば、サービス提供装置が提供するサービスの利用量に上限が設けられるシステムにおいて、許可されているサービスの利用量を示す利用量情報が登録されていない中継装置を介して、ユーザが所望する量のサービスを利用することができる。
請求項２に係る発明によれば、追加の利用要求があった場合に利用量の割当を再度行う必要がない。
請求項４に係る発明によれば、一の中継装置が他の中継装置に利用量の割当を行う場合に、利用量情報の示す利用量と実際の残利用量とにずれが生じることを防止することができる。
請求項５に係る発明によれば、一の中継装置が他の中継装置に利用量の割当を行う場合に、割当を行っていない利用量を効率的に利用することができる。
【図面の簡単な説明】
【００１４】
【図１】システム１の全体構成を示す図。
【図２】システム１の機能構成を示す図。
【図３】中継装置３０のハードウェア構成を示す図。
【図４】ユーザ管理テーブルの一例を示す図。
【図５】サービス利用管理テーブルの一例を示す図。
【図６】第１キャッシュテーブルの一例を示す図。
【図７】第２キャッシュテーブルの一例を示す図。
【図８】システム１の動作を例示するシーケンス図。
【図９】システム１の動作を例示するシーケンス図。
【図１０】システム１の動作を例示するシーケンス図。
【図１１】システム１の動作を例示するシーケンス図。
【図１２】システム１の動作を例示するシーケンス図。
【図１３】システム１の動作を例示するシーケンス図。
【図１４】システム１の動作を例示するシーケンス図。
【発明を実施するための形態】
【００１５】
１．構成
図１は、本実施形態に係るシステム１の全体構成を示す図である。システム１は、サービス提供装置１０Ａ、１０Ｂおよび１０Ｃと、クライアント装置２０Ａ、２０Ｂ、２０Ｃおよび２０Ｄと、中継装置３０Ａ、３０Ｂおよび３０Ｃとを備える。なお、以下の説明では、サービス提供装置１０Ａ、１０Ｂおよび１０Ｃを区別する必要がない場合には、これらを総称して「サービス提供装置１０」という。クライアント装置２０Ａ、２０Ｂ、２０Ｃおよび２０Ｄを区別する必要がない場合には、これらを総称して「クライアント装置２０」という。中継装置３０Ａ、３０Ｂおよび３０Ｃを区別する必要がない場合には、これらを総称して「中継装置３０」という。サービス提供装置１０および中継装置３０は、インターネット等の通信回線２を介して接続される。クライアント装置２０および中継装置３０は、インターネットやＬＡＮ（Local Area Network）等の通信回線３を介して通信回線２に接続される。なお、クライアント装置２０は、通信回線３および中継装置３０を介することなく通信回線２に接続されてもよい。
【００１６】
サービス提供装置１０は、データを保存するサービス等の各種のサービスを提供する。このサービスは、いわゆるクラウドサービスであってもよい。クライアント装置２０がサービス提供装置１０にアクセスするには、サービス提供装置１０にアクセスする権限を示すトークン（権限情報の一例）が必要となる。この例で、トークンは、アカウントの識別情報や権限が記述されたデータ構造である。クライアント装置２０は、例えば画像処理装置であり、ユーザがサービス提供装置１０から提供されるサービスを利用するときに用いられる。クライアント装置２０は、スキャナ機能の他、コピー機能、プリント機能、ファクシミリ機能等の複数の機能を有していてもよい。中継装置３０は、クライアント装置２０とサービス提供装置１０との間のデータのやり取りを中継する機能を有する。
【００１７】
この例で、クライアント装置２０が設置される場所は、複数の地域４Ａ、４Ｂおよび４Ｃに区分される。中継装置３０Ａは、地域４Ａに設置されたクライアント装置２０Ａおよび２０Ｃと、サービス提供装置１０とのデータのやり取りを中継する。中継装置３０Ｂは、地域４Ｂに設置されたクライアント装置２０Ｃと、サービス提供装置１０とのデータのやり取りを中継する。中継装置３０Ｃは、地域４Ｃに設置されたクライアント装置２０Ｄとサービス提供装置１０とのデータのやり取りを中継する。なお、以下の説明では、地域４Ａ、４Ｂおよび４Ｃを区別する必要がない場合には、これらを総称して「地域４」という。
【００１８】
システム１のユーザは地域４のいずれかに属している。以下の説明では、説明の便宜上、あるユーザが属している地域４を、そのユーザの「ホーム」と呼び、そのユーザが属していない地域を「アウェイ」と呼ぶ。この例で、ユーザＵ１とユーザＵ２のホームは地域４Ａであり、ユーザＵ１とユーザＵ２にとって地域４Ｂと地域４Ｃはアウェイである。ユーザは通常、自身が属する地域４に設置されたクライアント装置２０を用いて各種作業を行う。各ユーザが属する地域４の中継装置３０には、そのユーザのアカウント情報など、そのユーザに関する情報（ユーザ情報）が登録されている。中継装置３０は、自装置に登録されているユーザ情報に基づいてユーザ認証などの処理を行う。以下では、ユーザＵ１、Ｕ２、Ｕ３およびＵ４を区別する必要がない場合には、これらを総称して「ユーザＵ」という。
【００１９】
図２は、システム１の機能構成を示す図である。システム１は、サービス提供装置１０と、クライアント装置２０と、中継装置３０Ａと、中継装置３０Ｂとを備える。中継装置３０Ａは、ユーザＵのホームに設置された中継装置（第２中継装置の一例）であり、中継装置３０Ｂは、ユーザＵのアウェイに設置された中継装置（第１中継装置の一例）である。中継装置３０Ｂは、利用要求受信手段３１と、割当要求送信手段３２と、割当量受信手段３３と、返却情報生成手段３４と、返却情報送信手段３５とを有する。利用要求受信手段３１は、サービス提供装置１０が提供するサービスの利用要求をクライアント装置２０から受信する。割当要求送信手段３２は、利用要求受信手段３１によって受信された利用要求に基づき特定される利用量情報に応じたサービスの利用の割当要求を、中継装置３０Ａへ送信する。割当量受信手段３３は、割当要求送信手段３２によって送信された割当要求の応答として中継装置３０Ａから送信されてくる、サービスの利用の割当量を示す割当量情報を受信する。返却情報生成手段３４は、割当量受信手段３３によって受信された割当量情報とサービスの利用量とから返却情報を生成する。返却情報送信手段３５は、返却情報生成手段３４によって生成された返却情報を中継装置３０Ａへ送信する。
【００２０】
中継装置３０Ａは、記憶手段４１と、割当要求受信手段４２と、割当量送信手段４３と、返却情報受信手段４４と、更新手段４５とを有する。記憶手段４１は、中継を許可されているサービスの利用量を示す利用量情報を記憶する。割当要求受信手段４２は、サービスの利用量の割当要求を中継装置３０Ｂから受信する。割当量送信手段４３は、割当要求受信手段４２によって受信された割当要求に応じて、記憶手段４１に記憶された利用量情報の示す利用量の一部又は全部を示す割当量情報を、中継装置３０Ｂへ送信する。返却情報受信手段４４は、中継装置３０Ｂから返却情報を受信する。更新手段４５は、返却情報受信手段によって受信された返却情報に応じて、記憶手段４１に記憶された利用量情報を更新する。
【００２１】
図３は、中継装置３０のハードウェア構成を例示する図である。中継装置３０は、ＣＰＵ（Central Processing Unit）３０１と、ＲＯＭ（Read Only Memory）３０２と、ＲＡＭ（Random Access Memory）３０３と、ストレージ３０４と、通信ＩＦ３０５とを有するコンピュータ装置である。ＣＰＵ３０１は、中継装置３０の各部を制御する制御装置（プロセッサ）である。ＲＯＭ３０２は、プログラムおよびデータを記憶する不揮発性の記憶装置である。ＲＡＭ３０３は、ＣＰＵ３０１がプログラムを実行する際の作業領域として機能する揮発性の主記憶装置である。ストレージ３０４は、プログラムおよびデータを記憶する不揮発性の補助記憶装置である。通信ＩＦ３０５は、通信回線２を介した通信を行うためのインターフェースであり、この例では特に、サービス提供装置１０およびクライアント装置２０と通信を行うためのインターフェースである。
【００２２】
この例で、ストレージ３０４（またはＲＯＭ３０２）に記憶されている中継プログラムをＣＰＵ３０１が実行することにより、図２に示される機能が実装される。中継プログラムを実行しているＣＰＵ３０１、またはＣＰＵ３０１および通信ＩＦ３０５は、利用要求受信手段３１、割当要求送信手段３２、割当量受信手段３３、返却情報生成手段３４、返却情報送信手段３５、割当要求受信手段４２、割当量送信手段４３、返却情報受信手段４４の一例である。また、ＣＰＵ３０１は更新手段４５の一例である。ストレージ３０４は記憶手段４１の一例である。
【００２３】
ストレージ３０４は、ユーザ管理テーブル３０８と、サービス利用管理テーブル３０９と、キャッシュ管理テーブル３１０と、第１キャッシュテーブル３１１と、第２キャッシュテーブル３１２とを記憶する。ユーザ管理テーブル３０８、サービス利用管理テーブル３０９およびキャッシュ管理テーブル３１０は、自装置がホームの中継装置として動作する際に参照されるテーブルである。一方、第１キャッシュテーブル３１１および第２キャッシュテーブル３１２は、自装置がアウェイの中継装置として動作する際に参照されるテーブルである。
【００２４】
ユーザ管理テーブル３０８は、ユーザに関する情報（ユーザ情報）の管理に用いられるテーブルである。ユーザ管理テーブル３０８には、自装置に対応する地域４に属するユーザのユーザ情報が登録されている。すなわち、ユーザ管理テーブル３０８に登録されているユーザ情報は、中継装置３０のそれぞれで異なっている。図１の例では、ユーザＵ１のユーザ情報とユーザＵ２のユーザ情報は、中継装置３０Ａのユーザ管理テーブル３０８に格納されており、中継装置３０Ｂおよび中継装置３０Ｃのユーザ管理テーブル３０８には格納されていない。ユーザＵ３のユーザ情報は、中継装置３０Ｂのユーザ管理テーブル３０８に格納されており、中継装置３０Ａおよび中継装置３０Ｃのユーザ管理テーブル３０８には格納されていない。ユーザＵ４のユーザ情報は、中継装置３０Ｃのユーザ管理テーブル３０８に格納されており、中継装置３０Ａおよび中継装置３０Ｂのユーザ管理テーブル３０８には格納されていない。
【００２５】
図４は、ユーザ管理テーブル３０８の一例を示す図である。ユーザ管理テーブル３０８には、アカウント情報と、メールアドレスと、使用言語と、組織ＩＤと、各サービス提供装置１０のトークンとが対応付けて格納される。アカウント情報は、中継装置３０へのログインに必要な情報である。アカウント情報には、ユーザＩＤとパスワードとが含まれる。メールアドレスは、ユーザに割り当てられたメールアドレスである。使用言語は、ユーザが使用する言語を示す情報である。組織ＩＤは、ユーザが属する組織（部署など）を示す情報である。なお、アカウント情報に含まれるユーザＩＤが、ユーザに割り当てられたメールアドレスであってもよい。
【００２６】
トークンは、サービス提供装置１０にアクセスする権限を示す情報である。トークンは、ユーザ毎にサービス提供装置１０によって発行され、ユーザ管理テーブル３０８に格納される。この例では、ユーザＩＤ「user01」と対応付けて、サービス提供装置１０Ａのトークン「トークンＡ１」と、サービス提供装置１０Ｂのトークン「トークンＢ１」とが格納されている。ユーザ管理テーブル３０８に格納されるトークンには、そのトークンの有効期限を示す情報や、権限の内容（例えば、データの参照のみ許可、データの参照・更新を許可、など）を示す情報が含まれている。各トークンは、サービス提供装置１０によって有効期限が予め定められており、定められた有効期限を過ぎるとそのトークンは利用できなくなる。有効期限が過ぎた場合は、ユーザのアカウント情報が登録されている中継装置３０が、サービス提供装置１０へトークンの更新処理を依頼し、サービス提供装置１０が新たなトークンを発行する。
【００２７】
サービス利用管理テーブル３０９は、サービス提供装置１０によって提供されるサービスのうち、その利用量に上限が設けられるサービスの利用を管理するテーブルである。利用量に上限が設けられるサービスとは、例えば有償で提供されるサービスである。この例で、サービス提供装置１０が提供するサービスをユーザが利用するためには、サービスの利用権を予め購入しておく必要がある。この例で、利用権は、ユーザが所属する組織ごとに購入される。利用権は、サービスの利用可能回数（利用可能量）を示す。利用権は、例えば、文書の文字認識処理を行うサービスの利用可能回数、データのフォーマットを変換するサービスの利用可能回数、画像形成処理を行う可能回数を示す。または、利用可能量を残存金額とし、この残存金額の範囲内でサービスを利用できるようにしてもよい。
【００２８】
図５は、サービス利用管理テーブル３０９の一例を示す図である。サービス利用管理テーブル３０９には、組織ＩＤと、サービスＩＤと、利用可能量と、ユーザＩＤリストと、有効期限と、アウェイ割当リストとが対応付けて格納される。組織ＩＤは、ユーザが属する組織を示す情報である。サービスＩＤは、サービス提供装置１０が提供するサービスを示す情報である。利用可能量は、その組織で購入したサービスの利用権の残りのサービスの利用可能量である。利用可能量は、例えばサービスの利用可能な回数やサービスの利用可能な枚数である。または、利用可能量を残存金額とし、サービス毎に単価が設定されており、サービスを利用する毎に残存金額からこのサービスに対応する単価を差し引いて残存金額を演算するようにしてもよい。ユーザＩＤリストは、そのサービスを利用可能なユーザのリストである。有効期限は、サービスが利用可能な有効期限を示す情報である。アウェイ割当リストは、サービスの利用可能量をアウェイに割り当てている場合の割当量である。なお、利用可能量の割当処理については後述するため、ここでは詳細な説明を省略する。
【００２９】
第１キャッシュテーブル３１１は、自装置があるユーザのアウェイの中継装置３０Ｂとして動作する場合に、そのユーザのユーザ情報を一時的に保持するためのテーブルである。この例で、ユーザが出張などによりアウェイでクライアント装置２０を用いて各種作業を行う場合、アウェイの中継装置３０Ｂがクライアント装置２０とサービス提供装置１０とを中継する。このとき、アウェイの中継装置３０Ｂは、ユーザ情報をホームの中継装置３０Ａから取得し、取得したユーザ情報を第１キャッシュテーブル３１１に一時的に格納する。
【００３０】
図６は、第１キャッシュテーブル３１１の一例を示す図である。第１キャッシュテーブル３１１には、アカウント情報と、メールアドレスと、使用言語と、組織ＩＤと、各サービス提供装置１０のトークンとに加えて、有効期限と、ホーム情報とが対応付けて格納される。アカウント情報、メールアドレス、使用言語、組織ＩＤおよびトークンは、ユーザ管理テーブル３０８に格納されるものと同様である。有効期限は、そのユーザ情報の有効期限を示す。ユーザ情報の有効期限は、中継装置３０等の装置によって設定される。中継装置３０のＣＰＵ３０１は、有効期限が切れたユーザ情報を第１キャッシュテーブル３１１から削除する。ホーム情報は、そのユーザ情報のユーザのホームを示す情報である。この例で、ホーム情報は、そのユーザのホームに対応する中継装置３０Ａを識別する情報である。
【００３１】
キャッシュ管理テーブル３１０は、自装置のユーザ管理テーブル３０８に格納されたユーザ情報の他の中継装置３０での利用状況を管理するためのテーブルである。この例で、キャッシュ管理テーブル３１０には、自装置以外の他の中継装置３０の第１キャッシュテーブル３１１に格納されているユーザ情報のユーザＩＤが、有効期限と、アウェイリストとに対応付けて格納される。有効期限は、中継装置３０によって設定される期限である。アウェイリストは、そのユーザ情報が一時的に格納されている中継装置３０を識別する識別情報のリストである。キャッシュ管理テーブル３１０にユーザＩＤが格納されている場合、そのユーザＩＤに対応するユーザ情報のコピーが他の中継装置３０の第１キャッシュテーブル３１１に格納されていることを意味する。なお、キャッシュ管理テーブル３１０には、ユーザＩＤだけでなく、ユーザ情報すべてが格納されてもよい。
【００３２】
図７は、第２キャッシュテーブル３１２の一例を示す図である。第２キャッシュテーブル３１２は、自装置がアウェイの中継装置３０Ｂとして動作する場合の、サービスの利用の自装置への割当量を示す割当情報を管理するためのテーブルである。第２キャッシュテーブル３１２には、組織ＩＤと、サービスＩＤと、ユーザＩＤリストと、割当量と、有効期限と、ホーム情報と、有効フラグとが対応付けて格納される。組織ＩＤ、サービスＩＤおよびユーザＩＤリストは、サービス利用管理テーブル３０９に格納されるものと同様である。割当量は、そのサービスの利用について自装置に割り当てられた利用量である。有効期限は、割り当てられたサービスの利用期限である。有効期限は、中継装置３０のＣＰＵ３０１が予め定められた規則に基づいて設定する。ホーム情報は、そのサービスを割り当てた中継装置３０を識別する情報である。すなわち、ホーム情報は、その組織に対応する地域を識別する情報である。有効フラグは、後述する割当情報の返却処理が行われる際に参照される。なお、以下の説明では、説明の便宜上、第１キャッシュテーブル３１１に格納されたユーザ情報および第２キャッシュテーブル３１２に格納された割当情報を、「キャッシュ情報」と称して説明する。
【００３３】
なお、サービス提供装置１０およびクライアント装置２０のハードウェア構成についての詳細な説明は省く。サービス提供装置１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ストレージおよび通信インターフェースを有するコンピュータ装置である。クライアント装置２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ストレージ、操作部、表示部、画像読取部および画像形成部を有する画像形成装置である。
【００３４】
２．動作
次に、システム１の動作について説明する。ユーザは通常、ホームに設置されたクライアント装置２０を利用する。まず、ユーザは、ホームに設置されたクライアント装置２０を用いて、ホームの中継装置３０Ａにアカウントを登録する。その後、サービス提供装置１０が提供するサービスを利用する場合、ユーザは、ホームに設置されたクライアント装置２０を用いてサービス提供装置１０にアクセスする。一方、例えば出張などによってユーザが一時的にアウェイに移動する場合がある。その場合、ユーザはアウェイに設置されたクライアント装置２０を用いてサービスを利用する。以下の説明では、中継装置３０にアカウントを登録する動作、ユーザがホームに設置されたクライアント装置２０を用いてサービスを利用する動作、ユーザがアウェイに設置されたクライアント装置２０を用いてユーザ情報の取得や更新を行う動作、ユーザがアウェイに設置されたクライアント装置２０を用いてサービスを利用する動作、などの動作を説明する。
【００３５】
２−１．アカウント登録動作
図８は、ユーザが中継装置３０にアカウントを登録する動作を示すシーケンス図である。この例では、ユーザＵ１が、クライアント装置２０Ａを用いて、ユーザＵ１のホームである地域４Ａの中継装置３０Ａにアカウントを登録する動作が示されている。まず、ユーザＵ１は、クライアント装置２０Ａを用いて中継装置３０Ａにアカウントの登録要求を行う。具体的には、ユーザは、クライアント装置２０Ａの操作部を用いた操作により、中継装置３０Ａにアカウントを登録するためのアカウント情報を入力する。例えば、ユーザＵ１はユーザＩＤとして「user01」を入力し、パスワードとして「password01」を入力する。また、ユーザＵ１が、自身のメールアドレス、使用言語および／または組織ＩＤを入力してもよい。
【００３６】
ステップＳ３０１において、クライアント装置２０Ａは、ユーザの操作により入力されたアカウント情報などのユーザ情報を含むアカウント登録要求を中継装置３０Ａに送信する。ステップＳ３０２において、中継装置３０ＡのＣＰＵ３０１は、アカウント登録要求に含まれるアカウント情報を自装置に登録する。すなわち、ＣＰＵ３０１は、アカウント登録要求に含まれるアカウント情報を、ユーザ管理テーブル３０８に格納する。
【００３７】
また、ＣＰＵ３０１は、ユーザがサービス提供装置１０の提供するサービスを利用するために必要なトークンの発行をサービス提供装置１０に依頼する。ステップＳ３０３において、ＣＰＵ３０１は、サービス提供装置１０にトークンの発行を要求する。サービス提供装置１０は、トークンの発行要求を中継装置３０Ａから受信する。ステップＳ３０４において、サービス提供装置１０はトークンを発行し、中継装置３０Ａへ送信する。中継装置３０Ａはサービス提供装置１０からトークンを受信する。ステップＳ３０５において、中継装置３０ＡのＣＰＵ３０１は受信したトークンを、ユーザＵ１のユーザＩＤと対応付けてユーザ管理テーブル３０８に格納する。ステップＳ３０６において、ＣＰＵ３０１は、アカウントの登録が正常に完了した旨をクライアント装置２０Ａに通知する。
【００３８】
２−２．ホームでサービスを利用する場合の動作
図９は、ユーザがホームのクライアント装置２０からサービスを利用する場合の動作を示すシーケンス図である。この例では、地域４Ａに属しているユーザＵ１が、クライアント装置２０Ａを用いてサービスを利用する場合の動作が示されている。まず、ユーザＵ１は、クライアント装置２０Ａを用いて中継装置３０Ａにログインする。具体的には、ユーザは、クライアント装置２０Ａの操作部を用いた操作により、中継装置３０Ａにログインするためのアカウント情報を入力する。例えば、中継装置３０Ａにログインするためのアカウント情報がユーザＩＤ「user01」およびパスワード「password01」である場合には、ユーザＵ１はこのユーザＩＤおよびパスワードを入力する。
【００３９】
ステップＳ１０１において、クライアント装置２０Ａは、ユーザの操作により入力されたアカウント情報を含む認証要求を中継装置３０Ａに送信する。ステップＳ１０２において、中継装置３０ＡのＣＰＵ３０１は、クライアント装置２０Ａから受信した認証要求に応じて、ユーザ認証を行う。具体的には、ＣＰＵ３０１は、認証要求に含まれるアカウント情報が、ユーザ管理テーブル３０８に格納されているか否かに基づいて、ユーザ認証を行う。認証要求に含まれるアカウント情報がユーザ管理テーブル３０８に格納されている場合、ユーザ認証は成功する。一方、認証要求に含まれるアカウント情報がユーザ管理テーブル３０８に格納されていない場合、ユーザ認証は失敗する。この例では、ユーザＵ１のアカウント情報はユーザ管理テーブル３０８に登録されているため、ユーザ認証は成功する。ユーザ認証に成功した場合、ＣＰＵ３０１は、ステップＳ１０３において、ステップＳ１０２で行ったユーザ認証の認証結果をクライアント装置２０Ａに送信する。
【００４０】
クライアント装置２０Ａはユーザ認証が成功したことを示す認証結果を受信した場合には、ステップＳ１０４に進む。一方、クライアント装置２０Ａは、ユーザ認証が失敗したことを示す認証結果を受信した場合には、以降の処理を行わずにこの処理を終了する。この例では、クライアント装置２０Ａは、ユーザ認証が成功したことを示す認証結果を受信し、ステップＳ１０４に進む。
【００４１】
ステップＳ１０４において、クライアント装置２０Ａは、サービス提供装置１０が提供するサービスの利用要求を中継装置３０Ａへ送信する。この利用要求には、ユーザＵ１のユーザＩＤとサービス提供装置１０が提供するサービスの種別を示す情報とが含まれる。中継装置３０ＡのＣＰＵ３０１は、クライアント装置２０Ａから利用要求を受信する。ＣＰＵ３０１は、受信した利用要求に含まれるユーザＩＤに対応するトークンをユーザ管理テーブル３０８から読み出す。このとき、ＣＰＵ３０１は、読み出したトークンの有効期限を参照し、有効期限が切れている場合には、サービス提供装置１０へトークンの更新を要求する。ステップＳ１０５において、ＣＰＵ３０１は、トークンの更新要求をサービス提供装置１０へ送信する。サービス提供装置１０は、中継装置３０Ａからの更新要求に応じて新たなトークンを発行する。ステップＳ１０６において、サービス提供装置１０は、発行したトークンを中継装置３０Ａへ送信する。中継装置３０ＡのＣＰＵ３０１は、更新されたトークンをサービス提供装置１０から受信する。ステップＳ１０７において、ＣＰＵ３０１は、受信されたトークンをユーザ管理テーブル３０８に格納する。なお、トークンの有効期限が切れていない場合には、ステップＳ１０５乃至ステップＳ１０７の処理は行われない。
【００４２】
ステップＳ１０８において、ＣＰＵ３０１は、更新されたトークンを用いてサービス提供装置１０へ利用要求を送信する。すなわち、ＣＰＵ３０１は、更新されたトークンと、ステップＳ１０４でクライアント装置２０Ａから受信した利用要求とを、サービス提供装置１０に送信する。サービス提供装置１０は利用要求およびトークンを受信し、受信したトークンを用いて自装置へのアクセスの可否を判定する。ステップＳ１０９において、サービス提供装置１０は、自装置へのアクセスを許可する場合は、受信した利用要求に対応する処理を実行する。例えば、サービス提供装置１０は、受信した利用要求に含まれるサービス種別に応じたサービスに関する処理を実行する。
【００４３】
２−３．アウェイでユーザ情報を取得する場合の動作
次いで、ユーザがアウェイのクライアント装置２０からユーザ情報を取得する動作について説明する。
【００４４】
図１０は、ユーザがアウェイのクライアント装置２０からユーザ情報を参照する場合の動作を示すシーケンス図である。この例では、地域４Ａに属しているユーザＵ１が、アウェイのクライアント装置２０Ｃを用いて自身のユーザ情報を参照する場合の動作が示されている。上述したように、各ユーザのユーザ情報は、そのユーザのホームの中継装置３０Ａにしか格納されておらず、アウェイの中継装置３０Ｂには格納されていない。すなわち、ユーザＵ１のユーザ情報は中継装置３０Ｂのユーザ管理テーブル３０８には格納されていない。また、この例では、ユーザＵ１のユーザ情報は中継装置３０Ｂの第１キャッシュテーブル３１１にも格納されていない。
【００４５】
ユーザＵ１は、まずクライアント装置２０Ｃを用いて中継装置３０Ｂにログインする。具体的には、ユーザＵ１は、クライアント装置２０Ｃの操作部を用いた操作により、中継装置３０Ｂにログインするためのアカウント情報を入力する。例えば、中継装置３０Ａにログインするためのアカウント情報がユーザＩＤ「user01」およびパスワード「password01」である場合には、ユーザＵ１はこのユーザＩＤおよびパスワードを入力する。
【００４６】
ステップＳ２０１において、クライアント装置２０Ｃは、ユーザの操作により入力されたアカウント情報を含む認証要求を中継装置３０Ｂに送信する。ステップＳ２０２において、中継装置３０ＢのＣＰＵ３０１は、クライアント装置２０Ｃから受信した認証要求に応じて、ユーザ認証を行う。具体的には、ＣＰＵ３０１は、認証要求に含まれるアカウント情報が、ユーザ管理テーブル３０８に格納されているか否かに基づいて、ユーザ認証を行う。この例で、中継装置３０Ｂのユーザ管理テーブル３０８にはユーザＵ１のユーザ情報は格納されていないため、ユーザ認証は失敗する。
【００４７】
ステップＳ２０２においてユーザ認証に失敗した場合、中継装置３０ＢのＣＰＵ３０１は、ステップＳ２０３において、受信した認証要求に含まれるアカウント情報が第１キャッシュテーブル３１１に格納されているか否かに基づいて、ユーザ認証を行う。アカウント情報が第１キャッシュテーブル３１１に格納されている場合は、ユーザ認証は成功する。一方、アカウント情報が第１キャッシュテーブル３１１に格納されていない場合は、ユーザ認証は失敗する。この例では、中継装置３０Ｂの第１キャッシュテーブル３１１にユーザＵ１のユーザ情報が記憶されていないため、ユーザ認証は失敗する。
【００４８】
ステップＳ２０３のユーザ認証に失敗した場合、中継装置３０ＢのＣＰＵ３０１は、他の全ての中継装置３０へ認証要求を送信し、その応答に基づいてユーザＵ１のホームの中継装置３０Ａを特定する。この例で、ＣＰＵ３０１は、ステップＳ２０４において、クライアント装置２０Ｃから受信した認証要求を、他の全ての中継装置３０、すなわち中継装置３０Ａおよび３０Ｃへ送信する。なお、図が煩雑になるのを防ぐため、図１０には中継装置３０Ｃの図示を省略している。
【００４９】
中継装置３０ＡのＣＰＵ３０１は、中継装置３０Ｂから認証要求を受信する。ステップＳ２０５において、中継装置３０ＡのＣＰＵ３０１は、受信した認証要求に応じてユーザ認証を行う。この例で、中継装置３０Ａのユーザ管理テーブル３０８にユーザＵ１のユーザ情報が格納されているため、ユーザ認証は成功する。ステップＳ２０６において、中継装置３０ＡのＣＰＵ３０１はユーザ認証が成功したことを示す認証結果を中継装置３０Ｂへ送信する。なお、中継装置３０Ｃについては、中継装置３０Ｃのユーザ管理テーブル３０８にはユーザＵ１のユーザ情報は格納されていないため、ユーザ認証は失敗する。中継装置３０ＣのＣＰＵ３０１は、認証が失敗したことを示す認証結果を中継装置３０Ｂへ送信する。
【００５０】
中継装置３０ＢのＣＰＵ３０１は、中継装置３０Ａおよび中継装置３０Ｃから認証結果を受信する。中継装置３０Ａからユーザ認証が成功したことを示す認証結果が受信されるため、ステップＳ２０７において、中継装置３０ＢのＣＰＵ３０１は、ユーザ認証が成功したことを示す認証結果をクライアント装置２０Ｃに送信する。クライアント装置２０Ｃはユーザ認証が成功したことを示す認証結果を受信した場合には、ステップＳ２０８に進む。一方、クライアント装置２０Ｃは、ユーザ認証が失敗したことを示す認証結果を受信した場合には、以降の処理を行わずにこの処理を終了する。この例では、クライアント装置２０Ｃは、ユーザ認証が成功したことを示す認証結果を受信し、ステップＳ２０８に進む。
【００５１】
ステップＳ２０８において、クライアント装置２０Ｃは、ユーザ情報の取得要求を中継装置３０Ｂに送信する。この取得要求には、ユーザＵ１のユーザＩＤが含まれる。中継装置３０ＢのＣＰＵ３０１はクライアント装置２０Ｃから取得要求を受信する。ステップＳ２０９において、ＣＰＵ３０１は、自装置の第１キャッシュテーブル３１１に、受信された取得要求に含まれるユーザＩＤに対応する有効なユーザ情報が記憶されているかを確認する。有効か否かは、第１キャッシュテーブル３１１に記憶されているユーザ情報の有効期限に基づいて判定される。
【００５２】
受信された取得要求に対応するユーザ情報が第１キャッシュテーブル３１１に記憶されていない場合、または記憶されていたとしても有効でない場合には、中継装置３０ＢのＣＰＵ３０１は、取得要求に含まれるユーザＩＤのユーザのホームの中継装置３０Ａに、ユーザ情報の取得要求を送信する。ここで、ホームの中継装置３０Ａとは、ステップＳ２０６において、ユーザ認証が成功したことを示す認証結果を送信した中継装置３０である。すなわち、ステップＳ２１０において、中継装置３０ＢのＣＰＵ３０１は、ユーザＵ１のホームの中継装置３０Ａに対して、ユーザ情報の取得要求を送信する。この取得要求には、クライアント装置２０Ｃから受信された取得要求に含まれるユーザＩＤが含まれる。
【００５３】
ステップＳ２１１において、中継装置３０ＡのＣＰＵ３０１は、中継装置３０Ｂから受信される取得要求に含まれるユーザＩＤと、予め定められた有効期限と、中継装置３０Ｂを識別する識別情報とをキャッシュ管理テーブル３１０に登録する。また、中継装置３０ＡのＣＰＵ３０１は、中継装置３０Ｂから受信される取得要求に含まれるユーザＩＤに対応するユーザ情報をユーザ管理テーブル３０８から読み出す。ステップＳ２１２において、中継装置３０ＡのＣＰＵ３０１は、読み出したユーザ情報を中継装置３０Ｂに送信する。
【００５４】
中継装置３０Ｂは中継装置３０Ａからユーザ情報を受信する。ステップＳ２１３において、中継装置３０ＢのＣＰＵ３０１は、受信されたユーザ情報の有効期限を設定し、第１キャッシュテーブル３１１に格納する。また、中継装置３０ＢのＣＰＵ３０１は、受信されたユーザ情報のホームを示すホーム情報を第１キャッシュテーブル３１１に格納する。ステップＳ２１４において、中継装置３０ＢのＣＰＵ３０１は、受信されたユーザ情報をクライアント装置２０Ｃに送信する。クライアント装置２０Ｃは、ユーザ情報を受信し、受信したユーザ情報を用いて、ユーザによって指示される処理を実行する。
【００５５】
さて、ステップＳ２１２において、中継装置３０Ｂの第１キャッシュテーブル３１１にはユーザＵ１のユーザ情報が格納される。そのため、ユーザＵ１がアウェイのクライアント装置２０Ｃを用いて再度ユーザ情報の取得を行った場合、第１キャッシュテーブル３１１に格納されているユーザ情報が用いられる。具体的には、図１０のステップＳ２０３のユーザ認証において、中継装置３０Ｂの第１キャッシュテーブル３１１にユーザＵ１のユーザ情報が格納されているためユーザ認証は成功する。この場合、ステップＳ２０４ないしステップＳ２０６の処理はスキップされる。このとき、ＣＰＵ３０１は、ユーザＵ１のユーザ情報の有効期限を予め定められた規則に基づいて更新する（有効期間を延長する）。また、第１キャッシュテーブル３１１にユーザＵ１のユーザ情報が格納されている場合には、ステップＳ２１０ないしステップＳ２１２の処理もスキップされる。なお、ユーザ情報の有効期限の更新処理は、ステップＳ２０３の認証処理の際に行われてもよく、また、ステップＳ２０９の判定処理の際に行われてもよい。
【００５６】
ところで、ユーザがアウェイでサービスを利用するとき、その都度ホームの中継装置３０Ａからユーザ情報を取得すると、通信などに時間が要されるため、パフォーマンスが悪い。それに対しこの実施形態では、アウェイの中継装置３０Ｂでユーザ情報をキャッシュ情報として保持しておき、ホームの中継装置３０ではアウェイの中継装置３０Ｂでのキャッシュ情報の利用状況を管理する。このようにすることで、ユーザがアウェイでサービスを利用する場合のパフォーマンスが悪くなることが防止される。
【００５７】
２−４．アウェイからユーザ情報を更新する場合の動作
次いで、ユーザがアウェイのクライアント装置２０からユーザ情報を更新する動作について説明する。なお、この動作は、図１０に示したユーザ情報の取得動作に続くものである。
【００５８】
図１１は、ユーザＵ１がアウェイのクライアント装置２０Ｃからユーザ情報を更新する動作を示すシーケンス図である。ユーザＵ１は、クライアント装置２０Ｃの操作部を用いてユーザ情報を変更する。例えば、ユーザＵ１は、自身のアカウント情報のパスワードを変更する。ステップＳ４０１において、クライアント装置２０Ｃは、変更されたユーザ情報を含む変更要求を、中継装置３０Ｂへ送信する。この変更要求には、ユーザＵ１のユーザＩＤが含まれる。中継装置３０Ｂはクライアント装置２０Ｃから変更要求を受信する。ステップＳ４０１において、中継装置３０Ｂは、クライアント装置２０Ｃから受信した変更要求を、ユーザＵ１のホームの中継装置である中継装置３０Ａへ転送する。
【００５９】
中継装置３０Ａは、中継装置３０Ｂから変更要求を受信する。中継装置３０ＡのＣＰＵ３０１は、キャッシュ管理テーブル３１０にユーザＵ１のユーザ情報が登録されているか否かを確認する。キャッシュ管理テーブル３１０にユーザＵ１のユーザ情報が登録されている場合、中継装置３０Ａは、他の中継装置３０に、キャッシュ情報の無効化を通知する。一方、キャッシュ管理テーブル３１０にユーザＵ１のユーザ情報が登録されていない場合、中継装置３０ＡはステップＳ４０２ないしステップＳ４０４の処理をスキップする。
【００６０】
この例では、図１０のステップＳ２１１においてユーザＵ１のユーザ情報がキャッシュ管理テーブル３１０に登録されている。キャッシュ管理テーブル３１０にユーザＵ１のユーザ情報が登録されているため、ステップＳ４０２において、中継装置３０ＡのＣＰＵ３０１は、他の中継装置３０である中継装置３０Ｂおよび中継装置３０Ｃに、キャッシュ情報の無効化を通知する。また、ステップＳ４０３において、中継装置３０ＡのＣＰＵ３０１は、ユーザＵ１のユーザ情報をキャッシュ管理テーブル３１０から削除する。
【００６１】
ステップＳ４０４において、中継装置３０ＡのＣＰＵ３０１は、ステップＳ４０１で受信した変更要求に基づいて、自装置のユーザ管理テーブル３０８に格納されているユーザ情報を更新する。
【００６２】
２−５．アウェイからサービスを利用する場合の動作
次いで、ユーザがアウェイのクライアント装置２０からサービスを利用する動作について説明する。
【００６３】
図１２は、ユーザがアウェイのクライアント装置２０からサービス提供装置１０によって提供されるサービスを利用する動作を示すシーケンス図である。図１２に示す動作が、図１０に示した動作と異なる点は、ステップＳ２０８ないしステップＳ２１４の処理を行うに代えて、ステップＳ２５８ないしステップＳ２６５の処理を行う点である。なお、図１２において、図１０と同様の処理については同じ符号を付してその説明を省略する。
【００６４】
ステップＳ２５８において、クライアント装置２０Ｃはサービスの利用要求を中継装置３０Ｂに送信する。この利用要求には、ユーザＵ１のユーザＩＤと、サービスを識別するサービスＩＤとが含まれる。中継装置３０ＢのＣＰＵ３０１はクライアント装置２０Ｃから利用要求を受信する。ステップＳ２５９において、ＣＰＵ３０１は、自装置の第１キャッシュテーブル３１１に、受信された利用要求に含まれるユーザＩＤとサービスＩＤとに対応する有効なトークンが記憶されているかを確認する。有効か否かは、第１キャッシュテーブル３１１に記憶されているトークンの有効期限に基づいて判定される。
【００６５】
受信された利用要求に対応するトークンが第１キャッシュテーブル３１１に記憶されていない場合、または記憶されていたとしても有効でない場合には、中継装置３０ＢのＣＰＵ３０１は、利用要求に含まれるユーザＩＤのユーザのホームの中継装置３０Ａに、トークンの取得要求を送信する。すなわち、ステップＳ２６０において、中継装置３０ＢのＣＰＵ３０１は、ユーザＵ１のホームの中継装置３０Ａに対して、トークンの取得要求を送信する。
【００６６】
ステップＳ２６１において、中継装置３０ＡのＣＰＵ３０１は、中継装置３０Ｂから受信される取得要求に含まれるユーザＩＤに対応するユーザ情報（またはトークン）をキャッシュ管理テーブル３１０に格納する。また、中継装置３０ＡのＣＰＵ３０１は、中継装置３０Ｂから受信される取得要求に含まれるユーザＩＤに対応するトークンをユーザ管理テーブル３０８から読み出す。ステップＳ２６２において、中継装置３０ＡのＣＰＵ３０１は、読み出したユーザ情報を中継装置３０Ｂに送信する。
【００６７】
中継装置３０Ｂは中継装置３０Ａからトークンを受信する。ステップＳ２６３において、中継装置３０ＢのＣＰＵ３０１は、受信されたトークンの有効期限を設定し、第１キャッシュテーブル３１１に格納する。また、中継装置３０ＢのＣＰＵ３０１は、受信されたトークンのホームを示すホーム情報を第１キャッシュテーブル３１１に格納する。ステップＳ２６４において、中継装置３０ＢのＣＰＵ３０１は、受信されたトークンを用いてサービス提供装置１０へ利用要求を送信する。すなわち、ＣＰＵ３０１は、受信されたトークンと、ステップＳ２５８でクライアント装置２０Ａから受信した利用要求とを、サービス提供装置１０に送信する。サービス提供装置１０は利用要求およびトークンを受信し、受信したトークンを用いて自装置へのアクセスの可否を判定する。ステップＳ２６５において、サービス提供装置１０は、自装置へのアクセスを許可する場合は、受信した利用要求に対応する処理を実行する。例えば、サービス提供装置１０は、受信した利用要求に含まれるサービス種別に応じたサービスに関する処理を実行する。
【００６８】
なお、ステップＳ２５９において、中継装置３０Ｂの第１キャッシュテーブル３１１に有効なトークンが記憶されている場合には、ステップＳ２６０ないしステップＳ２６３の処理はスキップされる。この場合、中継装置３０Ｂは、ステップＳ２６４において、第１キャッシュテーブル３１１に記憶されているトークンと、利用要求とをサービス提供装置１０に送信する。
【００６９】
２−６．アウェイからサービスを利用する場合の動作
次いで、ユーザがアウェイのクライアント装置２０から、利用量の上限が設定されているサービス（以下、「有償サービス」という）を利用する動作について説明する。
【００７０】
図１３は、ユーザがアウェイのクライアント装置２０から、有償サービスを利用する動作を示すシーケンス図である。この例では、中継装置３０Ａのサービス利用管理テーブル３０９の内容が図５に示すものであるとする。なお、図１３に示す例では、発明の理解を容易にするため、トークンに関する処理についてはその図示を省略している。図１３に示す動作が、図１２に示した動作と異なる点は、ステップＳ２５８ないしステップＳ２６５の処理を行うに代えて、ステップＳ５０１ないしステップＳ５１５の処理を行う点である。なお、図１３において、図１２と同様の処理については同じ符号を付してその説明を省略する。
【００７１】
ステップＳ５０１において、クライアント装置２０Ｃはサービスの利用要求を中継装置３０Ｂに送信する。この利用要求には、ユーザＵ１のユーザＩＤと、サービスを識別するサービスＩＤとが含まれる。中継装置３０ＢのＣＰＵ３０１はクライアント装置２０Ｃから利用要求を受信する。ステップＳ５０２において、中継装置３０ＢのＣＰＵ３０１は、自装置の第２キャッシュテーブル３１２に、受信された利用要求に含まれるユーザＩＤとサービスＩＤとに対応する有効なキャッシュ情報が記憶されているかを確認する。有効か否かは、第２キャッシュテーブル３１２に記憶されている割当情報の有効期限に基づいて判定される。
【００７２】
受信された利用要求に対応する割当情報が第２キャッシュテーブル３１２に記憶されていない場合、または記憶されていたとしても有効でない場合には、中継装置３０ＢのＣＰＵ３０１は、利用要求に含まれるユーザＩＤに対応するホームの中継装置３０Ａに、サービスの利用の割当要求を送信する。すなわち、ステップＳ５０３において、中継装置３０ＢのＣＰＵ３０１は、ユーザＵ１のホームの中継装置３０Ａに対して、サービスの利用量の割当要求を送信する。この例では、中継装置３０ＢのＣＰＵ３０１は、クライアント装置２０Ｃから要求された利用量よりも多い利用量の割当を要求する。例えば、クライアント装置２０Ｃから文字認識サービスの１００枚分の利用要求を受信した場合は、中継装置３０ＢのＣＰＵ３０１は、文字認識サービスの１２０枚分の割当要求を、ホームの中継装置３０Ａに送信する。また、クライアント装置２０Ｃから送信される処理要求には、文字認識サービスの利用を示す情報があるが利用量の情報が含まれていない場合もあり得る。この場合は、中継装置３０ＢのＣＰＵ３０１は、クライアント装置２０Ｃから送信される処理要求とともに送信される文書データを解析し、文字認識サービスの処理を行うべき枚数を特定し、この特定した処理枚数に対応する利用量よりも多い利用量の割り当て要求を、ホームの中継装置３０Ａに送信するように構成してもよい。さらに、クライアント装置２０Ｃから送信される処理要求に利用量の情報や文字認識サービスの処理を行うべき文書データが含まれていない場合は、所定の利用量の割り当て要求をホームの中継装置３０Ａに送信するように構成してもよい。
【００７３】
ステップＳ５０４において、中継装置３０ＡのＣＰＵ３０１は、中継装置３０Ｂから受信される割当要求に応じて、サービスの利用量の割当処理を行う。具体的には、例えば、割当要求に含まれるユーザＩＤとサービスＩＤが「user01」と「文字認識」であり、要求されている割当量が「１２０枚」である場合には、ＣＰＵ３０１は、サービス利用管理テーブル３０９の「user01」と「文字認識」とに対応する利用可能量「１５０枚」から「１２０枚」を減算して、利用可能量を「３０枚」とする。また、ＣＰＵ３０１は、サービス利用管理テーブル３０９の「user01」と「文字認識」とに対応する「アウェイ割当リスト」に、中継装置３０Ｂに「１２０枚」を割り当てた旨を登録する。
【００７４】
ステップＳ５０５において、中継装置３０ＡのＣＰＵ３０１は、割り当てた利用量を示す割当情報を、中継装置３０Ｂに返信する。なお、ステップＳ５０４において、割当を要求された利用量が、サービス利用管理テーブル３０９に格納されている利用可能量を上回る場合は、中継装置３０Ａは、割当を行わない旨を中継装置３０Ａに返信する。
【００７５】
中継装置３０ＢのＣＰＵ３０１は、中継装置３０Ａから割当情報を受信する。ステップＳ５０６において、中継装置３０ＢのＣＰＵ３０１は、第２キャッシュテーブル３１２に、受信した割当情報を格納する。
【００７６】
ステップＳ５０７において、中継装置３０ＢのＣＰＵ３０１は、サービス提供装置１０へ利用要求を送信する。サービス提供装置１０は利用要求を受信し、Ｓ５０８において、受信した利用要求に対応する処理を実行する。例えば、サービス提供装置１０は、受信した利用要求に含まれるサービス種別に応じたサービスに関する処理を実行する。処理を終えると、ステップＳ５０９において、サービス提供装置１０は、処理結果を中継装置３０Ｂに送信する。
【００７７】
中継装置３０ＢのＣＰＵ３０１は、サービス提供装置１０から処理結果を受信する。ステップＳ５１０において、ＣＰＵ３０１は、処理結果の示すサービスの利用量を、第２キャッシュテーブル３１２に登録されている利用量から減算し、登録されている利用量を更新する。
【００７８】
２−７．割り当てられた利用量の返却動作
次いで、アウェイの中継装置３０Ｂが自装置に割り当てられた利用量を、ホームの中継装置３０Ａに返却する動作について説明する。
【００７９】
図１４は、割当情報の返却動作を示すシーケンス図である。アウェイの中継装置３０ＢのＣＰＵ３０１は、第２キャッシュテーブル３１２に格納されている割当情報の有効期限と、第１キャッシュテーブル３１１に格納されているユーザ情報の有効期限とを定期的に確認する。いずれかの有効期限が期限切れである場合は、中継装置３０ＢのＣＰＵ３０１は、割当情報の返却処理を開始する。なお、返却処理が開始されるタイミングはこれに限られない。例えば、ホームの中継装置３０Ａからの返却要求が受信された場合に、返却処理が開始されてもよい。
【００８０】
ステップＳ６０１において、中継装置３０ＢのＣＰＵ３０１は、有効期限が切れた割当情報、または有効期限が切れたユーザ情報に対応する割当情報の有効フラグを「無効」にする。ステップＳ６０２において、ＣＰＵ３０１は、第２キャッシュテーブル３１２に格納されている割当情報から返却情報を生成し、ホームの中継装置３０Ａに送信する。この返却情報には返却される利用量を示す情報が含まれる。返却情報の例としては、アウェイの中継装置３０Ｂが自装置に割り当てられた利用量から、自装置で実施したサービスに応じて減算した残存利用量を返却情報としてもよい。また、返却情報として、実施したサービスの利用量の和の値を返却情報としてもよい。
【００８１】
中継装置３０Ａは中継装置３０Ｂから返却情報を受信する。ステップＳ６０３において、中継装置３０ＡのＣＰＵ３０１は、返却された返却情報に含まれる残存利用量を、サービス利用管理テーブル３０９に登録されている利用可能量に足し合わせることによって返却を受け付ける。また、割り当てた利用量から返却された返却情報に含まれる利用量の和の値を差し引いた利用料をサービス利用管理テーブル３０９に登録されている利用可能量に足し合わせることによって返却を受け付けるようにしてもよい。次に、中継装置３０ＡのＣＰＵ３０１は、サービス利用管理テーブル３０９の「アウェイ割当リスト」に登録されている中継装置３０Ｂの情報を削除する。ステップＳ６０４において、中継装置３０Ａは、返却処理が完了した旨を示す完了通知を中継装置３０Ｂに送信する。
【００８２】
中継装置３０Ｂは中継装置３０Ａから完了通知を受信する。ステップＳ６０５において、中継装置３０ＡのＣＰＵ３０１は、第２キャッシュテーブル３１２から、返却した返却情報、すなわちステップＳ６０１において有効フラグを「無効」にした割当情報を削除する。
【００８３】
３．変形例
上述した実施形態は、本発明の一例である。これらの実施形態は、以下のように変形してもよい。また、以下の変形例は、互いに組み合わせてもよい。
【００８４】
３−１．変形例１
上述の実施形態では、アウェイの中継装置３０Ｂは、他の中継装置３０へ認証要求を送信し（図１０のステップＳ２０３）、ステップＳ２０５においてユーザ認証が成功したことを示す認証結果の送信元の中継装置３０を、ホームの中継装置３０Ａとした。すなわち、アウェイの中継装置３０Ｂは、他の全ての中継装置３０に対して問い合わせを行った。アウェイの中継装置３０Ｂがホームの中継装置３０Ａを特定する手法はこれに限られない。
【００８５】
例えば、アウェイの中継装置３０ＢのＣＰＵ３０１が、自装置が設置されている位置からの距離が予め定められた条件を満たす（例えば、距離が近い）他の中継装置３０に対して問い合わせを行い、問い合わせ結果に応じてホームの中継装置３０Ａを特定してもよい。この場合、例えば、自装置からの距離が予め定められた条件を満たす他の中継装置３０を示す情報をストレージ３０４等の記憶手段に予め記憶しておき、ＣＰＵ３０１が記憶手段に記憶された情報に基づいて問い合わせを行ってもよい。
【００８６】
また、他の例として、ホームの中継装置３０Ａにおいて、ユーザが出張する可能性のある地域を示す情報をユーザ毎に記憶手段に予め記憶しておき、ＣＰＵ３０１が記憶手段に記憶された情報の示す地域の中継装置３０に対して問い合わせを行ってもよい。また、ユーザが出張する可能性のある地域を予めホームの中継装置３０Ａに登録しておき、ホームの中継装置３０Ａがアウェイの中継装置３０Ｂへ、そのユーザのホームが自装置に対応する地域であることを通知してもよい。
【００８７】
また、他の例として、組織と地域とのマッピング情報を予め中継装置３０の記憶手段に記憶しておき、アウェイの中継装置３０ＢのＣＰＵ３０１が、このマッピング情報を参照してホームの中継装置３０Ａを特定してもよい。この場合、アウェイの中継装置３０Ｂは、ユーザに対応する組織をユーザ管理テーブル３０８を参照して特定し、特定した組織に対応する地域を上記マッピング情報に基づいて特定する。
【００８８】
また、他の例として、ユーザがクライアント装置２０の操作部を用いてホームを選択してもよい。この場合、クライアント装置２０は、操作部から出力される情報に基づいて、ホームを示すホーム情報を中継装置３０へ送信する。中継装置３０はクライアント装置２０から受信されるホーム情報に基づいてホームの中継装置３０Ａを特定する。
【００８９】
また、他の例として、ユーザとホームとの対応関係を示すテーブルを、アウェイの中継装置３０Ｂに予め登録しておく構成とし、アウェイの中継装置３０Ｂは、このテーブルを参照してホームの中継装置３０Ａを特定してもよい。
【００９０】
３−２．変形例２
上述の実施形態に係るシステム１は、サービス提供装置１０Ａ、１０Ｂおよび１０Ｃと、クライアント装置２０Ａ、２０Ｂ、２０Ｃおよび２０Ｄと、中継装置３０Ａ、３０Ｂおよび３０Ｃとを備えていた。サービス提供装置１０、クライアント装置２０および中継装置３０の台数はシステム１で示した台数に限られない。
【００９１】
３−３．変形例３
図１１に示したユーザ情報の更新処理において、中継装置３０Ａは、ステップＳ４０３に示す処理に代えて、以下の処理を行ってもよい。中継装置３０Ａは、更新する前のユーザ情報が格納されているアウェイの中継装置３０Ｂに対して、ステップＳ４０４で更新したユーザ情報を送信することによって、ユーザ情報を更新した旨を通知してもよい。この場合は、更新されたユーザ情報を受信したアウェイの中継装置３０Ｂは、受信したユーザ情報で第１キャッシュテーブル３１１に記憶されたユーザ情報を更新すればよい。また、このとき、アウェイの中継装置３０Ｂは、更新したユーザ情報の有効期限を延長してもよい。
【００９２】
３−４．変形例４
図１３のステップＳ５０４に示した割当処理において、中継装置３０Ｂから要求された割当量がサービス利用管理テーブル３０９に格納された利用可能量よりも多い場合に、中継装置３０ＡのＣＰＵ３０１が、他のアウェイの中継装置３０Ｂに返却要求を送信してもよい。この場合、中継装置３０ＡのＣＰＵ３０１は、他のアウェイの中継装置３０Ｂからの返却量が予め定められた条件を満たす場合に、中継装置３０Ｂに対する割当処理を行えばよい。
【００９３】
３−５．変形例５
図１３に示した処理では、ホームの中継装置３０ＡのＣＰＵ３０１は、ステップＳ５０４において割当処理を行ったときに、サービス利用管理テーブル３０９に記憶された利用可能量から割当量を減算する処理を行った。減算処理を行うタイミングはこれに限られない。例えば、ホームの中継装置３０ＡのＣＰＵ３０１は、ステップＳ５０４のタイミングにおいては上記減算処理を行わずに、割当量を記憶手段に記憶しておき、図１４のステップＳ６０３の処理において、アウェイの中継装置３０Ｂから返却された返却情報を上記記憶手段に記憶された割当量から減算し、減算結果をサービス利用管理テーブル３０９に記憶された利用可能量から減算してもよい。
【００９４】
３−６．変形例６
上述した実施形態において、中継装置３０のＣＰＵ３０１により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、このプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
【符号の説明】
【００９５】
１…システム、１０Ａ、１０Ｂ、１０Ｃ…サービス提供装置、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ…クライアント装置、３０Ａ、３０Ｂ、３０Ｃ…中継装置、３１…利用要求受信手段、３２…割当要求送信手段、３３…割当量受信手段、３４…返却情報生成手段、３５…返却情報送信手段、４１…記憶手段、４２…割当要求受信手段、４３…割当量送信手段、４４…返却情報受信手段、４５…更新手段、３０１…ＣＰＵ、３０２…ＲＯＭ、３０３…ＲＡＭ、３０４…ストレージ、３０５…通信ＩＦ、３０６…ディスプレイ、３０７…操作部、３０８…ユーザ管理テーブル、３０９…サービス利用管理テーブル、３１０…キャッシュ管理テーブル、３１１…第１キャッシュテーブル
【図１】
2015176548.tif 000003
【図２】
2015176548.tif 000004
【図３】
2015176548.tif 000005
【図４】
2015176548.tif 000006
【図５】
2015176548.tif 000007
【図６】
2015176548.tif 000008
【図７】
2015176548.tif 000009
【図８】
2015176548.tif 000010
【図９】
2015176548.tif 000011
【図１０】
2015176548.tif 000012
【図１１】
2015176548.tif 000013
【図１２】
2015176548.tif 000014
【図１３】
2015176548.tif 000015
【図１４】
2015176548.tif 000016