Dynamic ordering of online advertisement software steps
Abstract
At a bid determination platform, an initial sequence having an initial order of software steps for filtering advertisements in response to receiving an advertisement bid request is selected. Until a trigger event occurs, the initial sequence of software steps is implemented in the initial order in response to receiving advertisement bid requests. Implementing the initial sequence comprises automatically tracking a failure (or success) metric and resource requirement metric for each of the software steps. After the trigger event occurs, a first optimum sequence of the software steps is automatically selected in a first optimum order so as to optimize a total resource usage for execution of the software steps. Selecting the first optimum sequence of the software steps in the first optimum order is based on the tracked failure (or success) metric and resource requirement metric for each of the software steps during implementation of the initial sequence.
Claims
exact text as granted — not AI-modified1 . A method for bidding on placement of an advertisement within media content that is deliverable within a computer networking environment, the method comprising:
at a bid determination platform, selecting an initial sequence having an initial order of a plurality of software steps for filtering advertisements in response to receiving an advertisement bid request, wherein the software steps include a plurality of different checks for filtering a plurality of advertisements based on a plurality of user characteristics and/or publisher site characteristics associated with the advertisement bid request meeting a plurality of advertisement campaign constraints associated with each advertisement; until a trigger event occurs, at the bid determination platform, implementing the initial sequence of the software steps in the initial order in response to receiving a plurality of advertisement bid requests, wherein implementing the initial sequence comprises automatically tracking a failure metric and a resource requirement metric, which specifies a total resource usage by each of the software steps, wherein the failure metric for each software step specifies a total failure count for such software step's corresponding check failing for the plurality of advertisement bid requests meeting the advertisement campaign constraints of the advertisements; and after the trigger event occurs, at the bid determination platform, automatically selecting and executing a first optimum sequence of the software steps in a first optimum order in replacement of executing the initial sequence of the software steps in the initial order so as to optimize the total resource usage for execution of the software steps, wherein selecting the first optimum sequence of the software steps in the first optimum order is based on the tracked failure metric and the tracked resource requirement metric for each of the software steps during implementation of the initial sequence.
2 . The method of claim 1 , further comprising:
until a second trigger event occurs, implementing the first optimum sequence of the software steps in the first optimum order in response to receiving a second plurality of advertisement bid requests, wherein implementing the first optimum sequence comprises automatically tracking the failure metric and the resource requirement metric for each of the software steps; and after the second trigger event occurs, automatically selecting a second optimum sequence of the software steps in a second optimum order so as to optimize the total resource usage for execution of the software steps, wherein selecting the second optimum sequence of the software steps in the second optimum order is based on the tracked failure metric and the tracked resource requirement metric for each of the software steps during implementation of the first optimum sequence.
3 . The method of claim 1 , wherein optimizing the total resource usage for execution of the software steps includes maximizing a speed at which the software steps filter the plurality of advertisement.
4 . The method of claim 1 , wherein the resource requirement metric for each step is the total resource usage, and wherein automatically selecting the first optimum sequence of the software steps in the first optimum order comprises ordering the software steps from a lowest to highest value of a plurality of values that each equal R i /F i for each software step i, wherein R i is the total resource usage for each software step i and F i is the total failure count for each software step i.
5 . The method of claim 1 , wherein optimizing the total resource usage for execution of the software steps includes minimizing a total memory that is used for execution of the software steps.
6 . The method of claim 1 , wherein the software steps include a first subset of software steps having a fixed order and a second subset of software steps having an alterable order, and wherein selecting the first optimum sequence of the software steps in the first optimum order includes maintaining the fixed order of the first subset of software steps while altering the second subset of software steps' order.
7 . The method of claim 1 , wherein the trigger event comprises expiration of a predefined time period.
8 . The method of claim 1 , wherein the trigger event comprises execution of a predefined number of implementations of the initial sequence or the software steps.
9 . The method of claim 1 , wherein the trigger event comprises one of the software step's resource requirement metrics or failure metrics changes by more than a predefined amount or percentage.
10 . The method of claim 1 , wherein the first optimum order includes a first suborder of a plurality of sub-steps of at least one of the software steps and a second suborder of the software steps.
11 . (canceled)
12 . The method of claim 1 , wherein automatically tracking the failure metric and the resource requirement metric for each of the software steps comprises maintaining a resource counter for each software step's total resource usage and the total failure count for each software step's unsuccessful execution, and wherein automatically selecting the first optimum sequence of the software steps in the first optimum order comprises:
determining a resource requirement for each software step by dividing such software step's resource counter by a number of executions of such software step; determining a probability of failure of each software step by dividing the total failure count for such software step by the number of executions of each software step; and ordering the software steps from a lowest to highest value of a plurality of values that each equal r i /p i for each software step i, wherein r i is the resource requirement and p i is the probability of failure for each software step i.
13 . The method of claim 1 , wherein automatically tracking the failure metric and the resource requirement metric for each of the software steps is performed for a sampling of the total of executions of each software step.
14 . A system for bidding on placement of an advertisement within media content that is deliverable within a computer networking environment, the system comprising at least a processor and a memory, wherein the processor and/or memory are configured to perform the following operations:
selecting an initial sequence having an initial order of a plurality of software steps for filtering advertisements in response to receiving an advertisement bid request, wherein the software steps include a plurality of different checks for filtering a plurality of advertisements based on a plurality of user characteristics and/or publisher site characteristics associated with the advertisement bid request meeting a plurality of advertisement campaign constraints associated with each advertisement; until a trigger event occurs, implementing the initial sequence of the software steps in the initial order in response to receiving a plurality of advertisement bid requests, wherein implementing the initial sequence comprises automatically tracking a failure metric, which specifies a total count for each of the software steps failing its check, and a resource requirement metric, which specifies a total resource use by each of the software steps, wherein the failure metric for each software step specifies a total failure count for such software step's corresponding check failing or succeeding for the plurality of advertisement bid requests meeting the advertisement campaign constraints of the advertisements; and after the trigger event occurs, automatically selecting and executing a first optimum sequence of the software steps in a first optimum order in replacement of executing the initial sequence of the software steps in the initial order so as to optimize the total resource usage for execution of the software steps, wherein selecting the first optimum sequence of the software steps in the first optimum order is based on the tracked failure metric and the tracked resource requirement metric for each of the software steps during implementation of the initial sequence.
15 . The system of claim 14 , wherein the processor and/or memory are configured for:
until a second trigger event occurs, implementing the first optimum sequence of the software steps in the first optimum order in response to receiving a second plurality of advertisement bid requests, wherein implementing the first optimum sequence comprises automatically tracking the failure metric and the resource requirement metric for each of the software steps; and after the second trigger event occurs, automatically selecting a second optimum sequence of the software steps in a second optimum order so as to optimize the total resource usage for execution of the software steps, wherein selecting the second optimum sequence of the software steps in the second optimum order is based on the tracked failure metric and the tracked resource requirement metric for each of the software steps during implementation of the first optimum sequence.
16 . The system of claim 14 , wherein optimizing the total resource usage for execution of the software steps includes maximizing a speed at which the software steps filter the plurality of advertisement.
17 . The system of claim 14 , wherein the resource requirement metric for each step is the total resource usage, and wherein automatically selecting the first optimum sequence of the software steps in the first optimum order comprises ordering the software steps from a lowest to highest value of a plurality of values that each equal R i /F i for each software step i, wherein R i is the total resource usage for each software step i and F i is a total failure count for each software step i.
18 . The system of claim 14 , wherein optimizing the total resource usage for execution of the software steps includes minimizing a total memory that is used for execution of the software steps.
19 . The system of claim 14 , wherein the software steps include a first subset of software steps having a fixed order and a second subset of software steps having an alterable order, and wherein selecting the first optimum sequence of the software steps in the first optimum order includes maintaining the fixed order of the first subset of software steps while altering the second subset of software steps' order.
20 . The system of claim 14 , wherein the trigger event comprises expiration of a predefined time period.
21 . The system of claim 14 , wherein the trigger event comprises execution of a predefined number of implementations of the initial sequence or the software steps.
22 . The system of claim 14 , wherein the trigger event comprises one of the software step's resource requirement metrics or failure metrics changes by more than a predefined amount or percentage.
23 . The system of claim 14 , wherein the first optimum order includes a first suborder of a plurality of sub-steps of at least one of the software steps and a second suborder of the software steps.
24 . (canceled)
25 . The system of claim 14 , wherein automatically tracking the failure metric and the resource requirement metric for each of the software steps comprises maintaining a resource counter for each software step's total resource usage and the total failure count for each software step's unsuccessful execution, and wherein automatically selecting the first optimum sequence of the software steps in the first optimum order comprises:
determining a resource requirement for each software step by dividing the total failure count for such software step by the number of executions of such software step; determining a probability of failure of each software step by dividing such software step's failure counter by a number of executions of such software step;
and
ordering the software steps from a lowest to highest value of a plurality of values that each equal r i /p i for each software step i, wherein r i is the resource requirement and p i is the probability of failure for each software step i.
26 . The system of claim 14 , wherein automatically tracking the failure metric and the resource requirement metric for each of the software steps is performed for a sampling of the total of executions of each software step.
27 . At least one non-transitory computer readable storage medium having computer program instructions stored thereon that are arranged to perform the following operations:
selecting an initial sequence having an initial order of a plurality of software steps for filtering advertisements in response to receiving an advertisement bid request, wherein the software steps include a plurality of different checks for filtering a plurality of advertisements based on a plurality of user characteristics and/or publisher site characteristics associated with the advertisement bid request meeting a plurality of advertisement campaign constraints associated with each advertisement; until a trigger event occurs, implementing the initial sequence of the software steps in the initial order in response to receiving a plurality of advertisement bid requests, wherein implementing the initial sequence comprises automatically tracking a failure metric, which specifies a total count for each of the software steps failing its check, and a resource requirement metric, which specifies a total resource use by each of the software steps, wherein the failure metric for each software step specifies a total failure count for such software step's corresponding check failing or succeeding for the plurality of advertisement bid requests meeting the advertisement campaign constraints of the advertisements; and after the trigger event occurs, automatically selecting a first optimum sequence of the software steps in a first optimum order in replacement of executing the initial sequence of the software steps in the initial order so as to optimize the total resource usage for execution of the software steps, wherein selecting the first optimum sequence of the software steps in the first optimum order is based on the tracked failure metric and the tracked resource requirement metric for each of the software steps during implementation of the initial sequence.Join the waitlist — get patent alerts
Track US2015161678A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.