Composing objects in hosted storage
First Claim
1. A method for composing an object stored in a hosted storage system that includes a namespace that contains object identifiers for objects stored in the hosted storage system, the method comprising:
- storing, at the hosted storage system, a first object, the first object including a first data component, wherein a first object identifier in the namespace uniquely identifies the first object in the hosted storage system and enables the first object to be retrieved by a client system over a network;
storing, at the hosted storage system, a second object, the second object including a second data component, wherein a second object identifier in the namespace uniquely identifies the second object in the hosted storage system and enables the second object to be retrieved by a client system over a network;
receiving, at the hosted storage system, a compose object request sent by a client system over a network to the hosted storage system, the compose object request comprises i) a first field for identifying one object to be composed, wherein the first field contains the first object identifier, ii) a second field for identifying another object to be composed, wherein the second field contains the second object identifier, and iii) a third field for identifying the resulting composite object, wherein the third field also contains the first object identifier;
in response to receiving the compose object request, determining i) that the first field contains the first object identifier and ii) that the third field also contains the first object identifier; and
in response to determining i) that the first field contains the first object identifier and ii) that the third field also contains the first object identifier;
creating, in the hosted storage system, a third object that includes the first data component and the second data component without duplicating the first data component and the second data component in the hosted storage system by appending the second data component to the end of the first data component; and
associating, in the hosted storage system, the first object identifier with the third object such that the first object identifier no longer enables the first object to be retrieved by a client system over a network and instead the first object identifier uniquely identifies the third object in the hosted storage system and enables the third object to be retrieved by a client system over a network.
2 Assignments
0 Petitions
Accused Products
Abstract
A hosted storage system includes a namespace that contains object identifiers. A first object containing a first data component is stored. A first object identifier in the namespace uniquely identifies the first object. A second object containing a second data component is stored. A second object identifier in the namespace uniquely identifies the second object. A compose object request that designating the first object identifier, the second object identifier, and a third object identifier in the namespace is received. A third object that includes the first data component and the second data component without duplicating the first data component and the second data component is created. The third object identifier is associated with the third object such that the third object identifier uniquely identifies the third object.
10 Citations
27 Claims
-
1. A method for composing an object stored in a hosted storage system that includes a namespace that contains object identifiers for objects stored in the hosted storage system, the method comprising:
-
storing, at the hosted storage system, a first object, the first object including a first data component, wherein a first object identifier in the namespace uniquely identifies the first object in the hosted storage system and enables the first object to be retrieved by a client system over a network; storing, at the hosted storage system, a second object, the second object including a second data component, wherein a second object identifier in the namespace uniquely identifies the second object in the hosted storage system and enables the second object to be retrieved by a client system over a network; receiving, at the hosted storage system, a compose object request sent by a client system over a network to the hosted storage system, the compose object request comprises i) a first field for identifying one object to be composed, wherein the first field contains the first object identifier, ii) a second field for identifying another object to be composed, wherein the second field contains the second object identifier, and iii) a third field for identifying the resulting composite object, wherein the third field also contains the first object identifier; in response to receiving the compose object request, determining i) that the first field contains the first object identifier and ii) that the third field also contains the first object identifier; and in response to determining i) that the first field contains the first object identifier and ii) that the third field also contains the first object identifier; creating, in the hosted storage system, a third object that includes the first data component and the second data component without duplicating the first data component and the second data component in the hosted storage system by appending the second data component to the end of the first data component; and associating, in the hosted storage system, the first object identifier with the third object such that the first object identifier no longer enables the first object to be retrieved by a client system over a network and instead the first object identifier uniquely identifies the third object in the hosted storage system and enables the third object to be retrieved by a client system over a network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer storage medium storing a computer program, the program comprising instructions that, when executed by one or more processing devices, cause the one or more processing devices to perform a process for composing an object stored in a hosted storage system that includes a namespace that contains object identifiers for objects stored in the hosted storage system, the process comprising:
-
storing, at the hosted storage system, a first object, the first object including a first data component, wherein a first object identifier in the namespace uniquely identifies the first object in the hosted storage system and enables the first object to be retrieved by a client system over a network; storing, at the hosted storage system, a second object, the second object including a second data component, wherein a second object identifier in the namespace uniquely identifies the second object in the hosted storage system and enables the second object to be retrieved by a client system over a network; receiving, at the hosted storage system, a compose object request sent by a client system over a network to the hosted storage system, the compose object request comprises i) a first field for identifying one object to be composed, wherein the first field contains the first object identifier, ii) a second field for identifying another object to be composed, wherein the second field contains the second object identifier, and iii) a third field for identifying the resulting composite object, wherein the third field also contains the first object identifier; in response to receiving the compose object request, determining i) that the first field contains the first object identifier and ii) that the third field also contains the first object identifier; and in response to determining i) that the first field contains the first object identifier and ii) that the third field also contains the first object identifier; creating, in the hosted storage system, a third object that includes the first data component and the second data component without duplicating the first data component and the second data component in the hosted storage system by appending the second data component to the end of the first data component; and associating, in the hosted storage system, the first object identifier with the third object such that the first object identifier no longer enables the first object to be retrieved by a client system over a network and instead the first object identifier uniquely identifies the third object in the hosted storage system and enables the third object to be retrieved by a client system over a network. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system comprising:
-
a hosted storage system comprising a processor and computer memory and configured to; store a first object, the first object including a first data component, wherein a first object identifier in the namespace uniquely identifies the first object in the hosted storage system and enables the first object to be retrieved by a client system over a network; store a second object, the second object including a second data component, wherein a second object identifier in the namespace uniquely identifies the second object in the hosted storage system and enables the second object to be retrieved by a client system over a network receiving, at the hosted storage system, a compose object request sent by a client system over a network to the hosted storage system, the compose object request comprises i) a first field for identifying one object to be composed, wherein the first field contains the first object identifier, ii) a second field for identifying another object to be composed, wherein the second field contains the second object identifier, and iii) a third field for identifying the resulting composite object, wherein the third field also contains the first object identifier; in response to receiving the compose object request, determining i) that the first field contains the first object identifier and ii) that the third field also contains the first object identifier; and in response to determining i) that the first field contains the first object identifier and ii) that the third field also contains the first object identifier; creating, in the hosted storage system, a third object that includes the first data component and the second data component without duplicating the first data component and the second data component in the hosted storage system by appending the second data component to the end of the first data component; and associate the first object identifier with the third object such that the first object identifier no longer enables the first object to be retrieved by a client system over a network and instead the first object identifier uniquely identifies the third object in the hosted storage system and enables the third object to be retrieved by a client system over a network; and the client system comprising a processor and computer memory and configured to; send, to the hosted storage system, the compose object request. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification