IP Library › Granted Patent US 11,836,202
Granted Patent B2
US 11,836,202 · App. 17/677,771 · Granted Dec 5, 2023

Methods and systems for dynamic search listing ranking of software components

Inventors: Ashok Balasubramanian (Chennai, IN); Karthikeyan Krishnaswamy Raja (Chennai, IN); Arul Reagan S (Chengalpattu District, IN); John Hansel (Chennai, IN)
Assignee: Open Weaver Inc.
G06F16/9535G06F16/9536G06F16/9538G06F18/214G06F21/565G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,836,202
App. No.
17/677,771
Filed
Feb 22, 2022
Granted
Dec 5, 2023
Kind
B2
Art Unit
2161
USPC
707/722
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 (118)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2023
From: BALASUBRAMANIAN, ASHOK; RAJA, KARTHIKEYAN KRISHNASWAMY; S, ARUL REAGAN; HANSEL, JOHN
To: OPEN WEAVER INC.
Reel/Frame 065181/0500 →
Continuity (2)
Provisional Application 63153210 · Feb 24, 2021
Related Publication 20220269743A1 · Aug 25, 2022