Patent ID: 7739239

Claim:
A system, comprising: a plurality of computing nodes, wherein each computing node comprises at least one processor and memory, and 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 is configured to implement 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 said each web services endpoint is addressable to receive one or more of said web services calls that are formatted according to said 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 in response to said receiving web services calls formatted according to said web services API that are indicative of client requests to store data objects, each said web services endpoint is further configured to store data objects supplied by said clients within said data storage web service; wherein a given one of said web services calls formatted according to said web services API that is indicative of a given client request to store a given one of said data objects includes an indication of a particular one of a plurality of storage classes to be associated with said given data object; wherein each storage class of said plurality of storage classes respectively specifies one or more service level agreement (SLA) characteristics, such that different data objects associated with a given one of said storage classes share a common set of SLA characteristics; and wherein said data storage web service is configured to present said plurality of storage classes via said web services API to said clients to be selected for association with ones of said data objects via web services calls formatted according to said web services API without said data storage web service presenting individual ones of said SLA characteristics to said clients for selection by said clients; a plurality of storage nodes configured to store replicas of said data objects; and a coordinator configured to receive said client requests to store said data objects from said web services interface, wherein in response to said given web services call indicative of said given client request, said coordinator is configured to store one or more replicas of said given data object among one or more of said plurality of storage nodes according to said one or more SLA characteristics specified by said particular storage class.