IP Library Granted Patent US 11,836,167
Granted Patent B2
US 11,836,167 · App. 17/536,199 · Granted Dec 5, 2023

Search suggestions based on native application history

Inventors: Ulas Kirazci (Mountain View, CA); Othar Hansson (Sunnyvale, CA); Anton Hansson (London, GB)
Assignee: GOOGLE LLC
G06F16/3322
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,167
App. No.
17/536,199
Granted
Dec 5, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, for automatically generating search suggestions based on history data for multiple native application on a user device.

Claims (60)

1. A computer-implemented method performed by data processing apparatus comprising one or more computers in data communication, the method comprising:

analyzing, for one or more native applications on a user device, an aggregate feedback of the one or more native applications on a user device;

identifying one or more native applications that have a reduced level of usage compared to other applications based on the aggregate feedback based on a click-through rate of one or more sources on each of the one or more native applications;

demoting data associated with one or more native applications that have a reduced level of usage compared to other applications within a ranking of native application history data or removing the data associated with one or more native applications that have poor utility within the native application history data;

receiving, from a first user device, a search query input for a search application that provides a search environment in which a user can input a search query and receive search results from a search service, the search query input comprising one or more characters;

accessing the native application history data for the first user device, the native application history data describing content presented by a plurality of native applications at the first user device, each of the plurality of native applications being different from the search application;

generating, based on the search query input and the native application history data for the first user device, one or more query suggestions; and

providing, to the first user device, the one or more query suggestion for presentation in the search environment of the search application.

2. The computer-implemented method of claim 1 , further comprising:

accessing native application history data for a plurality of user devices that include user devices other than the first user device; and

wherein generating one or more query suggestions comprises generating the one or more query suggestions based on the search query input, the native application history data for the first user device, and the native application history data for the plurality of user devices.

3. The computer-implemented method of claim 1 , wherein receiving, from the first user device, the search query input includes receiving, from the first user device, the native application history data from the first user device.

4. The computer-implemented method of claim 1 , further comprising:

determining, for a particular user device, a history rate limit that limits an amount of history data provided by the user device over time; and

when the amount of history data received over a period of time exceeds the rate limit, capping the amount of history data received from the user device so as the amount of history does not exceed the rate limit.

5. The computer-implemented method of claim 1 , further comprising:

determining, for a particular native application on a user device, a history rate limit that limits an amount of history data provided by the native application over time; and

when the amount of history data received for the native application on the user device over a period of time exceeds the rate limit, capping the amount of history data received for the native application on the user device so as the amount of history does not exceed the rate limit.

6. The computer-implemented method of claim 2 , further comprising:

determining, for a particular resource and based on the native application history data for a plurality of user devices, a selection rate for the particular resource; and

when the selection rate for the particular resource exceeds a selection rate limit, demoting query suggestions that identify the particular resource.

7. The computer-implemented method of claim 1 , wherein at least one of the query suggestions is a native application query suggestion that, when selected, causes a second native application other than the search application to launch and display content described by the native application query suggestion.

8. The computer-implemented method of claim 7 , wherein the native application query suggestion includes a deep link to the second native application.

9. The computer-implemented method of claim 1 , wherein the search application is a native application.

10. The computer-implemented method of claim 9 , wherein generating, at a first user device, native application history data describing content presented by a plurality of native applications at the first user device comprises executing, by each native application, an API call to a service on the first user device and external to each native application, and that collects history data describing the content presented by the native application.

11. The computer-implemented method of claim 1 , wherein the search application is a web browser.

12. A system, comprising:

a data processing apparatus; and

software stored in non-transitory computer readable storage medium storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:

analyzing, for one or more native applications on a user device, an aggregate feedback of the one or more native applications on a user device;

identifying one or more native applications that have a reduced level of usage compared to other applications based on the aggregate feedback based on a click-through rate of one or more sources on each of the one or more native applications;

demoting data associated with one or more native applications that have a reduced level of usage compared to other applications within a ranking of native application history data or removing the data associated with one or more native applications that have poor utility within the native application history data;

receiving, from a first user device, a search query input for a search application that provides a search environment in which a user can input a search query and receive search results from a search service, the search query input comprising one or more characters;

accessing the native application history data for the first user device, the native application history data describing content presented by a plurality of native applications at the first user device, each of the plurality of native applications being different from the search application;

generating, based on the search query input and the native application history data for the first user device, one or more query suggestions; and

providing, to the first user device, the one or more query suggestion for presentation in the search environment of the search application.

13. The system of claim 12 , the operations further comprising:

accessing native application history data for a plurality of user devices that include user devices other than the first user device; and

wherein generating one or more query suggestions comprises generating the one or more query suggestions based on the search query input, the native application history data for the first user device, and the native application history data for the plurality of user devices.

14. The system of claim 12 , wherein receiving, from the first user device, the search query input includes receiving, from the first user device, the native application history data from the first user device.

15. The system of claim 12 , the operation further comprising:

determining, for a particular user device, a history rate limit that limits an amount of history data provided by the user device over time; and

when the amount of history data received over a period of time exceeds the rate limit, capping the amount of history data received from the user device so as the amount of history does not exceed the rate limit.

16. The system of claim 12 , wherein at least one of the query suggestions is a native application query suggestion that, when selected, causes a second native application other than the search application to launch and display content described by the native application query suggestion.

17. The system of claim 12 , wherein the search application is a native application.

18. A non-transitory computer readable storage medium storing instructions executable by a data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:

analyzing, for one or more native applications on a user device, an aggregate feedback of the one or more native applications on a user device;

identifying one or more native applications that have a reduced level of usage compared to other applications based on the aggregate feedback based on a click-through rate of one or more sources on each of the one or more native applications;

demoting data associated with one or more native applications that have a reduced level of usage compared to other applications within a ranking of native application history data or removing the data associated with one or more native applications that have poor utility within the native application history data;

receiving, from a first user device, a search query input for a search application that provides a search environment in which a user can input a search query and receive search results from a search service, the search query input comprising one or more characters;

accessing the native application history data for the first user device, the native application history data describing content presented by a plurality of native applications at the first user device, each of the plurality of native applications being different from the search application;

generating, based on the search query input and the native application history data for the first user device, one or more query suggestions; and

providing, to the first user device, the one or more query suggestion for presentation in the search environment of the search application.

19. The non-transitory computer readable storage medium storing instructions executable by a data processing apparatus of claim 18 , the operations further comprising:

accessing native application history data for a plurality of user devices that include user devices other than the first user device; and

wherein generating one or more query suggestions comprises generating the one or more query suggestions based on the search query input, the native application history data for the first user device, and the native application history data for the plurality of user devices.

20. The non-transitory computer readable storage medium storing instructions executable by a data processing apparatus of claim 18 , wherein receiving, from the first user device, the search query input includes receiving, from the first user device, the native application history data from the first user device.

21. The non-transitory computer readable storage medium storing instructions executable by a data processing apparatus of claim 18 , the operation further comprising:

determining, for a particular user device, a history rate limit that limits an amount of history data provided by the user device over time; and

when the amount of history data received over a period of time exceeds the rate limit, capping the amount of history data received from the user device so as the amount of history does not exceed the rate limit.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2021
From: KIRAZCI, ULAS; HANSSON, OTHAR; HANSSON, ANTON
To: GOOGLE INC.
Reel/Frame 058224/0395 →
CHANGE OF NAME Recorded Nov 29, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 058254/0008 →
Continuity (5)
Continuation 16518379 · Jul 22, 2019
Continuation 15860409 · Jan 2, 2018
Continuation 14747956 · Jun 23, 2015
Provisional Application 62017242 · Jun 25, 2014
Related Publication 20220083575A1 · Mar 17, 2022