Composing objects in hosted storage

US9317523B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317523-B2
Application numberUS-201313777632-A
CountryUS
Kind codeB2
Filing dateFeb 26, 2013
Priority dateFeb 26, 2013
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F16/182Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9317523B2 cover?
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 de…
Who is the assignee on this patent?
Google Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/182. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).