(57)【要約】【課題】クラスタ化システムでの非破壊的エラー回復のための機器を提供すること。【解決手段】この機器は、第１仮想ノード・インスタンスでの構成活動を静止するノード・インスタンス構成活動静止構成要素と、Ｉ／Ｏアクセスがブロックされた第２仮想ノード・インスタンスを作成するノード・インスタンス作成構成要素と、前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスに構成データを転送するノード・インスタンス構成転送構成要素と、前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスへの切換えをコミットするコミット構成要素と、第１仮想ノード・インスタンスへのインバウンド通信をブロックするノード・インスタンス通信ブロッキング構成要素と、前記第２仮想ノード・インスタンスでのＩ／Ｏアクセスをアンブロックするノード・インスタンス通信アンブロッキング構成要素と、前記第１仮想ノード・インスタンスからのアウトバウンド通信を監視し、すべての保留アウトバウンド通信の完了をシグナリングする通信制御構成要素と、前記第１仮想ノード・インスタンスを削除するノード・インスタンス削除構成要素とを備える。【選択図】図１
2009539160.tif 000002
【特許請求の範囲】
【請求項１】
クラスタ化システムでの非破壊的エラー回復のための機器であって、
第１仮想ノード・インスタンスでの構成活動を静止するノード・インスタンス構成活動静止構成要素と、
Ｉ／Ｏアクセスがブロックされた第２仮想ノード・インスタンスを作成するノード・インスタンス作成構成要素と、
前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスに構成データを転送するノード・インスタンス構成転送構成要素と、
前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスへの切換えをコミットするコミット構成要素と、
第１仮想ノード・インスタンスへのインバウンド通信をブロックするノード・インスタンス通信ブロッキング構成要素と、
前記第２仮想ノード・インスタンスでのＩ／Ｏアクセスをアンブロックするノード・インスタンス通信非ブロッキング構成要素と、
前記第１仮想ノード・インスタンスからのアウトバウンド通信を監視し、すべての保留アウトバウンド通信の完了をシグナリングする通信制御構成要素と、
前記第１仮想ノード・インスタンスを削除するノード・インスタンス削除構成要素と
を備える機器。
【請求項２】
単一ディレクタ構成要素が、前記静止構成要素、前記ノード・インスタンス作成構成要素、前記ノード・インスタンス構成転送構成要素、前記コミット構成要素、前記ノード・インスタンス通信ブロッキング構成要素、前記ノード・インスタンス通信非ブロッキング構成要素、前記通信制御構成要素、および前記ノード・インスタンス削除構成要素を制御する、請求項１に記載の機器。
【請求項３】
前記単一ディレクタ構成要素が、１つまたは複数のフィルタ構成要素と協働して、前記静止構成要素、前記ノード・インスタンス作成構成要素、前記ノード・インスタンス構成転送構成要素、前記コミット構成要素、前記ノード・インスタンス通信ブロッキング構成要素、前記ノード・インスタンス通信非ブロッキング構成要素、前記通信制御構成要素、および前記ノード・インスタンス削除構成要素のうちの１つまたは複数を制御する、請求項２に記載の機器。
【請求項４】
請求項１ないし３のいずれかに記載の機器を備えるクラスタ化システム。
【請求項５】
請求項１ないし３のいずれかに記載の機器を備えるストレージ仮想化システム。
【請求項６】
クラスタ化システムで非破壊的エラー回復を実施する方法であって、
第１仮想ノード・インスタンスでの構成活動を静止するステップと、
Ｉ／Ｏアクセスがブロックされた第２仮想ノード・インスタンスを作成するステップと、
前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスに構成データを転送するステップと、
前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスへの切換えをコミットするステップと、
第１仮想ノード・インスタンスへのインバウンド通信をブロックするステップと、
前記第２仮想ノード・インスタンスでのＩ／Ｏアクセスをアンブロックするステップと、
前記第１仮想ノード・インスタンスからのアウトバウンド通信を監視し、すべての保留アウトバウンド通信の完了をシグナリングするステップと、
前記第１仮想ノード・インスタンスを削除するステップと
を含む方法。
【請求項７】
単一ディレクティング構成要素が、静止する前記ステップ、作成する前記ステップ、転送する前記ステップ、コミットする前記ステップ、ブロックする前記ステップ、アンブロックする前記ステップ、監視する前記ステップ、シグナリングする前記ステップ、および削除する前記ステップを制御する、請求項６に記載の方法。
【請求項８】
前記単一ディレクティング構成要素が、１つまたは複数のフィルタ構成要素と協働して、静止する前記ステップ、作成する前記ステップ、転送する前記ステップ、コミットする前記ステップ、ブロックする前記ステップ、アンブロックする前記ステップ、監視する前記ステップ、シグナリングする前記ステップ、および削除する前記ステップのうちの１つまたは複数を制御する、請求項７に記載の方法。
【請求項９】
その上に機能データを有するデータ・キャリアであって、前記機能データが機能コンピュータ・データ構造を備え、前記機能コンピュータ・データ構造がコンピュータ・システムにロードされ、前記コンピュータ・システムによって操作されるときに、前記コンピュータ・システムが請求項６ないし８のいずれか一項に記載の方法のすべてのステップを実施することを可能にする、データ・キャリア。
【請求項１０】
コンピュータ・プログラム・コードを含むコンピュータ・プログラムであって、前記コンピュータ・プログラム・コードがコンピュータ・システムにロードされ、前記コンピュータ・システム上で実行されるときに、請求項６ないし８のいずれか一項に記載の方法のすべてのステップを前記コンピュータ・システムに実施させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高可用性クラスタ化ソフトウェア、特にストレージ・ネットワーク・コントローラでのエラーから回復するための技術に関する。
【背景技術】
【０００２】
高可用性クラスタ化ソフトウェアでは、いくつかのノードが協働してユーザにサービスを送達する。高可用性クラスタリングは、ソフトウェアの機能を送達するためにソフトウェアが使用する、ある量の複製状態またはメタデータ情報の存在を必要とする。製品の正しい動作のためには、このクラスタ状態が内部的に整合性のあることが重要である。内部的に整合性があることにより、例えば、ソフトウェア内の相異なる層がオブジェクト数の同一のカウントなどを有することを意味する。
【０００３】
高可用性クラスタ化ソフトウェアでは、１００％の可用性、または可能な限りその目標に近い可用性を維持することが望ましい。しかし、ソフトウェア欠陥がコード中に存在する可能性がある。ソフトウェア・エラー回復手順が高可用性クラスタ化ソフトウェアに対して利用可能である。こうしたエラー回復手順により、ソフトウェア障害が発生した場合にクラスタが回復することが可能となる。エラー回復手順は、内部状態が依然として整合性のあることを保証するように設計される。遺憾ながら、ソフトウェア・エラーの結果、クラスタ状態の不整合が生じる可能性があり、それによって別のソフトウェア障害が誘発される可能性がある。こうしたソフトウェア・エラーは、別の障害が発生したときにだけ発見されることがあり、これにより、製作環境でのダウン時間が長くなり、高コストとなる可能性がある。こうしたソフトウェア・エラーが発生したときにそれを修正するために、クラスタ状態内の識別されたエラーにパッチを当てるように修正が適用される。しかし、クラスタ状態内に別の未発見のバグがないことを保証することは可能ではない。
【０００４】
以前のクラスタ回復の結果としてもう不整合がないことを保証するために、ストレージ仮想化ソフトウェアの再インストールと、クラスタ状態をその初期状態に再初期化することが必要であるが、これは破壊的な手順である。再インストールのための１つのオプションは、Ｔｉｅｒ３回復手順（アーカイブ・ストレージからのデータの復元）を実行することであるが、これはやはり破壊的である。別のオプションは、新しいクラスタを構築し、それを元のクラスタと等しく構成することである。データを転送しなければならないことになる（例えばホスト・ミラーリングを使用することにより）。あるシステムでは、このことを、Ｉ／Ｏを停止することなく行うことができる。この解決策の欠点はコストが高いことであり、追加のハードウェアが必要であり（２倍のノード、追加のストレージ）、新しいクラスタに移行するためにかなりの資源の使用を必要とする。新しいハードウェアの導入もハードウェア障害の危険を導入し、潜在的には問題が悪化する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、非破壊的であり、追加のハードウェアと、システムおよびストレージ管理者の時間および労力の形態の資源とに依存しない方式で、高可用性クラスタ化ソフトウェアでのエラーから回復するための技術的手段を有することが望ましいはずである。
【課題を解決するための手段】
【０００６】
したがって、本発明は、第１の態様では、クラスタ化システムでの非破壊的エラー回復のための機器であって、第１仮想ノード・インスタンスでの構成活動を静止するノード・インスタンス構成活動静止構成要素と、Ｉ／Ｏアクセスがブロックされた第２仮想ノード・インスタンスを作成するノード・インスタンス作成構成要素と、前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスに構成データを転送するノード・インスタンス構成転送構成要素と、前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスへの切換えをコミットするコミット構成要素と、第１仮想ノード・インスタンスへのインバウンド通信をブロックするノード・インスタンス通信ブロッキング構成要素と、前記第２仮想ノード・インスタンスでのＩ／Ｏアクセスをアンブロックするノード・インスタンス通信非ブロッキング構成要素と、前記第１仮想ノード・インスタンスからのアウトバウンド通信を監視し、すべての保留アウトバウンド通信の完了をシグナリングする通信制御構成要素と、前記第１仮想ノード・インスタンスを削除するノード・インスタンス削除構成要素とを備える機器を提供する。
【０００７】
好ましくは、単一ディレクタ構成要素が、前記静止構成要素、前記ノード・インスタンス作成構成要素、前記ノード・インスタンス構成転送構成要素、前記コミット構成要素、前記ノード・インスタンス通信ブロッキング構成要素、前記ノード・インスタンス通信非ブロッキング構成要素、前記通信制御構成要素、および前記ノード・インスタンス削除構成要素を制御する。
【０００８】
好ましくは、前記単一ディレクタ構成要素は、１つまたは複数のフィルタ構成要素と協働して、前記静止構成要素、前記ノード・インスタンス作成構成要素、前記ノード・インスタンス構成転送構成要素、前記コミット構成要素、前記ノード・インスタンス通信ブロッキング構成要素、前記ノード・インスタンス通信非ブロッキング構成要素、前記通信制御構成要素、および前記ノード・インスタンス削除構成要素のうちの１つまたは複数を制御する。
【０００９】
好ましい実施形態では、クラスタ化システムが、第１の態様による機器を備える。
【００１０】
好ましい実施形態では、ストレージ仮想化システムが、第１の態様による機器を備える。
【００１１】
第２の態様では、本発明は、クラスタ化システムで非破壊的エラー回復を実施する方法または論理構成であって、第１仮想ノード・インスタンスでの構成活動を静止するステップと、Ｉ／Ｏアクセスがブロックされた第２仮想ノード・インスタンスを作成するステップと、前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスに構成データを転送するステップと、前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスへの切換えをコミットするステップと、第１仮想ノード・インスタンスへのインバウンド通信をブロックするステップと、前記第２仮想ノード・インスタンスでのＩ／Ｏアクセスをアンブロックするステップと、前記第１仮想ノード・インスタンスからのアウトバウンド通信を監視し、すべての保留アウトバウンド通信の完了をシグナリングするステップと、前記第１仮想ノード・インスタンスを削除するステップとを含む方法または論理構成を提供する。
【００１２】
好ましくは、単一ディレクティング構成要素が、静止する前記ステップ、作成する前記ステップ、転送する前記ステップ、コミットする前記ステップ、ブロックする前記ステップ、アンブロックする前記ステップ、監視する前記ステップ、シグナリングする前記ステップ、および削除する前記ステップを制御する。
【００１３】
好ましくは、前記単一ディレクティング構成要素は、１つまたは複数のフィルタ構成要素と協働して、静止する前記ステップ、作成する前記ステップ、転送する前記ステップ、コミットする前記ステップ、ブロックする前記ステップ、アンブロックする前記ステップ、監視する前記ステップ、シグナリングする前記ステップ、および削除する前記ステップのうちの１つまたは複数を制御する。
【００１４】
第３の態様では、その上に機能データを有するデータ・キャリアであって、前記機能データが機能コンピュータ・データ構造を備え、前記機能コンピュータ・データ構造がコンピュータ・システムにロードされ、前記コンピュータ・システムによって操作されるときに、前記コンピュータ・システムが第２の態様による方法のすべてのステップを実施することを可能にするデータ・キャリアが提供される。
【００１５】
第４の態様では、コンピュータ・プログラム・コードを含むコンピュータ・プログラムであって、前記コンピュータ・プログラム・コードがコンピュータ・システムにロードされ、前記コンピュータ・システム上で実行されるときに、第２の態様による方法のすべてのステップを前記コンピュータ・システムに実施させるコンピュータ・プログラムが提供される。
【００１６】
したがって、本発明の好ましい実施形態は、その最も広い態様において、高可用性クラスタ化ソフトウェアでのエラーから回復するための技術的枠組みを企図する。
【００１７】
本発明の好ましい実施形態は、追加のハードウェア（ストレージ仮想化ノード、ストレージサブシステム）を必要とせず、したがってコストを削減し、新しいハードウェアを介する新しい問題を導入する危険も低減するという、周知のシステムに勝る利点を有する。別の利点は、ホストＩ／Ｏを停止する必要がないことである。好ましい実施形態も、追加のストレージならびにシステム管理者の時間および労力の形態の余分な資源を必要としないので、当技術分野による周知のシステムよりも効率的である。
【００１８】
これから、添付の図面図を参照しながら、単に例示として本発明の好ましい実施形態を説明する。
【発明を実施するための最良の形態】
【００１９】
本発明の好ましい実施形態が、ストレージ仮想化コントローラをそのノードに有するストレージ・ネットワークとして実装される。
【００２０】
図１では、ストレージ仮想化を実現する記憶域ネットワーク・コントローラの一例が示されている。この図は、関与するハードウェア構成要素または構成の単一の例を示す。しかし、様々な構成要素がクラスタ内のすべてのノードについて同一となることが当業者には明らかであろう。当業者には周知のように、クラスタリングは、複数の装置および相互接続を使用して、外面的には単一システムとして提示されるものを形成することである。
【００２１】
図１では、仮想ハード・ディスク１０４が接続されたノード・インスタンス１０２を備える機器１００の構成が示されている。ノード・インスタンス１０２は、フィルタ１０６に動作可能に接続され、フィルタ１０６は、１つまたは複数の仮想外部装置１０８に接続される。ノード・インスタンス１０２および仮想外部装置１０８は、ディレクタ１１０に動作可能に接続され、ディレクタ１１０は仮想マシン・モニタ１１２と通信する。仮想マシン・モニタ１１２は、ハード・ディスク・ドライブ１１４および１つまたは複数の外部装置１１６に従来の方式で接続される。
【００２２】
図１では、ノード・インスタンス１０２（第１仮想マシン）はストレージ仮想化ノード・ソフトウェアを実行する。
【００２３】
図２を参照すると、図１のすべての要素と、以下の追加の要素とを備える機器が示されている。ノード・インスタンス１０２’が仮想ハード・ディスク１０４’およびフィルタ１０６’に接続される。フィルタ１０６’と仮想外部装置１０８’の間の接続は使用不能にされる。ノード・インスタンス１０２’は、イベント履歴なしのストレージ仮想化のクリーン・インスタンスを実行し、クリーン・クラスタ状態を含む。
【００２４】
動作の際には、仮想マシン・モニタ１１２（ＶＭＭ）が、例示的ノード・インスタンス１０２、１０２’などの仮想マシン（ＶＭ）を作成および削除する。ＶＭＭは、Ｉ／Ｏ装置（例えばイーサネット（登録商標）、シリアル・ポート、ＦＣアダプタ）を仮想化し、それをすべての仮想マシンからアクセス可能にする。すなわち、ＶＭＭはＩ／Ｏを受け取り、それをターゲット仮想マシンに正しく配布する。ＶＭＭはまた、仮想マシンがＩ／Ｏを送ることも可能にする。一実施形態では、Ｘｅｎなどの周知の仮想化技術を使用してこのことを達成することができるが、代替仮想化技術が当業者には明らかであろう。
【００２５】
ディレクタ１１０は、仮想マシンの作成、第１仮想マシンから第２仮想マシンへの切換え、および最終的には第１仮想マシンの削除を制御するための調整構成要素である。ディレクタ１１０は、両方の仮想マシン、それら仮想Ｉ／Ｏ装置、およびそれら仮想ハード・ディスクへのアクセスを有する。
【００２６】
フィルタ１０６、１０６’は、ＶＭが受け取り、送ることのできるイベントのセットを定義する。通常動作中、イベントのセットは、制御アプリケーションに関する可能なイベントの完全なセットである。第２ＶＭがノード・インスタンス１０２’で作成されるとき、その対応するフィルタ１０６’は、制御アプリケーションを構成するのに必要であるが、その外部ビューを定義するイベントではないイベントのそのサブセットを可能にする。
【００２７】
ストレージ仮想化ノードの１つのアクティブなインスタンスがあり、すなわち、まずこの例では、ノード・インスタンス１０２がある。ＶＭＭがストレージ仮想化クラスタ状態をリフレッシュする要求を受け取るとき、ＶＭＭは、第２インスタンスの作成を開始する（この例では、ノード・インスタンス１０２’）。ディレクタ１１０は、第１ノード・インスタンス１０２からのメタデータおよび構成情報を使用して第２ノード・インスタンス１０２’の構成を調整する。第２インスタンス１０６’のフィルタは、顧客Ｉ／Ｏがパススルーしないことを保証する。すべての仮想外部装置へのアクセスが使用不能にされる。必要なら、ディレクタ１１０は、こうした外部装置への偽インターフェース（例えば偽ＵＰＳ）を提供する。
【００２８】
第２ノード・インスタンス１０２’が完全に作動可能となると、図３に示されるように、ディレクタ１１０は、両方のフィルタの挙動の変化を引き起こすコミットを発行する。第１ノード・インスタンス１０２は、もはや外部信号を受け取らない。しかし、第１ノード・インスタンス１０２は、未解決Ｉ／Ｏを完了することができる。そのとき第２ノード・インスタンス１０２’は、すべての仮想外部装置を使用して完全に作動可能であり、Ｉ／Ｏを受け取って完了する。ディレクタ１１０は、第１インスタンスで完了すべき未解決Ｉ／Ｏを監視する。
【００２９】
すべてのＩ／Ｏが第１ノード・インスタンス１０２から完了すると、図４に示されるように、ディレクタ１１０は、第１インスタンスの削除を開始する。次いで、すべてのクラスタ活動が、ノード・インスタンス１０２および構成要素１０４、１０６、１０８の代わりに、ノード・インスタンス１０２’の制御下で、その対応する付加構成要素１０４’、１０６’、１０８’を使用して行われる。
【００３０】
したがって、有利なことに、機器の形態の本発明の好ましい実施形態は、高可用性クラスタ化ソフトウェアでのエラーから回復するための技術的枠組みを提供する問題に対処する。
【００３１】
図５は、本発明の好ましい実施形態による一般化プロセス・フローを流れ図形式で示す。
【００３２】
ＳＴＡＲＴステップ２００で、単一ノード・インスタンスが、通常動作モードで作動可能である。ステップ２０２で、クラスタ・リフレッシュ要求が受信される。ステップ２０４で、第２ノード・インスタンスが作成されるが、外部信号からブロックされる。ステップ２０６で、第２ノード・インスタンスが、第１ノード・インスタンスから取られた構成データ（状態データではない）を使用して、上述のように構成される。ステップ２０６の構成活動が完了したとき、ステップ２０８でコミットが発行される。ステップ２１０で、第１ノード・インスタンスが外部信号からブロックされ、ステップ２１２で、第２ノード・インスタンスでのＩ／Ｏがアンブロックされる。ステップ２１４で、第１ノード・インスタンスで保留中であったすべてのＩ／Ｏが完了しており、ステップ２１６で、第１ノード・インスタンスが削除される。ステップ２１８で、動作が続行する。
【００３３】
したがって、ノード・インスタンス２での置換ソフトウェアはノード・インスタンス１から構成データを継承するが、場合によっては欠陥のあるどんな状態データもノード・インスタンス１から継承しない。
【００３４】
以下はノード・インスタンス切換え手順の一実装の詳細な説明である。
１．ノード・インスタンス１０２のすべてのディスクに関するキャッシュをフラッシュする（すべてのストレージ仮想化ノード上のキャッシュをフラッシュし、すべてのｖｄｉｓｋについてキャッシュ使用不能モードに変更し／ストレージ仮想化キャッシュを使用不能にする）
２．ノード・インスタンス１０２に対するすべての構成活動を停止する。
３．ノード・インスタンス１０２のＴｉｅｒ３メタデータおよび構成データをノード・インスタンス１０２’の仮想ハード・ディスクにコピーする。
４．ノード・インスタンス１０２’を作成し、仮想ハード・ディスクからのＴｉｅｒ３メタデータおよびストレージ仮想化構成バックアップ・データを使用してインスタンス１の構成をミラーリングする。
５．ノード・インスタンス１０２’が完全に作動可能となるまで、すべてのＩ／Ｏはノード・インスタンス１０２をパススルーし続ける。
６．ノード・インスタンス１０２’はまだどんなＩ／Ｏも受け取らない。ノード・インスタンス１０２’のキャッシュは、ノード・インスタンス１０２のキャッシュと同様に空のままである。
７．ノード・インスタンス１０２’がノード・インスタンス１０２と同一となると（そのイベント履歴に関してではなく、その構成およびエクステント・マップに関して）、コミットが行われ、ノード・インスタンス１０２’に切り替わる。
８．ノード・インスタンス１０２’が除去される。
９．ノード・インスタンス１０２’上のキャッシュが動作可能にされる。
【００３５】
上記の説明はクラスタ内の単一エンティティに関するものであり、クラスタ内のすべてのノードに関して同一のプロセスを調整する必要があることは当業者には明らかであろう。このことはディレクタ１１０を介して達成される。クラスタ内のすべてのノード・インスタンス１０２’が上述のように完全にセットアップされると、ノード・インスタンス１０２’は、すべてのディレクタ１１０に通知し、次いですべてのディレクタ１１０は、対応するノード・インスタンス１０２に通知する。このようにして、制御された切換えを行うことができる。
【００３６】
したがって、有利なことに、方法または論理構成の形態の本発明の好ましい実施形態は、高可用性クラスタ化ソフトウェアでのエラーから回復するための技術的枠組みを提供する問題に対処する。
【００３７】
したがって、好ましい実施形態は、クラスタ状態の非破壊的再インストール／リフレッシュが要求されたときに、仮想化技術を使用するすべてのストレージ仮想化ノードの資源の仮想化を活動化することによって動作する。これにより、クラスタ状態内の可能性のある不整合を有する元のバージョンと、そのクラスタ状態が再初期化されたフレッシュ・バージョンという、ストレージ仮想化ソフトウェアの２つのインスタンスが、同一のストレージ仮想化ノード上で動作することが可能となる。フレッシュ・バージョンは、そのエクステント・マップで元の構成を再現するために、元のバージョンから必要な最小限のデータをコピーする。ストレージ仮想化ソフトウェアのフレッシュ・バージョンがすべてのノード上で作動可能となると、ホスト・システムまたはストレージサブシステムに影響を及ぼすことなく、Ｉ／Ｏがフレッシュ・クラスタにリダイレクトされる。切換えが完了すると、元のバージョンが削除され、ストレージ資源の仮想化を非活動化することができる。一例として、Ｘｅｎなどの周知の仮想化技術を使用することができるが、他の等価な仮想化技術が等しく適用可能であることが当業者には明らかであろう。
【００３８】
本発明の好ましい実施形態の方法のすべてまたは一部を、方法のステップを実施するように構成された論理要素を備える論理機器、または複数の論理機器として適切かつ有用に実施することができ、そのような論理要素がハードウェア構成要素、ファームウェア構成要素、またはそれらの組合せを含むことができることは当業者には明らかであろう。
【００３９】
本発明の好ましい実施形態による論理構成のすべてまたは一部を、方法のステップを実施するための論理要素を備える論理機器として実施することができ、そのような論理要素が、例えばプログラム可能論理アレイまたは特定用途向け集積回路内の論理ゲートなどの構成要素を含むことができることは当業者には同様に明らかであろう。そのような論理構成をさらに、例えば仮想ハードウェア記述子言語を使用して、そのようなアレイまたは回路内に論理構造を一時的または永続的に確立するイネーブリング要素として実施することができ、仮想ハードウェア記述子言語は、固定キャリア・メディアまたは伝送可能キャリア・メディアを使用して格納および伝送することができる。
【００４０】
上述の方法および構成を１つまたは複数のプロセッサ（図示せず）上で動作するソフトウェア内で完全に、または部分的に、適切に実施することもでき、磁気ディスクや光ディスクなどの任意の適切なデータ・キャリア（やはり図示せず）上で担持される１つまたは複数のコンピュータ・プログラム要素の形態でソフトウェアを提供できることを理解されよう。同様に、データの伝送用のチャネルは、すべての種類の記憶媒体ならびに有線またはワイヤレス信号搬送媒体などの信号搬送媒体を含むことができる。
【００４１】
本発明はさらに、コンピュータ・システムと共に使用されるコンピュータ・プログラム製品として適切に実施することができる。そのような実装は、コンピュータ可読媒体、例えばディスケット、ＣＤ−ＲＯＭ、ＲＯＭ、またはハード・ディスクなどの有形媒体上に固定され、あるいはモデムまたは他のインターフェース装置を介して、限定はしないが光学もしくはアナログ通信回線を含む有形媒体を介して、または限定はしないがマイクロ波、赤外線、もしくは他の伝送技法を含むワイヤレス技法を使用して無形にコンピュータ・システムに伝送可能な、一連のコンピュータ可読命令を含むことができる。この一連のコンピュータ可読命令は、本明細書で先に述べた機能のすべてまたは一部を実施する。
【００４２】
そのようなコンピュータ可読命令は、多数のコンピュータ・アーキテクチャまたはオペレーティング・システムと共に使用されるいくつかのプログラミング言語で書き込むことができることを当業者は理解されよう。さらに、限定はしないが半導体、磁気、または光を含む現在または将来の任意のメモリ技術を使用してそのような命令を格納することができ、あるいは限定はしないが光、赤外線、またはマイクロ波を含む現在または将来の任意の通信技術を使用して伝送することができる。そのようなコンピュータ・プログラム製品を、付随する印刷文書または電子文書を伴う取外し可能媒体、例えば収縮包装されたソフトウェアとして配布することができ、コンピュータ・システム、例えばシステムＲＯＭまたは固定ディスク上にプリロードすることができ、あるいはネットワーク、例えばインターネットまたはワールド・ワイド・ウェブを介してサーバまたは電子掲示板から配布することができることが企図される。
【００４３】
代替実施形態では、本発明の好ましい実施形態を、コンピュータ・インフラストラクチャ内に配置されてその上で実行されたときに、方法のすべてのステップを前記コンピュータ・システムに実施させるように動作可能なコンピュータ・プログラム・コードを配置するステップを含むサービスを配置するコンピュータで実装される方法の形態で実現することができる。
【００４４】
本発明の範囲から逸脱することなく、上記の例示的実施形態に対して多数の改善および修正を行えることは当業者には明らかであろう。
【図面の簡単な説明】
【００４５】
【図１】動作の際の、本発明の好ましい実施形態による機器、または機器の構成を略図形式で示す図である。
【図２】動作の際の、本発明の好ましい実施形態による機器、または機器の構成を略図形式で示す図である。
【図３】動作の際の、本発明の好ましい実施形態による機器、または機器の構成を略図形式で示す図である。
【図４】動作の際の、本発明の好ましい実施形態による機器、または機器の構成を略図形式で示す図である。
【図５】本発明の好ましい実施形態による動作の方法を実施することのできる一方法または一論理構成を流れ図形式で示す図である。
【図１】
2009539160.tif 000003
【図２】
2009539160.tif 000004
【図３】
2009539160.tif 000005
【図４】
2009539160.tif 000006
【図５】
2009539160.tif 000007
【手続補正書】
【提出日】平成21年4月1日(2009.4.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クラスタ化システムでの非破壊的エラー回復のための機器であって、
第１仮想ノード・インスタンスでの構成活動を静止するノード・インスタンス構成活動静止構成要素と、
Ｉ／Ｏアクセスがブロックされた第２仮想ノード・インスタンスを作成するノード・インスタンス作成構成要素と、
前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスに構成データを転送するノード・インスタンス構成転送構成要素と、
前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスへの切換えをコミットするコミット構成要素と、
第１仮想ノード・インスタンスへのインバウンド通信をブロックするノード・インスタンス通信ブロッキング構成要素と、
前記第２仮想ノード・インスタンスでのＩ／Ｏアクセスをアンブロックするノード・インスタンス通信アンブロッキング構成要素と、
前記第１仮想ノード・インスタンスからのアウトバウンド通信を監視し、すべての保留アウトバウンド通信の完了をシグナリングする通信制御構成要素と、
前記第１仮想ノード・インスタンスを削除するノード・インスタンス削除構成要素と
を備える機器。
【請求項２】
単一ディレクタ構成要素が、前記静止構成要素、前記ノード・インスタンス作成構成要素、前記ノード・インスタンス構成転送構成要素、前記コミット構成要素、前記ノード・インスタンス通信ブロッキング構成要素、前記ノード・インスタンス通信アンブロッキング構成要素、前記通信制御構成要素、および前記ノード・インスタンス削除構成要素を制御する請求項１に記載の機器。
【請求項３】
前記単一ディレクタ構成要素が、１つまたは複数のフィルタ構成要素と協働して、前記静止構成要素、前記ノード・インスタンス作成構成要素、前記ノード・インスタンス構成転送構成要素、前記コミット構成要素、前記ノード・インスタンス通信ブロッキング構成要素、前記ノード・インスタンス通信アンブロッキング構成要素、前記通信制御構成要素、および前記ノード・インスタンス削除構成要素のうちの１つまたは複数を制御する請求項２に記載の機器。
【請求項４】
請求項１ないし３のいずれかに記載の機器を備えるクラスタ化システム。
【請求項５】
請求項１ないし３のいずれかに記載の機器を備えるストレージ仮想化システム。
【請求項６】
クラスタ化システムで非破壊的エラー回復を実施する方法であって、
第１仮想ノード・インスタンスでの構成活動を静止するステップと、
Ｉ／Ｏアクセスがブロックされた第２仮想ノード・インスタンスを作成するステップと、
前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスに構成データを転送するステップと、
前記第１仮想ノード・インスタンスから前記第２仮想ノード・インスタンスへの切換えをコミットするステップと、
第１仮想ノード・インスタンスへのインバウンド通信をブロックするステップと、
前記第２仮想ノード・インスタンスでのＩ／Ｏアクセスをアンブロックするステップと、
前記第１仮想ノード・インスタンスからのアウトバウンド通信を監視し、すべての保留アウトバウンド通信の完了をシグナリングするステップと、
前記第１仮想ノード・インスタンスを削除するステップと
を含む方法。
【請求項７】
単一ディレクティング構成要素が、静止する前記ステップ、作成する前記ステップ、転送する前記ステップ、コミットする前記ステップ、ブロックする前記ステップ、アンブロックする前記ステップ、監視する前記ステップ、シグナリングする前記ステップ、および削除する前記ステップを制御する請求項６に記載の方法。
【請求項８】
前記単一ディレクティング構成要素が、１つまたは複数のフィルタ構成要素と協働して、静止する前記ステップ、作成する前記ステップ、転送する前記ステップ、コミットする前記ステップ、ブロックする前記ステップ、アンブロックする前記ステップ、監視する前記ステップ、シグナリングする前記ステップ、および削除する前記ステップのうちの１つまたは複数を制御する請求項７に記載の方法。
【請求項９】
その上に機能データを有するデータ・キャリアであって、前記機能データが機能コンピュータ・データ構造を備え、前記機能コンピュータ・データ構造がコンピュータ・システムにロードされ、前記コンピュータ・システムによって操作されるときに、前記コンピュータ・システムが請求項６ないし８のいずれか一項に記載の方法のすべてのステップを実施することを可能にするデータ・キャリア。
【請求項１０】
コンピュータ・プログラム・コードを含むコンピュータ・プログラムであって、前記コンピュータ・プログラム・コードがコンピュータ・システムにロードされ、前記コンピュータ・システム上で実行されるときに、請求項６ないし８のいずれか一項に記載の方法のすべてのステップを前記コンピュータ・システムに実施させるコンピュータ・プログラム。
【国際調査報告】
2009539160.tif 000008
2009539160.tif 000009
2009539160.tif 000010