US 11,669,599 B2
Systems and methods for software license management
Medha Singri, Santa Clara, CA (US); and Colby Andrew Blakeman, San Jose, CA (US)
Assigned to ServiceNow, Inc., Santa Clara, CA (US)
Filed by ServiceNow, Inc., Santa Clara, CA (US)
Filed on Nov. 26, 2018, as Appl. No. 16/200,231.
Prior Publication US 2020/0167444 A1, May 28, 2020
Int. Cl. G06F 21/10 (2013.01); G06F 8/65 (2018.01); G06F 8/71 (2018.01); G06F 8/61 (2018.01)
CPC G06F 21/105 (2013.01) [G06F 8/62 (2013.01); G06F 8/65 (2013.01); G06F 8/71 (2013.01); G06F 2221/0775 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
monitoring, by a server device of a network, usage of a target software package installed on a plurality of client devices, wherein a respective installation of the target software package on each client device of the plurality of client devices is associated with a respective edition, wherein the respective edition is distinct from a version of the respective installation of the target software package, and wherein monitoring the usage of the target software package comprises:
querying, by the server device, a publisher-specified location in respective registries of the plurality of client devices in the network to retrieve edition information for the target software package, wherein the edition information is indicative of the respective editions of the respective installations of the target software package on each client device of the plurality of client devices, and wherein querying the publisher-specified location in the respective registries comprises transmitting respective commands to each software manager installed on the plurality of client devices to retrieve the edition information for the target software package from the publisher-specified location in the respective registries;
receiving, by the server device, the edition information for the target software package from each software manager installed on the plurality of client devices, wherein the edition information for the target software package comprises coded edition information;
storing, by the server device, the edition information in a Windows Management Instrumentation (WMI) class entry for the target software package;
converting, by the server device, the coded edition information for the target software package from each software manager into respective decoded edition identifiers; and
generating, by the server device, an edition report based on the edition information for the target software package, wherein the edition report comprises the respective decoded edition identifiers;
determining, by the server device, that a first edition of the respective editions of the target software package has one or more unused licenses based on a current set of licenses associated with the network; and
generating, by the server device, an alert indicative of a recommendation to upgrade a second edition of the respective editions of the target software package installed on one or more client devices of the plurality of client devices to the first edition.