説明

情報管理装置、情報管理方法、及びプログラム

【課題】検索条件によって定義されたグループのメンバ情報における不整合の発生を抑制しつつ、検索結果キャッシュの更新処理時間の短縮化を図り得る、情報管理装置、情報管理方法、及びプログラムを提供する。
【解決手段】情報管理装置100は、検索条件で定義されたグループのメンバを検索する検索処理部12と、検索結果をビットマップ形式でインデックス情報として記憶する検索結果記憶部20と、グループ毎に、定義に関連する属性をグループ属性情報として記憶するグループ属性記憶部32と、メンバの属性情報が変更された場合に、グループ属性情報に基づいて、変更された属性情報の属性と同一の属性に関連するグループを選択し、属性情報が変更されたメンバが、選択されたグループの定義を満たしているかどうかの判定の結果に応じて、インデックス情報における選択されたグループに対応する部分を更新する検索結果更新処理部33と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上に存在するリソースに関する情報を管理するための、情報管理装置、情報管理方法、及びプログラムに関する。
【背景技術】
【0002】
近年、ネットワークシステムにおいては、ユーザ、コンピュータ、プリンタなど多数のリソースが、ネットワーク上に分散している。このため、ネットワーク上に分散しているリソースの情報の登録及び検索を行うための仕組みとして、ディレクトリサービスが利用されている。また、ディレクトリサービスを提供するデータベースにアクセスするためのプロトコルとしては、多くの場合、LDAP(Lightweight Directory Access Protocol)が利用されている。
【0003】
また、LDAPv3に対して、検索条件によってメンバを定義できるグループの機能が提案されている。この機能は、所属するメンバの条件を、ldapURL形式(クエリ)で memberQueryURL属性に指定できるダイナミックグループと呼ばれるものである。
参照:http://tools.ietf.org/html/draft-haripriya-dynamicgroup-02
【0004】
例えば、以下の定義に示すように、c=JP配下で、職位がマネージャである複数のユーザのグループを定義すれば、職位がマネージャであるユーザを検索することができる。
(定義)ldap:///c=JP??sub?(職位=マネージャ)
【0005】
ところで、ダイナミックグループは、クエリによって定義されるグループであるため、ダイナミックグループのメンバを取得するためには、都度そのクエリを実行して、検索を行う必要がある。但し、都度クエリを実行すると、検索のTAT(Turn Around Time)は低下してしまう。そこで、クエリによる検索結果をインデックス的な情報としてキャッシュしておき、次に、ダイナミックグループのメンバの取得が行われる時は、そのインデックスの情報に基づいてメンバ情報を返却し、これによって検索の高速化を図ることが行われている。
【0006】
ところで、このインデックスの情報としては、例えば、ビットマップインデックスを使用することができる。ビットマップインデックスでは、クエリの検索結果が保持されていなければならないため、クエリ自体が変わらなくても、一般のエントリ(メンバ)の属性が変わった場合は、保持されている検索結果は変更される必要がある。従って、ビットマップインデックスにおいては、キャッシュされたクエリの検索結果(以下、「検索結果キャッシュ」)をいかに効率よく更新するかが課題となる。つまり、更新のTATの向上が求められている。
【0007】
上記課題を解決するための1つの方法としては、定期的に、全てのダイナミックグループの検索結果キャッシュを更新する方法が挙げられる。但し、上記の方法では、ダイナミックグループの検索結果キャッシュが更新されてから、次の更新までの間に、一般のエントリの属性が変更された場合に、ダイナミックグループのメンバを特定する情報(以下「メンバ情報」という。)に不整合が発生するという別の課題が発生してしまう。
【0008】
この別の課題に対する解決策としては、更新の都度、ダイナミックグループの検索結果キャッシュを更新する方法が考えられる。但し、この方法では、ダイナミックグループの数が多くなると、検索結果キャッシュの情報を更新するのに時間がかかってしまうため、更新のTATが低下してしまう。この方法では、結局のところ、検索結果キャッシュを効率良く更新することは困難である。
【0009】
一方、特許文献1は、このようなキャッシュを効率良く更新するための技術を開示している。具体的には、特許文献1に開示されたシステムでは、検索用キャッシュと、更新差分キャッシュ(挿入、削除、又は更新によって発生した差分のキャッシュ)とが準備される。そして、検索時に、これら2つのキャッシュ間において、タプルIDが一致するデータがマージされる。その後、適当なタイミングで、更新差分キャッシュの内容が検索用キャッシュに転送される。よって、特許文献1に開示された技術をLDAPに利用すれば、更新の都度、検索結果キャッシュを更新してもTATの低下が抑制されるとも考えられる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2009−26334号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、LDAPは、リレーショナルデータベースのプロトコルと異なり、ダイナミックグループをクエリで定義しており、タプルIDの指定によるマージ処理には対応していない。このため、特許文献1に開示された技術をLDAPに利用してマージ処理を行う場合は、全ての更新をチェックする必要があり、結局のところ、更新のTATの向上は困難である。
【0012】
また、特許文献1に開示された技術をLDAPに利用した場合であっても、エントリの属性情報が変更されると、基本的に全てのダイナミックグループについて検索結果キャッシュの情報を更新する必要がある。従って、この点からも、更新のTATの向上は困難である。
【0013】
本発明の目的の一例は、上記問題を解消し、検索条件によって定義されたグループのメンバ情報における不整合の発生を抑制しつつ、検索結果キャッシュの更新処理時間の短縮化を図り得る、情報管理装置、情報管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0014】
上記目的を達成するため、本発明の一側面における情報管理装置は、ネットワーク上に存在するメンバの属性情報を管理する情報管理装置であって、
検索条件によって定義されたグループに属している前記メンバを検索する、検索処理部と、
前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、検索結果記憶部と、
前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、グループ属性記憶部と、
いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択し、そして、前記属性情報が変更されたメンバが、選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、検索結果更新処理部と、
を備えていることを特徴とする。
【0015】
また、上記目的を達成するため、本発明の一側面における情報管理方法は、ネットワーク上に存在するメンバの属性情報を管理するための方法であって、
(a)検索条件によって定義されたグループに属している前記メンバを検索する、ステップと、
(b)前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、ステップと、
(c)前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、ステップと、
(d)いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択する、ステップと、
(e)前記属性情報が変更されたメンバが、前記(d)のステップで選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、ステップと、
を有することを特徴とする。
【0016】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、ネットワーク上に存在するメンバの属性情報を管理するためのプログラムであって、
前記コンピュータに、
(a)検索条件によって定義されたグループに属している前記メンバを検索する、ステップと、
(b)前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、ステップと、
(c)前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、ステップと、
(d)いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択する、ステップと、
(e)前記属性情報が変更されたメンバが、前記(d)のステップで選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【0017】
以上の特徴により、本発明における情報管理装置、情報管理方法、及びプログラムによれば、検索条件によって定義されたグループのメンバ情報における不整合の発生を抑制しつつ、検索結果キャッシュの更新処理時間の短縮化を図ることができる。
【図面の簡単な説明】
【0018】
【図1】図1は、本発明の実施の形態における情報管理装置の構成を示すブロック図である。
【図2】図2は、本発明の実施の形態において用いられるインデックス情報の一例を示す図である。
【図3】図3は、本発明の実施の形態において用いられるグループ属性情報の一例を示す図である。
【図4】図4は、本発明の実施の形態における情報管理装置の全体の動作を示すフロー図である。
【図5】図5は、本発明の実施の形態におけるメンバの属性情報の更新処理を示すフロー図である。
【図6】図6は、本発明の実施の形態における情報管理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0019】
(実施の形態)
以下、本発明の実施の形態における、情報管理装置、情報管理方法、及びプログラムについて、図1〜図5を参照しながら説明する。最初に、図1を用いて、本実施の形態における情報管理装置の構成を説明する。図1は、本発明の実施の形態における情報管理装置の構成を示すブロック図である。
【0020】
[情報管理装置の構成]
図1に示すように、本実施の形態における情報管理装置100は、LDAP処理装置10と、検索結果記憶部20と、検索結果更新装置30とを備えている。情報管理装置100は、この構成により、ネットワーク(図1において図示せず)上に存在するメンバの属性情報を管理する。メンバには、ネットワーク上に存在するユーザオブジェクト、コンピュータオブジェクトなどが含まれる。
【0021】
本実施の形態では、情報管理装置100は、LDAPサーバとして機能するサーバコンピュータである。情報管理装置100は、ユーザが、クライアントコンピュータ(図1において図示せず)を介して操作を入力すると、操作に応じたディレクトリサービスを提供する。また、本実施の形態では、LDAP処理装置10及び検索結果更新装置30は、情報管理装置100となるサーバコンピュータに組み込まれたプログラムによって構築されている。
【0022】
図1に示すように、LDAP処理装置10は、主に、検索処理部20を備えている。検索処理部20は、検索条件によって定義されたグループに属しているメンバを検索する。本実施の形態では、検索処理部20は、ユーザが指定したクエリを実行し、クエリに定義されているグループのメンバを特定する。また、検索結果記憶部20は、検索の結果を、グループ毎に、ビットマップ形式によってインデックス情報として記憶する。
【0023】
また、図1に示すように検索結果更新装置30は、主に、グループ属性記憶部32と、検索結果更新処理部33とを備えている。グループ属性記憶部32は、グループ毎に、当該グループの定義に関連する属性を、グループ属性情報として記憶している。
【0024】
検索結果更新処理部33は、いずれかのグループに属しているメンバの属性情報が変更されると、まず、変更された属性情報の属性を特定する。具体的には、ユーザが、操作により、メンバの属性情報(例えば、職位の内容、所属先、IDなど)を更新(追加、削除を含む)すると、検索結果更新処理部33は、変更された属性情報の属性(例えば、職位、所属、ログインIDなど)を特定する。
【0025】
続いて、検索結果更新処理部33は、記憶されているグループ属性情報に基づいて、変更された属性情報の属性と同一の属性に関連しているグループを選択する。そして、検索結果更新処理部33は、属性情報が変更されたメンバが、選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、インデックス情報における選択されたグループに対応する部分を更新する。
【0026】
このような構成により、本実施の形態における情報管理装置100では、メンバの属性情報が変更されても、全てのグループについて検索結果キャッシュを更新する必要はなく、更新は、関連するグループの対応する部分だけで済む。よって、情報管理装置100によれば、検索結果キャッシュの更新処理時間の短縮化を図ることが可能となる。また、これにより、更新の都度、更新処理を実行できるので、グループのメンバ情報における不整合の発生が抑制される。
【0027】
ここで、図2及び図3を用いて、本実施の形態における情報管理装置100の構成を更に具体的に説明する。図2は、本発明の実施の形態において用いられるインデックス情報の一例を示す図である。図3は、本発明の実施の形態において用いられるグループ属性情報の一例を示す図である。
【0028】
図1に示すように、本実施の形態では、LDAP処理装置10は、検索処理部12に加えて、プロトコル処理部11と、更新処理部13とを備えている。また、本実施の形態では、検索結果更新装置30は、グループ属性記憶部32及び検索結果更新処理部33に加えて、グループ属性更新処理部31を備えている。
【0029】
また、本実施の形態では、インデックス情報は、キャッシュとして記憶されており、以下の説明では、「検索結果キャッシュ」とも言う。更に、本実施の形態では、「グループ」は、LDAPで規定される「ダイナミックグループ」であり、以降の説明では、ダイナミックグループと表記する。
【0030】
LDAP処理装置10において、プロトコル処理部11は、ユーザが、クライアントコンピュータを介して、操作を入力すると、入力された操作の解釈を行い、解釈結果に応じて、検索処理部12または更新処理部13に処理の実行を指示する。具体的には、プロトコル処理部11は、ユーザが入力した操作が「検索」である場合は、検索処理部12に、入力されたダイナミックグループに属しているメンバの検索を実行させる。また、プロトコル処理部11は、ユーザが入力した操作が更新(追加、削除を含む。)である場合は、検索処理部12及び更新処理部13にその旨を通知する。
【0031】
更新処理部13は、更新によっていずれかのダイナミックグループの定義が変更された場合は、後述するグループ属性更新書部31に処理を実行させる。一方、更新処理部13は、更新によってメンバの属性情報が変更された場合は、検索結果更新処理部33に、上述した処理を実行させる。
【0032】
また、本実施の形態では、検索処理部12は、更新によっていずれかのダイナミックグループの定義が変更された場合は、定義が変更されたダイナミックグループについて、再度、メンバを検索する。そして、検索処理部12は、検索結果に基づいて、検索結果記憶部20に記憶されているインデックス情報を更新する。ここで、図2を用いて、本実施の形態におけるインデックス情報について説明する。
【0033】
図2の例では、検索結果記憶部20は、ダイナミックグループ毎に、全てのメンバ(全エントリ)に対応する1ビットの情報を割り当てることによってインデックス情報を記憶している。そして、検索結果記憶部20は、ダイナミックグループに属しているメンバの1ビットの情報を1に設定し、ダイナミックグループに属していないメンバの1ビットの情報を0に設定する。本実施の形態において、インデックス情報は、ビットの集合によって構成されており、各メンバがいずれのダイナミックグループの定義を満たしているかどうかを示している。
【0034】
また、検索結果更新装置30において、グループ属性更新処理部31は、いずれかのダイナミックグループの定義が変更され、更新処理部13からその旨の通知を受けると、定義が変更されたダイナミックグループにおける、変更された定義に関連する属性を特定する。そして、グループ属性更新処理部31は、特定した属性に基づいて、グループ属性記憶部32に記憶されているグループ属性情報を更新する。ここで、図3を用いて、本実施の形態におけるグループ属性情報について説明する。
【0035】
図3の例では、グループ属性情報は、各ダイナミックグループの定義が関連している属性をテーブル形式で特定している。図3の例では、属性がダイナミックグループの定義と関連している場合は、ダイナミックグループを表す列の該当する欄に1が設定され、属性がダイナミックグループの定義と関連していない場合は、ダイナミックグループを表す列の該当する欄に0が設定される。具体的には、グループAの定義が関連している属性は、「職位」である。グループBの定義が関連している属性は、「所属」と「オフィスID」とである。グループCの定義が関連している属性は「職位」と「オフィスID」とである。グループDの定義が関連している属性は「オフィスID」である。
【0036】
グループ属性情報が、図3の例である場合に、例えば、変更されたメンバの属性情報の属性が「職位」であるとすると、検索結果更新処理部33は、「職位」に関連しているダイナミックグループ、即ち、グループAとグループCとを選択する。そして、検索結果更新処理部33は、属性情報が変更されたメンバが、グループA及びグループCの定義を満たしているかどうかを判定する。
【0037】
また、本実施の形態では、判定の結果、選択されたダイナミックグループの定義を満たしていると判定したメンバについては、検索結果更新処理部33は、図2に示したインデックス情報の対応する1ビットの情報(以下「ビット情報」とする。)を1に設定する。一方、判定の結果、選択されたダイナミックグループの定義を満たしていないと判定したメンバについては、検索結果更新処理部33は、図2に示したインデックス情報の対応するビット情報を0に設定する。
【0038】
[情報管理装置の動作]
次に、本発明の実施の形態における情報管理装置100の動作について、図4及び図5を用いて説明する。また、本実施の形態では、情報管理装置100を動作させることによって、情報管理方法が実施される。よって、本実施の形態における情報管理方法の説明は、以下の情報管理装置100の動作説明に代える。
【0039】
[全体動作]
最初に、図4を用いて、情報管理装置100の全体の動作について説明する。図4は、本発明の実施の形態における情報管理装置の全体の動作を示すフロー図である。
【0040】
図4に示すように、まず、ユーザからクライアントコンピュータを介して操作が入力されると、LDAP処理装置10において、プロトコル処理部11は、入力された操作の解釈を行い、入力された操作が更新であるかどうかを判定する(ステップA1)。
【0041】
ステップA1の判定の結果、入力された操作が更新でない場合(新たなダイナミックグループを入力した検索である場合)は、プロトコル処理部11は、検索処理部12にその旨を通知する。そして、検索処理部12は、新たなダイナミックグループの定義に従って、それに属するメンバの検索を実行する(ステップA6)。
【0042】
ステップA6が実行されると、検索処理部12は、検索結果記憶部20に記憶されている検索結果キャッシュに、新たなダイナミックグループについての検索結果を示すビットマップを追加する。また、検索処理部12は、検索結果をプロトコル処理部11に返却する。その後、プロトコル処理部11は、検索結果をユーザのクライアントコンピュータに送信する。また、ステップA6の実行後、情報管理装置100における処理は一旦終了する。
【0043】
一方、ステップA1の判定の結果、入力された操作が更新である場合は、プロトコル処理部11は、更に、更新がダイナミックグループ自体の更新であるかどうかを判定する(ステップA2)。
【0044】
ステップA2の判定の結果、更新がダイナミックグループ自体の更新でない場合、即ち、更新が、あるメンバの属性情報の変更(即ち、エントリの属性の変更)である場合は、プロトコル処理部11は、その旨を、更新処理部13に通知する。そして、更新処理部13は、検索結果更新処理部33に、検索結果記憶部20に記憶されている検索結果キャッシュ(図2参照)において、該当するメンバのビット情報を更新させる(ステップA7)。なお、ステップA7については、図5を用いて後述する。また、ステップA7の実行後、情報管理装置100における処理は一旦終了する。
【0045】
一方、ステップA2の判定の結果、更新がダイナミックグループ自体の更新である場合、即ち、ユーザがダイナミックグループのエントリを定義し直した場合は、プロトコル処理部11は、その旨を、検索処理部12と更新処理部13とに通知する。
【0046】
これにより、検索処理部12は、更新対象となったダイナミックグループのクエリを実行する(ステップA3)。続いて、検索処理部12は、更新対象となったダイナミックグループの検索結果キャッシュを更新する(ステップA4)。具体的には、図2に示すように検索結果キャッシュはビットマップ形式で保持されているため、ステップA4では、更新対象となったダイナミックグループに対応するビットマップ全体が更新される。
【0047】
次に、更新処理部13は、グループ属性更新処理部31を呼び出し、グループ属性更新処理部31に、グループ属性記憶部32に記憶されているグループ属性情報(図3参照)の更新を実行させる(ステップA4)。
【0048】
具体的には、ステップA4では、グループ属性更新処理部31は、更新対象となったダイナミックグループの変更された定義が関連している属性を特定し、特定した属性に基づいてグループ属性情報を更新する。なお、ステップA4は、ステップA2と同時に実行されていても良いし、ステップA2の実行前に実行されていても良い。また、ステップA2〜A4が実行されると、情報管理装置100における処理は一旦終了する。
【0049】
[メンバの属性情報の更新処理]
続いて、図5を用いて、図4に示したステップA7について具体的に説明する。図5は、本発明の実施の形態におけるメンバの属性情報の更新処理理を示すフロー図である。
【0050】
図5に示すように、ユーザ操作による更新が、あるメンバの属性情報の変更(あるエントリの属性の変更)である場合、まず、検索結果更新処理部33は、変更された属性情報の属性を特定する(ステップA71)。
【0051】
次に、検索結果更新処理部33は、グループ属性記憶部32にアクセスして、グループ属性情報を取得する。そして、検索結果更新処理部33は、グループ属性情報を参照して、更新対象となっている属性情報の属性と関連しているダイナミックグループのリストを取得する(ステップA72)。具体的には、検索結果更新処理部33は、図3に示すテーブルにおいて、更新対象となっている属性情報の属性が1に設定されているグループを特定し、特定したグループをまとめてリストを作成する。
【0052】
次に、検索結果更新処理部33は、リストで特定されるダイナミックグループそれぞれについて、ステップA73〜A75を実行する。ステップA73では、検索結果更新処理部33は、属性情報が更新されたメンバが、処理対象となっているダイナミックグループの定義を満たしているかどうかを判定する。
【0053】
ステップA73の判定の結果、属性情報が更新されたメンバが、処理対象となっているダイナミックグループの定義を満たしている場合は、検索結果更新処理部33は、ステップA74を実行する。
【0054】
ステップA74では、検索結果更新処理部33は、検索結果キャッシュにおける、処理対象となっているダイナミックグループのインデックス情報に、当該エントリの情報を追加する。具体的には、検索結果更新処理部33は、処理対象となっているダイナミックグループのビットマップ(図2参照)において、属性情報が更新されたメンバに対応するビット情報を1に設定する。
【0055】
一方、ステップA73の判定の結果、属性情報が更新されたメンバが、処理対象となっているダイナミックグループの定義を満たしていない場合は、検索結果更新処理部33は、ステップA75を実行する。
【0056】
ステップA75では、検索結果更新処理部33は、検索結果キャッシュにおける、処理対象となっているダイナミックグループのインデックス情報から、当該エントリの情報を削除する。具体的には、検索結果更新処理部33は、処理対象となっているダイナミックグループのビットマップ(図2参照)において、属性情報が更新されたメンバに対応するビット情報を0に設定する。
【0057】
ステップA72で取得されたリストのダイナミックグループ全てについて、ステップA73〜A75が実行されると、検索結果更新処理部33における処理は終了する。その後、情報管理装置100における処理も一旦終了する。
【0058】
以上のように本実施の形態では、メンバの属性情報が更新された場合に、グループ属性情報に基づいて、更新に関連するダイナミックグループだけが処理の対象とされる。そして、この場合、ダイナミックグループの定義は実行されず、代わりに、更新後のメンバが、関連するダイナミックグループの定義を満たすかどうかの判定のみが行われる。このため、本実施の形態によれば、更新処理の高速化が図られるため、ダイナミックグループの数が多い場合でも、ダイナミックグループ以外の更新において、検索結果キャッシュの更新処理時間が抑えられる。
【0059】
また、本実施の形態によれば、更新処理の高速化が図られるため、検索結果キャッシュをメンバの属性情報の更新の度に更新しても、更新処理時間がかかり過ぎることは抑制される。このため、ダイナミックグループの情報を、不整合なく高速に、ユーザのクライアントコンピュータに返却できる。
【0060】
また、上述した例では、グループは、LDAPで規定される「ダイナミックグループ」であったが、本実施の形態は、これに限定されるものではない。本実施の形態における「グループ」は、検索条件によって定義されていれば良い。
【0061】
本発明の実施の形態におけるプログラムは、コンピュータ(サーバコンピュータ)に、図4に示すステップA1〜A7、図5に示すステップA71〜A75を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における情報管理装置100と情報管理方法とを実現することができる。
【0062】
この場合、コンピュータのCPU(Central Processing Unit)は、LDAP処理装置10及び検索結果更新装置30(グループ属性記憶部32を除く)としてとして機能し、処理を行なう。また、本実施の形態では、コンピュータに備えられたハードディスク、メモリ等の記憶装置は、検索結果記憶部20、及びグループ属性記憶部32として機能する。
【0063】
ここで、実施の形態におけるプログラムを実行することによって、情報管理装置100を実現するコンピュータについて図6を用いて説明する。図6は、本発明の実施の形態における情報管理装置を実現するコンピュータの一例を示すブロック図である。
【0064】
図6に示すように、コンピュータ110は、サーバコンピュータであり、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
【0065】
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0066】
また、記憶装置113の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0067】
また、記録媒体120の具体例としては、CF(Compact Flash)及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
【0068】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。
【0069】
(付記1)
ネットワーク上に存在するメンバの属性情報を管理する情報管理装置であって、
検索条件によって定義されたグループに属している前記メンバを検索する、検索処理部と、
前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、検索結果記憶部と、
前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、グループ属性記憶部と、
いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択し、そして、前記属性情報が変更されたメンバが、選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、検索結果更新処理部と、
を備えていることを特徴とする情報管理装置。
【0070】
(付記2)
いずれかの前記グループの定義が変更された場合に、定義が変更された前記グループにおける、変更された前記定義に関連する属性を特定し、特定した属性に基づいて、前記グループ属性情報を更新する、グループ属性更新処理部を、更に備えている、付記1に記載の情報管理装置。
【0071】
(付記3)
前記検索処理部が、いずれかの前記グループの定義が変更された場合に、定義が変更されたグループについて、再度、前記メンバを検索し、検索結果に基づいて、前記インデックス情報を更新する、付記1または2に記載の情報管理装置。
【0072】
(付記4)
前記検索結果記憶部が、前記グループそれぞれ毎に、全ての前記メンバに対応する1ビットの情報を割り当て、そして、当該グループに属しているメンバの前記1ビットの情報を1に設定し、当該グループに属していないメンバの前記1ビットの情報を0に設定することによって、前記インデックス情報を記憶しており、
前記検索結果更新処理部が、前記判定の結果、選択されたグループの定義を満たしていると判定したメンバについては、前記インデックス情報の対応する前記1ビットの情報を1に設定し、選択されたグループの定義を満たしていないと判定したメンバについては、前記インデックス情報の対応する前記1ビットの情報を0に設定する、
付記1〜3のいずれかに記載の情報管理装置。
【0073】
(付記5)
ネットワーク上に存在するメンバの属性情報を管理するための方法であって、
(a)検索条件によって定義されたグループに属している前記メンバを検索する、ステップと、
(b)前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、ステップと、
(c)前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、ステップと、
(d)いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択する、ステップと、
(e)前記属性情報が変更されたメンバが、前記(d)のステップで選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、ステップと、
を有することを特徴とする情報管理方法。
【0074】
(付記6)
(f)いずれかの前記グループの定義が変更された場合に、定義が変更された前記グループにおける、変更された前記定義に関連する属性を特定し、特定した属性に基づいて、前記(c)のステップで記憶されているグループ属性情報を更新する、ステップを更に有する、付記5に記載の情報管理方法。
【0075】
(付記7)
(g)いずれかの前記グループの定義が変更された場合に、定義が変更されたグループについて、再度、前記メンバを検索し、検索結果に基づいて、前記(b)のステップで記憶されているインデックス情報を更新する、ステップを更に有する、付記5または6に記載の情報管理方法。
【0076】
(付記8)
前記(b)のステップにおいて、前記グループそれぞれ毎に、全ての前記メンバに対応する1ビットの情報を割り当て、そして、当該グループに属しているメンバの前記1ビットの情報を1に設定し、当該グループに属していないメンバの前記1ビットの情報を0に設定することによって、前記インデックス情報を記憶し、
前記(e)のステップにおいて、前記判定の結果、選択されたグループの定義を満たしていると判定したメンバについては、前記インデックス情報の対応する前記1ビットの情報を1に設定し、選択されたグループの定義を満たしていないと判定したメンバについては、前記インデックス情報の対応する前記1ビットの情報を0に設定する、
付記5〜7のいずれかに記載の情報管理方法。
【0077】
(付記9)
コンピュータによって、ネットワーク上に存在するメンバの属性情報を管理するためのプログラムであって、
前記コンピュータに、
(a)検索条件によって定義されたグループに属している前記メンバを検索する、ステップと、
(b)前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、ステップと、
(c)前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、ステップと、
(d)いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択する、ステップと、
(e)前記属性情報が変更されたメンバが、前記(d)のステップで選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、ステップと、
を実行させるプログラム。
【0078】
(付記10)
(f)いずれかの前記グループの定義が変更された場合に、定義が変更された前記グループにおける、変更された前記定義に関連する属性を特定し、特定した属性に基づいて、前記(c)のステップで記憶されているグループ属性情報を更新する、ステップを更に前記コンピュータに実行させる、付記9に記載のプログラム。
【0079】
(付記11)
(g)いずれかの前記グループの定義が変更された場合に、定義が変更されたグループについて、再度、前記メンバを検索し、検索結果に基づいて、前記(b)のステップで記憶されているインデックス情報を更新する、ステップを更に前記コンピュータに実行させる、付記9または10に記載のプログラム。
【0080】
(付記12)
前記(b)のステップにおいて、前記グループそれぞれ毎に、全ての前記メンバに対応する1ビットの情報を割り当て、そして、当該グループに属しているメンバの前記1ビットの情報を1に設定し、当該グループに属していないメンバの前記1ビットの情報を0に設定することによって、前記インデックス情報を記憶し、
前記(e)のステップにおいて、前記判定の結果、選択されたグループの定義を満たしていると判定したメンバについては、前記インデックス情報の対応する前記1ビットの情報を1に設定し、選択されたグループの定義を満たしていないと判定したメンバについては、前記インデックス情報の対応する前記1ビットの情報を0に設定する、
付記9〜11のいずれかに記載のプログラム。
【産業上の利用可能性】
【0081】
以上のように、本発明によれば、検索条件によって定義されたグループのメンバ情報における不整合の発生を抑制しつつ、検索結果キャッシュの更新処理時間の短縮化を図ることができる。よって、本発明は、検索条件によって定義されるグループの情報を、高速かつ不整合なく検索することが求められる分野、例えば、ディレクトリサービスなどに有用である。
【符号の説明】
【0082】
10 LDAP処理装置
11 プロトコル処理部
12 検索処理部
13 更新処理部
20 検索結果記憶部
30 検索結果更新装置
31 グループ属性更新処理部
32 グループ属性記憶部
33 検索結果更新処理部
100 情報管理装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

【特許請求の範囲】
【請求項1】
ネットワーク上に存在するメンバの属性情報を管理する情報管理装置であって、
検索条件によって定義されたグループに属している前記メンバを検索する、検索処理部と、
前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、検索結果記憶部と、
前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、グループ属性記憶部と、
いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択し、そして、前記属性情報が変更されたメンバが、選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、検索結果更新処理部と、
を備えていることを特徴とする情報管理装置。
【請求項2】
いずれかの前記グループの定義が変更された場合に、定義が変更された前記グループにおける、変更された前記定義に関連する属性を特定し、特定した属性に基づいて、前記グループ属性情報を更新する、グループ属性更新処理部を、更に備えている、請求項1に記載の情報管理装置。
【請求項3】
前記検索処理部が、いずれかの前記グループの定義が変更された場合に、定義が変更されたグループについて、再度、前記メンバを検索し、検索結果に基づいて、前記インデックス情報を更新する、請求項1または2に記載の情報管理装置。
【請求項4】
前記検索結果記憶部が、前記グループそれぞれ毎に、全ての前記メンバに対応する1ビットの情報を割り当て、そして、当該グループに属しているメンバの前記1ビットの情報を1に設定し、当該グループに属していないメンバの前記1ビットの情報を0に設定することによって、前記インデックス情報を記憶しており、
前記検索結果更新処理部が、前記判定の結果、選択されたグループの定義を満たしていると判定したメンバについては、前記インデックス情報の対応する前記1ビットの情報を1に設定し、選択されたグループの定義を満たしていないと判定したメンバについては、前記インデックス情報の対応する前記1ビットの情報を0に設定する、
請求項1〜3のいずれかに記載の情報管理装置。
【請求項5】
ネットワーク上に存在するメンバの属性情報を管理するための方法であって、
(a)検索条件によって定義されたグループに属している前記メンバを検索する、ステップと、
(b)前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、ステップと、
(c)前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、ステップと、
(d)いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択する、ステップと、
(e)前記属性情報が変更されたメンバが、前記(d)のステップで選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、ステップと、
を有することを特徴とする情報管理方法。
【請求項6】
コンピュータによって、ネットワーク上に存在するメンバの属性情報を管理するためのプログラムであって、
前記コンピュータに、
(a)検索条件によって定義されたグループに属している前記メンバを検索する、ステップと、
(b)前記検索の結果を、前記グループそれぞれ毎に、ビットマップ形式によってインデックス情報として記憶する、ステップと、
(c)前記グループそれぞれ毎に、当該グループの前記定義に関連する属性を、グループ属性情報として記憶する、ステップと、
(d)いずれかのグループに属している前記メンバの属性情報が変更された場合に、前記グループ属性情報に基づいて、変更された前記メンバの属性情報の属性と同一の属性に関連しているグループを選択する、ステップと、
(e)前記属性情報が変更されたメンバが、前記(d)のステップで選択されたグループの定義を満たしているかどうかを判定し、判定の結果に応じて、前記インデックス情報における前記選択されたグループに対応する部分を更新する、ステップと、
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−185611(P2012−185611A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−47400(P2011−47400)
【出願日】平成23年3月4日(2011.3.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.COMPACTFLASH
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】