Resource management of social network applications
First Claim
1. A computer implemented method comprising:
- observing interactions by each of a plurality of users, wherein the observed interactions are indicative of an affinity of the users towards the application;
determining an affinity score for the application based on an aggregate value based on the observed interactions by the plurality of users;
determining 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;
limiting the rate at which the application is allowed to send messages via the channel resource to the threshold usage specified by the allocation;
determining a second affinity score of the application based on a new set of observed interactions; and
responsive to the second affinity score indicating a higher affinity of the users towards the application, increasing the rate at which the application is allowed to send messages via the channel resource.
2 Assignments
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
19 Claims
-
1. A computer implemented method comprising:
-
observing interactions by each of a plurality of users, wherein the observed interactions are indicative of an affinity of the users towards the application; determining an affinity score for the application based on an aggregate value based on the observed interactions by the plurality of users; determining 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; limiting the rate at which the application is allowed to send messages via the channel resource to the threshold usage specified by the allocation; determining a second affinity score of the application based on a new set of observed interactions; and responsive to the second affinity score indicating a higher affinity of the users towards the application, increasing the rate at which the application is allowed to send messages via the channel resource.
-
-
2. The method of claim 1, wherein the channel resource comprises a computer mediated communication mechanism adapted to facilitate communication between users of the social networking website and the social networking website.
-
3. The method of claim 2, wherein the channel resource is at least one of a group consisting of:
- notification channel, invitation channel, mini-feed channel, and wall post channel.
-
4. The method of claim 1, wherein:
-
the allocation of the channel resource is a limit on the 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.
-
-
5. The method of claim 1, wherein the affinity score for the application is recomputed based on a predetermined schedule.
-
6. A computer implemented system for controlling channel resource consumption of an application provided on a social networking website, the system comprising:
-
a computer processor; and a computer-readable storage medium storing computer program modules configured to execute on the computer processor, the computer program modules comprising; a user affinity score server module configured to; observe interactions by each of a plurality of users with an application, wherein the observed interactions are indicative of an affinity of the users towards the application; determine an affinity score for the application based on an aggregate value based on the observed interactions by the plurality of users; a resource allocation server module configured to determine 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; a channel resource configured to; limit the rate at which the application is allowed to send messages via the channel resource to the threshold usage specified by the allocation the user affinity score server module further configured to; determine a second affinity score of the application based on a new set of observed interactions; and the channel resource further configured to; responsive to the second affinity score indicating a higher affinity of the users towards the application, increase the rate at which the application is allowed to send messages via the channel resource.
-
-
7. The system of claim 6, wherein:
-
the allocation of a channel is a limit on the number of messages the application is allowed to send on the channel resource per user in a first time interval; and the channel is configured to; monitor the number of messages sent on the channel resource by the application for a user during the first time interval; and responsive to the number of messages sent on the channel resource by the application during the first time interval meeting the limit, prevent the application from sending further messages to the user during the remainder of the first time interval.
-
-
8. The system of claim 6, wherein:
-
the allocation of a channel is a per user allocation of the channel resource in a first time interval; and the channel is configured to; monitor a use of the channel resource by the application for a user during the first time interval; and responsive to the use of the channel resource by the application for the user during the first time interval meeting the per user allocation, prevent the application from using the channel resource for the user during the remainder of the first time interval.
-
-
9. A computer program product having a non-transitory computer-readable storage medium storing computer-executable code for controlling channel resource consumption of an application provided on a social networking website, the code comprising:
-
a user affinity score server module configured to; observe interactions by each of a plurality of users with an application, wherein the observed interactions are indicative of an affinity of the users towards the application; determine an affinity score for the application based on an aggregate value based on the observed interactions by the plurality of users; a resource allocation server module configured to determine 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 a channel configured to; limit the rate at which the application is allowed to send messages via the channel resource to the threshold usage specified by the allocation the user affinity score server module further configured to; determine a second affinity score of the application based on a new set of observed interactions; and the channel resource further configured to; responsive to the second affinity score indicating a higher affinity of the users towards the application, increase the rate at which the application is allowed to send messages via the channel resource.
-
-
10. A computer implemented method comprising:
-
observing interactions by each of a plurality of users, wherein the observed interactions are related to an application provided on a social networking system platform and wherein the interactions are indicative of an affinity of the users towards the application; determining an affinity score for the application based on the observed interactions; determining an allocation of a channel resource for the application based on the determined affinity score, the channel resource enabling the application to communicate to one or more of the users via the social networking system, the allocation specifying a usage of the channel resource by the application; and controlling use of the channel resource by the application based on the determined allocation of the channel resource for the application, the controlling comprising adjusting the number of messages sent by the application based on the allocation; determining a second affinity score of the application based on a new set of observed interactions; and responsive to the second affinity score indicating a higher affinity of the users towards the application, increasing the rate at which the application is allowed to send messages via the channel resource.
-
-
11. The method of claim 10, wherein the channel resource comprises a computer mediated communication mechanism adapted to facilitate communication between users of the social networking website and the social networking website.
-
12. The method of claim 11, wherein the channel resource is at least one of a group consisting of:
- notification channel, invitation channel, mini-feed channel, and wall post channel.
-
13. The method of claim 10, wherein the allocation of the channel resource is a limit on the number of messages the application is allowed to send on the channel resource during a time interval.
-
14. The method of claim 10, wherein the allocation of the channel resource is a limit on the number of messages the application is allowed to send to a particular user on the channel resource during a time interval.
-
15. 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.
-
-
16. The method of claim 15, 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.
-
17. The method of claim 1, wherein determining the affinity score for the application comprises:
-
determining an affinity score value for each of a plurality of time intervals based on interactions by each of the plurality of users during that time interval; and determining a weighted aggregate of the affinity score values for each of the plurality of time intervals.
-
-
18. The method of claim 17, wherein the weighted aggregate of the affinity score weighs affinity score values for recent time intervals higher than affinity score weighs affinity score values for older time intervals.
-
19. The method of claim 1, further comprising:
-
determining a plurality of subsets of applications; and scheduling the determination of affinity scores for applications from each subset in a different time interval.
-
Specification