Abstract:
Tools and techniques for migrating applications to compute clouds are described herein. A tool may be used to migrate any arbitrary application to a specific implementation of a compute cloud. The tool may use a library of migration rules, apply the rules to a selected application, and in the process generate migration output. The migration output may be advisory information, revised code, patches, or the like. There may be different sets of rules for different cloud compute platforms, allowing the application to be migrated to different clouds. The rules may describe a wide range of application features and corresponding corrective actions for migrating the application. Rules may specify semantic behavior of the application, code or calls, storage, database instances, interactions with databases, operating systems hosting the application, and others.
Abstract:
A logical communication path is provided between a target virtual machine (VM) and a host or application communicating with the VM. The target VM runs on a hypervisor host that has a hypervisor and a proxy agent. The hypervisor manages execution of the VM. A mapping is maintained indicating which VMs execute on which hosts. When the host or application is to send a message or packet to the target VM, the mapping is consulted and the hypervisor host hosting the target VM is identified. The message or packet, which may identify the target VM, is transmitted to the hypervisor host. A proxy agent at the hypervisor host selects a communication channel between the hypervisor and the target VM. The hypervisor then passes the message or packet through the selected channel to the target VM.
Abstract:
Enhanced requirement-capability definitions are employed for resource consumption and allocation. Business requirements can be specified with respect to content to be hosted, and a decision can be made as to whether, and how, to allocate resources for the content based on the business requirements and resource capabilities. Capability profiles can also be employed to hide underlying resource details while still providing information about resource capabilities.
Abstract:
Model-based system monitoring includes accessing a model of a system that includes multiple components and executing a monitoring policy to monitor performance of the system. A notification of a problem is received from a first component. A determination is made regarding the cause of the problem. The determination is made, at least in part, based on the model of the system. At least one component associated with the cause of the problem is then identified.
Abstract:
A model of a system is generated and used as a basis for managing the system. As the system is managed, the system model can be updated to reflect changes to the system. Managing of the system can include one or more of provisioning applications in the system, provisioning applications in virtual systems, provisioning test environments, monitoring the configuration of the system, monitoring the system including the health of the system, performing capacity planning for the system, and propagating attributes to different components in the system.
Abstract:
The present invention is directed to a method and system for use in a computing environment to monitor parameters and detect abnormalities. A monitoring system for monitoring a process may include a signature creation module for creating a signature representative of the process, a signature updating module for continuously updating the created signature, and an abnormality detection module for detecting abnormalities based upon deviations from the updated signature. The system may perform a method for detecting abnormalities occurring during a process based upon the continuously updated signature representative of the process. The method may include continuously monitoring a system parameter and computing a normal range of values for the system parameter based on the continuously updated signature. The method may additionally include determining if the monitored system parameter is within the normal range and indicating existence of an abnormality if the monitored system parameter is outside of the normal range.
Abstract:
Portable packages containing encodings of processes are applied to software stacks. The packages are portable and distinct from the software stacks. The packages may be in the form of declarative code for configuring the software stack and can be plugged into the software stack to allow the technology stack to play the packages, thereby configuring the stacks to be capable of automating the processes encoded by the packages. An application or software component can be provided to read a package and apply parts thereof to appropriate corresponding software stack components.
Abstract:
Described are portable packages containing encodings of processes. The packages are portable and distinct from a technology stack. The packages may be in the form of declarative code for configuring the technology stack and can be plugged into the technology stack to allow the technology stack to play the packages, thereby automating the processes encoded by the packages. Also described are methods for authoring packages, technology stacks for playing packages, an application for loading (“plugging in”) packages and also possibly controlling the playing of packages.
Abstract:
Model-based system monitoring includes accessing a model of a system that includes multiple components and identifying relationships among the multiple components based on the model of the system. A proposed change to at least one of the multiple components is identified. A determination is made regarding an expected impact on the system caused by the proposed change. This determination is made, at least in part, based on the model of the system.
Abstract:
A logical communication path is provided between a target virtual machine (VM) and a host or application communicating with the VM. The target VM runs on a hypervisor host that has a hypervisor and a proxy agent. The hypervisor manages execution of the VM. A mapping is maintained indicating which VMs execute on which hosts. When the host or application is to send a message or packet to the target VM, the mapping is consulted and the hypervisor host hosting the target VM is identified. The message or packet, which may identify the target VM, is transmitted to the hypervisor host. A proxy agent at the hypervisor host selects a communication channel between the hypervisor and the target VM. The hypervisor then passes the message or packet through the selected channel to the target VM.