选择性地保护网络浏览器上广告显示的方法与系统的制作方法

文档序号:6593565阅读:810来源:国知局
专利名称:选择性地保护网络浏览器上广告显示的方法与系统的制作方法
技术领域
本发明总体上涉及数据处理,特别地涉及用于网络浏览的系统和方法。
背景技术
互联网上许多公司的商业模型主要依赖客户端网络浏览器上的广告显示。使得 能够拦截或跳过这些广告的解决方案的出现大大地危害了这种主流收益来源。广告代表了许多网站和公司的主要收益来源。在其中广告被大规模拒绝(甚至 是大公司的“目标明确的”、有效的或者信息性广告)的情况下,将不再有免费的内容 或者服务。目前,只有技术上最精通的用户知道这种广告拦截技术,但是将这种工具缺 省地集成到大量销售的网络浏览器中将导致其商业模型依赖于广告的公司的巨大损失。 因此,最重要的是能够找到一条途径来保护网络浏览器上广告的显示,并且避免在如今 数字网络及其相关联的日益发展的广告拦截能力中广告可能的死亡。实际上,随着广告 拦截技术(所谓的广告拦截器)的使用日益增多,完全远离广告似乎也是有可能的。广告是嵌入到网页中的文字区域、静止图像、动画图像或者甚至是视频。当广 告观众的成员(为了不丧失一般性,称为“观看者”或者“用户”)通过点击来选择这 些广告中的一个时,嵌入的超文本链接一般将观看者指引到广告商的网站(“点击通过 (click-through) ” 过程)。看起来,越来越多的消费者厌烦了侵入式的行销。尽管有些行业玩家试图平衡 “不恼人的”和“信息性的”广告,但消费者还是被灌满了高度使人分散注意力的广
告。实际上,很少有简单易读、非侵入式的文字广告。相反,广告常常是让用户感到太 具侵入性的flash或者动画gif标题(进入弹出式(pop-up)、关闭背投式(pop-under)等 广告有时候覆盖了期望的内容),而且闪动的图形使得很难阅读页面上其它地方的实际文 字;大多数时候所传递的广告是不合适的(所谓有目标性的广告常常失败);它们用杂讯 分散了读者的注意力。大多数时候,锚定用户目标隐含跟踪习惯并危害隐私。出于以上的所有原因,越来越多的用户使用所谓的广告拦截器。从用户的观点 看,广告拦截的好处包括更干净外观的网页、更低的资源使用率(带宽),而且页面的加 载据称也会加速(许多页面被设计成首先加载大量的广告)。本领域目前水平包括许多 使得可以跳过或者除去网络浏览器上的广告的广告拦截技术,例如纯文本浏览器、进入 弹出(或者关闭弹出)拦截器、广告服务器URL的黑名单、文字过滤工具(其基于关键 字,以阻止加载广告文件)、脚本拦截器、CSS规则的使用(以便隐藏特定的HTML和 XHTML元素),等等。并不单单涉及广告拦截技术。用于构建个性化网页的提取技术的使用、RSS的 使用和混搭(mashup)的使用也包括广告的跳过。个性化网页的使用使得可以提取精确 的内容区域并在个性化页面中聚集这些提取出的内容。然后,用户就不需要再次观看 原始页面,从而在有广告的情况下就跳过了广告。一种非常接近的技术依赖于加载整 个页面并且仅仅利用框架和/或<01乂>标签来显示它们,从而隐藏不想要的内容。这后一种可能性也呈现了缺陷,尽管内容没有显示给用户,但(就广告商的观点看),独 特访问者的个数没有改变。利用RSS馈送(RSS代表“简易联合机制(Really Simple Syndication)”),类似的机制操作。实际上,RSS馈送的出现深度改变了互联网的本 质,它不再是数据的存放,而是数据的流动。重要的是需要注意,根据这种RSS模型, 内容提供者不控制馈送,这意味着他们可以选择通过RSS馈送将什么内容提供给他们的 用户。同样,感谢新出现的机制,现在用户可以免费提取网络内容的部分,而无需任何 限制。换句话说,网络用户不再需要访问瓶颈页面(包含许多广告的主页或者入口)。 在这种环境下,内容提供者可能降低为原始数据的提供者,极少有机会使他们的商业获 利。例如,一种技术(有时候称为RSS生成器)使得可以从任何网页提取馈送。然而, 其它技术允许不仅收集RSS馈送,而且还组合它们(RSSRemixer工具使得可以过滤、搜 索、混合,等等)。已经尝试将有目标性的广告嵌入到联合馈送中(广告将在包含广告商 预先选择的关键字的RSS条目或者博客博文(blogpost)中提供),但(基于关键字的或者 涉及其它技术的)文字过滤也会挫败这种尝试。最后,所谓混搭的使用也对在线广告造 成了威胁。由于API(应用编程接口),应用程序本身也可以聚集。而且,特别地,广 告可以在内容重新混合的过程中被除去。在相反的方面(即,保护广告的显示),看起来很少有可用的技术性解决方案。 为了绕过URL黑名单,一种已知的方法在于URL地址混杂技术。因为可能的协作过 滤(就象基于窥视的反兜售技术)的反应性,所以这种解决方案不总是有效的。随机地 址的使用也造成限制(学习能力)。由于一些缺陷(例如在Gecko中),有些网站可以 访问SCRIPT和IMG标签中的chrome://地址,并检测安装在浏览器上的广告拦截附件 (add-on) 然后,它们可以拒绝为客户提供服务,但这些缺陷逐渐被修复,而且广告拦 截器实施针对这些缺陷的工作。除了这种普通的技术方法,只有非技术性的方法。例如,对许可行销方法进行 测试(实际上,用户可以指定广告,而不是广告指定用户),但这些方法对于大规模市场 的应用并不好。广告商或者其合作者也尝试基于用户剖析的其它方法来传递更好感知形 式的广告,但这会危害到隐私。如果不出现可靠的解决方案来保护广告的显示,广告格 式可能发展成这些视上下文的、交互的、基于许可的和指定目标的消息传送,以保持消 费者的注意力并帮助使激怒和“失谐”最小化。有少数内容或服务提供商也试图通过证 明这将会带走为用户提供内容和服务而辛勤工作的人的收益,来警告用户由于使用广告 拦截技术所带来的损害。有时,他们会要求用于访问其网站的特定许可协议。结果是, 这些(非技术性的)方法没有一种能有效地应对广告拦截技术和/或RSS馈送的使用和/ 或个性化网页的使用,并且最终不能保护收益流。迫切需要使得能够保护网络浏览器上的广告显示的方法,尤其需要标记文件阅 读器。

发明内容
根据本发明的一种实施方式,提供了根据所附独立权利要求1所述的一种保护 广告显示的方法。根据本发明的另一种实施方式,提供了根据所附独立权利要求11所述的一种保护广告显示的系统。概括地说,本发明的实施方式使用如下若干技术的有价值的组合来保护经解释 (interpret)或执行的标记文件中感兴趣的一个或多个特定区域的显示重写DOM树的技 术;图像生成和变更的使用,这平衡了图像识别和文本分析技术(例如OCR)的技术限 制;脚本语言代码的使用,这使得可以保存对于标记文件有些修改后的部分可能已经丢 失的用户交互。在许多优点当中,本发明的一个实施方式战胜了大多数现有的图像识别技术, 并战胜了大多数现有的语义或文本分析技术(这些技术有可能用来拦截或跳过广告)。 换句话说,本发明的实施方式使得可以保护广告的显示,因为它战胜了语义技术(对图 像是无效的)并充分利用了图像识别技术的限制(封装在较大图像中的广告是不可检测 的)。但也要强调,不仅仅涉及广告本发明的实施方式解决了其中一个或多个特定区 域(例如文本或图形)需要被保护(需要保存所显示数据的完整性)的每一种情形。这 将进一步详细讨论。本发明实施方式的另一个好处还在于其为网络浏览器避免执行任何恶意代码 (如果有的话)的能力。它实际上提供了对抗恶意软件的一种令人感兴趣的保护。如今 的互联网倍受危险,其中就有恶意软件代码。利用网络浏览器访问网页的用户会不经意 地执行恶意代码,从而危害到其本地机器(立即地或者在不久的将来)。一般的恶意代码 包括病毒、随后下载并安装按键记录器(keylogger)的木马(Trojan)、间谍软件(spyware) 等。然后,隐私和财务数据就处于危险当中,而且,如果没有远程用于非法目的的话, 硬件设备也会被物理损坏。使用实现所述方法的两层体系结构使得可以避免在浏览器侧 执行恶意代码(网络浏览器不再接收具有不可靠代码的标记页面,但接收修改后的标记 文件)。非常出乎意料的是,恶意软件(malware)和广告是绑定的由于商业关系的复 杂结构,恶意代码据称能通过在线广告大规模入侵(恶意内容入侵到合法的广告传递流 中)。本发明的实施方式保护广告的显示并同时避免恶意代码执行。保证网络浏览器不 执行任何恶意代码,同时保证内容提供商能保护其广告。这是一种双赢的操作,打开了 许多令人感兴趣的商业机会。总之,利用所公开的技术,包括潜在的恶意代码的标记文 件的部分可以被除去(不安全的标记文件可以被转换成更安全的标记文件)。本发明的实施方式还使得可以保存编码在原始标记文件中的用户交互。通过使 用适应性的脚本语言代码,用户交互实际上有可能对有些区域维持可行而对其它特定区 域禁止(不存在)。因为它对用户交互所提供的控制,所以这种变化是非常有价值的。 交互可以保持不变(例如,用户将仍然能够拷贝和粘贴内容)、部分改变或者完全除去。 这提供了更多的灵活性。另一个优点(如果使用两层体系结构的话)是它仅仅需要标准的浏览器。在客 户端,它不需要任何附加的插件、部件或者本地软件。在网络浏览器之上也不需要附加 的软件。因此,本公开内容是第一种不需要浏览器修改(未修改浏览器的使用)就能工 作的方法。它可以直接在如今的浏览器中使用,因此应用可以是立即的。还有另一个优点是它使得可以有快速且低成本的互联网访问。它为网络浏览 器减少了进入标记文件的负担和复杂性(它减少了代码元素中所包含的可能的缺陷或错 误)。如今,许多设备(移动电话、台式PC,等等)具有有限的CPU容量。因为(除了没有恶意的脚本语言代码之外)修改后的标记文件大多数包含图像文件,所以运行在 所述设备上的浏览器或者阅读器几乎只需要能够显示图像。因此,它使得具有有限的计 算和存储器资源的移动设备能够远程浏览。根据本发明的一种实施方式,最后提供了根据所附权利要求9所述的计算机程 序和根据所附权利要求10所述的计算机可读介质。优选实施方式在所附从属权利要求中限定。通过考察附图和具体描述,本发明的更多优点对于技术人员将变得清楚。任何 附加的优点都要结合在其中。


现在将参考以下附图描述本发明的实施方式,附图中图1示出了标记文件的可显示元素和脚本语言代码;图2示出了标记文件和与其关联的DOM树;图3提供了 DOM树和与其关联的节点的表示;图4示出了对DOM树进行的第一种修改的例子;图5示出了对DOM树进行的第二种修改的例子;图6说明了各种子图像生成模式;图7说明了可选的两层体系结构;图8示出了代理服务器上的操作;
图9说明了体系结构选项。
具体实施例方式为了方便描述,标识一个图中元素的任何标号在任何其它图中都表示相同的元素。以下文本在广告拦截的环境下给出了具体实施例,但是应当理解,不是要限定 到这种特定的领域,而且它可以同等地扩展到例如计算机安全(恶意代码除去、反搜找 (anti-crawling)工具,等等)、互联网访问、内容个性化与编辑、数据转换、软件服务化 传递、数字权限管理、可信计算等领域。作为定义,“DOM”表述应当理解为用以指文档的逻辑结构的方式。因此, 所述表述可以由例如“逻辑结构”或者“层次结构”或者“结构”的表述来代替。例 如,“DOM树”可以理解为“逻辑结构的树”。为了简明与清晰,使用例如“DOM” 和“DOM树”的表述。图1示出了标记文件的可显示元素和脚本语言代码。现在参考图1,该图示出了根据本公开内容将被修改和使用的对象。该图示出了包括一组可显示元素(110)和脚本语言代码(120)的标记文件 (100)。标记文件(100)通常是二进制文件,但它可以格式化的本质存在。它通常是经 网络发送和/或在存储器中本地检索的;它可以完全或部分地在本地生成。在优选实施 例中,标记文件(100)是HTML或PHP或XML文件。网页实际上包括(可显示的)内容和指令或嵌入的信息(例如元信息、超链接地址、Javascript)。根据某些实施例,对可显示元素(110)的确定可以相对地或者绝对地考虑。当 从阅读器的解释得出时,该确定可以说是相对的。例如,HTML标记文件的一组可显示 元素将通过在网络浏览器(或者网络浏览器实例器)中加载和解释所述标记文件来确定。 尽管在市场上所存在的网络浏览器所执行的不同解释之间存在趋同性,但是可以看到, 不同的网络浏览器可能导致不同的解释(并因此导致不同的可显示元素组)。就此而言, 解释被认为是相对的。另一种方法将网络浏览器的不同行为集成到共同的呈现(render) 模型(绝对解释)中。简而言之,这些可显示元素全部都是将到达用户眼睛或者对这种 最终显示有用的元素。因此,可显示元素(110)可以是例如图像、视频区域和文本区域 的元素。“可显示元素”表述旨在覆盖将最终被用户看到的元素。因此,它涵盖了包括 可能的进一步操作(例如过滤或掩饰)的情况,这进一步的操作可能在由所述方法执行的 操作之后发生。根据某种实施例,关于脚本语言代码(120),可以看到表述“脚本语言代码”指 示标记文件(100)中所包含的所有软件代码的指令或行。具体地说,它包括形成由机器 籍由/用于解释所述标记文件而可理解的指令的所有字符集。换句话说,它包括不旨在 被标记文件的最终用户或观看者直接看到的所有数据(例如脚本或者元数据);但是,此 外,它还包括间接地对可显示元素的显示有用的所有数据(例如<DIV>HTML标签)。脚 本语言代码(120)常常封装在标记文件中(或者可以与其关联并进一步检索)。代码元素 通常封装在标记文件中,但不总是这样。实际上,现代的编程技术(例如Ajax)可以使用 对代码程序的动态检索。因此,在有些情况下,可能有必要检索与最初封装在标记文件 中的代码元素集动态关联的代码元素块。例如,浏览器中的用户动作可能暗示对标记文 件的进一步修改(通过从服务器检索新指令,或者通过访问本地资源;例如通过为XML 文件定义包括外部文件的全部或部分的能力的“Xinclude”)。为此,有必要首先解释标 记文件。解析标记文件还使得能够得到DOM树,该DOM树将根据本发明的实施例被操 纵和修改。这后一点在下一部分中讨论。现在参考图2,图2示出了解释后的标记文件(200)、可显示元素(201)、DOM 树(210)和DOM树的特定节点(211)。所谓的DOM (文档对象模型)是将元素(例如,XML或者HTML)称为对象的一 种方式。它是用于表示HTML或XML和相关格式的一种独立于平台和独立于语言的标准 对象模型。特别地,文档对象模型是JavaScript看待包含HTML页面的方式。DOM定义 文档的逻辑结构和文档被访问和操纵的方式。因此,文档的逻辑结构由于所谓的DOM树 而被定义。DOM树的部分称为节点。换句话说,DOM将文档作为树结构(节点树)给 出,将元素、属性和文本都定义为节点。于是,DOM树可以看作是节点的集合,每个节 点与标记文件的语言脚本文件的子集相对应(一个节点可以包括或者对应于脚本/程序、 脚本/程序的片段或者包括如图像的可显示元素的任何其它对象)。节点树将XML文档 示出为一组节点和它们之间的连接。根据DOM,XML文档中的每件事物都是节点。整 个文档是文档节点。每个XML元素是元素节点。XML元素中的文本是文本节点。每 个属性是属性节点。注释是注释节点。为了得到标记文件的DOM树,需要标记文件解析器。实际上,解析器将文档加载到计算机的存储器中。一旦加载了文档,文档的数据就可以利用DOM来操纵,DOM 将XML文档看作树。在Microsoft的XML解析器(COM部件)和Mozilla浏览器中所使 用的XML解析器之间有些不同,但所描述的方法和系统应用到所有浏览器和解析器。标记文件(200)包括可显示元素(201)。DOM树(210)是标记文件(200)的 DOM树。DOM树(210)包括一组节点。DOM树(210)的特定节点(211)对应于标记 文件(200)的可显示元素(201)。在图2中,标记文件(200)被例示为网页。可显示元素(201)被例示为广告图 像。如图2所例示的,DOM树(210)包括多个(父和子)节点。特定节点(211)包含 <IMG>标签。它所指代的图像是广告图像。应当强调的是,图2只提供了一个例子。DOM树和关联的标记文件可以复杂得 多。对应于节点的可显示元素可以是诸如静止图像、动画图像、Flash或Shockwave对 象、视频对象、文本区域等的元素。现在参考图3a和3b。图3a是包括多个可显示元素的标记文件的例子的表示, 其中多个可显示元素对应于DOM树节点。图3b是对应于所考虑的标记文件的DOM树 的表示(接着在前面图2中开发的例子)。在DOM树中,顶节点称为根。除根之外的每个节点都只有一个父节点。一个 节点可以有任何个数的子节点。叶是没有子节点的节点。兄弟节点是具有相同父节点的 节点。每个节点都有名称、值和类型(元素、属性、文本、注释、文档)。从给定的节 点,有可能得到其它相关的节点(子节点(childNodes)、父节点(parentNode)、第一个子 节点(firstChild)、最后一个子节点(lastChild)、下一个兄弟节点(nextSibling)、前一个兄 弟节‘点(previousSibling))。在图3a和3b所开发的例子中,节点(3000)是根节点。节点(3100、3200、 3300、3400)是根节点(3000)的子节点。节点(3310、3320)是节点(3300)的子节点。 节点(3321、3322)是节点(3320)的子节点。节点(3100、3200、3300、3400)是兄弟节 点。节点(3310、3320)是兄弟节点。节点(3321、3322)是兄弟节点。如图2所例示的,特定节点(3321)包括广告图像。应当强调的是,所提出的图 只提供了一个例子。可以有多个其显示要被保护的区域。这些区域可以位于所解释的标 记文件的任何位置。现在参考图4a和4b,图4a和4b示出了前面图3的元素,通过应用所公开的方 法和系统进行了修改。解析器(见图1的说明)支持遍历节点树、访问节点与其属性值、插入和删除节 点及将节点树转换回XML的所有必需的功能。有可能获得、设置、除去、代替、创建、 添加和克隆节点。DOM允许任意修改。程序员可以构建文档,导航它们的结构,并添 加、修改或删除元素和内容。本发明的实施例使用这种机制,以便保护所解释或执行的 标记文件的感兴趣的特定区域的显示。根据本发明,公开了一种修改包括一个或多个可显示元素的经解释标记文件的 DOM树的方法;所述方法包括如下步骤定义所述经解释的标记文件的特定显示区域; 获得所述经解释的标记文件的DOM树,所述DOM树包括至少一个父节点和多个子节 点;每个节点与至少一个所述可显示元素相关联;在DOM树中识别其可显示元素包括至少一部分所述特定显示区域的一组所述子节点;在DOM树中识别包括所述一组子节点 的第一父节点;将与所述识别出的第一父节点相关联的所有可显示元素转换成主图像; 生成包括所述主图像的第二父节点;通过删除所述识别出的一组子节点并通过用第二父 节点代替所识别出的第一父节点,将DOM树修改成经修改的DOM树。对DOM树或节点的操纵旨在覆盖诸如获得、检索、插入、替代、删除、附加、 除去、规格化、创建、克隆、读取、使能、禁用、点击、选择、清除、占据(populate)、 传播、交换等的动作或命令。操纵节点可能是棘手的,因为它可能构建无效的树结构 (可选的验证工具或步骤),但是通过直接作用于文档树,获得了速度和效率。在图3所开发的例子中,定义了经解释的标记文件的特定显示区域包含广告 图像的节点(3321) (<IMG>节点)。在D0M树中识别出其可显示元素包括所述特定显示 区域的一组子节点这组子节点(3320、3300)包含该广告图像。在D0M树中识别出包 括所述一组子节点的至少一个节点的第一父节点节点(3320)(应当指出,节点3320是 节点3321和3322的父节点,而节点3320还是节点3300的子节点)。与识别出的第一父 节点(3320)相关联的可显示元素被转换成(主)图像。生成包括所述(主)图像的第二 父节点(4000)。然后,相应地修改D0M树子节点(3321、3322和3320)被删除并被 所生成的第二父节点(4000)替代。诸如“replaceChildO” (和 / 或 “nodeValue” 属性和 / 或 “replaceDataO ” 和 /或“setAttributeO”等)的方法可以用于在节点中检索、替代或附加数据(或者修改整 个节点)。这种方法提出许多参数,使得有更多灵活性,使得可以用新的<Y>元素替代 第一 <X>元素。所生成的图像捕捉什么显示给了用户。这可以利用几种技术实现,例如通过访 问视频缓冲器(大多数时候,操作系统本身就提供这种特征),或者通过由浏览器/解析 器或者甚至是由Java API提供的功能(例如,类别JEditorPane和Swing HTML包扩展)。DOM图像对象表示嵌入的图像。对于HTML文档中<IMG>标签的每个实 例,都创建图像对象。图像对象的属性是align(设置或者返回如何根据周围的文字对 准图像)、alt(如果浏览器不能显示图像的话,则设置或者返回要显示的可选文本)、 border(设置或者返回图像周围的边界)、complete(返回浏览器是否已经完成加载图 像)、height(设置或者返回图像的高度)、hspace(设置或者返回图像左侧和右侧商的空 白空间)、id(设置或者返回图像的id)、isMap(返回图像是否是服务器侧的图像映射)、 long Desc (设置或者返回到包含该图像描述的文档的URL)、lowsrc (设置或者返回到图像 的低分辨率版本的URL)、name(设置或者返回图像的名称)、src(设置或者返回图像的 URL)、usemap(设置或者返回客户端图像映射的usemap属性的值)、vspace(设置或者 返回图像上部和下部上的空白空间)、width(设置或者返回图像的宽度)。如图4b中所例示的,除了节点(3300)的子节点(3310)和节点(3300)的新子节 点(4000)之外,修改后的DOM树现在包含兄弟节点(3100、3200、3300、3400)。随后 将讨论进一步的图像处理步骤。现在参考图5a和5b,该图5a和5b示出了通过应用所公开方法而带来的进一步 修改。这次,生成新节点(5000)。图5a示出了节点(5000)包含捕捉到节点(3300)的 内容(即前面图4a和4b中节点(4000)和(3310)的内容)的(主)图像。图5b示出了对DOM树的对应重写。在所提出的例子中,对应于图5a中节点(3300)的(主)图像的表面显著优于对 应于图4a中节点(3320)的先例图像的表面。现在讨论这种扩展的效果。首先,在图5b 的大得多的表面上绘制对应于节点(3321)的广告图像的可理解数据图像匹配技术将有 可能失败(见下一部分的解释);其次,节点(3300)中可能的恶意代码被除去了并且被 无害的静止图像替代;第三,编码在所考虑的节点中的用户交互被除去了(关于图8的部 分将描述如何和为什么要保存交互)。可以看到,DOM树的总体层次结构暗示了关于标记文件的“图像冻结”方面的 约束所述“冻结”可以只垂直和/或水平地传播。(俄罗斯套娃中的)结构可以是非 常复杂的并且可以涉及大量节点。在所提出的例子中,节点(3300)和(3400)可以收集 到更大的图像中;或者三个节点(3100)、(3200)和(3300)收集到单个图像中;或者甚 至整个根节点(3000)同样收集到单个图像中。现在参考图6,该图例示了各种可选的图像生成模式。图6a、6b和6c示出了节 点(3300)和图像(600、610、620、630、6400、6401、6402、…、6265)。图6a例示了根据特定实施例的其中生成单个图像(600)(以虚线表示)的情况。 单个(主)图像(600)表示包括其子节点的节点(3300)的可显示元素的全体;关于所考 虑的节点,它可以看作是“背景”图像。图6b例示了根据其它实施例的其中可显示元素被转换成多个子图像(610、 611、612)的情况。换句话说,图像(600)可以进一步分成多个子图像(从原始获得的
“图像映射”)。应当强调,获得不对应于(或者复制)可显示元素的原始布置的子图像 的部署可能是有价值的。换句话说,图像生成的现有模式可以得益于不复制底层的DOM 树结构(通过具有与标记文件可显示元素的表观显示结构的不协调图像映射)。这加强了 所提出的方法与系统对抗广告拦截(或过滤)技术的鲁棒性。如可以从图6b看到的,图 像(610、620、630)不对应于DOM树的底层结构。图6c例示了另一实施例,其中可显示元素被转换成非常多子图像(620、621、 622、623、...),最终涉及随机(不断改变和复杂的映射)且为相邻或叠置的图像。子图 像之间的交叠实际上是可能的而且甚至是希望的。根据某些实施例,通过诸如卷积运算、形态运算、几何运算、直方图运算、a 合成运算等的运算,图像(600)或者任何一个所生成的子图像(610、611、620、621、 622、...)可以被进一步修改或改变。战胜文本分析工具(语义、OCR等)及图像识别工 具(模式匹配、边缘点等)是本发明的一个优点。例如,每个所生成的图像或者子图像 都可以修剪、模糊、以稀有格式编码、变换成黑白图像、变形等。噪声也可以添加到图 像或者子图像中。应当强调,对从标记文件的可显示元素导出的图像或子图像进行的所 述操作(例如,调整大小、划分、分离、分区、收集、分组、变形、加噪声、离散化、 重新采样、混杂、灰度调整等)可以许多种方式组合,所述操作旨在加强所提出的机制 对抗可能的广告拦截技术的鲁棒性。特别地,根据某些实施例,以上操作可以应用到可 显示元素的全体或者只选择性地应用到这些可显示元素的子集。而且,已经在最终用户 的可读性与分析和拦截所得图像和/或子图像的更大难度之间找到了折衷。可读性计分 系统可以帮助执行这些操作。
在图6a上,节点(3300)的元素被呈现成以虚线例示的图像(600)。根据本发明 的一种特定可选实施例,图6b和6c例示了各种子图像生成模式。实际上,标记文件的 可显示元素可以以多种方式转换成一个(图6a)或多个图像,S卩,子图像(图6b和6c)。 需要强调的是,在优选实施例中,生成单个图像(600;图6a)足以在快速容易实现的同 时保护广告的显示。根据其它实施例,生成多个图像(子图像)。这不是强制的,它只 是加强了该方法和系统的鲁棒性。对于战胜文本或图像识别系统,这种可选的划分实际 上可以是很有价值的。为此,一个或多个子图像也可以例如通过诸如变形、灰度调整、 重新编码、调整大小、加噪声、离散化、重新采样或者混杂的操作来变更。图像变更可 以随机地或者由规则判决或判决逻辑(硬件或软件实现)来驱动。执行这种变更的判决 逻辑将得益于建立客户浏览器简档的数据库、测试市场上可以获得的广告拦截器集合、 获得关于带宽和服务约束的统计等。分级机制(广告传递的成功、统计等)也可以(实 时地或者非实时地)实现。网页的重新格式化将是可变的,而不是恒定的每个页面都 可以在提供之前被重新设计。现在讨论这种图像生成的某些优点。这种图像生成过程的突出优点是它允许保 护对标记文件中所包含的广告的显示。实际上,它战胜了所谓广告拦截器所使用的所有 技术,其中包括文本分析技术和图像识别技术。因为包含文本的可显示元素已经被呈现 为图像,因此没有语义或文本过滤工具随后能执行任何分析。这些工具可理解的数据已 经被简单地抹去了。尽管如此,还有人尝试执行OCR分析(分析图像,以提取所包含的 文本),但这些工具对图像的质量非常敏感而且消耗大量的计算资源。适应性的图像修改 将容易地战胜这种可能性(通过添加噪声或者通过将图像稍微变形,在用户的可读性和 增加OCR或其它分析工具的复杂性之间寻找折衷)。按照图像识别技术,它们处于非常 早的阶段。有人尝试隔离图像区域和文本区域,然后应用图像匹配技术(即,将所隔离 的图像与已知的广告图像的数据库进行比较,以决定所述隔离的图像是否是广告图像)。 看起来就算不是不可能,也很难检测包含在另一个更大图像中的广告图像。与整个表面 相比,广告图像的表面越大,图像识别(或匹配)执行得越差。110%图像中所包含的广 告将比400%图像中所包含的图像更容易被检测和识别(识别显著地落在平均25%的阈值 之内)。甚至先进的图像识别技术,就象所谓的模式匹配技术(旨在通过使用边缘点检测 和其它技术来自动地隔离图像中感兴趣的对象)实践中也会失败。就象文本分析技术的 使用,这些图像识别技术对CPU和存储器太敏感,因此不能在实时或密集的环境下提供 好的解决方案。相同的分析可以用于在电影中产生放置(许多年内将不可能检测并删除 电影中的商标)。在图6a和6b中,优点源自难以隔离类似的区域和因此导致的难以执行有效的图 像识别技术。在图6c中,优点来自难以搜集足够的图像执行图像识别技术和文本/光学 字符识别分析。因此,将可显示元素呈现成一个或多个图像带来了许多优点。依赖于适当的智 能映射,针对广告拦截技术的系统的鲁棒性可以优化,而且可以极大地保护对广告的显 示。给定一个或多个要保护的区域,将选择一个或另一个图像生成模式。换句话说,已 知要放置广告的区域(例如,根据由广告商提供的数据),则有可能优化图像映射,使得 图像识别技术给出最低可能的性能。由于广告商可以为附加服务付费(例如,确切地说是为保护它们特定广告的显示),因此这种特征允许令人感兴趣的商业模型。它还使得能 够优先化对图像文件的显示(根据显示优先级的顺序发送图像;例如,可以首先显示所 生成的包含广告的图像文件;这种特征在考虑带宽参数的时候是有用的,等等)。最后,提供了另一种通过变形、灰度调整、重新编码、调整大小、加噪声、离 散化、重新采样或者混杂来变更一个或多个图像的技术。现在参考图7,该图示出了本发明实施例的原理。根据某种实施例,该图示出了网络服务器(700)、代理服务器(710)和网络浏览 器(730)。该图示出了一个例子,其中网络浏览器(730)的查询在步骤(701)处被代理服务 器(710)接收(或者解释,见图7)。在步骤(702),代理服务器(710)通过网络(未示 出)将查询发送到网络服务器(700)。在步骤(703),响应于该查询(702),网络服务器 通过网络(未示出)发送标记文件。代理接收标记文件并根据本发明的所述实施例对标 记文件进行一系列操作,最终在在步骤(704)通过网络(未示出)将修改后的标记文件发 送到浏览器(730)。网络浏览器(730)解释修改后的标记文件。图7仅仅是作为例子提供的。许多选项和可选方案将进一步讨论。特别地, 可以涉及利用不同协议的一个或多个网络,其可以随时间改变并且可以是本质上不同的 (RTC、ADSL、Fiber、Tl、Wimax、UMTS、Wifi 等)。图8示出了代理上的操作。现在参考图8。根据某种实施例,该图示出了浏览器实例器(800)、图像文件生 成器(810)、DOM生成器(820)和标记文件构建器(830)。根据某些实施例,由网络服务器(700)提供的标记文件被浏览器实例器(800)接 收。浏览器实例器(800)解释标记文件,S卩,在阅读器或浏览器中执行标记文件。在解 析之后,DOM生成器(820)构造该标记文件的DOM树。DOM生成器(820)适于操纵 和/或修改DOM树(通过诸如节点删除、节点替代等的操作)。DOM生成器(820)与 图像文件生成器(810)交互,其中图像文件生成器(810)适于呈现来自标记文件DOM树 的一个或多个节点的一个或多个图像(子图像)。换句话说,图像文件生成器与DOM生 成器(820)交互,其中DOM生成器(820)输出修改后的DOM树(即,脚本语言代码; HTML、PHP、XML代码或数据)。根据某些实施例,标记文件构建器(830)随后根据DOM生成器(820)的修改后 的DOM树和图像文件生成器(810)生成的图像(或者子图像的集合)构造修改后的标 记文件,带有附加的脚本语言代码。所述脚本语言代码适于使得其上执行该代码的用户 终端发送定义用户控制光标的位置的坐标信息。此外,脚本语言代码还可以进一步修改 成,使得其上执行该代码的用户终端发送定义用户控制光标的点击动作的动作信息。脚 本语言代码还编码已经生成的图像的相关位置(如果呈现了多个子图像的话)。然后,修改后的标记文件被网络浏览器(720)接收并解释。响应于用户的指向 器动作,浏览器实例器(800)复制用户的动作。换句话说,浏览器实例器(800)模拟在 对应的浏览实例或会话中在给定坐标处的用户控制动作(点击)。最后,浏览器实例器 (800)查询网络服务器(700),且过程相应地继续用以交互地浏览互联网。根据某种实施例,尽管网络服务器(700)所提供的原始标记文件包含一组可显
12示元素并对应于原始的DOM树,但由代理服务器(710)输出的修改后的标记文件包含由 图像文件生成器(810)生成的一个附加图像(或者多个附加的图像)、由标记文件构建器 (830)生成的一个新(且简易的(light))脚本语言代码。修改后的标记文件还具有新的数 据结构,因为它已经根据修改后的DOM树重新构造了。根据某些实施例,关于由标记文件构建器(830)生成的脚本语言代码,进一步 看到它可以修改成使得其上执行该代码的用户终端持续地(为了预取,即,预期标记文 件中所给出的链接中所指的标记文件的请求,以加速响应时间)或者周期性地(通过刷新 机制)发送所述坐标信息。可以想起,已经生成的图像文件的相对位置构成了由标记文 件构造器(830)所生成的脚本语言代码的一部分。根据某些实施例,关于光标坐标和/ 或动作(点击)的信息可以关于任何一个所生成的图像或者在修改后的标记文件中以绝对 坐标定义。根据其它实施例,由标记文件构建器(830)所生成的脚本语言代码可以进一 步修改成对图像文件生成器(810)生成的图像的子集或者甚至对单个图像(子图像)的子 区域发送坐标和点击;换句话说,用户交互性有可能对有些区域维持,而对其它特定区 域禁止(不存在)。这种变化是非常有价值的,因为它对用户交互提供了控制。按照图像的生成,如进一步参考图6所描述的,根据某种实施例,公开了运行 在网络浏览器中的实例和运行在浏览器实例器中的实例之间的一种类型的镜像。这种镜 像使得有进一步的可能性。在标记文件是HTTP标记文件的情况下,当执行HTML请求 时,关于浏览器本身的信息被发送(类型、颜色、分辨率…)。通常,这种类型的指纹被 发送一次,但是,这种信息可以定期检索。因此利用(java) script代码,有可能分析页面 的分辨率并(通过调整图像的大小)相应地呈现图像文件。根据某些实施例,由本发明实 施例所生成的图像可以是与原始标记文件的那些可显示元素相同大小。但是,根据其它 实施例,依赖于目标阅读器或者浏览器的显示区域,它们也可以更大或者更小。在图像 文件大于目标阅读器或者浏览器的显示区域的情况下,所述目标阅读器或者浏览器将使 用标准的滚动选项来显示原始标记文件的完整图像。最后,根据其它实施例,cookie的 使用对于存储用户控制的坐标、存储关于网络浏览器的信息(类型、颜色、分辨率…)、 设置自动刷新机制等是有价值的。根据某些实施例,依赖于网络浏览器,标记文件的可显示元素的图像呈现可以 稍微不同。原理上,HTML是标准的,因此最终HTML页面的呈现在市场上可以获得的 浏览器中是一致的。但在实践当中,在由不同网络浏览器所执行的不同呈现之间可能存 在差异。所公开的操作可以致力于考虑这些差异。现在参考图9,该图考虑体系结构选项和可选方案。本公开内容示出了优选的两层体系结构,其中代理服务器执行本发明特定实施 例的步骤(DOM树修改与图像生成)。但是所提出的机制的实现可以根据以下将进一步 讨论的多得多的可能性来执行。需要关于代理和浏览器经济性的介绍性考虑。浏览器可以广泛地理解为“阅 读器”。浏览器设计成将标记文件呈现成可对用户显示的元素并执行代码元素。实际 上,网络浏览器是安装在台式计算机或者移动设备上并且适于执行脚本程序(大部分是 JavaScript),解析并显示网页的软件程序。从技术和法律的角度看,有些网络浏览器是开 放源(象Firefox),而其它是专属的(互联网)。开放源与专属之间的区别是很重要的,因此专属软件使得可以控制软件代码的开发,开放源软件的情况就不是这样。例如,专 属媒体播放器可以禁止快进,由此强迫用户观看视频广告(通常位于视频文件的开始)。 而对于开放源软件(即,可以访问和修改的软件代码),这是不可能的,因为软件代码可 以被改变成使得跳过广告。更一般地说,这对于任何DRM(数字权限管理)系统都是成 立的,其中DRM系统必然需要至少一部分封闭的软件代码(与任何人都可以获得的开放 源代码相反,它受到秘密保护)。理论上说,专属浏览器将能够选择性地使能广告拦截 (无特定的附件可用,等等)。开放源网络浏览器的情况更加简单,因为叉(fork)可以在 任何时间出现,从而允许这种特定的附件。广告拦截经济性的另一个重要方面是商业利 益。众所周知的开放源浏览器主要是由大广告公司提供资金的(因此没有什么动机和兴 趣在它的浏览器上启用广告拦截器的缺省集成)。但是,叉(所述开放源浏览器的修改后 的发布)可以在任何时候出现。根据其自己的兴趣或者合同,专属网络浏览器有可能选 择性地启用有些广告而禁用其它广告。例如,对于Microsoft Internet Explorer,技术上有 可能拦截Google Adwords 并只允许它自己平台的广告。出于所有这些原因,执行本发 明实施例的步骤的代理服务器的使用是非常有价值的(但不是强制的)。图9示出了各种配置下的网络服务器(700)、代理服务器(710)和网络浏览器 (720)。逻辑上讲,代理服务器(710)位于网络服务器(700)和网络浏览器之间。物理 上讲,代理服务器(710)和网络浏览器(700)可以运行在相同的物理机器上,如图9a中所 示出的。但是利用运行网络浏览器(720)本身的本地机器上的虚拟机器不总是可能的, 而且图9b示出了其中代理服务器(710)和网络服务器(700)运行在相同物理机器上的情 况。图9c示出了其中网络服务器(700)、代理服务器(710)和网络浏览器(720)运行在 三个不同的物理机器上的最后一种情况。代理通常是硬件实现的,但它也可以是软件实现的。因此,本发明实施例的步 骤可以部分地在网络浏览器(720)上实现,部分地在代理服务器(710)上实现,部分地在 网络服务器(700)上实现(或者其组合)。根据某些实施例,由于代理服务器将看到网络服务器上的所有查询(网络浏览 器的账号、密码和所访问过的页面都将通过网络浏览器查询发送到代理服务器),因此高 度推荐代理由可信方来运行(除非使用OpenID或者其它匿名机制)。可以使用认证机制 (从强认证到简单的注册;散列值可以用于图像文件的传输)。因为网络服务器(内容提供者)的管理员和广告商之间的协议,所以图9a预期 是一种简单容易的实现。在优选实施例中,关于这种实现模式,网络浏览器没有什么内 容要讲(所执行的操作将是透明的,即,浏览器将仅仅接收修改后的标记文件,而查询 将容易地被代理服务器截取)。这种配置的优点是网络浏览器有保证不执行任何恶意代 码,而内容提供者有保证保护其广告。这是一种打开许多令人感兴趣的商业机会的双赢 操作。图9b说明了根据某种实施例的另一种可能性。实现本发明实施例的程序可以以 比网络浏览器高的层次(例如,操作系统)执行。或者,它可以以插件或者附件的形式 实现。这种程序的执行或者存在甚至可能是例如网络服务器需要的(例如,不对不兼容 的浏览器提供)。浏览器可以同意所述步骤的存在或者不同意。例如,这种程序的存在 和执行(通过市场上的“广告安全”浏览器附件)可能是广告商所需的,以便允许网页的递送(在这种情况下,浏览器的用户例如可以同意安装这种附件)。根据某些实施例,它 还可以以恶意软件的形式实现,这种形式将不经浏览器用户的同意而执行所述步骤。根 据其它实施例,它还可以对应于在专属浏览器(用户对该浏览器几乎没有控制)中实现本 发明实施例。由于代理服务器可以充当例如恶意软件(中间者攻击,为了保护广告的显示, 最终违背浏览器的意愿或者不经过其同意),因此图9c说明了更复杂的情况。根据某些 实施例,这还说明了代理服务器通过网络可能的互利性,或者代理充当网络服务器的按 需资源并为网络浏览器提供对互联网的可靠访问。关于所提出的两层体系结构,可以阐明进一步的观察修改后的标记文件可以 (在有些情况下)排它地包含内容服务器的地址(外部网络服务器的URL,S卩,不实现所 述方法),而且,在这种情况下,当解释修改后的标记文件时,网络浏览器将直接查询这 些内容服务器(例如,HTTP GET请求)。这是开放的系统。例如,所述方法的这种用 途的场景对应于“按需”这种单发方式,以保护网页的显示。但是,修改后的标记文件 也可以排它地包括实现所述方法的代理的地址,而且,在这种情况下,所述代理将进一 步利用用以检索所请求的内容的地址翻译器进行修改。这是封闭的系统,强迫网络浏览 器只查询实现所述系统的代理。一旦网络浏览器查询了这种代理,它就被限制并且将只 能看到(通过本方法或者其它)重新设计过的内容。最后一种可能性是让修改后的标记 文件既包含内容服务器的地址(用于直接查询)又包含代理的地址(用于间接查询)。这 三种可能性依赖于要确定的策略(决定所述系统是封闭的还是开放的策略;或者决定它 以哪种程度部分开放或封闭的策略)。现在讨论可选实施例。乍一看,本发明的某些实施例可以看作不相关技术之间的配合图像生成技术 与DOM树修改机制。换句话说,除了图像生成处理机制外,本发明的实施例还结合了 DOM树修改机制。根据某种实施例,提供了一种(选择性地,另外)保护广告显示的系统。该系 统涉及网络服务器、代理服务器和客户端浏览器。响应于第一客户端浏览器查询,代理 服务器从网络服务器请求对应的标记文件;在接收到所述标记文件后,代理服务器就在 浏览器中解释所述标记文件,获得DOM树并将解释过的(执行过的)标记文件的一部分 变换成图形图像;然后,代理服务器根据修改后的DOM树构建包含所述图形图像的修改 后的标记文件(及可选的稍微重新设计的脚本语言代码,适于发送定义用户控制光标的 位置的坐标信息和所述用户控制光标的动作信息(例如,点击))。最后,客户端网络浏 览器显示并解释修改后的标记文件。根据本发明的特定实施例,在阅读器或者浏览器中解释(或者呈现)标记文件定 义(或者呈现)标记文件的可显示元素。解释过的标记文件可以整个地或者部分地“冻 结”到图像中。换句话说,有可能用其关联的图像来替代解释过的标记文件的某些区域 或者子部分,并通过/同时相应地修改标记文件的脚本语言代码在修改后的标记文件中 包括所述图像。原始的和修改后的标记文件在被解释(呈现)时看起来是完全一样的, 但是脚本语言代码将是大不相同的。修改后的标记文件实际上包含与已被呈现的图像相 关联的修改后的(和简化的)脚本语言代码。此外,所述图像可以被进一步变换(图像可以随机地或者不是随机地被划分,灰度调整,等等)。这种灵活的“冻结”是通过对 标记文件的DOM树的操纵实现的。假定解释过的标记文件的子部分要“冻结”,就分 析标记文件的DOM树。定义对应于这个子部分的子节点。然后,还定义包括这些子节 点的父节点。选择一个父节点,且将与这个父节点相对应的可显示元素集转换成图像。 所选的父节点被包括该图像的节点替代,由此保留被解释过的标记文件的布局不变。根据本发明的另一种实施例,公开了一种观看互联网内容的方法,来自远程代 理服务器响应于请求从互联网检索的网页的图像在远程代理服务器处被呈现,其中网页 包含文本和图形。 根据某些实施例,公开了一种鲁棒的代理互联网浏览方法,根据该方法,代理 服务器将表示要被浏览的站点的图像数据发送到用户机器上的标准网络浏览器用以进 行显示;利用运行在浏览器上的脚本捕捉鼠标命令。在优选实施例中,标记文件是HTML (超文本标记语言)或者PHP页面,但可以 看到可以预期更广泛的情况。实际上,本公开内容同等地适用于除万维网之外的其它环 境。因此,本发明的范围旨在覆盖电子通信的所有形式。通过定义,所公开的技术适用于任何类型的标记文件,不管是在什么环境下。 例如,在移动/无线环境下,该技术适用于WML页面。本发明覆盖了所有已知的标记语 言,例如 XHTML (良好形式的 XML)、DocBook、MathML> SVG、Open eBook、TEK XBA、SGML、XML及其它明确地设计为支持描述性标记语言的系统。可以看到,大 多数浏览器本质上支持除HTML之外的多种格式,而且可以通过插件的使用扩展成支持 更多。类似地,本公开内容可以应用到包括当前网络接口开发的许多技术;应用到包括 Java中的Applet的网页,其中由于有JVM(Java虚拟机),因此Applet可以在网页上执 行;应用到包括RIA(丰富互联网应用)的网页,其中RIA可以在AJAX(异步JavaScript 和XML)中开发和/或通过使用象Flash或者WPF/E的技术(需要经过修改的插件)。 最后,还可应用到现在使用RDA(丰富桌面应用)的网络接口,其中RDA需要虚拟机 (Eclipse RCP> NetBeans > Java Web Start> Mozilla XULRunner、Adobe AIR 或者 Microsoft SmartClient)或者与诸如 Flash/Flex/ActionScript 或者 HTML/JavaScript/CSS/AJAX 的技 术一起使用。应注意,XUL是基于W3C标准XML 1.0的XML语言。用XUL写的应 用是基于特征化为HTML 4.0的附加的W3C标准技术;级联类型表(CSS) 1和2 ;文档对 象模型(DOM)级 1 禾Π 2 ; JavaScript 1.5,包括 ECMA-262 第 3 版(ECMAscript) ; XML 1.0。根据某些实施例,所述方法不限制到纯网络环境;例如电子消息传送可以实现 本发明的实施例(电子邮件客户端接收许多广告,其中广告的有效显示是要受发送者保 护的)。电子邮件(电子消息)由于可以是HTML格式,因此也可以被覆盖。根据其它 实施例,本公开内容还应用到应用程序套件,而不仅仅是网络浏览器应用程序也可以 嵌入广告。例如,广告可以嵌入到pdf阅读器中(pdf是实际上的标准,而且,根据pdf 文件的上下文和内容,广告尤其可以适于最终用户)。根据范例SaaS/软件即服务,软 件通过互联网被递送而且任何软件应用都可以作为标记文件(HTML页面)出现。类似 地,游戏环境也越来越多地提供嵌入式广告。广告拦截技术可以在这些环境中出现,而 且本公开内容将使得能够保护广告的显示。根据某些实施例,本公开内容实际上针对所有阅读器(来自文档的内容可以在“内容呈现应用或者设备”上被呈现。内容呈现应用 的例子包括互联网浏览器(例如,Explorer或者Netscape)、媒体播放器(例如,MP3播 放器、Realnetworks流音频文件播放器,等等)、阅读器(例如,AdobeAcrobatpdNi^Ij 根据某些实施例,本公开内容对于保护所谓的混搭也是有价值的。混搭在用户 的浏览器中混合并合并来自多个内容提供者的内容(数据和代码),以提供高价值的网络 应用。利用很容易获得的客户端JavaScript库(和诸如AJAX的编程范例),网络应用 越来越依赖客户端(浏览器)上的可扩展脚本。混搭开发人员一般使用网络应用代理服 务器,其中代理服务器从不同的服务器获取内容并将其提供给混搭或者通过直接包括来 自不同源的代码。通过分离并收集内容,存在所包含或附加的广告被除去或者跳过的风 险。普通浏览器平台的本质安全模型允许内容被分离,即,广告被除去。通过使用所公 开的图像生成机制,有可能使内容不可分离(封装内容),并接着在这些混搭环境中保护 广告的显示。与这些图像生成技术相关联地,进一步的代码重写机制可以使用JavaScript 重写,其中JavaScript重写可以组合静态分析和动态代码重写(由于JavaScript的自修改本 质),操作在重写代理中执行。更一般地说,除了图像的生成以外,所描述的脚本语言代码重新设计机制还应 用到在可视化与编程之间可以进行区别的任何情形。通过类比捕捉或者视频缓冲器访 问,图像映射/生成将总是有可能的。接下来,本描述公开了一种可以在每次底层编程 代码可以被访问的时候应用的技术(由于它使得可以保护收入流,这将是更有可能的情 况)。如果代码元素(底层程序和指令)可以被访问(例如由于API),那么它们就可以 被修改(甚至是实时的),而且所提出的机制可以保护广告的显示。即使底层程序不能被 访问,它也可以被学习、模拟、预期、计算,等等。接下来,重新编程也可以实现(学 习的步骤已经添加到解决方案的当前范围)。现在讨论可选地可以与本发明实施例组合的先进特征。DOM检查工具是可以在市场上获得的。这种工具将大大得益于实现本发明的实 施例例如,根据本发明的实施例,Mozilla DOM Inspector的扩展可以允许直接地修改 并保存标记文件,即,通过将一个或多个节点的内容转换成一个或多个图像、修改DOM 树、并将所生成的图像直接包含到修改后的标记文件中。这种开发将允许用户在编辑操 作时(在图像中)“冻结”他们的文档的部分。在许多优点中,它将允许用户阻止其内 容的图像转换部分的搜找和索引(因为spider(搜寻)程序或者bot(重复执行)不分析图 像的像素)。它还允许禁止内容的最终观众的任何拷贝/粘贴操作(当标记文件被递送 时)。本发明实施例的另一种可能用途将包括修复包含错误的标记文件。如果(例如 在脚本中)检测到错误,则根据本发明实施例将包含错误的节点的内容转换为图像将使 得生成没有错误的标记文件。利用图像生成提供了许多令人感兴趣的机会,因为它暗示了对标记文件的可能 的能力控制。例如,对应于节点的图像已经被呈现,将有可能将所述图像放到安全的服 务器上并对所考虑图像的访问需要认证和或付费。然后,将有可能选择性地以更多的灵 活性保护给定文件的部分。根据事先授予用户或者机器的权限,类似的机制将实现对内容或者内容部分的有条件访问。除了图像生成,<usemap>标签的使用也是有价值的。usemap属性指向界定图 像部分的映射。这允许重新编码URL和链接,并接下来控制文档的交互。关于“节点控制”,还有可能实现细粒度机制(决定一个节点有效还是无效、 重新编码节点事件,等等)。关于“DOM树控制”,可以考虑令人感兴趣的可能性。 例如,虚拟协助(daemon)或者软件程序检查 修改并解析后的标记文件的DOM树的完整 性,以便允许(或者不允许)最终显示给用户。这种DOM树简档可以使用“签名”,例 如一组字符或值。有可能设置“最佳实践”数据库,包含(对过滤技术)鲁棒的DOM 树简档。对DOM路径的控制提供了类似的优点。现在讨论其他考虑。首先,与本发明的实施例结合,数据中心软件代码(软件即服务模型)的非常频 繁的更新可能是有用的。实现本发明实施例的广告商实际上可以非常频繁地更新数据中 心软件代码,其中软件代码将内容和服务递送到消费者(例如以网络邮件)。接下来,通 过相应地更新广告拦截器插件或者附件代码,广告拦截器可能试图学习并修改,但是变 化的频率会阻碍广告拦截。其次,如果与本发明的实施例结合,则处理加密的浏览会话(例如,SSL)看起 来是令人感兴趣的可能性。其想法在于为了接受提供内容,服务提供商会检查所递送内 容的完整性(由此,将保护对所有内容的显示,包括广告);因此,可以使用几种机制, 包括散列值的使用。可以看到,在这种环境下(例如,在https下的网络邮件中)广告拦 截器仍然能成功地跳过广告。其原因是附件和插件在客户端上的内容破译之后和对用户 的最终可视呈现之前运行(仅仅涉及数据传输层)。换句话说,进一步的过滤步骤将总是 允许修改内容,直到客户端浏览器的非常末端,除非在用户机器上设置了非常末端的控 制。换句话说,加密机制与所描述的本发明实施例的组合是令人感兴趣的(图像加密,
寸寸J。第三,本发明实施例可以与提供由可信计算机制引发的参数或者约束结合例 如,某些网络可以拒绝向不兼容的浏览器提供网页。这涉及例如用于操作系统更新的机 制。通过验证认可的或者认证的客户端的使用,网站将自己感到满意,用户已经被迫观 看了一定数量的广告(一种可能的系统将检查认证的DOM树的完整性)。相反,有可能 使用黑名单机制(通过不向使用未授权提取、过滤或者DOM修改机制或技术的禁止的代 理、spider或者识别出的代理提供服务)。但是,代理弹回(或者数据高速缓冲)技术又 能够战胜这些黑名单方法。然而,进一步的对策将包括需要递送内容的精确路径。具体 地说,用户将必须访问预定的链接路径(这对于精确遵循的bot或者spider,将是不可能 的),以便能够接收相关的内容(否则期望的内容将不被递送)。DOM树修改可以致力 于考虑这些方面和规则。类似地,有可能创建专属加密文件格式,这种格式只有“认可 的”软件才能读取,而且其解密密钥必须从网络服务器获得(该密钥是非常难以通过逆向 设计来恢复的)。关于可信计算范例的开发趋于控制计算机设备;OS(深)层可以变成使能广告 递送的最后一层。第四,DOM的重写提供了许多令人感兴趣的机会。例如,生成单个图像(和关联的非常简化的DOM树)和使用其作为背景图像同时在上面叠加可能的视频区域(在前 景中,如果标记文件是HTML标记文件,则利用<DIV>标签,即,修改的DOM树)将 是有价值的。有可能想象更广范围的间接应用,例如在前景中使用图像来禁用对嵌入的 视频播放器中的快进按钮的访问,以防止用户跳过视频中的广告(通过例如刷新,这种 操作可以是暂时的,或者是永久的)。本发明可以采取完全硬件实施例、完全软件实施例或者既包含硬件元素又包含 软件元素的实施例。在优选实施例中,本发明是以软件实现的,这包括但不限于固件、 驻留软件、微代码,等等。在高性能系统中,例如,与图像生成处理绑定到一起的虚拟 化机制的硬件实现可以证明是有利的。此外,本发明可以采取可以从计算机可用或者计算机可读介质访问的计算机程序产品的形式,其中的介质提供由计算机或者任何指令执行系统使用或者与其结合的程 序代码。为了这种描述,计算机可用或者计算机可读介质可以是能够包含、存储、传 送、传播或者传输由指令执行系统、装置或者设备使用或者与其结合的程序的任何装置。 Firefox 是 Mozilla Foundation 的商标。Internet Explorer 是 Microsoft 公司的商标。Google 是 Google 公司的商标。其它的公司、产品或者服务名称可以是其它的商标或者服务标记。
权利要求
1.一种修改经解释的标记文件的DOM树的方法,其中所述经解释的标记文件包括一 个或多个可显示元素,所述方法包括如下步骤定义所述经解释的标记文件的特定显示区域,获得所述经解释的标记文件的DOM树,所述DOM树包括至少一个父节点和多个子 节点;每个节点都与至少一个所述可显示元素相关联,在所述DOM树中识别一组子节点,该组子节点的可显示元素包括所述特定显示区域 的至少一部分,在所述DOM树中识别包括所述一组子节点的第一父节点, 将与所述识别出的第一父节点相关联的所有可显示元素转换成主图像, 生成包括所述主图像的第二父节点,通过删除所述识别出的一组子节点并通过用所述第二父节点替代所述识别出的第一 父节点,将所述DOM树修改成经修改的DOM树。
2.如权利要求1所述的方法,还包括根据所述经修改的DOM树构造经修改的标记文 件的步骤。
3.如权利要求1或2所述的方法,其中所述主图像进一步划分成多个子图像。
4.如前面任何一项权利要求所述的方法,还包括通过诸如变形、灰度调整、重新编 码、调整大小、加噪声、离散化、重新采样或者混杂的操作改变所述主图像或者至少一 个所述子图像的步骤。
5.如前面任何一项权利要求所述的方法,所述经修改的标记文件还包括脚本语言代 码,该脚本语言代码适于使其上执行该代码的用户终端发送定义用户控制光标的位置的 坐标信息。
6.如前面任何一项权利要求所述的方法,其中,所述脚本语言代码还适于使其上执 行该代码的用户终端发送定义用户控制光标的点击动作的动作信息。
7.如前面任何一项权利要求所述的方法,其中标记文件是HTML、PHP或者XML文件。
8.如前面任何一项权利要求所述的方法,还包括提供主图像和解释经修改的标记文 件的步骤。
9.一种计算机程序,包括当所述计算机程序在合适的计算机设备上执行时用于执行 根据权利要求1至8中任何一项所述方法的步骤的指令。
10.一种计算机可读介质,该计算机可读介质上编码有根据权利要求9所述的计算机程序。
11.一种系统,包括适于执行根据权利要求1至8中任何一项所述方法的步骤。
全文摘要
一种选择性地保护网络浏览器上的广告显示的方法和系统,定义了所述经解释的标记文件的特定显示区域,获得所述经解释的标记文件的DOM树,所述DOM树包括父节点和子节点;每个节点都与可显示元素相关联,在DOM树中识别其可显示元素包括所述特定显示区域的一组子节点,在DOM树中识别包括所述一组子节点的第一父节点,将与所述识别出的第一父节点相关联的可显示元素转换成图像,生成包括所述图像的第二父节点,通过删除所述识别出的一组子节点并通过用所述第二父节点替代所述识别出的第一父节点而将该DOM树修改成经修改的DOM树。
文档编号G06F17/30GK102027472SQ200980117449
公开日2011年4月20日 申请日期2009年4月20日 优先权日2008年5月21日
发明者D·洛比亚, F·鲍乔特, G·玛米格里, J·皮康 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1