Distributed storage system with web services client interface
First Claim
1. A system, comprising:
- a plurality of computing nodes configured to implement;
a web services interface configured to receive, according to a web services protocol, client requests for access to data objects, wherein a given one of said client requests for access to a given one of said data objects includes a key value corresponding to said given data object;
a plurality of storage nodes configured to store replicas of said data objects, wherein each of said replicas is accessible via a respective locator value, and wherein each of said locator values is unique within said system;
a keymap instance configured to store a respective keymap entry for each of said data objects, wherein for said given data object, said respective keymap entry includes said key value and each locator value corresponding to each stored replica of said given data object; and
a coordinator configured to receive said client requests for access to said data objects from said web services interface, wherein in response to said given client request, said coordinator is configured to access said keymap instance to identify one or more locator values corresponding to said key value and, for a particular one of said one or more locator values, to access a corresponding storage node to retrieve a corresponding replica.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed, web-services based storage system. A system may include a web services interface configured to receive, according to a web services protocol, a given client request for access to a given data object, the request including a key value corresponding to the object. The system may also include storage nodes configured to store replicas of the objects, where each replica is accessible via a respective unique locator value, and a keymap instance configured to store a respective keymap entry for each object. For the given object, the respective keymap entry includes the key value and each locator value corresponding to replicas of the object. A coordinator may receive the given client request from the web services interface, responsively access the keymap instance to identify locator values corresponding to the key value and, for a particular locator value, retrieve a corresponding replica from a corresponding storage node.
-
Citations
75 Claims
-
1. A system, comprising:
a plurality of computing nodes configured to implement;
a web services interface configured to receive, according to a web services protocol, client requests for access to data objects, wherein a given one of said client requests for access to a given one of said data objects includes a key value corresponding to said given data object;
a plurality of storage nodes configured to store replicas of said data objects, wherein each of said replicas is accessible via a respective locator value, and wherein each of said locator values is unique within said system;
a keymap instance configured to store a respective keymap entry for each of said data objects, wherein for said given data object, said respective keymap entry includes said key value and each locator value corresponding to each stored replica of said given data object; and
a coordinator configured to receive said client requests for access to said data objects from said web services interface, wherein in response to said given client request, said coordinator is configured to access said keymap instance to identify one or more locator values corresponding to said key value and, for a particular one of said one or more locator values, to access a corresponding storage node to retrieve a corresponding replica. - 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. A method, comprising:
-
receiving client requests for access to data objects via a web services interface according to a web services protocol, wherein a given one of said client requests for access to a given one of said data objects includes a key value corresponding to said given data object;
storing replicas of said data objects on a plurality of storage nodes, wherein each of said replicas is accessible via a respective locator value, and wherein each of said locator values is unique within said system;
storing a respective keymap entry for each of said data objects, wherein for said given data object, said respective keymap entry includes said client-specified key value and each locator value corresponding to each stored replica of said given data object; and
in response to receiving said given client request, accessing said respective keymap entries to identify one or more locator values corresponding to said key value and, for a particular one of said one or more locator values, accessing a corresponding storage node and retrieving a corresponding replica. - 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, 51, 52, 53, 54)
-
-
55. A computer-accessible medium comprising instructions, wherein the instructions are executable to:
-
process client requests for access to data objects, wherein said client requests for access to said data objects are received via a web services interface according to a web services protocol, and wherein a given one of said client requests for access to a given one of said data objects includes a key value corresponding to said given data object;
instruct that replicas of said data objects be stored on a plurality of storage nodes, wherein each of said replicas is accessible via a respective locator value, and wherein each of said locator values is unique within said system; and
instruct that a respective keymap entry for each of said data objects be stored, wherein for said given data object, said respective keymap entry includes said client-specified key value and each locator value corresponding to each stored replica of said given data object;
wherein processing said given client request includes accessing said respective keymap entries to identify one or more locator values corresponding to said key value and, for a particular one of said one or more locator values, accessing a corresponding storage node and retrieving a corresponding replica. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75)
-
Specification