IP Library Granted Patent US 9,513,833
Granted Patent B2
US 9,513,833 · App. 14/494,360 · Granted Dec 6, 2016

Asynchronous processing of mapping information

Inventors: Steven Michael Hershey (Seattle, WA); Seth William Markle (Seattle, WA); Anup Talwalkar (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F3/0638G06F3/0604G06F3/067
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,513,833
App. No.
14/494,360
Granted
Dec 6, 2016
Kind
B2
Abstract

Functionality is disclosed herein for providing an asynchronous processing service for processing storage mapping information. The asynchronous processing service is configured to receive a storage request including identification of a storage object and a description of a storage operation, perform the storage operation for the storage object in response to receiving the storage request, and asynchronously update mapping information for the performed storage operation.

Claims (43)

1. A computer-implemented method of asynchronously processing mapping information for storage objects stored in persistent storage, the method comprising:

receiving a storage request including identification of a storage object and a description of a storage operation, the storage operation being an operation to be performed for the storage object;

performing the storage operation for the storage object in response to receiving the storage request;

generating a unique identification information describing the storage object and information describing the performed storage operation;

queuing the unique identification information and the information describing the performed storage operation in an asynchronous processing queue;

dequeuing the unique identification information and the information describing the performed storage operation asynchronously as compared to the performing the storage operation; and

updating the mapping information with the dequeued unique identification information and the information describing the performed storage operation.

2. The computer-implemented method of claim 1 , wherein performing the storage operation comprises:

storing the storage object in a persistent storage in a synchronous manner upon receipt of the storage request, and wherein the persistent storage is a bucket-based storage system in which the storage object is grouped into an associated storage bucket.

3. The computer-implemented method of claim 2 , wherein generating the unique identification information comprises:

determining locator information describing a location of the storage object in the persistent storage.

4. The computer-implemented method of claim 1 , wherein the asynchronous processing queue is a data structure having a first-in-first-out ordering of queued information.

5. The computer-implemented method of claim 1 , wherein the mapping information comprises a dynamic data structure having stored therein a sorted ordering of unique keys and locator values corresponding to storage objects stored in the persistent storage.

6. An apparatus for asynchronously processing mapping information in a keymap for storage objects stored in persistent storage, the apparatus configured to:

receive unique identification information describing a storage object and information describing a storage operation to be performed for the storage object;

queue the unique identification information and the information describing the storage operation in an asynchronous processing queue;

asynchronously dequeue the unique identification information and the information describing the storage operation; and

request an update of the keymap in response to the asynchronous dequeuing.

7. The apparatus of claim 6 , wherein the apparatus is further configured to:

determine that a threshold rate of storage requests has been met or exceeded; and

in response to determining that the threshold rate of storage requests has been met or exceeded, queue the unique identification information and the information describing the storage operation in the asynchronous processing queue.

8. The apparatus of claim 6 , wherein the asynchronous processing queue comprises a first-in-first-out queue functioning independent of the storage operation performed for the storage object.

9. The apparatus of claim 6 , wherein the keymap comprises a sorted ordering of unique keys and locator values corresponding to storage objects stored in the service provider network.

10. The apparatus of claim 6 , wherein the apparatus is further configured to

receive a storage request describing the storage object and the storage operation; and

perform the storage operation for the storage object in response to receiving the storage request.

11. The apparatus of claim 10 , wherein the apparatus is further configured to store the storage object in the persistent storage in a synchronous manner upon receipt of the storage request, and wherein the persistent storage is a bucket-based storage system.

12. The apparatus of claim 10 , wherein the apparatus is further configured to generate the unique identification information in response to performing the storage operation.

13. The apparatus of claim 10 , wherein asynchronously dequeuing the unique identification information and the information describing the storage operation comprises dequeuing the unique identification information and the information describing the storage operation independent from performing the storage operation for the storage object.

14. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:

receive a storage request including identification of a storage object and a description of a storage operation;

perform the storage operation for the storage object in response to receiving the storage request;

generate unique identification information describing the storage object and information describing the performed storage operation;

queue the unique identification information and the information describing the performed storage operation in an asynchronous processing queue;

dequeue the unique identification information and the information describing the performed storage operation; and

asynchronously update mapping information for the performed storage operation with the unique identification information and the information describing the performed storage operation.

15. The non-transitory computer-readable storage medium of claim 14 , wherein asynchronously updating the mapping information comprises resorting mapping information for a bucket-based storage system independent from performing the storage operation.

16. The non-transitory computer-readable storage medium of claim 14 , wherein asynchronously updating the mapping information comprises dequeuing the unique identification information describing the storage object independent from performing the storage operation.

17. The non-transitory computer-readable storage medium of claim 14 , wherein the storage request further includes priority information related to processing of the mapping information.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the information describing the storage object and the information describing the storage operation are asynchronously dequeued.

19. The non-transitory computer-readable storage medium of claim 14 , wherein performing the storage operation comprises:

storing the storage object in a persistent storage upon receipt of the storage request, wherein the persistent storage is a bucket-based storage system in which the storage object is grouped into an associated storage bucket.

20. The non-transitory computer-readable storage medium of claim 14 , further comprising computer-executable instructions which, when executed by the computer, cause the computer to send notification of successful updating of the mapping information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: HERSHEY, STEVEN MICHAEL; MARKLE, SETH WILLIAM; TALWALKAR, ANUP
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 034171/0147 →
Continuity (1)
Related Publication 20160085473A1 · Mar 24, 2016