Resumable upload for hosted storage systems
First Claim
Patent Images
1. A method comprising:
- receiving, at a hosted storage system, an initial portion of an object;
storing, at the hosted storage system, the initial portion of the object;
after receiving the initial portion of the object, starting a timer;
prior to the expiration of the timer;
receiving an additional portion of the object at the hosted storage system, wherein the additional portion of the object does not complete the object;
determining that the additional portion of the object was received at the hosted storage system; and
in response to determining that the additional portion of the object was received at the hosted storage system, resetting the timer;
after resetting the timer and upon expiration of the reset timer;
determining that a second, additional portion of the object was not received at the hosted storage system; and
in response to determining that the second, additional portion of the object was not received at the hosted storage system, deleting the initial portion of the object and the additional portion of the object.
2 Assignments
0 Petitions
Accused Products
Abstract
An initial portion of an object is received at a hosted storage system. The initial portion of the object is stored at the hosted storage system. After receiving the initial portion of the object, a timer is started. Prior to the expiration of the timer, whether an additional portion of the object is received at the hosted storage system is determined. The initial portion is deleted upon the expiration of the timer if the additional portion is not received. The timer is reset if the additional portion is received.
-
Citations
26 Claims
-
1. A method comprising:
-
receiving, at a hosted storage system, an initial portion of an object; storing, at the hosted storage system, the initial portion of the object; after receiving the initial portion of the object, starting a timer; prior to the expiration of the timer; receiving an additional portion of the object at the hosted storage system, wherein the additional portion of the object does not complete the object; determining that the additional portion of the object was received at the hosted storage system; and in response to determining that the additional portion of the object was received at the hosted storage system, resetting the timer; after resetting the timer and upon expiration of the reset timer; determining that a second, additional portion of the object was not received at the hosted storage system; and in response to determining that the second, additional portion of the object was not received at the hosted storage system, deleting the initial portion of the object and the additional portion of the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A hosted storage system comprising:
-
a service interface configured to receive an initial portion of an object; at least one data store configured to store the initial portion of the object; a garbage collector configured to; start a timer after the initial portion of the object is received; prior to the expiration of the timer, determine that an additional portion of the object was received at the hosted storage system, wherein the additional portion of the object did not complete the object; and in response to determining that the additional portion of the object was received at the hosted storage system, reset the timer; after resetting, the timer and upon expiration of the reset timer; determine that a second, additional portion of the object was not received at the hosted storage system; and in response to determining that the second, additional portion of the object was not received at the hosted storage system, delete the initial portion of the object and the additional portion of the object. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium storing instructions, which, when executed by one or more processing devices, causes the one or more processing devices to perform the operations of:
-
receiving, at a hosted storage system, an initial portion of an object; storing, at the hosted storage system, the initial portion of the object; after receiving the initial portion of the object, starting a timer; prior to the expiration of the timer; receiving an additional portion of the object at the hosted storage system, wherein the additional portion of the object does not complete the object; determining that the additional portion of the object was received at the hosted storage system; and in response to determining that the additional portion of the object was received at the hosted storage system, resetting the timer; after resetting the timer and upon expiration of the reset timer; determining that a second, additional portion of the object was not received at the hosted storage system; and in response to determining that the second, additional portion of the object was not received at the hosted storage system, deleting the initial portion of the object and the additional portion of the object. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A method comprising:
-
receiving, at a hosted storage system and from a client system, an initial upload request for an object, wherein the initial upload request is an HTTP request; in response to receiving the initial upload request, sending an object identifier from the hosted storage system to the client system; receiving, at the hosted storage system and from the client system, a revised upload request, the revised upload request including the object identifier and the object, wherein the revised upload request is an HTTP request and is interrupted such that only an initial portion of the object is received by the hosted storage system; after receiving the initial portion of the object, starting a timer; prior to the expiration of the timer; receiving, at the hosted storage system and from the client system, a resumed upload request, wherein the resumed upload request is an HTTP request and includes the object identifier, and wherein the resumed upload request is sent from the client system because the revised upload request was interrupted; in response to receiving the resumed upload request, determining, based on the object identifier, a range of bytes that correspond to the initial portion of the object; sending, from the hosted storage system and to the client system, the range of bytes; receiving, at the hosted storage system and from the client system, an additional portion of the object starting after the range of bytes; prior to the expiration of the timer; determining that the received, additional portion of the object does not complete the object; and in response to determining that the received, additional portion of the object does not complete the object, resetting the timer; after resetting the timer and upon expiration of the reset timer; determining that a second, additional portion of the object was not received at the hosted storage system; and in response to determining that the second, additional portion of the object was not received at the hosted storage system, deleting the initial portion of the object and the additional portion of the object.
-
-
26. A method comprising:
-
receiving, at a hosted storage system, an initial portion of an object; storing, at the hosted storage system, the initial portion of the object; after receiving the initial portion of the object, starting a timer; prior to the expiration of the timer; receiving a first, additional portion of the object at the hosted storage system, wherein the first, additional portion of the object does not complete object; determining that the first, additional portion of the object was received at the hosted storage system; and in response to determining that the first, additional portion of the object was received at the hosted storage system, resetting the timer; after resetting the timer but prior to a second expiration of the timer; receiving a second, additional portion of the object at the hosted storage system, wherein the second, additional portion of the object does not complete object; and determining that the second, additional portion of the object was received at the hosted storage system; and in response to determining that the second, additional portion of the object was received at the hosted storage system, resetting the timer a second time; after resetting the timer the second time and upon expiration of the reset timer; determining that a third, additional portion of the object was not received at the hosted storage system; and in response to determining that the third, additional portion of the object was not received at the hosted storage system, deleting the initial portion of the object, the additional portion of the object, and the second additional portion of the object.
-
Specification