Dynamic Adaptation of Service-based Applications
In the Future Internet, applications will be built by composing independent software elements, the services. Applications based on a Service-Oriented Architecture (SOA) should be able to work in large-scale and open environments, where services may show up and disappear at any time. Despite this service volatility, applications need to ensure Quality of Service (QoS) properties, to make intelligent use of new services, and to satisfy the changing needs of end users. As a result, there is a need for dynamic adaptation of applications and services. Adaptation is necessary at different levels:
- At the business level, business processes may need to be reorganized when some services cannot meet their Service Level Agreement (SLA).
- At the service composition level, applications may have to change dynamically their configuration in order to take into account new needs from the business level or new constraints from the services and the infrastructure level.
- At the infrastructure level, the state of resources (networks, processors, memory,...) has to be taken into account by service execution engines in order to make intelligent use of these resources (e.g., taking into account available resources and energy consumption).
Our objective is to build generic and concrete frameworks for self-adaptation of services and service-based applications at run-time. Specifically, we are focusing on each step of the well-known MAPE (Monitoring, Analysis, Planning, Execution) adaptation model. For instance, concerning Monitoring, we design high-level composite events. Concerning Analysis, we work on different means to support decision policies such as rule-based engines and utility function-based engines. We also work on the use of an autonomic control loop for learning algorithms. For the Planning step, we investigate the use of on-the-fly planning of adaptation actions allowing the parallelization and distribution of actions. For the Execution step, we design and implement dynamic adaptation mechanisms to allow a service to self-adapt according to the required QoS and the underlying resource management system. Moreover, we intend to extend the adaptation model to take into account proactive adaptation, to ensure QoS properties during adaptation and to monitor and adapt the adaptation itself. Finally, an important research direction is the coordination of adaptation at different levels.
Last modified 05.03.2012 11:58 AM