IP Library Granted Patent US 7,584,347
Granted Patent B2
US 7,584,347 · App. 11/150,750 · Granted Sep 1, 2009

System and method for identifying bootable device by generating a signature for each bootable device where the signature is independent of a location of the bootable device

Assignee: Dell Products L.P.
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,584,347
App. No.
11/150,750
Filed
Jun 10, 2005
Granted
Sep 1, 2009
Kind
B2
Art Unit
2115
USPC
713/1
Abstract

A system and method is disclosed for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system. A four-byte signature for each bootable USB device is generated by performing a hash function on a Device Identification Number, a Vendor Identification Number, and at least a subset of a Serial Number, all of which are associated with that bootable USB device. The four-byte signature for each bootable USB device is saved in a BIOS boot order table located in a non-volatile storage unit in the computer system.

Claims (34)

1. A method for identifying at least one bootable device of a computer system, comprising:

generating a signature for each bootable device by performing a logical function on a device identifier, a vendor identifier, and at least a subset of a serial number, all of which are associated with the bootable device, wherein the signature is independent of a location of the bootable device; and

saving the signature for each bootable device in non-volatile storage in the computer system.

2. The method for identifying at least one bootable device of a computer system of claim 1 , wherein the step of generating a signature for each bootable device by performing a logical function comprises the step of performing a cyclic redundancy check function on the device identifier, vendor identifier, and serial number associated with the bootable device.

3. The method for identifying at least one bootable device of a computer system of claim 1 , wherein the step of generating a signature for each bootable device by performing a logical function comprises the step of performing a 32-bit cyclic redundancy check function on the device identifier, vendor identifier, and serial number associated with the bootable device.

4. The method for identifying at least one bootable device of a computer system of claim 1 , wherein the step of generating a signature for each bootable device by performing a logical function comprises the step of performing a logical function on the device identifier, vendor identifier, and a subset of the serial number that contains at least the last twelve digits of the serial number associated with the bootable device.

5. The method for identifying at least one bootable device of a computer system of claim 1 , wherein the step of saving the signature for each bootable device in non-volatile storage comprises saving the signature for each bootable device in a Basic Input-Output System (“BIOS”) boot order table located in non-volatile random access memory unit in the computer system.

6. The method for identifying at least one bootable device of a computer system of claim 1 , wherein the step of saving the signature for each bootable device in non-volatile storage comprises saving the signature for each bootable device in a Basic Input-Output System (“BIOS”) boot order table located in a non-volatile flash memory unit in the computer system.

7. A system for identifying at least one bootable Universal Serial Bus (“USB”) device coupled to a computer system across multiple reboots of the computer system, wherein the at least one bootable USB device is associated with a Device Identification Number, a Vendor Identification Number, and a Serial Number, comprising:

a processing unit coupled to the computer system, wherein the processing unit is capable of generating a four-byte signature for each bootable USB device by performing a hash function on the Device Identification Number, the Vendor Identification Number, and the Serial Number, and wherein the four-byte signature is independent of a location of the bootable USB device;

a non-volatile storage unit coupled to computer system, wherein the non-volatile storage unit contains a copy of a Basic Input-Output System (“BIOS”); and

a non-volatile storage unit coupled to the computer system in which the processing unit can store a BIOS boot order table containing the four-byte signature for each bootable USB device coupled to the computer system.

8. The system for identifying at least one bootable USB device coupled to a computer system of claim 7 , wherein the non-volatile storage units are one or more non-volatile random-access memory units.

9. The system for identifying at least one bootable USB device coupled to a computer system of claim 7 , wherein the copy of the BIOS and the BIOS boot order table containing the four-byte signature for each bootable USB device are stored in the same non-volatile storage unit.

10. The system for identifying at least one bootable USB device coupled to a computer system of claim 7 , further comprising at least one bootable non-USB device coupled to the computer system.

11. A method for identifying at least one bootable Universal Serial Bus (“USB”) device coupled to a computer system across multiple reboots of the computer system, comprising building a current Basic Input-Output System (“BIOS”) boot order table containing a four-byte signature for each bootable USB device upon first detection of the at least one bootable USB device after a reboot of the computer system, wherein:

the four-byte signature for each bootable USB device is generated by performing a hash function on a Device Identification Number, a Vendor Identification Number, and at least a subset of a Serial Number, all of which are associated with the bootable USB device; and the four-byte signature is independent of a location of the bootable USB device.

12. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 11 , wherein building a current BIOS boot order table containing a four-byte signature for each bootable USB device upon first detection of the at least one bootable USB device after reboot of the computer system comprises:

searching for a bootable device,

determining whether, if a bootable device is found, the bootable device is a bootable USB device,

calculating a four-byte signature for the bootable device, wherein, if the bootable device is a bootable USB device, calculating the four-byte signature for the bootable device is accomplished by performing a hash function on the Device Identification Number, the Vendor Identification Number, and at least a subset of the Serial Number,

adding the four-byte signature for the bootable device to a BIOS boot order table, thereby generating a current BIOS boot order table, and

saving the current BIOS boot order table in a non-volatile storage unit.

13. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 12 , further comprising:

reading a BIOS boot order table previously stored in the computer system,

comparing the four-byte signature for each entry in the previously stored BIOS boot order table with the four-byte signature for each entry in the current BIOS boot order table,

adjusting the boot order in the current BIOS boot order table using the order saved from the previously stored BIOS boot order table.

14. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 12 , further comprising providing a user of the computer system an option to determine where to add the at least one bootable device to the current BIOS boot order table.

15. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 12 , further comprising adding the at least one bootable device to a default location in the current BIOS boot order table.

16. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 15 , wherein adding the at least one bootable device to a default location in the current BIOS boot order table comprises adding the at least one bootable device to a terminal location in the current BIOS boot order table.

17. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 11 , wherein calculating the four-byte signature for each bootable USB device is accomplished by performing a cyclic redundancy check function on the Device Identification Number, the Vendor Identification Number, and at least a subset of the Serial Number.

18. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 11 , wherein calculating the four-byte signature for each bootable USB device is accomplished by performing a 32-bit cyclic redundancy check function on the Device Identification Number, the Vendor Identification Number, and at least a subset of the Serial Number.

19. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 11 , wherein calculating the four-byte signature for each bootable USB device is accomplished by performing a hash function on the Device Identification Number, the Vendor Identification Number, and a subset of the Serial Number that includes at least the final twelve digits of the Serial Number.

20. The method for identifying at least one bootable USB device coupled to a computer system across multiple reboots of the computer system of claim 11 , wherein calculating the four-byte signature for each bootable USB device is accomplished by performing a 32-bit cyclic redundancy check function on the Device Identification Number, the Vendor Identification Number, and a subset of the Serial Number that includes at least the final twelve digits of the Serial Number.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2005
From: MAHMOUD, SAMER EL HAJ; BRUMLEY, ALAN; LIU, WEI
To: DELL PRODUCTS L.P.
Reel/Frame 016689/0585 →
Continuity (1)
Related Publication 20060282652A1 · Dec 14, 2006