IP Library Granted Patent US 7,334,122
Granted Patent B2
US 7,334,122 · App. 11/199,735 · Granted Feb 19, 2008

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

Assignee: Ardence, 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 7,334,122
App. No.
11/199,735
Granted
Feb 19, 2008
Kind
B2
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 (63)

1. A method for booting a client computer to a predetermined state via a network, the method comprising:

issuing, by a client executing emulation code and client disk access interrupt procedures, a request for a first set of sectors of a virtual hard disk associated with a server computing device, the first set of sectors comprising a first boot file;

receiving, via the network, the first boot file from the server computing device;

executing the contents of the first boot file, the executing comprising:

installing a second client disk access interrupt handler procedure that intercepts a read request and a write request to a hard disk, forwards the read request to the server computing device, and caches the write request to prevent the write request from being executed at the virtual hard disk to preserve the state of the virtual hard disk; and

issuing a second request for a second set of sectors that comprise a second boot file;

receiving, from the server computing device, the second boot file, the second boot file comprising an O/S boot file;

executing the second boot file, the executing comprising:

issuing a third request for a third set of sectors comprising a hibernation image;

receiving the hibernation image, the hibernation image comprising the contents of local memory, memory management information, and other state information needed to restore the client to the pre-determined operating state;

loading the hibernation image into client memory; and

initializing drivers, data structures and applications associated with the O/S to thereby restore the client computer to the predetermined state.

2. The method of claim 1 wherein the second client disk access interrupt handler caches the write requests locally at the client.

3. The method of claim 1 wherein the second client disk access interrupt handler caches the write requests at a location on the network.

4. The method of claim 1 wherein the emulation code comprises PXE code resident on the client.

5. The method of claim 1 wherein initializing drivers comprises initializing a network filter driver and a storage driver to enable server emulation.

6. The method of claim 1 wherein receiving the hibernation image comprises receiving the hibernation image via the server.

7. The method of claim 1 wherein receiving the second boot file comprises, receiving the second boot file on a sector-by-sector basis.

8. The method of claim 7 further comprising requesting, by the client, retransmission of one of the sectors of the second boot file.

9. The method of claim 1 wherein receiving the hibernation image comprises, receiving the hibernation image on a sector-by-sector basis.

10. The method of claim 9 further comprising requesting, by the client, retransmission of one of the sectors of the hibernation image.

11. A computer readable medium having instructions thereon that when executed cause a client computer to boot to a predetermined state via a network, the computer readable medium comprising:

instructions to issue, by a client executing emulation code and client disk access interrupt procedures, a request for a first set of sectors of a virtual hard disk associated with a server computing device, the first set of sectors comprising a first boot file;

instructions to receive, via the network, the first boot file from the server computing device;

instructions to execute the contents of the first boot file, the instructions to execute comprising:

instructions to install a second client disk access interrupt handler procedure that intercepts a read request and a write request to a hard disk, forwards the read request to the server computing device, and caches the write request to prevent the write request from being executed at the virtual hard disk to preserve the state of the virtual hard disk; and

instructions to issue a second request for a second set of sectors that comprise a second boot file;

instructions to receive, from the server computing device, the second boot file, the second boot file comprising an O/S boot file;

instructions to execute the second boot file, the instructions to execute comprising:

instructions to issue a third request for a third set of sectors comprising a hibernation image;

instructions to receive the hibernation image, the hibernation image comprising the contents of local memory, memory management information, and other state information needed to restore the client to the pre-determined operating state;

instructions to load the hibernation image into client memory; and

instructions to initialize drivers, data structures and applications associated with the O/S to thereby restore the client computer to the predetermined state.

12. The computer readable medium of claim 11 wherein the second client disk access interrupt handler caches the write requests locally at the client.

13. The computer readable medium of claim 11 wherein the second client disk access interrupt handler caches the write requests at a location on the network.

14. The computer readable medium of claim 11 wherein the emulation code comprises PXE code resident on the client.

15. The computer readable medium of claim 11 wherein the instructions to initialize drivers comprise instructions to initialize a network filter driver and a storage driver to enable server emulation.

16. The computer readable medium of claim 11 wherein the instructions to receive the hibernation image comprise instructions to receive the hibernation image via the server.

17. The computer readable medium of claim 11 wherein the instructions to receive the second boot file comprise instructions to receive the second boot file on a sector-by-sector basis.

18. The computer readable medium of claim 17 further comprising instructions to request, by the client, retransmission of one of the sectors of the second boot file.

19. The computer readable medium of claim 11 wherein the instructions to receive the hibernation image comprise instructions to receive the hibernation image on a sector-by-sector basis.

20. The computer readable medium of claim 19 further comprising instructions to request, by the client, retransmission of one of the sectors of the hibernation image.

21. A system for booting a client computer to a predetermined state via a network, the system comprising:

means for issuing, by a client executing emulation code and client disk access interrupt procedures, a request for a first set of sectors of a virtual hard disk associated with a server computing device, the first set of sectors comprising a first boot file;

means for receiving, via the network, the first boot file from the server computing device;

means for executing the contents of the first boot file, the means for executing comprising:

means for installing a second client disk access interrupt handler procedure that intercepts a read request and a write request to a hard disk, forwards the read request to the server computing device, and caches the write request to prevent the write request from being executed at the virtual hard disk to preserve the state of the virtual hard disk; and

means for issuing a second request for a second set of sectors that comprise a second boot file;

means for receiving, from the server computing device, the second boot file, the second boot file comprising an O/S boot file;

means for executing the second boot file, the means for executing comprising:

means for issuing a third request for a third set of sectors comprising a hibernation image;

means for receiving the hibernation image, the hibernation image comprising the contents of local memory, memory management information, and other state information needed to restore the client to the pre-determined operating state;

means for loading the hibernation image into client memory; and

means for initializing drivers, data structures and applications associated with the O/S to thereby restore the client computer to the predetermined state.

22. The system of claim 21 wherein the second client disk access interrupt handler caches the write requests locally at the client.

23. The system of claim 21 wherein the second client disk access interrupt handler caches the write requests at a location on the network.

24. The system of claim 21 wherein the emulation code comprises PXE code resident on the client.

25. The system of claim 21 wherein the means for initializing drivers comprises means for initializing a network filter driver and a storage driver to enable server emulation.

26. The system of claim 21 wherein the means for receiving the hibernation image comprises means for receiving the hibernation image via the server.

27. The system of claim 21 wherein the means for receiving the second boot file comprises the means for receiving the second boot file on a sector-by-sector basis.

28. The system of claim 27 further comprising means for requesting, by the client, retransmission of one of the sectors of the second boot file.

29. The system of claim 21 wherein the means for receiving the hibernation image comprises means for receiving the hibernation image on a sector-by-sector basis.

30. The system of claim 29 further comprising means for requesting, by the client, retransmission of one of the sectors of the hibernation image.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2012
From: BUROKAS, GINT; BUNCH, KENNY; LUSINSKY, ROBERT; GARELICK, MIKE; SANDUSKY, MARC
To: VENTURECOM,INC.
Reel/Frame 027702/0110 →
MERGER Recorded Feb 14, 2012
From: VENTURCOM, INC
To: ARDENCE, INC.
Reel/Frame 027702/0212 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 15, 2011
From: ARDENCE DELAWARE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 027395/0519 →
Continuity (2)
Continuation 1012526500 · Apr 18, 2002
Related Publication 20060010316A1 · Jan 12, 2006