(57)【要約】【課題】リソースを増大させる必要なく、高速なデータベース検索を可能にするデータベース検索システム、情報処理装置、データベース検索方法及びプログラムを提供する。【解決手段】クライアント装置からサーバに対して検索要求がされると、データベースサーバへのアクセスとデータベースサーバが有するデータベースの検索が行われ、クライアント装置から検索結果が出力されるデータベース検索システムであって、サーバは、データベースサーバへアクセスするための複数の方法と、サーバの複数の負荷状況とが対応付けられた設定を予め保持しており、サーバの負荷状況を所定のタイミングで検出し、検出の結果と設定に応じて、最適な方法を選択する選択手段と、クライアント装置から検索要求がされた場合、選択手段によって選択された方法を、サーバ又はクライアント装置に実行させるためのサーバ側実行手段と、を有する。【選択図】図１
2010165043.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置と、サーバと、データベースサーバとがネットワークを介して接続され、前記クライアント装置から前記サーバに対して検索要求がされると、前記データベースサーバへのアクセスと前記データベースサーバが有するデータベースの検索が行われ、前記クライアント装置から検索結果が出力されるデータベース検索システムであって、
前記サーバは、
前記データベースサーバへアクセスするための複数の方法と、前記サーバの複数の負荷状況とが対応付けられた設定を予め保持しており、
前記サーバの負荷状況を所定のタイミングで検出し、前記検出の結果と前記設定に応じて、最適な方法を選択する選択手段と、
前記クライアント装置から検索要求がされた場合、前記選択手段によって選択された方法を、前記サーバ又は前記クライアント装置に実行させるためのサーバ側実行手段と、
を有することを特徴とするデータベース検索システム。
【請求項２】
前記データベースサーバへアクセスするための複数の方法は、
前記サーバからアクセスする第１の方法、前記クライアント装置からアクセスする第２の方法、前記クライアント装置と前記サーバを組み合わせてアクセスする第３の方法であることを特徴とする請求項１記載のデータベース検索システム。
【請求項３】
前記サーバは、
前記クライアント装置から要求された検索に関する入力情報を基にＳＱＬ文を生成し、前記ＳＱＬ文を前記データベースサーバに送信し、前記データベースサーバの前記ＳＱＬ文の実行により得られた検索結果を示す結果情報を受信するための第１のプログラムを有しており、
前記サーバ側実行手段は、
前記選択手段によって前記第１の方法が選択された場合、前記第１のプログラムを実行し、
前記データベースサーバから前記結果情報を受信すると、前記結果情報を前記クライアント装置へ送信することを特徴とする請求項２記載のデータベース検索システム。
【請求項４】
前記サーバは、
前記クライアント装置から要求された検索に関する入力情報を基にＳＱＬ文を生成し、前記ＳＱＬ文を前記データベースサーバに送信し、前記データベースサーバの前記ＳＱＬ文の実行により得られた検索結果を示す結果情報を受信するための第１のプログラムを有しており、
前記サーバ側実行手段は、
前記選択手段によって前記第２の方法が選択された場合、前記第１のプログラムを前記クライアント装置へ送信し、
前記クライアント装置が有するクライアント装置側実行手段は、
前記第１のプログラムに基づいて、前記クライアント装置から要求された検索に関する入力情報を基にＳＱＬ文を生成し、前記ＳＱＬ文を前記データベースサーバに送信し、前記データベースサーバの前記ＳＱＬ文の実行により得られた検索結果を示す結果情報を受信することを特徴とする請求項２記載のデータベース検索システム。
【請求項５】
前記サーバは、
前記クライアント装置から要求された検索に関する入力情報を基にＳＱＬ文を生成し、前記ＳＱＬ文を前記データベースサーバに送信し、前記データベースサーバの前記ＳＱＬ文の実行により得られた検索結果を示す結果情報を受信するための第１のプログラムと、前記クライアント装置に、前記サーバとの間で非同期の通信を実行させるための第２のプログラムとを有しており、
前記サーバ側実行手段は、
前記選択手段によって前記第３の方法が選択された場合、前記第２のプログラムを前記クライアント装置へ送信し、
前記クライアント装置が有するクライアント装置側実行手段は、
前記第２のプログラムに基づいて、前記サーバ側実行手段に対して、前記第１のプログラムを実行するように依頼し、
前記サーバ側実行手段は、
前記クライアント装置側実行手段からの依頼に基づいて、前記第１のプログラムを実行し、
前記データベースサーバから前記結果情報を受信すると、前記結果情報を前記クライアント装置へ送信することを特徴とする請求項２記載のデータベース検索システム。
【請求項６】
前記選択手段は、
前記クライアント装置からの検索要求を受信したときに前記サーバの負荷状況を検出し、前記検出の結果と前記設定に応じて、最適な方法を選択することを特徴とする請求項１から５のいずれか１項に記載のデータベース検索システム。
【請求項７】
前記選択手段は、
前記クライアント装置からの検索要求を受信する前に定期的に前記サーバの負荷状況を検出し、前記検出の結果と前記設定に応じて、最適な方法を定期的に選択することを特徴とする請求項１から５のいずれか１項に記載のデータベース検索システム。
【請求項８】
前記選択手段は、
前記サーバの負荷状況に加え、前記クライアント装置の負荷状況及び前記ネットワークの負荷状況のうち少なくとも１つを所定のタイミングで検出し、前記検出の結果と前記設定に応じて、最適な方法を選択することを特徴とする請求項１から７のいずれか１項に記載のデータベース検索システム。
【請求項９】
前記クライアント装置及び前記サーバの少なくとも１つは、
前記データベースサーバにより実行された検索結果を示す結果情報に基づいて、自動的に画面表示用のＨＴＭＬ文書を生成するＨＴＭＬ生成手段を有することを特徴とする請求項１から８のいずれか１項に記載のデータベース検索システム。
【請求項１０】
請求項１から９のいずれか１項に記載のデータベース検索システムにおいて、クライアント装置として用いられることを特徴とする情報処理装置。
【請求項１１】
請求項１から９のいずれか１項に記載のデータベース検索システムにおいて、クライアント装置として用いられることを特徴とする情報処理装置。
【請求項１２】
クライアント装置と、サーバと、データベースサーバとがネットワークを介して接続されているときに、前記クライアント装置から前記サーバに対して検索要求がされると、前記データベースサーバへのアクセスと前記データベースサーバが有するデータベースの検索が行われ、前記クライアント装置から検索結果が出力されるデータベース検索方法であって、
前記サーバは、
前記データベースサーバへアクセスするための複数の方法と、前記サーバの複数の負荷状況とが対応付けられた設定を予め保持する設定保持ステップと、
前記サーバの負荷状況を所定のタイミングで検出し、前記検出の結果と前記設定に応じて、最適な方法を選択する選択ステップと、
前記クライアント装置から検索要求がされた場合、前記選択ステップで選択された方法を、前記サーバ又は前記クライアント装置に実行させる実行ステップと、
を有することを特徴とするデータベース検索方法。
【請求項１３】
前記データベースサーバへアクセスするための複数の方法は、
前記サーバからアクセスする第１の方法、前記クライアント装置からアクセスする第２の方法、前記クライアント装置と前記サーバを組み合わせてアクセスする第３の方法であることを特徴とする請求項１２記載のデータベース検索方法。
【請求項１４】
クライアント装置と、サーバと、データベースサーバとがネットワークを介して接続されているときに、前記クライアント装置から前記サーバに対して検索要求がされると、前記データベースサーバへのアクセスと前記データベースサーバが有するデータベースの検索が行われ、前記クライアント装置から検索結果が出力されるデータベース検索方法を実現するためのプログラムであって、
前記データベースサーバへアクセスするための複数の方法と、前記サーバの複数の負荷状況とが対応付けられた設定を予め保持する設定保持処理と、
前記サーバの負荷状況を所定のタイミングで検出し、前記検出の結果と前記設定に応じて、最適な方法を選択する選択処理と、
前記クライアント装置から検索要求がされた場合、前記選択処理で選択された方法を、前記サーバ又は前記クライアント装置に実行させる実行処理と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
前記データベースサーバへアクセスするための複数の方法は、
前記サーバからアクセスする第１の方法、前記クライアント装置からアクセスする第２の方法、前記クライアント装置と前記サーバを組み合わせてアクセスする第３の方法であることを特徴とする請求項１４記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント・サーバによって実現されるデータベース検索システム、情報処理装置、データベース検索方法及びプログラムに関する。
【背景技術】
【０００２】
クライアント・サーバによって実現されるデータベース検索システムの一例として、特許文献１に開示されているものがある。特許文献１の図１に示されているように、このデータベース検索システムは、クライアント端末と、ＷＷＷ（World Wide Web）サーバと、データベースサーバとから構成されている。このような構成のデータベース検索システムでは、クライアント端末からの検索要求を受けたＷＷＷサーバが、データベースサーバに対して検索要求を行う。そして、ＷＷＷサーバは、データベースサーバから検索結果を受け取り、その検索結果をクライアント端末に表示させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−６７０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１のデータベース検索方法では、データベースサーバヘのアクセス方法が一つしか用意されておらず、サーバに負荷が集中した場合、検索結果の応答に時間がかかってしまうという問題がある。
【０００５】
このような問題を防ぐためには、サーバの台数や通信回線を増量する等、リソース増大を行う必要がある。しかし、リソースの増大は、コスト高に繋がるという別の問題がある。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、リソースを増大させる必要なく、高速なデータベース検索を可能にするデータベース検索システム、情報処理装置、データベース検索方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するために、本発明のデータベース検索システムは、クライアント装置と、サーバと、データベースサーバとがネットワークを介して接続され、クライアント装置からサーバに対して検索要求がされると、データベースサーバへのアクセスとデータベースサーバが有するデータベースの検索が行われ、クライアント装置から検索結果が出力されるデータベース検索システムであって、サーバは、データベースサーバへアクセスするための複数の方法と、サーバの複数の負荷状況とが対応付けられた設定を予め保持しており、サーバの負荷状況を所定のタイミングで検出し、検出の結果と設定に応じて、最適な方法を選択する選択手段と、クライアント装置から検索要求がされた場合、選択手段によって選択された方法を、サーバ又はクライアント装置に実行させるためのサーバ側実行手段と、を有することを特徴とする。
【０００８】
本発明の情報処理装置は、第１の態様として、本発明のデータベース検索システムにおいて、クライアント装置として用いられることを特徴とする。
【０００９】
本発明の情報処理装置は、第２の態様として、本発明のデータベース検索システムにおいて、クライアント装置として用いられることを特徴とする。
【００１０】
本発明のデータベース検索方法は、クライアント装置と、サーバと、データベースサーバとがネットワークを介して接続されているときに、クライアント装置からサーバに対して検索要求がされると、データベースサーバへのアクセスとデータベースサーバが有するデータベースの検索が行われ、クライアント装置から検索結果が出力されるデータベース検索方法であって、サーバは、データベースサーバへアクセスするための複数の方法と、サーバの複数の負荷状況とが対応付けられた設定を予め保持する設定保持ステップと、サーバの負荷状況を所定のタイミングで検出し、検出の結果と設定に応じて、最適な方法を選択する選択ステップと、クライアント装置から検索要求がされた場合、選択ステップで選択された方法を、サーバ又はクライアント装置に実行させる実行ステップと、を有することを特徴とする。
【００１１】
本発明のプログラムは、クライアント装置と、サーバと、データベースサーバとがネットワークを介して接続されているときに、クライアント装置からサーバに対して検索要求がされると、データベースサーバへのアクセスとデータベースサーバが有するデータベースの検索が行われ、クライアント装置から検索結果が出力されるデータベース検索方法を実現するためのプログラムであって、データベースサーバへアクセスするための複数の方法と、サーバの複数の負荷状況とが対応付けられた設定を予め保持する設定保持処理と、サーバの負荷状況を所定のタイミングで検出し、検出の結果と設定に応じて、最適な方法を選択する選択処理と、クライアント装置から検索要求がされた場合、選択処理で選択された方法を、サーバ又はクライアント装置に実行させる実行処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、リソースを増大させる必要なく、高速なデータベース検索を可能にすることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態であるデータベース検索システムの全体構成を示す図である。
【図２】本発明の実施形態であるデータベース検索システムの動作例１を示すシーケンスチャートである。
【図３】本発明の実施形態であるデータベース検索システムの動作例１のときの構成を示す図である。
【図４】本発明の実施形態であるデータベース検索システムの動作例１に係るプログラムサンプルを示す図である。
【図５】本発明の実施形態であるデータベース検索システムの動作例２を示すシーケンスチャートである。
【図６】本発明の実施形態であるデータベース検索システムの動作例２のときの構成を示す図である。
【図７】本発明の実施形態であるデータベース検索システムの動作例２に係るプログラムサンプルを示す図である。
【図８】本発明の実施形態であるデータベース検索システムの動作例３を示すシーケンスチャートである。
【図９】本発明の実施形態であるデータベース検索システムの動作例３のときの構成を示す図である。
【図１０】本発明の実施形態であるデータベース検索システムの動作例３に係るプログラムサンプルを示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
【００１５】
図１は、本発明の一実施形態であるデータベース検索システムの構成例を示す図である。図１に示すように、本実施形態のデータベース検索システムは、クライアント装置１と、ＷＷＷサーバ２と、データベース（ＤＢ:Data Base）サーバとがネットワークを介して接続された構成である。
【００１６】
クライアント装置１は、データベース検索を行うユーザによって操作される情報処理装置である。クライアント装置１の例としては、パーソナルコンピュータ（ＰＣ:Personal Computer）や携帯電話機などが挙げられる。以下の説明では、クライアント装置１の例として、パーソナルコンピュータを想定して説明する。クライアント装置１のハードウェア構成は、一般的なパーソナルコンピュータや携帯電話機などと同じであるので、詳細な説明は省略する。すなわち、クライアント装置１は、ハードウェア構成として、ＣＰＵ（Central Processing Unit）などの制御デバイス、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）等の記憶デバイス、他装置、周辺機器、ネットワーク等と接続するためのインタフェースデバイスなどを備え、プログラム制御により動作する。
【００１７】
図１に示すクライアント装置１は、操作デバイス及び表示デバイスと接続されている。操作デバイスの例としては、マウスやキーボード等が挙げられる。また、表示デバイスの例としては、ディスプレイ等が挙げられる。
【００１８】
図１に示すように、クライアント装置１は、閲覧ソフト（ブラウザ）１１を有する。また、図示していないが、クライアント装置１のＯＳ（Operating System）は閲覧ソフト１１が動作するものであればよい。ＯＳの例としては、ＷＩＮＤＯＷＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）等が挙げられ、本実施形態では、ＷＩＮＤＯＷＳ−ＸＰを想定する。また、ＯＳ上で動作する閲覧ソフト１１も、例えば、インターネットエクスプローラ、ＦｉｒｅＦｏｘ、ＯＰＥＲＡ等を用いることができるが、ＷＷＷサーバ２から送られて来るプログラム（後述する）を動作できるものである必要がある。本実施形態では、インターネットエクスプローラを想定する。クライアント装置１上で動作するプログラムはＪａｖａ（登録商標）Ｓｃｒｉｐｔを用いている。
【００１９】
クライアント装置１は、閲覧ソフト１１により、ユーザ要求受付手段１２、ＤＢアクセス実行手段１３、動的ＨＴＭＬ（Hyper Text Markup Language）生成手段１４として機能する。
【００２０】
ユーザ要求受付手段１２は、ユーザが操作デバイスを操作することで入力された、検索要求と、検索条件などを示す入力情報とを受け付け、ＷＷＷサーバ２へ検索要求と入力情報とを送信する。本実施形態では、例として、ＷＷＷサーバ２によって提供されるサーチ・エンジンにおけるキーワード検索を想定する。よって、ここでの入力情報（検索条件）は、ユーザが検索したい内容に関する語句（文字、記号等）となる。
【００２１】
ＤＢアクセス実行手段１３は、ＷＷＷサーバ２から送られてくるプログラムを受信し、受信したプログラムに従って、データベースサーバ３へのアクセスを行う。このプログラムの例として、本実施形態では、ＤＢ問合／結果取得プログラム２６と、非同期通信プログラム２７とを想定している。これらプログラムの内容については、後述する。
【００２２】
動的ＨＴＭＬ生成手段１４は、要求した検索の結果を示す結果情報を受信し、受信した結果情報に基づいて自動的に画面表示用のＨＴＭＬ文書を生成し、生成したＨＴＭＬ文書を表示デバイスに出力する。結果情報は、クライアント装置１に対して、データベースサーバ３から直接送信されて来る、又は、データベースサーバ３からＷＷＷサーバ２を中継して送信されて来る。
【００２３】
ＷＷＷサーバ（Ｗｅｂサーバ）２は、ネットワーク上に配置され、クライアント装置１及びデータベースサーバ３と通信を行う情報処理装置である。ＷＷＷサーバ２のハードウェア構成は、コミュニケーションサーバとして用いられる一般的なコンピュータと同じであるので、詳細な説明は省略する。すなわち、ＷＷＷサーバ２は、ハードウェア構成として、ＣＰＵなどの制御デバイス、ＲＯＭやＲＡＭ等の記憶デバイス、他装置、周辺機器、ネットワーク等と接続するためのインタフェースデバイスなどを備え、プログラム制御により動作する。
【００２４】
図１に示すように、ＷＷＷサーバ２は、ＷＷＷサーバソフト（図示せず）及びＣＧＩ（Common Gateway Interface）ソフト２１を有する。ＷＷＷサーバソフトは、他装置との通信など、ＷＷＷサーバ２内の基本的な制御を行い、情報処理装置をＷＷＷサーバとして機能させる。ＷＷＷサーバソフトの例として、本実施形態ではＡｐａｃｈｅを想定しているが、他にＩＩＳも使用できる。また、ＣＧＩソフト２１の使用言語の例として、本実施形態ではＰｅｒｌを想定しているが、他にＶＢＳ、Ｒｕｂｙ、ＰＨＰ、Ｃ等の多くのものが使用できる。また、図示していないが、ＷＷＷサーバ２のＯＳは、ＷＷＷサーバソフト及びＣＧＩソフト２１が動作するものであればよい。本実施形態では、ＯＳの例として、ＷＩＮＤＯＷＳ  ＳＥＲＶＥＲ２００３を想定している。
【００２５】
ＷＷＷサーバ２は、ＷＷＷサーバソフト及びＣＧＩソフト２１により、アクセス方法選択手段２２、ＤＢアクセス実行手段２３、プログラム保持手段２４、動的ＨＴＭＬ生成手段２５として機能する。
【００２６】
アクセス方法選択手段２２は、クライアント装置１から送信されて来る検索要求と入力情報を受信した場合に、そのときの自装置（ＷＷＷサーバ２）の負荷状況に応じて、データベースサーバ３へのアクセス方法を選択する。本実施形態では、例として、３つのアクセス方法が予め用意されているものとする。これら３つのアクセス方法は、データベースサーバ３へアクセスする過程の違いであり、検索動作自体は同じである。これら各方法の詳細及び各方法の選択処理の詳細については後述する。
【００２７】
ＤＢアクセス実行手段２３は、アクセス方法選択手段２２で選択されたアクセス方法に基づいて、動作を実行する。すなわち、ＤＢアクセス実行手段２３は、選択されたアクセス方法によって異なる動作を行う。これら各動作については後述する。
【００２８】
プログラム保持手段２４は、上記３つのアクセス方法に関するプログラムを予め保持している。本実施形態では、例として、ＤＢ問合／結果取得プログラム２６と、非同期通信プログラム２７とを保持している。ＤＢ問合／結果取得プログラム２６は、クライアント装置１又はＷＷＷサーバ２に、入力情報を基にＳＱＬ文を生成する処理、データベースサーバ３にＳＱＬ文を送信して検索要求を行う処理、データベースサーバ３から結果情報を受信する処理を実行させるためのプログラムである。また、非同期通信プログラム２７は、クライアント装置１に、ＷＷＷサーバ２との間で非同期の通信処理を実行させるためのプログラムである。
【００２９】
動的ＨＴＭＬ生成手段２５は、要求した検索の結果を示す結果情報を受信し、受信した結果情報に基づいて自動的に画面表示用のＨＴＭＬ文書を生成し、生成したＨＴＭＬ文書をクライアント装置１へ送信する。
【００３０】
また、図示していないが、ＷＷＷサーバ２は、データベースサーバ３へアクセスするための複数の方法と、ＷＷＷサーバ２の複数の負荷状況とがそれぞれ対応付けられた設定を予め保持している。この設定については、閾値を用いた例を後述する。
【００３１】
図１に示すデータベースサーバ３は、大量の各種情報を予め格納しているデータベース３２を管理する情報処理装置である。データベースサーバ３は、データベースサーバソフト（図示せず）を有する。データベースサーバソフトは、他装置から検索要求及び（検索条件）を受けて、データベース３２を検索し、検索結果を出力するなどの、データベースサーバ３内の基本的な制御を行い、情報処理装置をデータベースサーバとして機能させる。データベースサーバソフトの例として、本実施形態では、ＷＩＮＤＯＷＳ  ＳＥＲＶＥＲ２００３上で動作するＭｙＳＱＬを想定しているが、他に、Ｏｒａｃｌｅ、ＰｏｓｔｇｒｅＳＱＬ等が使用できる。また、図示していないが、データベースサーバ３のＯＳは、データベースサーバソフトが動作するものであればよい。
【００３２】
データベースサーバ３は、データベースサーバソフトにより、データベース検索手段３１として機能する。
【００３３】
データベース検索手段３１は、ＷＷＷサーバ２又はクライアント装置１から検索要求されたＳＱＬ文（検索条件）を実行し、データベース３２内のデータを検索する。データベース検索手段３１は、検索結果を示す結果情報を、要求元のＷＷＷサーバ２又はクライアント装置１に送信する。
【００３４】
以上のように構成された本実施形態のデータベース検索システムにおける動作（本発明のデータベース検索方法の一実施形態）について、図２〜図１０を参照しながら説明する。なお、以下では、上述した３つのアクセス方法が選択される場合を別々に分けて説明する。３つのアクセス方法はそれぞれ、第１の方法、第２の方法、第３の方法とする。
【００３５】
まず、動作例１として、第１の方法が選択される場合について、図２〜図４を参照して説明する。
【００３６】
クライアント装置１において、ユーザ要求受付手段１２は、ユーザが操作デバイスを操作することで入力された、検索要求と、検索条件などを示す入力情報とを受け付け、ＷＷＷサーバ２へ検索要求と入力情報とを送信する（ステップＳ１）。ここでは、検索の例として、ＷＷＷサーバ２によって提供されるサーチ・エンジンにおけるキーワード検索を想定する。よって、ここでの入力情報（検索条件）は、ユーザが検索したい内容に関する語句（文字、記号等）となる。
【００３７】
ＷＷＷサーバ２において、アクセス方法選択手段２２は、クライアント装置１から送信されて来る検索要求と入力情報を受信した場合に、そのときの自装置（ＷＷＷサーバ２）の負荷状況に応じて、データベースサーバ３へのアクセス方法を選択する（ステップＳ２）。ＷＷＷサーバ２は、予め用意されている３つのアクセス方法（第１の方法、第２の方法、第３の方法）の中から１つを選択する。ここで、この選択処理について説明する。
【００３８】
まず、アクセス方法選択手段２２は、検索要求と入力情報の受信をトリガとして、自装置内の各デバイス（例えば、ＣＰＵやＩ／Ｏ等）から、現在どの程度の負荷であるかを値で示す負荷情報（負荷率、負荷状況）を取得（検出）する。そして、アクセス方法選択手段２２は、取得した負荷情報と、予め設定されている閾値Ａ（例えば、負荷率７０％）とを比較し、負荷情報が閾値Ａ以上であるかどうかを判断する。アクセス方法選択手段２２は、判断の結果、負荷情報が閾値Ａ以上ではない場合、第１の方法を選択する。一方、判断の結果、負荷情報が閾値Ａ以上である場合、アクセス方法選択手段２２は、さらに、取得した負荷情報と、予め設定されている閾値Ｂ（閾値Ａより大きい値。例えば、負荷率９０％）とを比較し、負荷情報が閾値Ｂ以上であるかどうかを判断する。アクセス方法選択手段２２は、判断の結果、負荷情報が閾値Ｂ以上ではない場合、第２の方法を選択する。一方、判断の結果、負荷情報が閾値Ｂ以上である場合、アクセス方法選択手段２２は、第３の方法を選択する。なお、閾値Ａ、Ｂと、第１〜第３の方法との対応（どの閾値を境にしてどの方法を選択するか）は、例えば、ＷＷＷサーバ２内に保持されるテーブル等において、予め設定されているものとする。もちろん、ユーザ等の操作により、このテーブルの更新・変更は可能とする。
【００３９】
このように本実施形態では、ＷＷＷサーバ２（のアクセス方法選択手段２２）が、自装置の負荷を検出し、その負荷状況に応じて、データベースサーバ３へのアクセス方法を選択することを特徴としている。
【００４０】
なお、本実施形態では、クライアント装置１の負荷やネットワーク負荷に関しては考慮していないが、これらも考慮した上でよりきめ細かく判断する方法も考えられる。その場合、アクセス方法選択手段２２は、例えば、検索要求と入力情報の受信をトリガとして、自装置内だけではなく、クライアント装置１やネットワークからも、それらの負荷を値で示す負荷情報を取得する（負荷状況を検出する）。そして、アクセス方法選択手段２２は、自装置の負荷情報と、クライアント装置１の負荷情報及びネットワークの負荷情報のうち少なくとも１つとを用いて、上述した判断を行う。
【００４１】
また、本実施形態では、アクセス方法選択手段２２が、検索要求と入力情報の受信をトリガとして負荷情報を取得するようにしたが、負荷情報を別プログラムにより予め定期的に取得するようにしてもよい。そして、アクセス方法選択手段２２は、定期的に取得した負荷情報に基づいて、どのアクセス方法が最適であるかを、検索要求を受ける前に判断しておく。よって、この方法では、クライアント装置１からの検索要求時の判断処理が短縮され、より高速な検索処理が可能になる。
【００４２】
ステップＳ２において、アクセス方法選択手段２２は、予め用意されている３つのアクセス方法（第１の方法、第２の方法、第３の方法）の中から第１の方法を選択する。ここで、第１の方法について説明する。第１の方法は、ＷＷＷサーバ２のＣＧＩソフト２１からデータベースサーバ３へアクセスする方法である。すなわち、ＷＷＷサーバ２が、データベースサーバ３に対してＳＱＬ文（ＳＱＬコマンド）を発行し、検索結果を受け取る方法である。この第１の方法は、最も一般的な検索方法である。通常コンピュータシステムおいては、この第１の方法によるアクセスで性能が上がるように設計を行うのが一般的だが、一方で、ＷＷＷサーバ２への負荷集中による性能低下も起きやすい。図４に示すプログラムサンプル５１は、このＣＧＩプログラム２１の一例である。
【００４３】
ＷＷＷサーバ２において、アクセス方法選択手段２２により第１の方法が選択されると、ＤＢアクセス実行手段２３は、プログラム保持手段２４のＤＢ問合／結果取得プログラム２６に基づいて、データベースサーバ３へのアクセスを実行する。このときのイメージを図３に示す。ＤＢ問合／結果取得プログラム２６は、上述したように、ＷＷＷサーバ２に、入力情報を基にＳＱＬ文を生成する処理、データベースサーバ３にＳＱＬ文を送信して検索要求を行う処理、データベースサーバ３から結果情報を受信する処理を実行させるためのプログラムである。よって、ＤＢアクセス実行手段２３は、まず、クライアント装置１から受信した入力情報を基にＳＱＬ文を生成し、データベースサーバ３にＳＱＬ文を送信して検索要求（検索依頼・問い合せ）を行う（ステップＳ３）。
【００４４】
データベースサーバ３において、データベース検索手段３２は、ＷＷＷサーバ２から検索要求されたＳＱＬ文を実行し、データベース３２内のデータを検索し、検索結果を示す結果情報を、要求元のＷＷＷサーバ２に送信する（ステップＳ４）。
【００４５】
ＷＷＷサーバ２において、動的ＨＴＭＬ生成手段２５は、データベースサーバ３から送信されて来る結果情報を受信し、受信した結果情報に基づいて自動的に画面表示用のＨＴＭＬ文書を生成し、生成したＨＴＭＬ文書（ＨＴＭＬ結果情報）をクライアント装置１へ送信する（ステップＳ５）。
【００４６】
クライアント装置１において、ＷＷＷサーバ２から送信されて来るＨＴＭＬ文書（ＨＴＭＬ結果情報）は、閲覧ソフト１１の基本機能により、表示デバイスに出力され、検索結果として画面表示される（ステップＳ６）。この表示により、ユーザは、自分が要求した検索結果を認識できる。
【００４７】
次に、動作例２として、第２の方法が選択される場合について、図５〜図７を参照して説明する。
【００４８】
図５におけるステップＳ１〜Ｓ２の動作は、図２におけるステップＳ１〜Ｓ２の動作と同じであるので、ここでの説明は省略する。
【００４９】
ステップＳ２において、アクセス方法選択手段２２は、上述した選択処理により、予め用意されている３つのアクセス方法（第１の方法、第２の方法、第３の方法）の中から第２の方法を選択する。ここで、第２の方法について説明する。第２の方法は、クライアント装置１の閲覧ソフト１１からデータベースサーバ３へアクセスする方法である。すなわち、クライアント装置１が、ＷＷＷサーバ２を介さずに、直接データベースサーバ３に対してＳＱＬ文を発行し、検索結果を取得する方法である。この第２の方法は、近年、ＰＣ等のクライアント装置１の性能向上に伴い使用されるようになってきた方法である。第２の方法では、画面の切り替えが無いので動作が早く、また、負荷が分散され性能低下が起きにくい。その一方でクライアントソフトの違いによるプログラム実行の可否が問題になる。また、ユーザに対してプログラムソースを公開することになるので、セキュリティの問題が発生する場合がある。さらに、クライアント装置１にプログラムを送付する分の通信量は増加するので、検索件数が多量な場合に適している。本実施形態では、ＪａｖａＳｃｒｉｐｔが備えるデータベース問合わせ機能を用いており、簡単なソース記述でアクセスが可能である。図７に示すプログラムサンプル５２は、このＪａｖａＳｃｒｉｐｔプログラムの一例である。
【００５０】
ＷＷＷサーバ２において、アクセス方法選択手段２２により第２の方法が選択されると、ＤＢアクセス実行手段２３は、プログラム保持手段２４のＤＢ問合／結果取得プログラム２６を、クライアント装置１へ送信する（ステップＳ１３）。
【００５１】
クライアント装置１において、ＤＢアクセス実行手段１３は、ＷＷＷサーバ２から送信されて来るＤＢ問合／結果取得プログラム２６を受信すると、それに基づいて、データベースサーバ３へのアクセスを実行する。このときのイメージを図６に示す。ＤＢ問合／結果取得プログラム２６は、上述したように、クライアント装置１に、入力情報を基にＳＱＬ文を生成する処理、データベースサーバ３にＳＱＬ文を送信して検索要求を行う処理、データベースサーバ３から結果情報を受信する処理を実行させるためのプログラムである。よって、ＤＢアクセス実行手段２３は、まず、ユーザ要求受付手段１２により受け付けられた入力情報を基にＳＱＬ文を生成し、データベースサーバ３にＳＱＬ文を送信して検索要求（検索依頼・問い合せ）を行う（ステップＳ１４）。
【００５２】
データベースサーバ３において、データベース検索手段３２は、クライアント装置１から検索要求されたＳＱＬ文を実行し、データベース３２内のデータを検索し、検索結果を示す結果情報を、要求元のクライアント装置１に送信する（ステップＳ１５）。
【００５３】
クライアント装置１において、動的ＨＴＭＬ生成手段１４は、データベースサーバ３から送信されて来る結果情報を受信し、受信した結果情報に基づいて自動的に画面表示用のＨＴＭＬ文書を生成する（ステップＳ１６）。
【００５４】
クライアント装置１において、動的ＨＴＭＬ生成手段１４により生成されたＨＴＭＬ文書（ＨＴＭＬ結果情報）は、閲覧ソフト１１の基本機能により、表示デバイスに出力され、検索結果として画面表示される（ステップＳ１７）。この表示により、ユーザは、自分が要求した検索結果を認識できる。
【００５５】
次に、動作例３として、第３の方法が選択される場合について、図８〜図１０を参照して説明する。
【００５６】
図８におけるステップＳ１〜Ｓ２の動作は、図２におけるステップＳ１〜Ｓ２の動作と同じであるので、ここでの説明は省略する。
【００５７】
ステップＳ２において、アクセス方法選択手段２２は、上述した選択処理により、予め用意されている３つのアクセス方法（第１の方法、第２の方法、第３の方法）の中から第３の方法を選択する。ここで、第３の方法について説明する。第３の方法は、クライアント装置１の閲覧ソフト１１とＷＷＷサーバ２のＣＧＩプログラム２１を両方使用する方法である。すなわち、クライアント装置１が、非同期通信プログラムによりＷＷＷサーバ２のＣＧＩプログラム２１を呼び出し、検索結果を受け取る方法である。この第３の方法は、Ａｊａｘ（アジャックス又はエイジャックス）と呼ばれ、ＪａｖａＳｃｒｉｐｔプログラムの一種であるが、近年脚光を浴びている方法である。第３の方法では、画面処理と問合わせ処理が非同期で並行して行われ、画面の一部分のみを書き替えるため動作が速く、また、クライアント装置１側で処理が行われるため性能低下が起きにくい。さらに、クライアントの違いやセキュリティの問題が少ないという特徴がある。ただし、クライアントプログラムが上記第２の方法に比べて複雑になるのが欠点である。図１０に示すプログラムサンプル５３は、このプログラムの一例である。
【００５８】
ＷＷＷサーバ２において、アクセス方法選択手段２２により第３の方法が選択されると、ＤＢアクセス実行手段２３は、プログラム保持手段２４の非同期通信プログラム２７を、クライアント装置１へ送信する（ステップＳ２３）。
【００５９】
クライアント装置１において、ＤＢアクセス実行手段１３は、ＷＷＷサーバ２から送信されて来る非同期通信プログラム２７を受信すると、それに基づいて、ＷＷＷサーバ２にデータベースサーバ３へのアクセスを実行させる（ステップＳ２４）。このときのイメージを図９に示す。非同期通信プログラム２７は、上述したように、クライアント装置１に、ＷＷＷサーバ２との間で非同期の通信処理を実行させるためのプログラムである。つまり、ＤＢアクセス実行手段１３は、非同期通信プログラム２７の実行により、ＷＷＷサーバ２のＣＧＩプログラム２１を呼び出し、ＤＢ問合／結果取得プログラム２６の実行を依頼する。これにより、非同期通信プログラム１３と、ＷＷＷサーバ２のＤＢ問合／結果取得プログラム２６とが連携し、画面処理と問合わせ処理（検索要求処理）とが非同期で並行して行われる。
【００６０】
ＷＷＷサーバ２において、ＤＢアクセス実行手段２３は、ＤＢ問合／結果取得プログラム２６に基づいて、クライアント装置１から受信した入力情報を基にＳＱＬ文を生成し、データベースサーバ３にＳＱＬ文を送信して検索要求（検索依頼・問い合せ）を行う（ステップＳ２５）。
【００６１】
データベースサーバ３において、データベース検索手段３２は、クライアント装置１から検索要求されたＳＱＬ文を実行し、データベース３２内のデータを検索し、検索結果を示す結果情報を、ＷＷＷサーバ２に送信する（ステップＳ２６）。
【００６２】
ＷＷＷサーバ２において、ＤＢアクセス実行手段２３は、データベースサーバ３から送信されて来る結果情報を受信すると、その結果情報をクライアント装置１へ転送する（ステップＳ２７）。
【００６３】
クライアント装置１において、動的ＨＴＭＬ生成手段１４は、ＷＷＷサーバ２から送信されて来る結果情報を受信し、受信した結果情報に基づいて自動的に画面表示用のＨＴＭＬ文書を生成する（ステップＳ２８）。
【００６４】
クライアント装置１において、動的ＨＴＭＬ生成手段１４により生成されたＨＴＭＬ文書（ＨＴＭＬ結果情報）は、閲覧ソフト１１の基本機能により、表示デバイスに出力され、検索結果として画面表示される（ステップＳ２９）。この表示により、ユーザは、自分が要求した検索結果を認識できる。
【００６５】
以上説明したように、本実施形態のデータベース検索システムは、データベースサーバ３へのアクセス方法（問い合せ方法）として、ＷＷＷサーバ２からアクセスする第１の方法、クライアント装置１からアクセスする第２の方法、クライアント装置１とＷＷＷサーバ２を組み合わせてアクセスする第３の方法を予め用意しておき、ＷＷＷサーバ２の負荷状況に応じて、３つの方法の中から最適なものを選択できる（切り替えられる）。従って、本実施形態によれば、リソースの増大を招くことなく、高速なデータベース検索を可能にできる。
【００６６】
以上、本発明の実施形態について説明したが、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
【００６７】
例えば、上述した実施形態における動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。
【００６８】
ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させてもよい。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させてもよい。
【００６９】
例えば、プログラムは、記録媒体としてのハードディスクやＲＯＭ（Read Only Memory）に予め記録しておくことが可能である。あるいは、プログラムは、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。
【００７０】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送してもよい。または、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送してもよい。コンピュータでは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることが可能である。
【００７１】
また、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
【００７２】
また、上記実施形態で説明したシステムは、複数の装置の論理的集合構成にしたり、各装置の機能を混在させたりするように構築することも可能である。
【産業上の利用可能性】
【００７３】
本発明によれば、クライアント・サーバシステムのデータベースアクセス（検索要求）時において、検索結果のデータが大量であり、かつ、短い時間で検索結果が応答される必要がある場合といった用途に適用できる。一般的にこのような場合には、システムの増強等のリソース強化によって解決するが、それが不可能な場合に本発明は適している。例えば、本発明によれば、データベースから同義語を検索する情報検索装置や、情報検索装置をコンピュータに実現するためのプログラムといった用途に適用できる。また、同義語を検索する機能をパソコンやワードプロセッサに搭載されている、かな漢字変換装置や、コンピュータにかな漢字変換機能といった用途にも適用できる。
【符号の説明】
【００７４】
１    クライアント装置
２    ＷＷＷサーバ（サーバの一例）
３    データベースサーバ
１１    閲覧ソフト
１２    ユーザ要求受付手段
１３    ＤＢアクセス実行手段（クライアント装置側実行手段の一例）
１４    動的ＨＴＭＬ生成手段（ＨＴＭＬ生成手段の一例）
２１    ＣＧＩソフト
２２    アクセス方法選択手段（選択手段の一例）
２３    ＤＢアクセス実行手段（サーバ側実行手段の一例）
２４    プログラム保持手段
２５    動的ＨＴＭＬ生成手段（ＨＴＭＬ生成手段の一例）
２６    ＤＢ問合／結果取得プログラム（第１のプログラムの一例）
２７    非同期通信プログラム（第２のプログラムの一例）
３１    データベース
３２    データベース検索手段
【図１】
2010165043.tif 000003
【図２】
2010165043.tif 000004
【図３】
2010165043.tif 000005
【図４】
2010165043.tif 000006
【図５】
2010165043.tif 000007
【図６】
2010165043.tif 000008
【図７】
2010165043.tif 000009
【図８】
2010165043.tif 000010
【図９】
2010165043.tif 000011
【図１０】
2010165043.tif 000012