A license management method specifies a predetermined number of assigned units for each of a plurality of individually selectable programs in a product suite. A discrete node running total equals the assigned units of the highest assigned units program running on each node. Each node can run additional programs where the assigned units of the additional programs are equal to or less than the node running total without changing the node running total. Termination of the highest assigned units program on a node causes the difference between the assigned units of the terminated program and the next highest assigned units of a program running by the node to be re-added to the available units.
Legal claims defining the scope of protection, as filed with the USPTO.
1. For use in a computer network having a plurality of nodes, each node capable of operating a software program obtained from a program source, a licensing method comprising the steps of: a. on a computer network, providing a program suite formed of a plurality of software programs; b. assigning a predetermined number of assigned units to each program in the program suite; c. setting a discrete node running total for each node equal to the assigned units of the highest assigned units program running on each node: and d. upon one node requesting access to another requested program in the program suite while accessing a first program, determining a number of required units to access the requested program where the number of required units equal zero when the assigned units of the requested program are less than or equal to the node running total of the node requesting access to the requested program, and the required units equal the difference between the assigned units of the requested program and the node running total when the assigned units of the requested program are greater than the one node running total.
2. The method of claim 1 further comprising the steps of: e. providing a predetermined number of licensed units for use of the programs in the program suite; f. calculating a sum of all node running totals; g. setting a number of checked out units equal to the sum of all node running totals; h. setting an available units equal to the predetermined number of licensed units less the checked out units; and i. comparing the required units with the available units and allowing access to the requested program by the requesting node where the required units are less than or equal to the available units and denying access to the requested program where the required units are greater than the available units.
3. The method of claim 2 wherein steps d and i are repeated for each requested program by the one node.
4. The method of claim 2 further comprising the step of repeating steps d through i for each node requesting access to a program in the program suite.
5. The method of claim 2 further comprising the steps of: after allowing access to the requested program, setting the node running total to equal the node running total plus the required units and setting the available units to equal the available units minus the required units.
6. The method of claim 2 further comprising the steps of: after denying access to the requested program, leaving the node running total and the available units unchanged.
7. The method of claim 2 further comprising the steps of: upon one node terminating a run of one program currently running on the one node: j. determining a number of returned units where the returned units equal zero when the assigned units of the terminated program are less than the node running total of the node terminating the program, and where the returned units equal the difference between the assigned units of the terminated program and the next highest assigned units program running on the one node when the assigned units of the terminated program are equal to the node running total of the node terminating the program; and k. upon terminating the run of the program, adding the returned units to the available units to compute a new available units, and subtracting the returned units from the node running total to compute a new node running total.
8. The method of claim 7 wherein steps j and k are repeated for each terminated program by the one node.
9. The method of claim 7 further comprising repeating steps j and k for each node terminating a program in the program suite.
10. The method of claim 1 further comprising the step of assigning different numbers of assigned units to at least two of the programs in the program suite.
11. The method of claim 2 further comprising the steps of: providing a predetermined number of licenses for each program in the program suite; determining if a license is available for a requested program in the suite; if a license is available, using the license and running the program; if a license is not available for requested program, repeating steps d andi.
12. The method of claim 1 further comprising the steps of: maintaining usage data including at least one of the total running time, and the number of separate executions for one node running a selected program for each program from the program suite run on the network.
13. The method of claim 1 wherein further comprising the step of defining each node as a unique combination of a user, a processing unit, and a display.
14. A computer readable medium for use in a computer network of nodes, each node capable of operating a software program obtained from a program source, the computer readable medium containing program instructions for: a. on a computer network, providing a program suite formed of a plurality of software programs; b. assigning a predetermined number of assigned units to each program in the program suite; c. setting a discrete node running total for each node equal to the highest assigned units program running on each respective node by leveling the number of units charged to each node to be equal to the highest assigned units program running on each node; and d. upon one node requesting access to another requested program in the program suite while accessing a first program, determining a number of required units to access the requested program where the number of required units equal zero when the assigned units of the requested program are less than or equal to the node running total of the node requesting access to the requested program, and the required units equal the difference between the assigned units of the requested program and the node running total when the assigned units of the requested program are greater than the one node running total.
15. The computer readable medium of claim 14 further comprising the steps of e. providing a predetermined number of licensed units for use of the programs in the program suite; f calculating a sum of all node running totals; g. setting a number of checked out units equal to the sum of all node running totals; h. setting an available units equal to the predetermined number of licensed units less the checked out units; and i. comparing the required units with the available units and allowing access to the requested program by the requesting node where the required units are less than or equal to the available units and denying access to the requested program where the required units are greater than the available units.
16. The computer readable medium of claim 15 containing program instructions wherein steps d and i are repeated for each requested program by the one node.
17. The computer readable medium of claim 15 containing program instructions for repeating steps d and i for each node requesting access to a program in the program suite.
18. The computer readable medium of claim 15 containing program instructions for, after denying access to the requested program, leaving the node running total and the available units unchanged.
19. The computer readable medium of claim 15 containing program instructions for, after allowing access to the requested program, setting the node running total to equal the node running total plus the required units and setting the available units to equal the available units minus the required units.
20. The computer readable medium of claim 15 containing program instructions for: upon one node terminating a run of one program currently running on the one node: j. determining a number of returned units where the returned units equal zero when the assigned units of the terminated program are less than the node running total of the node terminating the program, and where the returned units equal the difference between the assigned units of the terminated program and the next highest assigned units program running on the one node when the assigned units of the terminated program are equal to the node running total of the node terminating the program, and k. upon terminating the run of the program, adding the returned units to the available units to compute a new available units, and subtracting the returned units from the node running total to compute a new node running total.
21. The computer readable medium of claim 20 containing program instructions for repeating steps j and k for each program terminated by the one node.
22. The computer readable medium of claim 20 containing program instructions repeating steps j and k for each node terminating a program running on the node.
23. The computer readable medium of claim 14 containing program instructions for assigning at least two of the programs in the program suite different numbers of assigned units.
24. The computer readable medium of claim 15 containing further program instructions for: providing a predetermined number of licenses for each program in the program suite; determining if a license is available for a requested program in the suite; if a license is available, using the license and running the program, and if a license is not available for requested program, repeating steps d and i.
25. The computer readable medium of claim 14 containing further program instructions for; maintaining usage data including at least one of the total running time, and the number of separate executions for one node running a selected program for each program from the program suite run on the network.
26. The computer readable medium of claim 14 containing further program instructions for; defining each node as a unique combination of a user, a processing unit, and a display.
27. For use in a computer network of nodes, each node capable of operating a software program obtained from a program source, a licensing method comprising the steps of: providing a program suite formed of a plurality of software programs, the programs originating from at least two distinct sources; assigning a predetermined number of assigned units to each program in the program suite; providing a predetermined number of licensed units for use of the programs in the program suite; and distributing revenue to the different sources of programs in the program suite.
28. A computer readable medium for use in a computer network of nodes, each node capable of operating a software program obtained from a program source, the computer readable medium containing program instructions for: providing a program suite formed of a plurality of software programs, the programs originating from at least two distinct sources; assigning a predetermined number of assigned units to each program in the program suite; providing a predetermined number of licensed units for use of the programs in the program suite; and distributing revenue to the different sources of programs in the program suite.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 20, 2000
February 22, 2005
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.