IP Library Granted Patent US 9,524,180
Granted Patent B2
US 9,524,180 · App. 14/070,766 · Granted Dec 20, 2016

Managing virtual machines using tracing information

Inventors: Tomohiko Tashiro (Numazu, JP); Masao Yamamoto (Kawasaki, JP)
Assignee: FUJITSU LIMITED
G06F9/45558G06F2009/45591
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 9,524,180
App. No.
14/070,766
Granted
Dec 20, 2016
Kind
B2
Abstract

A virtual computer system including multiple virtual machines operating on a hypervisor, includes a trace information collecting section in the hypervisor configured to collect trace information including an operational state of a process on a first virtual machine of the multiple virtual machines from a context saving area corresponding to the first virtual machine, the process being executed when an interrupt is generated; multiple symbol map information collecting sections in the virtual machines, respectively, configured to collect symbol map information for identifying a process operating on each of the virtual machines from a management area included in each of the virtual machines to send the collected symbol map information to the hypervisor; and an analysis processing section in the hypervisor configured to associate the trace information with the symbol map information for each of the processes.

Claims (32)

1. A virtual computer system comprising one or more processors configured to implement a plurality of virtual machines and a hypervisor, the one or more processors including:

a trace information collecting section in the hypervisor configured to collect trace information including an operational state of a process on a first virtual machine of the plurality of virtual machines from a context saving area corresponding to the first virtual machine, the process being automatically executed when an interrupt is generated;

a plurality of symbol map information collecting sections in the plurality of virtual machines, respectively, configured to automatically collect symbol map information for identifying a process operating on each of the plurality of virtual machines from a management area included in each of the plurality of virtual machines to send the collected symbol map information to the hypervisor in response to the interrupt;

a data sending section configured to send the collected symbol map information from each of the plurality of virtual machines;

an analysis processing section in the hypervisor configured to associate the trace information with the symbol map information for each of the processes operating on each of the plurality of virtual machines,

wherein the trace information includes an execution address and a page table address value for each of the plurality of virtual machines, and the symbol map information includes a page table address and a process ID which are automatically set when a process operates on each of the plurality of virtual machines, and

for each of the processes, the analysis processing section is configured to automatically identify a process ID by searching for the page table address in the symbol map information by using the page table address value in the trace information, to obtain a process name allocated to the process ID, and

the analysis processing section is further configured to automatically identify a function address by searching for the page table address in the symbol map information by using the execution address in the trace information, to obtain a function name allocated to an area of the function address including the execution address; and

performing a management operation to a virtual machine identified by the function name.

2. The virtual computer system as claimed in claim 1 , wherein the trace information includes an identification number of the first virtual machine, the page table address value allocated to the process operating when the interrupt is generated, and the execution address,

wherein the symbol map information includes an identification number of the process operating on each of the plurality of virtual machines, the page table address, the process ID, and a function name and a function address of a function executed in the process,

wherein the analysis processing section associates the page table address value in the trace information with the page table address in the symbol map information, and associates the execution address in the trace information with the function name and the function address of the function in the symbol map information.

3. A method of managing a virtual computer system including a plurality of virtual machines operating on a hypervisor, the hypervisor being able to set an interrupt for each of one or more physical CPUs, the method comprising:

automatically generating a CPU interrupt periodically;

automatically collecting trace information including an operational state of a process on a first virtual machine of the plurality of virtual machines, the trace information being saved in a context saving area in the hypervisor upon the interrupt;

automatically collecting symbol map information in each of the plurality of virtual machines for identifying a process operating on each of the plurality of virtual machines from a management area included in each of the plurality of virtual machines;

automatically sending the collected symbol map information from each of the plurality of virtual machines; and

automatically associating the trace information with the symbol map information for each of the processes operating on each of the plurality of virtual machines,

wherein the trace information includes an execution address and a page table address value for each of the plurality of virtual machines, and the symbol map information includes a page table address and a process ID which are set when a process operates on each of the plurality of virtual machines, and

the associating includes

automatically identifying a process ID by searching for the page table address in the symbol map information by using the page table address value in the trace information, to obtain a process name allocated to the process ID for each of the processes,

automatically identifying a function address by searching for the page table address in the symbol map information by using the execution address in the trace information, to obtain a function name allocated to an area of the function address including the execution address for each of the processes; and

performing a management operation to a virtual machine identified by the function name.

4. A non-transitory computer-readable recording medium storing a program that causes a computer to execute a process for managing a virtual computer system including a plurality of virtual machines operating on a hypervisor, the hypervisor being able to set an interrupt for each of one or more physical CPUs, the process comprising:

automatically generating a CPU interrupt periodically;

automatically collecting trace information including an operational state of a process on a first virtual machine of the plurality of virtual machines, the trace information being saved in a context saving area in the hypervisor upon the interrupt;

automatically collecting symbol map information in each of the plurality of virtual machines for identifying a process operating on each of the plurality of virtual machines from a management area included in each of the plurality of virtual machines to send the collected symbol map information from each of the plurality of virtual machines to the hypervisor in response to the interrupt; and

automatically associating the trace information with the symbol map information for each of the processes,

wherein the trace information includes an execution address and a page table address value for each of the plurality of virtual machines, and the symbol map information includes a page table address and a process ID which are set when a process operates on each of the plurality of virtual machines, and the associating includes

automatically identifying a process ID by searching for the page table address in the symbol map information by using the page table address value in the trace information, to obtain a process name allocated to the process ID for each of the processes, and

automatically identifying a function address by searching for the page table address in the symbol map information by using the execution address in the trace information, to obtain a function name allocated to an area of the function address including the execution address for each of the processes; and

performing a management operation to a virtual machine identified by the function name.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2025
From: FSAS TECHNOLOGIES INC.
To: FUJITSU LIMITED
Reel/Frame 071225/0933 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ORIGINAL COVER SHEET BY REMOVING PATENT NUMBER 10586039 PREVIOUSLY RECORDED ON REEL 69272 FRAME 546. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 1, 2025
From: FUJITSU LIMITED
To: FSAS TECHNOLOGIES INC.
Reel/Frame 070764/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2024
From: FUJITSU LIMITED
To: FSAS TECHNOLOGIES INC.
Reel/Frame 069272/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2013
From: TASHIRO, TOMOHIKO; YAMAMOTO, MASAO
To: FUJITSU LIMITED
Reel/Frame 038108/0962 →
Priority Claims (1)
JP 2013-043158 · Mar 5, 2013 · national
Continuity (1)
Related Publication 20140259011A1 · Sep 11, 2014