IP Library › Granted Patent US 9,825,987
Granted Patent B2
US 9,825,987 · App. 14/699,922 · Granted Nov 21, 2017

Application graph builder

Inventors: Deepak Rao (San Francisco, CA); Argyrios Zymnis (San Francisco, CA); Kelton Lynn (San Francisco, CA); Michael Ducker (San Francisco, CA); Sean Cook (San Francisco, CA)
Assignee: Twitter, Inc.
H04L63/145G06F17/3053G06F17/30321G06F17/30887G06F17/30958G06Q10/06H04L51/12
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 9,825,987
App. No.
14/699,922
Filed
Apr 29, 2015
Granted
Nov 21, 2017
Kind
B2
Art Unit
2434
USPC
726/23
Abstract

Disclosed is a system for recommending content of a predefined category to an account holder, or account holders based on the account holder application graphs. The system receives information corresponding to applications executing on the client device of the account holders and generates an application graph for each account holder that includes a list of predefined application categories that are preferred by the account holder. For each predefined category, a list of account holders preferring content relevant to that category is predicted based on the set of generated application graphs.

Claims (108)

1. A computer-executed method for recommending applications of a predefined category to an account holder, the method comprising:

receiving information corresponding to one or more applications executing on a client device of an account holder;

generating an application graph for each account holder based on the received information, wherein the application graph is a representation of usage information of applications on the client device at least including a list of predefined application categories;

applying, for each predefined category, a computer model including a set of determined model parameters to determine a numerical likelihood that the account holder will prefer receiving applications related to the predefined category based on the generated application graph and model parameters;

wherein the determined model parameters include a set of model account holders having a positive or negative preference for the predefined category; and

recommending at least one other application of the predefined category to an other account holder, the at least one other application able to execute on an other client device of the other account holder, based on the numerical likelihood.

2. The computer-executed method of claim 1 , wherein the client device associated with a model account holder having a positive preference is an account holder that has an application of the predefined category executing on the client device.

3. The computer-executed method of claim 1 , wherein the client device associated with a model account holder having a negative preference is an account holder that has an application of the predefined category executing on the client device.

4. The computer-executed method of claim 1 , further comprising determining the set of model parameters for the computer model by:

receiving a set of metrics samples associated with previously recommended applications, the metrics samples including

a set of targeted account holders predicted to prefer applications associated with the predefined category, and

a set of accurate account holders predicted to prefer applications associated with the predefined category and having a positive preference to the application associated with the predefined category;

determining a precision function based on the comparison of the targeted account holders and accurate account holders;

updating the set of model parameters based on the precision function.

5. The computer-executed method of claim 1 , further comprising determining the set of model parameters for the computer model by:

receiving a set of metrics samples associated with previously recommended applications, the metrics samples including

a set of accurate account holders predicted to prefer applications associated with the predefined category and having a positive preference to the application associated with the predefined category, and

a set of absent account holders having a positive preference to the application associated with the predefined category;

determining a recall function based on the comparison of the accurate account holders and absent account holders;

updating the set of model parameters based on the recall function.

6. The computer-executed method of claim 1 , further comprising a requestor that sends a request for recommending applications, wherein the requestor may include an ad network, an application developer or a third-party application service.

7. The computer-executed method of claim 1 further comprising

transmitting, based on the numerical likelihood, a notification to one or more alternate applications executing on the client device of the account holder.

8. The computer-executed method of claim 1 further comprising

transmitting, based on the numerical likelihood, a notification to one or more third-party applications including advertising networks, wherein one or more third-party applications including advertising networks are sent a notification based on the likelihood.

9. The computer-executed method of claim 1 , wherein

the generated application graph is associated with a plurality of predefined categories, and

the generated application graph association is used to determine model parameters on alternate devices.

10. The computer-executed method of claim 1 , wherein

the user account of the client device is associated with a plurality of predefined categories, and

the user account association is used to determine model parameters on alternate devices.

11. The computer-executed method of claim 1 , further comprising

identifying the at least one other application to recommend based on an other application graph associated with the other account holder;

determining the identified at least one other application is able to execute on the other client device based on an the similarity between the application graph and the other application graph;

recommending the at least one other application to the other account holder based on the determination.

12. The computer-executed method of claim 1 , wherein the usage information of the client device is specific to one application executing on the client device.

13. A non-transitory computer-readable storage medium comprising instructions for recommending applications that when executed cause a processor to:

receive information corresponding to one or more applications executing on a client device of an account holder;

generate an application graph for each account holder based on the received information, wherein the application graph is a representation of usage information of applications on the client device at least including a list of predefined application categories;

apply, for each predefined category, a computer model including a set of determined model parameters to determine a numerical likelihood that the account holder will prefer receiving applications related to the predefined category based on the generated application graph and model parameters;

wherein the determined model parameters include a set of model account holders having a positive or negative preference for the predefined category; and

recommend at least one other application of the predefined category to an other account holder, the at least one other application able to execute on an other client device of the other account holder, based on the numerical likelihood.

14. The non-transitory computer readable storage medium of claim 13 , wherein the client device associated with a model account holder having a positive preference is an account holder that has an application of the predefined category executing on the client device.

15. The non-transitory computer readable storage medium of claim 13 , wherein the client device associated with a model account holder having a negative preference is an account holder that has an application of the predefined category executing on the client device.

16. The non-transitory computer readable storage medium of claim 13 , wherein the instructions further cause the processor to determine the set of model parameters for the computer model by:

receiving a set of metrics samples associated with previously recommended applications, the metrics samples including

a set of targeted account holders predicted to prefer applications associated with the predefined category, and

a set of accurate account holders predicted to prefer applications associated with the predefined category and having a positive preference to the application associated with the predefined category;

determining a precision function based on the comparison of the targeted account holders and accurate account holders;

updating the set of model parameters based on the precision function.

17. The non-transitory computer readable storage medium of claim 13 , wherein the instructions further cause the processor to determine the set of model parameters for the computer model by:

receiving a set of metrics samples associated with previously recommended applications, the metrics samples including

a set of accurate account holders predicted to prefer applications associated with the predefined category and having a positive preference to the application associated with the predefined category, and

a set of absent account holders having a positive preference to the application associated with the predefined category;

determining a recall function based on the comparison of the accurate account holders and absent account holders;

updating the set of model parameters based on the recall function.

18. The non-transitory storage medium of claim 13 , further comprising a requestor that sends a request for recommending applications, wherein the requestor may include an ad network, an application developer or a third-party application service.

19. The non-transitory computer storage medium of claim 13 , wherein the instructions further cause the processor to:

transmit, based on the numerical likelihood, a notification to one or more alternate applications executing on the client device of the account holder.

20. The non-transitory computer storage medium of claim 13 , wherein the instructions further cause the processor to:

transmit, based on the numerical likelihood, a notification to one or more third-party applications including advertising networks, wherein one or more third-party applications including advertising networks are sent a notification based on the likelihood.

21. The non-transitory computer storage medium of claim 13 , wherein

the generated application graph is associated with a plurality of predefined categories, and

the generated application graph association is used to determine model parameters on alternate devices.

22. The non-transitory computer storage medium of claim 13 , wherein

the user account of the client device is associated with a plurality of predefined categories, and

the user account association is used to determine model parameters on alternate devices.

23. The non-transitory computer storage medium of claim 13 , wherein the instructions further cause the processor to:

identify the at least one other application to recommend based on an other application graph associated with the other account holder;

determine the identified at least one other application is able to execute on the other client device based on an the similarity between the application graph and the other application graph;

recommend the at least one other application to the other account holder based on the determination.

24. The non-transitory computer storage medium of claim 13 , wherein the usage information of the client device is specific to one application executing on the client device.

25. A system comprising a processor and a memory storing computer program instructions for recommending applications that when executed by the processor cause the processor to:

receive information corresponding to one or more applications executing on a client device of an account holder;

generate an application graph for each account holder based on the received information, wherein the application graph is a representation of usage information of applications on the client device at least including a list of predefined application categories;

apply, for each predefined category, a computer model including a set of determined model parameters to determine a numerical likelihood that the account holder will prefer receiving applications related to the predefined category based on the generated application graph and model parameters;

wherein the determined model parameters include a set of model account holders having a positive or negative preference for the predefined category; and

recommend at least one other application of the predefined category to an other account holder, the at least one other application able to execute on an other client device of the other account holder, based on the numerical likelihood.

26. The system of claim 25 , wherein the client device associated with a model account holder having a positive preference is an account holder that has an application of the predefined category executing on the client device.

27. The system of claim 25 , wherein the client device associated with a model account holder having a negative preference is an account holder that has an application of the predefined category executing on the client device.

28. The system of claim 25 , wherein the instructions further cause the processor to determine the set of model parameters for the computer model by:

receiving a set of metrics samples associated with previously recommended applications, the metrics samples including

a set of targeted account holders predicted to prefer applications associated with the predefined category, and

a set of accurate account holders predicted to prefer applications associated with the predefined category and having a positive preference to the application associated with the predefined category;

determining a precision function based on the comparison of the targeted account holders and accurate account holders;

updating the set of model parameters based on the precision function.

29. The system of claim 25 , wherein the instructions further cause the processor to determine the set of model parameters for the computer model by:

receiving a set of metrics samples associated with previously recommended applications, the metrics samples including

a set of accurate account holders predicted to prefer applications associated with the predefined category and having a positive preference to the application associated with the predefined category, and

a set of absent account holders having a positive preference to the application associated with the predefined category;

determining a recall function based on the comparison of the accurate account holders and absent account holders;

updating the set of model parameters based on the recall function.

30. The system of claim 25 , further comprising a requestor that sends a request for recommending applications, wherein the requestor may include an ad network, an application developer or a third-party application service.

31. The system of claim 25 , wherein the instructions further cause the processor to:

transmit, based on the numerical likelihood, a notification to one or more alternate applications executing on the client device of the account holder.

32. The system of claim 25 , wherein the instructions further cause the processor to:

transmit, based on the numerical likelihood, a notification to one or more third-party applications including advertising networks, wherein one or more third-party applications including advertising networks are sent a notification based on the likelihood.

33. The system of claim 25 , wherein

the generated application graph is associated with a plurality of predefined categories, and

the generated application graph association is used to determine model parameters on alternate devices.

34. The system of claim 25 , wherein

the user account of the client device is associated with a plurality of predefined categories, and

the user account association is used to determine model parameters on alternate devices.

35. The system of claim 25 wherein the instructions further cause the processor to:

identify the at least one other application to recommend based on an other application graph associated with the other account holder;

determine the identified at least one other application is able to execute on the other client device based on an the similarity between the application graph and the other application graph;

recommend the at least one other application to the other account holder based on the determination.

36. The system of claim 25 , wherein the usage information of the client device is specific to one application executing on the client device.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2015
From: RAO, DEEPAK; ZYMNIS, ARGYRIOS; LYNN, KELTON; DUCKER, MICHAEL; COOK, SEAN
To: TWITTER, INC.
Reel/Frame 036362/0561 →
Continuity (2)
Provisional Application 61986815 · Apr 30, 2014
Related Publication 20150319181A1 · Nov 5, 2015