IP Library Granted Patent US 7,630,972
Granted Patent B2
US 7,630,972 · App. 11/651,102 · Granted Dec 8, 2009

Clustered search processing

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 7,630,972
App. No.
11/651,102
Granted
Dec 8, 2009
Kind
B2
Abstract

Methods and apparatus for searching data and grouping search results into clusters that are ordered according to search relevance. Each cluster includes one or more data type, such as images, web pages, local information, news, advertisements, and the like. In one embodiment, a search term is evaluated for related concepts indicating categories of data sources to search. Data sources may also be identified by context information such as a location of a client device, a currently running application, and the like. Search results in each cluster are ordered by relevance and each cluster is given a score based on an aggregate of the relevance within the cluster. Each cluster score may be modified based on one or more corresponding concepts and/or context information. The clusters are ordered based on the modified scores. Content, including advertisements, may also be added to the ordered list to appear as another cluster.

Claims (48)

1. A method for searching data using a network device in communication with a client device, comprising:

receiving, from the client device, one or more search terms;

determining at least one concept based on an analysis of the one or more search terms;

identifying one or more concept-specific data sources over which to perform searches based on the at least one concept;

performing a search over each of the one or more concept-specific data sources based at least on the search term to generate a plurality of clusters, search results from each concept-specific data source comprising a different cluster in the plurality of clusters;

determining a relevance score for each result within each cluster based on user specific contextual data for a user of the client device;

for each cluster in the plurality of clusters, employing at least the relevance scores of each result within the respective cluster to determine a respective cluster score;

generating an ordered listing of each of the plurality of clusters based on the respective cluster scores; and

displaying at the client device at least a portion of the ordered plurality of clusters.

2. The method of claim 1 , further comprising:

searching at least one non-concept-specific data source to produce at least one of the plurality of clusters of search results.

3. The method of claim 1 , the method further comprising:

determining user specific contextual data from at least one of the following: a location of the client device used to submit the search term, an application program used by the client device to submit the search term, a data type of a search result currently being displayed by the client device, a web page through which the search term was submitted, a tracked behavior of the user of the client device, and demographic data.

4. The method of claim 1 , wherein ordering the plurality of clusters includes creating a document with a cluster display element for each of the plurality of clusters, wherein each cluster display element enables a user to selectably display at least one of the search results of a corresponding one of the plurality of clusters.

5. The method of claim 1 , wherein determining a relevance score further comprises employing weighting factors to determine the relevance score that employs a user behavior information.

6. The method of claim 1 , wherein the specific contextual data for the user includes at least one of information about an application currently running on the client device, a past behavior of the user, or a past purchase by the user.

7. A network device for searching data, comprising:

memory having data and instructions; and

a processor to execute the data and instructions to perform actions, including:

receiving, from a client device, one or more search terms;

determining at least one concept based on an analysis of the one or more search terms;

identifying one or more concept-specific data sources over which to perform searches based on the at least one concept;

performing a search over each of the one or more concept-specific data sources based at least on the search term to generate a plurality of clusters, search results from each concept-specific data source comprising a different cluster in the plurality of clusters;

determining a relevance score for each result within each cluster based on user specific contextual data for a user of the client device;

for each cluster in the plurality of clusters, employing at least the relevance scores of each result within the respective cluster to determine a respective cluster score;

generating an ordered listing of each of the plurality of clusters based on the respective cluster scores; and

displaying at the client device at least a portion of the ordered plurality of clusters.

8. The network device of claim 7 , wherein the one or more search terms further comprises a predefined term that causes the plurality of clusters to be ordered in a predefined order.

9. The network device of claim 7 , wherein the processor performs actions, further comprising:

obtaining an advertisement;

including the advertisement into the ordered listing of the plurality of clusters; and

displaying the advertisement at the client device.

10. The network device of claim 9 , wherein displaying the advertisement further comprises positioning the advertisement based on a relevance of the advertisement to the plurality of clusters.

11. The network device of claim 7 , wherein determining a relevance score further comprises employing weighting factors to determine the relevance score that employs a user behavior information.

12. A computer-readable storage medium that includes data and instructions, wherein the execution of the instructions on a computing device by enabling actions, comprising:

receiving, from a client device, one or more search terms;

determining at least one concept based on an analysis of the one or more search terms;

identifying one or more concept-specific data sources over which to perform searches based on the at least one concept;

performing a search over each of the one or more concept-specific data sources based at least on the search term to generate a plurality of clusters, search results from each concept-specific data source comprising a different cluster in the plurality of clusters;

determining a relevance score for each result within each cluster based on user specific contextual data for a user of the client device;

for each cluster in the plurality of clusters, employing at least the relevance scores of each result within the respective cluster to determine a respective cluster score;

generating an ordered listing of each of the plurality of clusters based on the respective cluster scores; and

displaying at the client device at least a portion of the ordered plurality of clusters.

13. The computer-readable storage medium of claim 12 , wherein determining a relevance score further comprises employing weighting factors to determine the relevance score that employs a user behavior information.

14. The computer-readable storage medium of claim 12 , wherein the specific contextual data for the user includes at least one of information about an application currently running on the client device, a past behavior of the user, or a past purchase by the user.

15. The computer-readable storage medium of claim 12 , wherein at least one cluster is associated with multiple specific data types.

16. The computer-readable storage medium of claim 12 , further comprising:

searching at least one non-concept-specific data source to produce at least one of the plurality of clusters of search results.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →