US2016142512A1PendingUtilityA1

Indirection objects in a cloud storage system

Assignee: RACKSPACE US INCPriority: May 16, 2012Filed: Nov 9, 2015Published: May 19, 2016
Est. expiryMay 16, 2032(~5.8 yrs left)· nominal 20-yr term from priority
H04L 67/02H04L 67/327H04L 67/1097G06F 16/14H04L 67/63
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Several embodiments using indirection objects to organize data in a cloud storage system are disclosed. An indirection object stores associations to different variants or segments of an object. The indirection object receives requests for the objects and responds with the appropriate variant, segment, or segments of the object. The variant, segment, or segments returned may vary from request to request.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system for storing multiple representations of an object, comprising:
 an indirection object storing a plurality of associations; and   a plurality of representations of the object, each representation referred to by one of the plurality of associations, and each representation including an attribute;   wherein the indirection object is operable to receive a request for the object over a network from an application programming interface and return one of the plurality of representations of the object based on the attributes included in each representation.   
     
     
         2 . The system of  claim 1 , wherein the indirection object is a representation of the object including an extended attribute. 
     
     
         3 . The system of  claim 1 , wherein the plurality of associations include a plurality of URLs, and wherein the plurality of representations of the object are stored on a plurality of servers accessible via a network and identified by the plurality of URLs. 
     
     
         4 . The system of  claim 1 , wherein the attribute included with each representation of the object is selected from the group consisting of: version, format, size, resolution, dimensions, quality, bit rate and aspect ratio. 
     
     
         5 . The system of  claim 1 , wherein the indirection object is further operable to receive a request to delete the object and delete the plurality of representations of the object. 
     
     
         6 . The system of  claim 1 , wherein the indirection object is further operable to receive a request to delete the object and delete itself to render the plurality of representation of the object inaccessible. 
     
     
         7 . The system of  claim 1 , further comprising a storage management server operable to manage the indirection object. 
     
     
         8 . The system of  claim 1 , wherein the indirection object is further operable to receive a request to store a new representation of the object and store the new representation. 
     
     
         9 . A system, comprising:
 a storage management server storing a plurality of indirection objects, each indirection object storing a plurality of associations to a plurality of object segments corresponding to a respective object;   wherein each indirection object is configured to:
 receive, from a requesting client, a request for an object, 
 retrieve the plurality of object segments corresponding to the object, 
 concatenate the object segments together, and 
 return the object to the requesting client. 
   
     
     
         10 . The system of  claim 9 , wherein the request for an object is an HTTP GET request. 
     
     
         11 . The system of  claim 9 , wherein each indirection object is further configured to:
 receive, from a requesting client, a request to delete an object, and   delete the plurality of object segments corresponding to the object.   
     
     
         12 . The system of  claim 11 , wherein the request to delete an object is an HTTP DELETE request. 
     
     
         13 . The system of  claim 9 , wherein each indirection object is further configured to:
 receive, from a requesting client, a request to update an object with a new version of the object,   determine differences between the object and the new version of the object, and   store one or more object segments corresponding to the new version of the object.   
     
     
         14 . The system of  claim 11 , wherein the request to update an object is an HTTP PUT request. 
     
     
         15 . The system of  claim 9 , wherein the request for an object is received over a network by an application programming interface. 
     
     
         16 . A system, comprising:
 a storage management server storing a plurality of indirection objects, each indirection object storing a plurality of associations to a plurality of object variants corresponding to a respective object;   wherein each indirection object is configured to:
 receive, from a requesting client, a request for an object, 
 determine whether the request for the object includes a request for a specified object format corresponding to the requested object, and 
 return the specified object format when the request for the object includes a request for the specified object format, and 
 return a preferred object format corresponding to the object to the requesting client when the request for the object does not include a request for a specified object format. 
   
     
     
         17 . The system of  claim 16 , wherein determining whether the request for the object includes a request for a specified object format is based on a protocol of the request for the object. 
     
     
         18 . The system of  claim 16 , wherein determining whether the request for the object includes a request for a specified object format is based on attributes of the requesting client. 
     
     
         19 . The system of  claim 16 , wherein determining whether the request for the object includes a request for a specified object format is based on authentication credentials of a user of the requesting client. 
     
     
         19 . The system of  claim 16 , wherein determining whether the request for the object includes a request for a specified object format is based on bandwidth limits set by the requesting client.

Join the waitlist — get patent alerts

Track US2016142512A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.