IP Library Patent Application 14936150
Patent Application
App. No. 14/936,150

INDIRECTION OBJECTS IN A CLOUD STORAGE SYSTEM

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/936,150
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 (40)

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.

Assignments (4)
RELEASE OF PATENT SECURITIES Recorded Mar 13, 2024
From: CITIBANK, N.A.
To: RACKSPACE US, INC.
Reel/Frame 066795/0177 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 40564 FRAME: 914. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: RACKSPACE US, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048658/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2017
From: DICKINSON, JOHN
To: RACKSPACE US, INC.
Reel/Frame 042167/0866 →
SECURITY AGREEMENT Recorded Nov 4, 2016
From: RACKSPACE US, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040564/0914 →