RESOURCE MANAGEMENT OF SOCIAL NETWORK APPLICATIONS
First Claim
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;
determining, by the online system, an affinity score for the application based on an aggregate value based on the observed interactions by the plurality of users;
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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
21 Claims
-
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; determining, by the online system, an affinity score for the application based on an aggregate value based on the observed interactions by the plurality of users; 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 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 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 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 method of claim 4, wherein the interaction indicating that users like the application comprises a request by users to execute the application.
-
6. The 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 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. The method of claim 1, wherein determining the affinity score comprises:
-
categorizing users into a plurality of user groups based on patterns of user interactions in each group; and determining affinity score based on interactions of each of the plurality of user groups and aggregating the affinity scores for each of the plurality of user groups.
-
-
9. The method of claim 8, wherein the user groups are categorized based on patterns of user interactions for each group and the affinity score for each user group is weighted based on the interaction patterns of the corresponding user group.
-
10. 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; determining an affinity score for the entity based on an aggregate value based on the observed interactions by the plurality of users; 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.
-
-
11. The method of claim 10, 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.
-
-
12. The method of claim 11, wherein an interaction indicating the dislike of users towards the application comprises one of:
-
a request to disable a feature of the entity, or a request to hide content presented by the entity.
-
-
13. The method of claim 1, further comprising:
-
identifying an interaction of a particular type as indicating that users like the entity; 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 entity.
-
-
14. The method of claim 13, wherein an interaction indicating users that like the entity comprises a request by the user to interact with the entity.
-
15. The method of claim 1, 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.
-
-
16. The method of claim 1, further comprising:
providing, by the online system, communication channels to allow the plurality of entities to send messages to users of the online system.
-
17. The method of claim 1, wherein determining the affinity score comprises:
-
categorizing users into a plurality of user groups based on patterns of user interactions in each group; and determining affinity score based on interactions of each of the plurality of user groups and aggregating the affinity scores for each of the plurality of user groups.
-
-
18. The method of claim 17, wherein the user groups are categorized based on patterns of user interactions for each group and the affinity score for each user group is weighted based on the interaction patterns of the corresponding user group.
-
19. 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; determining, by the online system, an affinity score for the application based on an aggregate value based on the observed interactions by the plurality of users; 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.
-
-
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 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.
-
-
21. 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 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.
-
Specification