【手続補正書】
【提出日】平成25年8月13日(2013.8.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クラスタ・システムにおいて、１次記憶サブシステムの故障に対処するための方法であって、
前記クラスタ内の各ノードを２つのブート・ボリュームのリストを備えて構成するステップと、
各ノードのフラッシュ・メモリに各ノードに対する前記ブート・ボリュームの前記リストを保存するステップであって、前記ブート・ボリューム・リストを、ノードと前記１次記憶サブシステムとの間の第１の論理パス、および前記ノードと２次記憶サブシステムとの間の第２の論理パスを含むものとして定義するステップを含み、前記第１の論理パスは前記１次記憶サブシステム上のブート・ボリュームを指し、および前記第２の論理パスは前記２次記憶サブシステム上のブート・ボリュームを指す、前記保存するステップと、
前記１次記憶サブシステムの故障に応答して、前記第１および第２の論理パスの役割を変更し、前記１次記憶サブシステムと通信する各ノードのアクセスを前記２次記憶サブシステムに切り替えるステップと、
前記切り替える間に非活動状態であった第３のノードのリブートの間に、管理ノードが前記第３のノードに関するブート・ボリュームを得るために前記第２の論理パスを使用するように前記第３のノードに指示することに応答して、前記第３のノードにローカルな２つのブート・ボリュームのリスト中に前記第１および第２の論理パスの順序を変更するステップと
を含む、前記方法。
【請求項２】
前記切り替える間に非活動状態であった前記第３のノードに対して、ローカル・フラッシュ・メモリ中のブート・ボリュームの前記リストを調べて、前記フラッシュ・メモリにおいて識別される前記第１の論理パスから前記ノードをブートするステップ
をさらに含む、請求項１に記載の方法。
【請求項３】
任意のデータ・ボリュームにアクセスする前に、ブート・ボリュームへの前記論理パスの識別およびデータ・ボリュームの場所を定めるために管理ノードを調べるステップ
をさらに含む、請求項２に記載の方法。
【請求項４】
前記リブートされたノードのフラッシュ・メモリにおけるブート・ボリュームへの論理パスのリストを修正して、前記第１および第２の論理パスの正確な順序を反映させるステップ
をさらに含む、請求項３に記載の方法。
【請求項５】
ノードに対するブート・ボリュームへの論理パスの誤ったリストに応答して、論理パスの前記リストを訂正した後に前記ノードをリブートするステップ
をさらに含む、請求項４に記載の方法。
【請求項６】
前記クラスタ内の各活動ノードに対する前記第１および第２の論理パスの役割を変更するステップ
をさらに含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
コンピュータ・システムであって、
少なくとも２つのノードを有するコンピュータ・クラスタであって、各ノードは関連するプロセッサおよびフラッシュ・メモリと通信し、各ノードは管理ノードと通信する、前記コンピュータ・クラスタと、
各ノードのフラッシュ・メモリにおいて維持される少なくとも２つのブート・ボリュームのリストと、
各ノードに対するブート・ボリュームの前記リストを保存するための前記フラッシュ・メモリであって、ノードと１次記憶サブシステムとの間の第１の論理パス、および前記ノードと２次記憶サブシステムとの間の第２の論理パスを含み、前記第１の論理パスは前記１次記憶サブシステム上のブート・ボリュームを指し、および前記第２の論理パスは前記２次記憶サブシステム上のブート・ボリュームを指す、前記フラッシュ・メモリと、
前記１次記憶サブシステムの故障に応答して、前記第１および第２の論理パスの役割を変更し、前記１次記憶サブシステムと通信する各ノードのアクセスを前記２次記憶サブシステムに切り替えるマネージャと
を含み、
前記マネージャが、前記切り替える間に非活動状態であった第３のノードのリブートの間に、管理ノードが前記第３のノードに関するブート・ボリュームを得るために前記第２の論理パスを使用するように前記第３のノードに指示することに応答して、前記第３のノードにローカルな２つのブート・ボリュームのリスト中に前記第１および第２の論理パスの順序を変更する、前記システム。
【請求項８】
前記切り替える間に非活動状態であった前記第３のノードに対して、ローカル・フラッシュ・メモリ中のブート・ボリュームの前記リストを調べて、前記フラッシュ・メモリにおいて識別される前記第１の論理パスから前記ノードをブートするためのノード・マネージャをさらに含む、請求項７に記載のシステム。
【請求項９】
前記マネージャが、任意のデータ・ボリュームにアクセスする前に、ブート・ボリュームへの前記論理パスの識別およびデータ・ボリュームの場所を定めるために管理ノードを調べる、請求項８に記載のシステム。
【請求項１０】
前記マネージャが、前記リブートされたノードのフラッシュ・メモリにおけるブート・ボリュームへの論理パスのリストを修正して、前記第１および第２の論理パスの正確な順序を反映させる、請求項９に記載のシステム。
【請求項１１】
ノードに対するブート・ボリュームへの論理パスの誤ったリストに応答して、前記ノード・マネージャが、論理パスの前記リストを訂正した後に前記ノードをリブートする、請求項１０に記載のシステム。
【請求項１２】
クラスタ・システムにおいて、１次記憶サブシステムの故障に対処するためのコンピュータ・プログラムであって、クラスタに、請求項１〜６のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【請求項１３】
クラスタ・システムにおいて、１次記憶サブシステムの故障に対処するための方法であって、
各ノードに対してローカルなフラッシュ・メモリに各ノードに対するブート・ボリュームのリストを保存するステップと、
前記ブート・ボリューム・リストを、ノードと前記１次記憶サブシステムとの間の第１の論理パス、および前記ノードと２次記憶サブシステムとの間の第２の論理パスを含むものとして定義するステップであって、前記第１の論理パスは前記１次記憶サブシステム上のブート・ボリュームを指し、および前記第２の論理パスは前記２次記憶サブシステム上のブート・ボリュームを指す、前記定義するステップと、
前記１次記憶サブシステムの故障に応答して、前記第１および第２の論理パスの役割を変更し、前記１次記憶サブシステムと通信する各ノードのアクセスを前記２次記憶サブシステムに切り替えるステップと、
前記切り替える間に非活動状態であった第３のノードのリブートの間に、管理ノードが前記第３のノードに関するブート・ボリュームを得るために前記第２の論理パスを使用するように前記第３のノードに指示することに応答して、前記第３のノードにローカルな２つのブート・ボリュームのリスト中に前記第１および第２の論理パスの順序を変更するステップと、
前記第２の論理パスに割当てられたブート・ボリュームから前記第３のノードがブートするステップと
を含む、前記方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
しかし、こうした中央メモリはクラスタ化環境における活用のために利用できない。したがって、動的レプリカ・ボリューム・スワップ動作の際にオフラインであったか、またはオンラインになるプロセス中であった、すなわちクラスタに再結合する任意のノードに正しいブート・ボリュームを伝えて、影響されたノード（単数または複数）がオンラインとなってクラスタに結合する際に正しいブート・ボリュームからブートすることを確実にするための、クラスタ化環境における動的レプリカ・ボリューム・スワップ動作を支援する解決策が必要とされている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
動的レプリカ・ボリューム・スワップ動作は、ノードのオペレーティング・システム・デバイスが使用しているボリュームへのパスを、１次記憶システムからこれらのボリュームが同期的かつシームレスに複製される１つまたはそれ以上の記憶システムに変更することを支援する。この変更は、当該ノードにおいて実行中であり当該ボリュームに対して入出力を行なっているアプリケーションが、この計画的または非計画的フェールオーバを検知しないように変更される。本明細書に示される動的レプリカ・ボリューム・スワップ動作は、いかなるカスタム・ハードウェアも必要とせずに、オフライン・ノードの存在下のクラスタにおける動的レプリカ・ボリューム・スワップ動作を支援するためにオープン・システムにおいて用いられ得る。本出願の状況において、オープン・システムとは、公的に利用可能なインタフェースを有するアーキテクチャに基づく任意の汎用計算システムのことである。本発明は、動的レプリカ・ボリューム・スワップの際にオフラインであったノードがリブートされてクラスタに再結合するときに、そのノードが記憶ボリューム中の適切なブート・イメージからブートする必要があるという問題に対処するものである。各ノードのユーザ・スペースおよびカーネル・スペースの各々は、動的レプリカ・ボリューム・スワップ動作の管理を支援するためのツールによって変更される。加えて、ユーザ・スペースのツールと通信して記憶サブシステム中のブート・ボリュームの状態を追跡するために、管理構成要素が提供される。これらの付加的ツールは分散型システムにおける動的レプリカ・ボリューム・スワップ動作を支援し、ここでクラスタ内の各ノードはクラスタに結合するか、または動的レプリカ・ボリューム・スワップ動作の間もしくはその後にリブートしてもよく、正しいブート・イメージからブートする。したがって動的レプリカ・ボリューム・スワップ動作は、ブート・イメージを保持するための中央共用メモリなしに支援される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
実際に、実行可能コードのマネージャまたはエンジンは単一の命令であっても多くの命令であってもよく、いくつかの異なるコード・セグメント、異なるアプリケーション、およびいくつかのメモリ・デバイスの間で分散されていてもよい。同様に、本明細書においてオペレーショナル・データはマネージャもしくはエンジンまたはその両方において識別および例示されることがあり、任意の好適な形で実施されてもよいし、任意の好適なタイプのデータ構造内に編成されてもよい。オペレーショナル・データは単一のデータ組として収集されてもよいし、異なる記憶デバイスを含む異なる場所に分散されてもよく、システムまたはネットワーク上の電子信号として少なくとも部分的に存在してもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
さらに、記載される特徴、構造または特性は、１つまたはそれ以上の実施形態において任意の好適な態様で組合わされてもよい。以下の説明においては、本発明の実施形態の完全な理解を提供するために、たとえば計画的または非計画的な動的レプリカ・ボリューム・スワップ動作を経験するコンピュータ・クラスタ内のノードをブートする例など、多数の特定の詳細が提供される。しかし、関連技術分野の当業者は、その特定の詳細の１つまたはそれ以上を伴わずに、または他の方法、構成要素、材料などとともに本発明が実施されてもよいことを認識するだろう。他の場合には、本発明の局面を不明瞭にすることを避けるために、周知の構造、材料または動作の図示または詳細な説明は行なっていない。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
本発明の範囲内の実施形態は、その中にコード化されたプログラム・コードを有するプログラム記憶手段を含む製造品も含む。こうしたプログラム記憶手段は、汎用または専用コンピュータによるアクセスが可能な任意の利用可能な媒体であってもよい。たとえば、限定としてではなく、こうしたプログラム記憶手段はＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、またはその他の光ディスク記憶装置、磁気ディスク記憶装置もしくはその他の磁気記憶デバイス、または所望のプログラム・コード手段を保存するために使用可能であって汎用もしくは専用コンピュータによるアクセスが可能な任意のその他の媒体を含んでもよい。上記の組合わせもプログラム記憶手段の範囲に含まれるべきである。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
ソフトウェアの実装は、コンピュータまたは任意の命令実行システムによる使用またはそれに関連する使用のためのプログラム・コードを提供するコンピュータ使用可能またはコンピュータ読取り可能な媒体からアクセス可能な、コンピュータ・プログラム製品の形を取ってもよい。