Management of updates to externally managed libraries
US-11106448-B2 · Aug 31, 2021 · US
US2020293631A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2020293631-A1 |
| Application number | US-201916298782-A |
| Country | US |
| Kind code | A1 |
| Filing date | Mar 11, 2019 |
| Priority date | Mar 11, 2019 |
| Publication date | Sep 17, 2020 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In accordance with the present approach, a library management system identifies third-party libraries that developers request to incorporate into a software release. The library management system may determine whether a master ticket or usage ticket for a new third-party library exists. If a master or usage ticket is not already existing and approved for the third-party library, the third-party library management system may automatically analyze the third-party library to determine whether it corresponds to third-party libraries that are already approved and stored in a central repository. After approval of a master ticket, the third-party library may be incorporated into the central repository and referenced by subsequent usage tickets that are particular to an individual software release. If not approved, the library management system provides the third-party library to a manual approval system. Moreover, the library management system provides efficient reporting of and access to statuses of the requested third-party libraries.
Opening claim text (preview).
1 . A tangible, non-transitory, machine-readable medium comprising machine-readable instructions, wherein the machine-readable instructions, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a first approval request to incorporate a third-party library within a first software release; determining that the third-party library is not stored within a central repository comprising a plurality of approved third-party libraries; requesting a master ticket for the third-party library, wherein the master ticket is indicative of universal approval of the third-party library for incorporation within a plurality of software releases comprising the first software release; receiving the master ticket; and in response to receiving the master ticket, store the third-party library within the central repository. 2 . The tangible, non-transitory, machine-readable medium of claim 1 , wherein the machine-readable instructions, when executed by the one or more processors, cause the one or more processors to: identify a hierarchical relationship between the third-party library and one or more approved third-party libraries of the plurality of approved third-party libraries; and store an identifier indicative of the hierarchical relationship in an entry of the central repository associated with the third-party library. 3 . The tangible, non-transitory, machine-readable medium of claim 1 , wherein the third-party library is contained within a set of source code, and wherein the machine-readable instructions, when executed by the one or more processors, cause the one or more processors to: identify the third-party library within the set of source code; and in response to identifying the third-party library and determining that the third-party library is not stored within the central repository, request the master ticket for the third-party library. 4 . The tangible, non-transitory, machine-readable medium of claim 1 , wherein the machine-readable instructions, when executed by the one or more processors, cause the one or more processors to: determine a score of the third-party library based on characteristics of the third-party library; and receive the master ticket in response to determining that the score is above a threshold score. 5 . The tangible, non-transitory, machine-readable medium of claim 4 , wherein the score is determined via machine learning performed on the plurality of approved third-party libraries. 6 . The tangible, non-transitory, machine-readable medium of claim 4 , wherein the machine-readable instructions, when executed by the one or more processors, cause the one or more processors to: determine that the score of the third-party library is not above the threshold score; and transmit a request for the master ticket to a manual approval system. 7 . The tangible, non-transitory, machine-readable medium of claim 6 , wherein the master ticket is provided by the manual approval system in response to the manual approval system determining that the third-party library meets a threshold number of qualifications. 8 . The tangible, non-transitory, machine-readable medium of claim 6 , wherein the machine-readable instructions, when executed by the one or more processors, cause the one or more processors to provide an indication of non-approval of the third-party library in response to the manual approval system determining that the third-party library does not meet a threshold number of qualifications. 9 . The tangible, non-transitory, machine-readable medium of claim 1 , wherein the machine-readable instructions, when executed by the one or more processors, cause the one or more processors to: receive a second approval request to incorporate the third-party library within a second software release; determine that the third-party library is stored within the central repository; request a usage ticket for the third-party library, wherein the usage ticket is indicative of specific approval of the third-party library for incorporation within the second software release; receive the usage ticket; and in response to receiving the usage ticket, store the usage ticket in a database. 10 . The tangible, non-transitory, machine-readable medium of claim 9 , wherein the machine-readable instructions, when executed by the one or more processors, cause the one or more processors to provide a report indicative of a current status of each requested master ticket and each requested usage ticket. 11 . A method, comprising: receiving a first approval request to incorporate a third-party library within a particular software release; determining whether the third-party library is stored within a central repository configured to store a plurality of approved third-party libraries; in response to determining that the third-party library is not stored within the central repository, requesting a master ticket for the third-party library, wherein the master ticket is indicative of universal approval of the third-party library for incorporation within a plurality of software releases; in response to determining that the third-party library is stored within the central repository, requesting a usage ticket for the third-party library, wherein the usage ticket is indicative of specific approval of the third-party library for incorporation within the particular software release; determining a score of the third-party library based on characteristics of the third-party library; determining whether the score is above a threshold score; and receiving the master ticket or the usage ticket in response to determining that the score is above the threshold score. 12 . The method of claim 11 , wherein the master ticket is requested, and wherein the method comprises storing the third-party library in the central repository in response to receiving the master ticket. 13 . The method of claim 11 , wherein the usage ticket is requested, and wherein the method comprises providing output indicative of approval of the third-party library for incorporation within the particular software release. 14 . The method of claim 11 , comprising analyzing the plurality of approved third-party libraries via machine learning to determine target characteristics of the approved third-party libraries, wherein the score is determined based on a correspondence between characteristics of the third-party library and the target characteristics. 15 . The method of claim 11 , comprising transmitting the third-party library to a manual approval system in response to determining that the score is above the threshold score. 16 . The method of claim 15 , comprising: receiving feedback from the manual approval system indicating that the third-party library meets engineering qualifications, security qualifications, legal qualifications, or any combination thereof; and receiving the master ticket or the usage ticket in response to the feedback. 17 . A system, comprising: a central repository comprising a plurality of approved third-party libraries; and a processor configured to perform operations comprising: receiving a first approval request to incorporate a third-party library within a first software release; determining whether the third-party library is stored within the central repository; requesting a master ticket for the third-party library in response to determining that the third-party library is not stored in the central repository; requesting a usage ticket for the third-party library in response to determining that the third-p
Machine learning · CPC title
Arrangements for software license management or administration, e.g. for managing licenses at corporate level · CPC title
Software reuse · CPC title
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.