Patent Document ID: 10104170
Application ID: 14988294
Patent Flag: 1

Claim One:
1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising: identifying pairs of resources from a plurality of resources, each pair of resources comprising two resources in different failure domains of a plurality of failure domains; identifying a plurality of resource consumers, wherein each resource consumer of the plurality of resource consumers is associated with (a) a primary instance and (b) a backup instance; specifying a set of one or more constraints that limit assignment of the plurality of resource consumers to the plurality of resources to: assigning the plurality of resource consumers respectively to the pairs of resources; creating a data model, applicable to a constraint programming solver, comprising: a first plurality of data model elements corresponding respectively to the pairs of resources; a second plurality of data model elements corresponding respectively to the plurality of resource consumers; and the set of constraints; causing application of the data model to the constraint programming solver to assign a respective pair of resources, from the pairs of resources, to each resource consumer of the plurality of resource consumers; and assigning the respective pair of resources to each resource consumer of the plurality of resource consumers based on the data model, comprising: assigning a first resource of a particular pair of resources to the primary instance of a particular resource consumer of the plurality of resource consumers, and assigning a second resource of the particular pair of resources to the backup instance of the particular resource consumer of the plurality of resource consumers.