IP Library Patent Application 14581281
Patent Application
App. No. 14/581,281

DISTRIBUTED SCHEDULING ALGORITHM FOR LARGE-SCALE ONLINE PROMOTIONAL CAMPAIGNS

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 None
App. No.
14/581,281
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.

Claims (31)

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 . The method of claim 1 , further comprising, scheduling the campaign to run for the member.

3 . The method of claim 1 , wherein the constraint is a duplication constraint and wherein identifying the set of campaigns includes excluding campaigns that have run previously during a particular time period.

4 . The method of claim 1 , wherein the constraint is a repetition constraint and wherein identifying the set of campaigns includes including campaigns that have run fewer times for the member than a specified member threshold.

5 . The method of claim 1 , wherein the constraint is an eligibility constraint and wherein identifying the set of campaigns includes identifying campaigns that have an eligible start slot after the specified slot.

6 . The method of claim 1 , further comprising, iterating the method for a specified number of members.

7 . The method of claim 6 , wherein the specified number of members is a number of members in a predetermined group.

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.

9 . The system of claim 8 , wherein the instructions include further instructions, which when executed by the processor cause the processor to schedule the campaign to run for the member.

10 . The system of claim 8 , wherein the constraint is a duplication constraint and wherein to identify the set of campaigns, the processor is to exclude campaigns that have run previously during a particular time period.

11 . The system of claim 8 , wherein the constraint is a repetition constraint and wherein to identify the set of campaigns, the processor is to include campaigns that have run fewer times for the member than a specified member threshold.

12 . The system of claim 8 , wherein the constraint is an eligibility constraint and wherein to identify the set of campaigns, the processor is to include campaigns that have an eligible start slot after the specified slot.

13 . The system of claim 8 , wherein the processor is configured to perform the identification, selection, and the determining operations for a specified number of members.

14 . The system of claim 13 , wherein the specified number of members is a number of members in a predetermined group.

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.

16 . The machine-readable medium of claim 15 , further comprising, operations to schedule the campaign to run for the member.

17 . The machine-readable medium of claim 15 , wherein the constraint is a duplication constraint and wherein the operations of identifying the set of campaigns includes the operations of excluding campaigns that have run previously during a particular time period.

18 . The machine-readable medium of claim 15 , wherein the constraint is a repetition constraint and wherein the operations of identifying the set of campaigns includes the operations of including campaigns that have run fewer times for the member than a specified member threshold.

19 . The machine-readable medium of claim 15 , wherein the constraint is an eligibility constraint and wherein the operations of identifying the set of campaigns includes the operations of identifying campaigns that have an eligible start slot after the specified slot.

20 . The machine-readable medium of claim 15 , further comprising, the operations of iterating the operations for a specified number of members.

21 . The machine-readable medium of claim 20 , wherein the specified number of members is a number of members in a predetermined group.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2015
From: HUANG, XIN YI; TIWARI, MITUL; KHINCHA, PRAMOD CHAND; LIU, YIN; SHAH, SAMIR M
To: LINKEDIN CORPORATION
Reel/Frame 035225/0975 →