Data migration in a distributed file system
US-12135695-B2 · Nov 5, 2024 · US
US9317523B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9317523-B2 |
| Application number | US-201313777632-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 26, 2013 |
| Priority date | Feb 26, 2013 |
| Publication date | Apr 19, 2016 |
| Grant date | Apr 19, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. The method of claim 1 wherein creating the third object without duplicating the first data component and the second data component in the hosted storage system includes generating metadata that includes a first reference to the first data component and a second reference to the second data component. 3. The method of claim 2 wherein: the compose request designates an order for the first data object and the second data object in the third object; and the metadata designates an order for the first reference and the second reference that coincides with the order designated in the compose request. 4. The method of claim 1 comprising maintaining storage of the first object and the second object after creating the third object. 5. The method of claim 4 comprising: storing, at the hosted storage system, a fourth object, the fourth object including a fourth data component, wherein a fourth object identifier in the namespace uniquely identifies the fourth object in the hosted storage system and enables the fourth object to be retrieved by a client system over a network; and after creating the third object: receiving, at the hosted storage system, an additional compose object request sent by a client system over a network to the hosted storage system, the compose object request designating the first object identifier, the fourth object identifier, and a fifth object identifier in the namespace; in response to receiving the additional compose object request, creating, in the hosted storage system, a fifth object that includes the first data component and the fourth data component; and associating, in the hosted storage system, the fifth object identifier with the fifth object such that the fifth object identifier uniquely identifies the fifth object in the hosted storage system and enables the fifth object to be retrieved by a client system over a network. 6. The method of claim 4 comprising: storing, at the hosted storage system, a fourth object, the fourth object including a fourth data component, wherein a fourth object identifier in the namespace uniquely identifies the fourth object in the hosted storage system and enables the fourth object to be retrieved by a client system over a network; and after creating the third object: receiving, at the hosted storage system, an additional compose object request sent by a client system over a network to the hosted storage system, the compose object request designating the third object identifier, the fourth object identifier, and a fifth object identifier in the namespace; in response to receiving the additional compose object request, creating, in the hosted storage system, a fifth object that includes the first data component, the second data component, and the fourth data component; and associating, in the hosted storage system, the fifth object identifier with the fifth object such that the fifth object identifier uniquely identifies the fifth object in the hosted storage system and enables the fifth object to be retrieved by a client system over a network. 7. The method of claim 1 wherein the first object is associated with a first checksum generated using a composable function and the second object is associated with a second checksum generated using the composable function, the method comprising: generating a third checksum for the third object based on the first checksum and the second checksum; and associating the third checksum with the third object. 8. The method of claim 1 wherein the third object identifier is the same as a fourth object identifier for a fourth object, the fourth object being stored in the hosted storage system before the third object is created, the method comprising overwriting the fourth object with the third object. 9. The method of claim 1 , wherein the first object is a “year to date” log and the second data object is a daily log. 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, wh
Distributed file systems · CPC title
Support for shared access to files; File sharing support · CPC title
Protecting access to data via a platform, e.g. using keys or access control rules · CPC title
Entity profiles · CPC title
to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.