IP Library Granted Patent US 9,430,265
Granted Patent B1
US 9,430,265 · App. 14/813,394 · Granted Aug 30, 2016

System and method for handling I/O timeout deadlines in virtualized systems

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,430,265
App. No.
14/813,394
Granted
Aug 30, 2016
Kind
B1
Abstract

Method for avoiding Guest I/O timeout, including generating a request to an I/O device in a Guest Operating System (GOS) running inside a VM; setting a VM timeout deadline; in a hypervisor, setting a supervisory timeout deadline for the I/O device to respond that is shorter than the VM timeout deadline; if no response is received before expiration of the supervisory timeout deadline, pausing the GOS; freezing system time of the GOS; activating a handler for the I/O device response in the hypervisor; upon receipt of the response prior to the supervisory timeout deadline, forwarding the response to the GOS, unpausing the GOS, unfreezing the system time of the GOS; upon receipt of the response after the supervisory timeout deadline, and after the GOS is unpaused by the hypervisor, the Guest OS receives the response from the hardware device; and if no response is received, the GOS is kept paused.

Claims (38)

1. A method for avoiding Guest I/O timeout, comprising:

a. generating a request to an I/O device in a Guest Operating System (OS);

b. setting a Virtual Machine (VM) timeout deadline to prevent a VM from failing if a response from the I/O device is not received;

c. in a component that manages the VM, setting an I/O deadline for the I/O device to respond, wherein the I/O deadline is shorter than the VM timeout deadline;

d. if a response from the I/O device is not received prior to expiration of the I/O deadline, pausing the Guest OS by halting all processes running on a virtual CPU associated with the VM;

e. freezing a system time of the Guest OS;

f. upon receipt of the response after the I/O deadline, forwarding the response to the Guest OS, unpausing the Guest OS and unfreezing the system time;

g. upon receipt of the response by the Guest OS after the I/O deadline, and after the Guest OS is unpaused, the Guest OS is able to receive the response from the I/O device and delete the VM timeout deadline; and

h. if no response is received from the I/O device, the Guest OS is kept in a paused state with the system time frozen.

2. The method of claim 1 , wherein the I/O device is a hard disk drive.

3. The method of claim 1 , wherein the I/O device is a network storage device.

4. The method of claim 1 , wherein the I/O device is any of:

a flash drive;

a magnetic tape;

a CD ROM drive; and

a DVD drive.

5. The method of claim 1 , wherein the I/O device is any hardware device for which the Guest OS has a driver.

6. The method of claim 1 , further comprising compensating for time lags in a time frame of the Guest OS relative to a time frame of a host OS.

7. The method of claim 6 , wherein the time frame of the Guest OS is nonlinearly related to the time frame of the host OS.

8. A method for avoiding multiple Guest I/O timeouts, comprising:

a. generating a request to an I/O device in a Guest Operating System (OS);

b. setting a VM timeout deadline to prevent a Virtual Machine (VM) from failing if a response from the I/O device is not received;

c. in a component that has a higher privilege level than the VM, setting an I/O deadline for the I/O device to respond, wherein the I/O deadline is shorter than the VM timeout deadline;

d. receiving additional requests to the I/O device prior to expiration of the I/O deadline;

e. setting I/O deadlines for the additional requests, and writing all the I/O deadlines into a deadline structure;

f. if a response from the I/O device is received prior to expiration of the I/O deadline in c, forwarding the response to the Guest OS, and deleting the I/O deadline for the request to the I/O device corresponding to the received response, from the deadline structure;

g. if a response from the I/O device is not received prior to expiration of the I/O deadline in c, pausing the Guest OS by halting all processes running on a virtual CPU associated with the VM;

h. freezing a system time of the Guest OS;

i. upon receipt of the response to the request after the I/O deadline, checking if other requests from the VM are pending in the deadline structure;

j. if any pending requests remain in the deadline structure, keeping the Guest OS paused;

k. if no other requests from the VM are pending in the deadline structure, unpausing the Guest OS and unfreezing the system time; and

l. if no response is received from the I/O device, the Guest OS remains paused with the system time frozen.

9. The method of claim 8 , wherein the deadline structure is any of:

a simple list;

an ordered list; and

a hierarchical tree and other structure for recording, storage and quick retrieval.

10. The method of claim 8 , wherein the hypervisor handles I/O responses during the Guest OS pause with longer in duration VM timeout deadlines, if the response has been received while the Guest OS is paused, and deletes deadlines for completed requests from the deadline structure.

11. A computer program product comprising a non-transitory computer-readable storage medium storing code for performing the steps of claim 8 .

Assignments (6)
NUNC PRO TUNC ASSIGNMENT Recorded Nov 9, 2021
From: INGRAM MICRO INC.
To: CLOUDBLUE LLC
Reel/Frame 058081/0507 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056756/0806 →
ABL SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056756/0820 →
NOTES SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 056756/0834 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2016
From: PARALLELS IP HOLDINGS GMBH
To: INGRAM MICRO INC.
Reel/Frame 039459/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2015
From: LUNEV, DENIS
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 036215/0994 →