IP Library Granted Patent US 11,636,159
Granted Patent B2
US 11,636,159 · App. 17/496,423 · Granted Apr 25, 2023

Ranking results of searches of databases

Inventors: Mario Sergio Rodriguez (Santa Clara, CA); Christian Posse (Belmont, CA); Rohit Kapoor (San Francisco, CA); Muhammad Tayyab Javed (Breingsville, CA)
G06F16/9038G06F16/24578G06F16/902G06F16/9035G06F16/90344
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,636,159
App. No.
17/496,423
Granted
Apr 25, 2023
Kind
B2
Abstract

A computer system is configured to receive a plurality of previous user selections by a user of previous database entries, each of which has as plurality of database field. The computer system is configured to determine weights for the various database fields included in the previous user selections and rank subsequent search results for a subsequent search of the database based on the determined weights, where the one or more weights affect a ranking of a search result based on a match associated with the particular database field. The computer system is further configured to receive customized search result layout settings specifying that one or more specified database fields are displayed to the user when the search results are displayed, where one or more weights for the particular database field are based on the customized search result layout settings.

Claims (68)

1. A method comprising:

determining, by a computer system, one or more weights for a particular database field included in previous database entries of a database selected by a user, wherein the one or more weights affect a ranking of a search result based on a match associated with the particular database field;

ranking, by the computer system, subsequent search results for a search of the database based on the determined weights for the particular database field and one or more weights determined for other database fields in the database; and

receiving, at the computer system, one or more customized search result layout settings specifying that one or more specified database fields are displayed to the user when the search results are displayed;

wherein one or more weights for the particular database field are based on the customized search result layout settings.

2. The method of claim 1 , further comprising:

collecting, by the computer system, information identifying the previous database entries of the database selected by the user, wherein the collected information identifies values of the particular database field included in the database entries selected by the user; and

analyzing, by the computer system, the collected information to identify, for the particular database field, how frequently the same values of the particular database field are included in the previous database entries selected by the user, wherein determining the one or more weights is based on the analyzing.

3. The method of claim 2 ,

wherein the one or more weights for the particular database field include one or more field value weights for particular values in the particular database field and an overall field value weight;

wherein the one or more field value weights are based on a frequency of the particular values in the particular database field in the collected information; and

wherein the overall field value weight is based on a frequency of the greatest weighted of the particular values in the collected information.

4. The method of claim 2 , further comprising:

receiving, at the computer system, a user selection of one of the search results; and

updating, with the computer system, the collected information for use in ranking second search results for a second subsequent search by adding information identifying the selected one of the subsequent search results to the collected information and removing information identifying the database entry selected by the user the longest time ago.

5. The method of claim 1 , further comprising

receiving, at the computer system, a string of characters input by the user; and

determining, with the computer system, a predicted search request based on the inputted string of characters;

wherein the search of the database is performed based on the predicted search request without a command from the user indicating that the string of characters is complete.

6. The method of claim 5 , wherein determining the predicted search request is further based on the determined one or more weights for the particular database field and one or more weights determined for other database fields in the database.

7. The method of claim 1 , further comprising:

storing, at the computer system, metadata about the user including a first location associated with the user;

wherein the same values of the particular database field are indicative of a second location that is remote from the first location, and wherein the ranking includes ranking the subsequent search results such that search results indicative of the second location are ranked higher than search results indicative of the first location.

8. The method of claim 1 ,

wherein the computer system is a multi-tenant computer system having a plurality of tenants;

wherein the user is associated with a particular tenant of the plurality of tenants; and

wherein the particular database field is a custom database field accessible only to the particular tenant.

9. The method of claim 1 ,

wherein the computer system is a multi-tenant computer system having a plurality of tenants, wherein the user is associated with a particular tenant of the plurality of tenants, and wherein a second user is associated with the particular tenant;

the method further comprising:

determining, by the computer system, weights for database fields in the database based on search activity of the second user;

wherein the determined weights for database fields in the database associated with the user differ from the determined weights for database fields in the database associated with the second user.

10. The method of claim 1 , wherein a subsequent search of the database is performed based on a search request for information not stored in the particular database field.

11. The method of claim 1 , wherein determining the one or more weights for the particular database field is based only on how frequently the same values of the particular database field are included in the database entries selected by the user relative to how frequently other values of other database fields in the database are included in the database entries selected by the user.

12. A non-transitory computer-readable medium having program instructions stored thereon that are executable by a computer system to cause the computer system to perform operations comprising:

determining a first weight for a first database field included in previous database entries of a database selected by a user and a second weight for a second database field included in the previous database entries, wherein the first weight affects a ranking of a first search result based on a first match associated with the first database field and the second weight affect a ranking of a second search result based on a second match associated with the second database field; and

receiving one or more customized search result layout settings specifying that one or more specified database fields are displayed to the user when the search results are displayed;

wherein the first weight and second weight are based on the customized search result layout settings.

13. The non-transitory computer-readable medium of claim 12 , the operations further comprising:

collecting information identifying the previous database entries of the database selected by the user, wherein the collected information identifies values of the first database field included in the database entries selected by the user and values of the second database field included in the database entries selected by the user; and

analyzing the collected information to:

identify, for the first database field, how frequently the same values of the first field are included in the database entries selected by the user, and

identify, for the second database field, how frequently the same values of the second field are included in the database entries selected by the user, wherein determining the first weight and the second weight is based on the analyzing.

14. The non-transitory computer-readable medium of claim 12 , the operations further comprising:

ranking subsequent search results for a subsequent search of the database based on the first weight and the second weight; and

wherein the ranking includes:

ranking search results associated with the first database field above search results associated with the second database field when the first weight is greater than the second weight; and

ranking search results associated with the second database field above search results associated with the first database field when the second weight is greater than the first weight.

15. The non-transitory computer-readable medium of claim 12 , the operations further comprising:

ranking subsequent search results for a subsequent search of the database based on the first weight and the second weights;

wherein the ranking includes:

ranking search results associated with both the first database field and second database field above search results associated just the first database field or just the second database field.

16. The non-transitory computer-readable medium of claim 12 ,

wherein the computer system is a multi-tenant computer system have a plurality of tenants;

wherein the user is associated with a particular tenant of the plurality of tenants; and

wherein the first database field and second database field are custom database fields accessible only to the particular tenant.

17. A method comprising:

determining, by a computer system, a weight for a particular database field; and

ranking, by the computer system, subsequent search results for a subsequent search of the database based on the determined weight for the particular database field being greater than one or more weights determined for other database fields in the database; and

receiving, at the computer system, one or more customized search result layout settings specifying that one or more specified database fields are displayed to a user when the search results are displayed;

wherein the weight for the particular database field is based on the customized search result layout settings.

18. The method of claim 17 , further comprising:

receiving, at the computer system, a plurality of previous user selections by the user of previous database entries of the database having a plurality of database fields; and

analyzing, by the computer system, the plurality of previous user selections to identify, for the particular database field, how frequently the same values of the particular database field are included in the previous database entries selected by the user, wherein the determining the weight for the particular database field is based on the analyzing.

19. The method of claim 17 , further comprising:

receiving, at the computer system, one or more customized search result layout settings specifying that one or more specified database fields are displayed to the user when the search results are displayed;

wherein the ranking is further based on the customized search result layout settings.

20. The method of claim 17 , wherein determining the weight for the particular database field is based only on how frequently the same values of the particular database field are included in the search results selected by the user relative to how frequently other values of other database fields in the database are included in the search results.

Assignments (2)
CHANGE OF NAME Recorded Mar 10, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 063028/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2021
From: RODRIGUEZ, MARIO SERGIO; POSSE, CHRISTIAN; KAPOOR, ROHIT; JAVED, MUHAMMAD TAYYAB
To: SALESFORCE.COM, INC.
Reel/Frame 057733/0242 →
Continuity (3)
Continuation 16752295 · Jan 24, 2020
Provisional Application 62902345 · Sep 18, 2019
Related Publication 20220027412A1 · Jan 27, 2022