# US 2018/0322149 A1 · Automated configuration of log-coordinated storage groups

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0322149 A1
- Document ID: US20180322149A1
- Status: Published application
- Kind: A1
- Application number: 16/035,425
- Filed: 2018-07-13
- Published: 2018-11-08
- Earliest claimed: 2014-09-19
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Allan Henry Vermeulen; Omer Ahmed Zaki; Upendra Bhalchandra Shevade; Gregory Rustin Rogers
- Web page: https://patentgrep.com/patent/US20180322149A1

## CPC

- G06F 16/21: Design, administration or maintenance of databases
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A configuration manager of a storage service receives a set of service requirements, comprising one or more of: a performance requirement for one or more types of storage operations, or an access interface type requirement Based on the service requirements, a candidate storage configuration that includes one or more data store instances and a first log-based transaction manager is generated. Subsequent to an approval of the first storage configuration by a client, the establishment of the data store instances and the log-based transaction manager is initiated.

## Claims

### Claim at position 1

-21. (canceled)

### Claim 22

A system, comprising:
one or more computing devices to:
receive configuration data from a client to create a log-coordinated storage group (LCSG) in a provider network, the configuration data indicating a plurality of data stores as members of the LCSG, wherein the LCSG is to determine whether requested transactions are accepted based at least in part on contents of a transaction log and propagate accepted transactions from the transaction log to at least some of the data stores;
create the LCSG in the provider network according to the configuration data; and
provide access metadata for the LCSG to the client.

### Claim 23 (depends on 22)

The system of claim 22, further comprising a configuration designer to:
determine a plurality of service requirements of the client for the LCSG, wherein the plurality of service requirements include one or more of: (a) a performance requirement for one or more types of storage operations to be performed at a storage group, (b) an availability requirement, (c) a data durability requirement, or (d) an access interface requirement;
provide, to the client, an indication of one or more candidate storage group configurations that can meet at least a subset of the plurality of requirements; and
receive an indication of approval by the client of one of the candidate storage configurations;
wherein the LCSG is created using the one candidate storage configuration.

### Claim 24 (depends on 22)

The system of claim 22, wherein the configuration data indicates, in the plurality of data stores, at least two data stores of different data store types selected from: a relational database, a non-relational database, an unstructured data store, a storage service, an in-memory cache, or a distributed cache.

### Claim 25

The system of 22, wherein:
the configuration data specifies a write applier to propagate data from the transaction log to one of the data stores; and
to create the LCSG, the one or more computing devices is to launch an instance of the write applier in the provider network.

### Claim 26

The system of 22, wherein:
the configuration data specifies a write transformer to transform data from one of the data stores and write the transformed data to another one of the data stores; and
to create the LCSG, the one or more computing devices is to launch an instance of the write transformer in the provider network.

### Claim 27

The system of 26, wherein:
to create the LCSG, the one or more computing devices is to register the instance of the write transformer as a listener to be notified when a write is applied to the one data store.

### Claim 28

The system of 26, wherein:
the configuration data specifies, for the write transformer, one or more time-based trigger conditions to invoke the write transformer.

### Claim 29

The system of 26, wherein:
the configuration data specifies computer-readable code that extends functionality of the write transformer.

### Claim 30

The system of 22, wherein the one or more computing devices to:
receive further configuration data to add or remove a data store as a member of the LCSG; and
modify the LCSG to add or remove the data store according to the further configuration data.

### Claim 31

A computer-implemented method, comprising:
receiving configuration data from a client to create a log-coordinated storage group (LCSG) in a provider network, the configuration data indicating a plurality of data stores as members of the LCSG, wherein the LCSG is to determine whether requested transactions are accepted based at least in part on contents of a transaction log and propagate accepted transactions from the transaction log to at least some of the data stores;
creating the LCSG in the provider network according to the configuration data; and
providing access metadata for the LCSG to the client.

### Claim 32 (depends on 31)

The method of claim 31, wherein the configuration data indicates, in the plurality of data stores, at least two data stores of different data store types selected from: a relational database, a non-relational database, an unstructured data store, a storage service, an in-memory cache, or a distributed cache.

### Claim 33

The method of 31, wherein:
the configuration data specifies a write applier to propagate data from the transaction log to one of the data stores; and
creating the LCSG comprises launching an instance of the write applier in the provider network.

### Claim 34

The method of 31, wherein:
the configuration data specifies a write transformer to transform data from one of the data stores and write the transformed data to another one of the data stores; and
creating the LCSG comprises launching an instance of the write transformer in the provider network.

### Claim 35

The method of 34, wherein:
creating the LCSG comprises registering the instance of the write transformer as a listener to be notified when a write is applied to the one data store.

### Claim 36

The method of 31, wherein the one or more computing devices to:
receiving further configuration data to add or remove a data store as a member of the LCSG; and
modify the LCSG to add or remove the data store according to the further configuration data.

### Claim 37

A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors cause the one or more processors to:
receive configuration data from a client to create a log-coordinated storage group (LCSG) in a provider network, the configuration data indicating a plurality of data stores as members of the LCSG, wherein the LCSG is to determine whether requested transactions are accepted based at least in part on contents of a transaction log and propagate accepted transactions from the transaction log to at least some of the data stores;
cause the LCSG to be created in the provider network according to the configuration data; and
provide access metadata for the LCSG to the client.

### Claim 38 (depends on 37)

The non-transitory computer-accessible storage medium of claim 37, wherein the program instructions when executed on the one or more processors cause the one or more processors to:
determine a plurality of service requirements of the client for the LCSG, wherein the plurality of service requirements include one or more of: (a) a performance requirement for one or more types of storage operations to be performed at a storage group, (b) an availability requirement, (c) a data durability requirement, or (d) an access interface requirement;
provide, to the client, an indication of one or more candidate storage group configurations that can meet at least a subset of the plurality of requirements; and
receive an indication of approval by the client of one of the candidate storage configurations;
wherein the LCSG is created using the one candidate storage configuration.

### Claim 39 (depends on 37)

The non-transitory computer-accessible storage medium of claim 37, wherein to cause the LCSG to be created, the program instructions when executed on the one or more processors cause the one or more processors to:
create two or more data stores of different data store types selected from: a relational database, a non-relational database, an unstructured data store, a storage service, an in-memory cache, or a distributed cache.

### Claim 40 (depends on 37)

The non-transitory computer-accessible storage medium of claim 37, wherein:
the configuration data specifies a write applier to propagate data from the transaction log to one of the data stores; and
to create the LCSG, the program instructions when executed on the one or more processors cause the one or more processors to launch an instance of the write applier in the provider network.

### Claim 41 (depends on 37)

The non-transitory computer-accessible storage medium of claim 37, wherein:
the configuration data specifies a write transformer to transform data from one of the data stores and write the transformed data to another one of the data stores; and
to create the LCSG, the program instructions when executed on the one or more processors cause the one or more processors to launch an instance of the write transformer in the provider network.
