(57)【要約】【課題】複数台のサーバで信頼性向上と処理能力向上を両立した冗長構成を実現できるサーバシステムを提供する。【解決手段】複数ｎ台のサーバについて、ＦＩＦＯ方式にてサーバキューに組み込み、最初の１台＃１のサーバをマスターアクティブサーバとし、次の１台＃２をマスタースタンバイサーバとし、続く＃３〜＃ｎのｎ−２台のサーバをそれぞれスレーブアクティブサーバとし、マスターアクティブサーバとマスタースタンバイサーバを全二重化して同期して動作させる冗長構成を採り、マスターアクティブサーバにてｎ−２台のスレーブアクティブサーバを動作させ、マスターアクティブサーバに故障が発生した場合には、マスタースタンバイサーバを新規のマスターアクティブサーバに切り替え、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させる。【選択図】図２
2014149777.tif 000002
【特許請求の範囲】
【請求項１】
複数ｎ台（ｎは任意の整数）のサーバについて、ＦＩＦＯ（先入れ先出し）方式にてサーバキューに組み込み、キュー番号＃１〜＃ｎを付し、最初の１台＃１のサーバをマスターアクティブサーバとし、次の１台＃２のサーバをマスタースタンバイサーバとし、続く＃３〜＃ｎのｎ−２台のサーバをそれぞれスレーブアクティブサーバとし、前記マスターアクティブサーバとマスタースタンバイサーバは全二重化して同時に動作させる冗長構成を採るステップと、
前記マスターアクティブサーバにてキュー番号＃３以降の前記ｎ−２台のスレーブアクティブサーバを動作させるＮ＋Ｍ方式の構成を採るステップと、
前記マスターアクティブサーバに故障が発生した場合には、前記マスタースタンバイサーバを新規のマスターアクティブサーバに切り替え、かつ、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させるステップと、
前記マスタースタンバイサーバに故障が発生した場合には、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させるステップとをコンピュータに実行させることを特徴とするサーバシステムの冗長構成方法。
【請求項２】
前記ｎ−２台のスレーブアクティブサーバのいずれかが故障した場合、当該スレーブアクティブサーバは当該システムから切り離し、当該スレーブアクティブサーバのキュー番号の次番号のスレーブアクティブサーバから順にキュー番号を１番ずつ繰り上げて繰り上げ後のキュー番号のスレーブアクティブサーバに切り替えて動作させるステップをコンピュータに実行させることを特徴とする請求項１に記載のサーバシステムの冗長構成方法。
【請求項３】
新規のサーバが当該システムに接続された時には、当該新規のサーバに対して既存の最後のキュー番号の次のキュー番号を付与し、スレーブアクティブサーバとして登録するステップをコンピュータに実行させることを特徴とする請求項１又は２に記載のサーバシステムの冗長構成方法。
【請求項４】
複数ｎ台（ｎは任意の整数）のサーバにて構成される冗長構成のサーバシステムであって、
前記複数ｎ台のサーバについて、ＦＩＦＯ（先入れ先出し）方式にてサーバキューに組み込み、キュー番号＃１〜＃ｎを付し、最初の１台＃１のサーバをマスターアクティブサーバとし、次の１台＃２をマスタースタンバイサーバとし、続く＃３〜＃ｎのｎ−２台のサーバをそれぞれスレーブアクティブサーバとし、前記マスターアクティブサーバとマスタースタンバイサーバは全二重化して同時に動作させる冗長構成を採る手段と、
前記マスターアクティブサーバにてキュー番号＃３以降の前記ｎ−２台のスレーブアクティブサーバを動作させるＮ＋Ｍ方式の構成を採る手段と、
前記マスターアクティブサーバに故障が発生した場合には、前記マスタースタンバイサーバを新規のマスターアクティブサーバに切り替え、かつ、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させる手段と、
前記マスタースタンバイサーバに故障が発生した場合には、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させる手段とを備えたことを特徴とする冗長構成のサーバシステム。
【請求項５】
前記ｎ−２台のスレーブアクティブサーバのいずれかが故障した場合、当該スレーブアクティブサーバは当該システムから切り離し、当該スレーブアクティブサーバのキュー番号の次番号のスレーブアクティブサーバから順にキュー番号を１番ずつ繰り上げて繰り上げ後のキュー番号のスレーブアクティブサーバに切り替えて動作させる手段を備えたことを特徴とする請求項４に記載の冗長構成のサーバシステム。
【請求項６】
新規のサーバが当該システムに接続された時には、当該新規のサーバに対して既存の最後のキュー番号の次のキュー番号を付与し、スレーブアクティブサーバとして登録する手段を備えたことを特徴とする請求項４又は５に記載の冗長構成のサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のサーバにて電話サービス、インターネットのウェブサービス等をサポートするシステムの信頼性を向上するためのサーバシステムの冗長構成方法及び冗長構成のサーバシステムに関する。
【背景技術】
【０００２】
音声通信サービス、ウェブサービス等の即時性が高く無中断が要求されるサービスには高い信頼性が要求される。サービスの信頼性を高める方法として、システムを構成する各種機器を冗長化する手法が挙げられる。サーバ機器については冗長構成を運用系（アクティブ）、待機系（スタンバイ）といったクラスタ構成とし、片系障害発生時にもう一方の系で運用継続することにより信頼性を向上させる手法がある。運用系、待機系の２重化による冗長構成よりも更なる高い信頼性が求められる場合や、複数台のサーバ機器が必要なシステムで高信頼性を実現するため、従来手法として「冗長構成切替システム」（特許文献１）や「１つのサービス又はサービスのセットをサポートする高信頼サーバ機能を提供する方法」（特許文献２）がある。
【０００３】
特許文献１の技術では、隣接するサーバ（モジュール番号＋１）を自サーバの待機系とする手法が採られている。この手法では、各々のサーバが隣接サーバの待機系を兼ねているため、通常時のサーバ処理能力は半分しか発揮することができない。したがって、冗長化による高信頼性を実現する代わりに、全サーバの処理能力のうち半分しか使うことができない問題点がある。
【０００４】
特許文献２には、冗長性を考慮した複数のサーバ機器をサーバプールと呼ばれる空間で管理し、処理に必要な分だけサーバプールからサーバを使用する手法が開示されている。この手法では各サーバの処理能力を十分に発揮できるが、障害発生時には特許文献１の技術のように無中断で処理を引き継げない、またサーバプールへ処理を要求するネームサーバ自体の信頼性を別途確保する必要があるため信頼性に欠ける問題点があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−５５８４０号公報
【特許文献２】特表２００７−５２０００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は上述した従来技術の課題に鑑みてなされたもので、複数台のサーバで信頼性向上と処理能力向上を両立した冗長構成を実現できるサーバシステムの冗長構成方法及び冗長構成のサーバシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の特徴は、複数ｎ台のサーバについて、ＦＩＦＯ（先入れ先出し）方式にてサーバキューに組み込み、キュー番号＃１〜＃ｎを付し、最初の１台＃１のサーバをマスターアクティブサーバとし、次の１台＃２のサーバをマスタースタンバイサーバとし、続く＃３〜＃ｎのｎ−２台のサーバをそれぞれスレーブアクティブサーバとし、前記マスターアクティブサーバとマスタースタンバイサーバは全二重化して同時に動作させる冗長構成を採るステップと、前記マスターアクティブサーバにて前記ｎ−２台のスレーブアクティブサーバを動作させるＮ＋Ｍ方式の構成を採るステップと、前記マスターアクティブサーバに故障が発生した場合には、前記マスタースタンバイサーバを新規のマスターアクティブサーバに切り替え、かつ、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させるステップと、前記マスタースタンバイサーバに故障が発生した場合には、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させるステップとをコンピュータに実行させるサーバシステムの冗長構成方法である。
【０００８】
本発明の別の特徴は、複数ｎ台のサーバにて構成される冗長構成のサーバシステムであって、前記複数ｎ台のサーバについて、ＦＩＦＯ（先入れ先出し）方式にてサーバキューに組み込み、キュー番号＃１〜＃ｎを付し、最初の１台＃１のサーバをマスターアクティブサーバとし、次の１台＃２のサーバをマスタースタンバイサーバとし、続く＃３〜＃ｎのｎ−２台のサーバをそれぞれスレーブアクティブサーバとし、前記マスターアクティブサーバとマスタースタンバイサーバは全二重化して同時に動作させる冗長構成を採る手段と、前記マスターアクティブサーバにて前記ｎ−２台のスレーブアクティブサーバを動作させるＮ＋Ｍ方式の構成を採る手段と、前記マスターアクティブサーバに故障が発生した場合には、前記マスタースタンバイサーバを新規のマスターアクティブサーバに切り替え、かつ、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させる手段と、前記マスタースタンバイサーバに故障が発生した場合には、キュー番号が一番若いスレーブアクティブサーバを新規のマスタースタンバイサーバに切り替えて動作させる手段とを備えた冗長構成のサーバシステムである。
【発明の効果】
【０００９】
本発明によれば、サーバ２台構成ではマスターアクティブ・マスタースタンバイのサーバの全二重化を実現し、サーバｎ台（ｎは３以上の整数）の構成ではマスターアクティブ・マスタースタンバイのサーバの全二重化に加えて、ｎ−２台のサーバをスレーブアクティブとするＮ＋Ｍ（Ｎ：処理に必要なサーバ数、Ｍ：予備の冗長サーバ数）の冗長構成を採ることにより、サーバ障害発生時にサーバキューで定義されたサーバのキュー番号の順番に従った系構成へ自律的に切り替えることで高信頼性がある冗長構成のサーズシステムを実現できる。さらに、最も若いキュー番号のスレーブアクティブサーバ以降のサーバは他サーバの待機系とならないため、サーバ処理能力を十分に発揮することが可能である。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施の形態の冗長構成のサーバシステムのブロック図。
【図２】上記実施の形態の冗長構成のサーバシステムにおいて、マスターアクティブサーバが故障した場合の系切替動作を示す図。
【図３】上記実施の形態の冗長構成のサーバシステムにおいて、マスタースタンバイサーバが故障した場合の系切替動作を示す図。
【図４】上記実施の形態の冗長構成のサーバシステムにおいて、スレーブアクティブサーバが故障した場合の系切替動作を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図に基づいて詳説する。
【００１２】
図１は本発明の１つの実施の形態の冗長構成のサーバシステムを示している。複数ｎ台のサーバにおいて、各サーバを冗長構成へ組み込む順番により、以下の通り役割を分担する。ここでは、冗長構成はサーバキューと称し、各サーバに割り付けられる番号をキュー番号と称する。
【００１３】
当該サーバキューに参加する各サーバは、次の機能を備えている。
【００１４】
（Ａ）各サーバは互いのＩＰアドレス等を把握しており、常に通信する。
【００１５】
（Ｂ）サーバは冗長構成に組み込まれたとき、他の全サーバに対して通知を行う。
【００１６】
（Ｃ）（Ｂ）の時点で既に冗長構成に組み込まれているサーバが少なくとも１台存在した場合、すなわちマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴが存在している場合には、マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴが（Ｂ）の通知を受け取った時点における組み込み済みのサーバ数から、（Ｂ）で組み込んだサーバのサーバキュー番号を決定して全サーバに対してサーバキュー情報（各サーバのＩＰアドレスとキュー番号の対応表に相当するデータ）を通知する。
【００１７】
（Ｄ）（Ｂ）のサーバは（Ｃ）で通知された番号に従った系構成の動作を採る。
【００１８】
（Ｅ）もし、（Ｃ）の時点で既に冗長構成に組み込まれているサーバが全く存在しなかった場合、（Ｂ）で組み込んだサーバがマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴとなる。
【００１９】
（Ｆ）マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴは他サーバとの定期的な通信により活性確認を行う。マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴ自体の活性確認は、マスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹが行う。
【００２０】
本実施の形態のサーバシステムの冗長構成方法、また、それにより構成された冗長構成のサーバシステム詳しい動作は次の通りである。ここでのサーバキューは、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ，Ｆｉｒｓｔ  Ｏｕｔ）方式の構造を採る。冗長構成に組み込まれたサーバに順番、つまりキュー番号を定義し、そのキュー番号に従った系構成を各サーバに与える。順番はＦＩＦＯ方式の通り先入れ先出しとなる。最初に組み込まれたサーバは＃１、次に組み込まれたサーバは＃２とするように、サーバキューへの組み込み順で各サーバのキュー番号を定義する。図では＃１〜＃５の５台の場合を例示している。
【００２１】
（１）最初に冗長構成のサーバキューに組み込まれるサーバは、キュー番号＃１のマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴとなる。このマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴは、後述するマスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹを待機系とする運用系であり、さらに後述するスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴへの処理命令及びスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴの処理状態の情報を保持する。尚、障害、系切替等により１台のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴが処理停止した時には、マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴは後述する手順に則って別のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴへ処理を再命令する。
【００２２】
（２）２番目にサーバキューに組み込まれるサーバは、キュー番号＃２のマスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹとなる。このマスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹは、逐次、前述の運用系であるマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴと同期する待機系であり、＃１のマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴに障害が発生した時に即座に、この＃２のマスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹが＃１のマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴとなるように系切替を行う。
【００２３】
（３）３番目以降にサーバキューに組み込まれたキュー番号＃３以降のサーバそれぞれは、スレーブアクティブサーバＳｌａｖｅ＿ＡＣＴとする。これらの＃３以降のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴは、マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴからの処理命令を実行する運用系である。
【００２４】
いずれか１台のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴに障害が発生した時には、その時のマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴから障害発生したスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴ以外のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴへ再命令される。また、マスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹが不在の時に、後述するサーバキュー構成の先頭である＃３のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴは自身のそれまでの処理を中断し、＃２のマスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹへ系切替を実施する。マスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹへ系切替するために処理中断した元＃３のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴの処理命令は、マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴによって別のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴへ再命令される。
【００２５】
そして、一旦サーバキューから外れると、外れたサーバのキュー番号以降の各サーバのキュー番号を１つずつ繰り上げてキュー番号を再付番する。サーバキューの構成情報は各サーバ全てが共有する。障害等あるいは運用操作により処理停止したサーバはサーバキューから外れる。逆に、サーバキューにはいつでもサーバを追加可能であり、稼働中のサーバの最後尾のキュー番号の次番が付番される。
【００２６】
新たな順番による系構成が以前の系構成と異なる場合、キュー番号が変わった当該サーバは、自律的に系切替を行う。具体的な処理動作は、以下の通りである。
【００２７】
図２に示すように、キュー番号＃１のマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴが障害等により動作を停止した場合、この元マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴであったサーバはサーバキューから外される。そして、＃２以降のサーバが自律的に系切替を行う。すなわち、それまでキュー番号＃２のマスタースタンバイサーバＭａｔｅｒ＿ＳＢＹであったサーバが新たにキュー番号＃１のマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴに切り替わる。それまでキュー番号＃３であったスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴがキュー番号＃２のマスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹに切り替わり、キュー番号＃１となったマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴからすべてのデータを受け取り、マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴと同期して動作するようになる。
【００２８】
それまでキュー番号＃４，＃５であったスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴそれぞれは、キュー番号を１つずつ繰り上げてキュー番号＃３，＃４のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴとなる。
【００２９】
図３に示すように、キュー番号＃２のマスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹが障害等により動作を停止した場合、この元マスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹであったサーバはサーバキューから外される。そしてキュー番号＃３以降のサーバが自律的に系切替を行う。キュー番号＃３のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴであったサーバが新たにキュー番号＃２のマスタースタンバイサーバＭａｓｔｅｒ＿ＳＢＹに切り替わる。そして、キュー番号＃１のマスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴからすべてのデータを受け取り、マスターアクティブサーバＭａｓｔｅｒ＿ＡＣＴと同期して動作するようになる。それまでキュー番号＃４，＃５であったスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴそれぞれは、キュー番号を１つずつ繰り上げてキュー番号＃３，＃４のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴとなる。
【００３０】
図４に示すように、キュー番号＃３のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴが障害等により動作を停止した場合、この元スレーブアクティブサーバＳｌａｖｅ＿ＡＣＴであったサーバはサーバキューから外される。そしてキュー番号＃４以降のサーバが自律的に系切替を行い、キュー番号＃４，＃５であったスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴそれぞれは、キュー番号を１つずつ繰り上げてキュー番号＃３，＃４のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴとなる。
【００３１】
尚、図２〜図４において、空きができたキュー番号＃５については、新たなサーバが接続された時に、そのサーバにキュー番号＃５のスレーブアクティブサーバＳｌａｖｅ＿ＡＣＴとして動作させることになる。また、サーバキューに６台以上が接続される時には接続台数に応じて順番にキュー番号が付番されることになる。
【００３２】
以上により、本実施の形態の冗長構成のサーバシステム、またサーバシステムの冗長構成方法によれば、サーバ２台構成ではマスターアクティブ・マスタースタンバイのサーバの全二重化を実現し、サーバｎ台（ｎは３以上の整数）の構成ではマスターアクティブ・マスタースタンバイのサーバの全二重化に加えて、ｎ−２台のサーバをスレーブアクティブとするＮ＋Ｍ（Ｎ：処理に必要なサーバ数、Ｍ：予備の冗長サーバ数）の冗長構成を採ることができ、これによりサーバ障害発生時にサーバキューで定義されたサーバのキュー番号の順番に従った系構成へ切り替えることで高信頼性がある冗長構成のサーズシステムが実現できる。さらに、最も若いキュー番号＃３以降のキュー番号のサーバは他サーバの待機系とならないため、サーバ処理能力を十分に発揮することが可能である。
【００３３】
尚、サーバキューの実装については、上記実施の形態では、各サーバがソフトウェアあるいはハードウェアによりそれぞれがその役割に応じて自機の動作を制御し、また他機と通信してデータ授受を行う機能を備えたものとしたが、これに限定されることはない。例えば、サーバそれぞれの冗長構成への組み込み、キュー番号の付番、系切替等は、オペレータにより手動で行うものとすることも可能である。また、システムに接続されたサーバとは別のコンピュータシステムによりこれらのサーバを管理する構成にすることもできる。
【符号の説明】
【００３４】
Ｍａｓｔｅｒ＿ＡＣＴ  マスターアクティブサーバ
Ｍａｓｔｅｒ＿ＳＢＹ  マスタースタンバイサーバ
Ｓｌａｖｅ＿ＡＣＴ  スレーブアクティブサーバ
【図１】
2014149777.tif 000003
【図２】
2014149777.tif 000004
【図３】
2014149777.tif 000005
【図４】
2014149777.tif 000006