Search

EP-4435589-B1 - DYNAMIC SOFTWARE INVENTORY MANAGEMENT

EP4435589B1EP 4435589 B1EP4435589 B1EP 4435589B1EP-4435589-B1

Inventors

  • GOMES, Henric
  • CSAPO, Gerald
  • Huard, Rodolphe
  • Orlov, Yurii

Dates

Publication Date
20260506
Application Date
20240315

Claims (16)

  1. A method for providing dynamic software inventory management, the method comprising: receiving at least one definitions file (202), where the at least one definitions file comprises one or more unique identifiers used to identify files stored on a file system, where the files are executable files for a particular version of software on the file system; scanning the file system (204) based on the at least one definitions file; generating an inventory (206) of software stored on the file system, the inventory indicating a number of executable files associated with particular versions of software on the file system; and providing at least one recommendation (208) regarding updating the software on the file system based on the at least one definitions file.
  2. The method of claim 1, wherein the scanning the file system based on the at least one definitions file comprises matching at least one unique identifier with a corresponding executable file associated with the software on the file system.
  3. The method of claim 1, wherein the at least one unique identifier is generated from at least one cryptographic hash functions.
  4. The method of claim 1, wherein the at least one definitions file is a JSON file.
  5. The method of claim 1, wherein providing the at least one recommendation comprises: detecting software matching at least one rule on the file system; and determining the at least one recommendation based on the at least one matching rule.
  6. The method of claim 1, wherein the providing at least one recommendation is based on feedback data associated with previous recommendations regarding updating the software on the file system.
  7. The method of claim 1, wherein the at least one recommendation indicates whether the software on the file system is up to date.
  8. The method of claim 1, wherein the at least one recommendation comprise a recommended software version for updating the software on the file system.
  9. The method of claim 1, the providing the at least one recommendation comprises generating an output page displaying content associated with the at least one recommendation, wherein the content is color-coded based on whether each recommendation indicates out-of-date software.
  10. A system for providing dynamic software inventory management, the system comprising: a rules module for storing at least one definitions file, where the at least one definitions file comprises one or more unique identifiers used to identify files stored on a file system, where the files are executable files for a particular version of software on the file system; and a processor executing instructions stored on memory to perform the steps of: receiving the at least one definitions file from the rules module; scanning the file system based on the at least one definitions file; generating an inventory of software stored on the file system, the inventory indicating a number of executable files associated with particular versions of software on the file system; and providing at least one recommendation regarding updating the software on the file system based on the at least one definitions file.
  11. The system of claim 10, wherein scanning the file system based on the at least one definitions file comprises matching each of the at least one unique identifier with a corresponding executable file associated with the software on the file system.
  12. The system of claim 10, wherein the providing the at least one recommendation comprises: detecting at least one rule matching the software on the file system; and determining the at least one recommendation based on the at least one rule.
  13. The system of claim 10, wherein the at least one recommendation comprises a recommended software version for updating the software on the file system.
  14. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for: receiving at least one definitions file, where the at least one definitions file comprises one or more unique identifiers used to identify files stored on a file system, where the files are executable files for a particular version of software on the file system; scanning the file system based on the at least one definitions file; generating an inventory of software stored on the file system, the inventory indicating a number of executable files associated with particular versions of software on the file system; and providing at least one recommendation regarding updating the software on the file system based on the at least one definitions file.
  15. The computer program product of claim 14, providing the at least one recommendation comprises: detecting at least one rule matching the software on the file system; and determining the at least one recommendation based on the at least one rule.
  16. The computer program product of claim 14, wherein the at least one recommendation comprises a recommended software version for updating the software on the file system.

Description

CROSS REFERENCE TO RELATED APPLICATIONS The present application claims the benefit of and priority to co-pending United States provisional application no. 63/453,189, filed on March 20, 2023. TECHNICAL FIELD Embodiments described herein generally relate to systems and methods for providing dynamic software inventory management and, more particularly but not exclusively, to systems and methods for providing recommendations regarding software updates. BACKGROUND Various organizations and other entities may acquire software from vendors for a variety of purposes. For example, a business may purchase collaboration tools from a vendor so that employees of the business may easily collaborate and communicate with each other. Vendors often release various updates and/or patches for their software, such as updates to fix "bugs" and other errors. Vendors may identify a particular problem and/or deficiency related to a current software version, create an update to mitigate the problem and/or deficiency, and deliver the update to their clients. Conventionally, vendors may periodically instruct and/or advise clients to update their software to the latest release. However, clients may be hesitant and/or unwilling to apply the suggested update. For example, clients may believe that applying the update has no real benefit, they may forget to download the update, they may not apply the update properly, and/or they may miss an announcement regarding the update. In particular, in many scenarios, clients may have unique enterprise environments and/or business needs that may make the latest release less desirable and/or suitable. Patent document US 2006/080656 A1 (CAIN NIGEL [US] et al), 13 April 2006 discloses a method of instructing users in the implementation of a patch management process, and patent document US 2010/257518 A1 (BARATTI PAOLO [IT] et al) 7 October 2010 concerns the automatic recommendation of an upgrade approach for a customizable software product. There is generally a lack of dynamic software inventory management tools that provide tailored recommendations and insights to clients regarding available updates for their software inventory. Providing such recommendations and insights may encourage clients to apply updates that are tailored to their specific needs and enterprise environments. This may increase trust between the clients and their vendors. A need exists, therefore, for systems and methods that provide these advantages related to dynamic software inventory management. SUMMARY This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description section. This summary is not intended to identify or exclude key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. According to one aspect, embodiments relate to a method for providing a dynamic inventory tool. The method includes receiving at least one definitions file; scanning a file system based on the at least one definitions file; and providing at least one recommendation regarding updating the software on the file system based on the at least one definitions file. In some embodiments, the at least one definitions file comprises data for identifying the software on the file system. In some embodiments, the at least one definitions file comprises at least one unique identifier associated with the software on the file system. In some embodiments, the scanning the file system based on the at least one definitions file comprises matching at least one unique identifier with a corresponding executable file associated with the software on the file system. In some embodiments, the at least one unique identifier is generated from at least one cryptographic hash functions. In some embodiments, the at least one definitions file is a JSON file. In some embodiments, providing the at least one recommendation comprises: detecting software matching at least one rule on the file system; and determining the at least one recommendation based on the at least one matching rule. In some embodiments, wherein the providing at least one recommendation is based on feedback data associated with previous recommendations regarding updating the software on the file system. In some embodiments, the at least one recommendation indicates whether the software on the file system is up to date. In some embodiments, the at least one recommendation comprises at least one of a recommended software version for updating the software on the file system or a benefit for updating the software on the file system. In some embodiments, providing the at least one recommendation comprises generating an output page displaying content associated with the at least one recommendation, wherein the content is color-coded based on whether each recommendation indicates out-of-date software. According to another aspect, embodiments