IP Library › Granted Patent US 10,559,000
Granted Patent B2
US 10,559,000 · App. 13/474,391 · Granted Feb 11, 2020

Advertiser campaign script execution management

Inventors: Varouj A. Chitilian (San Francisco, CA); Ilya Netchitailo (Mountain View, CA); Nikhil Bakshi (Mountain View, CA); Jiaqi Yu (Hayward, CA); Chetan Patel (Fremont, CA)
Assignee: Google LLC
G06Q30/0242G06F9/448G06F9/46G06F9/5005G06F9/541G06F9/542G06F9/547G06Q10/06G06Q30/0243G06Q30/0244G06Q30/0251G06Q30/0263G06Q30/0277
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 10,559,000
App. No.
13/474,391
Granted
Feb 11, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for automated management of campaigns using scripted rules, and managing the execution of the rules.

Claims (83)

1. A system for distributing execution times of scheduled rules to reduce spikes in resources used to execute the rules, the system comprising:

a data processing apparatus including one or more computers; and

a computer storage system storing instructions that when executed by the data processing apparatus cause the data processing apparatus to perform actions comprising:

accessing rules associated with one or more campaign management entities;

receiving, for each rule, a selected execution time for the rule, the selected execution time for each given rule specifying a time at which the rule is to be executed;

identifying two or more rules that have a matching selected execution time;

reducing spikes in resources used to execute the two or more rules, including varying scheduled execution times for the two or more rules over a time period so that a first portion of the two or more rules is executed at a different time than a second portion of the two or more rules, the varying comprising:

for each given rule of the two or more rules:

determining, for the given rule, a time variation that is based on a difference between (i) a pre-specified reference time and (ii) a particular time at which the selected execution time for the given rule was received;

determining, for the given rule, a scheduled execution time based on (i) the selected execution time for the given rule and (ii) the time variation for the given rule; and

associating the scheduled execution time with the given rule; and

executing each given rule when a current time is equal to the scheduled execution time for the given rule.

2. The system of claim 1 , wherein determining, for the given rule, a scheduled execution time based on (i) the selected execution time for the given rule and (ii) the time variation for the given rule comprises:

adjusting the selected execution time by the time variation to determine the scheduled execution time.

3. The system of claim 2 , wherein:

the selected execution time is one of a plurality of schedule times, each of the schedule times differing from each other schedule times by at least a minimum time period; and

determining the time variation comprises determining a time variation that defines a time period that is less than the minimum time period.

4. The system of claim 3 , wherein adjusting the selected execution time by the time variation to determine the scheduled execution time comprises adding the time variation to the selected execution time.

5. The system of claim 3 , wherein adjusting the selected execution time by the time variation to determine the scheduled execution time comprises subtracting the time variation from the selected execution time.

6. The system of claim 3 , wherein the minimum time period is one hour, and each of the schedule times is an hours time.

7. The system of claim 6 , wherein determining the time variation comprises:

determining a current minutes value from the particular time at which the selected execution time for the given rule was received, wherein the particular time defines a time in hours and minutes.

8. The system of claim 2 , wherein determining the time variation comprises:

determining a current minutes value from the particular time at which the selected execution time for the given rule was received, wherein the particular time defines a time in hours and minutes.

9. A non-transitory computer storage medium storing instructions for distributing execution times of schedule rules to reduce spikes in resources used to execute the rules, the instructions being executable by a data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:

accessing rules associated with one or more campaign management entities;

receiving, for each rule, a selected execution time for the rule, the selected execution time for each given rule specifying a time at which the rule is to be executed;

identifying two or more rules that have a matching selected execution time;

reducing spikes in resources used to execute the two or more rules, including varying scheduled execution times for the two or more rules over a time period so that a first portion of the two or more rules is executed at a different time than a second portion of the two or more rules, the varying comprising:

for each given rule of the two or more rules:

determining, for the given rule, a time variation that is based on a difference between (i) a pre-specified reference time and (ii) a particular time at which the selected execution time for the given rule was received;

determining, for the given rule, a scheduled execution time based on (i) the selected execution time for the given rule and (ii) the time variation for the given rule; and

associating the scheduled execution time with the given rule; and

executing each given rule when a current time is equal to the scheduled execution time for the given rule.

10. The computer storage medium of claim 9 , wherein determining, for the given rule, a scheduled execution time based on (i) the selected execution time for the given rule and (ii) the time variation for the given rule comprises:

adjusting the selected execution time by the time variation to determine the scheduled execution time.

11. The computer storage medium of claim 10 , wherein:

the selected execution time is one of a plurality of schedule times, each of the schedule times differing from each other schedule times by at least a minimum time period; and

determining the time variation comprises determining a time variation that defines a time period that is less than the minimum time period.

12. The computer storage medium of claim 11 , wherein adjusting the selected execution time by the time variation to determine the scheduled execution time comprises adding the time variation to the selected execution time.

13. The computer storage medium of claim 11 , wherein adjusting the selected execution time by the time variation to determine the scheduled execution time comprises subtracting the time variation from the selected execution time.

14. The computer storage medium of claim 11 , wherein the minimum time period is one hour, and each of the schedule times is an hours time.

15. The computer storage medium of claim 14 , wherein determining the time variation comprises:

determining a current minutes value from the particular time at which the selected execution time for the given rule was received, wherein the particular time defines a time in hours and minutes.

16. The computer storage medium of claim 10 , wherein determining the time variation comprises:

determining a current minutes value from the particular time at which the selected execution time for the given rule was received, wherein the particular time defines a time in hours and minutes.

17. A method for distributing execution times of scheduled rules to reduce spikes in resources used to execute the rules, comprising:

accessing rules associated with one or more campaign management entities;

receiving, for each rule, a selected execution time for the rule, the selected execution time for each given rule specifying a time at which the rule is to be executed;

identifying two or more rules that have a matching selected execution time;

reducing spikes in resources used to execute the two or more rules, including varying scheduled execution times for the two or more rules over a time period so that a first portion of the two or more rules is executed at a different time than a second portion of the two or more rules, the varying comprising:

for each given rule of the two or more rules:

determining, for the given rule, a time variation that is based on a difference between (i) a pre-specified reference time and (ii) a particular time at which the selected execution time for the given rule was received;

determining, for the given rule, a scheduled execution time based on (i) the selected execution time for the given rule and (ii) the time variation for the given rule;

associating the scheduled execution time with the given rule; and

executing each given rule when a current time is equal to the scheduled execution time for the given rule.

18. The method of claim 17 , wherein determining, for the given rule, a scheduled execution time based on (i) the selected execution time for the given rule and (ii) the time variation for the given rule comprises:

adjusting the selected execution time by the time variation to determine the scheduled execution time.

19. The method of claim 18 , wherein:

the selected execution time is one of a plurality of schedule times, each of the schedule times differing from each other schedule times by at least a minimum time period; and

determining the time variation comprises determining a time variation that defines a time period that is less than the minimum time period.

20. The method of claim 19 , wherein adjusting the selected execution time by the time variation to determine the scheduled execution time comprises adding the time variation to the selected execution time.

21. The method of claim 19 , wherein adjusting the selected execution time by the time variation to determine the scheduled execution time comprises subtracting the time variation from the selected execution time.

22. The method of claim 19 , wherein the minimum time period is one hour, and each of the schedule times is an hours time.

23. The method of claim 22 , wherein determining the time variation comprises:

determining a current minutes value from the particular time at which the selected execution time for the given rule was received, wherein the particular time defines a time in hours and minutes.

24. The method of claim 17 , wherein determining the time variation comprises:

determining a current minutes value from the particular time at which the selected execution time for the given rule was received, wherein the particular time defines a time in hours and minutes.

25. A system for distributing execution times of scheduled rules to reduce spikes in resources used to execute the rules, the system comprising:

a data processing apparatus including one or more computers; and

a computer storage system storing instructions that when executed by the data processing apparatus cause the data processing apparatus to perform actions comprising:

accessing rules associated with one or more campaign management entities;

receiving, for each rule, a selected execution time for the rule, the selected execution time for each given rule specifying a time at which the rule is to be executed;

identifying two or more rules that have a matching selected execution time;

reducing spikes in resources used to execute the two or more rules, including varying scheduled execution times for the two or more rules over a time period so that a first portion of the two or more rules is executed at a different time than a second portion of the two or more rules, the varying comprising:

for each given rule of the two or more rules:

determining, for the given rule, a time variation that is based on a particular time at which the selected execution time for the given rule was received, including:

 identifying a minutes value of the particular time; and

 assigning the minutes value as the time variation;

determining, for the given rule, a scheduled execution time based on (i) the selected execution time for the given rule and (ii) the time variation for the given rule; and

associating the scheduled execution time with the given rule; and

executing each given rule when a current time is equal to the scheduled execution time for the given rule.

26. The system of claim 25 , wherein the scheduled execution time comprises a sum of the selected execution time and the minutes value.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2012
From: CHITILIAN, VAROUJ A.; NETCHITAILO, ILYA; BAKSHI, NIKHIL; YU, JIAQI; PATEL, CHETAN
To: GOOGLE INC.
Reel/Frame 028339/0525 →
Continuity (6)
Provisional Application 61525459 · Aug 19, 2011
Provisional Application 61555092 · Nov 3, 2011
Provisional Application 61555086 · Nov 3, 2011
Provisional Application 61555068 · Nov 3, 2011
Provisional Application 61555071 · Nov 3, 2011
Related Publication 20180136975A1 · May 17, 2018