(57)【特許請求の範囲】
【請求項１】
ユーザが複数組み合わせられてグループとして管理される検索システムにおいて検索による抽出対象であるデータソースに基づいて検索対象となるインデックス情報を管理するインデックス管理プログラムであって、
前記インデックス情報は、それぞれの前記データソースについて、そのデータソースに対するアクセスを許可されたユーザの一覧を示すアクセス許可ユーザ一覧の情報及びそのデータソースに対するアクセス可否の判断に関わるグループを識別する関連グループＩＤを含み、
それぞれの前記グループに含まれるユーザの一覧を前記検索システムの利用権限を認証する認証部から取得するステップと、
前記グループを識別するグループＩＤと、それぞれのグループに含まれるユーザを識別するユーザＩＤとが関連付けられたグループリストに基づき、前記取得されたユーザの一覧と前記グループリストにおいて対応するグループＩＤに関連付けられたユーザＩＤとが一致するか否か確認するステップと、
前記取得されたユーザの一覧と前記グループリストにおけるグループＩＤに関連付けられたユーザＩＤとが不一致である場合に、前記取得されたユーザの一覧によって前記グループリストにおける前記グループＩＤに関連付けられたユーザＩＤを更新するステップと、
前記不一致であったグループのグループＩＤが前記関連グループＩＤとして関連付けられているデータソースを識別するデータソースＩＤを、前記インデックス情報から抽出するステップと、
前記抽出されたデータソースＩＤによって識別されるデータソースについて、前記更新されたグループリストに基づき、前記インデックス情報における前記アクセス許可ユーザ一覧の情報を更新するステップとを情報処理装置に実行させることを特徴とするインデックス管理プログラム。
【請求項２】
前記データソースに対するアクセス可否は、前記ユーザを識別ユーザＩＤ及び前記グループを識別するグループＩＤを用いて設定されており、
前記インデックス情報において、前記データソースに対するアクセス可否の判断に関わるグループを識別する関連グループＩＤは、前記データソースに対するアクセス可否の設定において用いられているグループＩＤであることを特徴とする請求項１に記載のインデックス管理プログラム。
【請求項３】
前記グループリストは、それぞれのグループＩＤについて、関連付けられているユーザＩＤの一覧に基づいて生成されるハッシュ値を含み、
前記認証部から取得されたユーザの一覧に基づいて生成されたハッシュ値と前記グループリストに含まれるハッシュ値とを比較することにより前記取得されたユーザの一覧と前記グループリストにおけるグループＩＤに関連付けられたユーザＩＤとが一致するか否か確認することを特徴とする請求項１または２に記載のインデックス管理プログラム。
【請求項４】
ユーザが複数組み合わせられてグループとして管理される検索システムにおいて検索による抽出対象であるデータソースに基づいて検索対象となるインデックス情報を管理するインデックス管理装置であって、
前記インデックス情報は、それぞれの前記データソースについて、そのデータソースに対するアクセスを許可されたユーザの一覧を示すアクセス許可ユーザ一覧の情報及びそのデータソースに対するアクセス可否の判断に関わるグループを識別する関連グループＩＤを含み、
それぞれの前記グループに含まれるユーザの一覧を前記検索システムの利用権限を認証する認証部から取得し、前記グループを識別するグループＩＤと、それぞれのグループに含まれるユーザを識別するユーザＩＤとが関連付けられたグループリストに基づき、前記取得されたユーザの一覧と前記グループリストにおいて対応するグループＩＤに関連付けられたユーザＩＤとが一致するか否か確認するグループ変更確認部と、
前記取得されたユーザの一覧と前記グループリストにおけるグループＩＤに関連付けられたユーザＩＤとが不一致である場合に、前記取得されたユーザの一覧によって前記グループリストにおける前記グループＩＤに関連付けられたユーザＩＤを更新するグループリスト更新部と、
前記不一致であったグループのグループＩＤが前記関連グループＩＤとして関連付けられているデータソースを識別するデータソースＩＤを、前記インデックス情報から抽出する更新対象ＩＤ抽出部と、
前記抽出されたデータソースＩＤによって識別されるデータソースについて、前記更新されたグループリストに基づき、前記インデックス情報における前記アクセス許可ユーザ一覧の情報を更新するアクセス許可ユーザ一覧更新部とを含むことを特徴とするインデックス管理装置。
【請求項５】
ユーザが複数組み合わせられてグループとして管理される検索システムであって、
検索による抽出対象であるデータソースに基づいて検索対象となるインデックス情報を管理するインデックス管理装置と、
前記インデックス情報を記憶しているインデックス情報記憶部と、
前記グループを識別するグループＩＤと、それぞれのグループに含まれるユーザを識別するユーザＩＤとが関連付けられたグループリストを記憶しているグループリスト記憶部と、
前記ユーザＩＤに基づいて前記検索システムの利用権限を認証する認証部とを含み、
前記インデックス情報記憶部は、それぞれの前記データソースについて、そのデータソースに対するアクセスを許可されたユーザの一覧を示すアクセス許可ユーザ一覧の情報及びそのデータソースに対するアクセス可否の判断に関わるグループを識別する関連グループＩＤを含むインデックス情報を記憶しており、
前記インデックス管理部は、
それぞれの前記グループに含まれるユーザの一覧を前記認証部から取得し、
前記グループリストに基づき、前記取得されたユーザの一覧と前記グループリストにおいて対応するグループＩＤに関連付けられたユーザＩＤとが一致するか否か確認し、
前記取得されたユーザの一覧と前記グループリストにおけるグループＩＤに関連付けられたユーザＩＤとが不一致である場合に、前記取得されたユーザの一覧によって前記グループリストにおける前記グループＩＤに関連付けられたユーザＩＤを更新し、
前記不一致であったグループのグループＩＤが前記関連グループＩＤとして関連付けられているデータソースを識別するデータソースＩＤを、前記インデックス情報から抽出し、
前記抽出されたデータソースＩＤによって識別されるデータソースについて、前記更新されたグループリストに基づき、前記インデックス情報における前記アクセス許可ユーザ一覧の情報を更新することを特徴とする検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インデックス管理プログラム、インデックス管理装置及び検索システムに関し、特に、アクセス権を反映した検索結果の取得のためのインデックス情報の管理に関する。
【背景技術】
【０００２】
電子化された情報の検索について様々な技術が提案されているが、その一態様として、アクセス権の設定されたデータソースを検索して検索結果を提示する際、検索者であるユーザのアクセス権限を考慮してデータソースを検索し、検索者であるユーザがアクセス権を有しないデータについては検索結果に含めず、ユーザがアクセス権を有するデータのみを検索結果に表示することが求められる。
【０００３】
アクセス権が設定されたデータソースを検索する技術として、データソースのデータベース化の際にアクセス権の情報をインデックスファイルの項目に加えることにより、アクセス権を反映した検索結果の取得を可能とする方法が提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された技術においてアクセス権のインデックス化処理の対象となっているのはファイルサーバに格納された情報のみである。しかしながら、電子化された情報の検索システムにおけるデータソースはファイルサーバに格納された情報に限らず、様々な情報形式があり、夫々アクセス権処理の方法が異なる。
【０００５】
例えば、一般的なｗｅｂページとして提供されるデータソースの場合、ディレクトリ単位、ファイル単位でアクセス許可／拒否を指定可能であり、また許可と拒否の優先順位も変更可能である。また、ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）プロトコルに従うサーバでは、データソースである情報の格納されたフォルダ階層に従い、情報に近いフォルダほど優先度が高く、アクセス許可／拒否が設定される。
【０００６】
さらに、グループウェアによっては、その文書が属する文書グループと、その文書そのものの２階層でのみアクセス権の記述が可能であり、その処理も、当然、２つの階層において記述された情報を用いている。
【０００７】
アクセス権がインデックス化されていないデータソースに対する検索結果をアクセス権に応じて表示させる方法として、検索結果を得る度に、抽出された個々のデータについてアクセス権の問い合わせを行い、アクセスが許可されているデータのみに絞り込んだうえで検索結果として表示する方法が考えられる。しかしながら、検索結果として抽出された夫々のデータについてアクセスの可否を問い合わせる必要があるため、検索結果を表示するまでに要する処理量が増大し、検索結果の表示までに要する時間が長くなる。
【０００８】
特許文献１に開示された技術を様々なデータソース、様々なアクセス権管理態様に対応させるように拡張することも可能である。しかしながら、その場合、データソースが増えることによって新規なアクセス権管理態様が追加される度に、インデックスを生成するクローラのアクセス権についての項目の機能を拡張する必要があり、運用コストが増大する。
【０００９】
検索結果を高速に表示し、かつ、問い合わせの種類を増やさない方法としては、あらかじめ、アクセス権情報を計算によって単純化し、アクセス可能なユーザの一覧に変換しておく方法が考えられる。この場合、検索部は、検索を行っているユーザが、その文書に対するアクセス権を持っているか否かのみを判断すればよいため、問い合わせの種類は増えない。
【００１０】
これに対して、文書のもともとのアクセス権情報が、グループを用いて記述されているような場合、文書側において何ら情報の変更が行われず、グループを管理する側のモジュールにおいてグループに含まれるメンバーの変更が行われる場合がある。このような場合、文書とユーザ名とは直接関連付けられていないため、ユーザ名のリストのみでは、単純化されたアクセス権情報を変更すべきか否かが判断できないため、グループメンバーの更新があるようなケースでは、データソース内の全文書について、アクセス権情報を再取得し、再計算する必要がある。その結果、不要なクロールが発生し、システム全体としてのクロール速度の低下につながる。
【００１１】
このような課題に対しては、夫々の文書について、アクセス権を再計算するための情報を関連付けておくことにより解決する方法が考えられる。即ち、文書に対するユーザやグループについてのアクセス権の設定を数式などで記述した情報を文書に関連付けておき、グループの追加、削除、変更等が発生した場合には、アクセス権を再計算するための情報に基づいてアクセス権を再計算する方法である。
【００１２】
しかしながら、様々なデータソースを一括して検索するようなシステムにおいては、データソース毎にアクセス権が記述された形式が異なるため、上述したようなアクセス権を再計算するための情報の記述が困難である。また、検索対象となるデータソースの種類が増えた場合、それまで使用されていた記述態様を用いることが出来ない場合は、上述したようなアクセス権を再計算するための情報を作り直す必要がある。
【００１３】
本特許は、上記した状況に鑑み、異なったアクセス権処理を行う複数種類のデータソースを対象とした検索システムにおいて、検索結果を表示するのに要する時間の増大や煩雑なアクセス権の運用管理を必要とすることなく、アクセス権に応じた検索結果を表示させることを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明の一態様は、ユーザが複数組み合わせられてグループとして管理される検索システムにおいて検索による抽出対象であるデータソースに基づいて検索対象となるインデックス情報を管理するインデックス管理プログラムであって、前記インデックス情報は、それぞれの前記データソースについて、そのデータソースに対するアクセスを許可されたユーザの一覧を示すアクセス許可ユーザ一覧の情報及びそのデータソースに対するアクセス可否の判断に関わるグループを識別する関連グループＩＤを含み、それぞれの前記グループに含まれるユーザの一覧を前記検索システムの利用権限を認証する認証部から取得するステップと、前記グループを識別するグループＩＤと、それぞれのグループに含まれるユーザを識別するユーザＩＤとが関連付けられたグループリストに基づき、前記取得されたユーザの一覧と前記グループリストにおいて対応するグループＩＤに関連付けられたユーザＩＤとが一致するか否か確認するステップと、前記取得されたユーザの一覧と前記グループリストにおけるグループＩＤに関連付けられたユーザＩＤとが不一致である場合に、前記取得されたユーザの一覧によって前記グループリストにおける前記グループＩＤに関連付けられたユーザＩＤを更新するステップと、前記不一致であったグループのグループＩＤが前記関連グループＩＤとして関連付けられているデータソースを識別するデータソースＩＤを、前記インデックス情報から抽出するステップと、前記抽出されたデータソースＩＤによって識別されるデータソースについて、前記更新されたグループリストに基づき、前記インデックス情報における前記アクセス許可ユーザ一覧の情報を更新するステップとを情報処理装置に実行させることを特徴とする。
【００１５】
また、本発明の他の態様は、ユーザが複数組み合わせられてグループとして管理される検索システムにおいて検索による抽出対象であるデータソースに基づいて検索対象となるインデックス情報を管理するインデックス管理装置であって、前記インデックス情報は、それぞれの前記データソースについて、そのデータソースに対するアクセスを許可されたユーザの一覧を示すアクセス許可ユーザ一覧の情報及びそのデータソースに対するアクセス可否の判断に関わるグループを識別する関連グループＩＤを含み、それぞれの前記グループに含まれるユーザの一覧を前記検索システムの利用権限を認証する認証部から取得し、前記グループを識別するグループＩＤと、それぞれのグループに含まれるユーザを識別するユーザＩＤとが関連付けられたグループリストに基づき、前記取得されたユーザの一覧と前記グループリストにおいて対応するグループＩＤに関連付けられたユーザＩＤとが一致するか否か確認するグループ変更確認部と、前記取得されたユーザの一覧と前記グループリストにおけるグループＩＤに関連付けられたユーザＩＤとが不一致である場合に、前記取得されたユーザの一覧によって前記グループリストにおける前記グループＩＤに関連付けられたユーザＩＤを更新するグループリスト更新部と、前記不一致であったグループのグループＩＤが前記関連グループＩＤとして関連付けられているデータソースを識別するデータソースＩＤを、前記インデックス情報から抽出する更新対象ＩＤ抽出部と、前記抽出されたデータソースＩＤによって識別されるデータソースについて、前記更新されたグループリストに基づき、前記インデックス情報における前記アクセス許可ユーザ一覧の情報を更新するアクセス許可ユーザ一覧更新部とを含むことを特徴とする。
【００１６】
また、本発明の更に他の態様は、ユーザが複数組み合わせられてグループとして管理される検索システムであって、検索による抽出対象であるデータソースに基づいて検索対象となるインデックス情報を管理するインデックス管理装置と、前記インデックス情報を記憶しているインデックス情報記憶部と、前記グループを識別するグループＩＤと、それぞれのグループに含まれるユーザを識別するユーザＩＤとが関連付けられたグループリストを記憶しているグループリスト記憶部と、前記ユーザＩＤに基づいて前記検索システムの利用権限を認証する認証部とを含み、前記インデックス情報記憶部は、それぞれの前記データソースについて、そのデータソースに対するアクセスを許可されたユーザの一覧を示すアクセス許可ユーザ一覧の情報及びそのデータソースに対するアクセス可否の判断に関わるグループを識別する関連グループＩＤを含むインデックス情報を記憶しており、前記インデックス管理部は、それぞれの前記グループに含まれるユーザの一覧を前記認証部から取得し、前記グループリストに基づき、前記取得されたユーザの一覧と前記グループリストにおいて対応するグループＩＤに関連付けられたユーザＩＤとが一致するか否か確認し、前記取得されたユーザの一覧と前記グループリストにおけるグループＩＤに関連付けられたユーザＩＤとが不一致である場合に、前記取得されたユーザの一覧によって前記グループリストにおける前記グループＩＤに関連付けられたユーザＩＤを更新し、前記不一致であったグループのグループＩＤが前記関連グループＩＤとして関連付けられているデータソースを識別するデータソースＩＤを、前記インデックス情報から抽出し、前記抽出されたデータソースＩＤによって識別されるデータソースについて、前記更新されたグループリストに基づき、前記インデックス情報における前記アクセス許可ユーザ一覧の情報を更新することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、異なったアクセス権処理を行う複数種類のデータソースを対象とした検索システムにおいて、検索結果を表示するのに要する時間の増大や煩雑なアクセス権の運用管理を必要とすることなく、アクセス権に応じた検索結果を表示させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るシステムの全体構成を示す図である。
【図２】本発明の実施形態に係るアクセス権の設定態様を示す図である。
【図３】本発明の実施形態に係るアクセス権の設定態様を示す図である。
【図４】本発明の実施形態に係るＬＤＡＰサーバによるユーザ、グループの管理態様を示す図である。
【図５】本発明の実施形態に係る検索ＤＢの内容を示す図である。
【図６】本発明の実施形態に係るグループリストの内容を示す図である。
【図７】本発明の実施形態に係るクロール部の動作を示すフローチャートである。
【図８】本発明の実施形態に係る情報処理装置のハードウェア構成を模式的に示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、電子化された文書を利用するシステムであって、文書を管理するサーバと、ユーザが文書を閲覧する際のユーザインタフェースとなる情報処理端末とを含むシステムを例として説明する。
【００２０】
図１は、本発明の実施形態に係る検索システムの全体構成を示すブロック図である。図１に示すように、本実施形態に係る検索システムは、検索部１０１、検索ＤＢ１０２、グループリスト１０３、タスクスケジューラ１０４、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）サーバ１０５、グループウェア１０６、ファイルサーバ１０７、クロール部１１０を含む。また、クロール部１１０は、文書情報取得部Ａ１１１、文書情報取得部Ｂ１１２及びユーザ・グループ更新チェック部１１３を含む。
【００２１】
本実施形態に係る検索システムにおける検索対象のデータソースはグループウェア１０６及びファイルサーバ１０７に格納された情報である。グループウェア１０６及びファイルサーバ１０７へのアクセス権は、ＬＤＡＰサーバ１０５において管理されるユーザ名やグループ名に従って認証される。即ち、ＬＤＡＰサーバ１０５が、ユーザの検索システムの利用権限を認証する認証部として機能する。ここで、グループウェア１０６及びファイルサーバ１０７のアクセス権の具体例について説明する。なお、以下の説明において、文書やファイルのアクセス権としては、作成や更新、削除、読み取りなどさまざまなものがあるが、本発明では、文書やファイルからは情報を読み出すだけであるため、読み取り権のみを扱うものとする。
【００２２】
図２は、ファイルサーバ１０７に格納された情報を示す。図２において、“ａａａ．ｂｂｂ．ｃｃｃ．ｃｏｍ”は、ファイルサーバのネットワーク上のアドレスを示す。また、ファイルサーバ１０７には、フォルダ１〜フォルダ４の４つのフォルダが含まれ、フォルダ２にファイル３、フォルダ３にファイル２、フォルダ４にファイル１が格納されている。
【００２３】
ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）のファイルサーバでは、読み取り権はネットワーク共有上の読み取り制御リストと、フォルダやファイル毎の読み取り制御リストの２種類から決定され、２つのうち厳しい方の制限が適用される。図２には、グループ１を“ｇ１”、ユーザ１を“ｕ１”といった値で示した読み取り制御リストが示されている。本実施形態においては、これらの“ｇ１”、“ｕ１”といった文字列がグループを識別するためのグループＩＤ、ユーザを識別するためのユーザＩＤとして用いられる。そして、“許可”や“拒否”は、それぞれ破線で関連付けられているネットワーク共有、フォルダ及びファイルについての読み取り権の有無を示す。
【００２４】
例えば、ネットワーク共有上の読み取り制御リストとしては、“ｇ１”及び“ｇ２”が“許可”であり、“ｕ１０”が“拒否”であることが設定されている。また、フォルダ１の読み取り制御リストとして、“ｇ１”が“許可”であることが設定されている。また、ファイル１の読み取り制御リストとして、“ｕ４”が“許可”であることが設定されている。
【００２５】
フォルダ・ファイルの読み取り制御リストは、複数の上位フォルダの読み取り制御リストを継承し、自身の読み取り制御リストとあわせて決定される。そのため、複数個所の読み取り制御リストを評価する必要がある。たとえばファイル１の場合、ｇ１に属するユーザであっても、ｇ４に属するユーザはアクセスが拒否されるが、ｕ４のユーザは読み取りが許可される。
【００２６】
図３は、グループウェア１０６に格納された情報を示す。図３に示すように、本実施形態に係るグループウェア１０６は、掲示板１及び掲示板２を含み、破線で関連付けて示すように、それぞれの掲示について固有の読み取り制御リストが設定されている。また、それぞれの掲示板には、投稿文書１〜投稿文書３のように投稿文書が含まれ、それぞれの投稿文書にも読み取り制御リストが設定されている。なお、図３において、“ＡＬＬ”で示されるグループは、システムにアクセス可能な全メンバーを示す。
【００２７】
図３に示すように、グループウェア１０６にはファイルサーバ１０７の場合と異なり、掲示板と文書以外の階層は無く、また、掲示板に対して読み取り権を持たないユーザやグループは、個別の文書に対する読み取り権限の記述によらず、掲示板内の文書を読むことはできない。すなわち、本実施例中のグループウェアは、ファイルサーバ１０７の仕組みであるＣＩＦＳとは異なるアクセス制御の仕組みに従って動作している。
【００２８】
図４は、ＬＤＡＰサーバ１０５によるグループ及びユーザの管理態様を示す図である。図４に示すように、組織としてのｂｂｂ．ｃｃｃ．ｃｏｍには、ｏｕ＝ｇ１及びｏｕ＝ｇ２の２つの部署があり、ｏｕ＝ｇ１にはさらに２つの部署ｏｕ＝ｇ３及びｏｕ＝ｇ４が含まれる。ｕｉｄ＝ｕ１〜ｕ１０はそれぞれユニークなユーザである。
【００２９】
検索部１０１は、ユーザが本実施形態に係る検索システムを利用する際のユーザインタフェースとして機能する。検索部１０１は、例えば、ウェブブラウザのアプリケーション・プログラムや、本実施形態に係る検索システムを利用するための専用のアプリケーション・プログラムがインストールされたＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のような情報処理端末によって構成される。
【００３０】
検索ＤＢ１０２は、検索対象であるグループウェア１０６及びファイルサーバ１０７の情報がインデックス化されて格納されたインデックス情報のデータベースである。検索ＤＢ１０２に格納されている情報について図５を参照して説明する。図５に示すように、本実施形態に係る検索ＤＢ１０２は、“文書ＩＤ”、“文書ＵＲＬ”、“種別”、“テキスト”、“検索用アクセス権情報”、“関連グループ名”を含む。
【００３１】
“文書ＩＤ”は文字列値であり、検索対象となる個別の投稿文書やファイル（以下、総じて文書とする）をユニークに示す識別子である。即ち、“文書ＩＤ”がデータソースＩＤとして用いられる。“文書ＵＲＬ”は、文字列値であり、不グループウェア１０６やファイルサーバ１０７において、文書が格納されている記憶領域をネットワークアドレスとして示す。
【００３２】
“種別”は文書を取得したクローラである文書情報取得部Ａ１１１、文書情報取得部Ｂ１１３に応じた値であり、ファイルサーバ用であれば“１”、グループウェア用であれば“２”の整数値となる。“テキスト”は文字列値であり、それぞれの文書から抽出したテキストが格納されている。検索ＤＢ１０２内では、この“テキスト”を元にインデックスが作成されている。
【００３３】
“検索用アクセス権情報”には、文書の読み取り権を持つユーザのリストが、文字列の配列として格納されている。このユーザのリストは、図２、図３において説明したようにユーザについて設定された許可／拒否の値に加えて、グループについて設定された許可／拒否の値をグループに含まれるユーザに適用し、アクセス権を有するユーザのリストとして生成された情報である。即ち、本実施形態に係る“検索用アクセス権情報”はデータソースに対するアクセスを許可されたユーザの一覧を示すアクセス許可ユーザ一覧の情報である。
【００３４】
“関連グループ名”は文字列値である。“関連グループ名”には、各文書のアクセス権設定に関係しているグループ名が列挙されている。ここで、「アクセス権設定に関係している」グループ名とは、図２、図３に示す「許可」に限らず、「拒否」等、その文書にアクセス可能なユーザを決定する上で考慮する必要のあるグループ名である。即ち、“関連グループ名”が、関連グループＩＤとして用いられる。
【００３５】
例えば、図５に示す“ｆｉｌｅ１”は、図２の“ファイル１”に対応するが、“ファイル１”のアクセス権設定に関するグループは、“ａａａ．ｂｂｂ．ｃｃｃ．ｃｏｍ”に対する“ｇ１”、“ｇ２”の「許可」、“フォルダ１”に対する“ｇ１”の「許可」、“フォルダ４”に対する“ｇ４”の「拒否」である。そのため、“ｆｉｌｅ１”に対する“関連グループ名”には、“ｇ１”、“ｇ２”及び“ｇ４”が設定される。
【００３６】
グループリスト１０３は、図６に示すように、夫々のグループに含まれるユーザのリストを示す情報が格納されたデータベースであり、“グループ名”、“ユーザリスト”、“更新日時”、“ハッシュ値”の情報を含む。グループリスト１０３は、図４において説明したように、ＬＤＡＰサーバ１０５において管理されている情報に基づいてユーザ・グループ更新チェック部１１３が生成する。“グループ名”は文字列値であり、検索システムが対象とするデータソース群で利用されているグループを示す情報である。“グループ名”は、図４に示すＬＤＡＰサーバの管理態様における“ｏｕ”属性である。
【００３７】
“ユーザリスト”は文字列値の配列であり、そのグループに含まれる複数のユーザを示す情報を格納している。ユーザは、図４に示すＬＤＡＰサーバの管理態様における“ｕｉｄ”属性である。“更新日時”は、そのグループのユーザリストが最後に更新された日時を示す。“ハッシュ値”は、ユーザリストから一意に計算されるハッシュ値である。
【００３８】
タスクスケジューラ１０４は、クロール部１１０に含まれるそれぞれの構成を、予め定められたタイミングで起動する。クロール部１１０は、本実施形態に係る検索システムにおいて、データソースであるグループウェア１０６及びファイルサーバ１０７の情報をインデックス化して検索ＤＢ１０２を更新すると共に、アクセス権に応じた検索を可能とするために図５に示す“検索用アクセス権情報”を更新する。クロール部１１０の処理が本実施形態に係る要旨の１つである。
【００３９】
文書情報取得部Ａ１１１および文書情報取得部Ｂ１１２は、それぞれファイルサーバ１０７、グループウェア１０６を対象としてデータソースである文書情報を取得し、図５に示す“文書ＩＤ”、“文書ＵＲＬ”、“種別”、“テキスト”、“検索用アクセス権情報”、“関連グループ名”の情報を生成して格納または更新する。以下、文書情報取得部Ａ１１１および文書情報取得部Ｂ１１２を総じて文書情報取得部とする。
【００４０】
ユーザ・グループ更新チェック部１１３は、グループリスト１０３における“ユーザリスト”と、ＬＤＡＰサーバ１０５中のユーザ・グループの情報との間に不一致が無いかを確認し、両者に不一致があった場合、“ユーザリスト”を更新する。また、ユーザ・グループ更新チェック部１１３は、“ユーザリスト”の更新に応じて、更新された“グループ名”に基づいて検索ＤＢ１０２の“関連グループ名”を検索し、更新された“グループ名”を含む文書の“文書ＩＤ”を抽出すると、その抽出結果を文書情報取得部に通知することにより、文書情報取得部に対して、“検索用アクセス権情報”の再生成を実行させる。
【００４１】
検索用アクセス権情報計算部ＡおよびＢは、上述したように“検索用アクセス権情報”の再生成のための文書ＩＤの通知を受けると、通知を受けた文書ＩＤについて、ファイルサーバ１０７またはグループウェア１０６と、グループリスト１０３とを参照して“検索用アクセス権情報”を再計算し、検索ＤＢ１０２を更新する。このように“検索用アクセス権情報”が再計算されるまでの一連の処理及びそのための構成が本実施形態に係る要旨である。
【００４２】
このようなシステムにおいて、ユーザは検索部１０１を操作することによってまずシステムにログインした後に、検索条件等を入力して検索を行う。検索部１０１は、ユーザのログイン操作に応じて、ＬＤＡＰサーバ１０５に対して認証処理を行う。検索処理においては、ユーザの操作に応じて検索条件を受け取り、認証されたユーザ名を条件に用いて検索ＤＢ１０２に問い合わせを行い、結果を取得し、検索結果をユーザに提示するための表示情報を生成して表示装置に表示させる。その結果、表示される検索結果は、当該ユーザがアクセス権を持つ文書だけである。
【００４３】
このような態様によれば、検索部１０１は、他の検索キーと同様にユーザ情報についても“検索用アクセス権情報”を検索するのみでよいため、文書毎にアクセス権を判断する必要がなく、処理負荷を低減して検索結果が表示されるまでの時間を短縮することができる。
【００４４】
以下、本実施形態に係るシステムの動作について説明する。なお、本来、データソースから削除された文書を検索ＤＢ１０２から削除する処理が必要であるが、本発明の特徴となる動作を説明するために必須ではないため、以下の説明においては、文書の削除処理について説明を省略する。
【００４５】
図７は、本実施形態の要旨に係る動作、即ち、ＬＤＡＰサーバ１０５において新たにグループが追加された場合、グループが削除された場合、グループメンバーが変更された場合の動作を示すフローチャートである。図７に示すように、まずは、ユーザ・グループ更新チェック部１１３が、タスクスケジューラ１０４によってスケジューリングされたタイミングに従い、ＬＤＡＰサーバ１０５からグループ名毎にそのグループに含まれるユーザ名一覧を取得する（Ｓ７０１）。
【００４６】
ＬＤＡＰサーバ１０５からユーザ名の一覧を取得すると、ユーザ・グループ更新チェック部１１３は、取得したユーザ名一覧を用いてハッシュ値を計算する（Ｓ７０２）。Ｓ７０２においてユーザ・グループ更新チェック部１１３は、図６に示す“ハッシュ値”を生成するために用いられる計算方法と同一の計算方法を用いる。
【００４７】
ハッシュ値を計算すると、ユーザ・グループ更新チェック部１１３は、Ｓ７０２において生成したハッシュ値と、グループリスト１０３において図６に示すように格納されている“ハッシュ値”のうち、対応するグループ名のものとを比較する（Ｓ７０３）。即ち、ここではユーザ・グループ更新チェック部１１３が、グループ変更確認部として機能する。Ｓ７０３の比較の結果、Ｓ７０２において算出されたハッシュ値とグループリスト１０３に格納されているハッシュ値とが異なる場合（Ｓ７０３／ＹＥＳ）、ユーザ・グループ更新チェック部１１３は、グループリスト１０３の項目の更新を行う（Ｓ７０４）。即ち、ここでは、ユーザ・グループ更新チェック部１１３が、グループリスト更新部として機能する。
【００４８】
Ｓ７０４における更新処理において、ユーザ・グループ更新チェック部１１３は、現在の日時、新しいハッシュ値、ユーザ名一覧を用いて、“更新日時”、“ハッシュ値”、“ユーザリスト”を更新する。他方、算出されたハッシュ値とグループリスト１０３に格納されているハッシュ値とが同一であれば（Ｓ７０３／ＮＯ）、特に処理は行わずに次の処理に進む。このように、Ｓ７０２〜Ｓ７０４の処理により、ＬＤＡＰサーバ１０５におけるグループの変更有無の確認が行われる。
【００４９】
尚、ＬＤＡＰサーバ１０５におけるグループの変更については、グループに含まれるメンバーの変更の他、グループの追加や削除もあり得る。しかしながら、グループが追加、削除された場合は、ファイルサーバ１０７、グループウェア１０６におけるアクセス権の設定そのものが変更されることとなる。本件は、ファイルサーバ１０７、グループウェア１０６におけるアクセス権の設定変更を伴わないにも関わらず、検索ＤＢ１０２における“検索用アクセス権情報”を更新する必要がある場合に対応するものであるため、グループの追加や削除については説明を省略する。
【００５０】
ユーザ・グループ更新チェック部１１３は、グループリスト１０３に格納されている全てのグループ名について、Ｓ７０１〜Ｓ７０４の処理を繰り返し（Ｓ７０５／ＮＯ）、全てのグループ名についてＳ７０１〜Ｓ７０４の処理が完了したら（Ｓ７０５／ＹＥＳ）、Ｓ７０３において“ＹＥＳ”と判断されたグループ名を抽出して一覧を生成する（Ｓ７０６）。Ｓ７０６において生成される一覧を、更新グループ名一覧とする。
【００５１】
Ｓ７０６の処理は、即ち、グループのメンバーであるユーザ名に変更のあったグループ名の一覧を生成する処理である。ユーザ・グループ更新チェック部１１３は、更新グループ名一覧を生成すると、それに含まれるグループ名に基づいて検索ＤＢ１０２の“関連グループ名”を検索する（Ｓ７０７）。これにより、ユーザ・グループ更新チェック部１１３は、変更等のあったグループ名が“関連グループ名”として関連付けられている“文書ＩＤ”を抽出し、抽出した文書ＩＤを文書情報取得部に通知する（Ｓ７０８）。
【００５２】
Ｓ７０８において抽出されて文書情報取得部に通知される情報は、内容が変更されたグループが、アクセス権の判断に関係する文書、即ち、“検索用アクセス権情報”の更新が必要な文書の情報である。砂割り、ここではユーザ・グループ更新チェック部１１３が、更新対象ＩＤ抽出部として機能する。
【００５３】
Ｓ７０８の処理は、即ち、グループの変更等により“検索用アクセス権情報”に変更の可能性がある文書の識別情報を文書情報取得部に通知する処理である。ユーザ・グループ更新チェック部からの文書ＩＤの通知を受けた文書情報取得部Ａ１１１及び文書情報取得部Ｂ１１２は、夫々ファイルサーバ１０７、グループウェア１０６を参照し、Ｓ７０４において更新されたグループリスト１０３に基づいて、通知された文書ＩＤに対する“検索用アクセス権情報”を再計算して検索ＤＢ１０２を更新する（Ｓ７０９）。即ち、ここでは文書情報取得部がアクセス許可ユーザ一覧更新部として機能する。このような処理により、本実施形態の要旨に係る動作が完了する。
【００５４】
本実施形態においては、図６に示すように、検索ＤＢ１０２において、夫々の文書にアクセス可能なユーザ名を判断する際に考慮する必要のあるグループ名が“関連グループ名”として関連付けられている。そして、追加、削除、変更等があったグループ名に基づいて“関連グループ名”を検索することにより、“検索用アクセス権情報”を再計算するべき文書を容易に抽出することができる。このようにして“検索用アクセス権情報”を再計算するべき文書を抽出した後は、抽出した文書についてのみ“検索用アクセス権情報”を再計算して更新すれば良く、簡易な処理で目的を達成することができる。
【００５５】
このように、本実施形態に係るクロール部１１０を含む検索システムにおいては、検索対象となる検索ＤＢ１０２において、データソース毎に設定されたアクセス権を判断する際に考慮する必要のあるグループ名が、“関連グループ名”として、夫々の文書に関連付けられている。この“関連グループ名”はテキスト情報であり、単純にグループ名を示すテキストが列挙されているだけであるため、ファイルサーバ１０７やグループウェア１０６夫々におけるアクセス権の設定に係る形式が異なり、アクセス権の再計算用の情報を生成することが困難な場合であっても、容易に実現可能である。
【００５６】
また、単純なテキスト情報であるため、ファイルサーバ１０７やグループウェア１０６の他に更にデータソースが追加された場合であっても、そのデータソースにおいて、夫々の文書に対するアクセス権の判断に関係するグループ名を列挙すれば良く、データソースの追加にも容易に対応することが可能である。
【００５７】
そして、グループに変更があった際には、変更のあったグループに関係する文書のみ、文書情報取得部が通常の処理によって“検索用アクセス権情報”のみを更新する。従って、予め“検索用アクセス権情報”を更新する文書を絞り込んだ上で、“検索用アクセス権情報”のみを再クロールするため、グループに変更があった場合の“検索用アクセス権情報”の更新を少ない処理量で実現することができる。
【００５８】
また、Ｓ７０９においては、文書情報収録部が通常のクロール動作、即ち、検索ＤＢ１０２の“文書ＩＤ”、“文書ＵＲＬ”、“種別”、“テキスト”、“検索用アクセス権情報”、“関連グループ名”の全ての情報を生成し直すのではなく、“検索用アクセス権情報”のみを生成し直すため、処理量を更に低減することが可能である。
【００５９】
尚、上記実施形態においては、ユーザ・グループ更新チェック部１１３が、更新グループ名一覧に基づいて検索ＤＢ１０２から文書ＩＤを抽出した後、その文書ＩＤを文書情報取得部に通知して“検索用アクセス権情報”の再生成を実行させる場合を例として説明した。しかしながら、これは一例である。
【００６０】
例えば、ユーザ・グループ更新チェック部１１３は、更新グループ名一覧に基づいて検索ＤＢ１０２から抽出した文書ＩＤについて、文書情報取得部に“検索用アクセス権情報”の再生成を実行させるためのフラグ情報を格納するようにしても良い。この場合、文書情報取得部は、このようにして格納されたフラグ情報を定期的に確認し、フラグ情報が格納されている文書ＩＤについて、フラグ情報を確認したタイミングで“検索用アクセス権情報”の再生成を実行する。
【００６１】
また、ユーザ・グループ更新チェック部１１３は、更新グループ名一覧に基づいて検索ＤＢ１０２から抽出した文書ＩＤについて、検索ＤＢ１０２の“検索用アクセス権情報”をＮｕｌｌ値とするようにしても良い。この場合、文書情報取得部は、検索ＤＢ１０２の“検索用アクセス権情報”がＮｕｌｌ値であるか否かを定期的に確認し、検索ＤＢ１０２の“検索用アクセス権情報”がＮｕｌｌ値である文書ＩＤについて、Ｎｕｌｌ値であることを確認したタイミングで“検索用アクセス権情報”の再生成を実行する。
【００６２】
このように、どのような処理の流れやタイミングであっても、変更されたグループのグループＩＤに基づいて“関連グループ名”を検索して抽出された文書ＩＤについて“検索用アクセス権情報”を再計算することにより、上記と同様に本実施形態に係る目的を達成することが可能である。
【００６３】
尚、上述した検索部１０１、クロール部１１０、ＬＤＡＰサーバ１０５、タスクスケジューラ１０４並びに検索ＤＢ１０２、グループリスト１０３、グループウェア１０６、ファイルサーバ１０７は、ＰＣ等の情報処理装置によって実現される。図８を参照して、本実施形態に係る検索システム１を構成する情報処理装置のハードウェア構成について説明する。
【００６４】
図８に示すように、本実施形態に係る情報処理装置は、一般的なサーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等と同様の構成を含む。即ち、本実施形態に係る情報処理装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０及びＩ／Ｆ５０がバス８０を介して接続されている。また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０及び操作部７０が接続されている。
【００６５】
ＣＰＵ１０は演算手段であり、情報処理装置全体の動作を制御する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００６６】
Ｉ／Ｆ５０は、バス８０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ６０は、ユーザが情報処理装置の状態を確認するための視覚的ユーザインタフェースである。操作部７０は、キーボードやマウス、タッチパネル等、ユーザが情報処理装置に情報を入力するためのユーザインタフェースである。なお、ＬＤＡＰサーバ１０５やクロール部１１０等、本実施形態に係る検索システム１の各部はサーバとして運用される場合もあり得る。従って、ＬＣＤ６０及び操作部７０等のユーザインタフェースは省略可能である。
【００６７】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ４０若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０がそれらのプログラムに従って演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る検索システム１の各部の機能を実現する機能ブロックが構成される。特に、クロール部１１０の機能を実現するためのプログラムが、インデックス管理プログラムである。
【００６８】
尚、図１に示す検索システム１は、単一の装置によって構成される場合に限らず、ネットワークを介して接続された複数の情報処理装置によって実現される場合もある。例えば、検索部１０１として機能する１つのＰＣ、検索ＤＢ１０２、ユーザリスト１０３（またはユーザ定義１０８）、タスクスケジューラ１０４及びクロール部１１０を含む１つのサーバ、ＬＤＡＰサーバ１０５として機能する１つのサーバ、ファイルサーバ１０７として機能する１つのサーバ、グループウェア１０６として機能する１つのサーバによって実現される態様が考えられる。
【符号の説明】
【００６９】
１  検索システム
１０  ＣＰＵ
２０  ＲＡＭ
３０  ＲＯＭ
４０  ＨＤＤ
５０  Ｉ／Ｆ
６０  ＬＣＤ
７０  操作部
８０  バス
１０１  検索部
１０２  検索ＤＢ
１０３  グループリスト
１０４  タスクスケジューラ
１０５  ＬＤＡＰ
１０６  グループウェア
１０７  ファイルサーバ
１０８  ユーザ定義
１１０  クロール部
１１１  文書情報取得部Ａ
１１２  文書情報取得部Ｂ
１１３  ユーザ・グループ更新チェック部
【先行技術文献】
【特許文献】
【００７０】
【特許文献１】特開２０１０−１０８１１１号公報
【図１】
0005783010.tif 000002
【図２】
0005783010.tif 000003
【図３】
0005783010.tif 000004
【図４】
0005783010.tif 000005
【図５】
0005783010.tif 000006
【図６】
0005783010.tif 000007
【図７】
0005783010.tif 000008
【図８】
0005783010.tif 000009