(57)【特許請求の範囲】
【請求項１】
情報伝達媒体を介して他の計算機と互いに通信可能に接続され、記憶手段を備える計算機であって、
前記記憶手段は、オペレーティングシステム、ミドルウェア、及びソフトウェアコンポーネントを記憶しており、
前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記ミドルウェアは、前記ソフトウェアコンポーネントを子プロセスとして起動させ、
前記オペレーティングシステムは、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記オペレーティングシステムは前記ミドルウェアに異常情報を通知させ、
前記ミドルウェアは、取得した前記ソフトウェアコンポーネントの前記異常情報を、異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させ、前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させ、他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる計算機。
【請求項２】
情報伝達媒体を介して他の計算機と互いに通信可能に接続され、記憶手段を備える計算機であって、
前記記憶手段は、オペレーティングシステム、ミドルウェア、ソフトウェアコンポーネント及び仲介コンポーネントを記憶しており、
前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記仲介コンポーネントは、前記ソフトウェアコンポーネントを子プロセスとして起動させ、前記ソフトウェアコンポーネントの可用性を管理する前記ミドルウェアに対し、前記ソフトウェアコンポーネントの異常情報を出力させ、
前記オペレーティングシステムは、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記オペレーティングシステムは前記仲介コンポーネントに前記異常情報を通知させ、
前記ミドルウェアは、前記仲介コンポーネントを介して取得した前記異常情報を、異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させ、前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させ、他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる計算機。
【請求項３】
請求項１または請求項２に記載の複数の計算機を備える計算機システムであって、
一の前記計算機において前記ソフトウェアコンポーネントがアクティブ状態で動作している場合に、該ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントが少なくともいずれか一の他の前記計算機においてスタンバイ状態で動作されており、
アクティブ状態又はスタンバイ状態で動作している少なくとも一つの前記ソフトウェアコンポーネントに障害が発生した場合に、前記ミドルウェアは、同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に、前記異常情報を通知させる計算機システム。
【請求項４】
一の前記計算機が、前記ソフトウェアコンポーネントをアクティブ状態で動作させ、
他の複数の前記計算機が、前記一の計算機においてアクティブ状態で動作させている前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントをスタンバイ状態で動作させる請求項３に記載の計算機システム。
【請求項５】
アクティブ状態で動作している前記ソフトウェアコンポーネントに障害が発生し、障害が発生した該ソフトウェアコンポーネントをスタンバイ状態で動作させている前記ソフトウェアコンポーネントが、スタンバイ状態からアクティブ状態に切り替えられた後、
障害が発生した前記ソフトウェアコンポーネントをアクティブ状態で動作させている計算機から物理的又は論理的に距離が離れているセグメントの前記計算機が、障害が発生した前記ソフトウェアコンポーネントを新たにスタンバイ状態で起動する計算機として選定される請求項３または請求項４に記載の計算機システム。
【請求項６】
情報伝達媒体を介して他の計算機と互いに通信可能に接続され、オペレーティングシステム、ミドルウェア、及びソフトウェアコンポーネントを記憶している記憶手段を備える計算機による計算機管理方法であって、
前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記ミドルウェアが、前記ソフトウェアコンポーネントを子プロセスとして起動させる過程と、
前記オペレーティングシステムは、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記オペレーティングシステムは前記ミドルウェアへ異常情報を通知させる過程と、
前記ミドルウェアは、取得した前記ソフトウェアコンポーネントの前記異常情報を異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる過程と、
前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる過程と、を有し、
他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる計算機管理方法。
【請求項７】
情報伝達媒体を介して他の計算機と互いに通信可能に接続され、オペレーティングシステム、ミドルウェア、及びソフトウェアコンポーネントを記憶している記憶手段を備える計算機に実行させるための計算機管理プログラムであって、
前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記ミドルウェアによって、前記ソフトウェアコンポーネントを子プロセスとして起動させる処理と、
前記オペレーティングシステムによって、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記ミドルウェアに対して異常情報を通知させる処理と、
前記ミドルウェアによって、前記オペレーティングシステムから通知される前記ソフトウェアコンポーネントの前記異常情報が取得されると、前記ミドルウェアによって、取得した前記異常情報を異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる処理と、
前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる処理と、を有し、
他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる、計算機に実行させるための計算機管理プログラム。
【請求項８】
情報伝達媒体を介して他の計算機と互いに通信可能に接続され、オペレーティングシステム、ミドルウェア、ソフトウェアコンポーネント及び仲介コンポーネントを記憶している記憶手段を備える計算機の計算機管理方法であって、
前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記仲介コンポーネントは、前記ソフトウェアコンポーネントを子プロセスとして起動させ、前記ソフトウェアコンポーネントの可用性を管理するミドルウェアに対し、前記ソフトウェアコンポーネントの異常情報を出力させる過程と、
前記オペレーティングシステムは、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記オペレーティングシステムは前記仲介コンポーネントに前記異常情報を通知させる過程と、
前記ミドルウェアは、前記仲介コンポーネントを介して取得した前記ソフトウェアコンポーネントの前記異常情報を、異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる過程と、
前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる過程と、を有し、
他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる計算機管理方法。
【請求項９】
情報伝達媒体を介して他の計算機と互いに通信可能に接続され、オペレーティングシステム、ミドルウェア、ソフトウェアコンポーネント及び仲介コンポーネントを記憶している記憶手段を備える計算機に実行させるための計算機管理プログラムであって、
前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記仲介コンポーネントによって、前記ソフトウェアコンポーネントを子プロセスとして起動させ、前記ソフトウェアコンポーネントの可用性を管理する前記ミドルウェアに対し、前記ソフトウェアコンポーネントの異常情報を出力させる処理と、
前記オペレーティングシステムによって、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記仲介コンポーネントに対して前記異常情報を通知させる処理と、
前記ミドルウェアによって、前記仲介コンポーネントを介して取得した前記異常情報を、異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に対して通知させる処理と、
前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる処理と、を有し、
他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる、計算機に実行させるための計算機管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、計算機システムの可用性に関するものである。
【背景技術】
【０００２】
従来、計算機で動作しているソフトウェアコンポーネントを管理する可用性管理ミドルウェアは、オペレーティングシステムとソフトウェアコンポーネントとの間に介在し、オペレーティングシステムが把握しているソフトウェアコンポーネントの死活監視の結果をオペレーティングシステムに対して周期的に問い合わせることによって、ソフトウェアコンポーネントの死活情報を得ていた。また、複数の計算機を備える計算機システムにおいては、各計算機の可用性管理ミドルウェアが、オペレーティングシステムから得た死活情報を他の計算機と授受し、各計算機間のソフトウェアコンポーネントの死活情報を把握することによって、計算機システムの可用性向上に努めてきた。
また、特許文献１には、計算機システムの可用性を高める方法として、計算機単位で各計算機の負荷を監視し、負荷が増大した場合には、他の計算機に処理を実行させ、負荷分散することによって計算機システムの可用性を向上させる技術について開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５９５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の方法では、可用性管理ミドルウェアは、ソフトウェアコンポーネントの数に応じてオペレーティングシステムに対して死活情報の問い合わせをするため、ソフトウェアコンポーネントの数が多い場合に、可用性管理ミドルウェアにかかる死活情報の問い合わせにかかる処理負荷が多くなるという問題があった。また、上述した従来の方法では、オペレーティングシステムから得たソフトウェアコンポーネントの全ての死活情報を他の計算機に通知しており、計算機システムにおける各計算機を接続する情報伝達媒体に多くの負荷がかかるという問題があった。
【０００５】
本発明は、上記問題を解決するためになされたもので、ソフトウェアコンポーネントの障害監視にかかる処理負荷を低減することのできる計算機及び計算機システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は以下の手段を採用する。
本発明は、情報伝達媒体を介して他の計算機と互いに通信可能に接続され、記憶手段を備える計算機であって、前記記憶手段は、オペレーティングシステム、ミドルウェア、及びソフトウェアコンポーネントを記憶しており、前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記ミドルウェアは、前記ソフトウェアコンポーネントを子プロセスとして起動させ、前記オペレーティングシステムは、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記オペレーティングシステムは前記ミドルウェアに異常情報を通知させ、前記ミドルウェアは、取得した前記ソフトウェアコンポーネントの前記異常情報を、異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させ、前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させ、他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる計算機を提供する。
【０００７】
このような構成によれば、ミドルウェアがソフトウェアコンポーネントの親プロセスとなって、子プロセスであるソフトウェアコンポーネントを起動させると、オペレーティングシステムによって子プロセス（ソフトウェアコンポーネント）が監視され、子プロセス（ソフトウェアコンポーネント）の稼働状態に異常がある場合に、その異常情報がオペレーティングシステムから親プロセス（ミドルウェア）に通知される。また、異常情報は、ミドルウェアから他の計算機に通知される。
【０００８】
このように、オペレーティングシステムが、ソフトウェアコンポーネントの稼働状態を監視しており、ソフトウェアコンポーネントに異常が検出された場合には、異常情報をミドルウェアに通知する。これにより、従来のように、ソフトウェアコンポーネントの異常の有無を、ミドルウェアからオペレーティングシステムに対して周期的に問い合わせる場合と比較して、ミドルウェアのソフトウェアコンポーネント監視に要する処理負荷を低減することができる。また、ミドルウェアは、異常情報を取得した場合に他の計算機に通知するので、周期的に他の計算機と異常有無の情報を交換する場合と比較すると、情報伝達媒体にかかる負荷を低減することができる。
【０００９】
本発明は、情報伝達媒体を介して他の計算機と互いに通信可能に接続され、記憶手段を備える計算機であって、前記記憶手段は、オペレーティングシステム、ミドルウェア、ソフトウェアコンポーネント及び仲介コンポーネントを記憶しており、前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記仲介コンポーネントは、前記ソフトウェアコンポーネントを子プロセスとして起動させ、前記ソフトウェアコンポーネントの可用性を管理する前記ミドルウェアに対し、前記ソフトウェアコンポーネントの異常情報を出力させ、前記オペレーティングシステムは、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記オペレーティングシステムは前記仲介コンポーネントに前記異常情報を通知させ、前記ミドルウェアは、前記仲介コンポーネントを介して取得した前記異常情報を、異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させ、前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させ、他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる計算機を提供する。
【００１０】
このような構成によれば、仲介コンポーネントがソフトウェアコンポーネントの親プロセスとなって、子プロセスであるソフトウェアコンポーネントを起動させると、オペレーティングシステムによって子プロセス（ソフトウェアコンポーネント）が監視され、子プロセス（ソフトウェアコンポーネント）の稼働状態に異常がある場合に、その異常情報がオペレーティングシステムから親プロセス（仲介コンポーネント）を介してミドルウェアに通知される。また、異常情報は、ミドルウェアから他の計算機に通知される。
【００１１】
このように、オペレーティングシステムが、ソフトウェアコンポーネントの稼働状態を監視しており、ソフトウェアコンポーネントに異常が検出された場合には、異常情報を仲介コンポーネントを介して、ミドルウェアに通知する。これにより、従来のように、ソフトウェアコンポーネントの異常の有無を、ミドルウェアからオペレーティングシステムに対して周期的に問い合わせる場合と比較して、ソフトウェアコンポーネントの監視に要するミドルウェアの処理負荷を低減することができる。また、例えば、ミドルウェアに対し、ソフトウェアコンポーネントの親プロセスとさせるためのプログラム等の変更が困難である場合であっても、仲介コンポーネントを親プロセスとして取得したソフトウェアコンポーネントの異常情報をミドルウェアに通知させるので、容易にミドルウェアが異常情報を取得することができる。さらに、ミドルウェアは、異常情報を取得した場合に他の計算機に通知するので、周期的に他の計算機と異常有無の情報を交換する場合と比較すると、情報伝達媒体にかかる負荷を低減することができる。
【００１２】
上記計算機の前記ミドルウェアは、前記計算機の稼働状態を計算機死活情報として、前記コンピュータによって他の前記計算機に通知させることとしてもよい。
ミドルウェアは、ソフトウェアコンポーネントの異常情報とは独立して、計算機死活情
報を他の計算機に通知するので、各ミドルウェアにかかる処理の負荷を低減することがで
きる。
【００１３】
本発明は、上記いずれかに記載の複数の計算機を備える計算機システムであって、一の前記計算機において前記ソフトウェアコンポーネントがアクティブ状態で動作している場合に、該ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントが少なくともいずれか一の他の前記計算機においてスタンバイ状態で動作されており、アクティブ状態又はスタンバイ状態で動作している少なくとも一つの前記ソフトウェアコンポーネントに障害が発生した場合に、前記ミドルウェアは、同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に、前記異常情報を通知させる計算機システムを提供する。
【００１４】
障害が発生したソフトウェアコンポーネントと同一のソフトウェアコンポーネントを有する計算機を異常情報の通知先の計算機とするので、システムに備える計算機の個数によらず、情報伝達媒体に流通する情報量を低減することができる。また、障害が発生したソフトウェアコンポーネントと異なるソフトウェアコンポーネントを有する計算機のミドルウェアにかかる処理の負荷が低減される。
【００１５】
上記計算機システムの一の前記計算機が、前記ソフトウェアコンポーネントをアクティブ状態で動作させ、他の複数の前記計算機が、前記一の計算機においてアクティブ状態で動作させている前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントをスタンバイ状態で動作させることとしてもよい。
スタンバイ状態で動作させる計算機を複数備えるので、アクティブ状態で動作させる計算機に障害が発生し、１つの計算機がスタンバイ状態で動作させるソフトウェアコンポーネントをアクティブ状態に切り替えている間も、他の計算機において障害の発生したソフトウェアコンポーネントをスタンバイ状態で動作させることができる。このように、スタンバイ状態のソフトウェアコンポーネントを複数備えることにより、冗長性を確保することができる。
【００１６】
上記計算機システムにおいて、アクティブ状態で動作している前記ソフトウェアコンポーネントに障害が発生し、障害が発生した該ソフトウェアコンポーネントをスタンバイ状態で動作させている前記ソフトウェアコンポーネントが、スタンバイ状態からアクティブ状態に切り替えられた後、障害が発生した前記ソフトウェアコンポーネントをアクティブ状態で動作させている計算機から物理的又は論理的に距離が離れているセグメントの前記計算機が、障害が発生した前記ソフトウェアコンポーネントを新たにスタンバイ状態で起動する計算機として選定されることが好ましい。
【００１７】
このように、アクティブ状態のソフトウェアコンポーネントを動作させる計算機と、スタンバイ状態のソフトウェアコンポーネントを動作させる計算機とが、物理的又は論理的に距離が離れているセグメントに配置されているので、セグメント単位の物理的破壊等の比較的大規模な障害が発生した場合であっても、スタンバイ状態で動作させるソフトウェアコンポーネントの計算機により、障害を回復することができる。
【００１８】
本発明は、情報伝達媒体を介して他の計算機と互いに通信可能に接続され、オペレーティングシステム、ミドルウェア、及びソフトウェアコンポーネントを記憶している記憶手段を備える計算機による計算機管理方法であって、前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記ミドルウェアが、前記ソフトウェアコンポーネントを子プロセスとして起動させる過程と、前記オペレーティングシステムは、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記オペレーティングシステムは前記ミドルウェアへ異常情報を通知させる過程と、前記ミドルウェアは、取得した前記ソフトウェアコンポーネントの前記異常情報を異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる過程と、前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる過程と、を有し、他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる計算機管理方法を提供する。
【００１９】
本発明は、情報伝達媒体を介して他の計算機と互いに通信可能に接続され、オペレーティングシステム、ミドルウェア、及びソフトウェアコンポーネントを記憶している記憶手段を備える計算機に実行させるための計算機管理プログラムであって、前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記ミドルウェアによって、前記ソフトウェアコンポーネントを子プロセスとして起動させる処理と、前記オペレーティングシステムによって、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記ミドルウェアに対して異常情報を通知させる処理と、前記ミドルウェアによって、前記オペレーティングシステムから通知される前記ソフトウェアコンポーネントの前記異常情報が取得されると、前記ミドルウェアによって、取得した前記異常情報を異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる処理と、前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる処理と、を有し、他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる、計算機に実行させるための計算機管理プログラムを提供する。
【００２０】
本発明は、情報伝達媒体を介して他の計算機と互いに通信可能に接続され、オペレーティングシステム、ミドルウェア、ソフトウェアコンポーネント及び仲介コンポーネントを記憶している記憶手段を備える計算機の計算機管理方法であって、前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記仲介コンポーネントは、前記ソフトウェアコンポーネントを子プロセスとして起動させ、前記ソフトウェアコンポーネントの可用性を管理するミドルウェアに対し、前記ソフトウェアコンポーネントの異常情報を出力させる過程と、前記オペレーティングシステムは、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記オペレーティングシステムは前記仲介コンポーネントに前記異常情報を通知させる過程と、前記ミドルウェアは、前記仲介コンポーネントを介して取得した前記ソフトウェアコンポーネントの前記異常情報を、異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる過程と、前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる過程と、を有し、他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる計算機管理方法を提供する。
【００２１】
本発明は、情報伝達媒体を介して他の計算機と互いに通信可能に接続され、オペレーティングシステム、ミドルウェア、ソフトウェアコンポーネント及び仲介コンポーネントを記憶している記憶手段を備える計算機に実行させるための計算機管理プログラムであって、前記ソフトウェアコンポーネントと前記オペレーティングシステムとの間に介在し、前記ソフトウェアコンポーネントの親プロセスとして起動される前記仲介コンポーネントによって、前記ソフトウェアコンポーネントを子プロセスとして起動させ、前記ソフトウェアコンポーネントの可用性を管理する前記ミドルウェアに対し、前記ソフトウェアコンポーネントの異常情報を出力させる処理と、前記オペレーティングシステムによって、前記ソフトウェアコンポーネントの稼働状態を監視させ、前記ソフトウェアコンポーネントに異常が検出された場合に、前記仲介コンポーネントに対して前記異常情報を通知させる処理と、前記ミドルウェアによって、前記仲介コンポーネントを介して取得した前記異常情報を、異常が検出された前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に対して通知させる処理と、前記計算機の稼働状態を計算機死活情報として監視しており、前記計算機死活情報を自身の有する前記ソフトウェアコンポーネントと同一の前記ソフトウェアコンポーネントを動作させている他の前記計算機に通知させる処理と、を有し、他の前記計算機に対し、前記ソフトウェアコンポーネントの前記異常情報と前記計算機死活情報とをそれぞれ望ましいタイミングで通知させる、計算機に実行させるための計算機管理プログラムを提供する。
【発明の効果】
【００２２】
本発明は、ソフトウェアコンポーネントの障害監視にかかる処理負荷を低減することができるという効果を奏する。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態に係る計算機システムの主要機能の構成を示した図である。
【図２】第１の実施形態に係る計算機の概略構成を示した図である。
【図３】第１の実施形態に係る計算機の主要機能の構成を示した図である。
【図４】可用性管理ミドルウェアとソフトウェアコンポーネントとの関係を示した図である。
【図５】計算機の死活情報の通知を説明するための図である。
【図６】本発明の第１の実施形態の変形例における可用性管理ミドルウェアとソフトウェアコンポーネントとの関係を示した図である。
【図７】本発明の第２の実施形態に係る計算機システムにおけるソフトウェアコンポーネントのアクティブ状態とスタンバイ状態との切り替えを説明するための図である。
【発明を実施するための形態】
【００２４】
以下に、本発明に係る計算機及び計算機システムの一実施形態について、図面を参照して説明する。
〔第１の実施形態〕
以下、本発明の第１の実施形態について、図１を用いて説明する。
図１に示されるように、本実施形態に係る計算理システム２０は、複数の計算機３ａ，３ｂ，３ｃ、及び中央管理装置１とを備えている。各計算機３ａ，３ｂ，３ｃ、及び中央管理装置１は、互いに情報伝達媒体２を介して接続されており、双方向通信が可能な構成とされている。以下特に明記しない場合には、計算機は計算機３として記述する。また、本実施形態においては、計算機３は３個であることを例に挙げて説明するが、計算機システム２０が備える計算機の個数は限定されない。
【００２５】
図２は、本実施形態に係る計算機システム２０の計算機３の概略構成を示したブロック図である。図２に示すように、本実施形態に係る計算機３は、いわゆるコンピュータシステムであり、ＣＰＵ（中央演算処理装置）１１、ＲＡＭ（Random Access Memory）等の主記憶装置１２、補助記憶装置１３、キーボードやマウスなどの入力装置１４、及びディスプレイやプリンタなどの出力装置１５、外部の機器と通信を行うことにより情報の授受を行う通信装置１６などで構成されている。補助記憶装置１３は、コンピュータ読取可能な記録媒体であり、例えば、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等である。
【００２６】
また、図１は、本発明の計算機３における主要機能の構成を示した図である。図１に示されるように、計算機３は、可用性管理ミドルウェア（ミドルウェア）３１と、オペレーティングシステム（ＯＳ）３２、ソフトウェアコンポーネントＡ，Ｂ，Ｃ，Ｄとを備えており、可用性管理ミドルウェア（ミドルウェア）３１と、オペレーティングシステム（ＯＳ）３２、ソフトウェアコンポーネントＡ，Ｂ，Ｃ，Ｄは、補助記憶装置（記憶手段）１３に記憶されている。
次に、計算機３が備える各部において実行される処理内容について図１を参照して説明する。
計算機３は、ソフトウェアコンポーネントが一つの計算機３においてアクティブ状態で動作している場合に、このソフトウェアコンポーネントと同一のソフトウェアコンポーネントを他の少なくとも一つの計算機３においてスタンバイ状態で動作させている。
【００２７】
例えば、計算機３ａは、ソフトウェアコンポーネントＡをアクティブ状態で動作させており、計算機３ｃはソフトウェアコンポーネントＡをスタンバイ状態で動作させている。アクティブ状態とは、ソフトウェアコンポーネントが稼動している状態である。一方、スタンバイ状態とは、通常は予備のコンポーネントとして待機しており、アクティブ状態のコンポーネントが使用不可、或いは、停止された場合に、アクティブ状態に代えて速やかに動作を継続して行わせるための準備状態である。
【００２８】
また、ソフトウェアコンポーネントがアクティブ状態で動作している計算機は、同一ソフトウェアコンポーネントがスタンバイ状態で動作している計算機に対し、アクティブ状態で動作しているソフトウェアコンポーネントが保有している情報を定期的に通知しており、アクティブ状態で動作しているソフトウェアコンポーネントと、スタンバイ状態で動作しているソフトウェアコンポーネントとの間において、保有する情報は共通となっている。このように、同じソフトウェアコンポーネントを複数の計算機に搭載し、アクティブ状態とスタンバイ状態で動作させることにより、冗長性が確保され、アクティブ状態で動作させる計算機の切り替えを速やかに行うことが可能となる。以下特に明記しない場合には、アクティブ状態のソフトウェアコンポーネント及びスタインバイ状態のソフトウェアコンポーネントを単に「ソフトウェアコンポーネント」と記述する。
【００２９】
本実施形態においては、図１に示されているように、計算機３ａにおいて、ソフトウェアコンポーネントＡをアクティブ状態で動作させ、ソフトウェアコンポーネントＣをスタンバイ状態で動作させ、計算機３ｂにおいてソフトウェアコンポーネントＢをスタンバイ状態で動作させ、ソフトウェアコンポーネントＣをアクティブ状態で動作させ、計算機３ｃにおいてソフトウェアコンポーネントＡをスタンバイ状態で動作させ、中央管理装置１において、ソフトウェアコンポーネントＢをアクティブ状態で動作させている状態を想定している。
【００３０】
また、計算機システム２０内の各計算機３を集中管理する機能を有するソフトウェアコンポーネントを、中央管理コンポーネントとする。本実施形態においては、中央管理コンポーネントをアクティブ状態で動作させている計算機を中央管理装置１とする。なお、計算機３は、中央管理コンポーネントをスタンバイ状態で動作させており、アクティブ状態で動作する中央管理コンポーネントに障害が発生した場合に、アクティブ状態に切り替えられる。
【００３１】
可用性管理ミドルウェア３１は、ソフトウェアコンポーネントとオペレーティングシステム３２との間に介在し、ソフトウェアコンポーネントを子プロセスとして起動させ、ソフトウェアコンポーネントの親プロセスとなる（図３参照）。具体的には、可用性管理ミドルウェア３１は、オペレーティングシステム３２が把握しているソフトウェアコンポーネントの異常情報をオペレーティングシステム３２に対して周期的に問い合わせる機能に加えて、ソフトウェアコンポーネントを子プロセスとして起動し、ソフトウェアコンポーネントの親プロセスとなる機能を備えている。
【００３２】
また、可用性管理ミドルウェア３１は、ソフトウェアコンポーネントの異常情報を取得すると、ソフトウェアコンポーネントの異常情報を他の計算機３に通知する（異常通知）。具体的には、一の計算機においてソフトウェアコンポーネントがアクティブ状態で動作している場合に、このソフトウェアコンポーネントと同一のソフトウェアコンポーネントを少なくともいずれか一の他の計算機においてスタンバイ状態で動作させており、アクティブ状態又はスタンバイ状態で動作している少なくとも一つのソフトウェアコンポーネントに障害が発生した場合に、可用性管理ミドルウェア３１は、同一のソフトウェアコンポーネントを動作させている他の計算機に、異常情報を通知する。
【００３３】
例えば、図１の計算機３ａを例に挙げて説明する。図１に示されるように、計算機３ａにおいてソフトウェアコンポーネントＡがアクティブ状態で稼働しており、計算機３ａの可用性管理ミドルウェア３１が、ソフトウェアコンポーネントＡの異常情報を取得した場合に、同一のソフトウェアコンポーネントＡをスタンバイ状態で稼働している計算機３ｃに対し、ソフトウェアコンポーネントＡの異常情報を通知する。
【００３４】
また、例えば、アクティブ状態で動作されているソフトウェアコンポーネントに障害が発生した場合に、異常情報を取得した可用性管理ミドルウェア３１は、自身の管理するソフトウェアコンポーネントのうち、異常情報の通知がなされたソフトウェアコンポーネントをスタンバイ状態からアクティブ状態に切り替える（障害回復）。このように、アクティブ状態で動作するソフトウェアコンポーネントに障害が発生しても、可用性管理ミドルウェア３１によってスタンバイ状態からアクティブ状態への切り替えが行われることによって、速やかに障害を回復させることができる。
【００３５】
さらに、可用性管理ミドルウェア３１は、図４に示されるように、ソフトウェアコンポーネントＡの起動要求を取得した場合には、各ソフトウェアコンポーネントを起動させる情報であるコンポーネント起動情報ファイルから、ソフトウェアコンポーネントＡの起動に必要な情報を読み出すとともに環境や因数を設定し、ソフトウェアコンポーネントＡを自身の子プロセスとして起動する。例えば、ソフトウェアコンポーネントの障害発生時にスタンバイ状態のソフトウェアコンポーネントがアクティブ状態に切り替えられた後に、中央管理装置１から送信された起動要求を取得した可用性管理ミドルウェア３１は、新たにスタンバイ状態のソフトウェアコンポーネントを生成する。これにより、ソフトウェアコンポーネントの冗長性を回復させることができる。
【００３６】
また、可用性管理ミドルウェア３１は、計算機の状態（計算機死活情報）を監視しており、自身の有するソフトウェアコンポーネントと同一のソフトウェアコンポーネントを動作させている他の計算機に、計算機の状態を通知する。計算機死活情報とは、計算機自身が正常に稼働しているか否かを含む情報である。例えば、図５の計算機３ｂを例に挙げて説明する。図５に示されるように、計算機３ｂにおいてソフトウェアコンポーネントＢがスタンバイ状態で稼働しており、ソフトウェアコンポーネントＣがアクティブ状態で稼働している。このような場合に、計算機３ｂの可用性管理ミドルウェア３１は、計算機３ｂの計算機死活情報を、ソフトウェアコンポーネントＢを（アクティブ状態で）稼働させる中央管理装置１と、ソフトウェアコンポーネントＣを（スタンバイ状態で）稼働させる計算機３ａとに対し通知する。
【００３７】
このように、可用性管理ミドルウェア３１は、他の計算機の可用性管理ミドルウェア３１に対し、ソフトウェアコンポーネントの異常情報と計算機の死活情報とをそれぞれ分けて通知する。これにより、それぞれの情報が通知されるのに望ましいタイミングで、かつ、最低限の情報量で通知されるので、情報伝達媒体２にかかる負荷を低減することができる。
【００３８】
オペレーティングシステム３２は、ソフトウェアコンポーネントの状態を監視し、ソフトウェアコンポーネントに異常が検出された場合に、可用性管理ミドルウェア３１に異常情報を通知する。具体的には、オペレーティングシステム３２は、計算機３上に有する子プロセスであるソフトウェアコンポーネントの異常を監視しており、監視結果に異常（例えば、ソフトウェアコンポーネントが稼働していることが正常であるとした場合に、稼働していない（ダウンしている）状態を検出する等の死活情報）を検出した場合には、該当するソフトウェアコンポーネントに異常がある旨を異常情報として、親プロセスである可用性管理ミドルウェア３１に通知する。このように、オペレーティングシステム３２は、ソフトウェアコンポーネント（子プロセス）に異常が検出された場合にのみ、親プロセスである可用性管理ミドルウェア３１に対し、自主的に通知する。
【００３９】
中央管理装置１は、計算機のうち少なくともいずれか１つの計算機であって、可用性管理ミドルウェア３１に対して、ソフトウェアコンポーネントの起動及び停止を指示する中央管理コンポーネントを備えている。また、中央管理装置１は、アクティブ状態で動作しているソフトウェアコンポーネントに障害が発生し、障害が発生したソフトウェアコンポーネントをスタンバイ状態で動作させているソフトウェアコンポーネントが、スタンバイ状態からアクティブ状態に切り替えられた後、障害の発生したソフトウェアコンポーネントを新たにスタンバイ状態で動作させる計算機を選定する。
より好ましくは、中央管理装置１は、障害の発生したソフトウェアコンポーネントをアクティブ状態で動作させている計算機と、物理的又は論理的に距離が離れているセグメントに配置される計算機を、新たにソフトウェアコンポーネントをスタンバイ状態で動作させる計算機として選定することが好ましい。
【００４０】
次に、本実施形態に係る計算機システム２０の作用について説明する。
中央管理装置１から各計算機３ａ，３ｂ，３ｃ、及び中央管理装置１自身のそれぞれの可用性管理ミドルウェア３１に対し、それぞれ動作させるソフトウェアコンポーネントの種類、ソフトウェアコンポーネントの状態（アクティブ状態又はスタンバイ状態）等の情報が、起動要求として通知される。例えば、計算機３ａの可用性管理ミドルウェア３１において、ソフトウェアコンポーネントＡの起動要求が取得されると、コンポーネント起動情報ファイルからソフトウェアコンポーネントＡの起動に必要な情報が読み出されるとともに、環境や因数が設定され、ソフトウェアコンポーネントＡが可用性管理ミドルウェア３１の子プロセスとして起動される。
【００４１】
また、同様の処理が施され、各計算機３ａ，３ｂ，３ｃ及び中央管理装置１において、それぞれ起動要求に応じたソフトウェアコンポーネントが起動される（例えば、図１参照）。なお、各計算機３における処理は同様であるため、ここでは、ソフトウェアコンポーネントＡに着目して説明する。
アクティブ状態で稼働するソフトウェアコンポーネントＡの死活監視を行っている計算機３ａのオペレーティングシステム３２において、ソフトウェアコンポーネントＡの異常が検出されると、オペレーティングシステム３２から可用性管理ミドルウェア３１に対して異常情報が通知される。異常情報が可用性管理ミドルウェア３１に取得されると、可用性管理ミドルウェア３１から、中央管理装置１及び同一のソフトウェアコンポーネントＡをスタンバイ状態で稼働させている計算機３ｃのそれぞれに対し、ソフトウェアコンポーネントＡの異常情報が通知される。
【００４２】
計算機３ｃにおいて、ソフトウェアコンポーネントＡの異常情報が取得されると、スタンバイ状態で動作されているソフトウェアコンポーネントＡが、スタンバイ状態からアクティブ状態に切り替えられる。また、中央管理装置１において、ソフトウェアコンポーネントＡの異常情報が取得され、ソフトウェアコンポーネントＡがスタンバイ状態からアクティブ状態に切り替えられたことが検出されると、新たにソフトウェアコンポーネントＡをスタンバイ状態で動作させる計算機３の選定が行われる。新たにソフトウェアコンポーネントＡをスタンバイ状態で動作させる計算機として選定された計算機３の可用性管理ミドルウェア３１に対し、中央管理装置１からソフトウェアコンポーネントＡをスタンバイ状態で動作させる起動要求が通知される。
【００４３】
以上説明してきたように、本実施形態に係る計算機３及び計算機システム２０によれば、可用性管理ミドルウェア３１がソフトウェアコンポーネントの親プロセスとなって、子プロセスであるソフトウェアコンポーネントを起動させると、オペレーティングシステム３２によって子プロセス（ソフトウェアコンポーネント）が監視され、子プロセス（ソフトウェアコンポーネント）の稼働状態に異常がある場合に、その異常情報がオペレーティングシステムから親プロセスである可用性管理ミドルウェア３１に通知される。また、この異常情報は、可用性管理ミドルウェア３１から他の計算機３に通知される。
【００４４】
これにより、従来のように、ソフトウェアコンポーネントの異常の有無を、ミドルウェアからオペレーティングシステムに対して周期的に問い合わせる場合と比較して、可用性管理ミドルウェア３１のソフトウェアコンポーネントの監視に要する処理負荷を低減することができる。また、可用性管理ミドルウェア３１は、異常情報を取得した場合に、その異常情報のソフトウェアコンポーネントと関係する他の計算機に通知するので、周期的に他の計算機３と異常有無の情報を交換する場合と比較すると、情報伝達媒体２にかかる負荷を低減することができる。
また、計算機３の死活情報は、計算機３が有するソフトウェアコンポーネントと同一のソフトウェアコンポーネントを有する計算機３に対してのみ通知されるので、計算機３の死活情報の情報量が低減し、情報伝達媒体２にかかる負荷が低減される。
【００４５】
〔変形例〕
また、本実施形態においては、子プロセスであるソフトウェアコンポーネントの親プロセスは、可用性管理ミドルウェア３１とすることとして説明していたが、これに限定されない。例えば、可用性管理ミドルウェア３１を親プロセスにすることに代えて、図６に示されるように、ソフトウェアコンポーネントの親プロセスとする仲介コンポーネント３３を設けることとしてもよい。仲介コンポーネント３３を設ける場合には、オペレーティングシステム３２が把握した子プロセスのソフトウェアコンポーネントの異常情報を、親プロセスである仲介コンポーネント３３に出力させ、さらに、仲介コンポーネント３３から可用性管理ミドルウェア３１に異常情報を通知する。
【００４６】
このように、仲介コンポーネント３３を設けることによって、例えば、可用性管理ミドルウェア３１が複雑な構造等であり、可用性管理ミドルウェア３１にソフトウェアコンポーネントの親プロセスにさせる機能を持たせることが困難である場合であっても、簡便にソフトウェアコンポーネントの親コンポーネントを生成し、オペレーティングシステムが取得したソフトウェアコンポーネントの異常情報を可用性管理ミドルウェア３１に自主的に通知することができる。
【００４７】
なお、本実施形態においては、ソフトウェアコンポーネントの起動要求は、中央管理コンポーネントから出力されることとして説明していたが、これに限定されない。例えば、任意のソフトウェアコンポーネントから出力されることとしてもよい。
【００４８】
〔第２の実施形態〕
次に、本発明の第２の実施形態について、図７を用いて説明する。
本実施形態の計算機システムが第１の実施形態と異なる点は、スタンバイ状態で稼働させるソフトウェアコンポーネントを複数設けている点である。以下、本実施形態の計算機システムについて、第１の実施形態と共通する点については説明を省略し、異なる点について主に説明する。
【００４９】
中央管理装置は、計算機システム全体のコンポーネント配置や負荷状況を監視し、それぞれのソフトウェアコンポーネントをスタンバイ状態からアクティブ状態に切り替えるアクティブ化優先度を予め算出し、各計算機３の可用性管理ミドルウェア３１に設定する。また、各スタンバイ状態のソフトウェアコンポーネントのアクティブ化優先度は、計算機システム内のコンポーネント配置や負荷状況に変化があった場合に、中央管理装置において再計算され、各計算機３の可用性管理ミドルウェア３１に再設定される。
なお、本実施形態においては、アクティブ化優先度は、負荷の低い計算機に対して優先度を高く設定することとして説明するが、これに限定されない。例えば、予め規定される優先順位に基づいて選定することとしてもよい。
【００５０】
可用性管理ミドルウェア３１は、ソフトウェアコンポーネントの異常通知を取得すると、異常通知を受けたソフトウェアコンポーネントのアクティブ化優先度を検出し、アクティブ化優先度に基づいて、ソフトウェアコンポーネントに対する処理を行う。具体的には、可用性管理ミドルウェア３１は、異常通知を取得したソフトウェアコンポーネントのアクティブ化優先度が「最優先」を示す状態である場合には、そのソフトウェアコンポーネントをスタンバイ状態からアクティブ状態に切り替える。一方、可用性管理ミドルウェア３１は、異常通知を取得したソフトウェアコンポーネントのアクティブ化優先度が「最優先」でない状態である場合には、そのソフトウェアコンポーネントのスタンバイ状態のアクティブ化優先度を１つ上げる。
【００５１】
次に、本実施形態に係る計算機システムの作用について説明する。
まず、図７に示されるように、計算機３ａはソフトウェアコンポーネント（例えば、ソフトウェアコンポーネントＡ）をアクティブ状態で稼働させており、計算機３ｂ、３ｃはそれぞれソフトウェアコンポーネント（例えば、ソフトウェアコンポーネントＡ）をスタンバイ状態で稼働させている（ステップＳＡ１）。また、計算機３ｂは、ソフトウェアコンポーネントＡのアクティブ化優先度は「最優先」とされており、計算機３ｃのソフトウェアコンポーネントＡのアクティブ化優先度は「最優先」とされていない場合を例に挙げて説明する。
【００５２】
ここで、計算機３ａのアクティブ状態のソフトウェアコンポーネントに異常が生じた場合、そのソフトウェアコンポーネントの異常情報が、同一のソフトウェアコンポーネントを有する計算機３ｂ及び計算機３ｃに通知されるとともに、その異常情報は中央管理装置（図示略）に通知される。
計算機３ｂの可用性管理ミドルウェア３１は、異常情報を取得すると、アクティブ化優先度に基づいて、ソフトウェアコンポーネントＡをスタンバイ状態からアクティブ状態に切り替える（ステップＳＡ２）。また、計算機３ｃの可用性管理ミドルウェア３１は、ソフトウェアコンポーネントＡのアクティブ化優先度の優先度を１つ上げる。
【００５３】
中央管理装置において、計算機３ｂのソフトウェアコンポーネントのアクティブ状態への切り替え完了が検出されると、続いて、上記アクティブ状態の切り替えを行ったソフトウェアコンポーネントをスタンバイ状態で稼働させる新たな計算機を選定する。
新たにスタンバイ状態で稼働させる計算機は、異常の発生した計算機３ａを除き、ソフトウェアコンポーネントがアクティブ状態で動作する計算機３ｂとは物理的又は論理的に距離が離れた（計算機３ｂとはセグメントが異なる）計算機である計算機３ｄに選定される。
【００５４】
中央管理装置は、計算機３ｄに対し、ソフトウェアコンポーネントをスタンバイ状態で起動させる生成指示を出力する。計算機３ｄは、ソフトウェアコンポーネントをスタンバイ状態で起動させる（ステップＳＡ３）。また、計算機３ｄにおいて、ソフトウェアコンポーネントが新たなスタンバイ状態で稼働した後、計算機３ｂのアクティブ状態のソフトウェアコンポーネントと計算機３ｄのスタンバイ状態のソフトウェアコンポーネントとが処理情報を同期させ、冗長性が回復される（ステップＳＡ４）。
【００５５】
なお、本実施形態においては、新たにスタンバイ状態で稼働させるソフトウェアコンポーネントは、物理的又は論理的に距離が離れた計算機を優先的に選定することとしていたが、これに限定されない。例えば、負荷の低い計算機を優先的に選定することとしてもよいし、予め規定される優先順位に基づいて選定することとしてもよい。
【符号の説明】
【００５６】
１  中央管理装置
２  情報伝達媒体
３ａ、３ｂ、３ｃ  計算機
２０  計算機システム
３１  可用性管理ミドルウェア
３２  オペレーティングシステム
【図１】
0005839774.tif 000002
【図２】
0005839774.tif 000003
【図３】
0005839774.tif 000004
【図４】
0005839774.tif 000005
【図５】
0005839774.tif 000006
【図６】
0005839774.tif 000007
【図７】
0005839774.tif 000008