(57)【要約】【課題】大規模な負荷分散システムにおいても効率的にサーバ間の構成をチェックし、管理者が障害の発生に迅速かつ的確に対応できるように支援する構成チェックシステム等を提供する。【解決手段】ＡＰサーバ３ａは、アプリケーションに関する比較結果に異常があった場合、担当者Ｘに障害を通知するため、生成した比較ファイルの種別としてアプリケーションを示す識別子を埋め込んだメッセージを運用監視サーバ７に送信する。一方、ＡＰサーバ３ａは、ミドルウェアおよび／またはＯＳに関する比較結果に異常があった場合、担当者Ｙに障害を通知するため、生成した比較ファイルの種別としてミドルウェアおよび／またはＯＳを示す識別子を埋め込んだメッセージを運用監視サーバ７に送信する。【選択図】図６
2009230457.tif 000002
【特許請求の範囲】
【請求項１】
負荷分散システムにおける複数のアプリケーションサーバと、全てのアプリケーションサーバがアクセス許可のある記憶領域を有する共有サーバと、システム全体の運用を監視する運用監視サーバとが互いに接続されており、アプリケーションサーバ間の構成をチェックする構成チェックシステムであって、
各アプリケーションサーバは、
自らがチェック対象かどうかを確認し、チェック対象の場合には、自らの構成を記述したファイルである構成ファイルから、他のアプリケーションサーバと構成を比較するためのファイルである比較ファイルを生成する比較ファイル生成手段と、
生成した比較ファイルを共有サーバに送信する比較ファイル送信手段と、
を具備し、
構成チェックを行う特定のアプリケーションサーバは、
共有サーバから比較ファイルを取得し、取得した比較ファイルを比較し、異常があるかどうかを判定する異常判定手段と、
前記異常判定手段によって異常があると判定した場合には運用監視サーバに異常であることを通知する異常通知手段と、
を具備することを特徴とする構成チェックシステム。
【請求項２】
前記比較ファイル生成手段は、比較ファイルとして、構成ファイルを要約したダイジェスト比較ファイルを生成することを特徴とする請求項１に記載の構成チェックシステム。
【請求項３】
前記比較ファイル生成手段は、複数の構成ファイルを、各構成ファイルが属するソフトウェアのレイヤごとに区分して、比較ファイルを生成することを特徴とする請求項１または請求項２に記載の構成チェックシステム。
【請求項４】
前記比較ファイル生成手段は、更に、複数の構成ファイルを、全てのアプリケーションサーバに共通する構成を記述したファイルである共通ファイルと、各アプリケーションサーバ固有の構成を記述したファイルである個別ファイルとに区分して、比較ファイルを生成することを特徴とする請求項３に記載の構成チェックシステム。
【請求項５】
前記異常通知手段は、更に、基にした構成ファイルの種類を識別する識別子を通知することを特徴とする請求項１に記載の構成チェックシステム。
【請求項６】
負荷分散システムは、処理を各アプリケーションサーバに振り分ける負荷分散装置を更に有しており、
運用監視サーバは、前記異常通知手段によって異常であることが通知されると、異常と特定されたサーバを振り分ける対象から外す命令を負荷分散装置に送信する手段、を更に具備することを特徴とする請求項１に記載の構成チェックシステム。
【請求項７】
負荷分散システムにおける複数のアプリケーションサーバと、全てのアプリケーションサーバがアクセス許可のある記憶領域を有する共有サーバと、システム全体の運用を監視する運用監視サーバとが互いに接続されており、アプリケーションサーバ間の構成をチェックする構成チェックシステムであって、
各アプリケーションサーバは、
自らがチェック対象かどうかを確認し、チェック対象の場合には、自らの構成を記述したファイルである構成ファイルから、他のアプリケーションサーバと構成を比較するためのファイルである比較ファイルを生成する比較ファイル生成手段と、
生成した比較ファイルを共有サーバに送信する比較ファイル送信手段と、
を具備し、
共有サーバは、
各アプリケーションサーバから受信した比較ファイルを比較し、異常があるかどうかを判定する異常判定手段と、
前記異常判定手段によって異常があると判定した場合には運用監視サーバに異常であることを通知する異常通知手段と、
を具備することを特徴とする構成チェックシステム。
【請求項８】
負荷分散システムにおける複数のアプリケーションサーバと、システム全体の運用を監視する運用監視サーバとが互いに接続されており、アプリケーションサーバ間の構成をチェックする構成チェックシステムであって、
各アプリケーションサーバは、
自らがチェック対象かどうかを確認し、チェック対象の場合には、自らの構成を記述したファイルである構成ファイルから、他のアプリケーションサーバと構成を比較するためのファイルである比較ファイルを生成する比較ファイル生成手段と、
生成した比較ファイルを、構成チェックを行う特定のアプリケーションサーバに送信する比較ファイル送信手段と、
を具備し、
運用監視サーバは、
各アプリケーションサーバから受信した比較ファイルを比較し、異常があるかどうかを判定する異常判定手段と、
前記異常判定手段によって異常があると判定した場合には異常であることを出力する異常通知手段と、
を具備することを特徴とする構成チェックシステム。
【請求項９】
負荷分散システムにおける複数のアプリケーションサーバと接続されており、アプリケーションサーバ間の構成をチェックする構成チェックサーバであって、
構成チェックサーバは、
各アプリケーションサーバがチェック対象かどうかを確認し、チェック対象の場合には、各アプリケーションサーバの構成を記述したファイルである構成ファイルを受信し、他のアプリケーションサーバと構成を比較するためのファイルである比較ファイルを生成する比較ファイル生成手段と、
自らを含む各アプリケーションサーバから受信した比較ファイルを比較し、異常があるかどうかを判定する異常判定手段と、
前記異常判定手段によって異常があると判定した場合には異常であることを出力する異常通知手段と、
を具備することを特徴とする構成チェックサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散システムにおける複数のサーバ間の構成をチェックする構成チェックシステム、構成チェックサーバに関する。
【背景技術】
【０００２】
現在、多くの企業、学校、自治体などが、サーバの負荷を分散する負荷分散システムを運用している。負荷分散システムにおけるサーバは、基本的には同一の構成である。ここで、構成とは、サーバが保持する様々な構成ファイルの記述内容を指す。構成ファイルとは、サーバが用いる各種のプロトコルに必要な設定ファイル、サーバの製造供給元であるベンダが独自に準備する設定ファイル、サーバが提供するアプリケーションに必要な設定ファイルなど全てを含むものとする。更に、構成ファイルには、例えばフォルダ構成など設定ファイルに記述されない設定も含む概念とする。
【０００３】
このような負荷分散システムにおいて、例えば、システムが提供するアプリケーションのバージョンアップ、不具合対応などによって、構成ファイルを修正する場合がある。このとき、システムに含まれる一部のサーバに対して構成ファイルが修正されなかった場合、障害発生の原因となる。そして、このような原因によって障害が発生した場合、障害の原因（サーバ間の構成ファイルに差異があること）を突き止めることは非常に困難である。
【０００４】
そこで、二つのサーバ間の構成ファイルに差異があることを検知する仕組みが考案されている（特許文献１参照）。
特許文献１に記載の仕組みでは、構成が同じ２つのサーバが存在する場合において、一方のサーバに何らかの障害（構成ファイルの一部が意図せず書き換えられていること）が発生した場合等に、これら２つのサーバの構成ファイルの差異を検知する。
【特許文献１】特開２００５−２６６９１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の仕組みでは、多くのサーバ（数十台から数百台規模）が含まれている大規模な負荷分散システムへの適用は考慮されていない。
【０００６】
本発明は、前述した問題点に鑑みてなされたもので、その目的は、大規模な負荷分散システムにおいても効率的にサーバ間の構成をチェックし、管理者が障害の発生に迅速かつ的確に対応できるように支援する構成チェックシステム等を提供することである。
【課題を解決するための手段】
【０００７】
前述した目的を達成するために第１の発明は、負荷分散システムにおける複数のアプリケーションサーバと、全てのアプリケーションサーバがアクセス許可のある記憶領域を有する共有サーバと、システム全体の運用を監視する運用監視サーバとが互いに接続されており、アプリケーションサーバ間の構成をチェックする構成チェックシステムであって、各アプリケーションサーバは、自らがチェック対象かどうかを確認し、チェック対象の場合には、自らの構成を記述したファイルである構成ファイルから、他のアプリケーションサーバと構成を比較するためのファイルである比較ファイルを生成する比較ファイル生成手段と、生成した比較ファイルを共有サーバに送信する比較ファイル送信手段と、を具備し、構成チェックを行う特定のアプリケーションサーバは、共有サーバから比較ファイルを取得し、取得した比較ファイルを比較し、異常があるかどうかを判定する異常判定手段と、前記異常判定手段によって異常があると判定した場合には運用監視サーバに異常であることを通知する異常通知手段と、を具備することを特徴とする構成チェックシステムである。
【０００８】
第１の発明における比較ファイル生成手段は、比較ファイルとして、構成ファイルを要約したダイジェスト比較ファイルを生成するようにしても良い。また、比較ファイル生成手段は、複数の構成ファイルを、各構成ファイルが属するソフトウェアのレイヤごとに区分して、比較ファイルを生成するようにしても良い。また、比較ファイル生成手段は、更に、複数の構成ファイルを、全てのアプリケーションサーバに共通する構成を記述したファイルである共通ファイルと、各アプリケーションサーバ固有の構成を記述したファイルである個別ファイルとに区分して、比較ファイルを生成するようにしても良い。
【０００９】
第１の発明における異常通知手段は、更に、基にした構成ファイルの種類を識別する識別子を通知するようにしても良い。
【００１０】
第１の発明における負荷分散システムは、処理を各アプリケーションサーバに振り分ける負荷分散装置を更に有しており、運用監視サーバは、前記異常通知手段によって異常であることが通知されると、異常と特定されたサーバを振り分ける対象から外す命令を負荷分散装置に送信する手段、を更に具備するようにしても良い。
【００１１】
第２の発明は、負荷分散システムにおける複数のアプリケーションサーバと、全てのアプリケーションサーバがアクセス許可のある記憶領域を有する共有サーバと、システム全体の運用を監視する運用監視サーバとが互いに接続されており、アプリケーションサーバ間の構成をチェックする構成チェックシステムであって、各アプリケーションサーバは、自らがチェック対象かどうかを確認し、チェック対象の場合には、自らの構成を記述したファイルである構成ファイルから、他のアプリケーションサーバと構成を比較するためのファイルである比較ファイルを生成する比較ファイル生成手段と、生成した比較ファイルを共有サーバに送信する比較ファイル送信手段と、を具備し、共有サーバは、各アプリケーションサーバから受信した比較ファイルを比較し、異常があるかどうかを判定する異常判定手段と、前記異常判定手段によって異常があると判定した場合には運用監視サーバに異常であることを通知する異常通知手段と、を具備することを特徴とする構成チェックシステムである。
【００１２】
第３の発明は、負荷分散システムにおける複数のアプリケーションサーバと、システム全体の運用を監視する運用監視サーバとが互いに接続されており、アプリケーションサーバ間の構成をチェックする構成チェックシステムであって、各アプリケーションサーバは、自らがチェック対象かどうかを確認し、チェック対象の場合には、自らの構成を記述したファイルである構成ファイルから、他のアプリケーションサーバと構成を比較するためのファイルである比較ファイルを生成する比較ファイル生成手段と、生成した比較ファイルを、構成チェックを行う特定のアプリケーションサーバに送信する比較ファイル送信手段と、を具備し、運用監視サーバは、各アプリケーションサーバから受信した比較ファイルを比較し、異常があるかどうかを判定する異常判定手段と、前記異常判定手段によって異常があると判定した場合には異常であることを出力する異常通知手段と、を具備することを特徴とする構成チェックシステムである。
【００１３】
第４の発明は、負荷分散システムにおける複数のアプリケーションサーバと接続されており、アプリケーションサーバ間の構成をチェックする構成チェックサーバであって、構成チェックサーバは、各アプリケーションサーバがチェック対象かどうかを確認し、チェック対象の場合には、各アプリケーションサーバの構成を記述したファイルである構成ファイルを受信し、他のアプリケーションサーバと構成を比較するためのファイルである比較ファイルを生成する比較ファイル生成手段と、自らを含む各アプリケーションサーバから受信した比較ファイルを比較し、異常があるかどうかを判定する異常判定手段と、前記異常判定手段によって異常があると判定した場合には異常であることを出力する異常通知手段と、を具備することを特徴とする構成チェックサーバである。
【発明の効果】
【００１４】
本発明により、大規模な負荷分散システムにおいても効率的にサーバ間の構成をチェックし、管理者が障害の発生に迅速かつ的確に対応できるように支援する構成チェックシステム等を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下図面に基づいて、本発明の実施形態を詳細に説明する。
【００１６】
＜第１の実施形態＞
最初に、図１から図４を参照しながら、第１の実施形態について説明する。また、図５、図６を参照しながら、第１の実施形態に係る実施例について説明する。
【００１７】
図１は、第１の実施形態に係る構成チェックシステム１の概要を示す図である。図１に示すように、構成チェックシステム１は、ＡＰ（アプリケーション）サーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３、共有サーバ５、運用監視サーバ７が内部ネットワーク９−１を介して接続している。また、ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３は、負荷分散システムを構成しており、負荷分散装置１１、外部ネットワーク９−２を介して、端末１３−１、端末１３−２、・・・、端末１３−３からの要求に応答している。
【００１８】
ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３は、同一の機能を有するサーバ群であり、負荷分散システムにおける負荷分散ノード（＝負荷分散装置１１によって負荷が分散されるサーバ）である。負荷分散ノードの数は、例えば、数台から数百台であり、本発明は、小規模な負荷分散システムから大規模な負荷分散システムまで適用可能である。ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３は、例えば、外部ネットワーク９−２を介して特定のアプリケーションを提供するウェブアプリケーションシステム、特定のサービスを提供するウェブサービスシステムなどの応答側の役割を果たす。
【００１９】
共有サーバ５は、ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３の全てからのアクセスを許可する記憶領域を有する。共有サーバ５は、いわゆるファイルサーバとしての機能を有する。また、共有サーバ５は、特定のアプリケーション、特定のサービスに必要な各種のデータを保持するＤＢサーバとしての機能を有していても良い。また、共有サーバ５は、特定のアプリケーション、特定のサービスを利用するユーザを認証する認証サーバとしての機能を有していても良い。
【００２０】
運用監視サーバ７は、負荷分散システムの運用を監視する。具体的には、ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３、共有サーバ５、負荷分散装置１１などの動作状態を一元的に監視し、異常が発生したときに関係者に通知する。通常、監視対象のサーバには、エージェントと呼ばれるソフトウェアをインストールする。そして、運用監視サーバ７は、エージェントの機能によって、各サーバのプロセス、メモリ、ハードディスクの利用状況、提供するアプリケーション、サービスの稼働状況のデータを収集する。
【００２１】
内部ネットワーク９−１は、いわゆるファイアウォール（図示しない）によって外部からの侵入を防御されているネットワークである。内部ネットワーク９−１は、例えば、構成チェックシステム１の配置場所に敷設されたＬＡＮ（Ｌｏｃａｌ
Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。
【００２２】
負荷分散装置１１は、端末１３−１、端末１３−２、・・・、端末１３−３からの要求を、ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３に送信する。また、負荷分散装置１１は、ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３からの応答を、端末１３−１、端末１３−２、・・・、端末１３−３に送信する。負荷分散装置１１は、要求を各サーバに分散し、一定の応答速度を維持する。また、負荷分散装置１１は、一部のサーバに異常が発生した場合であっても、提供するアプリケーション、サービスの稼動を維持する。
【００２３】
端末１３−１、端末１３−２、・・・、端末１３−３は、アプリケーション、サービスのユーザが利用する。端末１３−１、端末１３−２、・・・、端末１３−３は、ユーザの指示に従い、負荷分散装置１１（最終的には、ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３）に対し、要求を送信する。
【００２４】
外部ネットワーク９−２は、いわゆるファイアウォール外のネットワークであり、例えば、インターネットである。
【００２５】
図２は、ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３、共有サーバ５、運用監視サーバ７等を実現するコンピュータのハードウェア構成図である。尚、図２のハードウェア構成は一例であり、用途、目的に応じて様々な構成を採ることが可能である。
【００２６】
コンピュータは、制御部２１、記憶部２３、メディア入出力部２５、通信制御部２７、入力部２９、表示部３１、周辺機器Ｉ／Ｆ部３３等が、バス３５を介して接続される。
【００２７】
制御部２１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。
【００２８】
ＣＰＵは、記憶部２３、ＲＯＭ、記録媒体等に格納されるプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行し、バス３５を介して接続された各装置を駆動制御し、ＡＰサーバ３−１、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３、共有サーバ５、運用監視サーバ７等が行う後述する処理を実現する。
ＲＯＭは、不揮発性メモリであり、コンピュータのブートプログラムやＢＩＯＳ等のプログラム、データ等を恒久的に保持している。
ＲＡＭは、揮発性メモリであり、記憶部２３、ＲＯＭ、記録媒体等からロードしたプログラム、データ等を一時的に保持するとともに、制御部２１が各種処理を行う為に使用するワークエリアを備える。
【００２９】
記憶部２３は、ＨＤＤ（ハードディスクドライブ）であり、制御部２１が実行するプログラム、プログラム実行に必要なデータ等が格納される。プログラムに関しては、ＯＳ（オペレーティングシステム）に相当する制御プログラムや、後述する処理をコンピュータに実行させるためのアプリケーションプログラムが格納されている。
これらの各プログラムコードは、制御部２１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００３０】
メディア入出力部２５（ドライブ装置）は、データの入出力を行い、例えば、ＣＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＤＶＤドライブ（−ＲＯＭ、−Ｒ、−ＲＷ等）、ＭＯドライブ等のメディア入出力装置を有する。
【００３１】
通信制御部２７は、通信制御装置、通信ポート等を有し、コンピュータとネットワーク９（内部ネットワーク９−１、外部ネットワーク９−２）間の通信を媒介する通信インタフェースであり、ネットワーク９を介して、他のコンピュータ間との通信制御を行う。
【００３２】
入力部２９は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部２９を介して、コンピュータに対して、操作指示、動作指示、データ入力等を行うことができる。
【００３３】
表示部３１は、ＣＲＴモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等（ビデオアダプタ等）を有する。
【００３４】
周辺機器Ｉ／Ｆ（インタフェース）部１５は、コンピュータに周辺機器を接続させるためのポートであり、周辺機器Ｉ／Ｆ部３３を介してコンピュータは周辺機器とのデータの送受信を行う。周辺機器Ｉ／Ｆ部３３は、ＵＳＢやＩＥＥＥ１３９４やＲＳ−２３２Ｃ等で構成されており、通常複数の周辺機器Ｉ／Ｆを有する。周辺機器との接続形態は有線、無線を問わない。
【００３５】
バス３５は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
【００３６】
次に、図３、図４を参照しながら、本発明における比較ファイル生成処理および構成チェック処理の詳細について説明する。
図３は、比較ファイル生成処理におけるＡＰサーバ３−１のアクティビティ図である。尚、ＡＰサーバ３−２、・・・、ＡＰサーバ３−３も、同様に図３に示す処理を行う。
【００３７】
図３に示す処理は、例えば、日次バッチによって行っても良い。また、運用監視サーバ７がＡＰサーバ３−１等に実行開始命令を送信するようにしても良い。また、管理者がいずれかの装置（ＡＰサーバ３−１、共有サーバ５、監視サーバ７等）の入力部２９を介して実行開始命令を入力するようにしても良い。
【００３８】
ＡＰサーバ３−１は、比較ファイル生成処理を開始すると（５１）、自らがチェック対象かどうかを判定するために、チェック対象リストを確認する（５２）。チェック対象リストとは、後述の構成チェック処理の対象となるサーバかどうかを示すリストである。チェック対象リストは、例えば、構成チェック処理の対象となるサーバのコンピュータ名（内部ネットワーク９−２上で識別可能な名称）のリストである。また、反対に、チェック対象リストは、構成チェック処理の対象とならないサーバのコンピュータ名のリストであっても良い。そして、ＡＰサーバ３−１は、自らがチェック対象かどうかを判定する（５３）。
【００３９】
ＡＰサーバ３−１は、自らがチェック対象でない場合、比較ファイル生成処理を終了する（５６）。構成チェック処理の対象とならないサーバとは、例えば、既に何らかの障害が発生しているサーバである。また、例えば、運用上の都合によって、他のサーバと構成が異なるサーバである。
一方、ＡＰサーバ３−１は、自らがチェック対象でない場合、比較ファイルを生成する（５４）。比較ファイルとは、自らの構成を記述したファイルである構成ファイルから、他のアプリケーションサーバと構成を比較するためのファイルである。比較ファイルは、例えば、単純に構成ファイルそのものである。また、比較ファイルは、例えば、構成ファイルを要約したダイジェスト比較ファイルである。そして、ＡＰサーバ３−１は、生成した比較ファイルを共有サーバ５に送信し（５５）、処理を終了する（５６）。これに対し、共有サーバ５は、受信した比較ファイルを記憶部２３に保存する。
【００４０】
比較ファイルは、構成ファイルに含まれる一部のデータ項目を削除して生成することが望ましい。例えば、ＡＰサーバ３−１は、コンピュータ名、ＩＰアドレスなど、サーバごとに異なるデータ項目を各構成ファイルから削除した上で、比較ファイルを生成する。
また、ＡＰサーバ３−１は、ダイジェスト比較ファイルを生成する場合、例えば、各構成ファイルからサーバごとに異なるデータ項目を削除し、残りのデータ項目に対し、ハッシュ関数によって算出したハッシュ値を構成ファイルの要約としても良い。
また、ＡＰサーバ３−１は、構成ファイルのまとまりごとに比較ファイルを生成するようにしても良い。その場合、ＡＰサーバ３−１は、構成ファイルのまとまりごとにデータを合成する処理を行い、最終的な比較ファイルを生成する。
【００４１】
図４は、構成チェック処理におけるＡＰサーバ３−１のアクティビティ図である。前述の図１に示したように、ＡＰサーバ３−１は、構成チェックプログラム２がインストールされている。構成チェックプログラム２は、ＡＰサーバ３−１が図４に示す処理を行うように機能させるものである。例えば、共有サーバ５が、構成チェック処理の対象となる全てのサーバからの比較ファイルを保存すると、共有サーバ５は、ＡＰサーバ３−１に構成チェック処理の実行開始命令を送信する。そして、ＡＰサーバ３−１は、実行開始命令を受信することで、以下に示す構成チェック処理を実行する。
【００４２】
ＡＰサーバ３−１は、構成チェック処理を開始すると（６１）、共有サーバ５が記憶部２３に保持する全ての比較ファイルを取得し、取得した比較ファイルを比較し、異常があるかどうか判定する（６２）。比較対象の決定は、例えば、自らが生成した比較ファイルを比較元とし、それ以外のサーバが生成した比較ファイルを順番に比較先とする。そして、ＡＰサーバ３−１は、例えば、両ファイルの差分を取り、差異があれば異常ありと判定する。但し、差異があれば異常ありと判定することは、同一であることが正しい構成という前提である。逆に、同一でないことが正しい構成の場合、差異がなければ異常ありと判定するようにしても良い。後者の判定によって、例えば、誤って他のサーバの構成ファイルをコピーしてしまうような操作ミスを発見することができる。以下では、混乱を避けるために、同一であることが正しい構成という前提で説明する。
【００４３】
ＡＰサーバ３−１は、異常なしと判定した場合、構成チェック処理を終了する（６５）。
一方、ＡＰサーバ３−１は、異常ありと判定した場合、共有サーバ５に異常があることを通知し（６４）、構成チェック処理を終了する（６５）。
【００４４】
第１の実施形態では、複数のＡＰサーバ３が図３に示す比較ファイル生成処理を行い、特定のＡＰサーバ３−１が図４に示す構成チェック処理を行うことで、負荷システムに含まれるＡＰサーバ３同士の構成をチェックする。
【実施例】
【００４５】
次に、図５、図６を参照しながら、第１の実施形態に係る実施例について説明する。
図５は、第１の実施形態に係る実施例の全体構成を示す図である。本実施例は、負荷分散システムに構成チェックシステム１を組み込んだものとなっている。
【００４６】
図５に示すように、本実施例では、構成チェックシステム１は、ＡＰサーバ３ａ、ＡＰサーバ３ｂ、ＡＰサーバ３ｃ、共有サーバ５、運用監視サーバ７等を備える。また、負荷分散装置１１が、ＡＰサーバ３ａ、ＡＰサーバ３ｂ、ＡＰサーバ３ｃ（以下、３つ全てを示すときは、「ＡＰサーバ３」と記載する。）に要求を転送する。また、オペレータ１５は、運用監視サーバ７によってシステム全体を監視している。但し、オペレータ１５は、ＡＰサーバ３が提供するアプリケーション、サービス等に係る知識を必要としない。また、オペレータ１５は、障害が発生したときに、１７−１の担当者Ｘ、１７−２の担当者Ｙに連絡する手段（電話、ＦＡＸ、電子メールなどであるが、本実施例では、連絡手段を特に限定しない。）を有している。担当者Ｘ、担当者Ｙは、ＡＰサーバ３が提供するアプリケーション、サービス等に係る知識を有するものである。
【００４７】
＜ステップ１０１＞
ＡＰサーバ３が有する日次バッチのスケジューラ機能によって、比較ファイル生成処理の実行開始指示がなされると、ＡＰサーバ３は、ダイジェスト生成定義ファイル７２を読み込む。次に、ＡＰサーバ３は、ダイジェスト生成定義ファイル７２に基づいて、構成ファイルである比較対象ファイル７１を読み込み、ダイジェスト比較ファイルとしてのダイジェストファイル７３を生成する。ダイジェスト生成８１の機能は、ＡＰサーバ３ａ、ＡＰサーバ３ｂ、ＡＰサーバ３ｃの全てが有する。
【００４８】
ダイジェスト生成定義ファイル７２は、ダイジェストファイル７３を生成するための定義ファイルである。定義内容は、例えば、削除対象のデータ項目、構成ファイルのまとまりなどである。比較ファイル生成手段としてのダイジェスト生成８１の機能は、ダイジェスト生成定義ファイル７２に定義されている削除対象のデータ項目を削除し、削除後の比較対象ファイル７１から、ダイジェスト生成定義ファイル７２に定義されている構成ファイルのまとまりごとに、ワークファイルを生成する。次に、ダイジェスト生成８１の機能は、ワークファイルに対し、ハッシュ関数によってハッシュ値を算出する。そして、ダイジェスト生成８１の機能は、構成ファイルのまとまりごとに算出したハッシュ値が含まれたダイジェストファイル７３を生成する。
【００４９】
＜ステップ１０２＞
ＡＰサーバ３は、ダイジェストファイル７３を生成すると、生成したダイジェストファイル７３を共有サーバ５の記憶部２３上に展開されている特定のディレクトリ（フォルダとも言う。）に保存する。この特定のディレクトリは、全てのＡＰサーバ３がアクセス可能な記憶領域となっている。
【００５０】
＜ステップ１０３＞
ＡＰサーバ３ａは、チェック対象リスト７４にチェック対象として含まれている全てのＡＰサーバ３に係るダイジェストファイル７３が特定のディレクトリに保存されているかどうか確認する。確認方法は、例えば、ＡＰサーバ３ａ自身が特定のディレクトリにダイジェストファイル７３を生成した後、全てのダイジェストファイル７３が保存されたことを確認するまで、数分ごとにポーリングするようにしても良い。ダイジェスト比較８２の機能は、ＡＰサーバ３ａのみが有する。
【００５１】
異常判定手段としてのダイジェスト比較８２の機能は、全てのダイジェストファイル７３が保存されたことを確認すると、自らが生成したダイジェストファイル７３を比較元とし、それ以外のサーバが生成したダイジェストファイル７３を順番に比較先とする。そして、ダイジェスト比較８２の機能は、両ファイルの差分を取り、差異があるかどうかを確認する。
【００５２】
＜ステップ１０４＞
ＡＰサーバ３ａは、差異がある場合には、生成した比較ファイルの種別（例えば、比較ファイル生成処理において基にした比較対象ファイル７１が、どのソフトウェアのレイヤに係る構成ファイルかを示すもの）を識別する識別子を埋め込んだメッセージを運用監視サーバ７に送信する。これに対し、運用監視サーバ７は、担当者情報７５を有している。担当者情報７５は、識別子をキーとして、担当者の氏名、担当者の連絡先などを有する。識別子の埋め込み処理については、図６の説明にて後述する。
【００５３】
運用監視サーバ７は、ＡＰサーバ３ａから受信したメッセージに従い、オペレータ１５に障害を通知するため、表示部３１にメッセージの内容、および担当者情報７５を表示する。また、運用監視サーバ７は、合わせて、警告灯としてのパトランプ（図示しない。）に対して、点灯指示を示す制御信号を送信するようにしても良い。
【００５４】
＜ステップ１０５＞
オペレータ１５は、表示部３１に表示されているメッセージの内容、および担当者情報７５を確認し、障害が発生しているサーバを特定する。そして、オペレータ１５は、負荷分散装置１１が有する振り分け先サーバのリスト（図示しない。）から特定したサーバを除外する。これによって、負荷分散装置１１は、障害が発生しているサーバに要求を送信せず、被害の拡大を防止することができる。
【００５５】
尚、運用監視サーバ７が、特定したサーバを振り分け先から除外する命令を負荷分散装置１１に送信するようにしても良い。例えば、負荷分散装置１１は、振り分け先の設定ファイル（以下、「振り分け先ファイル」とする。）を保持しており、振り分け先ファイルには振り分け先のサーバを特定するＩＰアドレスまたはサーバ名が書き込まれている。そして、負荷分散装置１１は、振り分け先ファイルを読み込み、ＲＡＭ上に振り分け先のサーバを特定するＩＰアドレスまたはサーバ名のリストを記憶し、各サーバへの振り分けを行っている。そこで、運用監視サーバ７は、振り分け先ファイルから特定したサーバのＩＰアドレスまたはサーバ名を削除する命令を負荷分散装置１１に送信する。一方、負荷分散装置１１は、この命令を受信すると、振り分け先ファイルから特定したサーバのＩＰアドレスまたはサーバ名を削除する。そして、負荷分散装置１１は、更新後の振り分け先ファイルを読み込み、ＲＡＭ上に記憶している振り分け先のサーバを特定するＩＰアドレスまたはサーバ名のリストを更新する。これによって、オペレータ１５が操作を行わなくても、被害の拡大を防止することができる。
【００５６】
＜ステップ１０６＞
また、オペレータ１５は、表示部３１に表示されているメッセージの内容、および担当者情報７５を確認し、担当者を特定する。そして、オペレータ１５は、特定した担当者へ、障害が発生していることを連絡する。これによって、オペレータ１５がＡＰサーバ３によって提供されるアプリケーション、サービス等に係る知識を有していなくても、迅速に障害対応を行うことができる。尚、運用監視サーバ７が、特定した担当者に係るメールアドレスを宛先とした電子メールを送信するようにしても良い。
【００５７】
図６は、担当者への障害通知の一例を示す図である。図６に示す例では、構成チェックシステム１がチェック対象とするＡＰサーバ３ａのソフトウェアのレイヤは、ＯＳ、ミドルウェア、アプリケーションである。また、構成ファイルである比較対象ファイルは、ソフトウェアのレイヤごとに、共通ファイルと個別ファイルに分けられる。共通ファイルとは、全てのＡＰサーバ３に共通する構成を記述したファイルである。また、個別ファイルとは、各ＡＰサーバ固有の構成を記述したファイルである。
【００５８】
図６に示す構成チェック処理では、ＡＰサーバ３ａは、比較対象ファイルをソフトウェアのレイヤごと、及び共通ファイルか個別ファイルかに区分し、ＡＰサーバ３ｂを比較対象とする。
具体的には、ＡＰサーバ３ａは、自らのアプリケーションの共通ファイル７１−１ａとＡＰサーバ３ｂのアプリケーションの共通ファイル７１−１ｂを比較する。また、ＡＰサーバ３ａは、自らのアプリケーションの個別ファイル７１−２ａとＡＰサーバ３ｂのアプリケーションの個別ファイル７１−２ｂを比較する。
また、ＡＰサーバ３ａは、自らのミドルウェアの共通ファイル７１−３ａとＡＰサーバ３ｂのミドルウェアの共通ファイル７１−３ｂを比較する。また、ＡＰサーバ３ｂは、自らのミドルウェアの個別ファイル７１−４ａとＡＰサーバ３ｂのミドルウェアの個別ファイル７１−４ｂを比較する。
また、ＡＰサーバ３ａは、自らのＯＳの共通ファイル７１−５ａとＡＰサーバ３ｂのＯＳの共通ファイル７１−５ｂを比較する。また、ＡＰサーバ３ａは、自らのＯＳの個別ファイル７１−６ａとＡＰサーバ３ｂのＯＳの個別ファイル７１−６ｂを比較する。
【００５９】
ＡＰサーバ３ａは、共通ファイル同士の比較であれば、例えば、一致しない箇所が存在する場合、すなわち、両ファイルに差異がある場合、異常があると判定する。一方、ＡＰサーバ３ａは、個別ファイル同士の比較であれば、例えば、一致しない箇所が存在しない場合、すなわち、両ファイルに差異がない場合、異常があると判定する。これによって、例えば、サーバごとに異なるＩＰアドレス、サーバ名などの設定漏れ（基にしたファイルの内容を変更せずにそのままインストールしてしまった場合など）を検知することができる。
【００６０】
そして、ＡＰサーバ３ａは、アプリケーションに関する比較結果に異常があった場合、担当者Ｘに障害を通知するため、生成した比較ファイルの種別としてアプリケーションを示す識別子を埋め込んだメッセージを運用監視サーバ７に送信する。
一方、ＡＰサーバ３ａは、ミドルウェアおよび／またはＯＳに関する比較結果に異常があった場合、担当者Ｙに障害を通知するため、生成した比較ファイルの種別としてミドルウェアおよび／またはＯＳを示す識別子を埋め込んだメッセージを運用監視サーバ７に送信する。
【００６１】
＜第２の実施形態＞
次に、図７を参照しながら、第２の実施形態について説明する。以下では、第１の実施形態に係る構成要素と同様の構成要素については同一の番号を付し、重複した説明を避けることとする。
【００６２】
図７は、第２の実施形態に係る構成チェックシステム１ｄの概要を示す図である。図７に示すように、構成チェックシステム１ｄは、ＡＰ（アプリケーション）サーバ３−１ｄ、ＡＰサーバ３−２ｄ、・・・、ＡＰサーバ３−３ｄ、共有サーバ５ｄ、運用監視サーバ７が内部ネットワーク９−１を介して接続している。
【００６３】
第１の実施形態に係る構成チェックシステム１では、構成チェックプログラム２がＡＰサーバ３−１にインストールされていたが、第２の実施形態に係る構成チェックシステム１ｄでは、構成チェックプログラム２ｄが共有サーバ５ｄにインストールされている。従って、図４に示す構成チェック処理は、共有サーバ５ｄが行う。
【００６４】
ここで、共有サーバ５ｄによる構成チェック処理を説明する。図７に示す構成チェックプログラム２ｄは、共有サーバ５ｄが図４に示す処理を行うように機能させるものである。例えば、共有サーバ５ｄが、構成チェック処理の対象となる全てのサーバからの比較ファイルを保存すると、共有サーバ５ｄは、構成チェック処理を実行する。
【００６５】
図４に示すように、共有サーバ５ｄは、構成チェック処理を開始すると（６１）、記憶部２３に保持する比較ファイル同士を比較し、異常があるかどうか判定する（６２）。比較対象の決定は、例えば、特定のサーバが生成した比較ファイルを比較元とし、それ以外のサーバが生成した比較ファイルを順番に比較先とする。そして、共有サーバ５ｄは、例えば、両ファイルの差分を取り、差異があれば異常ありと判定する。
共有サーバ５ｄは、異常なしと判定した場合、構成チェック処理を終了する（６５）。
一方、共有サーバ５ｄは、異常ありと判定した場合、運用監視サーバ７に異常があることを通知し（６４）、構成チェック処理を終了する（６５）。
【００６６】
第２の実施形態では、複数のＡＰサーバ３が図３に示す比較ファイル生成処理を行い、共有サーバ５ｄが図４に示す構成チェック処理を行うことで、負荷システムに含まれるＡＰサーバ３同士の構成をチェックする。第２の実施形態のように、共有サーバ５ｄが構成チェック処理を行うことで、特定のＡＰサーバ３に過度な負荷を与えることはない。従って、２４時間稼動のシステムなど、稼働中に構成チェックを行う場合であっても、システム全体に大きな影響を与えずに、ＡＰサーバ３間の構成をチェックすることができる。
【００６７】
＜第３の実施形態＞
次に、図８を参照しながら、第３の実施形態について説明する。以下では、第１の実施形態に係る構成要素と同様の構成要素については同一の番号を付し、重複した説明を避けることとする。
【００６８】
図８は、第３の実施形態に係る構成チェックシステム１ｅの概要を示す図である。図８に示すように、構成チェックシステム１ｅは、ＡＰ（アプリケーション）サーバ３−１ｅ、ＡＰサーバ３−２ｅ、・・・、ＡＰサーバ３−３ｅ、運用監視サーバ７が内部ネットワーク９−１を介して接続している。
【００６９】
第１の実施形態に係る構成チェックシステム１では、共有サーバ５が含まれていたが、第２の実施形態に係る構成チェックシステム１ｅでは、共有サーバ５に相当するサーバが含まれていない。図３に示す比較ファイル生成処理および図４に示す構成チェック処理は、第１の実施形態と同様に、各ＡＰサーバ３および特定のＡＰサーバ３−１が行う。
【００７０】
ここで、比較ファイル生成処理における比較ファイルの保存場所について説明する。比較ファイルの保存場所は、例えば、構成チェックプログラム２ｅがインストールされているＡＰサーバ３−１ｅの記憶部２３に保存される。そして、ＡＰサーバ３−１ｅが、構成チェック処理の対象となる全てのサーバからの比較ファイルを保存すると、ＡＰサーバ３−１ｅは、構成チェック処理を実行する。
【００７１】
第３の実施形態では、複数のＡＰサーバ３が図３に示す比較ファイル生成処理を行い、特定のＡＰサーバ３−１ｅが図４に示す構成チェック処理を行うことで、負荷システムに含まれるＡＰサーバ３同士の構成をチェックする。第３の実施形態は、構成チェックの対象とする負荷分散システムが、第１の実施形態に係る共有サーバ５ｅを含まない場合を想定している。
【００７２】
＜第４の実施形態＞
次に、図９を参照しながら、第４の実施形態について説明する。以下では、第１の実施形態に係る構成要素と同様の構成要素については同一の番号を付し、重複した説明を避けることとする。
【００７３】
図９は、第４の実施形態に係る構成チェックシステム１ｆの概要を示す図である。図９に示すように、構成チェックシステム１ｆは、ＡＰ（アプリケーション）サーバ３−１ｆ、ＡＰサーバ３−２ｆ、・・・、ＡＰサーバ３−３ｆ、運用監視サーバ７ｆが内部ネットワーク９−１を介して接続している。
【００７４】
第３の実施形態に係る構成チェックシステム１ｅでは、構成チェックプログラム２ｅがＡＰサーバ３−１ｅにインストールされていたが、第４の実施形態に係る構成チェックシステム１ｆでは、構成チェックプログラム２ｆが運用監視サーバ７ｆにインストールされている。従って、図４に示す構成チェック処理は、運用監視サーバ７ｆが行う。
【００７５】
ここで、運用監視サーバ７ｆによる構成チェック処理を説明する。図９に示す構成チェックプログラム２ｆは、運用監視サーバ７ｆが図４に示す処理を行うように機能させるものである。例えば、運用監視サーバ７ｆが、構成チェック処理の対象となる全てのサーバからの比較ファイルを保存すると、運用監視サーバ７ｆは、構成チェック処理を実行する。
【００７６】
図４に示すように、運用監視サーバ７ｆは、構成チェック処理を開始すると（６１）、記憶部２３に保持する比較ファイル同士を比較し、異常があるかどうか判定する（６２）。比較対象の決定は、例えば、特定のサーバが生成した比較ファイルを比較元とし、それ以外のサーバが生成した比較ファイルを順番に比較先とする。そして、運用監視サーバ７ｆは、例えば、両ファイルの差分を取り、差異があれば異常ありと判定する。
運用監視サーバ７ｆは、異常なしと判定した場合、構成チェック処理を終了する（６５）。
一方、運用監視サーバ７ｆは、異常ありと判定した場合、表示部３１等に異常があることを出力し（６４）、構成チェック処理を終了する（６５）。
【００７７】
第４の実施形態では、複数のＡＰサーバ３が図３に示す比較ファイル生成処理を行い、運用監視サーバ７ｆが図４に示す構成チェック処理を行うことで、負荷システムに含まれるＡＰサーバ３同士の構成をチェックする。第４の実施形態のように、運用監視サーバ７ｆが構成チェック処理を行うことで、特定のＡＰサーバ３に過度な負荷を与えることはない。従って、２４時間稼動のシステムなど、稼働中に構成チェックを行う場合であっても、システム全体に大きな影響を与えずに、ＡＰサーバ３間の構成をチェックすることができる。
【００７８】
以上、様々な実施の形態について説明したが、全ての実施の形態に適用可能な運用例について説明する。例えば、本発明によって、障害対応またはテスト対応後、何らかの原因でサーバの構成ファイルが書き換えられたかどうかをチェックする運用を行うことができる。また、例えば、本発明によって、負荷分散システムのサーバを増設した時、増設したサーバが他のサーバと同期しているかどうかをチェックする運用を行うことができる。また、例えば、本発明によって、一部のサーバに構成ファイルのリリースをした後、他のサーバと同期しているかをチェックする運用を行うことができる。また、例えば、本発明によって、本番環境（ユーザに対して実際にアプリケーション、サービスを提供している環境）と開発環境（開発者が開発を行うために用いる擬似環境）との差分をチェックする運用を行うことができる。
【００７９】
本発明では、構成ファイルを要約して比較ファイルを生成することで、大規模な負荷分散システムにおいても効率的にサーバ間の構成をチェックすることができる。また、本発明では、比較ファイルがソフトウェアのレイヤごとに区分して生成されるので、担当者を識別する識別子を用いて適切な担当者に通知することができる。従って、監視している管理者が負荷分散システムに精通していなくても、障害の発生に迅速かつ的確に対応できる。
【００８０】
以上、添付図面を参照しながら、本発明に係る構成チェックシステム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００８１】
【図１】第１の実施形態に係る構成チェックシステム１の概要を示す図
【図２】コンピュータのハードウェア構成図
【図３】比較ファイル生成処理におけるＡＰサーバ３−１のアクティビティ図
【図４】構成チェック処理におけるＡＰサーバ３−１のアクティビティ図
【図５】第１の実施形態に係る実施例の全体構成を示す図
【図６】担当者への障害通知の一例を示す図
【図７】第２の実施形態に係る構成チェックシステム１ｄの概要を示す図
【図８】第３の実施形態に係る構成チェックシステム１ｅの概要を示す図
【図９】第４の実施形態に係る構成チェックシステム１ｆの概要を示す図
【符号の説明】
【００８２】
１、１ｄ、１ｅ、１ｆ………構成チェックシステム
３−１、３−２、３−３、３ａ、３ｂ、３ｃ、３−１ｄ、３−２ｄ、３−３ｄ、３−１ｅ、３−２ｅ、３−３ｅ、３−１ｆ、３−２ｆ、３−３ｆ………ＡＰサーバ
５、５ｄ………共有サーバ
７、７ｆ………運用監視サーバ
９………ネットワーク
９−１………内部ネットワーク
９−２………外部ネットワーク
１１………負荷分散装置
１３−１、１３−２、１３−３………端末
１５………オペレータ
１７−１………担当者Ｘ
１７−２………担当者Ｙ
２１………制御部
２３………記憶部
２５………メディア入出力部
２７………通信制御部
２９………入力部
３１………表示部
３３………周辺機器Ｉ／Ｆ部
３５………バス
７１………比較対象ファイル
７２………ダイジェスト生成定義ファイル
７３………ダイジェストファイル
７４………チェック対象リスト
７５………担当者情報
８１………ダイジェスト生成
８２………ダイジェスト比較
【図１】
2009230457.tif 000003
【図２】
2009230457.tif 000004
【図３】
2009230457.tif 000005
【図４】
2009230457.tif 000006
【図５】
2009230457.tif 000007
【図６】
2009230457.tif 000008
【図７】
2009230457.tif 000009
【図８】
2009230457.tif 000010
【図９】
2009230457.tif 000011