SYSTEM AND METHOD OF IMPLEMENTING AN OBJECT STORAGE INFRASTRUCTURE FOR CLOUD-BASED SERVICES
First Claim
1. An object storage system comprising:
- a plurality of storage nodes for storing digital objects associated with clients;
at least one client application server being operative toestablish a network connection with a client over an inter-network,receive an indication of an object to be uploaded by said client,generate an upload request associated with said object, andreceive said object from said client via said inter-network; and
at least one cloud application server being operative toreceive said upload request from said client application server,select at least two storage nodes from said plurality of storage nodes,receive said object from said client application server, andstream said object to each of said selected storage nodes such that said object is stored on each of said selected storage nodes.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for storing objects in an object storage system includes the steps of establishing a network connection with a client over an inter-network, receiving an upload request indicating an object to be uploaded by the client, selecting at least two storage nodes on which the object will be stored, receiving the object from the client via the network connection, and streaming the object to each of the selected storage nodes such that the object is stored on each of the selected storage nodes. The method can also include writing an object record associating the object and the selected storage nodes to a shard of an object database and generating a Universally Unique Identifier (UUID). The UUID indicates the shard and the object ID of the object record, such that the object record can be quickly retrieved. Object storage infrastructures are also disclosed.
287 Citations
54 Claims
-
1. An object storage system comprising:
-
a plurality of storage nodes for storing digital objects associated with clients; at least one client application server being operative to establish a network connection with a client over an inter-network, receive an indication of an object to be uploaded by said client, generate an upload request associated with said object, and receive said object from said client via said inter-network; and at least one cloud application server being operative to receive said upload request from said client application server, select at least two storage nodes from said plurality of storage nodes, receive said object from said client application server, and stream said object to each of said selected storage nodes such that said object is stored on each of said selected storage nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. In an object storage system, a method for storing objects comprising:
-
establishing a network connection with a client over an inter-network; receiving an upload request indicating an object to be uploaded by said client; selecting at least two storage nodes on which said object will be stored from a plurality of storage nodes; receiving said object from said client via said network connection; and streaming said object to each of said selected storage nodes such that said object is stored on each of said selected storage nodes. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. A non-transitory, electronically-readable storage medium having code embodied therein for causing an electronic device to:
-
establish a network connection with a client over an inter-network; receive an upload request indicating an object to be uploaded by said client; select at least two storage nodes on which said object will be stored from a plurality of storage nodes; receive said object from said client via said network connection; and stream said object to each of said selected storage nodes such that said object is stored on each of said selected storage nodes.
-
-
51. An object storage system comprising:
-
a plurality of storage nodes for storing digital objects associated with clients; at least one client application server being operative to establish a network connection with a client over an inter-network, receive an indication of an object to be uploaded by said client, generate an upload request associated with said object, and receive said object from said client via said inter-network; means for selecting at least two storage nodes from said plurality of storage nodes in response to said upload request; and means for streaming said object from said client application server to each of said selected storage nodes such that said object is stored on each of said selected storage nodes.
-
-
52. A non-transitory, electronically-readable storage medium having a data structure embodied therein defining a universally unique identifier (UUID) associated with an object record stored in an object database, said data structure comprising:
-
a first field containing data identifying one of a plurality of shards of said object database; and a second field containing an object identifier identifying said object record among a plurality of object records in said identified shard. - View Dependent Claims (53)
-
-
54. A non-transitory, electronically-readable storage medium having a data structure embodied therein defining an object record of an object database, said data structure comprising:
-
a first field containing data uniquely identifying said objects record among a plurality of objects records; a second field containing data identifying a first storage node on which an object associated with said object record is stored; and a third field containing data identifying a second storage node on which said object is stored.
-
Specification