DISTRIBUTED SCHEDULING ALGORITHM FOR LARGE-SCALE ONLINE PROMOTIONAL CAMPAIGNS
First Claim
Patent Images
1. A method comprising:
- using one or more computer processors;
for each particular one of a plurality timeslots, identifying a set of campaigns applicable to a particular member of a social networking service during the particular timeslot based upon at least one constraint; and
selecting a campaign from the set of campaigns to run during the particular timeslot for the particular member based upon determining which of the campaigns in the set returns a maximum utility for the member from the set of campaigns.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed in some examples, are systems, methods, and machine readable mediums which implement a scalable algorithm for scheduling promotional campaigns of an online service that satisfy a set of desired constraints while at the same time maximizing a total utility. This algorithm is capable of scheduling hundreds of campaigns for millions of members. In some examples, each promotional campaign may have a utility (which may be described by a utility function) for a particular member and a goal of the scheduling algorithm may be to maximize the total utility for all members eligible for the promotional campaign while satisfying various constraints.
-
Citations
21 Claims
-
1. A method comprising:
-
using one or more computer processors; for each particular one of a plurality timeslots, identifying a set of campaigns applicable to a particular member of a social networking service during the particular timeslot based upon at least one constraint; and selecting a campaign from the set of campaigns to run during the particular timeslot for the particular member based upon determining which of the campaigns in the set returns a maximum utility for the member from the set of campaigns. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a processor; and a memory including instructions, which when executed by the processor, cause the processor to; for each particular one of a plurality timeslots, identify a set of campaigns applicable to a particular member of a social networking service during the particular timeslot based upon at least one constraint; and determine a utility for the member of each particular campaign in the set of campaigns; select a campaign from the set of campaigns to run during the particular timeslot for the particular member based upon the campaign determined by the utility module to have a maximum utility for the member from the set of campaigns. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine-readable medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations of:
-
for each particular one of a plurality timeslots, identifying a set of campaigns applicable to a particular member of a social networking service during the particular timeslot based upon at least one constraint; and selecting a campaign from the set of campaigns to run during the particular timeslot for the particular member based upon determining which of the campaigns in the set returns a maximum utility for the member from the set of campaigns. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification