(57)【要約】【課題】利用者に関するデータが複数の記憶領域に記憶されているシステムにおいて、利用者の利用権限を削除する際の削除リクエストに対するレスポンスの遅延を抑制する。【解決手段】中継装置３０のＣＰＵは、クライアント装置２０からユーザのアカウントを削除する旨のリクエストを受信すると、受信されたリクエストに含まれるユーザＩＤをユーザ管理テーブル３０８から検索する。ＣＰＵは、検索されたユーザＩＤに対応する状態情報の値を「REGISTERED」から「NOT_REGISTERED」に変更し、クライアント装置２０にレスポンスを送信する。その後、予め定められたタイミングにおいて、ＣＰＵは、状態情報の値が「NOT_REGISTERED」であるユーザに関するユーザデータをデータベースから削除するための処理を実行する。【選択図】図２
2015215843.tif 000002
【特許請求の範囲】
【請求項１】
利用者毎のサービスの利用権限の状態を示す状態情報を含む利用者情報を管理する利用者管理テーブルを記憶する記憶手段と、
利用者の利用権限を削除する旨のリクエストをクライアント装置から受信する受信手段と、
前記リクエストが受信されたときに、前記利用者管理テーブルに記憶されている状態情報のうちの該リクエストに対応する利用者の状態情報の値を、削除を示す値に変更する変更手段と、
前記状態情報の値が変更されたときに、前記受信したリクエストに対するレスポンスを送信する送信手段と、
予め定められたタイミングにおいて、前記状態情報の値が削除を示す値である利用者に関するデータが記憶されている自装置の記憶領域および他の中継装置の記憶領域から該データを削除するための処理を実行する処理実行手段と
を有する中継装置。
【請求項２】
前記処理実行手段は、前記状態情報の値が削除を示す値である利用者に対応するデータの削除処理を示す１または複数の処理情報を、削除テーブルに登録し、
前記削除テーブルに登録された処理情報の示す削除処理の実行が完了した旨を示す通知を、前記他の中継装置から受信する通知受信手段と、
前記受信された通知に対応する処理情報を、前記削除テーブルから削除する処理情報削除手段と
を更に有する請求項１に記載の中継装置。
【請求項３】
前記処理実行手段は、前記削除テーブルに登録した処理情報に対応する利用者情報を、前記利用者管理テーブルから削除する
請求項２に記載の中継装置。
【請求項４】
前記処理実行手段は、前記状態情報の値が削除を示す値である利用者を識別する識別情報を削除リストに追加し、
前記削除リストに登録された識別情報の利用者に関するデータの削除が完了した旨を示す通知を、前記他の中継装置から受信する通知受信手段と、
前記受信された通知に対応する識別情報を、前記削除リストから削除する識別情報削除手段と
を更に有する請求項１に記載の中継装置。
【請求項５】
予め定められたタイミングにおいて、自装置に記憶されている削除テーブルに登録されている処理情報の示す削除処理を実行するとともに、予め定められたタイミングにおいて、他の中継装置に記憶されている削除テーブルに登録されている処理情報の示す削除処理を実行する削除処理実行手段
を更に有する請求項２に記載の中継装置。
【請求項６】
予め定められたタイミングにおいて、自装置に記憶されている削除リストに登録されている識別情報の利用者に対応するデータの削除処理を実行するとともに、予め定められたタイミングにおいて、他の中継装置に記憶されている削除リストに登録されている識別情報の利用者に対応するデータの削除処理を実行する削除処理実行手段
を更に有する請求項４に記載の中継装置。
【請求項７】
第１中継装置と、
第２中継装置と
を有し、
前記第１中継装置は、
利用者毎のサービスの利用権限の状態を示す状態情報を含む利用者情報を管理する利用者管理テーブルを記憶する記憶手段と、
利用者の利用権限を削除する旨のリクエストをクライアント装置から受信する受信手段と、
前記リクエストを受信したときに、前記利用者管理テーブルに記憶されている状態情報のうちの該リクエストに対応する利用者の状態情報の値を、削除を示す値に変更する変更手段と、
前記状態情報の値を変更したときに、前記受信したリクエストに対するレスポンスを送信する送信手段と、
予め定められたタイミングにおいて、前記状態情報の値が削除を示す値である利用者に関するデータが記憶されている自装置の記憶領域および前記第２の中継装置の記憶領域から該データを削除するための処理を実行する処理実行手段と
を備え、
前記第２中継装置は、
予め定められたタイミングにおいて、前記第１中継装置の利用者管理テーブルにおいて前記状態情報の値が削除を示す値である利用者に対応するデータを、自装置の前記記憶領域から削除する処理を実行する削除処理実行手段と
を備える
システム。
【請求項８】
利用者毎のサービスの利用権限の状態を示す状態情報を含む利用者情報を管理する利用者管理テーブルを記憶する記憶手段を有するコンピュータに、
利用者の利用権限を削除する旨のリクエストをクライアント装置から受信するステップと、
前記リクエストを受信したときに、前記利用者管理テーブルに記憶されている状態情報のうちの該リクエストに対応する利用者の状態情報の値を、削除を示す値に変更するステップと、
前記状態情報の値を変更したときに、前記受信したリクエストに対するレスポンスを送信するステップと、
予め定められたタイミングにおいて、前記状態情報の値が削除を示す値である利用者に関するデータが記憶されている当該コンピュータの記憶領域および他のコンピュータの記憶領域から該データを削除するための処理を実行するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、システム及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク上のサーバ装置を利用するときに、中継装置を介してサーバ装置にアクセスする技術が知られている。例えば、特許文献１および２には、多機能装置が中継装置と連携して、サービス提供装置にデータをアップロードしたり、サービス提供装置からデータをダウンロードしたりする技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１３７０１号公報
【特許文献２】特開２０１２−１１８９７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、利用者に関するデータが複数の記憶領域に記憶されているシステムにおいて、利用者の利用権限を削除する際の削除リクエストに対するレスポンスの遅延を抑制することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係る発明は、利用者毎のサービスの利用権限の状態を示す状態情報を含む利用者情報を管理する利用者管理テーブルを記憶する記憶手段と、利用者の利用権限を削除する旨のリクエストをクライアント装置から受信する受信手段と、前記リクエストが受信されたときに、前記利用者管理テーブルに記憶されている状態情報のうちの該リクエストに対応する利用者の状態情報の値を、削除を示す値に変更する変更手段と、前記状態情報の値が変更されたときに、前記受信したリクエストに対するレスポンスを送信する送信手段と、予め定められたタイミングにおいて、前記状態情報の値が削除を示す値である利用者に関するデータが記憶されている自装置の記憶領域および他の中継装置の記憶領域から該データを削除するための処理を実行する処理実行手段とを有する中継装置を提供する。
【０００６】
請求項２に係る発明は、請求項１に記載の構成において、前記処理実行手段は、前記状態情報の値が削除を示す値である利用者に対応するデータの削除処理を示す１または複数の処理情報を、削除テーブルに登録し、前記削除テーブルに登録された処理情報の示す削除処理の実行が完了した旨を示す通知を、前記他の中継装置から受信する通知受信手段と、前記受信された通知に対応する処理情報を、前記削除テーブルから削除する処理情報削除手段とを更に有することを特徴とする。
【０００７】
請求項３に係る発明は、請求項２に記載の構成において、前記処理実行手段は、前記削除テーブルに登録した処理情報に対応する利用者情報を、前記利用者管理テーブルから削除することを特徴とする。
【０００８】
請求項４に係る発明は、請求項１に記載の構成において、前記処理実行手段は、前記状態情報の値が削除を示す値である利用者を識別する識別情報を削除リストに追加し、前記削除リストに登録された識別情報の利用者に関するデータの削除が完了した旨を示す通知を、前記他の中継装置から受信する通知受信手段と、前記受信された通知に対応する識別情報を、前記削除リストから削除する識別情報削除手段とを更に有することを特徴とする。
【０００９】
請求項５に係る発明は、請求項２に記載の構成において、予め定められたタイミングにおいて、自装置に記憶されている削除テーブルに登録されている処理情報の示す削除処理を実行するとともに、予め定められたタイミングにおいて、他の中継装置に記憶されている削除テーブルに登録されている処理情報の示す削除処理を実行する削除処理実行手段を更に有することを特徴とする。
【００１０】
請求項６に係る発明は、請求項４に記載の構成において、予め定められたタイミングにおいて、自装置に記憶されている削除リストに登録されている識別情報の利用者に対応するデータの削除処理を実行するとともに、予め定められたタイミングにおいて、他の中継装置に記憶されている削除リストに登録されている識別情報の利用者に対応するデータの削除処理を実行する削除処理実行手段を更に有することを特徴とする。
【００１１】
請求項７に係る発明は、第１中継装置と、第２中継装置とを有し、前記第１中継装置は、利用者毎のサービスの利用権限の状態を示す状態情報を含む利用者情報を管理する利用者管理テーブルを記憶する記憶手段と、利用者の利用権限を削除する旨のリクエストをクライアント装置から受信する受信手段と、前記リクエストを受信したときに、前記利用者管理テーブルに記憶されている状態情報のうちの該リクエストに対応する利用者の状態情報の値を、削除を示す値に変更する変更手段と、前記状態情報の値を変更したときに、前記受信したリクエストに対するレスポンスを送信する送信手段と、予め定められたタイミングにおいて、前記状態情報の値が削除を示す値である利用者に関するデータが記憶されている自装置の記憶領域および前記第２の中継装置の記憶領域から該データを削除するための処理を実行する処理実行手段とを備え、前記第２中継装置は、予め定められたタイミングにおいて、前記第１中継装置の利用者管理テーブルにおいて前記状態情報の値が削除を示す値である利用者に対応するデータを、自装置の前記記憶領域から削除する処理を実行する削除処理実行手段とを備えるシステムを提供する。
【００１２】
請求項８に係る発明は、利用者毎のサービスの利用権限の状態を示す状態情報を含む利用者情報を管理する利用者管理テーブルを記憶する記憶手段を有するコンピュータに、利用者の利用権限を削除する旨のリクエストをクライアント装置から受信するステップと、前記リクエストを受信したときに、前記利用者管理テーブルに記憶されている状態情報のうちの該リクエストに対応する利用者の状態情報の値を、削除を示す値に変更するステップと、前記状態情報の値を変更したときに、前記受信したリクエストに対するレスポンスを送信するステップと、予め定められたタイミングにおいて、前記状態情報の値が削除を示す値である利用者に関するデータが記憶されている当該コンピュータの記憶領域および他のコンピュータの記憶領域から該データを削除するための処理を実行するステップとを実行させるためのプログラムを提供する。
【発明の効果】
【００１３】
請求項１、７および８に係る発明によれば、利用者に関するデータが複数の記憶領域に記憶されているシステムにおいて、状態情報の値が変更されたときにレスポンスを送信しない場合と比べて、利用者の利用権限を削除する旨の削除リクエストに対するレスポンスの遅延が抑制される。
請求項２に係る発明によれば、データの削除処理を示す処理情報を削除テーブルに登録しない場合に比べて、実行すべき削除処理を管理し易い。
請求項３に係る発明によれば、削除テーブルに登録した処理情報に対応する利用者情報を利用者管理テーブルから削除しない場合に比べて、利用権限を有する利用者の管理を行い易い。
請求項４に係る発明によれば、状態情報の値が削除を示す値である利用者を識別する識別情報を削除リストに追加しない場合に比べて、削除すべき利用者を管理し易い。
請求項５および６に係る発明によれば、利用者に関するデータが複数の記憶領域に記憶されているシステムにおいて、予め定められたタイミングにおいて削除処理が実行されない場合と比べて、利用者の利用権限を削除する旨の削除リクエストに対するレスポンスの遅延が抑制される。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係るシステム１の全体構成を示す図。
【図２】システム１の機能構成を示す図。
【図３】中継装置３０のハードウェア構成を示す図。
【図４】システム１の動作を例示するシーケンス図。
【図５】ユーザ管理テーブルの一例を示す図。
【図６】組織管理テーブルの一例を示す図。
【図７】削除テーブルの一例を示す図。
【図８】第２実施形態に係るシステム１Ｂの機能構成を示す図。
【図９】システム１Ｂの動作を例示するシーケンス図。
【発明を実施するための形態】
【００１５】
１．第１実施形態
１−１．構成
図１は、本実施形態に係るシステム１の全体構成を示す図である。システム１は、サービス提供装置１０Ａ、１０Ｂおよび１０Ｃと、クライアント装置２０Ａ、２０Ｂ、２０Ｃおよび２０Ｄと、中継装置３０Ａ、３０Ｂおよび３０Ｃとを備える。なお、以下の説明では、サービス提供装置１０Ａ、１０Ｂおよび１０Ｃを区別する必要がない場合には、これらを総称して「サービス提供装置１０」という。クライアント装置２０Ａ、２０Ｂ、２０Ｃおよび２０Ｄを区別する必要がない場合には、これらを総称して「クライアント装置２０」という。中継装置３０Ａ、３０Ｂおよび３０Ｃを区別する必要がない場合には、これらを総称して「中継装置３０」という。サービス提供装置１０および中継装置３０は、インターネット等の通信回線２を介して接続される。クライアント装置２０および中継装置３０は、インターネットやＬＡＮ（Local Area Network）等の通信回線３を介して接続される。なお、クライアント装置２０は、通信回線３および中継装置３０を介することなく通信回線２に接続されてもよい。
【００１６】
サービス提供装置１０は、データを保存するサービス等の各種のサービスを提供する。このサービスは、いわゆるクラウドサービスであってもよい。クライアント装置２０は、例えば画像処理装置であり、ユーザがサービス提供装置１０から提供されるサービスを利用するときに用いられる。クライアント装置２０は、スキャナ機能の他、コピー機能、プリント機能、ファクシミリ機能等の複数の機能を有していてもよい。中継装置３０は、クライアント装置２０とサービス提供装置１０との間のデータのやり取りを中継する機能を有する。
【００１７】
この例で、クライアント装置２０が設置される場所は、複数の地域４Ａ、４Ｂおよび４Ｃに区分される。中継装置３０Ａは、地域４Ａに設置されたクライアント装置２０Ａおよび２０Ｂと、サービス提供装置１０とのデータのやり取りを中継する。中継装置３０Ｂは、地域４Ｂに設置されたクライアント装置２０Ｃと、サービス提供装置１０とのデータのやり取りを中継する。中継装置３０Ｃは、地域４Ｃに設置されたクライアント装置２０Ｄとサービス提供装置１０とのデータのやり取りを中継する。なお、以下の説明では、地域４Ａ、４Ｂおよび４Ｃを区別する必要がない場合には、これらを総称して「地域４」という。
【００１８】
システム１のユーザは地域４のいずれかに属している。以下の説明では、説明の便宜上、あるユーザが属している地域４を、そのユーザの「ホーム」と呼び、そのユーザが属していない地域を「アウェイ」と呼ぶ。この例で、ユーザＵ１とユーザＵ２のホームは地域４Ａであり、ユーザＵ１とユーザＵ２にとって地域４Ｂと地域４Ｃはアウェイである。ユーザは通常、自身が属する地域４に設置されたクライアント装置２０を用いて各種作業を行う。各ユーザが属する地域４の中継装置３０には、そのユーザのアカウント情報など、そのユーザに関する情報（ユーザ情報）が登録されている。中継装置３０は、自装置に登録されているユーザ情報に基づいてユーザ認証などの処理を行う。以下では、ユーザＵ１、Ｕ２、Ｕ３およびＵ４を区別する必要がない場合には、これらを総称して「ユーザＵ」という。
【００１９】
図２は、システム１の機能構成を示す図である。システム１は、サービス提供装置１０と、クライアント装置２０と、中継装置３０−１と、中継装置３０−２とを備える。中継装置３０−１は第１中継装置の一例であり、中継装置３０−２は第２中継装置の一例である。中継装置３０−１は、記憶手段３１と、受信手段３２と、変更手段３３と、送信手段３４と、削除テーブル３５と、処理実行手段３６と、通知受信手段３８と、処理情報削除手段３９と、削除処理実行手段４１とを有する。
【００２０】
記憶手段３１は、利用者（ユーザ）毎のサービスの利用権限の状態を示す状態情報を含む利用者情報を管理する管理テーブルを記憶する。受信手段３２は、利用者の利用権限を削除する旨のリクエストをクライアント装置２０から受信する。変更手段３３は、クライアント装置２０からリクエストを受信したときに、利用者管理テーブルに記憶されている状態情報のうちの該リクエストに対応する利用者の状態情報の値を、削除を示す値に変更する。送信手段３４は、変更手段３３によって状態情報の値が変更されたときに、受信したリクエストに対するレスポンスをクライアント装置２０へ送信する。
【００２１】
処理実行手段３６は、予め定められたタイミングにおいて、状態情報の値が削除を示す値である利用者に関するデータを自装置の記憶領域および他の中継装置３０の記憶領域から削除するための処理を実行する。この例で、処理実行手段３６は、状態情報の値が削除を示す値である利用者に対応するデータの削除処理を示す１または複数の処理情報を削除テーブル３５に登録する。また、処理実行手段３６は、削除テーブル３５に登録した処理情報に対応する利用者情報を、利用者管理テーブルから削除する。
【００２２】
通知受信手段３８は、削除テーブル３５に登録された処理情報の示す削除処理の実行が完了した旨を示す通知を、他の中継装置３０−２から受信する。処理情報削除手段３９は、通知受信手段３８によって受信された通知に対応する処理情報を削除テーブル３５から削除する。
【００２３】
削除処理実行手段４１は、予め定められたタイミングにおいて、利用者管理テーブルにおいて状態情報の値が削除を示す値である利用者に関するデータを、自装置の記憶領域から削除する処理を実行するまた、削除処理実行手段４１は、予め定められたタイミングにおいて、利用者管理テーブルにおいて状態情報の値が削除を示す値である利用者に関するデータを、他の中継装置３０−２の記憶領域から削除する処理を実行する。この例で、削除処理実行手段４１は、予めさだめられたタイミングにおいて、自装置に記憶されている削除テーブル３５に登録されている処理情報の示す削除処理を実行する。また、削除処理実行手段４１は、予め定められたタイミングにおいて、他の中継装置３０−２に記憶されている削除テーブル３５に登録されている処理情報の示す削除処理を実行する。
【００２４】
中継装置３０−２は、削除処理実行手段４３を有する。削除処理実行手段４３は、予め定められたタイミングにおいて、自装置の利用者管理テーブルにおいて状態情報の値が削除を示す値である利用者に関するデータを、自装置の記憶領域および他の装置の記憶領域から削除する処理を実行する。この例で、削除処理実行手段４３は、予め定められたタイミングにおいて、他の中継装置３０−１に記憶されている削除テーブル３５に登録されている処理情報の示す削除処理を実行する。また、削除処理実行手段４３は、削除テーブル３５に登録された処理情報の示す削除処理の実行が完了した旨を示す通知を、他の中継装置３０−１へ送信する。
【００２５】
図３は、中継装置３０のハードウェア構成を例示する図である。中継装置３０は、ＣＰＵ（Central Processing Unit）３０１と、ＲＯＭ（Read Only Memory）３０２と、ＲＡＭ（Random Access Memory）３０３と、ストレージ３０４と、通信ＩＦ３０５とを有するコンピュータ装置である。ＣＰＵ３０１は、中継装置３０の各部を制御する制御装置（プロセッサ）である。ＲＯＭ３０２は、プログラムおよびデータを記憶する不揮発性の記憶装置である。ＲＡＭ３０３は、ＣＰＵ３０１がプログラムを実行する際の作業領域として機能する揮発性の主記憶装置である。ストレージ３０４は、プログラムおよびデータを記憶する不揮発性の補助記憶装置である。通信ＩＦ３０５は、通信回線２を介した通信を行うためのインターフェースであり、この例では特に、サービス提供装置１０、クライアント装置２０および他の中継装置３０と通信を行うためのインターフェースである。
【００２６】
この例で、ストレージ３０４（またはＲＯＭ３０２）に記憶されている中継プログラムをＣＰＵ３０１が実行することにより、図２に示される機能が実装される。ストレージ３０４は記憶手段３１および削除テーブル３５の一例である。中継プログラムを実行しているＣＰＵ３０１、またはＣＰＵ３０１および通信ＩＦ３０５は、受信手段３２、送信手段３４、通知受信手段３８、削除処理実行手段４１および削除処理実行手段４３の一例である。また、ＣＰＵ３０１は、変更手段３３、処理実行手段３６および処理情報削除手段３９の一例である。
【００２７】
ストレージ３０４は、ユーザ管理テーブル３０８と、組織管理テーブル３０９と、削除テーブル３５と、第１ユーザデータベース３１１と、第２ユーザデータベース３１２と、レプリカユーザデータベース３１３とを記憶する。ユーザ管理テーブル３０８、組織管理テーブル３０９、削除テーブル３５、第１ユーザデータベース３１１および第２ユーザデータベース３１２は、自装置がホームの中継装置として動作する際に参照される。一方、レプリカユーザデータベース３１３は自装置がアウェイの中継装置として動作する際に参照される。ユーザ管理テーブル３０８と組織管理テーブル３０９は利用者管理テーブルの一例である。
【００２８】
なお、サービス提供装置１０およびクライアント装置２０のハードウェア構成についての詳細な説明は省く。サービス提供装置１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ストレージおよび通信インターフェースを有するコンピュータ装置である。クライアント装置２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ストレージ、操作部、表示部、画像読取部および画像形成部を有する画像形成装置である。
【００２９】
１−２．動作
次に、システム１の動作について説明する。ユーザは通常、ホームに設置されたクライアント装置２０を利用する。まず、ユーザは、ホームに設置されたクライアント装置２０を用いて、ホームの中継装置３０にアカウントを登録する。その後、サービス提供装置１０が提供するサービスを利用する場合、ユーザは、ホームに設置されたクライアント装置２０を用いてサービス提供装置１０にアクセスする。一方、例えば出張などによってユーザが一時的にアウェイに移動する場合がある。その場合、ユーザはアウェイに設置されたクライアント装置２０を用いてサービスを利用する。中継装置３０に登録されたアカウントが不要になった場合またはアカウントを削除する必要がある場合、そのアカウントはユーザまたはシステムの管理者によって削除される。以下では、システムの管理者が中継装置３０に登録されたユーザのアカウントを削除する動作を説明する。
【００３０】
図４は、あるユーザのアカウントを削除する動作を示すシーケンス図である。この例では、中継装置３０Ａの管理者Ｕｍが、クライアント装置２０Ａを用いて、ユーザＵ１のアカウントを削除する動作が示されている。まず、管理者Ｕｍは、クライアント装置２０Ａを用いて中継装置３０Ａにアカウントの削除要求を行う。具体的には、管理者Ｕｍは、クライアント装置２０Ａの操作部を用いた操作により、アカウントを削除したいユーザのユーザＩＤや、自身のアカウント情報（例えば、ユーザＩＤとパスワード）を入力する。例えば、管理者Ｕｍは、削除したいユーザのユーザＩＤとして「user01」を入力し、自身のユーザＩＤとして「user99」を入力し、自身のパスワードとして「password99」を入力する。
【００３１】
ステップＳ３０１において、クライアント装置２０Ａは、管理者Ｕｍの操作により入力されたアカウント情報を含むアカウント削除リクエスト（以下、単に「リクエスト」という）を中継装置３０Ａに送信する。
【００３２】
ステップＳ３０２において、中継装置３０ＡのＣＰＵ３０１は、受信されたリクエストに含まれるアカウント情報によりユーザ管理テーブル３０８を用いてユーザ認証を行う。ユーザ管理テーブル３０８は、ユーザの利用権限の状態を示す権限情報を含むユーザ情報（利用者情報）を管理するテーブルである。ユーザ管理テーブル３０８には、自装置に対応する地域４に属するユーザのユーザ情報が登録されている。すなわち、ユーザ管理テーブル３０８に登録されているユーザ情報は、中継装置３０のそれぞれで異なっている。例えば図１の例では、ユーザＵ１のユーザ情報とユーザＵ２のユーザ情報は、中継装置３０Ａのユーザ管理テーブル３０８に格納されており、中継装置３０Ｂおよび中継装置３０Ｃのユーザ管理テーブル３０８には格納されていない。ユーザＵ３のユーザ情報は、中継装置３０Ｂのユーザ管理テーブル３０８に格納されており、中継装置３０Ａおよび中継装置３０Ｃのユーザ管理テーブル３０８には格納されていない。ユーザＵ４のユーザ情報は、中継装置３０Ｃのユーザ管理テーブル３０８に格納されており、中継装置３０Ａおよび中継装置３０Ｂのユーザ管理テーブル３０８には格納されていない。
【００３３】
図５は、ユーザ管理テーブル３０８の一例を示す図である。ユーザ管理テーブル３０８には、ユーザＩＤと、ユーザ名と、メールアドレスと、パスワードと、状態情報と、組織ＩＤとが対応付けて格納される。ユーザＩＤはユーザを識別する識別情報である。ユーザ名はユーザの名前や名称を示す文字列である。メールアドレスは、ユーザに割り当てられたメールアドレスである。パスワードは、中継装置３０へのログインに必要な情報である。状態情報は、サービスの利用権限を示す情報である。状態情報には、「REGISTERED」または「NOT_REGISTERED」が値として設定される。中継装置３０が提供するサービスの利用権限を有するユーザの状態情報には「REGISTERED」の値が設定される。一方、中継装置３０が提供するサービスの利用権限を有しないユーザの状態情報には「NOT_REGISTERED」の値が設定される。組織ＩＤは、ユーザが属する組織（部署など）を識別する識別情報である。
【００３４】
図４のステップＳ３０２では、ステップＳ３０１において受信されたリクエストに含まれるアカウント情報がユーザ管理テーブル３０８に登録されており、かつ、そのアカウント情報に対応する状態情報が「REGISTERED」である場合には、ユーザ認証は成功する。一方、受信されたリクエストに含まれるアカウント情報がユーザ管理テーブル３０８に登録されていない場合、または、そのアカウント情報に対応する状態情報が「NOT_REGISTERED」である場合には、ユーザ認証は失敗する。
【００３５】
ステップＳ３０２においてユーザ認証に成功した場合は、ＣＰＵ３０１は、ステップＳ３０３において、受信されたリクエストに含まれるユーザＩＤを、ストレージ３０４のユーザ管理テーブル３０８から検索する。ステップＳ３０４において、ＣＰＵ３０１は、ユーザ管理テーブル３０８において検索されたユーザＩＤに対応する状態情報の値を「REGISTERED」から「NOT_REGISTERED」に変更する。状態情報の値が「NOT_REGISTERED」になることにより、そのユーザの権限は無効となり、そのユーザは中継装置３０Ａにログインできなくなる。
【００３６】
ステップＳ３０５において、ＣＰＵ３０１は、受信されたリクエストに含まれるユーザＩＤ、またはこのユーザＩＤに対応付けてユーザ管理テーブル３０８に登録されているメールアドレスを、組織管理テーブル３００から検索する。
【００３７】
図６は、組織管理テーブル３０９の内容の一例を示す図である。組織管理テーブル３０９には、組織ＩＤと、組織名と、状態情報と、組織種別とが対応付けて格納される。組織ＩＤは組織を識別する識別情報である。組織名は、組織の名称を示す文字列である。状態情報は、サービスの利用権限の状態を示す情報である。状態情報には、「REGISTERED」または「NOT_REGISTERED」が値として設定される。中継装置が提供するサービスの利用権限を有する組織の状態情報には「REGISTERED」の値が設定される。一方、中継装置３０が提供するサービスの利用権限を有しない組織の状態情報には「NOT_REGISTERED」の値が設定される。組織種別は組織の種別を示す情報である。組織種別には、「MANAGED」または「PERSONAL」が値として設定される。この例で、複数のユーザがその組織に属している場合には「MANAGED」が設定される。一方、その組織に属するユーザがひとりである場合には「PERSONAL」が値として設定される。この例で、組織種別が「PERSONAL」である組織の組織ＩＤには、その組織に属するユーザのメールアドレスが登録される。
【００３８】
ステップＳ３０５においてアカウントの削除対象であるユーザのメールアドレスが組織管理テーブル３０９から検索された場合には、ＣＰＵ３０１は、ステップＳ３０６において、検索されたメールアドレスに対応する状態情報の値を「REGISTERED」から「NOT_REGISTERED」に変更する。ステップＳ３０６の処理を終えると、ステップＳ３０７において、ＣＰＵ３０１は、ステップＳ３０１で受信したリクエストの応答として、削除処理を受け付けた旨のレスポンスをクライアント装置２０Ａに送信する。
【００３９】
その後、予め定められたタイミングにおいて、ＣＰＵ３０１は、ステップＳ３０８ないしステップＳ３０９に示す、削除テーブル３５への登録処理を行う。予め定められたタイミングとは、周期的なタイミング、例えば、前回登録処理を行ってから予め定められた時間（１時間、１日等）が経過したときである。また、予め定められたタイミングは、周期的なタイミングに限られない。例えば、状態情報の値が「NOT_REGISTERED」であるユーザの数が予め定められた閾値以上となったタイミングなどであってもよい。予め定められたタイミングになると、ＣＰＵ３０１は、ステップＳ３０８において、ユーザ管理テーブル３０８および組織管理テーブル３０９から、状態情報の値が「NOT_REGISTERED」であるユーザを検索する。ステップＳ３０９において、ＣＰＵ３０１は、そのユーザに関するデータの削除処理を示す処理情報を、削除テーブル３５に登録する。この例で、処理情報は、例えば、「ユーザプロファイル削除処理」や、「認証トークン削除処理」など、どのユーザデータを削除するかを示す情報である。「ユーザプロファイル削除処理」はユーザプロファイルを削除する処理を示す。ユーザプロファイルは、各ユーザの設定情報などの情報を含む。認証トークン削除処理は、認証トークンを削除する処理を示す。認証トークンは、サービス提供装置１０にアクセスする権限を示すトークンである。この例で、トークンは、アカウントの識別情報や権限が記述されたデータ構造である。
【００４０】
図７は、削除テーブル３５の内容の一例を示す図である。削除テーブル３５には、地域種別と、ユーザＩＤと、処理情報とが対応付けて格納される。地域種別は地域を識別する情報、すなわち中継装置３０を識別する情報である。ユーザＩＤは、ユーザを識別する識別情報である。処理情報は、アカウントの削除対象であるユーザに関するユーザデータを削除する処理を示す情報である。この例で、ユーザに関するユーザデータとして、ユーザプロファイルや、認証トークンや、その他データが用いられる。これらのユーザデータは、そのユーザのホームの中継装置３０の第１ユーザデータベース３１１または第２ユーザデータベース３１２に記憶されている。また、そのユーザのアウェイの中継装置３０のレプリカユーザデータベース３１３には、ホームの中継装置３０の第１ユーザデータベース３１１または第２ユーザデータベース３１２に記憶されているユーザデータの一部または全部のコピーが記憶されている。
【００４１】
図７に示す例では、ユーザＩＤが「７」のユーザと、「２１」のユーザと、「８８」のユーザとの３人のユーザに関するデータの削除処理が残っていることが示されている。より具体的には、地域種別が「地域Ａ」に対応する中継装置３０のデータベースには、ユーザＩＤが「７」であるユーザについて、３つの削除処理が未だ行われていないことが示されており、ユーザＩＤが「２１」、「８８」のユーザについてはそれぞれ、１つの削除処理が未だ実行されていないことが示されている。一方、地域種別が「地域Ｂ」に対応する中継装置３０のデータベースには、ユーザＩＤが「７」であるユーザについて、３つの削除処理が未だ行われていないことが示されており、ユーザＩＤが「２１」、「８８」のユーザについては削除処理が完了していることが示されている。
【００４２】
ユーザのアカウントを削除する際には、ユーザ管理テーブル３０８および組織管理テーブル３０９からそのユーザのアカウント情報を削除するのに加えて、第１ユーザデータベース３１１、第２ユーザデータベース３１２およびレプリカユーザデータベース３１３に記憶されているユーザデータを削除する必要がある。この実施形態では、第１ユーザデータベース３１１、第２ユーザデータベース３１２およびレプリカユーザデータベース３１３に記憶されているユーザデータを削除するための処理を示す処理情報が、ステップＳ３０９において削除テーブル３５に登録される。
【００４３】
削除テーブル３５への処理情報の登録が完了すると、ステップＳ３１０において、ＣＰＵ３０１は、削除テーブル３５に登録した処理情報に対応するユーザＩＤまたはメールアドレスを含むレコード、すなわち状態情報の値が「NOT_REGISTERED」であるレコードを、ユーザ管理テーブル３０８および組織管理テーブル３０９から削除する。
【００４４】
その後、予め定められたタイミングにおいて、ＣＰＵ３０１は、ステップＳ３１１ないしＳ３１４に示す、ユーザデータの削除処理を実行する。予め定められたタイミングとは、周期的なタイミング、例えば、前回登録処理を行ってから予め定められた時間（１時間、１日等）が経過したときである。また、予め定められたタイミングは、周期的なタイミングに限られない。例えば、削除テーブル３５に登録された処理情報の数が予め定められた閾値以上となったタイミングなど、削除テーブル３５に登録された処理情報が予め定められた条件を満たしたタイミングであってもよい。なお、ユーザデータの削除処理が実行されるタイミングは、削除テーブル３５への登録処理が実行されるタイミングと異なるタイミングであってもよく、また、同じまたは連続したタイミングであってもよい。ステップＳ３１１において、ＣＰＵ３０１は、予め定められたタイミングにおいて、自装置の削除テーブル３５に登録されている処理情報の示す削除処理を実行する。より具体的には、ＣＰＵ３０１は、削除テーブル３５に登録されている処理情報に基づいて第１ユーザデータベース３１１および第２ユーザデータベース３１２に記憶されているユーザデータの削除処理を実行する。
【００４５】
ステップＳ３１２において、ＣＰＵ３０１は、他の中継装置３０（図４に示す例では、中継装置３０Ｂ）の削除テーブル３５に登録されている処理情報を問い合わせる。なお、図４に示す例では、他の中継装置３０として中継装置３０Ｂを例示しているが、他の中継装置３０の数は１に限らず、複数であってもよい。他の中継装置３０が複数ある場合は、ＣＰＵ３０１は、全ての他の中継装置３０に対して処理情報の問い合わせを行ってもよい。ステップＳ３１３において、中継装置３０ＢのＣＰＵ３０１は、自装置の削除テーブル３５に登録されている、問い合わせの送信元である中継装置３０Ａに対応する処理情報を、中継装置３０Ａに送信する。ステップＳ３１４において、中継装置３０ＡのＣＰＵ３０１は、中継装置３０Ｂから受信された処理情報が示す削除処理を実行する。より具体的には、ＣＰＵ３０１は、中継装置３０Ｂから受信された処理情報に基づいて、レプリカユーザデータベース３１３に記憶されているユーザデータの削除処理を実行する。ステップＳ３１４に示す削除処理を終えると、ＣＰＵ３０１は、ステップＳ３１５において、処理情報の送信元である中継装置３０Ｂへ、削除処理が完了した旨を示す完了通知を送信する。
【００４６】
また、中継装置３０ＡのＣＰＵ３０１は、ステップＳ３１６において、予め定められたタイミングにおいて他の中継装置３０（中継装置３０Ｂ）から処理情報の問い合わせを受信する。問い合わせを受信すると、ＣＰＵ３０１は、ステップＳ３１７において、自装置の削除テーブル３５に登録されている、問い合わせの送信元である中継装置３０に対応する処理情報を、他の中継装置３０に送信する。ステップＳ３１８において、中継装置３０Ｂは、中継装置３０Ａから受信された処理情報の示す削除処理を実行する。すなわち、中継装置３０ＢのＣＰＵ３０１は、中継装置３０Ａから受信された処理情報に基づいて、自装置のレプリカユーザデータベース３１３に記憶されているユーザデータの削除処理を実行する。ステップＳ３１９において、中継装置３０ＢのＣＰＵ３０１は、処理情報の送信元である中継装置３０Ａへ、削除処理が完了した旨を示す完了通知を送信する。ステップＳ３２０において、中継装置３０ＡのＣＰＵ３０１は、受信された完了通知に対応する処理情報を自装置の削除テーブル３５から削除する。なお、中継装置３０ＢのＣＰＵ３０１も、中継装置３０Ａから削除処理の完了通知を受信すると、受信した完了通知に対応する処理情報を自装置の削除テーブル３５から削除する。
【００４７】
この実施形態では、ユーザのアカウント削除リクエストが受信された場合、ユーザ管理テーブル３０８および組織管理テーブル３０９の状態情報を、削除を示す値（NOT_REGISTERED）に変更し、レスポンスを送信する。このように、受信されたリクエストに対応するユーザに関するデータの削除処理を行うに先立ってレスポンスが送信されることにより、削除リクエストに対するレスポンスの遅延が抑制される。
【００４８】
２．第２実施形態
図８は、この発明の第２実施形態に係るシステム１Ｂの機能構成を示す図である。なお、システム１Ｂの全体構成は、上述した第１実施形態において図１に示したシステム１と同様であり、ここではその説明を省略する。第２実施形態に係るシステム１Ｂが上述した第１実施形態に係るシステム１と異なる点は、アカウントを削除すべきユーザに関するユーザデータの削除処理を示す処理情報を削除テーブル３５に登録するに代えて、アカウントを削除すべきユーザのユーザＩＤを削除リスト３５Ｂに登録する点である。図８に示すシステム１Ｂの構成が、上述した第１実施形態において図１に示したシステム１の構成と異なる点は、削除テーブル３５、処理実行手段３６、通知受信手段３８、処理情報削除手段３９、削除処理実行手段４１、削除処理実行手段４３のそれぞれに代えて、削除リスト３５Ｂ、処理実行手段３６Ｂ、通知受信手段３８Ｂ、識別情報削除手段３９Ｂ、削除処理実行手段４１Ｂ、削除処理実行手段４３Ｂを有している点である。
【００４９】
処理実行手段３６Ｂは、予め定められたタイミングにおいて、ユーザ管理テーブル３０８において状態情報の値が削除を示す値である利用者を識別する識別情報（ユーザＩＤ）を削除リスト３５Ｂに追加する。第２処理実行手段３７Ｂは、予め定められたタイミングにおいて、ユーザ管理テーブル３０８において状態情報の値が削除を示す値である利用者を識別する識別情報（ユーザＩＤ）を削除リスト３５Ｂに追加する。
【００５０】
通知受信手段３８Ｂは、削除リスト３５Ｂに登録された識別情報の利用者に関するデータの削除が完了した旨を示す通知を、他の中継装置３０−２から受信する。識別情報削除手段３９Ｂは、受信された通知に対応する処理情報を、削除リスト３５Ｂから削除する。
【００５１】
削除処理実行手段４１Ｂおよび削除処理実行手段４３Ｂは、予め定められたタイミングにおいて、自装置に記憶されている削除リスト３５Ｂに登録されている識別情報の利用者に対応するデータの削除処理を実行するとともに、予め定められたタイミングにおいて、他の中継装置に記憶されている削除リスト３５Ｂに登録されている識別情報の利用者に対応するデータの削除処理を実行する。
【００５２】
図９は、この実施形態に係るユーザのアカウント削除動作を示すシーケンス図である。図９に示す動作が上述した第１実施形態において図４に示した動作と異なる点は、ステップＳ３０９ないしステップＳ３２０の処理に代えて、ステップＳ４０９ないしステップＳ４２０の処理を行う点である。なお、図９において、図４に示した処理と同じ処理については同じ符号を付してその説明を省略する。
【００５３】
中継装置３０ＡのＣＰＵ３０１は、ステップＳ３０８の処理を終えると、ステップＳ４０９において、ステップＳ３０８で検索されたユーザのユーザＩＤまたはメールアドレスを削除リスト３５Ｂに登録する。この例では、削除リスト３５Ｂとしてキューが用いられる。ステップＳ４１０において、ＣＰＵ３０１は、キューに登録したユーザＩＤまたはメールアドレスを含むレコード、すなわち状態情報の値が「NOT_REGISTERED」であるレコードを、ユーザ管理テーブル３０８および組織管理テーブル３０９から削除する。
【００５４】
その後、予め定められたタイミングにおいて、ＣＰＵ３０１は、ステップＳ４１１ないしＳ４１４に示す、ユーザデータの削除処理を実行する。ステップＳ４１１において、ＣＰＵ３０１は、予め定められたタイミングにおいて、自装置の削除リスト３５Ｂに登録されている識別情報（ユーザＩＤまたはメールアドレス）に対応するユーザデータの削除処理を実行する。この例で、ＣＰＵ３０１は、削除リスト３５Ｂに登録されている識別情報に対応するユーザデータを、第１ユーザデータベース３１１および第２ユーザデータベース３１２から検索し、検索されたユーザデータの削除処理を実行する。
【００５５】
ステップＳ４１２において、ＣＰＵ３０１は、他の中継装置３０（図９に示す例では、中継装置３０Ｂ）の削除リスト３５Ｂに登録されている識別情報を問い合わせる。なお、図９に示す例では、他の中継装置３０として中継装置３０Ｂを例示しているが、他の中継装置３０の数は１に限らず、複数であってもよい。他の中継装置３０が複数ある場合は、ＣＰＵ３０１は、全ての他の中継装置３０に対して処理情報の問い合わせを行ってもよい。ステップＳ４１３において、中継装置３０ＢのＣＰＵ３０１は、自装置の削除リスト３５Ｂに登録されている識別情報を中継装置３０Ａに送信する。ステップＳ４１４において、中継装置３０ＡのＣＰＵ３０１は、中継装置３０Ｂから受信された識別情報に対応するユーザデータの削除処理を実行する。この例で、ＣＰＵ３０１は、中継装置３０Ｂから受信された識別情報に対応するユーザデータをレプリカユーザデータベース３１３から検索し、検索されたユーザデータの削除処理を実行する。ステップＳ４１５において、ＣＰＵ３０１は、識別情報の送信元である中継装置３０Ｂへ、削除処理が完了した旨を示す完了通知を送信する。
【００５６】
また、中継装置３０ＡのＣＰＵ３０１は、ステップＳ４１６において、予め定められたタイミングにおいて他の中継装置３０（中継装置３０Ｂ）から識別情報の問い合わせを受信する。ステップＳ４１７において、ＣＰＵ３０１は、自装置の削除リスト３５ｂに登録されている識別情報を中継装置３０Ｂに送信する。ステップＳ４１８において、中継装置３０Ｂは、中継装置３０Ａから受信された識別情報に対応するユーザデータの削除処理を実行する。すなわち、中継装置３０ＢのＣＰＵ３０１は、中継装置３０Ａから受信された識別情報に対応するユーザデータをレプリカユーザデータベース３１３から検索し、検索されたユーザデータの削除処理を実行する。ステップＳ４１９において、中継装置３０ＢのＣＰＵ３０１は、識別情報の送信元である中継装置３０Ａへ、削除処理が完了した旨を示す完了通知を送信する。ステップＳ４２０において、中継装置３０ＡのＣＰＵ３０１は、受信された完了通知に対応する識別情報を自装置の削除リスト３５Ｂから削除する。なお、中継装置３０ＢのＣＰＵ３０１も、中継装置３０Ａから削除処理の完了通知を受信すると、受信した完了通知に対応する識別情報を自装置の削除リスト３５Ｂから削除する。
【００５７】
３．変形例
上述した実施形態は、本発明の一例である。これらの実施形態は、以下のように変形してもよい。また、以下の変形例は、互いに組み合わせてもよい。
【００５８】
３−１．変形例１
上述の第１実施形態では、ＣＰＵ３０１は、ステップＳ３０９において処理情報を削除テーブル３５に登録し、その後、ステップＳ３１０において、ユーザ管理テーブル３０８から状態情報の値が「NOT_REGISTERED」であるレコードを削除する処理を実行した。処理の順序はこれに限られない。例えば、ＣＰＵ３０１が、ステップＳ３０９に示す処理とステップＳ３１０に示す処理とを並行して実行してもよい。
【００５９】
また、ステップＳ３０９の処理の後にステップＳ３１０の処理を行うに代えて、ＣＰＵ３０１が以下の処理を実行してもよい。この例で、ＣＰＵ３０１は、ステップＳ３０９において削除テーブル３５に処理情報を登録するとともに、削除テーブル３５に処理情報を登録したユーザに対応する状態情報の値を、「NOT_REGISTERED」から「DELETING」に変更する。その後、予め定められたタイミングにおいて、ＣＰＵ３０１は、ユーザ管理テーブル３０８から状態情報が「DELETING」であるユーザを検索し、検索したユーザに対応するユーザの処理情報が削除テーブル３５に残っていないかを判定する。そのユーザの処理情報が削除テーブル３５に残っていない場合には、ＣＰＵ３０１は、ユーザ管理テーブル３０８からそのユーザに対応するレコードを削除する。一方、ＣＰＵ３０１は、そのユーザの処理情報が削除テーブル３５に残っている場合には、レコードの削除処理を行わない。
【００６０】
３−２．変形例２
上述の実施形態では、ひとつの削除テーブル３５で処理情報を管理したが、処理情報の管理の手法はこれに限られない。例えば、地域毎に設けられた複数の削除テーブルによって処理情報が管理されてもよい。
【００６１】
また、上述の実施形態では、ユーザＩＤと処理情報とが対応付けられて削除テーブル３５に登録されたが、削除テーブル３５に登録される情報はこれに限られない。例えば、ユーザＩＤのみが削除テーブルに登録されてもよい。なお、この場合、ＣＰＵ３０１は、ユーザデータの削除処理を行う際には、削除テーブルに登録されているユーザＩＤに対応するユーザデータをデータベースから検索し、検索されたユーザデータの削除処理を実行する。また、上述の実施形態では、レプリカユーザデータベース３１３には、ホームの中継装置３０の第１ユーザデータベース３１１および第２ユーザデータベース３１２に記憶されているユーザデータの一部または全部のコピーが記憶されていた。これに加えて、レプリカユーザデータベース３１３に、ユーザ管理テーブル３０８や組織管理テーブル３０９に記憶されているデータの一部または全部のコピーが記憶されていてもよい。
【００６２】
３−３．変形例３
上述の実施形態に係るシステム１は、サービス提供装置１０Ａ、１０Ｂおよび１０Ｃと、クライアント装置２０Ａ、２０Ｂ、２０Ｃおよび２０Ｄと、中継装置３０Ａ、３０Ｂおよび３０Ｃとを備えていた。サービス提供装置１０、クライアント装置２０および中継装置３０の台数はシステム１で示した台数に限られない。
【００６３】
３−４．変形例４
上述した実施形態において、中継装置３０のＣＰＵ３０１により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、このプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
【符号の説明】
【００６４】
１…システム、１０Ａ、１０Ｂ、１０Ｃ…サービス提供装置、２０Ａ、２０Ｂ、２０Ｃ、２０Ｄ…クライアント装置、３０Ａ、３０Ｂ、３０Ｃ…中継装置、３１…記憶手段、３２…受信手段、３３…変更手段、３４…送信手段、３５…削除テーブル、３５Ｂ…削除リスト、３６…処理実行手段、３８…通知受信手段、３９…処理情報削除手段、４１，４３…削除処理実行手段、３０８…ユーザ管理テーブル（利用者管理テーブル）、３０９…組織管理テーブル（利用者管理テーブル）
【図１】
2015215843.tif 000003
【図２】
2015215843.tif 000004
【図３】
2015215843.tif 000005
【図４】
2015215843.tif 000006
【図５】
2015215843.tif 000007
【図６】
2015215843.tif 000008
【図７】
2015215843.tif 000009
【図８】
2015215843.tif 000010
【図９】
2015215843.tif 000011