WO2005081741A2 - Techniques for modifying the behavior of documents delivered over a computer network - Google Patents

Techniques for modifying the behavior of documents delivered over a computer network Download PDF

Info

Publication number
WO2005081741A2
WO2005081741A2 PCT/US2005/001022 US2005001022W WO2005081741A2 WO 2005081741 A2 WO2005081741 A2 WO 2005081741A2 US 2005001022 W US2005001022 W US 2005001022W WO 2005081741 A2 WO2005081741 A2 WO 2005081741A2
Authority
WO
WIPO (PCT)
Prior art keywords
web page
computer
document
code
functionality
Prior art date
Application number
PCT/US2005/001022
Other languages
French (fr)
Other versions
WO2005081741A3 (en
Inventor
Christopher W Wesley
Mark E Pennell
Kris Manian
Eric Mckinlay
Original Assignee
Claria Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Claria Corporation filed Critical Claria Corporation
Priority to JP2006519699A priority Critical patent/JP2007535012A/en
Priority to EP05705602A priority patent/EP1714221A4/en
Publication of WO2005081741A2 publication Critical patent/WO2005081741A2/en
Publication of WO2005081741A3 publication Critical patent/WO2005081741A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention relates generally to computer systems, and more particularly but not exclusively to the processing of documents received over a computer network.
  • Websites typically run on one or more server computers that store downloadable documents referred to as "web pages.”
  • a web page may comprise textual and graphical data, as well as computer-readable program code to be executed in the client computer.
  • a web page may also include advertisements for various products. Advertisements have the same role on the Internet as in radio and television. Generally speaking, advertisements generate revenue that allows a website to provide free or low cost access to information or service. For example, advertisements allow some websites to offer free e-mail service or access to the latest news.
  • a website may form a partnership with another website or another party providing products (i.e., goods or services) on the Internet. For example, websites may cooperatively display links to one another. As another example, a website may agree to display advertisements for another party, such as an online marketing company. Although these partnerships are generally good for a website, performing actions for other parties may require changes to existing web pages. A website may be hesitant to enter into a partnership that would entail significant changes to its web pages.
  • a web page stored in a first server computer includes a reference to a wrapping code stored in a second server computer.
  • the wrapping code may be pulled into a client computer when the page is downloaded to the client computer.
  • the wrapping code may add a functionality to the web page.
  • the functionality added by the wrapping code may be activated along with a pre-existing functionality of the web page in response to a user interaction with the web page.
  • FIG. 1 shows a schematic diagram of a computer network in accordance with an embodiment of the present invention.
  • FIG. 2 pictorially illustrates how a wrapping code from a partner server computer may be received in a client computer in accordance with an embodiment of the present invention.
  • FIG. 3 shows a schematic diagram of an example computer that may be used in embodiments of the present invention.
  • FIG. 4 pictorially illustrates an example of a web page behavior after execution of a wrapping code in accordance with an embodiment of the present invention.
  • FIG. 5 pictorially illustrates the operation of a wrapping code in accordance with an embodiment of the present invention.
  • FIG. 6 shows a flow diagram of a method of modifying the behavior of a document received over a computer network in accordance with an embodiment of the present invention.
  • the use of the same reference label in different drawings indicates the
  • FIG. 1 there is shown a schematic diagram of a computer network 100 in accordance with an embodiment of the present invention.
  • Network 100 includes one or more client computers 101 , one or more web server computers 102, one or more partner server computers 103, and other computers not shown.
  • the term "computer” includes any type of information processing device including personal digital assistants, digital telephones, wireless terminals, etc. Intermediate nodes such as gateways, routers, bridges, Internet service provider networks, public-switched telephone networks, proxy servers, firewalls, etc. are not shown for clarity.
  • network 100 includes the Internet; however, any type of computer network may also be used. Computers may be coupled to network
  • a client computer 101 is typically, but not necessarily, a personal computer such as those running the Microsoft WindowsTM operating system.
  • a user employs a suitably equipped client computer 101 to get on network 100 and
  • a web browser 116 may be a commercially available web browser.
  • web browser 116 comprises the Microsoft Internet ExplorerTM web browser.
  • a web server computer 102 may be a website containing information designed to attract users surfing on the Internet.
  • a web server computer 102 includes one or more web pages 110 containing various types of information.
  • a web page 110 may also include advertisements, links to other web pages, products available for online purchase, and so on. As is well known, a web page
  • a web page 110 may comprise viewable and non-viewable portions.
  • the viewable portions of a web page 110 are those that are displayed on the screen of a client computer 101.
  • the viewable portions of a web page 110 may include pictures, animations, texts, displayed links, buttons, entry fields, graphics, white space, background, and the like.
  • the non-viewable portions of a web page 110 are those that are not displayed on a screen but are nonetheless downloaded to a client computer 101. Examples of non-viewable portions of a web page 110 include computer-readable program code (e.g., scripts, code to display viewable portions) and comments.
  • a web page 110 includes a reference 112.
  • a reference 112 may comprise computer-readable program code pointed to a wrapping code 114 of a partner server computer 103.
  • a reference 112 may comprise computer-readable program code pointed to a wrapping code 114 of a partner server computer 103.
  • a reference 112 may comprise computer-readable program code pointed to a wrapping code 114 of a partner
  • 112 pulls a wrapping code 114 from a partner server computer 103 into a client computer 101 when a web page 110 is received in the client computer 101.
  • a partner server computer 103 may be a server computer or another website on a web server computer 102.
  • a partner server computer 103 is in partnership with a web server computer 102.
  • the partnership may involve a contractual agreement between the entities (e.g., individuals or companies) operating the partner server computer and the web server computer.
  • any reference to a partnership between computers or websites should be understood as a partnership between the entities operating the computers or websites.
  • a partner server computer 103 includes a wrapping code 114, which may comprise computer-readable program code for modifying the behavior of a web page 110. When executed, a wrapping code 114 "wraps" a layer of functionality over a web page 110.
  • a wrapping code 114 allows activation of additional functionality not present in a web page 110 in a web server computer 102.
  • a wrapping code 114 may be configured to display an advertisement in a separate browser window, such as in a so-called pop-up browser window.
  • the advertisement may be a coupon, special offer, an invitation to download software, information about a product (i.e., goods or services) or other websites, and so on.
  • This functionality displaying of a pop-up browser window
  • the wrapping code 114 may add this functionality to the web page 110 after the
  • web page 110 is received in a client computer 101.
  • the partnership between a web server computer 102 and a partner server computer 103 may involve the web server computer 102 performing some actions for the partner server computer 103.
  • the partnership may entail allowing the partner server computer to display a pop-up or pop-under window to users accessing the web server computer 102.
  • a wrapping code 114 modifies the behavior of a web page 110 after the web page 110 is received in a client computer 101.
  • a web page 110 as stored in the web server computer 102 may only require the addition of a reference 112 (which may be a single line of code) to be able to perform actions pursuant to the partnership.
  • the reference 112 pulls the wrapping code 114 into the client computer 101 where the wrapping code is executed.
  • FIG. 2 pictorially illustrates how a wrapping code 114 from a partner server computer 103 may be received in a client computer 101 in accordance with an embodiment of the present invention.
  • a user employing client computer 101 to surf the Internet may point web browser 116 to web page 110 of web server computer 102. This results in web page 110 being downloaded to client computer 101 (see arrow 291 ).
  • Web browser 116 displays the viewable portions of web page 110 on the screen of client computer 101.
  • Web browser 116 also allows for execution of computer-readable program code (e.g., HTML code, scripts) of web page 110, which includes reference 112.
  • reference 112 may point to wrapping code 114 (see arrow 292).
  • An example reference 112 may be:
  • FIG. 3 there is shown a schematic diagram of an example computer that may be used in embodiments of the present invention.
  • the computer shown in the example of FIG. 3 may be employed as a client computer or a server computer.
  • the computer of FIG. 3 is employed as a client computer 101.
  • the computer of FIG. 3 may have less or more components to meet the needs of a particular application. As shown in FIG.
  • the computer may include a processor 301 , such as those from the Intel Corporation or Advanced Micro Devices, for example.
  • the computer may have one or more buses 303 coupling its various components.
  • the computer may include one or more input devices 302 (e.g., keyboard, mouse), a computer-readable storage medium (CRSM) 305 (e.g., floppy disk, CD-ROM), a CRSM reader 304 (e.g., floppy drive, CD-ROM drive), a display screen 309 (e.g., cathode ray tube, flat panel display), a communications interface 306 (e.g., network adapter, modem) for coupling to a network, one or more data storage devices 307 (e.g., hard disk drive, optical drive, FLASH memory), and a main memory 308 (e.g., RAM).
  • Software embodiments may be stored in a computer-readable storage medium 305 for reading into a data storage device 307 or main memory 308.
  • main memory 308 is configured to include
  • wrapping code 114 modifies the behavior of a web page such that when a user interacts with the web page (e.g., by using her mouse to click on a portion of the web page), a new functionality added by the wrapping code is activated along with a pre-existing functionality of the web page.
  • the new functionality added by wrapping code 114 may be the displaying of an advertisement, playing of a streaming audio, opening a new browser window for another web page, downloading files to the client computer, running another program in the client computer, and so on.
  • the pre-existing functionality of the web page may be linking to another web page, opening another window, displaying an advertisement, and other functions capable of being performed by a web page.
  • FIG. 4 pictorially illustrates an example of a web page behavior after execution of a wrapping code 114 in accordance with an embodiment of the present invention.
  • the functionality added by the wrapping code 114 to the web page 110 is the displaying of a separate browser window 262, while the pre-existing functionality of the web page 110 is the linking of web browser 116 to a web page 260.
  • the web page 110, as stored in the web server computer 102, did not have the functionality of displaying a separate browser window 262. That is, the capability to display a separate browser window 262 is not in the web page 110 before execution of the wrapping code 114 in the client computer 101.
  • the user may place a mouse cursor 271 and click on a viewable portion of the web page 110.
  • the new functionality added by the wrapping code 114 is also activated, which in this particular example opens a separate browser window 262 (see arrow 295).
  • the separate browser window 262 displays an advertisement. Timing the displaying of browser window 262 with a user interaction, such as a mouse click on the web page 110, advantageously indicates to other programs that browser window 262 is displayed as part of a user interaction with the web page 110. This prevents so- called "pop-up blockers" from blocking browser window 262, and is thus
  • a wrapping code 114 is written in the JavaScript programming language. Other programming languages may also be used without detracting from the merits of the present invention.
  • a wrapping code 114 locates all objects of a web page 110 and redefines the OnClick events of the objects to an event handler that performs the functionality added by the wrapping code. Put another way, the wrapping code 114 traps mouse clicks on the objects, and invokes an event handler in response.
  • An example pseudo code for a wrapping code 114 in accordance with an embodiment of the present invention is shown in Table 1.
  • the wrapping code 114 waits for the web page to fully
  • the wrapping code 114 looks for the objects that make up the web
  • a web page "object" may be a link, a white space, a text, a picture, etc.
  • Appendix A shows an example JavaScript implementation of the pseudo code of Table 1.
  • a wrapping code 114 locates all anchor objects of the web page 110 and redefines the OnClick events of the anchor objects to an event handler that performs the functionality added by the wrapping code. This technique is similar to that of Table 1 , except limited to anchor objects rather than to objects in general.
  • an "anchor object" is a web page object that initiates navigation to another web page.
  • An example of an anchor object is a link. Limiting the activation of the new functionality to anchor objects is advantageous in situations where the new functionality is only important in cases where the user would leave the web page for another web page.
  • An example pseudo code for a wrapping code 114 that traps user interaction with an
  • anchor object in accordance with an embodiment of the present invention, is shown in Table 2.
  • FIG. 5 pictorially illustrates the operation of a wrapping code 114 in accordance with an embodiment of the present invention.
  • the wrapping code 114 "overlays" a transparent layer 505 over the viewable portions of the web page 110. Note that the overlaying of the transparent layer 505 over the viewable portions of the web page 110 is done in memory.
  • the transparent layer 505. For example, when the user clicks on the web page 110, the click is actually made on the transparent layer 505, which is on top of the web page 110.
  • the wrapping code 114 detects the coordinates of the transparent layer 505 that have been clicked on, activates a new functionality added by the wrapping code 114, and determines a viewable portion of the web page 110 having the same coordinates as the clicked portion of the transparent layer 505.
  • the pre-existing functionality of the web page 110 for that viewable portion may then be activated by the wrapping code 114.
  • the portion of the web page 110 clicked on by the user is a link to another web page, web browser 116 will be forwarded to that other web page in addition to the activation of the new functionality added by the wrapping code 114.
  • Table 3 shows an example pseudo code for a wrapping code 114 in accordance with an embodiment of the present invention.
  • the wrapping code 114 waits for the web page 110 to fully load. Thereafter, the wrapping code 114 places a transparent layer underneath a mouse cursor over the viewable portions of the web page 110. When the user clicks on the web page 110, the click is actually registered as being on the transparent layer.
  • An event handler which is assigned to monitor for mouse clicks on the transparent layer, activates the new functionality added by the wrapping code 114.
  • the new functionality opens a separate browser window and records the coordinates of the affected portion (i.e. the portion clicked on by the user) of the transparent layer. The transparent layer is then removed. Thereafter, the object of the web page 110 at the recorded coordinates is clicked on to allow the pre-existing functionality assigned to that object, if any, to be activated.
  • Appendix C shows an example JavaScript implementation of the pseudo code of Table 3.
  • FIG. 6 shows a flow diagram of a method 600 of modifying the behavior of a document received over a computer network in accordance with an embodiment of the present invention.
  • Method 600 may be implemented using the components shown in FIG. 1. However, other components may also be used without detracting from the merits of the present invention.
  • a document stored in a first server computer includes a reference to a wrapping code stored in a second server computer.
  • the document may be a web page, while the first and second server computers may be coupled over the Internet.
  • the document is provided to a client computer coupled to the first and second server computers.
  • the first server computer may be a website providing web pages to client computers accessing the web site.
  • step 606 the wrapping code is pulled from the second server computer to the client computer.
  • the wrapping code may be pulled from the second server computer as a result of the reference being executed in the client computer.
  • the wrapping code is executed to add a new functionality to the document.
  • the wrapping code may also remove functionality from the document depending on the application.
  • the "new functionality” may be blocking or removal of pre-existing functionalities of the document.
  • the "new functionality” may also be a modification to a preexisting functionality.
  • the new functionality may be the displaying of an advertisement in a separate browser window.
  • the advertisement may comprise an invitation to download an application program to the client computer.
  • the advertisement may also comprise a coupon, special offer, information about a product (i.e., goods or services) or other websites, and so
  • the wrapping code detects a user interaction with the document.
  • the user interaction may be a mouse click on the document or a mouseover on the document, for example. Other user interactions are also possible without detracting from the merits of the present invention.
  • the interaction with the document may be directly or indirectly, as is the case when a transparent layer is overlaid over the document.
  • the wrapping code activates the new functionality and may also allow activation of a pre-existing functionality of the document.
  • Embodiments of the present invention provide advantages heretofore unrealized. Embodiments of the present invention advantageously allow a website to partner with another entity with minimum changes to its web pages. This facilitates formation of partnerships among providers on the Internet. Embodiments of the present invention allow new functionalities to be added to a web page after the web page has been received in a client computer. While specific embodiments of the present invention have been provided, it is to be understood that these embodiments are for illustration purposes and not limiting. Many additional embodiments will be apparent to persons of ordinary skill in the art reading this disclosure. APPENDIXA
  • iLayer. style. top 0px
  • iLayer. style. left 0px
  • iLayer. style .backgroundColor red
  • iLayer-. style .backgroundImage URL (ht tp: //webpdp. gator.com/pixel.gif) " ;

Abstract

In one embodiment, a web page (110) stored in a first server computer (102) includes a reference (110) to a wrapping code (114) stored in a second server computer (103). The wrapping code (114) may be pulled into a client computer (101) when the page (110) is downloaded to the client computer (101). Upon execution in the client computer (101), the wrapping code (114) may add a functionality to the web page (110). The functionality added by the wrapping code (114) may be activated along with a pre-existing functionality of the web page (110) in response to a user interaction with the web page (110).

Description

TECHNIQUES FOR MODIFYING THE BEHAVIOR OF DOCUMENTS DELIVERED OVER A COMPUTER NETWORK Inventors: Christopher W. Wesley, Mark E. Penneil, Kris Manian, and Eric McKinlay
COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
1. Field Of The Invention
The present invention relates generally to computer systems, and more particularly but not exclusively to the processing of documents received over a computer network.
2. Description Of The Background Art
Large computer networks, such as the Internet, allow for relatively widespread and fast dissemination of information. On the Internet, for example, websites providing online services or information on various topics are readily accessible. A user having a computer and a web browser may navigate to one or more websites to access news, maps, computer programs, video, music, products, e-mail, and so on.
Websites typically run on one or more server computers that store downloadable documents referred to as "web pages." As is well known, a web page may comprise textual and graphical data, as well as computer-readable program code to be executed in the client computer. A web page may also include advertisements for various products. Advertisements have the same role on the Internet as in radio and television. Generally speaking, advertisements generate revenue that allows a website to provide free or low cost access to information or service. For example, advertisements allow some websites to offer free e-mail service or access to the latest news.
A website may form a partnership with another website or another party providing products (i.e., goods or services) on the Internet. For example, websites may cooperatively display links to one another. As another example, a website may agree to display advertisements for another party, such as an online marketing company. Although these partnerships are generally good for a website, performing actions for other parties may require changes to existing web pages. A website may be hesitant to enter into a partnership that would entail significant changes to its web pages.
SUMMARY
In one embodiment, a web page stored in a first server computer includes a reference to a wrapping code stored in a second server computer. The wrapping code may be pulled into a client computer when the page is downloaded to the client computer. Upon execution in the client computer, the wrapping code may add a functionality to the web page. The functionality added by the wrapping code may be activated along with a pre-existing functionality of the web page in response to a user interaction with the web page. These and other features of the present invention will be readily apparent to persons of ordinary skill in the art upon reading the entirety of this disclosure, which includes the accompanying drawings and claims.
DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a schematic diagram of a computer network in accordance with an embodiment of the present invention.
FIG. 2 pictorially illustrates how a wrapping code from a partner server computer may be received in a client computer in accordance with an embodiment of the present invention.
FIG. 3 shows a schematic diagram of an example computer that may be used in embodiments of the present invention.
FIG. 4 pictorially illustrates an example of a web page behavior after execution of a wrapping code in accordance with an embodiment of the present invention.
FIG. 5 pictorially illustrates the operation of a wrapping code in accordance with an embodiment of the present invention.
FIG. 6 shows a flow diagram of a method of modifying the behavior of a document received over a computer network in accordance with an embodiment of the present invention. The use of the same reference label in different drawings indicates the
same or like components.
DETAILED DESCRIPTION
In the present disclosure, numerous specific details are provided, such as examples of systems, components, and methods, to provide a thorough understanding of embodiments of the invention. Persons of ordinary skill in the art will recognize, however, that the invention can be practiced without one or more of the specific details. In other instances, well-known details are not shown or described to avoid obscuring aspects of the invention. Being computer-related, it can be appreciated that the components disclosed herein may be implemented in hardware, software, or a combination of hardware and software (e.g., firmware). Software components may be in the form of computer-readable program code stored in a computer-readable storage medium, such as memory, mass storage device, or removable storage device. For example, a computer-readable storage medium may comprise computer- readable program code for performing the function of a particular component. Likewise, computer memory may be configured to include one or more components, which may then be executed by a processor. Components may be implemented separately in multiple modules or together in a single module. Referring now to FIG. 1 , there is shown a schematic diagram of a computer network 100 in accordance with an embodiment of the present invention. Network 100 includes one or more client computers 101 , one or more web server computers 102, one or more partner server computers 103, and other computers not shown. It is to be noted that the term "computer" includes any type of information processing device including personal digital assistants, digital telephones, wireless terminals, etc. Intermediate nodes such as gateways, routers, bridges, Internet service provider networks, public-switched telephone networks, proxy servers, firewalls, etc. are not shown for clarity. In the example of FIG. 1 , network 100 includes the Internet; however, any type of computer network may also be used. Computers may be coupled to network
100 using any type of connection without detracting from the merits of the present invention. A client computer 101 is typically, but not necessarily, a personal computer such as those running the Microsoft Windows™ operating system. A user employs a suitably equipped client computer 101 to get on network 100 and
access computers coupled thereto. For example, a user on a client computer
101 may employ a web browser 116 to access web pages on a web server computer 102. A web browser 116 may be a commercially available web browser. In one embodiment, web browser 116 comprises the Microsoft Internet Explorer™ web browser.
A web server computer 102 may be a website containing information designed to attract users surfing on the Internet. A web server computer 102 includes one or more web pages 110 containing various types of information. A web page 110 may also include advertisements, links to other web pages, products available for online purchase, and so on. As is well known, a web page
110 may comprise viewable and non-viewable portions. The viewable portions of a web page 110 are those that are displayed on the screen of a client computer 101. The viewable portions of a web page 110 may include pictures, animations, texts, displayed links, buttons, entry fields, graphics, white space, background, and the like. The non-viewable portions of a web page 110 are those that are not displayed on a screen but are nonetheless downloaded to a client computer 101. Examples of non-viewable portions of a web page 110 include computer-readable program code (e.g., scripts, code to display viewable portions) and comments. In one embodiment, a web page 110 includes a reference 112. A reference 112 may comprise computer-readable program code pointed to a wrapping code 114 of a partner server computer 103. A reference
112 pulls a wrapping code 114 from a partner server computer 103 into a client computer 101 when a web page 110 is received in the client computer 101.
A partner server computer 103 may be a server computer or another website on a web server computer 102. In one embodiment, a partner server computer 103 is in partnership with a web server computer 102. Note that the partnership may involve a contractual agreement between the entities (e.g., individuals or companies) operating the partner server computer and the web server computer. Thus, any reference to a partnership between computers or websites should be understood as a partnership between the entities operating the computers or websites. In one embodiment, a partner server computer 103 includes a wrapping code 114, which may comprise computer-readable program code for modifying the behavior of a web page 110. When executed, a wrapping code 114 "wraps" a layer of functionality over a web page 110. As will be more
apparent below, a wrapping code 114 allows activation of additional functionality not present in a web page 110 in a web server computer 102. For example, a wrapping code 114 may be configured to display an advertisement in a separate browser window, such as in a so-called pop-up browser window. The advertisement may be a coupon, special offer, an invitation to download software, information about a product (i.e., goods or services) or other websites, and so on. This functionality (displaying of a pop-up browser window) does not have to be present in a web page 110 as stored in a web server computer 102. The wrapping code 114 may add this functionality to the web page 110 after the
web page 110 is received in a client computer 101.
The partnership between a web server computer 102 and a partner server computer 103 may involve the web server computer 102 performing some actions for the partner server computer 103. The partnership may entail allowing the partner server computer to display a pop-up or pop-under window to users accessing the web server computer 102. To make it relatively simple for the web server computer 102, a wrapping code 114 modifies the behavior of a web page 110 after the web page 110 is received in a client computer 101. A web page 110 as stored in the web server computer 102 may only require the addition of a reference 112 (which may be a single line of code) to be able to perform actions pursuant to the partnership. The reference 112 pulls the wrapping code 114 into the client computer 101 where the wrapping code is executed. Thus, a partner server computer 103 may contract with several web server computers 102 to run a wrapping code 114. The web server computers 102 may include a reference 112 to their web pages 110 to pull the same wrapping code 114 into client computers 101. As can be appreciated, this simplifies the maintenance and integration of a wrapping code 114. FIG. 2 pictorially illustrates how a wrapping code 114 from a partner server computer 103 may be received in a client computer 101 in accordance with an embodiment of the present invention. A user employing client computer 101 to surf the Internet may point web browser 116 to web page 110 of web server computer 102. This results in web page 110 being downloaded to client computer 101 (see arrow 291 ). Web browser 116 displays the viewable portions of web page 110 on the screen of client computer 101. Web browser 116 also allows for execution of computer-readable program code (e.g., HTML code, scripts) of web page 110, which includes reference 112. As mentioned, reference 112 may point to wrapping code 114 (see arrow 292). An example reference 112 may be:
<script language= " JavaScript " src= "http : //webpdp . gator . com/ 0 /placement / 000 / " > < /scrip t>
In the above example, "http://webpdp.gator.eom/0/placement/000/" specifies the storage location of the wrapping code 114 on the Internet. When reference 112 is executed in client computer 101 , wrapping code 114 is thus pulled from partner server computer 103 to client computer 101 (see arrow 293). Turning now to FIG. 3, there is shown a schematic diagram of an example computer that may be used in embodiments of the present invention. Depending on its configuration, the computer shown in the example of FIG. 3 may be employed as a client computer or a server computer. In one embodiment, the computer of FIG. 3 is employed as a client computer 101. The computer of FIG. 3 may have less or more components to meet the needs of a particular application. As shown in FIG. 3, the computer may include a processor 301 , such as those from the Intel Corporation or Advanced Micro Devices, for example. The computer may have one or more buses 303 coupling its various components. The computer may include one or more input devices 302 (e.g., keyboard, mouse), a computer-readable storage medium (CRSM) 305 (e.g., floppy disk, CD-ROM), a CRSM reader 304 (e.g., floppy drive, CD-ROM drive), a display screen 309 (e.g., cathode ray tube, flat panel display), a communications interface 306 (e.g., network adapter, modem) for coupling to a network, one or more data storage devices 307 (e.g., hard disk drive, optical drive, FLASH memory), and a main memory 308 (e.g., RAM). Software embodiments may be stored in a computer-readable storage medium 305 for reading into a data storage device 307 or main memory 308. In the example of FIG. 3, main memory 308 is configured to include components of a web page 110 and a wrapping code 114.
In one embodiment, wrapping code 114 modifies the behavior of a web page such that when a user interacts with the web page (e.g., by using her mouse to click on a portion of the web page), a new functionality added by the wrapping code is activated along with a pre-existing functionality of the web page. The new functionality added by wrapping code 114 may be the displaying of an advertisement, playing of a streaming audio, opening a new browser window for another web page, downloading files to the client computer, running another program in the client computer, and so on. The pre-existing functionality of the web page may be linking to another web page, opening another window, displaying an advertisement, and other functions capable of being performed by a web page. FIG. 4 pictorially illustrates an example of a web page behavior after execution of a wrapping code 114 in accordance with an embodiment of the present invention. In the example of FIG. 4, the functionality added by the wrapping code 114 to the web page 110 is the displaying of a separate browser window 262, while the pre-existing functionality of the web page 110 is the linking of web browser 116 to a web page 260. The web page 110, as stored in the web server computer 102, did not have the functionality of displaying a separate browser window 262. That is, the capability to display a separate browser window 262 is not in the web page 110 before execution of the wrapping code 114 in the client computer 101.
Still referring to FIG. 4, the user may place a mouse cursor 271 and click on a viewable portion of the web page 110. This results in the pre-existing functionality of the web page 110 to be activated, which in this particular example links the web browser 116 to a new web page 260 (see arrow 294). In response to the mouse click, the new functionality added by the wrapping code 114 is also activated, which in this particular example opens a separate browser window 262 (see arrow 295). In one embodiment, the separate browser window 262 displays an advertisement. Timing the displaying of browser window 262 with a user interaction, such as a mouse click on the web page 110, advantageously indicates to other programs that browser window 262 is displayed as part of a user interaction with the web page 110. This prevents so- called "pop-up blockers" from blocking browser window 262, and is thus
especially important in situations where the displaying of an advertisement on browser window 262 helps pay for the development and maintenance of the web page 110. Without advertisements, such as those that may be displayed in a browser window 262, there may not be a web page 110 providing free information to users on the Internet.
In one embodiment, a wrapping code 114 is written in the JavaScript programming language. Other programming languages may also be used without detracting from the merits of the present invention.
In one embodiment, a wrapping code 114 locates all objects of a web page 110 and redefines the OnClick events of the objects to an event handler that performs the functionality added by the wrapping code. Put another way, the wrapping code 114 traps mouse clicks on the objects, and invokes an event handler in response. An example pseudo code for a wrapping code 114 in accordance with an embodiment of the present invention is shown in Table 1.
TABLE 1 wait for document to fully load; for each document object { object->onClickMethod = newFunctionalityMethod; } newFunctionalityMethod () { open new pop-up browser window; }
In the above example, the wrapping code 114 waits for the web page to fully
load. The wrapping code 114 then looks for the objects that make up the web
page 110. Clicking on any of the objects activates the new functionality added by the wrapping code 114, which opens a pop-up browser window that may contain an advertisement. In the example of Table 1 , the pre-existing functionality of the web page 110 for the OnClick event is activated after the completion of newFunctionalityMethod. That is, any pre-existing functionality of the web page 110 normally executes after the newFunctionalityMethod. Note that functionalities other than the displaying of a pop-up browser window may
also be added by the wrapping code 114. As is well known, a web page "object" may be a link, a white space, a text, a picture, etc. Appendix A shows an example JavaScript implementation of the pseudo code of Table 1.
In one embodiment, a wrapping code 114 locates all anchor objects of the web page 110 and redefines the OnClick events of the anchor objects to an event handler that performs the functionality added by the wrapping code. This technique is similar to that of Table 1 , except limited to anchor objects rather than to objects in general. As is well known, an "anchor object" is a web page object that initiates navigation to another web page. An example of an anchor object is a link. Limiting the activation of the new functionality to anchor objects is advantageous in situations where the new functionality is only important in cases where the user would leave the web page for another web page. An example pseudo code for a wrapping code 114 that traps user interaction with an
anchor object, in accordance with an embodiment of the present invention, is shown in Table 2.
TABLE 2 wait for document to fully load; for each anchor object { anchorObject->onClickMethod = newFunctionalityMethod; } newFunctionalityMethod () { open new pop-up browser window; } The pseudo code of Table 2 is similar to that of Table 1 except for redefining the
OnClick events of anchor objects rather than objects in general. Appendix B shows an example JavaScript implementation of the pseudo code of Table 2. FIG. 5 pictorially illustrates the operation of a wrapping code 114 in accordance with an embodiment of the present invention. In the example of FIG. 5, the wrapping code 114 "overlays" a transparent layer 505 over the viewable portions of the web page 110. Note that the overlaying of the transparent layer 505 over the viewable portions of the web page 110 is done in memory. When a user interacts with the web page 110, the interaction is detected by the transparent layer 505. For example, when the user clicks on the web page 110, the click is actually made on the transparent layer 505, which is on top of the web page 110. The wrapping code 114 detects the coordinates of the transparent layer 505 that have been clicked on, activates a new functionality added by the wrapping code 114, and determines a viewable portion of the web page 110 having the same coordinates as the clicked portion of the transparent layer 505. The pre-existing functionality of the web page 110 for that viewable portion may then be activated by the wrapping code 114. For example, still referring to FIG. 5, if the portion of the web page 110 clicked on by the user is a link to another web page, web browser 116 will be forwarded to that other web page in addition to the activation of the new functionality added by the wrapping code 114. Table 3 shows an example pseudo code for a wrapping code 114 in accordance with an embodiment of the present invention.
TABLE 3 wait for document to fully load; place transparent layer beneath mouse pointer, over viewable page; layer->onClick = newFunctionalityMethod; newFunctionalityMethod() { open new pop-up browser window; record click coordinates, x&y; remove transparent layer; locate object on viewable page at coordinates x&y; located_object->click() ; }
In the example of Table 3, the wrapping code 114 waits for the web page 110 to fully load. Thereafter, the wrapping code 114 places a transparent layer underneath a mouse cursor over the viewable portions of the web page 110. When the user clicks on the web page 110, the click is actually registered as being on the transparent layer. An event handler, which is assigned to monitor for mouse clicks on the transparent layer, activates the new functionality added by the wrapping code 114. The new functionality opens a separate browser window and records the coordinates of the affected portion (i.e. the portion clicked on by the user) of the transparent layer. The transparent layer is then removed. Thereafter, the object of the web page 110 at the recorded coordinates is clicked on to allow the pre-existing functionality assigned to that object, if any, to be activated. Appendix C shows an example JavaScript implementation of the pseudo code of Table 3.
Note that in the aforementioned embodiments, the user may click on a portion of the web page (e.g., a white space) having no corresponding preexisting functionality. In that case, only the new functionality added by the wrapping code may be activated. FIG. 6 shows a flow diagram of a method 600 of modifying the behavior of a document received over a computer network in accordance with an embodiment of the present invention. Method 600 may be implemented using the components shown in FIG. 1. However, other components may also be used without detracting from the merits of the present invention.
In step 602, a document stored in a first server computer includes a reference to a wrapping code stored in a second server computer. The document may be a web page, while the first and second server computers may be coupled over the Internet. In step 604, the document is provided to a client computer coupled to the first and second server computers. For example, the first server computer may be a website providing web pages to client computers accessing the web site.
In step 606, the wrapping code is pulled from the second server computer to the client computer. The wrapping code may be pulled from the second server computer as a result of the reference being executed in the client computer.
In step 608, the wrapping code is executed to add a new functionality to the document. As can be appreciated, the wrapping code may also remove functionality from the document depending on the application. For example, the "new functionality" may be blocking or removal of pre-existing functionalities of the document. The "new functionality" may also be a modification to a preexisting functionality. The new functionality may be the displaying of an advertisement in a separate browser window. For example, the advertisement may comprise an invitation to download an application program to the client computer. The advertisement may also comprise a coupon, special offer, information about a product (i.e., goods or services) or other websites, and so
on. In step 610, the wrapping code detects a user interaction with the document. The user interaction may be a mouse click on the document or a mouseover on the document, for example. Other user interactions are also possible without detracting from the merits of the present invention. The interaction with the document may be directly or indirectly, as is the case when a transparent layer is overlaid over the document.
In step 612, in response to the user interaction with the document, the wrapping code activates the new functionality and may also allow activation of a pre-existing functionality of the document.
Embodiments of the present invention provide advantages heretofore unrealized. Embodiments of the present invention advantageously allow a website to partner with another entity with minimum changes to its web pages. This facilitates formation of partnerships among providers on the Internet. Embodiments of the present invention allow new functionalities to be added to a web page after the web page has been received in a client computer. While specific embodiments of the present invention have been provided, it is to be understood that these embodiments are for illustration purposes and not limiting. Many additional embodiments will be apparent to persons of ordinary skill in the art reading this disclosure. APPENDIXA
Copyright 2004, Claria Corporation var alreadyClicked=false, newWin, showUrl="http: //www. claria. com" ; function commenceClickWrap ( inWin ){ if ( inWin ) { inWin. location. replace ( showUrl ); inWin. focus () ; }else{ clickWrap () ; }
} function clickWrap (){ if ( document . readyState == 'complete' ){ redefineOnClicks () ; } else { setTimeout ( ' commenceClickWra ()' , 250 ); } } function showAdvertisement () { if ( ! alreadyClicked ){ alreadyClicked = true; var newWin=window. open( "", "newWin" ) ; if ( newWin ) { newWin. location. replace ( showUrl ); newWi . focus ( ) ; } } } function redefineOnClicks () { for ( var i = 0; i < document . all . length; i++ ){ if ( ! document .all [i] .onclick ){ document .all [i] .onclick = showAdvertisement; } }
} newWin = window. open ( "", "newWin" ); setTimeout ( "commenceClickWrap ( newWin )", 250 ); APPENDIX B
Copyright 2004, Claria Corporation var alreadyClicked=false, newWin, showUrl="http: //www. claria. com" ; function commenceLinkWra ( inWin ) { if ( inWin ) { inWin. location. replace ( showUrl ); inWin. focus () ; }else{ linkWrapO ; }
} function linkWrap(){ if ( document . readyState == 'complete' ){ redefineOnClicks () ; } else { setTimeout ( ' commenceLinkWra ()' , 250 ); }
} function showAdvertisement () { if ( ! alreadyClicked ){ alreadyClicked = true; var newWin=window. open ( "", "newWin" ); if ( newWin ) { newWin. location. replace ( showUrl ) ; newWin. focus ( ) ; } }
} function redefineOnClicks () { fo ( var i = 0; i < document . links . length; i++ ){ if( ! document .links [i] .onclick ){ document .links [i] .onclick = showAdvertisement; } } } newWin = window. open ( "", "newWin" ); setTimeout ( "commenceLinkWrap ( newWin )", 250 ); APPENDIX C
Copyright 2004 , Claria Corporation
var newWin, origUnload=false, iLayer, winWidth=100,winHeight=100,p osTop=screen. availHeight/2-50 ,posLeft=screen. clientWidth/2- 50 ,push=" " , showϋrl="http : //webpdp . gator. com/new-page . html" ; function pushWin(inWin) { try{ if (push=="up") {inWin. focus () ; }else{inWin.blur () ; }
inWin.moveTo (posLeft,posTop) ;inWin. location. replace (showUrl ); if (push=="up"). {inWin. focus () ; }else{inWin.blur () ;window, focu s(>;} }catch(e) {}
} function attachLayerHelper () { iLayer--document . createElement ( "DIV" ) ;
iLayer. style .visibility="visible" ; iLayer. style . width--7 ; iLay er. style.height=7; iLayer. style.position="absolute" ;
iLayer. style. top="0px" ; iLayer. style. left="0px" ; iLayer. style .backgroundColor="red" ; iLayer-. style .backgroundImage="URL (ht tp: //webpdp. gator.com/pixel.gif) " ;
iLayer. onelick=touchLayer; iLayer. id="cLayer" ; iLayer. innerHT ML="<img height= ' 1 ' />" ,-attachLayer ( ) ;
} function attachLayer ( ) { if (document . readyState== ' complete ' ) {
if ( lorigϋnload) {origUnload=window.onunload;window. onunload= unAttach; }
try{document .body. insertBefore (iLayer, document .body. firstCh ild) ; iLayer. style. zindex=1000 ; }catch (e) {setTimeout ("attachLayer () ",250) ; } }else{setTimeout ( "attachLaye ( ) ",250) ; } document .body. onmousemove=modPoint; document .body. onscroll=modPoint; } function adjLayer (x,y) { iLayer . style . top=y-5 ; iLayer. style . left=x-5 ;
} function modPointO {
adjLayer (window. event . clientX+document .body. scrollLeft, wind ow. event . clientY+document .body,scrollTop) ; var overNow=document . elementFromPoint (window. event . clientX- 6, windo . event . clientY) ; switch (overNow.nodeName) { case "A" : iLayer. style, cursor--"hand" ;window, status-overNow.href;break; case "INPUT": if (overNow. type=="text" ) {iLayer. style, cursor--"text" ; }break; case "TEXTAREA" : iLayer. style . cursor="text";break; default : iLayer. style. cursor="auto" ;window. status=" " ; } if ( document . getElementByld( ' overWhat ' ) ) { document . getElementByld ( ' overWhat ' ) . innerHTML = overNow.nodeName + " : " + iLayer . style . cursor + " : " + overWhat .previousSibling. tagName;
document .getElementByld ( OverWhat' ) . style.position="absolut e";
document . getElementByld ( overWhat ' ) . style . top=window. event . clientY+document .body. scrollTop+25;
document . getElementByld ( ' overWhat ' ) . style . left=window. event .clientX+document .body. scrollLeft; } } function unAttachO {
if (document .getElementByld ( 'cLayer' ) ) {document .body. removeC hiId (document . getElementByld ( ' cLayer ' ) ) ; } if (origϋnload) {origϋnloadO } ;
} function touchLayer () { var newWin=window. open ( " ", "newWin" , "width="+winWidth+" ,height=" +winHeight+" , left=0, top=10000") ;pushWin (newWin) ; window. onunload=origUnload; origUnload=null ;unAttach ( ) ; document . elementFromPoint (window. event . clientX, window. event . clientY) . click () ;
} function commence (inWin) { if (inWin) {pushWin(inWin) ; }else{attachLayerHelper () ; }
} newWin=window. open ( " " , "newWin" , "width="+winWidth+" ,height=" +winHeight+",left=0,top=10000") ; setTimeout ( "commence (newWin) " , 250) ;

Claims

CLAIMSWhat is claimed is:
1. A method of modifying a behavior of a web page, the method comprising: storing a web page in a first server computer, the web page including a reference to a wrapping code stored in a second server computer; providing the web page to a client computer; pulling the wrapping code from the second server computer to the client computer; executing the wrapping code in the client computer to add a functionality not present in the web page as stored in the first server computer; and in response to a user interaction with the web page, activating a preexisting functionality of the web page corresponding to the user interaction and activating the functionality added by the wrapping code.
2. The method of claim 1 wherein the pre-existing functionality of the web page includes pointing a web browser displaying the web page to another web page, and the functionality added by the wrapping code includes displaying an advertisement in a separate browser window.
3. The method of claim 1 wherein executing the wrapping code in the client computer comprises: locating an object in the web page; and configuring the client computer to activate the functionality added by the wrapping code whenever a user interacts with the object.
4. The method of claim 3 wherein configuring the client computer to activate the functionality added by the wrapping code comprises assigning to the object an event handler that displays an advertisement in a separate window whenever the user interacts with the object .
5. The method of claim 1 wherein the pre-existing functionality of the web page does not perform any action.
6. The method of claim 1 wherein executing the wrapping code in the client
computer comprises positioning a transparent layer over a viewable portion of the web page.
7. The method of claim 6 wherein activating the pre-existing functionality of the web page comprises: detecting a portion of the transparent layer affected by the user interaction with the web page; determining a viewable portion of the web page that has a substantially same coordinates as the affected portion of the transparent layer; and performing a pre-existing functionality assigned to the viewable portion of the web page.
8. The method of claim 7 wherein activating the functionality added by the
wrapping code comprises displaying an advertisement in a separate browser window.
9. The method of claim 1 wherein the user interaction comprises a mouseover on an object of the web page.
10. The method of claim 1 wherein the user interaction comprises a mouse click on an object of the web page.
11. The method of claim 1 wherein the user interaction comprises a mouse
click anywhere on the web page.
12. The method of claim 8 wherein the advertisement comprises an invitation to download an application program.
13. A system for modifying a behavior of a document provided over a computer network, the system comprising: a first server computer including a document, the document including a reference and a pre-existing functionality; and a second server computer including a wrapping code pointed to by the reference, the wrapping code being configured to be provided to and executed at a client computer upon downloading of the document to the client computer, the wrapping code including instructions to activate a functionality added by the wrapping code and to allow the pre-existing functionality to be activated in response to a user interaction with the document.
14. The system of claim 13 wherein the wrapping code comprises: computer-readable program code for detecting the user interaction with the web page; and computer-readable program code for displaying an advertisement in a separate browser window in response to the user interaction with the web page.
15. The system of claim 13 wherein the user interaction comprises a mouse
click on any viewable portion of the web page.
16. The system of claim 13 wherein the wrapping code comprises: computer-readable program code for locating an object in the web page; computer-readable program code for displaying an advertisement in a separate browser window when a user interacts with the object; and computer-readable program code for allowing a functionality assigned to the object to be activated, the functionality assigned to the object being preexisting in the document as stored in the first server computer.
17. The system of claim 13 wherein the wrapping code comprises: computer-readable program code for locating an anchor object in the web page; computer-readable program code for displaying an advertisement in a separate browser window when a user interacts with the anchor object; and computer-readable program code for allowing a functionality assigned to the object to be activated, the functionality assigned to the anchor object being pre-existing in the document as stored in the first server computer.
18. The system of claim 13 wherein the wrapping code comprises: computer-readable program code for positioning a transparent layer over the document; computer-readable program code for detecting a portion of the transparent layer affected by a user interaction with the document; computer-readable program code for determining a viewable portion of the document that has a substantially same coordinates as the affected portion of the transparent layer; and computer-readable program code for allowing a pre-existing functionality assigned to the viewable portion of the document to be activated.
19. A method of modifying a behavior of a web page receivable over an Internet, the method comprising: providing a web page to a client computer over the Internet; the web page including a reference to a wrapping code stored in a server computer; providing the wrapping code to the client computer; displaying viewable portions of the web page in a web browser; executing the wrapping code in the client computer to trap a mouse click on a viewable portion of the web page; and in response to the mouse click on the viewable portion of the web page, displaying an advertisement in a separate browser window and displaying another web page on the web browser.
20. The method of claim 19 wherein executing the wrapping code in the client computer to trap the mouse click comprises: locating an object in the web page; and assigning an event handler to respond to a mouse click on the object, the event handler being added by the wrapping code.
21. The method of claim 20 wherein the event handler displays the advertisement in the separate browser window.
22. The method of claim 19 wherein executing the wrapping code in the client computer to trap the mouse click comprises: positioning a transparent layer over the viewable portions of the web page.
23. The method of claim 19 wherein the advertisement comprises an invitation to download an application program.
24. A method of responding to a user interaction with a document, the method comprising: providing a document to a client computer over a computer network; and in response to a user interaction with the document, displaying a separate window and activating a pre-existing functionality of the document corresponding to the user interaction.
25. . The method of claim 24 wherein the document comprises a web page and the computer network includes the Internet.
26. The method of claim 25 wherein the user interaction comprises a mouse click on a link on the web page.
27. The method of claim 24 wherein the document is not capable of displaying the separate window when the document is first received in the client computer.
28. The method of claim 27 wherein a wrapping code from a first server computer is pulled into and executed at the client computer to give the document the capability to display the separate window, the document being provided to the client computer by a second server computer.
PCT/US2005/001022 2004-02-13 2005-01-12 Techniques for modifying the behavior of documents delivered over a computer network WO2005081741A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006519699A JP2007535012A (en) 2004-02-13 2005-01-12 Technology for changing the behavior of documents distributed over a computer network
EP05705602A EP1714221A4 (en) 2004-02-13 2005-01-12 Techniques for modifying the behavior of documents delivered over a computer network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/778,374 2004-02-13
US10/778,374 US20050198315A1 (en) 2004-02-13 2004-02-13 Techniques for modifying the behavior of documents delivered over a computer network

Publications (2)

Publication Number Publication Date
WO2005081741A2 true WO2005081741A2 (en) 2005-09-09
WO2005081741A3 WO2005081741A3 (en) 2006-06-08

Family

ID=34911349

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/001022 WO2005081741A2 (en) 2004-02-13 2005-01-12 Techniques for modifying the behavior of documents delivered over a computer network

Country Status (5)

Country Link
US (1) US20050198315A1 (en)
EP (1) EP1714221A4 (en)
JP (1) JP2007535012A (en)
KR (2) KR20120053086A (en)
WO (1) WO2005081741A2 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1865723A1 (en) 2006-06-07 2007-12-12 Sony NetServices GmbH Video-on-demand system
US8868533B2 (en) 2006-06-30 2014-10-21 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US8583772B2 (en) 2008-08-14 2013-11-12 International Business Machines Corporation Dynamically configurable session agent
US9881323B1 (en) * 2007-06-22 2018-01-30 Twc Patent Trust Llt Providing hard-to-block advertisements for display on a webpage
JP4847991B2 (en) * 2008-06-30 2011-12-28 ヤフー株式会社 Information processing apparatus, method, program system, and server computer
JP4847990B2 (en) * 2008-06-30 2011-12-28 ヤフー株式会社 A method for fusing multiple program displays with screen modification
US20100042465A1 (en) * 2008-08-14 2010-02-18 Adam Pritchard Audience Manager and Custom Segments
US20100042507A1 (en) * 2008-08-14 2010-02-18 Adam Pritchard Audience Manager and Sellers
US20100042466A1 (en) * 2008-08-14 2010-02-18 Adam Pritchard Audience Manager and Resellers
US20100042930A1 (en) * 2008-08-14 2010-02-18 Adam Pritchard Audience Manager and End Users
US20100042497A1 (en) * 2008-08-14 2010-02-18 Adam Pritchard Audience Manager and Data Exchange
US20100042500A1 (en) * 2008-08-14 2010-02-18 Adam Pritchard Audience Manager and Sellers
US20100042419A1 (en) * 2008-08-14 2010-02-18 Adam Pritchard Audience Manager and Data Providers
US9934320B2 (en) 2009-03-31 2018-04-03 International Business Machines Corporation Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions
US9134789B2 (en) * 2009-07-14 2015-09-15 Adobe Systems Incorporated Multi-layer computer application with a transparent portion
US8595613B1 (en) * 2012-07-26 2013-11-26 Viasat Inc. Page element identifier pre-classification for user interface behavior in a communications system
US9635094B2 (en) 2012-10-15 2017-04-25 International Business Machines Corporation Capturing and replaying application sessions using resource files
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US10474735B2 (en) 2012-11-19 2019-11-12 Acoustic, L.P. Dynamic zooming of content with overlays
US9538249B2 (en) 2013-05-09 2017-01-03 Viasat Inc. Close fulfillment of content requests
US10073583B2 (en) 2015-10-08 2018-09-11 Adobe Systems Incorporated Inter-context coordination to facilitate synchronized presentation of image content
US11327625B2 (en) * 2019-07-17 2022-05-10 Truist Bank Graphical user interface marking feedback

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734863A (en) * 1986-04-14 1998-03-31 National Instruments Corporation Method and apparatus for providing improved type compatibility and data structure organization in a graphical data flow diagram
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US5887133A (en) * 1997-01-15 1999-03-23 Health Hero Network System and method for modifying documents sent over a communications network
US5608850A (en) * 1994-04-14 1997-03-04 Xerox Corporation Transporting a display object coupled to a viewpoint within or between navigable workspaces
US5724567A (en) * 1994-04-25 1998-03-03 Apple Computer, Inc. System for directing relevance-ranked data objects to computer users
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US5724521A (en) * 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
US6029195A (en) * 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5883955A (en) * 1995-06-07 1999-03-16 Digital River, Inc. On-line try before you buy software distribution system
US5708780A (en) * 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US6026368A (en) * 1995-07-17 2000-02-15 24/7 Media, Inc. On-line interactive system and method for providing content and advertising information to a targeted set of viewers
US6513060B1 (en) * 1998-08-27 2003-01-28 Internetseer.Com Corp. System and method for monitoring informational resources
US5717860A (en) * 1995-09-20 1998-02-10 Infonautics Corporation Method and apparatus for tracking the navigation path of a user on the world wide web
US5712979A (en) * 1995-09-20 1998-01-27 Infonautics Corporation Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page
US5708709A (en) * 1995-12-08 1998-01-13 Sun Microsystems, Inc. System and method for managing try-and-buy usage of application programs
US5823879A (en) * 1996-01-19 1998-10-20 Sheldon F. Goldberg Network gaming system
US5872850A (en) * 1996-02-02 1999-02-16 Microsoft Corporation System for enabling information marketplace
AU2230597A (en) * 1996-02-28 1997-09-16 Aim Corporation Communication system for distributing such message as advertisement to user of terminal equipment
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5809242A (en) * 1996-04-19 1998-09-15 Juno Online Services, L.P. Electronic mail system for displaying advertisement at local computer received from remote system while the local computer is off-line the remote system
US6014638A (en) * 1996-05-29 2000-01-11 America Online, Inc. System for customizing computer displays in accordance with user preferences
US5715453A (en) * 1996-05-31 1998-02-03 International Business Machines Corporation Web server mechanism for processing function calls for dynamic data queries in a web page
US6006252A (en) * 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US6347398B1 (en) * 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
WO1998035468A2 (en) * 1997-01-27 1998-08-13 Benjamin Slotznick System for delivering and displaying primary and secondary information
US5875296A (en) * 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6714975B1 (en) * 1997-03-31 2004-03-30 International Business Machines Corporation Method for targeted advertising on the web based on accumulated self-learning data, clustering users and semantic node graph techniques
US6026933A (en) * 1997-05-29 2000-02-22 Cosco, Inc. Step stool
US6686931B1 (en) * 1997-06-13 2004-02-03 Motorola, Inc. Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US6029141A (en) * 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system
US6014711A (en) * 1997-08-29 2000-01-11 Nortel Networks Corporation Apparatus and method for providing electronic mail relay translation services
US6335963B1 (en) * 1997-12-01 2002-01-01 Nortel Networks Limited System and method for providing notification of a received electronic mail message
US6199079B1 (en) * 1998-03-09 2001-03-06 Junglee Corporation Method and system for automatically filling forms in an integrated network based transaction environment
US6192380B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
AU749314B2 (en) * 1998-05-15 2002-06-20 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6182097B1 (en) * 1998-05-21 2001-01-30 Lucent Technologies Inc. Method for characterizing and visualizing patterns of usage of a web site by network users
US6185614B1 (en) * 1998-05-26 2001-02-06 International Business Machines Corp. Method and system for collecting user profile information over the world-wide web in the presence of dynamic content using document comparators
US6208339B1 (en) * 1998-06-19 2001-03-27 International Business Machines Corporation User-interactive data entry display system with entry fields having distinctive and changeable autocomplete
JP3511029B2 (en) * 1998-06-30 2004-03-29 株式会社博報堂 Notification information display device, notification information display system, and recording medium
AU5465099A (en) * 1998-08-04 2000-02-28 Rulespace, Inc. Method and system for deriving computer users' personal interests
US6356898B2 (en) * 1998-08-31 2002-03-12 International Business Machines Corporation Method and system for summarizing topics of documents browsed by a user
US6317722B1 (en) * 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US6338066B1 (en) * 1998-09-25 2002-01-08 International Business Machines Corporation Surfaid predictor: web-based system for predicting surfer behavior
US6487538B1 (en) * 1998-11-16 2002-11-26 Sun Microsystems, Inc. Method and apparatus for local advertising
US6338059B1 (en) * 1998-12-17 2002-01-08 International Business Machines Corporation Hyperlinked search interface for distributed database
US6084628A (en) * 1998-12-18 2000-07-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method of providing targeted advertising during video telephone calls
US6055573A (en) * 1998-12-30 2000-04-25 Supermarkets Online, Inc. Communicating with a computer based on an updated purchase behavior classification of a particular consumer
AU4481600A (en) * 1999-04-22 2000-11-10 Qode.Com, Inc. System and method for providing electronic information upon receipt of a scannedbar code
US6847969B1 (en) * 1999-05-03 2005-01-25 Streetspace, Inc. Method and system for providing personalized online services and advertisements in public spaces
US6356908B1 (en) * 1999-07-30 2002-03-12 International Business Machines Corporation Automatic web page thumbnail generation
US6360221B1 (en) * 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US6681247B1 (en) * 1999-10-18 2004-01-20 Hrl Laboratories, Llc Collaborator discovery method and system
US6857024B1 (en) * 1999-10-22 2005-02-15 Cisco Technology, Inc. System and method for providing on-line advertising and information
US6697825B1 (en) * 1999-11-05 2004-02-24 Decentrix Inc. Method and apparatus for generating and modifying multiple instances of element of a web site
US6848004B1 (en) * 1999-11-23 2005-01-25 International Business Machines Corporation System and method for adaptive delivery of rich media content to a user in a network based on real time bandwidth measurement & prediction according to available user bandwidth
US6513052B1 (en) * 1999-12-15 2003-01-28 Imation Corp. Targeted advertising over global computer networks
US7328189B2 (en) * 2000-01-26 2008-02-05 Paybyclick Corporation Method and apparatus for conducting electronic commerce transactions using electronic tokens
US6850967B1 (en) * 2000-02-19 2005-02-01 Hewlett-Packard Development Company, L.P. System and method for ensuring transparent sychronization of multiple applications across remote systems
US6701362B1 (en) * 2000-02-23 2004-03-02 Purpleyogi.Com Inc. Method for creating user profiles
US6701363B1 (en) * 2000-02-29 2004-03-02 International Business Machines Corporation Method, computer program product, and system for deriving web transaction performance metrics
US6516312B1 (en) * 2000-04-04 2003-02-04 International Business Machine Corporation System and method for dynamically associating keywords with domain-specific search engine queries
US6757661B1 (en) * 2000-04-07 2004-06-29 Netzero High volume targeting of advertisements to user of online service
AU2001253613A1 (en) * 2000-04-17 2001-10-30 Circadence Corporation System and method for shifting functionality between multiple web servers
US20020032592A1 (en) * 2000-04-17 2002-03-14 Steve Krasnick Online meeting planning program
US20020016736A1 (en) * 2000-05-03 2002-02-07 Cannon George Dewey System and method for determining suitable breaks for inserting content
US20020010626A1 (en) * 2000-05-22 2002-01-24 Eyal Agmoni Internert advertising and information delivery system
US6691106B1 (en) * 2000-05-23 2004-02-10 Intel Corporation Profile driven instant web portal
AU2001264965A1 (en) * 2000-05-26 2001-12-11 Exitexchange Corporation Post-session internet advertising system
US7421645B2 (en) * 2000-06-06 2008-09-02 Microsoft Corporation Method and system for providing electronic commerce actions based on semantically labeled strings
US6529903B2 (en) * 2000-07-06 2003-03-04 Google, Inc. Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query
US6681223B1 (en) * 2000-07-27 2004-01-20 International Business Machines Corporation System and method of performing profile matching with a structured document
US6523021B1 (en) * 2000-07-31 2003-02-18 Microsoft Corporation Business directory search engine
US6874018B2 (en) * 2000-08-07 2005-03-29 Networks Associates Technology, Inc. Method and system for playing associated audible advertisement simultaneously with the display of requested content on handheld devices and sending a visual warning when the audio channel is off
US7287071B2 (en) * 2000-09-28 2007-10-23 Vignette Corporation Transaction management system
US20060015390A1 (en) * 2000-10-26 2006-01-19 Vikas Rijsinghani System and method for identifying and approaching browsers most likely to transact business based upon real-time data mining
US7194454B2 (en) * 2001-03-12 2007-03-20 Lucent Technologies Method for organizing records of database search activity by topical relevance
WO2002076077A1 (en) * 2001-03-16 2002-09-26 Leap Wireless International, Inc. Method and system for distributing content over a wireless communications system
US20030041050A1 (en) * 2001-04-16 2003-02-27 Greg Smith System and method for web-based marketing and campaign management
US20030033155A1 (en) * 2001-05-17 2003-02-13 Randy Peerson Integration of data for user analysis according to departmental perspectives of a customer
US7149704B2 (en) * 2001-06-29 2006-12-12 Claria Corporation System, method and computer program product for collecting information about a network user
US7219139B2 (en) * 2001-06-29 2007-05-15 Claria Corporation System and method for using continuous messaging units in a network architecture
US7181488B2 (en) * 2001-06-29 2007-02-20 Claria Corporation System, method and computer program product for presenting information to a user utilizing historical information about the user
US20030023481A1 (en) * 2001-07-24 2003-01-30 Sarah Calvert Method of selecting an internet advertisement to be served to a user
US20030023698A1 (en) * 2001-07-25 2003-01-30 International Business Machines Corporation Method and apparatus for remotely configuring and displaying information
US20030028870A1 (en) * 2001-08-01 2003-02-06 Weisman Mitchell T. Distribution of downloadable software over a network
US20030046150A1 (en) * 2001-08-01 2003-03-06 Jamie Ader System and method of advertiser-subsidized customizable ordering and delivery of multimedia products
US7007074B2 (en) * 2001-09-10 2006-02-28 Yahoo! Inc. Targeted advertisements using time-dependent key search terms
US7162739B2 (en) * 2001-11-27 2007-01-09 Claria Corporation Method and apparatus for blocking unwanted windows
US20050021397A1 (en) * 2003-07-22 2005-01-27 Cui Yingwei Claire Content-targeted advertising using collected user behavior data
KR20050054874A (en) * 2002-06-17 2005-06-10 포르토 라넬리, 에스. 에이 Enabling communication between users surfing the same web page
US20040002896A1 (en) * 2002-06-28 2004-01-01 Jenni Alanen Collection of behavior data on a broadcast data network
US20040024756A1 (en) * 2002-08-05 2004-02-05 John Terrell Rickard Search engine for non-textual data
US7225184B2 (en) * 2003-07-18 2007-05-29 Overture Services, Inc. Disambiguation of search phrases using interpretation clusters
US20050033657A1 (en) * 2003-07-25 2005-02-10 Keepmedia, Inc., A Delaware Corporation Personalized content management and presentation systems
US20050027822A1 (en) * 2003-07-30 2005-02-03 Plaza Manuel Eslick Method and system for providing secondary internet access features by intercepting primary browser window locators
US7487435B2 (en) * 2003-12-12 2009-02-03 Dynamic Logic, Inc. Method and system for conducting an on-line survey
US7496563B2 (en) * 2004-08-04 2009-02-24 International Business Machines Corporation Method for locating documents a user has previously accessed
US8806327B2 (en) * 2005-08-15 2014-08-12 Iii Holdings 1, Llc System and method for displaying unrequested information within a web browser

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP1714221A4 *

Also Published As

Publication number Publication date
KR20070001131A (en) 2007-01-03
EP1714221A4 (en) 2008-06-25
JP2007535012A (en) 2007-11-29
KR20120053086A (en) 2012-05-24
WO2005081741A3 (en) 2006-06-08
EP1714221A2 (en) 2006-10-25
US20050198315A1 (en) 2005-09-08

Similar Documents

Publication Publication Date Title
EP1714221A2 (en) Techniques for modifying the behavior of documents delivered over a computer network
US8392257B2 (en) Dynamic in-page advertising
US6968507B2 (en) Method and apparatus for defeating a mechanism that blocks windows
US6636247B1 (en) Modality advertisement viewing system and method
US7162739B2 (en) Method and apparatus for blocking unwanted windows
US20090158141A1 (en) Method and system to secure the display of a particular element of a markup file
US20100211459A1 (en) Method of Automatically Controlling the Display of a Webpage on a Device
US8046428B2 (en) Presenting video content within a web page
US20080071881A1 (en) Advertising on Idle Web Browser Windows
US7249053B2 (en) Presentation of messages to end-users in a computer network
US20120254729A1 (en) Web page element presenting method and system
US20080228910A1 (en) Method for monitoring user interaction to maximize internet web page real estate
US20090158140A1 (en) Method and system to secure the display of advertisements on web browsers
US20040189710A1 (en) Technique for displaying a window in a computer screen
JP2005529408A (en) Identifying the origin of messages presented in computer systems
US20140149586A1 (en) Internet panel for capturing active and intentional online activity
WO2000019332A9 (en) Changing advertisement size in response to user interactions
US20080243625A1 (en) Sharing Revenue With a User-Selected Entity
US8433613B2 (en) Web site audio/video presentation system
US20030076351A1 (en) Method for display of contents
US20100169173A1 (en) System and Method for Action-Based Advertising
US7480862B2 (en) Method and apparatus for providing information regarding computer programs
JP2002007854A (en) Method of displaying advertisement, and advertisement system
US20110040639A1 (en) Distributing web-activatable content
US8918515B1 (en) Interstitial redirection management

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2006519699

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2005705602

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020067016274

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2005705602

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067016274

Country of ref document: KR