(57)【要約】【課題】サーバに障害が発生した場合のシステムダウンを回避するため、障害が発生したホストの機能を迅速に他のサーバへ引き継がせるサーバ機能引継方法を提供することを目的とする。【解決手段】インターネットデータセンタ１００、システム管理者１１０、および一般利用者１２０が、インターネット１３０を介して接続されたネットワーク環境において、各サーバが自サーバの機能を実行するためのプログラムを起動させるプログラム起動工程と、各サーバが自サーバの負荷情報を取得するサーバ負荷情報取得工程と、障害が発生したサーバを検出する障害発生サーバ検出工程と、障害が発生したサーバの機能を引き継ぐことが可能なサーバを検出する引継サーバ検出工程と、この引継サーバ検出工程で検出されたサーバに機能を引き継がせるサーバ機能引継工程と、を順に実行する。【選択図】        図１
2005056347.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバを備え、インターネットを利用した電子メール配信システムであって、
各サーバにおいて当該各サーバの制御情報が規定された情報テーブルを参照して、自サーバの機能を実行するためのプログラムを起動するプログラム起動工程と、
各サーバにおいて自サーバの負荷情報を取得するサーバ負荷情報取得工程と、
前記情報テーブルを参照して、障害が発生したサーバを検出する障害発生サーバ検出工程と、
前記情報テーブルとサーバ機能ごとの重みが規定されている重みテーブルを参照して、障害が発生したサーバの機能を引き継ぐことが可能なサーバを検出する引継サーバ検出工程と、
前記情報テーブルを参照して、前記引継サーバ検出工程で検出されたサーバに機能の引き継ぎを行うサーバ機能引継工程と、
を含んだことを特徴とするサーバ機能引継方法。
【請求項２】
前記サーバ負荷情報取得工程は、自サーバのＣＰＵの負荷を検出することを特徴とする請求項１に記載のサーバ機能引継方法。
【請求項３】
前記障害発生サーバ検出工程は、自サーバの基準となる前記情報テーブルの時刻領域に記述された時刻から所定時間経過後に、自サーバに対応する前記時刻領域の更新時刻と、前記引継プライオリティ領域に所定以上の数値が記述されている他のサーバに対応する前記時刻領域の更新時刻とを比較し、これらが所定値以上の開きがある場合に自サーバに障害が発生していることを検出することを特徴とする請求項１または２に記載のサーバ機能引継方法。
【請求項４】
前記引継サーバ検出工程は、障害が発生したサーバを除き、前記情報テーブルの引継プライオリティ領域の値が最大となっているサーバを検出する引継プライオリティ最大値サーバ検出工程を含んだことを特徴とする請求項１〜３のいずれか一つに記載のサーバ機能引継方法。
【請求項５】
インターネットを利用した電子メール配信システムに用いられる複数のサーバのサーバ機能引き継ぎプログラムであって、
各サーバにおいて当該各サーバの制御情報が規定された情報テーブルを参照して、自サーバの機能を実行するためのプログラムを起動させるプログラム起動工程と、
各サーバにおいて自サーバの負荷情報を取得させるサーバ負荷情報取得工程と、
前記情報テーブルを参照して、障害が発生したサーバを検出させる障害発生サーバ検出工程と、
前記情報テーブルとサーバ機能ごとの重みが規定されている重みテーブルを参照して、障害が発生したサーバの機能を引き継ぐことが可能なサーバを検出させる引継サーバ検出工程と、
前記情報テーブルを参照して、前記引継サーバ検出工程で検出されたサーバに機能を引き継がせるサーバ機能引継工程と、
をコンピュータに実行させることを特徴とするサーバ機能引継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
複数のサーバで構成されるインターネットを介した電子メール配信システムにおいて、一部のサーバで障害が発生した場合に、他のサーバでは障害が発生したサーバの機能を引き継ぎシステムダウンを回避するためのサーバ機能引継方法、およびこの方法をコンピュータに実行させるためのサーバ機能引継プログラムに関する。
【背景技術】
【０００２】
一般に、インターネットを介した電子メール配信システムでは、電子メールの配信効率を向上させるために、複数のサーバを連結させてシステムが構成される。とりわけ、ハードウェア障害に対処するため、ハードウェアおよびサーバプログラムの冗長化等の対策がとられている。例えば、複数の電子メール配信サーバとそれらを管理する管理サーバを含むシステム構成の場合、電子メール配信サーバのうち１台に障害が発生したときは他の電子メール配信サーバが未送信メールを引き継ぎ処理する。この引き継ぎは自動で行われることもあるし、未送信の電子メールのみを別途手動で対処することもある（下記特許文献１を参照。）。一方、管理サーバの障害に関する対策としては管理サーバ自体を同じ構成の２系統用意しておき、片方(主系・本番系)を作動させ、もう片方(待機系・予備系)は同じ動作を行いながら待機状態にしておく方法（いわゆるホットスタンバイ）や、片方(主系・本番系)を動作させ、もう片方(待機系・予備系)は動作させずに待機状態にしておく方法（いわゆるコールドスタンバイ）により対処する方法がとられる。
【０００３】
【特許文献１】特開２００１−４３１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、複数のサーバがネットワークを介して接続されているシステムにおいて、いずれかのサーバの障害を検出した場合には、障害が発生した機能を予め定義された優先度に基づいて新たなサーバへ引き継がせるものである。このため、引継先となるサーバの負荷が高い場合、迅速さが要求されるはずのサーバ機能の引継処理自体が遅くなるという問題がある。
【０００５】
また、上記のようなホットスタンバイによる管理サーバの障害対処方法では、ハードウェアの冗長化が必要であるため、コスト増が避けられない。また、設定・テスト等にかかる工数も多大になる。一方、コールドスタンバイによる管理サーバの障害対処方法では、復旧するまでの作業工数が多くなり、時間もかかる。このため管理者がシステムの管理（状態把握、システム制御）を迅速に行うことができないといった問題が生じる。
【０００６】
本発明は、上記に鑑みてなされたものであって、サーバに障害が発生した場合のシステムダウンを回避するため、障害が発生したサーバの機能を迅速に他のサーバへ引き継ぐサーバ機能引継方法を提供することを目的とする。とりわけ、サーバのハード構成を冗長化することなく、迅速に障害が発生したサーバの機能の引き継ぎが可能なサーバ機能引継方法およびサーバ機能引継プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明のサーバ機能引継方法は、複数のサーバを備え、インターネットを利用した電子メール配信システムであって、各サーバにおいて当該各サーバの制御情報が規定された情報テーブルを参照して、自サーバの機能を実行するためのプログラムを起動するプログラム起動工程と、各サーバにおいて自サーバの負荷情報を取得するサーバ負荷情報取得工程と、前記情報テーブルを参照して、障害が発生したサーバを検出する障害発生サーバ検出工程と、前記情報テーブルとサーバ機能ごとの重みが規定されている重みテーブルを参照して、障害が発生したサーバの機能を引き継ぐことが可能なサーバを検出する引継サーバ検出工程と、前記情報テーブルを参照して、前記引継サーバ検出工程で検出されたサーバに機能の引き継ぎを行うサーバ機能引継工程と、を含んだことを特徴とする。
【発明の効果】
【０００８】
本発明にかかるサーバ機能引継方法およびサーバ機能引継プログラムは、複数のサーバがネットワークを介して接続されている電子メール配信システムにおいて、いずれかのサーバに障害が発生した場合に、障害が発生したサーバが受け持っていた機能を負荷の低いサーバへ引き継がせることが可能になるので、システムダウンを起こすことなく迅速に障害が発生したサーバの機能引き継ぎを完了させることができるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下に、本発明にかかるサーバ機能引継方法およびサーバ機能引継プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【００１０】
図１は、本発明のサーバ機能引継方法を実現するためのネットワーク構成の概略図である。本発明の方法は、インターネットデータセンタ（ＩＤＣ）１００、システム管理者１１０、および一般利用者１２０が、インターネット１３０を介して接続されたネットワーク環境で実現される。インターネットデータセンタ１００は、管理サーバ、複数の電子メール配信サーバ、ファイルサーバ、ファイアウォール、およびロードバランサを含み構成される。
【００１１】
図２は、本発明のサーバ機能引継方法を実現するためのインターネットデータセンタの構成の一例を示す図である。このインターネットデータセンタ１００は、ルータ２０１、ファイアウォール２０２、ロードバランサ２０３、スィッチングハブ（ＳＷ）２０４，２０５、管理サーバ２０６、電子メール配信サーバ２０７，２０８，２０９，２１０、およびファイルサーバ２１１を含み構成される。
【００１２】
ルータ２０１は、インターネットデータセンタ１００内の通信経路のルーティングを行う。ファイアウォール２０２は、インターネットデータセンタ１００内の通信経路のトラフィックの流れを制御し、インターネットデータセンタ１００のセキュリティを確保する。ロードバランサ２０３は、管理サーバ２０６および電子メール配信サーバ２０７，２０８，２０９，２１０の負荷を軽減する。また、管理者のブラウザはインターネット１３０を経由し、ロードバランサ２０３によりサービスが提供されている管理サーバ２０６に接続されるようになっている。スィッチングハブ２０４は、ロードバランサ２０３と管理サーバ２０６および電子メール配信サーバ２０７，２０８，２０９，２１０とを接続する。スイッチングハブ２０５は、管理サーバ２０６および電子メール配信サーバ２０７，２０８，２０９，２１０とファイルサーバ２１１とを接続する。
【００１３】
管理サーバ２０６は、電子メールの送信先アドレスや電子メールの内容を格納し、それら電子メールの送信先アドレスや電子メールの内容を必要に応じて順次電子メール配信サーバ２０７，２０８，２０９，２１０へ送信する。電子メール配信サーバ２０７，２０８，２０９，２１０は、管理サーバ２０６から送られてきた電子メールの内容を対応するメールアドレスへ送信する。ファイルサーバ２１１は、管理サーバ２０６および電子メール配信サーバ２０７，２０８，２０９，２１０が所定のサービスを実行するための共有ファイル等を格納する。なお、管理サーバ２０６や電子メール配信サーバ２０７，２０８，２０９，２１０はさらに数を増やすことも可能である。
【００１４】
図３は、本発明のサーバ機能引継方法における、通常運用時の情報テーブルの一例を示す図表である。また、図４は、このときのサービス重みテーブルの一例を示す図表である。これら情報テーブルおよびサービス重みテーブルは、システム管理者１１０があらかじめ設定するものであり、本発明の方法は、情報テーブルおよびサービス重みテーブルの各領域に規定された情報に基づいて実行される。これら情報テーブルおよびサービス重みテーブルは、ファイルサーバ２１１または管理サーバ２０６、電子メール配信サーバ２０７，２０８，２０９，２１０の各記憶手段に格納される。
【００１５】
情報テーブルの各領域には、以下のような情報が記述される。「ホスト名」領域には、あらかじめ規定された各サーバの名称が記述される。ここでは、管理サーバ２０６をｈｏｓｔ１としている。また、電子メール配信サーバ２０７〜２１０をそれぞれｈｏｓｔ２〜５としている。「担当サービス」領域には、当該ホストに割り当てるサービスの種類が記述される。あるサービス実行中に、別のサービスが新たに割り当てられた場合には、そのサービスの種類が合わせて記述される。「引継プライオリティ」領域には、障害を発生したホスト（以下、障害発生ホストという）が検出された場合に、どのホストが障害発生ホストのサービス（機能）を引き継ぐかを判断するための基準となる数値が記述される。
【００１６】
この数値が大きいほどサービス引継の優先度が高いことを示し、また数値０は停止中か障害発生ホストであることを示す。したがって、「引継プライオリティ」領域の値が他のどのホストのよりも大きいホストが、障害発生ホストのサービスを引き継ぐことになる。この場合、サービスを引き継いだホストの「引継プライオリティ」領域の値は一定値マイナスされる。「引継プライオリティ」領域の初期値はホストのスペックに基づいて設定され、高スペックなホストほど高い値が設定される。サービスを引き継いだホストの負荷が非常に高くなった場合は、随時増減調整される。「チェック時刻」領域には、一定間隔で現在の時刻が記録される。その時刻を参照しながら、自ホストと他ホストとの状態を監視することで自ホストの障害発生を検出することができる（詳細は後述）。また、サービス重みテーブルの各領域には、各ホストが提供するサービスの種類とそのサービスに対応する重み値が記述される。
【００１７】
次に、本発明のサーバ機能引継方法の実行手順について説明する。図５は、このサーバ機能引継方法の実行手順を示すフローチャートである。まず、各ホストは自ホストに対応するシステム管理者１１０によって作成された情報テーブルの「担当サ−ビス」領域を参照し、自ホストの担当サービスプログラムを起動する（ステップＳ５０１）。なお、本発明では、各ホストは管理サーバ２０６としてのサービスおよび電子メール配信サーバとしてのサービスを実行することを想定しており、これらのサービスを実行するためのプログラムはあらかじめ各ホストの記憶手段に格納されている。また、そのためのプログラムをファイルサーバ２１１の記憶手段に格納しておき、必要が生じた場合にファイルサーバ２１１からダウンロードするようにしてもよい。次に、各ホストは自ホストに対応する情報テーブルの「チェック時刻」領域に現在時刻（ステップＳ５０１においてプログラムが起動された時刻）を書き込む（ステップＳ５０２）。
【００１８】
続いて、各ホストは自ホストの現在のＣＰＵ負荷を検出する（ステップＳ５０３）。ここでは、ＣＰＵのＩｄｌｅ（遊び）が２０％以下か否かを検出する。ＣＰＵのＩｄｌｅが２０％以下である場合（ステップＳ５０３：Ｙｅｓ）は、ステップＳ５０４へ進む。ＣＰＵのＩｄｌｅが２０％以下でない場合（ステップＳ５０３：Ｎｏ）は、ステップＳ５０６へ進む。
【００１９】
ステップＳ５０３においてＣＰＵのＩｄｌｅが２０％以下である場合は（ステップＳ５０３：Ｙｅｓ）、各ホストは自ホストに対応する情報テーブルの「引継プライオリティ」領域が２以上であるか否かを検出する（ステップＳ５０４）。「引継プライオリティ」領域が２以上である場合（ステップＳ５０４：Ｙｅｓ）は、自ホストに対応する「引継プライオリティ」領域から１を差し引いて情報テーブルを更新し（ステップＳ５０５）、ステップＳ５０９へ進む。一方、「引継プライオリティ」領域が２以上でない場合（ステップＳ５０４：Ｎｏ）は、そのままステップＳ５０９へ進む。
【００２０】
ステップＳ５０３においてＣＰＵのＩｄｌｅが２０％以下でない場合は、再度各ホストは自ホストの現在のＣＰＵ負荷を検出する（ステップＳ５０６）。ここでは、ＣＰＵのＩｄｌｅが５０％以上か否かを検出する。ＣＰＵのＩｄｌｅが５０％以上である場合（ステップＳ５０６：Ｙｅｓ）は、ステップＳ５０７へ進む。ＣＰＵのＩｄｌｅが５０％以上でない場合（ステップＳ５０６：Ｎｏ）は、ステップＳ５０９へ進む。
【００２１】
ステップＳ５０６においてＣＰＵのＩｄｌｅが５０％以上である場合は（ステップＳ５０６：Ｙｅｓ）、各ホストは自ホストに対応する情報テーブルの「引継プライオリティ」領域が１以上１０未満であるか否かを検出する（ステップＳ５０７）。「引継プライオリティ」領域が１以上１０未満である場合（ステップＳ５０７：Ｙｅｓ）は、自ホストに対応する情報テーブルの「引継プライオリティ」領域に１を加算して情報テーブルを更新し（ステップＳ５０８）、ステップＳ５０９へ進む。一方、「引継プライオリティ」領域が１以上１０未満でない場合（ステップＳ５０７：Ｎｏ）は、そのままステップＳ５０９へ進む。
【００２２】
次に、各ホストは自ホストに対応する情報テーブルの「チェック時刻」領域に前回（ステップＳ５０２の処理で）書き込まれた時刻から２０秒以上経過したか否かを検出する（ステップＳ５０９）。前回の書き込み時刻より２０秒以上経過していることが検出された場合（ステップＳ５０９：Ｙｅｓ）は、ステップＳ５１０へ進む。前回の書き込み時刻より２０秒以上経過していることが検出されなかった場合（ステップＳ５０９：Ｎｏ）は、再度ステップＳ５０３へ戻り処理を続行する。
【００２３】
ステップＳ５０９において前回の書き込み時刻より２０秒以上経過していることが検出された場合は（ステップＳ５０９：Ｙｅｓ）、障害発生ホストがあるか否かを検出する。具体的には、自ホストの「チェック時刻」領域と、「引継プライオリティ」領域の値が１以上になっている他ホストの「チェック時刻」領域とを比較し、その差が±３０秒以上か否かを検出する（ステップＳ５１０）。この工程では、それぞれのホストが他のホストとの比較を行うことにより、自ホストに障害が発生しているか否かが検出できる。その差が±３０秒以上である場合（ステップＳ５１０：Ｙｅｓ）は、自ホストに障害が発生していることを検出し、ステップＳ５１１へ進む。その差が±３０秒以上でない場合（ステップＳ５１０：Ｎｏ）は、再度ステップＳ５０３へ戻り、処理を続行する。
【００２４】
続いて、障害発生ホストを除き、各ホストは自ホストに対応する情報テーブルの「引継プライオリティ」領域の値が他のホストの値と比べ最大となっているか否かを検出する（ステップＳ５１１）。自ホストの「引継プライオリティ」領域の値が最大となっている場合（ステップＳ５１１：Ｙｅｓ）は、ステップＳ５１２へ進む。自ホストの「引継プライオリティ」領域の値が最大となっていない場合（ステップＳ５１１：Ｎｏ）は、さらに自ホストの「引継プライオリティ」領域の値が他ホストのものと同点かつ最大であり、かつ、自ホストが障害発生ホストを除き情報テーブルの最上位欄に記述されているか否かを検出する（ステップＳ５１３）。
【００２５】
自ホストの「引継プライオリティ」領域の値が他ホストのものと同点かつ最大であり、かつ、自ホストが障害発生ホストを除き情報テーブルの最上位欄に記述されている場合（ステップＳ５１３：Ｙｅｓ）はステップＳ５１２へ進む。自ホストの「引継プライオリティ」領域の値が他ホストのものと同点かつ最大でない場合、または、自ホストが障害発生ホストを除き情報テーブルの最上位欄に記述されていない場合（ステップＳ５１３：Ｎｏ）は、再度ステップＳ５０３へ戻り、処理を続行する。ステップＳ５１１とステップＳ５１３の処理で、障害発生ホストが担当していたサービスを引き継ぐホストの候補（以下、候補ホストという）が選定されることになる。
【００２６】
候補ホストは、サービス重みテーブル（図４参照）を参照して障害発生ホストの「担当サービス」に対応する重み値を取得する（ステップＳ５１２）。続いて、候補ホストは自ホストの「引継プライオリティ」領域の値と障害発生ホストの重み値を順次評価する（ステップＳ５１４）。具体的には、（自ホストの「引継プライオリティ」の値−障害発生ホストの重み値）の値を算出する。
【００２７】
次に、候補ホストは自サーバで引き継げる障害発生ホストが担当していたサービスがあるか否かを判断する（ステップＳ５１５）。具体的には、ステップＳ５１４での評価結果（算出値）が０以上か否かを検出することによって行う。自サーバで引き継げる障害発生ホストが担当していたサービスがある場合（ステップＳ５１５：Ｙｅｓ）は、ステップＳ５１６へ進む。自サーバで引き継げる障害発生ホストが担当していたサービスがない場合（ステップＳ５１５：Ｎｏ）は、再度ステップＳ５０３へ戻り、処理を続行する。
【００２８】
候補ホストが障害発生ホストの担当サービスを引き継ぐことが可能である場合は、障害発生ホストに対応する情報テーブルの「引継プライオリティ」領域の値を０に設定する（ステップＳ５１６）。次に、障害発生ホストが担当していたサービスを引き継ぐホストは、情報テーブルを参照し障害発生ホストが担当していた「担当サービス」のプログラムを起動する（ステップＳ５１７）。
【００２９】
次に、サービスを引き継いだホストは、自ホストに対応する情報テーブルの「引継プライオリティ」領域の値から新たに起動したサービスの重み値を引いて情報テーブルを更新する（ステップＳ５１８）。続いて、サービスを引き継いだホストは、自ホストに対応する情報テーブルの「担当サービス」領域に新たに起動した担当サービスを追加登録する（ステップＳ５１９）。
【００３０】
本発明のサーバ機能引継方法は、以上のような工程を経ることにより、いずれかのサーバに障害が発生した場合に、障害発生サーバが受け持っていたサービス（機能）を負荷の低いサーバへ即座に引き継がせることができるので、システムダウンを起こすことなく迅速にサーバ機能の引き継ぎを完了させることが可能になる。障害発生ホストのサービスを引き継いだホストは、従来自ホストで提供していたサービスと共に新たに引き継いだサービスも提供することになる。例えば、電子メール配信サーバが管理サーバのサービスを引き継ぐ場合は、当初の電子メール配信サーバとしてのサービスと管理サーバとしてのサービスを合わせて実行することになる。また、サーバ機能の引き継ぎを行うのにハード構成を冗長化させる必要がなく、コスト的な危惧はない。
【００３１】
ここで、例えば、管理サーバとしてのサービスを実行しているｈｏｓｔ１で障害が発生したとする。この場合、ｈｏｓｔ１では障害が発生しているためｈｏｓｔ１に対応する情報テーブルの「チェック時刻」領域は更新されない。したがって、他のホストはｈｏｓｔ１で障害が発生していると判断し、各々が現在の「引継プライオリティ」領域の値を比較することになる。この結果、ｈｏｓｔ１のサービスはｈｏｓｔ１を除いて最も「引継プライオリティ」領域の値が高いｈｏｓｔ２が引き継ぐことになる（図３参照）。そして、ｈｏｓｔ２は自ホスト内で管理サーバの機能（Ａｐａｃｈｅ等のＷｅｂサーバ・プログラム）を起動し、「担当サービス」領域にサービス名（管理サーバ）を追加する。さらに「引継プライオリティ」領域の値を一定値マイナスする。すなわち、新たに追加される管理サーバとしてのサービスに対応する重み値１を減ずる。図６は、この場合に更新された情報テーブルを示している。なお、この後、ｈｏｓｔ２の負荷がさらに高くなった場合は、さらに一定値マイナスする。次回、障害発生ホストが検出された場合には、より余裕のある（負荷が低い）ホストがサービスを引き継ぐことになる。
【００３２】
次に、障害が発生したホストが復旧した場合の処理手順について説明する。図７は、この場合の処理手順を示すフローチャートである。ここでは、管理サーバに発生した障害が手当てされた場合を想定している。まず、復旧したホストは、自ホストに対応する情報テーブルの「担当サービス」領域を初期化（ＮＵＬＬクリア）する（ステップＳ７０１）。次に、復旧したホストは、自ホストに対応する情報テーブルの「チェック時刻」領域に現在の時刻（復旧した時刻）を書き込む（ステップＳ７０２）。続いて、復旧したホストは、自ホストに対応する情報テーブルの「引継プライオリティ」領域に１を書き込む（ステップＳ７０３）。そして、図５に示したフローチャートの手順に従う（ステップＳ７０４）。
【００３３】
なお、この実施の形態で説明したサーバ機能引継方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００３４】
（付記１）複数のサーバを備え、インターネットを利用した電子メール配信システムであって、
各サーバにおいて当該各サーバの制御情報が規定された情報テーブルを参照して、自サーバの機能を実行するためのプログラムを起動するプログラム起動工程と、
各サーバにおいて自サーバの負荷情報を取得するサーバ負荷情報取得工程と、
前記情報テーブルを参照して、障害が発生したサーバを検出する障害発生サーバ検出工程と、
前記情報テーブルとサーバ機能ごとの重みが規定されている重みテーブルを参照して、障害が発生したサーバの機能を引き継ぐことが可能なサーバを検出する引継サーバ検出工程と、
前記情報テーブルを参照して、前記引継サーバ検出工程で検出されたサーバに機能の引き継ぎを行うサーバ機能引継工程と、
を含んだことを特徴とするサーバ機能引継方法。
【００３５】
（付記２）前記プログラム起動工程は、各サーバに対して、システムの管理サーバまたは電子メール配信サーバとしての機能を実行させるためのプログラムを起動することを特徴とする付記１に記載のサーバ機能引継方法。
【００３６】
（付記３）前記システムの管理サーバまたは電子メール配信サーバとしての機能を実行させるためのプログラムは、前記各サーバ内の記憶手段またはその他の前記システム内の装置に格納されていることを特徴とする付記２に記載のサーバ機能引継方法。
【００３７】
（付記４）前記情報テーブルには、少なくとも各サーバの名称が記述される名称領域、各サーバの機能が記述される機能領域、各サーバが自サーバの状態を確認した時刻が記述される時刻領域、および他のサーバ機能を自サーバで引き継ぐ場合の優先度を示す数値が記述される引継プライオリティ領域が設けられていることを特徴とする付記１〜３のいずれか一つに記載のサーバ機能引継方法。
【００３８】
（付記５）前記情報テーブルは、システム管理者によって作成され、前記各サーバ内の記憶手段またはその他の前記システム内の装置に格納されていることを特徴とする付記１〜４のいずれか一つに記載のサーバ機能引継方法。
【００３９】
（付記６）前記重みテーブルは、システム管理者によって作成され、前記各サーバ内の記憶手段またはその他の前記システム内の装置に格納されていることを特徴とする付記１〜５のいずれか一つに記載のサーバ機能引継方法。
【００４０】
（付記７）前記サーバ負荷情報取得工程は、自サーバのＣＰＵの負荷を検出することを特徴とする付記１〜６のいずれか一つに記載のサーバ機能引継方法。
【００４１】
（付記８）前記障害発生サーバ検出工程は、自サーバの基準となる前記情報テーブルの時刻領域に記述された時刻から所定時間経過後に、自サーバに対応する前記時刻領域の更新時刻と、前記引継プライオリティ領域に所定以上の数値が記述されている他のサーバに対応する前記時刻領域の更新時刻とを比較し、これらが所定値以上の開きがある場合に自サーバに障害が発生していることを検出することを特徴とする付記１〜７のいずれか一つに記載のサーバ機能引継方法。
【００４２】
（付記９）前記引継サーバ検出工程は、障害が発生したサーバを除き、前記情報テーブルの引継プライオリティ領域の値が最大となっているサーバを検出する引継プライオリティ最大値サーバ検出工程を含んだことを特徴とする付記１〜８のいずれか一つに記載のサーバ機能引継方法。
【００４３】
（付記１０）前記引継プライオリティ最大値サーバ検出工程において、複数のサーバが検出された場合には、障害が発生したサーバを除き、前記情報テーブルの最上位欄に記述されているサーバを優先的に検出する優先サーバ検出工程を含んだことを特徴とする付記９に記載のサーバ機能引継方法。
【００４４】
（付記１１）さらに、前記引継サーバ検出工程は、前記重みテーブルを参照し、前記引継プライオリティ最大値サーバ検出工程において検出されたサーバが機能を引き継ぐことが可能か否かを判定する機能引継可否判定工程を含んだことを特徴とする付記９に記載のサーバ機能引継方法。
【００４５】
（付記１２）さらに、前記引継サーバ検出工程は、前記重みテーブルを参照し、前記優先サーバ検出工程において検出されたサーバが機能を引き継ぐことが可能か否かを判定する機能引継可否判定工程を含んだことを特徴とする付記１０に記載のサーバ機能引継方法。
【００４６】
（付記１３）前記サーバ機能引継工程は、障害が発生したサーバの機能を引き継いだサーバの前記情報テーブルの機能領域に引き継いだ機能の名称を現在の機能名と合わせて記述し、さらに前記障害が発生したサーバの機能を引き継ぐサーバに対して引き継いだ機能を実行するためのプログラムを起動することを特徴とする付記１〜１２のいずれか一つに記載のサーバ機能引継方法。
【００４７】
（付記１４）さらに、障害が発生したサーバが復旧した場合に、該復旧したサーバを起動させシステムに組み込むリカバリー工程を含んだことを特徴とする付記１〜１３のいずれか一つに記載のサーバ機能引継方法。
【００４８】
（付記１５）インターネットを利用した電子メール配信システムに用いられる複数のサーバのサーバ機能引き継ぎプログラムであって、
各サーバにおいて当該各サーバの制御情報が規定された情報テーブルを参照して、自サーバの機能を実行するためのプログラムを起動させるプログラム起動工程と、
各サーバにおいて自サーバの負荷情報を取得させるサーバ負荷情報取得工程と、
前記情報テーブルを参照して、障害が発生したサーバを検出させる障害発生サーバ検出工程と、
前記情報テーブルとサーバ機能ごとの重みが規定されている重みテーブルを参照して、障害が発生したサーバの機能を引き継ぐことが可能なサーバを検出させる引継サーバ検出工程と、
前記情報テーブルを参照して、前記引継サーバ検出工程で検出されたサーバに機能を引き継がせるサーバ機能引継工程と、
をコンピュータに実行させることを特徴とするサーバ機能引継プログラム。
【産業上の利用可能性】
【００４９】
以上のように、本発明にかかるサーバ機能引継方法は、インターネットを利用した電子メール配信システムに有用であり、特に、インターネットデータセンタ内に設置されたサーバに障害が発生した場合のシステムダウン回避に適している。
【図面の簡単な説明】
【００５０】
【図１】本発明のサーバ機能引継方法を実現するためのネットワーク構成の概略図である。
【図２】本発明のサーバ機能引継方法を実現するためのインターネットデータセンタの構成の一例を示す図である。
【図３】本発明のサーバ機能引継方法における、通常運用時の情報テーブルの一例を示す図表である。
【図４】本発明のサーバ機能引継方法における、サービス重みテーブルの一例を示す図表である。
【図５】本発明のサーバ機能引継方法の実行手順を示すフローチャートである。
【図６】本発明のサーバ機能引継方法により更新された情報テーブルを示す図表である。
【図７】障害が発生したホストが復旧した場合の処理手順を示すフローチャートである。
【符号の説明】
【００５１】
１００  インターネットデータセンタ（ＩＤＣ）
１１０  システム管理者
１２０  一般利用者
１３０  インターネット
２０１  ルータ
２０２  ファイアウォール
２０３  ロードバランサ
２０４，２０５  スィッチングハブ
２０６  管理サーバ
２０７，２０８，２０９，２１０  電子メール配信サーバ
２１１  ファイルサーバ
【図１】
2005056347.tif 000003
【図２】
2005056347.tif 000004
【図３】
2005056347.tif 000005
【図４】
2005056347.tif 000006
【図５】
2005056347.tif 000007
【図６】
2005056347.tif 000008
【図７】
2005056347.tif 000009