Patent ID: 8584090

Claim:
A method, implemented by a computer system programmed to validate a configuration, according to which a plurality of Service Instances (SIs) are to be allocated to a list of Service Units (SUs) for protection of services represented by the SIs, the SUs representing a collection of hardware and software components capable of providing the services, wherein each of the SUs has k capacities <c 1 , . . . , c k > for each of k component service types (CSTypes), k being an integer greater than one, and wherein each of the SIs has k required capacities <r 1 , . . . , r k > for each of the k CSTypes, the method comprising the steps of: applying, by the computer system, a set of one or more heuristics to determine whether, for each of the SIs, the SI can be allocated to one of the SUs whose capacities <c 1 , . . . , c k > support the required capacities <r 1 , . . . , r k > of the SI, the heuristics including at least a order-based heuristic, wherein, for the order-based heuristic, the step of applying further comprises the steps of: determining a set of one or more of the k CSTypes to be used as a sorting criterion; and sorting the SUs in the list for each of the SIs based on the determined set of CSTypes; walking the list of SUs in order, to find a first of the SUs that supports a current one of the SIs to be allocated, wherein, for each CSType, the capacity of the first SU is greater than or equal to the required capacity of the current SI of that CSType; if the first SU is found in the list of SUs, updating the capacities of the first SU to remove the required capacities of the current SI from the provided capacities of the first SU; and if none of the SUs in the list of SUs can support the current SI, indicating that the configuration is not validated; and in response to a result that at least one of the heuristics in the set indicates the SUs can support all of the SIs, generating a result indicating that the configuration is valid.