IP Library › Granted Patent US 11,481,325
Granted Patent B2
US 11,481,325 · App. 16/834,674 · Granted Oct 25, 2022

Secure fast reboot of a virtual machine

Inventors: Yuhua Lu (Hollis, NH); Graham MacDonald (Bedford, NH); Lanyue Xu (Windham, NH); Roger Cruz (Boxboro, MA)
Assignee: Citrix Systems, Inc.
G06F12/0811G06F9/45558G06F9/5016G06F12/0891G06F2009/45562G06F2009/45583G06F2009/45595
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 11,481,325
App. No.
16/834,674
Filed
Mar 30, 2020
Granted
Oct 25, 2022
Kind
B2
Art Unit
2133
USPC
711/118
Abstract

A system for managing a virtual machine is provided. The system includes a processor configured to initiate a session for accessing a virtual machine by accessing an operating system image from a system disk and monitor read and write requests generated during the session. The processor is further configured to write any requested information to at least one of a memory cache and a write back cache located separately from the system disk and read the operating system image content from at least one of the system disk and a host cache operably coupled between the system disk and the at least one processor. Upon completion of the computing session, the processor is configured to clear the memory cache, clear the write back cache, and reboot the virtual machine using the operating system image stored on the system disk or stored in the host cache.

Claims (67)

1. A computer system for managing a virtual machine, the system comprising:

a memory;

a network interface; and

at least one processor coupled to the memory and the network interface and configured to

initiate a computing session for accessing a virtual machine by accessing an operating system image from a system disk,

manage the computing session by monitoring read and write requests generated during the computing session,

for write requests, write any requested information to at least one of a memory cache and a write back cache located separately from the system disk,

for read requests for operating system image content, read the operating system image content from at least one of the system disk and a host cache operably coupled between the system disk and the at least one processor, the host cache configured to store a copy of the operating system image such that the copy of the operating system image is unaltered during the computing session,

determine a completion of the computing session, and

upon completion of the computing session

clear the memory cache,

clear the write back cache, and

reboot the virtual machine using the copy of the operating system image stored in the host cache;

wherein the at least one processor is further configured to

determine whether a read request is for session-specific data or system data stored on at least one of the system disk and the host cache,

access at least one of the system disk and the host cache if the read request is for system data, and

access at least one of the memory cache and the write back cache if the read request is for session-specific data.

2. The computer system of claim 1 , wherein the processor being configured to access at least one of the memory cache and the write back cache comprises the at least one processor being configured to:

determine whether the session-specific data is located on the memory cache or the write back cache;

access the memory cache and return the session-specific data if the at least one processor determines the session-specific data is on the memory cache; and

access the write back cache and return the session-specific data if the at least one processor determines the session-specific data is on the write back cache.

3. The computer system of claim 1 , wherein the at least one processor is further configured to:

determine whether a memory cache is within a threshold of being filled; and

if the memory cache is within the threshold of being filled, copy data stored on the memory cache to the write back cache.

4. The computer system of claim 1 , wherein the memory cache is stored on the memory coupled to the at least one processor and the write back cache is stored on a network memory coupled to the at least one processor via the network interface.

5. A method of managing a virtual machine, the method comprising:

initiating, by at least one processor, a computing session for accessing a virtual machine by accessing an operating system image from a system disk;

managing, by the at least one processor, the computing session by monitoring read and write requests generated during the computing session;

for write requests, writing, by the at least one processor, any requested information to at least one of a memory cache and a write back cache located separately from the system disk;

for read requests for operating system image content, reading the operating system image content from at least one of the system disk and a host cache operably coupled between the system disk and the at least one processor, the host cache configured to store a copy of the operating system image such that the copy of the operating system image is unaltered during the computing session;

for read requests for operating system image content that is not stored in the host cache, storing the requested operating system image content in the host cache;

determining, by the at least one processor, whether a read request is for session-specific data or system data stored on at least one of the system disk and the host cache;

accessing, by the at least one processor, at least one of the system disk and the host cache if the read request is for system data;

accessing, by the at least one processor, at least one of the memory cache and the write back cache if the read request is for session-specific data;

determining, by the at least one processor, a completion of the computing session; and

upon completion of the computing session

clearing, by the at least one processor, the memory cache and the write back cache, and

rebooting, by the at least one processor, the virtual machine using stored in the host cache.

6. The method of claim 5 , wherein accessing at least one of the memory cache and the write back cache comprises:

determining, by the at least one processor, whether the session-specific data is located on the memory cache or the write back cache;

accessing, by the at least one processor, the memory cache and returning the session-specific data if the at least one processor determines the session-specific data is on the memory cache; and

accessing, by the at least one processor, the write back cache and returning the session-specific data if the at least one processor determines the session-specific data is on the write back cache.

7. The method of claim 5 , further comprising:

determining, by the at least one processor, whether a memory cache is within a threshold of being filled; and

if the memory cache is within the threshold of being filled, copying, by the at least one processor, data stored on the memory cache to the write back cache.

8. The method of claim 5 , wherein the memory cache is stored on a memory locally operably coupled to the at least one processor and the write back cache is stored on a network memory located remotely from the at least one processor and coupled to the at least one processor via a network interface.

9. A non-transitory computer readable medium storing computer executable instructions to manage a virtual machine, the computer executable instructions comprising instructions to:

initiate a computing session for accessing a virtual machine by accessing an operating system image from a system disk operably coupled to at least one processor;

manage the computing session by monitoring read and write requests generated during the computing session;

for write requests, write any requested information to at least one of a memory cache and a write back cache located separately from the system disk;

for read requests for operating system image content, reading the operating system image content from at least one of the system disk and a host cache operably coupled between the system disk and the at least one processor, the host cache configured to store a copy of the operating system image such that the copy of the operating system image is unaltered during the computing session;

for read requests for operating system image content that is not stored in the host cache, store the requested operating system image content in the host cache;

determine whether a read request is for session-specific data or system data stored on at least one of the system disk and the host cache;

access at least one of the system disk and the host cache if the read request is for system data;

access at least one of the memory cache and the write back cache if the read request is for session-specific data;

determine a completion of the computing session; and

upon completion of the computing session

clear the memory cache and the write back cache, and

reboot the virtual machine using the copy of the operating system image stored in the host cache.

10. The computer readable medium of claim 9 , wherein the instructions to access at least one of the memory cache and the write back cache if the read request is for session-specific data comprise instructions to:

determine whether the session-specific data is located on the memory cache or the write back cache;

access the memory cache and return the session-specific data if the at least one processor determines the session-specific data is on the memory cache; and

access the write back cache and return the session-specific data if the at least one processor determines the session-specific data is on the write back cache.

11. The computer readable medium of claim 9 , wherein the instructions further comprise instructions to:

determine whether a memory cache is within a threshold of being filled; and

if the memory cache is within the threshold of being filled, copy data stored on the memory cache to the write back cache.

12. The computer readable medium of claim 11 , wherein the memory cache is stored on a memory locally operably coupled to the at least one processor and the write back cache is stored on a network memory located remotely from the at least one processor and coupled to the at least one processor via a network interface.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2020
From: LU, YUHUA; MACDONALD, GRAHAM; XU, LANYUE; CRUZ, ROGER
To: CITRIX SYSTEMS, INC.
Reel/Frame 054137/0250 →
Continuity (1)
Related Publication 20210303469A1 · Sep 30, 2021