Local emulation of distributed key-value data store
First Claim
Patent Images
1. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices at least to:
- process one or more invocations of an application programming interface, the one or more invocations based at least in part on a first schema, wherein a first collection of items maintained on a distributed data store conforms to the first schema, the one or more invocations corresponding to one or more requests to read or write items of a second collection of items maintained on one or more computing devices remote to the distributed data store, the second collection of items conforming to a second schema, wherein processing the one or more invocations is based at least in part on mapping between the first schema and the second schema; and
emulate at least one behavior of the distributed data store by performing at least one of;
returning a version of an item of the second collection, the version of the item corresponding to a state of the item prior to processing the one or more invocations of the application programming interface;
determining to deny at least one of the requests to read or write items of the second collection of items, the determining based at least in part on throughput consumed by previously processed requests exceeding a threshold level, the threshold level based at least in part on a maximum throughput level permitted on the distributed data store;
orsimulating latency based at least in part on a horizontal partitioning of the distributed data store.
1 Assignment
0 Petitions
Accused Products
Abstract
A local data store may also be configured to process updates using a common API with reference to a common schema. The common API and common schema may also be employed by hosted applications utilizing a remote distributed data store. Behavior of the remote distributed data store may be emulated by the local data store. Behaviors of the distributed data store that may be simulated include eventual consistency, provisioned throughput and latency based on horizontal partitioning.
35 Citations
20 Claims
-
1. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices at least to:
-
process one or more invocations of an application programming interface, the one or more invocations based at least in part on a first schema, wherein a first collection of items maintained on a distributed data store conforms to the first schema, the one or more invocations corresponding to one or more requests to read or write items of a second collection of items maintained on one or more computing devices remote to the distributed data store, the second collection of items conforming to a second schema, wherein processing the one or more invocations is based at least in part on mapping between the first schema and the second schema; and emulate at least one behavior of the distributed data store by performing at least one of; returning a version of an item of the second collection, the version of the item corresponding to a state of the item prior to processing the one or more invocations of the application programming interface; determining to deny at least one of the requests to read or write items of the second collection of items, the determining based at least in part on throughput consumed by previously processed requests exceeding a threshold level, the threshold level based at least in part on a maximum throughput level permitted on the distributed data store;
orsimulating latency based at least in part on a horizontal partitioning of the distributed data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
processing one or more invocations of an application programming interface, the one or more invocations based at least in part on a first schema, wherein a first collection of items maintained on a distributed data store conforms to the first schema, the one or more invocations corresponding to one or more requests to read or write items of a second collection of items maintained on one or more computing devices remote to the distributed data store, the second collection of items conforming to a second schema; and emulating at least one behavior of the distributed data store by performing at least one of; returning a version of an item of the second collection, the version of the item corresponding to a state of the item prior to processing the one or more invocations of the application programming interface; determining to deny at least one of the requests to read or write items of the second collection of items, the determining based at least in part on throughput consumed by previously processed requests exceeding a threshold level, the threshold level based at least in part on a maximum throughput level permitted on the distributed data store;
orsimulating a first latency based at least in part on a horizontal partitioning of the distributed data store. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
one or more computing nodes remote to a distributed data store maintaining a first collection of items conforming to a first schema, the one or more computing nodes maintaining a second collection of items conforming to a second schema; a first one or more computing nodes configured at least to; process one or more invocations of an application programming interface, the one or more invocations based at least in part on the first schema, the one or more invocations corresponding to one or more requests to read or write items of the second collection of items, wherein processing the one or more invocations is based at least in part on mapping between the first schema and the second schema; and emulate at least one behavior of the distributed data store by performing at least one of; returning a version of an item of the second collection, the version of the item corresponding to a state of the item prior to processing the one or more invocations of the application programming interface; determining to deny at least one of the requests to read or write items of the second collection of items, the determining based at least in part on throughput consumed by previously processed requests exceeding a threshold level, the threshold level based at least in part on a maximum throughput level permitted on the distributed data store;
orsimulating a first latency based at least in part on a horizontal partitioning of the distributed data store. - View Dependent Claims (17, 18, 19, 20)
-
Specification