IP Library Granted Patent US 8,156,477
Granted Patent B2
US 8,156,477 · App. 11/944,252 · Granted Apr 10, 2012

Method and system for assessing virtualization capability of a software application

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,156,477
App. No.
11/944,252
Granted
Apr 10, 2012
Kind
B2
Abstract

A method for assessing virtualization capability of a software application involves monitoring execution of the software application to obtain performance data associated with the software application, analyzing the performance data to determine whether the software application satisfies virtualization requirements, and generating a virtualization score indicating virtualization capability of the software application based on the analyzing.

Claims (48)

1. A method for assessing virtualization capability of a software application, comprising:

monitoring execution of at least a first subsystem of the software application and a second subsystem of the software application to obtain a plurality of performance data associated with each of the first and second subsystems of the software application,

wherein the first subsystem comprises network stack usage and the second subsystem comprises storage input/output, and wherein performance data obtained for each of the first and second subsystems includes at least execution time, memory usage, and port usage, and

wherein the monitoring is performed by a plurality of probes executing in a tracing framework and placed at a plurality of points in the software application;

analyzing the plurality of performance data to determine whether the software application satisfies a plurality of virtualization requirements; and

generating a virtualization score indicating virtualization capability of the software application based on the analyzing, wherein the virtualization score indicates how easily the software application is able to be ported to a particular virtualized environment with which the plurality of virtualization requirements are associated.

2. The method of claim 1 , further comprising:

displaying the virtualization score to a user.

3. The method of claim 1 , further comprising:

generating a virtualization template for the software application based on the virtualization score, wherein the virtualization template comprises a plurality of software instructions for hosting the software application in a virtualized environment.

4. The method of claim 1 , further comprising:

obtaining a project-specific virtualization requirement for the software application, wherein the virtualization score is further based on the project-specific virtualization requirement.

5. The method of claim 1 , wherein the virtualization score comprises one selected from the group consisting of a first value indicating that no changes are required for virtualization of the software application, a second value indicating that a configuration change is required for virtualization of the software application, and a third value indicating that an application code change is required for virtualization of the software application.

6. The method of claim 1 , wherein the virtualization score is specific to one selected from a group consisting of the first subsystem and the second subsystem of the software application.

7. The method of claim 1 , wherein the plurality of virtualization requirements comprises at least one selected from the group consisting of a verifiably secure execution path of the software application and compatibility of the software application with other software applications that are candidates for virtualization.

8. A system comprising:

a memory;

a processor;

a plurality of software monitoring tools configured to monitor execution of at least a first subsystem of a software application and a second subsystem of the software application to obtain a plurality of performance data associated with the each of the first and second subsystems of the software application,

wherein the first subsystem comprises network stack usage and the second subsystem comprises storage input/output, and wherein performance data obtained for each of the first and second subsystems includes at least execution time, memory usage, and port usage, and

wherein the monitoring is performed by a plurality of probes executing in a tracing framework and placed at a plurality of points in the software application; and

a virtualization assessment tool configured to:

analyze the plurality of performance data to determine whether the software application satisfies a plurality of virtualization requirements, and

generate a virtualization score indicating virtualization capability of the software application based on the analyzing, wherein the virtualization score indicates how easily the software application is able to be ported to a particular virtualized environment with which the plurality of virtualization requirements are associated,

wherein the plurality of software monitoring tools and the virtualization assessment tool are resident in the memory and executed by the processor.

9. The system of claim 8 , wherein the virtualization assessment tool is further configured to:

display the virtualization score to a user.

10. The system of claim 8 , wherein the virtualization assessment tool is further configured to:

generate a virtualization template for the software application based on the virtualization score, wherein the virtualization template comprises a plurality of software instructions for hosting the software application in a virtualized environment.

11. The system of claim 8 , wherein the virtualization assessment tool is further configured to:

obtain a project-specific virtualization requirement for the software application, wherein the virtualization score is further based on the project-specific virtualization requirement.

12. The system of claim 8 , wherein the virtualization score comprises one selected from the group consisting of a first value indicating that no changes are required for virtualization of the software application, a second value indicating that a configuration change is required for virtualization of the software application, and a third value indicating that an application code change is required for virtualization of the software application.

13. The system of claim 8 , wherein the virtualization score is specific to one of the first or the second subsystems of the software application.

14. A non-transitory computer readable medium comprising a plurality of executable instructions for assessing virtualization capability of a software application, wherein the plurality of executable instructions comprises instructions to:

monitor execution of at least a first subsystem of the software application and a second subsystem of the software application to obtain a plurality of performance data associated with each of the first and second subsystems of the software application,

wherein the first subsystem comprises network stack usage and the second subsystem comprises storage input/output, and wherein performance data obtained for each of the first and second subsystems includes at least execution time, memory usage, and port usage, and

wherein the monitoring is performed by a plurality of probes executing in a tracing framework and placed at a plurality of points in the software application;

analyze the plurality of performance data to determine whether the software application satisfies a plurality of virtualization requirements; and

generate a virtualization score indicating virtualization capability of the software application based on the analyzing, wherein the virtualization score indicates how easily the software application is able to be ported to a particular virtualized environment with which the plurality of virtualization requirements are associated.

15. The non-transitory computer readable medium of claim 14 , wherein the plurality of executable instructions further comprises instructions to:

display the virtualization score to a user.

16. The non-transitory computer readable medium of claim 14 , wherein the plurality of executable instructions further comprises instructions to:

generate a virtualization template for the software application based on the virtualization score, wherein the virtualization template comprises a plurality of software instructions for hosting the software application in a virtualized environment.

17. The non-transitory computer readable medium of claim 14 , wherein the plurality of executable instructions further comprises instructions to:

obtain a project-specific virtualization requirement for the software application, wherein the virtualization score is further based on the project-specific virtualization requirement.

18. The non-transitory computer readable medium of claim 14 , wherein the virtualization score comprises one selected from the group consisting of a first value indicating that no changes are required for virtualization of the software application, a second value indicating that a configuration change is required for virtualization of the software application, and a third value indicating that an application code change is required for virtualization of the software application.

19. The non-transitory computer readable medium of claim 14 , wherein the virtualization score is specific to one selected from a group consisting of the first susbsystem and the second subsystem of the software application.

20. The non-transitory computer readable medium of claim 14 , wherein the plurality of virtualization requirements comprises at least one selected from the group consisting of a verifiably secure execution path of the software application and compatibility of the software application with other software applications that are candidates for virtualization.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0150 →