【手続補正書】
【提出日】平成21年11月30日(2009.11.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ウェブサービスプロトコルに従って、データオブジェクトにアクセスするためのクライアント要求を受信するように構成されるウェブサービスインターフェースであって、前記データオブジェクトの所定の１つにアクセスするための前記クライアント要求の所定の１つが、前記所定のデータオブジェクトに対応するキー値を含む、ウェブサービスインターフェースと、
前記データオブジェクトを保存するように構成される複数のストレージノードであって、前記複製のそれぞれは、それぞれのロケータ値を介してアクセス可能であり、前記ロケータ値のそれぞれは、前記システム内で固有である、複数のストレージノードと、
前記データオブジェクトのそれぞれに対するそれぞれのキーマップエントリを保存するように構成させるキーマップインスタンスであって、前記所定のデータオブジェクトに対し、前記それぞれのキーマップエントリが、前記キー値と、前記所定のデータオブジェクトのそれぞれの保存された複製と対応している各ロケータ値を含む、キーマップインスタンスと、
前記ウェブサービスインターフェースから前記データオブジェクトにアクセスするための前記クライアント要求を受信するように構成されるコーディネータであって、前記所定のクライアント要求に応じて、前記コーディネータは前記キー値に対応する１つまたは複数のロケータ値を識別するために、前記キーマップインスタンスにアクセスし、特定の前記１つまたは複数のロケータ値については、対応する複製を取り出すために対応するストレージノードにアクセスするように構成される、コーディネータと、
を実装するように構成される、複数の計算ノードを含むことを特徴とするシステム。
【請求項２】
前記ウェブサービスインターフェースは、前記対応する複製を取り出す前に、さらに前記所定のクライアント要求が、前記所定のデータオブジェクトへアクセスするのに十分な特権を有するかどうかを判断し、前記所定のクライアント要求が十分な権利が与えられていない場合には、前記所定のクライアント要求を拒否するようにさらに構成されることを特徴とする請求項１に記載のシステム。
【請求項３】
前記ウェブサービスインターフェースは、前記ウェブサービスプロトコルに従って、データオブジェクトを保存するためにクライアント要求を受信するようにさらに構成され、前記データオブジェクトの特定の１つを保存するための前記クライアント要求の特定の１つは、前記特定データに対応するキー値を含むことを特徴とする請求項１に記載のシステム。
【請求項４】
前記ウェブサービスインターフェースは、前記特定データオブジェクトを保存するための料金を判断するようにさらに構成されることを特徴とする請求項３に記載のシステム。
【請求項５】
前記コーディネータは、前記ウェブサービスインターフェースからのデータオブジェクトを保存するための前記クライアント要求を受信するようにさらに構成され、前記特定のクライアント要求に応じて、前記コーディネータは前記特定のデータオブジェクトの１つ以上の複製を１つまたは複数の対応するストレージノードに保存するように構成され、前記特定のデータオブジェクトの所定の複製の保存に応じて、前記ストレージノードの所定の１つは、前記コーディネータへ前記所定の複製に対応するロケータ値を返すように構成されることを特徴とする請求項３に記載のシステム。
【請求項６】
前記特定のデータオブジェクトの前記１つまたは複数の複製が保存される、前記１つまたは複数の対応するストレージノードは、ストレージ規定に従って選択されることを特徴とする請求項４に記載のシステム。
【請求項７】
前記ストレージ規定は、前記コーディネータが前記特定のデータオブジェクトを保存するための前記特定のクライアント要求が完了することを示す前に、対応するストレージノードへ永久に保存されたことを示すために必要となる多くの複製を特定することを特徴とする請求項６に記載のシステム。
【請求項８】
前記ストレージ規定は、生成される前記特定のデータオブジェクトの所望の複製の数をさらに特定することを特徴とする請求項７に記載のシステム。
【請求項９】
前記複数の計算ノードは、前記キーマップエントリの所定の１つに対して、前記所定のキーマップエントリのそれぞれのロケータ値に対応する各複製が、アクセス可能かどうかの判断をするために、前記キーマップインスタンスの前記それぞれのキーマップエントリを調査するように構成されるレプリケータをさらに実装するように構成されることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記所定のキーマップエントリについて、前記所定のキーマップエントリのそれぞれのロケータ値に対応するアクセス可能な複製の数が、前記複製の所望の数よりも少ない場合、前記リプリケータは、前記複製の所望の数を満たすために十分である付加的な複製を作成するようにさらに構成されることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記複数のストレージノードは複数の領域に分散され、前記ストレージ規定は、前記コーディネータが前記特定のデータオブジェクトを保存するための前記特定のクライアント要求が完了することを示す前に、前記１つまたは複数の複製が永久に保存されることを示すことが必要となる最少数の領域を特定することを特徴とする請求項６に記載のシステム。
【請求項１２】
前記複数の領域の任意の２つの領域間において、ストレージノードの不具合の可能性の相関関係がしきい値未満であることを特徴とする請求項１に記載のシステム。
【請求項１３】
前記ストレージ規定は、可能な場合、前記１つまたは複数の複製のうちの少なくとも１つが、前記領域の所定のものに位置するストレージノードに書き込まれることをさらに特定し、前記コーディネータも前記所定の領域に位置することを特徴とする請求項１に記載のシステム。
【請求項１４】
前記ウェブサービスインターフェースによって受信された前記所定のデータオブジェクトへのアクセスのための前記クライアント要求のうちの特定の１つは、前記所定のデータオブジェクトの特定の複製に対応する特定のロケータ値を含むことを特徴とする請求項１１に記載のシステム。
【請求項１５】
前記ウェブサービスインターフェースからのアクセスのための前記特定のクライアント要求の受信に応じて、前記コーディネータは、前記キーマップインスタンスにアクセスすることなく、前記特定のロケータ値を介し、対応するストレージノードから前記特定の複製を取り出すようにさらに構成されることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記ウェブサービスプロトコルは、ＲｅｐｒｅｓｅｎｔａｔｉｏｎａｌＳｔａｔｅＴｒ
ａｎｓｆｅｒ（ＲＥＳＴ）ウェブサービスモデルを実行し、前記ウェブサービスプロトコルに従って前記所定のクライアント要求を受信するため、前記ウェブサービスインターフェースは、ＨｙｐｅｒｔｅｘｔＴｒａｎｓｆｅｒＰｒｏｔｏｃｏｌ（ＨＴＴＰ）のバージョンに従いフォーマット化された要求を受信するようにさらに構成されることを特徴とする請求項１に記載のシステム。
【請求項１７】
前記所定のクライアント要求の内容は、ｅＸｔｅｎｓｉｂｌｅＭａｒｋｕｐＬａｎｇｕａｇｅ（ＸＭＬ）のバージョンに従いフォーマット化されたパラメータとして前記要求に含まれ、前記ウェブサービスプロトコルは、文書ベースウェブサービスモデルを実行し、前記ウェブサービスプロトコルに従って前記所定のクライアント要求を受信するために、前記ウェブサービスインターフェースは、ＳｉｍｐｌｅＯｂｊｅｃｔＡｃｃｅｓｓＰｒｏｔｏｃｏｌ（ＳＯＡＰ）のバージョンに従い、カプセル化した文書の受信をするようにさらに構成され、前記所定のクライアント要求の内容は、前記文書に含まれ、ＸＭＬのバージョンに従いフォーマットされることを特徴とする請求項１に記載のシステム。
【請求項１８】
前記キーマップインスタンスは、階層的に配置された複数のインデックスノードを含み、それぞれが関連するタグ値を有する、インデックスデータ構造内に保存されたキーマップエントリを索引付けするようにさらに構成され、前記保存されたキーマップエントリのそれぞれは、前記インデックスノードのそれぞれの１つと対応し、所定の対応するインデックスノードを有する前記所定のキーマップエントリについては、前記所定の対応するインデックスノードの各上位と関連する各タグ値が、前記所定のキー値のプレフィックスであることを特徴とする請求項１に記載のシステム。
【請求項１９】
ウェブサービスプロトコルに従ってウェブサービスインターフェースを介しデータオブジェクトにアクセスするためのクライアント要求を受信するステップであって、前記データオブジェクトの所定の１つにアクセスするための前記クライアント要求の所定の１つは、前記所定データオブジェクトに対応するキー値を含む、ステップと、
複数のストレージノード上に前記データオブジェクトの複製を保存するステップであって、前記複製のそれぞれは、それぞれのロケータ値を介してアクセス可能であり、前記ロケータ値のそれぞれは、前記システム内で固有である、ステップと、
前記データオブジェクトのそれぞれに対するそれぞれのキーマップエントリを保存するステップであって、前記任意データオブジェクトについては、前記それぞれのキーマップエントリは、前記クライアント特定キー値と、前記所定のデータオブジェクトのそれぞれの保存された複製に対応するそれぞれのロケータ値を含む、ステップと、
前記任意クライアント要求の受信に応じて、前記キー値に対応する１つまたは複数のロケータ値を識別するために、前記それぞれのキーマップエントリにアクセスするステップであって、前記１つまたは複数のロケータ値の特定の１つについては、対応するストレージノードにアクセスし、対応する複製を取り出すステップと、
を備えることを特徴とする方法。
【請求項２０】
インストラクションを備えるコンピュータにアクセス可能な媒体であって、前記インストラクションは、
データオブジェクトへアクセスするためのクライアント要求を処理するステップであって、前記データオブジェクトにアクセスするための前記クライアント要求は、ウェブサービスプロトコルに従い、ウェブサービスインターフェースを介して受信され、前記データオブジェクトの所定の１つへアクセスするための前記クライアント要求の所定の１つは、前記所定のデータオブジェクトに対応するキー値を含む、ステップと、
複数のストレージノード上に前記データオブジェクトの複製を保存することを指示するステップであって前記ロケータ値のそれぞれは、前記システム内で個別であるステップと、
前記データオブジェクトのそれぞれに対するそれぞれのキーマップエントリを保存することを指示するステップであって、前記所定のデータオブジェクトについては、前記それぞれのキーマップエントリは、前記クライアント特定キー値と、前記所定のデータオブジェクトのそれぞれの保存された複製に対応するそれぞれのロケータ値とを含むステップと、
を実行することが可能であり、
前記所定のクライアント要求を処理するステップは、前記キー値に対応する１つまたは複数のロケータ値を識別するための前記それぞれのキーマップエントリへアクセスするステップを含み、前記１つまたは複数の特定の１つについては、対応するストレージノードにアクセスし、対応する複製を取り出すステップを含むことを特徴とするインストラクションを備えることを特徴とするコンピュータにアクセス可能な媒体。