Method and apparatus for efficient storage and retrieval of objects in and from an object storage device
First Claim
1. A proxy system for accelerated delivery of objects to a requester, the proxy system comprising:
- an object storage device for storing objects, the object storage device using a file system that supports directories to store the objects in files at directory locations within the object storage device, for each of the objects the directory location where the object is to be stored is identified by an object locator associated with the network together with state and authorization information, wherein the combination of the object locater together with state and authorization information identify a unique slot in said object storage device; and
a proxy server coupled between the requestors computer and a network of computers, wherein the proxy server intercepts a request for an object from the requestor'"'"'s computer to the network of computers, and then satisfies the request by delivering the object requested from the object storage device to the requestor'"'"'s computer, the object requested from the object storage device is retrieved from the object storage device using a combination of an object locator obtained from the request together with state and authorization information associated with the request.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for storing objects (e.g., images) in and retrieving objects from a storage device (e.g., image store) in a rapid and efficient manner are disclosed. More particularly, the techniques include: storage of an object in and retrieval of an object from the storage device with reference to an object locator together with state and permission information, use of a directory structure of a file system to efficiently provide database structure for storage of the objects, storage and retrieval of object states as attributes of associated files in the file system, storage and retrieval of multiple versions of objects, and multi-threaded management of the storage device.
-
Citations
20 Claims
-
1. A proxy system for accelerated delivery of objects to a requester, the proxy system comprising:
-
an object storage device for storing objects, the object storage device using a file system that supports directories to store the objects in files at directory locations within the object storage device, for each of the objects the directory location where the object is to be stored is identified by an object locator associated with the network together with state and authorization information, wherein the combination of the object locater together with state and authorization information identify a unique slot in said object storage device; and
a proxy server coupled between the requestors computer and a network of computers, wherein the proxy server intercepts a request for an object from the requestor'"'"'s computer to the network of computers, and then satisfies the request by delivering the object requested from the object storage device to the requestor'"'"'s computer, the object requested from the object storage device is retrieved from the object storage device using a combination of an object locator obtained from the request together with state and authorization information associated with the request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
an acceleration unit coupled to said proxy server, said acceleration unit operates to produce an accelerated version of certain of the objects stored in said object storage device, and wherein said proxy server satisfies the request by delivering, when available, the accelerated version of the object requested from said object storage device to the requestor'"'"'S computer.
-
-
3. A proxy system as recited in claim 2 wherein directory structure within said object storage device implements a database.
-
4. A system as recited in claim 1 wherein said object storage device stores a plurality of files within each of the slots in said storage device.
-
5. A system as recited in claim 4 wherein within each of the files stored in a given one of the slots in said object device pertain to a different version of the object associated with the given one of the slots.
-
6. A system as recited in claim 4 wherein the different version include an original version of the object and at least one accelerated version of the object.
-
7. A system as recited in claim 4 wherein said object storage device also stores a state for each of the files.
-
8. A system as recited in claim 4 wherein the directories used by said object storage device are provided by a file system, and wherein the file system further provides attributes for the files, and
wherein the state stored for each of the files is stored as an attribute. -
9. A system as recited in claim 4 wherein the states for the files include a ready state and a loading state.
-
10. A proxy system for accelerated delivery of objects to a requestor, the proxy system comprising:
-
an object storage device for storing objects, the object storage device using a file system that supports directories to store the objects in files at directory locations within the object storage device, for each of the objects the directory location where the object is to be stored is identified by at least an object locator, wherein the object storage device also stores a current state for each of the files; and
a proxy server coupled between the requestor'"'"'s computer and a network of computers, wherein the proxy server intercepts a request for an object from the requestor'"'"'s computer to the network of computers, and then satisfies the request by delivering the object requested from the object storage device to the requestor'"'"'s computer, the object requested from the object storage device is retrieved from the object storage device using an object locator obtained from the request. - View Dependent Claims (11, 12, 13, 14)
wherein the current state stored for each of the files is stored as an attribute. -
12. A system as recited in claim 11 wherein the state for the files included a ready state and a loading state.
-
13. A proxy system as recited in claim 10 wherein directory structure within said object storage device implements a database.
-
14. A proxy system as recited in claim 10, said proxy system comprising:
-
an acceleration unit coupled to said proxy server, said acceleration unit operates to produce an accelerated version of certain of the objects stored in said object storage device, and wherein said proxy server satisfies the request by delivering, when available, the accelerated version of the object requested from said object storage device to the requestor'"'"'s computer.
-
-
-
15. A proxy system for accelerated delivery of objects to a requestor, to proxy system comprising:
-
an object storage device for storing objects, the object storage device using a file system that supports directories to store the objects in files at directory locations within the object storage device, for each of the objects the directory location where the object is to be stored is identified by at least an object locator, wherein the object locator together wit state and authorization information identify a unique slot in said object storage device; and
a proxy server coupled between the requestor'"'"'s computer and a network of computers, wherein the proxy server intercepts a request for an object from the requestor'"'"'s computer to the network of computers, and then satisfies the request by delivering the object requested from the object storage device to the requestor'"'"'s computer, the object requested from the object storage device is retrieved from the object storage device using an object locator obtained from the request. - View Dependent Claims (16, 17, 18, 19, 20)
wherein the state stored for each of the files is stored as an attribute.
-
Specification