JP2013508882A - 複製されたデータインスタンスのプロビジョニングおよび管理 - Google Patents

複製されたデータインスタンスのプロビジョニングおよび管理 Download PDF

Info

Publication number
JP2013508882A
JP2013508882A JP2012536964A JP2012536964A JP2013508882A JP 2013508882 A JP2013508882 A JP 2013508882A JP 2012536964 A JP2012536964 A JP 2012536964A JP 2012536964 A JP2012536964 A JP 2012536964A JP 2013508882 A JP2013508882 A JP 2013508882A
Authority
JP
Japan
Prior art keywords
instance
database
replica
instance replica
environment
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.)
Granted
Application number
JP2012536964A
Other languages
English (en)
Other versions
JP5443613B2 (ja
Inventor
アレクサンダー マクドナルド マクアリスター グラント
シヴァサブラマニアン スワミナサン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2013508882A publication Critical patent/JP2013508882A/ja
Application granted granted Critical
Publication of JP5443613B2 publication Critical patent/JP5443613B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2071Error 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
    • G06F11/2076Synchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Abstract

異なるデータゾーンまたは地理的位置においてプロビジョンすることができる1次レプリカおよび2次レプリカを提供する複製されたデータベースインスタンスをプロビジョンすることができる。データベースは1次レプリカ上にインストールすることができ、1次レプリカおよび2次レプリカの両方は、任意のI/O操作が1次レプリカおよび2レプリカの間によって複製されることを可能にするインストールされたブロックレベル複製機構を有することができる。1次レプリカのあらゆる障害または機能停止は、2次レプリカへのフェイルオーバ操作を実施することにより解決することができる。DNS名または他の係る手法を用いることができ、それにより、DNS名はフェイルオーバ時、2次レプリカにエイリアスすることができる。したがって、「新規」1次レプリカを利用するにあたっては、顧客の側には特段の動作は必要ない。データベースの生成および複製されたインスタンスのプロビジョニングは、制御環境へのウェブサービスコールを用いることにより、開始することができる。

Description

増加しつつある数のアプリケーションおよびサービスがインターネット等のネットワーク上で利用可能になるのにしたがい、増加しつつある数のコンテンツ、アプリケーション、および/またはサービスのプロバイダが、クラウドコンピューティング等の技術に目を向けつつある。一般に、クラウドコンピューティングは、ウェブサービス等の様々なサービスを通して電子リソースへのアクセスを提供する手法であり、クラウドコンピューティングにおいては、これらのサービスをサポートするために用いられるハードウェアおよび/またはソフトウェアは、任意の所与の時間におけるサービスの必要性を満たすために、動的にスケーラブルである。ユーザまたは顧客は、クラウドによりリソースにアクセスするにあたり、一般的に、レンタル、リース、または他の方法による支払を行い、そのために、これらのリソースに対するアクセスを提供するハードウェアおよび/またはソフトウェアを購入および維持する必要がない。
様々なアプリケーションおよびリソースの態様がクラウドにおいて調節および管理される可能性がある一方で、これらのアプリケーションおよびリソースが依存するデータリポジトリは、顧客または係るユーザにより同様に調節可能または容易に管理可能ではない。一般的に、プロビジョニング、データストレージのスケーリング等のタスクを実行することは、煩瑣な手作業による手順であり、顧客は、その手順において、データベース管理者(DBA)が設定が有効であるかを判定できるよう、DBAまたは同様のエキスパートユーザに設定情報および要件を提供しなければならない。さらに、顧客が、動的且つ/もしくは自動的に、データベースインスタンスに対するパラメータを調節し、またはデータリポジトリの他の係る態様を管理するための容易な方法はない。多くの場合、データインスタンスはバックアップ機構またはリカバリ機構を所定の位置に有することになるが、これらの機構は単一の位置またはエリアに存在する場合が多く、そのエリアにおける障害または機能停止に影響されやすい。
本開示に係る様々な実施形態が、以下の図面を参照して説明される。
様々な実施形態を実装することができる環境を示す図である。 様々な実施形態にしたがって用いることができるコントロールプレーンおよびデータプレーンの分離例を示す図である。 1つに実施形態にしたがって用いることができる複数のデータゾーンにわたって複製されたデータインスタンスを実行するための実装例を示す図である。 1つに実施形態にしたがって用いることができる複製されたデータインスタンスを生成するためのプロセス例を示す図である。 1つに実施形態にしたがって用いることができる1次レプリカを生成するためのプロセス例を示す図である。 1つに実施形態にしたがって用いることができる2次レプリカを生成するためのプロセス例を示す図である。
本開示の様々な実施形態に係るシステムおよび方法は、電子環境におけるデータストレージの様々な態様を管理するための従来の手法において経験される前述の欠陥および他の欠陥の1つまたは複数を克服する場合がある。特に、様々な実施形態は、ユーザがデータ環境またはコントロールプレーンの様々な態様を管理および/または変更することを可能とするために用いることができる、分離された制御環境またはコントロールプレーンを提供する。この「セルフサービス」機能性は一連のウェブサービスにより提供することができ、それにより、ユーザおよびコントロールプレーンは、仮想的なデータベース管理者(DBA)としてともに機能することが可能となる。ユーザまたは顧客は、例えば、外部から可視である複数のアプリケーションプログラミングインターフェース(API)のうちの1つを通して、リクエストをコントロールプレーンに発行することができる。様々なAPIを、データ環境において、例えば、リレーショナルデータベース等のデータリポジトリに対して特定の機能を実行するために用いることができる。1つのAPIにより受信されたリクエストを解析することにより、データストアまたはデータストレージインスタンスの動作パラメータまたは設定パラメータを調節する動作等の、データプレーンにおいて実行される所望の動作(単数または複数)を判定することができる。ワークフローコンポーネント等のコンポーネントは、動作に対する適切なタスクを決定し、適切な順序でタスクを実行することができる。リレーショナルデータベースの態様を調節する等の、これらのタスクのうちの少なくとも1つが、一般的に、データ環境において実行されるであろう。
特定の実施形態によると、係るシステムは、データ環境における複製されたデータインスタンスのプロビジョニングを提供することができる。このプロビジョニングは、1次・2次複製手法を利用することができる。なお、この1次・2次複製手法においては、1つまたは複数の別個のデータゾーン、別個の地理的位置、その他においてまたはわたって1次レプリカおよび2次レプリカの各々がプロビジョンされるものである。データベースレプリカは、それぞれが、複数のレプリカにわたって共有されない専用ブロックストレージボリュームにアタッチされた、別個のデータインスタンス上で実行可能である。
様々な実施形態において、複製は、オーストリア国ウィーンのLinbit社のDistributed Replicated Block Device(DRBD(登録商標))または米国ワシントン州シアトルのAmazon.com,Inc.,社により提供されるElastic Block Store(EBS)等のブロックレベル複製機構を用いて実行することができる。これらのブロックレベル複製機構は、ブロックデバイスのコンテンツがサーバ間でミラーされ、冗長システム上でデータの同時複製が可能となる。それぞれのインスタンスは、データインスタンスに対するすべての入出力(I/O)操作を管理するためにインストールされたブロックレベル複製機構カーネルモジュールを有するカーネルを実行することができる。すべての読み出しおよび書き込みは、ブロックレベル複製機構が2次レプリカに情報を同時に複製しながら、1次レプリカにおいて実行することができる。
1次レプリカおよび2次レプリカの両方は、外向きDNS名を有する。顧客は、DNS_primary等のDNS名を用いて、現行の1次レプリカに到達することができる。DNS_primary名は、(現行の)1次レプリカの外部DNS名にエイリアスまたは「cname」することができる。1次レプリカに障害が生じた場合または1次レプリカが他の方法で利用不可能となった場合、2次レプリカが新規1次レプリカに昇格またはフェイルオーバすることができる。それによって、DNS_primaryに対するcnameは、新規1次インスタンスのDNS名に更新することができる。すべての書き込みは現行の1次レプリカ上のデータベースに送られる。1次インスタンスが書き込みを受信すると、その情報は2次レプリカにも同時に書き込まれる。両方の位置において書き込みが成功した場合に、書き込みは成功であるとみなされる。様々な実施形態において、すべての読み出しも1次レプリカにおいてのみ実行される。
図1は、様々な実施形態に係る態様を実装する環境100の1例を示す。理解されるであろうように、ウェブに基づく環境が説明のためにここでは用いられているが、様々な実施形態を実装するために、異なる環境が適宜用いられてもよい。図示の環境100は、テストまたは開発部分(側)および生産部分の両方を備える。生産部分は、適切なネットワーク104上でリクエスト、メッセージ、または情報の送受信を実行し、デバイスのユーザに情報を戻すように伝えるために動作可能である任意の適切な装置を含むことができるとができる電子クライアントデバイス102を含む。係るクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、携帯型メッセージ装置、ラップトップコンピュータ、セットトップボックス、携帯情報端末、および電子ブックリーダ等を含む。ネットワークは、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、または任意の他の係るネットワークまたはこれらの組み合わせを含む任意の適切なネットワークを含むことができる。係るシステムに用いられるコンポーネントは、選択されたネットワークおよび/または環境の種類に少なくとも部分的に依存する。係るネットワークを介して通信するためのプロトコルおよびコンポーネントは周知であり、本明細書では詳細に説明しない。ネットワーク上の通信は、有線接続または無線接続およびこれらの組み合わせにより可能とすることができる。この例においては、この環境が、リクエストを受信しそれに応答してコンテンツをサーブするためにウェブサーバ106を含むため、ネットワークはインターネットを含むが、他のネットワークに対しては、当業者に理解されるように、同様の目的のために機能する代替的なデバイスが用いられる可能性がある。
図示的な環境は、少なくとも1つのアプリケーションサーバ108およびデータストア110を含む。チェーン構成されたまたは他の方法で構成され、且つ適切なデータストアからデータを取得する等のタスクを実行するよう相互作用する、いくつかのアプリケーションサーバ、層、もしくは他の要素、プロセス、またはコンポーネントが存在することができることが理解されるべきである。本明細書で用いられる場合「データストア」は、データを記憶、アクセス、および取得する能力を有し、任意の標準型、分散型、またはクラスタ環境において、任意の組み合わせ、かつ任意の個数のデータサーバ、データベース、データ記憶デバイス、およびデータ記憶媒体を含む、任意のデバイスまたはデバイスの組み合わせを指す。アプリケーションサーバは、クライアントデバイスに対して1つまたは複数のアプリケーションの態様を実行するために、アプリケーションに対する大部分のデータアクセスおよびビジネスロジックを処理する、必要に応じてデータストアと統合する任意の適切なハードウェアおよびソフトウェアを含むことができる。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、テキスト、グラフィック、オーディオ、および/またはビデオ等の、ユーザに転送される、ウェブサーバによりユーザにサーブされるコンテンツを生成することが可能である。なお、これらのコンテンツは、この例では、HTML、XML、または他の適切な構造化言語の形でウェブサーバによりユーザにサーブされてもよい。すべてのリクエストおよび応答の取り扱いならびにクライアントデバイス102およびアプリケーションサーバ108の間のコンテンツの送達は、ウェブサーバにより取り扱うことができる。ウェブサーバおよびアプリケーションサーバは、本明細書の他の箇所において説明されるように、本明細書で検討する構造化されたコードが任意の適切なデバイスまたはホストマシン上で実行可能であるため、不可欠ではなく、単にコンポーネント例であることを理解すべきである。さらに、環境は、ユーザまたはアプリケーションがサブスクライブすることができるサービスとしてテストオートメーションフレームワークが提供されるよう、構成することができる。テストオートメーションフレームワークは、本明細書において説明および示唆されるように、様々な他の実装を用いることもできるが、本明細書で説明する様々なテストパターンのうちの任意の実装として提供することができる。
環境は、開発者、データ管理者、またはテスタ等のユーザがシステムにアクセスすることを可能とするユーザデバイス118を備える、開発および/またはテスト側を備えてもよい。ユーザデバイス118は、クライアントデバイス102に関して上述したもののように、任意の適切なデバイスまたはマシンとすることができる。環境は開発サーバ120も含む。なお、この開発サーバ120は、アプリケーションサーバ108と同様に機能すするが、一般的に、コードが製作側において展開および実行される前に開発およびテストの間にコードを実行し、外部ユーザにアクセス可能である。いくつかの実施形態において、アプリケーションサーバは、開発サーバとして機能することができ、分離された生産およびテストストレージは用いられなくてもよい。
データストア110は、いくつかの別個のデータテーブル、データベース、または特定の態様に関するデータを記憶する他のデータ記憶機構および媒体を含むことができる。例えば、図示したデータストアは、生産側に対してコンテンツをサーブするために用いることができる、生産データ112およびユーザ情報116を記憶する機構を含む。データストアは、テスト側に対するユーザ情報とともに用いることができる、テストデータ114を記憶する機構も含むことが示される。任意の上述の機構に、適宜またはデータストア110における追加的機構に記憶することができる、ページ画像情報およびアクセス権情報に対する等の、データストアに記憶することができる、他の多数の態様が存在することができることを理解すべきである。データストア110は、これに関連するロジックを通して、アプリケーションサーバ108または開発サーバ120から命令を受信し、それに応答してデータを、取得、更新、または他の方法で処理するようするよう動作可能である。1つの例において、ユーザは特定の種類の項目に対する検索リクエストを発行してもよい。この場合、データストアはユーザ情報にアクセスすることにより、ユーザの身元を確認してもよく、またカタログ詳細情報にアクセスすることにより当該種類の項目に関する情報を取得することができる。その後この情報は、ユーザデバイス102上のブラウザによりユーザが閲覧可能なウェブページ上にリストされる結果等として、ユーザ返すことができる。対象となる特定項目に関する情報は、ブラウザの専用ページまたはウィンドウにおいて閲覧可能である。
各サーバは、一般的に、そのサーバの一般的管理および操作のための実行可能プログラム命令を提供するオペレーティングシステムを含み、一般的に、サーバのプロセッサにより実行されるとサーバがその意図する機能を実行することを可能にする命令を記憶するコンピュータ可読媒体を含むであろう。オペレーティングシステムおよびサーバの一般的機能性に対する適切な実装は、周知または商業的に入手可能であり、特に本明細書の開示に照らし合わせると、当業者により容易に実装される。
1つの実施形態における環境は、1つまたは複数のコンピュータネットワークまたは直接接続を用いる通信リンクを介して相互接続されるいくつかのコンピュータシステムおよびコンポーネントを利用する、分散コンピューティング環境である。しかし、係るシステムは、図1に示すコンポーネントよりも少数または多数のコンポーネントを有するシステムにおいても同様に良好に動作可能であることが当業者には理解されるであろう。したがって、図1におけるシステム100の描写は、図示的な性質のものであり、本開示の範囲を限定するものでないことを理解すべきである。
図1に示すもののような環境は、電子市場等のプロバイダに対して有用であり、複数のホストが、コンテンツのサーブ、ユーザの認証、決済トランザクションの実行、または多数の他の係るタスクのうちの任意のタスクの実行等の様々なタスクを実行するために用いられてもよい。これらのホストのうちのいくつかは同様の機能性を提供するよう構成されてもよい。一方、他のサーバは、少なくともいくつかの異なる機能を実行するよう構成されてもよい。係る場合における電子環境は、以下で詳細に説明する、図2の構成200に図示されるものなどのような、追加的コンポーネントおよび/または他の機構を含んでもよい。
1つの実施形態に係るシステムおよび方法は、リレーショナルデータベースサービス(「RDS」)を提供する。このRDSは、開発者、顧客、または他の正規ユーザが、リレーショナルデータベースおよび他の係るデータソースを、容易且つ高いコスト効率で取得および設定することを可能とし、その結果、ユーザは、クラウド内のリレーショナルデータの組の記憶、処理、および照会等のタスクを実行することができる。この例は、インターネット、ウェブサービス、インターネットベースの技術に関連して説明されるが、様々な実施形態の態様を、電子環境におけるネットワーク上で利用可能または提供される任意の適切なサービスとともに用いることができることを理解すべきである。さらに、サービスは本明細書において「リレーショナルデータベースサービス」を指す一方で、係るサービスを、電子環境において任意の適切な種類のデータリポジトリまたはデータストレージとともに用いることができることを理解すべきである。この例におけるRDSは、少なくとも1つのウェブサービスを含み、そのウェブサービスにより、ユーザまたは顧客は、展開、更新、パッチ管理、バックアップ、複製、フェイルオーバ、容量管理、スケーリング、およびデータ管理の他の係る態様の管理上の複雑さを心配することなく、容易にリレーショナルデータの組を管理することが可能となる。したがって開発者は、データベースのインフラストラクチャを管理する複雑さを心配することなく、高度なクラウドアプリケーションを開発する自由を得ることができる。
1つの実施形態におけるRDSは、データストレージの様々な態様の管理に有用なコンポーネント(例えば、ハードウェアおよびソフトウェア)を含む別個の「コントロールプレーン」を提供する。1つの実施形態において、ユーザまたは顧客が、データストレージに関する特定のタスクを実行するように、RDSへのコールを生成することを可能にする1組のデータ管理アプリケーションプログラミングインターフェース(API)または他の係るインターフェースが提供される。しかしながら、ユーザは、データリボジトリと通信するにあたり直接的インターフェースまたはAPIを用いることもでき、データストレージを管理する必要があるときのみ、または同様のタスクを実行する必要があるときにのみ、コントロールプレーンのRDS専用のAPIを用いることができる。
図2は、1つに実施形態にしたがって用いることができるRDS実装200の1例を示す図である。この例において、エンドユーザの計算デバイス202は、データプレーン210のデータリポジトリをプロビジョンする等のタスクを実行するコールを、ネットワーク206を通してコントロールプレーン208に発行することが可能であるよう示されている。ユーザまたはアプリケーション204は、データプレーン210のインターフェースを通して、プロビジョンされたリポジトリに直接アクセスすることができる。エンドユーザの計算デバイスおよびアプリケーションが説明目的のために用いられているが、様々な実施形態において、任意の適切なユーザ、アプリケーション、サービス、デバイス、コンポーネント、またはリソースが、コントロールプレーンのインターフェース(単数または複数)および/またはデータプレーンに適宜アクセス可能であることを理解すべきである。さらに、コンポーネントはコントロールプレーンおよびデータプレーンに分割されているが、これは、それぞれの機能性を提供するために用いられる少なくともいくつかのリソース(例えば、ハードウェアおよび/またはソフトウェア)の事実上の分離または仮想的な分離を指すことができることを理解すべきである。
この例におけるコントロールプレーン208は、本質的に、プロビジニング、スケーリング、複製、その他等の制御動作および管理動作を取り扱うハードウェアおよびソフトウェアコンポーネントの仮想層である。この実施形態におけるコントロールプレーンはウェブサービス層212またはサービスティアを含み、このウェブサービス層212は、例えば、コンピュータ実行可能ソフトウェア、アプリケーションサーバ、または他の係るコンポーネントとともに、少なくとも1つのウェブサーバを含むことができる。ウェブサービス層は、ネットワーク206上からウェブサービスコールまたはリクエストを受信するための1組のAPI232(または他の係るインターフェース)も含むことができる。各APIは、リレーショナルデータベースのインスタンスのプロビジョンする、スケールする、クローンする、またはハイバネートする等の、データ環境に関して実行される少なくとも1つの特定の動作のためのリクエストを受信するために提供することができる。APIのうちの1つに対するリクエストを受信すると、ウェブサービス層は、リクエストを構文解析または他の方法で解析することにより、コールを実行または処理するために必要なステップまたは動作を判定する。例えば、データリポジトリ生成のリクエストを含むウェブサービスコールが受信される場合がある。この例において、ウェブサービス層はリクエストを構文解析することにより、生成されるデータリポジトリの種類、要求される記憶ボリューム、(必要に応じて)要求されるハードウェアの種類、または他の係る態様を判定することができる。リクエストに関する情報は、後続の処理のために、管理(「Admin」)データストア222、または他の適切な記憶位置もしくはジョブ待ち行列に書き込むことができる。
1つの実施形態におけるウェブサービス層はスケーラブルな1組の顧客向きサーバを含む。なお、この顧客向きのサーバは、様々なコントロールプレーンAPIを提供し、API仕様に基づいて適切な応答を返すことができる。ウェブサービス層は少なくとも1つのAPIサービス層も含むことができる。なお、このAPIサービス層ヤは、1つの実施形態においては、ステートレスな、複製されたサーバからなり、これらのステートレスな複製されたサーバは外向きの顧客APIを処理する。ウェブサービス層は、クレデンシャルに基づく顧客の認証、顧客の権限付与、APIサーバに対する顧客のリクエストのスロットル、ユーザ入力の確認、リクエストおよび応答のマーシャルおよびアンマーシャル等のウェブサービスフロントエンド機能を受け持つことができる。API層は、APIコールに応答して、管理データストアへの/管理データストアからの、データベース設定データの読み取り/書き込みを実行することも受け持つことができる。多数の実施形態において、ウェブサービス層および/またはAPIサービス層は、外部から可視である唯一のコンポーネント、すなわち制御サービスの顧客に可視であり且つ制御サービスの顧客によりアクセス可能な唯一のコンポーネントである。ウェブサービス層のサーバは、当該技術分野において既知であるように、ステートレス、かつ水平方向にスケールすることができる。APIサーバならびに永続的なデータストアは、1つの地理的領域内の複数のデータセンタに、または1つの地理的位置の近傍の複数のデータセンタにわたって分散することができる。それにより、例えば、これらのサーバは、単一のデータセンタの障害に対して回復力に優れる。
この実施形態におけるコントロールプレーンは、本明細書において「スイーパー」コンポーネント214と称されるコンポーネントを含む。スイーパーコンポーネントは、顕著なリクエストに応答してコントロールプレーンの様々なコンポーネントをポーリングするよう、すなわち実行される任意のタスクを他の方法で判定するよう動作する、任意の適切なコンポーネントとすることができる。この例においては、ウェブサービス層は、「データベース生成」リクエストに関する命令または情報を管理データストア222または同様のジョブ待ち行列に設置してもよい。次いで、スイーパーは顕著なジョブを求めて管理データストアを周期的に調べることができる。ウェブサービス層がジョブが存在するスイーパーに対して通知を送信する等の、当業者には明らかである様々な他の手法を用いることができる。スイーパーコンポーネントは「データベース生成」リクエストをピックアップし、リクエストに関する情報を用いて、リクエスト、コール、または他の係るコマンドを、リクエストに対する少なくとも1つのワークフローをインスタンス化するよう動作するワークフローコンポーネント216に送信することができる。1つの実施形態におけるワークフローは、本明細書の他の箇所で説明されるように、ワークフローサービスを用いて生成および維持される。一般にワークフローは、特定のジョブを実行するために実行されるべき一連のタスクである。ワークフローは、実際の操作ではなく、操作に関する情報および実行の流れを制御する操作の抽象化である。ワークフローは、実行中の任意の時間において処理状態を管理し、処理状態を返すことができる1つの状態マシンとしてみなすこともできる。1つの実施形態におけるワークフローコンポーネント(またはコンポーネントのシステム)は、リポジトリの生成、変更、ならびに削除、復元ならびにバックアップ、セキュリティグループの生成、削除、ならびに変更、ユーザのクレデンシャルの管理、およびキーローテーションならびにクレデンシャルの管理等のタスクに対するワークフローのホスティングおよび実行を管理および/または実行するよう動作することができる。係るワークフローは、本明細書の他の箇所で説明されるように、ワークフローサービス上に実装することができる。ワークフローコンポーネントは、MySQL等の異なるデータベースエンジンに対して用いられるワークフローステップの間の差異を管理することもできる。なぜなら、下層のワークフローサービスが必ずしも変化するとは限らないからである。
この例において、ワークフローは、データベースを生成しオリジナルのリクエストから抽出された情報を適用するためのワークフローテンプレートを用いて、インスタンス化することができる。例えば、リクエストが、Oracle(登録商標)リレーショナルデータベース管理システム(RDBMS)または他の係るインスタンスではなく、MySQL(登録商標)RDBMSインスタンスに対するものである場合、特定のタスクがMySQLインスタンスに向けられたワークフローに加えられるであろう。ワークフローコンポーネントは、要求される記憶装置の量、任意の特定のハードウェア要件、または他の係るタスクに関する特定のタスクを選択することもできる。これらのタスクは、全般的なジョブに対して有用である実行順序で、ワークフローに加えられることができる。いくつかのタスクが並列的に実行することができるのに対し、他のタスクは、最初に完了することになっている以前のタスクに依存する。ワークフローコンポーネントまたはサービスは、ワークフローにおけるこの情報を含み、タスクは実行され、情報は必要に応じて伝えられることができる。
顧客に対する「データベース生成」ワークフロー例は、データ記憶インスタンスのプロビジョニング、オフインスタンス永続的記憶装置のボリュームの割り当て、永続的記憶装置ボリュームのデータ記憶インスタンスへのアタッチ、次いで、DNSアドレスまたは顧客がアクセスまたは他の方法で接続するために用いることができる他のアドレス、ポート、インターフェース、もしくは識別子の、データインスタンスへの割り当てならびにアタッチ等のタスクを含んでもよい。この例において、ユーザには、インスタンスへのアクセスに用いるための、DNSアドレスおよびポートアドレスが提供される。ワークフローは、特定のデータ記憶技術(例えば、MySQL)に対して用いられる任意のバイナリまたは他の情報をダウンロードおよびインストールするタスクも含むことができる。ワークフローコンポーネントは、これらのタスクおよび任意の関連するタスクまたは係るタスクの任意の他の適切な組み合わせの実行を管理することができ、「データベース生成」リクエストに応答して「データベース」の生成を示す応答を、リクエストに対して生成することができる。なお、この「データベース生成」リクエストは実際にデータプレーン210におけるデータ記憶インスタンスに対応し、インスタンスにアクセスするために用いられるDNSアドレスを提供する。次いでユーザは、DNSアドレスおよびポートを用いて、コントロールプレーン208をアクセスまたは経由する必要なしに、直接的にデータ記憶インスタンスにアクセスすることができる。記憶装置を増大させるなどのために、1つまたは複数のデータ記憶インスタンスの削除、生成、または変更等の、同様のジョブを実行するための、様々な他のワークフローテンプレートを用いることができる。いくつかの実施形態においては、ワークフロー情報が記憶装置に書き込まれ、少なくとも1つの別個の実行コンポーネント(図示せず)が、ワークフロー情報に基づいて実行されるタスクを取得する、または他の方法でアクセスもしくは受信する。例えば、プロビジョニングタスクを実行する専用プロビジョニングコンポーネントが存在し、このコンポーネントはワークフローコンポーネントによりコールはされないが、多数の関連する明らかな方法のいずれかで、タスク待ち行列を監視することができる、またはプロビジョニングタスクに関する情報を受信することができる。
上述のように、様々な実施形態は、リポジトリのプロビジョニング等の、処理またはタスクの現状に関するリクエストまたはコールを受信すことができ、処理の現状を返すことができるワークフローサービスの利点を利用することができる。ワークフローコンポーネントおよび/またはワークフローサービスは、各タスクを実行する実際のコールまたはリクエストを生成しないが、その代わりにワークフローに関する状態情報および設定情報を管理する。なお、その情報は、コントロールプレーンのコンポーネントが、次に実行するタスクおよびそのタスクに必要な任意の情報を決定することを可能とし、その後、その状態情報を含むデータプレーンへの適切なコール(単数または複数)を生成する。それにより、データプレーンのコンポーネントが、当該のタスクを実行するコールを生成することができる。ワークフローおよびタスクは、処理能力を増し処理リソースを最大化するために、並列的にスケジュールすることができる。上述のように、タスクの実際の実行はデータプレーンで行われるが、タスクはコントロールプレーンから発することになる。例えば、ワークフローコンポーネントはホストマネージャと通信し、ホストマネージャはデータストアへのコールを生成することができる。したがって、所与のタスクに対して、特定のパラメータを伝えるワークフローサービスへのコールが生成されてもよい。それにより、ワークフローサービスはワークフローに関する一連のタスクを生成し、現在の状態に対するタスクを実行することができるように、現状を提供する。タスクが実行された(または、他の方法で解決あるいは完了された)後、ホストマネージャ等のコンポーネントは、サービスに応答することができる。次いで、サービスは、次のタスクを実行することができるように、ワークフローにおける次の状態に関する情報を提供することができる。ワークフローに関するタスクのうちの1つが実行される都度、サービスは、ワークフローが完了するまで、実行されるべき新規のタスクを提供することができる。さらに、ワークフローの処理を加速するために、異なるワークフローに対して複数のスレッドを並列的に実行することができる。
この実施形態におけるコントロールプレーン208は、少なくとも1つの監視コンポーネント218も含む。データインスタンスがデータプレーン内で生成されると、インスタンスに関する情報を、監視データストア220等のコントロールプレーン内のデータストアに書き込むことができる。監視データストアが別個のデータストアであってもよく、または、管理データストア222における異なる組のテーブルまたは他の適切なリポジトリ等の、別のデータストアの1部分であってもよいことを理解すべきである。監視コンポーネントは、監視データストア内の情報にアクセスすることができ、データプレーン210内のアクティブなインスタンス234を判定することができる。監視コンポーネントは、ウェブサービス層、ワークフローコンポーネント、スイーパーコンポーネント、および様々なホストマネージャ等の、コントロールプレーンおよび/またはデータプレーンの、複数のコンポーネントからのログ情報および/またはイベント情報の収集等の、他のタスクを実行することもできる。係るイベント情報を用いて、監視コンポーネントは、顧客向きのAPIを実装する等の目的のために、顧客から可視であるイベントを公表することができる。監視コンポーネントは、コントロールプレーンに対する実行中の全リボジトリおよび/またはインスタンスの健康状態を常に監視し、これらのインスタンスのいかなる障害も検出し、適切な復元処理(単数または複数)を開始することができる。
データプレーンにおける各インスタンス234は、アクセスを提供するマシンに対して、少なくとも1つのデータストア226およびホストマネージャコンポーネント228を含むことができる。1つの実施形態におけるホストマネージャは、インスタンスおよび/またはソフトウェアの展開およびデータストア動作ならびにデータストアおよび/またはそれぞれのインスタンスの状態の監視等のタスクを管理するようにプログラムされたTomcatまたはJavaアプリケーションサーバ等のアプリケーションサーバ上で実行するアプリケーションまたはソフトウェアエージェントである。1つの実施形態におけるホストマネージャは、内部システムコンポーネントからのみ到達され、且つ顧客または他の外部のエンティティには利用不可能であるポートをリッスンする。いくつかの実施形態において、ホストマネージャは、コントロールプレーン層へのいかなるコールも開始することもできない。ホストマネージャは、論理ボリュームおよびファイルシステムの設定を含む新規リポジトリに対するインスタンスの設定、データベースバイナリおよびデータベースシードのインストール、ならびにリポジトリの開始または停止等の、タスクの管理および/または実行を受け持つことができる。ホストマネージャは、データストアの健康状態を監視すること、および、I/Oエラーまたはデータ記憶エラー等のエラー状況を求めてデータストアを監視することができ、必要に応じてデータストアを再起動することができる。ホストマネージャは、ソフトウェアパッチおよびデータストアおよび/またはオペレーティングシステムの更新のインストールを実行および/または管理することもできる。ホストマネージャは、CPU、メモリ、I/O仕様に関する場合があるものなどのような、関連するメトリックを収集することもできる。
監視コンポーネントは、各ホストの状態を判定するために、特定のリクエストを送信すること、またはホストマネージャからのハートビートを監視すること、等により、監視されたインスタンス234を求めて、各ホストマネージャ228と周期的に通信することができる。1つの実施形態において、監視コンポーネントは、特定のホストおよび/またはインスタンスの状態を取得する等のコマンドを各ホストマネージャに発行するよう構成された、1組のイベントプロセッサ(または監視サーバ)を含む。指定された回数の再試行の後、応答が受信されない場合、監視コンポーネントは、問題が発生したと判定する。そして、管理データストア222または他の係るジョブ待ち行列に情報を記憶することにより、問題を確認し、必要に応じてインスタンスを再プロビジョンするなどのような、インスタンスに対する動作を実行することができる。スイーパーはこの情報にアクセスし、インスタンスに対するリカバリワークフローを開始することにより、障害からの自動的な回復を試みることができる。ホストマネージャ228は、監視のためのプロキシおよびコントロールプレーンの他のコンポーネントとして動作し、コントロールプレーンのコンポーネントに代わって、インスタンスに対するタスクを実行することができる。自動的に解決不可能な、対応するホスト、インスタンス、ボリュームのクラッシュ、再起動、再開、その他等の問題が、インスタンスのうちの1つに関して生じる場合もある。1つの実施形態において、これらの顧客または他の顧客の可視性イベントをログ記録することができるログ記録コンポーネント(図示せず)が存在する。ログ記録コンポーネントは、インスタンスが一定期間利用不可能である場合、顧客が適切な「イベント」をコールするかまたはイベントに関する情報を取得するための同様のAPIをコールすることができるよう、APIまたは他の係るインターフェースを含むことができる。いくつかの場合において、リクエストは、インスタンスが失敗した場合、保留状態のままにおかれてもよい。この実施形態におけるコントロールプレーンは、データプレーンと分離されているため、コントロールプレーンはデータリクエストを受信することは決してなく、したがって、(いくつかの実施形態においては、この情報はコントロールプレーンに転送される可能性があるが)後続の発行のためのリクエストを待ち行列に入れることはできない。したがって、この実施形態におけるコントロールプレーンは、ユーザが必要に応じてリクエストを取り扱うことができるよう、障害に関する情報をユーザに提供する。
前述のように、インスタンスがプロビジョンされユーザにDNSアドレスまたは他のアドレスもしくは位置が提供されると、ユーザは、Java Database Connectivity(JDBC)または、そのインスタンス234と直接相互作用するための他の係るクライアントを用いて、ネットワークを介して「直接的」にリクエストをデータプレーン210に送ることができる。1つの実施形態において、データプレーンは、コンピューティングクラウド環境すなわち「クラウド」すなわちハードウェアおよび/またはソフトウェアコンポーネントの動的ネットワーク上でデータ記憶およびアクセスを提供する1組のウェブサービスおよびリソースの形を取る(または、これを含むもしくはこれの1部分である)。DNSアドレスは、係る動的なクラウド環境において有益である。なぜなら、インスタンスまたは可用性の障害は、例えば、DNSアドレスを、使用のために任意の適切な代理インスタンスへと、プログラム的に再マッピングすることにより、隠される可能性があるためである。ユーザ202またはアプリケーション204から受信されたリクエストは、例えば、ネットワークアドレス変換(NAT)ルータ224または他の適切なコンポーネントへと送られ、ついでNATルータ224または他の適切なコンポーネントは、実際のインスタンス234またはリクエストのDNSに相当するホストへと、リクエストを送ることができる。上述のように、係る手法により、ユーザまたはアプリケーションがDNSまたはインスタンスにアクセスするために用いられる他のアドレスを変える必要なしに、インスタンスが、動的に、移動、更新、複製、その他を実行されることが可能となる。上述のように、各インスタンス234は、ホストマネージャ228およびデータストア226を含むことができ、少なくとも1つのバックアップインスタンスまたはコピーを永続的記憶装置230に有することができる。係る手法を用いることにより、インスタンスがコントロールプレーンを通して設定されると、ユーザ、アプリケーション、サービス、またはコンポーネントは、コントロールプレーン232にアクセスする必要なしに、データプレーンへのリクエストを通して直接にインスタンスに相互作用することができる。例えば、ユーザは、インスタンスにおけるデータに関する構造化照会言語(SQL)または他の係るコマンドを、DNSアドレスを通して直接発行することができる。ユーザが、インスタンスの記憶容量を拡張すること等のタスクの実行を望む場合、ただコントロールプレーンにアクセスのみしなければならないことになる。少なくとも1つの実施形態においては、コントロールプレーン208の機能性は、少なくとも1つのサービスとしてプロバイダにより提供することができ。なお、当該のサービスは、データプレーン210のプロバイダに関連してもよく、または関連しなくてもよいが、単に第3者サービスであってもよい。なお、この第3者サービスは、データプレーンにおけるデータインスタンスをプロビジョンおよび管理するために用いられてもよく、且つ別個のデータプレーン210におけるこれらのインスタンスの可用性を監視および保証することができる。
前述のように、コントロールプレーンの機能性をウェブサービスまたは他の係るサービスとして提供することの1つの利点は、コントロールプレーンが仮想的なデータベース管理者(DBA)として機能し、人間のDBAがデータのプロビジョン等のタスクを実行する必要性が回避されることである。データをプロビジョンすることは、現時点においては、煩瑣な手作業による手順であり、DBAが必要な設定情報を受け取り、設定が有効であるかどうかを判定し、インスタンスを最適化またはチューニングし、他の係るタスクを実行することが要求される。これらは、著しい量の時間および労力を必要とするものである。さらに、係る手法は、エラーを生ずる多くの機会を提供し、係るエラーはデータ損失後まで発見されないこともある。本明細書に記載のコントロールプレーンまたはサービスを用いることにより、ユーザまたは顧客は、その代わりに、ハードウェアの種類およびデータベース製品のバージョン等の情報を含むコールを発行することができる。コントロールプレーンまたはサービスは、次いで、データストアまたはデータストレージインスタンスを生成、削除、変更、拡張、または他の方法で変更するために必要なタスクを実行することができる。コントロールプレーンは、DBAがそれぞれのデータベースエンジンに関して熟達する必要なしに、一貫した方法で、いくつかの異なるデータベースエンジンに対応することもできる。一度プロビジョンされると、ユーザはデータインスタンス(単数または複数)に対してネイティブアクセスを有し、既存のアプリケーション(MySQLアプリケーション等)をDNSアドレスまたは特定インスタンスのための他の位置情報に対して、単純にポイントすることができる。照会モデルまたは他の係る機能性に制限または変更はない。なぜなら、ユーザはMySQL、Oracle、または他のデータベース技術上に構築されたアプリケーションを継続して使用することができるためである。
様々な実施形態に係るシステムおよび方法により、顧客はウェブサービスまたは同様の係る手法を利用することにより、クラウドコンピューティング環境または同様の環境において1つまたは複数の複製されたデータベースインスタンスを生成することができ、それにより、高い耐久性および高い可用性を有するデータソリューションが提供される。顧客が複製された様々な実施形態におけるデータベースインスタンスを生成すると、顧客データは、1次・2次複製モデルを用いて、同時に複製される。いくつかの実施形態において、レプリカは、異なるデータゾーン等の異なる物理的位置に配置することができる。各データ「ゾーン」は、例えば、特定の地理的エリア内に配置された、異なる地理的位置にまたは地理的位置の周囲に配置された異なるゾーンを有する、1つまたは複数のデータセンタまたはデータサーバ群を指すことができる。かくしてRDSインスタンスは、データゾーンのうちの1つに障害が発生した場合、その障害に対して耐性を有することができる。なぜなら、異なる地理的位置における他のデータゾーンにおいては、大規模な破局的事象の場合を除いて、その障害が回避される可能性があるためである。いくつかの場合においては、データセンタは複数のデータゾーンにまたがるが、所与のデータゾーン内のデータレプリカは異なるゾーンにおいてインスタンス化することができる。重複するゾーン、複数の地理的位置におけるゾーン、その他等の多数の他の変化例が可能である。1次レプリカに障害が発生するかまたは他の方法で利用不可能となった場合、RDSシステムは、迅速且つ自動的に、2次レプリカにフェイルオーバし、その結果、ダウンタイムすなわちデータ利用不能状態は極めて短くてすむ。
1つの実施形態において、顧客は、図2を参照して説明したものなどのようなコントロールプレーンのウェブサービス層の特定されたウェブサービスのインターフェースをコールするにより、複製されたデータベースインスタンスを生成することができる。顧客が複製されていないデータインスタンスを生成するとき、例えば、顧客は、インスタンスクラス、割り当てられたストレージ、データベースエンジン、その他等の態様を指定する「CreateDBInstance」APIをコールすることができる。複製されたインスタンスを生成するとき、顧客は、生成されたインスタンスが複製されるべきであることを示す「true」または任意の他の適切な値に設定された値を有する「Replicated」または同様のパラメータ等の、少なくとも1つの追加的パラメータを含むことができる。いくつかの実施形態において、値は、顧客により特に指定されないかぎり複製されていないインスタンスが生成されるよう、デフォルトで「false」に設定される。いくつかの実施形態において、特定レベルのサービスに対して支払う顧客等の特定の顧客のみが複製されたインスタンスを生成する能力を有する。
いくつかの実施形態において、顧客は、2次レプリカが1次レプリカとは異なるデータゾーンにおいて生成されるかどうかを選択することもできる。顧客は、いくつかの実施形態においては、インスタンスに対して1つまたは複数の特定のデータゾーン、または、例えば、順序立てられたリストを選択することを許可することができるが、一方、他の実施形態においては、顧客は少なくとも1次レプリカに対してはデータゾーンを選択できない。例えば、顧客が2つのデータゾーンを指定し、データゾーンのうちの1つが長期間にわたり利用不可能となる場合、いくつかの実施形態においては、耐久性要件により、他のレプリカが第3のデータゾーン等において生成されることとなるであろう。これにより、複数の顧客に対するデータゾーンリストの順序を管理および更新することが要求する可能性もある。このことは、ユーザ経験を複雑なものとするのみで、顕著な利点はまったくもたらさない。さらに、いくつかのアプリケーションフリートが2次レプリカとして同一のデータゾーンに配置されるよう、アプリケーションが関連するアプリケーションフリートを複数のデータゾーンにわたって分散させるほうがより容易となる可能性がある。
いくつかの実施形態において、顧客は複製されたデータインスタンスに対して「DescribeDBInstance」または同様のAPIをコールすることができる。それにより、RDSは、1次レプリカのエンドポイントDNS名および1次レプリカが現在は位置されているデータゾーン等の情報をリストすることができる。顧客は、単一のデータゾーンに対して用いられる従来の手法を用いて、RDSインスタンスと通信することができる。なぜなら、RDSインスタンスの状態が例えば「Available」となりエンドポイントDNS名を用いてインスタンスに接続されると直ちに顧客はデータストアのエンドポイントDNS名を受信することができるためである。レプリカの障害の場合、RDSは、データベースを対応する2次レプリカにフェイルオーバすることができ、エンドポイントDNS名は新規の1次レプリカにエイリアスされるであろう。データベースのエンドポイントDNS名は、多くの実施形態において、一定に保たれ、複製されたインスタンスの存続期間の間、変化しない。
いくつかの実施形態において、例えば、「true」に設定された複製パラメータを有する「ModifyDBInstance」または同様のAPIをコールすることにより、顧客は複製されていないインスタンスを複製されたインスタンスに変換する能力が提供される可能性がある。これにより、データベースは、次のメンテナンスウィンドウの間、またはリクエストの直後等の適切な時間において、APIコールパラメータ等に依存するよう、複製されたインスタンスに変換することができる。
様々な実施形態は、ブロックデバイスのコンテンツをサーバ間でミラーリングするシェアナッシング複製記憶ソリューションを実装するカーネルモジュール等のブロックレベル複製機構を利用する。ブロックレベル複製機構「BLRM」は、ブロックデバイス(すなわち、ハードディスクまたは論理ボリューム)上で動作することができる。ブロックレベル複製機構はプライマリ・スレーブ複製アーキテクチャを利用し、このアーキテクチャにおいては、1次レプリカがすべての更新を下層のブロックデバイスに送る。ブロックデバイスに対するすべての入出力(I/O)リクエストは、すべての書込操作が同時且つ自動的に複製される状態で、BLRMカーネルモジュールにより傍受される。BLRMは、ピアデバイスの固有の障害検出を提供し、ピアノードが到達不可能である場合、適切なリカバリハンドラーを発動させる。BLRMは、1次レプリカにおけるデータアクセスと干渉することなく、一時的に利用不可能となったノードをバックグラウンドでデータの最新版に自動的に再同期することができる。BLRMは、世代識別子(「GI」)を利用することにより、複製されたデータの世代を特定することができる。それにより、BLRMは、2つのノードが同一のレプリカペアのメンバであるかどうか、バックグラウンドの再同期(もし必要である場合)の方向、および部分的なまたは完全な再同期が必要であるかどうか等の態様を判定することができる。BLRMドライバは、レプリカペアの初期化時、切断された待機レプリカが1次レプリカに切替えられるとき、またはプライマリロールのリソースが2次レプリカから切断されるとき等の任意の適切な時間において、新規世代を開始することができる。本明細書においてはブロックレベル複製機構が説明のために1例として用いられているが、任意の他の適切なブロックレベル技術または機構を、様々な実施形態の範囲内で、用いることができることを理解すべきである。
前述のように、様々な実施形態におけるRDSデータインスタンスは、1つまたは複数のシステムまたはプラットフォーム上で構築することができる。例えば、インスタンスは、顧客がウェブサービスまたは他の適切な手法を用いることにより様々なオペレーティングシステムでインスタンスを起動することおよびこれらのインスタンスを管理することを可能とする仮想コンピューティング環境上で構築することができる。係る仮想コンピューティング環境を提供するウェブサービスの1つの例は、Amazon.com, Inc.社が提供する、Elastic Compute Cloud(EC2)サービスである。データインスタンスは、インスタンスの存続期間に関わらず永続するオフインスタンスストレージを提供することができるブロックレベルストレージ機構上でも構築することができる。ブロック記憶機構は、インスタンスにアタッチすることができ、かつインスタンス内のデバイスとして公開される可能性がある、ストレージボリュームを提供することができる。ブロック記憶プラットフォームの1例が、2008年8月8日に出願された、「Managing Access of Multiple Executing Programs to a Non−Local Block Data Storage」を発明の名称とする、同時係属中の米国特許出願第12/188,949号において提供され、この米国特許出願第12/188,949号は、参照により本明細書に組み込まれる。論理ボリューム(例えば、LVM層)は、顧客データベースをLVM/ファイルシステム層上で実行することができるように、ブロックストレージボリュームおよび適切なファイルシステムの上に構築することができる。1つの実施形態における複製されたデータベースに対して、BLRMはLVM層上で実行することができる。係る実施形態におけるBLRMは、すべてのI/Oリクエストを傍受し、これらのリクエストを論理ボリュームに送信する。次いで、この論理ボリュームはこれらのリクエストを複数のブロックストレージボリュームにわたって分割することができる。論理ボリュームを用いることにより、複数のブロックストレージEボリュームを取り扱う能力、ならびに、ストレージを容易に拡張する能力、その他が提供される。BLRMをLVM上に層状にすることにより、書込操作を複数のレプリカにわたって複製することも可能となる。
図3は、複製されたRDSインスタンスを提供する1次・2次複製モデルを実装する機構300の1例を示す。この例において、1次レプリカ310および2次レプリカ312は、データプレーン308またはデータベース環境の異なるデータゾーン(1および2)に配置される。各レプリカは、 各レプリカに対するブロックストア320および322へのI/Oを管理するためのBLRM層318および322としてここで図示されるブロックストレージ機構上に構築される。図2を参照して説明されたのと同様である場合があるもののようなコントロールプレーン306のコンポーネントは、設定コマンドを、例えば必要なセットアップ操作を実行することができるローカルホストマネージャ314および316に発行することにより、複製されたRDSインスタンスを生成することができる。図面に見られるように、BLRM318および322等のブロックレベル機構は、ブロックデバイスレベルにおいてすべてのI/Oリクエストを傍受し、リクエストに関する情報をローカルディスクおよび遠隔ディスク320および324に書き込むよう、配置される。この例において、データベース318(例えば、SQL)は、1次レプリカ310においてのみ実行され、すべてのクライアント302は、1次レプリカ310で(適切なネットワーク304を介して)、それらのデータベーストランザクションを実行する。データベース318は2次レプリカ312上では実行されず、ファイルシステムも2次レプリカ上にマウントされない。なぜなら、データベースは一般に下層デバイスにおける更新を認識しないからである。
各データベースクライアント302は、RDSデータベースDNSエンドポイント名を用いることにより、現在の1次レプリカ自動的に発見することができる。なお、このRDSデータベースDNSエンドポイント名は、1次レプリカ310のホスト名にエイリアスすることができる。DNSを用いて現在の1次レプリカを発見することにより、例えばネイティブなMySQLクライアント、JDBC、PHP、C#、およびHaskell等の既存のデータベースクライアントとの互換性を維持することができる。DNSキャッチングは、潜在的に顧客を古い一時レプリカに接続するように試行させ、顧客は、第2レプリカと接続することにより、第2レプリカではデータベースが実行されていないので、データベースと対話することができないようになる。次いで、顧客は適切なDNS情報を取得することを知ることができる。
1つの実施形態に係る、顧客に対する複製されたRDSインスタンスを生成するプロセス400の1例が、図4に示される。本明細書において用語「顧客」は、データの「所有者」、またはRDSシステムによりホストされるデータストアもしくはインスタンスを指すために用いられるが、用語・顧客は単に1つの例であり、任意の適切なユーザまたは開発者は、様々な実施形態において、コントロールプレーンおよびデータプレーンへアクセスすることが許可されていることを理解すべきである。さらに、データ環境の制御に関する実施形態が説明されるが、同様の手法を、制御環境から分離された環境における様々な他のコンポーネント、デバイス、アプリケーション、サービス、または他の係るリソースを制御および/または管理するために用いることができることを理解すべきである。このプロセスのステップが、特定の実施形態に対する例として提示される。しかし、様々な実施形態の範囲内で、追加のステップ、より少ないステップ、および/または代替的なステップを、異なる順序で、および/または並列的にまたは同時に、実行することができることを理解すべきである。
この例において、顧客はCreateDBInstanceまたは同様のAPIをコールし(402)、ウェブサービスティアのコンポーネントは、コールを解析し、顧客により供給されたデータベース生成パラメータを管理データストアに記憶させること(404)ができる。データベースのライフサイクルは、データベースを生成するタスクまたはジョブがスイーパーコンポーネントによりピックアップされるように、記録が「PENDING」の変化状態とともに管理データストアに正常にコミットされたとき、「CREATING」等の値により標識される可能性がある。ウェブサービスティアは、動作を起動し、その後ワークフローがタスクを開始したかどうかを確認する、2つの位相のタスクを避けるため、この実施形態においては、ワークフローシステムを直接的にコールすることにより、動作を開始することはない。スイーパーにより取得されるリクエストを単に保存することにより、ワークフロー動作はまったく失われない。
前述のように、スイーパーは新規ジョブを求めて管理データストアを周期的にポーリングする。例えば、ライフサイクルとCREATINGおよびPENDINGの変化状態とを有するデータベースレコードが存在すると、スイーパーは「CreateDatabase」または同様のワークフローを起動することができる(406)。ワークフローの初期タスクとして、データベースの変化状態を「APPLYING」等の値に更新することができる。それにより、他のスイーパーは変化が進行中であることを認識する。ワークフローの他の1次タスクは、1次レプリカとして動作するインスタンスを生成すること(408)と、1次レプリカから2次レプリカを生成すること(410)と、2次レプリカを1次レプリカに接続すること(412)とを含む。一度レプリカが接続され利用可能となると、RDSインスタンスは顧客に公開され、DNS名を用いてアクセス可能となる(414)。様々な実施形態において、2次レプリカに対するスケール計算が「舞台裏」で実施され、それにより、2次レプリカは、複製および/またはフェイルオーバのためにレプリカを接続する前に、スケーリングすることができる。
図5は、一実施形態にしたがって1次レプリカを生成するために用いることができる係るプロセスの部分500の1例を示す図である。前述のように、ワークフローは、RDSインスタンスを構成するすべてのリソースをプロビジョンする初期ステップを取ることができる。例えば、RDS特有のマシンイメージを用いて、1次ホストに対するデータインスタンスが生成される(502)。ブロックストレージボリュームは、1次ホストに対して割り当てられアタッチすることができる(504)。ボリュームは、個々のボリュームの最大サイズおよびボリュームの望ましい最小個数等の態様を指定する設定情報に少なくとも部分的に基づいてリクエストされる可能性がある。予約済みIOPSが保証される場合、単一のボリュームが用いられる可能性がある。一度コアリソースのそれぞれが利用可能となると、ワークフローは1次レプリカに割り当てられたデータインスタンスにブロックストレージボリュームをアタッチする。
いくつかの実施形態において、顧客データベースに対してファイアウォールと同様の機能を実行するセキュリティグループが生成される。セキュリティグループは、顧客がデータベースと通信できる、またはどのデータインスタンスがデータベースと通信できるかを定義することができ、例えば、インターネットプロトコル(IP)アドレス等のアドレスを定義することを可能にすることができる。
ワークフローは、ホストマネージャをダウンロードし、チェックサムを確認または他の方法でダウンロードを確証し、次いで、TomcatインストールアプリケーションAPI等の適切なインストールインターフェースをコールすること等により、ホストマネージャがインストールされ開始されること(506)を可能にする。一度ホストマネージャがインストール後に正常に開始されると、データインスタンスは、データベースエンジンをインストールし顧客データベースを設定するのに必要な機能性を有することができる。
一度1次レプリカが実行されると、ワークフローは、ホストマネージャにより1次レプリカに対して実行される様々な動作をリクエストすることができる。例えば、ホストマネージャは、ブロックストレージボリュームがマウントされ、ファイルシステムが準備されること(508)をリクエストすることができる。特定の実施形態において、ブロックストレージボリュームのマウントおよびファイルシステムの構築は、2つのロールすなわちバイナリロールおよびデータロールのそれぞれに対して実行される。1つの実施形態において、コントロールプレーンは、マウントポイントと各ロールに対して用いられるボリュームとに関する情報をホストマネージャに提供するストレージ設定ファイル(例えば、XMLファイル)を送信する。この情報を用いて、ホストマネージャは、所与のロールに対してプロビジョンされたすべてのボリュームに対する物理デバイスを生成し、各ロールに対してこれらのデバイスにわたるデータをストライプする論理ボリュームを生成することができる。一度、論理ボリュームが生成されると(510)、ホストマネージャは、それ自体を唯一のレプリカとして、BLRM設定ファイルをインストールし、BLRMカーネルモジュールを開始することにより、BLRM設定情報を生成することができる。一度、BLRMが設定情報を用いて開始されると(512)、BLRMは自動的にデータボリュームに対するすべてのI/Oアクセスを処理することができる。
次いで、ワークフローは1次レプリカに対するホストマネージャにパケットマネージャ(例えば、RPM)公開署名鍵、または他のセキュリティ機構をインストールすることができる。次いで、1次レプリカに対するホストマネージャは、データインスタンス上のホストマネージャが、署名された情報をダウンロードおよび確認した後、パッケージの開梱、インストール、および起動すること等により、データベースエンジンをダウンロードおよびインストールすることができる(514)。続いて、1次レプリカに対するホストマネージャは、顧客データベースの基礎として用いられる空白データベースをインストールすることができる。RDS特有の空白データベースを用いて開始することにより、管理のために用いられる許可およびテーブルが容易に適用される。ホストマネージャは、顧客リクエスト内に指定されるように、顧客データベースを生成し、データベースに対するルートパスワードを変更し、マスターデータベースユーザを生成することができる(516)。次いで、ワークフローはデータベース(例えば、MySQL)を開始することができる(518)。
データベースが開始されると、BLRMリソースが切断され、ビットマップがクリアされる。ワークフローにより、1次ホストのブロックストレージボリュームに対するスナップショットがキャプチャされ、1次インスタンスのホストマネージャは新規の一般インスタンスを生成するよう命令される可能性がある。次いで、ホストマネージャは、2次ホスト名を有する新規BLRM設定ファイルをインストールするよう命令され、ホストマネージャは設定情報をリロードすることができる。
一度少なくともいくつかの上述のワークフロー例のタスクが完了されると、ワークフローは、2次レプリカの構築に関するタスクに移行することができる。図6は、様々な実施形態にしたがって用いることができる少なくとも1つの2次レプリカまたは待機レプリカを生成するためのプロセス例600のステップを示す。第1タスクとして、ブロックストレージボリュームは1次レプリカに対するデータボリュームのブロックストレージスナップショットから生成され(602)、ボリュームをバイナリに対して生成することができる。次いで、ワークフローにより、データインスタンスが起動され、割り当てられたボリュームがアタッチされる(604)。上述のように、スケール計算が、1次レプリカと接続される前に、2次レプリカに対して実行される。次いで、ホストマネージャが、2次レプリカに対して起動される(606)。一度ホストマネージャが2次レプリカに対して実行されると、ワークフローは、2次インスタンスを設定するよう、ホストマネージャをコールすることができる。設定プロセスの間、ホストマネージャはボリュームを設定し(608)、BLRM設定ファイルを適切な1次レプリカおよび2次レプリカ設定を用いてインストールし(610)、BLRMがインストールされたかどうかを判定し、カーネルモジュールを開始し、その後BLRMハンドラを始動することができる(612)。この時点において、1次レプリカおよび2次レプリカは接続され、クリアビットマップコールが発行された時点から同期すべきである。次いで、ワークフローは、管理データストアにおいてデータベースに「Available」と標識することができ、顧客に対してインスタンスを利用可能とすることができる(614)。
一度インスタンスに対する1次レプリカおよび2次レプリカが実行され顧客に対して利用可能となると、顧客は、インスタンスに関するいくつかの動作のうちの任意のものを実行することができる。例えば、顧客は、1つまたは複数のデータベースを記述するために、リクエストをウェブサービス層のAPIまたはコマンドラインツールに送ることができる。ウェブサービスは、リクエストにより指定された顧客データベース(単数または複数)の現在状況を求めて管理データストアを照会することにより、リクエストを直ちに実現することができる。ペンディング状態の更新の場合、現在値および変更値は、顧客に表示される可能性がある。
いくつかの状況において、顧客は顧客データベースを再起動するために「RebootDBInstance」API等のAPIをコールしてもよい。1つの実施形態においては、このAPIは、顧客がデータベースエンジンを再起動することを可能にするのみで、RDSインスタンスを再起動することを可能にはしない。ウェブサービス層は、情報を管理データストア(または他の係るジョブ待ち行列)に記憶することができる。それにより、スイーパーはワークフローを開始するための情報をピックアップすることができる。ワークフローは、データベースをリスタートするために1次レプリカのホストマネージャをコールすることができる。様々な実施形態におけるこのAPIの実装は、複製されたインスタンスと複製されていないインスタンスとの間で異ならない。
顧客は、例えば、APIまたはコマンドラインツールを用いて、顧客データベースを削除するリクエストを送信してもよい。それにより、コントロールプレーンのコンポーネントは、削除を準備するよう命令される可能性がある。クレデンシャルおよびリクエストパラメータを確認した後、ウェブサービスティアのコンポーネントは、例えば、顧客データベースを、ライフサイクルが生成または削除状態にないなどのような現時点において削除することができることを確認することができる。コンポーネントは、管理データストアにおける顧客データベースに対する適切な記録を、削除のライフサイクル状態およびペンディングの変化状態へと更新することもできる。完了されるべきタスクを求めて周期的にポーリングを行うワークフロースイーパーは、ペンディングの変化状態により、データベースが削除されるべきことを識別することができ、削除を完了するために、ワークフローインスタンスを起動することができる。ワークフローの第1動作またはタスクは、他のスイーパーが、変化が進行中であることを認識するよう、データベースの変化状態をAPPLYINGに更新することができる。
ワークフローインスタンスは、任意の残余のイベントログを取得し、1次レプリカおよび2次レプリカに対して割り当てられたリソースを開放することができる。例えば、ワークフローは、RDSイベントプロセッサに、RDSインスタンスからイベントを取得させ、次いで、データベースを停止させ、1次レプリカにおけるファイルシステムをアンマウントする。ワークフローは、最終スナップショットが顧客によりリクエストされる場合、またはポリシーにより別段の指示がある場合、データベースのスナップショットが取得されるように導く。インスタンスは、RDSイベントプロセッサAPIをコールして、イベントプロセッサシステムがインスタンスを以後確実に監視しないようにすることにより、登録が取り消される。DNS名を削除し、ブロックストレージボリュームおよびデータインスタンスを開放することができる。ワークフローは、管理データストアにおけるこの顧客データベースに対する記録をDELETED状態へと更新することにより、削除を完了することができる。それにより、記録は記録アーカイブに移動され削除される。
顧客がストレージをスケーリングし、および/またはインスタンスに割り当てられた容量を計算することが必要である、または望ましい可能性もある。ストレージをスケーリングする場合、例えば、ボリュームは、LVMが拡張された状態で、1次レプリカおよび2次レプリカの両方に加えることができる。1次レプリカ上で、BLRMハンドラがブロックデバイスの制御下で新規ボリュームを含むためにブロックデバイスを拡張するようコールすることができ、ファイルシステムはリサイズすることができる。
特に、新規ブロックストレージボリューム(単数または複数)は、1次レプリカおよび2次レプリカの両方に対して、現在のボリューム設定パラメータにしたがってプロビジョンすることができる。「ScaleStorage」または同様のAPIを両方のインスタンス上のホストマネージャに対して発動することができ、それが、物理デバイスが生成させ、新規ボリュームを既存のボリュームグループに加えさせることができる。ホストマネージャは、例えば、LVMの物理的範囲を1つの物理的ボリューム(例えば、ブロックストレージボリューム)から別の物理的ボリュームへと移動させることによるなどのようにして、ボリュームグループ内のスペースのバランスを回復することができる。論理ボリュームは、新規スペースを含むよう拡張されてもよい。一度ScaleStorage機能が完了すると、ワークフローは、1次インターフェース上のホストマネージャに対して「primaryScaleStorage」API等のインターフェースをコールすることができる。それにより、BLRMブロックデバイス層は、新規スペースを使用するよう拡張される。一度BLRMのリサイズが完了すると、ファイルシステムはリサイズすることができる。残存する更新がもはや存在しなくなると、管理データストアにおける顧客データベースに対する記録は、「AVAILABLE」のライフサイクル状態に設定することができ、変化状態が「NONE」に更新される。次いで、リサイズされたインスタンスは、顧客により利用することができる。1次レプリカまたは2次レプリカが、スケーリングプロセスの間に到達不可能である場合、ワークフローは中断されて、例えば、「MODIFYING」の状態に保たれる可能性があり、後でリトライすることができる。
計算能力をスケーリングするとき、様々な実施形態は、各クラスに特定の計算能力が割り当てられるよう、顧客がインスタンスに対する「計算クラス」を調節することを可能にする。特定の実施形態においては、2次レプリカが最初にスケーリングされ、次いで、システムは、例えば、フェイルオーバプロセスを用いること等により、2次レプリカに切替えられる。それにより、2次レプリカは新規の1次レプリカとなる。次いで、旧1次レプリカの計算odeは必要に応じてスケーリングすることができ、旧1次レプリカは新規2次レプリカとして機能することができる。2次レプリカを最初にスケーリングし、フェイルオーバをステージングすることにより、例えば、複製されたインスタンスはより短いダウンタイムを経験することができる。これは、単一のデータゾーンにおいてインスタンスクラスをスケールする場合に、別法により生じる場合がある。
以下の記載は、データベースインスタンスをスケーリングするためのプロセスの特定の例を提供する。なお、この例においては、複製されたインスタンスが1次レプリカPおよび2次レプリカSを有する。新規インスタンスクラスを有し、かつ既存のインスタンスと同一のセキュリティグループを有する新規インスタンス(例えばP_newおよびS_new)を1次レプリカおよび2次レプリカの両方に対してプロビジョンすることができる。P_newおよびS_newは、それぞれ、PおよびSと同一のデータゾーンに生成することができる。管理データストアにおけるRDSインスタンスの状態は、「IN_MODIFICATION」等の値に更新することができる。インスタンス識別子は、ワークフローによりスケーリングのためにデータベースが停止されるとき、1次レプリカおよび/または2次レプリカの回復がトリガされないよう、イベントプロセッサから登録を取り消すことができる。2次インスタンスの状態は、「IN_MODIFICATION」等の値に更新することができる。2次レプリカ上において、ホストマネージャは、例えば、データベースを停止し、(例えば、BLRM切断コマンドを発行することにより)1次インスタンスから切断し、すべてのファイルシステムをアンマウントし、すべてのボリュームグループを不活性化すること等により、既存のブロックストレージ機構の使用を停止するようリクエストすることができる。ブロックストレージボリュームは、Sからデタッチされ、S_newにアタッチされる。次いで、ホストマネージャはS_new上にインストールされ、ボリュームグループを活性化するよう要求することができる。次いで、1次レプリカが、例えば、データベースをシャットダウンし、ボリュームをアンマウントすること等により、停止することができ、すべてのブロックストレージボリュームをデタッチすることができる。S_newへのフェイルオーバは、データベースエンドポイントをS_newにポイントすることにより開始することができる。これにより、S_newが新規1次レプリカとなる。S_new上のホストマネージャがファイルシステムをマウントするよう要求される可能性があり、クレデンシャル(例えば、RPM公開鍵)は新規インスタンス上のホストマネージャに送られる可能性がある。次いで、S_new上のホストマネージャがデータベースを開始するよう要求される可能性があり、データベースはAVAILABLEと標識される可能性がある。この段階で、2次が生成途中であるにも関わらず、データベースの使用準備が整ったことになる。次のステップとして、P_newインスタンスを開始することができ、以前PにアタッチされていたブロックストレージボリュームをP_newにアタッチすることができる。ホストマネージャをP_new上にインストールすることができ、BLRM設定ファイルがインストールされる。この実施形態においては、いかなるファイルシステムも、この時点ではP_newにマウントされていない。次いで、S_newをP_newに接続し接続状態を確認するコマンドを、S_new上のホストマネージャに対して発行することができる。次いで、スケーリングされたレプリカを、顧客によるアクセスのために提供することができる。
実施形態は、例えば、スナップショットまたは他のポイントインタイムバックアップを生成すること等により、ユーザがユーザのインスタンスに情報をバックアップすることも可能にすることができる。例えば、RDSは、顧客が、顧客のインスタンスのスナップショットを生成すること、およびこれらのスナップショットから新規インスタンスを生成することを可能にすることができる。スナップショットは、複製されたデータベースに対してポイントインタイムリカバリを実行するためにも用いることができる。複製されていないインスタンスのスナップショットを生成するために、ワークフローはデータベースボリュームに対するI/Oを効果的にサスペンドし、インスタンスにアタッチされたボリュームのブロックストレージレベルスナップショットを取得し、ボリュームのサスペンドを停止する。複製されたインスタンスに対するスナップショットを生成するとき、スナップショットは2次レプリカにおいて取得することができる。このため、2次レプリカを一時的に切断することができ、すべてのブロックストレージボリュームのスナップショットが取得される。スナップショットが取得された後、2次レプリカは再接続することができる。バックアップを有効化することにより、顧客は、時間が過去X日以内であるかぎり、所与の時間ポイントにインスタンスをリストアする能力を有する。なおここで、Xは顧客に対する保持期間である。
顧客が複製されていないインスタンスにおいてバックアップを有効化すると、バックアップウィンドウの間、毎日等の定期的間隔においてインスタンスに対してスナップショットを取得することができ、ログ記録は5分毎等の他の間隔においてバックアップすることができる。顧客がインスタンスを、例えばt1等の時間ポイントにリストアすることを望むと、インスタンスは、所望時間に最も近接するが、しかし所望の時間ポイントより前の時間のスナップショットから生成され、ログ記録は、状態がその時間ポイントをミラーするようロールフォワードするように用いることができる。複製されたインスタンスにおいて、ログ記録が1次レプリカからバックアップされる一方で、スナップショットは2次レプリカ上で取得することができる。
1つの実施形態において、ホストマネージャへのすべての通信チャンネルは、セキュアソケット層(SSL:secure socket layer)上でハイパーテキスト転送プロトコルを用いてセキュアにされる。ホストマネージャアプリケーションをホストする各アプリケーションサーバは、インスタンスの起動時にスクリプトを用いてスタートすることができる。アプリケーションサーバエンジンをスタートする前に、自己署名証明書を生成し、証明書をインストールしてSSL通信チャンネル(単数または複数)を有効化するスクリプトが実行することができる。SSL通信は、1つの実施形態においては、通信チャンネルを暗号化するために使用され、クライアント認証を暗号化するためには使用されない。代わって、クライアント認証は、各リクエストに埋め込まれた公開/秘密鍵署名により達成される。それにより、1つの実施形態において、すべてのクライアントは秘密鍵を用いて照会文字列パラメータを署名する。この署名は、カスタムインターセプタにより確認することができ、このインターセプタは、ホストマネージャに対するアプリケーションサーバとともに配置することができる。さらに、セキュリティグループ(すなわち、ファイアウォールルール)を、データプレーンにおいて、監視されたインスタンスのそれぞれに対して設定することができる。その結果、所定のネットワークまたはセキュアグループに属するホストのみが、ホストマネージャポートを用いて通信できる。セキュア情報およびクレデンシャル(秘密鍵等)は、鍵管理およびローテーション等の機能性を提供することができる適切な鍵ストアに記憶することができる。
上述のように、ログファイルも同様の方法でバックアップすることができる。ログ記録は、データファイルのリストアが必要な場合に様々なトランザクションをリプレイする等のタスクを実行するために用いることができる。エンジンログ記録を、以前にバックアップされたログファイルが簡単なリストコマンドを用いて獲得することができるように、適切なストレージ位置にコピーすることができる。ホストマネージャはこの結果を用いて、コピーする必要があるログ記録が存在するかどうかを判定する。例えば、ホストマネージャは、最後のシーケンスをバックアップすることができるように、書き込まれたログファイルのリストを取得するために、バケットリストを要求することができる。新規ログファイルが生成された場合、ログ記録がデータベースエンジンにより動的でなく書き込まれていることがまず判定され、次いで、ログ記録はコピーされ、コピーが正常に実行されたことが確認される。
上述のように、様々な実施形態は広範囲の様々な動作環境において実装することができる。なお、この動作環境は、いくつかの場合においては、1つまたは複数のユーザコンピュータ、計算デバイス、または多数のアプリケーションのうちの任意のものを動作するために用いることができる処理デバイスを含むことができる。ユーザまたはクライアントデバイスは、標準的なオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータの他に、モバイルソフトウェアを実行し、多数のネットワークおよびメッセージングプロトコルをサポートすることができるセルラ、無線、ハンドヘルドデバイス等の、多数の汎用パーソナルコンピュータのうちの任意のものを含むことができる。係るシステムは、商業的に入手可能な様々なオペレーティングシステムのうちの任意のもの、および開発もしくはデータベース管理等の目的の他の既知のアプリケーションを実行する多数のワークステーションも含むことができる。これらのデバイスは、ダミーターミナル、シンクライアント、ゲーム用システム、および、ネットワークを介して通信する能力を有する他のデバイス等の、他の電子装置も含むことができる。
様々な態様も、少なくとも1つの、サービス指向アーキテクチャの一部であってもよいものなどのようなサービスまたはウェブサービスの一部として、実装することができる。ウェブサービス等のサービスは、拡張可能マークアップ言語(XML)形式において、かつSOAP(「Simple Object Access Protocol」に由来する)等の適切なプロトコルを用いて交換されるメッセージを用いること等により、任意の適切な種類のメッセージングを用いて、通信を行うことができる。係るサービスにより提供または実行されるプロセスは、ウェブサービス記述言語(WSDL)等の、任意の適切な言語で書き込むことができる。WSDL等の言語を用いることにより、様々なSOAPフレームワークにおけるクライアント側コードの自動生成等の機能性が可能になる。
大部分の実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、およびAppleTalk等の、様々な商業的に入手可能なプロトコルの任意のものを用いて通信をサポートするために、当業者に周知である、少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、およびこれらの任意の組合せとすることができる。
ウェブサーバを利用する実施形態において、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Javaサーバ、およびビジネスアプリケーションサーバを含む、様々な任意のサーバまたはミッドティアアプリケーションを実行することができる。サーバ(単数または複数)は、例えば、Java(登録商標)、C、C#、もくしはC++、または、Perl、Python、もしくはTCL等の任意のスクリプト言語、ならびにこれらの組み合わせ等の任意のプログラム言語で書かれた1つまたは複数のスクリプトまたはプログラムとして実装された、1つまたは複数のウェブアプリケーションを実行する等により、ユーザデバイスからのリクエストに応答して、プログラムまたはスクリプトを実行する能力を有する。サーバ(単数または複数)は、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、およびIBM(登録商標)から商業的に入手可能なサーバを非限定的に含むデータベースサーバも含んでもよい。
環境は、上述のように、様々なデータストアおよび他のメモリ媒体および記憶媒体を含むことができる。これらは、1つまたは複数のコンピュータに対してローカルである(および/または1つまたは複数のコンピュータ内に常駐する)記憶媒体、またはネットワーク上のすべてのコンピュータのうちの任意のものまたは全部から遠隔にある記憶媒体等の、様々な位置に常駐することができる。特定の組の実施形態においては、情報は、当業者に周知であるストレージエリアネットワーク(「SAN」)に存在する。同様に、コンピュータ、サーバ、または他のネットワークデバイスに帰属する機能を実行するために必要なファイルは、適宜、ローカルおよび/またはリモートに記憶されてよい。システムがコンピュータ化されたデバイスを含む場合、係るデバイスはそれぞれは、ハードウェア要素を含むことができる。なお、これらのハードウェア要素は、バスを介して電気的に接続されてもよく、それらの要素は、例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力装置(例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド)、および少なくとも1つの出力装置(例えば、ディスプレイ装置、プリンタ、またはスピーカ)を備えるものである。係るシステムは、例えば、ディスクドライブ、光記憶装置、および、ランダムアクセスメモリ(「RAM」)または読み出し専用メモリ(「ROM」)等の固体記憶装置の他に、着脱可能な媒体デバイス、メモリカード、フラッシュカード、その他等の、1つまたは複数の記憶装置も備えてもよい。
係るデバイスは、コンピュータ可読記憶媒体リーダ、通信デバイス(例えば、モデム、ネットワークカード(無線および有線)、赤外線通信デバイス、その他)、および上述のワーキングメモリも含むことができる。コンピュータ可読記憶媒体リーダは、コンピュータ可読ストレージ媒体と接続することができ、またはコンピュータ可読記憶媒体を受容するよう構成することができる。なお、コンピュータ可読記憶媒体は、リモート、ローカル、固定、および/または着脱可能記憶装置の他に、一時的に、および/または、より永続的に、コンピュータ可読情報を含む、記憶する、転送する、および取得する記憶媒体を指す。システムおよび様々なデバイスは、一般的に、オペレーティングシステムおよびクライアントアプリケーションまたはウェブブラウザ等のアプリケーションプログラムを含む、少なくとも1つのワーキングメモリデバイス内に配置された、いくつかのソフトウェアアプリケーション、モジュール、サービスまたは他の要素を含むであろう。代替的な実施形態が上述したものからの多数の変化例を有してもよいことを理解すべきである。例えば、カスタマイズされたハードウェアも用いられてもよく、および/または、特定の要素がハードウェア、ソフトウェア(アプレット等のポータブルソフトウェアを含む)、またはその両方で実装されてもよい。さらに、ネットワーク入出力デバイス等の他の計算デバイスへの接続が用いられてもよい。
コードまたはコードの一部を収容するための記憶媒体およびコンピュータ可読媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光記憶、磁気カセット、磁気テープ、磁気ディスク記憶、または他の磁気記憶装置、または所望の情報を記憶することができ、システムデバイスによりアクセスすることができる任意の他の媒体を含む、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶および/または伝送のために任意の方法または技術で実装された、揮発性および不揮発性、ならびに着脱可能および着脱不能の媒体などのような、しかしこれらに限定されない、記憶媒体および通信媒体を含む、当該分野で周知または用いられる任意の適切な媒体を含むことができる。本明細書に提供された開示および教示に基づいて、当業者は、様々な実施形態を実装する他の手法および/または方法を理解するであろう。
したがって、本明細書および図面は、限定的な意味よりもむしろ例示的な意味においてとらえられるべきである。しかしながら、特許請求の範囲において説明される本特許の広範な精神および範囲から逸脱することなく、様々な変更例および変化例がそこになされてもよいことは明白であろう。
(付記項1)
制御環境の1つまたは複数のセルフサービスウェブサービスを用いて、データベース環境において、複製されたリレーショナルデータベースインスタンスをプロビジョニングするための、コンピュータ実装された方法であって、
実行可能命令により設定された、1つまたは複数のコンピュータシステムの制御下で、
それぞれが前記ユーザにウェブサービスリクエストを制御環境に発行することを可能にする、複数のアプリケーションプログラミングインターフェース(API)を提供することであって、各APIは、別個のデータベース環境において、前記ユーザに対してリレーショナルデータベースに関して実行される所望の動作に対応する、提供することと、
前記複数のAPIの内の第1APIを通しての、前記ユーザから前記制御環境へのウェブサービスリクエストの受信に応答して、
1次インスタンスレプリカを前記データベース環境の第1データゾーンにおいてプロビジョンすること、
前記1次レプリカインスタンスにデータベースエンジンをインストールすることと、
2次インスタンスレプリカを、前記1次インスタンスレプリカの1つまたは複数のスナップショットを用いて、前記データベース環境の第2データゾーンにおいてプロビジョンすること、および
前記1次インスタンスレプリカに対する任意の読み出しおよび書き込みを傍受し、前記1次インスタンスレプリカに対する任意のデータ更新を前記2次インスタンスレプリカに対して同時に更新するよう構成された、ブロックレベル複製機構を1次インスタンスレプリカおよび2次インスタンスレプリカのそれぞれに接続すること、
のタスクを含むワークフローをインスタンス化することと、
前記ユーザが前記1次レプリカインスタンスにインストールされた前記データベースエンジンと相互作用することを可能にし、前記1次インスタンスレプリカの障害時に前記ユーザが前記2次インスタンスレプリカと相互作用することができるよう更新可能である、エイリアス名を前記ユーザに提供することと、
を含む方法。
(付記項2)
前記第1インスタンスレプリカおよび前記第2インスタンスレプリカのそれぞれは、前記データベース環境において別個のデータインスタンス上で実行され、各データインスタンスは1つまたは複数の専用ブロックストレージボリュームにアタッチされる、付記項1に記載のコンピュータ実装された方法。
(付記項3)
前記ブロックレベル複製機構は、前記第1インスタンスレプリカおよび前記第2インスタンスレプリカの前記1つまたは複数の専用ブロックストレージボリュームの間でデータを同時に複製するよう動作可能である、付記項2に記載のコンピュータ実装された方法。
(付記項4)
ユーザが、データベース環境において、別個の制御環境を用いて、複製されたデータベースインスタンスを生成することを可能にするための、コンピュータ実装された方法であって、
実行可能命令により設定された、1つまたは複数のコンピュータシステムの制御下で、
それぞれが前記ユーザにウェブサービスリクエストを前記制御環境に発行することを可能にする、複数のアプリケーションプログラミングインターフェース(API)を提供することであって、各APIは、前記データベース環境において、前記ユーザに対するデータベースに関して実行される所望の動作に対応する、提供することと、
前記複数のAPIの内の1つを通しての、前記ユーザから前記制御環境へのウェブサービスリクエストの受信に応答して、データベースに対する第1インスタンスレプリカおよび第2インスタンスレプリカが前記データベース環境においてプロビジョンされるようにし、ブロックレベル複製機構が、前記1次インスタンスレプリカにおける前記データベースに対する任意の書込操作を傍受し、前記書込操作に対する変化が同時に前記2次インスタンスレプリカに複製されるように構成されるようにすることと、
前記ユーザが、前記1次インスタンスレプリカを介して、前記データベースにアクセスすることを可能にすることと、
を含む方法。
(付記項5)
前記第1インスタンスレプリカおよび前記第2インスタンスレプリカは、単一のデータゾーンにおいて、別個の地理的位置における別個のデータゾーンにおいて、複数の地理的位置にわたる単一のデータゾーンにおいて、または単一の地理的領域内の複数のデータゾーンにわたって、プロビジョンされる、付記項4に記載のコンピュータ実装された方法。
(付記項6)
前記制御環境は、前記1次インスタンスレプリカが利用不可能となった場合、前記2次インスタンスレプリカへのフェイルオーバ操作を自動的に実施するよう構成された、付記項4に記載のコンピュータ実装された方法。
(付記項7)
ホストマネージャが前記第1インスタンスレプリカおよび前記第2インスタンスレプリカのそれぞれに対してインストールされ、各ホストマネージャが、前記制御環境と通信し、前記データベース環境において1つまたは複数のタスクを実行するように操作可能にすること
をさらに含む、付記項4に記載のコンピュータ実装された方法。
(付記項8)
前記2次インスタンスレプリカに対する2次ブロックストレージボリュームは、前記1次インスタンスレプリカに対する前記1次ブロックストレージボリュームのスナップショットを用いて生成される、付記項4に記載のコンピュータ実装された方法。
(付記項9)
前記第1インスタンスレプリカおよび前記第2インスタンスレプリカは、前記ユーザから受信された前記ウェブサービスリクエストが、複製されたインスタンスが生成されることを示す複製パラメータ値を含む場合、前記データベース環境においてプロビジョンされる、付記項4に記載のコンピュータ実装された方法。
(付記項10)
前記ユーザにエイリアス名が提供され、前記エイリアス名は、フェイルオーバ操作により前記2次レプリカが新規の現在の1次インスタンスレプリカとなった場合を含んで、前記ユーザが現在の1次インスタンスレプリカと通信することを可能にする、付記項4に記載のコンピュータ実装された方法。
(付記項11)
前記複数のAPIの内の1つを通して前記制御環境に対して発行されたウェブサービスリクエストを用いて、前記ユーザが、複製されていないインスタンスを複製されたインスタンスに変換することを可能にすることをさらに含む、付記項4に記載のコンピュータ実装された方法。
(付記項12)
前記複数のAPIの内の1つを通してのウェブサービスリクエストの受信に応答して、前記データベースの、1つまたは複数のスナップショットをキャプチャすることをさらに含む、付記項4に記載のコンピュータ実装された方法。
(付記項13)
前記スナップショットは、前記2次インスタンスレプリカにおいて取得される、第12節に記載のコンピュータ実装された方法。
(付記項14)
前記ウェブサービスリクエストに応答して、、前記第1インスタンスレプリカおよび前記第2インスタンスレプリカを前記データベース環境において、プロビジョニング、設定、および接続するための、タスクを含むワークフローを、前記制御環境において実行することをさらに含む、付記項4に記載のコンピュータ実装された方法。
(付記項15)
前記制御環境の少なくとも1つの監視コンポーネントを用いて、前記第1インスタンスレプリカおよび前記第2インスタンスレプリカの健康情報を監視することをさらに含む、付記項4に記載のコンピュータ実装された方法。
(付記項16)
前記第1インスタンスレプリカおよび前記第2インスタンスレプリカの設定情報を前記制御環境におけるデータストアに記憶することをさらに含む、付記項4に記載のコンピュータ実装された方法。
(付記項17)
前記複製技術はデータベースエンジンに対して独立的である、付記項4に記載のコンピュータ実装された方法。
(付記項18)
ユーザが、データベース環境において、別個の制御環境を用いて、複製されたデータベースインスタンスを生成することを可能にするためのシステムであって、
プロセッサと、
前記プロセッサにより実行されると、前記プロセッサに
それぞれが前記ユーザにウェブサービスリクエストを前記制御環境に発行することを可能にする、複数のアプリケーションプログラミングインターフェース(API)を提供することであって、各APIは、前記データベース環境において、前記ユーザに対するデータベースに関して実行される所望の動作に対応するように、提供させ、
前記複数のAPIの内の1つを通した、前記ユーザから前記制御環境へのウェブサービスリクエストの受信に応答して、データベースに対する第1インスタンスレプリカおよび第2インスタンスレプリカが前記データベース環境においてプロビジョンされるようにし、ブロックレベル複製機構が、前記1次インスタンスレプリカにおける前記データベースに対する任意の書込操作を傍受し、前記書込操作に対する変化が同時に前記2次インスタンスレプリカに複製されるよう構成されるようにさせ、
前記ユーザが、前記1次インスタンスレプリカを介して、前記データベースにアクセスすることを可能にさせる、
ようにさせる命令を含むメモリデバイスと、
を備えるシステム。
(付記項19)
前記第1インスタンスレプリカおよび前記第2インスタンスレプリカは、単一のデータゾーンにおいて、別個の地理的位置における別個のデータゾーンにおいて、複数の地理的位置にわたる単一のデータゾーンにおいて、または単一の地理的領域内の複数のデータゾーンにわたって、プロビジョンされる、付記項18に記載のシステム。
(付記項20)
実行されると、前記命令は、前記プロセッサに、
前記ウェブサービスリクエストに応答して、プロビジョンするための、設定するための、前記第1インスタンスレプリカおよび前記第2インスタンスレプリカを前記データベース環境において接続するための、タスクを含むワークフローを、前記制御環境において実行させる、
ようにさらにさせる、付記項18に記載のシステム。
(付記項21)
実行されると、前記命令は、前記プロセッサに、
ホストマネージャを前記第1インスタンスレプリカおよび前記第2インスタンスレプリカのそれぞれに対してインストールさせ、各ホストマネージャを、前記制御環境と通信し、前記データベース環境において1つまたは複数のタスクを実行するように作動可能にさせる、
ようにさらにさせる、付記項18に記載のシステム。
(付記項22)
ユーザが、データベース環境において、別個の制御環境を用いて、複製されたデータベースインスタンスを生成することを可能にするための命令を記憶するためのコンピュータ可読記憶媒体であって、前記命令は、プロセッサにより実行されると、前記プロセッサに、
それぞれが前記ユーザにウェブサービスリクエストを前記制御環境に発行することを可能にする、複数のアプリケーションプログラミングインターフェース(API)を提供することであって、各APIは、前記データベース環境において、前記ユーザに対してデータベースに関して実行される所望の動作に対応するように、提供し、
前記複数のAPIの内の1つを通しての、前記ユーザから前記制御環境へのウェブサービスリクエストの受信に応答して、データベースに対する第1インスタンスレプリカおよび第2インスタンスレプリカが前記データベース環境においてプロビジョンされるようにし、ブロックレベル複製機構が、前記1次インスタンスレプリカにおける前記データベースに対する任意の書込操作を傍受し、前記書込操作に対する変化が同時に前記2次インスタンスレプリカに複製されるよう構成されるようにし、
前記ユーザが、前記1次インスタンスレプリカを介して、前記データベースにアクセスすることを可能にする、
ようにさせる、コンピュータ可読記憶媒体。
(付記項23)
前記第1インスタンスレプリカおよび前記第2インスタンスレプリカは、単一のデータゾーンにおいて、別個の地理的位置における別個のデータゾーンにおいて、複数の地理的位置にわたる単一のデータゾーンにおいて、または単一の地理的領域内の複数のデータゾーンにわたって、プロビジョンされる、付記項22に記載のコンピュータ可読記憶媒体。
(付記項24)
前記命令は、実行されると、前記プロセッサに対して、
前記ウェブサービスリクエストに応答して、前記第1インスタンスレプリカおよび前記第2インスタンスレプリカを前記データベース環境においてプロビジョンするための、設定するための、接続するための、タスクを含むワークフローを、前記制御環境において実行させる、
ようにさらにさせる、付記項22に記載のコンピュータ可読記憶媒体。
(付記項25)
前記命令は、実行されると、前記プロセッサに対して、
ホストマネージャが前記第1インスタンスレプリカおよび前記第2インスタンスレプリカのそれぞれに対してインストールされること、および各ホストマネージャを、前記制御環境と通信し、前記データベース環境において1つまたは複数のタスクを実行するように操作可能にさせること、
をさらにさせる、付記項22に記載のコンピュータ可読記憶媒体。

Claims (15)

  1. ユーザが、データベース環境において、別個の制御環境を用いて、複製されたデータベースインスタンスを生成することを可能にする、コンピュータ実装された方法であって、
    実行可能命令により設定された、1つまたは複数のコンピュータシステムの制御下で、
    それぞれが前記ユーザにウェブサービスリクエストを前記制御環境に発行することを可能にする、複数のアプリケーションプログラミングインターフェース(API)を提供することであって、各APIは、前記データベース環境において、前記ユーザに対するデータベースに関して実行される所望の動作に対応する、提供することと、
    前記複数のAPIの内の1つを通しての、前記ユーザから前記制御環境へのウェブサービスリクエストの受信に応答して、データベースに対する第1インスタンスレプリカおよび第2インスタンスレプリカが前記データベース環境においてプロビジョンされるようにし、ブロックレベル複製機構が、前記1次インスタンスレプリカにおける前記データベースに対する任意の書込操作を傍受し、前記書込操作に対する変化を同時に前記2次インスタンスレプリカに複製するよう構成されるようにすることと、
    前記ユーザが、前記1次インスタンスレプリカを介して、前記データベースにアクセスすることを可能にすることと、
    を含むコンピュータ実装された方法。
  2. 前記第1インスタンスレプリカおよび前記第2インスタンスレプリカは、単一のデータゾーンにおいて、別個の地理的位置における別個のデータゾーンにおいて、複数の地理的位置にわたる単一のデータゾーンにおいて、または単一の地理的領域内の複数のデータゾーンにわたり、プロビジョンされる、請求項1に記載のコンピュータ実装された方法。
  3. 前記制御環境は、前記1次インスタンスレプリカが利用不可能となった場合、前記2次インスタンスレプリカへのフェイルオーバ操作を自動的に実施するよう構成された、請求項1に記載のコンピュータ実装された方法。
  4. ホストマネージャが前記第1インスタンスレプリカおよび前記第2インスタンスレプリカのそれぞれに対してインストールさせ、各ホストマネージャを、前記制御環境と通信し、前記データベース環境において1つまたは複数のタスクを実行するように作動可能にさせること、
    をさらに含む、請求項1に記載のコンピュータ実装された方法。
  5. 前記2次インスタンスレプリカに対する2次ブロックストレージボリュームは、前記1次インスタンスレプリカに対する前記1次ブロックストレージボリュームのスナップショットを用いて生成される、請求項1に記載のコンピュータ実装された方法。
  6. 前記第1インスタンスレプリカおよび前記第2インスタンスレプリカは、前記ユーザから受信された前記ウェブサービスリクエストが、複製されたインスタンスが生成されたことを示す複製パラメータ値を含む場合、前記データベース環境においてプロビジョンされる、請求項1に記載のコンピュータ実装された方法。
  7. 前記複数のAPIの内の1つを通して前記制御環境に対して発行されたウェブサービスリクエストを用いて、前記ユーザが、複製されていないインスタンスを複製されたインスタンスに変換することを可能にすることをさらに含む、請求項1に記載のコンピュータ実装された方法。
  8. 前記複数のAPIの内の1つを通したウェブサービスリクエストの受信に応答して、前記データベースの、1つまたは複数のスナップショットをキャプチャすることをさらに含む、請求項1に記載のコンピュータ実装された方法。
  9. 前記ウェブサービスリクエストに応答して、前記第1インスタンスレプリカおよび前記第2インスタンスレプリカを前記データベース環境においてプロビジョンし、設定し、かつ接続するための、タスクを含むワークフローを、前記制御環境において実行することをさらに含む、請求項1に記載のコンピュータ実装された方法。
  10. 前記制御環境の少なくとも1つの監視コンポーネントを用いて、前記第1インスタンスレプリカおよび前記第2インスタンスレプリカの健康情報を監視することをさらに含む、請求項1に記載のコンピュータ実装された方法。
  11. 前記第1インスタンスレプリカおよび前記第2インスタンスレプリカの設定情報を前記制御環境におけるデータストアに記憶することをさらに含む、請求項1に記載のコンピュータ実装された方法。
  12. ユーザが、データベース環境において、別個の制御環境を用いて、複製されたデータベースインスタンスを生成することを可能にするためのシステムであって、
    プロセッサと、
    前記プロセッサにより実行されると、前記プロセッサに
    それぞれが前記ユーザにウェブサービスリクエストを前記制御環境に発行することを可能にする、複数のアプリケーションプログラミングインターフェース(API)を提供することであって、各APIは前記データベース環境において、前記ユーザに対するデータベースに関して実行される所望の動作に対応するように、提供し、
    前記複数のAPIの内の1つを通しての、前記ユーザから前記制御環境へのウェブサービスリクエストの受信に応答して、データベースに対する第1インスタンスレプリカおよび第2インスタンスレプリカが前記データベース環境においてプロビジョンされるようにし、ブロックレベル複製機構が、前記1次インスタンスレプリカにおける前記データベースに対する任意の書込操作を傍受し、前記書込操作に対する変化が同時に前記2次インスタンスレプリカに複製されるよう構成されるようにし、
    前記ユーザが、前記1次インスタンスレプリカを介して、前記データベースにアクセスすることを可能にする、
    ようにさせる命令を含むメモリデバイスと、
    を備えるシステム。
  13. 前記第1インスタンスレプリカおよび前記第2インスタンスレプリカは、単一のデータゾーンにおいて、別個の地理的位置における別個のデータゾーンにおいて、複数の地理的位置にわたる単一のデータゾーンにおいて、または単一の地理的領域内の複数のデータゾーンにわたり、プロビジョンされる、請求項12に記載のシステム。
  14. 前記命令は、実行されると、前記プロセッサに、
    前記ウェブサービスリクエストに応答して、前記第1インスタンスレプリカおよび前記第2インスタンスレプリカを前記データベース環境においてプロビジョンし、設定し、かつ接続するための、タスクを含むワークフローを、前記制御環境において実行するようにさらにさせる、請求項12に記載のシステム。
  15. 前記命令は、実行されると、前記プロセッサに、
    ホストマネージャを前記第1インスタンスレプリカおよび前記第2インスタンスレプリカのそれぞれに対してインストールさせ、各ホストマネージャを、前記制御環境と通信し、前記データベース環境において1つまたは複数のタスクを実行するように操作可能にさせる、
    ようにさらにさせる、請求項12に記載のシステム。
JP2012536964A 2009-10-26 2010-10-26 複製されたデータインスタンスのプロビジョニングおよび管理 Active JP5443613B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/606,093 2009-10-26
US12/606,093 US8335765B2 (en) 2009-10-26 2009-10-26 Provisioning and managing replicated data instances
PCT/US2010/054133 WO2011053592A1 (en) 2009-10-26 2010-10-26 Provisioning and managing replicated data instances

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013262835A Division JP5746312B2 (ja) 2009-10-26 2013-12-19 複製されたデータインスタンスのプロビジョニングおよび管理

Publications (2)

Publication Number Publication Date
JP2013508882A true JP2013508882A (ja) 2013-03-07
JP5443613B2 JP5443613B2 (ja) 2014-03-19

Family

ID=43899240

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2012536964A Active JP5443613B2 (ja) 2009-10-26 2010-10-26 複製されたデータインスタンスのプロビジョニングおよび管理
JP2013262835A Active JP5746312B2 (ja) 2009-10-26 2013-12-19 複製されたデータインスタンスのプロビジョニングおよび管理
JP2015095258A Active JP5945031B2 (ja) 2009-10-26 2015-05-07 複製されたデータインスタンスのプロビジョニングおよび管理

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2013262835A Active JP5746312B2 (ja) 2009-10-26 2013-12-19 複製されたデータインスタンスのプロビジョニングおよび管理
JP2015095258A Active JP5945031B2 (ja) 2009-10-26 2015-05-07 複製されたデータインスタンスのプロビジョニングおよび管理

Country Status (6)

Country Link
US (4) US8335765B2 (ja)
EP (2) EP2494438B1 (ja)
JP (3) JP5443613B2 (ja)
CN (2) CN102648448B (ja)
CA (1) CA2778110C (ja)
WO (1) WO2011053592A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016517080A (ja) * 2013-03-13 2016-06-09 アマゾン・テクノロジーズ・インコーポレーテッド 複製書き込みのためのトークンベースの承認制御

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8060792B2 (en) 2009-03-31 2011-11-15 Amazon Technologies, Inc. Monitoring and automated recovery of data instances
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US8713060B2 (en) * 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8307003B1 (en) 2009-03-31 2012-11-06 Amazon Technologies, Inc. Self-service control environment
US9087066B2 (en) * 2009-04-24 2015-07-21 Swish Data Corporation Virtual disk from network shares and file servers
US9239840B1 (en) 2009-04-24 2016-01-19 Swish Data Corporation Backup media conversion via intelligent virtual appliance adapter
US9135283B2 (en) 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8473970B2 (en) * 2010-02-25 2013-06-25 Oracle International Corporation Framework for integrating applications
US8560699B1 (en) * 2010-12-28 2013-10-15 Amazon Technologies, Inc. Enforceable launch configurations
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US10585766B2 (en) * 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
US8601134B1 (en) 2011-06-30 2013-12-03 Amazon Technologies, Inc. Remote storage gateway management using gateway-initiated connections
US8793343B1 (en) * 2011-08-18 2014-07-29 Amazon Technologies, Inc. Redundant storage gateways
US8738624B1 (en) * 2011-09-27 2014-05-27 Amazon Technologies, Inc. Increasing distributed database capacity
US9635132B1 (en) * 2011-12-15 2017-04-25 Amazon Technologies, Inc. Service and APIs for remote volume-based block storage
US8914497B1 (en) 2011-12-15 2014-12-16 Amazon Technologies, Inc. System and method for throttling service requests having non-uniform workloads
US9210098B2 (en) 2012-02-13 2015-12-08 International Business Machines Corporation Enhanced command selection in a networked computing environment
US8838799B2 (en) 2012-02-13 2014-09-16 International Business Machines Corporation Command management in a networked computing environment
WO2013147784A1 (en) * 2012-03-29 2013-10-03 Hitachi Data Systems Corporation Dns alias synchronization in replication topology
US9992155B2 (en) * 2012-03-29 2018-06-05 Hitachi Vantara Corporation DNS alias synchronization in replication topology
US9313252B2 (en) 2012-04-20 2016-04-12 Microsoft Technology Licensing, Llc Binding crud-type protocols in distributed agreement protocols
US8964990B1 (en) * 2012-05-17 2015-02-24 Amazon Technologies, Inc. Automating key rotation in a distributed system
US8908868B1 (en) 2012-05-17 2014-12-09 Amazon Technologies, Inc. Key rotation with external workflows
US20140059012A1 (en) * 2012-08-21 2014-02-27 Bank Of America Management of Database Deployment
US8438654B1 (en) 2012-09-14 2013-05-07 Rightscale, Inc. Systems and methods for associating a virtual machine with an access control right
US8874508B1 (en) * 2012-10-02 2014-10-28 Symantec Corporation Systems and methods for enabling database disaster recovery using replicated volumes
US10394611B2 (en) 2012-11-26 2019-08-27 Amazon Technologies, Inc. Scaling computing clusters in a distributed computing system
CN103870202B (zh) * 2012-12-10 2018-08-21 上海优刻得信息科技有限公司 一种块设备的分布式存储方法和系统
US8935207B2 (en) 2013-02-14 2015-01-13 Sap Se Inspecting replicated data
US8984243B1 (en) 2013-02-22 2015-03-17 Amazon Technologies, Inc. Managing operational parameters for electronic resources
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
EP2800013B1 (en) * 2013-04-30 2015-09-09 Systemite AB Integration database framework
US10764185B2 (en) * 2013-06-25 2020-09-01 Amazon Technologies, Inc. Token-based policies burst-mode operations
US10623243B2 (en) * 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US9569513B1 (en) * 2013-09-10 2017-02-14 Amazon Technologies, Inc. Conditional master election in distributed databases
US10908937B2 (en) * 2013-11-11 2021-02-02 Amazon Technologies, Inc. Automatic directory join for virtual machine instances
US9736159B2 (en) 2013-11-11 2017-08-15 Amazon Technologies, Inc. Identity pool bridging for managed directory services
US10447610B1 (en) 2013-11-11 2019-10-15 Amazon Technologies, Inc. Techniques for network redirection
US9407615B2 (en) 2013-11-11 2016-08-02 Amazon Technologies, Inc. Single set of credentials for accessing multiple computing resource services
US9626262B1 (en) * 2013-12-09 2017-04-18 Amazon Technologies, Inc. Primary role reporting service for resource groups
CN106605217B (zh) 2014-09-08 2019-08-27 微软技术许可有限责任公司 用于将应用从一个站点移动到另一站点的方法和系统
US10664495B2 (en) * 2014-09-25 2020-05-26 Oracle International Corporation System and method for supporting data grid snapshot and federation
US10257184B1 (en) 2014-09-29 2019-04-09 Amazon Technologies, Inc. Assigning policies for accessing multiple computing resource services
US10152211B2 (en) * 2014-11-11 2018-12-11 Amazon Technologies, Inc. Application delivery agents on virtual desktop instances
KR102264992B1 (ko) 2014-12-31 2021-06-15 삼성전자 주식회사 무선 통신 시스템에서 서버 할당 방법 및 장치
US9361349B1 (en) * 2015-01-30 2016-06-07 Dropbox, Inc. Storage constrained synchronization of shared content items
US10509663B1 (en) 2015-02-04 2019-12-17 Amazon Technologies, Inc. Automatic domain join for virtual machine instances
US11336519B1 (en) * 2015-03-10 2022-05-17 Amazon Technologies, Inc. Evaluating placement configurations for distributed resource placement
US9600393B2 (en) * 2015-03-23 2017-03-21 Facebook, Inc. Testing of application service versions on live data
US10277672B2 (en) * 2015-04-17 2019-04-30 Zuora, Inc. System and method for real-time cloud data synchronization using a database binary log
US9860317B1 (en) 2015-04-30 2018-01-02 Amazon Technologies, Inc. Throughput throttling for distributed file storage services with varying connection characteristics
US10423588B2 (en) * 2015-08-25 2019-09-24 International Business Machines Corporation Orchestrated disaster recovery
US9766927B1 (en) * 2015-10-06 2017-09-19 Amazon Technologies, Inc. Data flow management in processing workflows
US10430240B2 (en) * 2015-10-13 2019-10-01 Palantir Technologies Inc. Fault-tolerant and highly-available configuration of distributed services
US10719532B2 (en) 2016-04-25 2020-07-21 Dropbox, Inc. Storage constrained synchronization engine
EP3449363A4 (en) * 2016-04-28 2019-10-02 Snowflake Inc. MULTIPLE CLUSTER WAREHOUSE
CN107346253A (zh) * 2016-05-06 2017-11-14 中兴通讯股份有限公司 应用同步方法及装置
US10713072B1 (en) * 2016-06-27 2020-07-14 Amazon Technologies, Inc. Computing resource provisioning
US10419582B2 (en) * 2016-06-30 2019-09-17 International Business Machines Corporation Processing command line templates for database queries
US10237118B2 (en) * 2016-11-18 2019-03-19 Sap Se Efficient application build/deployment for distributed container cloud platform
US10686908B2 (en) 2016-11-18 2020-06-16 Sap Se Embedded database as a microservice for distributed container cloud platform
US10162721B2 (en) * 2016-11-28 2018-12-25 Sap Se Workload shifting in a database system using hint-based routing
CN108733699A (zh) * 2017-04-19 2018-11-02 北京京东尚科信息技术有限公司 数据库主从复制系统、方法和装置
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
US10880040B1 (en) 2017-10-23 2020-12-29 EMC IP Holding Company LLC Scale-out distributed erasure coding
US10860336B2 (en) 2017-10-27 2020-12-08 Google Llc Managing multi-single-tenant SaaS services
US10382554B1 (en) 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
US10579297B2 (en) 2018-04-27 2020-03-03 EMC IP Holding Company LLC Scaling-in for geographically diverse storage
US11023130B2 (en) 2018-06-15 2021-06-01 EMC IP Holding Company LLC Deleting data in a geographically diverse storage construct
US11263098B2 (en) * 2018-07-02 2022-03-01 Pivotal Software, Inc. Database segment load balancer
DE202019005483U1 (de) * 2018-07-06 2020-10-28 Snowflake Inc. Datenreplikation und Datenausfallsicherung in Datenbanksystemen
US10819677B2 (en) * 2018-07-16 2020-10-27 Amazon Technologies, Inc. Address migration service
US11288250B2 (en) * 2018-08-09 2022-03-29 Servicenow, Inc. Partial discovery of cloud-based resources
US11119864B2 (en) 2018-10-02 2021-09-14 International Business Machines Corporation Achieving activity centric computing using portable containers
US10803087B2 (en) * 2018-10-19 2020-10-13 Oracle International Corporation Language interoperable runtime adaptable data collections
US11537619B1 (en) 2018-10-31 2022-12-27 Amazon Technologies, Inc. Replica group modification in a distributed database
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US11934409B2 (en) 2018-11-23 2024-03-19 Amazon Technologies, Inc. Continuous functions in a time-series database
US10901635B2 (en) 2018-12-04 2021-01-26 EMC IP Holding Company LLC Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns
US11068537B1 (en) 2018-12-11 2021-07-20 Amazon Technologies, Inc. Partition segmenting in a distributed time-series database
US10997137B1 (en) 2018-12-13 2021-05-04 Amazon Technologies, Inc. Two-dimensional partition splitting in a time-series database
US10931777B2 (en) 2018-12-20 2021-02-23 EMC IP Holding Company LLC Network efficient geographically diverse data storage system employing degraded chunks
US11119683B2 (en) 2018-12-20 2021-09-14 EMC IP Holding Company LLC Logical compaction of a degraded chunk in a geographically diverse data storage system
US10892782B2 (en) 2018-12-21 2021-01-12 EMC IP Holding Company LLC Flexible system and method for combining erasure-coded protection sets
US11023331B2 (en) 2019-01-04 2021-06-01 EMC IP Holding Company LLC Fast recovery of data in a geographically distributed storage environment
US10942827B2 (en) 2019-01-22 2021-03-09 EMC IP Holding Company LLC Replication of data in a geographically distributed storage environment
US10942825B2 (en) 2019-01-29 2021-03-09 EMC IP Holding Company LLC Mitigating real node failure in a mapped redundant array of independent nodes
US10936239B2 (en) 2019-01-29 2021-03-02 EMC IP Holding Company LLC Cluster contraction of a mapped redundant array of independent nodes
US10866766B2 (en) 2019-01-29 2020-12-15 EMC IP Holding Company LLC Affinity sensitive data convolution for data storage systems
US11409725B1 (en) 2019-02-04 2022-08-09 Amazon Technologies, Inc. Multi-tenant partitioning in a time-series database
US11250019B1 (en) 2019-02-27 2022-02-15 Amazon Technologies, Inc. Eventually consistent replication in a time-series database
US11853317B1 (en) 2019-03-18 2023-12-26 Amazon Technologies, Inc. Creating replicas using queries to a time series database
US11029865B2 (en) 2019-04-03 2021-06-08 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes
US10944826B2 (en) 2019-04-03 2021-03-09 EMC IP Holding Company LLC Selective instantiation of a storage service for a mapped redundant array of independent nodes
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11121727B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Adaptive data storing for data storage systems employing erasure coding
US11119686B2 (en) * 2019-04-30 2021-09-14 EMC IP Holding Company LLC Preservation of data during scaling of a geographically diverse data storage system
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11513854B1 (en) 2019-06-26 2022-11-29 Amazon Technologies, Inc. Resource usage restrictions in a time-series database
US11256719B1 (en) 2019-06-27 2022-02-22 Amazon Technologies, Inc. Ingestion partition auto-scaling in a time-series database
US11209996B2 (en) 2019-07-15 2021-12-28 EMC IP Holding Company LLC Mapped cluster stretching for increasing workload in a data storage system
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11023145B2 (en) 2019-07-30 2021-06-01 EMC IP Holding Company LLC Hybrid mapped clusters for data storage
US11288104B2 (en) * 2019-08-06 2022-03-29 International Business Machines Corporation Automatic dynamic operating system provisioning
US10990464B1 (en) 2019-09-04 2021-04-27 Amazon Technologies, Inc. Block-storage service supporting multi-attach and health check failover mechanism
US11228322B2 (en) 2019-09-13 2022-01-18 EMC IP Holding Company LLC Rebalancing in a geographically diverse storage system employing erasure coding
US11573981B1 (en) 2019-09-23 2023-02-07 Amazon Technologies, Inc. Auto-scaling using temporal splits in a time-series database
US11216487B1 (en) 2019-09-23 2022-01-04 Amazon Technologies, Inc. Schema-based spatial partitioning in a time-series database
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
US11288139B2 (en) 2019-10-31 2022-03-29 EMC IP Holding Company LLC Two-step recovery employing erasure coding in a geographically diverse data storage system
US11119690B2 (en) 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
US11144220B2 (en) 2019-12-24 2021-10-12 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes
US11231860B2 (en) 2020-01-17 2022-01-25 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage with high performance
US11741410B2 (en) 2020-01-18 2023-08-29 SkyKick, Inc. Centralized cloud service management
US11366598B1 (en) 2020-03-26 2022-06-21 Amazon Technologies, Inc. Dynamic lease assignments in a time-series database
US11263270B1 (en) 2020-03-26 2022-03-01 Amazon Technologies, Inc. Heat balancing in a distributed time-series database
US11409771B1 (en) 2020-03-26 2022-08-09 Amazon Technologies, Inc. Splitting partitions across clusters in a time-series database
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US11360866B2 (en) * 2020-04-14 2022-06-14 International Business Machines Corporation Updating stateful system in server cluster
US11288229B2 (en) 2020-05-29 2022-03-29 EMC IP Holding Company LLC Verifiable intra-cluster migration for a chunk storage system
US11599516B1 (en) 2020-06-24 2023-03-07 Amazon Technologies, Inc. Scalable metadata index for a time-series database
US11169914B1 (en) 2020-07-01 2021-11-09 Bank Of America Corporation System for synchronization and provisioning of electronic testing data across applications
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US10958523B1 (en) 2020-07-28 2021-03-23 Bank Of America Corporation Consistent deployment of monitoring configurations on multiple computing systems
US11188437B1 (en) 2020-07-30 2021-11-30 Bank Of America Corporation Remote deployment of monitoring agents on computing systems
CN112131045A (zh) * 2020-09-04 2020-12-25 上海云轴信息科技有限公司 一种双机热备系统的存储设计及故障恢复的方法与设备
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
US11704159B2 (en) 2020-12-09 2023-07-18 Dell Products L.P. System and method for unified infrastructure architecture
US11809912B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. System and method for allocating resources to perform workloads
US11928515B2 (en) 2020-12-09 2024-03-12 Dell Products L.P. System and method for managing resource allocations in composed systems
US11693703B2 (en) 2020-12-09 2023-07-04 Dell Products L.P. Monitoring resource utilization via intercepting bare metal communications between resources
US11675625B2 (en) 2020-12-09 2023-06-13 Dell Products L.P. Thin provisioning of resources using SCPS and a bidding system
US11934875B2 (en) * 2020-12-09 2024-03-19 Dell Products L.P. Method and system for maintaining composed systems
US11853782B2 (en) 2020-12-09 2023-12-26 Dell Products L.P. Method and system for composing systems using resource sets
US11675665B2 (en) 2020-12-09 2023-06-13 Dell Products L.P. System and method for backup generation using composed systems
US11604595B2 (en) 2020-12-09 2023-03-14 Dell Products L.P. Data mirroring and data migration between storage volumes using system control processors
US11698821B2 (en) 2020-12-09 2023-07-11 Dell Products L.P. Composable information handling systems in an open network using access control managers
US11809911B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. Resuming workload execution in composed information handling system
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11768612B2 (en) 2021-01-28 2023-09-26 Dell Products L.P. System and method for distributed deduplication in a composed system
US11797341B2 (en) 2021-01-28 2023-10-24 Dell Products L.P. System and method for performing remediation action during operation analysis
US11675916B2 (en) 2021-01-28 2023-06-13 Dell Products L.P. Method and system for limiting data accessibility in composed systems
US11687280B2 (en) 2021-01-28 2023-06-27 Dell Products L.P. Method and system for efficient servicing of storage access requests
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system
US11461347B1 (en) 2021-06-16 2022-10-04 Amazon Technologies, Inc. Adaptive querying of time-series data over tiered storage
US11941014B1 (en) 2021-06-16 2024-03-26 Amazon Technologies, Inc. Versioned metadata management for a time-series database
US11947697B2 (en) 2021-07-22 2024-04-02 Dell Products L.P. Method and system to place resources in a known state to be used in a composed information handling system
US11928506B2 (en) 2021-07-28 2024-03-12 Dell Products L.P. Managing composition service entities with complex networks
US11847031B2 (en) 2022-03-04 2023-12-19 Insight Direct Usa, Inc. Database recovery and database recovery testing
US20240066403A1 (en) * 2022-08-25 2024-02-29 Acer Incorporated Method and computer device for automatically applying optimal configuration for games to run in 3d mode
US11941024B1 (en) * 2022-10-14 2024-03-26 Oracle International Corporation Orchestration service for database replication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267056A (ja) * 2004-03-17 2005-09-29 Nec Corp ソフトウェアミラーリングディスク障害監視・復旧システム、その障害監視・復旧方法及びプログラム
JP2006011874A (ja) * 2004-06-25 2006-01-12 Hitachi Ltd ボリューム提供システム及び方法
JP2009230742A (ja) * 2008-03-21 2009-10-08 Hitachi Ltd 高可用性、低容量のシン・プロビジョニング

Family Cites Families (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555404A (en) 1992-03-17 1996-09-10 Telenor As Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
US5845067A (en) 1996-09-09 1998-12-01 Porter; Jack Edward Method and apparatus for document management utilizing a messaging system
JPH10312327A (ja) 1997-05-13 1998-11-24 Oki Electric Ind Co Ltd ミラーリング監視方式
US6018746A (en) 1997-12-23 2000-01-25 Unisys Corporation System and method for managing recovery information in a transaction processing system
US6560639B1 (en) 1998-02-13 2003-05-06 3565 Acquisition Corporation System for web content management based on server-side application
US6205465B1 (en) 1998-07-22 2001-03-20 Cisco Technology, Inc. Component extensible parallel execution of multiple threads assembled from program components specified with partial inter-component sequence information
US6295558B1 (en) 1998-08-21 2001-09-25 Hewlett-Packard Company Automatic status polling failover or devices in a distributed network management hierarchy
US20070162420A1 (en) 2004-01-21 2007-07-12 Oracle International Corporation Techniques for automatically discovering a database device on a network
US7315826B1 (en) 1999-05-27 2008-01-01 Accenture, Llp Comparatively analyzing vendors of components required for a web-based architecture
US6611867B1 (en) 1999-08-31 2003-08-26 Accenture Llp System, method and article of manufacture for implementing a hybrid network
JP2001109638A (ja) 1999-10-06 2001-04-20 Nec Corp 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体
US6442707B1 (en) 1999-10-29 2002-08-27 Advanced Micro Devices, Inc. Alternate fault handler
US6671821B1 (en) 1999-11-22 2003-12-30 Massachusetts Institute Of Technology Byzantine fault tolerance
US6694362B1 (en) 2000-01-03 2004-02-17 Micromuse Inc. Method and system for network event impact analysis and correlation with network administrators, management policies and procedures
US6542907B1 (en) 2000-03-31 2003-04-01 International Business Machines Corporation Method and apparatus for decentralized, invertible generation of bounded-length globally unique replica identifiers
US6842769B1 (en) 2000-05-05 2005-01-11 Interland, Inc. Automatically configured network server
US6950871B1 (en) 2000-06-29 2005-09-27 Hitachi, Ltd. Computer system having a storage area network and method of handling data in the computer system
US20020019844A1 (en) 2000-07-06 2002-02-14 Kurowski Scott J. Method and system for network-distributed computing
US7739308B2 (en) 2000-09-08 2010-06-15 Oracle International Corporation Techniques for automatically provisioning a database over a wide area network
US7124289B1 (en) 2000-10-31 2006-10-17 Opsware Inc. Automated provisioning framework for internet site servers
US7308440B2 (en) 2000-12-11 2007-12-11 Microsoft Corporation System and method for representing an object used in management of multiple network resources
US6985955B2 (en) 2001-01-29 2006-01-10 International Business Machines Corporation System and method for provisioning resources to users based on roles, organizational information, attributes and third-party information or authorizations
US7197561B1 (en) 2001-03-28 2007-03-27 Shoregroup, Inc. Method and apparatus for maintaining the status of objects in computer networks using virtual state machines
WO2002079905A2 (en) 2001-04-02 2002-10-10 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for internet content
US20030005091A1 (en) 2001-06-29 2003-01-02 International Business Machines Corporation Method and apparatus for improved monitoring in a distributed computing system
JP4295089B2 (ja) * 2001-07-16 2009-07-15 ビーイーエイ システムズ, インコーポレイテッド セッション複製及びフェイルオーバーのための方法及び装置
US7024517B1 (en) 2001-09-27 2006-04-04 Emc Corporation System and method for configuring data storage in accordance with workload requirements
JP3879471B2 (ja) 2001-10-10 2007-02-14 株式会社日立製作所 計算機資源割当方法
US7133907B2 (en) 2001-10-18 2006-11-07 Sun Microsystems, Inc. Method, system, and program for configuring system resources
US7418484B2 (en) 2001-11-30 2008-08-26 Oracle International Corporation System and method for actively managing an enterprise of configurable components
US7360121B2 (en) 2002-02-22 2008-04-15 Bea Systems, Inc. System for monitoring a subsystem health
US9087319B2 (en) * 2002-03-11 2015-07-21 Oracle America, Inc. System and method for designing, developing and implementing internet service provider architectures
US6947981B2 (en) 2002-03-26 2005-09-20 Hewlett-Packard Development Company, L.P. Flexible data replication mechanism
US7103884B2 (en) 2002-03-27 2006-09-05 Lucent Technologies Inc. Method for maintaining consistency and performing recovery in a replicated data storage system
US6988139B1 (en) * 2002-04-26 2006-01-17 Microsoft Corporation Distributed computing of a job corresponding to a plurality of predefined tasks
US20030212898A1 (en) 2002-05-09 2003-11-13 Doug Steele System and method for remotely monitoring and deploying virtual support services across multiple virtual lans (VLANS) within a data center
US7373399B2 (en) 2002-05-09 2008-05-13 Hewlett-Packard Development Company, L.P. System and method for an enterprise-to-enterprise compare within a utility data center (UDC)
JP2003330781A (ja) * 2002-05-17 2003-11-21 Hitachi Ltd データ多重保障方法
US7844577B2 (en) * 2002-07-15 2010-11-30 Symantec Corporation System and method for maintaining a backup storage system for a computer system
US6981135B1 (en) 2002-08-02 2005-12-27 Hewlett-Packard Development Company, L.P. System and method of configuring system components
CA2405673C (en) 2002-09-30 2009-10-06 Ibm Canada Limited-Ibm Canada Limitee Provisioning web services
US8121978B2 (en) * 2002-11-15 2012-02-21 Sybase, Inc. Database system providing improved methods for data replication
WO2004047078A2 (en) 2002-11-20 2004-06-03 Filesx Ltd. Fast backup storage and fast recovery of data (fbsrd)
US7370025B1 (en) * 2002-12-17 2008-05-06 Symantec Operating Corporation System and method for providing access to replicated data
US7502329B2 (en) 2003-01-27 2009-03-10 Alcatel-Lucent Usa Inc. Distributed network monitoring with bounded link utilization in IP networks
JP4322511B2 (ja) 2003-01-27 2009-09-02 株式会社日立製作所 情報処理システムの制御方法、及び情報処理システム
US20040163008A1 (en) 2003-02-19 2004-08-19 Kim Roy Moon Remote system management and operation services in a computer network
JP2004259079A (ja) 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
US7583607B2 (en) 2003-03-06 2009-09-01 Hewlett-Packard Development Company, L.P. Method and apparatus for designating and implementing support level agreements
US6978452B2 (en) * 2003-04-02 2005-12-20 Beach Unlimited Llc Upgrading digital media servers
US20040225659A1 (en) 2003-05-09 2004-11-11 O'brien John Storage foundry
US7415484B1 (en) 2003-05-09 2008-08-19 Vignette Corporation Method and system for modeling of system content for businesses
US7389333B2 (en) 2003-07-02 2008-06-17 Fujitsu Limited Provisioning a network element using custom defaults
US7701858B2 (en) 2003-07-17 2010-04-20 Sensicast Systems Method and apparatus for wireless communication in a mesh network
US7873684B2 (en) 2003-08-14 2011-01-18 Oracle International Corporation Automatic and dynamic provisioning of databases
AU2004286660B2 (en) * 2003-10-27 2011-06-16 Hitachi Vantara, LLC Policy-based management of a redundant array of independent nodes
US20100005531A1 (en) 2004-12-23 2010-01-07 Kenneth Largman Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
US7383463B2 (en) 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
JP2005256705A (ja) 2004-03-11 2005-09-22 Nippon Densan Corp 細長遠心ファン
US7631076B2 (en) 2004-03-16 2009-12-08 International Business Machines Corporation Apparatus, system, and method for adaptive polling of monitored systems
US7383291B2 (en) 2004-05-24 2008-06-03 Apple Inc. Method for sharing groups of objects
US7478263B1 (en) 2004-06-01 2009-01-13 Network Appliance, Inc. System and method for establishing bi-directional failover in a two node cluster
US7624133B1 (en) 2004-06-09 2009-11-24 Symantec Operating Corporation Automatic detection of backup recovery sets
US7313721B2 (en) 2004-06-21 2007-12-25 Dot Hill Systems Corporation Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array
US7747760B2 (en) * 2004-07-29 2010-06-29 International Business Machines Corporation Near real-time data center switching for client requests
US7058731B2 (en) * 2004-08-03 2006-06-06 Hitachi, Ltd. Failover and data migration using data replication
US8046440B2 (en) 2004-08-19 2011-10-25 International Business Machines Corporation Managing resources through user-facing web services aggregated in portals
GB0419599D0 (en) 2004-09-03 2004-10-06 Ibm Controlling preemptive work balancing in data storage
US7567974B2 (en) 2004-09-09 2009-07-28 Microsoft Corporation Method, system, and apparatus for configuring a data protection system
US7480725B2 (en) * 2004-09-16 2009-01-20 Invensys Systems, Inc. Transparent relocation of an active redundant engine in supervisory process control data acquisition systems
US20060056285A1 (en) * 2004-09-16 2006-03-16 Krajewski John J Iii Configuring redundancy in a supervisory process control system
US8010337B2 (en) 2004-09-22 2011-08-30 Microsoft Corporation Predicting database system performance
JP4507249B2 (ja) 2004-10-19 2010-07-21 株式会社日立製作所 記憶デバイスの更新を制御するシステム及び方法
US7945469B2 (en) 2004-11-16 2011-05-17 Amazon Technologies, Inc. Providing an electronic marketplace to facilitate human performance of programmatically submitted tasks
US20060106774A1 (en) 2004-11-16 2006-05-18 Cohen Peter D Using qualifications of users to facilitate user performance of tasks
US7933247B2 (en) 2004-11-18 2011-04-26 Sanjay M. Gidwani Real-time scalable wireless switching network
US7680771B2 (en) 2004-12-20 2010-03-16 International Business Machines Corporation Apparatus, system, and method for database provisioning
US8200700B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US8347088B2 (en) 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US7657780B2 (en) 2005-02-07 2010-02-02 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US7761412B2 (en) * 2005-04-22 2010-07-20 Microsoft Corporation Synchronization move support systems and methods
AU2006262045B2 (en) * 2005-06-24 2011-11-03 Catalogic Software, Inc. System and method for high performance enterprise data protection
US20070022129A1 (en) 2005-07-25 2007-01-25 Parascale, Inc. Rule driven automation of file placement, replication, and migration
WO2007019711A1 (en) * 2005-08-16 2007-02-22 Swiss Reinsurance Company Computer-based data processing system and method of processing data objects
CA2620131A1 (en) 2005-08-23 2007-03-01 Mimosa Systems, Inc. Enterprise server version migration through identity preservation
US20070234028A1 (en) 2005-09-15 2007-10-04 Rothman Michael A Method and apparatus for quickly changing the power state of a data processing system
US8863137B2 (en) 2005-09-23 2014-10-14 International Business Machines Corporation Systems and methods for automated provisioning of managed computing resources
US7933987B2 (en) * 2005-09-30 2011-04-26 Lockheed Martin Corporation Application of virtual servers to high availability and disaster recovery solutions
US7801932B2 (en) 2005-10-11 2010-09-21 Oracle International Corporation Undo hints to speed up segment extension and tuning of undo retention
US8392400B1 (en) * 2005-12-29 2013-03-05 Amazon Technologies, Inc. Method and apparatus for stress management in a searchable data service
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US7801912B2 (en) * 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
US20070156872A1 (en) 2005-12-30 2007-07-05 Stoyanova Dimitrina G Method and system for Web services deployment
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
JP4839091B2 (ja) 2006-01-27 2011-12-14 株式会社日立製作所 データベース回復方法及び計算機システム
US7743023B2 (en) * 2006-02-01 2010-06-22 Microsoft Corporation Scalable file replication and web-based access
JP2007279890A (ja) 2006-04-04 2007-10-25 Hitachi Ltd バックアップシステム及びバックアップ方法
US7613749B2 (en) 2006-04-12 2009-11-03 International Business Machines Corporation System and method for application fault tolerance and recovery using topologically remotely located computing devices
US20070244996A1 (en) 2006-04-14 2007-10-18 Sonasoft Corp., A California Corporation Web enabled exchange server standby solution using mailbox level replication
JP4939102B2 (ja) 2006-04-21 2012-05-23 株式会社日立製作所 ネットワークブート計算機システムの高信頼化方法
US7613742B2 (en) 2006-05-02 2009-11-03 Mypoints.Com Inc. System and method for providing three-way failover for a transactional database
US20070260693A1 (en) 2006-05-05 2007-11-08 International Business Machines Corporation Method and apparatus for utilizing portable e-mail addresses
US20070271275A1 (en) 2006-05-05 2007-11-22 Fassette Anthony M Database management function provider systems
US8381306B2 (en) 2006-05-30 2013-02-19 Microsoft Corporation Translating role-based access control policy to resource authorization policy
US20070299828A1 (en) 2006-06-05 2007-12-27 Digital Mountain, Inc. Method and Apparatus for Processing Heterogeneous Data
US20070288526A1 (en) 2006-06-08 2007-12-13 Emc Corporation Method and apparatus for processing a database replica
US7725764B2 (en) * 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
US7822594B2 (en) 2006-08-07 2010-10-26 Voltaire Ltd. Service-oriented infrastructure management
US8156082B2 (en) 2006-10-06 2012-04-10 Sybase, Inc. System and methods for temporary data management in shared disk cluster
US9015703B2 (en) 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8949826B2 (en) 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
CN100471134C (zh) * 2006-10-20 2009-03-18 华为技术有限公司 电信设备升级的方法、设备及升级引擎单元
SG10201501549XA (en) 2006-11-06 2015-04-29 Metric Holdings Llc A system and method for managing data across multiple environments
US7917469B2 (en) * 2006-11-08 2011-03-29 Hitachi Data Systems Corporation Fast primary cluster recovery
US7949847B2 (en) 2006-11-29 2011-05-24 Hitachi, Ltd. Storage extent allocation method for thin provisioning storage
US7844851B2 (en) 2006-12-13 2010-11-30 Oracle International Corporation System and method for protecting against failure through geo-redundancy in a SIP server
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
CN101212341A (zh) * 2006-12-25 2008-07-02 中兴通讯股份有限公司 一种数据库系统切换方法
US8880480B2 (en) 2007-01-03 2014-11-04 Oracle International Corporation Method and apparatus for data rollback
US20080189769A1 (en) 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
US20080195622A1 (en) 2007-02-12 2008-08-14 Personeta Ltd. Service provisioning system
US8150904B2 (en) 2007-02-28 2012-04-03 Sap Ag Distribution of data and task instances in grid environments
JP5082516B2 (ja) * 2007-03-09 2012-11-28 富士通株式会社 複製作成装置および複製作成方法
US8171485B2 (en) 2007-03-26 2012-05-01 Credit Suisse Securities (Europe) Limited Method and system for managing virtual and real machines
US8219848B2 (en) 2007-04-10 2012-07-10 International Business Machines Corporation Mechanism for recovery from site failure in a stream processing system
US20080263388A1 (en) 2007-04-18 2008-10-23 James Robert Allen Method and apparatus for managing customer topologies
US8099727B2 (en) * 2007-06-01 2012-01-17 Netapp, Inc. System and method for providing uninterrupted operation of a replication system during a software upgrade
US20090019137A1 (en) 2007-07-10 2009-01-15 Ragingwire Enterprise Solutions, Inc. Method and remote system for creating a customized server infrastructure in real time
DE102007035584B4 (de) 2007-07-30 2009-12-17 Texas Instruments Deutschland Gmbh Watchdog-Vorrichtung zur Überwachung eines elektronischen Systems
US7739243B2 (en) 2007-08-01 2010-06-15 International Business Machines Corporation System and method for dynamically configuring a multiplatform computing environment
US20090063807A1 (en) 2007-08-29 2009-03-05 International Business Machines Corporation Data redistribution in shared nothing architecture
US8892719B2 (en) 2007-08-30 2014-11-18 Alpha Technical Corporation Method and apparatus for monitoring network servers
US8549144B2 (en) 2007-08-31 2013-10-01 International Business Machines Corporation Common configuration framework for applications to configure database objects and resources
JP2009070143A (ja) 2007-09-13 2009-04-02 Hitachi Ltd Nas装置の差分リモートバックアップにおけるデータ復旧方法及び計算機システム
US9083609B2 (en) 2007-09-26 2015-07-14 Nicira, Inc. Network operating system for managing and securing networks
US20090089417A1 (en) 2007-09-28 2009-04-02 David Lee Giffin Dialogue analyzer configured to identify predatory behavior
US8423739B2 (en) 2008-02-06 2013-04-16 International Business Machines Corporation Apparatus, system, and method for relocating logical array hot spots
US8175863B1 (en) 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
JP5075727B2 (ja) 2008-04-25 2012-11-21 株式会社日立製作所 ストリーム配信システム及び障害検知方法
US8041679B1 (en) 2008-06-04 2011-10-18 Symantec Operating Corporation Synthetic differential backups creation for a database using binary log conversion
US8121981B2 (en) 2008-06-19 2012-02-21 Microsoft Corporation Database snapshot management
US8275907B2 (en) * 2008-06-26 2012-09-25 Microsoft Corporation Adding individual database failover/switchover to an existing storage component with limited impact
US8904003B2 (en) 2008-06-30 2014-12-02 Oracle America, Inc. Method and system for delegated job control across a network
US8725967B2 (en) * 2008-08-08 2014-05-13 Amazon Technologies, Inc. Providing executing programs with access to stored block data of others
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US8020037B1 (en) * 2008-09-23 2011-09-13 Netapp, Inc. Creation of a test bed for testing failover and failback operations
US8468535B1 (en) 2008-09-23 2013-06-18 Gogrid, LLC Automated system and method to provision and allocate hosting resources
US8458331B2 (en) 2008-10-08 2013-06-04 Citrix Systems, Inc. Systems and methods for connection management for asynchronous messaging over HTTP
US8117156B2 (en) * 2008-10-26 2012-02-14 Microsoft Corporation Replication for common availability substrate
US8392915B2 (en) 2008-11-19 2013-03-05 Oracle International Corporation Efficient volume manager hot swapping
US7941697B2 (en) 2008-12-30 2011-05-10 Symantec Operating Corporation Failure handling using overlay objects on a file system using object based storage devices
US8170997B2 (en) 2009-01-29 2012-05-01 Microsoft Corporation Unbundled storage transaction services
US9344401B2 (en) 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
US9208188B2 (en) 2009-02-17 2015-12-08 Microsoft Technology Licensing, Llc Tenant management of a hosted multi-tenant application
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US8307003B1 (en) * 2009-03-31 2012-11-06 Amazon Technologies, Inc. Self-service control environment
US8060792B2 (en) 2009-03-31 2011-11-15 Amazon Technologies, Inc. Monitoring and automated recovery of data instances
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9774818B2 (en) * 2009-04-24 2017-09-26 Level 3 Communications, Llc Media resource storage and management
US8601534B2 (en) 2009-07-02 2013-12-03 Samsung Electronics Co., Ltd. Securely using service providers in elastic computing systems and environments
US9135283B2 (en) 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8334765B2 (en) 2010-05-24 2012-12-18 Keylockit Ltd. Wireless network apparatus and method for lock indication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267056A (ja) * 2004-03-17 2005-09-29 Nec Corp ソフトウェアミラーリングディスク障害監視・復旧システム、その障害監視・復旧方法及びプログラム
JP2006011874A (ja) * 2004-06-25 2006-01-12 Hitachi Ltd ボリューム提供システム及び方法
JP2009230742A (ja) * 2008-03-21 2009-10-08 Hitachi Ltd 高可用性、低容量のシン・プロビジョニング

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016517080A (ja) * 2013-03-13 2016-06-09 アマゾン・テクノロジーズ・インコーポレーテッド 複製書き込みのためのトークンベースの承認制御
KR101797836B1 (ko) * 2013-03-13 2017-11-15 아마존 테크놀로지스, 인크. 복제된 기록들을 위한 토큰 기반 수락 제어
US11086898B2 (en) 2013-03-13 2021-08-10 Amazon Technologies, Inc. Token-based admission control for replicated writes

Also Published As

Publication number Publication date
US20160253400A1 (en) 2016-09-01
WO2011053592A1 (en) 2011-05-05
JP5443613B2 (ja) 2014-03-19
US20130066834A1 (en) 2013-03-14
CA2778110A1 (en) 2011-05-05
JP2014053050A (ja) 2014-03-20
EP2494438A4 (en) 2013-10-23
JP2015164067A (ja) 2015-09-10
US11907254B2 (en) 2024-02-20
CN102648448A (zh) 2012-08-22
US9336292B2 (en) 2016-05-10
EP2494438A1 (en) 2012-09-05
EP3767471A1 (en) 2021-01-20
US8335765B2 (en) 2012-12-18
CA2778110C (en) 2016-11-22
JP5746312B2 (ja) 2015-07-08
US20110099147A1 (en) 2011-04-28
US11321348B2 (en) 2022-05-03
JP5945031B2 (ja) 2016-07-05
CN102648448B (zh) 2016-10-26
CN106407410A (zh) 2017-02-15
EP2494438B1 (en) 2020-07-01
US20220261419A1 (en) 2022-08-18

Similar Documents

Publication Publication Date Title
US11907254B2 (en) Provisioning and managing replicated data instances
US20210092126A1 (en) Managing security groups for data instances
US11176008B2 (en) Automatic configuration of a recovery service
US10977226B2 (en) Self-service configuration for data environment
JP5628894B2 (ja) 関係データ管理のための制御サービス
JP6182265B2 (ja) コンピューティングセッションの管理
US11252157B1 (en) Permission management for electronic resources
US11588801B1 (en) Application-centric validation for electronic resources
Wright et al. Virtualizing Desktops and Apps with Windows Server 2012 R2 Inside Out

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131022

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: 20131119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131219

R150 Certificate of patent or registration of utility model

Ref document number: 5443613

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