【手続補正書】
【提出日】平成18年2月8日(2006.2.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
キーと値のペアを記憶するための方法であって、
キーと値のペア情報をリポジトリに記憶し、アクセスするよう、クライアントが呼び出しを行なう際に介するリポジトリインターフェイスを、アプリケーションプログラミング層で公開するステップと、
前記リポジトリインターフェイスを介して、第１のノード上の第１の構成要素において、動作を実行する要求を、第１のノード上のクライアントから受取るステップとを含み、第１の構成要素は第１のクライアントに関連付けられ、前記方法はさらに、
第１の構成要素において要求を受取ることに応答して、第１の構成要素が第１のノード用のキャッシング構成要素として指定されているかどうかを判断するステップと、
第１の構成要素が第１のノード用のキャッシング構成要素として指定されていないと判断することに応答して、第１のノード上の第２の構成要素が第１のノード用のキャッシング構成要素として指定されているかどうかを判断するステップとを含み、第２の構成要素は第１のノード上の第２のクライアントに関連付けられ、前記方法はさらに、
第２の構成要素が第１のノード用のキャッシング構成要素として指定されていると判断することに応答して、前記要求により必要とされる情報が第１のノード上のローカルキャッシュに含まれているかどうかを、第２の構成要素において判断するステップと、
前記要求により必要とされる情報が第１のノード上のローカルキャッシュに含まれていないと判断することに応答して、第２のノード上の第３の構成要素がマスタ構成要素として指定されているかどうかを判断するステップとを含み、第２のノードは第１のノードとは別個であり、第３の構成要素は第２のノード上の第３のクライアントに関連付けられ、前記方法はさらに、
第３の構成要素がマスタ構成要素として指定されていると判断することに応答して、第３の構成要素において以下のステップを実行するステップを含み、以下のステップは、
ストレージ抽象層の共通のインターフェイスを介して複数のプラグインのうちの１つを呼び出すことによって、前記リポジトリインターフェイスを介して行なわれた呼び出しに応じるステップと、
動作を実行する要求を受取るステップと、
前記動作の実行中にアクセスするために、前記複数のプラグインのうちのどの特定のプラグインが、ストレージサブシステムの種類に対応するかを判断するステップと、
ストレージサブシステムの前記種類に対応する特定のプラグインを動的にロードするステップと、
前記共通のインターフェイスを介して前記特定のプラグインに１つ以上の呼び出しを行なうことによって前記動作を実行するステップとを含み、
前記複数のプラグインの各プラグインは、永続的に記憶されたキーと値のペア情報にアクセスするために前記共通のインターフェイスを公開し、
前記複数のプラグインの各プラグインは、前記共通のインターフェイスを介して行なわれた呼び出しに応答して、ある特定の種類のストレージサブシステムと相互作用するよう設計されており、
各プラグインが相互作用するストレージサブシステムは、前記複数のプラグインの他の各々が相互作用するストレージサブシステムとは異なる種類のストレージサブシステムである、方法。
【請求項２】
前記リポジトリの第３の構成要素をマスタ構成要素として指定するステップと、
クラスタの複数のノードにわたって広がっている構成要素において、前記複数のノード上に存在するクライアントから前記リポジトリインターフェイスを介して呼び出しを受取るステップと、
パーシステントなストレージへのアクセスを要求するすべての呼び出しを前記マスタ構成要素に向けるステップとをさらに含み、
マスタ構成要素は、前記共通のインターフェイスを介してプラグインを呼び出すステップを行なうことが許可された前記リポジトリの唯一の構成要素である、請求項１に記載の方法。
【請求項３】
クライアントから前記リポジトリインターフェイスを介して要求を受取るステップと、
前記共通のインターフェイスを介して、前記要求により必要とされる前記情報について呼び出しを行なう前に、マスタキャッシュにおいて前記情報を検索するステップとをさらに含む、請求項１に記載の方法。
【請求項４】
第１のクライアントは第１のノード上に存在し、マスタキャッシュは第２のノード上に存在し、
前記方法は、前記マスタキャッシュにおいて前記情報を検索するステップの前に、前記第１のノード上のローカルキャッシュ上で前記情報を検索するステップをさらに含む、請求項３に記載の方法。
【請求項５】
第１のノードは前記リポジトリの複数の構成要素を含み、
前記方法はさらに、
前記複数の構成要素の１つの構成要素のみをキャッシング構成要素として確立するステップと、
前記第１の構成要素が前記キャッシング構成要素ではない場合、前記第１の構成要素から前記キャッシング構成要素にメッセージが送られるようにして、前記キャッシング構成要素に前記情報について前記ローカルキャッシュを検索させるステップとを含む、請求項４に記載の方法。
【請求項６】
前記リポジトリインターフェイスを実現するルーチンを含むコードライブラリを作成するステップと、
前記コードライブラリをクライアントコードにリンクさせて、前記クライアントコードにおけるルーチンが、前記コードライブラリの前記ルーチンを呼び出すことによって前記リポジトリを使用できるようにするステップとをさらに含む、請求項１に記載の方法。
【請求項７】
前記リポジトリインターフェイスの一部を実現するルーチンを介して、クライアントから呼び出しを受取るステップと、
前記呼び出しにおけるパラメータの値に基づいて、前記クライアントに関連する前記リポジトリの構成要素を、前記リポジトリ用のキャッシュを管理する責任を負うキャッシング構成要素として確立するかどうかを判断するステップとをさらに含む、請求項１に記載の方法。
【請求項８】
キーと値のペアを記憶するための方法であって、
キーと値のペア情報をリポジトリに記憶し、アクセスするよう、クライアントが呼び出しを行なう際に介するリポジトリインターフェイスを公開するステップと、
前記リポジトリインターフェイスの一部を実現するルーチンを介して、クライアントから呼び出しを受取るステップと、
前記呼び出しに基づいて、前記クライアントに関連する前記リポジトリの構成要素を、前記リポジトリ用のキャッシュを管理する責任を負うキャッシング構成要素として確立するかどうかを判断するステップとを含む、方法。
【請求項９】
リポジトリは、キャッシングアクセスモードおよびデフォルトアクセスモードを含む複数のアクセスモードをサポートし、
呼び出しを受取るステップは、キャッシングアクセスモードおよびデフォルトアクセスモードのうちの１つを特定する呼び出しを受取るステップを含み、
前記方法は、前記呼び出しが前記キャッシングアクセスモードを特定する場合に、前記クライアントに関連する前記リポジトリの構成要素をキャッシング構成要素として確立するステップを含む、請求項８に記載の方法。
【請求項１０】
前記呼び出しが前記デフォルトアクセスモードを特定すると判断することに応答して、前記構成要素により受取られた前記リポジトリからの情報を読出す要求を、前記クライアントから第２のクライアントに関連する第２のキャッシング構成要素にわたすステップと、
前記第２の構成要素によって管理される前記リポジトリからの情報のキャッシュを検査することによって、前記要求に対して前記第２の構成要素に応答させるステップとをさらに含む、請求項９に記載の方法。
【請求項１１】
前記構成要素と前記第２のキャッシング構成要素とは単一のノード上に存在する、請求項１０に記載の方法。
【請求項１２】
第２のキャッシング構成要素により管理されるキャッシュが前記クライアントからの特定の要求により必要とされる情報を含んでいない場合、前記第２のキャッシング構成要素は、前記要求を、前記ノードに対して遠隔にある第２のノード上に存在する第３の構成要素に送るステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
複数のアクセスモードは、インストールアクセスモードおよび読出し専用アクセスモードをさらに含み、
クライアントは、前記リポジトリを最初に作成する際に前記インストールアクセスモードを使用し、
クライアントは、前記リポジトリから立上がる際に前記読出し専用アクセスモードを使用する、請求項９に記載の方法。
【請求項１４】
キーと値のペアを記憶するための方法であって、
キーと値のペア情報を、キーと値のペア情報用に特に設計されたリポジトリに記憶し、アクセスするよう、クライアントが呼び出しを行なう際に介するリポジトリインターフェ
イスを公開するステップと、
クライアントから前記リポジトリインターフェイスを介して１つ以上の呼び出しを受取るステップとを含み、
前記キーと値のペア情報をパーシステントに記憶するために、前記リポジトリ用の任意の構造をパーシステントなストレージ上に割当てる前に、前記１つ以上の呼び出しは前記リポジトリインターフェイスで受取られ、前記方法はさらに、
前記１つ以上の呼び出しに基づいて、前記キーと値のペア情報を前記パーシステントなストレージ上にパーシステントに記憶するための構造を作成するステップを含む、方法。
【請求項１５】
前記リポジトリは、インストールアクセスモードおよびデフォルトアクセスモードを含む複数のアクセスモードをサポートし、
１つ以上の呼び出しを受取るステップは、インストールアクセスモードを特定する少なくとも１つの呼び出しを受取るステップを含み、
前記方法は、前記クライアントが前記インストールアクセスモードにとどまっている間、前記インストールアクセスモードと前記リポジトリの独占使用とを前記クライアントに与えるステップを含む、請求項１４に記載の方法。
【請求項１６】
前記複数のアクセスモードは読出し専用アクセスモードを含み、
前記方法は、
読出し専用アクセスモードを用いて動作を実行する要求を第２のクライアントから受取るステップと、
前記動作の実行中、前記リポジトリの並行処理メカニズムを回避するステップとを含む、請求項１５に記載の方法。
【請求項１７】
キーと値のペアを記憶するための命令を保持するコンピュータ読取可能な媒体であって、前記命令は、
キーと値のペア情報をリポジトリに記憶し、アクセスするよう、クライアントが呼び出しを行なう際に介するリポジトリインターフェイスを、アプリケーションプログラミング層で公開するステップと、
前記リポジトリインターフェイスを介して、第１のノード上の第１の構成要素において、動作を実行する要求を、第１のノード上のクライアントから受取るステップとを含み、第１の構成要素は第１のクライアントに関連付けられ、前記方法はさらに、
第１の構成要素において要求を受取ることに応答して、第１の構成要素が第１のノード用のキャッシング構成要素として指定されているかどうかを判断するステップと、
第１の構成要素が第１のノード用のキャッシング構成要素として指定されていないと判断することに応答して、第１のノード上の第２の構成要素が第１のノード用のキャッシング構成要素として指定されているかどうかを判断するステップとを含み、第２の構成要素は第１のノード上の第２のクライアントに関連付けられ、前記方法はさらに、
第２の構成要素が第１のノード用のキャッシング構成要素として指定されていると判断することに応答して、前記要求により必要とされる情報が第１のノード上のローカルキャッシュに含まれているかどうかを、第２の構成要素において判断するステップと、
前記要求により必要とされる情報が第１のノード上のローカルキャッシュに含まれていないと判断することに応答して、第２のノード上の第３の構成要素がマスタ構成要素として指定されているかどうかを判断するステップとを含み、第２のノードは第１のノードとは別個であり、第３の構成要素は第２のノード上の第３のクライアントに関連付けられ、前記方法はさらに、
第３の構成要素がマスタ構成要素として指定されていると判断することに応答して、第３の構成要素において以下のステップを実行するステップを含み、以下のステップは、
ストレージ抽象層の共通のインターフェイスを介して複数のプラグインのうちの１つを呼び出すことによって、前記リポジトリインターフェイスを介して行なわれた呼び出しに
応じるステップと、
動作を実行する要求を受取るステップと、
前記動作の実行中にアクセスするために、前記複数のプラグインのうちのどの特定のプラグインが、ストレージサブシステムの種類に対応するかを判断するステップと、
ストレージサブシステムの前記種類に対応する特定のプラグインを動的にロードするステップと、
前記共通のインターフェイスを介して前記特定のプラグインに１つ以上の呼び出しを行なうことによって前記動作を実行するステップとを含み、
前記複数のプラグインの各プラグインは、永続的に記憶されたキーと値のペア情報にアクセスするために前記共通のインターフェイスを公開し、
前記複数のプラグインの各プラグインは、前記共通のインターフェイスを介して行なわれた呼び出しに応答して、ある特定の種類のストレージサブシステムと相互作用するよう設計されており、
各プラグインが相互作用するストレージサブシステムは、前記複数のプラグインの他の各々が相互作用するストレージサブシステムとは異なる種類のストレージサブシステムである、コンピュータ読取可能な媒体。
【請求項１８】
前記リポジトリの第３の構成要素をマスタ構成要素として指定するステップと、
クラスタの複数のノードにわたって広がっている構成要素において、前記複数のノード上に存在するクライアントから前記リポジトリインターフェイスを介して呼び出しを受取るステップと、
パーシステントなストレージへのアクセスを要求するすべての呼び出しを前記マスタ構成要素に向けるステップとを行なうための命令をさらに含み、
マスタ構成要素は、前記共通のインターフェイスを介してプラグインを呼び出すステップを行なうことが許可された前記リポジトリの唯一の構成要素である、請求項１７に記載のコンピュータ読取可能な媒体。
【請求項１９】
クライアントから前記リポジトリインターフェイスを介して要求を受取るステップと、
前記共通のインターフェイスを介して、前記要求により必要とされる情報について呼び出しを行なう前に、マスタキャッシュにおいて前記情報を検索するステップとを行なうための命令をさらに含む、請求項１７に記載のコンピュータ読取可能な媒体。
【請求項２０】
第１のクライアントは第１のノード上に存在し、マスタキャッシュは第２のノード上に存在し、
前記コンピュータ読取可能な媒体は、前記マスタキャッシュにおいて前記情報を検索するステップの前に、前記第１のノード上のローカルキャッシュ上で前記情報を検索するステップを行なうための命令をさらに含む、請求項１９に記載のコンピュータ読取可能な媒体。
【請求項２１】
第１のノードは前記リポジトリの複数の構成要素を含み、
前記コンピュータ読取可能な媒体はさらに、
前記複数の構成要素の１つの構成要素のみをキャッシング構成要素として確立するステップと、
前記第１の構成要素が前記キャッシング構成要素ではない場合、前記第１の構成要素から前記キャッシング構成要素にメッセージが送られるようにして、前記キャッシング構成要素に前記情報について前記ローカルキャッシュを検索させるステップとを行なうための命令を含む、請求項２０に記載のコンピュータ読取可能な媒体。
【請求項２２】
前記リポジトリインターフェイスを実現するルーチンを含むコードライブラリを作
成するステップと、
前記コードライブラリをクライアントコードにリンクさせて、前記クライアントコードにおけるルーチンが、前記コードライブラリの前記ルーチンを呼び出すことによって前記リポジトリを使用できるようにするステップとを行なうための命令をさらに含む、請求項１７に記載のコンピュータ読取可能な媒体。
【請求項２３】
前記リポジトリインターフェイスの一部を実現するルーチンを介して、クライアントから呼び出しを受取るステップと、
前記呼び出しにおけるパラメータの値に基づいて、前記クライアントに関連する前記リポジトリの構成要素を、前記リポジトリ用のキャッシュを管理する責任を負うキャッシング構成要素として確立するかどうかを判断するステップとを行なうための命令をさらに含む、請求項１７に記載のコンピュータ読取可能な媒体。
【請求項２４】
キーと値のペアを記憶するための命令を保持するコンピュータ読取可能な媒体であって、
キーと値のペア情報をリポジトリに記憶し、アクセスするよう、クライアントが呼び出しを行なう際に介するリポジトリインターフェイスを公開するステップと、
前記リポジトリインターフェイスの一部を実現するルーチンを介して、クライアントから呼び出しを受取るステップと、
前記呼び出しに基づいて、前記クライアントに関連する前記リポジトリの構成要素を、前記リポジトリ用のキャッシュを管理する責任を負うキャッシング構成要素として確立するかどうかを判断するステップとを行なうための命令を含む、コンピュータ読取可能な媒体。
【請求項２５】
リポジトリは、キャッシングアクセスモードおよびデフォルトアクセスモードを含む複数のアクセスモードをサポートし、
呼び出しを受取るステップは、キャッシングアクセスモードおよびデフォルトアクセスモードのうちの１つを特定する呼び出しを受取るステップを含み、
前記コンピュータ読取可能な媒体は、前記呼び出しが前記キャッシングアクセスモードを特定する場合に、前記クライアントに関連する前記リポジトリの構成要素をキャッシング構成要素として確立するステップを行なうための命令を含む、請求項２４に記載のコンピュータ読取可能な媒体。
【請求項２６】
前記呼び出しが前記デフォルトアクセスモードを特定すると判断することに応答して、前記構成要素により受取られた前記リポジトリからの情報を読出す要求を、前記クライアントから第２のクライアントに関連する第２のキャッシング構成要素にわたすステップと、
前記第２のキャッシング構成要素によって管理される前記リポジトリからの情報のキャッシュを検査することによって、前記要求に対して前記第２の構成要素に応答させるステップとを行なうための命令をさらに含む、請求項２５に記載のコンピュータ読取可能な媒体。
【請求項２７】
前記構成要素と前記第２のキャッシング構成要素とは単一のノード上に存在する、請求項２６に記載のコンピュータ読取可能な媒体。
【請求項２８】
第２のキャッシング構成要素により管理されるキャッシュが前記クライアントからの特定の要求により必要とされる情報を含んでいない場合、前記第２のキャッシング構成要素は、前記要求を、前記ノードに対して遠隔にある第２のノード上に存在する第３の構成要素に送るステップを行なうための命令をさらに含む、請求項２７に記載のコンピュータ読取可能な媒体。
【請求項２９】
複数のアクセスモードは、インストールアクセスモードおよび読出し専用アクセスモードをさらに含み、
クライアントは、前記リポジトリを最初に作成する際に前記インストールアクセスモードを使用し、
クライアントは、前記リポジトリから立上がる際に前記読出し専用アクセスモードを使用する、請求項２５に記載のコンピュータ読取可能な媒体。
【請求項３０】
キーと値のペアを記憶するための命令を保持するコンピュータ読取可能な媒体であって、
キーと値のペア情報を、キーと値のペア情報用に特に設計されたリポジトリに記憶し、アクセスするよう、クライアントが呼び出しを行なう際に介するリポジトリインターフェイスを公開するステップと、
クライアントから前記リポジトリインターフェイスを介して１つ以上の呼び出しを受取るステップとを行なうための命令を含み、
前記キーと値のペア情報をパーシステントに記憶するために、前記リポジトリ用の任意の構造をパーシステントなストレージ上に割当てる前に、前記１つ以上の呼び出しは前記リポジトリインターフェイスで受取られ、前記コンピュータ読取可能な媒体はさらに、
前記１つ以上の呼び出しに基づいて、前記キーと値のペア情報を前記パーシステントなストレージ上にパーシステントに記憶するための構造を作成するステップを含む、コンピュータ読取可能な媒体。
【請求項３１】
前記リポジトリは、インストールアクセスモードおよびデフォルトアクセスモードを含む複数のアクセスモードをサポートし、
１つ以上の呼び出しを受取るステップは、インストールアクセスモードを特定する少なくとも１つの呼び出しを受取るステップを含み、
前記コンピュータ読取可能な媒体は、前記クライアントが前記インストールアクセスモードにとどまっている間、前記インストールアクセスモードと前記リポジトリの独占使用とを前記クライアントに与えるステップを行なうための命令を含む、請求項３０に記載のコンピュータ読取可能な媒体。
【請求項３２】
前記複数のアクセスモードは読出し専用アクセスモードを含み、
前記コンピュータ読取可能な媒体は、
読出し専用アクセスモードを用いて動作を実行する要求を第２のクライアントから受取るステップと、
前記動作の実行中、前記リポジトリの並行処理メカニズムを回避するステップとを行なう命令を含む、請求項３１に記載のコンピュータ読取可能な媒体。