Timer offsetting mechanism in a virtual machine environment
First Claim
Patent Images
1. A method comprising:
- receiving a request to transition control of a guest software from a virtual machine monitor (VMM) to an existing first virtual machine (VM), the first VM and VMM residing at an application server of a computer system;
transitioning control to the first VM upon receiving the request from the VMM;
calculating an offset value, the offset value being an aggregate value of time intervals during which the first VM being used was not running due to an execution of the VMM or a second VM, wherein calculating the offset value comprises determining a difference between a timer value read upon receiving the request to transition control to the VM and a timer value saved upon detecting a prior event associated with a transition of control from the VM to the VMM, and subtracting the difference from a value of a timer offset field;
during execution of the first VM, adjusting a current value of a timer based on the difference between the current value and the calculated offset value; and
providing the adjusted timer value to the first VM.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving a request to transition control to a virtual machine (VM) from a virtual machine monitor (VMM), calculating an offset value, receiving, during operation of the VM, a request for a current value of the timer, adjusting the current value of the timer based on the offset value, and providing the adjusted timer value to the VM.
245 Citations
16 Claims
-
1. A method comprising:
-
receiving a request to transition control of a guest software from a virtual machine monitor (VMM) to an existing first virtual machine (VM), the first VM and VMM residing at an application server of a computer system; transitioning control to the first VM upon receiving the request from the VMM; calculating an offset value, the offset value being an aggregate value of time intervals during which the first VM being used was not running due to an execution of the VMM or a second VM, wherein calculating the offset value comprises determining a difference between a timer value read upon receiving the request to transition control to the VM and a timer value saved upon detecting a prior event associated with a transition of control from the VM to the VMM, and subtracting the difference from a value of a timer offset field; during execution of the first VM, adjusting a current value of a timer based on the difference between the current value and the calculated offset value; and providing the adjusted timer value to the first VM. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a computer system having a memory and a processor coupled with the memory, the memory including a first virtual machine (VM) and a virtual machine monitor (VMM), the computer system further having an application server, the application server to; receive a request to transition control of a guest software from the VMM to the first VM, the first VM and VMM residing at an application server of a computer system; and calculate an offset value being an aggregate value of time intervals during which the first VM being used was not running due to an execution of the VMM or a second VM, and, during the execution of the first VM, adjust a current value of a timer based on the difference between the current value and the calculated offset value, wherein the offset value is calculated by determining a difference between a timer value read upon receiving the request to transition control to the VM and a timer value saved upon detecting a prior event associated with a transition of control from the VM to the VMM, and subtracting the difference from a value of a timer offset field; and provide the adjusted timer value to the first VM. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory machine-readable storage medium containing instructions which, when executed, cause a machine to:
-
receive a request to transition control of a guest software from a virtual machine monitor (VMM) to an existing first virtual machine (VM), the first VM and VMM residing at an application server of a computer system; calculate an offset value, the offset value being an aggregate value of time intervals during which the first VM being used was not running due to an execution of the VMM or a second VM, wherein the offset value is calculated by determining a difference between a timer value read upon receiving the request to transition control to the VM and a timer value saved upon detecting a prior event associated with a transition of control from the VM to the VMM, and subtracting the difference from a value of a timer offset field; during execution of the first VM, adjust a current value of a timer based on the difference between the current value and the calculated offset value; and provide the adjusted timer value to the first VM. - View Dependent Claims (15, 16)
-
Specification