JP2006235736A - クラスタシステムのキャッシュ同期制御方法 - Google Patents

クラスタシステムのキャッシュ同期制御方法 Download PDF

Info

Publication number
JP2006235736A
JP2006235736A JP2005045936A JP2005045936A JP2006235736A JP 2006235736 A JP2006235736 A JP 2006235736A JP 2005045936 A JP2005045936 A JP 2005045936A JP 2005045936 A JP2005045936 A JP 2005045936A JP 2006235736 A JP2006235736 A JP 2006235736A
Authority
JP
Japan
Prior art keywords
cache
computer
application server
information
server computer
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
JP2005045936A
Other languages
English (en)
Inventor
Seiji Sawaguchi
誠司 澤口
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 JP2005045936A priority Critical patent/JP2006235736A/ja
Publication of JP2006235736A publication Critical patent/JP2006235736A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【目的】 各サーバの負荷状況および楽観的排他制御のエラーの発生を監視することにより、キャッシュ情報の同期方法を動的に切り替え、システム全体のスループットの低下を抑えながらキャッシュ情報の同期を行えるようにする。
【構成】 第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3は、自コンピュータ内のCPU使用率とメモリ使用量と平均サービス時間から算出するサーバ負荷情報と、データサーバコンピュータ4内のデータ更新時の楽観的排他制御のエラー発生数を監視し、上記サーバ負荷情報及び上記エラー発生数に基づいて各アプリケーションサーバコンピュータがそれぞれキャッシュ13,23,33に保持するキャッシュ情報の同期制御処理を動的に変更する。
【選択図】 図1

Description

この発明は、社内業務システムの負荷分散クラスタリング、インターネットにおけるBtoB、BtoCのECサイトの負荷分散クラスタリングを含むクラスタシステムのキャッシュ同期制御方法に関する。
データサーバコンピュータを使用したシステムを構築する場合の速度性能向上を図るための従来方法の一つとして、データサーバコンピュータから取得した情報をアプリケーションサーバコンピュータのメモリ上のキャッシュ領域に格納しておき、次に同一のデータを参照しようとした際にキャッシュ領域から情報を取得することにより、データサーバコンピュータへのアクセスのコストを削減するという方法が広く用いられている。
その方法を利用したアプリケーションプログラムを、負荷分散クラスタリングしたアプリケーションサーバコンピュータで実行する場合、クラスタ化されたサーバ毎にキャッシュ情報を保持するため、キャッシングのタイミングにより、同一項目であっても、サーバ毎に異なる値をキャッシュする可能性がある。
従来、Webサーバの負荷分散を管理するサーバ管理システムにおいて、複数のWebサーバでキャッシュしているコンテンツの整合性を保つために変更があったコンテンツを自動コピーするという方法(例えば、特許文献1参照)があった。
特開2001−331398号公報
しかしながら、従来の方法では、データの整合性を保持するための排他制御方式として楽観的排他制御方式を採用したシステムでは、最新情報でないキャッシュ情報に基づくデータ更新処理は失敗に終わるため、再度処理を行う必要が生じ、結果としてシステムに対する負荷が増加するという問題があった。
それを回避するための手段として、全アプリケーションサーバコンピュータにおいてキャッシュ情報を同期させる方式が考えられるが、サーバの処理状況によってはキャッシュ情報の同期制御処理がオーバーヘッドとなり、システム全体のスループットを低下させる恐れがある。
この発明は上記の点に鑑みてなされたものであり、各サーバの負荷状況および楽観的排他制御のエラーの発生を監視することにより、キャッシュ情報の同期方法を動的に切り替え、システム全体のスループットの低下を抑えながらキャッシュ情報の同期を行えるようにすることを目的とする。
この発明は上記の目的を達成するため、次の各クラスタシステムのキャッシュ同期制御方法を提供する。
(1)ネットワークを介して複数台のクライアントコンピュータと、その各クライアントコンピュータから要求された処理の負荷分散のためにクラスタ化された複数台のアプリケーションサーバコンピュータと、その各アプリケーションサーバコンピュータで取り扱う情報を管理するための単一のデータサーバコンピュータとが接続され、上記データサーバコンピュータから取得したデータを上記各アプリケーションサーバコンピュータのキャッシュにキャッシュ情報としてキャッシングして楽観的排他制御を行うクラスタシステムのキャッシュ同期制御方法であって、上記各アプリケーションサーバコンピュータは、自コンピュータ内のCPU使用率とメモリ使用量と平均サービス時間から算出するサーバ負荷情報を監視し、上記データサーバコンピュータは、自コンピュータ内のデータ更新時の楽観的排他制御のエラー発生数を監視し、上記各アプリケーションサーバコンピュータは上記サーバ負荷情報及び上記エラー発生数に基づいて自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を決定するクラスタシステムのキャッシュ同期制御方法。
(2)上記(1)のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、上記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
(3)上記(1)のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、上記データサーバコンピュータからデータ取得処理を行った直後に、その取得したデータを他の全てのアプリケーションサーバコンピュータへ送信し、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を上記受信したデータに更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
(4)上記(1)のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、上記データサーバコンピュータから定期的に送信されるキャッシュ情報の最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
(5)上記(1)のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、上記データサーバコンピュータから定期的に送信されるキャッシュの最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替え、上記データサーバコンピュータは、上記各アプリケーションサーバコンピュータへキャッシュの最新情報を定期的に送信する処理を、送信の度に送信間隔時間を段階的に短くしていくクラスタシステムのキャッシュ同期制御方法。
(6)上記(1)のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが高負荷状態であり、自コンピュータを含む他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、上記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
(7)上記(1)のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、上記データサーバコンピュータからデータ取得処理を行った直後に、その取得したデータを他の全てのアプリケーションサーバコンピュータへ送信し、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を上記受信したデータに更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
(8)上記(1)のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を一時停止するクラスタシステムのキャッシュ同期制御方法。
(9)上記(1)のクラスタシステムのキャッシュ同期制御方法において、上記各アプリケーションサーバコンピュータは、上記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、上記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えるクラスタシステムのキャッシュ同期制御方法。
この発明によるクラスタシステムのキャッシュ同期制御方法は、各サーバの負荷状況および楽観的排他制御のエラーの発生を監視することにより、キャッシュ情報の同期方法を動的に切り替え、システム全体のスループットの低下を抑えながらキャッシュ情報の同期を行うことができる。
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔実施例〕
図1は、この発明の一実施例のクラスタシステムの構成を示すブロック図である。
このクラスタシステムは、複数台のクライアントパーソナルコンピュータ(図中にはクライアントパーソナルコンピュータ(図中「クライアントPC」と略して記載する)5のみを示す)と、複数台のアプリケーションサーバコンピュータ(図中には、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の3台のみを示す)からなるアプリケーションサーバコンピュータ群の各アプリケーションサーバコンピュータ1〜3とが、フロントエンドネットワーク6を介してデータ通信可能に接続されており、各アプリケーションサーバコンピュータ1〜3と、データサーバコンピュータ4とがバックエンドネットワーク7を介してデータ通信可能に接続されている。
クライアントPC5は、図示を省略したCPU、ROM及びRAMからなるマイクロコンピュータによって実現される制御部を有し、その制御部はクライアントPC全体の制御を司り、各種の処理も実行する。
第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3は、それぞれCPU、ROM及びRAMからなるマイクロコンピュータによって実現される監視サービス部10,20,30、キャッシュ同期サービス部11,21,31、アプリケーション実行部12,22,32を有し、さらにキャッシュ13,23,33も備えている。
データサーバコンピュータ4は、CPU、ROM及びRAMからなるマイクロコンピュータによって実現される監視サービス部40、キャッシュ同期サービス部41、データベース管理システム部42を備えている。
クライアントPC5からの処理要求は、負荷分散クラスタリングによって第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3のいずれかで処理され、その処理結果がクライアントPC5に返される。
第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3、データサーバコンピュータ4の各サーバの監視サービス部10,20,30,40は、サーバ負荷情報及び楽観的排他制御のエラー情報を監視し、他のサーバ上の監視サービス部との間で監視情報を送受信する。
第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3のキャッシュ同期サービス部11,21,31は、それぞれ監視サービス部10,20,30が動的に選択したキャッシュ情報の同期制御処理に応じて、他のアプリケーションサーバコンピュータのキャッシュ同期サービス部との間でキャッシュ情報の送受信を行う。また、他のサーバから受信したキャッシュ情報を使用して、必要に応じて自コンピュータ内のキャッシュ13,23,33のキャッシュ情報の更新を行う。
第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3のアプリケーション実行部12,22,32は、それぞれアプリケーションプログラムを実行する。
第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3のキャッシュ13,23,33は、それぞれキャッシュ情報を記憶する。
データサーバコンピュータ4のキャッシュ同期サービス部41は、データサーバコンピュータ4上のキャッシュ情報の最新情報を各アプリケーションサーバコンピュータのキャッシュ同期サービス部に送信する。
データサーバコンピュータ4のデータベース管理システム部42は、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3に提供するデータを記憶して管理する。
次に、図1に示したクラスタシステムの第1のキャッシュ同期制御処理について説明する。
この第1のキャッシュ同期制御処理では、ステップ1−1で第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の監視サービス部10,20,30は、それぞれ自コンピュータ内のCPU使用率とメモリ使用量と平均サービス時間から算出するサーバ負荷情報を監視し、データサーバコンピュータ4の監視サービス部40は自コンピュータ内のデータ更新時の楽観的排他制御のエラー発生数を監視し、監視サービス部10,20,30,40はそれぞれサーバ負荷情報と楽観的排他制御のエラー発生数の情報を相互に定期的に送受信する。
ステップ1−2で各監視サービス部10,20,30,40は、それぞれ受信したサーバ負荷情報と楽観的排他制御のエラー発生数の情報に基づいて自コンピュータ内のキャッシュ13,23,33にそれぞれ保持するキャッシュ情報の同期制御処理を、全サーバで同一のキャッシュ同期制御処理に決定する。
次に、図1に示したクラスタシステムの第2のキャッシュ同期制御処理について説明する。
この第2のキャッシュ同期制御処理では、ステップ2−1で各監視サービス部10,20,30,40は、それぞれ自コンピュータのキャッシュ同期サービス部11,21,31,41に上記決定したキャッシュ同期制御処理を通知する。
ステップ2−2で各キャッシュ同期サービス部11,21,31は、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
ステップ2−3で各キャッシュ同期サービス部11,21,31は、上記受信したキャッシュ情報に基づいて、データサーバコンピュータ4が低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ2−4ではステップ2−2〜2−3の処理を定期的に繰り返す。
このようにして、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の各キャッシュ13,23,33のキャッシュ情報を定期的に同期させることができる。
次に、図1に示したクラスタシステムの第3のキャッシュ同期制御方法の処理について説明する。
この第3のキャッシュ同期制御処理では、ステップ3−1で各監視サービス部10,20,30,40は、それぞれ自コンピュータのキャッシュ同期サービス部11,21,31,41に上記決定したキャッシュ同期制御処理を通知する。
ステップ3−2でデータサーバコンピュータ4が低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、データサーバコンピュータ4への参照アクセスが発生し、データサーバコンピュータ4からデータ取得処理を行う。
ステップ3−3で各キャッシュ同期サービス部11,21,31は、上記データの取得直後、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
ステップ3−4で各キャッシュ同期サービス部11,21,31は、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を上記受信したデータに更新する処理に自律的に切り替えで実行する。
このようにして、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の各キャッシュ13,23,33のキャッシュ情報の同期を促進させることができる。
次に、図1に示したクラスタシステムの第4のキャッシュ同期制御方法の処理について説明する。
この第4のキャッシュ同期制御処理では、ステップ4−1で各監視サービス部10,20,30,40は、それぞれ自コンピュータのキャッシュ同期サービス部11,21,31,41に上記決定したキャッシュ同期制御処理を通知する。
ステップ4−2でデータサーバコンピュータ4のキャッシュ同期サービス部41はキャッシュ情報の最新情報を第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3へ送信する。
ステップ4−3で各監視サービス部10,20,30は、データサーバコンピュータ4が低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、データサーバコンピュータ4から定期的に送信されるキャッシュ情報の最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ4−4ではステップ4−2〜4−3の処理を定期的に繰り返す。
このようにして、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の負荷増加を抑えて全アプリケーションサーバコンピュータのキャッシュ情報を定期的に同期させることができる。
次に、図1に示したクラスタシステムの第5のキャッシュ同期制御方法の処理について説明する。
この第5のキャッシュ同期制御処理では、ステップ5−1で各監視サービス部10,20,30,40は、それぞれ自コンピュータのキャッシュ同期サービス部11,21,31,41に上記決定したキャッシュ同期制御処理を通知する。
ステップ5−2でデータサーバコンピュータ4のキャッシュ同期サービス部41はキャッシュ情報の最新情報を第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3へ送信する。
ステップ5−3で各監視サービス部10,20,30は、データサーバコンピュータ4が低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、データサーバコンピュータ4から定期的に送信されるキャッシュ情報の最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ5−4ではデータサーバコンピュータ4が、各アプリケーションサーバコンピュータへキャッシュの最新情報を定期的に送信する処理を、送信の度に送信間隔時間を段階的に短くしていき、ステップ5−2〜5−3の処理を定期的に繰り返す。
このようにして、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の負荷増加を抑えて、それぞれのキャッシュ13,23,33のキャッシュ情報の同期を促進させることができる。
次に、図1に示したクラスタシステムの第6のキャッシュ同期制御方法の処理について説明する。
この第6のキャッシュ同期制御処理では、ステップ6−1で各監視サービス部10,20,30,40は、それぞれ自コンピュータのキャッシュ同期サービス部11,21,31,41に上記決定したキャッシュ同期制御処理を通知する。
ステップ6−2で各キャッシュ同期サービス部11,21,31は、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
ステップ6−3で各キャッシュ同期サービス部11,21,31は、上記受信したキャッシュ情報に基づいて、データサーバコンピュータ4が高負荷状態であり、自コンピュータを含む他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ6−4ではステップ6−2〜6−3の処理を定期的に繰り返す。
このようにして、データサーバコンピュータ4の負荷増加を抑えて、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の各キャッシュ13,23,33のキャッシュ情報を定期的に同期させることができる。
次に、図1に示したクラスタシステムの第7のキャッシュ同期制御方法の処理について説明する。
この第7のキャッシュ同期制御処理では、ステップ7−1で各監視サービス部10,20,30,40は、それぞれ自コンピュータのキャッシュ同期サービス部11,21,31,41に上記決定したキャッシュ同期制御処理を通知する。
ステップ7−2でデータサーバコンピュータ4が高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、データサーバコンピュータ4への参照アクセスが発生し、データサーバコンピュータ4からデータ取得処理を行う。
ステップ7−3で各キャッシュ同期サービス部11,21,31は、上記データの取得直後、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
ステップ7−4で各キャッシュ同期サービス部11,21,31は、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を上記受信したデータに更新する処理に自律的に切り替えて実行する。
このようにして、データサーバコンピュータ4の負荷増加を抑えて、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の各キャッシュ13,23,33のキャッシュ情報の同期を促進させることができる。
次に、図1に示したクラスタシステムの第8のキャッシュ同期制御方法の処理について説明する。
この第8のキャッシュ同期制御処理では、ステップ8−1で各監視サービス部10,20,30,40は、それぞれ自コンピュータのキャッシュ同期サービス部11,21,31,41に上記決定したキャッシュ同期制御処理を通知する。
ステップ8−2で各キャッシュ同期サービス部11,21,31は、データサーバコンピュータ4が高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を一時停止する。
このようにして、データサーバコンピュータ4及び第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の負荷増加を抑えることができる。
次に、図1に示したクラスタシステムの第9のキャッシュ同期制御方法の処理について説明する。
この第9のキャッシュ同期制御処理では、ステップ9−1で各監視サービス部10,20,30,40は、それぞれ自コンピュータのキャッシュ同期サービス部11,21,31,41に上記決定したキャッシュ同期制御処理を通知する。
ステップ9−2で各キャッシュ同期サービス部11,21,31は、他の全てのアプリケーションサーバコンピュータ上のキャッシュ同期サービス部とキャッシュ情報の送受信を行う。
ステップ9−3で各キャッシュ同期サービス部11,21,31は、上記受信したキャッシュ情報に基づいて、データサーバコンピュータ4が高負荷状態であり、自コンピュータを含む他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えて実行する。
ステップ9−4ではデータサーバコンピュータ4が、各アプリケーションサーバコンピュータへキャッシュの最新情報を定期的に送信する処理を、送信の度に送信間隔時間を段階的に長くしていき、ステップ9−2〜9−3の処理を定期的に繰り返す。
このようにして、第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の負荷増加を抑えて、それぞれのキャッシュ13,23,33のキャッシュ情報の同期を促進させることができる。
このようにして、データサーバコンピュータ4及び第1アプリケーションサーバコンピュータ1、第2アプリケーションサーバコンピュータ2、第3アプリケーションサーバコンピュータ3の負荷増加を抑えながら全アプリケーションサーバコンピュータのキャッシュ情報を定期的に同期させることができる。
この実施例のクラスタシステムのキャッシュ同期制御方法は、負荷分散の対象をWebサーバのコンテンツ処理に限定せず、またキャッシュ情報を同期させる処理をサーバの負荷情報及び楽観的排他制御のエラー情報を利用して自律的に切り替えるので、サーバの負荷状況及び楽観的排他制御のエラー発生数の変化に追従してキャッシュ情報の同期制御処理の種類を自律的に切り替えることができ、特定サーバへの処理の負荷の偏りを防ぐことができる。
また、各サーバのキャッシュに格納されたキャッシュ情報の不整合を自動的に解消することができる。
さらに、人手によるキャッシュ情報の同期制御処理の種類の切替が不要なので、クラスタシステムの運用コストを低減することができる。
この発明によるクラスタシステムのキャッシュ同期制御方法は、デスクトップパソコン,ノートブックパソコン等のパーソナルコンピュータを用いたシステム全般に適用することができる。
この発明の一実施例のクラスタシステムの構成を示すブロック図である。
符号の説明
1:第1アプリケーションサーバコンピュータ 2:第2アプリケーションサーバコンピュータ 3:第3アプリケーションサーバコンピュータ 4:データサーバコンピュータ 5:クライアントPC 6:フロントエンドネットワーク 7:バックエンドネットワーク 10,20,30,40:監視サービス部 11,21,31,41:キャッシュ同期サービス部 12,22,32:アプリケーション実行部 13,23,33:キャッシュ 42:データベース管理システム部

Claims (9)

  1. ネットワークを介して複数台のクライアントコンピュータと、該各クライアントコンピュータから要求された処理の負荷分散のためにクラスタ化された複数台のアプリケーションサーバコンピュータと、該各アプリケーションサーバコンピュータで取り扱う情報を管理するための単一のデータサーバコンピュータとが接続され、前記データサーバコンピュータから取得したデータを前記各アプリケーションサーバコンピュータのキャッシュにキャッシュ情報としてキャッシングして楽観的排他制御を行うクラスタシステムのキャッシュ同期制御方法であって、前記各アプリケーションサーバコンピュータは、自コンピュータ内のCPU使用率とメモリ使用量と平均サービス時間から算出するサーバ負荷情報を監視し、前記データサーバコンピュータは、自コンピュータ内のデータ更新時の楽観的排他制御のエラー発生数を監視し、前記各アプリケーションサーバコンピュータは前記サーバ負荷情報及び前記エラー発生数に基づいて自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を決定することを特徴とするクラスタシステムのキャッシュ同期制御方法。
  2. 請求項1記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、前記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
  3. 請求項1記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、前記データサーバコンピュータからデータ取得処理を行った直後に、該取得したデータを他の全てのアプリケーションサーバコンピュータへ送信し、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を前記受信したデータに更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
  4. 請求項1記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、前記データサーバコンピュータから定期的に送信されるキャッシュ情報の最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
  5. 請求項1記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが低負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、前記データサーバコンピュータから定期的に送信されるキャッシュの最新情報を受信したとき、自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替え、前記データサーバコンピュータは、前記各アプリケーションサーバコンピュータへキャッシュの最新情報を定期的に送信する処理を、送信の度に送信間隔時間を段階的に短くしていくことを特徴とするクラスタシステムのキャッシュ同期制御方法。
  6. 請求項1記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが高負荷状態であり、自コンピュータを含む他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、前記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
  7. 請求項1記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが低負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、前記データサーバコンピュータからデータ取得処理を行った直後に、該取得したデータを他の全てのアプリケーションサーバコンピュータへ送信し、自コンピュータ内のキャッシュに保持するキャッシュ情報の中に他のアプリケーションサーバコンピュータから受信したデータに該当するキャッシュ情報があった場合、自コンピュータ内のキャッシュに保持するキャッシュ情報を前記受信したデータに更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
  8. 請求項1記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が下降トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を一時停止することを特徴とするクラスタシステムのキャッシュ同期制御方法。
  9. 請求項1記載のクラスタシステムのキャッシュ同期制御方法において、前記各アプリケーションサーバコンピュータは、前記データサーバコンピュータが高負荷状態であり、自コンピュータを含めて他の各アプリケーションサーバコンピュータが高負荷状態又は楽観的排他制御のエラー発生数が上昇トレンドの場合、自コンピュータ内のキャッシュに保持するキャッシュ情報の同期制御処理を、自コンピュータ内のキャッシュに保持するキャッシュ情報について、他の全アプリケーションサーバコンピュータに対してそれぞれより新しいキャッシュ情報を保持しているか否かの問い合わせを定期的に送信し、前記他の全アプリケーションサーバコンピュータのいずれかからより新しいキャッシュ情報を保持していることを示す情報が返信されてきた場合、その情報を返信してきたアプリケーションサーバコンピュータからより新しいキャッシュ情報を取得して自コンピュータ内のキャッシュに保持するキャッシュ情報を更新する処理に自律的に切り替えることを特徴とするクラスタシステムのキャッシュ同期制御方法。
JP2005045936A 2005-02-22 2005-02-22 クラスタシステムのキャッシュ同期制御方法 Pending JP2006235736A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005045936A JP2006235736A (ja) 2005-02-22 2005-02-22 クラスタシステムのキャッシュ同期制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005045936A JP2006235736A (ja) 2005-02-22 2005-02-22 クラスタシステムのキャッシュ同期制御方法

Publications (1)

Publication Number Publication Date
JP2006235736A true JP2006235736A (ja) 2006-09-07

Family

ID=37043349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005045936A Pending JP2006235736A (ja) 2005-02-22 2005-02-22 クラスタシステムのキャッシュ同期制御方法

Country Status (1)

Country Link
JP (1) JP2006235736A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013047207A1 (ja) * 2011-09-30 2013-04-04 日本電気株式会社 キャッシュシステム、キャッシュ方法、及びキャッシュサーバ
JP2013077063A (ja) * 2011-09-29 2013-04-25 Fujitsu Ltd データ管理プログラム、ノード、および分散データベースシステム
US9767023B2 (en) 2013-06-12 2017-09-19 Nec Corporation Method of controlling data writing to persistent storage device
CN109582730A (zh) * 2018-10-11 2019-04-05 阿里巴巴集团控股有限公司 缓存同步方法、装置、电子设备及计算机可读存储介质
US10284649B2 (en) 2013-05-31 2019-05-07 Nec Corporation Distributed processing system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013077063A (ja) * 2011-09-29 2013-04-25 Fujitsu Ltd データ管理プログラム、ノード、および分散データベースシステム
WO2013047207A1 (ja) * 2011-09-30 2013-04-04 日本電気株式会社 キャッシュシステム、キャッシュ方法、及びキャッシュサーバ
JPWO2013047207A1 (ja) * 2011-09-30 2015-03-26 日本電気株式会社 キャッシュシステム、キャッシュ方法、及びキャッシュサーバ
US10284649B2 (en) 2013-05-31 2019-05-07 Nec Corporation Distributed processing system
US9767023B2 (en) 2013-06-12 2017-09-19 Nec Corporation Method of controlling data writing to persistent storage device
CN109582730A (zh) * 2018-10-11 2019-04-05 阿里巴巴集团控股有限公司 缓存同步方法、装置、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
EP3490224B1 (en) Data synchronization method and system
CN108810100B (zh) 一种主节点的选举方法、装置及设备
US9626217B2 (en) Information processing apparatus, information processing method, recording medium and information processing system
KR100451211B1 (ko) 이동 컴퓨팅 환경에서 트랜잭션 캐시 일관성 유지 시스템및 방법
US9143452B2 (en) Data processing
US10069942B2 (en) Method and apparatus for changing configurations
US20140149537A1 (en) Distributed caching cluster management
CN108183961A (zh) 一种基于Redis的分布式缓存方法
CN110300188B (zh) 数据传输系统、方法和设备
CN101652977A (zh) 分布式计算系统中路由信息的按需传播
US9529772B1 (en) Distributed caching cluster configuration
JP2007164264A (ja) 負荷分散プログラム、負荷分散装置、サービスシステム
US20200112499A1 (en) Multiple quorum witness
CN112199427A (zh) 一种数据处理方法和系统
JP2006235736A (ja) クラスタシステムのキャッシュ同期制御方法
JP2006301749A (ja) サーバ装置
CN106605213B (zh) 用于在断续的连通性的情况下进行支持的系统、相应的本地设备以及相应的云端计算平台
CN108881379B (zh) 一种服务器集群间数据同步的方法和装置
US20180375739A1 (en) Cache based on dynamic device clustering
WO2013097363A1 (zh) 一种调度数据共享装置的方法及系统
EP2472416B1 (en) Data query system and constructing method thereof and corresponding data query method
CN110545315A (zh) 基于数据块数量变化以及带宽变化的心跳间隔调整方法
US9137331B2 (en) Adaptive replication
US10402373B1 (en) Filesystem redirection
EP3685567B1 (en) Load shedding of traffic based on current load state of target capacity