以下に、本願の開示する管理プログラム、管理装置および管理システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例に係るシステムの構成について説明する。図1は、本実施例にかかるシステムの構成を示す図である。図1に示すように、このシステムは、下位サーバ10a、10b、10c、人事サーバ50、管理装置100を有する。管理装置100は、ネットワークを介して、人事サーバ50、下位サーバ10a〜10cに接続される。以下の説明では、適宜、下位サーバ10a〜10cをまとめて、下位サーバ10と表記する。
各下位サーバ10は、ネットワークを介して各端末装置に接続され、所定のサービスを提供する装置である。下位サーバ10には、各下位サーバ固有のアクセス権限が設定されており、かかるアクセス権を基にして、他の端末装置からのアクセスを制限する。下位サーバ10は、管理装置100から受信する利用者情報を基にして、アクセス権限を設定する。
人事サーバ50は、利用者の所属情報を管理する装置である。人事サーバ50は、現在の利用者の所属情報を管理装置100に送信する。
管理装置100は、現在の所属情報を基にして、下位サーバ10がアクセス権を設定するための利用者情報を生成し、生成した利用者情報を下位サーバ10に送信する装置である。
管理装置100の構成の一例について説明する。図2は、管理装置の構成を示す機能ブロック図である。図2に示すように、管理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
通信部110は、下位サーバ10および人事サーバ50とデータ通信を行う処理部である。後述する制御部150は、通信部110を介して、下位サーバ10および人事サーバ50とデータをやり取りする。通信部110は、例えば通信装置に対応する。
入力部120は、管理装置100に各種の情報を入力するための入力装置である。例えば、入力部120は、キーボードやマウス、タッチパネル等に対応する。表示部130は、各種の情報を表示する表示装置である。例えば、表示装置は、ディスプレイやタッチパネルに対応する。
記憶部140は、各種の情報を記憶する記憶装置である。記憶部140は、所属情報141、利用者情報テーブル142、所属管理テーブル143を記憶する。また、記憶部140は、グループ情報テーブル144、配信先情報テーブル145、配信管理テーブル146を記憶する。記憶部140は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
所属情報141は、人事サーバ50から受信する所属情報に対応する。図3は、所属情報のデータ構造の一例を示す図である。図3に示すように、この所属情報は、処理区分情報、利用者ID(Identification)、氏名、複数の所属および役職の組みを有する。図3では、2つの所属および役職の組みを示すが、これに限定されるものではなく、2つ以上の所属および役職の組みを含んでも良い。
図3において、処理区分情報は、所属情報141に含まれる情報が新規登録であるか、更新であるか、削除であるかを示す情報である。この処理区分情報は、人事サーバ50により設定される。
図3の1段目では、利用者ID「001」の氏名「戸谷」さんは、2種類の所属および役職を兼務している。具体的に、「戸谷」さんは、所属「学務部」および役職「課長」と、所属「人事部」および役職「課長」を兼務している。他の利用者ID「001」〜「006」についても同様に、氏名、所属および役職の組みが対応付けられる。なお、所属先で役職がない場合には、例えば役職「役職なし」となる。
利用者情報テーブル142は、利用者IDと氏名とを対応付けるテーブルである。図4は、利用者情報テーブルのデータ構造の一例を示す図である。
所属管理テーブル143は、利用者の所属情報を管理するためのテーブルである。図5は、所属管理テーブルのデータ構造の一例を示す図である。図5に示すように、この所属管理テーブル143は、利用者ID、所属、役職、更新日時、開始日、終了日を対応付ける。このうち、更新日時は、レコードを更新した日時を示す。開始日は、レコードの該当する所属および役職の組みを登録した日時に対応する。終了日は、所属および役職の組みの有効期間が終了する日時に対応する。終了日が設定されていないレコードに関しては有効期間が無制限となる。なお、有効期間が終了する日時が設定されたレコードの所属については、利用者は現時点において、当該レコードの所属ではない場合がある。例えば、異動直後の後任者への引継ぎ期間などでは、利用者の所属は異なるが、利用者は異動前のシステムにアクセスが必要な場合があるためである。
なお、所属管理テーブル143は、同一の利用者IDであっても、所属と役職との組みが異なる場合には、別々のレコードで管理する。大学では、利用者によって所属の数が大きく異なっており、一つのレコードで所属を全て管理しようとすると、各レコードに複数の所属を管理可能にするための無駄なデータ領域を確保する必要がある。本実施例の所属管理テーブル143のレコードの構成にすることで、管理装置100は、利用者の所属の多寡に関わらず、利用者の所属を容易に管理することが可能になる。
図5の1段目のレコードでは、利用者ID「001」に対応する利用者の所属および役職が「人事部」および「課長」である。また、1段目のレコードの更新日時が「2011年11月01日」であり、開始日が「2010年10月01日」であり、終了日が「2011年12月01日」である。このため、利用者ID「001」の利用者の所属「人事部」および役職「課長」の有効期間は「2011年12月01日」で終了する。
図5の2段目のレコードでは、利用者ID「001」に対応する利用者の所属および役職が「学務部」および「課長」である。また、2段目のレコードの更新日時が「2011年11月01日」であり、開始日が「2010年11月01日」であり、終了日が設定されていない。このため、利用者ID「001」の利用者の所属「学務部」および役職「課長」の有効期間が現段階では無期限となっている。
グループ情報テーブル144は、所属および役職の組みと、所定のグループとを対応付けるテーブルである。図6は、グループ情報テーブルのデータ構造の一例を示す図である。図6に示すように、グループ情報テーブル144は、グループID、所属、役職を対応付ける。例えば、所属「人事部」および役職「課長」の組みは、グループID「G1」に対応付けられる。
配信先情報テーブル145は、各下位サーバ10と、図6に示したグループIDとを対応付ける情報である。管理装置100は、配信先情報テーブル145に基づいて、該当する下位サーバ10に利用者の情報を配信する。図7は、配信先情報テーブルのデータ構造の一例を示す図である。図7に示すように、配信先情報テーブル145は、サーバIDと、グループIDとを対応付ける。サーバIDは、下位サーバを一意に識別する情報である。サーバID「10a」は、下位サーバ10aに対応する。サーバID「10b」は、下位サーバ10bに対応する。なお、図7には記さないが、サーバID「10c」は、下位サーバ10cに対応する。
配信管理テーブル146は、利用者の情報の配信有無を管理するテーブルである。図8は、配信管理テーブルのデータ構造の一例を示す図である。図8に示すように、配信管理テーブル146は、利用者ID、サーバID、配信日時、フラグを対応付ける。このうち、配信日時は、該当するレコードの利用者の情報を配信した日時を示す。フラグは、該当するレコードの利用者の情報を配信したか否かを示す情報である。フラグが「ON」の場合は、配信済みであり、「オフ」の場合には未配信である。
制御部150は、受信部151、管理部152、配信部153を有する。制御部150は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部150は、例えば、CPUやMPU(Micro Processing Unit)等の電子回路に対応する。
受信部151は、人事サーバ50から所属情報を受信する処理部である。受信部151は、受信した所属情報を、記憶部140に記憶させる。人事サーバ50から受信する所属情報のデータ構造は、図3に示した所属情報に対応する。
管理部152は、所属情報141に基づいて、利用者情報テーブル142および所属管理テーブル143を管理するテーブルである。管理部152は、所属情報141に含まれる処理区分情報に対応した各種の処理を実行する。以下では、処理区分情報が新規登録である場合の処理、更新である場合の処理、削除である場合の処理について順に説明する。
処理区分情報が新規登録である場合の管理部152の処理について説明する。管理部152は、所属情報141に含まれる利用者IDと氏名との組みを、利用者情報テーブル142に追加する。
また、管理部152は、所属情報141に含まれる利用者ID、所属、役職の組みを、所属管理テーブル143に追加する。また、管理部152は、タイマから現在の日時を取得し、更新日時および開始日に設定する。
次に、処理区分情報が更新である場合の管理部152の処理について説明する。管理部152は、所属情報141によって、利用者情報テーブル142を更新する。例えば、管理部152は、所属情報141と利用者情報テーブル142とを比較して、同一の利用者IDで、かつ、氏名が異なるレコードを、利用者情報テーブル142から検出する。そして、管理部152は、検出したレコードの氏名を、所属情報141に合わせて更新する。
管理部152は、所属情報141と所属管理テーブル143とを比較して、所属管理テーブル143を更新する。以下において、利用者の所属および役職の組みが追加された場合と、所属および役職の組みが減少した場合の処理について順に説明する。
所属および役職の組みが追加された場合の処理について説明する。同一の利用者IDのレコードについて、所属情報141に存在し、かつ、所属管理テーブル143に存在しない所属および役職の組みが、追加された所属および役職の組みとなる。管理部152は、追加された所属および役職の組みを、利用者IDと対応付けて所属管理テーブル143に登録する。また、管理部152は、タイマから現在の日時を取得し、該当するレコードの更新日時および開始日に登録する。
例えば、利用者ID「001」について、所属「学務部」および役職「課長」の組みが、所属情報141に存在し、所属管理テーブル143に存在しないものとする。この場合には、管理部152は、利用者ID「001」、所属「学務部」、役職「課長」の組みを、所属管理テーブル143に登録する。また、管理部152は、登録した組みに対応するレコードの更新日時および開始日に現在日時を設定し、終了日には何も登録しない。終了日には何も登録しないので、利用者ID「001」、所属「学務部」、役職「課長」のレコードの有効期間は無制限となる。
所属および役職の組みが減少した場合の処理について説明する。同一の利用者IDのレコードについて、所属情報141に存在せず、かつ、所属管理テーブル143に存在する所属および役職の組みが、減少した所属および役職の組みとなる。管理部152は、所属管理テーブル143について、該当する利用者IDと、減少した所属および役職の組みに対応するレコードの終了日に、現在の日時に所定の日数を加算した日時を登録する。所定の日数は、予め管理者が設定しておくものとする。また、管理部152は、該当レコードの更新日時に、現在の日時を設定する。
例えば、利用者ID「001」について、所属「人事部」および役職「課長」の組みが、所属情報141に存在し、かつ、所属管理テーブル143に存在するものとする。この場合には、管理部152は、所属管理テーブル143について、利用者ID「001」、所属「人事部」、役職「課長」を含むレコードの終了日に、現在の日時に所定の日数を加算した日時を登録する。例えば、現在の日時が「2011年11月01日」で、所定の日数が「30」の場合には、終了日に「2011年12月01日」を登録する。また、管理部152は、該当レコードの更新日時に、現在の日時「2011年11月01日」を登録する。
次に、処理区分情報が削除である場合の管理部152の処理について説明する。管理部152は、所属情報141に含まれる利用者IDと氏名との組みと同じ組のレコードを、利用者情報テーブル142から特定する。管理部152は、特定したレコードを利用者情報テーブル142から削除する。なお、管理部152は、特定したレコードを削除しないで、特定したレコードに削除フラグなどを設定し、他のレコードと区別しても良い。
上述した管理部152は、受信部151が、所属情報141を記憶部140に記憶させたことを契機にして上記処理を実行しても良いし、定期的に実行しても良い。
配信部153は、各テーブル142〜146を基にして、利用者情報を生成し、生成した利用者情報を、該当する下位サーバ10に配信する処理部である。以下において、配信部153の処理を具体的に説明する。
配信部153は、配信先情報テーブル145を基にして、利用者グループ一覧情報を生成する。この利用者グループ一覧情報は、どの下位サーバ10が、どの利用者グループに区分されるかを示す情報となる。例えば、配信先情報テーブル145が図7に示すデータを有しているものとする。この場合には、配信先情報テーブル145の関係から、図9に示す利用者グループ一覧情報が生成される。
図9は、利用者グループ一覧情報のデータ構造の一例を示す図である。図9に示すように、サーバID「10a」に対応するグループIDは「G1、G3」となる。サーバID「10b」に対応するグループIDは「G2、G4」となる。
配信部153は、利用者グループ一覧情報を生成した後に、配信対象となる利用者情報を抽出するための準備を行う。具体的に、配信部153は、サーバID毎に、第1の利用者ID群と、第2の利用者ID群とを作成する。第1の利用者ID群は、現在の所属および役職の組みに対応する利用者IDを含む。第2の利用者ID群は、前回下位サーバ10に配信した所属および役職の組みに対応する利用者IDを含む。
配信部153が、第1の利用者ID群を生成する処理について説明する。第1の利用者ID群は、サーバID毎に生成される。ここでは、サーバID「10a」に対応する第1の利用者ID群を生成する場合について説明する。配信部153は、利用者グループ一覧情報を参照し、サーバID「10a」に対応するグループIDを特定すると、グループIDは「G1、G3」となる。
配信部153は、グループIDを特定した後に、グループIDに対応する所属と役職との組みを、グループ情報テーブル144から検出する。グループ情報テーブル144のデータ構造が図6に示すものとすると、グループID「G1」に対応する所属と役職との組みは、所属「人事部」、役職「課長」となる。また、グループID「G3」に対応する所属と役職との組みは、所属「図書部」、役職「部長」となる。
配信部153は、グループIDに対応する所属と役職との組みを検出した後に、検出した組みと同一の組みを有し、かつ、現在の日時が終了日を超えていないレコードを、所属管理テーブル143から検出する。配信部153は、検出したレコードに含まれる利用者IDを、サーバID「10a」の第1の利用者ID群として特定する。
例えば、配信部153は、所属「人事部」、役職「課長」の組みを有し、現在の日時が終了日を超えていないレコードを、所属管理テーブル143から検出すると、図5の1段目のレコードがヒットする。該レコードの利用者IDは「001」である。また、所属「図書部」、役職「部長」の組みを有し、現在の日時が終了日を超えていないレコードを、所属管理テーブル143から検出すると、図5の3段目のレコードがヒットする。該レコードの利用者IDは「002」である。この場合には、第1の利用者ID群には、利用者ID「001」と「002」が含まれることになる。
配信部153は、他のサーバID「10b、10c」の第1の利用者ID群を、サーバID「10a」と同様にして、特定する。
配信部153が、第2の利用者ID群を生成する処理について説明する。第2の利用者ID群は、サーバID毎に生成される。ここでは、サーバID「10a」に対応する第2の利用者ID群を生成する場合について説明する。配信部153は、配信管理テーブル146を参照する。配信部153は、配信管理テーブル146のレコードのうち、サーバIDが「10a」となり、かつ、フラグが「ON」となるレコードを検出し、検出したレコードに含まれる利用者IDを、第2の利用者ID群として特定する。
例えば、図8において、サーバIDが「10a」となり、かつ、フラグが「ON」となるレコードは、1段目のレコードと、3段目のレコードとなる。1段目のレコードおよび3段目のレコードの利用者IDはそれぞれ利用者ID「001」、「002」となる。この場合には、第2の利用者ID群には、利用者ID「001」と「002」が含まれることになる。
配信部153は、他のサーバID「10b、10c」の第2の利用者ID群を、サーバID「10a」と同様にして、特定する。
配信部153は、例えば、各サーバID、第1の利用者ID群、第2の利用者ID群を対応付けた特定結果情報を生成する。図10は、特定結果情報のデータ構造の一例を示す図である。例えば、図10に示す例では、サーバID「10a」に対応する第1の利用者ID群には、利用者ID「001、002」が含まれ、第2の利用者ID群には、利用者ID「001、002」が含まれる。サーバID「10b」に対応する第1の利用者ID群には、利用者ID「001」が含まれ、第2の利用者ID群には、利用者ID「001、003」が含まれる。サーバID「10c」に対応する第1の利用者ID群には、利用者ID「008、009」が含まれ、第2の利用者ID群には、利用者ID「008」が含まれる。
配信部153は、特定結果情報を生成した後に、各下位サーバ10に、利用者情報を配信する。以下において、配信部153が利用者情報を配信する処理について具体的に説明する。配信部153は、下位サーバ10に対応する第1の利用者ID群と、第2の利用者ID群とを比較し、新規登録された利用者ID、下位サーバに利用者情報を配信した後に、利用者情報が更新された利用者ID、削除された利用者IDを検出する。新規登録された利用者IDを検出した場合の処理、更新された利用者IDを検出した場合の処理、削除された利用者IDを検出した場合の処理に分けて配信部153の処理を順に説明する。
新規登録された利用者IDを検出した場合の処理について説明する。新規登録された利用者IDは、第1の利用者ID群に存在し、かつ、第2の利用者ID群に存在しない利用者IDに対応する。配信部153は、新規登録された利用者IDに対応する所属および役職を、所属管理テーブル143から抽出する。そして、配信部153は、新規登録された利用者IDと、該利用者IDに対応する所属および役職を含んだ利用者情報を生成し、生成した利用者情報を該当する下位サーバに配信する。
図10に示す例では、サーバID「10c」について、利用者ID「009」が、第1の利用者ID群に存在し、第2の利用者ID群に存在しない新規に登録された利用者IDとなる。このため、配信部153は、利用者ID「009」と、利用者ID「009」に対応する所属および役職を利用者情報に含め、利用者情報を下位サーバ10cに配信する。
配信部153は、下位サーバへの利用者情報の配信が完了した場合に、下位サーバのサーバID、配信した利用者情報の利用者IDとの組みに対応するレコードを、配信管理テーブル146から特定する。配信部153は、特定したレコードのフラグをONに設定し、現在の日時を配信日時に設定する。
更新された利用者IDを検出した場合の処理について説明する。更新された利用者IDは、第1の利用者ID群および第2の利用者ID群の両方に存在する利用者IDである。更に、更新された利用者IDは、該当する利用者IDの配信日時が、更新日時よりも前である利用者IDである。配信日時は、配信管理テーブル146に登録されており、更新日時は、所属管理テーブル143に登録されている。配信部153は、更新された利用者IDに対応する所属および役職を、所属管理テーブル143から抽出する。配信部153は、更新された利用者IDと、該利用者IDに対応する所属および役職を含んだ利用者情報を生成し、生成した利用者情報を該当する下位サーバに配信する。
図10に示す例では、例えば、サーバID「10a」について、利用者ID「001、002」が、第1の利用者ID群および第2の利用者ID群に存在する。また、配信日時が、更新日時よりも前である利用者IDは、利用者ID「001」、「002」のうち、利用者ID「001」である。このため、利用者ID「001」が更新された利用者IDとなる。配信部153は、利用者ID「001」と、利用者ID「001」に対応する所属および役職を利用者情報に含め、利用者情報を下位サーバ10aに配信する。
配信部153は、下位サーバへの利用者情報の配信が完了した場合に、下位サーバのサーバID、配信した利用者情報の利用者IDとの組みに対応するレコードを、配信管理テーブル146から特定する。配信部153は、特定したレコードの配信日時を現在の日時に更新する。
削除された利用者IDを検出した場合の処理について説明する。削除された利用者IDは、第1の利用者ID群に存在せず、かつ、第2の利用者ID群に存在する利用者IDに対応する。配信部153は、削除された利用者IDを、利用者情報に含め、含めた利用者IDに関連する情報の削除指示も利用者情報に含め、下位サーバ10に配信する。かかる利用者情報を受けた下位サーバ10は、利用者情報に含まれる利用者IDに対応する情報を自身の記憶装置から削除する。
図10に示す例では、サーバID「10b」について、利用者ID「003」が、第1の利用者ID群に存在せず、第2の利用者ID群に存在する。このため、利用者ID「003」が削除された利用者IDに対応する。このため、配信部153は、サーバ10bに対して、利用者ID「003」の削除指示を、利用者情報に含めて配信する。
配信部153は、下位サーバへの利用者情報の配信が完了した場合に、削除された利用者IDに対応するレコードを、配信管理テーブル146から特定する。配信部153は、特定したレコードのフラグをオフに設定する。
上記した配信部153は、例えば、定期的に上記処理を実行する。または、配信部153は、管理部152が、利用者情報テーブル142、所属管理テーブル143を更新したことを契機にして、上記処理を実行してもよい。
次に、本実施例に係る管理装置100の管理部152、配信部153の処理手順を順に説明する。図11は、本実施例に係る管理部の処理手順を示すフローチャートである。図11に示す処理は、例えば、人事サーバ50から所属情報を取得したことを契機として実行される。
図11に示すように、管理部152は、所属情報を取得し、記憶部140に記憶させる(ステップS101)。管理部152は、所属情報のフォーマットチェックを行う(ステップS102)。管理部152は、処理区分情報が新規登録であるか否かを判定する(ステップS103)。管理部152は、処理区分情報が新規登録である場合には(ステップS103,Yes)、利用者情報テーブル142に情報を登録する(ステップS104)。管理部152は、所属管理テーブル143に情報を登録し(ステップS105)、ステップS106に移行する。
一方、管理部152は、処理区分情報が新規登録ではない場合には(ステップS103,No)、処理区分情報が更新であるか否かを判定する(ステップS106)。管理部152は、処理区分情報が更新である場合には(ステップS106,Yes)、更新処理を実行し(ステップS107)、ステップS108に移行する。
一方、管理部152は、処理区分情報が更新ではない場合には(ステップS106,No)、処理区分情報が削除であるか否かを判定する(ステップS108)。管理部152は、処理区分情報が削除の場合には(ステップS108,Yes)、利用者情報テーブル142から情報を削除し(ステップS109)、処理を終了する。
一方、管理部152は、処理区分情報が削除ではない場合には(ステップS108,No)、処理を終了する。
次に、図11のステップS107に示した更新処理の処理手順について説明する。図12は、更新処理の処理手順を示すフローチャートである。図12に示すように、管理部152は、利用者情報テーブル142の情報を更新し(ステップS201)、所属情報141と所属管理テーブル143とを比較する(ステップS202)。
管理部152は、所属情報141に存在し、所属管理テーブル143に存在しない所属があるか否かを判定する(ステップS203)。管理部152は、所属情報141に存在し、所属管理テーブル143に存在しない所属がある場合には(ステップS203,Yes)、所属管理テーブル143に登録する(ステップS204)。そして、管理部152は、ステップS205に移行する。
一方、管理部152は、所属情報141に存在し、所属管理テーブル143に存在しない所属がない場合には(ステップS203,No)、ステップS205に移行する。管理部152は、所属情報141に存在せず、所属管理テーブル143に存在する所属があるか否かを判定する(ステップS205)。
管理部152は、所属情報141に存在せず、所属管理テーブル143に存在する所属がある場合には(ステップS205,Yes)、所属管理テーブルの該当する所属の終了日を設定し(ステップS206)、更新処理を終了する。所属情報141に存在せず、所属管理テーブル143に存在する所属がある場合、管理部152は、利用者の異動によって、利用者の異動前の所属、すなわち過去の所属を検出した状態である。この場合、過去の所属対応する下位装置への利用者のアクセス権をすぐに廃棄することは、利用者の後任への引継ぎ等に支障が生じる。そこで、管理部152は過去の所属に対応する下位装置へのアクセス権を一定期間確保するように設定する。
一方、管理部152は、所属情報141に存在せず、所属管理テーブル143に存在する所属がない場合には(ステップS205,No)、更新処理を終了する。
次に、配信部153の処理手順について説明する。図13は、本実施例にかかる配信部の処理手順を示すフローチャートである。図13に示す処理は、例えは、配信部153により定期的に実行される。
図13に示すように、配信部153は、出力システム区分に配信する利用者グループ一覧情報を作成する(ステップS301)。配信部153は、第1の利用者ID群と、第2の利用者ID群とをサーバID毎に作成する(ステップS302)。
配信部153は、第1の利用者ID群と第2の利用者ID群とを比較する(ステップS303)。配信部153は、第1の利用者ID群に存在し、第2の利用者ID群に存在しない利用者IDが存在するか否かを判定する(ステップS304)。
配信部153は、第1の利用者ID群に存在し、第2の利用者ID群に存在しない利用者IDが存在する場合には(ステップS304,Yes)、ステップS305に移行する。配信部153は、出力システム区分に利用者情報を配信し(ステップS305)、配信管理テーブル146のフラグをONに設定し(ステップS306)、ステップS307に移行する。
一方、配信部153は、第1の利用者ID群に存在し、第2の利用者ID群に存在しない利用者IDが存在しない場合には(ステップS304,No)、ステップS307に移行する。配信部153は、第1の利用者ID群および第2の利用者ID群に存在し、更新日時が配信日時よりも後の利用者IDが存在するか否かを判定する(ステップS307)。
配信部153は、第1の利用者ID群および第2の利用者ID群に存在し、更新日時が配信日時よりも後の利用者IDが存在する場合には(ステップS307,Yes)、ステップ308に移行する。配信部153は、出力システム区分に利用者情報を配信し(ステップS308)、配信管理テーブル146のフラグをONに設定する(ステップS309)。
一方、配信部153は、第1の利用者ID群および第2の利用者ID群に存在し、更新日時が配信日時よりも後の利用者IDが存在しない場合には(ステップS307,No)、ステップS310に移行する。配信部153は、第1の利用者ID群に存在せず、第2の利用者ID群に存在する利用者IDが存在するか否かを判定する(ステップS310)。
配信部153は、第1の利用者ID群に存在せず、第2の利用者ID群に存在する利用者IDが存在する場合には(ステップS310,Yes)、ステップS311に移行する。配信部153は、出力システム区分に利用者情報を配信し(ステップS311)、配信管理テーブル146のフラグをONに設定する(ステップS312)。そして、配信部153は、処理を終了する。
一方、配信部153は、第1の利用者ID群に存在せず、第2の利用者ID群に存在する利用者IDが存在しない場合には(ステップS310,No)、処理を終了する。
次に、本実施例にかかる管理装置100の効果について説明する。管理装置100は、同一の利用者IDについて、所属情報141に存在し、かつ、所属管理テーブル143に存在しない所属を検出した場合に、利用者IDと利用者IDの所属とのレコードを所属管理テーブル143に登録して該レコードの有効期間を無制限に設定する。一方、管理装置100は、同一の利用者について、所属情報141に存在せず、かつ、所属管理テーブル143に存在する所属を検出した場合に、利用者IDと該利用者IDの所属とのレコードを所属管理テーブル143に登録して該レコードの有効期間を設定する。そして、管理装置100は、所属管理テーブル143を基にして、利用者情報を下位サーバ10に配信する。このような処理を管理装置100が実行することにより、人事サーバ50から得られる現在の所属情報を利用して、変化後、変化前の所属情報に対応するアクセス権を、猶予期間を持たせて自動的に下位サーバ10に設定することができる。
また、管理装置100は、所属情報141に所属情報141が新規登録である旨の情報が含まれている場合に、所属情報141に存在する利用者IDと該利用者IDの所属とのレコードを所属管理テーブル143に登録して該レコードの有効期間を無制限に設定する。このため、所属情報が新規登録される場合でも、アクセス権を適切に設定することができる。
また、管理装置100は、所属情報141に該所属情報141が更新である旨の情報が含まれている場合に、所属情報141と所属管理テーブル143とを比較結果に基づいて、レコードに有効期間を設定する。このため、所属情報が更新される場合でも、アクセス権を適切に設定することができる。
また、管理装置100は、配信管理テーブル146と所属管理テーブル143とを基にして、下記の処理を行う。すなわち、管理装置100は、所属管理テーブル143の利用者および該利用者の所属のうち、下位サーバ10に配信されておらず、かつ、更新日時が配信日時よりも後のレコードに含まれる利用者と該利用者の所属を下位サーバ10に配信する。このため、更新されたレコードに対応して、アクセス権を適切に設定することができる。
また、管理装置100は、有効期間を過ぎたレコードが存在する場合には、該レコードに含まれる利用者に関する情報の削除依頼を下位装置に配信する。このため、有効期間後に利用者が下位サーバにアクセスすることを防止することができる。
また、管理装置100は、配信先情報テーブル145を基にして、利用者の所属の情報を配信する下位装置を判定するので、各下位サーバ10にアクセス権を適切に設定できる。
ところで、本実施例に係る管理装置100は、処理区分情報を基にして、所属情報が、新規登録であるか、更新であるか、削除であるかを判定していたが、これに限定されるものではない。管理装置100は、処理区分情報を用いないで、所属情報が、新規登録であるか、更新であるか、削除であるかを判定しても良い。
例えば、管理装置100は、人事サーバ50から現在の利用者ID、所属、役職の組の情報を全て取得し、所属管理テーブル143と比較して、所属情報が、新規登録であるか、更新であるか、削除であるかを判定する。例えば、人事サーバ50からの情報に存在し、所属管理テーブル143に存在しない利用者ID、所属、役職の組は、新規登録の対象となる所属情報である。利用者IDが一致し、所属および役職のみ人事サーバ50からの情報の異なる利用者ID、所属、役職の組は、更新対象となる所属情報である。人事サーバ50に存在せず、所属管理テーブル143に存在する利用者ID、所属、役職の組は、削除対象となる所属情報である。
次に、実施例に示した管理装置100と同様の機能を実現する管理プログラムを実行するコンピュータの一例を説明する。図14は、管理プログラムを実行するコンピュータの一例を示す図である。
図14に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203を有する。また、コンピュータ200は、記憶媒体からプログラム等を読取る読み取り装置204と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207を有する。そして、各装置201〜207は、バス208に接続される。
ハードディスク装置207は、例えば、受信プログラム207a、管理プログラム207b、配信プログラム207cを有する。CPU201は、各プログラム207a〜207cを読み出して、RAM206に展開する。
受信プログラム207aは、受信プロセス206aとして機能する。管理プログラム207bは、管理プロセス206bとして機能する。配信プログラム207cは、配信プロセス206cとして機能する。
例えば、受信プロセス206aは、受信部151に対応する。管理プロセス206bは、管理部152に対応する。配信プロセス206cは、配信部153に対応する。
なお、各プログラム207a〜207cについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200がこれらから各プログラム207a〜207cを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
上位装置から利用者と該利用者の現在の所属との関係を含む所属情報を受信して記憶装置に記憶し、
前記記憶装置に記憶された、前記所属情報と、利用者と該利用者の過去の所属とを対応付けた所属管理テーブルとを比較し、
同一の利用者について、前記所属情報に存在し、かつ、前記所属管理テーブルに存在しない所属を検出した場合に、前記利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を無制限に設定し、
同一の利用者について、前記所属情報に存在せず、かつ、前記所属管理テーブルに存在する所属を検出した場合に、前記利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を設定し、
前記所属管理テーブルを基にして、有効期間を過ぎていないレコードに含まれる利用者の情報を該利用者の所属に予め対応付けられた下位装置に配信する
各処理を実行させることを特徴とする管理プログラム。
(付記2)前記所属管理テーブルに登録する処理は、前記所属情報に該所属情報が新規登録である旨の情報が含まれている場合に、前記所属情報に存在する利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を無制限に設定することを特徴とする付記1に記載の管理プログラム。
(付記3)前記所属管理テーブルに登録する処理は、前記所属情報に該所属情報が更新である旨の情報が含まれている場合に、前記所属情報と前記所属管理テーブルとを比較結果に基づいて、レコードに有効期間を設定することを特徴とする付記1または2に記載の管理プログラム。
(付記4)前記所属管理テーブルは、レコード毎に更新日時を記憶し、前記記憶装置は、下位装置に利用者の情報を配信したか否かを示す情報と配信日時とを対応付けた配信管理テーブルを更に記憶し、
前記配信する処理は、前記配信管理テーブルと、前記所属管理テーブルと基にして、前記所属管理テーブルの利用者の情報のうち、前記下位装置に配信されておらず、かつ、更新日時が配信日時よりも後のレコードに含まれる利用者の情報を下位装置に配信することを特徴とする付記1、2または3に記載の管理プログラム。
(付記5)前記配信する処理は、前記所属管理テーブルに基づいて、有効期間を過ぎたレコードが存在する場合には、該レコードに対応する利用者の情報の削除依頼を下位装置に配信することを特徴とする付記1〜4の何れか一つに記載の管理プログラム。
(付記6)前記記憶装置は、利用者の所属と、該所属の配信先となる下位装置とを対応付けた配信先テーブルを更に記憶し、前記配信する処理は、前記配信先テーブルを基にして、利用者の情報を配信する下位装置を判定することを特徴とする付記1〜5の何れか一つに記載の管理プログラム。
(付記7)上位装置から利用者と該利用者の現在の所属との関係を含む所属情報を受信して記憶部に記憶する受信部と、
前記所属情報と、利用者と該利用者の過去の所属とを対応付けた所属管理テーブルとを記憶する記憶部と、
前記記憶部に記憶された前記所属情報と、前記所属管理テーブルとを比較し、
同一の利用者について、前記所属情報に存在し、かつ、前記所属管理テーブルに存在しない所属を検出した場合に、前記利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を無制限に設定し、
同一の利用者について、前記所属情報に存在せず、かつ、前記所属管理テーブルに存在する所属を検出した場合に、前記利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を設定する管理部と、
前記所属管理テーブルを基にして、有効期間を過ぎていないレコードに含まれる利用者の情報を該利用者の所属に予め対応付けられた下位装置に配信する配信部と
を含んだことを特徴とする管理装置。
(付記8)前記管理部は、前記所属情報に該所属情報が新規登録である旨の情報が含まれている場合に、前記所属情報に存在する利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を無制限に設定することを特徴とする付記7に記載の管理装置。
(付記9)前記管理部は、前記所属情報に該所属情報が更新である旨の情報が含まれている場合に、前記所属情報と前記所属管理テーブルとを比較結果に基づいて、レコードに有効期間を設定することを特徴とする付記7または8に記載の管理装置。
(付記10)前記所属管理テーブルは、レコード毎に更新日時を記憶し、前記記憶部は、下位装置に利用者の情報を配信したか否かを示す情報と配信日時とを対応付けた配信管理テーブルを更に記憶し、
前記配信部は、前記配信管理テーブルと、前記所属管理テーブルと基にして、前記所属管理テーブルの利用者の情報うち、前記下位装置に配信されておらず、かつ、更新日時が配信日時よりも後のレコードに含まれる利用者の情報を下位装置に配信することを特徴とする付記7、8または9に記載の管理装置。
(付記11)前記配信部は、前記所属管理テーブルに基づいて、有効期間を過ぎたレコードが存在する場合には、該レコードに対応する利用者の情報の削除依頼を下位装置に配信することを特徴とする付記7〜10の何れか一つに記載の管理装置。
(付記12)前記記憶部は、利用者の所属と、該所属の配信先となる下位装置とを対応付けた配信先テーブルを更に記憶し、前記配信部は、前記配信先テーブルを基にして、利用者の情報を配信する下位装置を判定することを特徴とする付記7〜11の何れか一つに記載の管理装置。
(付記13)上位装置と下位装置と管理装置とを有する管理システムであって、
前記管理装置は、
前記上位装置から利用者と該利用者の現在の所属との関係を含む所属情報を受信して記憶部に記憶する受信部と、
前記所属情報と、利用者と該利用者の過去の所属とを対応付けた所属管理テーブルとを記憶する記憶部と、
前記記憶部に記憶された前記所属情報と、前記所属管理テーブルとを比較し、
同一の利用者について、前記所属情報に存在し、かつ、前記所属管理テーブルに存在しない所属を検出した場合に、前記利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を無制限に設定し、
同一の利用者について、前記所属情報に存在せず、かつ、前記所属管理テーブルに存在する所属を検出した場合に、前記利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を設定する管理部と、
前記所属管理テーブルを基にして、有効期間を過ぎていないレコードに含まれる利用者の情報を該利用者の所属に予め対応付けられた前記下位装置に配信する配信部と
を含んだことを特徴とする管理システム。
(付記14)前記管理部は、前記所属情報に該所属情報が新規登録である旨の情報が含まれている場合に、前記所属情報に存在する利用者と該利用者の所属とのレコードを前記所属管理テーブルに登録して該レコードの有効期間を無制限に設定することを特徴とする付記13に記載の管理システム。
(付記15)前記管理部は、前記所属情報に該所属情報が更新である旨の情報が含まれている場合に、前記所属情報と前記所属管理テーブルとを比較結果に基づいて、レコードに有効期間を設定することを特徴とする付記13または14に記載の管理システム。
(付記16)前記所属管理テーブルは、レコード毎に更新日時を記憶し、前記記憶部は、下位装置に利用者の情報を配信したか否かを示す情報と配信日時とを対応付けた配信管理テーブルを更に記憶し、
前記配信部は、前記配信管理テーブルと、前記所属管理テーブルと基にして、前記所属管理テーブルの利用者の情報のうち、前記下位装置に配信されておらず、かつ、更新日時が配信日時よりも後のレコードに含まれる利用者の情報を下位装置に配信することを特徴とする付記13、14または15に記載の管理システム。
(付記17)前記配信部は、前記所属管理テーブルに基づいて、有効期間を過ぎたレコードが存在する場合には、該レコードに対応する利用者の情報の削除依頼を下位装置に配信することを特徴とする付記13〜16の何れか一つに記載の管理システム。
(付記18)前記記憶部は、利用者の所属と、該所属の配信先となる下位装置とを対応付けた配信先テーブルを更に記憶し、前記配信部は、前記配信先テーブルを基にして、利用者の情報を配信する下位装置を判定することを特徴とする付記13〜17の何れか一つに記載の管理システム。