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;
at least one cloud application server being operative toreceive said upload request from said client application server,generate a Universally Unique Identifier (UUID) associated with said object,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;
a file system database storing information defining a virtual file system associated with said client and accessible to said client application server, said UUID being stored in said file system database; and
at least one cloud object server; and
whereinsaid client application server is further operative toreceive a download command for said object from said client,retrieve said UUID from said file system database, andprovide said UUID to said cloud object server.
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.
28 Citations
50 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; at least one cloud application server being operative to receive said upload request from said client application server, generate a Universally Unique Identifier (UUID) associated with said object, 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; a file system database storing information defining a virtual file system associated with said client and accessible to said client application server, said UUID being stored in said file system database; and at least one cloud object server; and
whereinsaid client application server is further operative to receive a download command for said object from said client, retrieve said UUID from said file system database, and provide said UUID to said cloud object server. - 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. 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; at least one cloud application server being operative to receive said upload request from said client application server, generate a Universally Unique Identifier (UUID) associated with said object, and receive said object from said client application server; means for selecting at least two storage nodes from said plurality of storage nodes in response to said upload request; 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; a file system database storing information defining a virtual file system associated with said client and accessible to said client application server, said UUID being stored in said file system database; at least one cloud object server; and
whereinsaid client application server is further operative to receive a download command for said object from said client, retrieve said UUID from said file system database, and provide said UUID to said cloud object server. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
Specification