IP Library Granted Patent US 11,188,604
Granted Patent B2
US 11,188,604 · App. 17/084,837 · Granted Nov 30, 2021

Auto-refinement of search results based on monitored search activities of users

Inventors: Richard Kazimierz Zwicky (Victoria, CA); Todd William Hooge (Victoria, CA); Matthew Dunn (Bellingham, WA)
Assignee: Gula Consulting Limited Liability Company
G06F16/9535G06Q30/02
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,188,604
App. No.
17/084,837
Granted
Nov 30, 2021
Kind
B2
Abstract

A tracking system passively tracks and records searches conducted by actual search engine users. The recorded data for each search event preferably includes the search query submitted, the search engine used, the search result item (e.g., web page) selected, the position (e.g., page number) of this item, and the user's IP address. The collected data is aggregated and analyzed to generate data regarding the search queries used to locate and access particular destinations (e.g., web pages and sites). This data may be used for various purposes, such as (1) to generate reports showing, e.g., how users reach a particular destination from different search engines and geographic locations, (2) to select content to display on a destination page, such that the content is relevant to search queries commonly used to locate that page, and (3) to update the database of one search engine to reflect searches conducted on other search engines.

Claims (33)

1. A method of collecting search data and ranking search results, the method comprising:

sending, by a first computing device to a second computing device, a browser-executable component, wherein the browser-executable component is configured to be executed in response to a browser accessing a web page, wherein the browser-executable component is further configured to obtain search query usage data corresponding to search queries originating at the second computing device and to generate a search record for transmission to the first computing device;

receiving, by the first computing device, the search record, wherein the search record includes the search query usage data obtained by the browser-executable component as of the time of the receiving;

storing, by the first computing device, search activity data comprising a collection of search records that includes the search record, wherein the search records in the search activity data are indexed in a manner that does not identify a user of the second computing device; and

ranking search results responsive to a search query originating at the second computing device based, at least in part, on the search activity data.

2. The method of claim 1 , wherein the search activity data on which the ranking is based includes search records of the user of the second computing device.

3. The method of claim 1 , wherein the search activity data on which the ranking is based includes search records of one or more other users.

4. The method of claim 1 , wherein the search record includes a code corresponding to an instance of execution of the browser-executable component, and wherein the browser-executable component is configured to request a resource corresponding to the browser from the first computing device.

5. The method of claim 4 , wherein the resource corresponding to the browser is unique to the instance of execution of the browser-executable component, and wherein the code is used to name the search record such that a local copy of the search record is not available in a cache of the browser.

6. The method of claim 4 , wherein the browser-executable component is configured to append the code to a filename of the search record.

7. The method of claim 4 , wherein the code comprises a random alphanumeric value or an incrementing count.

8. A computer storage device having computer-executable instructions embodied thereon for collecting search data and ranking search results, wherein the instructions, in response to being executed by a first computing device, cause the first computing device to:

send, to a second computing device, an executable component, wherein the executable component is configured to be executed in response to a user of the second computing device accessing a web page, wherein the executable component is further configured to obtain search query usage data corresponding to search queries originating at the second computing device and to generate a search record for transmission to the first computing device;

receive the search record, wherein the search record includes the search query usage data obtained by the browser-executable component as of the time of the receiving;

store search activity data as a collection of search records that includes the search record, wherein the search records in the search activity data are indexed in a manner that does not identify the user of the second computing device; and

rank search results responsive to a search query originating at the second computing device based on the search activity data.

9. The computer storage device of claim 8 , wherein the search activity data on which the ranking is based includes search records of the user of the second computing device.

10. The computer storage device of claim 8 , wherein the search activity data on which the ranking is based includes search records of one or more other users.

11. The computer storage device of claim 8 , wherein the search record includes a code corresponding to an instance of execution of the executable component, and wherein the executable component is configured to request a resource from the first computing device.

12. The computer storage device of claim 11 , wherein the resource is unique to the instance of execution of the executable component and the code is used to name the search record such that a local copy of the search record is not available in a cache of a browser.

13. The computer storage device of claim 11 , wherein the executable component is configured to append the code to a filename of the search record.

14. The computer storage device of claim 11 , wherein the code comprises a random alphanumeric value or an incrementing count.

15. A computing device capable of collecting search data and ranking search results, the computing device comprising:

a processor configured to execute instructions that cause the computing device to:

send, to another computing device, a browser-executable component, wherein the browser-executable component is configured to be executed in response to a browser accessing a web page, wherein the browser-executable component is further configured to obtain search query usage data corresponding to search queries originating at the other computing device and to generate a search record for transmission to the computing device,

receive the search record, wherein the search record includes the search query usage data obtained by the browser-executable component as of the time of the receiving, and

rank search results responsive to a search query originating at the other computing device based on search activity data; and

one or more memories configured to store the search activity data as a collection of search records that includes the search record, wherein the search records in the search activity data are indexed in a manner that does not identify a user of the other computing device.

16. The computing device of claim 15 , wherein the search activity data on which the ranking is based includes search records of the user of the other computing device.

17. The computing device of claim 15 , wherein the search activity data on which the ranking is based includes search records of one or more other users.

18. The computing device of claim 15 , wherein the search record includes a code corresponding to an instance of execution of the browser-executable component, and wherein the browser-executable component is configured to request a resource corresponding to the browser from the computing device.

19. The computing device of claim 18 , wherein the resource corresponding to the browser is unique to the instance of execution of the browser-executable component and the code is used to name the search record such that a local copy of the search record is not available in a cache of the browser.

20. The computing device of claim 18 , wherein the browser-executable component is configured to append the code to a filename of the search record.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ADDRESS FOR THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 056922 FRAME: 0706. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 14, 2021
From: GERE DEV. APPLICATIONS, LLC
To: GULA CONSULTING LIMITED LIABILITY COMPANY
Reel/Frame 057805/0258 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: EIGHTFOLD LOGIC, INC
To: GERE DEV. APPLICATIONS, LLC
Reel/Frame 056922/0506 →
MERGER Recorded Jul 20, 2021
From: GERE DEV. APPLICATIONS, LLC
To: GULA CONSULTING LIMITED LIABILITY COMPANY
Reel/Frame 056922/0706 →
Continuity (10)
Continuation 16827405 · Mar 23, 2020
Continuation 15973366 · May 7, 2018
Continuation 14988983 · Jan 6, 2016
Continuation 14255822 · Apr 17, 2014
Continuation 13272507 · Oct 13, 2011
Continuation 11454628 · Jun 16, 2006
Provisional Application 60731243 · Oct 31, 2005
Provisional Application 60703901 · Aug 1, 2005
Provisional Application 60690914 · Jun 16, 2005
Related Publication 20210049223A1 · Feb 18, 2021