Patent ID: 7716180

Claim:
A system, comprising: a plurality of computing nodes, each comprising at least one processor and memory, wherein the plurality of computing nodes is configured to implement: a web services interface configured to present a data storage web service to clients, wherein said data storage web service includes one or more web services endpoints; wherein each web services endpoint implements a corresponding web services application programming interface (API) defining data storage web service operations that are available to ones of said clients via web services calls, and is addressable to receive said web services calls, formatted according to web services API to specify one or more of said data storage web service operations, from ones of said clients according to an Internet-based application layer data transport protocol; wherein said web services interface further presents a plurality of buckets to said clients via said web services API, wherein each bucket of said buckets is a root of an object namespace that is associated with a user of the data storage web service; wherein to store a given one of a plurality of data objects within a given one of said buckets, a given one of said one or more web services endpoints receives a store web services call directed to a Uniform Resource Locator (URL), wherein said URL identifies said given web services endpoint and said given bucket, and wherein said store web services call is indicative of a client request to store said given data object and specifies a given key value that is associated with said given data object; wherein in response to receiving said store web services call, said given web services endpoint configured to: instruct that said given key value be stored within the object namespace of said given bucket; and instruct that replicas of said given data object be stored among a plurality of storage nodes according to a storage policy, wherein the storage nodes are distributed among a plurality of areas, and wherein the storage policy specifies a minimum number of areas to which said replicas are required to be stored; wherein to read said given data object, said given web services endpoint receives a read web services call directed to said Uniform Resource Locator (URL), wherein said URL identifies said given web services endpoint and said given bucket, and wherein said read web services call is indicative of a client request to read said given object and specifies said given key value that is associated with said given data object; wherein in response to receiving said read web services call, said given web services endpoint instructs that said given data object be retrieved according to said given key value.