(57)【要約】【課題】  ウェブ検索システムにおいて最新のデータが検索表示されデータベースへのアクセスを削減することを目的とする。【解決手段】  アプリケーションサーバ１３０はキャッシュ管理部１３２で検索用ウェブページのページＩＤと入力された検索条件データと検索結果データとを関連付けて記憶管理し、変更情報受信部１３４はＤＢサーバ１４０から変更のあったテーブルのテーブルＩＤを受信し、ＡＰプロパティ記憶部１３３に記憶するページＩＤとテーブルＩＤとの関連付けに基づいて関連する検索結果データをキャッシュ管理部１３２から削除する。ＤＢサーバ１４０は変更検出部１４２がデータテーブルの変更を検知し、そのデータテーブルのテーブルＩＤをデータベース１４１に出力し、変更情報送信部１４４がＤＢプロパティ記憶部１４３の記憶する時間間隔毎に各アプリケーションサーバ１３０へ変更のあったデータテーブルのテーブルＩＤを送信する。【選択図】        図４
2006127123.tif 000002
【特許請求の範囲】
【請求項１】
検索用ウェブページを使用した検索要求に対応する検索結果データを、データベースサーバから取得するアプリケーションサーバにおいて、
検索用ウェブページを識別するページＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）と、検索用ウェブページで指定された検索条件データとに基づいてデータベースサーバから検索結果データを取得する検索結果取得部と、
ページＩＤと検索条件データと、検索結果取得部が取得した検索結果データとを関連付けて記憶管理するキャッシュ管理部と、
ページＩＤと検索条件データと、データベースサーバが管理するデータベースに含まれるテーブルを識別するテーブルＩＤとを関連付けて記憶するＡＰ（アプリケーション）プロパティ記憶部と、
データベースサーバから変更のあったテーブルのテーブルＩＤを受信し、受信したテーブルＩＤに関連付けられたページＩＤと検索条件データとをＡＰプロパティ記憶部から取得し、ＡＰプロパティ記憶部から取得したページＩＤと検索条件データとに関連付けられた検索結果データを削除させる命令信号をキャッシュ管理部に出力する変更情報受信部と
を備えたことを特徴とするアプリケーションサーバ。
【請求項２】
検索要求を行うアプリケーションサーバに対して検索結果データを応答するデータベースサーバにおいて、
アプリケーションサーバから検索される各種データを保持するデータテーブルと、変更されたデータテーブルを識別するテーブルＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）を保持する管理テーブルとを記憶するデータベースと、
データベースに記憶されたデータテーブルの変更を検知し、変更されたデータテーブルのテーブルＩＤをデータベースに記憶された管理テーブルに出力する変更検出部と、
管理テーブルを監視する時間間隔と、アプリケーションサーバの位置を示すアプリケーションサーバアドレスとを記憶するＤＢ（データベース）プロパティ記憶部と、
ＤＢプロパティ記憶部に記憶された時間間隔毎に、管理テーブルの示すテーブルＩＤを、ＤＢプロパティ記憶部に記憶されたアプリケーションサーバアドレスの示すアプリケーションサーバに送信する変更情報送信部と
を備えたことを特徴とするデータベースサーバ。
【請求項３】
アプリケーションサーバとデータベースサーバとを備え、検索用ウェブページを使用した検索要求に対する検索結果データを取得するウェブ検索システムにおいて、
アプリケーションサーバは、
検索用ウェブページを識別するページＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）と、検索用ウェブページで指定された検索条件データとに基づいてデータベースサーバから検索結果データを取得する検索結果取得部と、
ページＩＤと検索条件データと、検索結果取得部が取得した検索結果データとを関連付けて記憶管理するキャッシュ管理部と、
ページＩＤと、データベースサーバが管理するデータベースに含まれるテーブルを識別するテーブルＩＤとを関連付けて記憶するＡＰ（アプリケーション）プロパティ記憶部と、
データベースサーバから、変更のあったテーブルのテーブルＩＤを受信し、受信したテーブルＩＤに関連付けられたページＩＤと検索条件データとをＡＰプロパティ記憶部から取得し、ＡＰプロパティ記憶部から取得したページＩＤと検索条件データとに関連付けられた検索結果データを削除させる命令信号をキャッシュ管理部に出力する変更情報受信部とを備え、
データベースサーバは、
アプリケーションサーバから検索される各種データを保持するデータテーブルと、変更されたデータテーブルを識別するテーブルＩＤを保持する管理テーブルとを記憶するデータベースと、
データベースに記憶されたデータテーブルの変更を検知し、変更されたデータテーブルのテーブルＩＤをデータベースに記憶された管理テーブルに出力する変更検出部と、
管理テーブルを監視する時間間隔と、アプリケーションサーバの位置を示すアプリケーションサーバアドレスとを記憶するＤＢ（データベース）プロパティ記憶部と、
ＤＢプロパティ記憶部に記憶された時間間隔毎に、管理テーブルの示すテーブルＩＤを、ＤＢプロパティ記憶部に記憶されたアプリケーションサーバアドレスの示すアプリケーションサーバに送信する変更情報送信部とを備えた
ことを特徴とするウェブ検索システム。
【請求項４】
上記ウェブ検索システムは、さらに、
検索用ウェブページのページデータを出力し、出力したページデータの示す検索用ウェブページを使用して入力された検索条件データを入力し、出力したページデータの示す検索用ウェブページのページＩＤと入力した検索条件データとをアプリケーションサーバに送信し、アプリケーションサーバから検索結果データを受信し、受信した検索結果データに基づく検索結果ウェブページのページデータを出力するウェブサーバ
を備えたことを特徴とする請求項３記載のウェブ検索システム。
【請求項５】
上記ウェブサーバと上記アプリケーションサーバと上記データベースサーバとの少なくともいずれかを複数備えることを特徴とする請求項３または請求項４記載のウェブ検索システム。
【請求項６】
処理を負荷分散する負荷分散装置を備えることを特徴とする請求項５記載のウェブ検索システム。
【請求項７】
上記ウェブ検索システムを複数備えたことを特徴とする請求項３〜請求項６いずれかに記載のウェブ検索システム。
【請求項８】
検索用ウェブページを使用した検索要求に対応する検索結果データを、データベースサーバから取得するアプリケーションサーバの検索結果取得方法において、
検索用ウェブページを識別するページＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）と、検索用ウェブページで指定された検索条件データとに基づいてデータベースサーバから検索結果データを取得する検索結果取得工程と、
ページＩＤと検索条件データと、検索結果取得工程で取得した検索結果データとを関連付けて記憶管理するキャッシュ管理工程と、
ページＩＤと検索条件データと、データベースサーバが管理するデータベースに含まれるテーブルを識別するテーブルＩＤとを関連付けて記憶するＡＰ（アプリケーション）プロパティ記憶工程と、
データベースサーバから変更のあったテーブルのテーブルＩＤを受信し、受信したテーブルＩＤに関連付けられたページＩＤと検索条件データでありＡＰプロパティ記憶工程で記憶されたページＩＤと検索条件データとに関連付けられた検索結果データをキャッシュ管理工程により削除する変更情報受信工程と
を実行することを特徴とする検索結果取得方法。
【請求項９】
検索要求を行うアプリケーションサーバに対して検索結果データを応答するデータベースサーバの検索結果応答方法において、
アプリケーションサーバから検索される各種データを保持するデータテーブルと、変更されたデータテーブルを識別するテーブルＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）を保持する管理テーブルとを記憶するデータ記憶工程と、
データ記憶工程で記憶されたデータテーブルの変更を検知し、変更されたデータテーブルのテーブルＩＤをデータ記憶工程で記憶された管理テーブルに出力する変更検出部と、
管理テーブルを監視する時間間隔と、アプリケーションサーバの位置を示すアプリケーションサーバアドレスとを記憶するＤＢ（データベース）プロパティ記憶工程と、
ＤＢプロパティ記憶工程で記憶された時間間隔毎に、データ記憶工程で記憶された管理テーブルの示すテーブルＩＤを、ＤＢプロパティ記憶工程で記憶されたアプリケーションサーバアドレスの示すアプリケーションサーバに送信する変更情報送信工程と
を実行することを特徴とする検索結果応答方法。
【請求項１０】
請求項８記載の検索結果取得方法をコンピュータに実行させる検索結果取得プログラム。
【請求項１１】
請求項９記載の検索結果応答方法をコンピュータに実行させる検索結果応答プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブ検索におけるアプリケーションサーバ、データベースサーバ、ウェブ検索システム、検索結果取得方法、検索結果応答方法、検索結果取得プログラムおよび検索結果応答プログラムに関するものである。
【背景技術】
【０００２】
近年のインターネットまたはイントラネットの普及とＪａｖａ（登録商標）技術の進展により、アプリケーションサーバを使用したＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）多階層システムでの構築が一般的になってきている。
つまり、図１に示すようにＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢ（データベース）サーバ１４０から構成されるシステムである。
プレゼンテーション層、ビジネスロジック層、データベース層の各層を構成するＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＲＤＢＭＳを備えたＤＢサーバ１４０といったミドルウェアは、応答時間を短縮したり、ネットワークトラフィックを削減するためにキャッシュ機能を保持している。各ミドルウェアが提供する個別のキャッシュ機能については、各ミドルウェアベンダーが提供する説明書に詳細な記述がある。
また、プロキシサーバが蓄積データをキャッシュし、蓄積データを有するサーバが変更した蓄積データをプロキシサーバに通知するものもある（特許文献１）。
【特許文献１】特開平１１−２４９９５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記の従来の技術には以下のような課題がある。
各ミドルウェア（ＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢサーバ１４０）が提供するキャッシュ機能は、ユーザビリティを考慮してアプリケーションに対して透過になっており、アプリケーションから明示的にキャッシュ機能を制御することが出来ない。
各ミドルウェア（ＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢサーバ１４０）が提供するキャッシュ機能は、主に静的なデータを対象にしている。
一部のミドルウェアは、動的に生成されるデータをキャッシュデータとして管理制御する機能を持つものもあるが、キャッシュデータの生存期間の制御を時間やキャッシュデータへのアクセス回数を元に行っており、状況によっては無効なデータをクライアントに返すことがある。
【０００４】
このように各ミドルウェアが提供するキャッシュ機能は、それぞれが単独で動作し、連携して動作するものではないため、システムとして見た場合、一貫性が取れていない。
一般にＷＷＷ多階層システムでは、システム全体のスケーラビリティとアベイラビリティを向上させるために、中〜大規模システムではクラスタ構成となるが、各層を構成するサーバ間ではセッション情報の共有などは行えているが、キャッシュデータの共有は行えていない。
情報系システムや監視系システムにＷＷＷ多階層システムを適用した場合、接続可能な全てのクライアントから定常的且つ比較的短い周期（３０秒〜１分間隔）でサーバ側にアクセスが発生する。
例えば、航空機の追跡・表示システムやオークションの監視システムなど。
このようなシステムの場合、すべてのアクセスが毎回ＤＢサーバまで起動することになると、処理性能の高い高価なサーバが必要になる。
また、情報を取得するための検索用ウェブページ毎にキャッシュデータを管理できない。
【０００５】
本発明は、上記の課題を踏まえ、例えば、ＷＷＷ多階層システムにおいて、システムに接続可能なすべてのクライアントから定常的に且つ比較的短い周期でアクセスがある場合、常に最新のデータが検索表示されることを保障すると共に、データベース層へのアクセスを大幅に削減することなどをできるようにすることを目的とする。
また例えば、検索用ウェブページ毎にキャッシュデータを管理できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明のアプリケーションサーバは、検索用ウェブページを識別するページＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）と、検索用ウェブページで指定された検索条件データとに基づいてデータベースサーバから検索結果データを取得する検索結果取得部と、ページＩＤと検索条件データと、検索結果取得部が取得した検索結果データとを関連付けて記憶管理するキャッシュ管理部と、ページＩＤと検索条件データと、データベースサーバが管理するデータベースに含まれるテーブルを識別するテーブルＩＤとを関連付けて記憶するＡＰ（アプリケーション）プロパティ記憶部と、データベースサーバから変更のあったテーブルのテーブルＩＤを受信し、受信したテーブルＩＤに関連付けられたページＩＤと検索条件データとをＡＰプロパティ記憶部から取得し、ＡＰプロパティ記憶部から取得したページＩＤと検索条件データとに関連付けられた検索結果データを削除させる命令信号をキャッシュ管理部に出力する変更情報受信部とを備えたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、例えば、ＷＷＷ多階層システムにおいて、システムに接続可能なすべてのクライアントから定常的に且つ比較的短い周期でアクセスがある場合、常に最新のデータが検索表示されることを保障すると共に、データベース層へのアクセスを大幅に削減することができる。
つまり、クライアントへの応答時間を短縮すると共にデータベース層に比較的安価なサーバを用いることが出来、コストパフォーマンスの高いシステム構築が可能になるプッシュ型キャッシュ管理機構を有するＷＷＷ多階層システムを提供することなどができる。
また例えば、検索用ウェブページ毎にキャッシュデータを管理できる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図２は、実施の形態１におけるウェブ検索システムの備える各装置の外観を示す図である。
図２において、ユーザ端末１００、ＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢサーバ１４０は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）表示装置９０１、キーボード（Ｋ／Ｂ）９０２、マウス９０３、コンパクトディスク装置（ＣＤＤ）９０５、プリンタ装置９０６、スキャナ装置９０７を備え、これらはケーブルで接続されている。
さらに、ユーザ端末１００、ＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢサーバ１４０は、ＦＡＸ機９３２、電話器９３１とケーブルで接続され、また、イントラネットのようなローカルエリアネットワーク（ＬＡＮ）９４２、プロキシサーバ９４１を介してインターネット９４０に接続されている。
【０００９】
図３は、実施の形態１におけるウェブ検索システムの備える各装置のハードウェア構成図である。
図３において、ユーザ端末１００、ＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢサーバ１４０は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、ＣＲＴ表示装置９０１、Ｋ／Ｂ９０２、マウス９０３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）９０４、磁気ディスク装置９２０、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７と接続されている。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５は、ＦＡＸ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。
例えば、通信ボード９１５、Ｋ／Ｂ９０２、スキャナ装置９０７、ＦＤＤ９０４などは、情報入力部の一例である。
また、例えば、通信ボード９１５、ＣＲＴ表示装置９０１などは、出力部の一例である。
【００１０】
ここで、通信ボード９１５は、ＬＡＮ９４２に限らず、直接、インターネット９４０、或いはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）に接続されていても構わない。直接、インターネット９４０、或いはＩＳＤＮ等のＷＡＮに接続されている場合、ユーザ端末１００、ＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢサーバ１４０は、インターネット９４０、或いはＩＳＤＮ等のＷＡＮに接続され、プロキシサーバ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム（ＯＳ）９２１、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３は、ＣＰＵ９１１、ＯＳ９２１、ウィンドウシステム９２２により実行される。
【００１１】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明するものが、「〜ファイル」として記憶されている。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置９２０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  ｃａｒｔｒｉｄｇｅ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
【００１２】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００１３】
また、以下に述べる実施の形態を実施するプログラムは、磁気ディスク装置９２０、ＦＤ、光ディスク、ＣＤ、ＭＤ、ＤＶＤ等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【００１４】
図４は、実施の形態１におけるウェブ検索システムの構成図である。
図４において、ウェブ検索システムは、ユーザ端末１００、ＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢサーバ１４０がネットワーク１１０に接続されている。
ユーザ端末１００は、ＷＷＷブラウザ、Ｊａｖａ（登録商標）アプレット、Ｊａｖａ（登録商標）アプリケーションなどから構成される。
ユーザ端末１００は、ＷＷＷ多階層システムであるウェブ検索システムのプレゼンテーション層に位置付けられ、サーバに対してリクエスト出すと共に、サーバからのレスポンスを受け取り、その結果を表示する。
例えば、検索用ウェブページで検索条件データを入力してサーバに検索を要求し、サーバから検索結果データを受け取り、検索結果ウェブページとして表示する。
ネットワーク１１０は、インターネット、イントラネットなどであり、クライアントとサーバ間の通信路を提供する。
ＷＷＷサーバ１２０は、ユーザ端末１００と共にプレゼンテーション層に位置付けられ、クライアントからのリクエストを受け付け、そのリクエストをアプリケーションサーバ１３０に渡すと共に、アプリケーションサーバ１３０で処理された結果をレスポンスとしてユーザ端末１００に返す。
例えば、検索用ウェブページのページデータをユーザ端末１００に出力し、出力したページデータの示す検索用ウェブページを使用して入力された検索条件データとその検索用ウェブページのページＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）とを入力し、入力したページＩＤと検索条件データとをアプリケーションサーバ１３０に送信し、アプリケーションサーバ１３０から検索結果データを受信し、受信した検索結果データに基づく検索結果ウェブページのページデータをユーザ端末１００に出力する。
【００１５】
アプリケーションサーバ１３０は以下のものを備えて検索結果データをＤＢサーバ１４０から取得する。
検索用ウェブページを識別するページＩＤと、検索用ウェブページで指定された検索条件データとに基づいてＤＢサーバ１４０から検索結果データを取得する検索結果取得部１３１。
ページＩＤと検索条件データと、検索結果取得部が取得した検索結果データとを関連付けて記憶管理するキャッシュ管理部１３２。
ページＩＤと検索条件データと、ＤＢサーバ１４０が管理するデータベースに含まれるテーブルを識別するテーブルＩＤとを関連付けて記憶するＡＰ（アプリケーション）プロパティ記憶部１３３。
ＤＢサーバ１４０から変更のあったテーブルのテーブルＩＤを受信し、受信したテーブルＩＤに関連付けられたページＩＤと検索条件データとをプロパティ記憶部から取得し、プロパティ記憶部から取得したページＩＤと検索条件データとに関連付けられた検索結果データを削除させる命令信号をキャッシュ管理部に出力する変更情報受信部１３４。
【００１６】
ＤＢサーバ１４０は以下のものを備えて検索結果データをアプリケーションサーバ１３０に出力する。
アプリケーションサーバ１３０から検索される各種データを保持するデータテーブルと、変更されたデータテーブルを識別するテーブルＩＤを保持する管理テーブルとを記憶するデータベース１４１。
アプリケーションサーバ１３０から検索要求を受信し、データベース１４１から検索結果データを取得し、検索結果データをアプリケーションサーバ１３０に送信する検索結果送信部１４５。
データベースに記憶されたデータテーブルの変更を検知し、変更されたデータテーブルのテーブルＩＤをデータベースに記憶された管理テーブルに出力する変更検出部１４２。
管理テーブルを監視する時間間隔と、アプリケーションサーバの位置を示すアプリケーションサーバアドレスとを記憶するＤＢプロパティ記憶部１４３。
プロパティ記憶部に記憶された時間間隔毎に、管理テーブルの示すテーブルＩＤを、プロパティ記憶部に記憶されたアプリケーションサーバアドレスの示すアプリケーションサーバに送信する変更情報送信部１４４。
【００１７】
ここで、ＷＷＷサーバ１２０、アプリケーションサーバ１３０、ＤＢサーバ１４０は、それぞれ別筐体に分離して配備してもよく、一つの筐体にまとめて配備してもよい。ＷＷＷサーバ１２０とアプリケーションサーバ１３０を同一筐体に配備し、ＤＢサーバ１４０を別筐体に配備してもよい。
【００１８】
図５は、実施の形態１におけるアプリケーションサーバ１３０の処理の流れを示すフローチャートである。
実施の形態１におけるアプリケーションサーバ１３０が、ＷＷＷサーバ１２０から受信したページＩＤと検索条件データとに基づいて検索結果データをＷＷＷサーバ１２０に送信する処理の流れについて、図５に基づいて説明する。
【００１９】
検索結果取得部１３１は、ＷＷＷサーバ１２０からページＩＤと検索条件データとを受信し、受信したページＩＤと検索条件データとをキャッシュ管理部１３２に出力する（Ｓ１０１）。
【００２０】
キャッシュ管理部１３２は、受信したページＩＤと検索条件データとに対応する検索結果データを記憶しているか検索する、つまり対応するキャッシュデータが存在するか検索する（Ｓ１０２）。
【００２１】
図６は、実施の形態１におけるキャッシュ管理部１３２が記憶管理するデータ形式を示す図である。
Ｓ１０２の処理について図６に基づいて説明する。
キャッシュ管理部１３２は、ページＩＤと検索条件名とキーワードとに対応して検索結果データの記憶位置を示すアドレスを記憶し、アドレスが示す記憶位置に検索結果データを記憶している。
検索条件名とは検索条件の形式を識別する形式名データのことである。例えば、検索用ウェブページには「価格」、「サイズ」、「色」という検索条件があるとする。この場合、「価格」と「サイズ」と「色」とが指定された形式と、「価格」と「サイズ」とが指定された形式と、「価格」と「色」とが指定された形式と、「サイズ」と「色」とが指定された形式と、「価格」と「サイズ」と「色」とのいずれか１つが指定された形式との計７つの形式がある。これらの形式を識別する形式名データが検索条件名である。
キーワードとは検索条件に指定された条件データのことである。例えば、「価格」条件である１００００円台を示すデータや、「サイズ」条件であるＭサイズを示すデータがキーワードである。
検索条件データにはキーワードと検索条件名とが含まれる。
キャッシュ管理部１３２は、ページＩＤと、検索条件データに含まれるキーワードおよび検索条件名とを検索キーにして対応する検索結果データが記憶されているか検索する。
ページＩＤを検索キーとすることで、検索用ウェブページ毎のキャッシュを管理することができる。
【００２２】
図７は、実施の形態１におけるキャッシュ管理部１３２が記憶するキャッシュログを示す図である。
キャッシュ管理部１３２は、図７に示すようなキャッシュログを記憶管理してもよい。キャッシュログを記憶管理することにより、システム管理者はキャッシュ状況を把握することができる。
例えば、キャッシュにアクセスした日時、アクセスした時のページＩＤと検索条件名、アクセス結果を記憶管理するとよい。
ページＩＤを含むことにより、検索用ウェブページ毎のキャッシュ状況を把握することができる。
アクセス結果は、有効なキャッシュが存在したことを示すｈｉｔ、有効なキャッシュが存在しなかったことを示すｍｉｓｓ、キャッシュが登録されたことを示すｒｅｇｉｓｔｅｒ、キャッシュがクリアされたことを示すｃｌｅａｒなどにより識別するとよい。
【００２３】
図５において、キャッシュ管理部１３２が対応する検索結果データを記憶していると判定した場合、キャッシュ管理部１３２は対応する検索結果データを記憶部から取得し、検索結果取得部１３１に出力する、つまりキャッシュデータの取り出しを行う（Ｓ１０３）。
検索結果取得部１３１は、ＷＷＷサーバ１２０に検索結果データを送信する、つまりキャッシュデータの返却を行う（Ｓ１０４）。
【００２４】
また、キャッシュ管理部１３２が対応する検索結果データを記憶していないと判定した場合、検索結果取得部１３１は、検索条件データに含まれるキーワードをＤＢサーバ１４０の検索結果送信部１４５に送信して検索要求し、ＤＢサーバ１４０の検索結果送信部１４５から検索結果データを受信する（Ｓ１０５）。
検索結果取得部１３１は受信した検索結果データと検索結果データに対する検索条件データ及びページＩＤとをキャッシュ管理部１３２に出力し、キャッシュ管理部１３２はページＩＤと、検索条件データに含まれる検索条件名およびキーワードとに対応させて検索結果データを記憶する、つまり検索結果データをキャッシュデータとして登録する（Ｓ１０６）。
検索結果取得部１３１は、ＷＷＷサーバ１２０に検索結果データを送信する（Ｓ１０４）。
【００２５】
また、キャッシュ管理部１３２は、検索結果データをキャッシュデータとして登録する際、検索結果データと共に登録時刻も記憶し、Ｓ１０２で対応する検索結果データを記憶していると判定した場合に、その検索結果データの登録時刻を判定し、登録時刻が古い場合にその検索結果データを無効なキャッシュデータと判定して削除し、ＤＢサーバ１４０から新たに検索結果データを取得（Ｓ１０５、Ｓ１０６）してもよい。これにより、キャッシュデータの整合性を高めることができる。
【００２６】
上記説明において、アプリケーションサーバ１３０は、ユーザ端末１００からの要求に対応して、キャッシュ管理部１３２がキャッシュデータを保持している場合は、それをユーザ端末１００にＷＷＷサーバ１２０経由で返却し、キャッシュデータが存在しない場合は、ＤＢサーバ１４０に問い合わせを行ってデータを取り出し、キャッシュデータとして登録すると共にユーザ端末１００に返却する。
【００２７】
次に、ＤＢサーバ１４０でのデータテーブルの変更に関する変更情報の送信と、アプリケーションサーバ１３０での変更情報に基づくキャッシュ管理とについて説明する。
【００２８】
ＤＢサーバ１４０は、データベース１４１のデータテーブルに何らかの変更、例えばレコードの追加、変更、削除が発生した場合は、変更検出部１４２がそれを検知し、データベース１４１の管理テーブルに格納すると共に、定期的に管理テーブルを監視し、変更があれば変更情報送信部１４４に通知する。変更情報送信部１４４は、その変更内容をＤＢプロパティ記憶部１４３に記憶されたアプリケーションサーバアドレスの示す各アプリケーションサーバに対して送信する。
【００２９】
図８は、実施の形態１における管理テーブルに変更されたデータテーブルの情報を格納するトリガーの定義文を示す図である。
データベース１４１としてリレーショナルデータベースを使用する場合、図８に示すような定義文により、データテーブルに変更があった時にトリガーを発生し、ＴＢＬ＿ＵＰＤＡＴＥ＿ＴＩＭＥで識別される管理テーブルに、変更されたデータテーブルの情報を格納することができる。
【００３０】
図９は、実施の形態１における管理テーブルのテーブル形式を示す図である。
ＴＢＬ＿ＵＰＤＡＴＥ＿ＴＩＭＥで識別される管理テーブルは、例えば、図９に示すようなテーブル形式を持つとよい。
ＴＢＬ＿ＩＤは変更されたデータテーブルを識別するテーブルＩＤを示し、ＵＰＤＡＴＥ＿ＴＩＭＥは変更された時刻を示し、ＡＣＴＩＯＮは変更内容を示す。
【００３１】
図１０は、実施の形態１におけるＤＢサーバ１４０の処理の流れを示すフローチャートである。
実施の形態１におけるＤＢサーバ１４０が行うデータテーブルの変更情報をアプリケーションサーバ１３０に送信する処理について、図１０に基づいて説明する。
【００３２】
変更情報送信部１４４は、ＤＢプロパティ記憶部１４３に記憶された監視時間間隔ごとに、データベース１４１に記憶された管理テーブルを参照し、管理テーブルの内容が変更されたか判定する（Ｓ２０１）。
管理テーブルの変更は、データテーブルに新たな変更があったことを示す。
管理テーブルの内容が変更されていないと判定した場合は次に監視時間が経ったときに再び管理テーブルの内容変更について判定を行う。
【００３３】
管理テーブルの内容が変更されたと判定した場合、変更情報送信部１４４は、データベース１４１に記憶された管理テーブルを参照し、変更されたテーブルＩＤを取得する（Ｓ２０２）。
【００３４】
変更情報送信部１４４は、ＤＢプロパティ記憶部１４３に記憶されたアプリケーションサーバアドレス宛に取得したテーブルＩＤを含む変更情報を送信する（Ｓ２０３）。
【００３５】
図１１は、実施の形態１におけるＤＢプロパティ記憶部１４３の記憶内容を示す図である。
図１１において１７２．１６．１９２．５０、１７２．１６．１９２．５１は変更情報を送信するアプリケーションサーバのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスで、ＡＰＰ０１、ＡＰＰ０２は変更情報を送信するアプリケーションサーバのホスト名である。また、ｉｎｔｅｒｖａｌは管理テーブルを監視する時間間隔である。
図１１に示す記憶内容のＤＢプロパティ記憶部１４３をＤＢサーバ１４０が備える場合、変更情報送信部１４４は３０秒ごとに管理テーブルの内容が変更されたか判定し（Ｓ２０１）、１７２．１６．１９２．５０をアドレスとするＡＰＰ０１で識別されるアプリケーションサーバと１７２．１６．１９２．５１をアドレスとするＡＰＰ０２で識別されるアプリケーションサーバとに変更されたテーブルＩＤを含む変更情報を送信する（Ｓ２０２、Ｓ２０３）。
ｉｎｔｅｒｖａｌが示す監視時間間隔を調整することで、アプリケーションサーバ１３０上で保持しているキャッシュデータの寿命を調整することができる。
【００３６】
図１２は、実施の形態１におけるＤＢサーバ１４０がアプリケーションサーバ１３０に送信する変更情報を示す図である。
Ｓ２０３で変更情報送信部１４４は、例えば、図１２に示すような変更情報を生成してアプリケーションサーバ１３０に送信する。
図１２に示す変更情報はＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述されている。
ｕｐｄ＿ｔｉｍｅタグは変更が発生した日時を示し、ｔｂｌ＿ｉｄタグは変更されたデータテーブルのテーブルＩＤを示し、ａｃｔｉｏｎタグは変更内容を示し、ｓｅｒｉａｌ＿ｎｕｍタグは通し番号を示す。
変更情報送信部１４４は、変更が発生した日時、テーブルＩＤ、変更内容を管理テーブルから取得する。図９に示した管理テーブルにおいて、それぞれＵＰＤＡＴＥ＿ＴＩＭＥ、ＴＢＬ＿ＩＤ、ＡＣＴＩＯＮに対応する。
また、変更情報送信部１４４は変更情報をアプリケーションサーバ１３０に送信した回数を記憶し、図１２に示すようにｓｅｒｉａｌ＿ｎｕｍタグの通し番号として変更情報に含めてもよい。
通し番号を変更情報に含めることにより、アプリケーションサーバ１３０はＤＢサーバが送信した変更情報を全て受信しているか判定でき、キャッシュデータの整合性を高めることができる。
【００３７】
図１３は、実施の形態１におけるアプリケーションサーバ１３０の処理の流れを示すフローチャートである。
実施の形態１におけるＤＢサーバ１４０の変更情報送信部１４４から変更情報を受信したアプリケーションサーバ１３０の処理について、図１３に基づいて説明する。
【００３８】
アプリケーションサーバ１３０の変更情報受信部１３４は、ＤＢサーバ１４０が送信したデータテーブルの変更情報を受信する（Ｓ３０１）。
例えば、図１２に示すような変更情報を受信したとする。
変更情報受信部１３４は、受信した変更情報に含まれるｓｅｒｉａｌ＿ｎｕｍタグで示される通し番号と、記憶している通し番号とを比較する（Ｓ３０２）。
変更情報受信部１３４は、変更情報を受信した際に通し番号を記憶する。この通し番号と次に受信した変更情報に含まれる通し番号とを比較することでキャッシュデータの整合性を高めることができる。
比較した結果、受信した変更情報に含まれる通し番号が、記憶している通し番号と連続した番号でない場合、つまり、受信していない変更情報があると判定した場合、変更されたデータをキャッシュデータとして記憶している可能性があるため、変更情報受信部１３４はキャッシュ管理部１３２を起動し、キャッシュ管理部１３２は記憶しているキャッシュデータを全て削除する（Ｓ３０３）。
比較した結果、受信した変更情報に含まれる通し番号が、記憶している通し番号と連続した番号である場合、つまり、ＤＢサーバ１４０が送信した全ての変更情報を受信していると判定した場合、変更情報に含まれるテーブルＩＤの示す変更されたテーブルに関連するキャッシュデータを検索し、これを削除する。検索、削除は以下のように行う。
変更情報受信部１３４はＡＰプロパティ記憶部１３３の記憶情報を参照し、受信した変更情報に含まれるテーブルＩＤに関連するページＩＤと検索条件名とを取得し、取得したページＩＤと検索条件名とをキャッシュ管理部１３２に出力し、キャッシュ管理部１３２はページＩＤと検索条件名とに関連するキャッシュデータを検索する（Ｓ３０４）。
【００３９】
図１４、図１５、図１６、図１７は、実施の形態１におけるＡＰプロパティ記憶部１３３の記憶情報を示す図である。
図１４は、ページＩＤをキーにして、ページＩＤに関連する検索条件名を記憶するテーブルである。
図１５は、検索条件名をキーにして、検索条件名に関連するテーブルＩＤを記憶するテーブルである。
図１６は、テーブルＩＤをキーにして、テーブルＩＤに関連する検索条件名を記憶するテーブルである。
図１７は、検索条件名をキーにして、検索条件名に関連するページＩＤを記憶するテーブルである。
変更情報受信部１３４は、ＡＰプロパティ記憶部１３３に記憶されるこれらのテーブルを参照し、受信した変更情報に含まれるテーブルＩＤに関連するページＩＤと検索条件名とを取得する。但し、ＡＰプロパティ記憶部１３３の記憶情報の形式は上記テーブルでなくてもよい。
【００４０】
キャッシュ管理部１３２は、図６に示すような形式で記憶するキャッシュデータの中から、図１４〜図１７に説明のテーブルにより変更情報受信部１３４が取得したページＩＤと検索条件名とをキーに持つキャッシュデータを検索する。
【００４１】
図１３において、キャッシュ管理部１３２は検索した結果、ページＩＤと検索条件名とをキーに持つキャッシュデータ、つまり変更されたデータテーブルに関連するキャッシュデータを削除する（Ｓ３０３）。
【００４２】
図１８は、実施の形態１におけるＤＢサーバ１４０がアプリケーションサーバ１３０に送信する変更情報を示す図である。
上記説明において、ＤＢサーバ１４０の変更情報送信部１４４は図１２に示すような変更情報をアプリケーションサーバ１３０に送信し、アプリケーションサーバ１３０の変更情報受信部１３４とキャッシュ管理部１３２とが、変更情報に含まれるテーブルＩＤの示すデータテーブルに関連するキャッシュデータを削除する場合を説明した。
その他、ＤＢサーバ１４０の変更情報送信部１４４は図１８に示すような変更情報をアプリケーションサーバ１３０に送信し、アプリケーションサーバ１３０の変更情報受信部１３４とキャッシュ管理部１３２とが、この変更情報に対して全てのキャッシュデータを削除するという処理を行うとよい。
図１８において、ｔｂｌ＿ｉｄタグのＣＡＣＨＥ＿ＡＬＬ＿ＣＬＥＡＲが、全てのキャッシュデータの削除を意味する。
例えば、ＤＢサーバ１４０がデータベース１４１の障害を検知した場合に図１８に示すような変更情報をアプリケーションサーバ１３０に送信し、アプリケーションサーバ１３０が全てのキャッシュデータを削除することで、データベース１４１に記憶されるデータと異なるキャッシュデータを記憶することを防ぎ、キャッシュデータの整合性を高めることができる。
【００４３】
実施の形態２．
図１９は、実施の形態２におけるウェブ検索システムの構成図である。
図１９に示すように、ウェブ検索システムは複数のＷＷＷサーバ１２０、複数のアプリケーションサーバ１３０を備え、さらに、各ＷＷＷサーバ１２０、各アプリケーションサーバ１３０に処理負荷を分散する負荷分散装置１５０を備える構成でもよい。また、負荷分散装置１５０をＷＷＷサーバ１２０とアプリケーションサーバ１３０との間に配置してもよい。
複数のＷＷＷサーバ１２０、複数のアプリケーションサーバ１３０、負荷分散装置１５０を備えることで、ユーザ端末１００からの検索要求の処理を分散し応答時間を短縮するなどの利点が得られる。
【００４４】
実施の形態３．
図２０は、実施の形態３におけるウェブ検索システムの構成図である。
図２０に示すように、ウェブ検索システムは複数のＤＢサーバ１４０を備えデータベース１４１に記憶するデータテーブルを分散してもよい。また、負荷分散装置１５０をアプリケーションサーバ１３０とＤＢサーバ１４０との間に配置してもよい。
データテーブルの分散、処理の負荷分散ができることで、ユーザ端末１００からの検索要求の処理に対する応答時間を短縮するなどの利点が得られる。
【００４５】
実施の形態４．
図２１は、実施の形態４におけるウェブ検索システムの構成図である。
図２１に示すように、複数のウェブ検索システムで構成してもよい。
これにより、一つのウェブ検索システムに障害が発生しても、他のウェブ検索システムによりユーザ端末１００からの検索要求を処理することが可能となる。
【００４６】
ウェブ検索システムは、上記実施の形態１〜上記実施の形態４の構成に限らず、いろいろな構成を取ることができる。これによりシステムの性能が向上するなどの利点が得られる。
【００４７】
また、ウェブ検索システムは、検索のみを行うシステムに限らず、検索を伴うシステムを対象とする。
【図面の簡単な説明】
【００４８】
【図１】従来技術におけるＷＷＷ多階層システムの構成図。
【図２】実施の形態１におけるウェブ検索システムの備える各装置の外観を示す図。
【図３】実施の形態１におけるウェブ検索システムの備える各装置のハードウェア構成図。
【図４】実施の形態１におけるウェブ検索システムの構成図。
【図５】実施の形態１におけるアプリケーションサーバ１３０の処理の流れを示すフローチャート。
【図６】実施の形態１におけるキャッシュ管理部１３２が記憶管理するデータ形式を示す図。
【図７】実施の形態１におけるキャッシュ管理部１３２が記憶するキャッシュログを示す図。
【図８】実施の形態１における管理テーブルに変更されたデータテーブルの情報を格納するトリガーの定義文を示す図。
【図９】実施の形態１における管理テーブルのテーブル形式を示す図。
【図１０】実施の形態１におけるＤＢサーバ１４０の処理の流れを示すフローチャート。
【図１１】実施の形態１におけるＤＢプロパティ記憶部１４３の記憶内容を示す図。
【図１２】実施の形態１におけるＤＢサーバ１４０がアプリケーションサーバ１３０に送信する変更情報を示す図。
【図１３】実施の形態１におけるアプリケーションサーバ１３０の処理の流れを示すフローチャート。
【図１４】実施の形態１におけるＡＰプロパティ記憶部１３３の記憶情報を示す図。
【図１５】実施の形態１におけるＡＰプロパティ記憶部１３３の記憶情報を示す図。
【図１６】実施の形態１におけるＡＰプロパティ記憶部１３３の記憶情報を示す図。
【図１７】実施の形態１におけるＡＰプロパティ記憶部１３３の記憶情報を示す図。
【図１８】実施の形態１におけるＤＢサーバ１４０がアプリケーションサーバ１３０に送信する変更情報を示す図。
【図１９】実施の形態２におけるウェブ検索システムの構成図。
【図２０】実施の形態３におけるウェブ検索システムの構成図。
【図２１】実施の形態４におけるウェブ検索システムの構成図。
【符号の説明】
【００４９】
１００  ユーザ端末、１１０  ネットワーク、１２０  ＷＷＷサーバ、１３０  アプリケーションサーバ、１３１  検索結果取得部、１３２  キャッシュ管理部、１３３  ＡＰプロパティ記憶部、１３４  変更情報受信部、１４０  ＤＢサーバ、１４１  データベース、１４２  変更検出部、１４３  ＤＢプロパティ記憶部、１４４  変更情報送信部、１４５  検索結果送信部、１５０  負荷分散装置、９０１  ＣＲＴ表示装置、９０２  Ｋ／Ｂ、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ＦＡＸ機、９４０  インターネット、９４１  プロキシサーバ、９４２  ＬＡＮ。
【図１】
2006127123.tif 000003
【図２】
2006127123.tif 000004
【図３】
2006127123.tif 000005
【図４】
2006127123.tif 000006
【図５】
2006127123.tif 000007
【図６】
2006127123.tif 000008
【図７】
2006127123.tif 000009
【図８】
2006127123.tif 000010
【図９】
2006127123.tif 000011
【図１０】
2006127123.tif 000012
【図１１】
2006127123.tif 000013
【図１２】
2006127123.tif 000014
【図１３】
2006127123.tif 000015
【図１４】
2006127123.tif 000016
【図１５】
2006127123.tif 000017
【図１６】
2006127123.tif 000018
【図１７】
2006127123.tif 000019
【図１８】
2006127123.tif 000020
【図１９】
2006127123.tif 000021
【図２０】
2006127123.tif 000022
【図２１】
2006127123.tif 000023