Dynamic implementation switching to support service level agreements on demand
Original Publication Date: 2004-May-27
Included in the Prior Art Database: 2004-May-27
One of the problems when moving to a utility model of services such as in on demand computing is that the service must publish and support some level of service to its users. This service level agreement (SLA) will contain many aspects of the service being provided but one of these will be performance. For example, what kind of response time can a caller expect from this service. Due to the on demand nature of these kinds of services the calling frequency, kinds and amount of data and the number of concurrent calls is likely not known in advance. This means that handling these variations at runtime will be required to ensure that the SLAs are still met. There are many solutions that attempt to adjust to the dynamic environment of an on demand solution which revolve around the dynamic addition or tuning of resources to support service level agreements. However, the novel approach with this invention is the realization that in some cases an entirely different implementation might be required for supporting the service level agreement depending on many factors. This invention describes a mechanism for the service to evaluate these factors and switch the implementation to the appropriate one to meet the service level agreement. By providing multiple implementations, a better level of service can be guaranteed than if the service was implemented with a single implementation which had to handle all situations.