US 12,014,169 B2
Software recognition using tree-structured pattern matching rules for software asset management
Kenneth Aas Hansen, Hamar (NO); Rolf Georg Lunder, Lillehammer (NO); Lars Køhler, Hamar (NO); and Peter Björkman, Trångsund (SE)
Assigned to SNOW SOFTWARE, INC., Austin, TX (US)
Appl. No. 17/415,615
Filed by SNOW SOFTWARE AB, Solna (SE)
PCT Filed Dec. 17, 2018, PCT No. PCT/SE2018/051326
§ 371(c)(1), (2) Date Jun. 17, 2021,
PCT Pub. No. WO2020/130891, PCT Pub. Date Jun. 25, 2020.
Prior Publication US 2022/0058014 A1, Feb. 24, 2022
Int. Cl. G06F 8/70 (2018.01); G06F 21/10 (2013.01); G06Q 10/087 (2023.01)
CPC G06F 8/70 (2013.01) [G06F 21/105 (2013.01); G06Q 10/087 (2013.01); G06F 21/1073 (2023.08)] 13 Claims
OG exemplary drawing
 
1. A method for software identification in a software asset management system comprising a processing unit, at a central unit, configured to identify software characteristics on software inventory data from a user terminal, the method comprising:
receiving, at the central unit, the software inventory data from the user terminal;
normalizing the received software inventory data;
filtering, at the central unit, the software inventory data through a probabilistic data structure to determine whether any of the software inventory data is not in a database of known kinds of software, wherein the database includes a plurality of database software records that are structured into a tree-like structure having a plurality of nodes that split the database into a plurality of subsections based on different properties that need to be satisfied for identifying an individual record of software of the software inventory data as a known kind of software;
testing, at the central unit, the software inventory data against a portion of a plurality of rules for the database where the plurality of rules are based on the different properties that need to be satisfied, wherein the testing includes traversal of the plurality of nodes according to a traversal scheme where each node of the plurality of nodes is associated with a set of rules of the plurality of rules until a set of rules of a node is satisfied;
identifying a software information from a database software record of the plurality of database software records that is associated with the node where the set of rules are satisfied by the software inventory data; and
determining, at the central unit, whether the identified software information is compliant with one or more constraints.