IP Library Granted Patent US 8,090,808
Granted Patent B2
US 8,090,808 · App. 12/014,529 · Granted Jan 3, 2012

System for and method of network booting of an operating system to a client computer using hibernation

Assignee: Citrix Systems, Inc.
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 8,090,808
App. No.
12/014,529
Filed
Jan 15, 2008
Granted
Jan 3, 2012
Kind
B2
Art Unit
2442
USPC
709/222
Abstract

A system for and method of network booting of an operating system (O/S) on one or more client devices, such as personal computers (PC's), employing a hibernation image. Remote booting of sets of client devices is facilitated by employing virtual disk emulation and, in certain preferred embodiments, broadcasting or multicasting of data residing on a network server which is necessary to appropriately boot and configure the one or more client devices, the data including hibernation, O/S and application files.

Claims (36)

1. A method for streaming an operating system to one or more client devices from a server on a network, the method comprising:

identifying, by a pre-boot execution environment service executing on the one or more client devices, a first server having an address of a virtual boot drive resident on the network;

detecting, by the pre-boot execution environment service, the virtual boot drive having a hibernation file with operating system data;

establishing, with pre-boot execution code, a virtual drive connection between the one or more client devices and the virtual boot drive;

receiving, from the virtual boot drive, a requested master boot record;

executing the master boot record on the one or more client devices, the master boot record issuing a read request to the virtual boot drive for an operating system loader and issuing a write request to the virtual boot drive;

receiving, from the virtual boot drive in response to the read request, the operating system loader;

caching write requests issued during execution of the master boot record to prevent the write requests from being committed to the virtual boot drive to preserve the state of the virtual boot drive;

loading, by the operating system loader, the hibernation file downloaded from the virtual boot drive responsive to the read requests issued by the master boot record code;

activating, with the operating system, each of a storage driver and a network filter driver; and

storing, in cache memory, read and write requests issued by the operating system;

initializing, by the operating system, the network filter driver and a network interface card driver; and

retrieving from cache memory, by the storage driver, each of the stored read and write requests, the retrieval of the read and write requests restoring the operating system via the loaded hibernation file.

2. The method of claim 1 , further comprising receiving requested data sectors, each data sector transmitted by the virtual boot drive to the one or more client devices.

3. The method of claim 2 , further comprising:

relaying, by the network filter driver, a portion of the requested data sectors to a storage driver; and

reading, by the operating system, the portion of the requested data sectors to initialize the network filter driver.

4. The method of claim 1 , wherein locating further comprises, locating a boot server on the network, the boot server associated with the virtual boot drive.

5. A system for streaming an operating system to one or more client devices from a server on a network, the method comprising:

means for identifying, by a pre-boot execution environment service executing on the one or more client devices, a first server having an address of a virtual boot drive resident on the network;

means for detecting, by the pre-boot execution environment service, the virtual boot drive having a hibernation file with operating system data;

means for establishing, with pre-boot execution code, a virtual drive connection between the one or more client devices and the virtual boot drive;

means for receiving, from the virtual boot drive, a requested master boot record;

means for executing the master boot record on the one or more client devices, the master boot record issuing a read request to the virtual boot drive for an operating system loader and issuing a write request to the virtual boot drive;

means for receiving, from the virtual boot drive in response to the read request, the operating system loader;

means for caching write requests issued during execution of the master boot record to prevent the write requests from being committed to the virtual boot drive to preserve the state of the virtual boot drive;

means for loading, by the operating system loader, the hibernation file downloaded from the virtual boot drive responsive to the read requests issued by the master boot record code;

means for activating, with the operating system, each of a storage driver and a network filter driver;

means for storing, in cache memory, read and write requests issued by the operating system;

means for initializing, by the operating system, the network filter driver and a network interface card driver; and

means for retrieving from cache memory, by the storage driver, each of the stored read and write requests, the retrieval of the read and write requests restoring the operating system via the loaded hibernation file.

6. The system of claim 5 , further comprising a means for receiving requested data sectors, each data sector transmitted by the virtual boot drive to the one or more client devices.

7. The system of claim 6 , further comprising:

means for relaying, by the network filter driver, a portion of the requested data sectors to a storage driver; and

means for reading, by the operating system, the portion of the requested data sectors to initialize the network filter driver.

8. The system of claim 5 , wherein a means for locating further comprises, means for locating a boot server on the network, the boot server associated with the virtual boot drive.

Assignments (10)
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 →
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 →
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 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 7, 2013
From: ARDENCE, INC.
To: ARDENCE DELAWARE, INC.
Reel/Frame 031357/0033 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 15, 2011
From: ARDENCE DELAWARE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 027395/0519 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2008
From: BUROKAS, GINT; BUNCH, KENNY; LUSINSKY, ROBERT; GARELICK, MIKE; SANDUSKY, MARC
To: VENTURECOM, INC.
Reel/Frame 020539/0960 →
MERGER Recorded Feb 21, 2008
From: VENTURCOM, INC.
To: ARDENCE, INC.
Reel/Frame 020543/0553 →
Continuity (3)
Continuation 11199735 · Aug 9, 2005
Continuation 10125265 · Apr 18, 2002
Related Publication 20080140816A1 · Jun 12, 2008