Abstract:
Processes, devices, and articles of manufacture are disclosed for managing the display of advertisements on a web page. Each may be configured for steps that include determining the length of a portion of web page content, assigning a priority to each of a set of advertisements for display on a web page, selecting advertisements for display on a web page, determining the difference between said length of said portion of web page content and the cumulative length of said selected advertisements, and if the length of the advertisement exceeds said difference then omitting the advertisement and selecting another.

Description:
BACKGROUND 
       [0001]    The present disclosure relates to methods, devices and computer program products for managing the display of advertisements on a web page with respect to a portion of web page content. 
         [0002]    Web pages may include one or more paid-for advertisements that are displayed alongside the web page content. Such advertisements may provide an important revenue stream for the web site provider. When a given web page is rendered, the advertisements are rendered alongside the web page content. Since the space on a given web page is limited, not all advertisements may be satisfactorily displayed. For example, some advertisements may not be fully displayed or may be omitted. Some advertisements may not be displayed adjacent the web page content. If advertisements are not displayed correctly, then advertisers are not receiving full value for their advertisements. This may discourage advertisers, thus reducing an important revenue stream for the web site provider. 
       BRIEF SUMMARY 
       [0003]    Methods, devices, and computer program products are provided wherein advertisements for a web page may be evaluated, characterized, managed or displayed. These and other methods, products that store instructions for carrying them out, and devices configured as such, may work together, alone, and in various combinations for managing the display of advertisements on a web page. 
         [0004]    Embodiments may include managing the display of an advertisement on a web page with respect to portions of web page content. Embodiments of these and other configurations may include some or more of the following: determining the length of a portion of web page content; assigning a priority to each of a set of advertisements for display on a web page in association with the web page content, each advertisement having a predetermined length; selecting the advertisements for display on a given web page in association with the portion of web page content, the advertisements being selected in sequence based on their assigned priority; whereby in response to the selection of each advertisement, determining the difference between the length of the portion of web page content and the cumulative length of the selected advertisements; and if the length of the next advertisement in sequence for selection exceeds the difference then omitting the next advertisement and selecting the subsequent advertisement in sequence. 
         [0005]    Embodiments may also comprise some or more of the following, which may be carried out in processes, instructions for configuring a processer, and in other configurations as well. Increasing the priority for each omitted advertisement; decreasing the priority for each advertisement selected for display; assigning a base priority to one or more of the advertisements; and resetting the priority of a given advertisement to the base priority in response to the given advertisement being selected for display. 
         [0006]    Embodiments may further comprise components, devices, and the like configured, alone or with other components, for managing the display of an advertisement on a web page with respect to a portion of web page content. Embodiments may be configured to: determine the length of a portion of web page content; assign a priority to each of a set of advertisements for display on a web page in association with the web page content, each advertisement having a predetermined length; select the advertisements for display on a given web page in association with the portion of web page content, the advertisements being selected in sequence based on their assigned priority; in response to the selection of each advertisement, determine the difference between the length of the portion of web page content and the cumulative length of the selected advertisements; and if the length of the next advertisement in sequence for selection exceeds the difference, then omit the next advertisement and select the subsequent advertisement in sequence. 
         [0007]    Embodiment may provide a computer program stored on a computer readable medium and loadable into the internal memory of a computer, comprising software code portions arranged, when the program is run on a computer, for performing a method for managing the display of an advertisement on a web page with respect to a portion of web page content, the method comprising: determining the length of a portion of web page content; assigning a priority to each of a set of advertisements for display on a web page in association with the web page content, each advertisement having a predetermined length; selecting the advertisements for display on a given web page in association with the portion of web page content, the advertisements being selected in sequence based on their assigned priority; whereby in response to the selection of each advertisement, determining the difference between the length of the portion of web page content and the cumulative length of the selected advertisements; and if the length of the next advertisement in sequence for selection exceeds the difference, then omitting the next advertisement and selecting the subsequent advertisement in sequence. 
         [0008]    For each of the above and throughout the disclosure, various features and processes may be further modified, may be combined, and may be performed in different orders and with more or fewer components and features. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    Embodiments will now be described, by way of example only, with reference to the accompanying drawings in which: 
           [0010]      FIG. 1  is a schematic illustration of a computer network including a computer running a web page server application program; 
           [0011]      FIGS. 2   a  and  2   b  are tables illustrating data as may be used by the web page server application program of  FIGS. 1 ; and 
           [0012]      FIG. 3  is a flow chart illustrating processing as may be performed by the web page server application program of  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION 
       [0013]    With reference to  FIG. 1 , a computer system  101  comprises a first computer  102  and a second computer  103  interconnected by a network  104 . The first computer  102  is loaded with an operating system  105  arranged to provide a processing platform for a web browser application program  106 . The second computer  103  is also loaded with an operating system  107  arranged to provide a processing platform for a web page server application program  108 . The web browser application program (web browser)  106  is arranged to enable the user to access or request web pages provided by the web page server application program (web page server)  108 . 
         [0014]    In the present embodiment, the second computer is connected to a storage device  109  arranged to store portions of web page content and advertisements. In response to a request from the web browser  106  for a given web page, the web page server  108  is arranged to select the appropriate portion of web page content and an associated set of advertisements. The web server  108  then renders the web page from the selected items and provides the rendered page to the web browser  108  via the network  104  for display to the user of the web browser  108 . In the present embodiment the web page server  108  is augmented with an advertisement management plug-in program (AMP)  110 . The AMP  110  in this and other embodiments may be arranged to manage the selection of advertisements for display with a given portion of web page content in accordance with a predetermined prioritisation protocol. 
         [0015]    With reference to  FIG. 2   a , the AMP  110  is provided with a set of priority data  201  associated with each of the available advertisements. The priority data  201  comprises an entry for each advertisement. Each entry lists a unique advertisement identifier (Advert ID)  202 , length data (Length)  203  representing the display length of the advert and priority data (Current Priority (Base))  204 ,  205 . In the present embodiment, the length data  203  represents the length of a given advertisement in pixels. The priority data  204 ,  205  comprises a current priority variable  204  and a base priority value  205 . On creation of an entry for a given advertisement, the base priority value  205  may be determined and the current priority value  204  may be set to the same value. In embodiment, the lower a priority value  204  the higher the priority. 
         [0016]    In response to the rendering of a given web page, the AMP  110  may be arranged to determine the length, in pixels, of the relevant portion of web page content and then to select advertisements to be displayed alongside. The AMP  110  may also be arranged to select advertisements in sequence according to their current priority value  204 , with higher priority advertisements being selected first. The AMP  110  may also be arranged to take into account the cumulative length of the selected advertisements relative to the length of the portion of web page content. If the next advertisement to be selected in sequence has a length which exceeds the difference between the length of the portion of web page content and the cumulative length of the currently selected advertisements then the AMP  110  may be arranged to omit that next advertisement and instead select the subsequent advertisement in sequence. The AMP  110  continues selecting advertisements in this manner until the cumulative length of selected advertisements equals the length of the portion of web page content or until all available advertisements have been considered. The AMP  110  may then provide the selected advertisements and associated portion of web page content to the web server  108 , which may then render the web page and sends it to the requesting web browser  106 . 
         [0017]    With reference to the priority data  201  of  FIG. 2   a , given a portion of web page content of 2000 pixels, then advertisements A, B and D may be selected for rendering. Advertisement C may be omitted since at the point of its selection the difference between the cumulative length of the selected advertisements (A+B=1700 pixels) and the length of the portion of web page content (2000 pixels) is less than the size of advertisement C (400 pixels). Once advertisement D is selected then the cumulative length of the selected advertisements equals the length of the portion of web page content and thus the AMP  110  sends to the selected items for rendering by the web server  108 . 
         [0018]    The AMP  110  may be arranged to modify the priority of a given advertisement depending on whether the advertisement was selected or omitted for display in relation to a given portion of web page content. If an advertisement is omitted from a given selection then the AMP  110  may be arranged to decrement its current priority value  204 , thus increasing the priority of the advertisement and thereby increasing its chances of being selected in a subsequent selection process. Such subsequent selection may be performed in relation to a different portion of web page content. If an advertisement is selected, the AMP  110  may be arranged to reset its current priority variable  204  to its corresponding base priority value  205 . Thus, with reference to  FIG. 2   b , in response to the omission of advertisement C from the selection described above, its current priority value  204  is decremented, thus increasing its priority. If the next web page request relates to web page content greater than or equal to 600 pixels in length, the increased priority value  204  of advertisement C will result in its selection before advertisement B is considered. 
         [0019]    The processing performed by the AMP  110  when managing the selection of advertisements in accordance with the prioritisation protocol will now be described further with reference to the flow chart of  FIG. 3 . Processing may be initiated at step  301  in response to the receipt of a request for a given web page by the web server  108  and processing moves to step  302 . At step  302  processing awaits a request for a web page and once received moves to step  303 . At step  303  the length of the relevant portion of web page content may be determined and processing may move to step  304 . At step  304  the first advertisement may be identified for selection based on the priority data  201  and processing moves to step  305 . At step  305  the difference between the length of the relevant portion of web page content and the cumulative length of any already selected advertisements may be determined and compared to the length of the identified advertisement to determine whether or not the identified advertisement will fit in the remaining space. If the identified advertisement will fit, processing may move to step  306 . At step  306  the current priority value  204  of the newly selected advertisement may be reset to the base priority value  205  and processing may move to step  307 . At step  307  the length of the selected advertisement may be added to the cumulative length of all the currently selected advertisements and processing may move to step  308 . At step  308  the updated cumulative length may be compared to the length of the portion of web page content and if space remains processing may return to step  304  and proceed as described above to select the next advertisement. If at step  308  the updated cumulative length equals the length of the portion of web page content then processing may move to step  309  where the selected advertisements and web page content may be identified to the web server  108  with an instruction to render the page for sending to the requesting web browser  106 . Processing may then return to step  302  and proceeds as described above. 
         [0020]    If at step  305  the difference between the length of the relevant portion of web page content and the cumulative length of any already selected advertisements is less than that of the identified advertisement then processing moves to step  310  where the priority value  204  for the omitted advertisement is decremented and processing moves to step  311 . At step  311  if more advertisements remain for consideration then processing returns to step  304  and proceeds as described above. If all advertisements have been considered then processing may move to step  309  and proceed as described above. 
         [0021]    In embodiments, the higher the priority, the higher the priority value may be. Thus, the priority value of an omitted advertisement may be incremented. In this embodiment, a repeatedly omitted advertisement may reach a higher priority than that normally assigned to the highest priority advertisement. 
         [0022]    In embodiments, the length of the portion of web page content may be set dynamically in dependence on the size of the window of the web browser in which it is to be displayed. In response to the resizing of the browser window the web page may be re-rendered by the web server to take into account any change in the length of the portion of web page content. The re-rendered page may comprise a different set of advertisement to the previous version of the web page as determined by the AMP. The rate at which the web page is re-rendered in response to such resizing of the browser window may be limited to avoid resizing rates above a predetermined frequency. 
         [0023]    As will be understood by those skilled in the art, any suitable prioritisation protocol may be utilized using any suitable searching technique to select suitable candidate advertisements for selection. 
         [0024]    It will also be understood by those skilled in the art that the apparatus that embodies a part or all of the present invention may be a general purpose device having software arranged to provide a part or all of an embodiment of the invention. The device could be a single device or a group of devices and the software could be a single program or a set of programs. Furthermore, any or all of the software used to implement the invention can be communicated via any suitable transmission or storage means so that the software can be loaded onto one or more devices. 
         [0025]    While various embodiments have been illustrated, and while the embodiments have been described in considerable detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details of the representative apparatus and method, and illustrative examples shown and described. Accordingly, departures may be made from such details without departure from the scope of applicant&#39;s general inventive concept.