EXPRESSING FAULT CORRELATION CONSTRAINTS
First Claim
1. One or more computer-readable media having computer-executable instructions embodied thereon that, when executed, performs a method for facilitating persistent availability of a service application by expressing one or more fault correlation constraints to a developer of the service application, the method comprising:
- identifying fault domains within a hosting environment, wherein the fault domains each represent a set of nodes that each concurrently become unavailable upon an occurrence of a particular class of failures within the hosting environment;
expressing to the developer of the service application one or more fault correlation constraints wherein, the one or more correlation constraints include an abstraction of the identified fault domains;
receiving from the developer a service model that provides instructions for allocating one of the set of nodes within one or more of the fault domains within the hosting environment to execute at least one role of the service application, wherein the at least one role comprises a component program that supports the functionality of the service application; and
based on the instruction of the service model, initiating an instantiation process that places the one or more instances of the at least one role on the allocated one of the set of nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer-readable media for expressing fault correlation constrains to a developer of a service application are provided. Initially, the fault correlation constraints are identified by inspecting an architecture of resources comprising a data center. Based on the resources, sets of nodes that become concurrently unavailable due to a failure mode or update scheme are aggregated. These fault correlation constraints, upon being communicated to the developer, then may be incorporated into a service model produced thereby. Accordingly, the service model is tailored to the specific characteristics of the data center and is provided with instructions as to how to partition instances of the service application throughout the distributed resources of the data center. Thus, the fault correlation constraints provide a developer with insight into rules and structures on which the data center is constructed and assurances of a certain level of fault tolerance upon deploying the service application.
58 Citations
20 Claims
-
1. One or more computer-readable media having computer-executable instructions embodied thereon that, when executed, performs a method for facilitating persistent availability of a service application by expressing one or more fault correlation constraints to a developer of the service application, the method comprising:
-
identifying fault domains within a hosting environment, wherein the fault domains each represent a set of nodes that each concurrently become unavailable upon an occurrence of a particular class of failures within the hosting environment; expressing to the developer of the service application one or more fault correlation constraints wherein, the one or more correlation constraints include an abstraction of the identified fault domains; receiving from the developer a service model that provides instructions for allocating one of the set of nodes within one or more of the fault domains within the hosting environment to execute at least one role of the service application, wherein the at least one role comprises a component program that supports the functionality of the service application; and based on the instruction of the service model, initiating an instantiation process that places the one or more instances of the at least one role on the allocated one of the set of nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computerized method for developing a failure model of a data center for delivery to a developer of a service application, the method comprising:
-
identifying fault correlation constraints of a data center, wherein identifying comprises; (a) inspecting an architecture of resources utilized by a data center to ascertain modes of failure of the data center; (b) enumerating at least a first set of nodes within the data center that concurrently become unavailable upon an occurrence of the ascertained failure mode; (c) enumerating at least a second set of nodes within the data center that are intentionally induced to become concurrently unavailable in accordance with an update scheme; and (d) abstracting the fault correlation constraints from at least one the first set of nodes and the second set of nodes; and at least temporarily storing the fault correlation constraints within a failure model that is deliverable to the developer of the service application, wherein the service application is executable upon being distributed throughout the architecture of resources of the data center. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system for performing a method that abstracts fault domains from resources of a data center, the computer system comprising a processing unit coupled to a computer storage medium, the computer storage medium having stored thereon a plurality of computer software components executable by the processing unit, the computer software components comprising:
-
an abstraction component to abstract the fault domains within the data center by grouping together sets of nodes that concurrently become unavailable upon an occurrence of a mode of failure of the resources; a communication component to communicate the abstracted fault domains and semantics, which influence distribution of a service application throughout the data center, as fault correlation constraints, wherein the semantics define a maximum aggregate number of fault domains and update domains that are allowed to be concurrently nonfunctional when executing the distributed service application, and to receive a service model that is based, in part, on the fault correlation constraints and that provides instructions for allocating nodes, within the sets of nodes encompassed by the fault domains, for accommodating instances of a role of the service application, wherein the role comprises a component program that supports the functionality of the service application, wherein each of the instances includes a single replication of the role, and wherein the fault domains provide a platform for executing the instances of the role; and a propagation component that satisfies the instructions of the service model by installing the instances on the allocated nodes and administering parameters to configure the installed instances, wherein the configuring includes directing each of the installed instances to a location of other installed instances within the data center. - View Dependent Claims (20)
-
Specification