(57)【要約】【課題】データベース側に依存することなくキャッシュ内容の更新を実行すること。【解決手段】アプリケーションサーバ３０内部の主制御部３０は、端末１，２から検索要求を受信した場合にＳＱＬ検索式を作成してデータベース５０の検索を実行し、検索結果を端末１，２に送信するとともに、検索式と検索条件とを関連付けてキャッシュメモリ３２に記憶する。更新処理部３３は、更新間隔設定部３４によって設定された更新間隔に基づいて主制御部３１に更新要求を出力し、主制御部３１は、更新要求を受信した場合にキャッシュメモリ３２から検索式を読み出して再度データベース５０の検索をおこない、検索結果をキャッシュメモリ３２に記憶することでキャッシュメモリ３２の内容を更新する。【選択図】      図１
2004295683.tif 000002
【特許請求の範囲】
【請求項１】
端末からの検索要求を受けてデータベース内のデータを検索し、検索結果を端末に送信するアプリケーションサーバであって、
検索条件と検索結果とを関連付けてキャッシュメモリに記憶させるキャッシュ手段と、
前記キャッシュメモリの内容の更新間隔を指定する更新間隔設定手段と、
前記更新間隔設定手段によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手段と、
を備えたことを特徴とするアプリケーションサーバ。
【請求項２】
前記更新間隔設定手段は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする請求項１に記載のアプリケーションサーバ。
【請求項３】
前記更新処理手段は、前記データベースを再度検索する場合に、前記データベースにおけるデータの更新頻度を取得し、前記更新間隔設定手段は、前記更新処理手段が取得した更新頻度をもとに前記更新間隔を設定することを特徴とする請求項２に記載のアプリケーションサーバ。
【請求項４】
端末からの検索要求と、当該検索要求に基づく検索結果とを関連付けてキャッシュメモリに記憶し、記憶した検索要求と同一内容の検索要求を受信した場合に、前記キャッシュメモリから検索結果を読み出すキャッシュプログラムであって、
前記キャッシュ手段が記憶する内容の更新間隔を指定する更新間隔設定手順と、
前記更新間隔設定手順によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手順と、
をコンピュータに実行させることを特徴とするキャッシュプログラム。
【請求項５】
前記更新間隔設定手順は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする請求項４に記載のキャッシュプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、端末からの検索要求を受けてデータベース内のデータを検索し、検索結果を端末に送信するアプリケーションサーバおよびアプリケーションサーバ上で動作するキャッシュプログラムに関し、特に、データベース側に依存することなくキャッシュ内容の更新を実行可能なアプリケーションサーバおよびキャッシュプログラムに関する。
【０００２】
【従来の技術】
従来、ウェブ・ブラウザを使用してインターネットで電子商取引を行ったり、イントラネットから企業内データベースにアクセスするシステムにおいて、端末からデータベースへのアクセスを制御する為のミドルウェアとしてアプリケーションサーバが用いられてきた。
【０００３】
ウェブ・ブラウザでは状態遷移の取り扱いが難しいことから、データベースのトランザクション処理が困難であったが、アプリケーションサーバを使用することで、こうしたシステムの構築および運用が容易になる。
【０００４】
このようにアプリケーションサーバを利用したシステムでは、データベースへのアクセスを軽減するため、アプリケーションサーバにキャッシュを設けることが行われてきた（例えば、非特許文献１参照。）。
【０００５】
【非特許文献１】
Ｗｅｂシステム入門  ２００３年１月２３日    ＨＹＰＥＲＬＩＮＫ  ”ｈｔｔｐ：／／ｗｗｗ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｆｊａｖａ／ｒｅｎｓａｉ２／ｗｅｂｓｙｓ０８／ｗｅｂｓｙｓ０８．ｈｔｍｌ”  ｈｔｔｐ：／／ｗｗｗ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｆｊａｖａ／ｒｅｎｓａｉ２／ｗｅｂｓｙｓ０８／ｗｅｂｓｙｓ０８．ｈｔｍｌ
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来のアプリケーションサーバでは、キャッシュメモリの内容とデータベースの内容との不整合を防止するため、データベースに更新があった場合にデータベース側から通知を受け取っていた。
【０００７】
このようにデータベース側からの通知をもとにキャッシュメモリをリフレッシュすることとすると、データベース側にアプリケーションサーバに更新を通知するための手段が必要となる。すなわち、従来のアプリケーションサーバにおけるキャッシュ方法では、キャッシュを行うためにデータベースと協働する必要があり、アプリケーションサーバ単独でキャッシュ処理を行うことができないという問題点があった。
【０００８】
特に近年、アプリケーションサーバなどにおいて動作するプログラムは、Ｊ２ＥＥ（ＪＡＶＡ  ２  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ）などのオブジェクト指向言語による部品化が進められているが、データベース側の処理に依存することにより、プログラムの部品化が困難になるという問題が生ずる。
【０００９】
さらに、データベース側ではアプリケーションサーバにおけるキャッシュ内容を記憶しておらず、また、アプリケーションサーバ側ではキャッシュ内容がデータベースのどこから抽出されたかを記憶していない。そのため、データベースに更新があった場合に、キャッシュ内容のリフレッシュが必要か否かに関わらず更新通知が送られることとなり、アプリケーションサーバはリフレッシュが必要でないキャッシュをも消去していた。この結果、キャッシュのリフレッシュが必要以上に発生し、サーバの負荷が上昇するという問題があった。
【００１０】
また、データベースに接続するアプリケーションサーバの数が増加すると、データベースが各アプリケーションサーバのキャッシュ処理に要する負荷の上昇を招き、データベースの処理速度低下が発生することとなる。
【００１１】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、データベース側に依存することなくキャッシュ内容の更新を実行可能なアプリケーションサーバおよびキャッシュプログラムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項１の発明に係るアプリケーションサーバは、端末からの検索要求を受けてデータベース内のデータを検索し、検索結果を端末に送信するアプリケーションサーバであって、検索条件と検索結果とを関連付けてキャッシュメモリに記憶させるキャッシュ手段と、前記キャッシュメモリの内容の更新間隔を指定する更新間隔設定手段と、前記更新間隔設定手段によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手段と、を備えたことを特徴とする。
【００１３】
この請求項１の発明によれば、アプリケーションサーバは、更新間隔設定手段によって設定された更新間隔でキャッシュメモリに記憶した検索条件を読み出し、読み出した検索条件を用いて再度データベースの検索を実行し、検索結果をもとにキャッシュメモリの内容を更新する。
【００１４】
また、請求項２の発明に係るアプリケーションサーバは、請求項１の発明において、前記更新間隔設定手段は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする。
【００１５】
この請求項２の発明によれば、アプリケーションサーバは、データベースにおける更新頻度をもとに設定した更新間隔を用い、キャッシュメモリに記憶した検索条件を読み出して更新を実行する。
【００１６】
また、請求項３の発明に係るアプリケーションサーバは、請求項２の発明において、前記更新処理手段は、前記データベースを再度検索する場合に、前記データベースにおけるデータの更新頻度を取得し、前記更新間隔設定手段は、前記更新処理手段が取得した更新頻度をもとに前記更新間隔を設定することを特徴とする。
【００１７】
この請求項３の発明によれば、アプリケーションサーバは、キャッシュメモリに記憶した検索条件を用いてデータベースの検索を行う場合に、データベースにおけるデータの更新頻度を取得してキャッシュメモリの更新間隔を設定する。
【００１８】
また、請求項４の発明に係るキャッシュプログラムは、請求項１の発明において、端末からの検索要求と、当該検索要求に基づく検索結果とを関連付けてキャッシュメモリに記憶し、記憶した検索要求と同一内容の検索要求を受信した場合に、前記キャッシュメモリから検索結果を読み出すキャッシュプログラムであって、前記キャッシュ手段が記憶する内容の更新間隔を指定する更新間隔設定手順と、前記更新間隔設定手順によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手順と、をコンピュータに実行させることを特徴とする。
【００１９】
この請求項４の発明によれば、キャッシュプログラムは、更新間隔設定手順によって設定された更新間隔でキャッシュメモリに記憶した検索条件を読み出し、読み出した検索条件を用いて再度データベースの検索を実行し、検索結果をもとにキャッシュメモリの内容を更新する。
【００２０】
また、請求項５の発明に係るキャッシュプログラムは、請求項４の発明において、前記更新間隔設定手順は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする。
【００２１】
この請求項５の発明によれば、キャッシュプログラムは、データベースにおける更新頻度をもとに設定した更新間隔を用い、キャッシュメモリに記憶した検索条件を読み出して更新を実行する。
【００２２】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るアプリケーションサーバおよびキャッシュプログラムの好適な実施の形態について説明する。
【００２３】
まず、この実施の形態にかかるアプリケーションサーバの概要構成について説明する。図１は、この実施の形態にかかるアプリケーションサーバの概要構成を説明する概要構成図である。図１に示すように、端末１および端末２は、ネットワーク１０およびワールドワイドウェブ（ＷＷＷ）サーバ２０を介してアプリケーションサーバ３０に接続している。さらにアプリケーションサーバ３０は、データベースマネジメントシステム（ＤＢＭＳ）４０を介してデータベース５０に接続している。
【００２４】
また、アプリケーションサーバ３０は、その内部に主制御部３１、キャッシュメモリ３２、更新処理部３３および更新間隔設定部３４を有する。主制御部３１は、アプリケーションサーバ３０を全体制御する制御部であり、具体的にはＷＷＷサーバ２０およびネットワーク１０を介して端末１，２から検索要求を受信した場合に、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）言語で記述したＳＱＬ検索式を作成してＤＢＭＳ４０に送信する処理や、ＤＢＭＳ４０から受信した検索結果を端末に送信するとともに使用したＳＱＬ検索式と関連付けてキャッシュメモリ３２に保存する処理などを行う。
【００２５】
また、更新処理部３３は、更新間隔設定部３４が設定した更新間隔で、キャッシュメモリ３２に保存されたキャッシュの更新（リフレッシュ）をおこなう。具体的には更新処理部３３は、日付および時刻を監視し、更新間隔設定部３４が設定した更新間隔に基づいて主制御部３１に更新要求を送信する。主制御部３１は、更新要求を受け取った場合にキャッシュメモリ３２に保存したＳＱＬ検索式を読み出してデータベース５０の検索を実行し、検索結果をキャッシュメモリ３２に保存することで、キャッシュの内容を最新の状態に更新する。
【００２６】
ＤＢＭＳ４０は、アプリケーションサーバ３０からＳＱＬ検索式を受信した場合に、このＳＱＬ検索式を用いてデータベース５０を検索し、検索結果をアプリケーションサーバ３０に送信する処理をおこなう。
【００２７】
このように、アプリケーションサーバ３０に更新処理部３３を持たせて所定間隔でキャッシュの内容を更新することにより、ＤＢＭＳ４０やデータベース５０に依存することなくキャッシュの内容を最新の状態に更新することができる。
【００２８】
また、端末３，４、ネットワーク１０ａ、ＷＷＷサーバ２０ａおよびアプリケーションサーバ３０ａは、それぞれ端末１，２、ネットワーク１０、ＷＷＷサーバ２０およびアプリケーションサーバ３０と同様の構成を有しており、アプリケーションサーバ３０ａは、アプリケーションサーバ３０と同様に、キャッシュ内容の更新を行うことができる。
【００２９】
すなわち、ＤＢＭＳ４０に接続されるアプリケーションサーバは、それぞれが自らのキャッシュを独立して更新するので、ＤＢＭＳ４０は各アプリケーションサーバに対して更新要求を送信する必要が無く、ＤＢＭＳ４０にかかる処理負荷を軽減することができる。
【００３０】
したがって、ＤＢＭＳ４０は、接続されるアプリケーションサーバの数が増加しても処理速度を低下させることなく安定して動作することとなる。また、アプリケーションサーバ３０がデータベースに対して独立して動作することから、アプリケーションサーバの追加、削除などの構成変更が容易となる。
【００３１】
つぎに、アプリケーションサーバ３０がデータベース５０からデータを検索する場合についてさらに説明する。図２は、アプリケーションサーバ３０がデータベース５０からデータを検索する場合について説明する説明図である。同図に示すように、端末１が検索条件を送信したならば、アプリケーションサーバ３０は、端末１が送信した検索条件をもとにＳＱＬ検索式を作成する。さらにアプリケーションサーバ３０は、同一のＳＱＬ検索式をキャッシュメモリ３２に保存しているか否かを確認し、キャッシュメモリ３２に同一の検索式がなければＤＢＭＳ４０にＳＱＬ検索式を送信する。
【００３２】
ＤＢＭＳ４０は、アプリケーションサーバ３０から受信したＳＱＬ検索式を用いてデータベース５０の検索を実行し、検索結果をアプリケーションサーバ３０に送信するので、アプリケーションサーバ３０は、ＤＢＭＳ４０から受信した検索結果を検索の要求元である端末１に送信する。この時、アプリケーションサーバ３０は、ＤＢＭＳ４０に送信したＳＱＬ検索式とＤＢＭＳ４０から受信した検索結果とを関連付けてキャッシュメモリ３２に記憶する。
【００３３】
つぎに、アプリケーションサーバ３０がキャッシュメモリ３２からデータを検索する場合について説明する。図３は、アプリケーションサーバ３０がキャッシュメモリ３２からデータを検索する場合について説明する説明図である。同図に示すように、端末１が検索条件を送信したならば、アプリケーションサーバ３０は、端末１が送信した検索条件をもとにＳＱＬ検索式を作成する。さらにアプリケーションサーバ３０は、同一のＳＱＬ検索式をキャッシュメモリ３２に保存しているか否かを確認し、キャッシュメモリ３２に同一の検索式が有れば、キャッシュメモリ３２から検索結果を読み出して検索の要求元である端末１に送信する。
【００３４】
つぎに、アプリケーションサーバ３０におけるキャッシュの更新について説明する。図４は、アプリケーションサーバ３０におけるキャッシュの更新について説明する説明図である。同図に示すように、アプリケーションサーバ３０は、更新処理部３３が更新要求を出力した場合に、キャッシュメモリ３２からＳＱＬ検索式を読み出してＤＢＭＳ４０に送信する。
【００３５】
ＤＢＭＳ４０は、アプリケーションサーバ３０から受信したＳＱＬ検索式を用いてデータベース５０の検索を実行し、検索結果をアプリケーションサーバ３０に送信するので、アプリケーションサーバ３０は、ＤＢＭＳ４０から受信した検索結果をキャッシュメモリ３２に記憶させることで、キャッシュメモリ３２の内容を更新する。
【００３６】
このように、アプリケーションサーバ３０は、データベース５０の検索を行った場合にその検索結果を検索条件と関連付けてキャッシュメモリ３２に記憶し、同一の検索条件を指定された場合にはキャッシュメモリ３２から検索結果を読み出すので、データベース５０にかかる負荷を軽減することができる。さらに、アプリケーションサーバ３０がキャッシュの更新を行う場合、キャッシュメモリ３２に記憶した検索条件（ＳＱＬ検索式）を用いてデータベース５０の検索をおこなうこととしているので、データベース５０側にはＳＱＬ検索式から検索を実行する機能のみを実装すれば良い。
【００３７】
つぎに、端末から検索条件を受信した場合のアプリケーションサーバの処理動作を説明する。図５は、端末から検索条件を受信した場合のアプリケーションサーバの処理動作を説明するフローチャートである。図５に示すように、端末から検索条件を受信したならば（ステップＳ１０１）、主制御部３１は、検索条件をＳＱＬ検索式に変換する（ステップＳ１０２）。つぎに、主制御部３１は、変換したＳＱＬ検索式と同一の内容がキャッシュメモリ３２に保存されているかを確認する（ステップＳ１０３）。
【００３８】
キャッシュメモリに３２に同一のＳＱＬ検索式が保存されていれば（ステップＳ１０３，Ｙｅｓ）、主制御部３１は、キャッシュメモリ３２から検索結果を読み出し、検索結果を端末に送信して（ステップＳ１０８）、処理を終了する。
【００３９】
一方、キャッシュメモリ３２に同一の検索式が保存されていなければ（ステップＳ１０３，Ｎｏ）、主制御部３１は、ＳＱＬ検索式をＤＢＭＳ４０に送信する（ステップＳ１０５）。その後、主制御部３１は、ＤＢＭＳ４０から検索結果を受信したならば（ステップＳ１０６）、ＳＱＬ検索式と検索結果とをキャッシュメモリ３２に保存し（ステップＳ１０７）、検索結果を端末に送信して（ステップＳ１０８）、処理を終了する。
【００４０】
つぎに、アプリケーションサーバ３０がキャッシュ内容を更新する場合の処理動作について説明する。図６は、アプリケーションサーバ３０がキャッシュ内容を更新する場合の処理動作について説明するフローチャートである。同図に示すように、まず、更新処理部３３が日付データおよび時刻データを監視し（ステップＳ２０１）、更新指定日時になったならば（ステップＳ２０２，Ｙｅｓ）、主制御部３１に更新要求を送信する。
【００４１】
更新要求を受けた主制御部３１は、キャッシュからＳＱＬ検索式を読み出し、ＤＢＭＳ４０に送信する（ステップＳ２０４）。その後、主制御部３１は、ＤＢＭＳ４０から検索結果を受信し（ステップＳ２０５）、ステップ２０４において送信したＳＱＬ検索式と検索結果とを関連付けてキャッシュメモリ３２に保存し（ステップＳ２０６）、処理を終了する。
【００４２】
ところで、キャッシュメモリ３２の更新間隔をデータベース５０の更新頻度に比して短く設定し過ぎると、データベース５０に更新がないにも関わらずキャッシュメモリの更新が繰り返されることとなり、ネットワーク内に不要なトラフィックが生じ、ネットワークの通信速度を圧迫する。また、キャッシュメモリ３２の更新間隔をデータベース５０の更新頻度に比して長く設定し過ぎると、データベース５０が更新された後であってもアプリケーションサーバ３０は更新前のデータを検索結果として端末に送信することとなり、検索結果の不整合が生じる。
【００４３】
そこで、更新間隔処理部３４によって指定される更新間隔は、データベース５０における更新頻度に従って設定する必要がある。この更新間隔の設定は、利用者がデータベース５０の更新頻度を確認して任意に設定の変更をすることとしても良いし、データベース５０の更新頻度を自動的に取得し、更新間隔設定部３４が自動的に適切な更新間隔を設定する構成としても良い。
【００４４】
図７は、更新間隔設定部３４が更新間隔を自動的に設定する場合の処理動作を説明するフローチャートである。同図に示すように、更新間隔設定部３４は、まずデータベース５０のうち、所定期間内に更新されたデータを取得する（ステップＳ３０１）。つぎに、更新間隔設定部３４は、所定期間内に更新されたデータの数が一定の範囲内にあるか否かを判定し（ステップＳ３０２）、所定期間内に更新されたデータの数が一定の範囲内にあるならば（ステップＳ３０２，Ｙｅｓ）、そのまま処理を終了する。
【００４５】
しかし、所定期間内に更新されたデータの数が一定の範囲内にない場合（ステップＳ３０２，Ｎｏ）、更新間隔設定部３４は、更新されたデータの数が一定の範囲内に収まるように更新間隔を設定して処理を終了する。
【００４６】
このように、データベース５０における更新状況を取得し、キャッシュの更新間隔をデータベース５０の更新頻度に対応して設定することで、データベースに不要な負荷をかけることなくキャッシュの更新が可能となる。
【００４７】
ここで、キャッシュ内容の更新と更新間隔の設定とは、同時に行うこととしてもよい。すなわち、キャッシュ内容を更新する際にＳＱＬ検索式を用いて検索結果を取得するが、この時に各検索結果に含まれるデータの更新日時を取得し、取得した更新日時を用いて次回以降の更新間隔を設定するようにしてもよい。
【００４８】
キャッシュ内容の更新時における検索結果を用いて更新間隔を設定することで、データベース５０にかかる負荷を軽減するとともに、キャッシュ内容に含まれるデータのみを選択的に用いて更新間隔を設定することができる。たとえは、データベース全体では更新が頻繁におきていたとしても、アプリケーションサーバ３０を介してアクセスされるデータにおいて更新頻度が低ければ、アプリケーションサーバ３０でのキャッシュの更新間隔を長くすることができる。
【００４９】
なお、複数のアプリケーションサーバの更新間隔は、それぞれ独立に設定可能であり、他のアプリケーションサーバの更新間隔に依存しないことは言うまでもない。
【００５０】
上述してきたように、本実施の形態にかかるアプリケーションサーバ３０では、更新間隔設定部３４によって示された更新間隔をもとに、キャッシュメモリからＳＱＬ検索式を読み出してＤＢＭＳ４０に送信し、ＤＢＭＳ４０から受信した検索結果によってキャッシュの内容を更新しているので、ＤＢＭＳ４０やデータベース５０に依存することなくキャッシュの内容を最新の状態に更新することができる。
【００５１】
したがって、データベース側の負荷を軽減してデータベースの処理を高速化するとともに、キャッシュ処理の部品化を実現して汎用性の高いキャッシュプログラムを作成することができる。
【００５２】
なお、本実施の形態では、部品化したキャッシュプログラムをアプリケーションサーバに設けているが、キャッシュプログラムの配置場所はアプリケーションサーバに限定されるものではなく、ＷＷＷサーバをはじめ、キャッシュ処理をおこなう装置に幅広く適用することが可能である。
【００５３】
（付記１）端末からの検索要求を受けてデータベース内のデータを検索し、検索結果を端末に送信するアプリケーションサーバであって、
検索条件と検索結果とを関連付けてキャッシュメモリに記憶させるキャッシュ手段と、
前記キャッシュメモリの内容の更新間隔を指定する更新間隔設定手段と、
前記更新間隔設定手段によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手段と、
を備えたことを特徴とするアプリケーションサーバ。
【００５４】
（付記２）前記更新間隔設定手段は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする付記１に記載のアプリケーションサーバ。
【００５５】
（付記３）前記更新処理手段は、前記データベースを再度検索する場合に、前記データベースにおけるデータの更新頻度を取得し、前記更新間隔設定手段は、前記更新処理手段が取得した更新頻度をもとに前記更新間隔を設定することを特徴とする付記２に記載のアプリケーションサーバ。
【００５６】
（付記４）端末からの検索要求と、当該検索要求に基づく検索結果とを関連付けてキャッシュメモリに記憶し、記憶した検索要求と同一内容の検索要求を受信した場合に、前記キャッシュメモリから検索結果を読み出すキャッシュプログラムであって、
前記キャッシュ手段が記憶する内容の更新間隔を指定する更新間隔設定手順と、
前記更新間隔設定手順によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手順と、
をコンピュータに実行させることを特徴とするキャッシュプログラム。
【００５７】
（付記５）前記更新間隔設定手順は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする付記４に記載のキャッシュプログラム。
【００５８】
（付記６）前記更新処理手順は、前記データベースを再度検索する場合に前記データベースにおけるデータの更新頻度を取得し、前記更新間隔設定手順は、前記更新処理手順が取得した更新頻度をもとに前記更新間隔を設定することを特徴とする付記５に記載のキャッシュプログラム。
【００５９】
【発明の効果】
以上説明したように、請求項１の発明によれば、アプリケーションサーバは、更新間隔設定手段によって設定された更新間隔でキャッシュメモリに記憶した検索条件を読み出し、読み出した検索条件を用いて再度データベースの検索を実行し、検索結果をもとにキャッシュメモリの内容を更新するので、データベース側に依存することなくキャッシュ内容の更新を実行可能なアプリケーションサーバが得られるという効果を奏する。
【００６０】
また、請求項２の発明によれば、アプリケーションサーバは、データベースにおける更新頻度をもとに設定した更新間隔を用い、キャッシュメモリに記憶した検索条件を読み出して更新を実行するので、データベースの更新頻度に対応した更新間隔を自動的に設定してキャッシュ内容の更新を実行可能なアプリケーションサーバが得られるという効果を奏する。
【００６１】
また、請求項３の発明によれば、アプリケーションサーバは、キャッシュメモリに記憶した検索条件を用いてデータベースの検索を行う場合に、データベースにおけるデータの更新頻度を取得してキャッシュメモリの更新間隔を設定するので、データベースに負荷をかけることなくキャッシュメモリの更新間隔を自動的に設定してキャッシュ内容の更新を実行可能なアプリケーションサーバが得られるという効果を奏する。
【００６２】
また、請求項４の発明によれば、キャッシュプログラムは、更新間隔設定手順によって設定された更新間隔でキャッシュメモリに記憶した検索条件を読み出し、読み出した検索条件を用いて再度データベースの検索を実行し、検索結果をもとにキャッシュメモリの内容を更新するので、データベース側に依存することなくキャッシュ内容の更新を実行可能なキャッシュプログラムが得られるという効果を奏する。
【００６３】
また、請求項５の発明によれば、キャッシュプログラムは、データベースにおける更新頻度をもとに設定した更新間隔を用い、キャッシュメモリに記憶した検索条件を読み出して更新を実行するので、データベースの更新頻度に対応した更新間隔でキャッシュ内容の更新を実行可能なキャッシュプログラムが得られるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかるアプリケーションサーバの概要構成を説明する概要構成図である。
【図２】図１に示したアプリケーションサーバがデータベースからデータを検索する場合について説明する説明図である。
【図３】図１に示したアプリケーションサーバがキャッシュメモリからデータを検索する場合について説明する説明図である。
【図４】図１に示したアプリケーションサーバにおけるキャッシュの更新について説明する説明図である。
【図５】端末から検索条件を受信した場合のアプリケーションサーバの処理動作を説明するフローチャートである。
【図６】アプリケーションサーバがキャッシュ内容を更新する場合の処理動作について説明するフローチャートである。
【図７】更新間隔設定部が更新間隔を自動的に設定する場合の処理動作を説明するフローチャートである。
【符号の説明】
１〜４    端末
１０，１０ａ    ネットワーク
２０，２０ａ    ＷＷＷサーバ
３０，３０ａ    アプリケーションサーバ
３１    主制御部
３２    キャッシュメモリ
３３    更新処理部
３４    更新間隔設定部
４０    ＤＢＭＳ
５０    データベース
【図１】
2004295683.tif 000003
【図２】
2004295683.tif 000004
【図３】
2004295683.tif 000005
【図４】
2004295683.tif 000006
【図５】
2004295683.tif 000007
【図６】
2004295683.tif 000008
【図７】
2004295683.tif 000009