IP Library Granted Patent US 9,276,894
Granted Patent B2
US 9,276,894 · App. 14/457,483 · Granted Mar 1, 2016

Resource management of social network applications

Inventors: Thomas Scott Whitnah (Mountain View, CA); Alexander Matthew Rush (Sunnyvale, CA); Ding Zhou (San Francisco, CA); Ruchi Sanghvi (Menlo Park, CA)
Assignee: Facebook, Inc.
H04L51/32G06F17/3053G06Q10/10H04L47/783H04L67/16H04L67/20H04L67/34H04L12/588H04L67/306
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,276,894
App. No.
14/457,483
Granted
Mar 1, 2016
Kind
B2
Abstract

Applications in social networks support interaction between members through various types of channels such as notifications, newsfeed, and so forth. For each channel, applications are ranked based on their user affinity measures. User affinity is based on measuring positive and negative interactions by users as both senders and recipients of messages generated by applications. Metrics are computed for the different types of messages and interactions provided by applications. For each channel, an application receives user affinity score based on specific weighted combination of the metrics. Applications use channel resources to send messages to increase their user base. Given the large number of applications that are available, the extent to which applications are allowed to use channels is controlled, limiting their resource consumption. User affinity scores of applications calculated for a channel are used to decide the allocation of channel resources for an application.

Claims (80)

1. A computer implemented method comprising:

observing interactions by each of a plurality of user of an online system, wherein the observed interactions are indicative of an affinity of the users towards an application of a plurality of applications;

categorizing users into a plurality of groups based on patterns of user interactions in each group;

determining, by the online system, a group affinity score for the application for each of the plurality of groups based on interactions of the users of the group;

determining, by the online system, an affinity score for the application as a weighted aggregate of the group affinity scores for the application;

determining, by the online system, an allocation of a channel resource for the application based on the affinity score, the allocation specifying a threshold usage of the channel resource by the application; and

limiting a rate at which the application is allowed to send messages via the channel resource, wherein the rate is limited to the threshold usage of the channel resource specified by the allocation.

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

identifying an interaction of a particular type as indicating dislike of users towards the application; and

wherein determining the affinity score for the application comprises weighing interactions of that particular type so as to reduce the affinity score of the application.

3. The computer implemented method of claim 2 , wherein the interaction indicating dislike of users towards the application comprises one of:

a request to disable a feature of the application,

a request to hide content presented by the application,

a request to uninstall the application, or

a request to minimize the application for temporarily disabling the application.

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

identifying an interaction of a particular type as indicating that users like the application; and

wherein determining the affinity score for the application comprises weighing interactions of that particular type so as to increase the affinity score of the application.

5. The computer implemented method of claim 4 , wherein the interaction indicating that users like the application comprises a request by users to execute the application.

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

providing, by the online system, communication channels to allow the plurality of applications to send messages to users of the online system.

7. The computer implemented method of claim 1 , wherein:

the allocation of the channel resource is a limit on a number of messages the application is allowed to send on the channel resource per user per unit time; and

limiting the rate at which the application is allowed to send messages comprises limiting the rate at which the application is allowed to send messages to each user per unit time via the channel resource.

8. A computer implemented method comprising:

observing interactions by each of a plurality of users of an online system, wherein the observed interactions are indicative of an affinity of the users towards an entity of a plurality of entities, each entity associated with a third party;

categorizing users into a plurality of groups based on patterns of user interactions in each group;

determining, by the online system, a group affinity score for the entity for each of the plurality of groups based on interactions of the users of the group;

determining an affinity score for the entity as a weighted aggregate of the group affinity scores for the entity;

determining an allocation of a channel resource for the entity based on the affinity score, the allocation specifying a threshold usage of the channel resource by the entity; and

limiting a rate at which the entity is allowed to send messages via the channel resource, wherein the rate is limited to the threshold usage of the channel resource specified by the allocation.

9. The computer implemented method of claim 8 , further comprising:

identifying an interaction of a particular type as indicating dislike of users towards the entity; and

wherein determining the affinity score for the entity comprises weighing interactions of that particular type so as to reduce the affinity score of the entity.

10. The computer implemented method of claim 9 , wherein the interaction indicating the dislike of users towards the entity comprises one of:

a request to disable a feature of the entity, or

a request to hide content presented by the entity.

11. The computer implemented method of claim 8 , further comprising:

identifying an interaction of a particular type as indicating that users like the entity; and

wherein determining the affinity score for the entity comprises weighing interactions of that particular type so as to increase the affinity score of the entity.

12. The computer implemented method of claim 11 , wherein the interaction indicating users that like the entity comprises a request by the user to interact with the entity.

13. The computer implemented method of claim 8 , wherein:

the allocation of the channel resource is a limit on a number of messages the entity is allowed to send on the channel resource per user per unit time; and

limiting the rate at which the entity is allowed to send messages comprises limiting the rate at which the entity is allowed to send messages to each user per unit time via the channel resource.

14. The computer implemented method of claim 8 , further comprising:

providing, by the online system, communication channels to allow the plurality of entities to send messages to users of the online system.

15. A non-transitory computer-readable storage medium, storing instructions for:

observing interactions by each of a plurality of user of an online system, wherein the observed interactions are indicative of an affinity of the users towards an application of a plurality of applications;

categorizing users into a plurality of groups based on patterns of user interactions in each group;

determining, by the online system, a group affinity score for the application for each of the plurality of groups based on interactions of the users of the group;

determining, by the online system, an affinity score for the application as a weighted aggregate of the group affinity scores for the application;

determining, by the online system, an allocation of a channel resource for the application based on the affinity score, the allocation specifying a threshold usage of the channel resource by the application; and

limiting a rate at which the application is allowed to send messages via the channel resource, wherein the rate is limited to the threshold usage of the channel resource specified by the allocation.

16. The non-transitory computer-readable storage medium of claim 15 , further storing instructions for:

identifying an interaction of a particular type as indicating dislike of users towards the application; and

wherein determining the affinity score for the application comprises weighing interactions of that particular type so as to reduce the affinity score of the application.

17. The non-transitory computer-readable storage medium of claim 15 , further storing instructions for:

identifying an interaction of a particular type as indicating users like the application; and

wherein determining the affinity score for the application comprises weighing interactions of that particular type so as to increase the affinity score of the application.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the interaction indicating dislike of users towards the application comprises one of:

a request to disable a feature of the application,

a request to hide content presented by the application,

a request to uninstall the application, or

a request to minimize the application for temporarily disabling the application.

19. A non-transitory computer-readable storage medium, storing instructions for:

observing interactions by each of a plurality of users of an online system, wherein the observed interactions are indicative of an affinity of the users towards an entity of a plurality of entities, each entity associated with a third party;

categorizing users into a plurality of groups based on patterns of user interactions in each group;

determining, by the online system, a group affinity score for the entity for each of the plurality of groups based on interactions of the users of the group;

determining an affinity score for the entity as a weighted aggregate of the group affinity scores for the entity;

determining an allocation of a channel resource for the entity based on the affinity score, the allocation specifying a threshold usage of the channel resource by the entity; and

limiting a rate at which the entity is allowed to send messages via the channel resource, wherein the rate is limited to the threshold usage of the channel resource specified by the allocation.

20. The non-transitory computer-readable storage medium of claim 19 , further storing instructions for:

identifying an interaction of a particular type as indicating dislike of users towards the entity; and

wherein determining the affinity score for the entity comprises weighing interactions of that particular type so as to reduce the affinity score of the entity.

21. The non-transitory computer-readable storage medium of claim 20 , wherein the interaction indicating the dislike of users towards the entity comprises one of:

a request to disable a feature of the entity, or

a request to hide content presented by the entity.

22. The non-transitory computer-readable storage medium of claim 19 , further storing instructions for:

identifying an interaction of a particular type as indicating users like the entity; and

wherein determining the affinity score for the entity comprises weighing interactions of that particular type so as to increase the affinity score of the entity.

Assignments (1)
CHANGE OF NAME Recorded Nov 18, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058897/0824 →
Continuity (4)
Continuation 13617537 · Sep 14, 2012
Continuation 12253149 · Oct 16, 2008
Continuation In Part 12194511 · Aug 19, 2008
Related Publication 20140351343A1 · Nov 27, 2014