JP3634681B2 - 検索要求並列処理方法,及びその方法の実現に用いられるプログラム記録媒体 - Google Patents

検索要求並列処理方法,及びその方法の実現に用いられるプログラム記録媒体 Download PDF

Info

Publication number
JP3634681B2
JP3634681B2 JP23018799A JP23018799A JP3634681B2 JP 3634681 B2 JP3634681 B2 JP 3634681B2 JP 23018799 A JP23018799 A JP 23018799A JP 23018799 A JP23018799 A JP 23018799A JP 3634681 B2 JP3634681 B2 JP 3634681B2
Authority
JP
Japan
Prior art keywords
search
search request
processing
priority
parallel
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.)
Expired - Fee Related
Application number
JP23018799A
Other languages
English (en)
Other versions
JP2001052027A (ja
Inventor
健也 鈴木
亮 勝田
勝 宮本
英昭 小澤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP23018799A priority Critical patent/JP3634681B2/ja
Publication of JP2001052027A publication Critical patent/JP2001052027A/ja
Application granted granted Critical
Publication of JP3634681B2 publication Critical patent/JP3634681B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は,各県名が含まれる情報をデータベースから視覚化することなど,多くの検索要求を発行して得られた結果を統合して処理する必要のあるシステムにおいて,個々の検索要求が独立して実行でき,利用できる検索処理部が複数存在する場合に,全ての検索処理部を効率よく利用し,統合処理を実行する際に最も必要となる部分から先に検索を行うことで,システム全体の応答時間を速くし,かつ,利用者から見て必要な部分から先に提示されるシステムを構築するための検索要求並列処理方法と,その方法の実現に用いられるプログラムが記録されるプログラム記録媒体とに関する。
【0002】
【従来の技術】
従来,各県名が含まれる情報をデータベースから視覚化するなどの処理を実現する場合には,各県名など,個々の検索要求を逐次的に検索処理部に発行し,全ての検索結果がそろった後,得られた結果を統合処理することで,視覚化などの全体としての結果を構成する処理を実現してきた。
【0003】
このような逐次的に検索する方法を用いることで,個々の検索要求の結果を逐次的に検証し,その結果を逐次的に統合して総合的な検索結果を作成することができ,視覚化などの複雑な処理を要素還元的に矛盾なく実行することが可能となっている。
【0004】
【発明が解決しようとする課題】
従来の技術を用いた場合,個々の検索要求が各々独立で並列に処理でき,検索処理部が複数存在する場合であっても,検索要求は逐次的にしか発行されないため,複数のハードウェア資源を用いた並列化処理を実現することが困難であった。
【0005】
また,個々の検索要求は等価なものとして扱われるため,統合処理を実行する際に最も必要となる部分や,利用者が最も必要としている部分から先に検索を行うなどといった処理を実現することも難しかった。
【0006】
本発明の目的は,問題が並列に検索要求を発行して処理でき,複数の検索処理部が存在する場合に,各検索要求に対して優先順位を付与し,優先順位の高いものから検索処理部の数分の並列度で検索を実行した後に,先に返ってきた結果から順に統合して即座に返答処理を行うことができるようにすることで,従来技術の問題点の解決を図る新たな検索要求並列処理方法の提供と,その方法の実現に用いられる新たなプログラム記録媒体の提供とを目的とする。
【0007】
【課題を解決するための手段】
この目的を達成するために,本発明では,複数の検索処理部を使って,並列型の検索要求を処理するときにあって,同一検索項目について複数の項目値が指定され,かつ,それらの項目値について利用者により設定された順位情報を持つように構成される並列型検索要求を受け取り,それらの項目値に基づいて,その並列型検索要求を個々の検索要求に分割する第1の処理過程と,並列型検索要求の持つ順位情報による順位に基づいた大きな重みを与えることにより,分割した検索要求について並列型検索要求内での優先順位を示す値を求め,それに並列型検索要求の受け取り順序に基づいた小さな重みを加えることにより,分割した検索要求について最終的な優先順位を示す値を求めて,各検索処理部に対して該優先順位の高い検索要求を要求する第2の処理過程と,検索処理部が検索結果を得るときに,それらの検索結果を受け取り,優先順位の高いものからの順番に従って,それらの検索結果を検索要求発行元に返答する第3の処理過程と,検索処理部が検索結果を得るときに,未要求の検索要求が残されているのかを判断して,残されている場合には,優先順位の高いものからの順番に従って,空いている検索処理部に対して未要求の検索要求を要求する第4の処理過程とを備えるように構成する。
【0008】
そして,この構成を取るときに,発行された並列型検索要求の処理の完了を正確に判断できるようにするために,検索処理部が検索結果を得るときに,並列型検索要求に対応付けて用意される表に,該検索結果の元となった検索要求の処理終了を示す情報を記録する記録処理過程と,該記録された情報に従って,並列型検索要求の処理の完了を判定する判定処理過程とを備えるように構成する。
【0009】
このように構成される本発明では,第1の処理過程では,検索要求発行元の発行する並列型の検索要求を受け取ると,その並列型検索要求を,検索処理部において検索を実行できる逐次的な形式に変換する。
【0010】
この第1の処理過程の処理を受けて,第2の処理過程では,受け取った並列型検索要求に付随する情報と,並列型検索要求の受け取り順序の情報とを用いて,分割された検索要求に優先順位を付与し(1,2,3・・・というような自然数表現の優先順位ではなくて,そのような自然数表現の優先順位を決定可能とする値を持つ優先順位を付与する),その優先順序の高い順に,検索処理部での利用可能なユニット数に応じて,その分割された検索要求を検索処理部に要求する。
【0011】
この第2の処理過程の処理を受けて,第3の処理過程では,非同期に発生する検索処理部からの検索結果を,それと対応する分割された個々の検索要求の結果として格納し,同時に検索結果が発生するときには優先度の高い検索結果を先に返答する形式に従いつつ,検索要求発行元に順次に返答する。
【0012】
一方,この第2の処理過程の処理を受けて,第4の処理過程では,検索処理部が検索結果を得ることで検索処理部に空きが生ずることを受けて,未要求の検索要求が残されているのかを判断して,未要求の検索要求が残されている場合には,処理を行っていない検索処理部の各ユニットに対して,それらの未要求の検索要求を優先順位の順に要求する。
【0013】
そして,記録処理過程/判定処理過程では,検索処理部からの検索結果を受け取ると,並列型検索要求に対応付けて用意される表に,例えば,それと対応する分割された個々の検索要求に対応付けてフラグを記録し,該当する並列型検索要求の持つ全検索要求にフラグが記録されたのか否かを判定することで,該当する並列型検索要求が全て処理されたかどうかを判定して,該当する並列型検索要求が全て処理された場合には,検索要求発行元に検索処理の完了を返答する。
【0014】
従って,本発明によれば,複数の検索処理部を使って並列型の検索要求を処理する場合に,各検索要求に対して優先順位を付与し,優先順位の高いものから検索処理部の数分の並列度で検索を実行した後に,先に返ってきた結果から順に統合して即座に返答処理を行うことができるようになり,従来の技術では困難であった検索処理を実現できるようになる。
【0015】
この構成を取るときに,複数の並列型検索要求が発行される場合を考慮して,第2の処理過程では,並列型検索要求の持つ順位情報による順位に基づいた大きな重みを与えることにより,分割した検索要求について並列型検索要求内での優先順位を示す値を求め,それに並列型検索要求の受け取り順序に基づいた小さな重みを加えることにより,分割した検索要求について最終的な優先順位を示す値を求めることで,分割した検索要求に対する優先順位を定めるようにしており,これにより,複数の並列型検索要求に統一的な優先順位を割り付けることで,未要求の検索要求と新たに分割された検索要求とを優先順位で順序付けるとともに,そのとき,空いている検索処理部がある場合には,優先順位の高いものからの順番に従って,その空いている検索処理部に対して該検索要求を要求することを実現している。
【0016】
先に発行された並列型検索要求の処理が完了する前に,次の並列型検索要求が発行されることが起こる。このような場合,受け取った並列型検索要求に対して識別子が与えられた後,第1の処理過程の処理に従って,後に発行された並列型検索要求から個々の検索要求が分割される。
【0017】
このようなときには,第2の処理過程で,複数の並列型検索要求に統一的な優先順位を割り付けることで,未要求の検索要求と新たに分割された検索要求とを優先順位で順序付け,これにより,別々の並列型検索要求に対して矛盾なく返答処理を行うことができる。
【0018】
従って,本発明によれば,複数の並列型検索要求に統一的な優先順位を付与し,優先順位の高いものから検索処理部の数分の並列度で検索を実行した後に,先に返ってきた結果から順に統合して,別々の並列型検索要求に対して矛盾なく即座に返答処理を行うことができるようになり,従来の技術では困難であった検索処理を実現できるようになる。
【0019】
【発明の実施の形態】
以下,本発明の一実施例について,図面を用いて詳細に説明する。
【0020】
図1に,本発明の並列型検索要求分散統合処理装置のシステム構成の一実施例を図示する。
【0021】
図1に示すクライアントシステム1は,例えば,図2に示すような,各県名が含まれる情報をデータベースから視覚化するといった処理を実現するための利用者インタフェースシステムである。この図2の表示では,各県の名前をキーワードとしてデータベースを検索した結果を統合して,その結果が0でない県に対して,その県名が含まれる情報の数を地図上の棒グラフとして表現している。
【0022】
図2のような表現を生成することで,利用者に対してデータベースの検索結果を視覚的にわかりやすく提供することができる。また,図2のような画面を用いて,利用者が選択を行うことで,その他の表現を行う際の検索条件の設定を視覚的にわかりやすく行うことが可能となる。
【0023】
図1に示す検索サーバシステム2は,クライアントシステム1からの検索要求を処理する並列型検索要求分散統合処理装置である。
【0024】
この検索サーバシステム2は,クライアントシステム1からの並列型の検索要求を受け取る検索インタフェース部3と,検索インタフェース部3で受け取った並列型の検索要求を個々の検索要求に分割する検索要求分割部4と,該分割された検索要求に優先順位をつけ,その優先順序の高い順に,検索処理部6の数分の該検索要求(但し,その数分ないときには全部)を該検索処理部6に要求する優先順位付与部5と,該分割され優先順位をつけられた検索要求を実際に処理する複数構成の検索処理部6と,検索処理部6が得た検索結果を統合する検索結果統合部7と,検索インタフェース部3で受け取った並列型の検索要求が全て処理されたかを判定し,全て処理されていない場合には,付与された優先順序に従い,未処理の検索要求を空いている検索処理部6に要求する検索処理完了判定部8と,該分割され優先順位をつけられた検索要求が検索処理部6の数より多い場合に,その検索要求を一時的に保持する検索要求保持部9と,実際に検索すべきデータが格納されたデータベース10とを備える。
【0025】
ここで,検索サーバシステム2の持つこれらの機能は具体的にはプログラムで実現されるものであり,このプログラムは,フロッピィディスクなどに格納されたり,サーバなどのディスクなどに格納され,それらから検索サーバシステム2にインストールされてメモリ上で動作することで,本発明を実現することになる。
【0026】
検索インタフェース部3は,例えば,WWW(World Wide Web)におけるCGI(Common Gateway Interface)プログラムなどで構成され,クライアントシステム1からの検索要求を実際に通信プロトコルを用いて受け取り,検索要求のみを切り出したり,クライアントシステム1に対して検索結果を返す通信処理を行う。検索インタフェース部3で切り出された検索要求は,検索要求分割部4に渡される。
【0027】
図3は,検索要求分割部4に渡される検索要求の一例である。ここで,同図3に示した検索要求では,例として,図2を生成するために必要な検索項目を想定している。
【0028】
図3の検索要求は,「検索項目」,「付帯条件」,「興味項目」の3つの表からなっている。各表題に続く「=」以後がそれぞれの内容を表している。つまり,この例では,「検索項目」は「北海道」「岩手」「東京」「大阪」「山口」「愛媛」「熊本」という内容をもっており,「付帯条件」は無し,「興味項目」は「東京,大阪」「北海道」という内容をもっている。
【0029】
同図3に示した検索要求の意味としては,「検索項目」の内容一つ一つに対して,それをキーワードとした検索を行うことを表している。つまり,それぞれの検索内容は独立していて,一つの検索結果が他の検索に影響を与えない,並列型の検索要求である。
【0030】
また,検索における検索結果間の論理積演算を記述するには,「付帯条件」にそのキーワードを指定する。例えば,「日本列島における温泉情報の分布」を検索したい場合には,「付帯条件」に「温泉」等のキーワードを指定することで,「検索項目」の各項目の検索結果と「温泉」等の検索結果との論理積が記述される。
【0031】
「興味項目」は,直接検索には関係しないが,利用者がどの検索結果をもっとも必要としているかを指定する。図3の場合は,「東京」「大阪」の結果をもっとも必要としていて,次に「北海道」,その他は第3位の必要性であることを指定している。すなわち,「東京」「大阪」の結果の必要性が第1位,「北海道」の結果の必要性が第2位,その他の結果の必要性が第3位ということを表している。
【0032】
検索要求分割部4は,図3のような並列型の検索要求を受け取ると,これを検索要求の記述文法に従って解析し,個々の検索要求に分割し,優先順位付与部5に渡す。
【0033】
図4は,検索要求分割部4によって,図3の検索要求を分割した結果の一例である。この表は,検索要求保持部9に格納される。
【0034】
同図4は,図3の検索要求における「検索項目」の内容をそのまま書き下した形になっており,検索No.1は「北海道」,検索No.2は「岩手」,検索No.3は「東京」,検索No.4は「大阪」,検索No.5は「山口」,検索No.6は「愛媛」,検索No.7は「熊本」となる。
【0035】
もし,「付帯条件」の項目が存在していれば,各検索要求にそれが反映される。例えば,「付帯条件」に「温泉」が指定されていたとすると,検索No.1は「北海道 AND 温泉」,検索No.2は「岩手 AND 温泉」,検索No.3は「東京 AND 温泉」,検索No.4は「大阪 AND 温泉」,検索No.5は「山口 AND 温泉」,検索No.6は「愛媛 AND 温泉」,検索No.7は「熊本 AND 温泉」となる。ここで,キーワードの論理積を検索要求に記述するために,各キーワードを「AND 」で区切って記述するとした。
【0036】
優先順位付与部5では,図4のように分割された検索要求を受け取ると,図3の「興味項目」などの情報から優先順位を判定し,検索要求保持部9に格納する。その後,優先順位の高い検索要求から,検索処理部6の数分,検索処理部6に検索要求を発行し,残った検索要求のリストを検索処理完了判定部8に渡す。
【0037】
図5は,優先順位付与部5によって優先順位を判定され,検索要求保持部9に格納された検索要求の一例である。この表(以下,検索要求表と称する)は,図4の表を拡張した形(優先順位が付与される)で検索要求保持部9に格納される。
【0038】
同図5では,図3の「興味項目」に第1位の必要性と記述されている検索No.3「東京」と検索No.4「大阪」とを優先順位「1」とし,第2位の必要性と記述されている検索No.1「北海道」を優先順位「2」とし,その他を優先順位「3」としている。また,同じ優先順位の項目の順序については,検索要求分割部4によって分割された順としている。
【0039】
同図5に示した「ポインタ」は,検索要求をどこまで発行したかを表しており,検索処理完了判定部8などから参照される。
【0040】
検索処理部6は,優先順位付与部5から受け取った検索要求を処理する。ここでは,例えば,データベース10に投入されたテキスト群から全文検索を行い,検索要求に適合したテキストを返す処理を行うとする。検索処理部6は,このような全文検索処理を独立に実行できるユニットをn個持っている。ここで,nはn≧1を満たす自然数である。
【0041】
検索処理部6の実現方法としては,例えば,データベース10のコピーをn個用意して,全文検索を実行できる計算機n台をそれにつなぎ,それぞれネットワークを使って,優先順位付与部5や検索処理完了判定部8や検索結果統合部7と結ぶことが挙げられる。
【0042】
ここで,検索処理部6の各検索処理装置間の性能に差異がある場合は,検索性能の高い順に優先順位の高い検索要求を割り振ることで,システムとして極大の性能を引き出すことができる。
【0043】
さて,検索処理部6により検索された結果は,検索結果統合部7や検索処理完了判定部8に渡される。この際,検索処理の結果を統合したり,検索処理の終了を判定するために,検索要求保持部9に格納されている検索要求表(図5に示すもの)を拡張する。拡張する項目は,検索結果統合部7において行う統合処理の内容に依存するが,ここでは一例として,全文検索の結果,マッチした文書の数(以下,検索数と呼ぶ)を統合することとし,これに合わせて,検索要求表にこの検索数を拡張していくことを想定する。
【0044】
図6は,検索要求保持部9に格納されている検索要求表に,検索数を拡張した例である。なお,この検索要求表には,図5に示した優先順位の情報も保持されているが,図6ではそれを省いてある。
【0045】
同図6の「検索数」の列には,検索処理部6から検索結果統合部7に渡された,全文検索の結果マッチした文書の数が格納されている。検索処理部6からの結果が検索結果統合部7にまだ届いていない場合は,特殊な値「#####」が格納されている。検索処理完了判定部8で実行する検索が全て終了したかどうかの判定は,「検索数」の列に,この値「#####」が存在するか否かで行うことができる。
【0046】
検索結果統合部7では,検索処理部6から受け取った検索数を,逐次,該当する検索要求と合わせて,検索インタフェース部3に渡す。
【0047】
図7は,検索結果統合部7から検索インタフェース部3に渡される検索結果の一例である。同図7の(a),(b),(c)は,検索インタフェース部3に渡される結果を時系列的に図示したもので,(a)は図6が示すのと同じ状態,(b)はその少し後の状態,(c)は検索が全て終了した状態を示している。
【0048】
同図7に示した検索結果は,例として,図3の検索要求に対応した表となっている。同図7では,図3で「検索項目」として列記した項目に対応する形で,「東京 120」「北海道 40」「大阪 50」「岩手 30」「山口 11」「愛媛 9」「熊本 10」という検索数を返している。
【0049】
同図7に示した検索結果が並ぶ順序は,検索結果統合部7が検索処理部6から受け取った順である。つまり,個々の検索が先に終了した結果から順次検索インタフェース部3に送られるわけだが,もしも個々の検索が同時に終了した場合には,図5における優先順位が高い方から先に送られることになる。
【0050】
検索処理完了判定部8は,検索処理部6から受け取った検索数を,検索要求保持部9に格納されている検索要求表の該当する検索要求の欄に代入する。そして,「検索数」の列に値「#####」が存在しない場合には,検索結果統合部7に対して,検索終了通知を渡す。反対に,「検索数」の列に値「#####」が存在する場合には,前記図5のポインタを用いて,優先順位の高い検索要求から順に検索処理部6に割り振って検索を進める。
【0051】
ここで,検索処理部6の各検索処理装置間の性能に差異がある場合は,検索性能の高い順に優先順位の高い検索要求を割り振ることで,システムとして極大の性能を引き出すことができる。上述した検索結果統合部7は,検索処理部6から検索数を受け取るのと同時に,検索処理完了判定部8からの検索終了通知を待っている。そして,この検索終了通知を受け取ると,検索処理部6から受け取った検索数の処理の終了を待った後,検索インタフェース部3に対して,通信終了通知を渡す。
【0052】
これによって,検索が先に終了した結果から順次検索インタフェース部3に送られ,続いてクライアントシステム1に送られる。検索インタフェース部3に,WWWにおけるCGIプログラムを用いた場合,WWWの標準プロトコルであるHTTP(Hyper Text Transfer Protocol)を使って,検索インタフェース部3とクライアントシステム1との間の通信が行われる。このプロトコルで通信が行われると,検索が終了するまで通信回線が保持されるので,検索インタフェース部3が受け取った検索結果は,即座にクライアントシステム1に伝えられることになる。
【0053】
クライアントシステム1では,自身が送信した図3の検索要求で指定した順序や,この検索要求で指定した優先順位とは異なる順序で検索結果が返信されることを考慮して実装する必要がある。つまり,図7のような検索結果が返信された場合であっても,検索項目をキーとして検索結果を統合処理し,結果が0でない県に対して地図上の棒グラフとして表現することで,図2のような視覚化結果を得るように処理する。
【0054】
検索結果統合部7,検索処理完了判定部8,検索インタフェース部3からクライアントシステム1に通ずるシステムの動作をまとめる。ここでは,説明の便宜上,検索処理部6には,能力の等価な3つのユニット(検索処理装置)が存在するものとして説明を行う。
【0055】
優先順位付与部5から検索処理部6に発行された検索要求「東京」「大阪」「北海道」の処理(優先順位に従ってこの3つの検索要求が3つのユニットに発行される)が終わると,検索結果が検索処理部6から検索結果統合部7,検索処理完了判定部8に送られる。このとき,「大阪」の検索処理が遅れ,「東京」「北海道」の検索結果が得られたとする。
【0056】
検索結果統合部7では,得られた検索結果「東京 120」「北海道 40」を検索インタフェース部3に渡す。検索処理完了判定部8では,図6に示す拡張された検索要求表の「検索数」欄の「東京」「北海道」に,それぞれ「 120」「40」を代入し,図5のポインタを用いて,処理の済んでいない検索要求から,「岩手」「山口」の2つを検索処理部6の空いている2つのユニットに対して発行し,ポインタを「愛媛」に移す。
【0057】
検索インタフェース部3では,「東京 120」「北海道 40」をクライアントシステム1に対して送信する。クライアントシステム1では,検索結果の統合処理を行うが,以前には何も届いていなかったので,受信した「東京 120」「北海道 40」を結果として図7(a)を得る。この結果を地図上の棒グラフとして表現することで,優先順位第1位の「東京」と第2位の「北海道」とが画面に表示される。
【0058】
次に,検索処理部6で処理中の検索要求「岩手」「大阪」「山口」の内,「岩手」「大阪」の検索処理が終わり,検索結果が検索結果統合部7,検索処理完了判定部8に送られたとする。
【0059】
検索結果統合部7では,得られた検索結果「岩手 30」「大阪 50」を検索インタフェース部3に渡す。このとき,「岩手」と「大阪」では,「大阪」の方が優先順位が高いので,「大阪 50」→「岩手 30」の順で検索インタフェース部3に渡す。
【0060】
検索処理完了判定部8では,図6に示す拡張された検索要求表の「検索数」欄の「岩手」「大阪」に,それぞれ「30」「50」を代入し,図5のポインタを用いて,処理の済んでいない検索要求から,「愛媛」「熊本」の2つを検索処理部6の空いている2つのユニットに対して発行し,ポインタを「処理対象なし」状態とする。
【0061】
検索インタフェース部3では,「大阪 50」「岩手 30」をクライアントシステム1に対して送信する。クライアントシステム1では,検索結果の統合処理を行い,受信した「大阪 50」「岩手 30」を,以前受信した「東京 120」「北海道 40」の後に追加して図7(b)を得る。この結果を地図上の棒グラフとして表現することで,優先順位第1位の「大阪」と優先順位なしの「岩手」とが,先に表示されていた「東京」「北海道」に加えて画面に表示される。
【0062】
次に,検索処理部6で処理中の検索要求「愛媛」「熊本」「山口」の内,「山口」の検索処理が終わり,検索結果が検索結果統合部7,検索処理完了判定部8に送られたとする。
【0063】
検索結果統合部7では,得られた検索結果「山口 11」を検索インタフェース部3に渡す。検索処理完了判定部8では,図6に示す拡張された検索要求表の「検索数」欄の「山口」に「11」を代入する。このとき,図5のポインタは「処理対象なし」状態であるため,新たな検索要求は発行されない。
【0064】
検索インタフェース部3では,「山口 11」をクライアントシステム1に対して送信する。クライアントシステム1では,検索結果の統合処理を行い,受信した「山口 11」を,以前受信した「東京 120」「北海道 40」「大阪 50」「岩手 30」の後に追加する。この結果を地図上の棒グラフとして表現することで,優先順位なしの「山口」が,先に表示されていた「東京」「北海道」「大阪」「岩手」に加えて画面に表示される。
【0065】
最後に,検索処理部6で処理中の検索要求「愛媛」「熊本」の検索処理が終わり,検索結果が検索結果統合部7,検索処理完了判定部8に送られる。
【0066】
検索結果統合部7では,得られた検索結果「愛媛 9」「熊本 10」を検索インタフェース部3に渡す。検索処理完了判定部8では,図6に示す拡張された検索要求表の「検索数」欄の「愛媛」「熊本」に,それぞれ「9」「10」を代入する。このとき,図5のポインタは「処理対象なし」状態であるため,新たな検索要求は発行されない。
【0067】
更に,図6に示す拡張された検索要求表の「検索数」列に値「#####」が存在しなくなるため,検索処理完了判定部8では,検索結果統合部7に対して検索終了通知を渡す。これ受けて,検索結果統合部7では,得られた検索結果「愛媛 9」「熊本 10」を検索インタフェース部3に渡す処理が終了したら,検索インタフェース部3に対して通信終了通知を渡す。
【0068】
検索インタフェース部3では,「愛媛 9」「熊本 10」をクライアントシステム1に対して送信する。その後,即座に検索結果統合部7から通信終了通知を受け取るため,クライアントシステム1の受信を待って通信回線を切断する。
【0069】
クライアントシステム1では,検索結果の統合処理を行い,受信した「愛媛 9」「熊本 10」を,以前受信した「東京 120」「北海道 40」「大阪 50」「岩手 30」「山口 11」の後に追加して図7(c)を得る。この結果を地図上の棒グラフとして表現することで,優先順位なしの「愛媛」「熊本」が,先に表示されていた「東京」「北海道」「大阪」「岩手」「山口」に加えて画面に表示される。これで,前記図2が完成するわけである。
【0070】
以上のようにして,並列型の検索要求に優先順位を付けて検索を実行し,優先順位の高いものから統合して結果を返すことができる。
【0071】
この例では,計算機の過負荷等の原因によって,検索処理部6の各ユニットが当初の性能を発揮できないことで,指定した優先順位とは異なった順序で結果が返ることを想定しているが,そのような場合でも,システム全体として最善の性能を得ることができるようになっている。なお,検索処理部6の各ユニットが同性能で性能を十分に発揮できる場合には,指定した優先順位の順序で結果を返すことができる。
【0072】
ここまでで示したシステムは,一組の並列型検索要求に対する一例であり,二組以上の並列型検索要求に対して,優先順位を付与して検索を実行することには適していない。しかし,二組以上の並列型検索要求を分割した個々の検索要求に対して,全体として矛盾なく一般的な優先順位を付けることで,以上のシステムを,二組以上の並列型検索要求に対するシステムに拡張することができる。
【0073】
次に,二組以上の並列型検索要求に対して本発明を用いるための拡張について詳細に説明する。
【0074】
この拡張を行った場合,検索要求保持部9に格納される図4/図6の表と図5の表とは,同一の表の一部を切り出したものではなくなる。この場合には,図4(但し,図6と同様な検索数のエントリーを持つ)/図6の表は,並列型検索要求の処理が完了したのか否かのチェックを可能とするために,一つ一つの並列型検索要求に対応して複数用意されるのに対し,次に発行する検索要求の指定に用いられるポインタを持つ図5の表は,未処理の検索要求を統括的に管理するために,一つのシステムに対して一つ用意されることになる。
【0075】
すなわち,図8に示すように,図4や図6に示すような検索要求表は,各並列型検索要求に対応付けて用意されるのに対して,図5に示すような表(以下,優先順位表と呼ぶ)は,一つのシステムに対して一つ用意されることになる。
【0076】
この拡張を実装するためのポイントは,優先順位付与部5である。その他は,そのまま利用できる。以下,拡張された優先順位付与部5を拡張優先順位付与部と呼称する。
【0077】
図9は,拡張優先順位付与部を説明するための追加の検索要求例として,「検索項目」に「青森」「群馬」「栃木」「静岡」「愛知」「高知」「沖縄」,「付帯条件」に「温泉」,「興味項目」に「青森,沖縄」「静岡」という内容を持った検索要求に対して,検索要求分割部4による処理を経た後の図である。
【0078】
ここで,個々の検索要求を見分けるために,検索要求の番号として,
「検索要求の先着順」+「−」+「番号」
を採用した。但し,「検索要求の先着順」が「1」のときは,特別に「番号」のみとする。この例では,最初に,図3に示す並列型検索要求が発行され,その後,図9に示す並列型検索要求が発行されたことを想定している。
【0079】
このような番号付与による識別子によって各並列型検索要求が区別され,後述することから分かるように,この識別子を使って,通信接続や,検索処理部から得た結果を統合する処理や,並列型の検索要求が全て処理されたかを判定する処理などが実行されることになる。
【0080】
拡張優先順位付与部では,図4や図9のように分割された検索要求を受け取ると,図4(図3)や図9の「興味項目」や,検索要求の到着順などの情報から優先順位を判定し,検索要求保持部9に格納する。その後,優先順位の高い検索要求から,検索処理部6の中の処理を実行していないユニットに対して検索要求を発行し,残った検索要求のリストを検索処理完了判定部8に渡す。
ここで,拡張優先順位付与部は,1,2,3・・・というような自然数表現の優先順位を付与するのではなくて,そのような自然数表現の優先順位を決定可能とする値を持つ優先順位を付与することになる。
【0081】
図10及び図11は拡張優先順位付与部によって優先順位を判定され,検索要求保持部9に格納された検索要求の一例である。この表(優先順位表)は,検索要求保持部9に格納される。
【0082】
同図10及び図11における優先順位(1,2,3・・・というような自然数表現の優先順位ではなくて,そのような自然数表現の優先順位を決定可能とする値を持つ優先順位)は,図4(図3)や図9の「興味項目」に記述される必要性の度合いと,検索要求の到着順によって,
「必要性の順位」×10+「検索要求の到着順」
の式で計算される。
【0083】
つまり,最初に到達する,図4に示した第1番目の検索要求の内,第1位の必要性と記述されている検索No.3「東京」と検索No.4「大阪」とを優先順位「11(=1*10+1) 」とし,第2位の必要性と記述されている検索No.2「北海道」を優先順位「21(=2*10+1) 」とし,その他を優先順位「31(=3*10+1) 」としている。
【0084】
また,その後に到達する,図9に示した第2番目の検索要求の内,第1位の必要性と記述されている検索No.2−1「青森 AND 温泉」と検索No.2−7「沖縄 AND 温泉」とを優先順位「12(=1*10+2) 」とし,第2位の必要性と記述されている検索No.2−4「静岡 AND 温泉」を優先順位「22(=2*10+2) 」とし,その他を優先順位「32(=3*10+2) 」としている。ここで,同じ優先順位の項目の順序については,検索要求分割部4によって分割された順としている。
【0085】
同図10及び図11に示した「ポインタ」は,検索要求をどこまで発行したかを表し,検索処理完了判定部8などから参照される。
【0086】
図10と図11の違いは,図10では,2つの検索要求がほぼ同時に到着したために,拡張優先順位付与部は,全ての検索要求を優先順位の高い順に整列させた後,優先順位に従って,検索No.3「東京」,検索No.4「大阪」,検索No.2−1「青森 AND 温泉」を検索処理部6(3つのユニットを持つ)に発行し,「ポインタ」を検索No.2−7「沖縄 AND 温泉」の位置に設定している。
【0087】
これに対して,図11では,図4に示す検索要求が早く到着したことで,拡張優先順位付与部は,検索No.3「東京」,検索No.4「大阪」,検索No.1「北海道」を検索処理部6に発行し,それらの検索処理中に,図9に示す検索要求が到着したため,既に発行済みの検索要求はそのままにして,「ポインタ」が指し示す以降の検索要求に対して優先順位の高い順に整列させている点である。
【0088】
このような処理を実装することで,システムに対する検索要求が単一の場合も,複数の場合でも,ある時点で利用可能な検索処理ユニットの全てを有効に活用することができ,極大のパフォーマンスを得ることができる。
【0089】
図12に,本発明を実現する上でポイントとなる拡張優先順位付与部(優先順位付与部5)で行われる処理のフローチャートを図示する。次に,このフローチャートに従って,拡張優先順位付与部(優先順位付与部5)で行われる処理について詳細に説明する。
【0090】
拡張優先順位付与部(優先順位付与部5)は,このフローチャートに示すように,ステップS1として,検索要求分割部4から図4や図9のような分割された検索要求が渡されるのを待つ。本ステップは,説明の便宜上,このような実装になっているが,検索要求分割部4とまとめて実装した場合には,このステップS1を省略することができる。検索要求分割部4から検索要求が渡されると処理をステップS2に移行する。
【0091】
ステップS2では,変数「通し番号(検索要求の到着順を示す)」に対して1を加える。これは,図9の「No.」項目のような番号を一意に決定するためである。変数「通し番号」は,本発明の装置が1つも検索要求を処理していない状況において,リセットしてもよい。
【0092】
次にステップS3として,検索要求分割部4で分割された検索要求を1つ取得する。検索要求は個々に分割されているので,適宜「No.」の項目等を利用して,この取得を行う。
【0093】
その後,ステップS4では,ステップS3で取得した検索要求がクライアントシステム1から渡された興味項目の中に存在するか否かをチェックし,存在しない場合はステップS5へ,存在する場合はステップS6へ制御を移す。
【0094】
ステップS5では,興味項目に現在処理中の検索要求が含まれていないので,その現在処理中の検索要求に対して,最低の優先順位を割り当てる。ここで,最低の優先順位とは,興味項目に記述された最低の順位(優先度)に1を加えたものとする。図4に示す検索要求で説明するならば,例えば「岩手」の検索要求に対して優先順位3を割り当てるのである。その後ステップS7へ制御を移す。
【0095】
逆に,ステップS6では,興味項目に現在処理中の検索要求が含まれているので,その現在処理中の検索要求に対して,興味項目に記述された順位(優先度)を割り当てる。興味項目が図4や図9のように与えられる場合,その順位は,「興味項目=」で開始される行から行毎に,1,2,3,・・と数えることで与えられる。
【0096】
ここで,もし,クライアントシステム1あるいは利用者として,システム全体の性能を向上させるために,順位を下げてもよい項目があったら,図3のような興味項目の記述を変更して,例えば,1行目「興味項目=東京,大阪」,2行目「北海道」,3行目「9:愛媛」というように記述するようにする。この場合には,前記の順位の取得法に加えて,「:」の前に記述される数字を順位とする。この例の場合で説明するならば,「東京」「大阪」という検索要求の順位は1,「北海道」の順位は2,「愛媛」の順位は9となる。その後ステップS7へ制御を移す。
【0097】
ステップS7では,ステップS5,ステップS6で取得した興味項目内の順位すなわち優先度を基に優先順位を計算する。優先順位の計算は,例えば,ステップS2で設定した「通し番号」を用いて,
「興味項目内の順位」×10+「通し番号」
で与える。このような優先順位を用いることによって,先着順で高い興味項目内の順位を持つものを優先して検索を行うことができる。その後ステップS8へ制御を移す。
【0098】
ステップS8では,図5や図10や図11のような優先順位表(次に要求する検索要求を指定するポインタを持つ表)を更新する。まず,優先順位表が存在しない場合は,新たに作成し,ポインタを「処理対象なし」状態に初期化する。ポインタが「処理対象なし」状態の場合は,現在処理中の検索要求を優先順位表に追加し,ポインタを追加した検索要求に合わせる。ポインタが有効な検索要求を指している場合は,ポインタが指す検索要求から始めて,より優先順位が低い検索要求の方向に,現在処理中の検索要求よりも優先順位の低い検索要求を探し出して,その位置に現在処理中の検索要求を挿入する。
【0099】
このような処理を行うことで,既に処理を開始してしまった検索要求と矛盾することなく,未処理の検索要求の中で優先順位の高い順に処理が行われるようにすることができる。その後ステップS9へ制御を移す。
【0100】
ステップS9では,ステップS3で取得される検索要求がまだ残っているかどうかを判定し,残っている場合はステップS3へ,残っていない場合はステップS10へ制御を移す。検索要求が残っているかどうかの判定は,ステップS3の処理と同時に行ってもよい。
【0101】
次に,ステップS10では,検索処理部6に空いているユニットがあるかどうかを調べ,空いていればステップS11へ,全て処理中であればステップS12へ制御を移す。
【0102】
ステップS11では,図5や図10や図11のような優先順位表のポインタが指している検索要求を検索処理部6の空いているユニットへ送信し,ポインタを次の優先順位を持つ検索要求に進める。空いているユニットを示す情報を更新した後,ステップS10へ制御を戻す。
【0103】
ステップS12では,検索処理完了判定部8に対して,優先順位表及びポインタに変更を加えたことを通知して,ステップS1へ制御を移す。ステップS1では,上述したように,検索要求分割部4から図4や図9のような分割された検索要求が渡されるのを待機する。実装においてステップS1を省略した場合,ステップS12からステップS1へ制御を移すことはなく,拡張優先順位付与部を終了する。
【0104】
以上のようにして,クライアントシステム1からの複数の検索要求に対して,検索サーバシステム2内で実行済みの要求と矛盾しない優先順位を与えることができ,図5や図10や図11のような優先順位表を得ることができる。
【0105】
図13及び図14に,本発明を実現する上でポイントとなる,検索結果統合部7及び検索処理完了判定部8で行われる処理のフローチャートを図示する。次に,このフローチャートに従って,検索結果統合部7及び検索処理完了判定部8で行われる処理について詳細に説明する。
【0106】
このフローチャートに示すように,まず,ステップS20として,検索処理部6から検索結果が渡されるのを待機する。本ステップにおける検索処理部6との通信部分の実装は,検索処理部6との通信が複数同時に発生する可能性があることを考慮に入れて実装する。検索処理部6から検索結果が渡されると,処理をステップS21に移行する。
【0107】
ステップS21では,検索処理部6から渡された検索結果の中から,図5や図10や図11のような優先順位表に照らして,優先順位の最も高いものを選択(取り出し)し,検索結果が格納されているバッファからそれを消去する。その後ステップS22へ制御を移す。
【0108】
ステップS22では,ステップS21で選択された検索結果を検索インタフェース部3へ通知する。検索インタフェース部3では,検索要求の「No.」をキーとして返信する通信セッションを判定し,クライアントシステム1との通信を行う。その後ステップS23へ制御を移す。ステップS22の処理を行うことによって,クライアントシステム1は全ての検索結果が出るのを待つ必要がなく,優先順位の高い順に検索結果を得ることができる。
【0109】
ステップS23では,図4や図9を拡張した図6のような検索要求表(検索結果の記録域を持つ検索要求表)に対して,ステップS21で選択された検索結果に該当する部分を探索し,そこに検索結果を代入する。ここで,検索結果に該当する部分の探索には検索要求の「No.」をキーとして検索を行う。また,検索要求表が複数存在するときには,検索要求の「No.」から先ず最初に検索要求表を特定することになる。その後ステップS24へ制御を移す。
【0110】
ステップS24では,検索処理部6から渡された検索結果で,まだ処理していないものがあるかどうかを判定し,まだ処理していないものがある場合はステップS25へ,渡された検索結果が全て処理済みならステップS26へ制御を移す。本ステップの判定は,検索結果が格納されているバッファに残りがあるのか否かをチェックすることで実現できる。
【0111】
ステップS25では,検索処理部6から渡された検索結果で未処理な検索結果の中から,図5や図10や図11のような優先順位表に照らして,優先順位の最も高いものを選択(取り出し)し,検索結果が格納されているバッファからそれを消去する。その後ステップS22へ制御を移す。
【0112】
ステップS26では,検索要求表の全てに対して,以下のステップS27の処理が実行されたかどうかを判定する。未処理の検索要求表がある場合はステップS27へ,全て処理済みの場合はステップS29へ制御を移す。
【0113】
ステップS27では,図4や図9を拡張した図6のような検索要求表の検索数に,「#####」が含まれるかどうかの判定を行い,「#####」が含まれていない場合はステップS28へ,「#####」が含まれている場合はステップS26へ制御を移す。
【0114】
ステップS28では,検索インタフェース部3に対して,ステップS27で「#####」が含まれていないと判定された検索要求表に対応する通信セッションの切断を指示する通信終了通知を渡す。これを受けて,検索インタフェース部3では,検索要求表の「No.」をキーとして終了する通信セッションを判定し,クライアントシステム1との通信が終了し次第,その通信セッションを切断する。その後ステップS26へ制御を移す。
【0115】
ステップS29では,図5や図10や図11のような優先順位表に付随するポインタの値を判定して,「処理対象なし」の場合にはステップS20へ,ポインタが次の検索要求を指している場合にはステップS30へ制御を移す。
【0116】
ステップS30では,まず検索処理部6中のユニットがいくつ利用可能かを調査し,図5や図10や図11のような優先順位表とポインタとを用いて,検索処理部6の利用可能なユニットに対して,未実行の検索要求で優先順位が高い順に検索要求を発行する。その後ステップS31へ制御を移す。なお,利用可能ユニット数の調査は,検索処理部6が本システムのみから用いられている仮定した場合,前記ステップS23で処理した検索結果の数と同じと見ることができる。
【0117】
ステップS31では,ステップS30で発行した検索要求の数分,優先順位の低い検索要求へポインタを移す。この際,優先順位表に検索要求が残らない場合は,ポインタを「処理対象なし」状態とする。その後ステップS20へ制御を移す。
【0118】
以上のようにして,検索処理部6から渡された検索結果を受け付け,優先順位の高い順に検索インタフェース部3へ渡すことができ,また,まだ処理していない検索要求があった場合,優先順位の高い順に検索処理部6に渡して検索を行うことができる。
【0119】
上記したように,本発明の並列型検索要求分散統合処理装置を用いることで,各県名が含まれる情報をデータベースから視覚化するなど,多くの検索要求を発行して得られた結果を統合して処理する必要のあるシステムにおいて,個々の検索要求が独立して実行でき,利用できる検索処理部が複数存在する場合に,全ての検索処理部を効率よく利用し,統合処理を実行する際に最も必要となる部分から先に検索を行うことで,システム全体の応答時間を速くし,かつ,利用者から見て必要な部分から先に提示されるシステムを構築することができる。
【0120】
【発明の効果】
以上説明したように,本発明によれば,各々独立で並列に処理できる個々の検索要求に対して,複数の検索処理部が存在する場合に,各検索要求に対して優先順位を付与し,優先順位の高いものから検索処理部の数分の並列度で検索を実行した後に,先に返ってきた結果から順に統合して即座に返答処理を行うことが可能となるという効果がある。
この構成の実現にあたって,本発明では,複数の並列型検索要求に対して統一的な優先順位を付与するということから,複数の並列型検索要求が発行される場合にあっても,優先順位の高いものから検索処理部の数分の並列度で検索を実行した後に,先に返ってきた結果から順に統合して即座に返答処理を行うことが可能となるという効果がある。
【図面の簡単な説明】
【図1】並列型検索要求分散統合処理装置の一実施例である。
【図2】本発明の適用される検索処理の一例である。
【図3】検索要求の一例である。
【図4】分割された検索要求の一例である。
【図5】検索要求表の一例である。
【図6】拡張された検索要求表の一例である。
【図7】検索結果の一例である。
【図8】検索要求表/優先順位表の説明図である。
【図9】分割された検索要求の一例である。
【図10】優先順位表の一例である。
【図11】優先順位表の一例である。
【図12】拡張優先順位付与部の処理フローである。
【図13】検索結果統合部/検索処理完了判定部の処理フローである。
【図14】検索結果統合部/検索処理完了判定部の処理フローである。
【符号の説明】
1 クライアントシステム
2 検索サーバシステム
3 検索インタフェース部
4 検索要求分割部
5 優先順位付与部
6 検索処理部
7 検索結果統合部
8 検索処理完了判定部
9 検索要求保持部
10 データベース

Claims (3)

  1. 複数の検索処理部を使って,並列型の検索要求を並列処理する検索要求並列処理方法であって,
    同一検索項目について複数の項目値が指定され,かつ,それらの項目値について利用者により設定された順位情報を持つように構成される並列型検索要求を受け取り,それらの項目値に基づいて,その並列型検索要求を個々の検索要求に分割する第1の処理過程と,
    上記順位情報による順位に基づいた大きな重みを与えることにより,上記分割した検索要求について並列型検索要求内での優先順位を示す値を求め,それに並列型検索要求の受け取り順序に基づいた小さな重みを加えることにより,上記分割した検索要求について最終的な優先順位を示す値を求めて,各検索処理部に対して該優先順位の高い検索要求を要求する第2の処理過程と,
    検索処理部が検索結果を得るときに,それらの検索結果を受け取り,上記優先順位の高いものからの順番に従って,それらの検索結果を検索要求発行元に返答する第3の処理過程と,
    検索処理部が検索結果を得るときに,未要求の検索要求が残されているのかを判断して,残されている場合には,上記優先順位の高いものからの順番に従って,空いている検索処理部に対して未要求の検索要求を要求する第4の処理過程とを備える
    ことを特徴とする検索要求並列処理方法。
  2. 請求項記載の検索要求並列処理方法において,
    検索処理部が検索結果を得るときに,並列型検索要求に対応付けて用意される表に,該検索結果の元となった検索要求の処理終了を示す情報を記録する処理過程と,
    該記録された情報に従って,並列型検索要求の処理の完了を判定する処理過程とを備える
    ことを特徴とする検索要求並列処理方法。
  3. 複数の検索処理部を使って,並列型の検索要求を並列処理する検索要求並列処理方法の実現に用いられるプログラムが記録されるプログラム記録媒体であって,
    同一検索項目について複数の項目値が指定され,かつ,それらの項目値について利用者により設定された順位情報を持つように構成される並列型検索要求を受け取り,それらの項目値に基づいて,その並列型検索要求を個々の検索要求に分割する処理と,
    上記順位情報による順位に基づいた大きな重みを与えることにより,上記分割した検索要求について並列型検索要求内での優先順位を示す値を求め,それに並列型検索要求の受け取り順序に基づいた小さな重みを加えることにより,上記分割した検索要求について最終的な優先順位を示す値を求めて,各検索処理部に対して該優先順位の高い検索要求を要求する処理と,
    検索処理部が検索結果を得るときに,それらの検索結果を受け取り,上記優先順位の高いものからの順番に従って,それらの検索結果を検索要求発行元に返答する処理と,
    検索処理部が検索結果を得るときに,未要求の検索要求が残されているのかを判断して,残されている場合には,上記優先順位の高いものからの順番に従って,空いている検索処理部に対して未要求の検索要求を要求する処理とをコンピュータに実行させるプログラムが記録される
    ことを特徴とするプログラム記録媒体。
JP23018799A 1999-08-17 1999-08-17 検索要求並列処理方法,及びその方法の実現に用いられるプログラム記録媒体 Expired - Fee Related JP3634681B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23018799A JP3634681B2 (ja) 1999-08-17 1999-08-17 検索要求並列処理方法,及びその方法の実現に用いられるプログラム記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23018799A JP3634681B2 (ja) 1999-08-17 1999-08-17 検索要求並列処理方法,及びその方法の実現に用いられるプログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2001052027A JP2001052027A (ja) 2001-02-23
JP3634681B2 true JP3634681B2 (ja) 2005-03-30

Family

ID=16903965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23018799A Expired - Fee Related JP3634681B2 (ja) 1999-08-17 1999-08-17 検索要求並列処理方法,及びその方法の実現に用いられるプログラム記録媒体

Country Status (1)

Country Link
JP (1) JP3634681B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090198703A1 (en) * 2008-01-31 2009-08-06 Hewlett-Packard Development Company, L.P. Intelligent data storage system
JP5620617B1 (ja) * 2014-05-28 2014-11-05 楽天株式会社 情報処理システム、端末、サーバ、情報処理方法、記録媒体、ならびに、プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742806A (en) * 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
JPH09305631A (ja) * 1996-05-15 1997-11-28 Nec Corp データベース管理装置及びそのサーバプロセスの起動方法
JPH10283371A (ja) * 1997-04-04 1998-10-23 Nec Corp データベース装置

Also Published As

Publication number Publication date
JP2001052027A (ja) 2001-02-23

Similar Documents

Publication Publication Date Title
US7644110B2 (en) Stream data processing system and stream data processing method
US9824154B1 (en) Search engine query customization and search site rating system
CN107066529B (zh) 联合团体搜索
JP3872432B2 (ja) 適応カタログ・ページ表示
US7720843B2 (en) Real-time end-user aware interactive search utilizing layered approach
KR100885772B1 (ko) 제품 정보를 등록 및 검색하기 위한 방법 및 시스템
US8155986B2 (en) Collapsible itineraries
US20060129530A1 (en) Ring method, apparatus, and computer program product for managing federated search results in a heterogeneous environment
JP5147947B2 (ja) クエリ別検索コレクション生成方法およびシステム
JP2019537131A (ja) 情報を提供するための方法及び装置
JP2006510123A (ja) キャラクタ・ストリームに関連するホスト・ベースのインテリジェントな結果
JP2010518526A (ja) ウェブサービス照会方法および装置
US20150149449A1 (en) Location based information display
EP1247167A1 (en) A method and apparatus for receiving information in response to a request from an email client
WO2001016807A1 (en) An internet search system for tracking and ranking selected records from a previous search
RU2653246C1 (ru) Усовершенствование запроса для поиска базы данных
US7917495B1 (en) System and method for processing query requests in a database system
CN109684282A (zh) 一种构建元数据缓存的方法及装置
EP1109115A1 (en) Merging driver for accessing multiple database sources
US9535962B2 (en) In-view and out-of-view request-related result regions for respective result categories
CN102214182A (zh) 一种根据ip地址进行精确查询的搜索方法
US8065287B2 (en) Method and system for searching availability of an entity for purchase or reservation
WO2008155212A1 (en) Improvements in or relating to a method and system for a reservation or a purchase of an entity
JPH09134364A (ja) 情報検索システム
JP3634681B2 (ja) 検索要求並列処理方法,及びその方法の実現に用いられるプログラム記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041224

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100107

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees