IP Library Granted Patent US 9,558,329
Granted Patent B2
US 9,558,329 · App. 14/309,079 · Granted Jan 31, 2017

License management using a basic input/output system (BIOS)

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 9,558,329
App. No.
14/309,079
Granted
Jan 31, 2017
Kind
B2
Abstract

Methods and systems for license management using a basic input/output system (BIOS) may involve performing license activation, monitoring, and enforcement. The BIOS may store license information to manage licenses for hardware and/or software components of an information handling system. License management by the BIOS may include monitoring a system clock of the information handling system for changes to avoid tampering with license durations.

Claims (76)

1. A method, comprising:

receiving, at a basic input/output system (BIOS) included in an information handling system, a request to activate a license associated with the information handling system;

retrieving, by the BIOS from a BIOS non-volatile memory, license information for the license, wherein the license information is usable to activate the license;

based on the license information, activating the license on the information handling system, wherein the BIOS stores an activation timestamp for the license in the BIOS non-volatile memory;

when the license information indicates a license duration for the license, further comprising:

based on the activation timestamp and the license duration, calculating an expiration timestamp for the license;

registering an expiration callback event for execution when the expiration timestamp occurs; and

registering a clock callback event for execution when a change in a system clock of the information handling system is initiated; and

when the change in the system clock of the information handling system is initiated, executing the clock callback event, further comprising:

before the change in the system clock is performed, calculating an elapsed duration for the license, wherein the elapsed duration is given by a first difference between a current system clock timestamp and the activation timestamp;

allowing the change in the system clock to be performed;

after the change in the system clock is performed, calculating an adjusted activation timestamp for the license, wherein the adjusted activation timestamp for the license is given by a second difference between a new system clock timestamp and the elapsed duration;

updating the expiration timestamp for the license, wherein the expiration timestamp is given by a sum of the adjusted activation timestamp and the license duration; and

storing the adjusted activation timestamp and the updated expiration timestamp to the BIOS non-volatile memory.

2. The method of claim 1 , wherein activating the license includes:

enabling, by the BIOS, a licensed component associated with the information handling system for use according to the license, wherein the licensed component is selected from: a hardware component and a software component.

3. The method of claim 1 , wherein the activation timestamp is based on one of:

a local timestamp from a system clock of the information handling system; and

a remote timestamp obtained from a timestamp server via a network connection.

4. The method of claim 1 , further comprising:

when the expiration timestamp occurs, executing the expiration callback event, including:

when the license is within a renewal period prior to expiration of the license, generating a user reminder to renew the license; and

when the license is expired, deactivating, by the BIOS, the license on the information handling system.

5. The method of claim 4 , wherein deactivating the license includes:

disabling, by the BIOS, a licensed component associated with the information handling system for use according to the license, wherein the licensed component is selected from: a hardware component and a software component.

6. An information handling system, comprising:

a processor subsystem having access to a basic input/output system (BIOS), wherein the BIOS includes instructions executable by the processor subsystem to:

receive a request to activate a license associated with the information handling system;

retrieve, from a BIOS non-volatile memory, license information for the license, wherein the license information is usable to activate the license;

based on the license information, activate the license on the information handling system, wherein an activation timestamp for the license is stored in the BIOS non-volatile memory;

when the license information indicates a license duration for the license, wherein the BIOS further comprises instructions to:

based on the activation timestamp and the license duration, calculate an expiration timestamp for the license;

register an expiration callback event for execution when the expiration timestamp occurs; and

register a clock callback event for execution when a change in a system clock of the information handling system is initiated; and

when the change in the system clock of the information handling system is initiated, execute the clock callback event, further comprising instructions to:

before the change in the system clock is performed, calculate an elapsed duration for the license, wherein the elapsed duration is given by a first difference between a current system clock timestamp and the activation timestamp;

allow the change in the system clock to be performed;

after the change in the system clock is performed, calculate an adjusted activation timestamp for the license, wherein the adjusted activation timestamp for the license is given by a second difference between a new system clock timestamp and the elapsed duration;

update the expiration timestamp for the license, wherein the expiration timestamp is given by a sum of the adjusted activation timestamp and the license duration; and

store the adjusted activation timestamp and the updated expiration timestamp to the BIOS non-volatile memory.

7. The information handling system of claim 6 , wherein the instructions to activate the license include instructions to:

enabling a licensed component associated with the information handling system for use according to the license, wherein the licensed component is selected from: a hardware component and a software component.

8. The information handling system of claim 6 , wherein the activation timestamp is based on one of:

a local timestamp from a system clock of the information handling system; and

a remote timestamp obtained from a timestamp server via a network connection.

9. The information handling system of claim 6 , wherein the BIOS further comprises instructions to:

when the expiration timestamp occurs, execute the expiration callback event, including:

when the license is within a renewal period prior to expiration of the license, generate a user reminder to renew the license; and

when the license is expired, deactivate the license on the information handling system.

10. The information handling system of claim 9 , wherein the instructions to deactivate the license include instructions to:

disable a licensed component associated with the information handling system for use according to the license, wherein the licensed component is selected from: a hardware component and a software component.

11. An article of manufacture comprising a non-transitory computer-readable medium storing instructions, the instructions representing a basic input/output system (BIOS), that, when executed by a processor of an information handling system, cause the processor to:

receive a request to activate a license associated with the information handling system;

retrieve, from a BIOS non-volatile memory, license information for the license, wherein the license information is usable to activate the license; and

based on the license information, activate the license on the information handling system, wherein an activation timestamp for the license is stored in the BIOS non-volatile memory;

when the license information indicates a license duration for the license, further comprising instructions to:

based on the activation timestamp and the license duration, calculate an expiration timestamp for the license;

register an expiration callback event for execution when the expiration timestamp occurs; and

register a clock callback event for execution when a change in a system clock of the information handling system is initiated; and

when the change in the system clock of the information handling system is initiated, execute the clock callback event, including instructions to:

before the change in the system clock is performed, calculate an elapsed duration for the license, wherein the elapsed duration is given by a first difference between a current system clock timestamp and the activation timestamp;

allow the change in the system clock to be performed;

after the change in the system clock is performed, calculate an adjusted activation timestamp for the license, wherein the adjusted activation timestamp for the license is given by a second difference between a new system clock timestamp and the elapsed duration;

update the expiration timestamp for the license, wherein the expiration timestamp is given by a sum of the adjusted activation timestamp and the license duration; and

store the adjusted activation timestamp and the updated expiration timestamp to the BIOS non-volatile memory.

12. The article of manufacture of claim 11 , wherein the instructions to activate the license include instructions to:

enabling a licensed component associated with the information handling system for use according to the license, wherein the licensed component is selected from: a hardware component and a software component.

13. The article of manufacture of claim 11 , wherein the activation timestamp is based on one of:

a local timestamp from a system clock of the information handling system; and

a remote timestamp obtained from a timestamp server via a network connection.

14. The article of manufacture of claim 11 , further comprising instructions to:

when the expiration timestamp occurs, execute the expiration callback event, including:

when the license is within a renewal period prior to expiration of the license, generate a user reminder to renew the license; and

when the license is expired, deactivate the license on the information handling system.

15. The article of manufacture of claim 14 , wherein the instructions to deactivate the license include instructions to:

disable a licensed component associated with the information handling system for use according to the license, wherein the licensed component is selected from: a hardware component and a software component.

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 REEL 033625 FRAME 0748 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0050 →
RELEASE OF REEL 033625 FRAME 0688 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0757 →
RELEASE OF REEL 033625 FRAME 0711 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040016/0903 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033625/0748 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 033625/0688 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033625/0711 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2014
From: TONRY, RICHARD M.; SAMUEL, BALASINGH PONRAJ
To: DELL PRODUCTS L.P.
Reel/Frame 033140/0203 →