IP Library Granted Patent US 9,672,334
Granted Patent B1
US 9,672,334 · App. 15/138,189 · Granted Jun 6, 2017

License entitlement assignment ambiguity resolution

Inventors: Matthew Marnell (Boulder, CO); Vincent Brasseur (San Jose, CA); Paul Gerard Hughes (Box Hill, AU)
Assignee: Flexera Software LLC
G06F21/105G06F17/3053G06F21/6218
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,672,334
App. No.
15/138,189
Granted
Jun 6, 2017
Kind
B1
Abstract

Various embodiments include a resource control system. The resource control system can receive consumption demand requests to access one or more electronic resources. The resource control system can assign license entitlements, each with varying quantity, to consumption demand requests to enable access to the electronic resources. An ambiguity resolution engine can make license entitlement assignments to consumption demand requests when a set of license entitlements can cover a target electronic resource specified by the consumption demand requests. The ambiguity resolution engine can rank license entitlements based on ratios of their resource costs and the consumption demand requests based on their electronic resource usage efficiency. The ambiguity resolution engine can assign the license entitlements by comparing the rankings of the license entitlements and the rankings of the consumption demand requests.

Claims (43)

1. A computer-implemented method for resolving license assignment ambiguity in a license management computer system, comprising:

calculating, via a hardware processor, a set of optimization ratios thresholds (ORTs) corresponding to license entitlements forming an ambiguity entitlement set, wherein each ORT is a relative cost of one license entitlement in the ambiguity set versus another license entitlement in the ambiguity set for both to have at least the same product use right;

identifying, via the hardware processor consumption demand requests to access target electronic resources, wherein the license entitlements in the ambiguity entitlement set all grant access to the target electronic resources;

calculating, via the hardware processor, optimization ratios (ORs) of the consumption demand requests, wherein each of the ORs is a quantified product use right ratio between that demanded by one of the consumption demand requests relative to another one of the consumption demand requests;

sorting, via the hardware processor, the consumption demand requests into a sorted list by ordering the consumption demand request according to the ORs; and

assigning, via the hardware processor, the license entitlements to the consumption demand requests based on comparison of the ORs of the consumption demand requests and the ORTs of the license entitlements in the ambiguity entitlement set.

2. The computer-implemented method of claim 1 , further comprising sorting the license entitlements in the ambiguity entitlement set from a highest ORT to a lowest ORT.

3. The computer-implemented method of claim 1 , wherein assigning the license entitlements further comprises assigning consumption demand requests that specify a use requirement that can only be satisfied by one of the license entitlements in the ambiguity entitlement set.

4. The computer-implemented method of claim 1 , wherein assigning the license entitlements further comprises assigning, along to the sorted list, remaining consumption demand requests to a top ranking license entitlement according to its ORT until that top ranking license entitlement exhausts its available quantity or until a consumption demand request is reached with an OR value below the ORT of the top ranking license entitlement.

5. The computer-implemented method of claim 1 , wherein assigning the license entitlements further comprises determining whether enough of a top ranking license entitlement is available to cover remaining consumption demand requests.

6. The computer-implemented method of claim 5 , wherein assigning the license entitlements further comprises:

in response to determining enough of a top ranking license entitlement, according to its ORT, is available to cover remaining consumption demand requests, assign the top ranking license entitlement to the remaining consumption demand requests.

7. The computer-implemented method of claim 5 , wherein assigning the license entitlements further comprises:

in response to determining not enough of a top ranking license entitlement is available to cover remaining consumption demand requests, assign the top ranking license entitlement to any remaining consumption demand requests based on the ranking of the remaining consumption demand requests until an available quantity of the top ranking license entitlement is exhausted.

8. The computer-implemented method of claim 7 , wherein assigning the license entitlements further comprises:

assigning available next-ranked license entitlements to remaining consumption demand requests until all next-ranked license entitlements are exhausted or all the consumption demand requests are assigned.

9. The computer-implemented method of claim 8 , wherein assigning the license entitlements further comprises:

assigning remaining consumption demand requests by:

if a OR for a consumption demand request is above or equal to an ORT of a top available license entitlement, assigning the top available license entitlement to the consumption demand request; and

if a OR for a consumption demand request is below an ORT of a top available license entitlement, assigning a next ranked license entitlement to the consumption demand request.

10. The computer-implemented method of claim 8 , wherein assigning the license entitlements further comprises:

assigning remaining consumption demand requests by:

if a OR for a consumption demand request is above to an ORT of a top available license entitlement, assigning the top available license entitlement to the consumption demand request; and

if a OR for a consumption demand request is below or equal to an ORT of a top available license entitlement, assigning a next ranked license entitlement to the consumption demand request.

11. A non-transitory computer readable data memory storing computer-executable instructions that, when executed by a computer system, cause the computer system to perform a computer-implemented method for resolving license assignment ambiguity in a license management computer system, the computer-executable instructions comprising:

Instructions, implemented by a hardware processor, for calculating a set of optimization ratios thresholds (ORTs) corresponding to license entitlements forming an ambiguity entitlement set, wherein each ORT is a relative cost of one license entitlement in the ambiguity set versus another license entitlement in the ambiguity set for both to have at least the same product use right;

instructions, implemented by a hardware processor, for identifying consumption demand requests to access target electronic resources, wherein the license entitlements of the ambiguity entitlement set grant access to the target electronic resources;

instructions, implemented by a hardware processor, for calculating optimization ratios (ORs) of the consumption demand requests, wherein each of the ORs is a quantified product use right ratio between that demanded by one of the consumption demand requests relative to another one of the consumption demand requests;

instructions, implemented by a hardware processor, for sorting the consumption demand requests into a sorted list by ordering the consumption demand request according to the ORs; and

instructions, implemented by a hardware processor, for assigning the license entitlements to the consumption demand requests based on comparison of the ORs of the consumption demand requests and the ORTs of the license entitlements in the ambiguity entitlement set.

12. The computer readable data memory of claim 11 , wherein the computer-executable instructions further comprises instructions for sorting the license entitlements in the ambiguity entitlement set from a highest ORT to a lowest ORT.

13. The computer readable data memory of claim 11 , wherein the computer-executable instructions further comprises instructions for assigning consumption demand requests that specify a use requirement that can only be satisfied by one of the license entitlements in the ambiguity entitlement set.

14. The computer readable data memory of claim 11 , wherein the computer-executable instructions further comprises instructions for assigning, along to the sorted list, remaining consumption demand requests to a top ranking license entitlement according to its ORT until that top ranking license entitlement exhausts its available quantity or until a consumption demand request is reached with an OR value below the ORT of the top ranking license entitlement.

15. The computer readable data memory of claim 14 , wherein the computer-executable instructions further comprises instructions for, in response to determining enough of a next ranked license entitlement is available to cover remaining consumption demand requests, assigning the next ranked license entitlement to the remaining consumption demand requests.

16. A resource control system, comprising:

a computer memory storing a license entitlement reservoir configured to maintain characteristics associated with license entitlements and available quantities associated with the license entitlements;

a network interface, implemented by a hardware processor, configured to receive consumption demand requests to access one or more electronic resources;

an ambiguity resolution engine configured to calculate a set of optimization ratios thresholds (ORTs) corresponding to the license entitlements in the license entitlement reservoir that form an ambiguity entitlement set, to calculate an optimization ratio of at least two of the consumption demand requests, and to select, based on the optimization ratio compared against the ORTs, a license entitlement from the license entitlement reservoir for assignment to a consumption demand request when multiple license entitlements cover a target electronic resource specified by the consumption demand request; and

a request processor engine configured to process the consumption demand requests by assigning the license entitlement to the consumption demand request according to the ambiguity resolution engine;

wherein each ORT is a relative cost of one license entitlement in the ambiguity set versus another license entitlement in the ambiguity set for both to have at least the same product use right;

wherein the optimization ratio is a quantified product use right ratio respectively between the at least two of the consumption demand requests.

17. The resource control system of claim 16 , wherein the license entitlement reservoir is configured to optimization ratio thresholds corresponding to resource cost ratios between pairs of license entitlements that grant access to a same electronic resource.

18. The resource control system of claim 16 , wherein the ambiguity resolution engine is configured to compute an optimization ratio associated with a consumption demand request, wherein the optimization ratio corresponds to a quantified value of resource usage efficiency of an electronic resource requested by the consumption demand request.

Assignments (12)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS - REEL/FRAME 045441/ 0499 Recorded Aug 25, 2025
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
Reel/Frame 072552/0558 →
SECURITY INTEREST Recorded Aug 15, 2025
From: FLEXERA SOFTWARE LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL GENT
Reel/Frame 072460/0828 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Apr 18, 2024
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
Reel/Frame 067636/0534 →
SECOND LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0354 →
RELEASE OF SECOND LIEN SECURITY INTEREST Recorded Feb 28, 2020
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION; RIGHTSCALE, INC.; RISC NETWORKS, LLC
Reel/Frame 052049/0560 →
SECOND LIEN SECURITY AGREEMENT Recorded Feb 27, 2018
From: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 045451/0499 →
TERMINATION OF 1ST LIEN SECURITY INTEREST RECORDED AT REEL/FRAME 039920/0280 Recorded Feb 26, 2018
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC
Reel/Frame 045447/0117 →
TERMINATION OF 2ND LIEN SECURITY INTEREST RECORDED AT REEL/FRAME 039920/0574 Recorded Feb 26, 2018
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC
Reel/Frame 045447/0908 →
FIRST LIEN SECURITY AGREEMENT Recorded Feb 26, 2018
From: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 045441/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2017
From: MARNELL, MATTHEW; BRASSEUR, VINCENT; HUGHES, PAUL GERARD
To: FLEXERA SOFTWARE LLC
Reel/Frame 042040/0286 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Sep 6, 2016
From: FLEXERA SOFTWARE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 039920/0280 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Sep 6, 2016
From: FLEXERA SOFTWARE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 039920/0574 →