【手続補正書】
【提出日】平成16年12月14日(2004.12.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のノードであって、前記ノードそれぞれは、少なくとも一つのプロセッサと、少なくとも一つの共有メモリを含むノードと、
コンピュータシステムを管理するオペレーティングシステムと、
オペレーティングシステムと複数のノードとの間に接続され、前記オペレーティングシステムが、あたかも複数のノードが単一の資源であるかのように、前記複数のノードを扱えるようにし、前記複数のノードを分離して、前記複数のノードの間で、障害の伝搬を防ぐインタフェースモジュールであって、複数のノードのいずれかにおける障害が、前記複数のノードの他のノードに広がることを防ぐための複数の信頼性プロトコルを含むインタフェースモジュールと
を含むコンピュータシステムであって、
１つのノードは、他のノードに記憶される情報を必要とし、
前記複数の信頼性プロトコルは、
前記インタフェースモジュールに、前記１つのノードに代わって、前記他のノードに送られる情報の要求メッセージを生成させる遠隔呼び出しプロトコルと、
前記インタフェースモジュールに、前記１つのノードに代わって、前記情報に直接的にアクセスする前に、前記他のノードおよび前記情報の完全性を検査させる慎重な参照プロトコルと、
前記インタフェースモジュールに、前記情報への直接的なアクセスの後に、前記情報に対する整合性チェックを実行させる整合性点検プロトコルと
を含み、
前記インタフェースモジュールは、オペレーティングシステムと、メモリ配置(allocation)機能およびメモリ配置解除（deallocation）機能とを介してインターフェースし、全ての共有メモリを、共有メモリ群として扱い、オペレーティングシステムによるメモリ配置機能の起動が、前記インタフェースモジュールに、データ構造であって、オペレーティングシステムに返されるポインタを形成するように、前記群の一部を配分させる
コンピュータシステム。
【請求項２】
前記障害は、ソフトウエア障害である
請求項１に記載のコンピュータシステム。
【請求項３】
前記障害は、ハードウエア障害である
請求項１に記載のコンピュータシステム。
【請求項４】
前記オペレーティングシステムによるメモリ配置解除機能の起動は、前記インタフェースモジュールに、前記データ構造を形成するために使用された群の部分の配置を解除させる
請求項１に記載のコンピュータシステム。
【請求項５】
前記データ構造のサイズは、前記オペレーティングシステムによって要求されるサイズより大きい
請求項１に記載のコンピュータシステム。
【請求項６】
前記データ構造は、
データ構造に関する情報を含む少なくとも一つの隠れた領域
を含む
請求項１に記載のコンピュータシステム。
【請求項７】
少なくとも２つの隠れた領域があり、これら隠れた領域内の情報は、
前記データ構造のソフトウエアロッキングを許すロックフィールドと、
冗長なデータ構造を示しているポインタフィールドと
を有する
請求項６に記載のコンピュータシステム。
【請求項８】
少なくとも２つの隠れた領域があり、これら隠れた領域内の情報は、
配置されたメモリのサイズを示すサイズフィールドと、
前記データ構造の汚染(corruption)を示すチェックサムフィールドと
を有する
請求項６に記載のコンピュータシステム。
【請求項９】
メモリ配置機能の起動は、前記インタフェースモジュールに、前記データ構造のコピーである冗長なデータ構造を作成させ、
前記冗長なデータ構造は、データ構造が格納されているノードとは異なるノードにある共有メモリに記憶される
請求項１に記載のコンピュータシステム。
【請求項１０】
前記インターフェースモジュールは、前記オペレーティングシステムと、メモリロッキング機能およびメモリロッキング解除機能を介してインターフェースし、
前記メモリロッキング機能の起動は、前記複数のノードの特定ノードの１つの処理のみに対して、前記データ構造へのアクセスをロックし、前記コンピュータシステムにおける他のいかなる処理によるアクセスをも阻む
請求項１に記載のコンピュータシステム。
【請求項１１】
前記オペレーティングシステムによる前記メモリロッキング解除機能の起動は、ロックされた前記データ構造へのアクセスのロックを解除し、他のプロセッサがデータ構造にアクセスできるようにする
請求項１０に記載のコンピュータシステム。
【請求項１２】
前記メモリ配置機能の起動は、前記インターフェースモジュールに、冗長なデータ構造を作成させ、前記冗長なデータ構造は、前記データ構造のコピーであり、
前記前記メモリロッキング解除機能の起動は、前記インターフェースモジュールが、前記冗長なデータ構造を更新させるように信号を送る
請求項１１に記載のコンピュータシステム。
【請求項１３】
コンピュータロジックが記録されたコンピュータ可読媒体を有するコンピュータプログラム製品であって、前記コンピュータロジックは、オペレーティングシステムが、コンピュータシステムの複数のノードを、あたかも１つの資源であるかのように扱えるようにし、前記複数のノードそれぞれは、少なくとも１つのプロセッサと、少なくとも１つの共有メモリを有し、
前記複数のノードのいずれかにおける障害が、前記複数のノードの他のノードまで広がることを防止する複数の信頼性プロトコルと、
前記オペレーティングシステムにより起動され、前記インタフェースモジュールに、前記共有メモリの部分を配置させ、データ構造であって、オペレーティングシステムに返されるポインタを形成するメモリ配置機能と、
前記オペレーティングシステムにより起動され、前記インタフェースモジュールに、前記データ構造を形成するために用いられた前記要求メモリの部分の配置を解除させるメモリ配置解除機能と、
前記オペレーティングシステムにより起動され、前記データ構造へのアクセスを、前記複数のノードの特定ノードの１つのプロセッサに対してのみロックし、前記コンピュータシステムの他のいずれのプロセッサによるアクセスも阻むメモリロッキング機能と、
前記オペレーティングシステムにより起動され、ロックされた前記データ構造へのアクセスのロックを解除し、前記コンピュータシステムにおける他のプロセッサに対して、アクセスを認めるメモリロッキング解除機能と
を有し、
１つのノードは、他のノードに記憶された情報を必要とし、
前記複数の信頼性プロトコルは、
前記インターフェースモジュールに、前記１つのノードに代わって、他のノードに送られる情報の要求メッセージを生成させる遠隔呼び出しプロトコルと、
前記インタフェースモジュールに、前記１つのノードに代わって、前記情報に直接的にアクセスする前に、前記他のノードおよび前記情報の完全性を検査させる慎重な参照プロトコルと、
前記インタフェースモジュールに、前記情報への直接的なアクセスの後に、前記情報に対する整合性チェックを実行させる整合性点検プロトコルと
を含む
コンピュータプログラム製品。
【請求項１４】
前記障害は、ソフトウエア障害である
請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
前記障害は、ハードウエア障害である
請求項１３に記載のコンピュータプログラム製品。
【請求項１６】
前記データ構造のサイズは、オペレーティングシステムによって要求されるサイズより大きい
請求項１３に記載のコンピュータプログラム製品。
【請求項１７】
前記データ構造は、前記データ構造に関する情報を含む少なくとも一つの隠れた領域を含む
請求項１３に記載のコンピュータプログラム製品。
【請求項１８】
少なくとも２つの隠れた領域があり、これら隠れた領域内の情報は、
前記データ構造のソフトウエアロッキングを許すロックフィールドと、
冗長なデータ構造を示しているポインタフィールドと
を有する
請求項１３に記載のコンピュータプログラム製品。
【請求項１９】
少なくとも２つの隠れた領域があり、これら隠れた領域内の情報は、
配置されたメモリのサイズを示すサイズフィールドと、
前記データ構造の汚染(corruption)を示すチェックサムフィールドと
を有する
請求項１３に記載のコンピュータプログラム製品。
【請求項２０】
メモリ配置機能の起動は、前記インタフェースモジュールに、前記データ構造のコピーである冗長なデータ構造を作成させ、
前記冗長なデータ構造は、データ構造が格納されているノードとは異なるノードにある共有メモリに記憶される
請求項１３に記載のコンピュータプログラム製品。
【請求項２１】
前記前記メモリロッキング解除機能の起動は、前記インターフェースモジュールが、前記冗長なデータ構造を更新するように信号を送る
請求項２０に記載のコンピュータプログラム製品。
【請求項２２】
コンピュータシステムのオペレーティングシステムに対して仮想資源を提供する方法であって、前記コンピュータシステムは、複数のノードを有し、前記ノードそれぞれは、少なくとも１つのプロセッサおよび少なくとも１つの共有メモリを有し、
前記オペレーティングシステムの制御下で、前記コンピュータシステムを管理するステップと、
前記複数のノードを分離して、前記複数のノード間における障害の伝搬を阻むステップと、
前記オペレーティングシステムが、前記複数のノードを、あたかも単一の資源であるかのように扱えるようにするステップと
を有し、
前記分離するステップおよび前記扱えるようにするステップは、前記オペレーティングシステムと前記複数のノードとの間に挿入される前記インタフェースモジュールを介して実行され、
前記分離するステップは、前記複数のノードのいずれかにおける障害が、前記複数のノードの他のノードにまで広がることを阻止するステップを含み、
１つのノードは、他のノードに記憶された情報を必要とし、
前記障害を阻止するステップは、
前記１つのノードの代わりに、前記インタフェースモジュールにより、他のノードに送られる前記情報を要求する要求メッセージを生成するステップと、
前記１つのノードの代わりに、前記インタフェースモジュールにより、膳の他のノードおよび前記情報の完全性を検査するステップと、
直接的に前記情報にアクセスした後に、前記インタフェースモジュールによって、前記情報について整合性のチェックを実行するステップと
を有し、
前記扱えるようにするステップは、
メモリ配置機能およびメモリ配置解除機能を介して、前記オペレーティングシステムと、前記インタフェースモジュールによってインターフェースするステップ
を有し、
前記インタフェースモジュールは、全ての共有メモリを、共有メモリ群として扱い、
前記インターフェースするステップは、
前記オペレーティングシステムによって、メモリ配置機能を呼び出すステップと、
前記インタフェースモジュールによって、前記群の部分を配置するステップと
前記オペレーティングシステムに、前記データ構造へのポインタを返すステップと
を有する
方法。
【請求項２３】
前記障害は、ソフトウエア障害である
請求項２２に記載の方法。
【請求項２４】
前記障害は、ハードウエア障害である
請求項２２に記載の方法。
【請求項２５】
前記扱えるようにするステップは、
前記オペレーティングシステムによって、前記メモリ配置解除機能を呼び出すステップと、
前記インタフェースモジュールによって、前記データ構造を形成するために用いられている前記群の部分の配置を解除するステップと
をさらに含む
請求項２２に記載の方法。
【請求項２６】
前記データ構造のサイズは、オペレーティングシステムによって要求されるサイズより大きい
請求項２２に記載の方法。
【請求項２７】
前記データ構造は、前記データ構造に関する情報を含む少なくとも１つの領域を含む
請求項２２に記載の方法。
【請求項２８】
少なくとも２つの隠れた領域があり、これらの隠れた領域内の情報は、
前記データ構造のソフトウエアロッキングを許すロックフィールドと、
冗長なデータ構造を示しているポインタフィールドと
を有する
請求項２７に記載の方法。
【請求項２９】
少なくとも２つの隠れた領域があり、これら隠れた領域内の情報は、
配置されたメモリのサイズを示すサイズフィールドと、
前記データ構造の汚染(corruption)を示すチェックサムフィールドと
を有する
請求項２７に記載の方法。
【請求項３０】
前記起動するステップは、
前記データ構造のコピーである冗長なデータ構造を作成するステップと、
前記冗長なデータ構造を、前記データ構造が記憶されているノードとは異なるノードにある共有メモリに記憶するステップと
を有する
請求項２２に記載の方法。
【請求項３１】
前記扱えるようにするステップは、
前記インタフェースモジュールによって、メモリロッキング機能およびメモリロッキング解除機能を介して、前記オペレーティングシステムとインターフェースするステップと、
前記オペレーティングシステムによって、前記メモリロッキング機能を起動するステップと、
前記複数のノードの特定ノードの１つのプロセッサのみに、前記データ構造にアクセスすることを認めるステップと、
前記コンピュータシステムにおける他のいかなるプロセッサに対しても、前記データ構造へのアクセスを阻止するステップと
を有する
請求項２２に記載の方法。
【請求項３２】
前記扱えるようにするステップは、
前記オペレーティングシステムによって、前記メモリロッキング解除機能を起動するステップと、
前記コンピュータシステムにおける他のプロセッサに対して、前記ロックされたデータ構造へのアクセスを認めるステップと
を有する
請求項３１に記載の方法。
【請求項３３】
前記メモリ配置機能を起動するステップは、前記インタフェースモジュールに、前記データ構造のコピーである冗長なデータ構造を作成させ、
前記メモリロッキング解除機能を起動するステップは、
前記インタフェースモジュールが、前記冗長なデータ構造を更新するように信号を送るステップ
を有する
請求項３２に記載の方法。