摘要:
A software application distributed as a virtual appliance is automatically installed, updated and removed in a virtual machine system running on top of a virtual machine monitor in a computer. The software application virtual appliance comprises a virtual disk, which is automatically detected and installed or removed at the customer by a virtual disk activation manager program, which executes scripts including commands through an API to the virtual machine monitor. The virtual appliance virtual disk is also created automatically by the software manufacturing using the virtual disk activation manager program. The virtual appliance virtual disk stores the binaries of the software application, a software package created by the software manufacturer using a software package tool, an installer to execute the software package, installation and un-installation scripts and a unique identifier which is a signature for the virtual machine virtual disk.
摘要:
A software element database stores software element definitions according to a software element hierarchy. A score is assigned to at least one of the software element based at least in part upon the software element's hierarchy level. Further, virtual machine templates are stored in a library. The virtual machine templates include at least one software element associated with a software element from the software element database. A user enters a specification that specifies desired software elements to be included in the virtual machine via a user interface. After the specification is entered, the a score value is calculated for at least one virtual machine template from the library, based on the scores assigned to the software elements. Using the calculated score, the virtual machine template having the highest score value is selected and the selected virtual machine template is delivered as the virtual machine to a hypervisor.
摘要:
A software application distributed as a virtual appliance is automatically installed, updated and removed in a virtual machine system running on top of a virtual machine monitor in a computer. The software application virtual appliance comprises a virtual disk, which is automatically detected and installed or removed at the customer by a virtual disk activation manager program, which executes scripts including commands through an API to the virtual machine monitor. The virtual appliance virtual disk is also created automatically by the software manufacturing using the virtual disk activation manager program. The virtual appliance virtual disk stores the binaries of the software application, a software package created by the software manufacturer using a software package tool, an installer to execute the software package, installation and un-installation scripts and a unique identifier which is a signature for the virtual machine virtual disk.
摘要:
A method and system for managing locks for one or more resources in a distributed system including multiple distributed computing nodes, is provided. One implementation involves maintaining a database as a shared storage accessible by plural participating nodes for storing shared lock information, each participating node locally managing a local list of locks, the participating nodes cooperating in providing decentralized lock management across the nodes using the local and shared lock information, to achieve granting and releasing of locks for synchronizing access to one or more resources.
摘要:
A method is presented for recording and injecting a fault event during execution of a computer program. The method may include detecting a method call event during execution of the program, incrementing a counter to produce a counter value, and determining, based on a program execution state, a fault event to be generated. The fault event may be associated with a fault event type. The fault event type and the counter value may be stored, and the fault event may be generated. A second method call event may be detected during execution of the program and a second counter may be incremented, producing a second counter value. A previously-generated fault event associated with a counter value matching the second counter value may be identified, and the previously-generated fault event may be generated.
摘要:
A computer method and system dynamically provide consistency of Java application files. A processor executed routine is configured (e.g., instrumented as an agent) to intercept each class that is loaded into a subject Java application or JVM. The system computes a cyclic redundancy check (CRC) of the respective JAR file surrounding the loaded class. The system compares the computed CRC value to a CRC value of at least one other copy of the respective JAR file. Based on results of the comparison, the system determines consistency (e.g., same version) of the multiple copies of the respective JAR file used by the subject Java application. If the multiple copies of the respective JAR file are determined to be inconsistent, the system alerts the user and/or enables the application to abort. The comparative CRC value may be stored in a repository; and the step of comparing looks up the stored CRC value in the repository.
摘要:
A method, system and computer program product for optimizing memory usage of an application running on a virtual machine. A virtual machine memory block is pre-allocated and the average memory usage of the virtual machine is periodically computed using statistics collected from the virtual machine through an API. If the memory usage average becomes higher than a maximum threshold, then a recovery mode is entered by releasing the virtual machine memory block and forcing the running application to reduce its processing activity; optionally, a garbage collector cycle can be forced. If the computed memory usage average becomes lower than a minimum threshold value, which is lower than the maximum threshold value, then a normal mode is entered by re-allocating the virtual machine memory block and forcing the running application to resumes its normal processing activity. Optionally, when the virtual machine is idle, a deep garbage collection is forced.
摘要:
Techniques for reconfiguring a snapshot of a virtual machine (VM) may be provided. The VM may be deployed on a hypervisor running on a computer. Techniques comprise provisioning of a VM, installing and configuring an operating system and a base program. A snapshot of the virtual machine may be taken together with the operating system and the base program together with configuration data defining the configuration of the virtual machine, the operating system and base application in a metadata descriptor. All may be stored in a persistent storage. Then the content of the metadata descriptor may be modified, and it may be reverted back to the snapshot using the modified content of the metadata descriptor such that the snapshot of the virtual machine with the operating system and the base program is reconfigured upon deployment of the snapshot including the operating system and the base program.
摘要:
A software element database stores software element definitions according to a software element hierarchy. A score is assigned to at least one of the software element based at least in part upon the software element's hierarchy level. Further, virtual machine templates are stored in a library. The virtual machine templates include at least one software element associated with a software element from the software element database. A user enters a specification that specifies desired software elements to be included in the virtual machine via a user interface. After the specification is entered, the a score value is calculated for at least one virtual machine template from the library, based on the scores assigned to the software elements. Using the calculated score, the virtual machine template having the highest score value is selected and the selected virtual machine template is delivered as the virtual machine to a hypervisor.
摘要:
The invention provides a method and system for testing a software component, by instrumenting the software component under test with a component able to modify the execution of the component under test and able to generate an event corresponding to the performed modification, and by verifying that the order and the content of the event received match a predefined sequence.