説明

統合検索装置、統合検索システム、統合検索方法

【課題】統合検索を実施する際に、セキュリティトリミングを実施するために必要でないアクセスアカウント情報を各検索サーバに送信しないように統合検索装置を制御することのできる技術を提供する。
【解決手段】本発明に係る統合検索装置は、統合検索を要求する第1検索リクエストを発行する第1アクセスアカウントと、各検索装置に第2検索リクエストを発行する第2アクセスアカウントとの対応関係を記述したアカウント対応表を備える。統合検索装置は、アカウント対応表の記述にしたがって第1アクセスアカウントに対応する第2アクセスアカウントを特定し、第2アクセスアカウントがアクセスすることができる範囲を検索条件として指定して、各検索サーバに第2検索リクエストを発行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、統合検索を提供する技術に関するものである。
【背景技術】
【0002】
コンピュータの高性能化ならびに低価格化により、様々な業種や用途においてコンピュータの利用が広がっている。近年では、コンピュータシステムに保管されるデータファイルの数が膨大になり、ユーザにとって欲しいファイルがどこに格納されているのかがわからなくなる課題も発生している。この課題に対して、全文検索サービスが利用されるようになってきている。
【0003】
全文検索サービスでは、コンピュータシステムに格納されているファイルデータを検索サーバが解析し、検索インデックスを事前に作成する。ユーザは、検索サーバに対して取得したいファイルを検索するための検索クエリを送信し、その検索結果をもとに対象ファイルにアクセスする。
【0004】
このような検索サービスは、今後、コンピュータシステムに格納するファイルデータ数がさらに増加することが考えられる上、ユーザ自身がどこにどんなファイルデータを格納しているのかを全て把握することは困難になるため、ユーザにとってさらに重要なサービスとなり、サービスの利用がさらに広がるものと考えられる。
【0005】
検索サーバでは、検索結果に対してセキュリティトリミングを実施するものが多い。セキュリティトリミングとは、検索結果の中に含まれる内容の中から、当該検索要求を出したユーザがアクセス権を持つ内容のみを絞り込んだものを検索結果として提供する機能である。例えば、検索対象ファイルにアクセス制御情報としてACL(Access Control List)が設定されている場合、検索サーバは、ACL情報に基づいて、ユーザが対象ファイルに対してアクセス権を持っているのか否かを判断する。検索サーバは、その結果に基づいて、当該ファイルに関する情報を検索結果に含めるか否かを判断する。この機能により、検索結果を介してユーザがファイルに不正アクセスすることを抑止できる。
【0006】
一方、検索サーバが複数台存在する場合、ユーザは、それぞれの検索サーバに対して個別に検索要求を出し、その結果を個別に取得する必要があった。これは、複数の検索サーバに対して同じ検索クエリを検索サーバの台数分だけ発行する必要があり、ユーザにとっては利便性が低かった。これを解消するために、複数の独立した検索サーバに対して1回検索クエリを発行するだけで、全ての検索サーバからの検索結果を統合的に取得できる統合検索サービスが利用され始めてきている。例えば、OpenSearchという統合検索を行うための仕様が一般に公開され、利用されるようになってきている。
【0007】
統合検索サービスでは、各検索サーバはそれぞれ独立して運用する一方で、各検索サーバがOpenSearchのような統一した標準インターフェースで検索要求を受け付けることができるようにしている。これにより、複数の検索サーバを疎結合した統合検索を実現できる。疎結合した統合検索では、各検索サーバが利用する検索アルゴリズムや検索インデックス更新契機などはそれぞれ別である。これに対し、複数の検索サーバを一体的に運用することにより、密結合した統合検索サービスを提供する形態もある。密結合した統合検索サービスでは、各検索サーバにおいて同じ検索アルゴリズムを利用し、検索インデックス更新はシステム内で統一して行うようにしている。
【0008】
上述のコンピュータシステムを運用する場合、認証用に複数のネットワークドメインが並存し、それぞれのネットワークドメインの中に検索サーバを個別に運用する環境が考えられる。例えば、企業内の複数部署それぞれにネットワークドメインを設定し、個別に運用するケースなどがこれに該当する。このような環境では、必要があれば一人のユーザに対して複数のネットワークドメインそれぞれからアクセスアカウントを付与してもらい、そのアクセスアカウントを使い分けるというシステム利用方法がとられる。
【0009】
密結合した統合検索サービスでは、認証用のネットワークドメインは各検索サーバについて共通である場合が多いと考えられる。これに対し疎結合した統合検索サービスでは、認証用のネットワークドメインは検索サーバ毎に個別に設けられている可能性がある。そのため、各検索サーバに対してアクセスするためのアクセスアカウントも、検索サーバ毎に分散している可能性がある。
【0010】
理想的には、アクセスアカウントを1つのネットワークドメインに集約し、そのアクセスアカウントが一つあれば全てのサービスを利用できるようになる、シングルサインオンを実現することが望ましい。しかし、運用上の制約などにより複数のネットワークドメインが並存している環境もまだ多い。このようなネットワークドメイン並存環境において、上述した統合検索サービスを提供する際、別々のネットワークドメインに存在する検索サーバや検索結果となるデータにアクセスするために、アクセスアカウントを使い分けた上で、個別に認証するのは、ユーザの使い勝手を大きく損なう。そこで、1人のユーザに複数のアクセスアカウントを関連付けておき、その関連付け情報から必要な情報を取得して必要な認証処理を内部で行なうことにより、擬似的にシングルサインオン相当のサービスを実現するという方法がある。
【0011】
下記特許文献1には、上述の擬似シングルサインオンに関する技術が開示されている。この方法は、統合検索を提供する検索サーバが、それぞれ別々のネットワークドメインを利用するファイルサーバを検索対象としている場合、各ネットワークドメインにおけるアクセスアカウントとユーザを関連付け、その関連付け情報を検索サーバに登録しておく。これにより、検索サーバに対して統合検索要求を行った場合、検索を要求したユーザは、ネットワークドメインの違いを意識することなく、関連付けられたアクセスアカウントに基づきセキュリティトリミングされた統合検索結果を取得することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】米国特許公開公報 US2010/0106712 A1
【発明の概要】
【発明が解決しようとする課題】
【0013】
特許文献1に記載されている技術では、統合検索を実施するため各検索サーバに対して検索要求を送る際、検索を要求するユーザに関連付けられている全てのアクセスアカウントに関する情報を各検索サーバに送信してしまう。本来、統合検索を実施するための認証サーバが複数存在する場合、各検索サーバで参照する必要があるアクセスアカウント情報は、当該検索サーバが利用する認証サーバあるいはネットワークドメインに関するもののみであり、それ以外のアクセスアカウント情報は必要ない。不要なアクセスアカウント情報を各検索サーバに送信すると、セキュリティ上の懸念が生じる可能性がある。
【0014】
上述の課題は、インターネット上の検索サーバと連携した統合検索サービスを提供する場合に顕著となる。この場合、イントラネット内の認証サーバやアクセスアカウントに関する情報をインターネットに送信し、情報漏えいが生じる可能性がある。これは、セキュリティ上望ましくない。
【0015】
本発明は、上記のような課題を解決するためになされたものであり、統合検索を実施する際に、セキュリティトリミングを実施するために必要でないアクセスアカウント情報を各検索サーバに送信しないように統合検索装置を制御することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明に係る統合検索装置は、統合検索を要求する第1検索リクエストを発行する第1アクセスアカウントと、各検索装置に第2検索リクエストを発行する第2アクセスアカウントとの対応関係を記述したアカウント対応表を備える。統合検索装置は、アカウント対応表の記述にしたがって第1アクセスアカウントに対応する第2アクセスアカウントを特定し、第2アクセスアカウントがアクセスすることができる範囲を検索条件として指定して、各検索サーバに第2検索リクエストを発行する。
【発明の効果】
【0017】
本発明に係る統合検索装置によれば、各検索装置がセキュリティトリミングを実施するために必要でないアクセスアカウント情報を送信しないようにすることができる。これにより、アクセスアカウントに関する情報漏えいを防止することができる。
【図面の簡単な説明】
【0018】
【図1】実施形態1に係る統合検索システム10000のシステム構成を示す図である。
【図2】統合検索サーバ1100のハードウェア構成を示す図である。
【図3】検索サーバ2200のハードウェア構成を示す図である。
【図4】認証サーバ3100のハードウェア構成を示す図である。
【図5】ファイルサーバ4200のハードウェア構成を示す図である。
【図6】クライアントマシン5100のハードウェア構成を示す図である。
【図7】ユーザがクライアントマシン5100から統合検索サーバ1100に対して統合検索要求を発行した際の各種処理の流れを示す図である。
【図8】統合検索要求パケット7000のデータ構造を示す図である。
【図9】検索要求パケット8000のデータ構造を示す図である。
【図10】アカウント対応管理表6100の構成とデータ例を示す図である。
【図11】検索サーバ管理表6200の構成とデータ例を示す図である。
【図12】検索サーバ2200が備える検索インデックス管理表6300の構成とデータ例を示す図である。
【図13】検索サーバ2200が備える検索インデックス登録ファイル管理表6400の構成とデータ例を示す図である。
【図14】クライアントマシン5100から統合検索サーバ1100または検索サーバ2200に対してアクセスアカウントを登録するよう要求する処理の流れを示す。
【図15】図14の処理ステップS101におけるログオン処理の流れを示す図である。
【図16】図14のステップS104とS105におけるアクセスアカウント登録処理の流れを示す図である。
【図17】クライアントマシン5100から検索サーバ2200に対して、検索対象とする共有フォルダを検索サーバ2200へ登録するよう要求する処理の流れを示す。
【図18】図17のステップS402における処理の流れを示す図である。
【図19】クライアントマシン5100から統合検索サーバ1100に対して統合検索を要求する処理の流れを示す図である。
【図20】図19のステップS602における統合検索処理の流れを示す図である。
【図21】図20のステップS707における検索処理の流れを示す図である。
【図22】実施形態2における、図19のステップS602の流れを示す図である。
【図23】実施形態3における、ステップS104とS105のアクセスアカウント登録処理の流れを示す図である。
【図24】実施形態3におけるステップS602の統合検索処理の流れを示す図である。
【図25】実施形態4における検索サーバ管理表6200の構成とデータ例を示す図である。
【図26】実施形態4におけるステップS402の処理の流れを示す図である。
【図27】実施形態4におけるステップS602の統合検索処理の流れを示す図である。
【図28】実施形態5におけるステップS602の統合検索処理の流れを示す図である。
【図29】実施形態5におけるステップS707の検索処理の流れを示す図である。
【図30】実施形態6における検索サーバ2200のハードウェア構成を示す図である。
【図31】実施形態7における統合検索処理の全体の流れを示す図である。
【図32】実施形態7における検索要求パケット8000のデータ構造を示す図である。
【図33】実施形態5におけるステップS602の統合検索処理の流れを示す図である。
【図34】実施形態7におけるステップS707の検索処理の流れを示す図である。
【発明を実施するための形態】
【0019】
<実施の形態1>
本発明の実施形態1では、ユーザからの検索要求に対して、そのユーザに関連付けられているアクセスアカウント情報に基づき、統合検索を実施する対象となる検索サーバを絞り込むとともに、各検索サーバへ検索要求を発行する際、セキュリティトリミング用のアクセスアカウント情報を当該検索サーバで利用できる分だけに絞り込む手法について説明する。
【0020】
本発明において、検索結果に対してセキュリティトリミングを実施する際に用いるアクセスアカウント情報は、ユーザを特定することが情報であれば、どのような形式の情報であってもよい。例えば、ユーザ識別番号、ユーザ名、ユーザを特定することができるデータが格納されたディジタル証明書、などが考えられる。
【0021】
図1は、本実施形態1に係る統合検索システム10000のシステム構成を示す図である。統合検索システム10000では、ネットワーク100を介して、統合検索サーバ1100、検索サーバ2200および2300、認証サーバ3100、3200、および3300、ファイルサーバ4200および4300、クライアントマシン5100が接続されている。検索サーバ2200、認証サーバ3200、ファイルサーバ4200は同一のネットワークドメインに属する。検索サーバ2300、認証サーバ3300、ファイルサーバ4300は、これとは別の同一のネットワークドメインに属する。
【0022】
統合検索サーバ1100は、1以上の検索サーバに検索リクエストを発行し、それによって取得した検索結果を統合して検索要求元に提供する統合検索サービスを提供する。検索サーバ2200は、ファイルサーバ4200に格納されている電子データ(以下、ファイル)に対するファイル検索サービスを提供する。認証サーバ3100は、各サーバに対する認証処理を実行するために必要な認証情報を管理し、実際の認証処理を実行する。クライアントマシン5100は、ユーザからの指示にしたがって、検索サーバ2200へ検索リクエストを発行し、統合検索サーバ1100へ統合検索リクエストを発行し、ファイルサーバ4200へファイルアクセス要求を発行する。統合検索システム10000を利用することにより、ユーザは各検索サーバによる検索結果を統合して統合検索結果を取得する統合検索を実施することができる。
【0023】
検索サーバ2200は、検索に際して、あらかじめ作成した検索インデックスを利用して検索結果を生成し、ユーザが参照権限を持つファイルに関する情報のみを当該検索結果に含ませるように検索結果の絞り込み(セキュリティトリミング)を実施する。これにより、ユーザが参照する権限を持たないファイルに対するアクセスを防ぐ。
【0024】
なお、図1では、各サーバ等をそれぞれ1台ずつ記載しているが、この限りではない。可能であれば、各サーバ等を複数台設けてもよい。また、図1では、各サーバ等を別装置として記載しているが、この限りではない。可能であれば、任意の2つあるいはそれ以上のサーバ等を1台の装置として構成してもよい。また、ネットワーク100は、どのような形態のネットワークでもよい。例えばインターネット接続でもよいし、ローカルエリアネットワークによるイントラネット接続などでもよい。
【0025】
図2は、統合検索サーバ1100のハードウェア構成を示す図である。統合検索サーバ1100は、プロセッサ1110、メモリ1120、外部記憶装置I/F1130、ネットワークI/F1140、バス1150、外部記憶装置1160を備える。
【0026】
プロセッサ1110は、後述のプログラムを実行する。以下では記載の都合上、各プログラムを動作主体として説明する場合があるが、実際にこれらプログラムを実行するのはプロセッサ1110などの演算装置であることを付言しておく。他のサーバおよびクライアントマシン5100においても同様である。
【0027】
メモリ1120は、後述のプログラムおよびデータを一時的に格納する。外部記憶装置I/F1130は、外部記憶装置1160にアクセスするためのインターフェースである。ネットワークI/F1140は、ネットワーク100を介して接続された他装置にアクセスするためのインターフェースである。バス1150は、上記各構成要素を接続する。
【0028】
メモリ1120は、外部記憶装置I/F制御プログラム1121、ネットワークI/F制御プログラム1122、データ管理制御プログラム1123、統合検索制御プログラム1124、管理情報取得制御プログラム1125、アカウント対応管理表6100、検索サーバ管理表6200を格納する。
【0029】
外部記憶装置I/F制御プログラム1121は、外部記憶装置I/F1130を制御するプログラムである。ネットワークI/F制御プログラム1122は、ネットワークI/F1140を制御するプログラムである。データ管理制御プログラム1123は、統合検索サーバ1100が保管するデータを管理するために利用するファイルシステムあるいはデータベースを提供するプログラムである。統合検索制御プログラム1124は、統合検索サーバ1100が提供する統合検索サービスを実装したプログラムである。管理情報取得制御プログラム1125は、統合検索サーバ1100において、統合検索システム10000を構成する他の検索サーバ2200が管理している管理情報を取得するためのプログラムである。アカウント対応管理表6100は、統合検索をリクエストするユーザのアクセスアカウントと、各検索サーバ上における同ユーザのアクセスアカウントとの対応関係を記述したデータである。検索サーバ管理表6200は、各検索サーバのネットワーク管理情報を記述したデータである。
【0030】
統合管理制御プログラム1124は、その内部に、アカウント情報絞り込み制御サブプログラム1171、検索先絞り込み制御サブプログラム1172、検索クライアント制御サブプログラム1173、検索結果統合制御サブプログラム1174を有する。
【0031】
アカウント情報絞り込み制御サブプログラム1171は、統合検索サーバ1100が各検索サーバに対して検索要求を出す際に、各検索サーバが検索結果のセキュリティトリミングを実施するために利用するアクセスアカウント情報を、検索サーバ2200が保持しているアクセスアカウント情報のみに絞り込む処理を行う。
【0032】
検索先絞り込み制御サブプログラム1172は、統合検索サーバ1100が各検索サーバに対して検索要求を出す際に、検索要求を出すべき検索サーバを絞り込む処理を行う。具体的には、検索要求ユーザに関連付けられているアカウントの中で、各検索サーバが検索対象とする共有フォルダにアクセスするために必要となるアクセスアカウントが含まれている場合に、当該検索サーバを検索対象として絞込みを行う。
【0033】
検索クライアント制御サブプログラム1173は、統合検索サーバ1100が各検索サーバに対して検索要求を発行する。検索結果統合制御サブプログラム1174は、統合検索サーバ1100が検索クライアント制御サブプログラム1173を用いて各検索サーバから取得した各検索結果を統合する。
アカウント対応管理表6100と検索サーバ管理表6200については後述する。
【0034】
図3は、検索サーバ2200のハードウェア構成を示す図である。検索サーバ2200は、プロセッサ2210、メモリ2220、外部記憶装置I/F2230、ネットワークI/F2240、バス2250、外部記憶装置2260を備える。
【0035】
プロセッサ2210は、後述のプログラムを実行する。メモリ2220は、後述のプログラムならびにデータを一時的に格納する。外部記憶装置I/F2230は、外部記憶装置2260にアクセスするためのインターフェースである。ネットワークI/F2240は、ネットワーク100を介して接続された他装置にアクセスするためのインターフェースである。バス2250は、上記各構成要素を接続する。
【0036】
メモリ2220は、外部記憶装置I/F制御プログラム2221、ネットワークI/F制御プログラム2222、データ管理制御プログラム2223、検索制御プログラム2224、検索サーバ管理制御プログラム2225、アカウント対応管理表6100、検索サーバ管理表6200、検索インデックス管理表6300、検索インデックス登録ファイル管理表6400を格納する。
【0037】
外部記憶装置I/F制御プログラム2221は、外部記憶装置I/F2230を制御するプログラムである。ネットワークI/F制御プログラム2222は、ネットワークI/F2240を制御するプログラムである。データ管理制御プログラム2223は、検索サーバ2200が保管データを管理するために利用するファイルシステムあるいはデータベースを提供するプログラムである。検索制御プログラム2224は、検索サーバ2200が提供するファイル検索サービスを実装したプログラムである。検索サーバ管理制御プログラム2225は、検索サーバ2200を管理するために必要な機能を提供するプログラムである。アカウント対応管理表6100と検索サーバ管理表6200は、統合検索サーバ1100が備えるものと同様である。検索インデックス管理表6300は、検索サーバ2200が作成した検索インデックスの情報を管理するデータである。検索インデックス登録ファイル管理表6400は、検索サーバ2200が検索インデックスを作成する際に用いたファイルに関する情報を管理するデータである。
【0038】
アカウント対応管理表6100、検索サーバ管理表6200、検索インデックス管理表6300、検索インデックス登録ファイル管理表6400の詳細については後述する。
【0039】
図4は、認証サーバ3100のハードウェア構成を示す図である。認証サーバ3100は、プロセッサ3110、メモリ3120、外部記憶装置I/F3130、ネットワークI/F3140、バス3150、外部記憶装置3160を備える。
【0040】
プロセッサ3110は、後述のプログラムを実行する。メモリ3120は、後述のプログラムならびにデータを一時的に格納する。外部記憶装置I/F3130は、外部記憶装置3160にアクセスするためのインターフェースである。ネットワークI/F3140は、ネットワーク100を介して接続された他装置にアクセスするためのインターフェースである。バス3150は、上記各構成要素を接続する。
【0041】
メモリ3120は、外部記憶装置I/F制御プログラム3121、ネットワークI/F制御プログラム3122、データ管理制御プログラム3123、認証制御プログラム3124を格納する。
【0042】
外部記憶装置I/F制御プログラム3121は、外部記憶装置I/F3130を制御するプログラムである。ネットワークI/F制御プログラム3122は、ネットワークI/F3140を制御するプログラムである。データ管理制御プログラム3123は、認証サーバ3100が保管データを管理するために利用するファイルシステムあるいはデータベースを提供するプログラムである。認証制御プログラム3124は、認証サーバ3100が提供する認証機能を実装したプログラムである。
【0043】
認証制御プログラム3124は、認証処理に必要な情報を提供する処理、認証要求元から提示された情報を基に認証対象を実際に認証する処理などを実行する。例えば、Kerberos認証で利用するKDC(Key Distribution Center)サーバ、認証対象となるユーザ情報を管理して当該ユーザの認証処理を実行する時に利用するLDAP(Light Weight Directory Access Protocol)サーバ、などが認証制御プログラム3124に該当する。
【0044】
図5は、ファイルサーバ4200のハードウェア構成を示す図である。ファイルサーバ4200は、プロセッサ4210、メモリ4220、外部記憶装置I/F4230、ネットワークI/F4240、バス4250、外部記憶装置4260を備える。
【0045】
プロセッサ4210は、後述のプログラムを実行する。メモリ4220は、後述のプログラムならびにデータを一時的に格納する。外部記憶装置I/F4230は、外部記憶装置4260にアクセスするためのインターフェースである。ネットワークI/F4240は、ネットワーク100を介して接続された他装置にアクセスするためのインターフェースである。バス4250は、上記各構成要素を接続する。
【0046】
メモリ4220は、外部記憶装置I/F制御プログラム4221、ネットワークI/F制御プログラム4222、データ管理制御プログラム4223、ファイル共有制御プログラム4224を格納する。
【0047】
外部記憶装置I/F制御プログラム4221は、外部記憶装置I/F4230を制御するプログラムである。ネットワークI/F制御プログラム4222とは、ネットワークI/F4240を制御するプログラムである。データ管理制御プログラム4223は、ファイルサーバ4200が保管データを管理するために利用するファイルシステムあるいはデータベースを提供するプログラムである。ファイル共有制御プログラム4224は、ファイルを複数ユーザ間で共有するためのファイル共有サービスを提供する機能を実装したプログラムである。
【0048】
ファイル共有制御プログラム4224は、ファイルサーバ4200が共有フォルダ内に格納しているファイルに対してアクセス制御情報を設定することができる。例えば各ファイルに対し、ACL(Access Control List)形式で、どのユーザに対してどんな操作を許可するのか、あるいはどのユーザに対してどんな操作を禁止するのか、といった情報を設定することができる。ファイル共有制御プログラム4224は、上記アクセス制御情報にしたがって、ファイルに対するアクセス制御を実施する。
【0049】
図6は、クライアントマシン5100のハードウェア構成を示す図である。クライアントマシン5100は、プロセッサ5110、メモリ5120、外部記憶装置I/F5130、ネットワークI/F5140、バス5150、外部記憶装置5160を備える。
【0050】
プロセッサ5110は、後述のプログラムを実行する。メモリ5120は、後述のプログラムならびにデータを一時的に格納する。外部記憶装置I/F5130は、外部記憶装置5160にアクセスするためのインターフェースである。ネットワークI/F5140は、ネットワーク100を介して接続された他装置にアクセスするためのインターフェースである。バス5150は、上記各構成要素を接続する。
【0051】
メモリ5120は、外部記憶装置I/F制御プログラム5121、ネットワークI/F制御プログラム5122、データ管理制御プログラム5123、検索クライアント制御プログラム5124、ファイル共有クライアント制御プログラム5125を格納する。
【0052】
外部記憶装置I/F制御プログラム5121は、外部記憶装置I/F5130を制御するプログラムである。ネットワークI/F制御プログラム5122は、ネットワークI/F5140を制御するプログラムである。データ管理制御プログラム5123は、クライアントマシン5100が保管データを管理するために利用するファイルシステムあるいはデータベースを提供するプログラムである。検索クライアント制御プログラム5124は、クライアントマシン5100から統合検索サーバ1100あるいは検索サーバ2200にアクセスするために利用するプログラムである。ファイル共有クライアント制御プログラム5125は、ファイルサーバ4200が共有公開しているファイルにクライアントマシン5100からアクセスするために利用するプログラムである。
【0053】
検索クライアント制御プログラム5124は、統合検索サーバ1100あるいは検索サーバ2200が提供する仕様に準拠した機能を提供するプログラムである。例えば、検索サーバ用のWebアプリケーションプログラムを利用するWebクライアントとして検索クライアント制御プログラム5124を実装してもよいし、汎用のWebブラウザを利用して検索クライアント制御プログラム5124を実装してもよい。
【0054】
図7は、ユーザがクライアントマシン5100から統合検索サーバ1100に対して統合検索要求を発行した際に、統合検索サーバ1100内で実施される処理、および各サーバ間で実施される各種処理の流れを示す図である。以下、図7の各ステップについて説明する。
(図7:処理(1))
クライアントマシン5100のユーザは、クライアントマシン5100の検索クライアント制御プログラム5124を利用して、検索条件を指定した上で統合検索サーバ1100に対して統合検索要求を発行する。
(図7:処理(2))
統合検索サーバ1100の統合検索制御プログラム1124は、統合検索を要求したユーザの認証処理を実施するために、認証サーバ3100に対して認証処理を要求する。認証サーバ3100は、認証制御プログラム3124を実行して認証処理を行う。統合検索制御プログラム1124は、その認証結果を受け取る。
【0055】
(図7:処理(3))
処理(2)において認証に成功した場合、統合検索制御プログラム1124は、統合検索サーバ1100が管理しているアカウント対応管理表6100を参照し、統合検索を要求したユーザに関連付けられているアクセスアカウント情報の一覧を取得する。
(図7:処理(4))
統合検索制御プログラム1124は、統合検索サーバ1100が管理している検索サーバ管理表6200を参照し、処理(3)において取得したアクセスアカウントと同じネットワークドメインに属している検索サーバのリストを取得する。アクセスアカウントと検索サーバの対応関係については、後述の図11で改めて説明する。
【0056】
(図7:処理(5))
統合検索制御プログラム1124は、処理(4)においてリストから取得した検索サーバ2200と2300それぞれに対して検索要求を発行する。なお、本ステップで統合検索制御プログラム1124が発行する検索要求において、各検索サーバに検索を要求する際のログオン認証のために用いるアクセスアカウントは後述する代表ユーザアカウントである。ただし、処理(3)で取得した関連付けアクセスアカウントがアクセス権限を有する範囲を検索条件として指定する。詳細は後述の図20で改めて説明する。
(図7:処理(6))
検索サーバ2200の検索制御プログラム2224は、処理(5)で検索要求を発行したユーザの認証処理を行うため、認証サーバ3200に対して認証処理を要求する。認証サーバ3200は、認証制御プログラム3224によって認証処理を行う。検索制御プログラム2224は、その認証結果を受け取る。
【0057】
(図7:処理(7))
処理(6)において認証に成功した場合、検索制御プログラム2224は、検索サーバ2200が管理している検索インデックス情報を利用して、指定された検索条件で検索を実行し、検索条件内で指定されているアクセスアカウント情報を用いてセキュリティトリミングを実施した上で検索結果を要求元に返信する。
(図7:処理(5)〜処理(7):補足)
処理(5)〜処理(7)までの処理は、検索サーバ2300などの検索対象となっている他の検索サーバについても同様に実施する。
(図7:処理(8))
統合検索サーバ1100の統合検索制御プログラム1124は、検索要求を発行した全ての検索サーバから検索結果を受け取った後、各検索サーバから受け取った検索結果を統合した上で、検索要求元に統合検索結果として返信する。以上の処理によって、統合検索を実現することができる。
【0058】
図8は、統合検索要求パケット7000のデータ構造を示す図である。統合検索要求パケット7000は、検索クライアント制御プログラム5124から統合検索制御プログラム1124に対して統合検索要求を発行する際に、要求内容を統合検索制御プログラム1124に伝えるための通信パケットである。
【0059】
統合検索要求パケット7000は、パケットヘッダ7010、パケットデータ7020を有する。
【0060】
パケットヘッダ7010は、認証方法識別情報7011、ユーザ認証情報7012、セッション情報7016を含む。
【0061】
認証方法識別情報7011は、検索クライアント制御プログラム5124と統合検索制御プログラム1124の間で認証処理を実施する場合の認証方法を指定する情報を記述している。統合検索制御プログラム1124は、認証方法識別情報7011が指定する認証方法にしたがって、ユーザ認証処理を実施する。認証方法識別情報7011は、検索クライアント制御プログラム5124と統合検索制御プログラム1124との間で静的に指定するようにしてもよいし、統合検索要求に先立って認証方法を両者の間で取り決めるネゴシエート処理を別途行うようにしてもよい。
【0062】
ユーザ認証情報7012は、認証方法識別情報7011が指定する認証方法において、認証対象となるユーザを特定するために必要な情報を保持する。例えば、認証対象となるアクセスアカウントを管理する認証ドメインを識別するためのドメイン識別子7013、ユーザを識別するためのユーザ識別子7014、対象ユーザであることを証明する手段の1つであるパスワード7015、などを格納する。ユーザ認証情報7012は、認証方法識別情報7011が指定する認証方法ごとに、必要な情報を個別に規定するようにしてもよい。
【0063】
セッション情報7016は、検索クライアント制御プログラム5124が以前に当該統合検索要求を発行した際に、統合検索制御プログラム1124が実施した認証処理結果を特定する情報を格納する。例えば、ユーザ認証が成功した時に統合検索制御プログラム1124が発行するセッション識別子7017などを格納する。
【0064】
統合検索制御プログラム1124は、セッション識別子7017を発行する際に、認証成功した対象ユーザの識別情報を内部で保存しておく。検索クライアント制御プログラム5124がセッション識別子7017を指定して統合検索要求を発行した場合、統合検索制御プログラム1124は、内部に保存しておいたユーザの識別情報をもとに、統合検索要求を発行したユーザを特定し、当該ユーザに対する認証処理を省略した上で、統合検索処理を実施する。
【0065】
検索クライアント制御プログラム5124は、セッション識別子7017を利用することにより、統合検索要求を発行する際に毎回ユーザ認証情報を送る必要がなくなる。なお、セッション情報7016を利用するか否かはオプションであり、必ずしも使う必要はない。セッション情報7016を使わない場合は、認証方法識別情報7011とユーザ認証情報7012を利用してユーザを認証すればよい。
【0066】
パケットデータ7020は、検索クエリ7021などを保持する。検索クエリ7021は、統合検索要求における検索条件を記述する。検索条件には、例えば、対象ファイルに含まれる検索キーワード(文字列)を指定してもよいし、対象ファイルのメタデータに含まれるファイル作成者、ファイル更新日時などを指定してもよいし、それらの組合せを指定してもよい。
【0067】
図9は、検索要求パケット8000のデータ構造を示す図である。検索要求パケット8000は、統合検索制御プログラム1124から検索サーバ2200の検索制御プログラム2224に対して検索要求を発行する際に、要求内容を検索制御プログラム2224に伝えるための通信パケットである。
【0068】
検索要求パケット8000は、パケットヘッダ8010、パケットデータ8020を有する。パケットヘッダ8010については、統合検索要求パケット7000におけるパケットヘッダ7010と同じであるため、説明を省略する。
【0069】
パケットデータ8020は、検索クエリ8021、検索結果絞り込み用アカウント情報8022、などを保持する。検索クエリ8021は、統合検索要求における検索条件を記述する。検索条件には、例えば、対象ファイルに含まれる検索キーワード(検索文字列)を指定してもよいし、対象ファイルのメタデータに含まれるファイル作成者、ファイル更新日時などを指定してもよいし、それらの組合せを指定してもよい。検索結果絞り込み用アカウント情報8022は、検索クエリ8021によって指定された検索条件に合致するファイルのなかで、本欄が指定するアクセスアカウントが参照権限を有するものを絞り込むための条件として利用する。
【0070】
検索制御プログラム2224は、検索結果のセキュリティトリミングを実施する場合、検索結果絞り込み用アカウント情報8022が指定するアクセスアカウント情報を利用するようにしてもよいし、検索要求パケット8000のパケットヘッダ8010の中で指定されたユーザに対応するアクセスアカウント情報を利用するようにしてもよいし、それらを組み合わせて利用するようにしてもよい。
【0071】
検索結果絞り込み用アカウント情報8022を利用することにより、例えば、複数のユーザからの検索要求に対して共通のアクセスアカウントを用いて、検索を実施することもできる。この場合、セキュリティトリミングの条件として、検索結果絞り込み用アカウント情報8022が指定されることになる。これにより、統合検索制御プログラム1124と検索制御プログラム2224の間で確立する1つのセッションを複数のユーザからの検索要求において共用し、通信セッション数を減らすことができる。通信セッション数を削除することにより、検索制御プログラム2224が管理する必要があるセッション情報量を削減し、メモリ利用量を削減することができる。
【0072】
図10は、アカウント対応管理表6100の構成とデータ例を示す図である。アカウント対応管理表6100は、統合検索サーバ1100が提供する統合検索サービスにおいて、検索結果のセキュリティトリミングを行うために、統合検索サーバ1100に登録されているユーザに関連付けられているアカウント情報を管理する。
【0073】
統合検索サーバ1100は、統合検索要求を受け取ると、統合検索要求を発行したユーザを特定した上で、アカウント対応管理表6100を参照して、そのユーザに関連付けられているアクセスアカウント情報のリストを取得することができる。すなわち、統合検索要求を発行したユーザが他のネットワークドメインにおいて有するアクセスアカウントの一覧を取得し、各検索サーバに対して検索要求を発行する際に、これを検索条件として指定することができる。これは、統合検索要求を発行したアクセスアカウントを、各検索サーバにおけるアクセスアカウントに変換しているものとみることもできる。
【0074】
なお、同検索サーバ2200、2300もアカウント対応管理表を備えている場合は、各検索サーバにおいても同様にアクセスアカウントを変換することもできる。すなわち、アクセスアカウントの変換は、一義的には統合検索サーバ1100が実施するが、各検索サーバにおいても予備的に実施することができる。
【0075】
アカウント対応管理表6100は、ドメイン識別情報6110、ユーザID6120、パスワード6130、対応ID6140を有する。
【0076】
ドメイン識別情報6110は、ユーザID6120が保持しているアクセスアカウントが属するネットワークドメインを識別するための情報を格納する。この情報は、当該ネットワークドメインを識別するための文字列や識別番号などでもよいし、当該ネットワークドメインを管理する認証サーバの識別情報でもよい。
【0077】
ユーザID6120は、ユーザを識別するためのアクセスアカウント情報を保持する。この情報は、当該ユーザを識別するための任意の文字列や識別番号などでもよい。なお、ユーザID6120が保持する情報は、ユーザを識別する情報以外に、複数のユーザからなるグループ識別情報を格納するようにしてもよい。
【0078】
パスワード6130は、ユーザID6120が保持するアクセスアカウント情報によって識別されるユーザであることを証明するための情報を保持する。例えば、ユーザ認証を実施するときに利用するパスワード文字列や証明書などを保持する。パスワード6130が保持する情報は、情報漏えいを防ぐために、必要に応じて暗号化などを施してもよい。
【0079】
対応ID6140は、アカウント対応管理表6100に登録されている各アクセスアカウント情報の対応関係を示す識別情報を格納する。対応ID6140の値が同じアクセスアカウントは、互いに関連付けられていることを示す。すなわち、同じユーザが各ネットワークドメイン上で有するアクセスアカウントは、対応ID6140の値がそれぞれ同じである。図10に示す例では、ユーザA〜ユーザA3は実際には同じユーザのアクセスアカウントであることを示す。
【0080】
図11は、検索サーバ管理表6200の構成とデータ例を示す図である。検索サーバ管理表6200は、各検索サーバが属するネットワークドメイン、各検索サーバがアクセスする共有フォルダ、などの情報を管理する。ここでいう共有フォルダは、ファイルサーバがファイルを公開するためにサーバ間で共有しているフォルダである。検索サーバは、共有フォルダ内に格納されているファイルを検索対象とするため、共有フォルダの位置や必要となるアクセス権限を把握しておく必要がある。
【0081】
検索サーバ2200が備える検索サーバ管理表6200は、検索サーバ2200に関する上記情報のみを管理し、統合検索サーバ1100が備える検索サーバ管理表6200は、統合検索で利用する全ての検索サーバに関する上記情報をまとめて管理する。図11では、統合検索サーバ1100が備える検索サーバ管理表6200を例示した。
【0082】
統合検索サーバ1100は、統合検索要求を受け取ると、自身の検索サーバ管理表6200を参照して、検索要求を発行する相手先の候補となる検索サーバの一覧を取得することができる。また、検索サーバ2200は、検索インデックスを作成したり更新したりする際、自身の検索サーバ管理表6200を参照して、検索対象である共有フォルダに関する情報を一括して取得することができる。
【0083】
検索サーバ管理表6200は、検索サーバ識別情報6210、ファイル共有識別情報6220、代表ユーザアカウント6230、代表ユーザアカウントパスワード6240、ドメイン識別情報6250、パブリックアカウント6260を有する。
【0084】
検索サーバ識別情報6210は、検索サーバの識別情報を格納する。この情報は、検索サーバを識別するための任意の文字列や識別番号などでもよいし、検索サーバにアクセスするために必要なホスト名やIPアドレスといった情報でもよい。なお、検索サーバ2200が備える検索サーバ管理表6200は、原則として自検索サーバを識別する情報のみを保持する。
【0085】
ファイル共有識別情報6220は、検索サーバ識別情報6210の値で識別される検索サーバが保持する共有フォルダを識別するための情報を格納する。一般に共有フォルダには共有名が付与されているので、その共有名を格納すればよい。この情報は、共有フォルダを識別するための任意の文字列や識別番号などでもよいし、共有フォルダにアクセスするために必要なホスト名やパス名などからなるURLのような文字列でもよい。1台の検索サーバが複数の共有フォルダを備えている場合は、同じ検索サーバについて本情報を複数設けてもよい。図11では、検索サーバPが2つの共有フォルダを備える例を示した。
【0086】
代表ユーザアカウント6230は、ファイル共有識別情報6220の値で識別される共有フォルダが格納している検索対象ファイルにアクセスする権限を持つアクセスアカウント情報を保持する。本情報は、検索サーバが共有フォルダ内のファイルを検索するための検索インデックスを作成する際に用いられる。共有フォルダが格納しているファイルは、必ずしも全てのユーザに対して公開されているとは限らないので、検索インデックスを作成する際には、全てのファイルに対してアクセス権限を有するアクセスアカウントを用いることとしたものである。
【0087】
代表ユーザアカウントパスワード6240は、代表ユーザアカウント6230の値で識別される代表ユーザであることを証明するための情報を保持する。例えば、ユーザ認証を実施するときに利用するパスワード文字列や証明書などを保持する。代表ユーザアカウントパスワード6240が保持する情報は、情報漏えいを防ぐために、必要に応じて暗号化などを施してもよい。
【0088】
ドメイン識別情報6250は、検索サーバ識別情報6210の値で識別される検索サーバが属するネットワークドメインを識別するための情報を保持する。この情報は、ネットワークドメインを識別するための任意の文字列や識別番号などでもよいし、ネットワークドメインを管理する認証サーバの識別情報でもよい。
【0089】
パブリックアカウント6260は、ファイル共有識別情報6220の値で識別される共有フォルダ上でアクセス制御がなされていないファイルに対してのみアクセスすることができる公開アクセスアカウント情報を格納する。例えば、everyoneアカウント、anonymousアカウント、nobodyアカウントなどが公開アクセスアカウントに相当する。公開アクセスアカウントを利用することにより、共有フォルダに対してアクセス権限を持たないユーザから検索要求を受けた場合でも、アクセス制御がなされていないファイル群の中から検索条件に合致したものを検索結果として提供することができる。なお、公開アクセスアカウントで共有フォルダにアクセスする場合は、一般的にパスワードは不要である。パスワードが別途必要であれば、検索サーバ管理表6200にさらにそのパスワードを追加記述するようにしてもよい。
【0090】
図12は、検索サーバ2200が備える検索インデックス管理表6300の構成とデータ例を示す図である。検索インデックス管理表6300は、検索サーバ2200が作成した検索インデックスの情報を管理する。検索インデックス管理表6300は、キーワード6310、該当位置情報6320を有する。
【0091】
キーワード6310は、検索する対象となるファイルをインデクシング処理によって解析して得られた文字列を格納する。該当場所情報6320は、キーワード6310が記述している文字列を含んでいるファイルに関する情報を登録する。
【0092】
該当場所情報6320はさらに、ファイル識別情報6321および6324、該当位置オフセット6322および6325、重み付け6323および6326を有する。
【0093】
ファイル識別情報6321と6324は、キーワード6310が記述しているキーワード文字列が出現するファイルを識別するための情報を保持する。具体的には、後述する検索インデックス登録ファイル管理表6400におけるファイル識別情報6410に登録されている情報を登録してもよいし、対象ファイルに実際にアクセスするときのファイルパス名やファイル識別子を登録してもよい。
【0094】
該当位置オフセット6322と6325は、ファイル識別情報6321と6324が指定するファイルの中で、キーワード6310が記述しているキーワード文字列が出現する位置を示すオフセット情報を登録する。キーワード6310が記述しているキーワード文字列が1つのファイル内の複数箇所に出現する場合、該当位置オフセット6322と6325は、複数個のオフセット情報を登録する。
【0095】
重み付け6323と6326は、ファイル識別情報6321と6324が指定するオフセット位置において、キーワード6310が記述しているキーワード文字列が出現することによる重要度の値を登録する。この値は、検索サーバ2200が適宜設定する。この値は、大きければ大きいほど重要だという意味づけを行う。また、この値は、検索結果の絞り込みや整列に利用できるようにする。
【0096】
該当位置情報6320は、1つのキーワード6310に対して複数個登録できるようにしてもよい。これにより、キーワード文字列に該当するファイルが複数存在する場合にも対応することができる。なお、該当位置情報6320において、該当するレコードが無効であることを意味するnull値を登録することもできる。null値は、項目数が他のレコードより少ないレコードについて、項目が空いてしまう部分を埋めるために利用することができる。
【0097】
図13は、検索サーバ2200が備える検索インデックス登録ファイル管理表6400の構成とデータ例を示す図である。検索インデックス登録ファイル管理表6400は、検索サーバ2200が検索インデックスを作成する対象とするファイルサーバ4200上の共有フォルダから取得したファイルに関する情報を管理する。
【0098】
検索インデックス登録ファイル管理表6400は、ファイル識別情報6410、ファイルパス名6420、ACL情報6430、メタデータ6440を有する。
【0099】
ファイル識別情報6410は、検索サーバ2200が検索インデックスを作成するために取得したファイルを一意に識別するための識別子である。検索サーバ2200が付与する通番でもよいし、ファイルサーバ4200がファイルに付与した通番でもよい。通番以外にも、ファイルを識別するために利用することができる適当な文字列を利用するようにしてもよい。
【0100】
ファイルパス名6420は、ファイルが格納されているファイルパス名に相当する。検索サーバ2200は、ファイルパス名6420を指定してファイル取得要求を出すことにより、当該ファイルを取得することができる。
【0101】
ACL情報6430は、対象ファイルをインデクシングした際にメタデータの一要素として取得したACL情報に相当する。ACL情報6430は、ユーザ/グループ識別情報6431、操作内容6432、許可/不許可指定フラグ6433を有する。ユーザ/グループ識別情報6431が指定するユーザあるいはグループは、操作内容6432が指定する操作を、許可/不許可指定フラグ6433が指定するフラグにしたがって許可され、または不許可とされる。
【0102】
操作内容6432については、ファイルサーバ4200によって規定されているACL形式に基づいた操作内容を個別に規定するようにしてもよいし、汎用ACLの形式に基づいた操作内容を指定するようにしてもよい。例えば図13において、操作内容6432が“R”である場合は読み出しアクセス(READアクセス)を意味し、“W”は書き込みアクセス(WRITEアクセス)を意味している。もちろん、必ずしもこの形式にしたがう必要はなく、これ以外の形式を利用してもよい。
【0103】
ユーザ/グループ識別情報6431、操作内容6432、許可/不許可指定フラグ6433の組を複数個登録することにより、複数条件を組み合わせたアクセス制御を行うことができるようになる。
【0104】
メタデータ6440は、対象ファイルをインデクシングした際に取得したメタデータを格納する。
【0105】
ここまで、統合検索システム10000の構成、パケットのデータ構造、管理情報の構成について説明した。以降では、統合検索システム10000の処理手順について説明する。ここでは、アカウント登録要求処理(図14)、ログオン処理(図15)、アカウント登録処理(図16)、ファイル共有登録要求処理(図17)、ファイル共有登録処理(図18)、統合検索要求処理(図19)、統合検索処理(図20)、および検索処理(図21)について説明する。
【0106】
図14は、クライアントマシン5100から統合検索サーバ1100または検索サーバ2200に対してアクセスアカウントを登録するよう要求する処理の流れを示す。統合検索サービスを利用するためには、あらかじめ統合検索サーバ1100上に、統合検索を要求するアクセスアカウントと各検索サーバ上のアクセスアカウントとの対応関係を登録しておく必要がある。以下では、システム管理者が統合検索サーバ1100に対してアクセスアカウントを登録するよう要求する処理を例に説明する。検索サーバ2200に対してアクセスアカウントを登録するよう要求する処理も内容は同じである。
(図14:ステップS101)
システム管理者は、クライアントマシン5100を利用して統合検索サーバ1100にログオンする。統合検索サーバ1100は、ログオンを要求したユーザを認証する。ログオン処理の流れについては後述する。なお、クライアントマシン5100を利用する以外に、システム管理用の専用マシンを利用するようにしてもよい。
(図14:ステップS102)
システム管理者は、統合検索サーバ1100にログオンした後、これから新たに登録するアクセスアカウントに対して、統合検索サーバ1100が登録済の既存アカウントと関連付けを行うかどうかを選択する。関連付けすることを選択した場合はステップS103へ進み、関連付けしないことを選択した場合はステップS105へ進む。
【0107】
(図14:ステップS103)
システム管理者は、統合検索サーバ1100に対して、登録済アカウントの一覧を取得するよう要求する。統合検索サーバ1100は、その要求を受け取ると、アカウント対応管理表6100に格納されているアカウント一覧を取得してクライアントマシン5100に提供する。このアカウント一覧は、アカウント対応管理表6100に格納されている対応ID6140も含む。
(図14:ステップS104)
システム管理者は、統合検索サーバ1100が送信したアカウント一覧を取得した後、アカウント一覧の中から新たに登録するアクセスアカウントと対応付ける対応ID6140を選択し、これらを対応付ける旨を指定した上で、統合検索サーバ1100に対して新たなアクセスアカウントを登録するよう要求する。新たに登録または関連付けるアクセスアカウントが属するネットワークドメインを、併せて指定してもよい。ステップS105においても同様である。統合検索サーバ1100がアクセスアカウントを登録する処理の流れについては後述する。
【0108】
(図14:ステップS105)
システム管理者は、新たに登録するアクセスアカウント情報を指定して、統合検索サーバ1100に対してアクセスアカウントを登録するよう要求する。
(図14:ステップS101〜S105:補足)
図14に示す処理では、アクセスアカウント情報を1件ずつ逐次的に登録することができる。これに代えて、スクリプトプログラムなどを利用して図14の処理を繰り返し実行することにより、複数のアクセスアカウント情報を登録することもできる。また、図14で示した処理の流れに準じた形式を用いて、複数の新規アクセスアカウント情報を指定して一括登録する機能を提供するようにしてもよい。一括登録に対応させる場合は、図10に示すアカウント対応管理表6100に含まれるデータを登録対象として指定できるようにすればよい。
【0109】
図15は、図14の処理ステップS101におけるログオン処理の流れを示す図である。以下では、ログオンを要求する一般ユーザがクライアントマシン5100を利用して統合検索サーバ1100に対してログオンを要求する処理を例に説明する。なお、システム管理者がログオンする場合の処理や、検索サーバ2200に対するログオン処理についても処理内容は同じである。
(図15:ステップS201)
ログオンを要求するユーザは、クライアントマシン5100を用いて、統合検索サーバ1100に対してログオン処理を要求する。この要求の中に、クライアントマシン5100が利用することができる認証方式の候補に関する情報を送るようにしてもよい。
(図15:ステップS202)
統合検索サーバ1100は、ステップS201でログオン処理要求を受け取ると、ログオンを要求したユーザに対して、ユーザの認証情報を送るように返答する。この返答の中に、統合検索サーバ1100が対応することができる認証方式についての情報を含めるようにしてもよい。
【0110】
(図15:ステップS203)
ログオンを要求したユーザは、自身の認証情報を入力した上で再度ログオン処理を要求する。ここで入力する認証情報は、認証方式をステップS201〜S202で取り決めた場合は、その方式に準じたものにする。
(図15:ステップS204)
統合検索サーバ1100は、認証情報が付与されたログオン処理要求を受け取ると、指定された認証情報を利用して認証処理を実施する。ここで実施する認証処理は、統合検索サーバ1100内部で行うようにしてもよいし、外部の認証サーバ3100などと連携して実施するようにしてもよい。
【0111】
(図15:ステップS205)
統合検索サーバ1100は、認証処理が成功したかどうかを確認する。認証処理が成功した場合はステップS206へ進み、失敗した場合はステップS207へ進む。
(図15:ステップS206)
統合検索サーバ1100は、ログオンが成功した旨を、セッション識別情報などとともにクライアントマシン5100へ応答する。セッション識別情報の例として、セッション識別子などがある。統合検索サーバ1100は、ログオンを要求したユーザのアクセスアカウント情報と関連付けたセッション識別子を発行し、その関連付け情報を内部的に管理しておくようにしてもよい。
(図15:ステップS207)
統合検索サーバ1100は、ログオンが失敗した旨を、クライアントマシン5100へ応答する。
【0112】
図16は、図14のステップS104とS105におけるアクセスアカウント登録処理の流れを示す図である。以下では、統合検索サーバ1100がアクセスアカウントを登録する処理を例に説明する。なお、検索サーバ2200がアクセスアカウントを登録する処理についても処理内容は同じである。
(図16:ステップS301)
統合検索サーバ1100は、ステップS104またはS105において、アクセスアカウントを登録する要求を受け取ると、その要求において指定されている登録先ネットワークドメイン情報を検証する。例えば、指定されたネットワークドメイン識別情報6120に基づき、そのネットワークドメインを管理する認証サーバが存在し、動作しているかどうかを確認する。
(図16:ステップS302)
統合検索サーバ1100は、ネットワークドメインを検証した後、その検証結果に基づいて、指定されたネットワークドメインが有効であるかどうかを調べる。指定されたネットワークドメインが無効である場合は本処理をエラー終了する。指定されたネットワークドメインが有効である場合はステップS303へ進む。
【0113】
(図16:ステップS303)
統合検索サーバ1100は、登録するよう指定されたアクセスアカウントを認証する。統合検索サーバ1100が自ら認証処理を実施する場合は、所定の認証処理を実施する。外部の認証サーバを利用して認証処理を実施する場合は、その認証サーバに対して認証処理を要求し、認証結果を取得する。
(図16:ステップS304)
統合検索サーバ1100は、アクセスアカウントを認証する処理を実施した後、認証処理が成功したかどうかを調べる。認証失敗した場合は、本処理をエラー終了する。認証成功した場合は、ステップS305へ進む。
(図16:ステップS305)
統合検索サーバ1100は、アカウント対応管理表6100を参照して、登録するよう指定されたアクセスアカウントが既に登録済みかどうかを確認する。既に登録済みである場合は、本処理フローをエラー終了する。あるいは、エラー終了せずに、強制的に既存のアクセスアカウント情報に対して上書き更新するようにしてもよい。登録済みでなかった場合は、ステップS306へ進む。
【0114】
(図16:ステップS306)
統合検索サーバ1100は、アカウント対応管理表6100に新たなレコードを1つ作成し、登録するよう要求されたアクセスアカウント情報を登録する。ただし、この段階では、アカウント対応管理表6100における対応ID6140欄には何も登録しない。
(図16:ステップS307)
統合検索サーバ1100は、ステップS102の結果に基づき、登録するよう要求されたアクセスアカウントを既存アクセスアカウントと対応付けする必要があるかどうかを確認する。対応付けが必要である場合はステップS308へ進み、必要でない場合はステップS309へ進む。
(図16:ステップS308)
統合検索サーバ1100は、ステップS306で新たにアカウント対応管理表6100に登録したレコードの対応ID6140欄に、対応付けするアクセスアカウントの対応ID6140と同じ値を登録する。
【0115】
(図16:ステップS309)
統合検索サーバ1100は、ステップS306で新たにアカウント対応管理表6100に登録したレコードの対応ID6140欄に、新たに採番した対応IDを登録する。
(図16:ステップS301〜S309:補足)
以上説明した処理の流れに準じて、アカウント対応管理表6100に登録されている情報を更新する処理を実装することもできるし、登録済みアカウントを削除する処理を実装することもできる。
【0116】
図17は、クライアントマシン5100から検索サーバ2200に対して、検索対象とする共有フォルダを検索サーバ2200へ登録するよう要求する処理の流れを示す。以下では、システム管理者が検索サーバ2200に対して行う共有フォルダを登録するよう要求する処理を例に説明する。
(図17:ステップS401)
システム管理者は、クライアントマシン5100を利用して検索サーバ2200にログオンする。ログオン処理の内容は、図15で説明した内容と同じである。なお、クライアントマシン5100を利用する以外に、システム管理用の専用マシンを利用するようにしてもよい。
(図17:ステップS402)
システム管理者は、検索サーバ2200にログオンした後、検索対象とする共有フォルダに関する情報を指定して、共有フォルダを登録するよう検索サーバ2200に対して要求する。ここで指定する情報は、検索サーバ管理表6200に含まれる情報の中で、ファイル共有識別情報6220、代表ユーザアカウント6230、代表ユーザアカウントパスワード6240、ドメイン識別情報6250、およびパブリックアカウント6260である。ドメイン識別情報6250には、登録しようとしている共有フォルダ上のファイルにアクセスした時に、ファイルサーバ3100がファイルアクセス制御に利用するネットワークドメインを識別する情報を格納する。検索サーバ2200が共有フォルダを登録する処理の流れについては後述する。
(図17:ステップS401〜S402:補足)
図17に示す処理では、共有フォルダに関する情報を1件ずつ逐次的に登録することができる。なお、スクリプトプログラムなどを利用して本処理を繰り返し実行することにより、複数の共有フォルダに関する情報を登録することもできる。また、図17で示した処理の流れに準じた形式で、複数の共有フォルダに関する情報を指定して一括登録する機能を提供するようにしてもよい。一括登録に対応させる場合は、図11に示す検索サーバ管理表6200に含まれるデータを登録対象として指定できるようにすればよい。
【0117】
図18は、図17のステップS402における処理の流れを示す図である。以下では、検索サーバ2200が共有フォルダを登録する処理を例に説明する。
(図18:ステップS501)
検索サーバ2200は、共有フォルダを登録するよう要求を受け取ると、指定されたネットワークドメイン情報を検証する。例えば、指定されたネットワークドメイン識別情報6250に基づき、当該ネットワークドメインを管理する認証サーバが存在し、動作しているかどうかを確認する。
(図18:ステップS502)
検索サーバ2200は、ステップS501の確認後、その確認結果に基づき、指定されたネットワークドメインは有効であるかどうかを調べる。指定されたネットワークドメインが無効である場合は、本処理をエラー終了する。指定されたネットワークドメインが有効である場合は、ステップS503へ進む。
【0118】
(図18:ステップS503)
検索サーバ2200は、指定された代表ユーザアカウントを認証する。ここでは、指定された共有フォルダにアクセスするユーザを認証する外部の認証サーバに対して認証処理を要求する。なお、認証サーバに対して認証処理を要求することに代えて、指定されたアクセスアカウント情報で実際に当該共有フォルダにアクセスを試してみて、アクセス成功すれば認証成功と判断するようにしてもよい。この場合でも、当該共有フォルダを提供するファイルサーバ4200から認証サーバ3200に対して認証要求が発行されることになるので、同様の結果を得ることができる。
(図18:ステップS504)
検索サーバ2200は、認証処理が成功したかどうかを調べる。認証失敗した場合は、本処理をエラー終了する。認証成功した場合は、ステップS505へ進む。
【0119】
(図18:ステップS505)
検索サーバ2200は、共有フォルダに関する情報を検索サーバ管理表6200に登録する。ただし、この段階では、検索サーバ管理表6200におけるパブリックアカウント6260欄には何も登録しない。
(図18:ステップS506〜S507)
検索サーバ2200は、共有フォルダに関する情報を登録した後、その登録内容にしたがって、指定されたパブリックアカウントの有効性を確認する。ここでは、指定されたパブリックアカウント情報で実際に当該共有フォルダにアクセスを試してみて、アクセス成功すれば有効であると判断するようにしてもよい。当該パブリックアカウントが有効である場合はステップS508に進み、有効でなければステップS509にスキップする。
【0120】
(図18:ステップS508)
検索サーバ2200は、ステップS505で新たに検索サーバ管理表6200に登録したレコードのパブリックアカウント6260欄に、指定されたパブリックアカウント情報を登録する。
(図18:ステップS509)
検索サーバ2200は、パブリックアカウントに関する処理を行った後、検索サーバ管理表6200の内容を統合検索サーバ1100に送る必要があるかどうかを調べる。送る必要がある場合はステップS510へ進み、送る必要がない場合は本処理フローを終了する。
(図18:ステップS509:補足)
本ステップにおいて、各検索サーバ単位で、検索サーバ管理表6200の情報をどのような契機で統合検索サーバ1100に送るのかを設定できるようにしてもよい。例えば、検索サーバ管理表6200に対して更新があった場合に毎回統合検索サーバ1100に送るようにしてもよいし、送らないようにしてもよい。また、デーモンプログラムなどを別途用意して、定期的に更新内容を統合検索サーバ1100に送るような機能を提供するようにしてもよい。検索サーバ2200は、本ステップにおいて、あらかじめ定めた送信契機に達していれば、検索サーバ管理表6200の内容を送る必要があると判断する。
【0121】
(図18:ステップS510)
検索サーバ2200は、統合検索サーバ1100に対して自身が持つ検索サーバ管理表6200に格納されている情報を送る。統合検索サーバ1100は、受け取った情報を自身が持つ検索サーバ管理表6200に反映させる。
(図18:ステップS501〜S510:補足)
以上説明した処理の流れに準じて、検索サーバ管理表6200に登録されている情報を更新する処理を実装することもできるし、登録済みの共有フォルダ情報を削除する処理を実装するとこもできる。
【0122】
図19は、クライアントマシン5100から統合検索サーバ1100に対して統合検索を要求する処理の流れを示す図である。以下、図19の各ステップについて説明する。
(図19:ステップS601)
統合検索を要求するユーザは、クライアントマシン5100上の検索クライアント制御プログラム5124を利用して統合検索サーバ1100にログオンする。ログオン処理の内容は、図15で説明した内容と同じである。
(図19:ステップS602)
検索クライアント制御プログラム5124は、ユーザがログオンした後、検索キーワードなどの検索条件を取得し、取得した検索条件に基づき統合検索サーバ1100が解釈できる検索クエリを作成し、その検索クエリを用いて統合検索要求を統合検索サーバ1100に送る。統合検索サーバ1100における統合検索処理の流れについては後述する。
(図19:ステップS603)
統合検索サーバ1100は、統合検索を実施してその結果をクライアントマシン5100に送信する。検索クライアント制御プログラム5124は、統合検索結果を取得する。検索クライアント制御プログラム5124は、統合検索結果を取得した後、その統合検索結果をユーザに応答して本処理を終了する。
【0123】
図20は、図19のステップS602における統合検索処理の流れを示す図である。以下では、統合検索サーバ1100上の統合検索制御プログラム1124が実施する統合検索処理を例に説明する。
(図20:ステップS701)
統合検索制御プログラム1124は、統合検索サーバ1100が管理するアカウント対応管理表6100を参照して、統合検索を要求したユーザに関連付けられている対応ID6140を取得する。
(図20:ステップS702)
統合検索制御プログラム1124は、統合検索サーバ1100が管理するアカウント対応管理表6100を参照して、ステップS701で取得した対応ID6140と同じ対応IDを有するドメイン識別子6110、ユーザID6120、パスワード6130などを取得する。本ステップで取得する情報は、複数のレコードである場合もある。
【0124】
(図20:ステップS703)
統合検索制御プログラム1124は、統合検索サーバ1100が管理している検索サーバ管理表6200を参照して、登録されている検索サーバの一覧を取得する。
(図20:ステップS704)
統合検索制御プログラム1124は、ステップS703で取得した検索サーバ全てに対して、ステップS705〜S708で説明する処理を実施したか否かを判断する。全ての検索サーバに対して実施済みであればステップS709へ進み、実施済みでなければステップS705へ進む。
(図20:ステップS705)
統合検索制御プログラム1124は、ステップS703で取得した検索サーバの中からのうち本ステップ以降の処理を実施していない任意の1つを選択する。統合検索制御プログラム1124は、統合検索サーバ1100が管理している検索サーバ管理表6200を参照して、選択した検索サーバのレコードに登録されているドメイン識別子6250を取得する。
【0125】
(図20:ステップS706)
統合検索制御プログラム1124は、ステップS705で取得したドメイン識別子6250がステップS702で取得したドメイン識別子6110に含まれているかどうかを調べる。含まれている場合はステップS707へ進み、含まれていない場合はステップS708へ進む。
(図20:ステップS707)
統合検索制御プログラム1124は、ステップS705で選択した検索サーバ2200に対して、ステップS703で取得した代表ユーザアカウント6230と代表ユーザアカウントパスワード6240を、検索サーバ2200にログオンするためのユーザ認証情報として指定し、かつステップS702で取得したユーザID6120を絞り込み条件として指定した検索要求を送信し、その結果を取得する。本ステップの後は、ステップS704に戻る。
(図20:ステップS707:補足)
統合検索を要求したユーザに関連付けられたアクセスアカウント情報には、検索サーバ2200が検索対象としている共有フォルダにアクセスする際に必要となるアクセスアカウントのみをセットするようにする。これにより、検索結果をトリミングするために必要でないアクセスアカウント情報を検索サーバへ送信しないようにすることができる。
【0126】
(図20:ステップS708)
統合検索制御プログラム1124は、統合検索サーバ1100が管理する検索サーバ管理表6200を参照して、ステップS705で選択した検索サーバにパブリックアカウント6260が登録されているかどうかを調べる。登録されている場合は、ステップS707に進んでそのパブリックアカウントを用いて検索サーバに対し検索要求を発行する。登録されていない場合は、検索要求を発行せずにステップS704へ戻る。
(図20:ステップS709)
統合検索制御プログラム1124は、各検索サーバから取得した検索結果を統合して要求元に応答し、本処理を終了する。
【0127】
図21は、図20のステップS707における検索処理の流れを示す図である。以下では、検索サーバ2200上の検索制御プログラム2224が実施する検索処理を例に説明する。なお、クライアントマシン5100上の検索クライアント制御プログラム5124から検索サーバ2200に対して検索要求処理が届いた場合における検索処理の流れも同様である。
(図21:ステップS801)
検索制御プログラム2224は、検索要求元から送られてきた検索要求パケット8000の中身を解析して、指定された検索条件や検索要求ユーザのアカウント情報などを取得する。
(図21:ステップS802)
検索制御プログラム2224は、検索サーバ2200のインデックスを利用して、指定された検索条件に合致するファイル群を抽出する。本ステップの段階では、検索要求パケット8000の中の検索要求ユーザ認証情報8012あるいはセッション情報8016を利用して、抽出したファイルに対するセキュリティトリミングを実施する。具体的には、検索を要求したユーザのユーザ認証情報8012に格納されているアクセスアカウントが参照権限を有するファイル、もしくはセッション情報8016を用いて特定することができるアクセスアカウントが参照権限を有するファイルのみを、検索結果内に含めるようにする。
【0128】
(図21:ステップS803)
検索制御プログラム2224は、ステップS802で抽出したファイル全てについて、検索を要求したユーザが参照権限を有するかどうかを調べ、参照権限があるものだけに検索結果を絞り込む。
(図21:ステップS804)
検索制御プログラム2224は、検索結果を絞り込んだ後、その検索結果を要求元に応答し、本処理を終了する。
【0129】
<実施の形態1:まとめ>
以上のように、本実施形態1に係る統合検索サーバ1100は、統合検索リクエストを発行するアクセスアカウントと、各検索サーバに検索リクエストを発行するアクセスアカウントとの対応関係を記述したアカウント対応管理表6100を備える。統合検索サーバ1100は、アカウント対応管理表6100の記述にしたがって、統合検索リクエストを発行するアクセスアカウントに対応する各検索サーバ上のアクセスアカウントを特定し、そのアカウントがアクセスすることができる範囲のみを検索結果として返信するような検索条件を設定して、各検索サーバに検索リクエストを発行する。これにより、各検索サーバが検索を実施するために必要でないアクセスアカウント情報を各検索サーバへ送信する必要がなくなり、アカウント情報の流出を防いでセキュアな統合検索サービスを提供することができる。
【0130】
また、本実施形態1に係る統合検索サーバ1100は、検索サーバ管理表6200の記述にしたがって、統合検索リクエストを発行するアクセスアカウントが属するネットワークドメインと同じネットワークドメインに属する検索サーバを特定し、その検索サーバに対してのみ、検索リクエストを発行する。これにより、統合検索を要求したユーザが参照権限を有していないファイルを取り扱う検索サーバに対して検索リクエストを発行する必要がなくなり、不要な問合せとその応答を待つ処理を実施しなくともよくなるので、統合検索処理を高速化することができる。
【0131】
また、本実施形態1に係る統合検索サーバ1100は、検索サーバが検索するファイルに対するアクセス権限を有するアクセスアカウント、またはそのアクセスアカウントと同じネットワークドメインに属する検索サーバが存在しない場合は、パブリックアカウントを用いて、各検索サーバに検索リクエストを発行することもできる。これにより、統合検索を要求したユーザが十分なアクセス権限を有さない場合においても、最低限の検索結果を得ることができる。
【0132】
<実施の形態2>
実施形態1では、図20で説明した統合検索処理のステップS707において、統合検索サーバ1100から検索サーバ2200に対して検索要求を送る際に、検索要求パケット8000の中にあるユーザ認証情報8012として、検索サーバ管理表6200に登録されている代表ユーザアカウント6230や代表ユーザアカウントパスワード6240などを利用する。これは、検索サーバ2200に確実にログオンすることができる点では便利である。
【0133】
一方、検索サーバ2200がアクセスログを取得する機能を有する場合、このアクセスログには、検索サーバ2200にアクセスしたアクセスアカウント情報が記録されることになる。実施形態1のように、検索サーバ2200へログオンする際に代表ユーザアカウントを用いる場合、統合検索サーバ1100から検索サーバ2200へ検索要求を発行するときのアクセスログには、全て代表ユーザアカウントが記録されることになる。
【0134】
本来、代表ユーザアカウントは、検索サーバ2200がインデックスを作成する際に、共有フォルダ上のファイルにアクセスするためのアカウントである。このため、検索サーバ2200にとって、上記アクセスログを見ただけでは、検索サーバ2200がインデクシングを実施するためのアクセスなのか、統合検索サーバ1100を介したユーザからの統合検索に基づくアクセスなのかを判別することが難しくなり、望ましくない。
【0135】
そこで本発明の実施形態2では、統合検索サーバ1100から検索サーバ2200に対して検索要求を発行する際、ユーザ認証情報8012として、統合検索を要求したユーザに関連するアクセスアカウント情報を用いる動作手順を説明する。統合検索システム10000を構成する各構成要素は実施形態1と概ね同様であるため、以下では差異点を中心に説明する。
【0136】
図22は、本実施形態2における、図19のステップS602の流れを示す図である。本処理フローは、図20で説明した統合検索処理と比較すると、統合検索サーバ1100から検索サーバ2200に対して検索要求を発行する際、検索要求パケット8000内のユーザ認証情報8012欄に、代表ユーザアカウントの情報ではなく、統合検索を要求したユーザに関連付けられたアクセスアカウント情報を格納する点が異なる。以下、主に図20との差異点について説明する。
(図22:ステップS706)
統合検索制御プログラム1124は、図20のステップS706と同様の処理を実施する。ただし、ステップS705で取得したドメイン識別子6250がステップS702で取得したドメイン識別子6110に含まれている場合は本実施形態2で新たに設けたステップS710へ進み、含まれていない場合はステップS708へ進む。
【0137】
(図22:ステップS710)
統合検索制御プログラム1124は、ステップS705で選択した検索サーバ2200に対して、ステップS702で取得したユーザID6120とパスワード6130を、検索サーバにログオンするためのユーザ認証情報として指定した検索要求を送信し、その結果を取得する。本ステップの後はステップS704に戻る。
(図22:ステップS710:補足その1)
ここで利用するユーザID6120は、統合検索を要求したユーザに関連付けられているアクセスアカウント情報となっている。検索要求を受けた検索サーバ2200は、このアクセスアカウント情報に基づいてセキュリティトリミングを実行する。
(図22:ステップS710:補足その2)
本ステップではステップS707と同様に、統合検索を要求したユーザに関連付けられたアクセスアカウント情報には、検索サーバ2200が検索対象としている共有フォルダにアクセスする際に必要となるアクセスアカウントのみをセットするようにする。
【0138】
<実施の形態2:まとめ>
以上のように、本実施形態2に係る統合検索サーバ1100は、検索サーバ2200に対して検索要求を発行する際に、統合検索を要求したユーザに関連付けられたアクセスアカウントを、ユーザ認証情報として送信する。これにより、検索サーバ2200のアクセスログには各検索リクエストを発行したアクセスアカウントが記録されるので、セキュリティ管理上望ましい。
【0139】
<実施の形態3>
実施形態1〜2では、図16のステップS306において、アカウント対応管理表6100にアクセスアカウントのパスワード6130を登録している。一方、ユーザのパスワード情報は、定期的に更新される可能性がある。パスワードを更新するたびに、アカウント対応管理表6100内のパスワード6130も更新していると、登録アカウント数が多い場合に管理工数が多くなってしまう。
【0140】
そこで本発明の実施形態3では、各アクセスアカウントのパスワード情報をアカウント対応管理表6100に登録しなくても、各アクセスアカウントが有するアクセス権限で検索結果に対してセキュリティトリミングを実施することができるようにすることを図る。
【0141】
アクセスアカウントのパスワードなしでセキュリティトリミングを実施できるようにするためには、各検索サーバにログオンするときの認証情報として代表ユーザアカウントを利用し、検索結果を絞りむみ条件として、各アクセスアカウントを識別するユーザIDを指定する必要がある。以下、これを実現するための動作例を説明する。統合検索システム10000を構成する各構成要素は実施形態1〜2と概ね同様であるため、以下では差異点を中心に説明する。
【0142】
図23は、本実施形態3における、ステップS104とS105のアクセスアカウント登録処理の流れを示す図である。本処理フローは、図16で説明したアカウント登録処理と比較すると、新たに登録するアクセスアカウントのパスワードを登録するか否かを指定できるようにしている点が異なる。以下、主に図16との差異点について説明する。
(図23:ステップS305)
統合検索サーバ1100は、図16のステップS305と同様の処理を実施する。ただし、登録するよう指定されたアクセスアカウントが登録済みでなかった場合は、新たに設けられたステップS310へ進む。
(図23:ステップS310)
統合検索サーバ1100は、登録するよう要求されているアクセスアカウントのパスワード情報を、アカウント対応管理表6100に登録するか否かを判定する。パスワードを登録する場合はステップS306へ進み、登録しない場合は新たに設けたステップS311へ進む。
(図23:ステップS310:補足)
本ステップを実施する前提として、アカウント対応管理表6100に、新たにパスワード登録可否情報を追加しておく。統合検索サーバ1100は、パスワード登録可否情報を参照して、パスワードを登録する必要があるか否かを判定する。なお、統合検索サーバ1100は、アクセスアカウント登録処理において、システム管理者などの当該処理を要求する者に対して、当該アクセスアカウントのパスワードを登録するか否かを指定可能な登録処理用GUIインタフェースやCLIインタフェースなどを提供し、当該インタフェースの指定内容をもとにして、パスワードを登録する必要があるか否かを判定するようにしてもよい。
【0143】
(図23:ステップS311)
統合検索サーバ1100は、登録するよう要求されたアクセスアカウント情報のうちパスワード情報以外の内容を、アカウント対応管理表6100に登録する。パスワードを登録しない場合、アカウント対応管理表6100のパスワード6130欄には、未設定を示す情報を登録するようにする。例えば、ここではNULL値を登録する。
(図23:ステップS311:補足)
本処理を実施する前提として、ユーザは統合検索サーバ1100にログオンする必要がある。したがって、アカウント対応管理表6100にパスワードを登録するか否かによらず、ユーザは統合検索サーバ1100に対してパスワードを通知する必要がある。
【0144】
図24は、本実施形態3におけるステップS602の統合検索処理の流れを示す図である。本処理フローは、図20で説明した統合検索処理と比較すると、統合検索を要求したユーザに関連付けられているアクセスアカウントにパスワード情報が登録されているか否かによって、検索サーバに対するログオン認証のために用いるアクセスアカウントを分ける点が異なる。以下、主に図20との差異点について説明する。
(図24:ステップS706)
統合検索制御プログラム1124は、図20のステップS706と同様の処理を実施する。ただし、ステップS705で取得したドメイン識別子6250がステップS702で取得したドメイン識別子6110に含まれている場合は、新たに設けたステップS711に進む。
(図24:ステップS711)
統合検索制御プログラム1124は、統合検索サーバ1100のアカウント対応管理表6100を参照し、統合検索を要求したユーザに関連付けられているアクセスアカウント情報の中から、検索サーバが検索対象とする共有フォルダにアクセスする際に用いられるアクセスアカウント情報を選択し、アカウント対応管理表6100のうちそのアクセスアカウント情報に対応するレコードに、パスワード6130が登録されているかどうかを調べる。パスワードが登録されている場合はステップS710へ進み、登録されていない場合はステップS707へ進む。
(図24:ステップS710)
統合検索制御プログラム1124は、統合検索を要求したユーザに関連付けられたアクセスアカウント情報を、検索サーバへログオンするためのユーザ認証情報として用いて、検索要求を発行する。
【0145】
<実施の形態3:まとめ>
以上のように、本実施形態3に係る統合検索サーバ1100は、検索サーバ2200に対して検索要求を発行する際に、パスワード6130がアカウント対応管理表6100に登録されている場合は、統合検索を要求したユーザに関連付けられたアクセスアカウントを、ユーザ認証情報として送信する。パスワード6130が登録されていない場合は、代表ユーザアカウントをユーザ認証情報として用いる。これにより、統合検索サーバ1100上でパスワード6130が登録または更新されていない場合でも、代表ユーザアカウントを用いて各検索サーバにログオンし、セキュリティトリミング処理を実施することができる。パスワード6130が登録されている場合は、実施形態2と同様の効果を発揮することができる。
【0146】
<実施の形態4>
実施形態1〜3では、ステップS707において、統合検索サーバ1100から検索サーバ2200に対して検索要求を送る際、検索要求パケット8000内のユーザ認証情報8012に、検索サーバ管理表6200に登録されている代表ユーザアカウント6230や代表ユーザアカウントパスワード6240などを格納する。
【0147】
本来、代表ユーザアカウントは、検索サーバ2200がインデックスを作成する際に、共有フォルダ上のファイルにアクセスするためのアカウントである。代表ユーザアカウントを利用して、共有フォルダや検索サーバにアクセスすることができるようにACLが設定されていれば、ステップS707において代表ユーザアカウントを用いてもよい。しかし、代表ユーザアカウントを利用して検索サーバにアクセスすることが許可されない場合も想定される。
【0148】
また、実施形態2のステップS710では、統合検索を要求したユーザに関連付けられているアクセスアカウント情報を用いて各検索サーバにログオンする手法を説明したが、これに代えて、実施形態1で説明した検索結果絞り込み用アカウント情報8022のように、共通アクセスアカウントを用いることも考えられる。共通アカウントを利用する場合は、統合検索サーバ1100と検索サーバ2200との間で確立するセッションを、複数のユーザからの検索要求において共有することができる。この手法は、実施形態2のようにユーザごとに別セッションを確立する方式と比べて、検索サーバ側で一時的に管理する必要があるセッション管理情報量を削減することができる。
【0149】
以上に鑑みて、本発明の実施形態4では、検索サーバに対して検索要求を発行する際に検索サーバへログオンすることができる共通アカウントを新たに設ける。統合検索サーバ1100は、各検索サーバに対して検索要求を発行する際に、共通アカウントを用いて検索サーバにログオンする。
【0150】
統合検索システム10000を構成する各構成要素は、検索サーバ管理表6200を除いて実施形態1〜3と概ね同様であるため、以下では差異点を中心に説明する。
【0151】
図25は、本実施形態4における検索サーバ管理表6200の構成とデータ例を示す図である。本実施形態4において、検索サーバ管理表6200は、新たに共通アカウント6270、共通アカウントパスワード6280を有する。
【0152】
共通アカウント6270は、検索サーバ2200にアクセスするために必要なアクセスアカウントである。共通アカウント6270と共通アカウントパスワード6280は、対象となる検索サーバが認証処理を実施する場合は、あらかじめ当該検索サーバ内に登録しておく必要がある。当該検索サーバとは別の認証サーバが認証処理を実施する場合は、その認証サーバにあらかじめ登録しておく必要がある。
【0153】
図26は、本実施形態4におけるステップS402の処理の流れを示す図である。本処理フローは、図18で説明した共有フォルダ登録処理と比較すると、共通アカウント情報を登録する処理が追加されている点が異なる。以下では、図18との差異点を中心に説明する。
(図26:ステップS501)
本実施形態4の前提として、システム管理者は、共有フォルダを登録する要求を発行する際に、共有アカウント6270と共通アカウントパスワード6280を指定しておく。本ステップにおいて、検索サーバ2200は、これら情報を併せて受け取る。
(図26:ステップS504)
検索サーバ2200は、図18のステップS504と同様の処理を実施する。ただし、認証成功した場合は、新たに設けたステップS511へ進む。
【0154】
(図26:ステップS511)
検索サーバ2200は、指定された共通アカウントの認証を実施する。ここでは、検索サーバ自身が認証処理を実施するか、または検索サーバが利用する外部の認証サーバに対して認証処理を要求し、その結果を取得する。
(図26:ステップS512)
検索サーバ2200は、共通アカウントの認証処理を実施した後、認証処理が成功したかどうかを調べる。認証失敗した場合は、本処理をエラー終了する。認証成功した場合は、ステップS505へ進む。ステップS505では、共通アカウントと共通アカウントパスワードを併せて登録する。
【0155】
図27は、本実施形態4におけるステップS602の統合検索処理の流れを示す図である。本処理フローは、図20で説明した統合検索処理と比較すると、統合検索サーバ1100から検索サーバ2200に対して検索要求を発行する際、検索要求パケット8000内のユーザ認証情報8012欄に、代表ユーザアカウントの情報ではなく、共通アカウントの情報を格納する点が異なる。以下では、図20との差異点を中心に説明する。
(図27:ステップS706)
統合検索制御プログラム1124は、図20のステップS706と同様の処理を実施する。ただし、ステップS705で取得したドメイン識別子6250がステップS702で取得したドメイン識別子6110に含まれている場合は、本実施形態4で新たに設けたステップS712へ進む。
【0156】
(図27:ステップS712)
統合検索制御プログラム1124は、処理ステップS705で選択した検索サーバ2200に対して、共通アカウントと共通アカウントパスワードをユーザ認証情報として指定し、ステップS702で取得したユーザID6120を絞り込み条件として指定した検索要求を送信し、その結果を取得する。本ステップの後は、ステップS704に戻る。
(図27:ステップS712:補足その1)
本ステップで利用する共通アカウントと共通アカウントパスワードは、検索サーバ対応表6200において、本ステップの検索要求を発行する相手先となる検索サーバの情報が登録されているレコードの共通アカウント6270および共通アカウントパスワード6280である。
(図27:ステップS712:補足その2)
統合検索を要求したユーザに関連付けられたアクセスアカウント情報には、実施形態1と同様に、検索サーバ2200が検索対象としている共有フォルダにアクセスするために必要となるアクセスアカウントのみを送るようにする。
【0157】
<実施の形態4:まとめ>
以上のように、本実施形態4に係る統合検索サーバ1100は、検索サーバに検索リクエストを発行する際に、代表ユーザアカウントに代えて、共通アカウントを用いてログオンを実施する。これにより、本来は検索インデックスを作成するために用いる代表ユーザアカウントを用いずに、検索リクエストを実施することができる。したがって、検索インデックスを作成するためのアクセス権限のみでは全てのファイルにアクセスできない場合や、同アクセス権限では権限が強すぎるような場合には、より適切なアクセス権限を有する共通アカウントをもってこれに代えることができる。
【0158】
<実施の形態5>
実施形態1〜4では、ステップS803において、検索結果に含まれるファイルを、統合検索を要求したユーザが参照権限を有するものだけに絞り込んで検索結果とするセキュリティトリミングを検索サーバ2200が実施する。このセキュリティトリミングは、検索を要求する統合検索サーバ1100側で実施するようにしてもよい。
【0159】
統合検索サーバ1100がセキュリティトリミングを実施できるようにするためには、検索条件に合致する全てのファイルに関する情報を統合検索サーバ1100が取得する必要がある。この情報を統合検索サーバ1100側でキャッシュしておくことにより、同じ検索条件で別のユーザから統合検索要求があった際に、このキャッシュを利用して各検索サーバへの検索要求を省略することができる。
【0160】
そこで本発明の実施形態5では、統合検索サーバ1100から各検索サーバに対して検索要求を発行する際に、セキュリティトリミングを検索サーバ側で実施させるか否かを指定する動作例を説明する。
【0161】
図28は、本実施形態5におけるステップS602の統合検索処理の流れを示す図である。本処理フローは、図20で説明した統合検索処理と比較すると、統合検索サーバ1100から検索サーバ2200に対して検索要求を発行する際、検索要求パケット8000内の検索結果絞り込み用アカウント情報8022欄に、検索条件を指定しないようにする点が異なる。以下、図20との差異点を中心に説明する。
(図28:ステップS704)
統合検索制御プログラム1124は、図20のステップS704と同様の処理を実施する。ただし、全ての検索サーバに対してステップS705〜S708の処理を実施済みである場合は、本実施形態5で新たに設けたステップS714へ進む。
(図28:ステップS706)
統合検索制御プログラム1124は、図20のステップS706と同様の処理を実施する。ただし、ステップS705で取得したドメイン識別子6250がステップS702で取得したドメイン識別子6110に含まれている場合は、本実施形態5で新たに設けたステップS713へ進む。
【0162】
(図28:ステップS713)
統合検索制御プログラム1124は、ステップS705で選択した検索サーバ2200に対して、代表ユーザアカウントと代表ユーザアカウントパスワードをユーザ認証情報として指定し、絞り込み条件は何も指定しない検索要求を送信し、その結果を取得する。絞り込み条件については、検索要求パケット8000内の検索結果絞り込み用アカウント情報8022欄に、検索条件を設定しないようにすればよい。本ステップの後は、ステップS704に戻る。
(図28:ステップS714)
統合検索制御プログラム1124は、各検索サーバから取得した検索結果を統合し、統合検索を要求したユーザに関連付けられているアクセスアカウント情報を利用して、検索結果のセキュリティトリミングを実施する。
(図28:ステップS714:補足)
必要に応じてセキュリティトリミング前の検索結果を統合検索サーバ1100内部でキャッシュするようにしてもよい。キャッシュした内容は、次回以降の統合検索要求を受け取った時に、検索条件が合致し、かつキャッシュの内容が所定の期間以上経過していない場合に、キャッシュされているデータを統合検索結果の全体あるいはその一部として活用することができる。
【0163】
図29は、本実施形態5におけるステップS707の検索処理の流れを示す図である。本処理フローは、図21で説明した検索処理と比較すると、統合検索サーバ1100から送られてきた検索要求パケット8000の内容に基づき、セキュリティトリミングを実施するかどうかを定める点が異なる。以下では、図21との差異点を中心に説明する。
(図29:ステップS802)
検索制御プログラム2224は、図21のステップS802と同様の処理を実施する。ただし、本ステップの後は、ステップS803の前に本実施形態5で新たに設けたステップS805を実施する。
(図29:ステップS805)
検索制御プログラム2224は、セキュリティトリミングを実施するよう要求されているかどうかを調べる。具体的には、統合検索サーバ1100から送られてきた検索要求パケット8000内の検索結果絞り込み用アカウント情報8022に、絞り込み用のアクセスアカウント情報が格納されているかどうかを調べる。検索結果絞り込み用アカウント情報8022にアクセスアカウント情報が格納されていない場合は、セキュリティトリミングを要求されていないと判断する。セキュリティトリミングを要求されていると判断する場合はステップS803へ進み、セキュリティトリミングを要求されていないと判断する場合はステップS804へスキップする。
【0164】
<実施の形態5:まとめ>
以上のように、本実施形態5に係る統合検索サーバ1100は、検索サーバ2200に対して検索要求を発行する際に、セキュリティトリミングを検索サーバ側で実施させるか否かを指定することができる。これにより、例えば検索サーバの処理負荷に合わせて、セキュリティトリミングをいずれのサーバで実施するかを調整するなど、柔軟な処理を実施することができる。
【0165】
<実施の形態6>
実施形態1〜5では、統合検索サーバ1100と検索サーバ2200はそれぞれ別々のサーバ装置によって提供される構成となっている。しかし、1台のサーバ装置において、統合検索サーバ1100の機能と検索サーバ2200の機能を兼ねるように構成することもできる。そこで本発明の実施形態6では、検索サーバ2200が統合検索サーバ1100の機能を併せて提供する構成例を説明する。
【0166】
図30は、本実施形態6における検索サーバ2200のハードウェア構成を示す図である。図30では、図3で説明した構成に加えて、新たに統合検索制御プログラム2226と管理情報取得制御プログラム2227が追加されている。
【0167】
統合検索制御プログラム2226は、図2で説明した統合検索サーバ1100における統合検索制御プログラム1124と同じものである。統合検索制御プログラム2226の構成要素であるアカウント情報絞り込み制御サブプログラム2271、検索先絞り込み制御サブプログラム2272、検索クライアント制御サブプログラム2273、検索結果統合制御サブプログラム2274についても同様である。管理情報取得制御プログラム2227は、図2で説明した統合検索サーバ1100における管理情報取得制御プログラム1125と同じものである。
【0168】
上記追加した制御プログラムによって提供される処理フローについては、統合検索サーバ1100における処理内容として前述した処理フローと同じである。このため、処理フローの説明は省略する。
【0169】
なお、上記では、統合検索サーバ1100と検索サーバ2200を1つのサーバ装置で提供するとしたが、この限りではない。例えば、認証サーバ3200の機能も一体で提供するようにしてもよいし、ファイルサーバ4200の機能も一体で提供するようにしてもよい。また、これら4つを柔軟に組み合せた構成をとるようにしてもよい。また、サーバ仮想化技術を利用して、1台の物理サーバ装置において、複数台の仮想サーバ装置を構成した上で、当該仮想サーバ装置において、統合検索サーバ1100、検索サーバ2200、認証サーバ3200、ファイルサーバ4200を提供するようにしてもよい。さらに、当該仮想サーバ装置において、統合検索サーバ1100の機能を取り込んだ検索サーバ2200を提供するようにしてもよい。
【0170】
<実施の形態6:まとめ>
以上のように、本実施形態6によれば、統合検索サービスを提供するシステムを構成するサーバ装置の台数を削減することができる。また、統合検索サーバ1100と検索サーバ2200を1台のサーバ装置によって実現することにより、ネットワーク転送に係るオーバヘッドを削減することができる。また、同じデータを扱う場合には、データ格納メモリ領域を共有することにより、メモリ消費量を削減することもできる。
【0171】
<実施の形態7>
実施形態1〜6では、図7で説明した統合検索処理において、統合検索要求を受けた統合検索サーバ1100が基点となり、各検索サーバに対して検索要求を発行し、検索要求を受けた各検索サーバは自身が持つインデックス情報をもとに検索結果を返す。一方、検索要求を受けた各検索サーバが、さらに自身が基点となって統合検索を行う、多段の統合検索処理を実施するようにしてもよい。
【0172】
このような構成によって、効率よく統合検索を実施することができる。多段構成によって、1段統合検索の場合と比較して、特に検索サーバ数が多い場合には、基点となる統合検索サーバ1100の負担を検索サーバとの間で分散することができる。
【0173】
そこで本発明の実施形態7では、上述したような多段統合検索を実現するための構成例を説明する。ここでは、実施形態6で説明したように、統合検索サーバ1100と検索サーバ2200とを一体化させた構成を前提に説明する。ただし、実施形態1のように、統合検索サーバ1100と検索サーバ2200を個別のサーバ装置として提供する場合でも、以降で説明する多段統合検索を実現することができる。
【0174】
多段統合検索を実現するためには、統合検索制御プログラム2226から各検索サーバに対して検索要求を発行する際に、さらにその先での統合検索を実施する必要があるか否かを指定できるように変更した上で、検索要求を受けた検索サーバが自身を基点とした統合検索を実施する必要があるか否かを判断できるように変更する必要がある。
【0175】
図31は、本実施形態7における統合検索処理の全体の流れを示す図である。図31は本実施形態7における図7の処理に相当する。図31は、図7で説明した全体処理の流れと比べて、統合検索を多段に実施している点が異なる。
【0176】
検索クライアント制御プログラム5124から統合検索要求を受けた統合検索制御プログラム2126は、検索対象となる統合検索サーバ2200と2300に対して、さらに統合検索を行う必要があるか否かを示す制御情報とともに検索要求を送る。この制御情報については後述する。
【0177】
検索サーバ2200と2300において、検索制御プログラム2224と2324が検索要求を受信し、図7で説明した検索処理に加えて、制御情報の内容をもとに自サーバを基点とした統合検索を実施するかどうかを判断する。
【0178】
検索制御プログラム2224が自サーバを基点とした統合検索を実施すると判断した場合、検索制御プログラム2224は、自サーバの統合検索制御プログラム2226に対して統合検索を実施するよう要求する。
【0179】
統合検索要求を受け取った統合検索制御プログラム2226は、検索サーバ2400と2500に対してさらに検索要求を発行し、その結果を取得し、要求元に返す。
【0180】
以上の処理を繰り返し実施し、最初に統合検索要求を受けた検索サーバが最終的に検索結果をまとめた上で、要求元に統合検索結果として返す。
【0181】
図32は、本実施形態7における検索要求パケット8000のデータ構造を示す図である。本実施形態7において、検索要求パケット8000は、図9と比較して、統合検索制御情報8023を追加している点が異なる。
【0182】
統合検索制御情報8023は、検索要求を受け取った検索サーバにおいて、さらに統合検索を実施する必要があるか否かを示す情報を格納する。具体的には、統合検索を実施する必要がある、あるいは必要がないという情報を格納する。
【0183】
統合検索を実施する必要があるという情報を統合検索制御情報8023に格納する場合、その統合検索の実施条件を指定するようにしてもよい。例えば、検索サーバを基点として、統合検索を多段的に実施する上限回数を指定するようにしてもよい。また、検索サーバを基点として、検索要求を新たに発行する検索サーバを選定する条件を指定するようにしてもよい。検索サーバの選定条件を利用することにより、同じ検索サーバに対して冗長な検索要求を発行することを防ぐことができる。
【0184】
冗長な検索要求を防ぐためには、統合検索を最初に受け取った検索サーバが、検索サーバ群の構成情報に基づき、多段統合検索を実施する時の検索要求が重複しないように選定条件を指定すればよい。具体的には、検索サーバ間における検索要求の送信関係を木構造にてグラフ化した際に、検索要求の送信元となる親ノードを複数持つノードが発生しないようにすればよい。
【0185】
図33は、本実施形態5におけるステップS602の統合検索処理の流れを示す図である。本処理フローは、図20で説明した統合検索処理と比較すると、統合検索サーバ1100から検索サーバ2200に対して検索要求を発行する際、検索要求パケット8000内の統合検索制御情報8023欄に、多段統合検索を制御するための情報を格納する点が異なる。以下では、図20との差異点を中心に説明する。
(図33:ステップS706)
統合検索制御プログラム1124は、図20のステップS706と同様の処理を実施する。ただし、ステップS705で取得したドメイン識別子6250がステップS702で取得したドメイン識別子6110に含まれている場合は、本実施形態7で新たに設けたステップS715へ進む。
【0186】
(図33:ステップS715)
統合検索制御プログラム1124は、ステップS705で選択した検索サーバ2200に対して、代表ユーザアカウントと代表ユーザアカウントパスワードをユーザ認証情報として指定し、ステップS702で取得したユーザID6120を絞り込み条件として指定し、さらに多段統合検索を制御するための統合検索制御情報8023を指定した検索要求を送信し、その結果を取得する。本ステップの後は、ステップS704に戻る。
(図33:ステップS715:補足その1)
本ステップで指定する統合検索制御情報8023については、図32で説明した内容を設定すればよい。
(図33:ステップS715:補足その2)
統合検索を要求したユーザに関連付けられたアクセスアカウント情報には、実施形態1と同様に、検索サーバ2200が検索対象としている共有フォルダにアクセスするために必要となるアクセスアカウントのみを送るようにする。
【0187】
図34は、本実施形態7におけるステップS707の検索処理の流れを示す図である。本処理フローは、図21で説明した検索処理と比較すると、統合検索サーバ1100から送られてきた検索要求パケット8000の内容に基づき、さらに統合検索を実施するかどうかを定める点が異なる。以下では、図21との差異点を中心に説明する。
(図34:ステップS801)
検索制御プログラム2224は、図21のステップS801と同様の処理を実施する。ただし、本ステップの後は、ステップS802の前に本実施形態7で新たに設けたステップS806を実施する。
(図34:ステップS806)
検索制御プログラム2224は、自サーバを基点とした統合検索処理を要求されているかどうかを調べる。具体的には、統合検索サーバ1100から送られてきた検索要求パケット8000内の統合検索制御情報8023を調べる。ここでは、統合検索が必要である旨を示す情報が格納されている場合は、さらなる統合検索が必要と判断し、統合検索が不要である旨の情報が格納されている場合は、統合検索は不要と判断する。さらなる統合検索が必要と判断する場合はステップS807へ進み、必要ないと判断する場合はステップS802へ進む。
【0188】
(図34:ステップS807)
検索制御プログラム2224は、自検索サーバを基点とした統合検索処理を実施する。具体的には、自検索サーバにおける統合検索制御プログラム2226に対して、統合検索処理を実施するよう要求する。本ステップの後は、ステップS802へ進む。
(図34:ステップS803)
検索制御プログラム2224は、図21のステップS803と同様の処理を実施する。ただし、本ステップの後は、本実施形態7で新たに設けたステップS808を実施する。
(図34:ステップS808)
検索制御プログラム2224は、自検索サーバでの検索結果(ステップS803によって取得した検索結果)と、もしあれば自検索サーバを基点とした統合検索結果(ステップS807によって取得した検索結果)とを統合したものを要求元に応答する。
【0189】
<実施の形態7:まとめ>
以上のように、本実施形態7によれば、統合検索を多段的に実施し、統合検索システム10000をより柔軟に構築することができる。
【0190】
本発明は、上述の各サーバ装置を実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することもできるし、上記各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできる。
【0191】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、サーバ装置あるいはサーバ装置を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみをプログラムまたは記録媒体として構成してもよい。
【0192】
記録媒体としては、フレキシブルディスク、CD−ROM、DVD−ROM、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置および外部記憶装置などコンピュータが読み取り可能な種々の揮発性記憶媒体や不揮発性記憶媒体を利用できる。
【符号の説明】
【0193】
100・・・ネットワーク
1100・・・統合検索サーバ
2200、2300・・・検索サーバ
3100、3200、3300・・・認証サーバ
4200、4300・・・ファイルサーバ
5100・・・クライアントマシン
1110、2210、3110、4210、5110・・・プロセッサ
1120、2220、3120、4220、5120・・・メモリ
1121、2221、3121、4221、5121・・・外部記憶装置I/F制御プログラム
1122、2222、3122、4222、5122・・・ネットワークI/F制御プログラム
1123、2223、3123、4223、5123・・・データ管理制御プログラム
1124、2226・・・統合検索制御プログラム
1125、2227・・・管理情報取得制御プログラム
1171、2271・・・アカウント情報絞り込み制御サブプログラム
1172、2272・・・検索先絞り込み制御サブプログラム
1173、2273・・・検索クライアント制御サブプログラム
1174、2274・・・検索結果統合制御サブプログラム
2224・・・検索制御プログラム
2225・・・検索サーバ管理制御プログラム
3124・・・認証制御プログラム
4224・・・ファイル共有制御プログラム
5124・・・検索クライアント制御プログラム
5125・・・ファイル共有クライアント制御プログラム
1130、2230、3130、4230、5130・・・外部記憶装置I/F
1140、2240、3140、4240、5140・・・ネットワークI/F
1150、2250、3150、4250、5150・・・バス
1160、2260、3160、4260、5160・・・外部記憶装置
6100・・・アカウント対応管理表
6110・・・ドメイン識別情報
6120・・・ユーザID
6130・・・パスワード
6140・・・対応ID
6200・・・検索サーバ管理表
6210・・・検索サーバ識別情報
6220・・・ファイル共有識別情報
6230・・・代表ユーザアカウント
6240・・・代表ユーザアカウントパスワード
6250・・・ドメイン識別情報
6260・・・パブリックアカウント
6270・・・共通アカウント
6280・・・共通アカウントパスワード
6300・・・検索インデックス管理表
6310・・・キーワード
6320・・・該当位置情報
6321、6324・・・ファイル識別情報
6322、6325・・・該当位置オフセット
6323、6326・・・重み付け
6400・・・検索インデックス登録ファイル管理表
6410・・・ファイル識別情報
6420・・・ファイルパス名
6430・・・ACL情報
6431・・・ユーザ/グループ識別情報
6432・・・操作内容
6433・・・許可/不許可指定フラグ
6440・・・メタデータ
7000・・・統合検索要求パケット
7010・・・パケットヘッダ
7011・・・認証方法識別情報
7012・・・ユーザ認証情報
7013・・・ドメイン識別子
7014・・・ユーザ識別子
7015・・・パスワード
7016・・・セッション情報
7017・・・セッション識別子
7020・・・パケットデータ
7021・・・検索クエリ
8000・・・検索要求パケット
8010・・・パケットヘッダ
8011・・・認証方法識別情報
8012・・・ユーザ認証情報
8013・・・ドメイン識別子
8014・・・ユーザ識別子
8015・・・パスワード
8016・・・セッション情報
8017・・・セッション識別子
8020・・・パケットデータ
8021・・・検索クエリ
8022・・・検索結果絞り込み用アカウント情報
8023・・・統合検索制御情報

【特許請求の範囲】
【請求項1】
電子データを検索するように要求する第1検索リクエストを受け取る検索クライアント制御部と、
前記第1検索リクエストに基づき、電子データを検索する1以上の検索装置に第2検索リクエストを発行し、各前記検索装置の検索結果を統合する統合検索制御部と、
前記統合検索制御部が前記検索装置に前記第2検索リクエストを発行する際のアクセスアカウントを絞り込むアカウント絞り込み制御部と、
前記第1検索リクエストを発行する第1アクセスアカウントと、前記第1アクセスアカウントを有するユーザが前記検索装置にアクセスする際に用いる第2アクセスアカウントとの対応関係を記述したアカウント対応表と、
を備え、
前記アカウント絞り込み制御部は、
前記統合検索制御部が前記検索装置に前記第2検索リクエストを発行する際に、前記アカウント対応表の記述にしたがって、前記第1アクセスアカウントに対応する前記第2アクセスアカウントを特定し、
前記統合検索制御部は、
前記アカウント絞り込み制御部が前記アカウント対応表の記述にしたがって特定した前記第2アクセスアカウントがアクセスすることができる前記電子データの範囲を検索条件として指定して、前記第2検索リクエストを発行する
ことを特徴とする統合検索装置。
【請求項2】
前記統合検索装置は、
前記検索装置が属するネットワークドメインを記述した検索装置管理表を備え、
前記アカウント対応表は、
前記第2アクセスアカウントが属するネットワークドメインと前記第1アクセスアカウントとの対応関係を記述しており、
前記アカウント絞り込み制御部は、
前記検索装置管理表の記述にしたがって、前記第2アクセスアカウントが属するネットワークドメインに属する前記検索装置を特定し、
前記統合検索制御部は、
前記アカウント絞り込み制御部が前記検索装置管理表の記述にしたがって特定した前記検索装置に対して、前記第2検索リクエストを発行する
ことを特徴とする請求項1記載の統合検索装置。
【請求項3】
前記統合検索制御部は、
前記アカウント絞り込み制御部が前記アカウント対応表の記述にしたがって特定した前記第2アクセスアカウントが存在しない場合は、
認証を必要としない公開アクセスアカウントがアクセスすることができる前記電子データの範囲を検索条件として指定して、前記第2検索リクエストを発行する
ことを特徴とする請求項1記載の統合検索装置。
【請求項4】
前記統合検索制御部は、
前記アカウント絞り込み制御部が前記検索装置管理表の記述にしたがって特定した前記検索装置が存在しない場合は、
認証を必要としない公開アクセスアカウントがアクセスすることができる前記電子データの範囲を検索条件として指定して、前記第2検索リクエストを発行する
ことを特徴とする請求項2記載の統合検索装置。
【請求項5】
前記検索装置管理表は、
前記検索装置がアクセスする全ての前記電子データに対するアクセス権限を有する代表アクセスアカウントとその認証情報を記述しており、
前記統合検索制御部は、
前記検索装置に前記第2検索リクエストを発行する際に、前記検索装置管理表の記述にしたがって、前記代表アクセスアカウントの認証情報を取得し、
前記代表アクセスアカウントの認証情報を、前記検索装置に対するログイン認証情報として用いた上で、前記第2検索リクエストを発行する
ことを特徴とする請求項2記載の統合検索装置。
【請求項6】
前記統合検索制御部は、
前記第2アクセスアカウントの認証情報を、前記検索装置に対するログイン認証情報として用いた上で、前記第2検索リクエストを発行し、
前記第2アクセスアカウントがアクセス権限を有する前記電子データに関する検索結果のみを前記検索装置が抽出した結果を、前記検索装置から検索結果として受け取る
ことを特徴とする請求項1記載の統合検索装置。
【請求項7】
前記統合検索制御部は、
前記アカウント対応表が前記第2アクセスアカウントの認証情報を記述している場合は、
前記第2アクセスアカウントの認証情報を、前記検索装置に対するログイン認証情報として用いた上で、前記第2検索リクエストを発行し、
前記第2アクセスアカウントがアクセス権限を有する前記電子データに関する検索結果のみを前記検索装置が抽出した結果を、前記検索装置から検索結果として受け取り、
前記アカウント対応表が前記第2アクセスアカウントの認証情報を記述していない場合は、
前記検索装置に前記第2検索リクエストを発行する際に、前記検索装置管理表の記述にしたがって、前記代表アクセスアカウントの認証情報を取得し、
前記代表アクセスアカウントの認証情報を、前記検索装置に対するログイン認証情報として用いた上で、前記第2検索リクエストを発行する
ことを特徴とする請求項5記載の統合検索装置。
【請求項8】
前記検索装置管理表は、
前記検索装置が検索することができる全ての前記電子データに対して検索リクエストを発行しその検索結果を取得する権限を有する共通アクセスアカウントとその認証情報を記述しており、
前記統合検索制御部は、
前記検索装置に前記第2検索リクエストを発行する際に、前記検索装置管理表の記述にしたがって、前記共通アクセスアカウントの認証情報を取得し、
前記共通アクセスアカウントの認証情報を、前記検索装置に対するログイン認証情報として用いた上で、前記第2検索リクエストを発行する
ことを特徴とする請求項2記載の統合検索装置。
【請求項9】
前記統合検索制御部は、
前記検索装置に前記第2検索リクエストを発行する際に、前記第2アクセスアカウントがアクセス権限を有する前記電子データに関する検索結果のみを抽出する抽出処理を実施すべきか否かを前記検索装置に指示し、
前記抽出処理を実施しないように前記検索装置へ指示した場合は、各前記検索装置の検索結果を統合する
ことを特徴とする請求項1記載の統合検索装置。
【請求項10】
前記統合検索制御部は、
前記検索装置が電子データを検索した結果を統合する1以上の他の前記統合検索装置から前記統合の結果を受け取り、
各前記統合検索装置からの前記統合の結果をさらに統合する
ことを特徴とする請求項1記載の統合検索装置。
【請求項11】
前記統合検索装置は、
前記検索装置が属するネットワークドメインを記述した検索装置管理表を備え、
前記検索装置管理表は、
前記検索装置がアクセスする全ての前記電子データに対するアクセス権限を有する代表アクセスアカウントとその認証情報を記述しており、
前記アカウント対応表は、
前記第2アクセスアカウントが属するネットワークドメインと前記第1アクセスアカウントとの対応関係を記述しており、
前記アカウント絞り込み制御部は、
前記検索装置管理表の記述にしたがって、前記第2アクセスアカウントが属するネットワークドメインに属する前記検索装置を特定し、
前記統合検索制御部は、
前記アカウント絞り込み制御部が前記検索装置管理表の記述にしたがって特定した前記検索装置に対して、前記第2検索リクエストを発行し、
前記アカウント絞り込み制御部が前記アカウント対応表の記述にしたがって特定した前記第2アクセスアカウントが存在しない場合は、認証を必要としない公開アクセスアカウントがアクセスすることができる前記電子データの範囲を検索条件として指定して、前記第2検索リクエストを発行し、
前記アカウント絞り込み制御部が前記検索装置管理表の記述にしたがって特定した前記検索装置が存在しない場合は、認証を必要としない公開アクセスアカウントがアクセスすることができる前記電子データの範囲を検索条件として指定して、前記第2検索リクエストを発行し、
前記アカウント対応表が前記第2アクセスアカウントの認証情報を記述している場合は、前記第2アクセスアカウントの認証情報を、前記検索装置に対するログイン認証情報として用いた上で、前記第2検索リクエストを発行し、前記第2アクセスアカウントがアクセス権限を有する前記電子データに関する検索結果のみを前記検索装置が抽出した結果を、前記検索装置から検索結果として受け取り、
前記アカウント対応表が前記第2アクセスアカウントの認証情報を記述していない場合は、前記検索装置に前記第2検索リクエストを発行する際に、前記検索装置管理表の記述にしたがって、前記代表アクセスアカウントの認証情報を取得し、前記代表アクセスアカウントの認証情報を、前記検索装置に対するログイン認証情報として用いた上で、前記第2検索リクエストを発行し、
前記検索装置に前記第2検索リクエストを発行する際に、前記第2アクセスアカウントがアクセス権限を有する前記電子データに関する検索結果のみを抽出する抽出処理を実施すべきか否かを前記検索装置に指示し、前記抽出処理を実施しないように前記検索装置へ指示した場合は、各前記検索装置の検索結果を統合し、
前記検索装置が電子データを検索した結果を統合する1以上の他の前記統合検索装置から前記統合の結果を受け取り、各前記統合検索装置からの前記統合の結果をさらに統合する
ことを特徴とする請求項1記載の統合検索装置。
【請求項12】
請求項1記載の統合検索装置と、
電子データを検索する1以上の検索装置と、
前記検索装置に対するアクセスを認証する1以上の認証装置と、
を有し、
前記認証装置は、
前記第2アクセスアカウントが前記検索装置に対して検索リクエストを発行してその検索結果を取得する権限を有するか否かを認証する
ことを特徴とする統合検索システム。
【請求項13】
請求項2記載の統合検索装置と、
電子データを検索する2以上の検索装置と、
前記検索装置に対するアクセスを認証する1以上の認証装置と、
を有し、
少なくとも1以上の前記検索装置は、
他の前記検索装置とは異なるネットワークドメインに属しており、
前記認証装置は、
前記第2アクセスアカウントが前記検索装置に対して検索リクエストを発行してその検索結果を取得する権限を、前記検索装置が属するネットワークドメインの下で有するか否かを認証する
ことを特徴とする統合検索システム。
【請求項14】
請求項5記載の統合検索装置と、
電子データを検索する1以上の検索装置と、
前記電子データを格納したファイルサーバと、
を有し、
前記検索装置は、
前記代表アクセスアカウントのアクセス権限を用いて、前記ファイルサーバが格納している前記電子データにアクセスし、検索のための検索インデックスを作成する
ことを特徴とする統合検索システム。
【請求項15】
請求項6記載の統合検索装置と、
電子データを検索する1以上の検索装置と、
を有し、
前記検索装置は、
前記第2検索リクエストを受け取ると、検索結果のなかから、前記第2アクセスアカウントがアクセス権限を有する前記電子データに関する検索結果のみを抽出し、前記統合検索装置に返信する
ことを特徴とする統合検索システム。
【請求項16】
請求項9記載の統合検索装置と、
電子データを検索する1以上の検索装置と、
を有し、
前記検索装置は、
前記第2アクセスアカウントがアクセス権限を有する前記電子データに関する検索結果のみを抽出する抽出処理を実施すべきか否かの指示を前記統合検索装置から受け取り、
前記抽出処理を実施すべき旨の指示を受け取った場合は、検索結果のなかから、前記第2アクセスアカウントがアクセス権限を有する前記電子データに関する検索結果のみを抽出し、前記統合検索装置に返信する
ことを特徴とする統合検索システム。
【請求項17】
電子データを検索するように要求する第1検索リクエストを受け取るステップと、
前記第1検索リクエストを発行する第1アクセスアカウントと、前記第1アクセスアカウントを有するユーザが前記検索装置にアクセスする際に用いる第2アクセスアカウントとの対応関係を記述したアカウント対応表を読み込むステップと、
前記第1検索リクエストに基づき、電子データを検索する1以上の検索装置に第2検索リクエストを発行し、各前記検索装置の検索結果を統合する統合検索制御ステップと、
前記検索装置に前記第2検索リクエストを発行する際のアクセスアカウントを絞り込むアカウント絞り込み制御ステップと、
を有し、
前記アカウント絞り込み制御ステップは、
前記統合検索制御ステップにおいて前記検索装置に前記第2検索リクエストを発行する際に、前記アカウント対応表の記述にしたがって、前記第1アクセスアカウントに対応する前記第2アクセスアカウントを特定するステップを含み、
前記統合検索制御ステップでは、
前記アカウント絞り込み制御ステップにおいて前記アカウント対応表の記述にしたがって特定した前記第2アクセスアカウントがアクセスすることができる前記電子データの範囲を検索条件として指定して、前記第2検索リクエストを発行する
ことを特徴とする統合検索方法。
【請求項18】
前記統合検索方法は、
前記検索装置が属するネットワークドメインを記述した検索装置管理表を読み込むステップを有し、
前記アカウント対応表は、
前記第2アクセスアカウントが属するネットワークドメインと前記第1アクセスアカウントとの対応関係を記述しており、
前記アカウント絞り込み制御ステップでは、
前記検索装置管理表の記述にしたがって、前記第2アクセスアカウントが属するネットワークドメインに属する前記検索装置を特定し、
前記統合検索制御ステップでは、
前記アカウント絞り込み制御ステップにおいて前記検索装置管理表の記述にしたがって特定した前記検索装置に対して、前記第2検索リクエストを発行する
ことを特徴とする請求項17記載の統合検索方法。
【請求項19】
前記統合検索制御ステップでは、
前記アカウント絞り込み制御ステップにおいて前記アカウント対応表の記述にしたがって特定した前記第2アクセスアカウントが存在しない場合は、
認証を必要としない公開アクセスアカウントがアクセスすることができる前記電子データの範囲を検索条件として指定して、前記第2検索リクエストを発行する
ことを特徴とする請求項17記載の統合検索方法。
【請求項20】
前記統合検索制御ステップでは、
前記アカウント絞り込み制御ステップにおいて前記検索装置管理表の記述にしたがって特定した前記検索装置が存在しない場合は、
認証を必要としない公開アクセスアカウントがアクセスすることができる前記電子データの範囲を検索条件として指定して、前記第2検索リクエストを発行する
ことを特徴とする請求項18記載の統合検索方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate


【公開番号】特開2012−238050(P2012−238050A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2011−104870(P2011−104870)
【出願日】平成23年5月10日(2011.5.10)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】