System and method for generating application-level dependencies in one or more virtual machines
First Claim
Patent Images
1. A system for generating application-level dependencies in one or more virtual machines (VMs), comprising:
- an application performance management (APM) server running on a physical machine, wherein said APM server accepts a request and sends a control command to at least one forward daemon, each of said at least one forward daemon transfers the control command to a corresponding VM manager to turn on at least one inspecting status of at least one VM of said one or more VMs, and said APM server further generates an application trajectory of a selected application and exports application-level dependencies from the application trajectory for said selected application;
one or more intercepting modules, wherein each intercepting module intercepts a guest operating system (OS) at transmission control protocol (TCP) send and closely-related operations on the at least one related VM; and
one or more introspecting modules, wherein each introspecting module performs VM introspection for TCP connection and running thread information;
wherein each intercepting module intercepts either by hardware breakpoint at thread-level or by intercepting TCP-related system calls;
wherein a decision to select an intercept mechanism depends on a number of hardware debug registers supported by a central processing unit (CPU) and a number of TCP send and closely-related functions; and
wherein when the number of hardware debug registers supported by a CPU is greater than the number of TCP send and closely-related functions, intercepting by hardware breakpoint is selected as the intercept mechanism.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique generates application-level dependencies in one or more virtual machines (VMs). An intercepting module in a VM monitor intercepts a guest operation system (OS) at TCP send and close related operations. An introspecting module in the VM monitor performs VM introspection for TCP connection and thread information by checking running thread and processing socket kernel objects. It generates an application trajectory and exports application dependencies from the application trajectory for a selected application.
43 Citations
26 Claims
-
1. A system for generating application-level dependencies in one or more virtual machines (VMs), comprising:
-
an application performance management (APM) server running on a physical machine, wherein said APM server accepts a request and sends a control command to at least one forward daemon, each of said at least one forward daemon transfers the control command to a corresponding VM manager to turn on at least one inspecting status of at least one VM of said one or more VMs, and said APM server further generates an application trajectory of a selected application and exports application-level dependencies from the application trajectory for said selected application; one or more intercepting modules, wherein each intercepting module intercepts a guest operating system (OS) at transmission control protocol (TCP) send and closely-related operations on the at least one related VM; and one or more introspecting modules, wherein each introspecting module performs VM introspection for TCP connection and running thread information; wherein each intercepting module intercepts either by hardware breakpoint at thread-level or by intercepting TCP-related system calls; wherein a decision to select an intercept mechanism depends on a number of hardware debug registers supported by a central processing unit (CPU) and a number of TCP send and closely-related functions; and wherein when the number of hardware debug registers supported by a CPU is greater than the number of TCP send and closely-related functions, intercepting by hardware breakpoint is selected as the intercept mechanism. - View Dependent Claims (3, 6, 8, 9, 10, 11)
-
- 2. The system as claimed in 1, wherein said each introspecting module performs said VM introspection by checking the guest OS'"'"'s running kernel data structure, getting one or more running threads and TCP connection information, and generating one or more per-thread traffic logs for sending to said APM server via said forward daemon.
-
12. A computer-implemented method for generating application-level dependencies in one or more virtual machines (VMs), comprising:
-
under control of one or more physical servers that provide a virtual environment having said one or more VMs, performing the following; intercepting a guest operating system (OS) at transmission control protocol (TCP) send and closely-related operations of at least one related VM of said one or more VMs; performing VM introspection for TCP connection and running thread information; generating an application trajectory of a selected application and exporting application dependencies from the application trajectory for the selected application; and implementing the intercepting either by hardware breakpoint at thread-level or by intercepting TCP-related system calls; wherein a decision to select an intercept mechanism depends on a number of hardware debug registers supported by a central processing unit (CPU) and a number of TCP send and closely-related functions; and wherein when the number of hardware debug registers supported by a CPU is greater than the number of TCP send and closely-related functions, intercepting by hardware breakpoint is selected as the intercept mechanism. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for generating application-level dependencies in one or more virtual machines (VMs), comprising:
-
an application performance management (APM) server running on a physical machine, wherein said APM server accepts a request and sends a control command to at least one forward daemon, each of said at least one forward daemon transfers the control command to a corresponding VM manager to turn on at least one inspecting status of at least one VM of said one or more VMs, and said APM server further generates an application trajectory of a selected application and exports application-level dependencies from the application trajectory for said selected application; one or more intercepting modules, wherein each intercepting module intercepts a guest operating system (OS) at transmission control protocol (TCP) send and closely-related operations on the at least one related VM; and one or more introspecting modules, wherein each introspecting module performs VM introspection for TCP connection and running thread information; wherein each intercepting module intercepts either by hardware breakpoint or by intercepting TCP-related system calls; wherein a decision to select an intercept mechanism depends on a number of hardware debug registers supported by a central processing unit (CPU) and a number of TCP send and closely-related functions; and wherein when the number of hardware debug registers supported by a CPU is not greater than the number of TCP send and closely-related functions, intercepting TCP-related system calls is selected as the intercept mechanism, the intercepting TCP-related system calls including cloning a shadow service descriptor table (SDT) in a VM monitor and modifying the SDT to intercept TCP-related system calls.
-
-
26. A computer-implemented method for generating application-level dependencies in one or more virtual machines (VMs), comprising:
-
under control of one or more physical servers that provide a virtual environment having said one or more VMs, performing the following; intercepting a guest operating system (OS) at transmission control protocol (TCP) send and closely-related operations of at least one related VM of said one or more VMs; performing VM introspection for TCP connection and running thread information; generating an application trajectory of a selected application and exporting application dependencies from the application trajectory for the selected application; and implementing the intercepting either by hardware breakpoint or by intercepting TCP-related system calls; wherein a decision to select an intercept mechanism depends on a number of hardware debug registers supported by a central processing unit (CPU) and a number of TCP send and close related functions; and wherein when the number of hardware debug registers supported by a CPU is not greater than the number of TCP send and closely-related functions, intercepting TCP-related system calls is selected as the intercept mechanism, the intercepting TCP-related system calls including cloning a shadow service descriptor table (SDT) in a VM monitor and modifying the SDT to intercept TCP-related system calls.
-
Specification