【手続補正書】
【提出日】平成28年10月14日(2016.10.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストレージプールにデータを書き込むための方法であって、
グローバルネームスペースレイアウト（ＧＬ）を作成することを備え、前記ＧＬは、前記ストレージプールにおける第１のストレージサーバーに対する第１のサーバーエントリと、前記ストレージプールにおける第２のストレージサーバーからの第２のサーバーエントリとを備え、前記第１のサーバーエントリは、前記第１のストレージサーバーを識別するノード識別子（ＩＤ）を備え、ノードポイントを用いて、どの書き込みリクエストが前記第１のストレージサーバーによって処理されるかを決定し、前記方法はさらに、
前記ＧＬをクライアントに提供することと、
前記ＧＬを前記クライアントに提供したあとに、
前記クライアントから、前記第１のストレージサーバーによるオブジェクトレイアウト（ＯＬ）に対するリクエストを受信することと、
前記クライアントに前記ＯＬを提供することと、
前記クライアントに前記ＯＬを提供したあとに、
前記第２のストレージサーバー内においてオブジェクトにデータを書き込むための書き込みリクエストを前記第２のストレージサーバーによって受信することととを備え、前記書き込みリクエストはオブジェクトＩＤおよびオフセットを備え、前記方法はさらに、
前記書き込みリクエストに応答して、前記第２のストレージサーバー上において前記オブジェクトに前記データを書き込むことを備える、ストレージプールにデータを書き込むための方法。
【請求項２】
前記ストレージプールは複数のストレージサーバーを備え、前記ＧＬは各ＧＬシーケンス番号に対して前記複数のストレージサーバーのどれが書き込み可能であったかということと、各ＧＬシーケンス番号に対して書き込み可能な前記複数のストレージサーバーにどのように書き込みが分散されたかということとを特定する、請求項１に記載の方法。
【請求項３】
前記ＯＬはＯＬシーケンス番号を特定し、前記ＯＬシーケンス番号は前記オブジェクトが作成されるときに設定され、前記ＯＬシーケンス番号は前記オブジェクトが作成されたときの前記ＧＬのＧＬシーケンス番号に対応する、請求項１に記載の方法。
【請求項４】
前記ＯＬに対する前記リクエストは、前記オブジェクトと関連付けられる仮想識別子（ＩＤ）を用いて生成される値を備える、請求項１に記載の方法。
【請求項５】
前記ＯＬはＯＬシーケンス番号と前記仮想ＩＤとストライプ幅とを備える、請求項４に記載の方法。
【請求項６】
前記ＧＬは、前記第１のストレージサーバーが前記ストレージプールに追加されたときのＧＬシーケンス番号に対応する第１のノードシーケンス番号をさらに備える、請求項１に記載の方法。
【請求項７】
前記第２のストレージサーバー内において前記ＯＬを格納するためのリクエストを前記第２のストレージサーバーによって受信することをさらに備え、前記ＯＬを格納するための前記リクエストは仮想ＩＤおよび特別なオフセットを特定し、前記方法はさらに、
前記第２のストレージサーバーによって、前記第２のストレージサーバーにおいて前記ＯＬを格納すること備える、請求項１に記載の方法。
【請求項８】
前記ＧＬを第２のクライアントに提供することと、
前記ＧＬを前記第２のクライアントに提供したあとに、
前記第１のストレージサーバーによって、前記第２のクライアントからの第２のＧＬを受信することとをさらに備え、前記第２のＧＬは、前記ＧＬと関連付けられる前記第１のＧＬシーケンス番号よりも大きい第２のＧＬシーケンス番号と関連付けられ、前記方法はさらに、
前記第１のストレージサーバー内に前記第２のＧＬを格納することを備える、請求項１に記載の方法。
【請求項９】
前記第２のストレージサーバーによって、前記オブジェクトを削除するリクエストを受信することと、
前記オブジェクトを削除する前記リクエストを受信することに応答して、
前記第２のストレージサーバーにおける前記オブジェクトに対応するエントリに対して削除フラグをセットすることと、
前記ストレージプールにおける他のすべてのストレージサーバーにおける前記オブジェクトに対応する他のすべてのエントリを無効にすることと、
前記ストレージプールにおける他のすべてのストレージサーバーにおける前記オブジェクトに対応する他のすべてのエントリを無効にしたあとで、前記第２のストレージサーバーにおける前記オブジェクトに対応する前記エントリを無効にすることとをさらに備える、請求項１に記載の方法。
【請求項１０】
プロセッサによって実行されるとある方法を実行する命令を備える、非一時的なコンピュータ読取可能媒体であって、前記方法は、
グローバルネームスペースレイアウト（ＧＬ）を作成することを備え、前記ＧＬは、前記ストレージプールにおける第１のストレージサーバーに対する第１のサーバーエントリと、前記ストレージプールにおける第２のストレージサーバーからの第２のサーバーエントリとを備え、前記第１のサーバーエントリは、前記第１のストレージサーバーを識別するノード識別子（ＩＤ）を備え、ノードポイントを用いて、どの書き込みリクエストが前記第１のストレージサーバーによって処理されるかを決定し、前記方法はさらに、
前記ＧＬをクライアントに提供することと、
前記ＧＬを前記クライアントに提供したあとに、
前記クライアントから、前記第１のストレージサーバーによるオブジェクトレイアウト（ＯＬ）に対するリクエストを受信することと、
前記クライアントに前記ＯＬを提供することと、
前記クライアントに前記ＯＬを提供したあとに、
前記第２のストレージサーバー内においてオブジェクトにデータを書き込むための書き込みリクエストを前記第２のストレージサーバーによって受信することととを備え、前記書き込みリクエストはオブジェクトＩＤおよびオフセットを備え、前記方法はさらに、
前記書き込みリクエストに応答して、前記第２のストレージサーバー上において前記オブジェクトに前記データを書き込むことを備える、非一時的なコンピュータ読取可能媒体。
【請求項１１】
前記ストレージプールは複数のストレージサーバーを備え、前記ＧＬは各ＧＬシーケンス番号に対して前記複数のストレージサーバーのどれが書き込み可能であったかということと、各ＧＬシーケンス番号に対して書き込み可能な前記複数のストレージサーバーにどのように書き込みが分散されたかということとを特定する、請求項１０に記載の非一時的なコンピュータ読取可能媒体。
【請求項１２】
前記ＯＬはＯＬシーケンス番号を特定し、前記ＯＬシーケンス番号は前記オブジェクトが作成されるときに設定され、前記ＯＬシーケンス番号は前記オブジェクトが作成されたときの前記ＧＬのＧＬシーケンス番号に対応する、請求項１０に記載の非一時的なコンピュータ読取可能媒体。
【請求項１３】
前記ＯＬに対する前記リクエストは、前記オブジェクトと関連付けられる仮想識別子（ＩＤ）を用いて生成される値を備える、請求項１０に記載の非一時的なコンピュータ読取可能媒体。
【請求項１４】
前記ＯＬはＯＬシーケンス番号と前記仮想ＩＤとストライプ幅とを備える、請求項１３に記載の非一時的なコンピュータ読取可能媒体。
【請求項１５】
前記ＧＬは、前記第１のストレージサーバーが前記ストレージプールに追加されたときのＧＬシーケンス番号に対応する第１のノードシーケンス番号をさらに備える、請求項１０に記載の非一時的なコンピュータ読取可能媒体。
【請求項１６】
前記方法はさらに、前記第２のストレージサーバー内において前記ＯＬを格納するためのリクエストを前記第２のストレージサーバーによって受信することを備え、前記ＯＬを格納するための前記リクエストは仮想ＩＤおよび特別なオフセットを特定し、前記方法はさらに、
前記第２のストレージサーバーによって、前記第２のストレージサーバーにおいて前記ＯＬを格納すること備える、請求項１０に記載の非一時的なコンピュータ読取可能媒体。
【請求項１７】
前記方法はさらに、
前記ＧＬを第２のクライアントに提供することと、
前記ＧＬを前記第２のクライアントに提供したあとに、
前記第１のストレージサーバーによって、前記第２のクライアントからの第２のＧＬを受信することとを備え、前記第２のＧＬは、前記ＧＬと関連付けられる前記第１のＧＬシーケンス番号よりも大きい第２のＧＬシーケンス番号と関連付けられ、前記方法はさらに、
前記第１のストレージサーバー内に前記第２のＧＬを格納することを備える、請求項１０に記載の非一時的なコンピュータ読取可能媒体。
【請求項１８】
前記方法はさらに、
前記第２のストレージサーバーによって、前記オブジェクトを削除するリクエストを受信することと、
前記オブジェクトを削除する前記リクエストを受信することに応答して、
前記第２のストレージサーバーにおける前記オブジェクトに対応するエントリに対して削除フラグをセットすることと、
前記ストレージプールにおける他のすべてのストレージサーバーにおける前記オブジェクトに対応する他のすべてのエントリを無効にすることと、
前記ストレージプールにおける他のすべてのストレージサーバーにおける前記オブジェクトに対応する他のすべてのエントリを無効にしたあとで、前記第２のストレージサーバーにおける前記オブジェクトに対応する前記エントリを無効にすることとを備える、請求項１０に記載の非一時的なコンピュータ読取可能媒体。
【請求項１９】
第１の持続的なストレージを備える第１のストレージサーバーと、
第２の持続的なストレージを備える第２のストレージサーバーとを備え、
前記第１のストレージサーバーは、
グローバルネームスペースレイアウト（ＧＬ）を作成するようプログラミングされ、前記ＧＬは、前記ストレージプールにおける第１のストレージサーバーに対する第１のサーバーエントリと、前記ストレージプールにおける第２のストレージサーバーからの第２のサーバーエントリとを備え、前記第１のサーバーエントリは、前記第１のストレージサーバーを識別するノード識別子（ＩＤ）を備え、ノードポイントを用いて、どの書き込みリクエストが前記第１のストレージサーバーによって処理されるかを決定し、前記第１のストレージサーバーはさらに、
前記ＧＬをクライアントに提供するようプログラミングされ、
前記ＧＬを前記クライアントに提供したあとに、
前記クライアントから、前記第１のストレージサーバーによるオブジェクトレイアウト（ＯＬ）に対するリクエストを受信するようプログラミングされ、
前記クライアントに前記ＯＬを提供するようプログラミングされ、
前記第２のストレージサーバーは、
前記クライアントに前記ＯＬを送信したあと、前記第２のストレージサーバー内においてオブジェクトにデータを書き込むための書き込みリクエストを前記第２のストレージサーバーによって受信するようプログラミングされ、前記書き込みリクエストはオブジェクトＩＤおよびオフセットを備え、前記第２のストレージサーバーはさらに、
前記書き込みリクエストに応答して、前記第２の永続的なストレージ内の前記オブジェクトに前記データを書き込むようプログラミングされる、システム。
【請求項２０】
前記第１のストレージサーバーは、さらに、第２のクライアントに前記ＧＬを提供するようにプログラミングされ、
前記ＧＬを前記第２のクライアントに提供したあとに、
前記第２のクライアントから第２のＧＬを受信するようにプログラミングされ、前記第２のＧＬは、前記ＧＬと関連付けられる前記第１のＧＬシーケンス番号よりも大きい第２のＧＬシーケンス番号と関連付けられ、前記第１のストレージサーバーはさらに、
前記第２のＧＬを格納するようにプログラミングされる、請求項１９に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】コンシステントハッシュ法を用いたグローバルネームスペースのための方法およびシステム