(57)【要約】  クラスタシステムは、通信経路によって接続されたサーバ装置１０及び２０を備える。各サーバ装置は、他のサーバ装置に対して、通信経路３０〜５０を介して、自身の存在を示す信号を送信する、信号送信部１１と、通信経路３０〜５０が信頼性を有しているかどうかを判定する、信頼性判定部１２と、他のサーバ装置から信号を受信できない状況となると、他のサーバ装置との間の通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部１３とを備えている。
2015098589.tif 000002
【特許請求の範囲】
【請求項１】
通信経路によって接続された複数のサーバ装置を備え、
前記複数のサーバ装置それぞれは、
他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部と、
を備えている、ことを特徴とするクラスタシステム。
【請求項２】
前記処理管理部は、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
請求項１に記載のクラスタシステム。
【請求項３】
前記複数のサーバ装置が、互いに２つ以上の通信経路によって接続されており、
各サーバ装置の処理管理部は、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、請求項２に記載のクラスタシステム。
【請求項４】
前記複数のサーバ装置が、サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、互いに接続されている、
請求項３に記載のクラスタシステム。
【請求項５】
前記信頼性判定部は、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項４に記載のクラスタシステム。
【請求項６】
前記複数のサーバ装置それぞれは、更に、前記信号送信部からの前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、自動停止部を備えている、
請求項１〜５のいずれかに記載のクラスタシステム。
【請求項７】
通信経路によって他のサーバ装置と接続されるサーバ装置であって、
前記他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部と、
を備えている、ことを特徴とするサーバ装置。
【請求項８】
前記処理管理部は、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
請求項７に記載のサーバ装置。
【請求項９】
２つ以上の通信経路によって前記他のサーバ装置と接続されており、
前記処理管理部は、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、請求項８に記載のサーバ装置。
【請求項１０】
サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のサーバ装置に接続されている、
請求項９に記載のサーバ装置。
【請求項１１】
前記信頼性判定部は、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項１０に記載のサーバ装置。
【請求項１２】
前記信号送信部からの前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、自動停止部を更に備えている、
請求項７〜１１のいずれかに記載のサーバ装置。
【請求項１３】
通信経路によって接続された複数のサーバ装置を用い、
前記複数のサーバ装置それぞれによって実行される、
（ａ）他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を有する、ことを特徴とするクラスタシステムの管理方法。
【請求項１４】
前記（ｃ）のステップにおいて、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
請求項１３に記載のクラスタシステムの管理方法。
【請求項１５】
前記複数のサーバ装置が、互いに２つ以上の通信経路によって接続されており、
前記（ｃ）のステップにおいて、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、請求項１４に記載のクラスタシステムの管理方法。
【請求項１６】
前記複数のサーバ装置が、サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、互いに接続されている、
請求項１５に記載のクラスタシステムの管理方法。
【請求項１７】
前記（ｂ）のステップにおいて、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項１６に記載のクラスタシステムの管理方法。
【請求項１８】
前記複数のサーバ装置それぞれによって実行される、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、ステップを更に有している、
請求項１３〜１７のいずれかに記載のクラスタシステムの管理方法。
【請求項１９】
通信経路によって他のコンピュータと接続されるコンピュータに、
（ａ）前記他のコンピュータに対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のコンピュータから前記信号を受信できない状況となると、前記他のコンピュータとの間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を実行させる命令を含む、プログラムを記憶しているコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記（ｃ）のステップにおいて、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のコンピュータに異常が発生していると判断して、当該コンピュータで実行中にある処理を継続して実行し、又は、前記他のコンピュータが実行している処理を代わりに実行する、
請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２１】
前記コンピュータが、２つ以上の通信経路によって前記他のコンピュータと接続されており、
前記（ｃ）のステップにおいて、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のコンピュータに異常が発生していると判断する、請求項２０に記載のコンピュータ読み取り可能な記録媒体。
【請求項２２】
前記コンピュータは、コンピュータ間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のコンピュータに接続されている、
請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記（ｂ）のステップにおいて、
前記コンピュータ間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項２２に記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記プログラムが、前記コンピュータに、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該コンピュータを停止させる、ステップを実行させる、命令を更に含む、
請求項１９〜２３のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバ装置を備えるクラスタシステム、これに用いられるサーバ装置、クラスタシステムの管理方法、及びこれらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
企業等においては、システムに障害が発生しても、業務を継続して行なえるようにするため、クラスタシステムが採用されている。クラスタシステムでは、複数のサーバ装置が連結されており、これらのサーバ装置は、ユーザに対しては全体で一台のサーバ装置であるかのように振る舞うことになる。【０００３】
また、クラスタシステムにおいては、業務の停止を回避するため、サーバ装置間においてハートビート通信を行うことによって、障害の検出が行われている（例えば、特許文献１及び２参照。）。ハートビート通信とは、サーバ装置間で互いに、自身の存在を示す信号（以下、「ハートビート信号」と表記する。）を設定間隔で送信することをいう。【０００４】
具体的には、特許文献１及び２に開示されたシステムでは、各サーバ装置は、まず、ハートビート通信において、通信経路毎にタイムアウトが発生していないかどうかを判定する。そして、タイムアウトが発生している場合は、何らかの障害が発生していると判断する。そして、障害が発生していると判断した場合は、各サーバは、ネットワークを経由して、設定したタイムアウト時間内に受信パケットが到着したかどうかを判定し、到着していない場合（タイムアウト）は通信障害と判断し、到着している場合は相手方のサーバに異常が発生したと判断する。【０００５】
そして、特許文献１及び２に開示されたシステムでは、障害の発生が検出されると、障害の発生していないサーバ装置が、障害が発生したサーバ装置の業務を引き継ぎ、業務の停止が回避される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１７３２９９号公報
【特許文献２】特開２００８−１７２５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１及び２に開示されたシステムでは、ハートビート信号の受信の有無と、ネットワークから受信されるパケットの受信状況とに基づいて、障害の発生を検出しているため、いわゆるスプリットブレインシンドロームが発生する可能生がある。【０００８】
例えば、特許文献１及び２に開示されたシステムにおいて、一方のサーバ装置の通信インターフェース（ネットワークカード）が故障したとする。この場合、一方のサーバ装置は、ハートビート信号と、ネットワークからのパケットとの両方を受信できないので、通信障害が発生していると判断する。しかし、他方のサーバ装置は、ハートビート信号については受信できないが、ネットワークからのパケットについては受信できるので、一方のサーバ装置が障害発生によってダウンしたと判断する。よって、一方のサーバ装置が業務処理を行っていた場合は、他方のサーバ装置も業務処理を開始してしまうため、双方において、同じ業務処理が行われる事態が発生する。【０００９】
そして、このような事態が発生した場合において、業務処理が、情報提示のみを行う静的なＷｅｂサイトの提供等であれば問題ないが、業務処理がデータベースの更新であると、処理内容が衝突してしまう事態が発生する。これがスプリットブレインシンドロームである。【００１０】
本発明の目的の一例は、上記問題を解消し、クラスタシステムにおいて処理内容が衝突してしまう事態の発生を回避し得る、クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の一側面におけるクラスタシステムは、通信経路によって接続された複数のサーバ装置を備え、
前記複数のサーバ装置それぞれは、
他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部と、
を備えている、ことを特徴とする。【００１２】
上記目的を達成するため、本発明の一側面におけるサーバ装置は、通信経路によって他のサーバ装置と接続されるサーバ装置であって、
前記他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部と、
を備えている、ことを特徴とする。【００１３】
また、上記目的を達成するため、本発明の一側面におけるクラスタシステムの管理方法は、通信経路によって接続された複数のサーバ装置を用い、
前記複数のサーバ装置それぞれによって実行される、
（ａ）他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を有する、ことを特徴とする。【００１４】
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、通信経路によって他のコンピュータと接続されるコンピュータに、
（ａ）前記他のコンピュータに対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のコンピュータから前記信号を受信できない状況となると、前記他のコンピュータとの間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明によれば、クラスタシステムにおいて処理内容が衝突してしまう事態の発生を回避することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本発明の実施の形態におけるクラスタシステムの概略構成を示す図である。
【図２】図２は、本発明の実施の形態におけるクラスタシステム及びサーバ装置の構成を具体的に示すブロック図である。
【図３】図３は、本発明の実施の形態におけるクラスタシステムを構成するサーバ装置の動作を示すフロー図である。
【図４】図４は、本発明の実施の形態におけるクラスタシステムを構成する各サーバ装置での信頼性判定の結果を示す図である。
【図５】図５は、本発明の実施の形態におけるサーバ装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１７】
（実施の形態）
以下、本発明の実施の形態における、クラスタシステム、サーバ装置、サーバ装置の管理方法、及びプログラムについて、図１〜図５を参照しながら説明する。
【００１８】
［システム構成］
最初に、図１を用いて、本発明の実施の形態におけるクラスタシステム及びサーバ装置の構成について説明する。図１は、本発明の実施の形態におけるクラスタシステムの概略構成を示す図である。
【００１９】
図１に示すように、本実施の形態におけるクラスタシステム１００は、通信経路３０〜５０によって接続されたサーバ装置１０及び２０を備えている。クラスタシステム１００では、一方のサーバ装置に障害が発生すると、他方のサーバ装置が、障害が発生したサーバ装置で行われている処理を引き継ぎ、業務が停止してしまう事態の発生が回避される。
【００２０】
また、サーバ装置１０及び２０それぞれは、他方のサーバ装置に対して、通信経路３０〜５０を介して、自身の存在を示す信号、即ち、ハートビート信号を送信するが、それに加えて、通信経路３０〜５０が信頼性を有しているかどうかを判定することもできる。
【００２１】
そして、サーバ装置１０及び２０それぞれは、他方のサーバ装置からハートビート信号を受信できない状況となると、このサーバ装置との間の通信経路３０〜５０について信頼性を有していると判定しているかどうかを確認する。続いて、各サーバ装置は、確認の結果、通信経路３０〜５０が信頼性を有していると判定していない場合は、実行中にある処理を停止することができる。
【００２２】
このように、本実施の形態では、サーバ装置１０及び２０は、ハートビート通信のための通信経路３０〜５０について信頼性を判定し、その結果によっては、実際にはダウンしていなくても、処理を停止することができる。このため、処理内容が衝突してしまう事態、いわゆるスプリットブレインシンドロームの発生が回避される。
【００２３】
ここで、図２を用いて、本実施の形態におけるクラスタシステム及びサーバ装置の構成について更に具体的に説明する。図２は、本発明の実施の形態におけるクラスタシステム及びサーバ装置の構成を具体的に示すブロック図である。
【００２４】
図２に示すように、本実施の形態では、通信経路３０は、ネットワーク３１を経由する通信経路であり、パブリックＬＡＮ（Local Area Network）である。通信経路４０は、サーバ装置間を直接結ぶ通信経路であり、インターコネクトＬＡＮである。通信経路５０は、記憶装置５１を介した通信経路である。
【００２５】
また、通信経路５０では、サーバ装置１０及び２０と記憶装置５１とは、ＳＣＳＩ（Small computer System Interface）又はＦＣ（Fiber Channel）といった接続方式によって接続されている。更に、通信経路５０は、専用のケーブルではなく、インターネット等のネットワークを利用して構築されていても良い。
【００２６】
また、本実施の形態では、図２に示すように、サーバ装置１０は、信号送信部１１と、信頼性判定部１２と、処理管理部１３と、信号受信部１４と、自動停止部１５と、各通信経路に対応した通信インターフェイス１６〜１８と、業務処理実行部１９とを備えている。このうち、通信インターフェイス１６〜１８は、例えば、ＮＩＣ（Network Interface Card）によって構成されている。
【００２７】
信号送信部１１は、他のサーバ装置に対して、通信経路３０〜５０を介して、ハートビート信号を送信する。また、信号送信部１１は、ハートビート信号を、通信経路３０〜５０に加え、自動停止部１５にも、各通信経路から送信する場合と同じタイミングで送信している。なお、ハートビート信号の送信は、定期的に行われても良いし、設定された条件に応じて行われても良い。
【００２８】
信号受信部１４は、通信インターフェイス１６〜１８を介して、他のサーバ装置からのハートビート信号を受信する。また、信号受信部１４は、他のサーバ装置からのハートビート信号を受信できない状況にあるかどうか、具体的には、ハートビート信号がタイムアウトしていないかどうかを判断する。
【００２９】
信頼性判定部１２は、通信経路３０〜５０が信頼性を有しているかどうかを判定する。具体的には、信頼性判定部１２は、通信経路４０については、ネットワーク３１上に存在する機器（ルータ）３２にリクエスト（ICMP echo request）を送信し、機器３２からリクエストに対するレスポンス（ICMP echo reply）が返信されてきた場合に、信頼性を有していると判定する。
【００３０】
また、信頼性判定部１２は、通信経路４０については、通信インターフェイス１７として機能するＮＩＣが通電状態にある場合に、信頼性を有していると判定する。更に、信頼性判定部１２は、通信経路５０については、記憶装置５１に、ＳＣＳＩ又はＦＣで規定されているコマンドを送信し、記憶装置５１からコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する。
【００３１】
業務処理実行部１９は、クラスタシステム１００が行う業務のための処理（業務処理）を実行する。具体的には、業務処理実行部１９は、業務処理のためのアプリケーションプログラムによって構築されており、業務毎に構築される。
【００３２】
処理管理部１３は、信号受信部１４が他のサーバ装置からのハートビート信号を受信できない状況にあると判断したときに、通信経路３０〜５０について、信頼性判定部１２によって信頼性を有していると判定されているかどうかを確認する。
【００３３】
そして、処理管理部１３は、確認の結果、通信経路３０〜５０が信頼性を有していると判定されていない場合は、業務処理実行部１９に、実行中にある処理を停止させる。一方、処理管理部１３は、確認の結果、いずれかの通信経路が信頼性を有していると判定されている場合は、他のサーバ装置に異常が発生していると判断する。そして、処理管理部１３は、業務処理実行部１９が業務処理を既に実行中である場合は、実行中にある処理を継続して実行させる。また、処理管理部１３は、業務処理実行部１９が業務処理を実行中でない場合は、業務処理実行部１９に、他のサーバ装置で実行されている業務処理を代わりに実行させる。
【００３４】
自動停止部１５は、信号送信部１１からのハートビート信号の送信が途絶えた場合に、サーバ装置１０を停止させる。具体的には、自動停止部１５は、サーバ装置１０に予め実装されているウォッチドッグタイマによって実現されている。また、このような自動定部１５が備えられているため、例えば、単にサーバ装置１０がハングした場合であっても、サーバ装置１０は停止されることになる。これは、サーバ装置１０がハングした後に、サーバ装置２０が、サーバ装置１０に障害が発生したと判断して、サーバ装置１０の処理を引き継いだにも係わらず、サーバ装置１０がハング状態から復旧してしまうと、スプリットブレインシンドロームが発生してしまうからである。
【００３５】
更に、サーバ装置２０も、信号送信部２１と、信頼性判定部２２と、処理管理部２３と、信号受信部２４と、自動停止部２５と、各通信経路に対応した通信インターフェイス１６〜１８と、業務処理実行部２９とを備えている。なお、サーバ装置１０とサーバ装置２０とは、同一の構成及び機能を備えているため、サーバ装置２０の各部における説明は省略する。また、図１及び図２の例では、クラスタシステム１００を構成するサーバ装置は２台のみであるが、本実施の形態において、サーバ装置の台数は特に限定されるものではない。
【００３６】
［システム動作］
次に、本発明の実施の形態におけるクラスタシステム１００の動作について図３を用いて説明する。図３は、本発明の実施の形態におけるクラスタシステムを構成するサーバ装置の動作を示すフロー図である。
【００３７】
また、以下の説明においては、適宜図２を参酌しながら、サーバ装置１０を中心に説明する。更に、本実施の形態では、クラスタシステム１００を動作させることによって、クラスタシステムの管理方法が実施される。よって、本実施の形態におけるクラスタシステムの管理方法の説明は、以下のクラスタシステムの動作説明に代える。
【００３８】
まず、前提として、サーバ装置１０において、信号送信部１１は、設定された間隔で、通信インターフェイス１６〜１８から、サーバ装置２０に向けてハートビート信号を送信する。更に、サーバ装置１０において、信頼性判定部１２は、ハートビート信号の送信又は受信のタイミングと同期して、通信経路３０〜５０が信頼性を有しているかどうかを判定する。
【００３９】
また、同様に、サーバ装置２０においても、信号送信部２１は、設定された間隔で、通信インターフェイス２６〜２８から、サーバ装置１０に向けてハートビート信号を送信する。更に、サーバ装置２０においても、信頼性判定部２２は、ハートビート信号の送信又は受信のタイミングと同期して、通信経路３０〜５０が信頼性を有しているかどうかを判定する。
【００４０】
図３に示すように、サーバ装置１０において、信号受信部１４は、サーバ装置２０からのハートビート信号の受信が、タイムアウトしていないかどうかを判定する（ステップＡ１）。
【００４１】
ステップＡ１の判定の結果、タイムアウトしていない場合は、信号受信部１４は、設定時間の経過後に、再度、ステップＡ１を実行する。一方、ステップＡ１の判定の結果、タイムアウトしている場合は、信号受信部１４は、そのことを処理管理部１３に通知する。
【００４２】
次に、処理管理部１３は、通知を受けると、通信経路３０〜５０の中に、信頼性を有している通信経路が存在しているかどうかを判定する（ステップＡ２）。ステップＡ２の判定の結果、信頼性を有している通信経路が存在している場合は、処理管理部１３は、業務処理実行部１９が業務処理を実行中であるかどうかを判定する（ステップＡ３）。
【００４３】
そして、処理管理部１３は、ステップＡ３の判定の結果、業務処理が実行中である場合は、業務処理実行部１９に、業務処理をそのまま継続させる（ステップＡ４）。反対に、ステップＡ３の判定の結果、業務処理が実行中でない場合は、処理管理部１３は、業務処理実行部１９にサーバ装置２０で実行されている処理を引き継がせる（ステップＡ５）。
【００４４】
また、ステップＡ２の判定の結果、信頼性を有している通信経路が存在していない場合も、処理管理部１３は、業務処理実行部１９が業務処理を実行中であるかどうかを判定する（ステップＡ６）。
【００４５】
そして、ステップＡ６の判定の結果、業務処理が実行中でない場合は、サーバ装置１０における処理は終了する。一方、ステップＡ６の判定の結果、業務処理が実行中である場合は、処理管理部１３は、業務処理実行部１９に、業務処理を停止させる（ステップＡ７）。
【００４６】
以上のステップＡ１〜Ａ７は、サーバ装置１０において、繰り返し実行される。また、サーバ装置２０においても、ステップＡ１〜Ａ７と同様のステップが、繰り返し実行される。
【００４７】
［具体例］
ここで、図４を用いて具体例について説明する。図４は、本発明の実施の形態におけるクラスタシステムを構成する各サーバ装置での信頼性判定の結果を示す図である。
【００４８】
例えば、図２に示すサーバ装置１０及びサーバ装置２０において、いずれの通信経路からもハートビート信号を受信できない事態が発生したとする。この場合、サーバ装置１０では、信頼性判定部１２は、通信経路３０〜５０それぞれにおける現在の信頼性の有無を判定する。
【００４９】
そして、判定の結果、図４に示すように、サーバ装置１０では、通信経路３０及び４０において信頼性有りと判定されているとすると、サーバ装置１０は、サーバ装置２０に障害が発生していると判断する。これは、サーバ装置１０側の視点では、信頼性を有する通信経路があるのに、サーバ装置２０がハートビート信号を送信できないのは、サーバ装置２０に問題があると考えられるからである。
【００５０】
一方、サーバ装置２０には、実際には、障害が発生しておらず、通信経路３０〜５０のサーバ装置２０側の部分に問題があって、ハートビート信号の送受信ができなかったとする。この場合、図４に示すように、サーバ装置２０は、全ての通信経路３０〜５０において、信頼性無しと判定するので、業務処理を実行している場合は、障害が発生していなくても、業務処理を停止する。この結果、スプリットブレインシンドロームの発生が回避される。
【００５１】
また、サーバ装置２０に障害が発生し、これにより、ハートビート信号が送信できなかった場合、サーバ装置２０では、上述のステップＡ１〜Ａ７の処理は実行されないが、既に業務処理は停止されているので、スプリットブレインシンドロームが発生することはない。
【００５２】
ところで、サーバ装置２０が単にハングしたために、サーバ装置１０にハートビート信号を送れない場合も、サーバ装置１０は、サーバ装置２０に障害が発生していると判断する。しかし、単なるハングであるため、暫くの後、サーバ装置２０がハング状態から復旧して、スプリットブレインシンドロームが発生してしまう可能がある。このため、本実施の形態では、上述したように、サーバ装置１０及び２０には、自動停止部１５が設けられており、このような事態の発生が回避される。
【００５３】
［プログラム］
本形態におけるプログラムは、コンピュータに、図３に示すステップＡ１〜Ａ７を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における、クラスタシステム、サーバ装置、クラスタシステムの管理方法を実現することができる。この場合、サーバ装置１０となるコンピュータのＣＰＵ（Central Processing Unit）は、信号送信部１１、信頼性判定部１２、処理管理部１３、信号受信部１４、及び自動停止部１５として機能し、処理を行なう。また、サーバ装置２０となるコンピュータのＣＰＵ（Central Processing Unit）は、信号送信部２１、信頼性判定部２２、処理管理部２３、信号受信部２４、及び自動停止部２５として機能し、処理を行なう。
【００５４】
［変形例］
上述した例では、各サーバ装置において、信頼性判定部は、全ての通信経路について信頼性を判定しているが、本実施の形態は、この態様に限定される趣旨ではない。本実施の形態は、信頼性判定部が、一部の通信経路についてのみ、信頼性を有しているかどうかを判定する態様であっても良い。
【００５５】
また、上述の例では、通信経路として、パブリックＬＡＮ、インターコネクトＬＡＮ、ＳＣＳＩ／ＦＣによる通信経路が例示されているが、本実施の形態では、サーバ装置間を接続する通信経路の数及び種類は特に限定されるものではない。他の通信経路としては、ＢＭＣ（Baseboard Management Controller）制御用のＬＡＮ、ＲＳ２３２Ｃポートを利用した通信経路、無線ＬＡＮを利用した通信経路、ＵＳＢ端子を利用した通信経路等が挙げられる。
【００５６】
［物理構成］
ここで、本実施の形態におけるプログラムを実行することによって、サーバ装置を実現するコンピュータについて図５を用いて説明する。図５は、本発明の実施の形態におけるサーバ装置を実現するコンピュータの一例を示すブロック図である。
【００５７】
図５に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００５８】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００５９】
また、記憶装置１１３の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００６０】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００６１】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【００６２】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記２４）によって表現することができるが、以下の記載に限定されるものではない。
【００６３】
（付記１）
通信経路によって接続された複数のサーバ装置を備え、
前記複数のサーバ装置それぞれは、
他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部と、
を備えている、ことを特徴とするクラスタシステム。
【００６４】
（付記２）
前記処理管理部は、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
付記１に記載のクラスタシステム。
【００６５】
（付記３）
前記複数のサーバ装置が、互いに２つ以上の通信経路によって接続されており、
各サーバ装置の処理管理部は、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、付記２に記載のクラスタシステム。
【００６６】
（付記４）
前記複数のサーバ装置が、サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、互いに接続されている、
付記３に記載のクラスタシステム。
【００６７】
（付記５）
前記信頼性判定部は、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
付記４に記載のクラスタシステム。
【００６８】
（付記６）
前記複数のサーバ装置それぞれは、更に、前記信号送信部からの前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、自動停止部を備えている、
付記１に記載のクラスタシステム。
【００６９】
（付記７）
通信経路によって他のサーバ装置と接続されるサーバ装置であって、
前記他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部と、
を備えている、ことを特徴とするサーバ装置。
【００７０】
（付記８）
前記処理管理部は、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
付記７に記載のサーバ装置。
【００７１】
（付記９）
２つ以上の通信経路によって前記他のサーバ装置と接続されており、
前記処理管理部は、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、付記８に記載のサーバ装置。
【００７２】
（付記１０）
サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のサーバ装置に接続されている、
付記９に記載のサーバ装置。
【００７３】
（付記１１）
前記信頼性判定部は、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
付記１０に記載のサーバ装置。
【００７４】
（付記１２）
前記信号送信部からの前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、自動停止部を更に備えている、
付記７に記載のサーバ装置。
【００７５】
（付記１３）
通信経路によって接続された複数のサーバ装置を用い、
前記複数のサーバ装置それぞれによって実行される、
（ａ）他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を有する、ことを特徴とするクラスタシステムの管理方法。
【００７６】
（付記１４）
前記（ｃ）のステップにおいて、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
付記１３に記載のクラスタシステムの管理方法。
【００７７】
（付記１５）
前記複数のサーバ装置が、互いに２つ以上の通信経路によって接続されており、
前記（ｃ）のステップにおいて、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、付記１４に記載のクラスタシステムの管理方法。
【００７８】
（付記１６）
前記複数のサーバ装置が、サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、互いに接続されている、
付記１５に記載のクラスタシステムの管理方法。
【００７９】
（付記１７）
前記（ｂ）のステップにおいて、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
付記１６に記載のクラスタシステムの管理方法。
【００８０】
（付記１８）
前記複数のサーバ装置それぞれによって実行される、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、ステップを更に有している、
付記１３に記載のクラスタシステムの管理方法。
【００８１】
（付記１９）
通信経路によって他のコンピュータと接続されるコンピュータに、
（ａ）前記他のコンピュータに対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のコンピュータから前記信号を受信できない状況となると、前記他のコンピュータとの間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を実行させる命令を含む、プログラムを記憶しているコンピュータ読み取り可能な記録媒体。
【００８２】
（付記２０）
前記（ｃ）のステップにおいて、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のコンピュータに異常が発生していると判断して、当該コンピュータで実行中にある処理を継続して実行し、又は、前記他のコンピュータが実行している処理を代わりに実行する、
付記１９に記載のコンピュータ読み取り可能な記録媒体。
【００８３】
（付記２１）
前記コンピュータが、２つ以上の通信経路によって前記他のコンピュータと接続されており、
前記（ｃ）のステップにおいて、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のコンピュータに異常が発生していると判断する、付記２０に記載のコンピュータ読み取り可能な記録媒体。
【００８４】
（付記２２）
前記コンピュータは、コンピュータ間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のコンピュータに接続されている、
付記２１に記載のコンピュータ読み取り可能な記録媒体。
【００８５】
（付記２３）
前記（ｂ）のステップにおいて、
前記コンピュータ間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信・BR>叶ォを有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
付記２２に記載のコンピュータ読み取り可能な記録媒体。
【００８６】
（付記２４）
前記プログラムが、前記コンピュータに、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該コンピュータを停止させる、ステップを実行させる、命令を更に含む、
付記１９に記載のコンピュータ読み取り可能な記録媒体。
【００８７】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００８８】
この出願は、２０１３年１２月２５日に出願された日本出願特願２０１３−２６７０３８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００８９】
以上のように、本発明によれば、クラスタシステムにおいて処理内容が衝突してしまう事態の発生を回避することができる。本発明は、クラスタシステムの管理に有用である。
【符号の説明】
【００９０】
１０  サーバ装置
１１  信号送信部
１２  信頼性判定部
１３  処理管理部
１４  信号受信部
１５  自動停止部
１６、１７、１８  通信インターフェイス
１９  業務処理実行部
２０  サーバ装置
２１  信号送信部
２２  信頼性判定部
２３  処理管理部
２４  信号受信部
２５  自動停止部
２６、２７、２８  通信インターフェイス
２９  業務処理実行部
３０  通信経路
３１  ネットワーク
３２  ルーター
４０  通信経路
５０  通信経路
５１  記憶装置
１００  クラスタシステム
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2015098589.tif 000003
【図２】
2015098589.tif 000004
【図３】
2015098589.tif 000005
【図４】
2015098589.tif 000006
【図５】
2015098589.tif 000007
【手続補正書】
【提出日】平成28年6月10日(2016.6.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信経路によって接続された複数のサーバ装置を備え、
前記複数のサーバ装置それぞれは、
他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、
信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部と、
を備えている、ことを特徴とするクラスタシステム。
【請求項２】
前記処理管理部は、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
請求項１に記載のクラスタシステム。
【請求項３】
前記複数のサーバ装置が、互いに２つ以上の通信経路によって接続されており、
各サーバ装置の処理管理部は、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、請求項２に記載のクラスタシステム。
【請求項４】
前記複数のサーバ装置が、サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、互いに接続されている、
請求項３に記載のクラスタシステム。
【請求項５】
前記信頼性判定部は、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記たコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項４に記載のクラスタシステム。
【請求項６】
前記複数のサーバ装置それぞれは、更に、前記信号送信部からの前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、自動停止部を備えている、
請求項１〜５のいずれかに記載のクラスタシステム。
【請求項７】
通信経路によって他のサーバ装置と接続されるサーバ装置であって、
前記他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、処理管理部と、
を備えている、ことを特徴とするサーバ装置。
【請求項８】
前記処理管理部は、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
請求項７に記載のサーバ装置。
【請求項９】
２つ以上の通信経路によって前記他のサーバ装置と接続されており、
前記処理管理部は、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、請求項８に記載のサーバ装置。
【請求項１０】
サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のサーバ装置に接続されている、
請求項９に記載のサーバ装置。
【請求項１１】
前記信頼性判定部は、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記たコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項１０に記載のサーバ装置。
【請求項１２】
前記信号送信部からの前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、自動停止部を更に備えている、
請求項７〜１１のいずれかに記載のサーバ装置。
【請求項１３】
通信経路によって接続された複数のサーバ装置を用い、
前記複数のサーバ装置それぞれによって実行される、
（ａ）他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を有する、ことを特徴とするクラスタシステムの管理方法。
【請求項１４】
前記（ｃ）のステップにおいて、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、
請求項１３に記載のクラスタシステムの管理方法。
【請求項１５】
前記複数のサーバ装置が、互いに２つ以上の通信経路によって接続されており、
前記（ｃ）のステップにおいて、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のサーバ装置に異常が発生していると判断する、請求項１４に記載のクラスタシステムの管理方法。
【請求項１６】
前記複数のサーバ装置が、サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、互いに接続されている、
請求項１５に記載のクラスタシステムの管理方法。
【請求項１７】
前記（ｂ）のステップにおいて、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記たコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項１６に記載のクラスタシステムの管理方法。
【請求項１８】
前記複数のサーバ装置それぞれによって実行される、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、ステップを更に有している、
請求項１３〜１７のいずれかに記載のクラスタシステムの管理方法。
【請求項１９】
通信経路によって他のコンピュータと接続されるコンピュータに、
（ａ）前記他のコンピュータに対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のコンピュータから前記信号を受信できない状況となると、前記他のコンピュータとの間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を実行させる、プログラム。
【請求項２０】
前記（ｃ）のステップにおいて、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のコンピュータに異常が発生していると判断して、当該コンピュータで実行中にある処理を継続して実行し、又は、前記他のコンピュータが実行している処理を代わりに実行する、
請求項１９に記載のプログラム。
【請求項２１】
前記コンピュータが、２つ以上の通信経路によって前記他のコンピュータと接続されており、
前記（ｃ）のステップにおいて、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のコンピュータに異常が発生していると判断する、請求項２０に記載のプログラム。
【請求項２２】
前記コンピュータは、コンピュータ間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のコンピュータに接続されている、
請求項２１に記載のプログラム。
【請求項２３】
前記（ｂ）のステップにおいて、
前記コンピュータ間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記たコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項２２に記載のプログラム。
【請求項２４】
前記コンピュータに、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該コンピュータを停止させる、ステップを更に実行させる、
請求項１９〜２３のいずれかに記載のプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
しかしながら、特許文献１及び２に開示されたシステムでは、ハートビート信号の受信の有無と、ネットワークから受信されるパケットの受信状況とに基づいて、障害の発生を検出しているため、いわゆるスプリットブレインシンドロームが発生する可能性がある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明の目的の一例は、上記問題を解消し、クラスタシステムにおいて処理内容が衝突してしまう事態の発生を回避し得る、クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラムを提供することにある。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
信頼性判定部１２は、通信経路３０〜５０が信頼性を有しているかどうかを判定する。具体的には、信頼性判定部１２は、通信経路３０については、ネットワーク３１上に存在する機器（ルータ）３２にリクエスト（ICMP echo request）を送信し、機器３２からリクエストに対するレスポンス（ICMP echo reply）が返信されてきた場合に、信頼性を有していると判定する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
自動停止部１５は、信号送信部１１からのハートビート信号の送信が途絶えた場合に、サーバ装置１０を停止させる。具体的には、自動停止部１５は、サーバ装置１０に予め実装されているウォッチドッグタイマによって実現されている。また、このような自動停止部１５が備えられているため、例えば、単にサーバ装置１０がハングした場合であっても、サーバ装置１０は停止されることになる。これは、サーバ装置１０がハングした後に、サーバ装置２０が、サーバ装置１０に障害が発生したと判断して、サーバ装置１０の処理を引き継いだにも係わらず、サーバ装置１０がハング状態から復旧してしまうと、スプリットブレインシンドロームが発生してしまうからである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
ところで、サーバ装置２０が単にハングしたために、サーバ装置１０にハートビート信号を送れない場合も、サーバ装置１０は、サーバ装置２０に障害が発生していると判断する。しかし、単なるハングであるため、暫くの後、サーバ装置２０がハング状態から復旧して、スプリットブレインシンドロームが発生してしまう可能がある。このため、本実施の形態では、上述したように、サーバ装置１０及び２０には、自動停止部１５及び２５が設けられており、このような事態の発生が回避される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
（付記１９）
通信経路によって他のコンピュータと接続されるコンピュータに、
（ａ）前記他のコンピュータに対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のコンピュータから前記信号を受信できない状況となると、前記他のコンピュータとの間の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させる、ステップと、
を実行させる、プログラム。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
（付記２０）
前記（ｃ）のステップにおいて、確認の結果、前記通信経路が信頼性を有していると判定されている場合は、前記他のコンピュータに異常が発生していると判断して、当該コンピュータで実行中にある処理を継続して実行し、又は、前記他のコンピュータが実行している処理を代わりに実行する、
付記１９に記載のプログラム。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
（付記２１）
前記コンピュータが、２つ以上の通信経路によって前記他のコンピュータと接続されており、
前記（ｃ）のステップにおいて、いずれかの前記通信経路が信頼性を有していると判定されている場合に、前記他のコンピュータに異常が発生していると判断する、付記２０に記載のプログラム。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００８４
【補正方法】変更
【補正の内容】
【００８４】
（付記２２）
前記コンピュータは、コンピュータ間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のコンピュータに接続されている、
付記２１に記載のプログラム。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
（付記２３）
前記（ｂ）のステップにおいて、
前記コンピュータ間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記コマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
付記２２に記載のプログラム。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
（付記２４）
前記コンピュータに、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該コンピュータを停止させる、ステップを更に実行させる、
付記１９に記載のプログラム。
【手続補正書】
【提出日】平成28年12月27日(2016.12.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
２つ以上の通信経路によって接続された複数のサーバ装置を備え、
前記複数のサーバ装置それぞれは、
他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、
信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の２つ以上の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、いずれかの前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させ、いずれかの前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、処理管理部と、
を備えている、ことを特徴とするクラスタシステム。
【請求項２】
前記複数のサーバ装置が、サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、互いに接続されている、
請求項１に記載のクラスタシステム。
【請求項３】
前記信頼性判定部は、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記たコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項２に記載のクラスタシステム。
【請求項４】
前記複数のサーバ装置それぞれは、更に、前記信号送信部からの前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、自動停止部を備えている、
請求項１〜３のいずれかに記載のクラスタシステム。
【請求項５】
２つ以上の通信経路によって他のサーバ装置と接続されるサーバ装置であって、
前記他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、信号送信部と、
前記通信経路が信頼性を有しているかどうかを判定する、信頼性判定部と、
前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の２つ以上の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、いずれかの前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させ、いずれかの前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、処理管理部と、
を備えている、ことを特徴とするサーバ装置。
【請求項６】
サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のサーバ装置に接続されている、
請求項５に記載のサーバ装置。
【請求項７】
前記信頼性判定部は、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記たコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項６に記載のサーバ装置。
【請求項８】
前記信号送信部からの前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、自動停止部を更に備えている、
請求項５〜７のいずれかに記載のサーバ装置。
【請求項９】
２つ以上の通信経路によって接続された複数のサーバ装置を用い、
前記複数のサーバ装置それぞれによって実行される、
（ａ）他のサーバ装置に対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のサーバ装置から前記信号を受信できない状況となると、前記他のサーバ装置との間の２つ以上の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、いずれかの前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させ、いずれかの前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、ステップと、
を有する、ことを特徴とするクラスタシステムの管理方法。
【請求項１０】
前記複数のサーバ装置が、サーバ装置間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、互いに接続されている、
請求項９に記載のクラスタシステムの管理方法。
【請求項１１】
前記（ｂ）のステップにおいて、
前記サーバ装置間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記たコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項１０に記載のクラスタシステムの管理方法。
【請求項１２】
前記複数のサーバ装置それぞれによって実行される、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該サーバ装置を停止させる、ステップを更に有している、
請求項９〜１１のいずれかに記載のクラスタシステムの管理方法。
【請求項１３】
２つ以上の通信経路によって他のコンピュータと接続されるコンピュータに、
（ａ）前記他のコンピュータに対して、前記通信経路を介して、自身の存在を示す信号を送信する、ステップと、
（ｂ）前記通信経路が信頼性を有しているかどうかを判定する、ステップと、
（ｃ）前記他のコンピュータから前記信号を受信できない状況となると、前記他のコンピュータとの間の２つ以上の前記通信経路について信頼性を有していると判定されているかどうかを確認し、確認の結果、いずれかの前記通信経路が信頼性を有していると判定されていない場合は、実行中にある処理を停止させ、いずれかの前記通信経路が信頼性を有していると判定されている場合は、前記他のサーバ装置に異常が発生していると判断して、当該サーバ装置に、実行中にある処理を継続して実行させ、又は、前記他のサーバ装置が実行している処理を代わりに実行させる、ステップと、
を実行させる、プログラム。
【請求項１４】
前記コンピュータは、コンピュータ間を直接結ぶ通信経路、ネットワークを経由する通信経路、及び記憶装置を経由した通信経路によって、前記他のコンピュータに接続されている、
請求項１３に記載のプログラム。
【請求項１５】
前記（ｂ）のステップにおいて、
前記コンピュータ間を直接結ぶ通信経路については、通信インターフェイスが通電状態にある場合に、信頼性を有していると判定し、
前記ネットワークを経由する通信経路については、前記ネットワーク上に存在する機器にリクエストを送信し、前記機器から前記リクエストに対するレスポンスが返信されてきた場合に、信頼性を有していると判定し、
前記記憶装置を経由した通信経路については、前記記憶装置にコマンドを送信し、前記記憶装置から前記たコマンドに対するレスポンスが返信されてきた場合に、信頼性を有していると判定する、
請求項１４に記載のプログラム。
【請求項１６】
前記コンピュータに、
（ｄ）前記（ａ）のステップによる前記信号の送信が途絶えた場合に、当該コンピュータを停止させる、ステップを更に実行させる、
請求項１３〜１５のいずれかに記載のプログラム。
【国際調査報告】
2015098589.tif 000008
2015098589.tif 000009
2015098589.tif 000010
2015098589.tif 000011