Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
INFORMATION SEARCH SYSTEM, INFORMATION SEARCH METHOD, AND PROGRAM
Document Type and Number:
WIPO Patent Application WO/2009/031474
Kind Code:
A1
Abstract:
An information search system includes a management table which contains a memory region name correlated with memory region information indicating the memory region. When it is indicated that source information to be searched and specified by received source information search destination information exists in a memory, the information search system searches the management table for the name of the memory region matched with the source information name of the received source information to be searched. When the name of the memory region matched with the source information name of the received source information to be searched is found, information matched with the received search object condition information is acquired from the memory region information correlated with the name of the searched memory region.

Inventors:
OE NAOYUKI (JP)
SHIMA TAKAHIRO (JP)
MAE KAZUKI (JP)
SAITO HIROSHI (JP)
MINAMII YUSUKE (JP)
SONETA RYO (JP)
Application Number:
PCT/JP2008/065577
Publication Date:
March 12, 2009
Filing Date:
August 29, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUMMING HEADS INC (JP)
OE NAOYUKI (JP)
SHIMA TAKAHIRO (JP)
MAE KAZUKI (JP)
SAITO HIROSHI (JP)
MINAMII YUSUKE (JP)
SONETA RYO (JP)
International Classes:
G06F17/30; G06F12/00
Foreign References:
JPH10501086A1998-01-27
JPH1021123A1998-01-23
JP2005352779A2005-12-22
JP2007219577A2007-08-30
JP2006277031A2006-10-12
JP2007179492A2007-07-12
Other References:
See also references of EP 2187312A4
Attorney, Agent or Firm:
SUZUYE, Takehiko et al. (1-12-9 Toranomo, Minato-ku Tokyo, JP)
Download PDF:
Claims:
 検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名を受け付ける受付手段と、
 メモリ領域の名前と、メモリ領域を示すメモリ領域情報とが関連付けて記憶される管理テーブルと、
 前記受け付けた源情報検索先情報によって示された検索対象となる源情報がメモリに存在することを示している場合に、前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前を前記管理テーブルから検索する検索手段と、
 前記検索手段によって前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前が検索された場合に、前記検索されたメモリ領域の名前に関連付けられたメモリ領域情報によって示されるメモリ領域から、前記受け付けた検索対象条件情報に合致する情報を取得する取得手段と
を具備する情報検索システム。
 前記受付手段は、さらに、検索された情報をファイル或いはメモリのどちらに格納するかを示す格納先情報、書き込みの対象となる検索された情報の検索結果情報名を受け付け、
 前記受け付けられた格納先情報がメモリに格納することを示している場合に、前記取得手段によって取得した情報を、メモリに書き込み、前記受け付けた書き込みの対象となる検索された情報の検索結果情報名を前記メモリに書き込まれた情報が書き込まれるメモリ領域を示すメモリ領域情報とともに、前記管理テーブルに格納する格納手段をさらに具備することを特徴とする請求項1記載の情報検索システム。
 前記メモリ領域情報は、前記取得した情報が格納されたメモリの先頭アドレス、最大サイズ及び使用サイズを含む請求項2記載の情報検索システム。
 前記検索対象条件情報、前記源情報検索先情報及び前記源情報名は、命令プログラムから出力され、前記検索手段及び取得手段は、前記命令プログラムとは別の検索プログラムである請求項1記載の情報検索システム。
 前記命令プログラムは第1の端末に格納され、前記検索プログラムは第2の端末に格納されている請求項4記載の情報検索システム。
 前記検索手段、前記取得手段及び前記格納手段がそれぞれ複数のスレッドに割り当てられ、
 前記複数のスレッドの処理を行なうCPUに対する各スレッドの処理負荷を測定する測定手段と、
 前記測定手段によって測定された各スレッドの処理負荷に基づいて、前記検索手段、前記取得手段及び前記格納手段に割り当てられたスレッドの数を変更する変更手段と
をさらに具備する請求項2記載の情報検索システム。
 前記受付手段は、さらに、検索された情報をファイル或いはメモリのどちらに格納するかを示す格納先情報、書き込みの対象となる検索された情報の検索結果情報名を受け付け、
 前記受け付けられた格納先情報がメモリに格納することを示し、かつ前記受け付けた検索結果情報名に対応するメモリ領域情報が前記管理テーブル上に存在する場合には、前記取得手段によって取得した情報を、前記検索結果情報名に対応するメモリ領域情報によって示されるメモリ領域に書き込む格納手段をさらに具備することを特徴とする請求項1記載の情報検索システム。
 メモリ領域の名前と、メモリ領域を示すメモリ領域情報とが関連付けて記憶される管理テーブルを具備する情報検索システムにおける情報検索方法において、
 検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名を受け付け、
 前記受け付けた源情報検索先情報によって示された検索対象となる源情報がメモリに存在することを示している場合に、前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前を前記管理テーブルから検索し、
 前記検索手段によって前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前が検索された場合に、前記検索されたメモリ領域の名前に関連付けられたメモリ領域情報によって示されるメモリ領域から、前記受け付けた検索対象条件情報に合致する情報を取得する情報検索方法。
 メモリ領域の名前と、メモリ領域を示すメモリ領域情報とが関連付けて記憶される管理テーブルを具備する情報検索システムにおいて使用されるプログラムにおいて、
 前記プログラムは、前記情報検索システムに、
 検索対象となる条件を示す検索対象条件情報、検索対象となる源情報がファイル或いはメモリのいずれかに存在するかを示す源情報検索先情報、検索の対象となる源情報の源情報名を受け付けさせ、
 前記受け付けた源情報検索先情報によって示された検索対象となる源情報がメモリに存在することを示している場合に、前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前を前記管理テーブルから検索させ、
 前記検索手段によって前記受け付けた検索の対象となる源情報の源情報名と一致するメモリ領域の名前が検索された場合に、前記検索されたメモリ領域の名前に関連付けられたメモリ領域情報によって示されるメモリ領域から、前記受け付けた検索対象条件情報に合致する情報を取得させるプログラム。
Description:
情報検索システム、情報検索方 及びプログラム

 本発明は、ユーザの目的とする情報を迅 に検索する情報検索システムに関するもの ある。

 インターネットの社会への浸透とともに 常生活、社会活動において人々が扱う情報 は莫大なものとなった。かつ毎日激増して るのが現状である。通信網の普及とともに 界中の情報を一覧できる利便性は向上した Webサービス、EDI(electronic data interchange),EC( 子商取引:electronic commerce)などが日常化して る。

 さらに、高速光通信インターネット網と 上デジタル放送、衛星通信網、GPS(global posi tioning system)のインフラの整備と伝送品質の 上によって、世界中で場所を問わずにネッ ワークの利用が可能になった。人類社会は これらの情報網の普及と安価な機器を使用 て高付加価値の情報を何処にいても利用で るという恩恵を授かった。

 しかし、人々はこの膨大な情報から必要 目的とする情報を迅速かつ的確に検索する とが困難な面もある。余りにも情報量が多 ぎてかつ、各所に遍在しているため検索方 にも高度な技術が必要になって来ている。

 企業、法人、個人が求めている情報は多 にわたっている。企業情報、学術情報、一 情報も含めて専門に特化した情報を瞬時に 供できるようにする必要がある。

 遺伝子配列情報データベースからの検索 文献データベースからの全文検索などでは ラバイト級の情報を扱う必要がある。

 また近年、企業においては適切にコンピ ータが使用されているかを把握するために 日常的にコンピュータの操作履歴を取得蓄 する場合がある。このような操作履歴は日 蓄積されるため情報(データ)量はやはりテ バイト級に至る場合がある。

 このような情報を活用するためには、大 の情報から迅速に目的とする情報を検索す 必要があるが、テラバイト級の情報の場合 汎用的な市販のリレーショナルデータベー システムで扱うことは難しい。

 市販のデータベースシステムで扱うこと 難しい情報の場合、XML(extensible markup languag e)やCSV形式(comma separated values:情報を項目ご にカンマで区切って羅列するファイル形式) あるいは固有の形式など構造化された情報 式で保存されているケースが多い。

 構造化された情報を扱う工夫としては、 えばXMLデータに対して、XML文書の処理対象 要素をCSV形式にしてCPU(central processor unit) 荷の軽減をはかり、省メモリ化を意図した XML CSV圧縮」などの提案がある(特許文献1、 許文献2参照)。

 通常、大容量のデータベースから目的と る情報を検索する場合は、ユーザにより、 階的に条件を絞り込んだり、それを試行錯 的に繰り返したりすることが多い。

 しかしながら、大容量の情報が対象の場 、1回の情報検索に要する時間が長くなるた め、一定の時間、例えば数時間程度以内では このような試行錯誤的な作業を行えず、実質 的に目的とする情報を得ることが困難な場合 が少なくない。

 特に、このような大容量の情報の場合、デ スクI/O(Input/Output)を伴うファイルの読み書 処理に要する時間は無視できないため、ユ ザが行う作業全体を通して、ファイルの読 書き回数を減少させることは、ユーザ作業 効率化、短時間化を図る上で重要な要素で る。

特開2006-277031号公報

特開2007-179492号公報

<発明の概要>
 本発明は、クラスター・コンピュータ・シ テム(cluster computer system)、並列処理可能な レイ・コンピュータ・システム(array computer  system)、グリッド・コンピューティングなど ネットワーク上に分散したコンピュータ群、 またはハイエンドなパーソナルコンピュータ を利用して上記のような構造化された情報か ら必要な情報をできるだけ迅速に検索するた めの情報検索システムを提供することができ る。

 本発明は、数百GB(ギガバイト、Giga byte:10 ×9乗)からTB(テラバイト、Tera byte:10×12乗)オ ダの大容量情報に対してユーザの目的に応 た条件に基づいた情報の検索をできるだけ 速に行うことができる。

 本発明によれば、上記のような段階的お び試行錯誤的な情報検索の一連の作業をで るだけメモリ上の処理で行う情報検索シス ム、方法、およびプログラムを提供する。

 段階的に情報の検索を行う場合、ある1回 の検索結果をファイルに格納し、このファイ ルを源情報として次回の検索を行うような方 法が従来考えられるが、このような方法の場 合、1回の検索に際して必ずファイルの読み み、書き込みが発生する。

 本発明においては、検索結果をファイル 書き込む替わりにメモリに書き込むことが きる。

 これにより、次回の検索においてファイ からの読み込みが発生しない。

 また、検索結果を書き込むメモリ領域に ユーザが指定した名前を対応させることで ユーザがファイル名を用いてファイルにア セスするのと同様の感覚で該メモリ領域に クセスすることができる。

 したがって、本発明の第1の観点によれば 、検索対象となる条件を示す検索対象条件情 報、検索対象となる源情報がファイル或いは メモリのいずれかに存在するかを示す源情報 検索先情報、検索の対象となる源情報の源情 報名を受け付ける受付手段と、メモリ領域の 名前と、メモリ領域を示すメモリ領域情報と が関連付けて記憶される管理テーブルと、前 記受け付けた源情報検索先情報によって示さ れた検索対象となる源情報がメモリに存在す ることを示している場合に、前記受け付けた 検索の対象となる源情報の源情報名と一致す るメモリ領域の名前を前記管理テーブルから 検索する検索手段と、前記検索手段によって 前記受け付けた検索の対象となる源情報の源 情報名と一致するメモリ領域の名前が検索さ れた場合に、前記検索されたメモリ領域の名 前に関連付けられたメモリ領域情報によって 示されるメモリ領域から、前記受け付けた検 索対象条件情報に合致する情報を取得する取 得手段とを具備する情報検索システム、であ る。

本発明の実施の形態に係る情報検索シ テムを示す図である。 本発明の実施の形態に係る名前付メモ の管理テーブルを示す図である。 段階的な検索作業の流れを示すフロー ャートである。 マルチCPUおよび並列マシンを利用した 合の例を示す図である。 通信網を通じて検索を実行する場合を す図である。 スレッド管理テーブルを示す図である 各処理で使用するスレッド数を調整す フローを示す図である。

 以下、図面を参照して、本発明の実施の 態に係る情報検索システムについて説明す 。

 図1は、本発明の実施の形態に係る情報検 索システムのプログラムの構成を示す。

 本プログラムは大きく命令プログラム101 検索プログラム102からなる。

 命令プログラム101と検索プログラム102は 一マシン上で実行してもよいし、異なるマ ン上で実行してもよい。

 命令プログラム101は通信手段を介して検 プログラム102に実行パラメータを送信する 実行パラメータは、検索対象となる条件を す検索対象条件情報、検索対象となる源情 がファイル或いは名前付きメモリのいずれ に存在するかを示す源情報検索先情報、検 の対象となる源情報の源情報名、検索され 情報をファイル或いは名前付きメモリのど らに格納するかを示す格納先情報、書き込 の対象となる検索された情報の検索結果情 名を含む。

 ここで、「名前付メモリ」とは、ユーザ 指定した名前を付けられたメモリ領域を意 する。

 これらの実行パラメータは命令プログラ の実行コマンドの引数として指定しても良 し(例えば、「cmd prm1 prm2 prm3」)、ファイ に記して、このファイルを実行コマンドの 数として指定しても良いし(例えば、「cmd fi le1」)、またこれらを混合した方法で指定し もよい(例えば、「cmd file1 prm1 prm2」)。上 例でcmdはコマンド名、prm1、prm2、prm3は実行 ラメータ、file1はファイル名を示す。

 命令プログラム101にGUI(Graphical User Interfa ce)を付与し、実行パラメータをGUIから入力さ せることも可能である。このような命令プロ グラムはブラウザ上のプログラムとして作成 することもできる。

 検索プログラム102は、命令プログラム101 ら伝達された実行パラメータに従って、源 報(検索対象となる情報)中の情報の組(構造 された情報(データ)の固まり)を順次走査し 、その情報の組が検索の条件(検索対象条件 情報)に適合しているか否かを判定し、適合 ている場合にはその情報の組を検索結果情 として名前付メモリまたはファイルに書き む。

 検索プログラム102は、源情報の検索が完 すると、検索処理が完了した旨を命令プロ ラム101に通知する。このとき検索された情 の組の件数や処理に要した時間などを併せ 通知することもできる。

 検索プログラム102は、命令プログラム101 よる最初の実行命令が発行される前に起動 れている。また、検索プログラム102は、命 プログラム101による一連の実行命令の結果 力が完了するまでメモリ上にロードされた まである。

 繰り返し行われる一連の実行命令の間、 索プログラム102がメモリ上にロードされた まであることにより、この間、名前付メモ をメモリ上に保持し、ファイルのように実 命令間で使い回すことができる。

 検索プログラム102は、通信処理部103、情 読み込み処理部104、情報比較・操作処理部1 05、情報書き込み処理部106及び管理テーブル1 07を具備する。

 通信処理部103は、命令プログラム101から 行パラメータを受信する。また、検索結果 命令プログラム101に送信する。送信される 果には、処理の成功・失敗、検索された情 の組の件数や処理に要した時間などが含ま る。命令プログラム101と検索プログラム102 の間の通信は同一マシン内、LAN上、インタ ネット上を想定している。

 104は、情報読み込み処理部である。実行 ラメータ(検索対象となる源情報がファイル 或いはメモリのいずれかに存在するかを示す 源情報検索先情報)によって指定された源情 )がファイルの場合はファイルの一部または 部を一時的にメモリ上に読み込む。実行パ メータ(源情報検索先情報)によって指定さ た源情報が名前付メモリの場合は管理テー ル107を参照して実行パラメータ(検索の対象 なる源情報の源情報名)として渡された名前 からメモリ領域を特定する。

 源情報として、複数のファイル108や名前 メモリ109を用いることができる。フォルダ ドライブ内のファイル、複数のPCに分散し ファイルなどを源情報とすることもできる

 情報比較・操作処理部105は、命令プログ ム101から伝達された実行パラメータ(検索対 象条件情報、源情報検索先情報、源情報名) 従って、源情報中の情報の組を順次走査し 、その情報の組が検索の条件に適合してい か否かを判定する。

 検索対象条件情報としては、例えば、検 対象となる源情報中に日時情報項目がある すれば、その日時情報が特定の日時の範囲 あることなどである。

 判定の対象となった情報の組が条件に適 した場合に、ある情報項目の値を置換する どのオプション処理を加えることも可能で る。

 情報書き込み処理部106は、情報比較・操 処理部105によって条件に適合していると判 された情報の組を、実行パラメータ(格納先 情報、検索結果情報名)にしたがって、ファ ル111または名前付メモリ110に書き込む。書 込み先がファイルの場合は書き込み情報の 部または全部を一時的にメモリ上に保持し 後にファイルに書き込むことも可能である

 実行パラメータ(格納先情報)で書き込み が名前付メモリを指定された場合は、メモ 上に一定サイズの領域を確保し、その先頭 ドレスと実行パラメータ(検索結果情報名)で 指定された名前との組を管理テーブル107に書 き込む。確保したメモリ領域のサイズ、日時 などその他の情報も併せて管理テーブルに記 録することもできる。確保するメモリ領域の サイズは実行パラメータで指定することもで きる。書き込み先が名前付メモリの場合は、 情報比較・操作処理部105によって条件に適合 していると判定された情報の組みを名前付メ モリに書き込む。

 管理テーブル107は、名前付メモリを管理 、図2に示す通り、名前付メモリの名前202と メモリ上の先頭アドレス203の対応付けが記録 され、相互に参照可能としている。また、最 大サイズ204や使用サイズ205などの情報も併せ て記録される。この他、名前付メモリの作成 日時や更新日時などの日時情報206や先頭アド レスから現在のオフセット位置などその他の 情報が記録される。この管理テーブルにより 、複数の名前付メモリを使用することが可能 になる。 検索プログラム102は、源情報の走 が完了すると、検索処理が完了した旨を命 プログラム101に通知する。

 結果通知113は、検索された件数や処理に した時間などを通知することができる。

 また、結果通知113では、検索プログラム 処理中に発生したエラーを通知することが きる。このようなエラーとしては例えば、 定した名前に対応した名前付メモリの領域 確保されていない場合、名前付メモリに対 て指定されたサイズのメモリ領域が確保で ない場合、名前付メモリへの指定された最 サイズを超える書き込みを行おうとした場 などが考えられる。なお、検索プログラム1 02の機能として、特定の情報項目あるいは情 項目の組み合わせに対し、同一の値がいく ずつあるかを数え上げる機能を追加しても く、これにより効率的に数え上げができる

 図3は、本発明の実施の形態に係る情報検 索処理を説明するためのフローチャートであ る。

 一連の検索作業において、初回の検索の 情報301は、通常、ファイルから読み込まれ 。すなわち、命令プログラム101から検索プ グラム102に送られる実行パラメータのうち 「源情報検索先情報」にはファイルが指定 れ、「源情報名」にはファイル上のファイ 名が指定される。なお、これら実行パラメ タは、命令プログラム101を通してユーザが 定しても良いし、命令プログラム自体が自 的に設定しても良い。

 検索プログラム102は、命令プログラム101 ら送られた実行パラメータに基づいて、検 処理を行なう。具体的には、実行パラメー の「源情報検索先情報」に基づいて検索対 となる源情報がファイル或いはメモリのい れかに存在するかを決定し、「源情報名」 基づいて、検索の対象となる源情報を決定 る。

 ここでは、「源情報検索先情報」にはフ イルが指定され、「源情報名」にはファイ 上のファイル名が指定されるていることか 、ファイル上のファイル名によって指定さ る情報を源情報として、「検索対象条件情 」として示される検索対象条件に合致する 報を検索する。

 検索結果の情報(一次検索情報)302は、実 パラメータにしたがって、名前付メモリ或 はファイルに格納される(303)。具体的には、 検索プログラム102は、命令プログラム101から 送られた実行パラメータの「格納先情報」に 基づいて、検索された情報をファイル或いは メモリのどちらに格納するかを決定し、決定 された格納先に、書き込みの対象となる検索 された情報を「検索結果情報名」で格納する 。

 ここでは、「格納先情報」はメモリに格 することを示しているものとする。この場 、検索プログラム102は、名前付きメモリに 索された情報を書き込み、かつ、「検索結 情報名」及び情報が書き込まれるメモリ領 情報とともに、管理テーブル201に格納する 「メモリ領域」には、図2に示すように、先 頭アドレス、最大サイズ、使用サイズが含ま れる。また、情報が書き込まれた日時などの 付加的な情報を格納してもよい。

 次回の検索においては、「源情報検索先 報」で名前付きメモリを指定し、「源情報 」で名前を指定することにより、前回の検 結果である名前付メモリに格納された情報 源情報とすることができる(304)。

 ここでは、命令プログラム101から送られ くる実行パラメータの「源情報検索先情報 にメモリが指定され、「源情報名」には、 初に検索された情報が格納された名前と同 名前(すなわち、最初の検索における実行パ ラメータの「検索結果情報名」)が指定され いるものとする。

 検索プログラム102は、「源情報検索先情 」にメモリが指定されている場合、「源情 名」と一致するメモリ領域の名前を管理テ ブル201から検索する。そして、源情報名と 致するメモリ領域の名前が検索された場合 、検索されたメモリ領域の名前に関連付け れたメモリ領域から、受信した検索対象条 情報に合致する情報を取得する。

 なお、「源情報検索先情報」にファイル 指定されている場合、「源情報名」と一致 るファイル名のファイルから検索対象条件 報に合致する情報を取得する。

 検索プログラム102は、命令プログラム101 ら送られた実行パラメータの「格納先情報 に基づいて、検索された情報をファイル或 はメモリのどちらに格納するかを決定し、 定された格納先に、書き込みの対象となる 索された情報を「検索結果情報名」で格納 る(305)。

 ここでは、「格納先情報」はメモリに格 することを示しているものとする。この場 、検索プログラム102は、名前付きメモリに 索された情報を書き込み、かつ、「検索結 情報名」及び情報が書き込まれるメモリ領 情報とともに、管理テーブル201に格納する

 上述の実行パラメータの例では、検索対 先及び情報の格納先に関する情報を有する 合について説明したが、情報の格納先に関 る情報(「格納先情報」、「検索結果情報名 」)のみを実行パラメータとして、予め名前 きメモリ領域の確保をのみを行ない、管理 ーブル201上に、その名前とメモリ領域情報 確保してもよい。

 また、管理テーブル201上に、「検索結果 報名」に相当する名前が存在する場合があ 、このような場合には、当該「検索結果情 名」に関連付けられたメモリ情報によって されるメモリ領域に、検索された情報が書 込まれる。

 このように検索を段階的に繰り返し、最 的な検索結果の情報を、実行パラメータ(「 格納先情報」)でファイルを指定することに り、ファイルに格納することができる(306)。

 なお、途中の検索結果は必要に応じてフ イルに書き出してもよいし、またそれを次 源情報として用いてもよい。

 各検索は、都度ユーザが結果を確認した で、次の検索の条件を決定して実行しても いし、定型的に行う作業であれば、各回の 索の条件を事前に決めておいて、バッチや クリプトなどを利用して、連続的に命令を 行してもよい。

 図4は、大量の情報から効率よく高速で目 的とする情報を検索するために本発明をマル チCPUや複数のPCにまたがる並列マシン環境で 用した場合を示している。

 高速化のためには、プロセッサの多様な 式がある。アレイ・コンピュータ(array compu ter system)は、配列、行列の形式になった情報 を処理するためのもので、一つの命令で複数 の情報を同時に処理できる。この典型がスー パコンピュータ(supercomputer)であって、膨大な 数値の行列情報など並行高速処理を扱える。

 この他にも、並列処理コンピュータ(parall el computer system)は、ベクトル・プロセッサ(ve ctor processor system)、クラスタ・コンピュータ (cluster computer system)があって高速化に対応で き、本発明をこのような環境で利用すると効 果的である。

 図4においては、核となるメイン・プロセ ッサとメイン・プロセッサの命令で動作処理 する複数個のコ・プロセッサが示されている 。401はシステムバスである。システムバス401 には、メインCPU402、デュアルポートRAM(dual po rt RAM)403、RAM404、ROM405、コ・プロセッサ406が 続される。

 メインCPU402は、コ・プロセッサ群406n1~406n m、406n0を制御する。メインCPU402は、コ・プロ セッサ406n1~406nm、406n0との情報の交換、コ・ ロセッサ406n1~406nm、406n0の制御を行う。デュ ルポートRAM403は、メモリへの情報の入出力 同時に行うことができる。

 RAM404は、メインCPU402のメモリに使用され 。ROM405は、プログラム・メモリであってメ ン・プロッセサ402のプログラムが書き込ま ていて、メイン・プロセッサ402は、このプ グラムによって処理する。

 コ・プロセッサ406n1~406nm、406n0は、メイン ・プロセッサ402の管理下で処理が実行される 。各名前付メモリや各ファイルの入出力処理 毎、I/O機器の制御処理毎、その他の処理毎に コ・プロセッサは割り当てられて、並列処理 する。いずれにしても、高速化を目的とした 手段である。

 406n1は処理407、例えばファイルや名前付 モリからの情報の読み込み処理を行う。

 406n2は処理408、例えばファイルや名前付 モリへの情報の書き込み処理を行う。

 406nmは処理409、例えば検索の条件比較処 を行う。

 このように独立した処理を各プロセッサ 割り当てると効率的である。必要に応じて ・プロセッサ406、処理407~409は増減する。

 タスクの生成、消去、プログラムのローデ グ、タスクへのコ・プロセッサ406の割り当 、割り込み処理のタスク管理(task management) 、メイン・プロッセサ402が行う。 
 コ・プロセッサ406n0は、I/O410の制御を行う

 I/O410は、LAN412によってPC411n1~nmに接続され ている。

 源情報を複数のPC411に分散して、各PCにて 並列に検索プログラムを動作させることによ って検索を高速に行うことができる。各PCに 割り当てられた源情報が一度にメモリ上に み込めるように源情報を分割すると効率的 ある。つまり想定する源情報のサイズに併 てPC数を増加させればよい。

 複数のPC411の内の一つまたは複数のPCで命 令プログラムを利用し、他のPCにて検索プロ ラムを動作させることもできる。

 本実施の形態によるマルチCPUおよび並列 シンシステムは、各CPUやPCに処理や源情報 効果的に割り当てることによって検索の高 処理を可能とする。

 図5は、本発明の実施の形態に係る検索シ ステムをインターネットなどの通信網を介し てさらに拡張したした場合について示した図 である。500は、検索サイトの構成を示す。501 は検索エンジンであって、検索プログラムか らなり前記説明した図4の構成の並列マシン 境を含む。

 502はPCであって、ユーザ、クライアント 、ここから検索開始する。先にも説明した うに、PCでなくともユーザ、クライアントは 他の情報機器、PDA(personal digital assistant)、携 帯電話機、デジタル情報家電機器の類の端末 機器からでも検索命令を発信できる。

 503は、ウェブサーバ(world wide web server) あって、インターネットのトランザクショ (transaction)処理機能を備えている。公衆情報 信網とのアクセス機能があって、ハッカー( hacker)等の不正侵入を防ぐファイア・ウオー (fire wall:インターネットとLANの間において 正侵入から内部ネットワークを守る仕組み) 能も備えている。

 504はサーバであって、ファイル・サーバ プリント・サーバ、データベースサーバ、 信制御を行うコミュニケーション・サーバ 特定業務処理を行うアプリケーション・サ バの機能を持っている。

 505、506はデータベースであって、情報の 種ファイルを保管している。ユーザの求め 応じてここにあるファイルにアクセスして 検索を行う。情報は随時更新・作成される

 507は、これらの機器を有機的に接続するL ANである。508は情報通信網510に接続する通信 線である。509、510、511は各種専用ウエブ・ イト(web site)である。

 511は、データベースサイトである。テキ トデータの他、例えば映像、映画等の画像 供サイトとしてもよい。映画は近年、ハイ ジョン・デジタルカメラ(hi-vision digital came ra)の低価格化と高機能化によって素人でも高 度な映画製作が可能であって、このようなア ーカイブ・ライブラリを利用する個人、法人 は増加している。

 当該サイト511とは通信回線508で接続して る。512は、アーカイブ・ライブラリの機器 有機的に接続するLANであって、サーバ513、P C514及びデータベース515が接続されている。 おデータベース515は、テキストや映像、音 情報を蓄積してテラバイト級の大容量であ て、検索エンジン501にある前記説明したよ な外部からの検索に対応した検索エンジン50 1をPC514に必要とする。

 このように世界中に分散した情報に対し 、検索エンジンを配置することによって、 令プログラムを有するPCや各種情報機器か 情報の検索を可能にする。

 図4において、マルチCPUなどの並列環境に おいては、検索プログラムの各処理に対し、 リソースを適切に配分することによって処理 の高速化を図ることができることを説明した 。ここでは、より具体的に、検索プログラム の処理を複数スレッドで行う場合に各処理に 割り当てるスレッド数を最適化する方法につ いて述べる。

 検索プログラムの処理としては、例えば ファイルまたはメモリ上に保持された情報 ら1つまたは複数の情報の組を読み込む読み 込み処理、前記読み込み手段により読み込ま れた情報に対し、指定された条件に合致する 情報項目の組を選別する選別処理、前記選別 手段により選別された情報をファイルまたは メモリ上に書き込む書き込み処理などが挙げ られる。

 これらの処理はそれぞれ独立したスレッ で行うことができる。

 また、検索処理においては、情報読み込 処理における情報の読み込み順、選別処理 おける条件比較を行う情報の順、書き込み 理における情報の書き込み順は一般に結果 影響を与えないため、それぞれの処理を複 のスレッドで処理することができる。

 情報のフォーマットが決まっており、一 の情報単位の長さが固定の場合は情報の読 込みまたは書き込み位置が容易に計算でき ので、このような並列処理に向いている。

 一定数の複数スレッドで処理を行うこと 想定した場合、全てのスレッドが等しく高 荷な状態であるのが、全体として最も効率 良い。

 たとえば、読み込み処理、選別処理、書 込み処理の負荷が全て等しく高負荷な状態 あるような場合である。

 処理の負荷の定義としては、たとえば、 の処理を行った全てのスレッドの一定時間 のCPU使用時間の合計などが考えられる。

 本実施の形態においては、高負荷な処理 スレッド数を増加し、低負荷な処理のスレ ド数を減少させることによって検索プログ ム全体の処理効率を動的に高める方法を提 する。

 図6は、各処理が使用可能なスレッド数を 管理するためのスレッド管理テーブルである 。

 本実施の形態の検索プログラム102は、検 対象となる条件を示す検索対象条件情報、 索対象となる源情報がファイル或いはメモ のいずれかに存在するかを示す源情報検索 情報、検索の対象となる源情報の源情報名 検索された情報をファイル或いはメモリの ちらに格納するかを示す格納先情報、書き みの対象となる検索された情報の検索結果 報名を受信する受信機能と、前記受信した 情報検索先情報によって示された検索対象 なる源情報がメモリに存在することを示し いる場合に、前記受信した検索の対象とな 源情報の源情報名と一致するメモリ領域の 前を管理テーブルから検索する検索機能と 前記検索機能によって前記受信した検索の 象となる源情報の源情報名と一致するメモ 領域の名前が検索された場合に、前記検索 れたメモリ領域の名前に関連付けられたメ リ領域から、前記受信した検索対象条件情 に合致する情報を取得する取得機能と、前 受信された格納先情報がメモリに格納する とを示している場合に、前記取得機能によ て取得した情報を、メモリに書き込むとと に、前記受信した書き込みの対象となる検 された情報の検索結果情報名をメモリ領域 ともに、前記管理テーブルに格納する格納 能などを具備するが、これら各機能をスレ ドに割り当てることができる。

 検索プログラム102によって、スレッド管 テーブル601に、各処理に対し、使用可能ス ッド数602と現在の負荷情報603が記録される 負荷情報としては、先に述べたように、例 ば、その処理を行った全てのスレッドの一 時間内のCPU使用時間の合計などが考えられ 。スレッド管理テーブルは各処理からアク ス可能である。

 図7に各処理の使用可能スレッド数を動的 に最適化する方法のフローを示す。

 処理S701は一定の情報ブロック単位に繰り 返し行われるものとする。

 S702は最後の情報ブロックに対する処理が 完了したかを判定し、完了している場合には 処理を終了し、完了していない場合にはスレ ッド数の調整処理を行う。

 S703では、図6に示すスレッド管理テーブ を参照し、各処理の負荷情報を比較して自 理が最大負荷の場合は、S704スレッド管理テ ブルに記録されている自処理の使用可能ス ッド数を増加する。例えば1加える。

 また、S705では、最小負荷の処理に対し、 スレッド管理テーブルに記録されている使用 可能スレッド数をその分減じる。例えば1減 す。

 次の情報ブロックに対してS701の処理を行 う場合は、更新されたスレッド数で行う。

 読み込み処理を例により具体的に説明す 。

 S701で一定の単位数の情報をファイルから 読み込む。使用可能スレッド数が2に設定さ ていたとし、これらのスレッドをA,Bとする 。1単位の情報をABAB・・・と交互に読み込む ことになる。

 本処理を行っている2スレッドの合計の負 荷、例えばCPU使用時間が最大で、例えば書き 込み処理の負荷が最低だったとすると、スレ ッド管理テーブルにおいて読み込み処理の使 用可能スレッド数を増やし3とする。また書 込み処理の使用可能スレッド数を1減らす。

 次にS701で読み込み処理を行う際は、3つ スレッドA,B,Cで交互にABCABC・・・と読むこと になる。

 このように、高負荷な処理のスレッド数 増やし、低負荷な処理のスレッド数を減ら ことを随時行うことによって、検索プログ ム全体として効率的に動作するように動的 最適化できる。

 条件に適合する情報の組が少ないような 合は、読み込み処理、選別処理に比して、 き込み処理の処理量が少なくなることが予 されるが、このような場合に各処理に平均 にスレッド数を分配するのではなく、この うな仕組みを利用することで、動的かつ自 的に最適なスレッド数の分配が可能になる

 本発明によれば、情報の検索結果をユー が指定した名前を付けてメモリ上に保管す ことによって、多くの場合、段階的または り返す行われる情報の検索作業におけるユ ザの作業効率の向上、作業時間の短縮を実 できる。

 特にテラバイト級にも及ぶ大容量の情報 検索に有効である。

 ローカルハードディスク上やネットワー 介して分散している情報の検索を短時間で うことができる。

 遺伝子配列情報データベースからの検索 文献データベースからの全文検索、コンピ ータの操作履歴などからの情報の検索など の応用が期待される。