IP Library › Granted Patent US 10,275,513
Granted Patent B1
US 10,275,513 · App. 13/929,377 · Granted Apr 30, 2019

Providing application functionality

Inventors: Mathew Cowan (New York, NY); Christopher Pedregal (New York, NY)
Assignee: GOOGLE LLC
G06F17/3061G06N3/08
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,275,513
App. No.
13/929,377
Granted
Apr 30, 2019
Kind
B1
Abstract

A system is configured to obtain data for a user. The data may describe actions that the user has performed in an application and identify points in time associated with the actions. A point in time may include a point in time at which one of the actions was performed. The system is configured to analyze the data to determine, for each action, a score for each point in time. The score, for a particular point in time, may be determined based on one or more points in time at which the action was performed, and may be determined from a number of times that the action was performed at the particular point in time. The system is configured to provide the user with a functionality to perform a particular action based on the scores determined for the particular action for the set of points in time.

Claims (88)

1. A method comprising:

obtaining, by one or more computer devices, data for a user,

the data describing a plurality of actions that the user has performed in an application,

the data identifying points in time associated with the plurality of actions, and

the points in time including:

a particular point in time at which a particular action, of the plurality of actions, was performed, the particular point in time being a relative time measurement that is relative to a start of one or more events and that is prior to the start of the one or more events;

analyzing, by the one or more computer devices, the data to determine, for the particular action for the particular point in time, a score based on a number of times that the particular action was performed at the particular point in time; and

providing, by the one or more computer devices, the user with a functionality to perform the particular action at an occurrence of the particular point in time, wherein the providing is based on the score, and wherein the score is utilized in the providing based on the score corresponding to the particular point in time and the occurrence being of the particular point in time.

2. The method of claim 1 , where providing the user with the functionality comprises:

providing the user with one or more links,

the particular action being performed based on selection of the one or more links.

3. The method of claim 1 , where the data comprises a histogram that identifies the number of times that the particular action was performed at the particular point in time and numbers of times that one or more other actions, of the plurality of the actions, were performed at other points of time of the points in time.

4. The method of claim 1 , where the data further identifies a plurality of geolocations and a plurality of client devices associated with the points in time.

5. The method of claim 4 ,

where the score is a first score, and

where the method further comprises:

analyzing the data to determine a second score based on a number of times that the user performed the particular action at a particular geolocation of the plurality of geolocations; and

analyzing the data to determine a third score based on a number of times that the user performed the particular action using a particular client device of the plurality of client devices.

6. The method of claim 5 , where providing the user with the functionality to perform the particular action comprises:

identifying the first score for the particular point in time;

identifying the second score for the particular geolocation associated with the user at the particular point in time;

identifying the third score for the particular client device associated with the user at the particular point in time;

determining that each of the first score, the second score, and the third score satisfies a respective threshold; and

providing the user with the functionality to perform the particular action based on determining that each of the first score, the second score, and the third score satisfies the respective threshold.

7. The method of claim 5 , where providing the user with the functionality to perform the particular action comprises:

identifying the first score for the particular point in time;

identifying the second score for the particular geolocation associated with the user at the particular point in time;

identifying the third score for the particular client device associated with the user at the particular point in time;

generating an overall score based on a combination of the first score, the second score, and the third score;

determining that the overall score satisfies a threshold; and

providing the user with the functionality to perform the particular action based on determining that the overall score satisfies the threshold.

8. The method of claim 1 , wherein the points in time further include an additional particular point in time at which the particular action was performed, and further comprising:

analyzing, by the one or more computer devices, the data to determine, for the particular action for the additional particular point in time, an additional score based on a number of times that the particular action was performed at the additional particular point in time; and

providing, by the one or more computers, the user with the functionality to perform the particular action at an occurrence of the additional particular point in time, wherein the providing is based on the additional score, and wherein the additional score is utilized in the providing based on the additional score corresponding to the additional particular point in time and the occurrence being of the additional particular point in time.

9. The method of claim 1 , wherein the particular point in time is a time period.

10. A system comprising:

one or more computers to:

obtain data for a user,

the data describing a plurality of actions that the user has performed in an application,

the data identifying points in time associated with the plurality of actions, and

the points in time including:

a particular point in time at which a particular action, of the plurality of actions, was performed, the particular point in time being a relative time measurement that is relative to a start of one or more events and that is prior to the start of the one or more events;

analyze the data to determine, for the particular action for the particular point in time, a score based on a number of times that the particular action was performed at the particular point in time; and

provide the user with a functionality to perform the particular action based on the score at an occurrence of the particular point in time, wherein the providing is based on the score, and wherein the score is utilized in the providing based on the score corresponding to the particular point in time and the occurrence being of the particular point in time.

11. The system of claim 10 , where the one or more computers, when providing the user with the functionality, are to:

provide the user with one or more links,

the particular action being performed based on selection of the one or more links.

12. The system of claim 10 , where the data further identifies a plurality of geolocations associated with the points in time.

13. The system of claim 12 ,

where the score is a first score, and

where the one or more computers are further to:

analyze the data to determine a second score based on a number of times that the user performed the particular action at a particular geolocation of the plurality of geolocations.

14. The system of claim 13 , where the one or more computers, when providing the user with the functionality to perform the particular action, are to:

identify the first score for the particular point in time;

identify the second score for the particular geolocation associated with the user at the particular point in time;

determine that each of the first score and the second score satisfies a respective threshold; and

provide the user with the functionality to perform the particular action based on determining that each of the first score and the second score satisfies the respective threshold.

15. The system of claim 13 , where the one or more computers, when providing the user with the functionality to perform the particular action, are to:

identify the first score for the particular point in time;

identify the second score for the particular geolocation associated with the user at the particular point in time;

generate an overall score based on the first score and the second score;

determine that the overall score satisfies a threshold; and

provide the user with the functionality to perform the particular action based on determining that the overall score satisfies the threshold.

16. The system of claim 10 , where particular point in time is a time period.

17. A non-transitory computer storage medium storing instructions, the instructions comprising:

a plurality of instructions which, when executed by one or more processors, cause the one or more processors to:

obtain data for a user,

the data describing a plurality of actions that the user has performed in an application,

the data identifying points in time associated with the plurality of actions, and

the points in time including:

a particular point in time at which a particular action, of the plurality of actions, was performed, the particular point in time being a relative time measurement that is relative to a start of one or more events and that is prior to the start of the one or more events;

analyze the data to determine, for the particular action for the particular point in time, a score based on a number of times that the particular action was performed at the particular point in time; and

provide the user with a functionality to perform the particular action at an occurrence of the particular point in time, wherein the providing is based on the score, and wherein the score is utilized in the providing based on the score corresponding to the particular point in time and the occurrence being of the particular point in time.

18. The non-transitory computer storage medium of claim 17 , where the data further identifies a plurality of client devices associated with the points in time.

19. The non-transitory computer storage medium of claim 18 , where the score is a first score, and

where the plurality of instructions, when executed by the one or more processors, further cause the one or more processors to:

analyze the data to determine a second score based on a number of times that the user performed the action using a particular client device of the plurality of client devices.

20. The non-transitory computer storage medium of claim 19 , where one or more instructions, of the plurality of instructions, to provide the user with the functionality to perform the particular action, when executed by the one or processors, cause the one or more processors to:

identify the first score for the particular point in time;

identify the second score for the client device associated with the user at the particular point in time;

determine that each of the first score and the second score satisfies a respective threshold; and

provide the user with the functionality to perform the particular action based on determining that each of the first score and the second score satisfies the respective threshold.

21. The non-transitory computer storage medium of claim 19 , where one or more instructions, of the plurality of instructions, to provide the user with the functionality to perform the particular action, when executed by the one or processors, cause the one or more processors to:

identify the first score for the particular point in time;

identify the second score for the client device associated with the user at the particular point in time;

generate an overall score based on the first score and the second score;

determine that the overall score satisfies a threshold; and

provide the user with the functionality to perform the particular action based on determining that the overall score satisfies the threshold.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2013
From: COWAN, MATHEW; PEDREGAL, CHRISTOPHER
To: GOOGLE INC.
Reel/Frame 030709/0908 →
Continuity (1)
Provisional Application 61713411 · Oct 12, 2012
Cited By (26)
US 12,197,712 US 12,197,817 US 12,200,297 US 12,204,932 US 12,211,502 US 12,216,894 US 12,219,314 US 12,223,282 US 12,236,952 US 12,254,887 US 12,260,234 US 12,277,954 US 12,293,763 US 12,301,635 US 12,333,404 US 12,361,943 US 12,367,879 US 12,386,434 US 12,386,491 US 12,413,663 US 12,431,128 US 12,477,470 US 12,556,890 US 12,608,171 US 12,613,730 US 12,619,452