IP Library Granted Patent US 7,140,042
Granted Patent B2
US 7,140,042 · App. 10/047,250 · Granted Nov 21, 2006

System and method for preventing software piracy

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,140,042
App. No.
10/047,250
Granted
Nov 21, 2006
Kind
B2
Abstract

The invention is directed to a method and apparatus for preventing software piracy. A license enforcement server may be integrated with an operating system running on a network-critical machine. As such, other computational devices connected to the network may obtain permission to perform licensed activities. These computational devices may have an instruction set for communicating with the license enforcement server. Further, the license enforcement server may communicate with a licensing organization. The license enforcement server may utilize a namespace tree to organize licenses and uniquely identify licensed activities. In this manner, a universal license enforcement system may be achieved in which disabling of the license enforcement mechanisms would adversely effect a network.

Claims (102)

1. A system for authorizing a licensed activity associated with a software program, the system comprising:

a license enforcement server associated with an operating system of a network-critical machine, the network-critical machine being connected to an interconnected network;

at least one database associated with the license enforcement server;

at least one computation device connected to the interconnected network;

at least one instruction set for communicating with the license enforcement server and receiving a message from the license enforcement server indicating a state of authorization associated with the licensed activity, the at least one instruction set being associated with the at least one computational device;

a namespace tree, the namespace tree uniquely identifying the licensed activity; and

at least one license enforcement gateway communicatively coupled to the license enforcement server;

wherein the license enforcement server connects to the license enforcement gateway to synchronize and validate at least one of the database and the namespace tree;

wherein an alarm is created if the state of authorization includes an unauthorized state;

wherein;

the license enforcement server periodically confirms the validity of at least one license according to at least one of a date, a number of launches, and a number of logged hours; and

the license enforcement server authorizes licenses without communicating with the license enforcement gateway between the periodic confirmations;

wherein the licensed activity is prevented if the state of authorization includes the unauthorized state.

2. The system of claim 1 wherein the network-critical machine is a primary domain control server.

3. The system of claim 1 wherein the network-critical machine is an address server.

4. The system of claim 1 the system further comprising:

a second network-critical machine associated with a second license enforcement server; and

a second database associated with the second license enforcement server.

5. The system of claim 1 wherein the license enforcement server is integrated with the operating system.

6. The system of claim 1 wherein the namespace tree is organized utilizing data associated with at least one of vendors, categories of software, products, versions of the products, and licensing modeled data associated with the products.

7. The system of claim 1 wherein the license enforcement server serves licenses associated with software from a plurality of vendors.

8. The system of claim 1 wherein the license enforcement server communicates with the license enforcement gateway information associated with at least one of a licenses, data regarding use of a particular license, request for receiving new licenses, requests for receiving updates to licenses, alarms associated with piracy, and alarms associated with a disabling of a license.

9. A license enforcement server system comprising:

a license enforcement server associated with an operating system of a network-critical machine, the license enforcement sewer including;

an instruction set for interfacing with at least one database associated with at least one software license;

an instruction set for receiving a communication through an interconnected network front at least one computation device connected to the interconnected network, the communication being associated with a request for permission to perform a licensed activity associated with a licensed software;

a namespace tree, the namespace tree uniquely identifying the licensed activity;

an instruction set for determining a state of permission to perform the licensed activity associated with a licensed software; and

an instruction set for sending a message through the interconnected network to the computation device, the message being associated with the state of permission to perform the licensed activity;

wherein at least one license enforcement gateway is communicatively coupled to the license enforcement server;

wherein the license enforcement server connects to the license enforcement gateway to synchronize and validate a least one if the database and the namespace tree;

wherein an alarm is created if the state of permission includes an unauthorized state;

wherein;

the license enforcement server periodically confirms the validity of at least one license according to at least one of a date, a number of launches, and a number of logged hours; and

the license enforcement server authorizes licenses without communicating with the license enforcement gateway between the periodic confirmations;

wherein the licensed activity is prevented if the state of permission includes the unauthorized state.

10. The license enforcement server system of claim 9 wherein the license enforcement server is integrated with the operating system of the network-critical machine.

11. The license enforcement server system of claim 9 wherein the network-critical machine is a primary domain control server.

12. The license enforcement server system of claim 9 wherein the network-critical machine is an address server.

13. The license enforcement server system of claim 9 wherein the namespace tree is associated with the at last one software license.

14. A computational device connected to an interconnected network, the computational device including a processor for executing instructions stored on a computer-readable storage medium comprising:

an instruction set for communicating with a license enforcement server associated with an operating system of a network-critical machine, the communication comprising a request for a permission to perform a licensed activity and a return message associated with a status of the permission to perform the licensed activity; and

an instruction set for performing the licensed activity, the computational device selectively performing the licensed activity using the instruction set for performing the licensed activity;

wherein at least one license enforcement gateway is communicatively coupled to the license enforcement server;

wherein a namespace tree uniquely identifies the licensed activity;

wherein the license enforcement server connects to the license enforcement gateway to synchronize and validate the namespace tree;

wherein an alarm is created if a state of authorization includes an unauthorized state;

wherein;

the license enforcement server periodically confirms the validity of at least one license according to at least one of a date, a number of launches, and a number of logged hours; and

the license enforcement server authorizes licenses without communicating with the license enforcement gateway between the periodic confirmations;

wherein the licensed activity is prevented if the state of authorization includes the unauthorized state.

15. The computational device of claim 14 wherein the network-critical machine is a primary domain control server.

16. The computational device of claim 14 wherein the network-critical machine is an address server.

17. A method for authorizing a licensed activity associated with a computational device connected to an interconnected network, the method comprising:

poling a license enforcement server associated with the operating system of a network-critical machine;

selectively determining the permissibility of the licensed activity associated with the computational device connected to the interconnected network;

sending, a message associated with the permissibility of the licensed activity to the computational device; and

selectively performing the licensed activity;

wherein at least one license, enforcement gateway is communicatively coupled to the license enforcement server;

wherein a namespace tree uniquely identifies the licensed activity;

wherein the license enforcement server connects to the license enforcement gateway to synchronize and validate the namespace tree;

wherein an alarm is created if a state of authorization includes an unauthorized state;

wherein;

the license enforcement server periodically confirms the validity of at least one license according to at least one of a date, a number of launches, and a number of logged hours; and

the license enforcement server periodically authorizes licenses without communicating with the license enforcement gateway between the periodic confirmations;

wherein the licensed activity is prevented if the state of authorization includes the unauthorized state.

18. The method of claim 17 wherein the network-critical machine is a primary domain control server.

19. The method of claim 17 , wherein the network-critical machine is an address server.

20. An operating system with an integrated license enforcement server, the operating system comprising:

an instruction set for interfacing with at least one database associated with software licenses;

an instruction set for receiving a communication through an interconnected network from at least one computation device connected to the interconnected network, the communication being associated with a request for permission to perform a licensed activity associated with a licensed software;

an instruction set for determining a state of permission to perform the licensed activity associated with a licensed software; and

an instruction set for sending a message through the interconnected network to the computation device, the message being associated with the state of permission to perform the licensed activity;

wherein at least one license enforcement gateway is communicatively coupled to the license enforcement server;

wherein a namespace tree uniquely identifies the licensed activity;

wherein the license enforcement server connects to the license enforcement gateway to synchronize and validate a least one of the database and the namespace tree;

wherein an alarm is created if the state of permission includes an unauthorized state;

wherein;

the license enforcement server periodically confirms the validity of at least one license according to at least one of a date, a number of launches, and a number of logged hours; and

the license enforcement server authorizes licenses without communicating with the license enforcement gateway between the periodic confirmations;

wherein the license activity is prevented if the state of permission includes the unauthorized state.

21. The operating system of claim 20 wherein the operating system is associated with a network-critical machine.

22. The operating system of claim 20 , the operating system further comprising:

a link conjoining the operability of the operating system to the operability of the license enforcement server.

23. A method for acquiring a license to perform a licensed activity with a license enforcement server, the license enforcement server being associated with a network-critical machine, the method comprising:

selectively requesting a license from a remote system, the remote system communicatively coupled to the license enforcement server associated with the network-critical machine, the license establishing at least one condition for performing the licensed activity;

determining the availability of the license with the license enforcement server associated with the network-critical machine; and

selectively authorizing the licensed activity based on the at least one condition for performing the licensed activity established by the license;

wherein a least one license enforcement gateway is communicatively coupled to the license enforcement server;

wherein a namespace tree uniquely identifies the licensed activity;

wherein the license enforcement server connects to the license enforcement gateway to synchronize and validate the namespace tree;

wherein an alarm is created if a state of authorization includes an unauthorized state;

wherein;

the license enforcement server periodically confirms the validity of at least one license according to at least one of a date, a number of launches, and a number of logged hours; and

the license enforcement server authorizes licenses without communicating with the license enforcement gateway between the periodic confirmations;

wherein the licensed activity is prevented if the state of authorization includes the unauthorized state.

24. The method of claim 23 wherein the network-critical machine is a primary domain control server.

25. The method of claim 23 wherein the remote system is the license enforcement gateway communicatively coupled with the license enforcement server associated with the network-critical machine, the license enforcement gateway being communicatively coupled with the network-critical machine through a global network.

26. The method of claim 23 , the method further comprising:

receiving a request for permission to perform the licensed activity from a client device, the request being received by the license enforcement server; and

determining the status of the license to perform the licensed activity.

27. The method of claim 23 wherein the license enforcement server is integrated with an operating system associated with the network-critical machine.

Assignments (7)
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →