IP Library › Granted Patent US 10,642,843
Granted Patent B2
US 10,642,843 · App. 14/752,207 · Granted May 5, 2020

World knowledge triggers

Inventors: Fergus Gerard Hurley (San Francisco, CA); Robin Dua (San Francisco, CA)
Assignee: Google LLC
G06F16/24565G06F16/248G06F16/9535G06F16/9537G06Q10/109H04W4/029G06F3/04842
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 10,642,843
App. No.
14/752,207
Granted
May 5, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, for associating actions with events that are determined independent of the action type of the action. A system receives, from a user device, identification of an action to be taken, the action being one of a plurality of action types, and an identification of a first event that is determined independent of the action type and for which the occurrence of the first event may be determined by the system. They system associates the action and the first event with instructions for determining if the first event has occurred, and then determines whether the first event has occurred. In response to determining that the first event has occurred, the system causes the action to occur.

Claims (74)

1. A method, comprising:

receiving, by an action processing system, and from a user device, identification of an action to be taken, the action being one of a plurality of action types;

receiving, from the user device, a query that is separate from the identification of the action to be taken, the query input by a user of the user device;

submitting the query to a search system that searches an information source that is separate from data identifying the action to be taken and that is separate from the action processing system;

receiving, by the action processing system and from the search system, events derived from the information source that are determined to be relevant to the query and that are determined to be relevant independent of the action type;

providing, to the user device, data that causes the user device to display a list of events as selectable events, wherein the list of events lists the events derived from the information source based on the query input by the user;

receiving by the action processing system, from the user device, an identification of a first event from the list of selectable events displayed at the user device and for which the occurrence of the first event may be monitored by subsequently searching the information source and determined by the action processing system, the identification of the first event being based on a selection of one of the selectable events received from the user device;

generating, by the action processing system, instructions that cause the action processing system to monitor the first information source to determine whether the first event has occurred, wherein the instructions cause the action processing system to formulate a query for the action and periodically send the query to a search system to search the information source for data indicating the occurrence of the first event;

associating, by the action processing system, the action and the first event with the instructions for determining if the first event has occurred, comprising:

determining an event type for the first event from a plurality of event types;

determine a volatility associated with event, the volatility being an indicator of a likelihood of change for the event; and

selecting a search period for the instructions based on the determined event type, wherein event types that are different from each other have different search periods, and wherein the search period is selected so that a frequency of a search is higher for events with higher volatility and lower for events with lower volatility;

processing, by the action processing system, the instructions to determine whether the first event has occurred; and

in response to determining that the first event has occurred, causing the action to occur.

2. The method of claim 1 , wherein the information source is a web resource corpus.

3. The method of claim 1 , wherein the information source is a knowledge graph.

4. The method of claim 1 , further comprising:

receiving, by the action processing system, and from the user device, an identification of a second event that is determined independent of the action type; and

associating, by the action processing system, the action and the second event.

5. The method of claim 4 , wherein:

determining whether the first event has occurred comprises also determining whether the second event has occurred; and

in response to determining that the first event has occurred, causing the action to occur comprises in response to determining that both the first event and the second event have occurred, causing the action to occur.

6. The method of claim 4 , wherein:

determining whether the first event has occurred comprises also determining whether the second event has occurred; and

in response to determining that the first event has occurred, causing the action to occur comprises in response to determining that either the first event or the second event have occurred, causing the action to occur.

7. The method of claim 4 , wherein:

the second event is an event that is determined by the user device.

8. The method of claim 7 , wherein the second event includes at least one of a time period event, a location area event, and a person proximity event.

9. The method of claim 1 , wherein associating, by the action processing system, the action and the first event with the instructions for determining if the first event has occurred comprises associating the action and the first event with instructions that cause a periodic search an information source for data indicating the occurrence of the first event.

10. The method of claim 1 , wherein the information source comprises user preferences and user-specific data that is specific to the user.

11. The method of claim 1 , wherein the information source is a knowledge graph.

12. The method of claim 1 , wherein:

the action to be taken is presentation of a reminder at the user device; and

causing the action to occur comprises sending data to the user device that causes the user device to present the reminder.

13. The method of claim 1 , wherein:

the action to be taken is an action that is performed independent of the user device.

14. The method of claim 1 , wherein:

the action to be taken is presentation of a confirmation to take a second action;

causing the action to occur comprises sending data to the user device that causes the user device to present the confirmation; and

further comprising performing, by the action processing system, the second action in response to receiving from the user device data indication acceptance of the confirmation.

15. The method of claim 1 , wherein the first event is an event associated with the user.

16. The method of claim 1 , wherein the first event is an event independent of the user.

17. The method of claim 1 , wherein associating, by the action processing system, the action and the first event with instructions for determining if the first event has occurred comprises:

testing the first event for a valid condition; and

only associating the action and the first event with instructions for determining if the first event has occurred when the testing of the first even for an valid condition indicates the first event can occur.

18. The method of claim 1 , further comprising: wherein the at least one activity condition is at least one of a time period condition, a location area condition, and a person proximity condition.

19. An action processing system, comprising:

a processor; and

a computer-readable medium coupled to the processor and having instructions stored thereon, which, when executed by the processor, cause the processor to perform operations comprising:

receiving, from a user device, identification of an action to be taken, the action being one of a plurality of action types;

receiving, from the user device, a query that is separate from the identification of the action to be taken, the query input by a user of the user device;

submitting the query to a search system that searches an information source that is separate from data identifying the action to be taken and that is separate from the action processing system;

receiving, by the action processing system and from the search system, events derived from the information source that are determined to be relevant to the query and that are determined to be relevant independent of the action type;

providing, to the user device, data that causes the user device to display a list of events as selectable events, wherein the list of events lists the events derived from the information source based on the query input by the user;

receiving by the action processing system, from the user device, an identification of a first event from the list of selectable events displayed at the user device and for which the occurrence of the first event may be monitored by subsequently searching the information source and determined by the action processing system, the identification of the first event being based on a selection of one of the selectable events received from the user device;

generating, by the action processing system, instructions that cause the action processing system to monitor the first information source to determine whether the first event has occurred, wherein the instructions cause the action processing system to formulate a query for the action and periodically send the query to a search system to search the information source for data indicating the occurrence of the first event;

associating, by the action processing system, the action and the first event with the instructions for determining if the first event has occurred, comprising:

determine a volatility associated with the event, the volatility being an indicator of a likelihood of change for the event; and

a search period for the instructions based on the determined event type, wherein event types that are different from each other have different search periods, and wherein the search period is selected so that a frequency of a search is higher for events with higher volatility and lower for events with lower volatility;

processing, by the action processing system, the instructions to determine whether the first event has occurred; and

in response to determining that the first event has occurred, causing the action to occur.

20. A computer-readable medium having instructions stored thereon, which, when executed by a processor of an action processing system, cause the processor to perform operations, comprising:

receiving, from a user device, identification of an action to be taken, the action being one of a plurality of action types;

receiving, from the user device, a query that is separate from the identification of the action to be taken, the query input by a user of the user device;

submitting the query to a search system that searches an information source that is separate from data identifying the action to be taken and that is separate from the action processing system;

receiving, by the action processing system and from the search system, events derived from the information source that are determined to be relevant to the query and that are determined to be relevant independent of the action type;

providing, to the user device, data that causes the user device to display a list of events as selectable events, wherein the list of events lists the events derived from the information source based on the query input by the user;

receiving by the action processing system, from the user device, an identification of a first event from the list of selectable events displayed at the user device and for which the occurrence of the first event may be monitored by subsequently searching the information source and determined by the action processing system, the identification of the first event being based on a selection of one of the selectable events received from the user device;

generating, by the action processing system, instructions that cause the action processing system to monitor the first information source to determine whether the first event has occurred, wherein the instructions cause the action processing system to formulate a query for the action and periodically send the query to a search system to search the information source for data indicating the occurrence of the first event;

associating, by the action processing system, the action and the first event with the instructions for determining if the first event has occurred, comprising:

determine a volatility associated with the event, the volatility being an indicator of a likelihood of change for the event; and

a search period for the instructions based on the determined event type, wherein event types that are different from each other have different search periods, and wherein the search period is selected so that a frequency of a search is higher for events with higher volatility and lower for events with lower volatility;

processing, by the action processing system, the instructions to determine whether the first event has occurred; and

in response to determining that the first event has occurred, causing the action to occur.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2015
From: HURLEY, FERGUS GERARD; DUA, ROBIN
To: GOOGLE INC.
Reel/Frame 036559/0125 →
Continuity (2)
Provisional Application 62167742 · May 28, 2015
Related Publication 20160350306A1 · Dec 1, 2016