Patent ID: 7979551
Filing Date: 2011-07-12
Classification: G06F

Abstract:
1. A computer implemented method when executed by a data-center controller, perform a method of enhancing a likelihood that an application will be remotely available by allocating a plurality of instances of a service across a plurality of domains, wherein a service provides functionality offered by the application, and a domain includes a logical grouping of computing devices, the method comprising: identifying a set of fault domains, each of which includes a given set of computing devices that are commonly subject to a given point of failure such that if the given point of failure entered into a fail state then the given set of computing devices would fail to function, and identifying a set of update domains, each of which includes a specific set of computing devices that are unavailable while they are being subjected to an update process; considering each fault domain in the set of fault domains until a given fault domain is identified that does not include any computing device that is running an instance of the service; thereby determining an identified available fault domain; considering each computing device in the identified available fault domain until a specific computing device is identified that is not a member of an update domain that is hosting an instance of the service, thereby determining an available computing device that is available to host the instance of the service; by way of the data-center controller, assigning the instance of the service to the available computing device such that the available computing device begins hosting the instance of the service; wherein the application is made up of multiple program components; wherein considering each fault domain in the set of fault domains includes considering until a given fault domain is identified that does not include any computing device that is running an instance of a given program component; wherein considering each computing device in the identified available fault domain includes considering until a specific computing device is identified that, wherein assigning the instance of the service to the available computing device includes equipping the available computing device with an ability to provide the functionality offered by the application.