IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0491371
(2014-09-19)
|
등록번호 |
US-10025802
(2018-07-17)
|
발명자
/ 주소 |
- Vermeulen, Allan Henry
- Zaki, Omer Ahmed
- Shevade, Upendra Bhalchandra
- Rogers, Gregory Rustin
|
출원인 / 주소 |
- Amazon Technologies, Inc.
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
12 |
초록
▼
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 inc
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.
대표청구항
▼
1. A system, comprising: a configuration designer of a heterogeneous storage service, implemented by one or more processors with associated memory, anda deployment coordinator implemented by one or more processors with associated memory,wherein the configuration designer is configured to: determine
1. A system, comprising: a configuration designer of a heterogeneous storage service, implemented by one or more processors with associated memory, anda deployment coordinator implemented by one or more processors with associated memory,wherein the configuration designer is configured to: determine a plurality of service requirements of a client of the heterogeneous storage service via a programmatic interface, wherein the plurality of service requirements comprise 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, wherein the one or more candidate storage group configurations include a first storage group configuration comprising a plurality of data store instances and a first log-based transaction manager, wherein the first log-based transaction manager is configured to accept write requests for commit based at least in part on an analysis of a write record log indicating previously-committed writes, and wherein the plurality of data store instances includes a first data store instance implementing a first access interface and a second data store instance implementing a different access interface;and wherein, in response to an indication of an approval by the client of the first storage group configuration, the deployment coordinator is configured to: instantiate the plurality of data store instances and at least the first log-based transaction manager according to the first storage group configuration approved by the client, wherein the instantiation comprises acquiring storage space for the data store instances and the log-based transaction manager; anddetermine access metadata enabling the client to submit requests for a particular type of storage operation of the one or more types of storage operations to the storage group. 2. The system as recited in claim 1, wherein the plurality of data store instances comprise at least a particular instance of a type of data store that supports pluggable storage engines, and wherein a particular pluggable storage engine configured for the particular instance submits write requests to the first log-based transaction manager. 3. The system as recited in claim 2, wherein the first log-based transaction manager implements a programmatic read interface for the write record log, and wherein the particular pluggable storage engine configured for the particular instance utilizes the programmatic read interface to respond to read requests directed from an application to the particular instance. 4. The system as recited in claim 1, wherein the configuration designer is further comprising: providing, to the client, an indication of an extent to which the first storage group configuration is projected to meet at least a particular requirement of the set of service requirements. 5. The system as recited in claim 1, wherein to generate the one or more candidate storage group configurations, the configuration designer is configured to assign relative priorities to individual ones of the service requirements, so that the subset of the plurality of service requirements satisfied by the candidate storage group configuration have higher priorities than any unsatisfied service requirements in the plurality of service requirements. 6. A method, comprising, determining, at a configuration manager of a storage service, a set of service requirements associated with a client, wherein the set comprises one or more of: (a) a performance requirement for one or more types of storage operations, or (b) an access interface type requirement,providing, to the client by the configuration manager, an indication of one or more candidate storage configurations that can meet at least one or more requirements of the set, wherein the one or more candidate storage configurations include a first storage configuration comprising one or more data store instances and at least a first log-based transaction manager, wherein the first log-based transaction manager is configured to accept write requests for commit based at least in part on an analysis of a write record log indicating previously-committed writes; andsubsequent to an approval by the client of the first storage configuration, instantiating the one or more data store instances and the first log-based transaction manager according to the first storage configuration approved by the client, wherein the instantiation comprises acquiring storage space for the data store instances and the log-based transaction manager. 7. The method as recited in claim 6, wherein the one or more data store instances comprise at least a particular instance of a type of data store that supports pluggable storage engines, and wherein a particular pluggable storage engine configured for the particular instance submits write requests to the first log-based transaction manager. 8. The method as recited in claim 7, wherein the first log-based transaction manager implements a programmatic read interface for the write record log, and wherein a particular pluggable storage engine configured for the particular instance utilizes the programmatic read interface to respond to read requests from an application. 9. The method as recited in claim 6, wherein the set of service requirements comprises one or more of: (a) an availability requirement, (b) a data consistency requirement, (c) a data durability requirement or (d) a budget requirement. 10. The method as recited in claim 6, further comprising: providing, to the client, an indication of an extent to which the first storage configuration is expected to meet at least a particular requirement of the set of service requirements. 11. The method as recited in claim 6, further comprising assigning relative priorities to individual ones of the set of service requirements, so that the one or more candidate storage group configurations are generated to satisfy higher priority requirements in the set before lower priority requirements in the set. 12. The method as recited in claim 6, wherein the set of service requirements includes an indication of at least one type of storage lifecycle transition to be performed on data objects that meet a specified lifetime criterion. 13. The method as recited in claim 6, wherein the one or more instances comprise a plurality of data store instances including a first data store instance and a second data store instance, further comprising: instantiating at least one write applier configured to propagate writes from the write record log to the first data store instance; andinstantiating at least one write transformer configured to store, within the second data store, a representation of an object written to the first data store instance. 14. The method as recited in claim 6, wherein the write record log comprises a plurality of nodes of a replication graph, including a first node instantiated at a first data center and a second node instantiated at a second data center. 15. The method as recited in claim 6, wherein the first log-based transaction manager is configured to accept a write for commit based at least in part on contents of a read descriptor indicating data objects on which the write depends. 16. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implements a configuration manager of a storage service, wherein the configuration manager is configured to: determine a set of service requirements associated with a client, comprising one or more of: a performance requirement for one or more types of storage operations, or an access interface type requirement;generate, based at least in part on an analysis of the set of service requirements, one or more candidate storage configurations, including a first storage configuration comprising one or more data store instances and at least a first log-based transaction manager, wherein the first log-based transaction manager is configured to accept write requests for commit based at least in part on an analysis of a write record log indicating previously-committed writes; andsubsequent to an approval by the client of the first storage configuration, initiate an establishment of the one or more data store instances and the first log-based transaction manager according to the first storage configuration approved by the client, wherein the establishment comprises acquiring storage space for the data store instances and the log-based transaction manager. 17. The non-transitory computer-accessible storage medium as recited in claim 16, wherein the one or more data store instances comprise at least a particular instance of a type of data store that supports pluggable storage engines, and wherein a particular pluggable storage engine configured for the particular instance submits write requests to the first log-based transaction manager. 18. The non-transitory computer-accessible storage medium as recited in claim 17, wherein the first log-based transaction manager implements a programmatic read interface for the write record log, and wherein a particular pluggable storage engine configured for the particular instance utilizes the programmatic read interface to respond to read requests from an application. 19. The non-transitory computer-accessible storage medium as recited in claim 16, wherein the set of service requirements comprises one or more of: (a) an availability requirement, (b) a data consistency requirement, (c) a data durability requirement or (d) a budget requirement. 20. The non-transitory computer-accessible storage medium as recited in claim 16, wherein to initiate the establishment of the one or more data store instances and the first log-based transaction manager, the program instructions when executed on the one or more processors cause the configuration manager to: determine access metadata for one of the data store instances including one or more of an internet protocol (IP) address of the data store instance, a port number used by the data store instance, or a login credential recognized by the data store instance; andprovide the access metadata to the client. 21. The non-transitory computer-accessible storage medium as recited in claim 16, wherein the set of service requirements is indicated in a request received via a programmatic interface of the storage service, wherein the programmatic interface comprises one or more of: (a) an application programming interface (API), (b) a web-based console, (c) a graphical user interface, (d) a menu of pre-defined service levels, or (e) a command-line tool.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.