IP Library Granted Patent US 9,043,753
Granted Patent B2
US 9,043,753 · App. 14/078,151 · Granted May 26, 2015

System and method for recommending software artifacts

Inventors: Brian Edward Fox (Goffstown, NH); Joel Orlina (Silver Spring, MD)
Assignee: Sonatype, Inc.
G06F8/71G06F8/36
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 9,043,753
App. No.
14/078,151
Granted
May 26, 2015
Kind
B2
Abstract

A method for recommending at least one artifact to an artifact user is described. The method includes obtaining user characteristic information reflecting preferences, particular to the artifact user, as to a desired artifact. The method also includes obtaining first metadata about each of one or more candidate artifacts, and scoring, as one or more scored artifacts, each of the one or more candidate artifacts by evaluating one or more criteria, not particular to the artifact user, applied to the first metadata. The method further includes scaling, as one or more scaled artifacts, a score of each of the one or more scored artifacts, by evaluating the suitability of each of the one or more scored artifacts in view of the user characteristic information. The method lastly includes recommending to the artifact user at least one artifact from among the one or more scaled artifacts based on its scaled score.

Claims (101)

1. A method, implemented in a computer, for recommending at least one artifact to an artifact user, comprising:

obtaining, by the computer, user characteristic information reflecting preferences, particular to the artifact user, as to a desired artifact;

obtaining, by the computer, first metadata about each of one or more candidate artifacts;

scoring, by the computer, as one or more scored artifacts, each of the one or more candidate artifacts by evaluating one or more criteria, not particular to the artifact user, applied to the first metadata;

scaling, by the computer, as one or more scaled artifacts, a score of each of the one or more scored artifacts, by evaluating the suitability of each of the one or more scored artifacts in view of the user characteristic information; and

recommending, by the computer, to the artifact user at least one artifact from among the one or more scaled artifacts based on a scaled score of the at least one artifact, wherein

the first metadata about each of the one or more candidate artifacts includes:

derived data, which is activity information acquired from project logs;

community data which are reviews, rankings, categorization, and tagging provided by human users; and

third party data.

2. The method of claim 1 , wherein:

the retrieved first metadata about each of one or more candidate artifacts relates to at least one of the following:

activity information of a project to which each of the one or more candidate artifacts belongs;

security and vulnerability information about each of the one or more candidate artifacts;

licensing information about each of the one or more candidate artifacts;

user provided quality information of each of the one or more candidate artifacts; and

identifying and categorization information of each of the one or more candidate artifacts.

3. The method of claim 1 , wherein:

the preferences as to a desired artifact relate to one or more the following:

whether an artifact was designed for an industry in which the artifact user is engaged in commerce,

whether an artifact is widely used in a geographical region in which the artifact user is physically disposed,

whether an artifact is downloaded at greater than a particular frequency,

whether an artifact is sponsored by a preferred sponsor,

whether an artifact was designed or updated by one or more preferred contributors, and

whether an artifact is written in a preferred source code language.

4. The method of claim 1 , wherein:

the obtaining the user characteristic information reflecting preferences particular to the artifact user includes:

prompting, by the computer, the artifact user to provide at least a portion of the user characteristic information, and

receiving from the artifact user, by the computer, the at least a portion of the user characteristic information in response to the prompting.

5. The method of claim 1 , wherein:

the obtaining the user characteristic information reflecting preferences particular to the artifact user includes inferring preferences from any projects in which the artifact user participates.

6. The method according to claim 1 , wherein:

the obtaining the first metadata about each of one or more candidate artifacts includes retrieving the first metadata from one or more projects in one or more repositories.

7. A non-transitory computer-readable medium comprising instructions for execution by a computer, the instructions including a method for recommending at least one artifact to an artifact user, comprising:

obtaining user characteristic information reflecting preferences, particular to the artifact user, as to a desired artifact;

obtaining first metadata about each of one or more candidate artifacts;

scoring as one or more scored artifacts, each of the one or more candidate artifacts by evaluating one or more criteria, not particular to the artifact user, applied to the first metadata;

scaling as one or more scaled artifacts, a score of each of the one or more scored artifacts, by evaluating the suitability of each of the one or more scored artifacts in view of the user characteristic information; and

recommending to the artifact user at least one artifact from among the one or more scaled artifacts based on a scaled score of the at least one artifact, wherein

the first metadata about each of the one or more candidate artifacts includes:

derived data, which is activity information acquired from project logs;

community data which are reviews, rankings, categorization, and tagging provided by human users; and

third party data.

8. The non-transitory computer-readable medium according to claim 7 , wherein:

the retrieved first metadata about each of one or more candidate artifacts relates to at least one of the following:

activity information of a project to which each of the one or more candidate artifacts belongs;

security and vulnerability information about each of the one or more candidate artifacts;

licensing information about each of the one or more candidate artifacts;

user provided quality information of each of the one or more candidate artifacts; and

identifying and categorization information of each of the one or more candidate artifacts.

9. The non-transitory computer-readable medium according to claim 7 , wherein:

the preferences as to a desired artifact relate to one or more the following:

whether an artifact was designed for an industry in which the artifact user is engaged in commerce,

whether an artifact is widely used in a geographical region in which the artifact user is physically disposed,

whether an artifact is downloaded at greater than a particular frequency,

whether an artifact is sponsored by a preferred sponsor,

whether an artifact was designed or updated by one or more preferred contributors, and

whether an artifact is written in a preferred source code language.

10. The non-transitory computer-readable medium according to claim 7 , wherein in the method:

the obtaining the user characteristic information reflecting preferences particular to the artifact user includes:

prompting the artifact user to provide at least a portion of the user characteristic information, and

receiving from the artifact user the at least a portion of the user characteristic information in response to the prompting.

11. The non-transitory computer-readable medium according to claim 7 , wherein in the method:

the obtaining the user characteristic information reflecting preferences particular to the artifact user includes inferring preferences from any projects in which the artifact user participates.

12. The non-transitory computer-readable medium according to claim 7 , wherein in the method:

the obtaining the first metadata about each of one or more candidate artifacts includes retrieving the first metadata from one or more projects in one or more repositories.

13. A computer system configured for recommending at least one artifact to an artifact user, comprising:

a transceiver operable to transmit and receive communications over at least a portion of a network; and

a processor cooperatively operable with the transceiver, and configured to facilitate:

obtaining user characteristic information reflecting preferences, particular to the artifact user, as to a desired artifact;

obtaining first metadata about each of one or more candidate artifacts;

scoring as one or more scored artifacts, each of the one or more candidate artifacts by evaluating one or more criteria, not particular to the artifact user, applied to the first metadata;

scaling as one or more scaled artifacts, a score of each of the one or more scored artifacts, by evaluating the suitability of each of the one or more scored artifacts in view of the user characteristic information; and

recommending to the artifact user at least one artifact from among the one or more scaled artifacts based on a scaled score of the at least one artifact, wherein

the first metadata about each of the one or more candidate artifacts includes:

derived data, which is activity information acquired from project logs;

community data which are reviews, rankings, categorization, and tagging provided by human users; and

third party data.

14. The computer system according to claim 13 , wherein:

the retrieved first metadata about each of one or more candidate artifacts relates to at least one of the following:

activity information of a project to which each of the one or more candidate artifacts belongs;

security and vulnerability information about each of the one or more candidate artifacts;

licensing information about each of the one or more candidate artifacts;

user provided quality information of each of the one or more candidate artifacts; and

identifying and categorization information of each of the one or more candidate artifacts.

15. The computer system according to claim 13 , wherein:

the preferences as to a desired artifact relate to one or more the following:

whether an artifact was designed for an industry in which the artifact user is engaged in commerce,

whether an artifact is widely used in a geographical region in which the artifact user is physically disposed,

whether an artifact is downloaded at greater than a particular frequency,

whether an artifact is sponsored by a preferred sponsor,

whether an artifact was designed or updated by one or more preferred contributors, and

whether an artifact is written in a preferred source code language.

16. The computer system according to claim 13 , wherein:

the obtaining the user characteristic information reflecting preferences particular to the artifact user includes:

prompting the artifact user to provide at least a portion of the user characteristic information, and

receiving from the artifact user the at least a portion of the user characteristic information in response to the prompting.

17. The computer system according to claim 13 , wherein:

the obtaining the user characteristic information reflecting preferences particular to the artifact user includes inferring preferences from any projects in which the artifact user participates.

18. The non-transitory computer-readable medium according to claim 13 , wherein in the method:

the obtaining the first metadata about each of one or more candidate artifacts includes retrieving the first metadata from one or more projects in one or more repositories.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded Dec 19, 2019
From: SONATYPE, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 051373/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2019
From: FOX, BRIAN EDWARD; ORLINA, JOEL
To: SONATYPE, INC.
Reel/Frame 050897/0283 →
Continuity (2)
Continuation 13151816 · Jun 2, 2011
Related Publication 20140075414A1 · Mar 13, 2014