Manipulating objects in hosted storage

US9762670B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9762670-B1
Application numberUS-201414543737-A
CountryUS
Kind codeB1
Filing dateNov 17, 2014
Priority dateJan 29, 2010
Publication dateSep 12, 2017
Grant dateSep 12, 2017

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.

In aspect an application may be configured to issue a request to store an object, with the request including an object reference. A delegate may be configured to receive the request to store the object, determine a hosted storage service, from among multiple hosted storage services, and a corresponding access protocol based on the object reference, and store the object in the hosted storage service using the corresponding protocol.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a delegate configured to: receive, from a client, a request for the delegate to select a datastore for the client, from among a plurality of datastores included as part of a hosted storage system, based on one or more storage parameters included in the request, wherein the one or more storage parameters specify storage performance capabilities that a datastore is required to meet to be selected to store a data object; select, based the on one or more parameters, a datastore from among a plurality of datastores as a selected datastore, the selection of the selected datastore based on the selected datastore having performance capabilities that meet the storage performance capabilities specified in the storage parameters; send, to the client, an indication of the selected datastore; the client configured to: send, to the delegate, the request to select the datastore for the client, from among the plurality of datastores included as part of the hosted storage system, based on one or more storage parameters; receive, from the delegate, the indication of the selected datastore; and send, to the hosted storage system, a request to store a data object in the selected datastore; the hosted storage system, wherein the hosted storage system includes the plurality of datastores and is configured to: receive, from the client, the request to store the data object in the selected datastore; and store, in response to receiving the request to store the data object in the selected datastore, the data object in the selected datastore, wherein the plurality of datastores store data in different storage formats. 2. The system of claim 1 , wherein: the client comprises a first client-datastore and a second client-datastore; the client is further configured to: store data objects of a first-type in the first client-datastore; and store data objects of a second-type in the second client-datastore; and the hosted storage system is further configured to: store data objects of the first-type in a first datastore of the plurality of datastores; and store data objects of the second-type in a second datastore of the plurality of datastores. 3. The system of claim 2 , wherein: the first client-datastore and the first datastore both support a first storage format; and neither the second client-datastore nor the second datastore support the first storage format. 4. The system of claim 3 , wherein: the second client-datastore and the second datastore both support a second storage format; and neither the first client-datastore nor the first datastore support the second storage format. 5. The system of claim 2 , wherein: the first client-datastore and the first datastore both store copies of a first plurality of data objects; and the second client-datastore and the second datastore both store copies of a second plurality of data objects. 6. The system of claim 1 , wherein the one or more storage parameters comprise one or more of a data size, a level of security, whether queries should be supported, a latency metric, a cost metric, or a privacy metric. 7. The system of claim 1 , wherein the client includes the delegate. 8. The system of claim 1 , wherein the hosted storage system includes the delegate. 9. The system of claim 1 , wherein the client does not include the delegate and wherein the hosted storage system does not include the delegate. 10. The system of claim 1 wherein the hosted storage system is configured to maintain a namespace of names, wherein: each name uniquely identifies a data object stored by the hosted storage system; each name comprises a bucket name and an identifier; the name of at least one data object stored in a first datastore of the plurality of datastores includes a particular bucket name; and the name of at least one data object stored in a second datastore of the plurality of datastores also includes the particular bucket name. 11. A method comprising: receiving, at a delegate and from a client, a request for the delegate to select a datastore for the client, from among a plurality of datastores included as part of a hosted storage system, based on one or more storage parameters included in the request, wherein the one or more storage parameters specify storage performance capabilities that a datastore is required to meet to be selected to store a data object; selecting, based on the one or more storage parameters, a datastore from among a plurality of datastores as a selected datastore, the selection of the selected datastore based on the selected datastore having performance capabilities that meet the storage performance capabilities specified in the storage parameters; sending, to the client, an indication of the selected datastore; receiving, at a hosted storage system and from the client, the request to store the data object in the selected datastore, wherein the hosted storage system includes the plurality of datastores; and store, in response to receiving the request to store the data object in the selected datastore, the data object in the selected datastore, wherein the plurality of datastores store data in different storage formats. 12. The method of claim 11 , wherein: the client comprises a first client-datastore and a second client-datastore; the client is configured to: store data objects of a first-type in the first client-datastore; and store data objects of a second-type in the second client-datastore; and the hosted storage system is further configured to: store data objects of the first-type in a first datastore of the plurality of datastores; and store data objects of the second-type in a second datastore of the plurality of datastores. 13. The method of claim 12 , wherein: the first client-datastore and the first datastore both support a first storage format; and neither the second client-datastore nor the second datastore support the first storage format. 14. The method of claim 13 , wherein: the second client-datastore and the second datastore both support a second storage format; and neither the first client-datastore nor the first datastore support the second storage format. 15. The method of claim 12 , wherein: the first client-datastore and the first datastore both store copies of a first plurality of data objects; and the second client-datastore and the second datastore both store copies of a second plurality of data objects. 16. The method of claim 11 , wherein the one or more storage parameters comprise one or more of a data size, a level of security, whether queries should be supported, a latency metric, a cost metric, or a privacy metric. 17. The method of claim 11 , wherein the client includes the delegate. 18. The method of claim 11 , wherein the hosted storage system includes the delegate. 19. The method of claim 11 , wherein the client does not include the delegate and wherein the hosted storage system does not include the delegate. 20. The method of claim 11 , wherein the hosted storage system is configured to maintain a namespace of names, wherein: each name uniquely identifies a data object stored by the hosted storage system; each name comprises a bucket name and an identifier; the name of at least one data object stored in a first datastore of the plurality of datastores includes a particular bucket name; and the name of at least one data object stored in a second datastore of the plurality of datastores also includes the particular bucket name.

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Electricity · mapped topic

  • Physics · mapped topic

  • G06F16/22Primary

    Indexing; Data structures therefor; Storage structures · CPC title

  • specially adapted for the location of the user terminal · 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 US9762670B1 cover?
In aspect an application may be configured to issue a request to store an object, with the request including an object reference. A delegate may be configured to receive the request to store the object, determine a hosted storage service, from among multiple hosted storage services, and a corresponding access protocol based on the object reference, and store the object in the hosted storage ser…
Who is the assignee on this patent?
Google Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 12 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).