US11836202B2ActiveUtilityA1

Methods and systems for dynamic search listing ranking of software components

Assignee: OPEN WEAVER INCPriority: Feb 24, 2021Filed: Feb 22, 2022Granted: Dec 5, 2023
Est. expiryFeb 24, 2041(~14.6 yrs left)· nominal 20-yr term from priority
G06F 16/9535G06F 16/9536G06F 16/9538G06F 18/214G06F 21/565G06N 20/00G06F 21/577G06F 2221/033
46
PatentIndex Score
0
Cited by
114
References
17
Claims

Abstract

Systems and methods for automatically generating search list rankings of software components are provided. An exemplary method includes generating a list of software components in response to a request, generating ranking parameters, determining first weight values correlating with each of the ranking parameters, generating an index correlating each of the software components with each of the ranking parameters, parsing web data to populate the index, determining, via the ranking parameters, scores for each of the software components, storing the scores on the index, applying the first weight values to the scores on the index, and generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the scores that are associated with each of the software components.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system for automatically generating search list rankings of software components, the system comprising:
 one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
 generating a list of software components in response to a request; 
 generating a plurality of ranking parameters; 
 determining a first plurality of weight values correlating with each of the plurality of ranking parameters; 
 generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters; 
 parsing web data to populate the index; 
 determining, via the ranking parameters, a plurality of scores for each of the plurality of software components; 
 storing the scores on the index; 
 applying the first plurality of weight values to the plurality of scores on the index; and 
 generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components; 
 
 wherein the ranking parameters comprise a popularity score, a release score, a detect and quality score, a support score, a fork and download score, a Q&A score and a security and vulnerability score, wherein:
 the release score is a standardized measurement relative to a frequency of updates of a software component; 
 the popularity score is a standardized measurement relative to a popularity of a software component; 
 the fork and download score is a standardized measurement relative to a number of downloads associated with a software component over a fixed period of time; 
 the defect and quality score is a standardized measurement relative to an amount of defects logged in association with a software component; and 
 the Q&A score is a standardized measurement relative to the amount of activity logged in association with a provision of customer support associated with a software component. 
 
 
     
     
       2. The system of  claim 1 , wherein the popularity score, the release score, the detect and quality score, the support score, the fork and download score, the Q&A score and the security and vulnerability score are normalized across provider data and third party data by a machine learning model. 
     
     
       3. The system of  claim 1 , wherein the fork and download score is determined based on a number of user downloads of a software component across different providers of the software component, the different providers of the software component comprising a plurality of code repositories. 
     
     
       4. The system of  claim 1 , wherein the Q&A score is based on a number of questions raised in public forums regarding a software component and a time period elapsed before a service provider provides a response. 
     
     
       5. A system for automatically generating search list rankings of software components, the system comprising:
 one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
 generating a list of software components in response to a request; 
 generating a plurality of ranking parameters; 
 determining a first plurality of weight values correlating with each of the plurality of ranking parameters; 
 generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters; 
 parsing web data to populate the index; 
 determining, via the ranking parameters, a plurality of scores for each of the plurality of software components; 
 storing the scores on the index; 
 applying the first plurality of weight values to the plurality of scores on the index; 
 generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components; 
 monitoring one or more test software components; 
 periodically determining, via the plurality of ranking parameters, a plurality of test scores associated with the one or more test software components; 
 extracting circumstantial web data regarding the plurality of test scores; 
 generating training data comprising interpreted correlations between the extracted circumstantial data and the plurality of test scores; and 
 training a machine learning model using the training data, wherein the trained machine learning model is configured to update the weight values. 
 
 
     
     
       6. The system of  claim 5 , wherein the circumstantial web data comprises data collected from news media, social media, and economic forecasts. 
     
     
       7. A system for automatically generating search list rankings of software components, the system comprising:
 one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
 generating a list of software components in response to a request; 
 generating a plurality of ranking parameters; 
 determining a first plurality of weight values correlating with each of the plurality of ranking parameters; 
 generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters; 
 parsing web data to populate the index; 
 determining, via the ranking parameters, a plurality of scores for each of the plurality of software components; 
 storing the scores on the index; 
 applying the first plurality of weight values to the plurality of scores on the index; and 
 generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components; 
 
 wherein parsing the web data comprises:
 scanning, by a data-crawler, public repositories, cloud providers, Q&A, review sites, vulnerability databases to retrieve information on popularity, releases, forks, quality, support, and security information regarding a software component; and 
 storing, by the data-crawler, the information to the index, wherein the index is configured to operate as file storage. 
 
 
     
     
       8. A method for automatically generating search list rankings of software components, the method comprising:
 generating a list of software components in response to a request; 
 generating a plurality of ranking parameters; 
 determining a first plurality of weight values correlating with each of the plurality of ranking parameters; 
 generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters; 
 parsing web data to populate the index; 
 determining, via the ranking parameters, a plurality of scores for each of the plurality of software components; 
 storing the scores on the index; 
 applying the first plurality of weight values to the plurality of scores on the index; 
 generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components; 
 monitoring one or more test software components; 
 periodically determining, via the plurality of ranking parameters, a plurality of test scores associated with the one or more test software components; 
 extracting circumstantial web data regarding the plurality of test scores; 
 generating training data comprising interpreted correlations between the extracted circumstantial data and the plurality of test scores; and 
 training a machine learning model using the training data, wherein the trained machine learning model is configured to update the weight values. 
 
     
     
       9. The method of  claim 8 , wherein the circumstantial web data comprises data collected from news media, social media, and economic forecasts. 
     
     
       10. A method for automatically generating search list rankings of software components, the method comprising:
 generating a list of software components in response to a request; 
 generating a plurality of ranking parameters; 
 determining a first plurality of weight values correlating with each of the plurality of ranking parameters; 
 generating an index correlating each of the plurality of software components with each of the plurality of ranking parameters; 
 parsing web data to populate the index; 
 determining, via the ranking parameters, a plurality of scores for each of the plurality of software components; 
 storing the scores on the index; 
 applying the first plurality of weight values to the plurality of scores on the index; and 
 generating, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components; 
 wherein parsing the web data comprises:
 scanning, by a data-crawler, public repositories, cloud providers, Q&A, review sites, vulnerability databases to retrieve information on popularity, releases, forks, quality, support, and security information regarding a software component; and 
 storing, by the data-crawler, the information to the index, wherein the index is configured to operate as file storage. 
 
 
     
     
       11. One or more non-transitory computer-readable media storing instructions thereon, wherein the instructions, when executed by one or more processors, cause the one or more processors to:
 generate a list of software components in response to a request; 
 generate a plurality of ranking parameters; 
 determine a first plurality of weight values correlating with each of the plurality of ranking parameters; 
 generate an index correlating each of the plurality of software components with each of the plurality of ranking parameters; 
 parse web data to populate the index; 
 determine, via the ranking parameters, a plurality of scores for each of the plurality of software components; 
 store the scores on the index; 
 apply the first plurality of weight values to the plurality of scores on the index; and 
 generate, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components; 
 wherein the ranking parameters comprise a popularity score, a release score, a detect and quality score, a support score, a fork and download score, a Q&A score and a security and vulnerability score, wherein:
 the release score is a standardized measurement relative to a frequency of updates of a software component; 
 the popularity score is a standardized measurement relative to a popularity of a software component; 
 the fork and download score is a standardized measurement relative to a number of downloads associated with a software component over a fixed period of time; 
 the defect and quality score is a standardized measurement relative to an amount of defects logged in association with a software component; and 
 the Q&A score is a standardized measurement relative to the amount of activity logged in association with a provision of customer support associated with a software component. 
 
 
     
     
       12. The non-transitory computer-readable media of  claim 11 , wherein the popularity score, the release score, the detect and quality score, the support score, the fork and download score, the Q&A score and the security and vulnerability score are normalized across provider data and third party data by a machine learning model. 
     
     
       13. The non-transitory computer-readable media of  claim 11 , wherein the fork and download score is determined based on a number of user downloads of a software component across different providers of the software component, the different providers of the software component comprising a plurality of code repositories. 
     
     
       14. The non-transitory computer-readable media of  claim 11 , wherein the Q&A score is based on a number of questions raised in public forums regarding a software component and a time period elapsed before a service provider provides a response. 
     
     
       15. One or more non-transitory computer-readable media storing instructions thereon, wherein the instructions, when executed by one or more processors, cause the one or more processors to:
 generate a list of software components in response to a request; 
 generate a plurality of ranking parameters; 
 determine a first plurality of weight values correlating with each of the plurality of ranking parameters; 
 generate an index correlating each of the plurality of software components with each of the plurality of ranking parameters; 
 parse web data to populate the index; 
 determine, via the ranking parameters, a plurality of scores for each of the plurality of software components; 
 store the scores on the index; 
 apply the first plurality of weight values to the plurality of scores on the index; 
 generate, for each of the software components, a combined score, wherein the combined score is a combination of each of the plurality of scores that are associated with each of the plurality of software components; 
 monitor one or more test software components; 
 periodically determine, via the plurality of ranking parameters, a plurality of test scores associated with the one or more test software components; 
 extract circumstantial web data regarding the plurality of test scores; 
 generate training data comprising interpreted correlations between the extracted circumstantial data and the plurality of test scores; and 
 train a machine learning model using the training data, wherein the trained machine learning model is configured to update the weight values. 
 
     
     
       16. The non-transitory computer-readable media of  claim 15 , wherein the circumstantial web data comprises data collected from news media, social media, and economic forecasts. 
     
     
       17. The non-transitory computer-readable media of  claim 15 , wherein parsing the web data comprises:
 scanning, by a data-crawler, public repositories, cloud providers, Q&A, review sites, vulnerability databases to retrieve information on popularity, releases, forks, quality, support, and security information regarding a software component; and 
 storing, by the data-crawler, the information to the index, wherein the index is configured to operate as file storage.

Join the waitlist — get patent alerts

Track US11836202B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.