(57)【要約】【目的】  各サーバの負荷状況および楽観的排他制御のエラーの発生を監視することにより、キャッシュ情報の同期方法を動的に切り替え、システム全体のスループットの低下を抑えながらキャッシュ情報の同期を行えるようにする。【構成】  第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３は、自コンピュータ内のＣＰＵ使用率とメモリ使用量と平均サービス時間から算出するサーバ負荷情報と、データサーバコンピュータ４内のデータ更新時の楽観的排他制御のエラー発生数を監視し、上記サーバ負荷情報及び上記エラー発生数に基づいて各アプリケーションサーバコンピュータがそれぞれキャッシュ１３，２３，３３に保持するキャッシュ情報の同期制御処理を動的に変更する。【選択図】        図１
2006235736.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数台のクライアントコンピュータと、該各クライアントコンピュータから要求された処理の負荷分散のためにクラスタ化された複数台のアプリケーションサーバコンピュータと、該各アプリケーションサーバコンピュータで取り扱う情報を管理するための単一のデータサーバコンピュータとが接続され、前記データサーバコンピュータから取得したデータを前記各アプリケーションサーバコンピュータのキャッシュにキャッシュ情報としてキャッシングして楽観的排他制御を行うクラスタシステムのキャッシュ同期制御方法であって、前記各アプリケーションサーバコンピュータは、自コンピュータ内のＣＰＵ使用率とメモリ使用量と平均サービス時間から算出するサーバ負荷情報を監視し、前記データサーバコンピュータは、自コンピュータ内のデータ更新時の楽観的排他制御のエラー発生数を監視し、前記各アプリケーションサーバコンピュータは前記サーバ負荷情報及び前記エラー発生数に基づいて自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を決定することを特徴とするクラスタシステムのキャッシュ同期制御方法。
【請求項２】
請求項１記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、前記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
【請求項３】
請求項１記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、前記データサーバコンピュータからデータ取得処理を行った直後に、該取得したデータを他の全てのアプリケーションサーバコンピュータへ送信し、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を前記受信したデータに更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
【請求項４】
請求項１記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、前記データサーバコンピュータから定期的に送信されるキャッシュ情報の最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
【請求項５】
請求項１記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、前記データサーバコンピュータから定期的に送信されるキャッシュの最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替え、前記データサーバコンピュータは、前記各アプリケーションサーバコンピュータへキャッシュの最新情報を定期的に送信する処理を、送信の度に送信間隔時間を段階的に短くしていくことを特徴とするクラスタシステムのキャッシュ同期制御方法。
【請求項６】
請求項１記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが高負荷状態であり、自コンピュータを含む他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、前記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
【請求項７】
請求項１記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、前記データサーバコンピュータからデータ取得処理を行った直後に、該取得したデータを他の全てのアプリケーションサーバコンピュータへ送信し、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を前記受信したデータに更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
【請求項８】
請求項１記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を一時停止することを特徴とするクラスタシステムのキャッシュ同期制御方法。
【請求項９】
請求項１記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、前記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、社内業務システムの負荷分散クラスタリング、インターネットにおけるＢｔｏＢ、ＢｔｏＣのＥＣサイトの負荷分散クラスタリングを含むクラスタシステムのキャッシュ同期制御方法に関する。
【背景技術】
【０００２】
データサーバコンピュータを使用したシステムを構築する場合の速度性能向上を図るための従来方法の一つとして、データサーバコンピュータから取得した情報をアプリケーションサーバコンピュータのメモリ上のキャッシュ領域に格納しておき、次に同一のデータを参照しようとした際にキャッシュ領域から情報を取得することにより、データサーバコンピュータへのアクセスのコストを削減するという方法が広く用いられている。
その方法を利用したアプリケーションプログラムを、負荷分散クラスタリングしたアプリケーションサーバコンピュータで実行する場合、クラスタ化されたサーバ毎にキャッシュ情報を保持するため、キャッシングのタイミングにより、同一項目であっても、サーバ毎に異なる値をキャッシュする可能性がある。
従来、Ｗｅｂサーバの負荷分散を管理するサーバ管理システムにおいて、複数のＷｅｂサーバでキャッシュしているコンテンツの整合性を保つために変更があったコンテンツを自動コピーするという方法（例えば、特許文献１参照）があった。
【特許文献１】特開２００１−３３１３９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の方法では、データの整合性を保持するための排他制御方式として楽観的排他制御方式を採用したシステムでは、最新情報でないキャッシュ情報に基づくデータ更新処理は失敗に終わるため、再度処理を行う必要が生じ、結果としてシステムに対する負荷が増加するという問題があった。
それを回避するための手段として、全アプリケーションサーバコンピュータにおいてキャッシュ情報を同期させる方式が考えられるが、サーバの処理状況によってはキャッシュ情報の同期制御処理がオーバーヘッドとなり、システム全体のスループットを低下させる恐れがある。
この発明は上記の点に鑑みてなされたものであり、各サーバの負荷状況および楽観的排他制御のエラーの発生を監視することにより、キャッシュ情報の同期方法を動的に切り替え、システム全体のスループットの低下を抑えながらキャッシュ情報の同期を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００４】
この発明は上記の目的を達成するため、次の各クラスタシステムのキャッシュ同期制御方法を提供する。
（１）ネットワークを介して複数台のクライアントコンピュータと、その各クライアントコンピュータから要求された処理の負荷分散のためにクラスタ化された複数台のアプリケーションサーバコンピュータと、その各アプリケーションサーバコンピュータで取り扱う情報を管理するための単一のデータサーバコンピュータとが接続され、上記データサーバコンピュータから取得したデータを上記各アプリケーションサーバコンピュータのキャッシュにキャッシュ情報としてキャッシングして楽観的排他制御を行うクラスタシステムのキャッシュ同期制御方法であって、上記各アプリケーションサーバコンピュータは、自コンピュータ内のＣＰＵ使用率とメモリ使用量と平均サービス時間から算出するサーバ負荷情報を監視し、上記データサーバコンピュータは、自コンピュータ内のデータ更新時の楽観的排他制御のエラー発生数を監視し、上記各アプリケーションサーバコンピュータは上記サーバ負荷情報及び上記エラー発生数に基づいて自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を決定するクラスタシステムのキャッシュ同期制御方法。
【０００５】
（２）上記（１）のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、上記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
【０００６】
（３）上記（１）のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、上記データサーバコンピュータからデータ取得処理を行った直後に、その取得したデータを他の全てのアプリケーションサーバコンピュータへ送信し、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を上記受信したデータに更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
【０００７】
（４）上記（１）のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、上記データサーバコンピュータから定期的に送信されるキャッシュ情報の最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
【０００８】
（５）上記（１）のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、上記データサーバコンピュータから定期的に送信されるキャッシュの最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替え、上記データサーバコンピュータは、上記各アプリケーションサーバコンピュータへキャッシュの最新情報を定期的に送信する処理を、送信の度に送信間隔時間を段階的に短くしていくクラスタシステムのキャッシュ同期制御方法。
【０００９】
（６）上記（１）のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが高負荷状態であり、自コンピュータを含む他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、上記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
【００１０】
（７）上記（１）のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、上記データサーバコンピュータからデータ取得処理を行った直後に、その取得したデータを他の全てのアプリケーションサーバコンピュータへ送信し、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を上記受信したデータに更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
【００１１】
（８）上記（１）のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を一時停止するクラスタシステムのキャッシュ同期制御方法。
【００１２】
（９）上記（１）のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、上記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
【発明の効果】
【００１３】
この発明によるクラスタシステムのキャッシュ同期制御方法は、各サーバの負荷状況および楽観的排他制御のエラーの発生を監視することにより、キャッシュ情報の同期方法を動的に切り替え、システム全体のスループットの低下を抑えながらキャッシュ情報の同期を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔実施例〕
図１は、この発明の一実施例のクラスタシステムの構成を示すブロック図である。
このクラスタシステムは、複数台のクライアントパーソナルコンピュータ（図中にはクライアントパーソナルコンピュータ（図中「クライアントＰＣ」と略して記載する）５のみを示す）と、複数台のアプリケーションサーバコンピュータ（図中には、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の３台のみを示す）からなるアプリケーションサーバコンピュータ群の各アプリケーションサーバコンピュータ１〜３とが、フロントエンドネットワーク６を介してデータ通信可能に接続されており、各アプリケーションサーバコンピュータ１〜３と、データサーバコンピュータ４とがバックエンドネットワーク７を介してデータ通信可能に接続されている。
【００１５】
クライアントＰＣ５は、図示を省略したＣＰＵ、ＲＯＭ及びＲＡＭからなるマイクロコンピュータによって実現される制御部を有し、その制御部はクライアントＰＣ全体の制御を司り、各種の処理も実行する。
第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３は、それぞれＣＰＵ、ＲＯＭ及びＲＡＭからなるマイクロコンピュータによって実現される監視サービス部１０，２０，３０、キャッシュ同期サービス部１１，２１，３１、アプリケーション実行部１２，２２，３２を有し、さらにキャッシュ１３，２３，３３も備えている。
データサーバコンピュータ４は、ＣＰＵ、ＲＯＭ及びＲＡＭからなるマイクロコンピュータによって実現される監視サービス部４０、キャッシュ同期サービス部４１、データベース管理システム部４２を備えている。
【００１６】
クライアントＰＣ５からの処理要求は、負荷分散クラスタリングによって第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３のいずれかで処理され、その処理結果がクライアントＰＣ５に返される。
第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３、データサーバコンピュータ４の各サーバの監視サービス部１０，２０，３０，４０は、サーバ負荷情報及び楽観的排他制御のエラー情報を監視し、他のサーバ上の監視サービス部との間で監視情報を送受信する。
【００１７】
第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３のキャッシュ同期サービス部１１，２１，３１は、それぞれ監視サービス部１０，２０，３０が動的に選択したキャッシュ情報の同期制御処理に応じて、他のアプリケーションサーバコンピュータのキャッシュ同期サービス部との間でキャッシュ情報の送受信を行う。また、他のサーバから受信したキャッシュ情報を使用して、必要に応じて自コンピュータ内のキャッシュ１３，２３，３３のキャッシュ情報の更新を行う。
第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３のアプリケーション実行部１２，２２，３２は、それぞれアプリケーションプログラムを実行する。
【００１８】
第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３のキャッシュ１３，２３，３３は、それぞれキャッシュ情報を記憶する。
データサーバコンピュータ４のキャッシュ同期サービス部４１は、データサーバコンピュータ４上のキャッシュ情報の最新情報を各アプリケーションサーバコンピュータのキャッシュ同期サービス部に送信する。
データサーバコンピュータ４のデータベース管理システム部４２は、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３に提供するデータを記憶して管理する。
【００１９】
次に、図１に示したクラスタシステムの第１のキャッシュ同期制御処理について説明する。
この第１のキャッシュ同期制御処理では、ステップ１−１で第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の監視サービス部１０，２０，３０は、それぞれ自コンピュータ内のＣＰＵ使用率とメモリ使用量と平均サービス時間から算出するサーバ負荷情報を監視し、データサーバコンピュータ４の監視サービス部４０は自コンピュータ内のデータ更新時の楽観的排他制御のエラー発生数を監視し、監視サービス部１０，２０，３０，４０はそれぞれサーバ負荷情報と楽観的排他制御のエラー発生数の情報を相互に定期的に送受信する。
【００２０】
ステップ１−２で各監視サービス部１０，２０，３０，４０は、それぞれ受信したサーバ負荷情報と楽観的排他制御のエラー発生数の情報に基づいて自コンピュータ内のキャッシュ１３，２３，３３にそれぞれ保持するキャッシュ情報の同期制御処理を、全サーバで同一のキャッシュ同期制御処理に決定する。
【００２１】
次に、図１に示したクラスタシステムの第２のキャッシュ同期制御処理について説明する。
この第２のキャッシュ同期制御処理では、ステップ２−１で各監視サービス部１０，２０，３０，４０は、それぞれ自コンピュータのキャッシュ同期サービス部１１，２１，３１，４１に上記決定したキャッシュ同期制御処理を通知する。
ステップ２−２で各キャッシュ同期サービス部１１，２１，３１は、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
【００２２】
ステップ２−３で各キャッシュ同期サービス部１１，２１，３１は、上記受信したキャッシュ情報に基づいて、データサーバコンピュータ４が低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ２−４ではステップ２−２〜２−３の処理を定期的に繰り返す。
【００２３】
このようにして、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の各キャッシュ１３，２３，３３のキャッシュ情報を定期的に同期させることができる。
【００２４】
次に、図１に示したクラスタシステムの第３のキャッシュ同期制御方法の処理について説明する。
この第３のキャッシュ同期制御処理では、ステップ３−１で各監視サービス部１０，２０，３０，４０は、それぞれ自コンピュータのキャッシュ同期サービス部１１，２１，３１，４１に上記決定したキャッシュ同期制御処理を通知する。
ステップ３−２でデータサーバコンピュータ４が低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、データサーバコンピュータ４への参照アクセスが発生し、データサーバコンピュータ４からデータ取得処理を行う。
【００２５】
ステップ３−３で各キャッシュ同期サービス部１１，２１，３１は、上記データの取得直後、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
ステップ３−４で各キャッシュ同期サービス部１１，２１，３１は、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を上記受信したデータに更新する処理に自律的に切り替えで実行する。
このようにして、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の各キャッシュ１３，２３，３３のキャッシュ情報の同期を促進させることができる。
【００２６】
次に、図１に示したクラスタシステムの第４のキャッシュ同期制御方法の処理について説明する。
この第４のキャッシュ同期制御処理では、ステップ４−１で各監視サービス部１０，２０，３０，４０は、それぞれ自コンピュータのキャッシュ同期サービス部１１，２１，３１，４１に上記決定したキャッシュ同期制御処理を通知する。
ステップ４−２でデータサーバコンピュータ４のキャッシュ同期サービス部４１はキャッシュ情報の最新情報を第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３へ送信する。
【００２７】
ステップ４−３で各監視サービス部１０，２０，３０は、データサーバコンピュータ４が低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、データサーバコンピュータ４から定期的に送信されるキャッシュ情報の最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ４−４ではステップ４−２〜４−３の処理を定期的に繰り返す。
このようにして、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の負荷増加を抑えて全アプリケーションサーバコンピュータのキャッシュ情報を定期的に同期させることができる。
【００２８】
次に、図１に示したクラスタシステムの第５のキャッシュ同期制御方法の処理について説明する。
この第５のキャッシュ同期制御処理では、ステップ５−１で各監視サービス部１０，２０，３０，４０は、それぞれ自コンピュータのキャッシュ同期サービス部１１，２１，３１，４１に上記決定したキャッシュ同期制御処理を通知する。
ステップ５−２でデータサーバコンピュータ４のキャッシュ同期サービス部４１はキャッシュ情報の最新情報を第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３へ送信する。
【００２９】
ステップ５−３で各監視サービス部１０，２０，３０は、データサーバコンピュータ４が低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、データサーバコンピュータ４から定期的に送信されるキャッシュ情報の最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ５−４ではデータサーバコンピュータ４が、各アプリケーションサーバコンピュータへキャッシュの最新情報を定期的に送信する処理を、送信の度に送信間隔時間を段階的に短くしていき、ステップ５−２〜５−３の処理を定期的に繰り返す。
【００３０】
このようにして、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の負荷増加を抑えて、それぞれのキャッシュ１３，２３，３３のキャッシュ情報の同期を促進させることができる。
【００３１】
次に、図１に示したクラスタシステムの第６のキャッシュ同期制御方法の処理について説明する。
この第６のキャッシュ同期制御処理では、ステップ６−１で各監視サービス部１０，２０，３０，４０は、それぞれ自コンピュータのキャッシュ同期サービス部１１，２１，３１，４１に上記決定したキャッシュ同期制御処理を通知する。
ステップ６−２で各キャッシュ同期サービス部１１，２１，３１は、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
【００３２】
ステップ６−３で各キャッシュ同期サービス部１１，２１，３１は、上記受信したキャッシュ情報に基づいて、データサーバコンピュータ４が高負荷状態であり、自コンピュータを含む他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ６−４ではステップ６−２〜６−３の処理を定期的に繰り返す。
【００３３】
このようにして、データサーバコンピュータ４の負荷増加を抑えて、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の各キャッシュ１３，２３，３３のキャッシュ情報を定期的に同期させることができる。
【００３４】
次に、図１に示したクラスタシステムの第７のキャッシュ同期制御方法の処理について説明する。
この第７のキャッシュ同期制御処理では、ステップ７−１で各監視サービス部１０，２０，３０，４０は、それぞれ自コンピュータのキャッシュ同期サービス部１１，２１，３１，４１に上記決定したキャッシュ同期制御処理を通知する。
ステップ７−２でデータサーバコンピュータ４が高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、データサーバコンピュータ４への参照アクセスが発生し、データサーバコンピュータ４からデータ取得処理を行う。
【００３５】
ステップ７−３で各キャッシュ同期サービス部１１，２１，３１は、上記データの取得直後、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
ステップ７−４で各キャッシュ同期サービス部１１，２１，３１は、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を上記受信したデータに更新する処理に自律的に切り替えて実行する。
【００３６】
このようにして、データサーバコンピュータ４の負荷増加を抑えて、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の各キャッシュ１３，２３，３３のキャッシュ情報の同期を促進させることができる。
【００３７】
次に、図１に示したクラスタシステムの第８のキャッシュ同期制御方法の処理について説明する。
この第８のキャッシュ同期制御処理では、ステップ８−１で各監視サービス部１０，２０，３０，４０は、それぞれ自コンピュータのキャッシュ同期サービス部１１，２１，３１，４１に上記決定したキャッシュ同期制御処理を通知する。
ステップ８−２で各キャッシュ同期サービス部１１，２１，３１は、データサーバコンピュータ４が高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を一時停止する。
このようにして、データサーバコンピュータ４及び第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の負荷増加を抑えることができる。
【００３８】
次に、図１に示したクラスタシステムの第９のキャッシュ同期制御方法の処理について説明する。
この第９のキャッシュ同期制御処理では、ステップ９−１で各監視サービス部１０，２０，３０，４０は、それぞれ自コンピュータのキャッシュ同期サービス部１１，２１，３１，４１に上記決定したキャッシュ同期制御処理を通知する。
ステップ９−２で各キャッシュ同期サービス部１１，２１，３１は、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
【００３９】
ステップ９−３で各キャッシュ同期サービス部１１，２１，３１は、上記受信したキャッシュ情報に基づいて、データサーバコンピュータ４が高負荷状態であり、自コンピュータを含む他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
【００４０】
ステップ９−４ではデータサーバコンピュータ４が、各アプリケーションサーバコンピュータへキャッシュの最新情報を定期的に送信する処理を、送信の度に送信間隔時間を段階的に長くしていき、ステップ９−２〜９−３の処理を定期的に繰り返す。
このようにして、第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の負荷増加を抑えて、それぞれのキャッシュ１３，２３，３３のキャッシュ情報の同期を促進させることができる。
【００４１】
このようにして、データサーバコンピュータ４及び第１アプリケーションサーバコンピュータ１、第２アプリケーションサーバコンピュータ２、第３アプリケーションサーバコンピュータ３の負荷増加を抑えながら全アプリケーションサーバコンピュータのキャッシュ情報を定期的に同期させることができる。
【００４２】
この実施例のクラスタシステムのキャッシュ同期制御方法は、負荷分散の対象をＷｅｂサーバのコンテンツ処理に限定せず、またキャッシュ情報を同期させる処理をサーバの負荷情報及び楽観的排他制御のエラー情報を利用して自律的に切り替えるので、サーバの負荷状況及び楽観的排他制御のエラー発生数の変化に追従してキャッシュ情報の同期制御処理の種類を自律的に切り替えることができ、特定サーバへの処理の負荷の偏りを防ぐことができる。
また、各サーバのキャッシュに格納されたキャッシュ情報の不整合を自動的に解消することができる。
さらに、人手によるキャッシュ情報の同期制御処理の種類の切替が不要なので、クラスタシステムの運用コストを低減することができる。
【産業上の利用可能性】
【００４３】
この発明によるクラスタシステムのキャッシュ同期制御方法は、デスクトップパソコン，ノートブックパソコン等のパーソナルコンピュータを用いたシステム全般に適用することができる。
【図面の簡単な説明】
【００４４】
【図１】この発明の一実施例のクラスタシステムの構成を示すブロック図である。
【符号の説明】
【００４５】
１：第１アプリケーションサーバコンピュータ    ２：第２アプリケーションサーバコンピュータ    ３：第３アプリケーションサーバコンピュータ    ４：データサーバコンピュータ    ５：クライアントＰＣ    ６：フロントエンドネットワーク    ７：バックエンドネットワーク    １０，２０，３０，４０：監視サービス部    １１，２１，３１，４１：キャッシュ同期サービス部    １２，２２，３２：アプリケーション実行部    １３，２３，３３：キャッシュ    ４２：データベース管理システム部
【図１】
2006235736.tif 000003