IP Library Granted Patent US 10,956,541
Granted Patent B2
US 10,956,541 · App. 16/431,941 · Granted Mar 23, 2021

Dynamic optimization of software license allocation using machine learning-based user clustering

Inventors: Shiri Gaber (Beer Shev, IL); Oshry Ben-Harush (Kibbutz Galon, IL); Amihai Savir (Sansana, IL)
Assignee: EMC IP Holding Company LLC
G06F21/105G06F11/3466G06K9/6218G06N20/00
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 10,956,541
App. No.
16/431,941
Granted
Mar 23, 2021
Kind
B2
Abstract

Techniques are provided for software license optimization using machine learning-based user clustering. One method comprises obtaining key performance indicators indicating individual usage by a plurality of users of a software product; applying at least one function to the key performance indicators to obtain a plurality of time dependent features; processing the time dependent features using a machine learning model to cluster the users into a plurality of persona clusters; and determining a number of each available license type for the software product for the plurality of users based on the persona clusters. The key performance indicators comprise, for example, user behavioral data with respect to usage of the software product and/or performance data with respect to usage of the software product. One or more policies can be determined for managing an allocation of the available license types for the software product to the plurality of users.

Claims (34)

1. A method, comprising:

obtaining a plurality of key performance indicators indicating individual usage by a plurality of users of a software product, wherein the plurality of key performance indicators indicating individual usage of the software product comprise utilization indicators for one or more of processing resources, memory resources, network resources and input/output activity;

applying at least one function to the plurality of key performance indicators to obtain a plurality of time dependent features;

processing, using at least one processing device, the plurality of time dependent features using at least one machine learning model to cluster the plurality of users into a plurality of persona clusters, wherein one or more weights for the plurality of persona clusters are determined based at least in part on actual usage of the software product by users allocated to each of the persona clusters; and

determining a number of each of a plurality of license types for the software product for the plurality of users based on the plurality of persona clusters.

2. The method of claim 1 , wherein the plurality of key performance indicators further comprises one or more of user behavioral data with respect to usage of the software product and performance data with respect to usage of the software product.

3. The method of claim 1 , wherein at least one of the plurality of distinct features within the data comprises an aggregated feature.

4. The method of claim 1 , wherein the plurality of persona clusters is one or more of defined by an enterprise and learned from the plurality of key performance indicators.

5. The method of claim 1 , wherein the plurality of persona clusters corresponds to one or more of roles and job titles in an enterprise.

6. The method of claim 1 , wherein the determining further determines one or more policies for managing an allocation of one or more of the plurality of license types for the software product to the plurality of users.

7. The method of claim 1 , further comprising one or more of selecting between a standalone user license and a floating user license for one or more of the users and allocating the plurality of license types for the software product to one or more of the users based on the determining.

8. The method of claim 1 , wherein one or more of the weights for the plurality of persona clusters are determined following the processing of the plurality of time dependent features using the at least one machine learning model, according to sorted averages of the time dependent features belonging to users allocated to each of the persona clusters.

9. A computer program product, comprising a non-transitory machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device perform the following steps:

obtaining a plurality of key performance indicators indicating individual usage by a plurality of users of a software product, wherein the plurality of key performance indicators indicating individual usage of the software product comprise utilization indicators for one or more of processing resources, memory resources, network resources and input/output activity;

applying at least one function to the plurality of key performance indicators to obtain a plurality of time dependent features;

processing the plurality of time dependent features using at least one machine learning model to cluster the plurality of users into a plurality of persona clusters, wherein one or more weights for the plurality of persona clusters are determined based at least in part on actual usage of the software product by users allocated to each of the persona clusters; and

determining a number of each of a plurality of license types for the software product for the plurality of users based on the plurality of persona clusters.

10. The computer program product of claim 9 , wherein the plurality of key performance indicators further comprises one or more of user behavioral data with respect to usage of the software product and performance data with respect to usage of the software product.

11. The computer program product of claim 9 , wherein the plurality of persona clusters corresponds to one or more of roles and job titles in an enterprise.

12. The computer program product of claim 9 , wherein the determining further determines one or more policies for managing an allocation of one or more of the plurality of license types for the software product to the plurality of users.

13. The computer program product of claim 9 , further comprising one or more of selecting between a standalone user license and a floating user license for one or more of the users and allocating the plurality of license types for the software product to one or more of the users based on the determining.

14. The computer program product of claim 9 , wherein one or more of the weights for the plurality of persona clusters are determined following the processing of the plurality of time dependent features using the at least one machine learning model, according to sorted averages of the time dependent features belonging to users allocated to each of the persona clusters.

15. An apparatus, comprising:

a memory; and

at least one processing device, coupled to the memory, operative to implement the following steps:

obtaining a plurality of key performance indicators indicating individual usage by a plurality of users of a software product, wherein the plurality of key performance indicators indicating individual usage of the software product comprise utilization indicators for one or more of processing resources, memory resources, network resources and input/output activity;

applying at least one function to the plurality of key performance indicators to obtain a plurality of time dependent features;

processing the plurality of time dependent features using at least one machine learning model to cluster the plurality of users into a plurality of persona clusters, wherein one or more weights for the plurality of persona clusters are determined based at least in part on actual usage of the software product by users allocated to each of the persona clusters; and

determining a number of each of a plurality of license types for the software product for the plurality of users based on the plurality of persona clusters.

16. The apparatus of claim 15 , wherein the plurality of key performance indicators further comprises one or more of user behavioral data with respect to usage of the software product and performance data with respect to usage of the software product.

17. The apparatus of claim 15 , wherein the determining further determines one or more policies for managing an allocation of one or more of the plurality of license types for the software product to the plurality of users.

18. The apparatus of claim 15 , further comprising one or more of selecting between a standalone user license and a floating user license for one or more of the users and allocating the plurality of license types for the software product to one or more of the users based on the determining.

19. The apparatus of claim 15 , wherein one or more of the weights for the plurality of persona clusters are determined following the processing of the plurality of time dependent features using the at least one machine learning model, according to sorted averages of the time dependent features belonging to users allocated to each of the persona clusters.

20. The apparatus of claim 15 , wherein the plurality of persona clusters is one or more of defined by an enterprise and learned from the plurality of key performance indicators.

Assignments (9)
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 (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2019
From: GABER, SHIRI; BEN-HARUSH, OSHRY; SAVIR, AMIHAI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049376/0261 →