IP Library Granted Patent US 6,931,548
Granted Patent B2
US 6,931,548 · App. 09/769,869 · Granted Aug 16, 2005

System and method for limiting use of a software program with another software program

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 6,931,548
App. No.
09/769,869
Granted
Aug 16, 2005
Kind
B2
Abstract

The present invention presents a system and method for the vendor of a primary software program (“primary vendor”) to limit the use of a secondary software program with its primary software program, under a specific set of limiting preconditions, and to retain control over the issuance and duration of the limiting preconditions, where a primary software program is an operating system and a secondary software program is an application software program or a peripheral driver, and where a primary software program is an application software program and a secondary software program is a plug-in. One embodiment of the invention includes: providing a computer including a processor and a memory operably coupled to the processor; providing a first software program operably installed on the computer; providing a second software program capable of being operably installed on the computer and capable of being used interoperably with the first software program; modifying the second software program to include a specific set of preconditions limiting use of the second software program with the first software program; digitally signing the second software program including the specific set of preconditions; determining whether the second software program has been altered after the digitally signing; verifying that the specific set of preconditions limiting use of the second software program with the first software program is met; and running the second software program interoperably with the first software program if and only if (1) the determining determines that the second software program has not been altered after the digitally signing and (2) the verifying verifies that the specific set of limiting preconditions is met.

Claims (97)

1. A method comprising:

providing a computer including

a processor and

a memory operably coupled to the processor;

providing a first software program capable of being operably installed on the computer;

providing a second software program capable of being operably installed on the computer and capable of being used interoperably with the first software program;

modifying the second software program to include data defining a specific point in time after which the second software program cannot be used interoperably with the first software program;

digitally signing the second software program including the data defining the specific point in time;

determining whether the second software program has been altered after the digitally signing;

verifying that the specific point in time has not passed; and

using the second software program interoperably with the first software program if and only if the determining determines that the second software program has not been altered after the digitally signing and the verifying verifies that the specific point in time has not passed; and wherein.

the second software program includes a device information file and the data defining the specific point in time is included in the device information file.

2. The method of claim 1 , further comprising

verifying after the using that the specific point in time has not passed and blocking interoperable use of the second software program with the first software program if the specific point in time has passed.

3. The method of claim 1 , wherein

the first software program is an operating system and the second software program is an application software program.

4. The method of claim 1 , wherein

the first software program is an operating system and the second software program is a peripheral driver.

5. The method of claim 1 , wherein

the first software program is an application software program and the second software program is a plug-in.

6. A computer system comprising:

a processor;

a first software program capable of being operably coupled to the processor;

a digitally signed second software program, the second software program capable of being operably coupled to the processor, capable of being used interoperably with the first software program, and

including data defining a specific point in time after which the second software program cannot be used interoperably with the first software program; and

a memory coupled to the processor, the memory including

means for determining whether the second software program has been altered,

means for verifying that the specific point in time has not passed, and

means for using the second software program interoperably with the first software program if and only if it is determined that the second software program has not been altered and it is verified that the specific point in time has not passed and wherein,

the second software program includes a device information file and the data defining the specific point in time is included in the device information file.

7. The computer system of claim 6 , wherein the memory coupled to the processor further includes

means for verifying after an interoperable use of the second software program with the first software program that the specific point in time has not passed and

means for blocking interoperable use of the second software program with the first software program if the specific point in time has passed.

8. The computer system of claim 6 , wherein

the first software program is an operating system and the second software program is an application software program.

9. The computer system of claim 6 , wherein

the first software program is an operating system and the second software program is a peripheral driver.

10. The computer system of claim 6 , wherein

the first software program is an application software program and the second software program is a plug-in.

11. An apparatus for limiting use of a first software program interoperably with a second software program comprising:

means for modifying the second software program to include data defining a specific point in time after which the second software program cannot be used interoperably with the first software program;

means for digitally signing the second software program including the data defining the specific point in time;

means for determining whether the second software program has been altered after the digitally signing;

means for verifying that the specific point in time has not passed; and

means for using the second software program interoperably with the first software program if and only if

it is determined that the second software program has not been altered after the digitally signing and

it is verified that the specific point in time has not passed and wherein,

the second software program includes a device information file and the data defining the specific point in time is included in the device information file.

12. The apparatus of claim 11 , further comprising:

means for verifying after an interoperable use of the second software program with the first software program that the specific point in time has not passed and

means for blocking interoperable use of the second software program with the first software program if the specific point in time has passed.

13. The apparatus of claim 11 , wherein

the first software program is an operating system and the second software program is an application software program.

14. The apparatus of claim 11 , wherein

the first software program is an operating system and the second software program is a peripheral driver.

15. The apparatus of claim 11 , wherein the first software program is an application software program and the second software program is a plug-in.

16. A method comprising:

providing a computer including

a processor and

a memory operably coupled to the processor;

providing an application software program capable of being operably installed on the computer;

providing a plug-in capable of being operably installed on the computer and capable of being used interoperably with the application software program;

modifying the plug-in to include a specific set of preconditions limiting use of the plug-in interoperably with the application software program;

digitally signing the plug-in including the specific set of preconditions;

determining whether the plug-in has been altered after the digitally signing;

verifying that the specific set of preconditions limiting use of the plug-in interoperably with the application software program is met; and

using the plug-in interoperably with the application software program if and only if the determining determines that the plug-in has not been altered after the digitally signing and the verifying verifies that the specific set of preconditions is met; and wherein

the specific set of preconditions limiting use of the plug-in interoperably with the first software program includes data defining a specific point in time after which the second software program cannot be used interoperably with the first software program;

the plug-in includes a device information file and the data defining the specific point in time is included in the device information file.

17. The method of claim 16 , further comprising

verifying after the using that the specific set of preconditions limiting use of the second software program interoperably with the first software program continues to be met and blocking interoperable use of the second software program with the first software program if any of the specific set of preconditions limiting use are not met.

18. A computer system comprising:

a processor;

a first software program capable of being operably coupled to the processor;

a digitally signed second software program, the second software program capable of being operably coupled to the processor,

capable of being used interoperably with the first software program, and

including data defining a specific point in time after which the second software program cannot be used interoperably with the first software program; and

a memory coupled to the processor, the memory including

a circuit for determining whether the second software program has been altered,

a circuit for verifying that the specific point in time has not passed, and

a circuit for using the second software program interoperably with the first software program if and only if the circuit for determining determines that the second software program has not been altered and

the circuit for verifying verifies that the specific point in time has not passed; and wherein

the second software program includes a device information file and the data defining the specific point in time is included in the device information file.

19. The computer system of claim 18 , wherein the memory coupled to the processor further includes

a circuit for verifying after an interoperable use of the second software program with the first software program that the specific point in time has not passed and

a circuit for blocking interoperable use of the second software program with the first software program if the specific point in time has passed.

20. An apparatus for limiting use of a first software program interoperably with a second software program comprising:

a circuit for modifying the second software program to include data defining a specific point in time after which the second software program cannot be used interoperably with the first software program;

a circuit for digitally signing the second software program including the data defining the specific point in time;

a circuit for determining whether the second software program has been altered after the digitally signing;

a circuit for verifying that the specific point in time has not passed; and

a circuit for using the second software program interoperably with the first software program if and only if

the circuit for determining determines that the second software program has not been altered after the digitally signing and

the circuit for verifying verifies that the specific point in time has not passed; and wherein

the second software program includes a device information file and the data defining the specific point in time is included in the device information file.

21. The apparatus of claim 20 , further comprising:

a circuit for verifying after an interoperable use of the second software program with the first software program that the specific point in time has not passed and a circuit for blocking interoperable use of the second software program with the first software program if the specific point in time has passed.

Assignments (13)
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: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; 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 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: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/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: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/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 (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 →
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 (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 →