Method and system for dynamic ad placement
First Claim
Patent Images
1. An apparatus comprising:
- an asset manager of a client-side machine configured to receive a plurality of advertisement (ad) control files, wherein each ad control file is associated with a respective ad of a plurality of ads and at least one of the ad control files includes a trigger parameter;
a storage medium storing the plurality of ads, and a trigger table including multiple trigger parameters associated with one or more of the ads, wherein each ad of the plurality of ads is associated with a respective placement value and at least one of the ads is associated with a respective weight value, and wherein at least one of the trigger parameters within the trigger table is from the at least one of the ad control files including the trigger parameter;
an ad placement engine of the client-side machine in communication with the asset manager of the client-side machine and configured to use, for each ad that is associated with a respective weight value, a weight rule, within an ad control file associated with the ad, to determine the respective weight value associated with the ad, wherein the weight rule of the at least one of the ad control files includes an equation for calculating a weight value that increases proportionately to time passed, and wherein the ad placement engine is configured to re-evaluate the respective placement value of each ad of the plurality of ads to obtain a re-evaluated placement value and to re-evaluate an order of the plurality of ads so as to determine a next ad to be displayed; and
a display controller in communication with the ad placement engine of the client-side machine and configured to provide a display with the next ad to be displayed responsive to an ad request, wherein the display of the next ad is delayed for a predetermined time period if a pause request is detected,wherein re-evaluation of the order of the plurality of ads includes;
(i) for each ad associated with a respective weight value, multiplying the re-evaluated placement value associated with that ad by the weight value associated with that ad so as to determine a weighted placement value for that ad, and (ii) placing each ad associated with a weight value on a heap data structure that indicates the order of the plurality of the ads in accordance with the weighted placement value for that ad, wherein the next ad is displayed based on a position in the heap data structure responsive to the ad request without performing another re-evaluation of the order of the plurality of ads after the ad request is received, and wherein the re-evaluation of the order of the plurality of ads occurs at least in response to a detection of a system context change that includes a channel change, a time of viewing a program, a program changing on a particular channel, or a combination thereof.
8 Assignments
0 Petitions
Accused Products
Abstract
A system and method for placing ads on a client-side video replay system. The described embodiments of the present invention allow a client to make a determination of ad placement priority separately from the function of serving ads to a requesting application. A described dynamic ad placement engine reorders ads when the context of the system is changed to yield a next ad to be placed. Thus, at a later time, when an application sends an ad request, the dynamic ad placement engine can quickly respond with the ad to be placed. The ads also are preferably reordered after an ad is placed. Placement of ads is controlled in the described embodiment by interpreted rules for each ad.
51 Citations
20 Claims
-
1. An apparatus comprising:
-
an asset manager of a client-side machine configured to receive a plurality of advertisement (ad) control files, wherein each ad control file is associated with a respective ad of a plurality of ads and at least one of the ad control files includes a trigger parameter; a storage medium storing the plurality of ads, and a trigger table including multiple trigger parameters associated with one or more of the ads, wherein each ad of the plurality of ads is associated with a respective placement value and at least one of the ads is associated with a respective weight value, and wherein at least one of the trigger parameters within the trigger table is from the at least one of the ad control files including the trigger parameter; an ad placement engine of the client-side machine in communication with the asset manager of the client-side machine and configured to use, for each ad that is associated with a respective weight value, a weight rule, within an ad control file associated with the ad, to determine the respective weight value associated with the ad, wherein the weight rule of the at least one of the ad control files includes an equation for calculating a weight value that increases proportionately to time passed, and wherein the ad placement engine is configured to re-evaluate the respective placement value of each ad of the plurality of ads to obtain a re-evaluated placement value and to re-evaluate an order of the plurality of ads so as to determine a next ad to be displayed; and a display controller in communication with the ad placement engine of the client-side machine and configured to provide a display with the next ad to be displayed responsive to an ad request, wherein the display of the next ad is delayed for a predetermined time period if a pause request is detected, wherein re-evaluation of the order of the plurality of ads includes;
(i) for each ad associated with a respective weight value, multiplying the re-evaluated placement value associated with that ad by the weight value associated with that ad so as to determine a weighted placement value for that ad, and (ii) placing each ad associated with a weight value on a heap data structure that indicates the order of the plurality of the ads in accordance with the weighted placement value for that ad, wherein the next ad is displayed based on a position in the heap data structure responsive to the ad request without performing another re-evaluation of the order of the plurality of ads after the ad request is received, and wherein the re-evaluation of the order of the plurality of ads occurs at least in response to a detection of a system context change that includes a channel change, a time of viewing a program, a program changing on a particular channel, or a combination thereof. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a client machine, wherein the client machine is configured to receive, from a server machine, first control information including a plurality of advertisement (ad) control files, wherein the client machine includes (i) a storage medium storing a plurality of ads and a trigger table including multiple trigger parameters associated with one or more of the ads, (ii) an ad placement engine, (iii) a first asset manager configured to receive the first control information including the plurality of ad control files, and (iv) a display controller configured to provide a display with a next ad to be displayed, wherein each ad control file is associated with a respective ad of the plurality of ads and at least one of the ad control files includes a trigger parameter, wherein each of the ads is associated with a respective placement value and at least one of the ads is associated with a respective weight value, wherein at least one of the trigger parameters within the trigger table is from the at least one of the ad control files including the trigger parameter, wherein the ad placement engine is configured to use, for each ad that is associated with a respective weight value, a weight rule within an ad control file associated with the ad to determine the weight value associated with the ad, wherein the weight rule of at least one of the ad control files includes an equation for calculating a weight value that increases proportionately to time passed, wherein the ad placement engine is configured to re-evaluate the placement value of each ad of the plurality of ads and to re-evaluate an order of the plurality of ads so as to determine the next ad to be displayed, and wherein re-evaluation of the order of the plurality of ads includes;
(i) for each ad associated with a respective weight value, multiplying the re-evaluated placement value associated with that ad by the weight value associated with that ad so as to determine a weighted placement value for that ad, and (ii) placing each ad associated with a weight value on a heap data structure that indicates the order of the plurality of the ads in accordance with the weighted placement value for that ad, wherein the next ad is displayed based on a position in the heap data structure responsive to an ad request without performing another re-evaluation of the order of the plurality of ads after the ad request is received, and wherein the re-evaluation of the order of the plurality of ads occurs at least in response to a detection of a system context change that includes a channel change, a time of viewing a program, a program changing on a particular channel, or a combination thereof. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus for displaying an ad by a client-side video replay machine, the apparatus comprising:
-
means for storing, on the client-side video replay machine, a plurality of advertisements (ads) and a trigger table including multiple trigger parameters associated with one or more of the ads, wherein each of the ads is associated with a respective placement value and at least one of the ads is associated with a respective weight value; means for receiving a plurality of ad control files, wherein each ad control file is associated with a respective ad of the plurality of ads and at least one of the ad control files includes a trigger parameter within the trigger table; means for re-evaluating stored ads after a system context change occurs to determine a next ad to be displayed, wherein the means for re-evaluating stored ads uses, for each ad that is associated with a respective weight value, a weight rule within an ad control file associated with the ad to determine the respective weight value associated with the ad, wherein the weight rule includes an equation for calculating a weight value that increases proportionately to time passed, and wherein the means for re-evaluating is configured to re-evaluate the respective placement value of each ad of the plurality of ads and to re-evaluate an order of the plurality of ads so as to determine a next ad to be displayed; and means for controlling a display to display the next ad when the client-side video replay machine encounters an addisplay opportunity, wherein re-evaluation of the order of the plurality of ads includes;
(i) for each ad associated with a respective weight value, multiplying the re-evaluated placement value associated with that ad by the weight value associated with that ad so as to determine a weighted placement value for that ad, and (ii) placing each ad associated with a weight value on a heap data structure that indicates the order of the plurality of the ads in accordance with the weighted placement value for that ad, wherein the display is controlled to display the next ad based on a position in the heap data structure responsive to an ad request without performing another re-evaluation of the order of the plurality of ads after the ad request is received. - View Dependent Claims (20)
-
Specification