JP5015351B2 - 実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現 - Google Patents
実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現 Download PDFInfo
- Publication number
- JP5015351B2 JP5015351B2 JP2011522284A JP2011522284A JP5015351B2 JP 5015351 B2 JP5015351 B2 JP 5015351B2 JP 2011522284 A JP2011522284 A JP 2011522284A JP 2011522284 A JP2011522284 A JP 2011522284A JP 5015351 B2 JP5015351 B2 JP 5015351B2
- Authority
- JP
- Japan
- Prior art keywords
- data storage
- block data
- program
- volume
- copy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
Description
ブロックデータストレージサービスによって提供される非ローカルブロックデータストレージへの第1の実行プログラムのアクセスを開始する要求を受け取るステップであって、第1のプログラムは地理的位置の同じ場所に配置される、1つまたは複数の内部ネットワークを共有する複数のコンピューティングシステムのうちの第1のコンピューティングシステム上で実行され、ブロックデータストレージサービスは複数のコンピューティングシステムのうちの複数の他のコンピューティングシステムの第1のグループを、複数の実行プログラムに対してブロックデータストレージを提供するブロックデータストレージシステムとして使用し、第1のコンピューティングシステムは第1のグループの一部ではない、ステップと、
内部ネットワークへの第1のコンピューティングシステムのアクセスを管理するブロックデータストレージサービスの第1のノードマネージャモジュールの制御下で、
ブロックデータストレージサービスによって提供される非ローカルブロックデータストレージを表す第1のコンピューティングシステムの論議ローカルストレージデバイスに対する第1の実行プログラムによって開始される1つまたは複数のデータアクセス要求を受け取るステップと、
第1の実行プログラムに代わって第2のコンピューティングシステムと内部ネットワーク上でやり取りすることによって受け取ったデータアクセス要求に自動的に応答し、第2のコンピューティングシステム上に格納されているプライマリコピーを有し、第3のコンピューティングシステム上に格納されているミラーコピーを有する第1のブロックデータストレージボリューム上で受け取ったデータアクセス要求を実行するステップであって、第2のコンピューティングシステムおよび第3のコンピューティングシステムはそれぞれブロックデータストレージシステムの第1のグループの一部であり、内部ネットワーク上でやり取りするオペレーションは第1の実行プログラムに対して透過的である方法により実行される、ステップと、
第1のブロックデータストレージボリューム上で受け取ったデータアクセス要求を実行した後に、第2のコンピューティングシステム上の第1のブロックデータストレージボリュームのプライマリコピーが利用不可能であると自動的に判定するステップと、
第1のコンピューティングシステムの論理ローカルブロックストレージデバイスに対して第1の実行プログラムによって開始される1つまたは複数の他のデータアクセス要求を受け取った後に、第1の実行プログラムに代わって第3のコンピューティングシステムと内部ネットワーク上でやり取りすることによって受け取った他のデータアクセス要求に自動的に応答し、第3のコンピューティングシステム上の第1のブロックデータストレージボリュームのミラーコピー上で他のデータアクセス要求を実行するステップとを含む方法。
複数の実行プログラムのうちの1つまたは複数によってそれぞれ使用される複数のブロックデータストレージボリュームを作成するステップであって、ブロックデータストレージボリュームのそれぞれを作成するステップは複数のブロックデータストレージシステムのうちの一方のブロックデータストレージシステム上にブロックデータストレージボリュームのプライマリコピーを格納するステップを含み、複数のブロックデータストレージシステムのうちの他方のブロックデータストレージシステム上にブロックデータストレージボリュームのミラーコピーを格納するステップを含み、これら複数のプログラムは複数の関連付けられているノードマネージャモジュールを有する複数のコンピューティングシステム上で実行される、ステップと、
ブロックデータストレージボリュームのミラーコピーを、作成されたブロックデータストレージボリュームのうちの1つのブロックデータストレージボリュームのプライマリコピーを格納するブロックデータストレージシステムが実行プログラムから受け取った書き込みデータアクセス要求に基づいてそのプライマリコピーに格納されているブロックデータに対する修正を実行するときに、その1つのブロックデータストレージボリュームのミラーコピーに格納されているブロックデータに対しその修正を実行することによって保持するステップと、
ブロックデータストレージボリュームに対するアクセスを、作成されたブロックデータストレージボリュームのうちの1つのブロックデータストレージボリュームのプライマリコピーが利用不可能になったときに、その1つのブロックデータストレージボリュームのミラーコピーをその1つのブロックデータストレージボリュームの新規プライマリコピーとなるように格上げすることによって保持するステップとを含む条項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のグループのデータアクセス要求を実行させるステップとを含むコンピュータによって実装される方法。
ブロックデータストレージボリュームに対する第1のコンピューティングシステム上で実行される第1のプログラムによって開始される1つまたは複数のデータアクセス要求の1つまたは複数の指示を受け取るステップであって、ブロックデータストレージボリュームは1つまたは複数のネットワークによって第1のコンピューティングシステムから隔てられている第2のブロックデータストレージシステムによって提供される、ステップと、
第2のブロックデータストレージシステム上のブロックデータストレージボリュームに対しデータアクセス要求の実行を開始することによってデータアクセス要求の受け取った指示に自動的に応答するステップと、
第1のコンピューティングシステムおよび第2のブロックデータストレージシステムから明確に区別される1つまたは複数の第3のブロックデータストレージシステムのうちの各ブロックデータストレージシステム上にブロックデータストレージボリュームのミラーコピーを自動的に作成するステップと、
第2のデータストレージシステムによって提供されるブロックデータストレージボリュームが、利用不可能になった後に、第3のブロックデータストレージシステムのうちの少なくとも1つの第3のブロックデータストレージシステム上に作成されたブロックデータストレージボリュームのミラーコピー上で他のデータアクセス要求を実行することによってブロックデータストレージボリュームに対し第1のプログラムによって開始される1つまたは複数の他のデータアクセス要求の1つまたは複数の受け取った指示に自動的に応答するステップとを含む方法によって行われるコンピュータ可読媒体。
第1のコンピューティングシステムおよび第2のブロックデータストレージシステムおよび1つまたは複数の第3のブロックデータストレージシステムから明確に区別される第4のブロックデータストレージシステム上にブロックデータストレージボリュームの初期プライマリコピーを作成するステップと、
第4のブロックデータストレージシステム上に作成されたプライマリコピー上で第1のグループのデータアクセス要求を実行することによってブロックデータストレージボリュームに対して第1のプログラムによって開始される1つまたは複数のデータアクセス要求の第1のグループの1つまたは複数の受け取った指示に自動的に応答するステップであって、データアクセス要求の第1のグループはデータアクセス要求の第2のグループの前に第1のプログラムによって開始される、ステップと、
データアクセス要求の第1のグループの指示に応答した後に、ブロックデータストレージボリュームのプライマリコピーを第4のブロックデータストレージシステムから第2のブロックデータストレージシステムに移動することを決定し、ブロックデータストレージボリュームのプライマリコピーを第2のブロックデータストレージシステムに移動した後にブロックデータストレージボリュームに対し第1のプログラムによって開始されるデータアクセス要求が第2のブロックデータストレージシステム上のブロックデータストレージボリュームの移動されたプライマリコピー上で実行されるようにするステップとをさらに含む条項14のコンピュータ可読媒体。
1つまたは複数のメモリと、
複数のブロックデータストレージシステムを使用して、ブロックデータストレージサービスのユーザによって作成され、それらのユーザに関連付けられている1つまたは複数の実行プログラムに代わって1つまたは複数のネットワーク上でアクセスされるブロックデータストレージボリュームを格納するブロックデータストレージサービスを提供するように構成されているブロックデータストレージシステムマネージャモジュールであって、ブロックデータストレージサービスを提供するステップは、
1つまたは複数の実行プログラムで使用するための1つまたは複数のブロックデータストレージボリュームを作成するステップであって、ブロックデータストレージボリュームのそれぞれを作成するステップは複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステム上に格納されるブロックデータストレージボリュームのプライマリコピーを作成するステップを含む、ステップと、
データアクセス要求のそれぞれについて、そのデータアクセス要求に対する1つのブロックデータストレージボリュームのプライマリコピーが利用可能である場合に、その利用可能なプライマリコピー上でデータアクセス要求の実行を開始することによって作成された複数のブロックデータストレージボリュームのうちの1つのブロックデータストレージボリュームに対し複数の実行プログラムのうちの1つの実行プログラムによってそれぞれ開始されたデータアクセス要求に応答するステップと、
受け取った指示に応答して、複数のブロックデータストレージボリュームのうちの第1のブロックデータストレージボリュームの新規コピーを作成するステップであって、第1のブロックデータストレージシステムのプライマリボリュームがブロックデータストレージシステムの最初のものに格納されており、作成された新規コピーは第1のブロックデータストレージシステムから明確に区別される1つまたは複数の他のデータストレージシステム上に格納される、ステップとを含む、ブロックデータストレージシステムマネージャモジュールとを備えるシステム。
1つまたは複数の実行プログラムで使用するための1つまたは複数のブロックデータストレージボリュームを作成するステップであって、ブロックデータストレージボリュームのそれぞれを作成するステップは複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステム上に格納されるブロックデータストレージボリュームのプライマリコピーを作成するステップを含む、ステップと、
データアクセス要求のそれぞれについて、そのデータアクセス要求に対する1つのブロックデータストレージボリュームのプライマリコピーが利用可能である場合に、その利用可能なプライマリコピー上でデータアクセス要求の実行を開始することによって作成された複数のブロックデータストレージボリュームのうちの1つのブロックデータストレージボリュームに対し複数の実行プログラムのうちの1つの実行プログラムによってそれぞれ開始されたデータアクセス要求に応答するステップと、
受け取った指示に応答して、複数のブロックデータストレージボリュームのうちの第1のブロックデータストレージボリュームの新規コピーを作成するステップであって、第1のブロックデータストレージシステムのプライマリボリュームがブロックデータストレージシステムの最初のものに格納されており、作成された新規コピーは第1のブロックデータストレージシステムから明確に区別される1つまたは複数の他のデータストレージシステム上に格納される、ステップとを含む、ブロックデータストレージシステムマネージャモジュールとを備える条項23のシステム。
ブロックデータストレージサービスによって提供される非ローカルブロックデータストレージへの指示されたプログラムの第1のコピーのアクセスを開始する要求を受け取るステップであって、第1のプログラムのコピーは第1の地理的位置の同じ場所に配置される、1つまたは複数の内部ネットワークを共有する複数のコンピューティングシステムのうちの第1のコンピューティングシステム上で実行され、ブロックデータストレージサービスは複数のコンピューティングシステムのうちの複数の他のコンピューティングシステムの第1のグループを、複数の実行プログラムに対してブロックデータストレージを提供するブロックデータストレージシステムとして使用し、第1のコンピューティングシステムは第1のグループの一部ではない、ステップと、
受け取った要求に応答して、第1のブロックデータストレージボリュームを、実行する第1のプログラムのコピーで使用できるように第1のコンピューティングシステムにアタッチするステップであって、第1のブロックデータストレージボリュームは第2のコンピューティングシステム上に格納されているプライマリコピーを有し、さらに第3のコンピューティングシステム上に格納されているミラーコピーを有し、第2のコンピューティングシステムおよび第3のコンピューティングシステムはそれぞれブロックデータストレージシステムの第1のグループの一部であり、第1のブロックデータストレージボリュームをアタッチするステップは第1のコンピューティングシステムの第1の論理ローカルブロックストレージデバイスを第1のブロックデータストレージボリュームに関連付けるステップを含む、ステップと、
ブロックデータストレージサービスのシステムマネージャモジュールの制御下で、複数の実行プログラムへのブロックデータストレージの提供を、
第1の論理ローカルブロックストレージデバイスに対して実行する第1のプログラムのコピーによって開始された1つまたは複数のデータアクセス要求の指示を受け取った後に、第1のブロックデータストレージボリュームのプライマリコピーおよびミラーコピー上でデータアクセス要求を実行するステップであって、データアクセス要求を実行することにより第1のブロックデータストレージボリュームのプライマリコピーおよびミラーコピーのそれぞれに同じ格納済みブロックデータが保持されるような仕方で第1のブロックデータストレージボリューム上に格納されているブロックデータに対して1つまたは複数の修正が加えられる、ステップにより自動的に応答するステップと、
データアクセス要求を実行した後に、第1のプログラムのコピーの実行が終了したと自動的に判定し、この判定に応答して、第1のブロックデータストレージボリュームへの指示されたプログラムのアクセスを自動的に保持し、アクセスを保持するステップは明確に区別される第4のコンピューティングシステム上で指示されたプログラムの第2のコピーの実行を開始するステップと第1のブロックデータストレージボリュームを、実行する第2のプログラムのコピーで使用できるように第4のコンピューティングシステムにアタッチするステップとを含み、アタッチするステップは第4のコンピューティングシステムの第2の論理ローカルブロックストレージデバイスを第1のブロックデータストレージボリュームに関連付けるステップを含む、ステップと、
第2の論理ローカルブロックストレージデバイスに対して実行する第2のプログラムのコピーによって開始された1つまたは複数の他のデータアクセス要求の指示を受け取った後に、第1のブロックデータストレージボリュームのプライマリコピーおよびミラーコピー上で他のデータアクセス要求を実行するステップであって、データアクセス要求を実行することにより第1のブロックデータストレージボリュームのプライマリコピーおよびミラーコピーがそれぞれ同じブロックデータを格納するような仕方で第1のブロックデータストレージボリューム上に格納されているブロックデータに対して1つまたは複数のさらなる修正が加えられる、ステップにより自動的に応答するステップとによって管理するステップとを含む方法。
第1論理ローカルブロックストレージデバイスに対して実行する第1のプログラムのコピーによって開始されるデータアクセス要求を受け取るステップと、
内部ネットワーク上でシステムマネージャモジュールとやり取りしてデータアクセス要求の指示を送ることによりデータアクセス要求の実行を円滑にするステップであって、内部ネットワーク上でやり取りするステップは実行する第1のプログラムのコピーに対して透過的な方法で実行される、ステップとをさらに含む条項36の方法。
非ローカルブロックデータストレージボリューム上に格納されているブロックデータにアクセスするために第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のグループのデータアクセス要求の実行を開始するステップとを含む方法。
第1のコンピューティングシステム上で実行される第1のプログラムによる非ローカルブロックデータストレージボリュームへのアクセスを可能にするステップであって、このアクセスによって第1のプログラムはブロックデータストレージボリュームに対するデータアクセス要求を開始することができ、ブロックデータストレージボリュームは1つまたは複数のネットワークにより第1のコンピューティングシステムから隔てられている第2のブロックデータストレージシステムによって提供される、ステップと、
ブロックデータストレージボリュームに対する第1のプログラムによって開始された1つまたは複数のデータアクセス要求の1つまたは複数の受け取った指示に自動的に応答するステップであって、応答するステップは第2のブロックデータストレージシステム上のブロックデータストレージボリュームに対するデータアクセス要求の実行を開始するステップを含む、ステップと、
第1のコンピューティングシステム上で実行されている第1のプログラムが利用不可能になった後に、第1のプログラムに許可していたアクセスに代えて、第3のコンピューティングシステム上で実行されている第2のプログラムにブロックデータストレージボリュームへのアクセスを許可するステップと、
ブロックデータストレージボリュームに対する第2のプログラムによって開始された1つまたは複数の他のデータアクセス要求の1つまたは複数の受け取った指示に自動的に応答するステップであって、応答するステップは第2のブロックデータストレージシステム上のブロックデータストレージボリュームに対する他のデータアクセス要求の実行を開始するステップを含む、ステップとを含むコンピュータ可読媒体。
1つまたは複数のメモリと、
複数のブロックデータストレージシステムを使用して、ブロックデータストレージサービスのユーザによって作成され、それらのユーザに関連付けられている1つまたは複数の実行プログラムに代わって1つまたは複数のネットワーク上でアクセスされるブロックデータストレージボリュームを格納するブロックデータストレージサービスを提供するように構成されているブロックデータストレージシステムマネージャモジュールであって、ブロックデータストレージサービスを提供するステップは、
1つまたは複数の実行プログラムで使用するための1つまたは複数のブロックデータストレージボリュームを作成するステップであって、ブロックデータストレージボリュームのそれぞれは複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステム上に格納される、ステップと、
作成された複数のブロックデータストレージボリュームのうちの第1のブロックデータストレージボリュームへのアクセスを1つまたは複数の実行プログラムのうちの第1の実行プログラムに許可した後に、第1の作成されたブロックデータストレージボリューム上で1つまたは複数のデータアクセス要求の実行を開始することによって第1の作成されたブロックデータストレージボリュームに対し第1のプログラムによって開始された1つまたは複数のデータアクセス要求に応答するステップと、
第1のプログラムが利用不可能になり、第1の作成されたブロックデータストレージボリュームへのアクセスを明確に区別される第2の実行プログラムに許可し、利用不可能になった第1のプログラムに許可されていたアクセスを置き換えた後に、第1の作成されたブロックデータストレージボリューム上で1つまたは複数の他のデータアクセス要求の実行を開始することによって第1の作成されたブロックデータストレージボリュームに対し第2のプログラムによって開始された1つまたは複数の他のデータアクセス要求に応答するステップとを含む、ブロックデータストレージシステムマネージャモジュールを備えるシステム。
1つまたは複数の実行プログラムで使用するための1つまたは複数のブロックデータストレージボリュームを作成するステップであって、ブロックデータストレージボリュームのそれぞれは複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステム上に格納される、ステップと、
作成された複数のブロックデータストレージボリュームのうちの第1のブロックデータストレージボリュームへのアクセスを1つまたは複数の実行プログラムのうちの第1の実行プログラムに許可した後に、第1の作成されたブロックデータストレージボリューム上で1つまたは複数のデータアクセス要求の実行を開始することによって第1の作成されたブロックデータストレージボリュームに対し第1のプログラムによって開始された1つまたは複数のデータアクセス要求に応答するステップと、
第1のプログラムが利用不可能になり、第1の作成されたブロックデータストレージボリュームへのアクセスを明確に区別される第2の実行プログラムに許可し、利用不可能になった第1のプログラムに許可されていたアクセスを置き換えた後に、第1の作成されたブロックデータストレージボリューム上で1つまたは複数の他のデータアクセス要求の実行を開始することによって第1の作成されたブロックデータストレージボリュームに対し第2のプログラムによって開始された1つまたは複数の他のデータアクセス要求に応答するステップとを含む条項55のシステム。
Claims (20)
- ブロックデータストレージサービスがリモートの格納されているブロックデータへの実行プログラムのアクセスを管理するためのコンピュータによって実行される方法であって、
ブロックデータストレージサービスによって提供される非ローカルブロックデータストレージへの指示されたプログラムの第1のコピーのアクセスを開始する要求を受け取るステップであって、前記指示されたプログラムは前記ブロックデータストレージサービスの一部ではないアプリケーションプログラムであり、前記第1のプログラムのコピーは第1の地理的位置の同じ場所に配置される、1つまたは複数の内部ネットワークを共有する複数のコンピューティングシステムのうちの第1のコンピューティングシステム上で実行され、前記ブロックデータストレージサービスは前記複数のコンピューティングシステムのうちの複数の他のコンピューティングシステムの第1のグループを、前記指示されたプログラムを含む複数の実行プログラムに対してブロックデータストレージを提供するブロックデータストレージシステムとして使用し、前記第1のコンピューティングシステムは前記第1のグループの一部ではなく、前記要求を受け取る前記ステップは前記ブロックデータストレージサービスの実行システムマネージャモジュールによって実行される、ステップと、
前記受け取った要求に応答して、第1のブロックデータストレージボリュームを、前記実行する第1のプログラムのコピーで使用できるように前記第1のコンピューティングシステムにアタッチするステップであって、前記第1のブロックデータストレージボリュームは第2のコンピューティングシステム上に格納されているプライマリコピーを有し、および第3のコンピューティングシステム上に格納されているミラーコピーを有し、前記第2のコンピューティングシステムおよび前記第3のコンピューティングシステムはそれぞれブロックデータストレージシステムの前記第1のグループの一部であり、前記第1のブロックデータストレージボリュームをアタッチする前記ステップは前記第1のコンピューティングシステムの第1の論理ローカルブロックストレージデバイスを前記第1のブロックデータストレージボリュームに関連付けるステップを含む、ステップと、
前記ブロックデータストレージサービスの前記システムマネージャモジュールの制御の下で、前記複数の実行プログラムへの前記ブロックデータストレージの前記提供を、
前記第1の論理ローカルブロックストレージデバイスに対して前記実行する第1のプログラムのコピーによって開始された1つまたは複数のデータアクセス要求の指示を受け取った後に、前記第1のブロックデータストレージボリュームの前記プライマリコピーおよび前記ミラーコピー上で前記データアクセス要求を実行するステップであって、前記データアクセス要求を実行することにより前記第1のブロックデータストレージボリュームの前記プライマリコピーおよび前記ミラーコピーのそれぞれに前記同じ格納済みブロックデータが保持されるような仕方で前記第1のブロックデータストレージボリューム上に格納されているブロックデータに対して1つまたは複数の修正が加えられる、ステップにより応答するステップと、
前記データアクセス要求を実行した後に、前記第1のプログラムのコピーの前記実行が中断されたと判定し、前記判定に応答して、前記第1のブロックデータストレージボリュームへの前記指示されたプログラムのアクセスを保持し、前記アクセスを保持する前記ステップは明確に区別される第4のコンピューティングシステム上で前記指示されたプログラムの第2のコピーの実行を開始するステップと前記第1のブロックデータストレージボリュームを、前記実行する第2のプログラムのコピーで使用できるように前記第4のコンピューティングシステムにアタッチするステップとを含み、アタッチする前記ステップは前記第4のコンピューティングシステムの第2の論理ローカルブロックストレージデバイスを前記第1のブロックデータストレージボリュームに関連付けるステップを含む、ステップと、
前記第2の論理ローカルブロックストレージデバイスに対して前記実行する第2のプログラムのコピーによって開始された1つまたは複数の他のデータアクセス要求の指示を受け取った後に、前記第1のブロックデータストレージボリュームの前記プライマリコピーおよび前記ミラーコピー上で前記他のデータアクセス要求を実行するステップであって、前記データアクセス要求を実行することにより前記第1のブロックデータストレージボリュームの前記プライマリコピーおよび前記ミラーコピーがそれぞれ前記同じブロックデータを格納するような仕方で前記第1のブロックデータストレージボリューム上に格納されている前記ブロックデータに対して1つまたは複数のさらなる修正が加えられる、ステップにより応答するステップと
によって管理するステップとを含む方法。 - 前記第1のブロックデータストレージボリュームを前記第1のコンピューティングシステムにアタッチする前記ステップは、前記内部ネットワークへの前記第1のコンピューティングシステムのアクセスを管理する前記ブロックデータストレージサービスのノードマネージャモジュールによって実行され、前記方法は、前記ノードマネージャモジュールの制御の下で、
前記第1の論理ローカルブロックストレージデバイスに対して前記実行する第1のプログラムのコピーによって開始される前記データアクセス要求を受け取るステップと、
前記内部ネットワーク上で前記システムマネージャモジュールとやり取りして前記データアクセス要求の前記指示を送ることにより前記データアクセス要求の前記実行を円滑にするステップであって、前記内部ネットワーク上でやり取りする前記ステップは前記実行する第1のプログラムのコピーに対して透過的な方法で実行される、ステップと
をさらに含む請求項1に記載の方法。 - 前記複数のプログラムが、前記複数のコンピューティングシステムのうちのいくつかのコンピューティングシステムの第2のグループ上のプログラム実行サービスによって実行され、前記第2のグループの前記コンピューティングシステムは、前記第1のグループの前記コンピューティングシステムから明確に区別され、前記第1のコンピューティングシステムは、少なくとも1つのプログラムを実行するようにそれぞれ構成された複数の仮想マシンをホストし、前記指示されたプログラムは、前記複数のプログラムのうちの1つであり、および前記第1のコンピューティングシステムによってホストされる前記複数の仮想マシンのうちの少なくとも1つによって実行される仮想マシンのイメージであり、前記ノードマネージャモジュールは、前記第1のコンピューティングシステム用の仮想マシンモニターの一部として実行される請求項2に記載の方法。
- 実行プログラムによるブロックデータストレージ機能へのアクセスを管理するためのコンピュータによって実行される方法であって、
非ローカルブロックデータストレージボリューム上に格納されているブロックデータにアクセスするために第1のコンピューティングシステム上で実行される第1のプログラムの第1のコピーによって開始された1つまたは複数のデータアクセス要求の第1のグループの1つまたは複数の指示を受け取るステップであって、前記ブロックデータストレージボリュームは1つまたは複数のネットワーク上でブロックデータストレージサービスの明確に区別される第2のデータストレージシステムによって提供され、前記第1の実行プログラムのコピーが前記ブロックデータストレージボリュームを表す前記第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のグループの前記データアクセス要求の実行を開始するステップと
を含むことを特徴とするコンピュータによって実行される方法。 - 前記第1のプログラムのコピーが利用不可能になったと判定するステップをさらに含み、
前記第1のプログラムのコピーが前記利用不可能である状況は、前記第1のコンピューティングシステムの障害、前記第1のコンピューティングシステムの接続性の障害、および前記第1のコンピューティングシステムが前記第1のプログラムのコピーの実行を継続できない状況のうちの少なくとも1つの状況に基づくことを特徴とする請求項4に記載の方法。 - 前記第1のプログラムの前記第2のコピーが実行されている前記第3のコンピューティングシステムを識別する前記ステップおよび前記ブロックデータストレージボリュームを前記第3のコンピューティングシステムにアタッチする前記ステップは、前記ブロックデータストレージボリュームへの前記第1のプログラムのアクセスを保持するために実行され、前記アクセスを維持する前記ステップは前記第1のプログラムのコピーが利用不可能になったと前記判定したことに応答して実行されることを特徴とする請求項5に記載の方法。
- 前記第1のプログラムのコピーが利用不可能になったと判定する前記ステップ、前記第1のプログラムの前記第2のコピーが実行されている前記第3のコンピューティングシステムを識別する前記ステップ、および前記ブロックデータストレージボリュームを前記第3のコンピューティングシステムにアタッチする前記ステップのうちの少なくとも1つのステップは、前記第1のプログラムおよび前記ブロックデータストレージボリュームに関連付けられているユーザから受け取った1つまたは複数の指示に応答して実行されることを特徴とする請求項4に記載の方法。
- 前記第1のプログラムの前記第2のコピーが実行されている前記第3のコンピューティングシステムを識別する前記ステップは、前記第1のプログラムのコピーが利用不可能になったと判定した後に、前記第3のコンピューティングシステム上で前記第2のプログラムのコピーの実行を開始するステップを含むことを特徴とする請求項4に記載の方法。
- 前記第1のプログラムの前記第1のコピーは、複数の明確に区別されるコンピューティングシステム上で実行される前記第1のプログラムの複数のコピーのうちの1つのコピーであり、前記複数のコピーのうちの少なくとも1つのコピーは、前記複数のコピーのうちの1つまたは複数の他のコピーに対する代替的コピーであり、前記第1のプログラムの前記第2のコピーが実行されている前記第3のコンピューティングシステムを識別する前記ステップは、前記少なくとも1つの代替的コピーのうちの1つのコピーである前記第2のコピーに基づいて前記第1のプログラムの前記第2のコピーを選択するステップを含むことを特徴とする請求項4に記載の方法。
- 前記第1のコンピューティングシステムに前記ブロックデータストレージボリュームをアタッチする前に、前記第2のデータストレージシステム上に前記ブロックデータストレージボリュームを作成するステップ、および明確に区別される第4のブロックデータストレージシステム上に前記ブロックデータストレージボリュームのミラーコピーを作成するステップをさらに含み、
前記第1のグループおよび前記第2のグループの前記データアクセス要求に応答する前記ステップは、前記第1のグループおよび前記第2のグループの前記データアクセス要求の、前記作成されたミラーコピー上での実行を開始するステップをさらに含むことを特徴とする請求項4に記載の方法。 - 前記1つまたは複数のデータアクセス要求の前記指示を受け取る前に、前記第1の実行プログラムのコピーで使用できるように前記ブロックデータストレージボリュームを前記第1のコンピューティングシステムにアタッチするステップをさらに含み、
前記ブロックデータストレージボリュームをアタッチする前記ステップは、前記第1の論理ブロックストレージデバイスを前記第2のデータストレージシステムによって提供される前記ブロックデータストレージボリュームに関連付けるステップを含み、前記1つまたは複数のネットワークへの前記第1のコンピューティングシステムのアクセスを管理するノードマネージャモジュールによって実行され、
前記ノードマネージャモジュールは、前記第1の実行プログラムに関連付けられているユーザからの要求に応答して前記ブロックデータストレージボリュームをすでに作成しているブロックデータストレージサービスの一部であることを特徴とする請求項4に記載の方法。 - 前記第1のコンピューティングシステム、前記第3のコンピューティングシステム、および前記第2のデータストレージシステムは、第1の地理的位置の同じ場所に配置されている複数のコンピューティングシステムの部分集合であり、前記複数のコンピューティングシステムは、前記ブロックデータストレージサービスによって提供される複数のブロックデータストレージシステムを含み、前記第2のデータストレージシステムは、前記複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステムであることを特徴とする請求項4に記載の方法。
- 前記第1の地理的位置の場所は、データセンターであり、前記第1のプログラムが、前記データセンターにある前記複数のコンピューティングシステムのうちのいくつかのコンピューティングシステム上の複数のユーザに対し複数のプログラムを実行するプログラム実行サービスによって実行され、前記第1のコンピューティングシステムは、少なくとも1つのプログラムを実行するようにそれぞれ構成された複数の仮想マシンをホストし、前記第1の実行プログラムは、前記複数のプログラムのうちの1つであり、および前記第1のコンピューティングシステムによってホストされる前記複数の仮想マシンのうちの少なくとも1つによって実行される仮想マシンのイメージであり、前記データアクセス要求の前記第1のグループの前記指示を受け取る前記ステップと前記他のデータアクセス要求の前記第2のグループの前記指示を受け取る前記ステップとデータアクセス要求の前記第1のグループおよび前記第2のグループの前記受け取った指示に対して応答する前記ステップは、前記第1のコンピューティングシステム用の仮想マシンモニターの実行の一部として実行され、前記第1のコンピューティングシステムは、前記第1の実行プログラムによる使用のために利用可能である1つまたは複数の他の実際のローカルのストレージデバイスを備えることを特徴とする請求項12に記載の方法。
- 実行プログラムによるブロックデータストレージ機能へのアクセスを管理するためのコンピュータによって実行される方法であって、
第1のコンピューティングシステム上で実行される第1のアプリケーションプログラムによる非ローカルブロックデータストレージボリュームへのアクセスを可能にするステップであって、前記アクセスによって前記第1のアプリケーションプログラムは前記ブロックデータストレージボリュームに対するデータアクセス要求を開始することができ、前記ブロックデータストレージボリュームは1つまたは複数のネットワークにより前記第1のコンピューティングシステムから隔てられている第2のブロックデータストレージシステムによって提供され、前記アクセスを前記第1のアプリケーションプログラムに許可する前記ステップは、前記第1の実行アプリケーションプログラムが前記ブロックデータストレージボリュームを表す前記第1のコンピューティングシステムのローカルにある第1の論理ブロックストレージデバイスとのやり取りを介して前記ブロックデータストレージボリュームに対する前記データアクセス要求を開始するような仕方で前記ブロックデータストレージボリュームを前記第1のコンピューティングシステムにアタッチするステップを含む、ステップと、
前記ブロックデータストレージボリュームに対する前記第1のアプリケーションプログラムによって開始された1つまたは複数のデータアクセス要求の1つまたは複数の受け取った指示に応答するステップであって、前記第1のアプリケーションプログラムによって開始された前記ブロックデータストレージボリュームに対する前記データアクセス要求は、前記ブロックデータストレージボリューム上に格納されているブロックデータにアクセスする要求であり、応答する前記ステップは前記第2のブロックデータストレージシステム上の前記ブロックデータストレージボリュームに対する前記データアクセス要求の実行を開始するステップを含む、ステップと、
前記第1のコンピューティングシステム上で実行されている前記第1のアプリケーションプログラムが利用不可能になった後に、前記第1のアプリケーションプログラムに許可していた前記アクセスに代えて、第3のコンピューティングシステム上で実行されている第2のアプリケーションプログラムに前記ブロックデータストレージボリュームへのアクセスを許可し、前記第1のアプリケーションプログラムおよび前記第2のアプリケーションプログラムは、単一のアプリケーションプログラムの実行コピーであり、前記アクセスを前記第2のアプリケーションプログラムに許可する前記ステップは、前記第2のアプリケーションプログラムが実行される前記第3のコンピューティングシステムを識別するステップと前記第2のアプリケーションプログラムが前記ブロックデータストレージボリュームを表す前記第3のコンピューティングシステムのローカルにある第2の論理ブロックストレージデバイスにアクセスするような仕方で前記ブロックデータストレージボリュームを前記第3のコンピューティングシステムにアタッチするステップとを含む、ステップと、
前記ブロックデータストレージボリュームに対する前記第2のアプリケーションプログラムによって開始された1つまたは複数の他のデータアクセス要求の1つまたは複数の受け取った指示に応答するステップであって、前記第2のアプリケーションプログラムによって開始された前記ブロックデータストレージボリュームに対する前記他のデータアクセス要求は、前記ブロックデータストレージボリューム上に格納されているブロックデータにアクセスする要求であり、応答する前記ステップは前記第2のブロックデータストレージシステム上の前記ブロックデータストレージボリュームに対する前記他のデータアクセス要求の実行を開始するステップを含む、ステップと
を含む方法。 - 前記第1のコンピューティングシステム、前記第3のコンピューティングシステム、および前記第2のブロックデータストレージシステムは、単一の地理的位置の場所に配置され、前記第1のコンピューティングシステムおよび前記第2のブロックデータストレージシステムは、1つまたは複数のネットワークによって隔てられており、前記第2のブロックデータストレージシステム上の前記ブロックデータストレージボリュームに対する前記データアクセス要求および前記他のデータアクセス要求の前記実行は、ブロックデータストレージサービスのシステムマネージャモジュールによって実行され、前記ブロックデータストレージボリュームへの前記アクセスを前記第1の実行アプリケーションプログラムに許可する前記ステップは、前記第1のコンピューティングシステムに関連付けられ、前記1つまたは複数のネットワークへの前記第1の実行アプリケーションプログラムのアクセスを管理する前記ブロックデータストレージサービスのノードマネージャモジュールによって実行され、前記データアクセス要求の前記受け取った指示に応答する前記ステップは、前記1つまたは複数のネットワーク上で前記受け取ったデータアクセス要求を前記第2のブロックデータストレージシステムに送信するステップを開始することによって一部は前記ノードマネージャモジュールの制御の下で実行されることを特徴とする請求項14に記載の方法。
- 前記ブロックデータストレージボリュームへの前記アクセスを前記第2の実行アプリケーションプログラムに許可する前記ステップは、前記1つまたは複数のネットワークへの前記第2の実行アプリケーションプログラムのアクセスをさらに管理する前記ノードマネージャモジュールによって実行され、前記第3のコンピューティングシステムおよび前記第1のコンピューティングシステムは、単一の物理的コンピューティングシステムの一部であり、前記他のデータアクセス要求の前記受け取った指示に応答する前記ステップは、前記1つまたは複数のネットワーク上で前記受け取った他のデータアクセス要求を前記第2のブロックデータストレージシステムに送信するステップを開始することによって一部は前記ノードマネージャモジュールの制御の下で実行されることを特徴とする請求項15に記載の方法。
- 実行プログラムによるブロックデータストレージ機能へのアクセスを管理するように構成されているシステムであって、
1つまたは複数のメモリと、
複数のブロックデータストレージシステムを使用して、前記ブロックデータストレージサービスのユーザによって作成され、前記ユーザに関連付けられている1つまたは複数の実行プログラムに代わって1つまたは複数のネットワーク上でアクセスされるブロックデータストレージボリュームを格納するブロックデータストレージサービスを提供するように構成されているブロックデータストレージシステムマネージャモジュールと
を備え、前記ブロックデータストレージサービスを提供する前記ステップは、
1つまたは複数の実行プログラムで使用するための1つまたは複数のブロックデータストレージボリュームを作成するステップであって、前記ブロックデータストレージボリュームのそれぞれは前記複数のブロックデータストレージシステムのうちの1つのブロックデータストレージシステム上に格納される、ステップと、
前記作成されたブロックデータストレージボリュームのうちの第1のブロックデータストレージボリュームへのアクセスを前記1つまたは複数の実行プログラムのうちの第1の実行プログラムに許可した後に、前記第1の作成されたブロックデータストレージボリューム上で前記1つまたは複数のデータアクセス要求の実行を開始することによって前記第1の作成されたブロックデータストレージボリュームに対し前記第1のプログラムによって開始された1つまたは複数のデータアクセス要求に応答するステップであって、前記第1のプログラムによって開始された前記第1のブロックデータストレージボリュームに対する前記1つまたは複数のデータアクセス要求は、前記第1のブロックデータストレージボリューム上に格納されているブロックデータにアクセスする要求であり、前記アクセスを前記第1の実行プログラムに許可する前記ステップは、前記第1の実行プログラムが前記第1のブロックデータストレージボリュームを表す前記第1のコンピューティングシステムのローカルにある第1の論理ブロックストレージデバイスとのやり取りを介して前記第1のブロックデータストレージボリュームに対する前記データアクセス要求を開始するような仕方で前記第1のブロックデータストレージボリュームを前記第1のプログラムを実行している第1のコンピューティングシステムにアタッチするステップを含む、ステップと、
前記第1のプログラムが利用不可能になり、前記第1の作成されたブロックデータストレージボリュームへのアクセスが明確に区別される第2の実行プログラムに許可され、前記利用不可能になった前記第1のプログラムに許可されていた前記アクセスを置き換えた後に、前記第1の作成されたブロックデータストレージボリューム上で前記1つまたは複数の他のデータアクセス要求の実行を開始することによって前記第1の作成されたブロックデータストレージボリュームに対し前記第2のプログラムによって開始された1つまたは複数の他のデータアクセス要求に応答するステップであって、前記第1のプログラムおよび前記第2のプログラムは、単一のプログラムの実行コピーであり、前記第2のプログラムによって開始された前記第1のブロックデータストレージボリュームに対する前記1つまたは複数の他のデータアクセス要求は、前記第1のブロックデータストレージボリューム上に格納されているブロックデータにアクセスする要求であり、前記アクセスを前記第2のプログラムに許可する前記ステップは、前記第2のプログラムが実行される第3のコンピューティングシステムを識別するステップと前記第2のプログラムが前記第1のブロックデータストレージボリュームを表す前記第3のコンピューティングシステムのローカルにある第2の論理ブロックストレージデバイスにアクセスするような仕方で前記第1のブロックデータストレージボリュームを前記第3のコンピューティングシステムにアタッチするステップとを含む、ステップと
を含むことを特徴とするシステム。 - 前記第1のブロックデータストレージボリュームは、前記ブロックデータストレージシステムのうちの第1のブロックデータストレージシステム上に格納され、前記第1のコンピューティングシステム、前記第3のコンピューティングシステム、および前記第1のブロックデータストレージシステムは、単一の地理的位置の場所に配置され、1つまたは複数のネットワークによって隔てられており、前記システムは、前記1つまたは複数のネットワークへの前記第1のプログラムおよび前記第2のプログラムのアクセスを管理するために前記第1のプログラムおよび前記第2のプログラムに関連付けられている前記ブロックデータストレージサービスの1つまたは複数のノードマネージャモジュールをさらに備え、これにより、前記データアクセス要求および前記他のデータアクセス要求への前記応答は、前記1つまたは複数のネットワーク上で前記データアクセス要求および前記他のデータアクセス要求を前記第1のブロックデータストレージシステムに送信するステップを開始することによって一部は前記1つまたは複数のノードマネージャモジュールの制御の下で実行されることを特徴とする請求項17に記載のシステム。
- 前記第1のブロックデータストレージボリュームの第1のコピーは、前記ブロックデータストレージシステムのうちの第1のブロックデータストレージシステム上に格納され、前記第1のプログラムによって開始された前記データアクセス要求の前記実行は、前記第1のブロックデータストレージボリュームの前記第1のコピー上で実行され、前記第1のプログラムは、第1の地理的位置の場所にある前記第1のブロックデータストレージシステムと同じ場所に配置されている第1のコンピューティングシステム上で実行され、前記第2のプログラムは、明確に区別される第2の地理的位置の場所にある第2のコンピューティングシステム上で実行され、前記第1の作成されたブロックデータストレージボリュームへの前記アクセスを前記第2の実行プログラムに許可する前記ステップは、前記第2のコンピューティングシステムを前記第1のブロックデータストレージボリュームの第2のコピーを格納する前記第2の地理的位置の場所にある第2のブロックデータストレージシステムにアタッチするステップを開始するステップを含むことを特徴とする請求項17に記載のシステム。
- 前記システムは、前記1つまたは複数のメモリのうちの少なくとも1つのメモリを備える第1のコンピューティングシステムを備え、前記ブロックデータストレージシステムマネージャモジュールは、前記少なくとも1つのメモリを使用して前記第1のコンピューティングシステムによって実行されるソフトウェア命令を備えることを特徴とする請求項17に記載のシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/188,943 US8015343B2 (en) | 2008-08-08 | 2008-08-08 | Providing executing programs with reliable access to non-local block data storage |
US12/188,943 | 2008-08-08 | ||
US12/188,949 | 2008-08-08 | ||
US12/188,949 US8019732B2 (en) | 2008-08-08 | 2008-08-08 | Managing access of multiple executing programs to non-local block data storage |
PCT/US2009/053176 WO2010017492A1 (en) | 2008-08-08 | 2009-08-07 | Providing executing programs with reliable access to non-local block data storage |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011199845A Division JP5118243B2 (ja) | 2008-08-08 | 2011-09-13 | 実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011530748A JP2011530748A (ja) | 2011-12-22 |
JP2011530748A5 JP2011530748A5 (ja) | 2012-02-09 |
JP5015351B2 true JP5015351B2 (ja) | 2012-08-29 |
Family
ID=41663996
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011522284A Active JP5015351B2 (ja) | 2008-08-08 | 2009-08-07 | 実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現 |
JP2011199845A Active JP5118243B2 (ja) | 2008-08-08 | 2011-09-13 | 実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011199845A Active JP5118243B2 (ja) | 2008-08-08 | 2011-09-13 | 実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現 |
Country Status (5)
Country | Link |
---|---|
EP (4) | EP2324429B1 (ja) |
JP (2) | JP5015351B2 (ja) |
CN (3) | CN103645953B (ja) |
ES (1) | ES2575155T3 (ja) |
WO (1) | WO2010017492A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255587B2 (en) * | 2012-01-18 | 2019-04-09 | Microsoft Technology Licensing, Llc | System and method for blended presentation of locally and remotely stored electronic messages |
CN102710763B (zh) * | 2012-05-29 | 2015-11-25 | 新华网股份有限公司 | 一种分布式缓存池化、分片及故障转移的方法及系统 |
CA2868247C (en) | 2013-07-26 | 2017-04-04 | Ji Ouyang | Data sending method, data receiving method, and storage device |
CN103546724A (zh) * | 2013-10-22 | 2014-01-29 | 杭州爱浦多数码技术有限公司 | 一种网络摄像机集散式冗余存储系统及其存储方法 |
US10866768B2 (en) * | 2014-12-12 | 2020-12-15 | Advanced Micro Devices, Inc. | Storage location assignment at a cluster compute server |
US20160277498A1 (en) * | 2015-03-20 | 2016-09-22 | Intel Corporation | Location and boundary controls for storage volumes |
US9900386B2 (en) | 2015-04-09 | 2018-02-20 | International Business Machines Corporation | Provisioning data to distributed computing systems |
US10747624B2 (en) | 2015-10-14 | 2020-08-18 | Hitachi, Ltd. | Storage system and control method of storage system using asynchronous remote copying to backup volume at specific time points |
CN107025151A (zh) * | 2016-01-30 | 2017-08-08 | 鸿富锦精密工业(深圳)有限公司 | 电子装置连接系统 |
JP6720357B2 (ja) * | 2016-06-29 | 2020-07-08 | アマゾン テクノロジーズ インコーポレイテッド | ネットワークアクセス可能なデータボリューム変更 |
US10509738B2 (en) * | 2016-07-01 | 2019-12-17 | Intel Corporation | Remote memory operations |
CN106844140B (zh) * | 2016-12-21 | 2020-05-26 | 南京富士通南大软件技术有限公司 | 一种基于scom的监控方法 |
TWI659306B (zh) * | 2018-01-10 | 2019-05-11 | 英屬開曼群島商捷鼎創新股份有限公司 | 卷搬移中執行資料讀寫的方法及電子裝置 |
KR102547126B1 (ko) * | 2018-04-30 | 2023-06-23 | 아마존 테크놀로지스, 인크. | 블록 스토리지 시스템들을 위한 분산된 복제본 |
CN113849137B (zh) * | 2021-10-13 | 2023-08-01 | 上海威固信息技术股份有限公司 | 一种面向申威容器平台的可视化块存储方法和系统 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324654B1 (en) * | 1998-03-30 | 2001-11-27 | Legato Systems, Inc. | Computer network remote data mirroring system |
JP2002123406A (ja) * | 2000-10-17 | 2002-04-26 | Pfu Ltd | 高信頼性システム |
US6938122B2 (en) * | 2001-01-23 | 2005-08-30 | Emc Corporation | Remote mirroring in a switched environment |
WO2003021484A2 (en) * | 2001-08-30 | 2003-03-13 | Bea Systems, Inc | Cluster caching with concurrency checking |
US20070094465A1 (en) * | 2001-12-26 | 2007-04-26 | Cisco Technology, Inc., A Corporation Of California | Mirroring mechanisms for storage area networks and network based virtualization |
US20070094466A1 (en) * | 2001-12-26 | 2007-04-26 | Cisco Technology, Inc., A Corporation Of California | Techniques for improving mirroring operations implemented in storage area networks and network based virtualization |
US7139885B2 (en) * | 2001-12-27 | 2006-11-21 | Hitachi, Ltd. | Method and apparatus for managing storage based replication |
KR100464350B1 (ko) * | 2001-12-31 | 2005-01-03 | 삼성전자주식회사 | 통신 시스템에서 로드 공유 그룹을 이용한 분산된 호 처리및 업그레이드 시스템 및 방법 |
US7043665B2 (en) * | 2003-06-18 | 2006-05-09 | International Business Machines Corporation | Method, system, and program for handling a failover to a remote storage location |
JP4307202B2 (ja) * | 2003-09-29 | 2009-08-05 | 株式会社日立製作所 | 記憶システム及び記憶制御装置 |
US20050240806A1 (en) * | 2004-03-30 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Diagnostic memory dump method in a redundant processor |
US7131027B2 (en) * | 2004-07-09 | 2006-10-31 | Hitachi, Ltd. | Method and apparatus for disk array based I/O routing and multi-layered external storage linkage |
US7058731B2 (en) * | 2004-08-03 | 2006-06-06 | Hitachi, Ltd. | Failover and data migration using data replication |
JP4786248B2 (ja) * | 2005-08-09 | 2011-10-05 | 株式会社日立製作所 | ストレージシステムの構成管理装置及び構成管理方法 |
JP4710518B2 (ja) * | 2005-09-28 | 2011-06-29 | 株式会社日立製作所 | 計算機システムとそのブート制御方法 |
JP4736783B2 (ja) * | 2005-12-19 | 2011-07-27 | 株式会社日立製作所 | ストレージ装置を有するネットワークにおける、ボリューム及び障害管理方法 |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US8046545B2 (en) * | 2006-01-03 | 2011-10-25 | Emc Corporation | Continuous backup |
JP2007226400A (ja) * | 2006-02-22 | 2007-09-06 | Hitachi Ltd | 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム |
JP4611922B2 (ja) * | 2006-03-28 | 2011-01-12 | 富士通株式会社 | 制御プログラム、制御方法および制御装置 |
US7792944B2 (en) * | 2006-03-31 | 2010-09-07 | Amazon Technologies, Inc. | Executing programs based on user-specified constraints |
US7627729B2 (en) * | 2006-09-07 | 2009-12-01 | International Business Machines Corporation | Apparatus, system, and method for an improved synchronous mirror swap |
US7594072B2 (en) * | 2006-09-15 | 2009-09-22 | Hitachi, Ltd. | Method and apparatus incorporating virtualization for data storage and protection |
JP4902403B2 (ja) * | 2006-10-30 | 2012-03-21 | 株式会社日立製作所 | 情報システム及びデータ転送方法 |
JP5244332B2 (ja) * | 2006-10-30 | 2013-07-24 | 株式会社日立製作所 | 情報システム、データ転送方法及びデータ保護方法 |
US8554981B2 (en) * | 2007-02-02 | 2013-10-08 | Vmware, Inc. | High availability virtual machine cluster |
US8296398B2 (en) * | 2008-04-29 | 2012-10-23 | Overland Storage, Inc. | Peer-to-peer redundant file server system and methods |
-
2009
- 2009-08-07 ES ES11009559.3T patent/ES2575155T3/es active Active
- 2009-08-07 EP EP09805617.9A patent/EP2324429B1/en active Active
- 2009-08-07 EP EP16153403.7A patent/EP3037970A1/en not_active Withdrawn
- 2009-08-07 CN CN201310544765.7A patent/CN103645953B/zh active Active
- 2009-08-07 EP EP20168868.6A patent/EP3699765A1/en not_active Withdrawn
- 2009-08-07 JP JP2011522284A patent/JP5015351B2/ja active Active
- 2009-08-07 WO PCT/US2009/053176 patent/WO2010017492A1/en active Application Filing
- 2009-08-07 CN CN201510387148.XA patent/CN105138435B/zh active Active
- 2009-08-07 EP EP11009559.3A patent/EP2426605B1/en active Active
- 2009-08-07 CN CN200980140118.1A patent/CN102177508B/zh active Active
-
2011
- 2011-09-13 JP JP2011199845A patent/JP5118243B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP3037970A1 (en) | 2016-06-29 |
CN103645953B (zh) | 2017-01-18 |
CN105138435A (zh) | 2015-12-09 |
EP2324429A4 (en) | 2012-06-06 |
JP5118243B2 (ja) | 2013-01-16 |
CN102177508B (zh) | 2015-08-05 |
EP2426605A1 (en) | 2012-03-07 |
JP2012053878A (ja) | 2012-03-15 |
JP2011530748A (ja) | 2011-12-22 |
EP2324429A1 (en) | 2011-05-25 |
EP3699765A1 (en) | 2020-08-26 |
CN103645953A (zh) | 2014-03-19 |
CN105138435B (zh) | 2019-06-04 |
EP2324429B1 (en) | 2020-10-14 |
ES2575155T3 (es) | 2016-06-24 |
WO2010017492A1 (en) | 2010-02-11 |
EP2426605B1 (en) | 2016-03-02 |
CN102177508A (zh) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11768609B2 (en) | Managing access of multiple executing programs to nonlocal block data storage | |
US11526407B2 (en) | Providing executing programs with access to stored block data of others | |
JP5015351B2 (ja) | 実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現 | |
US9262273B2 (en) | Providing executing programs with reliable access to non-local block data storage | |
US7831682B2 (en) | Providing a reliable backing store for block data storage | |
US9747179B2 (en) | Data management agent for selective storage re-caching | |
US8984243B1 (en) | Managing operational parameters for electronic resources | |
JP5789640B2 (ja) | 複数のコンピュータシステムによるプログラムの実行を管理するシステム | |
US9462056B1 (en) | Policy-based meta-data driven co-location of computation and datasets in the cloud | |
US20040153481A1 (en) | Method and system for effective utilization of data storage capacity | |
Hussain et al. | Overview of Oracle RAC: by Kai Yu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110913 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20110913 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20111003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111125 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20111125 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20111222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120406 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120515 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120606 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150615 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5015351 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |