JP2002049602A - 検索システム - Google Patents

検索システム

Info

Publication number
JP2002049602A
JP2002049602A JP2000234562A JP2000234562A JP2002049602A JP 2002049602 A JP2002049602 A JP 2002049602A JP 2000234562 A JP2000234562 A JP 2000234562A JP 2000234562 A JP2000234562 A JP 2000234562A JP 2002049602 A JP2002049602 A JP 2002049602A
Authority
JP
Japan
Prior art keywords
search
host
server
session
program
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.)
Pending
Application number
JP2000234562A
Other languages
English (en)
Inventor
Kaoru Maeda
薫 前田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2000234562A priority Critical patent/JP2002049602A/ja
Publication of JP2002049602A publication Critical patent/JP2002049602A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 特定の検索ホストに検索サーバが集中するこ
とを回避し、検索ホストの負荷が平均化され、全体とし
て検索効率を向上させる検索システムを提供する。 【解決手段】 ディスパッチャをマスタディスパッチャ
1とスレーブディスパッチャ3とに分け、検索サーバ4
の起動をマスタディスパッチャ1からスレーブディスパ
ッチャ3へ依頼することにより、特定の検索ホスト2に
検索サーバ4が集中することを回避する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、検索システムに関
し、より詳細には、WWWを通じて公開された電子図書
館の検索する際に、複数の検索ホスト間でサーバのプロ
セス数を制御することによって負荷の分散を図るデータ
ベース検索システムに関する。
【0002】
【従来の技術】WWWを通じた検索では、クライアント
であるWWWブラウザと検索サーバとの間にコネクショ
ンを保持することはできず、リクエストごとに接続・切
断される。このため、複数のリクエストでひとまとまり
の仕事を行う場合には、同一のクライアントからのひと
まとまりのリクエストをセッションとして識別し、各セ
ッションの情報をリクエスト間で保持する検索方法があ
る。
【0003】図11は、従来技術による検索システムの
概要を説明するためのブロック図である。1つの検索サ
ーバ内に複数のセッションの情報を持つ方法として、例
えばアパッチサーバとmod_perlによる方法があ
る。WWWサーバソフトウェアApacheの文献「Ap
ache::Session - Maintain session state across HTTP
requests ( http://perl.apache.org/guide/modules.h
tml#Apache_Session_Maintain_sessi)」には、同一クラ
イアントからの複数リクエストをセッションとして識別
し、セッションの情報をサーバのメモリ又はファイルに
保持する方法について記載されている。この文献に示さ
れている方法は、1つの検索サーバ54のメモリ又はフ
ァイルに、各セッション51の情報55を保持するもの
である。各々のセッション51からのリクエストは、h
ttpd(hypertext transfer protocol daemon)52
により指定されたCGI53へ転送される。複数のCG
I53は、クライアントから送られてくるセッションI
Dに対応したセッション情報55に従って、1つの検索
サーバ54によってデータベースサーバ56を介してデ
ータベースにアクセスする。結果として、複数のセッシ
ョンからのリクエストは1つの検索サーバ54によって
逐次的に処理される。しかし、データベースアプリケー
ションでは検索の中間結果データが大きくなるため、1
セッションにつき1プロセスとなるよう検索サーバを構
成することが望ましい。
【0004】図12は、従来技術による他の検索システ
ムの概要を説明するためのブロック図である。図11で
示した検索システムの改良として、図12で示した検索
システムでは、セッション61と検索サーバ64の対応
を取り、リクエストを振り分けるために、ディスパッチ
ャ65を置く。CGI63はクライアントから送られて
くるセッションIDをディスパッチャ65に送信する。
ディスパッチャ65は、セッションIDと検索サーバ6
4の対応表を検索し、そのセッション61に対応する検
索サーバ64のアドレスをCGI63に返信する。この
とき、必要であればディスパッチャ65が検索サーバ6
4を起動する。
【0005】さらに、特開平8−202726号公報に
は、データベースサーバとクライアントの間に中継サー
バを置き、複数のデータベースサーバのうちどれにリク
エストを転送するか決定する「分散データベースシステ
ム及びそのデータ転送方法」が記載されている。主にデ
ータ転送のネットワーク負荷を軽減することを目的とし
ているが、中継サーバではリクエストや検索結果データ
の中継も行わなければならない。
【0006】また、特開平9−138776号公報に
は、データベースを共有する複数ホストで構成されるシ
ステムにおいて、自ホストの能力を超えるリクエストを
他ホストに依頼することによって負荷分散を図る「トラ
ンザクション処理の負荷分散方式」が記載されている。
【0007】特開平9−259091号公報には、トラ
ンザクション処理を並列に行う複数個のホストにおい
て、各ホストの処理性能によって異なる比率でリクエス
トを分配することにより、負荷分散を図る「トランザク
ション処理のホスト負荷分散方式」が記載されている。
ホスト選択手段を備えているが、セッションという考え
方がない。
【0008】
【発明が解決しようとする課題】しかしながら、図12
で示した検索システム及び特開平9−138776号公
報に記載の発明は、構成上、複数の検索ホストに渡って
検索サーバを分配し、並列処理によってシステム全体の
スループット向上を図らなければならない。また、特開
平8−202726号公報に記載の発明では、中継サー
バにおいてリクエストや検索結果データの中継も行わな
ければならない。また、特開平9−259091号公報
に記載の発明では、ホスト選択手段を備えているが、セ
ッションという考え方がない。
【0009】本発明は、上述のごとき実情に鑑みてなさ
れたものであり、特定の検索ホストに検索サーバが集中
することを回避し、検索ホストの負荷が平均化され、全
体として検索効率を向上させる検索システムを提供する
ことをその目的とする。
【0010】
【課題を解決するための手段】請求項1の発明は、WW
W経由などのように、コネクションをリクエストにまた
がって保持できない通信環境における検索システムであ
って、同一セッションからの複数のリクエストに対し、
1つの検索サーバを起動し、リクエストを対応する検索
サーバに振り分けることにより、セッション内の情報を
リクエスト間で保持する検索システムにおいて、複数の
検索ホストの中から各検索ホストの負荷状況に応じて検
索サーバを起動する検索ホストを選択することを特徴と
したものである。
【0011】請求項2の発明は、請求項1記載の発明に
おいて、各々の前記検索ホストの負荷状況は、複数の評
価基準の組み合わせを当該検索ホストの負荷評価値とし
て採用したものであることを特徴としたものである。
【0012】請求項3の発明は、請求項2記載の発明に
おいて、前記組み合わせには加重和を使うことを特徴と
したものである。
【0013】請求項4の発明は、請求項3記載の発明に
おいて、前記加重和の係数は前記各検索ホストごとに個
別に設定できることを特徴としたものである。
【0014】請求項5の発明は、請求項1記載の発明に
おいて、当該検索システム運用中に当該検索システムを
停止することなく、検索ホストを追加又は削除できるこ
とを特徴としたものである。
【0015】請求項6の発明は、請求項4記載の発明に
おいて、当該検索システム運用中に当該検索システムを
停止することなく、前記加重和の係数を変更できること
を特徴としたものである。
【0016】請求項7の発明は、WWW経由などのよう
に、コネクションをリクエストにまたがって保持できな
い通信環境における検索システムであって、クライアン
トからの検索のリクエストに対して、ネットワークを経
由して同一クライアントからのひとまとまりのリクエス
トをセッションとして識別して受信するサーバホスト
と、受信したリクエストに応じてネットワーク接続され
たデータベースサーバホストからの検索を行う複数の検
索ホストとを有する検索システムにおいて、当該検索シ
ステムは、前記複数の検索ホストの中から各検索ホスト
の負荷状況に応じて検索サーバを起動する検索ホストを
選択する検索ホスト選択手段を有し、該検索ホスト選択
手段によって選択された検索ホストは、同一セッション
からの複数のリクエストに対して1つの検索サーバを起
動し、該検索サーバは、当該検索サーバの動作する検索
ホストの負荷状況を監視し、前記検索ホスト選択手段に
通知することを特徴としたものである。
【0017】請求項8の発明は、請求項1乃至7の検索
システムを実現するためのプログラムを記録したことを
特徴としたものである。
【0018】
【発明の実施の形態】本発明の検索システムの概要を説
明する。図1は、本発明の一実施形態による検索システ
ムの概要を説明するためのブロック図である。本実施形
態における検索システムは、WWW経由などのように、
コネクションをリクエストにまたがって保持できない通
信環境における検索システムであって、同一セッション
からの複数のリクエストに対し、1つの検索サーバ4を
起動し、リクエストを対応する検索サーバ4に振り分け
ることにより、セッション内の情報をリクエスト間で保
持する検索システムにおいて、複数の検索ホスト2の中
から各検索ホスト2の負荷状況に応じて検索サーバ4を
起動する検索ホスト2を選択するようにしたものであ
る。本実施形態では、ディスパッチャをマスタディスパ
ッチャ1とスレーブディスパッチャ3とに分け、検索サ
ーバ4の起動をマスタディスパッチャ1からスレーブデ
ィスパッチャ3へ依頼することにより、特定の検索ホス
ト2に検索サーバ4が集中することを回避し、検索ホス
ト2の負荷が平均化され、全体として検索効率を向上さ
せる。
【0019】システム全体のパフォーマンスを向上する
ためには、複数の検索ホスト2の負荷状況をなるべく等
しくすることが好ましい。したがって、本発明の他の実
施形態では、新規に検索サーバを起動するべき検索ホス
ト2を、負荷状況に応じて選択するようにする。
【0020】マスタディスパッチャ1は常時各スレーブ
ディスパッチャ3と接続を保持し、各ホスト2の負荷状
況を集める。本実施形態においては、各々の前記検索ホ
スト2の負荷状況は、複数の評価基準の組み合わせを当
該検索ホスト2の負荷評価値として採用したものとす
る。負荷状況の評価基準としては、例えば、ロードアベ
レージ、起動されているサーバ数、検索中のサーバ数、
メモリの使用量などが考えられる。CGIからのリクエ
ストに対して検索サーバを起動する際、マスタディスパ
ッチャ1は、これらの各ホスト2の負荷状況を、これら
複数の基準値の組み合わせによって評価し、どのホスト
2で検索サーバ4を起動するべきか選択する。このと
き、各ホスト2が最近選択されなかった回数のみを負荷
状況の評価基準として用いると、ラウンドロビンによる
選択となる。本発明はラウンドロビン方式を含み、さら
に拡張したものとなっている。
【0021】また、上述した複数の基準値の組み合わせ
方として、これら複数の基準値の加重和による方法が考
えられる。したがって、本発明の他の実施形態において
は、前記組み合わせには加重和を使う。さらに、各検索
ホスト2は、その機能は同一であっても、メモリ搭載
量、CPU搭載数などの計算能力が同一でないこともあ
る。そのようなシステム構成で全体的なパフォーマンス
を向上させるためには、各ホスト2ごとに加重和の係数
を個別に設定することが考えられる。さらに他の実施形
態においては、前記加重和の係数は前記各検索ホスト2
ごとに個別に設定できるようにしている。例えばCPU
を2個持つホストにおいては、ロードアベレージに対す
る係数を1/2にするのがよいと考えられる。
【0022】また、本発明においては、特定の検索ホス
トのダウンや、新規検索ホストの追加時に、システム全
体を止めることなくホストの追加、削除をできることが
望ましい。本発明の他の実施形態においては、当該検索
システム運用中に当該検索システムを停止することな
く、検索ホスト2を追加又は削除できるようにする。マ
スタディスパッチャ1がスレーブディスパッチャ3の存
在を知っていればよく、そのためには主リクエストCG
Iからのリクエストポートを用いてホスト2の追加を知
らせてやることが可能である。また、マスタ・スレーブ
間の接続の切断をもって、スレーブホストの停止を検出
することが可能である。
【0023】同様に、ホスト別の係数を実行時に変更す
ることで、システム全体のパフォーマンス向上を図るこ
とができる。このため、本発明の他の実施形態において
は、当該検索システム運用中に当該検索システムを停止
することなく、前記加重和の係数を変更できるようにし
ている。例えば係数をマスタディスパッチャ1に保持
し、上述した通知と同様の方法で係数の変更を通知する
方法が考えられる。
【0024】次に、本発明の検索システムの実施の形態
を詳細に説明する。図2は、本発明の一実施形態の検索
システムの全体構成を示すブロック図である。本実施形
態の検索システムは、WWW経由などのように、コネク
ションをリクエストにまたがって保持できない通信環境
における検索システムであって、クライアント11から
の検索のリクエストに対して、ネットワーク12を経由
して同一クライアント11からのひとまとまりのリクエ
ストをセッションとして識別して受信するサーバホスト
14と、受信したリクエストに応じてネットワーク(1
3)接続されたデータベースサーバホスト30からの検
索を行う複数の検索ホスト25とを有する検索システム
において、当該検索システムは、前記複数の検索ホスト
25の中から各検索ホスト25の負荷状況に応じて検索
サーバ29を起動する検索ホスト25を選択する検索ホ
スト選択手段19を有し、該検索ホスト選択手段19に
よって選択された検索ホスト25は、同一セッションか
らの複数のリクエストに対して1つの検索サーバ25を
起動し、該検索サーバ25は、当該検索サーバ29の動
作する検索ホスト25の負荷状況を監視し、前記検索ホ
スト選択手段19に通知するようにしたものである。デ
ータベース検索サーバの負荷分散装置としての機能を有
する本システムのハードウェア環境としては、http
サーバホスト14,複数の検索ホスト25,検索ホスト
選択手段であるマスタディスパッチャホスト19,デー
タベースサーバホスト30からなるLAN13と、入出
力端末(ブラウザ)11とが、インターネット(又はL
AN)12を経由して接続されている。なお、本発明
は、上述のごとき各々の検索システムを実現するための
プログラム、すなわち後述する各機能を構成モジュール
とするプログラム及びそのプログラムを記録したコンピ
ュータ読み取り可能な記録媒体としても実現可能であ
る。
【0025】クライアントである入出力端末(ブラウ
ザ)14は、キーボードやポインティングデバイスなど
の入力手段と、入力手段等を管理するプログラムと、プ
ログラムを保持するメモリと、プログラムを処理するマ
イクロプロセッサと、インターネット12との通信手段
と、httpサーバホストを特定する手段とを有する。
ユーザは、この入出力端末14を用いてリクエストを入
力する。
【0026】インターネット(又はLAN)12は、入
出力端末11とhttpサーバホスト14を相互に接続
するケーブルと、TCP/IPのような決まったプロト
コルにしたがってデータを送受信する手段と、多数の入
出力端末11の1つを特定し、特定した入出力端末11
との通信手段を動的に確立する手段とを有する。
【0027】LAN13は、httpサーバホスト1
4,マスタディスパッチャホスト19,複数の検索ホス
ト25,データベースサーバホスト30を相互に接続す
るケーブルと、TCP/IPのような決まったプロトコ
ルにしたがってデータを送受信する手段と、これらのホ
ストの間で通信手段を動的に確立する手段とを有する。
【0028】httpサーバホスト14は、マイクロプ
ロセッサ15と、メモリ16と、インターネット12を
用いた入出力端末11との通信手段と、LAN13との
通信手段とを有する。マイクロプロセッサ15は、メモ
リ16上のプログラム(httpサーバプログラム1
7,CGIプログラム18)にしたがって、インターネ
ット12,メモリ16,LAN13との通信を行う。メ
モリ16は、ランダムアクセス可能な記憶素子で、プロ
グラム17,18及び一時データを保持する。
【0029】httpサーバプログラム17は、LAN
12を通じて各入出力端末11からのHTTPプロトコ
ルによるリクエストを受け取り、各入出力端末11との
接続を管理しながらCGIプログラム18を起動し、リ
クエストのデータを渡す。また、CGIプログラム18
からの結果をインターネット12を通じて入出力端末1
1に送る。
【0030】CGIプログラム18は、本発明の手段を
用いてリクエストの中からセッションIDを取り出し、
又はセッションIDがないことを判別し、マスタディス
パッチャプログラム22,検索サーバプログラム29の
アドレスを問い合わせ、得られたアドレスによって特定
される検索サーバプログラム29にリクエストの処理を
依頼する。詳細は後述する。
【0031】マスタディスパッチャホスト19は、マイ
クロプロセッサ20と、メモリ21と、LAN13との
通信手段とを有する。マイクロプロセッサ20は、メモ
リ21上のプログラム(マスタディスパッチャプログラ
ム22)にしたがって(11)メモリ21,LAN13
との通信を行う。メモリ21は、マスタディスパッチャ
プログラム22,検索サーバ対応表23,検索ホスト負
荷管理表24及び一時データを保持する。
【0032】マスタディスパッチャプログラム22は、
本発明の手段を用いてCGIプログラム18からのセッ
ションIDと検索サーバプログラム29との対応を検索
サーバ対応表23を用いて管理する。スレーブディスパ
ッチャプログラム28と交信し、検索ホスト25の負荷
情報を検索ホスト負荷管理表24に記録する。新規セッ
ションに対応する検索サーバプログラム29の起動に当
たっては、本発明の手段を用いて、複数ある検索ホスト
25の中から、検索ホスト負荷管理表24の情報に基づ
き1つを選択し、選択された検索ホスト25上のスレー
ブディスパッチャ28に起動を依頼する。詳細は後述す
る。検索サーバ対応表23は、本発明の手段を用いて現
在稼働中のセッションのセッションIDと検索サーバプ
ログラム29との対応を管理する表、検索ホスト負荷管
理表24は、本発明の手段を用いて検索ホスト25の負
荷状況を管理する表であり、詳細は後述する。
【0033】検索ホスト25は、マイクロプロセッサ2
6と、メモリ27と、LAN13との通信手段とを有す
る。同一構成の検索ホスト25が複数存在するものとす
る。マイクロプロセッサ26は、メモリ27上のプログ
ラム(スレーブディスパッチャプログラム28,検索サ
ーバプログラム29)にしたがって、メモリ27,LA
N13との通信を行う。メモリ27は、スレーブディス
パッチャプログラム28,検索サーバプログラム29を
保持する。
【0034】スレーブディスパッチャプログラム28
は、本発明の手段を用いてマスタディスパッチャ22か
らの依頼により検索サーバプログラム29を起動する。
自分の動作する検索ホスト25の負荷状況を監視し、定
期的にマスタディスパッチャプログラム22に送信す
る。詳細は後述する。
【0035】検索サーバプログラム29は、スレーブデ
ィスパッチャプログラム28により起動される。LAN
13を通してCGIプログラム18からリクエストを受
け取り、データベースサーバホスト30へ問い合わせ、
結果を返す。
【0036】データベースサーバホスト30は、マイク
ロプロセッサと、メモリと、データベースと、LAN1
3との通信手段とを有する。LAN13を通して、検索
サーバプログラム29からの要求を受け、データベース
を検索し、検索結果データを返す。
【0037】次に、本発明を用いたCGIプログラムの
一実施例を説明する。図3は、本発明の一実施形態の検
索システムにおけるCGIプログラムの一実施例を説明
するためのフロー図である。CGIプログラム18は、
httpサーバプログラム17により起動され、入出力
端末11からのリクエストをhttpサーバプログラム
17から受け取る(ステップS1)。次に、リクエスト
からセッションIDの抽出を行い(ステップS2)、そ
の結果セッションIDが得られたかを判定し(ステップ
S3)、得られなかった場合は「IDなし」のセッショ
ンであると識別する(ステップS4)。次に、マスタデ
ィスパッチャプログラム22に接続し(ステップS
5)、得られたセッションID又はセッションIDがな
いことを送信する(ステップS6)。リクエストを処理
すべき検索サーバプログラム29の存在する検索ホスト
25とホスト25内のアドレスを受信し(ステップS
7)、マスタディスパッチャプログラム22との接続を
切断した後(ステップS8)、得られた情報によって検
索サーバを特定し、その検索サーバプログラム29に接
続し(ステップS9)、リクエストを送信する(ステッ
プS10)。検索サーバプログラム29による検索の結
果を受信し(ステップS11)、検索サーバとの接続を
切断後(ステップS12)、検索結果をhttpdしい
てはhttpサーバプログラムに返す(ステップS1
3)。しかるのち、終了する。
【0038】次に、本発明を用いたマスタディスパッチ
ャプログラムの一実施例を説明する。マスタディスパッ
チャプログラム22は以下の4つのサブプログラムに分
けられる。
【0039】(1)入力監視サブプログラム: CGI
プログラム18又はスレーブディスパッチャプログラム
28からの入力により以下の3つのサブプログラム
(2)〜(4)のうち1つを選択して実行する。 (2)セッション管理サブプログラム: リクエストの
セッションIDに対応する検索サーバプログラム29の
アドレスを検索サーバ対応表23によって管理し、CG
Iプログラム18からの問い合わせに対して答える。 (3)負荷状況監視サブプログラム: スレーブディス
パッチャプログラム28からの負荷状況報告を検索ホス
ト負荷管理表24によって管理する。 (4)新規セッション起動サブプログラム: 新規セッ
ション起動に際して、検索ホスト負荷管理表24の情報
を基に、新規の検索サーバプログラム29を起動すべき
検索ホスト25を選択し、セッションIDを割り当て、
スレーブディスパッチャプログラム28に起動を依頼す
る。
【0040】図4は、本発明の一実施形態の検索システ
ムにおける入力監視サブプログラムの一例を説明するた
めのフロー図である。入力監視サブプログラムは、入力
を待ち(ステップS21)、マスタディスパッチャ22
へのリクエストを受信すると、検索サーバアドレスの問
い合わせ(ステップS22),検索ホスト25の状況報
告(ステップS23)といったリクエストの種類を判別
する。検索サーバアドレスの問い合わせの場合にはセッ
ション管理サブプログラムを(ステップS24)、状況
報告のリクエストの場合には負荷状況監視サブプログラ
ムを(ステップS25)、それぞれ起動する。
【0041】セッション管理サブプログラムは、CGI
プログラム18からセッションIDを受け取り、そのセ
ッションに対応する検索サーバプログラム29のアドレ
スを検索サーバ対応表23を検索して得る。セッション
IDが入出力端末11からのリクエストに含まれていな
いか、又は検索サーバ対応表23に登録されていない場
合は、新規セッションを起動するために(4)新規セッ
ション起動サブプログラムを実行する。いずれの場合も
最終的に検索サーバプログラム29のアドレスが得ら
れ、CGIプログラム18に返す。以下、この処理をフ
ロー図にて説明する。
【0042】図5は、本発明の一実施形態の検索システ
ムにおけるセッション管理サブプログラムの一例を説明
するためのフロー図である。CGIプログラム18から
の問い合わせから、セッションIDを取り出し、セッシ
ョンIDが指定されているかを判断する(ステップS3
1)。「セッションIDなし」と識別されていた場合、
ステップS34へ分岐する。得られたセッションIDを
キーとして検索サーバ対応表23を検索する(ステップ
S32)。対応するエントリが存在するかを判断し(ス
テップS33)、対応するエントリが見つかれば、その
セッションに対応する検索サーバプログラム29のアド
レスが得られる。ステップS33でアドレスが得られな
ければ、この時点で、新規セッションを起動する必要が
あるので、新規セッション起動サブプログラムを実行す
る(ステップS34)。実行結果として、対応する新規
の検索サーバプログラム29が起動され、そのアドレス
が得られ、検索サーバ対応表23に登録される。最後
に、ステップS32又はステップS34で得られた検索
サーバプログラム29のアドレスをCGIプログラム1
8に返信する(ステップS35)。
【0043】図6は、本発明の一実施形態の検索システ
ムにおける負荷状況監視サブプログラムの一例を説明す
るためのフロー図である。負荷状況監視サブプログラム
は、リクエストを受信すると(ステップS41)、リク
エストが検索ホストの追加の要求かどうかを判断する
(ステップS42)。追加の要求であれば、検索ホスト
を負荷管理表に追加し(ステップS46)、処理を終了
する。ステップS42において、検索ホストの追加要求
でなければ、検索ホスト25のスレーブディスパッチャ
プログラム28からの負荷状況報告を受け取り、検索ホ
スト負荷管理表24を用いて各検索ホストの負荷状況を
記録する(ステップS43)。この情報は新規セッショ
ン起動サブプログラムで新規検索サーバプログラム29
の起動先の検索ホスト25を選択する際に使用される。
また、負荷状況報告の中に検索サーバプログラム29の
停止の情報があれば、検索サーバ対応表23から対応す
るセッションのエントリを削除する(ステップS4
4)。さらに、付加評価基準係数変更要求に対し、検索
ホスト付加管理表24内の該当する係数を変更する(ス
テップS45)。
【0044】図7は、本発明の一実施形態の検索システ
ムにおける新規セッション起動サブプログラムの一例を
説明するためのフロー図である。新規セッション起動サ
ブプログラムは、新規セッションのためのセッションI
Dを発生し、起動された検索ホスト25及び検索サーバ
プログラム29のアドレスとともに検索サーバ対応表2
3に登録する。より詳細には、新規セッション起動サブ
プログラムは、CGIプログラム18から新規セッショ
ンを要求された場合、及び要求されたセッションが存在
しなかった場合に、新規に検索サーバプログラム29を
起動する。まず、新しく未使用のセッションIDを生成
し(ステップS51)、検索ホスト負荷管理表24の情
報にしたがって、そこに記録されている各ホストの負荷
状況を評価して負荷評価値を与える(ステップS52;
詳細は後述する)。新規検索サーバプログラム29を起
動するべき検索ホスト25、すなわち、負荷評価値の最
も低い検索ホスト25を選択し(ステップS53)、そ
のホスト上のスレーブディスパッチャ28にセッション
IDを送り、検索サーバ25の起動を依頼する(ステッ
プS54)。次に、スレーブディスパッチャ28の返答
を待ち、起動された検索サーバ25のアドレスを得る
(ステップS55)。最後に、検索サーバ対応表23に
新規セッションのエントリを追加し(ステップS5
6)、処理を終了する。
【0045】ここで、負荷評価値の計算について詳細に
説明する。ステップS52において、検索ホスト負荷管
理表24には、ホストiと負荷評価基準jに対応して、
負荷評価値Lijと、それに対する重み値Wijとが記録さ
れている。ここで、各ホストに対する組み合わせ評価値
iを、以下の式により算出する。 Vi = Σjij・Lij ステップS53においては、Viの最も低いホストiを
選択する。
【0046】次に、検索サーバ対応表23について詳細
に説明する。図8は、本発明の一実施形態の検索システ
ムにおける検索サーバ対応表の一例を示す図である。検
索サーバ対応表23は、マスタディスパッチャホスト1
9のメモリ21内に存在し、マスタディスパッチャプロ
グラム22によって管理・参照される。
【0047】検索サーバ対応表23の各行は、それぞれ
現在稼動中の検索サーバプログラム29に対応し、セッ
ションID31,検索ホストアドレス32,検索サーバ
プログラムのアドレス33を保持する。ここで、セッシ
ョンID31はマスタディスパッチャプログラム22に
よって割り当てられる数値、検索ホストアドレス32と
しては例えばネットワーク上のIPアドレス、検索サー
バプログラムのアドレス33には例えばTCP/IPソ
ケットのポート番号を使う。
【0048】この検索サーバ対応表23には、現在稼働
中の全ての検索ホスト25上の全検索サーバプログラム
29の情報が記録される。検索サーバプログラム29が
終了した場合には、スレーブディスパッチャプログラム
28を通じてマスタディスパッチャプログラム22に通
知され、この表23から該当するセッションのエントリ
が削除される。
【0049】次に、検索ホスト負荷管理表24について
詳細に説明する。図9は、本発明の一実施形態の検索シ
ステムにおける検索ホスト荷管理表の一例を示す図であ
る。検索ホスト負荷管理表24は、マスタディスパッチ
ャホスト19のメモリ21内に存在し、マスタディスパ
ッチャプログラム22によって管理・参照される。
【0050】検索ホスト負荷管理表24の各行は、それ
ぞれ検索ホスト25に対応する。列にはホスト名41,
ネットワークアドレス42を保持する。それ以降の列
は、検索ホストの負荷評価値と、それに対応する重み値
を保持する。
【0051】上述の例では、ホストantmanの処理
能力が他の2つのサーバの2倍ある場合を表わしてい
る。antmanに対応する検索サーバ数43の係数4
4及びロードアベレージ45の係数46を他のホストに
比べて半分にすることにより、組み合わせ負荷評価値
は、他のホストに比べantmanに2倍のサーバ数又
は2倍のロードアベレージがある場合にほぼ同じ値とな
る。係数48が負の数になっているのは、最近選択され
なかった回数47の値が多い程、組み合わせ負荷評価値
が低く、つまり、ステップS53において選択されやす
くなるようにするためである。例えば、上述のステップ
S52の負荷評価値として図9に示す数値を例にとる
と、 antman :8×0.5+2.03×1+2×(−1)=4.
03 birdman:3×1+0.32×2+0×(−1)=3.6
4 catman :4×1+0.89×2+1×(−1)=4.7
8 となり、ホストbirdmanが選択されることになる。
【0052】最後に、スレーブディスパッチャプログラ
ムの実施例について説明する。図10は、本発明の一実
施形態の検索システムにおけるスレーブディスパッチャ
プログラムの一実施例を説明するためのフロー図であ
る。マスタディスパッチャプログラム22に対し、自身
の動作する検索ホスト25を加えるよう依頼する(ステ
ップS61)。次に、マスタディスパッチャプログラム
22からの依頼を待つ(ステップS62)。ここでは、
新規検索サーバ25の起動要求か、検索サーバ25の終
了か、タイムアウトを待つ。検索サーバプログラム29
の起動依頼が来ると、これを起動し(ステップS63,
S64)、そのネットワークアドレス(TCPポート番
号)をマスタディスパッチャプログラム22に返す(ス
テップS65)。ステップS62でマスタディスパッチ
ャプログラム22からの依頼を待っている間に、稼働中
の検索サーバプログラム29が終了した場合、及び一定
時間、例えば30秒が経過するごとに、スレーブディス
パッチャプログラム28は自検索ホスト25の負荷状況
を計測し(ステップS66)、測定した負荷状況をマス
タディスパッチャプログラム22に送信する(ステップ
S67)。その後、ステップS62へ戻って処理をくり
返す。
【0053】
【発明の効果】請求項1,7,8の発明によれば、セッ
ション起動時に、複数ある検索ホストの負荷状況を評価
し、検索サーバを起動するべき検索ホストを選択するこ
とにより、特定の検索ホストに検索サーバが集中するこ
とを回避し、検索ホストの負荷が平均化され、システム
全体としての効率を上げることができる。
【0054】請求項2,8の発明によれば、負荷状況の
評価として複数の評価基準を組み合わせて用いることに
より、多角的な観点から各検索ホストの負荷状況を比較
することが可能になり、全体の負荷をより平均化させる
ことができる。
【0055】請求項3,8の発明によれば、負荷状況の
組み合わせとして加重和を使うことにより、複数の評価
基準の間での評価の重要度を反映させることができ、検
索ホストの負荷状況をより正確に把握することが可能と
なる。
【0056】請求項4,8の発明によれば、加重和の係
数を検索ホストごとに独立して設定することにより、検
索ホスト間に処理性能の差がある場合でも、その性能差
に見合った負荷状況の評価が可能になり、システム全体
の効率を上げることができる。
【0057】請求項5,7,8の発明によれば、システ
ムを停止することなく検索ホストの追加、削除を行うこ
とにより、検索ホストのシステムダウンあるいは交換時
に、システムのサービスを停止する必要がなくなる。
【0058】請求項6,8の発明によれば、システムを
停止することなく加重和の係数を変更することにより、
特定の検索ホストの負荷を通常より大きくあるいは小さ
くすることが可能になり、あるいは特定の負荷状況評価
基準を重視あるいは無視することが可能になり、その検
索ホストの能力を他のシステムに回し、あるいは一時的
に性能が落ちているホストをより有効に使用することが
可能になる。
【図面の簡単な説明】
【図1】 本発明の一実施形態による検索システムの概
要を説明するためのブロック図である。
【図2】 本発明の一実施形態の検索システムの全体構
成を示すブロック図である。
【図3】 本発明の一実施形態の検索システムにおける
CGIプログラムの一実施例を説明するためのフロー図
である。
【図4】 本発明の一実施形態の検索システムにおける
入力監視サブプログラムの一例を説明するためのフロー
図である。
【図5】 本発明の一実施形態の検索システムにおける
セッション管理サブプログラムの一例を説明するための
フロー図である。
【図6】 本発明の一実施形態の検索システムにおける
負荷状況監視サブプログラムの一例を説明するためのフ
ロー図である。
【図7】 本発明の一実施形態の検索システムにおける
新規セッション起動サブプログラムの一例を説明するた
めのフロー図である。
【図8】 本発明の一実施形態の検索システムにおける
検索サーバ対応表の一例を示す図である。
【図9】 本発明の一実施形態の検索システムにおける
検索ホスト負荷管理表の一例を示す図である。
【図10】 本発明の一実施形態の検索システムにおけ
るスレーブディスパッチャプログラムの一実施例を説明
するためのフロー図である。
【図11】 従来技術による検索システムの概要を説明
するためのブロック図である。
【図12】 従来技術による他の検索システムの概要を
説明するためのブロック図である。
【符号の説明】
1…マスタディスパッチャ、2,25…検索ホスト、3
…スレーブディスパッチャ、4,54,64…検索サー
バ、11…入出力端末(ブラウザ)、12…インターネ
ット(又はLAN)、13…LAN、14…httpサ
ーバホスト、15,20,26…マイクロプロセッサ、
16,21,27…メモリ、17…httpサーバプロ
グラム、18…CGIプログラム、19…マスタディス
パッチャホスト、22…マスタディスパッチャプログラ
ム、23…検索サーバ対応表、24…検索ホスト負荷管
理表、28…スレーブディスパッチャプログラム、29
…検索サーバプログラム、30…データベースサーバホ
スト。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 WWW経由などのように、コネクション
    をリクエストにまたがって保持できない通信環境におけ
    る検索システムであって、同一セッションからの複数の
    リクエストに対し、1つの検索サーバを起動し、リクエ
    ストを対応する検索サーバに振り分けることにより、セ
    ッション内の情報をリクエスト間で保持する検索システ
    ムにおいて、複数の検索ホストの中から各検索ホストの
    負荷状況に応じて検索サーバを起動する検索ホストを選
    択することを特徴とする検索システム。
  2. 【請求項2】 請求項1記載の検索システムにおいて、
    各々の前記検索ホストの負荷状況は、複数の評価基準の
    組み合わせを当該検索ホストの負荷評価値として採用し
    たものであることを特徴とする検索システム。
  3. 【請求項3】 請求項2記載の検索システムにおいて、
    前記組み合わせには加重和を使うことを特徴とする検索
    システム。
  4. 【請求項4】 請求項3記載の検索システムにおいて、
    前記加重和の係数は前記各検索ホストごとに個別に設定
    できることを特徴とする検索システム。
  5. 【請求項5】 請求項1記載の検索システムにおいて、
    当該検索システム運用中に当該検索システムを停止する
    ことなく、検索ホストを追加又は削除できることを特徴
    とする検索システム。
  6. 【請求項6】 請求項4記載の検索システムにおいて、
    当該検索システム運用中に当該検索システムを停止する
    ことなく、前記加重和の係数を変更できることを特徴と
    する検索システム。
  7. 【請求項7】 WWW経由などのように、コネクション
    をリクエストにまたがって保持できない通信環境におけ
    る検索システムであって、クライアントからの検索のリ
    クエストに対して、ネットワークを経由して同一クライ
    アントからのひとまとまりのリクエストをセッションと
    して識別して受信するサーバホストと、受信したリクエ
    ストに応じてネットワーク接続されたデータベースサー
    バホストからの検索を行う複数の検索ホストとを有する
    検索システムにおいて、当該検索システムは、前記複数
    の検索ホストの中から各検索ホストの負荷状況に応じて
    検索サーバを起動する検索ホストを選択する検索ホスト
    選択手段を有し、該検索ホスト選択手段によって選択さ
    れた検索ホストは、同一セッションからの複数のリクエ
    ストに対して1つの検索サーバを起動し、該検索サーバ
    は、当該検索サーバの動作する検索ホストの負荷状況を
    監視し、前記検索ホスト選択手段に通知することを特徴
    とする検索システム。
  8. 【請求項8】 請求項1乃至7のいずれか1記載の検索
    システムを実現するためのプログラムを記録したコンピ
    ュータ読み取り可能な記録媒体。
JP2000234562A 2000-08-02 2000-08-02 検索システム Pending JP2002049602A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000234562A JP2002049602A (ja) 2000-08-02 2000-08-02 検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000234562A JP2002049602A (ja) 2000-08-02 2000-08-02 検索システム

Publications (1)

Publication Number Publication Date
JP2002049602A true JP2002049602A (ja) 2002-02-15

Family

ID=18726911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000234562A Pending JP2002049602A (ja) 2000-08-02 2000-08-02 検索システム

Country Status (1)

Country Link
JP (1) JP2002049602A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308321A (ja) * 2002-04-15 2003-10-31 Fuji Photo Film Co Ltd ディジタル・コンテンツ検索システム
JP2006107019A (ja) * 2004-10-04 2006-04-20 Hitachi Ltd ディスクアレイ装置
JP2006162265A (ja) * 2004-12-02 2006-06-22 Matsushita Electric Works Ltd Gps測位端末およびネットワーク型gps測位システム
JP2008233968A (ja) * 2007-03-16 2008-10-02 Nec Corp 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム
JP2011086066A (ja) * 2009-10-14 2011-04-28 Hitachi Automotive Systems Ltd 振り分け処理装置、計算機システム及びリクエスト振り分け方法
CN110569252A (zh) * 2018-05-16 2019-12-13 杭州海康威视数字技术股份有限公司 一种数据处理系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265954A (ja) * 1992-03-19 1993-10-15 Chugoku Nippon Denki Software Kk コンピュータシステム
JPH08202726A (ja) * 1995-01-25 1996-08-09 Fujitsu Ltd 分散データベースシステム及びそのデータ転送方法
JPH08202409A (ja) * 1995-01-30 1996-08-09 Hitachi Ltd 分散制御装置、システム及びコントローラ
JPH08287026A (ja) * 1995-04-17 1996-11-01 Hitachi Ltd 負荷分散制御方法
JPH09138776A (ja) * 1995-11-15 1997-05-27 Nec Corp トランザクション処理の負荷分散方式
JPH09259091A (ja) * 1996-03-22 1997-10-03 Nec Corp トランザクション処理のホスト負荷分散方式
JPH11250020A (ja) * 1998-03-04 1999-09-17 Fujitsu Ltd 負荷分散システム、セション管理システム、クライアント装置、負荷分散プログラムを記録したコンピュータ読み取り可能な記録媒体、セション管理プログラムを記録したコンピュータ読み取り可能な記録媒体及びローカル代理サーバプログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265954A (ja) * 1992-03-19 1993-10-15 Chugoku Nippon Denki Software Kk コンピュータシステム
JPH08202726A (ja) * 1995-01-25 1996-08-09 Fujitsu Ltd 分散データベースシステム及びそのデータ転送方法
JPH08202409A (ja) * 1995-01-30 1996-08-09 Hitachi Ltd 分散制御装置、システム及びコントローラ
JPH08287026A (ja) * 1995-04-17 1996-11-01 Hitachi Ltd 負荷分散制御方法
JPH09138776A (ja) * 1995-11-15 1997-05-27 Nec Corp トランザクション処理の負荷分散方式
JPH09259091A (ja) * 1996-03-22 1997-10-03 Nec Corp トランザクション処理のホスト負荷分散方式
JPH11250020A (ja) * 1998-03-04 1999-09-17 Fujitsu Ltd 負荷分散システム、セション管理システム、クライアント装置、負荷分散プログラムを記録したコンピュータ読み取り可能な記録媒体、セション管理プログラムを記録したコンピュータ読み取り可能な記録媒体及びローカル代理サーバプログラムを記録したコンピュータ読み取り可能な記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徳丸浩二、外2名: "WWWクライアントを使用した疑似セッション方式の検証", 第51回(平成7年後期)全国大会講演論文集(4), CSNG200201671001, 22 September 1995 (1995-09-22), JP, pages 4 - 93, ISSN: 0000766954 *
渡邊正三、外2名: "インターネットのトランザクション連携(NETSTAGE)", FUJITSU, vol. 第48巻、第2号, CSNH199700197012, 10 March 1997 (1997-03-10), JP, pages 140 - 144, ISSN: 0000766955 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308321A (ja) * 2002-04-15 2003-10-31 Fuji Photo Film Co Ltd ディジタル・コンテンツ検索システム
JP2006107019A (ja) * 2004-10-04 2006-04-20 Hitachi Ltd ディスクアレイ装置
US8615625B2 (en) 2004-10-04 2013-12-24 Hitachi, Ltd. Disk array system
JP2006162265A (ja) * 2004-12-02 2006-06-22 Matsushita Electric Works Ltd Gps測位端末およびネットワーク型gps測位システム
JP2008233968A (ja) * 2007-03-16 2008-10-02 Nec Corp 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム
US8280910B2 (en) 2007-03-16 2012-10-02 Nec Corporation Database server capable of relocating data distributed among plural processors and retrieving data method
JP2011086066A (ja) * 2009-10-14 2011-04-28 Hitachi Automotive Systems Ltd 振り分け処理装置、計算機システム及びリクエスト振り分け方法
CN110569252A (zh) * 2018-05-16 2019-12-13 杭州海康威视数字技术股份有限公司 一种数据处理系统及方法
CN110569252B (zh) * 2018-05-16 2023-04-07 杭州海康威视数字技术股份有限公司 一种数据处理系统及方法

Similar Documents

Publication Publication Date Title
US11418620B2 (en) Service request management
US10771541B2 (en) Automated management of content servers based on change in demand
US6195682B1 (en) Concurrent server and method of operation having client-server affinity using exchanged client and server keys
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
JP5557689B2 (ja) ネットワークシステム
JP2002512411A (ja) アクセス制御方法および装置
JP2009301581A (ja) タスクを割り当てる方法、データ処理システム、クライアントデータ処理ノードおよび機械可読記憶媒体
JP2003296274A (ja) データ取得システム
JPH1027148A (ja) インターネット用サーバシステム
US20050021511A1 (en) System and method for load balancing in database queries
CN113014611A (zh) 一种负载均衡方法及相关设备
US8266639B2 (en) Remote procedure call (RPC) bind service with physical interface query and selection
JP4022521B2 (ja) コンピュータ・システムのネットワークにおける作業負荷バランシングのための方法およびシステム
CN112866394A (zh) 一种负载均衡方法、装置、系统、计算机设备和存储介质
US9021510B2 (en) Remote procedure call (RPC) bind service with physical interface query and selection
US20030005080A1 (en) Systems and methods for accessing data
JP2002049602A (ja) 検索システム
JP3715071B2 (ja) 通信回線制御システム
JP2001202318A (ja) データ配信システム
JPH09293059A (ja) 分散システム及びその運用管理方法
CN110661836B (zh) 消息路由方法、装置及系统、存储介质
JPH0793639B2 (ja) ネツトワ−ク・ノ−ドにおける処理及び記録要件を緩和するための方法及びシステム
JP2000047890A (ja) 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
JPH0962624A (ja) オンライントランザクションの処理方法および処理システム
JP2006127262A (ja) コンテンツ配信システムにおける負荷分散方法及び負荷分散システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061226