(57)【要約】装置および方法は、メンバのクラスタの構成を管理することを対象とするものである。本発明は、クラスタ内のメンバ全体にわたって一律に構成への変更を適用することを含む、極小クラスタ構成アプローチを用いる。クラスタ内の各メンバは、トランザクションモードに初期化される。すべてのメンバがトランザクションモードである場合、各メンバに変更が提供され、各メンバは受信した変更を評価する。変更がいずれかのメンバに受け入れ不可能であると判定された場合、該変更は全体的に受け入れ不可能であると判定され、クラスタ内のすべてのメンバについて却下される。【選択図】図１
2008502972.tif 000002
【特許請求の範囲】
【請求項１】
クラスタへの構成変更を管理する方法であって、
前記構成変更を受信するステップと、
前記クラスタの各メンバに前記構成変更を送信するステップと、
前記構成変更が前記クラスタのいずれかのメンバにおいて受け入れ不可能か否かを判定し、前記構成変更が前記クラスタのいずれかのメンバにおいて受け入れ不可能であると判定された場合には、前記構成変更を無視するよう各クラスタメンバに指示するステップと、
前記クラスタの各メンバが前記構成変更は受け入れ可能であることを示す場合、前記構成変更を適用するよう前記クラスタの各メンバに指示するステップと、
を含む、クラスタへの構成変更を管理する方法。
【請求項２】
前記構成変更を送信するステップは、前記クラスタの各メンバがトランザクションモードであるか否かを判定し、各メンバが前記トランザクションモードである場合、前記構成変更を送信するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記構成変更を送信するステップは、前記クラスタの各メンバに対してトランザクションモードへの遷移要求を送信するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記クラスタの少なくとも1つのメンバはモバイル機器である、請求項１に記載の方法。
【請求項５】
前記構成変更は、アドレス変更、ホスト構成変更、ソフトウェア変更、ファームウェア変更、パッチ、および時間変更のうち少なくとも1つをさらに含む、請求項１に記載の方法。
【請求項６】
前記クラスタの各メンバが前記構成変更は受け入れ可能であることを示すことは、前記クラスタの各メンバがメッセージを送信することをさらに含む、請求項1に記載の方法。
【請求項７】
前記メッセージはネットワークプロトコルを用いる、請求項6に記載の方法。
【請求項８】
ネットワーク上においてクラスタへの構成変更を管理するための装置であって、
前記クラスタのメンバへ情報を受信および送信するためのトランシーバと、
変更マネージャであって、
前記クラスタの各メンバがトランザクションモードであるか否かを判定し、前記クラスタの各メンバがトランザクションモードである場合には、
前記クラスタの各メンバに前記構成変更を送信し、
前記構成変更が前記クラスタの少なくとも1つのメンバにおいて受け入れ不可能か否かを判定し、前記構成変更が前記クラスタの少なくとも１つのメンバにおいて受け入れ不可能であると判定された場合には、前記構成変更を無視するよう各クラスタメンバに指示し、
前記クラスタの各メンバが前記構成変更は受け入れ可能であることを示す場合、前記構成変更に応じるよう前記クラスタの各メンバに指示することを含む、アクションを実行するよう構成される変更マネージャと、
を備える、装置。
【請求項９】
セキュアな暗号化プロトコルを用いる、前記クラスタの少なくとももう1つのメンバと通信を行うようさらに構成される、請求項８に記載の装置。
【請求項１０】
前記装置はモバイル機器として動作するようさらに構成される、請求項8に記載の装置。
【請求項１１】
前記クラスタの各メンバがトランザクションモードであるか否かを判定するステップは、前記クラスタの各メンバからメッセージを受信するステップをさらに含む、請求項8に記載の装置。
【請求項１２】
前記クラスタは少なくとも1つのネットワーク管理サービスを提供するよう構成される、請求項8に記載の装置。
【請求項１３】
前記クラスタの少なくとももう1つのメンバはロック操作を実行するよう構成される、請求項8に記載の装置。
【請求項１４】
ネットワーク上においてクラスタへの構成変更を管理するための変調データ信号であって、
クラスタマネージャにおいて前記構成変更を受信するアクションと、
前記クラスタの各メンバに前記構成変更を送信するアクションと、
前記クラスタマネージャが、前記構成変更は前記クラスタのいずれかのメンバにおいて受け入れ不可能か否かを判定することを可能にし、前記構成変更が前記クラスタのいずれかのメンバにおいて受け入れ不可能であると判定された場合には、各クラスタメンバは前記構成変更を無視するべきであることを示すメッセージを送信するアクションと、
前記クラスタマネージャが、前記構成変更は前記クラスタの各メンバに受け入れ可能であるか否かを判定することを可能にし、前記構成変更が前記クラスタの各メンバに受け入れ可能であると判定された場合には、前記構成変更に応じるよう前記クラスタの各メンバに指示するアクションと、
を含む、変調データ信号。
【請求項１５】
前記クラスタマネージャが前記構成変更は受け入れ可能であるか否かを判定することを可能にするアクションは、前記クラスタの各メンバからメッセージを受信するアクションを含む、請求項14に記載の変調データ信号。
【請求項１６】
前記クラスタマネージャが前記構成変更は受け入れ不可能であるか否かを判定することを可能にするアクションは、前記クラスタの各メンバ未満からメッセージを受信するアクションをさらに含む、請求項14に記載の変調データ信号。
【請求項１７】
前記クラスタの少なくとも1つのメンバおよび前記クラスタマネージャのうち少なくとも1つはモバイル機器として動作するよう構成される、請求項14に記載の変調データ信号。
【請求項１８】
前記クラスタの少なくとも１つのメンバは、ロックおよびトランザクション操作のうちの少なくとも1つを実行するよう構成される、請求項14に記載の変調データ信号。
【請求項１９】
前記構成変更は、アドレス変更、ホスト構成変更、バージョン変更、パッチ、および時間変更のうち少なくとも1つをさらに含む、請求項14に記載の変調データ信号。
【請求項２０】
ネットワーク上においてクラスタへの構成変更を管理するための装置であって、
前記クラスタの各メンバに前記構成変更を送信する手段と、
前記クラスタの各メンバから前記構成変更の受け入れの指示を受信する手段であって、その受け入れの指示が前記クラスタの少なくとも1つのメンバから受信されていない場合には、前記構成変更を無視するよう各クラスタメンバに指示する手段を用いる手段と、
前記クラスタの各メンバが前記構成変更は受け入れ可能であることを示すか否かを判断する手段であって、前記構成変更が受け入れ可能であると判定された場合には、前記構成変更に応じるよう前記クラスタの各メンバに指示する手段を用いる手段と、
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してコンピュータ管理に関し、より具体的には、クラスタ内のメンバの構成を管理するための方法およびシステムに関するが、これらに限定されない。
【背景技術】
【０００２】
ネットワークサービスを供給する機関の検討事項の1つに、コンピュータ設備が高度のアベイラビリティを提供することがある。この検討事項に対処するため、いくつかのコンピュータ機器をクラスタとして知られるグループに緩く結合する技術が利用可能となり、ネットワーク上においてサービス、リソース等のセットを提供することができるようになった。残りのクラスタメンバは、機能しなくなったクラスタメンバの作業を事実上切れ目なく共有するよう構成されるため、クラスタ内のコンピュータ機器（例えば、クラスタメンバ）の故障がクラスタの動作に影響を及ぼすことは少ない。
【０００３】
トラフィック管理に加えて、クラスタは、ドメインネームシステムサービス、ユーザ認証（Authentication）、認可（Authorization）、および課金（Accounting）（AAA）サービス、動作統計の収集等を含むその他のサービスを提供するよう構成される場合もある。これらのタイプのサービスは、一般に「ネットワーク管理」サービスとして知られている。
【０００４】
コンピュータ機器をクラスタに構成する作用を、クラスタ構成と称する。一般にクラスタ構成の一作用として考えられるものとして、クラスタの変更管理が挙げられる。本発明が行ったのは、クラスタ変更管理検討事項、その他に関するものである。
【発明の詳細な説明】
【０００５】
添付図面を参照し、本発明の限定的でなくかつ包括的でない実施例を説明する。図面中、類似の参照番号は、特別の定めのない限り、様々な図を通して類似の部分について言及するものである。
【０００６】
本発明をよりよく理解するため、以下の「発明の詳細な説明」を参照するが、これは添付の図面と関連して読まれるべきものである。
【０００７】
以下、本発明を、これの一部を形成し、例として本発明が実施され得る特定の典型的な実施例を示す添付の図面を参照し、より完全に説明する。しかしながら、本発明は、多くの異なる形態において具現化されることができ、本明細書において説明する実施例に限定されるものとして解釈されるべきではなく、むしろ、これらの実施例は、本開示が徹底的かつ完全になるように提供されるものであり、本発明の範囲を当業者に完全に伝えるであろう。とりわけ、本発明は、方法または機器として具現化され得る。したがって、本発明は、全面的にハードウェアの実施例、全面的にソフトウェアの実施例、またはソフトウェアおよびハードウェア側面を組み合わせた実施例の形態をとることができる。したがって、以下の詳細な説明は、限定的な意味でとられるべきものではない。
【０００８】
簡潔に述べると、本発明は、ネットワーク機器のクラスタの構成を管理するためのシステム、装置、および方法を対象とするものである。本発明は、クラスタ内のメンバ全体にわたって一律に構成への変更を適用する、極小クラスタ構成アプローチ（Atomic Cluster Configuration Approach）を用いる。クラスタ内の各メンバは、トランザクションモードへの遷移を指示される。すべてのクラスタメンバがトランザクションモードである場合、各クラスタメンバに変更が提供される。各クラスタメンバは、受信した変更を評価する。変更がクラスタメンバのいずれかにおいて受け入れ不可能であると判定された場合、その変更は全体的に受け入れ不可能であると判定され、クラスタ内のすべてのメンバについて却下される。構成変更がクラスタのすべてのメンバに受け入れ可能である場合、すべてのクラスタメンバは、1つにはその構成変更を適用することによって、構成変更に応じるよう指示される。
【動作環境例】
【０００９】
図1は、本発明が動作し得る環境の一実施例を説明している。本発明を実施するためにすべてのコンポーネントが必要とされるわけではなく、本発明の精神または範囲を逸脱することなく、コンポーネントの配置およびタイプにおける変形が行われ得る。
【００１０】
図に示すように、クラスタシステム100は、ローカルエリアネットワーク／ワイドエリアネットワーク（LAN／WAN）106および107、ならびにクラスタ101を含む。クラスタ101は、クラスタメンバ102〜104、およびクラスタマネージャ105を含む。クラスタ101は、LAN／WAN106および107と通信を行っている。
【００１１】
クラスタメンバ102〜104、およびクラスタマネージャ105は、複数のネットワークを通じてLAN／WAN106および107と通信を行うことができる。例えば、図示していないが、クラスタメンバ102〜104、クラスタマネージャ105およびLAN／WAN107の間には複数のネットワーク接続が存在し得る。複数のネットワーク接続は、さらにクラスタメンバ102〜104、クラスタマネージャ105およびLAN／WAN106の間にも存在し得る。しかしながら、明確にするために、図1にはネットワーク108のみを図示する。ネットワーク108は、事実上、イーサネット、802.3等を含むがこれらに限定されない、任意のローカルエリアネットワーク（LAN）を含んでもよい。一実施例において、ネットワーク108はプロトコルネットワークである。プロトコルネットワークは、事実上、その相互接続等を含む、クラスタプロトコルメッセージの交換に用いられる任意のネットワークを含む。
【００１２】
クラスタ101は、一般に、別の機器にサービス、リソース等へのアクセスを提供するために協力し得る緩く結合されたネットワーク機器を含むよう構成される。一実施例において、クラスタ101は、クラスタメンバ102〜104を適応するようにロードバランシングすることにより、メッセージスループットを最適化するよう構成される。クラスタ101はさらに、ドメインネームサービス、トラフィック管理等を含むがこれらに限定されない、その他のネットワーク管理サービスを提供するよう構成されてよい。
【００１３】
クラスタメンバ102〜104は、クラスタアーキテクチャ内のネットワーク上においてパケットを送信および受信できる任意のネットワーク機器であってよい。一実施例において、クラスタメンバ102〜104は、受信したメッセージパケットのためのプロトコルスタックプロセッサとして動作するよう構成される。該当する機器のセットは、一般に、パーソナルコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ネットワークPC等、クラスタ機器として動作するよう構成された有線通信媒体を使用して接続する機器を含んでよい。該当する機器のセットは、一般に、携帯電話、スマートフォン、ポケットベル、ウォーキートーキー、ラジオ周波数（RF）機器、赤外線（IR）機器、ラップトップ、CB、上記の機器のうち１つ以上を組み合わせた統合機器等を含むがこれらに限定されないモバイル機器等、クラスタ機器として構成された無線通信媒体を使用して接続する機器を含んでもよい。あるいは、クラスタ102〜104は、PDA、POCKET PC、ウェアラブルコンピュータ、ならびに有線および／または無線通信媒体で通信を行うために装備されたその他あらゆる機器等、有線または無線通信媒体を使用して接続することができる、クラスタ機器として動作する任意の機器であってよい。
【００１４】
さらに、クラスタメンバ102〜104内のクラスタメンバのそれぞれは、自身とクラスタマネージャ105との間でパケットの通信を行うよう構成された、エージェントやクライアントアプリケーション等を含んでよい。例えばクライアントアプリケーションは、トランザクションモード中にクラスタマネージャ105で自身をロックするようクラスタメンバに指示することができ、そのためクラスタメンバは、所定のソースから構成変更を受信し、受信した構成変更の受け入れを判定し、受信した構成変更のクラスタマネージャ105への受け入れの指示を提供することができる。クライアントアプリケーションは、さらに、1つにはクラスタマネージャ105から受信した情報に基づいて、構成変更を恒久的なものにし、構成変更を除去する等を行うよう構成されてよい。エージェント、クライアントアプリケーション等は、図5と併せて以下でさらに詳しく説明する、プロセス500をさらに用いてよい。
【００１５】
図3と併せて、クラスタマネージャ105についてさらに詳しく説明する。しかしながら、簡潔に言えば、クラスタマネージャ105は事実上、クラスタ構成の変更管理を可能にするためのクラスタ管理ネットワーク機器として動作するよう構成される、任意のネットワーク機器を含む。該当する機器のセットは、クラスタ101への構成変更を管理するため、一般に、パーソナルコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ネットワークPC、携帯電話、スマートフォン、ポケットベル、ウォーキートーキー、ラジオ周波数（RF）機器、赤外線（IR）機器、ラップトップ、CB、上記の機器のうち１つ以上を組み合わせた統合機器等を含むがこれらに限定されないモバイル機器、ＰＤＡ、POCKET PC、ウェアラブルコンピュータ、ならびに有線および／または無線通信媒体で通信を行うために装備されたその他任意の機器等を含んでよいが、これらに限定されない。
【００１６】
LAN／WAN106および107は、1つの電子機器から別の電子機器へ情報を伝達するための任意の形態のコンピュータ可読媒体を用いることが可能である。また、LAN／WAN106および107は、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、ユニバーサルシリアルバス（USB）を通じるもの等の直接接続、その他の形態のコンピュータ可読媒体、およびそれらの任意の組み合わせに加えて、インターネットを含んでよい。異なるアーキテクチャおよびプロトコルに基づくものを含むLANの相互接続されたセット上において、ルータは、メッセージが一方から他方へ送信されることを可能にする、LAN間のリンクとして作用する。また、LAN内の通信リンクは一般にツイストペア線または同軸ケーブルを含み、一方、ネットワーク間の通信リンクは、アナログ電話回線、Tl、T2、T3およびT4を含む完全または部分的な専用デジタル回線、総合サービスデジタル網（ISDN）、デジタル加入者線（DSL）、衛星リンクを含む無線リンク、または当業者に既知であるその他の通信リンクを利用することができる。さらに、リモートコンピュータおよびその他関連電子機器は、モデムおよび一時的な電話リンクを介してLANまたはWANのいずれかとリモートに接続される場合がある。要するに、LAN／WAN106および107は、情報をネットワーク機器間で移動できるようにする任意の通信方法を含んでよい。
【００１７】
一般に、LAN／WAN106は、クラスタ101がLAN／WAN107内にある別のネットワーク機器へのアクセスを可能にするコンテンツサーバ、アプリケーションサーバ等を含んでよい。
【００１８】
図2は、本発明を実施するための環境の別の実施例を説明する機能ブロック図を示す。本発明を実施するためにすべてのコンポーネントが必要とされるわけではなく、本発明の精神または範囲を逸脱することなしに、コンポーネントの配置およびタイプにおける変形が行われ得る。
【００１９】
図に示すように、クラスタシステム200は、ローカルエリアネットワーク／ワイドエリアネットワーク（LAN／WAN）206、クラスタメンバ202〜204、およびクラスタマネージャ105を含む。LAN／WAN206は、クラスタメンバ202〜204とクラスタマネージャ205との間の通信を可能にする。
【００２０】
クラスタメンバ202〜204は、いくつかの点では図1のクラスタメンバ102〜104と実質的に同様に、その他の点では異なって動作する。クラスタマネージャ205は、いくつかの点では図1のクラスタマネージャ105と実質的に同様に、その他の点では異なって動作することもできる。さらに、LAN／WAN206は、いくつかの点ではLAN／WAN106・107と実質的に同様に、しかしその他の点では異なって動作することができる。例えば、クラスタメンバ202〜204およびクラスタマネージャ205は、SSL、TLS等を含むがこれらに限定されないセキュアな暗号化プロトコルを用いて、LAN／WAN206上で通信を行うよう構成されてよい。さらに、一実施例において、LAN／WAN206はインターネットを含む。
【００２１】
図3は、クラスタマネージャとして動作し得る、ネットワーク機器300の一実施例の機能ブロック図を示す。ネットワーク機器300は、示されているよりも多くのコンポーネントを含んでよい。しかしながら、示されているコンポーネントは、本発明を実施するための実施例を開示するには十分である。
【００２２】
ネットワーク機器300は、プロセシングユニット312、ビデオディスプレイアダプタ314、および大容量メモリを含み、これらはすべてバス322を介して互いに通信を行っている。大容量メモリは概して、RAM316、ROM332、ならびに、ハードディスクドライブ328、テープドライブ、および／またはフロッピーディスクドライブ等、1つ以上の恒久的大容量記憶装置を含む。大容量メモリは、ネットワーク機器300の動作を制御するためのオペレーティングシステム320を格納する。任意の汎用オペレーティングシステムを用いてよい。ネットワーク機器300の低レベル動作を制御するための、ベーシックインプット／アウトプットシステム（「BIOS」）318も提供される。
【００２３】
図3に示すように、ネットワーク機器300は、TCP／IPプロトコル、UDP／IPプロトコル等を含むがこれらに限定されない様々な通信プロトコルで使用するために構築されたネットワークインターフェイスユニット310を介して、インターネット、または図1内のLAN／WAN106・107および図2内のLAN／WAN206等、その他いくつかの通信ネットワークと通信を行うこともできる。ネットワークインターフェイスユニット310は、トランシーバまたは送受信機器として知られている場合がある。
【００２４】
ネットワーク機器300は、Ｅメールを伝送するためのSMTPハンドラアプリケーション、HTTP要求を受信し渡すためのHTTPハンドラアプリケーション、および、セキュアな接続を扱うためのHTTPSハンドラアプリケーションを含んでもよい。HTTPSハンドラアプリケーションは、外部アプリケーションとの通信をセキュアな方法で開始することができる。しかしながら、ネットワーク機器300はこれらのハンドラアプリケーションに限定されるものではなく、本発明の範囲を逸脱することなしに、その他多くのプロトコルハンドラアプリケーションがネットワーク機器300によって用いられ得る。
【００２５】
ネットワーク機器300は、マウス、キーボード、スキャナ、または図3に示されていないその他のインプット機器等の外部機器と通信を行うためのインプット／アウトプットインターフェイス324を含んでもよい。同様に、ネットワーク機器300は、CD-ROM／DVD-ROMドライブ326およびハードディスクドライブ328等、追加の大容量記憶ファシリティをさらに含んでよい。ハードディスクドライブ328は、とりわけアプリケーションプログラム、データベース等を格納するために、ネットワーク機器300によって利用される。
【００２６】
上述したような大容量メモリは、コンピュータ記憶媒体と呼ばれるコンピュータ可読媒体の種類を説明している。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータ等の情報を記憶するための任意の方法または技術で実装される、揮発性、不揮発性、可撤性、および非可撤性媒体を含んでよい。コンピュータ記憶媒体の例としては、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD-ROM、デジタルバーサタイルディスク（DVD）またはその他の光学式記憶、磁気カセット、磁気テープ、磁気ディスク記憶またはその他の磁気記憶装置、もしくは、望ましい情報を格納するために使用されることができ、かつコンピュータ機器によってアクセスできるその他任意の媒体が挙げられる。
【００２７】
一実施例において、大容量メモリは、オペレーティングシステム320を実装するためのプログラムコードおよびデータを格納する。大容量メモリは、ネットワーク機器300の機能を実行するための追加のプログラムコードおよびデータも格納してよい。1つ以上のアプリケーション350等は、大容量メモリにロードされ、オペレーティングシステム320上で動くことができる。図に示すように、クラスタ構成マネージャ（CCM）342は、オペレーティングシステム320の上で動くことができるアプリケーションの例である。
【００２８】
CCM342は、クラスタ内のメンバ全体にわたって構成変更を管理するために配置されている。CCM342は、構成変更を受信し、トランザクションモードへの遷移をクラスタメンバに指示するために動作することができる。CCM342は、各クラスタメンバへ構成変更を送信することができる。必須ではないが、クラスタのすべてのメンバによって一定の構成変更が受け入れられることが望ましい。例えば、構成変更がインディペンデントインターネットプロトコル（IIP）アドレスへの変更を含む場合、該当する構成変更は単一のクラスタメンバによって行われ得る。別の例では、クラスタの各メンバが同じ時刻に同期されることが望ましい場合がある。各メンバが、実質的に同様のホスト構成、ネットワーク管理プロトコルバージョン／構成等を含むことが望ましい場合もある。同様に、各クラスタメンバが同じクラスタIP（CIP）アドレスを用いることが望ましい場合もある。いずれにせよ、全体的なクラスタメンバ変更について、CCM342は、クラスタの各メンバにわたって一律に、全体的な構成変更が適用される、極小クラスタ構成アプローチを用いることができる。構成変更がいずれかのクラスタメンバに受け入れ不可能であると判定された場合、その構成変更はそのクラスタに全体的に受け入れ不可能であると見なされ、却下される。このアプローチは、クラスタが、クラスタメンバによって受け入れ不可能なクラスタ構成を不適切に受け入れることを防ぐ。CCM342は、構成変更を管理するために、例えば、図4と併せて以下で詳しく説明するプロセス400と実質的に同様のプロセスを用いてよい。
【動作例】
【００２９】
図4および5を参照し、本発明のある側面を説明する。図4および5は、一方はクラスタマネージャ上で実行され、他方はクラスタメンバ上で実行される、補完的プロセスを説明するものとして見ることができる。
【００３０】
そのようなものとして、図4は、概して、クラスタ構成への変更を管理するプロセスの一実施例を示す論理流れ図を説明している。図4のプロセス400は、図2のクラスタマネージャ205内に加えて、図1のクラスタマネージャ105内でも実装され得る。
【００３１】
図4に示すように、プロセス400が開始し、スタートブロックの後、ブロック402において構成変更が受信される。構成変更は、ネットワーク上で、別の機器から、管理者、スクリプト、別のアプリケーション、プロセス等によるエントリを通じてのものを含むがこれらに限定されない、様々なソースのいずれかから受信され得る。
【００３２】
受信した構成変更は、クラスタのすべてのメンバに指示される様々な変更のうちいずれかを含んでよい。構成変更を受信すると、処理はブロック404へ続き、各クラスタメンバでトランザクションモード開始を指示される各クラスタメンバへメッセージが送信される。トランザクション初期化の一部として、各クラスタメンバは、構成変更を受信する準備が整うようにロッキング応答を実行するためのものであり、変更ソースは「ロックアウト」される場合がある。
【００３３】
処理は次に決定ブロック406へ進み、ここで各クラスタメンバはトランザクションモードにロックされているか否か、および構成変更を受信する準備が整っているか否かが判定される。該当する判定は、例えば、各クラスタメンバからクラスタメンバのステータスを示すメッセージを受信することによって行われ得る。一実施例において、すべてのクラスタメンバによってステータスが受信されない場合に判定が行われる。これは、例えば、クラスタメンバが「オフライン」である、クラスタメンバとの接続に失敗した等の場合に生じ得る。いずれにせよ、すべてのクラスタメンバがトランザクションモードでないと判定された場合、処理はその他のアクションを実行するために呼び出しプロセスへ戻る。当該プロセスは、管理者、別のプロセス等に、どのクラスタメンバがトランザクションモードでないかを示す情報をさらに提供することができる。どのクラスタメンバがトランザクションモードでないかを鑑みて、所定時間経過後、識別されたクラスタメンバのリセット等を実行した後に、プロセス400を再エントリすることや、識別されたクラスタメンバをクラスタから除去すること等を含む、（ただしこれらに限定されない）、適切なアクションが取られ得る。
【００３４】
しかしながら、決定ブロック406においてすべてのクラスタメンバがトランザクションモードであると判定された場合、処理はブロック408へ進み、構成変更は各クラスタメンバへ送信される。一実施例において、構成変更は、変更プロトコルを用いて各クラスタメンバへ送信される。変更プロトコルは、所定のプロトコルネットワーク上で、所定のポート等に向けて、各クラスタメンバへ送信されることができる。各クラスタメンバが構成変更を受信すると、構成変更は、クラスタメンバに受け入れ可能であるか否かを判断するために、当該クラスタメンバによって評価される。
【００３５】
プロセス400は決定ブロック410へ続き、ここで構成変更がすべてのクラスタメンバによって受け入れ可能であるか否かの判断が行われる。一実施例において、該当する判定は、各クラスタメンバからの別のメッセージの受信に基づいて行われる。構成変更がすべてのクラスタメンバに受け入れ可能である場合、処理はブロック412へ進み、そうでない場合、処理はブロック414へ進む。
【００３６】
ブロック412において、構成変更はクラスタメンバによって恒久的変更として受け入れられるべきであることを示すメッセージが各クラスタメンバへ送信される。次いで処理はその他のアクションを実行するために呼び出しプロセスへ戻る。
【００３７】
しかしながら、ブロック414において、すべてのクラスタメンバが構成変更を受け入れなかった場合、構成変更は途中停止または無視されるべきであることを示すメッセージが各クラスタメンバに送信される。すなわち、構成変更は恒久的に行われるものではない。次いで処理はその他のアクションを実行するために呼び出しプロセスへ戻る。
【００３８】
図5は、概して、本発明に従ってクラスタメンバによる構成変更に対応するプロセスの一実施例を示す論理流れ図を説明している。図5のプロセス500は、図2のクラスタメンバ202〜204内に加えて、図1のクラスタメンバ102〜104内でも実装され得る。
【００３９】
図5のプロセス500が開始し、スタートブロックの後、ブロック502において、トランザクションモードへの遷移の要求が受信される。それに応じて、要求を受信するクラスタメンバは、別のソースからではなくクラスタマネージャから構成変更を受信するために自身をロックしようと試みる。
【００４０】
処理は次に決定ブロック504へ続き、ここでクラスタメンバがトランザクションモードであるか否かの判定が行われる。クラスタメンバは、機器が現在中断できない別のアクションを実行している、機器がトランザクションモードを理解できない、ロックを実行することができない等を含むがこれらに限定されない様々な理由のいずれかのために、トランザクションモードに遷移できない場合がある。クラスタメンバがトランザクションモードでないと判定された場合、処理はブロック518に分岐し、ここでクラスタメンバがトランザクションモードでないことを示すメッセージが送信される。プロセスは次いでその他のアクションを実行するために呼び出しプロセスへ戻る。
【００４１】
しかしながら、決定ブロック504においてクラスタメンバがトランザクションモードであると判定された場合、処理はブロック506へ進み、ここでクラスタメンバがトランザクションモードであることを示すメッセージが送信される。処理は次に決定ブロック508へ続き、構成変更が受信されるか否かの判定が行われる。構成変更は、すべてのクラスタメンバがトランザクションモードでないためにトランザクションが終了されている、ネットワークが機能しなくなった等を含むがこれらに限定されない様々な理由のいずれかのために、受信されない場合がある。いずれにせよ、構成変更が受信されない場合、処理はその他のアクションを実行するために呼び出しプロセスへ戻る。しかしながら、構成変更が受信された場合、処理は決定ブロック510へ進む。
【００４２】
決定ブロック510において、受信した構成変更が受け入れ可能であるか否かの判定が行われる。構成変更は、様々な理由のいずれかのため、受け入れ可能でない場合がある。例えば、構成変更はファイル用の記憶領域を要求する場合があるが、クラスタメンバはファイル用の十分な記憶領域を有していない。別の例として、構成変更はクラスタ用にCIPにおける変更を要求する場合があるが、CIPにおける変更はクラスタメンバのIIP等と相反する場合がある。いずれにせよ、構成変更が受け入れ不可能であると判定された場合、処理はブロック520へ分岐し、そうでない場合、処理はブロック512へ進む。
【００４３】
しかしながら、決定ブロック510において構成変更が受け入れ不可能であると判定された場合、処理はブロック520へ進み、ここで構成変更は受け入れ不可能であることを示すメッセージが送信される。当該メッセージは、構成変更が受け入れ不可能である理由を示すのに十分な情報を含むことができる。処理は次にブロック522へ続き、ここで構成変更は途中停止される、恒久的にならない、または無視されるべきものであることを示すメッセージが受信される。処理はブロック524へ進み、ここで構成変更はクラスタメンバによって、途中停止、撃退、廃棄、または無視される。ブロック524の完了後、処理はその他のアクションを実行するために呼び出しプロセスへ戻る。
【００４４】
ブロック512において、構成変更が受け入れ可能であることを示すメッセージが送信される。処理は決定ブロック514へ続き、ここで構成変更が恒久的なものとして受け入れられるべきであることを示すメッセージが受信されたか否かの判定が行われる。構成変更は、例えばクラスタ内の別のクラスタが、その構成が当該クラスタに受け入れ不可能であることを示した場合に、恒久的なものとして受け入れられない場合がある。いずれにせよ、構成変更がすべてのクラスタメンバに全体的に受け入れ可能でない場合、処理はブロック524へ進み、ここで構成変更の実装は無視、撃退等され、そのため恒久的なものにならない。処理は次いでその他のアクションを実行するために呼び出しプロセスへ戻る。しかしながら、構成変更が恒久的にすべきものである場合、処理はブロック516へ続く。ブロック516において、クラスタメンバは、構成変更を恒久的な変更として、応じるか、または適用する（すなわち、別の構成変更が当該変更への変更を示すまで）。処理は次いでその他のアクションを実行するために呼び出し処理へ戻る。
【００４５】
上記のフローチャート説明の各ブロック、および上記のフローチャート説明内のブロックの組み合わせは、コンピュータプログラム命令によって実装され得ることが理解されるであろう。これらのプログラム命令は、機械を製造するためにプロセッサへ提供されることができ、そのためプロセッサ上で実行される命令は、フローチャートブロックに定められているアクションを実装する手段を作成する。コンピュータプログラム命令は、プロセッサ上で実行される命令が、フローチャートブロックに定められているアクションを実装するステップを提供するよう、プロセッサによって実行されるべき一連の動作ステップにコンピュータ実装のプロセスを作り出させるために、プロセッサによって実行されることができる。
【００４６】
したがって、フローチャート説明のブロックは、特定のアクションを実行する手段の組み合わせ、特定のアクションを実行するステップの組み合わせ、および、特定のアクションを実行するプログラム命令手段をサポートするものである。フローチャート説明の各ブロック、およびフローチャート説明内のブロックの組み合わせは、特定のアクションまたはステップを実行する特殊用途ハードウェアベースのシステム、もしくは特殊用途ハードウェアとコンピュータ命令の組み合わせによって実装され得ることも理解されるであろう。
【００４７】
上記の仕様、例、およびデータは、本発明の組成の製造および使用についての完全記述を提供する。本発明の精神および範囲を逸脱することなく本発明の多くの実施例が行われ得るため、本発明は以下に添付する特許請求の範囲に属する。
【図面の簡単な説明】
【００４８】
【図１】本発明を実施するための環境の一実施例を説明する機能ブロック図を示す。
【図２】本発明を実施するための環境の別の実施例を説明する機能ブロック図を示す。
【図３】本発明を実装するシステムにおいて用いられ得るネットワーク機器の一実施例を示す。
【図４】概して、クラスタ構成への変更を管理するプロセスの一実施例を示す論理流れ図を説明している。
【図５】概して、本発明に従ってクラスタメンバによる構成変更に対応するプロセスの一実施例を示す論理流れ図を説明している。
【図１】
2008502972.tif 000003
【図２】
2008502972.tif 000004
【図３】
2008502972.tif 000005
【図４】
2008502972.tif 000006
【図５】
2008502972.tif 000007
【国際調査報告】
2008502972.tif 000008
2008502972.tif 000009