|
|
|
|
|
|
With the widespread use of distributed computing in the enterprise, there have been significant advances in development paradigms for these applications. Server side component models have considerably simplified development and the complexity has now shifted to the operational side of these applications. The increase in operational complexity has reached a point where it is no longer feasible for humans to manage the applications required to run an enterprise. The initial steps to provide self managing applications are now being taken - a paradigm known as "autonomic computing" is in its infancy of evolution. There have been numerous proposed models of how one achieves self management. In this project, we seek to evolve ways and means of managing complex distributed applications and their execution environments automatically without human intervention.
There are several research problems in this effort that we are investigating in order to achieve our goals:
Topology
The starting point for self-healing or self configuration is to know one self and so determining the topology of the application in relation to its execution environment is critical. An application cannot be deployed without knowledge of the various components that make it up. Both the static parts of the component (viz, its packaging) as well as its physical footprint need to be well understood for problem isolation and correction. Topology therefore is a description of:
- The infrastructure (both physical such as compute servers as well as logical such as server component containers), itâ??s configuration and itâ??s dependence on the underlying network.
- The static view application components and their configurations.
- The dynamic or run time view of application components that execute on the infrastructure.
- Relationships that exist between application components at run time.
Topology is a realization of the meta-model that characterizes applications and their execution environments and provides a canonical language for common understanding of what an application is and what it depends on. Every tool is the LAMDA arsenal works off of topology.
Translating Service Guarantees into Infrastructure Configurations
Characterizing an Application's Resource Needs
Characterizing the State of the Infrastructure
Mapping Application Components to Resources
Multi-Agent System Models to deal with Root Cause Analysis & Auto Correction
Learning Models for Agents in Such Environments