説明

実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現

非ローカルブロックデータストレージへの実行プログラムのアクセスを管理するための技術について説明されている。いくつかの状況において、ブロックデータストレージサービスは複数のサーバストレージシステムを使用して、他の物理的コンピューティングシステム上で実行されるプログラムによって1つまたは複数のネットワーク上でアクセスされうるブロックデータを確実に格納する。ユーザは、複数のサーバブロックデータストレージシステムのうちの少なくとも2つのサーバブロックデータストレージシステムにそれぞれ格納されるブロックデータストレージボリュームを作成し、第1のボリュームのコピーが利用不可能になった場合に第2のボリュームのコピーへ自動的に切り替えられるようにすることによる信頼性の高い方法などで、1つまたは複数の実行プログラムによってそのようなボリュームの使用を開始することができる。いくつかの状況では、ブロックデータボリュームを格納する複数のサーバブロックデータストレージシステムのグループを、同じ場所の1つのデータセンター内に配置することができ、そこに格納されているボリュームを使用するプログラムは、そのデータセンターにある他の物理的コンピューティングシステム上で実行することができる。


Notice: Undefined index: DEJ in /mnt/www/gzt_disp.php on line 298

【特許請求の範囲】
【請求項1】
実行プログラムに対してブロックデータストレージ機能を提供するためのコンピュータによって実装される方法であって、
第1のプログラムが実行される第1のコンピューティングシステムのローカルにあるブロックストレージデバイスに対して前記第1の実行プログラムによって開始される1つまたは複数のデータアクセス要求の第1のグループの1つまたは複数の指示を受け取るステップであって、前記ローカルのブロックストレージデバイスは1つまたは複数のネットワーク上で明確に区別される第2のデータストレージシステムによって提供される非ローカルブロックデータストレージボリュームを表す論理デバイスである、ステップと、
前記第1の実行プログラムに代わって前記第2のデータストレージシステムと前記1つまたは複数のネットワーク上でやり取りすることによってデータアクセス要求の前記第1のグループの前記受け取った指示に自動的に応答し、前記第2のデータストレージシステムによって提供される前記ブロックデータストレージボリュームによって格納されているブロックデータ上で前記第1のグループの前記データアクセス要求を実行させるステップと、
前記第2のデータストレージシステムによって提供される前記ブロックデータストレージボリュームが利用不可能になったと判定し、前記第2のデータストレージシステムによって提供される前記ブロックデータストレージボリュームのミラーコピーを収容する第3のデータストレージシステムを自動的に識別するステップであって、前記第3のデータストレージシステムは前記第1のコンピューティングシステムおよび前記第2のデータストレージシステムから明確に区別される、ステップと、
前記第1のコンピューティングシステム上の前記ローカルのブロックストレージデバイスに対して前記第1の実行プログラムによって開始される1つまたは複数の他のデータアクセス要求の第2のグループの1つまたは複数の指示を受け取るステップと、
前記第1の実行プログラムに代わって前記第3のデータストレージシステムと前記1つまたは複数のネットワーク上でやり取りすることによってデータアクセス要求の前記第2のグループの前記受け取った指示に自動的に応答し、前記識別された第3のデータストレージシステム上の前記ブロックデータストレージボリュームのミラーコピー上で前記第2のグループの前記データアクセス要求を実行させるステップと
を含むことを特徴とするコンピュータによって実装される方法。
【請求項2】
前記1つまたは複数のデータアクセス要求の前記第1のグループの前記指示を受け取る前に、前記第1の実行プログラムで使用できるように前記ブロックデータストレージボリュームを前記第1のコンピューティングシステムにアタッチするステップをさらに含み、
前記ブロックデータストレージボリュームをアタッチする前記ステップは、前記第1のコンピューティングシステムに前記ブロックデータストレージボリュームをアタッチする前記ステップは前記第1のコンピューティングシステムに対する前記論理ローカルブロックストレージデバイスを前記第2のデータストレージシステムによって提供される前記ブロックデータストレージボリュームに関連付けるステップを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記第2のデータストレージシステムによって提供される前記ブロックデータストレージボリュームが利用不可能になったと判定した後、前記第1のコンピューティングシステムから明確に区別され、また前記第2のデータストレージシステムおよび前記第3のデータストレージシステムからも明確に区別される前記第4のデータストレージシステム上への前記ブロックデータストレージボリュームの他のコピーの作成を自動的に開始するステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項4】
実行プログラムに対してブロックデータストレージ機能を提供するように構成されているシステムであって、
1つまたは複数のメモリと、
複数のブロックデータストレージシステムを使用して、前記ブロックデータストレージサービスのユーザによって作成され、前記ユーザに関連付けられている1つまたは複数の実行プログラムに代わって1つまたは複数のネットワーク上でアクセスされるブロックデータストレージボリュームを格納するブロックデータストレージサービスを提供するように構成されているブロックデータストレージシステムマネージャモジュールと
を備え、前記ブロックデータストレージサービスを提供するステップは、
1つまたは複数の実行プログラムで使用するための1つまたは複数のブロックデータストレージボリュームを作成するステップであって、前記ブロックデータストレージボリュームのそれぞれを作成する前記ステップは前記複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステム上に格納される前記ブロックデータストレージボリュームのプライマリコピーを作成するステップを含む、ステップと、
データアクセス要求のそれぞれについて、前記データアクセス要求に対する前記1つのブロックデータストレージボリュームの前記プライマリコピーが利用可能である場合に、前記利用可能なプライマリコピー上で前記データアクセス要求の実行を開始することによって前記作成された複数のブロックデータストレージボリュームのうちの1つのブロックデータストレージボリュームに対し前記複数の実行プログラムのうちの1つの実行プログラムによってそれぞれ開始された前記データアクセス要求に応答するステップと、
受け取った指示に応答して、前記複数のブロックデータストレージボリュームのうちの第1のブロックデータストレージボリュームの新規コピーを作成するステップであって、第1のブロックデータストレージシステムのプライマリボリュームが前記ブロックデータストレージシステムの最初のものに格納されており、前記作成された新規コピーは前記第1のブロックデータストレージシステムから明確に区別される1つまたは複数の他のデータストレージシステム上に格納される、ステップと
を含むことを特徴とするシステム。
【請求項5】
前記第1のブロックデータストレージボリュームを作成する前記ステップは、前記第1のブロックデータストレージシステムおよび前記1つまたは複数の他のデータストレージシステムから明確に区別される前記複数のブロックデータストレージシステムのうちの第2のブロックデータストレージシステム上に格納される前記第1のブロックデータストレージボリュームのミラーコピーを作成するステップをさらに含み、
前記データアクセス要求に応答する前記ステップは、前記第1のブロックデータストレージボリュームに対する前記複数の実行プログラムのうちの1つの実行プログラムによって開始される各データアクセス要求について、前記第1のブロックデータストレージボリュームの前記プライマリコピーが利用可能でない場合に、前記第2のブロックデータストレージシステム上に格納されている前記第1のブロックデータストレージボリュームの前記ミラーコピー上で前記データアクセス要求の実行を開始するステップをさらに含むことを特徴とする請求項4に記載のシステム。
【請求項6】
前記データアクセス要求に応答する前記ステップは、前記第1のブロックデータストレージボリュームに対する前記複数の実行プログラムのうちの1つの実行プログラムによって開始される各データアクセス要求について、前記第1のブロックデータストレージボリュームの前記プライマリコピーが利用可能である場合に、前記第2のブロックデータストレージシステム上に格納されている前記第1のブロックデータストレージボリュームの前記ミラーコピー上で前記データアクセス要求の実行を開始するステップをさらに含むことを特徴とする請求項5に記載のシステム。
【請求項7】
前記第1のブロックデータストレージボリュームの前記新規コピーは前記受け取った指示に応答して作成され、前記受け取った指示は、前記第1のブロックデータストレージボリュームの前記プライマリコピーを前記第1のブロックデータストレージシステムから明確に区別される第2のブロックデータストレージシステムに移動する決定に基づいており、
前記1つまたは複数の他のデータストレージシステムは、前記第2のブロックデータストレージシステムであり、
前記第2のブロックデータストレージシステム上に前記第1のブロックデータストレージボリュームの前記新規コピーを作成する前記ステップは、前記第2のブロックデータストレージシステム上に前記作成された新規コピーを前記第1のブロックデータストレージボリュームの新規プライマリコピーとして指定するステップを含み、
前記ブロックデータストレージシステムマネージャモジュールが前記ブロックデータストレージサービスを提供する前記ステップは、前記第1のブロックデータストレージボリュームの前記新規コピーを作成した後に、前記第2のブロックデータストレージシステム上に格納されている前記第1のブロックデータストレージボリュームの前記新規プライマリコピー上で追加のデータアクセス要求の実行を開始することによって前記第1のブロックデータストレージボリュームに対する前記複数の実行プログラムのうちの1つの実行プログラムによってそれぞれ開始される前記1つまたは複数の追加のデータアクセス要求に応答するステップをさらに含むことを特徴とする請求項4に記載のシステム。
【請求項8】
前記ブロックデータストレージシステムマネージャモジュールは、複数のブロックデータストレージシステムを使用して、前記ブロックデータストレージサービスのユーザによって作成され、前記ユーザに関連付けられている1つまたは複数の実行プログラムに代わって1つまたは複数のネットワーク上でアクセスされるブロックデータストレージボリュームを格納するブロックデータストレージサービスを提供するための1つまたは複数の手段からなり、前記ブロックデータストレージサービスを提供する前記ステップは、
1つまたは複数の実行プログラムで使用するための1つまたは複数のブロックデータストレージボリュームを作成するステップであって、前記ブロックデータストレージボリュームのそれぞれを作成する前記ステップは前記複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステム上に格納される前記ブロックデータストレージボリュームのプライマリコピーを作成するステップを含む、ステップと、
データアクセス要求のそれぞれについて、前記データアクセス要求に対する前記1つのブロックデータストレージボリュームの前記プライマリコピーが利用可能である場合に、前記利用可能なプライマリコピー上で前記データアクセス要求の実行を開始することによって前記作成された複数のブロックデータストレージボリュームのうちの1つのブロックデータストレージボリュームに対し前記複数の実行プログラムのうちの1つの実行プログラムによってそれぞれ開始される前記データアクセス要求に応答するステップと、
受け取った指示に応答して、前記複数のブロックデータストレージボリュームのうちの第1のブロックデータストレージボリュームの新規コピーを作成するステップであって、第1のブロックデータストレージシステムのプライマリボリュームが前記ブロックデータストレージシステムの最初のものに格納されており、前記作成された新規コピーは前記第1のブロックデータストレージシステムから明確に区別される1つまたは複数の他のデータストレージシステム上に格納される、ステップと
を含むことを特徴とする請求項4に記載のシステム。
【請求項9】
実行プログラムによるブロックデータストレージ機能へのアクセスを管理するためのコンピュータによって実装される方法であって、
非ローカルブロックデータストレージボリューム上に格納されているブロックデータにアクセスするために第1のコンピューティングシステム上で実行される第1のプログラムの第1のコピーによって開始された1つまたは複数のデータアクセス要求の第1のグループの1つまたは複数の指示を受け取るステップであって、前記ブロックデータストレージボリュームは1つまたは複数のネットワーク上で明確に区別される第2のデータストレージシステムによって提供され、前記第1の実行するプログラムのコピーが前記ブロックデータストレージボリュームを表す前記第1のコンピューティングシステムのローカルにある第1の論理ブロックストレージデバイスとのやり取りを介して前記ブロックデータストレージボリュームに対する前記データアクセス要求を開始するように前記第1のコンピューティングシステムにアタッチされる、ステップと、
前記第1の実行プログラムのコピーに代わって前記第2のデータストレージシステムとやり取りすることによってデータアクセス要求の前記第1のグループの前記受け取った指示に自動的に応答し、前記第2のデータストレージシステムによって提供される前記ブロックデータストレージボリューム上の前記第1のグループの前記データアクセス要求の実行を開始するステップと、
前記第1のプログラムのコピーが利用不可能になったと判定した後に、前記第1のプログラムの第2のコピーが実行されている、前記第1のコンピューティングシステムおよび前記第2のデータストレージシステムから明確に区別される第3のコンピューティングシステムを識別し、前記第2のプログラムのコピーが前記ブロックデータストレージボリュームを表す前記第3のコンピューティングシステムのローカルにある第2の論理ブロックストレージデバイスにアクセスできるように前記ブロックデータストレージボリュームを前記第3のコンピューティングシステムにアタッチするステップと、
前記第3のコンピューティングシステム上の前記第2の論理ローカルブロックストレージデバイスとのやり取りを介して前記ブロックデータストレージボリュームに対して前記第2の実行プログラムのコピーによって開始される1つまたは複数の他のデータアクセス要求の第2のグループの1つまたは複数の指示を受け取るステップと、
前記第2の実行プログラムのコピーに代わって前記第2のデータストレージシステムとやり取りすることによってデータアクセス要求の前記第2のグループの前記受け取った指示に自動的に応答し、前記第2のデータストレージシステム上の前記ブロックデータストレージボリューム上の前記第2のグループの前記データアクセス要求の実行を開始するステップと
を含むことを特徴とするコンピュータによって実装される方法。
【請求項10】
前記第1のプログラムのコピーが利用不可能になったと自動的に判定するステップをさらに含み、
前記第1のプログラムのコピーが前記利用不可能である状況は、前記第1のコンピューティングシステムの障害、前記第1のコンピューティングシステムの接続性の障害、および前記第1のコンピューティングシステムが前記第1のプログラムのコピーの実行を継続できない状況のうちの少なくとも1つの状況に基づくことを特徴とする請求項9に記載の方法。
【請求項11】
前記第1のプログラムの前記第2のコピーが実行されている前記第3のコンピューティングシステムを識別する前記ステップは、前記第1のプログラムのコピーが利用不可能になったと判定した後に、前記第3のコンピューティングシステム上で前記第2のプログラムのコピーの実行を開始するステップを含むことを特徴とする請求項9に記載の方法。
【請求項12】
前記第1のコンピューティングシステムに前記ブロックデータストレージボリュームをアタッチする前に、前記第2のデータストレージシステム上に前記ブロックデータストレージボリュームを作成し、明確に区別される第4のブロックデータストレージシステム上に前記ブロックデータストレージボリュームのミラーコピーを作成するステップをさらに含み、
前記第1のグループおよび前記第2のグループの前記データアクセス要求に応答する前記ステップは、前記第1のグループおよび前記第2のグループの前記データアクセス要求の、前記作成されたミラーコピー上での実行を開始するステップをさらに含むことを特徴とする請求項9に記載の方法。
【請求項13】
前記1つまたは複数のデータアクセス要求の前記指示を受け取る前に、前記第1の実行プログラムのコピーで使用できるように前記ブロックデータストレージボリュームを前記第1のコンピューティングシステムにアタッチするステップをさらに含み、
前記ブロックデータストレージボリュームをアタッチする前記ステップは、前記第1の論理ブロックストレージデバイスを前記第2のデータストレージシステムによって提供される前記ブロックデータストレージボリュームに関連付けるステップを含み、前記1つまたは複数のネットワークへの前記第1のコンピューティングシステムのアクセスを管理するノードマネージャモジュールによって実行され、
前記ノードマネージャモジュールは、前記第1の実行プログラムに関連付けられているユーザからの要求に応答して前記ブロックデータストレージボリュームをすでに作成しているブロックデータストレージサービスの一部であることを特徴とする請求項9に記載の方法。
【請求項14】
実行プログラムによるブロックデータストレージ機能へのアクセスを管理するように構成されているシステムであって、
1つまたは複数のメモリと、
複数のブロックデータストレージシステムを使用して、前記ブロックデータストレージサービスのユーザによって作成され、前記ユーザに関連付けられている1つまたは複数の実行プログラムに代わって1つまたは複数のネットワーク上でアクセスされるブロックデータストレージボリュームを格納するブロックデータストレージサービスを提供するように構成されているブロックデータストレージシステムマネージャモジュールと
を備え、前記ブロックデータストレージサービスを提供するステップは、
1つまたは複数の実行プログラムで使用するための1つまたは複数のブロックデータストレージボリュームを作成するステップであって、前記ブロックデータストレージボリュームのそれぞれは前記複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステム上に格納される、ステップと、
前記作成された複数のブロックデータストレージボリュームのうちの第1のブロックデータストレージボリュームへのアクセスを前記1つまたは複数の実行プログラムのうちの第1の実行プログラムに許可した後に、前記第1の作成されたブロックデータストレージボリューム上で前記1つまたは複数のデータアクセス要求の実行を開始することによって前記第1の作成されたブロックデータストレージボリュームに対し前記第1のプログラムによって開始された1つまたは複数のデータアクセス要求に応答するステップと、
前記第1のプログラムが利用不可能になり、前記第1の作成されたブロックデータストレージボリュームへのアクセスを明確に区別される第2の実行プログラムに許可し、前記利用不可能になった前記第1のプログラムに許可されていたアクセスを置き換えた後に、前記第1の作成されたブロックデータストレージボリューム上で前記1つまたは複数の他のデータアクセス要求の実行を開始することによって前記第1の作成されたブロックデータストレージボリュームに対し前記第2のプログラムによって開始された1つまたは複数の他のデータアクセス要求に応答するステップと
を含むことを特徴とするシステム。
【請求項15】
前記第1のプログラムおよび前記第2のプログラムは、単一のプログラムの実行コピーであり、
前記アクセスを前記第1のプログラムに許可する前記ステップは、前記第1の実行プログラムが前記第1のブロックデータストレージボリュームを表す前記第1のコンピューティングシステムのローカルにある第1の論理ブロックストレージデバイスとのやり取りを介して前記第1のブロックデータストレージボリュームに対する前記データアクセス要求を開始するように前記第1のブロックデータストレージボリュームを前記第1のプログラムを実行している第1のコンピューティングシステムにアタッチするステップを含み、
前記アクセスを前記第2のプログラムに許可する前記ステップは、前記第2のプログラムが実行される第3のコンピューティングシステムを識別するステップと前記第2のプログラムが前記第1のブロックデータストレージボリュームを表す前記第3のコンピューティングシステムのローカルにある第2の論理ブロックストレージデバイスにアクセスできるように前記第1のブロックデータストレージボリュームを前記第3のコンピューティングシステムにアタッチするステップとを含み、
前記第1のプログラムおよび前記第2のプログラムによる前記第1のブロックデータストレージボリュームに対する前記データアクセス要求は、前記ブロックデータストレージボリューム上に格納されているブロックデータにアクセスする要求であることを特徴とする請求項14に記載のシステム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図2D】
image rotate

【図2E】
image rotate

【図2F】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate


【公表番号】特表2011−530748(P2011−530748A)
【公表日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2011−522284(P2011−522284)
【出願日】平成21年8月7日(2009.8.7)
【国際出願番号】PCT/US2009/053176
【国際公開番号】WO2010/017492
【国際公開日】平成22年2月11日(2010.2.11)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(506329306)アマゾン テクノロジーズ インコーポレイテッド (56)
【Fターム(参考)】