IP Library Granted Patent US 10,185,575
Granted Patent B2
US 10,185,575 · App. 15/159,900 · Granted Jan 22, 2019

Computing device for operating a machine session with persistent read cache and non-persistent write cache and related methods

Inventor: Moso Lee (Nashua, NH)
Assignee: Citrix Systems, Inc.
G06F9/4416G06F9/4406G06F12/0868H04L67/025H04L67/04H04L67/06H04L67/10H04L67/1095H04L67/14H04L67/2842H04L67/2852H04L67/42G06F2212/154G06F2212/224G06F2212/60
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 10,185,575
App. No.
15/159,900
Granted
Jan 22, 2019
Kind
B2
Abstract

A computing device may include at least one memory and a processor cooperating therewith to receive a streaming base disk image from a base disk on a provisioning server over a network upon booting up the computing device, and operate a machine session on the computing device from the streaming base disk image. Furthermore, while the machine session operates on the computing device from the streaming base disk image, the processor may further cooperate with the at least one memory to download and store the base disk image over the network from the provisioning server to a persistent read cache in the at least one memory that persists on the client device after rebooting, and store modifications to the streaming base disk image in a non-persistent write cache in the at least one memory that does not persist on the client device after rebooting.

Claims (33)

1. A computing device comprising:

at least one memory and a processor cooperating therewith to

receive a streaming base disk image from a base disk on a provisioning server over a network upon booting up the computing device, and operate a machine session on the computing device from the streaming base disk image, and

while the machine session operates on the computing device from the streaming base disk image,

download and store the base disk image over the network from the provisioning server to a persistent read cache in the at least one memory that persists on the client device after rebooting, and

store modifications to the streaming base disk image in a non-persistent write cache in the at least one memory that does not persist on the client device after rebooting;

wherein during a next boot up of the computing device the processor determines whether the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server, and when the base disk image in the persistent read cache is not synchronized with the base disk on the provisioning server the processor receives the streaming base disk image from the base disk on the provisioning server and operates the machine session from both the streaming base disk image and the unsynchronized base disk image in the persistent read cache.

2. The computing device of claim 1 wherein after the next boot up, when the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server, the processor operates the machine session from the synchronized base disk image in the persistent read cache.

3. The computing device of claim 1 wherein the processor further resumes downloading and storing the base disk image from the provisioning server to the persistent read cache after the next boot up.

4. The computing device of claim 1 wherein after the next boot up, when the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server, the processor operates the machine session in an offline mode from the synchronized base disk image in the persistent read cache based upon detecting a boot device.

5. The computing device of claim 1 wherein the processor downloads and stores the base disk image to the persistent read cache in the background while the machine session operates on the computing device.

6. The computing device of claim 1 wherein the processor is further configured to determine a size of the base disk on the provisioning server before downloading and storing the base disk image to the persistent read cache.

7. The computing device of claim 1 wherein the at least one memory comprises a hard disk and a random access memory (RAM); and wherein the persistent read cache is in the hard disk, and the non-persistent write cache is in at least one of the RAM and the hard disk.

8. A method for using a computing device comprising:

receiving a streaming base disk image from a base disk on a provisioning server over a network upon booting up the computing device, and operating a machine session on the computing device from the streaming base disk image;

while the machine session operates on the computing device from the streaming base disk image,

downloading and storing the base disk image over the network from the provisioning server to a persistent read cache that persists on the client device after rebooting, and

storing modifications to the streaming base disk image in a non-persistent write cache that does not persist on the client device after rebooting;

determining, during a next boot up of the computing device, whether the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server; and

when the base disk image in the persistent read cache is not synchronized with the base disk on the provisioning server, receiving the streaming base disk image from the base disk on the provisioning server and operating the machine session from both the streaming base disk image and the unsynchronized base disk image in the persistent read cache.

9. The method of claim 8 further comprising after the next boot up, when the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server, operating the machine session from the synchronized base disk image in the persistent read cache.

10. The method of claim 8 further comprising resuming downloading and storing the base disk image from the provisioning server to the persistent read cache after the next boot up.

11. The method of claim 8 further comprising after the next boot up, when the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server, operating the machine session in an offline mode from the synchronized base disk image in the persistent read cache based upon detecting a boot device.

12. A non-transitory computer-readable medium having computer-executable instructions for causing a computing device to perform steps comprising:

receiving a streaming base disk image from a base disk on a provisioning server over a network upon booting up the computing device, and operating a machine session on the computing device from the streaming base disk image; and

while the machine session operates on the computing device from the streaming base disk image,

downloading and storing the base disk image over the network from the provisioning server to a persistent read cache that persists on the client device after rebooting, and

storing modifications to the streaming base disk image in a non-persistent write cache that does not persist on the client device after rebooting;

determining, during a next boot up of the computing device, whether the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server; and

when the base disk image in the persistent read cache is not synchronized with the base disk on the provisioning server, receiving the streaming base disk image from the base disk on the provisioning server and operating the machine session from both the streaming base disk image and the unsynchronized base disk image in the persistent read cache.

13. The non-transitory computer-readable medium of claim 12 further having computer-executable instructions for causing the computing device to, after the next boot up, when the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server, operate the machine session from the synchronized base disk image in the persistent read cache.

14. The non-transitory computer-readable medium of claim 12 further having computer-executable instructions for causing the computing device to resume downloading and storing the base disk image from the provisioning server to the persistent read cache after the next boot up.

15. The non-transitory computer-readable medium of claim 12 further having computer-executable instructions for causing the computing device to, after the next boot up, when the base disk image in the persistent read cache is synchronized with the base disk on the provisioning server, operate the machine session in an offline mode from the synchronized base disk image in the persistent read cache based upon detecting a boot device.

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 May 20, 2016
From: LEE, MOSO
To: CITRIX SYSTEMS, INC
Reel/Frame 038660/0288 →
Continuity (1)
Related Publication 20170337070A1 · Nov 23, 2017