図面 (/)

技術 情報検索方法,情報検索システムおよび同システム用検索管理装置

出願人 富士通株式会社
発明者 土肥実久三吉郁夫関根剛進藤達也
出願日 1998年8月25日 (21年3ヶ月経過) 出願番号 1998-238418
公開日 1999年6月18日 (20年6ヶ月経過) 公開番号 1999-161683
状態 特許登録済
技術分野 検索装置 計算機・データ通信 マルチプロセッサ
主要キーワード 非同期型通信 スレッドマネージャ サーチサーバ 並列制御 キャッチアップ 各検索要求 リクエストマネージャ アプリケーションスレッド
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1999年6月18日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

細粒度処理を行なうことなく検索性能の向上を実現するとともに、逐次検索エンジン並列化作業を簡易なものとして、短い開発期間で検索性能の向上要求に確実に対応できるようにする。

解決手段

各検索サーバ20A〜20Dの機能を変更することなくそのまま用いて統合することにより検索サーバ20A〜20Dに並列処理を実行させる並列フレームワーク40により、検索サーバ20A〜20Dを検索管理サーバ10に対して並列的に接続するとともに、検索対象データを検索サーバ20A〜20Dに均等もしくは略均等に分散配置しておいてから、並列フレームワーク40により、検索サーバ20A〜20Dからの検索結果を待つことなく、各クライアントからの検索要求を検索サーバ20A〜20Dへ順次放送出力する。

概要

背景

近年、インターネットイントラネットなどのコンピュータネットワーク発展に伴い、電子化された文書の量も飛躍的に増大している。これに伴い、これらの文書の中から必要な情報を取り出すための情報検索システムによるサービス展開されている。

従来の情報検索システムとしては、例えば図8に示すようなものがある。この図8に示す情報検索システム100は、検索管理サーバ101と、複数(図8では4台)の検索サーバ102と、データベース103とから構成されている。ここで、検索管理サーバ101は、複数の検索サーバ102の検索動作を管理するもので、クライアント(図示省略)からの検索要求を受けると、各検索サーバ102に対してデータベース103の検索を指示するものであり、各検索サーバ102は、逐次検索エンジン(図示省略)を有して構成され、検索管理サーバ101からの指示に応じてデータベース103の検索を行ない、検索結果を検索管理サーバ101へ返送するものである。なお、データベース103は、実際にはディスク装置等の記憶装置に保持されている。

このような情報検索システム100では、一つの大きな領域に保持されているデータベース103に対し、複数の検索サーバ102が並列的にアクセスして検索を行なっている。通常、各検索サーバ102を構成するプロセッサのCPUやメモリの動作速度に比べると、データベース103を保持する記憶装置の動作速度の方がはるかに遅い。従って、上述のように一つのデータベース103に対して複数の検索サーバ102から検索を行なうと、各検索サーバ102は記憶装置待ち状態になることが多く、検索効率が低下してしまう。

そこで、従来、例えば図9に示すような情報検索システム200も提案されている。この情報検索システム200も、前述した情報検索システム100と同様、検索管理サーバ201および複数(図9では4台)の検索サーバ202A〜202Dを有している。そして、情報検索システム200では、検索対象のデータベースが、検索サーバ202A〜202Dの数に対応して4つの部分集合に分割され、これらの検索サーバ202A〜202Dのそれぞれにデータベース203A〜203Dとして付属している。

ここで、検索管理サーバ201は、検索サーバ202A〜202Dの検索動作を管理するもので、クライアント(図示省略)からの検索要求を受けると、検索サーバ202A〜202Dに対し、それぞれに付属するデータベース203A〜203Dの検索を指示するものである。また、検索サーバ202A〜202Dは、それぞれ、検索管理サーバ201からの指示に応じて、分割されたデータベース203A〜203Dの検索を独立に行なうものである。なお、データベース203A〜203Dは、実際にはディスク装置等の記憶装置に保持される。

このような構成により、情報検索システム200では、複数の検索サーバ202A〜202Dのそれぞれにより、分割されたデータベース203A〜203Dに対する検索が独立/並列的に行なわれ、記憶装置待ち状態になることが少なくなり、検索効率を向上することができる。

概要

細粒度処理を行なうことなく検索性能の向上を実現するとともに、逐次検索エンジンの並列化作業を簡易なものとして、短い開発期間で検索性能の向上要求に確実に対応できるようにする。

各検索サーバ20A〜20Dの機能を変更することなくそのまま用いて統合することにより検索サーバ20A〜20Dに並列処理を実行させる並列フレームワーク40により、検索サーバ20A〜20Dを検索管理サーバ10に対して並列的に接続するとともに、検索対象データを検索サーバ20A〜20Dに均等もしくは略均等に分散配置しておいてから、並列フレームワーク40により、検索サーバ20A〜20Dからの検索結果を待つことなく、各クライアントからの検索要求を検索サーバ20A〜20Dへ順次放送出力する。

目的

本発明は、このような課題に鑑み創案されたもので、細粒度処理を行なうことなく検索性能の向上を実現するとともに、逐次検索エンジンの並列化作業を簡易なものとして、短い開発期間で検索性能の向上要求に確実に対応できるようにした、情報検索方法,情報検索システムおよび同システム検索管理装置を提供することを目的とする。

効果

実績

技術文献被引用数
0件
牽制数
2件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

クライアントからの検索要求受け付けると、検索管理サーバにより複数の検索サーバの動作を制御し、該検索要求に応じた検索を行なう情報検索方法であって、各検索サーバの機能を変更することなくそのまま用いて統合することにより該複数の検索サーバに並列処理を実行させる並列フレームワークにより、該複数の検索サーバを該検索管理サーバに対して並列的に接続するとともに、検索対象データを、該複数の検索サーバに均等もしくは略均等に分散配置しておいてから、該並列フレームワークにより、該複数の検索サーバからの検索結果を待つことなく、各クライアントからの検索要求を該複数の検索サーバへ順次放送出力することを特徴とする、情報検索方法。

請求項2

該検索管理サーバが、該並列フレームワークの一部を成し、マルチスレッド機構を用いて、各クライアントからの検索要求を該複数の検索サーバへ順次放送出力することを特徴とする、請求項1記載の情報検索方法。

請求項3

該検索管理サーバが、該並列フレームワークの一部を成し、非同期型通信方式を用いて、各クライアントからの検索要求を該複数の検索サーバへ順次放送出力することを特徴とする、請求項1記載の情報検索方法。

請求項4

検索処理を行なう複数の検索サーバと、クライアントからの検索要求を受け付け該複数の検索サーバの検索動作を制御する検索管理サーバとをそなえてなる情報検索システムにおいて、該複数の検索サーバが、各検索サーバの機能を変更することなくそのまま用いて統合することにより該複数の検索サーバに並列処理を実行させる並列フレームワークにより、該検索管理サーバに対して並列的に接続され、検索対象データが、該複数の検索サーバに均等もしくは略均等に分散配置されるとともに、該並列フレームワークが、該複数の検索サーバからの検索結果を待つことなく、各クライアントからの検索要求を該複数の検索サーバへ順次放送出力する検索要求出力機構を有して構成されていることを特徴とする、情報検索システム。

請求項5

該並列フレームワークの該検索要求出力機構が、該検索管理サーバにそなえられるとともに、複数のスレッドからなるマルチスレッド機構により構成され、各スレッドが、各クライアントからの検索要求を割り当てられ、その検索要求を該複数の検索サーバへ順次放送出力するとともに、その検索要求に応じて該複数の検索サーバから返送されてきた検索結果に対する処理を行なうことを特徴とする、請求項4記載の情報検索システム。

請求項6

該並列フレームワークの該検索要求出力機構が、該検索管理サーバにそなえられるとともに、該複数の検索サーバと非同期通信を行なう非同期型通信機構により構成され、該非同期型通信機構が、各クライアントからの検索要求を該複数の検索サーバへ順次かつ非同期に放送出力するとともに、各検索要求に応じて該複数の検索サーバから返送されてきた検索結果を非同期に受信することを特徴とする、請求項4記載の情報検索システム。

請求項7

該検索管理サーバからの検索要求に応じて各検索サーバ内で行なわれた検索の結果を保存する検索結果保存部が、各検索サーバ側にそなえられていることを特徴とする、請求項4〜請求項6のいずれか1項に記載の情報検索システム。

請求項8

該複数の検索サーバからの検索結果に基づいて集計処理を行なった結果を保存する集計結果保存部が、該検索管理サーバ側にそなえられていることを特徴とする、請求項4〜請求項7のいずれか1項に記載の情報検索システム。

請求項9

該検索管理サーバと該複数の検索サーバのうちの少なくとも一つとが同一の処理装置によって構成されていることを特徴とする、請求項4〜請求項8のいずれか1項に記載の情報検索システム。

請求項10

クライアントからの検索要求を受け付けると、複数の検索サーバの動作を制御し、該検索要求に応じた検索動作を該複数の検索サーバに実行させる情報検索システム用検索管理装置であって、検索対象データを均等もしくは略均等に分散配置された該複数の検索サーバが、各検索サーバの機能を変更することなくそのまま用いて統合することにより該複数の検索サーバに並列処理を実行させる並列フレームワークにより、並列的に接続されるとともに、該複数の検索サーバからの検索結果を待つことなく、各クライアントからの検索要求を該複数の検索サーバへ順次放送出力する検索要求出力機構が、該並列フレームワークにそなえられていることを特徴とする、情報検索システム用検索管理装置。

請求項11

該検索要求出力機構が、複数のスレッドからなるマルチスレッド機構により構成され、各スレッドが、各クライアントからの検索要求を割り当てられ、その検索要求を該複数の検索サーバへ順次放送出力するとともに、その検索要求に応じて該複数の検索サーバから返送されてきた検索結果に対する処理を行なうことを特徴とする、請求項10記載の情報検索システム用検索管理装置。

請求項12

該検索要求出力機構が、該複数の検索サーバと非同期に通信を行なう非同期型通信機構により構成され、該非同期型通信機構が、各クライアントからの検索要求を該複数の検索サーバへ順次かつ非同期に放送出力するとともに、各検索要求に応じて該複数の検索サーバから返送されてきた検索結果を非同期に受信することを特徴とする、請求項10記載の情報検索システム用検索管理装置。

請求項13

該複数の検索サーバからの検索結果に基づいて集計処理を行なった結果を保存する集計結果保存部をそなえたことを特徴とする、請求項10〜請求項12のいずれか1項に記載の情報検索システム用検索管理装置。

--

0001

目次
発明の属する技術分野
従来の技術(図8図9
発明が解決しようとする課題(図9
課題を解決するための手段(図1
発明の実施の形態(図2図7
発明の効果

技術分野

0002

本発明は、各種情報を保持するデータベースから必要な情報を検索して取り出すための情報検索方法情報検索システムおよび同システム検索管理装置に関する。

背景技術

0003

近年、インターネットイントラネットなどのコンピュータネットワーク発展に伴い、電子化された文書の量も飛躍的に増大している。これに伴い、これらの文書の中から必要な情報を取り出すための情報検索システムによるサービス展開されている。

0004

従来の情報検索システムとしては、例えば図8に示すようなものがある。この図8に示す情報検索システム100は、検索管理サーバ101と、複数(図8では4台)の検索サーバ102と、データベース103とから構成されている。ここで、検索管理サーバ101は、複数の検索サーバ102の検索動作を管理するもので、クライアント(図示省略)からの検索要求を受けると、各検索サーバ102に対してデータベース103の検索を指示するものであり、各検索サーバ102は、逐次検索エンジン(図示省略)を有して構成され、検索管理サーバ101からの指示に応じてデータベース103の検索を行ない、検索結果を検索管理サーバ101へ返送するものである。なお、データベース103は、実際にはディスク装置等の記憶装置に保持されている。

0005

このような情報検索システム100では、一つの大きな領域に保持されているデータベース103に対し、複数の検索サーバ102が並列的にアクセスして検索を行なっている。通常、各検索サーバ102を構成するプロセッサのCPUやメモリの動作速度に比べると、データベース103を保持する記憶装置の動作速度の方がはるかに遅い。従って、上述のように一つのデータベース103に対して複数の検索サーバ102から検索を行なうと、各検索サーバ102は記憶装置待ち状態になることが多く、検索効率が低下してしまう。

0006

そこで、従来、例えば図9に示すような情報検索システム200も提案されている。この情報検索システム200も、前述した情報検索システム100と同様、検索管理サーバ201および複数(図9では4台)の検索サーバ202A〜202Dを有している。そして、情報検索システム200では、検索対象のデータベースが、検索サーバ202A〜202Dの数に対応して4つの部分集合に分割され、これらの検索サーバ202A〜202Dのそれぞれにデータベース203A〜203Dとして付属している。

0007

ここで、検索管理サーバ201は、検索サーバ202A〜202Dの検索動作を管理するもので、クライアント(図示省略)からの検索要求を受けると、検索サーバ202A〜202Dに対し、それぞれに付属するデータベース203A〜203Dの検索を指示するものである。また、検索サーバ202A〜202Dは、それぞれ、検索管理サーバ201からの指示に応じて、分割されたデータベース203A〜203Dの検索を独立に行なうものである。なお、データベース203A〜203Dは、実際にはディスク装置等の記憶装置に保持される。

0008

このような構成により、情報検索システム200では、複数の検索サーバ202A〜202Dのそれぞれにより、分割されたデータベース203A〜203Dに対する検索が独立/並列的に行なわれ、記憶装置待ち状態になることが少なくなり、検索効率を向上することができる。

発明が解決しようとする課題

0009

ところで、近年、前述のようなネットワークの拡大に伴い情報検索性能の向上要求が飛躍的に増大しているため、このような情報検索性能の向上要求に対応できる情報検索システムを構成することが望まれている。上述した情報検索システム200については、細粒度処理と呼ばれる処理を施すことにより、検索性能を高めることができる。

0010

情報検索システム200のごとく複数の検索サーバ(プロセッサ)202A〜202Dにより並列処理を行なう場合、処理性能の向上を高めるためには、複数の検索サーバ202A〜202Dの負荷バランスを均等にすることが望ましい。つまり、全ての検索サーバ202A〜202Dが常に同量検索処理担当している状態が最も効率のよい状態と言える。しかし、通常、検索処理の量が検索サーバ202A〜202D間で均等に分かれることは極めて少ない。

0011

そこで、従来、検索サーバ202A〜202Dによる検索処理の単位をより細かくする細粒度処理を行なうことで、検索サーバ202A〜202Dの負荷バランスを均等化し、検索性能の向上をはかっている。即ち、クライアントから検索要求を受けた検索管理サーバ201は、検索サーバ202A〜202Dのそれぞれに付属するデータベース203A〜203D内の検索対象データを、所定単位細分割し、所定単位の検索対象データに対する検索処理を終了した検索サーバ202A〜202Dに対し、未処理の検索対象データを順次割り当てていく。これにより、検索サーバ202A〜202Dの負荷バランスが均等化され、検索性能が大幅に向上することになる。

0012

しかしながら、上述のような細粒度処理を行なうと、検索対象データの属する検索サーバ(プロセッサ)とその検索対象データに対する検索処理を行なう検索サーバ(プロセッサ)とが異なっている場合が多々あり、図9二点鎖線の矢印で示すように、どうしても検索サーバ202A〜202Dの相互間で通信を行なう必要が生じ、オーバヘッドが大きくなってしまう。

0013

また、細粒度処理を行なうためには、検索管理サーバ201は、情報検索システム200のベースとなる、検索サーバ202A〜202Dを成す各逐次検索エンジン本体が内部でどのような処理を行なっているかを常に把握しなければならない。このため、逐次検索エンジンを、その構成に手を加えることなくそのまま使用することはできず、逐次検索エンジンを並列化する際に各逐次検索エンジンの内部構成に対し変更を施す必要があった。

0014

従って、情報検索システムを構成するに際し、逐次検索エンジン本体に関する詳細な知識が必要で、逐次検索エンジンの並列化処理および細粒度処理のために必要となる工数莫大なものになり、開発に多大な時間がかかっていた。また、そのことによって、情報検索システムのベースとなる逐次検索エンジンとして新たなものが開発されても、その新たな逐次検索エンジンを直ちに情報検索システムに取り入れることができず、逐次検索エンジンの高性能化に対するキャッチアップ追従)もままならない状況になっていた。

0015

本発明は、このような課題に鑑み創案されたもので、細粒度処理を行なうことなく検索性能の向上を実現するとともに、逐次検索エンジンの並列化作業を簡易なものとして、短い開発期間で検索性能の向上要求に確実に対応できるようにした、情報検索方法,情報検索システムおよび同システム用検索管理装置を提供することを目的とする。

課題を解決するための手段

0016

上記目的を達成するために、本発明の情報検索方法(請求項1)は、クライアントからの検索要求を受け付けると、検索管理サーバにより複数の検索サーバの動作を制御し、検索要求に応じた検索を行なうものであって、各検索サーバの機能を変更することなくそのまま用いて統合することにより複数の検索サーバに並列処理を実行させる並列フレームワークにより、複数の検索サーバを検索管理サーバに対して並列的に接続するとともに、検索対象データを、複数の検索サーバに均等もしくは略均等に分散配置しておいてから、並列フレームワークにより、複数の検索サーバからの検索結果を待つことなく、各クライアントからの検索要求を複数の検索サーバへ順次放送出力することを特徴としている。

0017

このとき、検索管理サーバが並列フレームワークの一部を成し、この検索管理サーバが、マルチスレッド機構を用いて、各クライアントからの検索要求を複数の検索サーバへ順次放送出力するように構成してもよいし(請求項2)、非同期型通信方式を用いて、各クライアントからの検索要求を複数の検索サーバへ順次放送出力するように構成してもよい(請求項3)。

0018

また、本発明の情報検索システム(請求項4)は、検索処理を行なう複数の検索サーバと、クライアントからの検索要求を受け付け複数の検索サーバの検索動作を制御する検索管理サーバとをそなえてなるものにおいて、複数の検索サーバを、各検索サーバの機能を変更することなくそのまま用いて統合することにより複数の検索サーバに並列処理を実行させる並列フレームワークにより、検索管理サーバに対して並列的に接続し、検索対象データを複数の検索サーバに均等もしくは略均等に分散配置するとともに、並列フレームワークが、複数の検索サーバからの検索結果を待つことなく、各クライアントからの検索要求を複数の検索サーバへ順次放送出力する検索要求出力機構を有して構成されていることを特徴としている。

0019

さらに、本発明の情報検索システム用検索管理装置(検索管理サーバ;請求項10)は、クライアントからの検索要求を受け付けると、複数の検索サーバの動作を制御し、検索要求に応じた検索動作を複数の検索サーバに実行させるものであって、検索対象データを均等もしくは略均等に分散配置された複数の検索サーバを、各検索サーバの機能を変更することなくそのまま用いて統合することにより複数の検索サーバに並列処理を実行させる並列フレームワークにより、並列的に接続するとともに、複数の検索サーバからの検索結果を待つことなく各クライアントからの検索要求を複数の検索サーバへ順次放送出力する検索要求出力機構を並列フレームワークにそなえたことを特徴としている。

0020

なお、上述した情報検索システムおよび検索管理装置において、検索要求出力機構を、複数のスレッドからなるマルチスレッド機構により構成し、各スレッドが、各クライアントからの検索要求を割り当てられ、その検索要求を複数の検索サーバへ順次放送出力するとともに、その検索要求に応じて複数の検索サーバから返送されてきた検索結果に対する処理を行なうように構成してもよい(請求項5,11)。

0021

また、上述した情報検索システムおよび検索管理装置において、検索要求出力機構を、複数の検索サーバと非同期に通信を行なう非同期型通信機構により構成し、この非同期型通信機構が、各クライアントからの検索要求を複数の検索サーバへ順次かつ非同期に放送出力するとともに、各検索要求に応じて複数の検索サーバから返送されてきた検索結果を非同期に受信するように構成してもよい(請求項6,12)。

0022

さらに、上述した情報検索システムにおいて、検索管理サーバからの検索要求に応じて各検索サーバ内で行なわれた検索の結果を保存する検索結果保存部を、各検索サーバ側にそなえてもよいし(請求項7)、複数の検索サーバからの検索結果に基づいて集計処理を行なった結果を保存する集計結果保存部を、検索管理サーバ側にそなえてもよい(請求項8)。同様の集計結果保存部は、上述した検索管理装置にそなえてもよい(請求項13)。

0023

また、上述した情報検索システムにおいて、検索管理サーバと複数の検索サーバのうちの少なくとも一つとを同一の処理装置によって構成してもよい(請求項9)。上述した情報検索方法(請求項1〜3),情報検索システム(請求項4〜6,9)および検索管理装置(請求項10〜12)では、並列フレームワークを用いることにより、各検索サーバ(逐次検索エンジン)に手を加えることなく、複数の検索サーバを並列化することができるほか、新たな検索サーバも、手を加えることなく容易にシステム内に取り入れることが可能になる。さらに、検索対象データを各検索サーバに均等もしくは略均等に分散配置するデータの並列化に加え、検索管理サーバから各検索サーバへ検索要求を次々と放送出力する制御の並列化を導入することにより、各検索サーバの動作効率を高めることができる。

0024

また、上述した情報検索システムにおいては、検索管理サーバからの検索要求に応じて各検索サーバ内で行なわれた検索の結果が各検索サーバ側の検索結果保存部に保存され(請求項7)、検索結果に基づいて集計処理を行なった結果が検索管理サーバ側(検索管理装置)の集計結果保存部に保存されるので(請求項8,13)、検索管理サーバと各検索サーバとの間で無駄な通信を行なう必要がなく、検索管理サーバ側(検索管理装置)で膨大な量の検索結果を保存・管理する必要もなくなる。

発明を実施するための最良の形態

0025

以下、図面を参照して本発明の実施の形態を説明する。図1図3は本発明の一実施形態としての情報検索システムの構成を示すもので、図1はその全体構成を示すブロック図、図2はその詳細な構成を示すブロック図、図3はその情報検索システムにおけるマスタ(検索管理サーバ,情報検索システム用検索管理装置)の詳細な構成を示すブロック図である。

0026

図1に示すように、本実施形態の情報検索システム1は、マスタ10と、複数(本実施形態では4台)のスレーブ20A〜20Dと、ネットワーク30とから構成されている。ここで、マスタ10は、例えばCGI(Common Gateway Interface)等のクライアント50(図2参照)からの検索要求を受け付けスレーブ20A〜20Dの検索動作を制御する検索管理サーバ(情報検索システム用検索管理装置)として機能するもので、マスタサーバ(master server),サーチマネージャ(search manager)とも呼ばれる。その詳細な構成については、図2および図3を参照しながら後述する。

0027

また、マスタ10は、スレーブ20A〜20Dからの検索結果に基づいてソート等の集計処理を行なう機能を有しており、その集計結果(保存集合実体)を保存する外部記憶装置(集計結果保存部)11がマスタ10に付設されており、集計結果についてはマスタ10側で管理されるようになっている。

0028

スレーブ(検索サーバ)20A〜20Dは、それぞれ、ベースとなる逐次検索エンジン20a〜20d(図2参照)を内蔵しており、マスタ10からの指示(検索要求)に応じて、データベース21A〜21Dに対する実際の検索処理を独立に担当し、検索結果をマスタ10へ返送するものである。これらのスレーブ20A〜20Dはサーチサーバとも呼ばれる。

0029

逐次検索エンジン20a〜20dには、マスタ10からの検索要求に応じて各スレーブ20A〜20Dで行なわれた検索の結果を保存する検索結果保存部として機能するメモリ22がそなえられており、検索結果保存集合の実体は各スレーブ20A〜20D側で管理されるようになっている。

0030

また、本実施形態の情報検索システム1では、検索対象データ(文書群)が、スレーブ20A〜20Dの数に対応して4つの部分集合に均等もしくは略均等に分割され、これらのスレーブ20A〜20Dのそれぞれにデータベース21A〜21Dとして分散配置されている。なお、データベース21A〜21Dは、実際にはディスク装置等の記憶装置として構成される。

0031

上述したマスタ10とスレーブ20A〜20Dとの間にはネットワーク30が介設され、マスタ10とスレーブ20A〜20Dとが相互に通信可能に構成されている。なお、図2ではネットワーク30の図示は省略されている。そして、本実施形態の情報検索システム1では、複数のスレーブ20A〜20D(逐次検索エンジン20a〜20d)が、並列フレームワーク40により、マスタ10に対して並列的に接続されている。この並列フレームワーク40は、各エンジン20a〜20dの機能を変更することなくそのまま用いて統合するためのソフトウェアもしくは機構で、概念的には、図1に示すように、マスタ10,ネットワーク30およびスレーブ20A〜20Dの一部を含んで構成されるものである。

0032

ここで、並列フレームワーク40について、より詳細に説明する。クライアントサーバモデルに基づく多くのサーバアプリケーションでは、多量に発生しているクライアントからの個々の処理要求に対して、サーバがそれぞれの処理結果をクライアントへ返すという動作を行なう。一方で、多量のデータを扱うアプリケーションにおいては、複数のプロセッサで対象データを分割して分担し処理の応答速度を得るという手法や、逆に複数のプロセッサで対象データを共有し処理のスループットを得るという手法が一般的に存在する。

0033

並列フレームワークとは、後述するような対クライアント部,対処理エンジン部および並列制御部を組み合わせることにより、本来、逐次動作用に作成されている処理エンジン(逐次検索エンジン20a〜20d)に大きな修正を加えることなく、全体として並列処理を処理エンジンに実行させるように作成されたモジュールのことである。

0034

対クライアント部は、クライアント(図2の符号50参照)からの処理要求を受け付け、その処理結果をクライアントへ返すものであり、対処理エンジン部は、処理要求を処理エンジン(逐次検索エンジン20a〜20d)で行なわせるものである。

0035

並列フレームワークでは、サーバアプリケーションの基本動作である、クライアントからの処理要求を受け付け、処理エンジンで処理を行なって、クライアントに処理結果を返すという動作が、対クライアント部と対処理エンジン部との2つに分解して行なわれる。

0036

そして、これらの対クライアント部と対処理エンジン部との間にそなえられた並列制御部が、個々の処理要求を処理単位毎に複数のプロセッサ〔スレーブ(検索サーバ)20A〜20D〕で動作する複数の処理エンジンに分配し、処理結果を収集している。本発明の実施形態では、データ並列とコントロール並列との2種類の並列性を抽出することによって、高い性能を達成する並列フレームワーク40を実現している。

0037

本実施形態における並列フレームワーク40は、クライアント50からの処理要求の受付と分配とを担当するマスタ10と、逐次検索エンジン20a〜20dに処理を行なわせるスレーブ(検索サーバ)20A〜20Dとから構成されており、マスタ10が、前述した対クライアント部および並列制御部としての機能を有し、各スレーブ20A〜20Dが、対処理エンジン部としての機能を有している。

0038

上述した並列フレームワークの実現例の一つについて簡単に説明する。ここでは、クライアント・サーバ間通信コネクション型通信路を用いるとともに、クライアント毎に対応するスレッドをマスタ10に生成し、各スレッドが各クライアントに対応するという方法によって実現される、並列フレームワーク40の一例について説明する。

0039

対クライアント部は、クライアントからのコネクション接続要求によってクライアント・サーバ間コネクション確立すると同時に、それに対応するスレッド(図3の符号14A〜14C参照)を生成する。各スレッドは、クライアントからの処理要求をコネクションを通じて受け取り、その処理要求を処理単位として処理要求キュー図3の符号16参照)に書き込み、並列制御部に新規要求到着したことを通知する。処理要求キューに書き込まれている要求に対応する処理を終了すると、各スレッドは、その終了通知を並列制御部から受け、クライアントに結果を通知した後、対応する要求を処理要求キューから削除する。

0040

並列制御部は、新規要求を、それを処理するのに必要なスレーブ(図2の符号20A〜20D参照)に対して転送するが、その際、要求単位毎にタグを付加する。そして、並列制御部は、各スレーブが検索処理を行なった結果をマスタに転送し、その結果を必要とするスレッドを前記タグに基づいて判断し、その結果を対クライアント部における対応するスレッドに通知する。

0041

スレーブにおける処理エンジン部(逐次検索エンジン;図2の符号20a〜20d参照)は、マスタから順次転送されてくる処理要求に対し、1つずつ処理を行ない、処理結果をタグ付きで並列制御部に返却する。なお、処理エンジン部は、逐次的に動作していても構わない。

0042

さて、本実施形態におけるマスタ10は、スレーブ20A〜20Dからの検索結果を待つことなく、各クライアントからの検索要求をスレーブ20A〜20Dへ順次放送出力する検索要求出力機構(前述した並列制御部に対応)を有して構成されている。特に、本実施形態のマスタ10は、図2および図3に示すように、複数のスレッドからなるマルチスレッド機構として構成されており、上述した検索要求出力機構はそのマルチスレッド機構により構成されている。即ち、マスタ10は、スレッドマネージャ12,コネクションマネージャ13,アプリケーションサーバ14(14A〜14C),リクエストマネージャ15およびキュー16から構成されている。

0043

ここで、スレッドマネージャ12は、マルチスレッド機構(スレッド13〜15)の全体を管理するもので、特に、後述するアプリケーションサーバ14(14A〜14C)の動作状態を制御するものである。なお、図3において、スレッドマネージャ12の図示は省略されている。コネクションマネージャ(メインスレッド;前述した対クライアント部に対応)13は、クライアント50(図3では図示省略)からの検索要求を受け付けるとともに、検索結果や集計結果を検索依頼のあったクライアント50へ返送するものである。

0044

アプリケーションサーバ(アプリケーションスレッド;前述した対クライアント部に対応)14は、実際には図3に示すように複数のスレッド14A〜14Cからなるもので、コネクションマネージャ13により受け付けられた検索要求毎に、検索処理を割り当てられるものである。検索処理を割り当てられた各スレッド14(14A〜14C)は、前述したスレッドマネージャ12により起動され、検索要求をスレーブ20A〜20Dへ出力した後には、これらのスレーブ20A〜20Dから、検索要求に対応する検索結果が返送されてくるまで、スレッドマネージャ12によりその動作を停止されるようになっている。また、各スレッド14(14A〜14C)は、検索結果に基づいてソート等の集計処理を行なう機能を果たす。

0045

キュー16は、各スレッド14(14A〜14C)から出力された検索要求をその出力順に一時的に保持するものである。なお、図2において、キュー16の図示は省略されている。リクエストマネージャ(マスタスレッド;前述した並列制御部、即ち検索要求出力機構に対応)15は、このキュー16に保持されている検索要求を順次読み出してスレーブ20A〜20Dへ放送出力(ブロードキャスト)するとともに、スレーブ20A〜20Dから返送されてきた検索結果を受信しその検索結果を取り扱う所定のスレッド14(14A〜14C)に受け渡す機能も果たしている。

0046

つまり、本実施形態の各スレッド14(14A〜14C)は、各クライアントからの検索要求を順次割り当てられ、その検索要求を、マスタスレッド15を介して複数のスレーブ20A〜20Dへ順次放送出力するとともに、その検索要求に応じてこれらのスレーブ20A〜20Dから返送されてきた検索結果に対する処理を行なうように構成されている。

0047

次に、上述のごとく構成された本実施形態の情報検索システム1の動作について、図4図7を適宜参照しながら説明する。上述したように、本実施形態の逐次検索エンジン20a〜20dは、並列フレームワーク40により並列化される。この並列フレームワーク40を用いることにより、検索要求の受付と分配とを担当するマスタ10と、逐次検索エンジン20a〜20dの本体をそれぞれ内蔵したスレーブ20A〜20Dとがネットワーク30を介して接続され、逐次検索エンジン20a〜20dの本体に対し、何ら手(変更)を加えることなく、これらのエンジン20a〜20dを並列化することができる。また、新たな逐次検索エンジン(検索サーバ)も、手を加えることなく容易に情報検索システム1内に取り入れることも可能になる。

0048

そして、本実施形態では、図4に示すように、マスタ10はクライアント50からの検索要求を受け付け、その要求をスレーブ20(20A〜20D)に分配(放送出力)し、これらのスレーブ20(20A〜20D)からの検索結果を収集・集計してクライアント50に返却する。この部分は並列フレームワーク40内にのみ存在し、逐次検索エンジン20a〜20dの本体に手を加える必要はない。なお、図4では、逐次検索エンジンをそれぞれ内蔵した複数のスレーブを、いずれも同一の符号20を付して示し、その台数を限定しない状態で情報検索システム1の全体構成を概略的に示している。以下、スレーブに符号20を付して説明する場合がある。

0049

実際の検索を実行するスレーブ20A〜20Dは、ベースとなる逐次検索エンジン20a〜20dを内蔵しており、マスタ10からの検索要求に従ってそれぞれ逐次検索エンジン20a〜20dを呼び出して検索を実行する。ここで、逐次検索エンジン20a〜20dの本体とマスタ10との通信を行ない検索要求に従ってエンジン20a〜20dをそれぞれ呼び出す部分は、エンジン20a〜20dから明確に分離されており、並列フレームワーク40側に含まれている。

0050

また、本実施形態では、各スレーブ20A〜20Dで得られた検索結果の保存集合の実体は各スレーブ20A〜20D側のメモリ22で管理される。これにより、マスタ10とスレーブ20A〜20Dとの間で無駄な通信を行なう必要を無くすことができる。一方、一旦、マスタ10でソートなどの集計処理を行なった保存集合については、その実体をマスタ10側の外部記憶装置11で保存・管理されるので、ソートのような重い処理を何度も行なう必要がなくなり、システム性能を向上させることができる。

0051

さらに、本実施形態では、検索対象データを各スレーブ20(20A〜20D)に均等もしくは略均等に分散配置するデータの並列化に加え、マスタ10から各スレーブ20へ検索要求を次々と送り込むという制御の並列化を導入することにより、各スレーブ20の動作効率を高めることができる。つまり、データ並列とコントロール並列との2種類の並列性を抽出することによって、高い性能を達成している。

0052

一般に、情報検索を行なう場合、検索実行にかかる時間の大半は、検索に必要なデータベースに対してアクセスし検索処理を行なうために費やされる。この時間は、検索するデータベースの大きさに依存して時間が増大する性質をもつものである。しかしながら、これらの文書群(検索対象データ)それぞれの間には依存関係がなく、文書群を複数に分割し、それぞれの部分文書群を独立に検索し、それらの結果を集計することで全体の検索結果とすることができる。この性質を利用し、本実施形態では、検索対象データを単純に等量もしくは略等量に分割し、それぞれのデータの検索を担当する逐次検索エンジン20a〜20dを設けることによって、データ並列性を抽出している。

0053

一方で、図5(a)および図6に示すごとくマスタ10から検索要求を出力してからその検索要求に応じた検索結果が全てのスレーブ20(20A〜20D)から返送されてくるのを待っていたのでは、早く検索処理を終えたスレーブ20では次の検索要求を待つことになる。従って、単にデータ並列化を行なっても、検索を実際に担当するスレーブ20の稼働率は、あまり高くならない。

0054

そこで、本実施形態では、データ並列に加えて、マスタ10側で各検索要求間のコントロール並列性を抽出し、図5(b)および図7に示すように、マスタ10からスレーブ20(20A〜20D)へ検索要求を次々と送り込むことによって、高スループットを達成している。

0055

より具体的に説明すると、クライアント50からの検索要求が、マスタ10のメインスレッド13で受け付けられると、スレッドマネージャ12により、適当なアプリケーションスレッド14が選択されて起動され検索要求を割り当てられる。検索処理を割り当てられたスレッド14(14A〜14C)は、スレーブ20A〜20Dに対する検索要求を出力する。

0056

その検索要求は、出力順にキュー16に一時的に保持されてから、マスタスレッド15により、順次読み出されてスレーブ20A〜20Dへネットワーク30を介して放送出力(ブロードキャスト)される。スレッド20A〜20D側では、マスタ10からの検索要求を受信順にキュー(図示省略)に一時的に保持し、そのキューに保持された検索要求に応じた検索処理が、各逐次検索エンジン20a〜20dによって順次実行され、その検索結果はネットワーク30を介してマスタ10へ返送される。なお、検索結果をマスタ10側で直ちに必要としない場合、その検索結果は、各エンジン20a〜20d内のメモリ22に保存される。

0057

そして、スレーブ20A〜20Dから返送されてきた検索結果は、マスタスレッド15で受信され、その検索結果を取り扱う所定のスレッド14(14A〜14C)に受け渡される。検索要求を出力したスレッド14(14A〜14C)は、全てのスレーブ20A〜20Dから検索結果が返送されてくるまで、スレッドマネージャ12により停止状態となっているが、全てのスレーブ20A〜20Dからの検索結果を受け取ると、その検索結果に基づいてソート等の集計処理を行ない、検索結果や集計結果をクライアント50へ返送する。

0058

なお、図7では、検索要求を並列的に取り扱う制御系(アプリケーションスレッド14)が2つである場合について図示されているが、本発明はこれに限定されるものではなく、図3に示すように3つであってもよいし、それ以上であってもよい。

0059

また、マスタ10から各スレーブ20へ送信される検索要求には、その検索要求を取り扱うスレッド14を特定するためのIDが付与されるとともに、各スレーブ20からマスタ10へ返送される検索結果にも、どの検索要求に応じたものであるかを特定すべく前記IDが付与されており、マスタスレッド15は、そのIDを参照し、検索結果を所定のスレッド14(14A〜14C)に受け渡している。

0060

このように、本発明の一実施形態としての情報検索システム1によれば、並列フレームワーク40を用ることにより、各スレーブ20(20A〜20D)に内蔵される逐次検索エンジン20a〜20dの並列化作業を極めて簡易化できるので、短い開発期間で検索性能の向上要求に確実に対応することができる。

0061

また、並列化作業の簡易化に伴い並列化に要する作業量が大幅に減少し、少ない開発費で逐次検索エンジン20a〜20d(スレーブ20)の並列化を実現できるので、多大な費用投入して開発された高性能の逐次検索エンジン20a〜20dを適宜システム1内に取り入れることができるほか、分散メモリ型並列計算機においても容易に逐次検索エンジン20a〜20d(スレーブ20)の並列化が可能になる。従って、高いスケーラビリティが実現され、必要な検索能力を確実に得ることができる。

0062

さらに、検索対象データを各スレーブ20(20A〜20D)に均等もしくは略均等に分散配置するデータの並列化に加え、マスタ10から各スレーブ20へ検索要求を次々と放送出力する制御の並列化を導入することにより、各スレーブ20の動作効率を高めることができるので、より高いスループット性能を獲得でき、細粒度処理を行なうことなく検索性能が大幅に向上する。

0063

またさらに、並列フレームワーク40を採用することにより、検索結果や集計結果を各スレーブ20やマスタ10で独立性の高い状態で保存できるので、マスタ10と各スレーブ20との間で無駄な通信を行なう必要がなく、マスタ10側で膨大な量の検索結果を保存・管理する必要もなくなる。特に、ソート処理等による集計結果をマスタ10側で保存することにより、ソート処理のような重い処理を何度も行なう必要がなくなり、情報検索システム1の性能がより向上することになる。

0064

なお、上述した実施形態では、マスタ10における検索要求出力機構を、マルチスレッド機構を用いて構成した場合について説明したが、本発明は、これに限定されるものではなく、複数のスレーブ20と非同期に通信を行なう非同期型通信機構により構成し、この非同期型通信機構が、各クライアントからの検索要求を複数のスレーブ20へ順次かつ非同期に放送出力するとともに、各検索要求に応じて複数のスレーブ20から返送されてきた検索結果を非同期に受信するように構成してもよい。この場合も、上述した実施形態と同様の作用効果を得ることができる。

0065

このとき、マスタ10から各スレーブ20へ送信される検索要求には、その検索要求の出所を特定するためのIDが付与されるとともに、各スレーブ20からマスタ10へ返送される検索結果にも、どの検索要求に応じたものであるかを特定すべく前記IDが付与されており、マスタ10側では、そのIDを参照し、所定の検索要求に応じた検索結果が全て返送されたか否かを判断している。

0066

また、上述した情報検索システム1において、マスタ10と複数のスレーブ20のうちの少なくとも一つとを同一の処理装置(プロセッサエレメント)によって構成することもできる。そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。

発明の効果

0067

以上詳述したように、本発明の情報検索方法(請求項1〜3),情報検索システム(請求項4〜9)および同システム用検索管理装置(請求項10〜13)によれば、以下のような効果ないし利点が得られる。
(1)並列フレームワークを用ることにより、各検索サーバに内蔵される逐次検索エンジンの並列化作業を極めて簡易化できるので、短い開発期間で検索性能の向上要求に確実に対応することができる。

0068

(2)並列化作業の簡易化に伴い並列化に要する作業量が大幅に減少し、少ない開発費で検索サーバの並列化を実現できるので、多大な費用を投入して開発されている逐次検索エンジンを適宜システム内に取り入れることができるほか分散メモリ型並列計算機においても容易に検索サーバの並列化が可能になり、高いスケーラビリティが実現され、必要な検索能力を確実に得ることができる。

0069

(3)検索対象データを各検索サーバに均等もしくは略均等に分散配置するデータの並列化に加え、検索管理サーバから各検索サーバへ検索要求を次々と放送出力する制御の並列化を導入することにより、各検索サーバの動作効率を高めることができるので、より高いスループット性能を獲得でき、細粒度処理を行なうことなく検索性能が大幅に向上する。

0070

(4)並列フレームワークを採用することにより、検索結果や集計結果を各検索サーバや検索管理サーバで独立性の高い状態で保存できるので、検索管理サーバと各検索サーバとの間で無駄な通信を行なう必要がなく、検索管理サーバ側で膨大な量の検索結果を保存・管理する必要もなくなる。特に、ソート処理等による集計結果を検索管理サーバ側で保存することにより、ソート処理のような重い処理を何度も行なう必要がなくなり、情報検索システムの性能がより向上することになる。

図面の簡単な説明

0071

図1本発明の一実施形態としての情報検索システムの全体構成を示すブロック図である。
図2本実施形態の情報検索システムの詳細な構成を示すブロック図である。
図3本実施形態の情報検索システムにおけるマスタ(検索管理サーバ,情報検索システム用検索管理装置)の詳細な構成を示すブロック図である。
図4本実施形態の情報検索システムにおけるマスタの動作を説明するためのブロック図である。
図5(a),(b)はいずれも本実施形態の情報検索システムの動作を説明するための図である。
図6本実施形態の情報検索システムの動作を説明するための図である。
図7本実施形態の情報検索システムの動作を説明するための図である。
図8従来の情報検索システムの全体構成を示すブロック図である。
図9他の従来の情報検索システムの全体構成を示すブロック図である。

--

0072

1情報検索システム
10マスタ(検索管理サーバ,情報検索システム用検索管理装置,マスタサーバ,サーチマネージャ)
11外部記憶装置(集計結果保存部)
12スレッドマネージャ
13コネクションマネージャ(メインスレッド)
14,14A,14B,14Cアプリケーションサーバ(アプリケーションスレッド)
15リクエストマネージャ(マスタスレッド)
16キュー
20,20A〜20Dスレーブ(検索サーバ)
20a〜20d 逐次検索エンジン
21A〜21Dデータベース(記憶装置)
22メモリ(検索結果保存部)
30ネットワーク
40並列フレームワーク
50クライアント(CGI)

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ