(57)【要約】【課題】  ヘルスチェックを利用して、負荷分散装置に接続された機器を意図的に切離す場合、誤検知を防ぐために切離し処理を迅速に行うことができず、また負荷分散装置を直接操作する場合、コンテンツ管理者が容易に切離しをすることができない。【解決手段】  負荷分散装置に接続された機器を簡単且つ迅速に切離すために、本発明の負荷分散装置は、機器に登録されたファイルを用いて、機器の切離し要求があったかどうかを判定する。そして、ヘルスチェックの結果から機器を切り離さなかった場合でも、機器の切離し要求があったと判定すると、その機器を切り離す。【選択図】  図３
2006235668.tif 000002
【特許請求の範囲】
【請求項１】
複数の接続されたネットワーク機器に負荷を分散する負荷分散装置であって、
機器のヘルスチェックをする手段、
機器に登録されたファイルを用いて、機器の切離し要求があったかどうかを判定する手段、そして
ヘルスチェックの結果から機器を切り離すか、ヘルスチェックの結果から機器を切り離さなかった場合でも、機器の切離し要求があったと判定すると、その機器を切り離す手段
を備えた負荷分散装置。
【請求項２】
ヘルスチェックのために機器に登録された機器監視用ファイルとは別にその機器に登録された制御ファイルをチェックするためのデータを記憶する手段をさらに備え、
前記判定をする手段は、そのデータを用いて制御ファイルをチェックした結果にしたがって、機器の切離し要求があったかどうかを判定する請求項１記載の負荷分散装置。
【請求項３】
ヘルスチェックのために機器に登録された機器監視用ファイルに含まれる制御データの設定を記憶する手段をさらに備え、
前記判定をする手段は、その制御データをチェックした結果にしたがって、機器の切離し要求があったかどうかを判定する請求項１記載の負荷分散装置。
【請求項４】
要求によって切り離したかどうかを示すデータを機器毎に含む機器状態管理ファイル、および
機器状態管理ファイルのデータを機器に転送する手段
をさらに備えた請求項１記載の負荷分散装置。
【請求項５】
機器に登録されたファイルを用いて、要求によって切り離した機器の接続要求があったかどうかを判定する手段、および
切り離した機器の接続要求があったと判定すると、その機器を接続する手段
をさらに備えた請求項１記載の負荷分散装置。
【請求項６】
複数のウェブサーバと、複数の接続されたウェブサーバに負荷を分散する負荷分散装置とを備えたウェブシステムであって、
負荷分散装置は、
ウェブサーバのヘルスチェックをする手段、
ウェブサーバに登録されたファイルを用いて、ウェブサーバの切離し要求があったかどうかを判定する手段、
ヘルスチェックの結果から機器を切り離すか、ヘルスチェックの結果からウェブサーバを切り離さなかった場合でも、ウェブサーバの切離し要求があったと判定すると、そのウェブサーバを切り離す手段、
要求によって切り離したかどうかを示すデータをウェブサーバ毎に含む機器状態管理ファイル、そして
機器状態管理ファイルのデータをウェブサーバに転送する手段を有する
ウェブシステム。
【請求項７】
複数の接続されたネットワーク機器に負荷を分散する方法であって、
機器のヘルスチェックをする手順、
機器に登録されたファイルを用いて、機器の切離し要求があったかどうかを判定する手順、
ヘルスチェックの結果から機器を切り離す手順、そして
ヘルスチェックの結果から機器を切り離さなかった場合でも、機器の切離し要求があったと判定すると、その機器を切り離す手順
を備えた負荷分散処理方法。
【請求項８】
請求項７記載の負荷分散方法の手順をコンピュータに実行させるための負荷分散処理プログラム。
【請求項９】
請求項８記載の負荷分散処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを通じたアクセスを複数の機器に分散する負荷分散装置に関するものである。
【背景技術】
【０００２】
負荷分散装置は、インターネット上で提供されるウェブサービスでのアクセスを分散するのに用いられることが多い。図１に示すように負荷分散装置１は、クライアント２とウェブサーバ群３との間に配置する。負荷分散装置１は、インターネット４を通じてクライアント２と接続されている。クライアント２からのアクセスは、ウェブサーバ群３のウェブサーバに代わって負荷分散装置１が受ける。クライアント２からのアクセスを受けると、負荷分散装置１は、ウェブサーバ群３のいずれかのウェブサーバにそのアクセスを振り分ける。
【０００３】
一部のウェブサーバに故障や異常があると、負荷分散装置は、そのウェブサーバを振り分け対象から外す。故障や異常のあったサーバを切り離すため、負荷分散装置は、例えば特許文献１や特許文献２に記載されているように各ウェブサーバの稼動状況を監視する。ウェブサーバの稼動状況を監視するためのヘルスチェックには、ｐｉｎｇチェックやポートチェック、サービスチェックなどがある。例えば負荷分散装置は、ＩＣＭＰ ｅｃｈｏリクエストを定期的にウェブサーバに送信し、その度に確認応答があるかどうかをチェックする。リクエストを設定回数繰り返して確認応答が無ければ、負荷分散装置は、そのウェブサーバを振り分け対象から外す。
【０００４】
このようなヘルスチェックは故障や異常のあった機器を切り離すためだけでなく、メンテナンスやその他の目的で、機器を意図的に切り離す場合にも利用することができる。例えばウェブサーバが公開しているウェブページを取得できるかどうかを負荷分散装置がチェックしている場合に、そのウェブページのファイル名を一時的に変更する。この意図的な変更により、負荷分散装置はそのウェブページを取得できなくなるので、そのウェブサーバを振り分け対象から外す。その状態でクライアントからのアクセスがあると、切り離したウェブサーバ以外のウェブサーバにそのアクセスが振り分けられる。このため、全体としてはサービスを継続的に提供しながら、切り離したウェブサーバに対しコンテンツを登録したり更新したりするような作業をすることができる。また、このようにヘルスチェックを利用すると、負荷分散装置を直接操作するのと較べて、機器の切り離しが容易である。他に影響を与えない範囲でコンテンツ管理者自身がサーバの切り離しをすることができ、負荷分散装置を管理するシステム管理者の負担も軽減される。
【特許文献１】特開２００４−６２２４６号公報
【特許文献２】特開２００３−１６７７７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ヘルスチェックを利用して機器を意図的に切り離すと、その機器の切り離しを迅速にすることができない。ヘルスチェックでは、誤検知を防止するため、応答がないのを設定回数確認する必要がある。したがって、サーバを切り離すためにコンテンツ管理者がファイル名を変更したとしても、コンテンツ管理者は作業をすぐさま行うことができない。
【０００６】
本発明は、このような従来の技術における課題を鑑みてなされたものであり、負荷分散装置に接続された機器の切り離しを簡単且つ迅速にすることのできる負荷分散装置、ウェブシステム、負荷分散処理方法および負荷分散処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この目的を達成するために、本発明の負荷分散装置において、ヘルスチェック部は、負荷分散装置に接続された複数のネットワーク機器に対しヘルスチェックをする。切離し要求判定部は、機器に登録されたファイルを用いて、機器の切離し要求があったかどうかを判定する。切離し処理部は、ヘルスチェックの結果から機器を切り離すか、ヘルスチェックの結果から機器を切り離さなかった場合でも、機器の切離し要求があったと判定すると、その機器を切り離す。
【０００８】
この負荷分散装置は、ヘルスチェックのために機器に登録された機器監視用ファイルとは別にその機器に登録された制御ファイルをチェックするためのデータを記憶するデータ記憶部を備えることができる。その場合、切離し要求判定部は、そのデータを用いて制御ファイルをチェックした結果にしたがって、機器の切離し要求があったかどうかを判定する。
【０００９】
また負荷分散装置は、ヘルスチェックのために機器に登録された機器監視用ファイルに含まれる制御データの設定を記憶するデータ記憶部を備えることができる。その場合、切離し要求判定部は、その制御データをチェックした結果にしたがって、機器の切離し要求があったかどうかを判定する。
【００１０】
また負荷分散装置は、要求によって切り離したかどうかを示すデータを機器毎に含む機器状態管理ファイル、およびその機器状態管理ファイルのデータを機器に転送する切離しデータ転送部を備えることができる。
【００１１】
また負荷分散装置は、機器に登録されたファイルを用いて、要求によって切り離した機器の接続要求があったかどうかを判定する接続要求判定部、および切り離した機器の接続要求があったと判定すると、その機器を接続する接続処理部を備えるようにしてもよい。
【００１２】
別の観点では本発明は、複数のウェブサーバと、上述のような負荷分散装置とを備えたウェブシステムを提供する。
【００１３】
そのウェブシステムでは、負荷分散装置において、ヘルスチェック部が、ウェブサーバのヘルスチェックをする。切離し要求判定部は、ウェブサーバに登録されたファイルを用いて、ウェブサーバの切離し要求があったかどうかを判定する。切離し処理部は、ヘルスチェックの結果から機器を切り離すか、ヘルスチェックの結果からウェブサーバを切り離さなかった場合でも、ウェブサーバの切離し要求があったと判定すると、そのウェブサーバを切り離す。切離しデータ転送部は、切離し要求によって切り離したかどうかを示すデータをウェブサーバ毎に含む機器状態管理ファイルのデータをウェブサーバに転送する。
【００１４】
さらに別の観点では、本発明は、複数の接続されたネットワーク機器に負荷を分散する方法を提供する。この方法は、機器のヘルスチェックをする手順、機器に登録されたファイルを用いて、機器の切離し要求があったかどうかを判定する手順、ヘルスチェックの結果から機器を切り離す手順、そしてヘルスチェックの結果から機器を切り離さなかった場合でも、機器の切離し要求があったと判定すると、その機器を切り離す手順を備える。この方法の手順は、コンピュータが実行することができる。
【００１５】
さらに別の観点では、本発明は、上述の負荷分散方法の手順をコンピュータに実行させるための負荷分散処理プログラムを提供する。そのプログラムはコンピュータ読み取り可能な記録媒体に記録して提供することができる。
【発明の効果】
【００１６】
以上の構成を採用することにより、本発明は、負荷分散装置に接続された機器の切り離しを簡単且つ迅速にすることができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して本発明の実施の形態について説明する。この実施の形態では、複数のウェブサーバに負荷を分散する負荷分散装置を備えたウェブシステムとして本発明を具体化している。図２はそのウェブシステムの概略構成を示す。
【００１８】
このウェブシステムでは、図２に示すように、ウェブサーバ群３のフロントエンドに負荷分散装置１を接続している。負荷分散装置１は、インターネット４を通じてクライアント２と接続されており、クライアント２からのアクセスはウェブサーバ群３のウェブサーバに代わって負荷分散装置１が受ける。ウェブサーバ群３は負荷分散装置１に接続された複数のウェブサーバを含む。図２では３つのウェブサーバ３Ａ、３Ｂおよび３Ｃを示している。負荷分散装置１は、クライアント２からのアクセスを受けると、ウェブサーバ群３のいずれかのサーバにそのアクセスを振り分ける。ウェブサーバ群３の提供するコンテンツ６をクライアント２が要求すると、そのクライアント２には、その要求を割り振ったウェブサーバが負荷分散装置１を介してコンテンツ６を提供する。
【００１９】
またウェブサーバ群３のバックエンドには、コンテンツ管理者の端末５が接続されている。コンテンツ管理者は、その端末５を用いて、ウェブサーバ群３がクライアント２に提供するコンテンツ６をウェブサーバに新たに登録したり更新したりする。負荷分散装置１は、ウェブサーバへの接続やウェブサーバの動作に支障がある場合のほか、コンテンツの登録や更新の作業を行っている間も、そのウェブサーバを切り離す。
【００２０】
このような機能を実現するため、負荷分散装置１には専用のハードウェアを用いてもよいし、コンピュータを利用してもよい。この実施の形態では、コンピュータを利用している。
【００２１】
図２に示すように、そのコンピュータ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２やバス１０３を備えている。ＣＰＵ１０２はバス１０３を通じてＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０４やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０５と接続される。ＲＯＭ１０４に記憶されたプログラムの指令に従ってコンピュータが起動すると、ＣＰＵ１０２はＲＡＭ１０５上でＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０６の一部または全部を動作させる。
【００２２】
バス１０３には通信インターフェイス１０７および１０８も接続されている。通信インターフェイス１０７は、インターネット４を通じてこのコンピュータ１０１をクライアント２と接続する。また通信インターフェイス１０８はこのコンピュータ１０１をウェブサーバ群３と接続する。
【００２３】
またバス１０３には、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０９も接続されている。このＨＤＤ１０９には、負荷分散処理プログラム１１０のファイルやその他のファイルが格納される。コンピュータ１０１が起動すると、ＣＰＵ１０２はＯＳ１０６の指令に従ってＨＤＤ１０９から負荷分散処理プログラム１１０のファイルを読み出し、ＲＡＭ１０５上でその負荷分散処理プログラム１１０を動作させる。
【００２４】
負荷分散処理プログラム１１０の指令に従ってコンピュータ１０１が動作することにより、コンピュータ１０１は、図３に示すように、負荷分散処理部３０１、ＩＰ変換テーブル３０２、通信処理部３０３、通信処理部３０４、ヘルスチェック部３０５、管理データ記憶部３０６、切離し処理部３０７、機器状態管理ファイル３０８、および切離し要求判定部３０９を備える。
【００２５】
負荷分散処理部３０１は、クライアント２からのアクセスをウェブサーバ群３のウェブサーバに分散させる処理を行う。ここではＣＰＵ１０２が、負荷分散処理プログラム１１０の指令に従って、クライアント２からのアクセスをウェブサーバ群３のいずれかのサーバに割り振る。ＣＰＵ１０２は、バス１０３を通じてＨＤＤ１０９にアクセスして、ＩＰ変換テーブル３０２を参照し、そのＩＰ変換テーブル３０２から、割り振るウェブサーバのＩＰアドレスを得る。図４はＩＰ変換テーブルの一例を示す。ＩＰ変換テーブル３０２は、仮想ＩＰアドレスを複数のウェブサーバのＩＰアドレスに関連付ける。この例では、「ＡＡＡ．ＡＡＡ．ＡＡＡ．ＡＡＡ」という仮想ＩＰアドレスに対して、「ＭＭＭ．ＭＭＭ．ＭＭＭ．ＭＭＭ」、「ＮＮＮ．ＮＮＮ．ＮＮＮ．ＮＮＮ」、「ＯＯＯ．ＯＯＯ．ＯＯＯ．ＯＯＯ」などのウェブサーバのＩＰアドレスが関連付けられている。「ＢＢＢ．ＢＢＢ．ＢＢＢ．ＢＢＢ」という仮想ＩＰアドレスに対しては、「ＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸ」、「ＹＹＹ．ＹＹＹ．ＹＹＹ．ＹＹＹ」、「ＺＺＺ．ＺＺＺ．ＺＺＺ．ＺＺＺ」などのＩＰアドレスが関連付けられている。ＩＰ変換テーブル３０２に登録されたいずれかの仮想ＩＰアドレスに対しクライアント２からアクセスがあった場合、ＣＰＵ１０２は、その仮想ＩＰアドレスに関連付けられたウェブサーバのＩＰアドレスのいずれかを選択する。ウェブサーバの選択方式は、ラウンドロビン方式や最小接続方式など既に知られた方式を利用することができる。またクライアント２からの要求に対する応答をウェブサーバから受信すると、そのウェブサーバのＩＰアドレスに関連付けられた仮想ＩＰアドレスをＩＰ変換テーブル３０２から得る。
【００２６】
通信処理部３０３は、クライアント２との通信を処理する。通信処理部３０３は、クライアント２からの要求を受信し、その要求に対する応答をクライアント２に送信する。この機能を実現するため、ＣＰＵ１０２が通信インターフェイス１０７を用いてクライアント２と通信する。通信インターフェイス１０７には、上述の仮想ＩＰアドレスが割り当てられている。クライアント２は、コンテンツ６の転送を要求するとき、その仮想ＩＰアドレスへパケットを送信する。ＣＰＵ１０２は通信インターフェイス１０７を用いてそのパケットを受信する。また、クライアント２からの要求に対する応答をウェブサーバから受信すると、ＣＰＵ１０２は、ＩＰ変換テーブル３０２から得た仮想ＩＰアドレスを送信元にしたパケットを作成し、そのパケットを要求元のクライアント２に送信する。
【００２７】
通信処理部３０４は、ウェブサーバ群３に含まれるウェブサーバとの通信を処理する。この機能を実現するため、ＣＰＵ１０２が通信インターフェイス１０８を用いて、ウェブサーバと通信する。クライアント２からコンテンツ６の転送要求があったときには、ＣＰＵ１０２は、ＩＰ変換テーブル３０２から得たＩＰアドレスを送信先にしたパケットを作成し、通信インターフェイス１０８を用いてそのパケットを送信する。ウェブサーバがその要求に対し応答を送信すると、ＣＰＵ１０２は通信インターフェイス１０８を用いてその応答を受信する。
【００２８】
ヘルスチェック部３０５は、通信処理部３０４を介して、ウェブサーバ群３の各ウェブサーバについて定期的にヘルスチェックをする。ヘルスチェックは、例えばｐｉｎｇチェックやポートチェック、サービスチェックである。ここでは、負荷分散処理プログラム１１０の指令に従ってＣＰＵ１０２が通信インターフェイス１０８を用いてウェブサーバと通信し、ヘルスチェックのためにウェブサーバに登録された機器監視用ファイル７をウェブサーバから取得できるかどうかをチェックする。設定回数繰り返しても、機器監視用ファイル７をウェブサーバから取得できない場合、ＣＰＵ１０２は、そのウェブサーバが稼動していないと判定する。
【００２９】
管理データ記憶部３０６は、ウェブサーバを選択対象から外すための管理データを記憶する。管理データは、機器監視用ファイル７のファイル名や、ウェブサーバを選択対象から外す判定をする回数、ヘルスチェックの間隔などの設定データを含む。ここでは、管理データ記憶部３０６にＨＤＤ１０９の記憶領域を用いる。機器監視用ファイル７のファイル名は、図２に示すようにＨＤＤ１０９に記憶した設定管理ファイル１１１に記述する。図５は設定管理ファイルの一例を示す。この例では、設定管理ファイル１１１は、機器監視用ファイル７の格納されたディレクトリをウェブサーバ毎に記述している。例えば「ＭＭＭ．ＭＭＭ．ＭＭＭ．ＭＭＭ」というウェブサーバのＩＰアドレスに対して、「／ＤＯＣＳ／ＣＨＥＣＫ．ＨＴＭＬ」というディレクトリを関連付けている。ヘルスチェックをするとき、ＣＰＵ１０２はＨＤＤ１０９にアクセスして設定管理ファイル１１１を参照し、その設定管理ファイル１１１から、チェック対象のウェブサーバに対応する機器監視用ファイル７のディレクトリを取得する。
【００３０】
切離し処理部３０７は、稼動していないと判定されたウェブサーバを選択対象から外す処理を行う。ここでは、その処理を行うためにＣＰＵ１０２がＨＤＤ１０９上の機器状態管理ファイル３０８にアクセスする。図６は機器状態管理ファイルの一例を示す。この例では、機器状態管理ファイル３０８は、ウェブサーバの稼動状態をウェブサーバ毎に記述している。稼動状態における「ＯＮ」という値は、ウェブサーバが正常に稼動していることを示し、「ＯＦＦ」という値は、ウェブサーバが正常に稼動していないことを示す。ＣＰＵ１０２は、ウェブサーバが正常に稼動していないと判定した場合、機器状態管理ファイル３０８にアクセスし、そのウェブサーバに対応する稼動状態の値を「ＯＦＦ」に設定する。ＣＰＵ１０２は、クライアント２からのアクセスをウェブサーバに割り振るとき、機器状態管理ファイル３０８で稼動状態の値が「ＯＮ」になっているウェブサーバのうちから、ウェブサーバを選択する。
【００３１】
切離し要求判定部３０９は、ウェブサーバに登録されたファイルを用いて、ウェブサーバの切離し要求があったかどうかを判定する。ここでは、機器監視用ファイル７とは別にウェブサーバに登録された制御ファイル８を用いてＣＰＵ１０２がその判定を行う。ＣＰＵ１０２は、制御ファイル８をウェブサーバから取得できるかどうかをチェックし、そのチェック結果にしたがって、ウェブサーバの切離し要求があったかどうかを判定する。制御ファイル８をウェブサーバから取得できれば、そのウェブサーバの切離し要求があったと判定し、制御ファイル８をウェブサーバから取得できなければ、そのウェブサーバの切離し要求がなかったと判定する。この実施の形態では、設定管理ファイル１１１は、機器監視用ファイル７の格納ディレクトリだけでなく、制御ファイル８の格納ディレクトリもウェブサーバ毎に記述している。切離し要求のチェックをするとき、ＣＰＵ１０２は、負荷分散処理プログラム１１０の指令に従ってＨＤＤ１０９にアクセスし、設定管理ファイル１１１から、チェック対象のウェブサーバについて制御ファイル８の格納ディレクトリを取得する。
【００３２】
切離し処理部３０７は、ヘルスチェックの結果からウェブサーバを切り離さなかった場合でも、ウェブサーバの切離し要求があったと判定すると、そのウェブサーバを選択対象から外す処理を行う。この実施の形態では、その処理を行うためにＣＰＵ１０２がＨＤＤ１０９上の機器状態管理ファイル３０８にアクセスする。この実施の形態において、機器状態管理ファイル３０８は、ウェブサーバの稼動状態だけでなく、切離し要求の有無もウェブサーバ毎に記述している。ＣＰＵ１０２は、切離し要求があったと判定した場合、機器状態管理ファイル３０８にアクセスし、そのウェブサーバに対応する切離し要求の値を「有」に設定する。ＣＰＵ１０２は、クライアント２からのアクセスをウェブサーバに割り振るとき、機器状態管理ファイル３０８で稼動状態の値が「ＯＮ」になっており、かつ切離し要求の値が「無」になっているウェブサーバのうちから、ウェブサーバを選択する。機器状態管理ファイル３０８で稼動状態の値が「ＯＮ」になっていても、切離し要求の値が「有」になっているウェブサーバは選択しない。図６の例では、４つのアドレスに対応するウェブサーバのうち、「１１１．１１１．１１１．１１１」、および「１１１．１１１．１１１．１１２」に対応するウェブサーバは選択される可能性がある。「１１１．１１１．１１１．１１３」に対応するウェブサーバは稼動していないので、選択されない。「１１１．１１１．１１１．１１４」に対応するウェブサーバは稼動しているけれども、切離し要求の値が「有」になっているので、選択されない。
【００３３】
このような切離し要求の判定は、ヘルスチェックと同じ間隔ですることができる。その場合にコンピュータが実行する手順の一例を図７に示す。
【００３４】
図７に示すようにコンピュータ１０１は、ウェブサーバ群３のウェブサーバに対しヘルスチェックを実行し（手順７０１）、そのウェブサーバから機器監視用ファイル７を取得したかどうかを判定する（手順７０２）。
【００３５】
機器監視用ファイル７を取得できなかった場合、そのサーバに対するヘルスチェックの実行回数が設定回数以上であるかどうかを判定する（手順７０３）。実行回数が設定回数以上でなければ、設定時間経過後にコンピュータ１０１は手順７０１および７０２を繰り返す。
【００３６】
機器監視用ファイル７を取得できた場合、コンピュータ１０１は、そのウェブサーバに対し切離し要求のチェックを行い（手順７０４）、そのウェブサーバから制御ファイル８を取得したかどうかを判定する（手順７０５）。制御ファイル８を取得できなかった場合、設定時間経過後にコンピュータ１０１は手順７０１以降の手順を繰り返す。
【００３７】
制御ファイル８を取得できた場合か、手順７０３において実行回数が設定回数以上であると判定した場合、コンピュータ１０１はそのウェブサーバを選択対象から除外する（手順７０６）。
【００３８】
このように本発明の負荷分散装置では、制御ファイル８を取得すると、ウェブサーバを選択対象から除外する。このため、コンテンツを新たに登録したり更新したりする作業を行うとき、コンテンツ管理者は端末５を用いて、対象となるウェブサーバに制御ファイル８を格納すればよい。制御ファイル８をウェブサーバに格納する作業は、コンテンツ６をそのウェブサーバに登録作業と同様にすることができる。したがって、コンテンツ管理者は、簡単にウェブサーバを選択対象から除外することができる。また必要な範囲でコンテンツ管理者がウェブサーバを選択対象から除外することで、負荷分散装置を管理するシステム管理者の負担も軽減する。
【００３９】
さらにこの負荷分散装置では、ヘルスチェックを設定回数繰り返しても機器監視用ファイル７が取得できなかった場合だけでなく、機器監視用ファイル７および制御ファイル８の両方が取得できた場合にも、ウェブサーバを選択対象から除外する。繰り返しを経ずにウェブサーバを選択対象から除外できるので、その除外を迅速にすることができる。
【００４０】
上述のウェブシステムでは、制御ファイル８を取得できたかどうかによって切離し要求があったかどうかを判定していたが、これに限られるものではない。例えば機器監視用ファイル７に含まれる制御データにしたがって、切離し要求があったかどうかを判定するようにしてもよい。
【００４１】
この場合、制御データについての設定は管理データ記憶部３０６に記憶することができる。例えば設定管理ファイルに制御データの設定を記述する。図８は制御データの設定を記述した設定管理ファイルの一例を示す。
【００４２】
この例では、設定管理ファイル１１１は、ウェブサーバ毎に、制御データの設定を含む。例えば「ＭＭＭ．ＭＭＭ．ＭＭＭ．ＭＭＭ」というウェブサーバのＩＰアドレスに対して、「ＣＨＥＣＫ＝ＮＧ」という制御データを記述している。
【００４３】
切離し要求判定部３０９は、取得した機器監視用ファイル７に制御データが記述されているかどうかをチェックし、そのチェック結果にしたがって、ウェブサーバの切離し要求があったかどうかを判定する。ＣＰＵ１０２は、切離し要求の有無をチェックするとき、ＨＤＤ１０９にアクセスして、チェック対象のウェブサーバに対する制御データの設定を設定管理ファイル１１１から取得する。図９はこの場合にコンピュータが実行する手順の一例を示す。
【００４４】
図９に示すようにコンピュータ１０１は、図７の例と同様、ウェブサーバ群３のウェブサーバに対しヘルスチェックを実行し（手順７０１）、そのウェブサーバから機器監視用ファイル７を取得したかどうかを判定する（手順７０２）。
【００４５】
機器監視用ファイル７を取得できなかった場合、そのサーバに対するヘルスチェックの実行回数が設定回数以上であるかどうかを判定する（手順７０３）。実行回数が設定回数以上でなければ、設定時間経過後にコンピュータ１０１は手順７０１および７０２を繰り返す。
【００４６】
機器監視用ファイル７を取得できた場合、コンピュータ１０１は、取得した機器監視用ファイル７のチェックを行い（手順９０４）、その機器監視用ファイル７に記述された制御データが、設定管理ファイル１１１の設定と合致するかどうかを判定する（手順９０５）。制御データが設定と合致しない場合、設定時間経過後にコンピュータ１０１は手順７０１以降の手順を繰り返す。
【００４７】
制御データが設定と合致した場合か、手順７０３において実行回数が設定回数以上であると判定した場合、コンピュータ１０１はそのウェブサーバを選択対象から除外する（手順７０６）。
【００４８】
このように、取得した機器監視用ファイル７に記述された制御データが設定と合致するかどうかによって切離し要求の有無を行うことができる。この場合、コンテンツ管理者は、機器監視用ファイル７の記述を設定と合致させるだけで、ウェブサーバを選択対象から除外することができる。
【００４９】
またコンピュータ１０１は、接続要求判定部３１０および接続処理部３１１をさらに備えることができる。接続要求判定部３１０は、選択対象から除外していたウェブサーバに制御ファイル８が登録されていない場合、またはそのウェブサーバから取得した機器監視用ファイル７に記述された制御データが設定と合致しない場合、接続要求があったと判定する。
【００５０】
接続処理部３１１は、選択対象から除外していたウェブサーバから機器監視用ファイル７を取得できた場合や、接続要求があった場合に、そのウェブサーバを選択対象に含める処理を行う。ＣＰＵ１０２は、選択対象から除外していたウェブサーバから機器監視用ファイル７を取得できた場合や、接続要求があった場合、そのウェブサーバを選択対象に含めるため、機器状態管理ファイル３０８を更新する。
【００５１】
このような場合、負荷分散装置は、接続要求があると、選択対象から除外していたウェブサーバを選択対象に含める。このため、コンテンツの登録や更新作業が終了すれば、コンテンツ管理者は端末５を用いて、そのウェブサーバに格納していた制御ファイル８を削除したり、機器監視用ファイル７の記述を変更したりすればよい。この作業も、コンテンツ管理者にとって容易である。したがって、作業が終了すれば、簡単にウェブサーバを再接続することができる。
【００５２】
またコンピュータ１０１は、切離しデータ転送部３１２をさらに備えるようにしてもよい。切離しデータ転送部３１２は、切離し要求によって切り離したかどうかを示すデータをウェブサーバ毎に含むファイルのデータを転送する。ここではＣＰＵ１０２が通信インターフェイス１０８を用いて、機器状態管理ファイル３０８をウェブサーバに転送する。図１０はこの場合にコンピュータ１０１が実行する手順の一例を示す。
【００５３】
図１０に示すようにコンピュータ１０１は、図７の例と同様、ウェブサーバ群３のウェブサーバに対しヘルスチェックを実行し（手順７０１）、そのウェブサーバから機器監視用ファイル７を取得したかどうかを判定する（手順７０２）。
【００５４】
機器監視用ファイル７を取得できなかった場合、そのサーバに対するヘルスチェックの実行回数が設定回数以上であるかどうかを判定する（手順７０３）。実行回数が設定回数以上でなければ、設定時間経過後にコンピュータ１０１は手順７０１および７０２を繰り返す。実行回数が設定回数以上であると判定した場合、コンピュータ１０１はそのウェブサーバを選択対象から除外する（手順７０７）。
【００５５】
機器監視用ファイル７を取得できた場合、コンピュータ１０１は、そのウェブサーバに対し切離し要求のチェックを行い（手順７０４）、そのウェブサーバから制御ファイル８を取得したかどうかを判定する（手順７０５）。制御ファイル８を取得できなかった場合、設定時間経過後にコンピュータ１０１は手順７０１以降の手順を繰り返す。
【００５６】
制御ファイル８を取得した場合、コンピュータ１０１はそのウェブサーバを選択対象から除外する（手順７０８）。そのウェブサーバを除外するために機器状態管理ファイル３０８を更新すると、更新した機器状態管理ファイル３０８をウェブサーバに転送する（手順７０９）。
【００５７】
このように機器状態管理ファイル３０８をウェブサーバに転送すれば、そのウェブサーバに対しコンテンツ管理者が作業を行うときに、その機器状態管理ファイル３０８を簡単に参照することができる。機器状態管理ファイル３０８を参照すれば、切離し要求に対し実際に負荷分散装置１が切離しを行ったかどうかを確認することができる。これによって、コンテンツ管理者が作業を行っている間に、作業対象のウェブサーバが選択されるのを確実に防止することができる。
【００５８】
上述のように切離しデータ転送部３１２を備える場合でも、制御ファイル８を取得したかどうかで切離し要求の有無を判定する代わりに、機器監視用ファイル７に記述した制御データが設定と合致するかで判定することができる。
【００５９】
上述の実施の形態で利用した負荷分散処理プログラム１１０は、インターネットなどの電気通信回線を用いたり、コンピュータ読み取り可能な記録媒体に格納したりすることで、関係者や第三者に提供することができる。例えばプログラムの指令を電気信号や光信号、磁気信号などで表現し、その信号を搬送波に載せて送信することで、同軸ケーブルや銅線、光ファイバのような伝送媒体でそのプログラムを提供することができる。またコンピュータ読取可能な記録媒体としては、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの光学メディアや、フレキシブルディスクのような磁気メディア、フラッシュメモリやＲＡＭのような半導体メモリを利用することができる。
【００６０】
上述した実施の形態は本発明の技術的範囲を制限するものではなく、既に記載したもの以外でも、本発明の範囲内で種々の変形や応用が可能である。例えばＦＴＰサーバやメールサーバ、その他のネットワーク機器に対してアクセスを分散する負荷分散装置にも本発明を適用することができる。
【産業上の利用可能性】
【００６１】
本発明にかかる負荷分散装置やウェブシステム、負荷分散処理方法、負荷分散処理プログラムは、負荷分散装置に接続された機器の切り離しを簡単且つ迅速にすることができる効果を有し、ウェブシステムのほか、ＦＴＰサーバやメールサーバのようなその他のネットワーク機器を含む様々なシステムで有用である。
【図面の簡単な説明】
【００６２】
【図１】負荷分散装置を備えたシステムの概略構成を示す図
【図２】本発明の実施の形態におけるウェブシステムのハードウェア構成を示す図
【図３】本発明の実施の形態における負荷分散装置の機能ブロック図
【図４】ＩＰ変換テーブルの一例を示す図
【図５】設定管理ファイルの一例を示す図
【図６】機器状態管理ファイルの一例を示す図
【図７】負荷分散処理方法の一例を示すフローチャート
【図８】機器状態管理ファイルの別の例を示す図
【図９】負荷分散処理方法の別の例を示すフローチャート
【図１０】負荷分散処理方法のさらに別の例を示すフローチャート
【符号の説明】
【００６３】
１    負荷分散装置
２    クライアント
３    ウェブサーバ群
３Ａ、３Ｂ、３Ｃ  ウェブサーバ
４    インターネット
５    コンテンツ管理者の端末
１０１  コンピュータ
１１０  負荷分散処理プログラムのファイル
１１１  設定管理ファイル
３０１  負荷分散処理部
３０２  ＩＰ変換テーブル
３０３、３０４  通信処理部
３０５  ヘルスチェック部
３０６  管理データ記憶部
３０７  切離し処理部
３０８  機器状態管理ファイル
３０９  切離し要求判定部
３１０  接続要求判定部
３１１  接続処理部
３１２  切離しデータ転送部
【図１】
2006235668.tif 000003
【図２】
2006235668.tif 000004
【図３】
2006235668.tif 000005
【図４】
2006235668.tif 000006
【図５】
2006235668.tif 000007
【図６】
2006235668.tif 000008
【図７】
2006235668.tif 000009
【図８】
2006235668.tif 000010
【図９】
2006235668.tif 000011
【図１０】
2006235668.tif 000012