基于网页交互呈现广告的制作方法

文档序号:6593997阅读:201来源:国知局
专利名称:基于网页交互呈现广告的制作方法
基于网页交互呈现广告概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定 所要求保护的主题的范围。在高层次上,本发明描述了用于基于用户与网页的交互呈现广 告的方法和系统。简而言之,本发明的一方面描述了广告触发框架,其中可以动态地触发广告或其 他上下文相关信息,从而导致对信息的刷新而不会遮蔽网页上的当前内容。在一些实施例 中,动态地修改网页的初始源代码以包括指示关键字、触发事件和/或动作的标签,以使得 在用户与网页的各个项目交互时,基于与所交互的项目相关联描述性项目来更新特定的广
告单元。附图简述下文参考附图详细地描述的本发明的各实施例,其形成了本发明的一部分并且通 过引用包含于此,其中

图1描绘了适用于实现本发明的实施例的说明性操作环境;图2描绘了示出适用于实现本发明的实施例的说明性计算设备的特定组件的框 图;图3描绘了依照本发明的实施例的用于输入要定位或爬行的网页的URL的说明性 用户界面;图4描绘了依照本发明的实施例的用于帮助发布者标识关键字等的另一说明性 用户界面;图5-8描绘了适用于本发明的实施例中的标记语言的变化的说明性语法;图9描绘了用于实现本发明的实施例的第一方法;图10描绘了依照本发明的实施例的与说明性广告触发语言相关联的说明性网 页;以及图11-12描绘了用于实现本发明的实施例的两种附加方法。详细描述参考图1,一般地参考附图标记110并提供了适用于实现本发明的实施例的说明 性操作环境。操作环境110包括结合图2用示意图更详细描述的计算设备112,将简要地 描述图2以提供对计算设备112的一般概述。在图2中,提供了客户端计算设备112的图 形框图。计算设备112可以采取各种形式,包括例如计算设备,诸如游戏控制台、客户端计 算机、服务器计算机、其变体,诸如膝上型计算机和掌上型计算机以及在某些实施例中的诸 如PDA和智能电话等设备。如图2中所示,总线210将一个或多个存储器组件212耦合到 一个或多个处理器214、各种呈现组件216、输入/输出端口 218、输入/输出组件220以及 至少一个电源222。没有示出包括所示设备的较低层方面的其他设备,以免得使本发明显得 晦涩难懂。存储器组件212包括诸如硬盘驱动器、易失性存储器(诸如RAM)、缓存等事物。一个或多个处理器214控制计算设备112中的全部数据通信。说明性呈现组件216包括视频 卡以及监视器或其他呈现设备。输入/输出端口 218提供到诸如打印机、数码相机等外围 组件的连通性。实际的输入/输出组件可以是如打印机等事物。电源222供电以运行计算 设备112。无需呈现图2中所示的所有组件以组成计算设备,而是结合描述本发明的实施例 出于说明性目的而示出的。尽管为了清楚起见用线条示出了图2的各框,但是在实际上,各组件的轮廓并不 是那样清楚,并且按比喻的说法,线条更精确地将是界限不明的和模糊的。例如,可以将诸 如显示设备等呈现组件认为是I/O组件。同样,处理器具有存储器。可以认识到,这是本领 域的特性,并且重申,图2的图示只是例示可结合本发明的一个或多个实施例来使用的示 例性计算设备。计算设备112通常包括各种计算机可读介质。作为示例而非限制,计算机可 读介质可以包括随机存取存储器(RAM);只读存储器(ROM);电可擦可编程只读存储器 (EEPROM);闪存或其它存储器技术;CDR0M、数字多功能盘(DVD)或其它光或全息介质;磁带 盒、磁带、磁盘存储或其它磁存储设备;载波;或可用于对所需信息进行编码并且可由计算 设备112访问的任何其它介质。返回到图1,将计算设备112说明性地示为将呈现网页114。在该实施例中示出网 页114以包括某些说明性内容116以及一组广告单元118。网页114中可以包括任何数目 的广告单元118,但是出于说明性目的示出了四个。作为示例,示出了沿着网页顶部的三个 广告单元以及沿着网页114的侧面的广告单元,用附图标记120指定后者是因为后文中作 为例示将用其指代特定广告单元。广告单元118是用于在网页114上呈现广告内容的存储 库。虽然使用术语“广告内容”,但是旨在在该术语的范围内包括不仅只是广告。作为示例, 某些其他说明性项目可以包括定义、超链接或可能与内容116的各个项目或其部分相关的 任何其他类型的信息。将使用术语“广告内容”或仅仅“广告”来帮助减少冗长。由此,广 告单元118可以是接收广告的任何占位符。在某些情况下,占位符在网页114上已经是可 见的,而在其他情况下,它们基于某些事件而变得可见。用附图标记122指代发布者。发布者可以是通过客户端设备112提供所请求的网 页的任何web内容提供者。由此,可以将发布者112不同地称为内容提供者、网页提供者等。 在一些实施例中,发布者是内容所有者。发布者可以是范围从具有较小的网站或个人博客 的个人到具有相对更为复杂的网站的国际公司或组织的任何实体。发布者122将HTML 124 提供给客户端设备112,客户端设备112将处理HTML 124以最终再现网页114。在一个实 施例中,HTML 1 包括代码片段126,这我们将在下文中更详细地讨论。概括地说,片段126 提供了下载提供本发明的其他功能方面的脚本或类似物的一种说明性方式。在这一点上,语义可能引入的非预期的一定程度的混淆。认识到本领域的普通技 术人员可能使用不同的短语来指不同的项目。由此,虽然在专利申请的限制下尝试解释概 念和附图中的说明性项目,并且甚至在特定的情况下使用特定的术语,在技术人员意识到 不存在差异时,不一定意味着暗示存在某些差异。留意词语表示事物的原理以及诸如当使 用不同的词语时它们表示不同的事物的假设。但是在本文中情况可能不总是如此。正如第一人称为“小汽车(car)”而接着后者称为“汽车(automobile) ”,熟悉 两者的人不会认为意指不同的含义,因此此处可能使用各种术语。例如,一个人可能称为“HTML”,后接着随后称为“源代码”。在本国的技术中,有些人与网页同义地称呼HTML,而其 他人或甚至相同的人会认为源代码和HTML之间没有差别。根据上下文,一个术语可能比另 一术语更容易流动,但是不一定旨在意味着行情差异。通过进一步说明,术语“文档对象模 型”(DOM)是通常用于描述网页的表示的术语。一些技术人员将源代码等同于页面的D0M, 并且解释说DOM是用于表示HTML、XML和相关格式的平台独立和语言独立的标准对象模型。 Web浏览器不必使用DOM来再现HTML文档。JavMcript脚本利用DOM来动态地检查或修 改网页,如将要解释的,这是可以在本发明的一个实施例中使用的一种技术。文档对象模型 是Javakript查看HTML网页和浏览器状态的方式。在一个实施例中,在客户端112处接收到HTML 1 并且在存储器中用DOM 1 表 示。可以使用脚本语言来操纵网页的文档对象模型。例如,可以使用Javascript来动态地 操纵文档对象模型。换而言之,第三方可以通过操纵适当的DOM来实时地操纵源代码。在 一个实施例中,DOM 1 指示浏览器的网页114的代码形式的表示。如我们将在下文中更 详细解释的,可以用修改组件130来修改网页的初始DOM 128以产生132经修改的文档对 象模型134,后者是最终由客户端设备112再现的事物并且被呈现为网页114。在一些实施 例中,修改组件130采用修改初始文档对象模式1 来用附加程序代码进行补充以产生经 修改的文档对象模型134的脚本形式。在一个实施例中,修改取件130采用诸如脚本136等从服务器138下载的所下载 脚本的形式。由此,在某些实施例中,脚本136和修改组件130是相同的事物。为了清楚起 见,用不同的附图标记来指代它们。脚本136提供的一种职责是解析网页的源代码以标识 关键字、事件触发和/或随着任何事件触发的发生而执行的动作的客户端侧脚本的职责, 而事件触发是将触发某些动作来执行的某些事件,诸如通过服务器138或递送引擎140 (说 明性广告递送组件)用所接收的新鲜广告内容对广告单元118的进行最终刷新。在图1中 用附图标记142指代触发。服务器138可以是任何计算设备,包括诸如图2中用示意表示的计算设备。在一 些实施例中,它采用从网页114提取关键字的关键字提取服务器的形式。在一些实施中,爬 行内容116以标识与整体内容116或其部分上下文相关的关键字。因此服务器138也可以 存储引起特定动作的触发事件以及这些动作。触发包括诸如悬停、滚动、点击、聚焦、模糊、 键盘事件、装载事件和定时器等事情。由此,说明性触发的非穷举列表包括所定义的动作,诸如Onabort (中断对图像的 加载)、0nblur (失去焦点)、0nChange (内容改变)、0nclick(鼠标点击对象)、0ndblick (鼠 标双击对象)、Onerror (加载出错)、Onfocus (获得焦点)、Onkeydown (按下键盘按键)、 Onkeypress (按下或按住键盘按键)、Onkeyup (释放键盘按键)、Onload(加载文件)、 Onmousedown (按下鼠标按键)、Onmousemove (移动鼠标)、Onmouseout (从元素移开鼠标)、 Onmouseover (鼠标移动到元素上)、Onmouseup (释放鼠标按键)、Onreset (点击重置按 键)、Onresize (大小调整)、Onselect (选中)、Onsubmit (点击提交按键)、Onunload (用 户退出页面)。作为示例,如果用户悬停在某个单词或短语上,这可能是触发。滚动网页114可能 是触发。点击某个控件或图像等可能是触发。进入“聚焦”文本框可能是触发。离开文本 框“模糊”可能是触发。某种击键事件可能是触发。在加载网页时,其加载可能用作触发。特定时间量的经过也可能用作触发。如上简要所述的,动作可以是随着触发事件的发生而 发生的任何事件。说明性动作可以是最初收集或确定与一个或多个关键字相关联的一组描 述性项目。最终的动作可能是刷新广告单元118中的广告内容。将在下文中更详细地描述 这些步骤。也如以上简要描述的,本发明的一方面是能够基于用户与网页的交互在该网页上 呈现广告内容。可以基于用户与网页的交互动态地触发广告。历史上,动态地向用户呈现广 告的方式之一涉及用户将他或她的鼠标移动到加亮的项目上,诸如有双下划线的项目。这 会导致向用户呈现会遮蔽周围内容的弹出广告。出于各种原因,包括它们遮蔽当前网页的 试图的事实,这些广告是不合需要的,而且对于用户而言它们充其量一般是繁琐的且不便 的。但是本发明的实施例允许以不遮蔽诸如内容116等任何内容但是仍然包括与用户相关 的广告的方式通过网页114向用户或其他人呈现相关的广告内容。在较高层上,按照一个实施例,可以使用脚本136来解析定义网页的源代码的内 容,从而查找可能已经存在于网页中的定义关键字、触发和/或动作的信息。在其他实施例 中,请求与网页相关的信息的请求144可以被送往服务器138。这可适用于网页已经被预先 爬行过或用户已经标识了不同的关键字或触发等以使得与关键字、触发和/或动作相关的 信息被存储在服务器138中的情况。如将要解释的,修改HTML 1 以指示关键字等可以有各种方式。简而言之,一种 方式是利用自动爬行网页的内容、确定关键字、确定一组触发以及随着这些触发的发生要 执行的动作的程序。第二种方式可以涉及第首先或独立地依赖于用户在HTML 1 中指示 关键字、挑选定制图形和动作。在说明性的第三种方式中,可以基于用户与网站的交互动态 地生成或实时地标识诸如关键字等项目。例如,用户可能在某个文本框中键入文本,且该文 本自身用作关键字。由此,在一些实施例中,可能称为补充信息的信息146被返回给客户端设备112。 补充信息146可能包括关键字、触发和/或与这些触发相关联的动作。在本发明的不同的实施例的许多使用中,一种使用包括基于诸如网页114等网页 的关键字更新广告内容。关键字可以是可能出现在例如内容116中任何单词或词组或短 语。说明性关键字可以是“car (小汽车)”。在某些情况下,关键字可以是不明确的或者具 有发布者122期望通过对新的广告的请求148将描述关键字或与关键字相关联的某些描述 性项目发送给递送引擎140这样的性质。作为示例,虽然关键字可能是“car”,但是上传的描述性项目可能是“acmemodel 4(acme模型4) ”或“hybrid vehicle (混合车辆)”。与网页114的关键字相关的这些描述 性项目可至少部分地用于确定要返回给客户端设备112的广告数据150并且最终被用于刷 新广告单元118。对这些描述性项目的确定可以以各种方式发生。在一些实施例中,可以在 HTML 1 或经修改的DOM 134中呈现描述性项目。在其他实施例中,可以甚至基于用户的 交互实时地创建和/或确定描述性项目。例如,用户可以向“interests (兴趣)”文本框键入“sports (运动)”。接着,在 特定的触发发生时,可以参考文本框,这样使得“sports”成为上传到服务器138和/或递 送引擎140上的描述性项目(以及关键字)。注意示出了送往递送引擎140的对广告的请 求148,但是在某些实施例中,服务器138和递送引擎140实际上可以是相同的设备——这用虚线152来指示。在其他实施例中,递送引擎140是与服务器138不同的设备。在这种 情况下,递送引擎140可以是任何计算设备,并且还可以采用由图2示意表示的形式。先前解释了关键字、触发事件和/或动作可以在经修改的DOM 134中标识。完成 这个的一种方式是通过使用标记语言。标记语言的变体可以被用于指定诸如“当用户离开 X文本框时,上传在Y区域内键入的词语”等事物。一些技术人员可能将该语言称为广告触 发语言,其可采用标记语言的形式,诸如HTML的变体。该语言在一些实施例中使用以指定 关键字、描述符、触发以及在给定触发发生时要做什么。“描述符”是用于描述与关键字相关 联并且要上传以用于标识将用于刷新广告单元118的相关广告内容的描述性项目的另一 术语。将在图5-8中提供有关该标记语言的说明性语法的一些示例。在较高层介绍了各种概念之后,现在将提供一些低层方法以及与本发明的各个实 施例相关的更多说明。存在许多可实现本发明的不同实施例的不同方式。将描述某些说明 性情况以及可以实现本发明的方式,但是所选择的不同术语和所描述的技术不应被构建为 对本发明的限制;而是应该清楚地显示出实现本发明的许多不同实施例的各种不同方式。作为示例,将首先描述其中在HTML 124中不存在广告触发语言的示例。在一些实 施例中,在特定的时间点,片段1 可能不被包括在HTML 1 中。在这种情况下,可以手动 地将片段126添加到HTML 124上,或者可以将其手动地或伪手动地添加到HTML 1 上。一 般采用少量的程序代码的形式的片段126的职责之一是发起或开展对网页114装备或使网 页114能具有动态地触发对在广告118中呈现的广告内容进行刷新的过程。在一个实施例中,如果用户希望将片段1 添加到不包括片段126的网页上,那么 可能向用户呈现如图3中说明性地示出的用户界面并且一般用附图标记310参考。用户可 以在文本框314中输入URL 312。这也可用于从指定的网页自动生成关键字。为此,用户可 以点击按键316以自动生成将自动指定所确定的关键字、触发和/或动作的标记语言。以 此方式,可以自动地标识关键字并且自动地生成描述性项目。默认的触发可以被自动定义 或手动定义(这将在稍后讨论)。诸如先前提到的动作等默认动作也可以由爬行HTML 124 的爬行器自动定义。当某个触发发生时,将相关的描述性项目发送给服务器138或递送引 擎140,后者使用关键字来向下发送用于刷新单元118的广告数据。先前提到如果不期望自动爬行(发布者可能不期望,对网页的访问可能是受限的 等),那么可施加任何级别的控制以更具体地定义关键字、触发和/或事件。作为说明,可以 向希望对什么词语成为关键字、服务描述符项目以修改关键词的描述符是什么、触发事件 的不同触发是什么以及动作有更多控制的发布者呈现诸如图4的用户界面的用户界面。作为说明并且参考图4,简单化地示出“car” 410是某些网页上的发布者定义关 键字。由此,只要该网页再现,所有出现的“car”会被标记为关键字。如果发布者122希 望随着触发事件的发生结合对广告的请求上传特定的描述性项目,那么作为示例,发布者 122可以通过使用文本框412来指定这个。说明性描述项目可以是如附图标记414所指代 的“model T(模型Τ)”。示出正被定义的两个说明性事件。它们包括hover (悬停)和“on click(鼠标点击对象)”。该指定将意味着只要悬停在任何出现的“car”上或点击它,那 么就将项目“model Τ”上传到递送引擎140。该动作是用附图标记418来指示,其表示为 "send descriptors and text (发送描述符和文本)”。"and text (和文本)”指示例示了 一个实施例其中除了描述符“model Τ” 414之外也上传“car”。
在一些实施例中,也可以将其他信息提供给递送引擎140。在框420中示出了 "magazines for antiques (有关古董的杂志)” 422,这向递送引擎140提供了向下发送对 于有关古董的杂志的广告的进一步指令。同样,明显地是,这只是可能被发送的信息的一个 示例,而该说明性示例包括广告偏好。图4帮助示出了先前称为伪手动方式的至少一个方 面,其中发布者可以指定诸如关键字和描述性项目的事物。图4中的说明提供了将接收输 入的内容并且通过先前提及的标记语言使用该数据来标记源代码的不同部分的用户界面。继续第一说明,在客户端设备112处请求网页。在处理网页时,处理片段136,在一 个实施例中,如果不存在脚本136,则这发起将脚本136下载到客户端设备112。在其他实 施例中,它触发对脚本136的启动,该脚本136在接收到的HTML 124的初始文档对象模型 1 上操作,以实现经修改的文档对象模型134。换言之,与HTML 1 内的广告信息和/或 存储在服务器138中的信息146 —致地修改网页的文档对象模型128。再次地,如上所述, 可能是这样的情形与网页相关联的补充信息被存储在服务器138中。该信息146可以被 接收并被用于创建经修改的DOM 134。在一个实施例中,通过与动态标记语言协力工作的 脚本语言来实现该修改132。例如,在一个实施例中,利用动态HTML (DHTML)和JavMcript 来修改初始的DOM 128以创建经修改的DOM 134,后者现在包括标识关键字、触发和/或将 结合触发的发生而实现的动作的标记语言。仍旧继续该示例,再现了网页114并且在客户端设备112的显示设备上呈现网页 114。客户端设备112现在等待某个触发事件142的发生。在一个实施例中,脚本136监控 触发事件142的发生,触发事件142可以是任何数目个触发事件。在触发事件发生时,标识 与相关的关键字相关联的描述性项目并且将对广告的请求148发送给递送引擎140,后者 返回将被用于刷新在广告单元118中呈现的信息的广告数据150。例如,在触发事件142发 生之前,广告单元可能具有初始广告,但是随着触发事件142的发生,呈现在广告单元120 中的信息将被更新以反映广告数据150。现在将提供本发明的说明性实施例的第二描述,其中在HTML 1 中存在片段 126,并且其中广告触发语言(或类似的标记语言)是存在的并且可查明的。在这种情况 下,脚本136(其可以是修改组件130)解析组成网页的源代码中的特定标记语言,并且提供 DOM事件、其他事件、标签事件和所有其他事件,且插入指向这些事件的处理程序,这些处理 程序在触发事件142发生时将召唤服务器138。发生这种情况的一种方式是在浏览器开始 再现HTML 124时,它遇到片段126,该片段1 在客户端机器112上发起下载脚本136和/ 或对脚本136的执行。执行脚本以解析HTML,以便搜索定义词语、事件触发、动作或期望结合便于刷新广 告单元118中的内容来标识的任何其他项目的预定义标签。在一些实施例中,设置可以被 发布者122利用的标记,这样使得如果设置标记,那么这会向脚本136指示使用当前存在于 HTML 1 中的广告触发语言。如果标记被设置为不同的状态,那么将向在HTML 1 中存在 的任何广告触发语言补充存储在服务器138中的信息146。由此,在一些实施例,在HTML 1 中不存在广告触发语言,在其他实施例中,在 HTML 1 中存在专用的广告触发语言,而对于其他实施例,存在组合——其中HTML 1 中 的广告触发语言被用于标识HTML 1 中的关键字、触发等并且用存储在服务器138中的关 键字和触发补充这些触发和关键字。注意,虽然并非总是列出关键字、触发、动作、广告偏好等中的每一个,但是这么做以帮助减少冗长,而非表明有意识试图排除未被列出的补充信 息部分。在标识了相关的关键字、事件触发和动作之后,修改组件130修改初始DOM 128以 产生经修改的DOM 134,在一个实施例中由在计算设备112上运行的浏览器来再现该经修 改的DOM 134。这导致在呈现组件216上呈现网页114。各种触发与相应的各个关键字或 其他对象(例如文本框、单选按键、下拉列表、诸如图像等项目、连接等,所有这些都可以是 触发对象)相关联。在某些实施例中,事件处理程序与各种触发相关联。在一个实施例中, 脚本136监听触发事件。当它接收到诸如触发142等触发事件的指示时,这引起对相同或 不同脚本的执行。检查经解析的数据以标识要上传到服务器138的与相似关键字相关联的 适当描述性项目。一般而言,可以将描述性项目上传到服务器138或递送引擎140。由此, 将对新广告内容的请求148发送给例如递送引擎140。该请求148将包括与关键字相关联 的描述性项目。将相关的广告数据150发送给客户端设备112,后者使用该数据来刷新广告 单元118。如上所述,可以使用标记语言来指定网页的源代码中的关键字等。现在将依照本 发明的实施例提供关于标记语言的变体的附加细节。最初转向图5,一般地参考附图标记 500提供了网页源代码的摘录。预先地,注意到技术人员可能用不同的方式参考代码500的 不同部分。再次地,虽然可能使用相同的名称来指代代码的诸部分的特定方面,但是这么做 是出于将词语映射到附图上的目的,而非教义化地定义术语。例如,有些技术人员可能将整 个部分510称为标签。其他技术人员可能将附图标记512指定的部分称为标签,而将部分 514称为命名空间,将516称为元素。在所示的说明性示例中,部分518“meS0theli0ma(间 皮瘤)”是关键字。如果网页没有解释或不能解释标签512,那么它会简答地将 “mesothelioma”再现为词语。如所示的,代码500包括名称控件514 “ATRL”。这是称之为 “广告触发语言”的说明性缩写,即使用标记语言来标识各种广告相关的项目,诸如关键字、 触发事件和动作。当然无需使用特定的标签“ATRL”,但是可以替代地使用可以标识为具有 指定关键字为已经使用的项目的目的的标签的任何标签。部分514指示存在标记语言的该变体或存在等价物。元素(element) 516是“key word(关键字)”。由此,“key word” 516是指示“mesothelioma”是关键字的元素。代码 部分510并非明确地标识任何触发事件。在这种情况下,可能有与程序代码相关联的默认 触发事件,以使得当对关键字的这些默认触发事件中的一个发生时引起执行某个动作。图 5的目的是提供用于指定例如定义网页的源代码的主体内的关键字的方式的示例性语法的 一个说明性示例。 现在转向图6,另一代码段600提供了标识关键字的另一变体,而在这种情况下为 将随着一个或多个触发事件的发生而发生的动作。再次地,说明性开始标签610定义以结 束标签614为边界的代码部分612。代码部分612包括元素标识符616 “text (文本)”以 及触发事件618——其在这种情况下是“onblur (失去焦点)”。该示例所提供的是由项目 “text”标识的某个元素是怎样与某个动作相关联——其在这种情况下是on-blur事件—— 的说明;即,与例如焦点移出文本框之外相关联的事件。两个动作被示为与触发事件618相 关联。刷新动作指示广告组标识符620以及一组关键字622。
读取这个的一种方式是当焦点移出“text”元素时,使用关键字“car”和“BMW” 刷新标识为“topad(顶部广告)”的广告单元。也包括另一动作。该第二动作包括也与 “topad”6^相关联的显示(show)动作624。该第二动作可能导致广告单元“topad”随着 与“text”元素相关的模糊事件的发生而变得可见。相应地,在该示例中,内容所有者使用 标记语言来指定关于关键字“car”和“BMW”的广告刷新动作。这将在用户将任何文本键入 到页面上的特定文本框中时发生。此外,在该示例中,文本所有者对传递给递送引擎140的 关键字进行硬编码。为了使得广告与用户的动作更加相关,可以嵌入脚本调用作为对图6 中所示的该示例的替换。在图7中示出了这个的示例。如上简述的,图7描绘了采用脚本形式来实时地确定关键字的代码部分710。由 此,内容所有者基于用户在由“text”标识符714中标识的文本框中输入的文本,使用标记 语言用动态关键字来指定广告刷新动作712。生成关键字的又一方式是利用服务器侧代码。图8描绘了将XML岛或等价物嵌入 到HTML页面中以便于服务器侧权利或外部文件引用的概念。该代码800可用于帮助构建 相关的广告触发语言服务器侧。现在转向图9,表示用于实现本发明的实施例的第一说明性方法。为了有助于更 清楚地解释这第一说明性方法,将参考各个附图,这可以容易地找到因为一般而言每个附 图标记中的第一个数字标识在其上可以找到附图标记的附图。如所述的,可能是这样的情 形预先爬行网页和/或用户通过标记语言添加补充信息以指定关键字、指派触发、指示动 作等。在步骤912处,客户端设备112请求发布者122的网页。如有必要,在步骤914处下 载客户端侧脚本136。如所述的,脚本136可以依照本发明的不同实施例提供各种功能。其可能执行的 某些说明性功能包括解析存在于HTML 1 中的广告触发语言。其可能执行的其它功能包 括取得与网页114相关联并且存储在服务器138中的预定义关键字、触发和动作。这由附 图标记916标识,包括参考和补充信息,诸如关键字、触发和动作。先前解释了可能用各种 方式提供该补充信息。说明性方式包括如果不存在补充信息,则动态地解析网页的源代码、 检索先前存储在服务器138中的补充信息和/或使用从服务器138处接收到的补充信息 146更新甚至可能包括广告触发语言的网页的当前源代码,并接着甚至可能解析经补充的 页面。在步骤918处,如果网页的DOM还未被修改,那么就与补充信息一致地修改它。由 此,例如,如果最初网页中没有广告触发语言,但接着接收到补充信息146,那么就可修改其 原始源代码,以使得可以添加网页的适当内容的适当标签。在步骤920处,作出用所需动作响应触发的准备。在一个实施例中,这包括将事件 处理程序与触发事件进行关联。先前提到若干个说明性触发事件,诸如鼠标点击、悬停、键 盘点击、定时器期满、滚动动作、键击等。事件处理程序可以被配置成当这些事件之一发生 时,事件处理程序执行所需动作。如果触发事件发生,那么用附图标记922指定该触发事件发生的指示。在步骤拟4 处,发生与触发相关联的指定动作。在该说明性示例中,动作包括基于适当的描述符(描述 性项目)向服务器138(或递送引擎140)提交请求以刷新指定的广告。在一个实施例中, 结合该步骤检查经解析的数据或处理内嵌脚本。
在步骤拟6处接收新的广告数据150,而在步骤9 处执行指定动作。说明性动作 包括诸如刷新、显示等事物。因此可能是这种情况广告单元118要刷新其内容。可能是这 种情况要使得广告单元118之一可见或甚至不可见。将描述用于实现本发明的实施例的另外两种说明性方法,第一种参考图11,而第 二种参考图12。每个将包括对图10的参考,图10描绘了包括第一广告单元1016和第二广 告单元1018的网页1014的说明性屏幕截图1012。第一广告单元1016被称为“topad(顶 部广告)”。而第三广告单元1020用标识符“sidead(侧面广告)”来标识。说明性关键字 “car”用附图标记1022来指示。文本框1024与标识符“text”相关联。关键字1022和文 本框IOM与说明性程序代码段10 相关联,说明性程序代码段10 尤其包括与“onblur” 事件10 相关联的指令。这可能意味着当用户将焦点移出文本框IOM时,要依照文本框 IOM中的关键字——在此情形中为“model Τ”——刷新1030顶部广告1016。关键字确定 是从代码部分1032产生的。另一动作指示以示出1034广告单元1020,广告单元1020与 标识符“sidead”相关联。在代码10 中描述的另一说明性触发事件包括悬停动作1036。 由此,当用户将鼠标悬停在关键字1022上时,根据行1038依照关键字“car”和“BMW”来刷 新 sidead 1020。转向图11,在步骤1112处接收呈现由源代码定义的网页的请求。在步骤1114处, 标识网页中的关键字集。关键字将与触发相关联,以使得如果用户通过触发与所标识的关 键字交互,那么将发生某个动作。关键字可以用一个或多个描述性词语来描述。作为示例, 图10中的说明性关键字包括“car”1022。与小汽车相关联的关键字可能是“model T"1024 以及 “car” 和 “BMW” 1040。在步骤1116处,事件触发与关键字相关联。如应该清楚的,这可能不是单独的步 骤。将事件触发与关键字进行关联的一种方式是通过利用标记语言,如在代码部分10 中 说明性示出的标记语言。代码部分10 示出了依照本发明的实施例事件触发与关键字是 如何相关联的。在该示例中,诸如onblur 10 和hover 1036等触发与“car” 1022相关 联。虽然步骤1116涉及将事件触发与关键字进行关联,但是触发事件当然可以与网页上除 了仅关键字以外的其它控件相关联。例如,代码部分1042示出onblur事件10 与文本框 10M而非关键字相关联。文本框10M包括关键字,但是它不必须包括关键字。控件可以采 用许多形式。控件可以是任何web元素。说明性web元素包括锚、Java应用程序、表格、表 单控件、文本区域、文本框、窗口等。在步骤1118处,在显示设备上呈现网页。在步骤1120处,接收已经发生事件触发 的指示。在一个实施例中,事件触发与收集特定描述性项目相关联。参考图10,说明性描述 性项目包括“model Τ”以及“car”和“BMW”。基于经修改的源代码,在步骤1122处,确定与 事件触发相关联的适当描述性词语。已经简要地提出可以确定它们的不同方式。代码部分 10 示出了两种方式,在一种方式中代码词语被静态定义1040,而另一种方式1032中它们 是被动态确定的。在步骤IlM处,将描述性词语传达给可基于描述性词语返回广告数据的远程计 算设备(例如,服务器138或递送引擎140)。在步骤11 处,接收广告数据150。如上所 述,广告数据可以是任何相关信息文本。在步骤11 处,使用广告数据来刷新适当的广告 单元。因此,参考图10作为示例,将使用与关键字“model Τ”相关的广告内容来刷新topad1016。用基于关键字1040的广告内容更新sidead 1020。在广告单元中刷新内容可在不会 遮蔽网页的任何内容的情况下完成。此外,刷新广告单元可在甚至不会打乱网页的布局的 情况下完成,除了在例如使得广告单元可见或不可见的情况下。但是即使在这些情况中,也 可以保留文本内容。现在转向图12,一般地参考附图标记1210并提供了用于实现本发明的实施例的 另一说明性方法。在步骤1212处,网页的代码被确定为在显示之前被动态地修改。这可能 发生的一种方式是观察出现在HTML 1 中的较小代码片段126的存在。该较小代码片段 的存在指示网页的HTML 124在其被最终显示在呈现组件上之前将被动态地修改。在步骤1214处,远程存储的内容被标识为与网页相关联的补充信息。如先前所回 避的(eluded to),说明性补充信息包括诸如网页上将成为关键字的词语的列表、哪些将与 同关键字有关的描述性项目相关联(在再现网页之后可生成哪些描述性项目);触发事件 的列表,这些触发事件与网页的对象相关联以使得如果以预定方式与对象交互则动作将跟 随;以及随着各种触发事件的发生而发生的动作的列表。说明性对象包括网页的文本、占位 符、图像、多媒体控件、文本框等。列表有很多。在步骤1216处,依照补充信息动态地修改网页的代码。由此,基于在一个实施例 中存储在服务器138中的补充信息将描述网页的初始文档对象模型1 转变为经修改的文 档对象模型134。在步骤1218处,接收事件触发的指示。在一些实施例中,可以由脚本136接收该 指示,脚本136利用事件处理程序来开始作为事件触发的发生的结果的进程。在步骤1220 处,收集与触发的发生相关联的描述性词语。参考图10并且贯穿本发明地解释可如何收集 关键字。如所述的,可以在广告触发代码中静态地定义它们。也可以实时地确定它们,可能 甚至基于实时的用户输入来确定它们。可基于服务器端脚本用另一其它方式来生成它们。在步骤1222处,将描述性词语传达给诸如服务器138或递送引擎140等远程计算 设备。远程计算设备可以是适于基于所提供的描述性词语返回广告内容150的任何设备。 在步骤12M处接收广告内容,以允许在网页上呈现基于广告内容的信息,而不会遮蔽网页 的内容。由此,作为示例,网页114可以通过广告单元118更新其广告内容,而不会遮蔽任 何内容。先前提到的将文档对象模型1 修改成经修改的文档对象模型134的一种方式是 利用DHTML。所描绘的各种组件的许多不同排列以及未示出的组件是可能的,而不背离本发明 的精神和范围。描述本发明的各实施例旨在是说明性的而非限制性的。不背离其范围的替 换性实施例对本领域的技术人员会变得显而易见。技术人员可以开发出上述改进的替换性 方法,而不背离本发明的范围。应该理解特定的特征和子组合是有用的,并且可以加以利用而无需参考其它特征 和子组合,并且在权利要求书的范围内构想。无需以所述的特定顺序执行各个附图中列示 的所有步骤。
权利要求
1.一种或多种其上包含有用于执行基于用户与网页的交互呈现广告的方法的计算机 可执行指令的计算机可读介质,所述方法包括接收1112对呈现网页114的请求,其中所述网页是由源代码IM定义的,并且其中所 述网页包括用于呈现广告的一个或多个区域118,所述一个或多个区域此后被称为广告单 元 118 ;标识1114所述网页中的关键字集,其中所述关键字将与事件触发相关联,以使得如果 用户通过触发与所标识的关键字交互,则将发生某一动作,并且其中所述关键字由一个或 多个描述性词语(例如622)来描述;动态地修改所述源代码以将所述事件触发与所述关键字进行关联;由此创建将所述事 件触发与所述关键字进行关联的经修改的源代码134 ;再现1118所述经修改的源代码134以在显示设备上呈现所述网页114 ;接收1120发生特定事件触发的指示,其中所述特定事件触发与收集特定描述性词语 622相关联;基于所述经修改的源代码,确定1122与所述特定事件触发相关联的所述特定描述性 词语;将所述特定描述性词语传达IlM给可操作用于基于所述特定描述性词语返回广告内 容150的远程计算设备138或140 ;接收所述广告数据;以及使用所述广告数据来刷新所述一个或多个所标识的广告单元118。
2.如权利要求1所述的介质,其特征在于,所述标识关键字集包括通过以下操作中的 一个或多个来这么做参考存储在远程计算设备上的补充信息,所述补充信息包括以下各项中的一个或多个,(1)所述关键字集,(2)所述事件触发,以及(3)随着所述事件触发的发生而执行的动作;或解析所述源代码以标识当前在所述源代码中的任何关键字、事件触发或动作。
3.如权利要求2所述的介质,其特征在于,所述补充信息是通过以下操作中的一个或 多个来创建的接收所述网页的地址,并且自动地标识所述关键字集,而无需用户通过预先爬行所述 网页的介入;或者从用户处接收对以下各项中的一个或多个的指示(1)组成所述关键字集的词语,(2)所述事件触发的指示,以及(3)随着所述事件触发的发生而执行的动作的指示。
4.如权利要求3所述的介质,其特征在于,动态地修改所述源代码包括以下操作中的 一个或多个使用标记语言标记所述关键字集以指定所述关键字;使用所述标记语言指定所述事件触发;或使用所述标记语言指定所述动作。
5.如权利要求4所述的介质,其特征在于,所述关键字集中每一个可以是所述网页的 任何单词。
6.如权利要求5所述的介质,其特征在于,所述事件触发包括以下所述事件中的一个 或多个鼠标悬停 聚焦事件 模糊事件 滚动动作 时间流逝 鼠标点击;以及 键盘事件。
7.如权利要求4所述的介质,其特征在于,确定所述特定描述性词语是通过以下方式 中的一个或多个来实现的,包括基于所述描述性关键字正由所述标记语言指示来标识它们; 参考在所述网页上所标识的控件以标识所述描述性关键字;以及 在所述远程计算设备上接收程序代码执行的结果。
8.如权利要求7所述的介质,其特征在于,所述网页上的所述控件包括以下各项中一 个或多个接收用户输入的文本的文本框; 下拉列表; 无线按键; 复选框;或 以上的组合。
9.如权利要求1所述的介质,其特征在于,所述广告数据包括与所述特定关键字上下 文相关的信息。
10.如权利要求1所述的介质,其特征在于,所述广告数据包括以下各项中的一个或多个在所述广告单元中呈现在与所述特定关键字上下文相关的信息; 示出先前隐藏的广告单元;或 隐藏先前可见的广告单元。
11.如权利要求1所述的介质,其特征在于,所述刷新包括刷新所述一个或多个所标识 的广告单元,而不会遮蔽所述网页的任何当前内容。
12.如权利要求11所述的介质,其特征在于,所述刷新包括刷新所述一个或多个所标 识的广告单元,而不会打乱所述网页的布局。
13.一种用于基于用户与网页的交互呈现广告的方法,所述方法包括确定1212描述所述网页114的程序代码1M/U8在于显示设备112上进行呈现之前 将被动态地修改;标识1214与所述网页相关联的远程存储的补充信息146,所述补充信息包括以下各项中的一个或多个,(1)在所述网页上将作为关键字的词语的列表,哪些关键字将与同所述关键字有关的 一个或多个描述性项目相关联,在再现所述网页之后能生成哪些描述性项目;(2)触发事件的列表,所述触发事件与所述网页的对象相关联以使得如果以预定方式 与所述对象中的一对象交互,则一动作将跟随,以及(3)随着所述触发事件的一个或多个的发生而发生的动作的列表;根据所述补充信息动态地修改1216所述网页的所述程序代码128/124 ;接收1218发生特定事件触发的指示;收集1220与所述事件触发的所述发生相关联的描述性词语;将所述描述性词语传达1222给基于所述描述性词语返回广告内容的远程计算设备 138/140 ;接收12 所述广告内容150 ;以及在不会遮蔽所述网页的初始内容116的情况下,基于所述广告内容呈现12 信息。
14.如权利要求13所述的方法,其特征在于,动态地修改所述网页的所述程序代码包 括动态地修改所述网页的初始文档对象模型(DOM),这产生描述所述网页的经修改版本的 经修改的D0M,由此导致经修改的网页。
15.如权利要求14所述的方法,其特征在于,经修改的DOM是由利用动态超文本标记语 言(DHTML)的脚本产生的。
16.如权利要求13所述的方法,其特征在于,接收发生特定触发事件的所述指示包括 调用与所述触发事件相关联的脚本事件处理程序。
17.如权利要求16所述的方法,其特征在于,所述脚本事件处理程序是JavMcript事 件处理程序。
18.如权利要求13所述的方法,其特征在于,收集所述描述性词语包括收集描述性词 语,所述描述性词语是从以下各项中的一个或多个生成的参考所述对象中的一个或多个以接收静态或动态生成的描述性词语的客户端侧脚本, 所述静态或动态生成的描述性词语包括用户提供的描述性词语;或者生成所述描述性项目的服务器侧脚本。
19.一种用于基于用户与网页的交互呈现广告的系统110,所述系统包括广告递送组件138/140,其至少部分地基于包括一个或多个描述性词语622的请求148 递送广告数据150;以及在一个或多个存储器组件中存储可下载脚本136的第一计算设备138,所述可下载脚 本136在远程计算设备112上执行时执行一进程,所述进程包括(1)解析所述网页114,所述网页114参考所述脚本136以标识触发对象、事件触发和 动作中的一个或多个,其中a)触发对象是能与用户交互的所述网页114中能导致触发事件的对象;b)触发事件是发起动作的事件;以及c)动作是随着一个或多个触发事件的发生而将执行的一个或多个步骤;(2)随着触发事件的发生,将描述性词语622传达给所述广告递送组件138/140;(3)从所述广告递送组件接收广告内容150;以及(4)在不会修改所述网页114的布局116的情况下,与所述广告内容150相一致地呈现广告信息。
20.如权利要求19所述的系统,其特征在于,所述解析包括解析定义所述网页的源代 码,以搜索由标识触发对象、事件触发和动作中的一个或多个的标记语言定义的特定标签。
全文摘要
本发明的实施例提供了用于基于用户与网页的交互呈现广告(或其他信息)的方法、系统和介质。该方法的一个实施例包括确定描述该网页的程序代码在于显示设备上进行呈现之前将被动态地修改。该方法还包括标识与该网页相关联的远程存储的补充信息(例如,关键字列表)。可以在再现该网页之前或之后生成描述性项目(与关键字相关联)。步骤可以另外地包括根据补充信息修改网页的程序代码、观察触发事件、收集与该事件触发的发生相关联的描述性词语、传达适当的描述性词语以返回新鲜的广告内容,并且不会遮蔽该网页的初始内容、基于该广告内容呈现信息。
文档编号G06Q30/00GK102067161SQ200980123543
公开日2011年5月18日 申请日期2009年4月21日 优先权日2008年6月18日
发明者A·Y·西尼亚金, M·S·卢瑟 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1