JP2004287963A - 検索要求を並列処理する検索装置、検索方法、及びプログラム - Google Patents

検索要求を並列処理する検索装置、検索方法、及びプログラム Download PDF

Info

Publication number
JP2004287963A
JP2004287963A JP2003080614A JP2003080614A JP2004287963A JP 2004287963 A JP2004287963 A JP 2004287963A JP 2003080614 A JP2003080614 A JP 2003080614A JP 2003080614 A JP2003080614 A JP 2003080614A JP 2004287963 A JP2004287963 A JP 2004287963A
Authority
JP
Japan
Prior art keywords
search
request
read
unit
shared memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003080614A
Other languages
English (en)
Inventor
Tetsuya Kato
哲也 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003080614A priority Critical patent/JP2004287963A/ja
Publication of JP2004287963A publication Critical patent/JP2004287963A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】非同期に発生する複数の検索要求を同時に処理することにより、低コストで複数の検索要求に対する全体の検索処理時間を大幅に短縮すること。
【解決手段】M個(図1では3個)の検索要求部10に対応して設けられ受け付けた検索要求の開始から終了までを処理する要求処理部21と、少なくとも1つの要求処理部21から検索読み出し要求を受けると検索対象データを記憶する共有メモリ28から検索対象データを順次読み出す順次アクセス部26と、要求処理部21にそれぞれ対応して設けられ順次アクセス部26で読み出された検索対象データが検索要求で与えられたそれぞれの検索条件と一致するかを判定し結果を対応する要求処理部21へ通知する一致判定部23とを有し、検索要求を並列処理することを特徴とする。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は検索装置、検索方法、及びプログラムに関し、特に非同期に発生する検索要求を受け付けて並列処理する技術に関する。
【0002】
【従来の技術】
従来の検索装置における検索の技術について図6のブロック図を参照して説明する。従来の検索装置80は、検索要求をする検索要求部70(図6では3つ接続している)の要求を受け付けて処理する要求処理部81と、検索対象データを記憶する共有メモリ88と、検索対象データの登録を行うアクセス要求部89と、要求処理部81又はアクセス要求部89からの要求を受けて共有メモリ88への読み出しや書き込みのアクセスを制御するメモリアクセス部86と、検索条件を保持する条件保持部84と共有メモリ88から読み出した検索対象データと条件保持部84に保持される検索条件との比較を行う比較部85とを有する一致判定部83とを含んでいる。
【0003】
要求処理部81は検索処理中でないときに検索要求部70のいずれか1つ例えば検索要求部70−1から検索条件を含んだ検索要求を受け付けると、条件保持部84へ受け付けた検索条件を設定し、共有メモリ88の検索対象データを記憶している検索対象データ領域の先頭アドレスに対して読み出し要求する。メモリアクセス部86は読み出し要求を受けると検索対象データを読み出して一致判定部83へ送る。
【0004】
一致判定部83は比較部85の比較結果を要求処理部81へ返す。要求処理部81は比較結果が検索条件に一致した場合には一致したことを要求元の検索要求部70−1に返却して処理を終了する。検索条件に一致した結果が得られないときは読み出しアドレスを更新して検索対象データ領域の最後まで読み出し要求を繰り返して一致が得られなければ該当無しとして要求元の検索要求部70−1に返却して処理を終了する。このように処理が終了した後、要求処理部81は次の検索要求を検索要求部70のいずれかから受け付けて検索処理を実行するように動作し、複数の検索要求を並列して処理するものではない。
【0005】
また、例えば、2つ以上の比較データに対していずれかの比較データと一致するかという検索条件のような比較データが複数ある検索条件での検索時間を短縮する技術としては、特開昭56−17457号公報では比較回路を2つ有して2つの比較データに対する比較を同時に実行する技術が開示されている。ここで、2つの比較データは1つの検索要求に伴って与えられ同時に開始・終了するものであって、開始・終了時間がずれることはない。
【0006】
【特許文献1】
特開昭56−17457号公報
【0007】
【発明が解決しようとする課題】
従来の検索処理の技術では、複雑な検索条件を同時に処理することにより検索時間を短縮することは可能であったが、同じ検索対象のデータに対する複数の検索要求を同時に処理できなかったため、多数の検索要求が集中した場合に検索要求に対する検索結果を得るまでの時間が全体的に長くなってしまうという問題があった。
【0008】
また、多数の検索要求に対する処理時間を短縮するための構成として、図5の共有メモリ88と一致判定部83と要求処理部81とを一組としこの組を複数設ける構成が考えられるが、検索対象データの量が大きくなると共有メモリ88の容量も大きくなり共有メモリ88を複数設けることによるコストが大きくなってしまう。
【0009】
本発明の目的は、同じ検索対象のデータに対する非同期に発生する複数の検索要求を同時に処理することにより、低コストで複数の検索要求に対する全体の検索処理時間を大幅に短縮した検索装置、検索方法、及びプログラムを提供することにある。
【0010】
【課題を解決するための手段】
本発明の第1の検索装置は、M(M≧2)個の検索要求元に対応してM個設けられ受け付けた検索要求の開始から終了までを処理する要求処理部と、少なくとも1つの要求処理部から検索読み出し要求を受けると検索対象データを記憶する共有メモリから検索対象データを順次読み出す順次アクセス部と、要求処理部にそれぞれ対応してM個設けられ順次アクセス部で読み出された検索対象データが検索要求で与えられた検索条件と一致するかを判定し結果を対応する要求処理部へ通知する一致判定部とを有し、検索要求を並列処理することを特徴とする。
【0011】
本発明の第2の検索装置は、各検索要求で共用する検索対象データを記憶する共有メモリと、M(M≧2)個の検索要求元に対応してM個設けられ受け付けた検索要求の開始から終了までを処理する要求処理部と、少なくとも1つの要求処理部から検索読み出し要求を受けると共有メモリから検索対象データを順次読み出す順次アクセス部と、M個の要求処理部にそれぞれ対応してM個設けられ順次アクセス部で読み出された検索対象データが検索要求で与えられた検索条件と一致するかを判定し結果を対応する要求処理部へ通知する一致判定部とを有し、
各要求処理部はそれぞれ任意の時点で検索を開始しそれぞれの時点で検索を終了し、共通に読み出された検索対象データとそれぞれ一致判定することにより検索要求を並列処理することを特徴とする。
【0012】
本発明の第3の検索装置は、本発明の第1又は第2の検索装置において、前記要求処理部は、検索要求を受け付けると、その時点の前記共有メモリのアドレスを保持し、検索要求に付随する検索条件を前記一致判定部に設定した後検索読み出し要求を開始し、
順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致通知を検索要求元へ返し、一致しない場合は次の比較結果の判定を繰り返し、
共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索の終了を検出し検索読み出し要求を終了し、検索終了通知を検索要求元に返すことを特徴とする。
【0013】
本発明の第4の検索装置は、M(M≧3)個の検索要求元に対してN(M>N≧2)個設けられ受け付けた検索要求の開始から終了までを処理する要求処理部と、少なくとも1つの要求処理部から検索読み出し要求を受けると検索対象データを記憶する共有メモリから検索対象データを順次読み出す順次アクセス部と、
要求処理部にそれぞれ対応してM個設けられ順次アクセス部から読み出された検索対象データが検索要求で与えられた検索条件と一致するかを判定し結果を対応する要求処理部へ通知する一致判定部と、M個の検索要求元からの検索要求を随時受け付けて予め決められた手法により処理中でない要求処理部へ割り付ける要求調停部とを有し、検索要求を並列処理することを特徴とする。
【0014】
本発明の第5の検索装置は、各検索要求で共用する検索対象データを記憶する共有メモリと、M(M≧2)個の検索要求元に対応してN(M>N≧2)個設けられ受け付けた検索要求の開始から終了までを処理する要求処理部と、少なくとも1つの要求処理部から検索読み出し要求を受けると共有メモリから検索対象データを順次読み出す順次アクセス部と、M個の要求処理部にそれぞれ対応してM個設けられ順次アクセス部で読み出された検索対象データが検索要求で与えられた検索条件と一致するかを判定し結果を対応する要求処理部へ通知する一致判定部と、M個の検索要求元からの検索要求を随時受け付けて予め決められた手法により処理中でない要求処理部へ割り付ける要求調停部とを有し、
各要求処理部はそれぞれ任意の時点で検索を開始しそれぞれの時点で検索を終了し、共通に読み出された検索対象データとそれぞれ一致判定することにより検索要求を並列処理することを特徴とする。
【0015】
本発明の第6の検索装置は、本発明の第4又は第5の検索装置において、前記要求処理部は、検索要求を受け付けると、その時点の前記共有メモリのアドレスを保持し、検索要求に付随する検索条件を前記一致判定部に設定した後検索読み出し要求を開始し、
順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致通知を要求調停部へ返し、一致しない場合は次の比較結果の判定を繰り返し、
共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索の終了を検出し検索読み出し要求を終了し、検索終了通知を要求調停部に返すことを特徴とする。
【0016】
本発明の第7の検索装置は、本発明の第1乃至第6のいずれかの検索装置において、前記順次アクセス部は、共有メモリから検索対象データを読み出すアドレスを格納する検索ポインタを有し、前記要求処理部は検索要求を開始する際の検索ポインタの値を保持するポインタ保持部を有して検索ポインタが一巡してポインタ保持部の値と一致したときに検索の終了を検出することを特徴とする。
【0017】
本発明の第8の検索装置は、本発明の第1乃至第6のいずれかの検索装置において、前記一致判定部は検索要求で与えられた検索条件を保持する条件保持部と、順次アクセス部から送られた検索対象データが条件保持部に保持された検索条件と一致するか判定する比較部とを有することを特徴とする。
【0018】
本発明の第1の検索方法は、検索要求を受け付けると、その時点の検索対象データを記憶する共有メモリのアドレスを保持し、検索要求に付随する検索条件を共有メモリから読み出した検索対象データと与えられた検索条件と比較する一致判定部に設定した後検索読み出し要求を開始し、
順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致通知を検索要求元へ返し、一致しない場合は次の比較結果の判定を繰り返し、
共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索の終了を検出し検索読み出し要求を終了し、検索終了通知を検索要求元に返す要求処理手順を有し、
共有メモリから読み出した検索対象データを共通して使用しながら複数の一致判定部でそれぞれの検索要求に伴う検索条件にて比較するように要求処理手順を並列して実行することを特徴とする。
【0019】
本発明の第2の検索方法は、検索要求を受け付けると、その時点の検索対象データを記憶する共有メモリのアドレスを保持し、検索要求に付随する検索条件を共有メモリから読み出した検索対象データと与えられた検索条件と比較する一致判定部に設定した後検索読み出し要求を開始し、
順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致終了通知を検索要求元へ返すとともに検索読み出し要求を終了し、
一致しない場合は次の比較結果の判定を繰り返し共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索読み出し要求を終了し、検索終了通知を検索要求元に返す要求処理手順を有し、
共有メモリから読み出した検索対象データを共通して使用しながら複数の一致判定部でそれぞれの検索要求に伴う検索条件にて比較するように要求処理手順を並列して実行することを特徴とする。
【0020】
本発明の第3の検索方法は、本発明の第1又は第2の検索方法において、M個の検索要求元の1つから検索要求を受け付けると一致判定部の数N(M>N≧2)を越えない範囲で検索要求を前記要求処理手順に割り付けて前記要求処理手順を並列に実行させることを特徴とする。
【0021】
本発明の第1のプログラムは、検索要求を受け付けると、その時点の検索対象データを記憶する共有メモリのアドレスを保持し、検索要求に付随する検索条件を共有メモリから読み出した検索対象データと与えられた検索条件と比較する一致判定部に設定した後検索読み出し要求を開始し、
順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致通知を検索要求元へ返し、一致しない場合は次の比較結果の判定を繰り返し、
共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索の終了を検出し検索読み出し要求を終了し、検索終了通知を検索要求元に返す要求処理手順を、
共有メモリから読み出した検索対象データを共通して使用しながら複数の一致判定部でそれぞれの検索要求に伴う検索条件にて比較するように並列してコンピュータに実行させることを特徴とする。
【0022】
本発明の第2のプログラムは、検索要求を受け付けると、その時点の検索対象データを記憶する共有メモリのアドレスを保持し、検索要求に付随する検索条件を共有メモリから読み出した検索対象データと与えられた検索条件と比較する一致判定部に設定した後検索読み出し要求を開始し、
順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致終了通知を検索要求元へ返すとともに検索読み出し要求を終了し、
一致しない場合は次の比較結果の判定を繰り返し共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索読み出し要求を終了し、検索終了通知を検索要求元に返す要求処理手順を、
共有メモリから読み出した検索対象データを共通して使用しながら複数の一致判定部でそれぞれの検索要求に伴う検索条件にて比較するように並列してコンピュータに実行させることを特徴とする。
【0023】
本発明の第3のプログラムは、本発明の第1又は第2のプログラムにおいて、M個の検索要求元の1つから検索要求を受け付けると一致判定部の数N(M>N≧2)を越えない範囲で検索要求を前記要求処理手順に割り付けて前記要求処理手順を並列してコンピュータに実行させることを特徴とする。
【0024】
【発明の実施の形態】
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1は本発明の第1の実施の形態の構成を示すブロック図である。本発明の第1の実施の形態の構成は、検索要求をする複数の検索要求部10と検索装置20とからなる。
【0025】
検索要求部10は、図1では検索要求部10−1、検索要求部10−2、検索要求部10−3の3つを示しているが接続数を限定するものではなく2つ以上であればよい。また、検索要求部10は、検索要求を受け付けて検索装置20に送り、検索結果を返す装置であり、検索装置20とのインターフェースは図1のように独立していてもよく、或いは、ネットワークのように通信路を共用して接続する構成であってもかまわないし、或いは、複数の検索要求部10の検索要求を1カ所でまとめる装置を介して検索装置20に接続するような構成であってもかまわない。
【0026】
また、検索要求部10は検索要求する装置と1対1に対応することなく、検索要求者とし1つの装置から複数の検索要求を並列に実行する形態でも、適用が可能である。その場合検索結果は検索要求部10の装置宛ではなく検索要求部10の検索要求者宛に返すことになる。
【0027】
検索装置20は、要求処理部21と、一致判定部23と、順次アクセス部26と、共有メモリ28と、アクセス要求部29とを有する。共有メモリ28は各検索要求部10からの検索要求に対する検索対象データを共有して記憶するメモリである。アクセス要求部29は、検索対象データを共有メモリ28に登録したり参照したりする。
【0028】
要求処理部21と一致判定部23はそれぞれ同じものを検索要求部10に対応して複数設けており、図1の構成では検索要求部10−1、検索要求部10−2、検索要求部10−3にそれぞれ対応して、要求処理部21−1、要求処理部21−2、要求処理部21−3と、一致判定部23−1、一致判定部23−2、一致判定部23−3とが設けられている。
【0029】
順次アクセス部26は、共有メモリ28の検索アドレスを保持する検索ポインタ27を有し、アクセス要求部29からの要求を処理する場合はアクセス要求部29からのアドレスに基づいて共有メモリ28へ読み出しまたは書き込みの動作を行い、要求処理部21からの要求を処理する場合は、検索ポインタ27に基づいて共有メモリ28をアクセスし読み出したデータを各一致判定部23へ送る。なお、要求処理部21−1、要求処理部21−2、要求処理部21−3からの要求は論理和により要求の有無が判定され、少なくとも1つの検索処理部21の要求があれば検索動作が実行され、全ての要求が無くなれば実行されない。
【0030】
なお、検索ポインタ27は、共有メモリ28から検索のための読み出しをする度に次の読み出しアドレスとなるように内容を更新される。なお、共有メモリ28に格納される検索対象データの領域の最後まで達した場合はその領域の先頭アドレスになるように更新し、領域全体の検索ができるようにする。
【0031】
一致判定部23は、検索条件を保持する検索条件保持部24と、共有メモリ28からの読み出しデータと検索条件保持部24に保持する比較データとを検索条件に基づいて一致するか比較し比較結果を要求処理部21へ通知する比較部25とを有する。ここで、検索条件保持部24は複数の検索条件を保持し、比較部25は同時に複数の比較データと読み出しデータとの比較を実行する検索条件で比較しても良いが、複数の比較データを同時に比較する技術は従来知られているので説明は省略する。
【0032】
要求処理部21は、検索開始時の検索ポインタ27の値を保持するポインタ保持部22を有し検索の開始と終了を含む検索処理の手順を制御する。この検索処理の手順はプログラムで実現するが、例えばLSI内の回路のようなハードウェアの回路で実現してもかまわない。ポインタ保持部22は、検索要求部10に対応して設けられ、図1の構成では検索要求部10−1、検索要求部10−2、検索要求部10−3にそれぞれ対応して、ポインタ保持部22−1、ポインタ保持部22−2、ポインタ保持部22−3が設けられる。
【0033】
また、要求処理部21は、検索を開始すると検索ポインタ27の更新毎に検索ポインタ27の値とポインタ保持部22の値を比較し一致したことにより共有メモリ28の全対象データの検索が終了したことを検出し検索の終了を検出する。また、要求処理部21は、対応する検索要求部10から受け付けた検索要求に含まれる検索条件を対応する一致判定部23の検索条件保持部24へ設定する。
【0034】
次に、本発明の第1の実施の形態の動作について図面を参照して説明する。まず、検索対象となるデータは、アクセス要求部29から事前に共有メモリ28内の領域に登録される。また、登録後の検索対象データの追加、変更、削除等の処理もアクセス要求部29から実行される。
【0035】
次に検索要求部10−1の検索要求の動作を例に説明する。まず検索要求部10−1の検索要求は1対1に対応して設けられた要求処理部21−1で受け付けられる。図2は要求処理部21−1の動作を示したフローチャートである。要求処理部21−2と要求処理部21−3も図2のフローチャートと同様に動作し、それぞれ並列して動作が可能である。以降、要求処理部21−1の動作を中心に図2を参照して説明する。
【0036】
まず、要求処理部21−1は検索要求に含まれる検索条件を一致判定部23−1の条件保持部24−1に設定する(S41)。検索条件や検索条件との比較方法については限定しない。続いて現在の検索ポインタ27の値を順次アクセス部26から読み出してポインタ保持部22−1へ格納し保持する(S42)。次に検索読み出し要求を順次アクセス部26へ送る(S43)。
【0037】
ここで順次アクセス部26の動作について説明する。順次アクセス部26は要求処理部21−1、要求処理部21−2、要求処理部21−3の各検索読み出し要求の論理和をとって要求処理部21からの要求と判断する。図3は順次アクセス部26の動作を示したフローチャートである。順次アクセス部26は図3の動作をプログラムで実現しても良いし、ハードウェアの回路で実現しても良く限定しない。
【0038】
図3を参照すると、順次アクセス部26はアクセス要求部29からの要求があると(S51)、アクセス要求部29からのアクセス要求を受け付けて処理する(S52)。例えば、検索対象データの登録のように書き込み要求を受けると共有メモリ28の受け付けたアドレスに受け付けた検索対象データを書き込む。読み出し要求の際は受け付けたアドレスのデータを共有メモリ28から読み出してアクセス要求部29へ返す。
【0039】
アクセス要求部29からの要求がない場合は、要求処理部21からの要求が有るか調べ(S53)、要求処理部21からの要求が有ると検索ポインタ27を予め決められたアドレス分進めるように更新して(S54)、検索ポインタ27が保持するアドレスに従って共有メモリ28から検索対象データを読み出し、一致判定部23−1、一致判定部23−2、一致判定部23−3へ送る(S55)。
【0040】
ここでは、アクセス要求部29からの要求はないものとする。順次アクセス部26は要求処理部21−1からの検索読み出し要求を受けて、検索ポインタ27を更新し、共有メモリ28から検索対象データを読み出して各一致判定部23へ送る。
【0041】
一致判定部23−1は検索対象データを受け取ると、比較部25−1で条件保持部24−1に保持される比較データと検索対象データとを条件に従って検索条件に一致するか否か比較し比較結果を要求処理部21−1へ通知する。
【0042】
ここで、要求処理部21−2でも検索が実行されている場合は、同じ共有メモリ28からの読み出しデータに対して図示しないが一致判定部23−2の比較部25で図示しない条件保持部24の内容に従って比較し、比較結果を要求処理部21−2へ通知する。要求処理部21−3が検索実行している場合も同様に一致判定部23−3から検索結果が要求処理部21−3へ通知される。
【0043】
要求処理部21−1はステップS43で検索読み出し検索ポインタ27が更新されたことにより検索対象データの読み出しが実行されることを確認した後(S44)、一致判定部23−1からの比較結果の通知を待って(S45)、比較結果を確認し(S46)、結果が一致であれば一致を検出したことを検索要求部10−1へ通知する(S47)。一致検出の通知には一致検出されたときの検索ポインタ27の値である共有メモリ28のアドレスやその読み出しデータ等の情報を付加することがあるが限定するものではない。
【0044】
ステップS46で一致が検出されなかった場合、又はステップS47に続いて、要求処理部21−1は検索ポインタ27とポインタ保持部22−1との比較により検索ポインタ27が一巡し全ての検索対象データについて検索が終了したか判定し(S48)、終了していなければステップS44へ戻って検索を継続し、終了していれば検索終了を検索要求部10−1へ通知し順次アクセス部26への検索読み出し要求を終了する(S49)。
【0045】
順次アクセス部26は、要求処理部21−1からの検索読み出し要求が終了した際、他の要求処理部21からの検索読み出し要求がなければ検索対象データの読み出しを停止し、検索ポインタ27の更新を停止するか、又は初期値(例えば検索対象データの格納領域の先頭アドレス)等の値に設定し直しても良い。要求処理部21−1からの検索読み出し要求が終了した際、他の要求処理部21からの検索読み出し要求が継続していれば、順次アクセス部26は検索動作を継続し、検索ポインタ27を更新して次の検索対象データの読み出しを行う。
【0046】
ステップS47の処理で、検索対象データと検索の特性により、2つ以上の一致が起こらないような場合には、検索要求部10−1へ一致検出の通知を行った後に、順次アクセス部26への検索読み出し要求を終了して検索を終了するようにしても良い。例えば、一意に割り振られたネットワークアドレスのような番号を比較対象とする検索対象データが共有メモリ28に登録され、その番号の全一致を検索条件として検索が行われる場合等がこれに相当する。一方、全一致ではなく部分一致の検索の場合は2つ以上一致することがあるのでこの場合は一致が検出されても検索を続行すればよい。
【0047】
また、検索ポインタ27はアドレスをインクリメントする場合を説明したが、デクリメントするようにしても良いし、他の更新方法でも良い。また、検索要求部10の数は3つの場合を示しているがその数を制限するものではない。
【0048】
以上の説明では、要求処理部21−1の動作を中心に説明したが、検索要求部10から非同期に行われる検索要求はそれぞれ対応する要求処理部21で受け付けられてその時点の検索ポインタ27の値を開始アドレスとして検索を実行し、それぞれの要求処理部21で終了処理をできるようにしたので、非同期に行われる検索要求部10からの検索要求を並列して処理ができる。
【0049】
以上のように、多数の検索要求が集中して各検索要求部10から発行されても、共有メモリ28への読み出し要求と読み出しデータを1回にまとめて処理することにより全体の処理時間を大幅に短縮することができる。図1の構成では従来に比べて3つの検索要求を並列処理できるので検索処理能力が最大3倍となる。検索要求部10の数をMとすれば最大でM倍の検索処理が可能となるが、それに応じて要求処理部21と一致判定部23との組もMだけ設ける必要がある。
【0050】
次に本発明の第2の実施の形態について説明する。図4は本発明の第2の実施の形態の構成を示したブロック図である。図4を参照すると検索装置60は第1の実施の形態の検索装置20と比べて、要求調停部61が追加されていることに特徴があり、図1の構成要素と同じ構成要素については図1と同じ番号を付与している。
【0051】
第2の実施の形態では、M個の検索要求部10に対して、要求処理部21と一致判定部23の組をN(M>N)組設け、M個の検索要求部10からの検索要求を最大N個まで並列処理するようにしている。図4では、4つの検索要求部10に対して、要求処理部21−1と一致判定部23−1の組と、要求処理部21−2と一致判定部23−2の組の2組を設けている。
【0052】
検索装置60は、第1の実施の形態の検索装置20に比べて要求調停部61が検索要求部10と要求処理部21との間に新たに追加されており、他の構成要素は同じであるので、要求調停部61を中心に説明し、他の構成要素についての説明は省略する。
【0053】
要求調停部61は、4つの検索要求部10からの検索要求の有無と、要求処理部21−1と要求処理部21−2とがそれぞれ検索処理中の状態か否かを確認して、どの検索要求をどの要求処理部21に割り付けるかを決め、要求処理部21からの検索結果の通知を受けて要求元の検索要求部10に転送する。要求調停部61は、これらの処理をプログラムで実現しても良いし、ハードウェアの回路で実現しても良い。
【0054】
次に、本発明の第2の実施の形態の動作を説明する。要求調停部61の動作を示したフローチャートである図5を参照して説明する。初期状態は検索処理が実行されていない状態とし、具体例で説明していく。
【0055】
まず、要求調停部61は、検索要求部10−1から検索要求Aを受け付けると(S91)、要求処理部21の状態を調べる(S92)。どちらの要求処理部21も処理中ではなく空き状態なので、次に他に検索要求が待ち合わせているかを調べる(S93)。他に検索要求はないので空き状態の要求処理部21−1へ検索要求Aを送り、要求処理部21−1に割り付けた検索要求の要求元が検索要求部10−1であることを記憶しておく(S95)。要求処理部21−1は検索要求Aを受け付けると第1の実施の形態で説明したように検索処理を開始する。
【0056】
次に要求調停部61は、検索要求部10−2から検索要求Bを受け付けると(S91)、要求処理部21の状態を調べる(S92)。要求処理部21−2が空き状態なので、次に他に検索要求が待ち合わせているかを調べる(S93)。他に待ち合わせている検索要求はないので空き状態の要求処理部21−2へ検索要求Bを送り要求元情報を記憶しておく(S95)。要求処理部21−2は第1の実施の形態で説明したように検索要求Bの処理を開始する。
【0057】
さらに、検索要求部10−3から検索要求Cを受け付けると(S91)、要求調停部61は、要求処理部21が全て検索処理中であるため、要求処理部21の1つが終了するのを待ち合わせる(S92)。この状態でさらに検索要求部10−4から検索要求Dを受け付けると(S91)、要求調停部61は、要求処理部21が全て検索処理中であるため、要求処理部21の1つが終了するのを待ち合わせる(S92)。
【0058】
次に、要求処理部21−1が検索要求Aの処理を終了すると終了通知を要求調停部61に返す。要求調停部61は終了通知を受けると記憶している情報に基づいて要求元の検索要求部10−1へ終了通知を転送する。
【0059】
要求処理部21−1の検索終了により(S92)、要求調停部61は次に要求処理部21−1へ割り付ける検索要求を決定する。待ち合わせ中の検索要求が2つ以上有るか調べ(S93)、この場合検索要求Cと検索要求Dと2つが待ち合わせていれば予め決められた方法によって調停して1つを選択し(この場合は検索要求Cを選択するものとする)(S94)、検索要求Cを要求処理部21−1へ送り、要求元情報を記憶しておく(S95)。ステップ93の時点で検索要求Cのみであれば調停は不要でステップS95を実行する。
【0060】
このように、第2の実施の形態では、任意のN個の検索要求を並列処理することにより、従来に比べて最大でN倍の検索処理が可能となる。図4の構成では検索要求を2つ並列処理できるので従来に比べて最大2倍の検索要求を処理できる。特に、検索要求部10が多数になった場合、全ての検索要求が競合する確率が低いような場合は、第2の実施の形態では第1の実施の形態に比べてハードウェア量が少なくなりより経済的に検索時間の短縮が可能となる。
【0061】
図4では、検索要求部10の数を4、要求処理部21と一致判定部23との組の数を2としたが、これらの数はシステムの特性、利用特性、経済面の条件等を勘案して決めればよい。また、例えば性能最優先であれば第1の実施の形態のように要求処理部21と一致判定部23との組の数を検索要求部10の数と同数とすればよいし、経済面を優先するなら第2の実施の形態で要求処理部21と一致判定部23との組の数を小さくするようにすればよく、それぞれの使用環境に応じて第1又は第2の実施の形態を選択すればよい。
【0062】
【発明の効果】
本発明は、検索対象データを格納する共有メモリへの読み出しを複数の検索要求でまとめて1つにし、読み出したデータをそれぞれの検索条件で並列して判定するようにしたので、低コストで複数の検索要求の全体の検索時間を大幅に短縮することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成の一例を示したブロック図である。
【図2】本発明の要求処理部21の動作の一例を示したフローチャートである。
【図3】本発明の順次アクセス部26の動作の一例を示したフローチャートである。
【図4】本発明の第2の実施の形態の構成の一例を示したブロック図である。
【図5】本発明の第2の実施の形態の要求調停部61の動作の一例を示したフローチャートである。
【図6】従来の検索装置の構成の一例を示したブロック図である。
【符号の説明】
10 検索要求部
70 検索要求部
20 検索装置
21 要求処理部
22 ポインタ保持部
23 一致判定部
24 条件保持部
25 比較部
26 順次アクセス部
27 検索ポインタ
28 共有メモリ
29 アクセス要求部
60 検索装置
61 要求調停部
70 検索要求部
80 検索装置
81 要求処理部
83 一致判定部
84 条件保持部
85 比較部
86 メモリアクセス部
88 共有メモリ
89 アクセス要求部

Claims (14)

  1. M(M≧2)個の検索要求元に対応してM個設けられ受け付けた検索要求の開始から終了までを処理する要求処理部と、少なくとも1つの要求処理部から検索読み出し要求を受けると検索対象データを記憶する共有メモリから検索対象データを順次読み出す順次アクセス部と、要求処理部にそれぞれ対応してM個設けられ順次アクセス部で読み出された検索対象データが検索要求で与えられた検索条件と一致するかを判定し結果を対応する要求処理部へ通知する一致判定部とを有し、検索要求を並列処理することを特徴とする検索装置。
  2. 各検索要求で共用する検索対象データを記憶する共有メモリと、M(M≧2)個の検索要求元に対応してM個設けられ受け付けた検索要求の開始から終了までを処理する要求処理部と、少なくとも1つの要求処理部から検索読み出し要求を受けると共有メモリから検索対象データを順次読み出す順次アクセス部と、M個の要求処理部にそれぞれ対応してM個設けられ順次アクセス部で読み出された検索対象データが検索要求で与えられた検索条件と一致するかを判定し結果を対応する要求処理部へ通知する一致判定部とを有し、
    各要求処理部はそれぞれ任意の時点で検索を開始しそれぞれの時点で検索を終了し、共通に読み出された検索対象データとそれぞれ一致判定することにより検索要求を並列処理することを特徴とする検索装置。
  3. 前記要求処理部は、検索要求を受け付けると、その時点の前記共有メモリのアドレスを保持し、検索要求に付随する検索条件を前記一致判定部に設定した後検索読み出し要求を開始し、
    順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致通知を検索要求元へ返し、一致しない場合は次の比較結果の判定を繰り返し、
    共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索の終了を検出し検索読み出し要求を終了し、検索終了通知を検索要求元に返すことを特徴とする請求項1又は2の検索装置。
  4. M(M≧3)個の検索要求元に対してN(M>N≧2)個設けられ受け付けた検索要求の開始から終了までを処理する要求処理部と、少なくとも1つの要求処理部から検索読み出し要求を受けると検索対象データを記憶する共有メモリから検索対象データを順次読み出す順次アクセス部と、要求処理部にそれぞれ対応してM個設けられ順次アクセス部から読み出された検索対象データが検索要求で与えられた検索条件と一致するかを判定し結果を対応する要求処理部へ通知する一致判定部と、M個の検索要求元からの検索要求を随時受け付けて予め決められた手法により処理中でない要求処理部へ割り付ける要求調停部とを有し、検索要求を並列処理することを特徴とする検索装置。
  5. 各検索要求で共用する検索対象データを記憶する共有メモリと、M(M≧2)個の検索要求元に対応してN(M>N≧2)個設けられ受け付けた検索要求の開始から終了までを処理する要求処理部と、少なくとも1つの要求処理部から検索読み出し要求を受けると共有メモリから検索対象データを順次読み出す順次アクセス部と、M個の要求処理部にそれぞれ対応してM個設けられ順次アクセス部で読み出された検索対象データが検索要求で与えられた検索条件と一致するかを判定し結果を対応する要求処理部へ通知する一致判定部と、M個の検索要求元からの検索要求を随時受け付けて予め決められた手法により処理中でない要求処理部へ割り付ける要求調停部とを有し、
    各要求処理部はそれぞれ任意の時点で検索を開始しそれぞれの時点で検索を終了し、共通に読み出された検索対象データとそれぞれ一致判定することにより検索要求を並列処理することを特徴とする検索装置。
  6. 前記要求処理部は、検索要求を受け付けると、その時点の前記共有メモリのアドレスを保持し、検索要求に付随する検索条件を前記一致判定部に設定した後検索読み出し要求を開始し、
    順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致通知を要求調停部へ返し、一致しない場合は次の比較結果の判定を繰り返し、
    共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索の終了を検出し検索読み出し要求を終了し、検索終了通知を要求調停部に返すことを特徴とする請求項4又は5の検索装置。
  7. 前記順次アクセス部は、共有メモリから検索対象データを読み出すアドレスを格納する検索ポインタを有し、前記要求処理部は検索要求を開始する際の検索ポインタの値を保持するポインタ保持部を有して検索ポインタが一巡してポインタ保持部の値と一致したときに検索の終了を検出することを特徴とする請求項乃至6のいずれかの検索装置。
  8. 前記一致判定部は検索要求で与えられた検索条件を保持する条件保持部と、順次アクセス部から送られた検索対象データが条件保持部に保持された検索条件と一致するか判定する比較部とを有することを特徴とする請求項1乃至6のいずれかの検索装置。
  9. 検索要求を受け付けると、その時点の検索対象データを記憶する共有メモリのアドレスを保持し、検索要求に付随する検索条件を共有メモリから読み出した検索対象データと与えられた検索条件と比較する一致判定部に設定した後検索読み出し要求を開始し、
    順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致通知を検索要求元へ返し、一致しない場合は次の比較結果の判定を繰り返し、
    共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索の終了を検出し検索読み出し要求を終了し、検索終了通知を検索要求元に返す要求処理手順を有し、
    共有メモリから読み出した検索対象データを共通して使用しながら複数の一致判定部でそれぞれの検索要求に伴う検索条件にて比較するように要求処理手順を並列して実行することを特徴とする検索方法。
  10. 検索要求を受け付けると、その時点の検索対象データを記憶する共有メモリのアドレスを保持し、検索要求に付随する検索条件を共有メモリから読み出した検索対象データと与えられた検索条件と比較する一致判定部に設定した後検索読み出し要求を開始し、
    順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致終了通知を検索要求元へ返すとともに検索読み出し要求を終了し、
    一致しない場合は次の比較結果の判定を繰り返し共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索読み出し要求を終了し、検索終了通知を検索要求元に返す要求処理手順を有し、
    共有メモリから読み出した検索対象データを共通して使用しながら複数の一致判定部でそれぞれの検索要求に伴う検索条件にて比較するように要求処理手順を並列して実行することを特徴とする検索方法。
  11. M個の検索要求元の1つから検索要求を受け付けると一致判定部の数N(M>N≧2)を越えない範囲で検索要求を前記要求処理手順に割り付けて前記要求処理手順を並列に実行させることを特徴とする請求項9又は10の検索方法。
  12. 検索要求を受け付けると、その時点の検索対象データを記憶する共有メモリのアドレスを保持し、検索要求に付随する検索条件を共有メモリから読み出した検索対象データと与えられた検索条件と比較する一致判定部に設定した後検索読み出し要求を開始し、
    順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致通知を検索要求元へ返し、一致しない場合は次の比較結果の判定を繰り返し、
    共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索の終了を検出し検索読み出し要求を終了し、検索終了通知を検索要求元に返す要求処理手順を、
    共有メモリから読み出した検索対象データを共通して使用しながら複数の一致判定部でそれぞれの検索要求に伴う検索条件にて比較するように並列してコンピュータに実行させることを特徴とするプログラム。
  13. 検索要求を受け付けると、その時点の検索対象データを記憶する共有メモリのアドレスを保持し、検索要求に付随する検索条件を共有メモリから読み出した検索対象データと与えられた検索条件と比較する一致判定部に設定した後検索読み出し要求を開始し、
    順次共有メモリから読み出された検索対象データが一致判定部で比較された比較結果を受け取ると、比較結果を判定して一致した場合は一致終了通知を検索要求元へ返すとともに検索読み出し要求を終了し、
    一致しない場合は次の比較結果の判定を繰り返し共有メモリからの読み出しアドレスが保持している読み出しアドレスと一致した時点で検索読み出し要求を終了し、検索終了通知を検索要求元に返す要求処理手順を、
    共有メモリから読み出した検索対象データを共通して使用しながら複数の一致判定部でそれぞれの検索要求に伴う検索条件にて比較するように並列してコンピュータに実行させることを特徴とするプログラム。
  14. M個の検索要求元の1つから検索要求を受け付けると一致判定部の数N(M>N≧2)を越えない範囲で検索要求を前記要求処理手順に割り付けて前記要求処理手順を並列してコンピュータに実行させることを特徴とする請求項12又は13のプログラム。
JP2003080614A 2003-03-24 2003-03-24 検索要求を並列処理する検索装置、検索方法、及びプログラム Withdrawn JP2004287963A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003080614A JP2004287963A (ja) 2003-03-24 2003-03-24 検索要求を並列処理する検索装置、検索方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003080614A JP2004287963A (ja) 2003-03-24 2003-03-24 検索要求を並列処理する検索装置、検索方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2004287963A true JP2004287963A (ja) 2004-10-14

Family

ID=33294423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003080614A Withdrawn JP2004287963A (ja) 2003-03-24 2003-03-24 検索要求を並列処理する検索装置、検索方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2004287963A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100938183B1 (ko) 2007-10-19 2010-01-21 한국과학기술정보연구원 병렬화를 이용한 스크래치 디스크의 파일 삭제 장치 및이를 이용한 파일 삭제 방법과 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
JP2010128831A (ja) * 2008-11-28 2010-06-10 Nomura Research Institute Ltd データ検索システム、方法及びコンピュータプログラム
JP2010211389A (ja) * 2009-03-09 2010-09-24 Canon Inc プロトコル処理装置及び方法
JP2012027998A (ja) * 2010-06-21 2012-02-09 Renesas Electronics Corp 半導体記憶装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100938183B1 (ko) 2007-10-19 2010-01-21 한국과학기술정보연구원 병렬화를 이용한 스크래치 디스크의 파일 삭제 장치 및이를 이용한 파일 삭제 방법과 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
JP2010128831A (ja) * 2008-11-28 2010-06-10 Nomura Research Institute Ltd データ検索システム、方法及びコンピュータプログラム
JP2010211389A (ja) * 2009-03-09 2010-09-24 Canon Inc プロトコル処理装置及び方法
JP2012027998A (ja) * 2010-06-21 2012-02-09 Renesas Electronics Corp 半導体記憶装置

Similar Documents

Publication Publication Date Title
US7194568B2 (en) System and method for dynamic mirror-bank addressing
US5896501A (en) Multiprocessor system and parallel processing method for processing data transferred between processors
JPH02267634A (ja) 割込み処理装置
US20060069897A1 (en) Information processing device and information processing method
CN113377689B (zh) 一种路由表项查找、存储方法及网络芯片
JP2008009591A (ja) キャッシュメモリシステム
JP2004287963A (ja) 検索要求を並列処理する検索装置、検索方法、及びプログラム
US20050135402A1 (en) Data transfer apparatus
JPH08292932A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
KR20220061500A (ko) 고속 네트워크 보안 장비의 동일 패킷 분산 처리를 위한 장치 및 방법
JPH11232213A (ja) 入出力装置におけるデータ転送方式
JP2731761B2 (ja) ネットワーク制御装置
US20100153610A1 (en) Bus arbiter and bus system
JPH09146839A (ja) キャッシュメモリ制御装置
KR100841130B1 (ko) 상호접속 네트워크를 통한 효율적인 순서화 저장을 위한방법 및 장치
JP2008102759A (ja) メモリアクセス制御装置
JP7031349B2 (ja) ノード
WO2007097002A1 (ja) データ読み書き制御装置
US6944698B2 (en) Method and apparatus for providing bus arbitrations in a data processing system
JPH08171458A (ja) ディスク制御装置
JP2010211389A (ja) プロトコル処理装置及び方法
JP5778640B2 (ja) フレーム検索処理装置および方法
JP2008171335A (ja) レジスタアクセス方式
JP2000172675A (ja) リストベクトル処理装置
JP2020035264A (ja) メモリアクセス制御装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050310

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606