CN108028839A - 用于动态限制信息资源中包括的未授权内容的渲染的系统和方法 - Google Patents

用于动态限制信息资源中包括的未授权内容的渲染的系统和方法 Download PDF

Info

Publication number
CN108028839A
CN108028839A CN201680053721.6A CN201680053721A CN108028839A CN 108028839 A CN108028839 A CN 108028839A CN 201680053721 A CN201680053721 A CN 201680053721A CN 108028839 A CN108028839 A CN 108028839A
Authority
CN
China
Prior art keywords
content
content element
computing device
implementations
limited
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201680053721.6A
Other languages
English (en)
Other versions
CN108028839B (zh
Inventor
M.布里斯西
R.伊洛斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN108028839A publication Critical patent/CN108028839A/zh
Application granted granted Critical
Publication of CN108028839B publication Critical patent/CN108028839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

这里提供了用于动态地限制信息资源中包括的未授权内容的渲染的系统和方法。计算设备可识别包括指定一个或多个图形特性的内容对象的信息资源。计算设备可通过应用用于检测在信息资源上执行的动作的基于动作的检测策略或者用于检测内容对象的图形特性的基于视觉的检测策略中的至少一者来确定内容对象对应于受限内容对象。计算设备可响应于该确定而通过应用内容渲染限制策略来修改信息资源以变更信息资源上的内容元素的渲染。

Description

用于动态限制信息资源中包括的未授权内容的渲染的系统和 方法
相关申请
本申请要求2016年2月1日递交的标题为“SYSTEMS AND METHODS FORDYNAMICALLY RESTRICTING THE RENDERING OF UNAUTHORIZED CONTENT INCLUDED ININFORMATION RESOURCES”的美国临时专利申请62/289,703号的优先权,在此通过引用并入该申请的全部内容,用于所有目的。
背景技术
在例如因特网之类的计算机联网环境中,内容元素可被应用(例如,web浏览器)渲染在信息资源(例如,网页)上。信息资源的每个内容元素可从不同的服务器经由计算机联网环境被发送到计算设备。一个或多个这些不同的服务器可能未被授权将内容元素包括在信息资源上。
发明内容
至少一个方面针对的是一种动态地限制信息资源中包括的未授权内容的渲染的方法。客户端设备可识别包括指定一个或多个图形特性的内容元素的信息资源。客户端设备可通过应用用于检测在信息资源上执行的动作的基于动作的检测策略或者用于检测内容元素的图形特性的基于视觉的检测策略中的至少一者来确定内容元素对应于受限内容元素。客户端设备可响应于通过应用基于动作的检测策略或基于视觉的检测策略中的至少一者确定出第一内容元素对应于受限内容元素来通过应用内容渲染限制策略来修改信息资源以变更信息资源上的内容元素的渲染。
在一些实现方式中,应用基于动作的检测策略可进一步包括识别对于与信息资源相对应的布局的重生成命令,重生成命令由客户端设备响应于新的内容对象被插入到基于信息资源生成的文档树上而生成,新的内容对象对应于内容元素。在一些实现方式中,应用基于动作的检测策略可进一步包括识别基于信息资源生成的文档树的内容对象的一个或多个图形特性的变化,内容对象对应于内容元素。在一些实现方式中,应用基于动作的检测策略可进一步包括识别基于信息资源生成的文档树的内容对象的一个或多个图形特性的变化,内容对象对应于内容元素。在一些实现方式中,应用基于动作的检测策略可进一步包括检测从内容元素的指令生成的引用通告的传送。
在一些实现方式中,应用基于视觉的检测策略可进一步包括从一个或多个图形特性识别内容元素的尺寸或位置。在一些实现方式中,应用基于视觉的检测策略可进一步包括确定内容元素的尺寸或位置匹配对应于与被识别为受限内容元素的内容元素相关联的尺寸或位置的一个或多个相应的预先指定的尺寸或一个或多个相应的预先指定的位置。
在一些实现方式中,应用基于视觉的检测策略可进一步包括通过在内容元素上应用光学字符识别算法来识别内容元素上的至少一个字符串。在一些实现方式中,应用基于视觉的检测策略可进一步包括确定内容元素上的至少一个字符串匹配对应于与被识别为受限内容元素的内容元素相关联的字符串的一个或多个预先指定的受限字符串。
在一些实现方式中,应用基于视觉的检测策略可进一步包括从第一内容元素的一个或多个图形特性识别内容元素的第一色彩值。在一些实现方式中,应用基于视觉的检测策略可进一步包括从信息资源的第二内容元素的一个或多个图形特性识别第二内容元素的第二色彩值。在一些实现方式中,应用基于视觉的检测策略可进一步包括计算第一色彩值与第二色彩值之间的色彩差异值。在一些实现方式中,应用基于视觉的检测策略可进一步包括计算第一色彩值与第二色彩值之间的色彩差异值。
在一些实现方式中,应用内容渲染限制策略可进一步包括从文档树中删除内容对象,文档树是从信息资源生成的,该内容对象对应于第一内容元素。在一些实现方式中,应用内容渲染限制策略可进一步包括将与内容对象相对应的样式规则的显示性质设置为空,该内容对象对应于第一内容元素。在一些实现方式中,应用内容渲染限制策略可进一步包括将第二内容元素作为覆盖插入在第一内容元素上以限制第一内容元素在客户端设备的显示器上的可见性。
至少一个方面针对的是一种用于动态地限制信息资源中包括的未授权内容的渲染的系统。该系统可包括具有一个或多个处理器的计算设备。计算设备可识别包括指定一个或多个图形特性的内容元素的信息资源。计算设备可通过应用用于检测在信息资源上执行的动作的基于动作的检测策略或者用于检测内容元素的图形特性的基于视觉的检测策略中的至少一者来确定内容元素对应于受限内容元素。计算设备可响应于通过应用基于动作的检测策略或基于视觉的检测策略中的至少一者确定出第一内容元素对应于受限内容元素来通过应用内容渲染限制策略来修改信息资源以变更信息资源上的内容元素的渲染。
在一些实现方式中,计算设备可通过识别对于与信息资源相对应的布局的重生成命令来应用基于动作的检测策略,重生成命令由客户端设备响应于新的内容对象被插入到基于信息资源生成的文档树上而生成,新的内容对象对应于内容元素。在一些实现方式中,计算设备可通过识别基于信息资源生成的文档树的内容对象的一个或多个图形特性的变化来应用基于动作的检测策略,内容对象对应于内容元素。在一些实现方式中,计算设备可通过检测从内容元素的指令生成的引用通告的传送来应用基于动作的检测策略。
在一些实现方式中,计算设备可通过从一个或多个图形特性识别内容元素的尺寸或位置来应用基于视觉的检测策略。在一些实现方式中,计算设备可通过确定内容元素的尺寸或位置匹配对应于与被识别为受限内容元素的内容元素相关联的尺寸或位置的一个或多个相应的预先指定的尺寸或一个或多个相应的预先指定的位置来应用基于视觉的检测策略。
在一些实现方式中,计算设备可通过经由在内容元素上应用光学字符识别算法识别内容元素上的至少一个字符串来应用基于视觉的检测策略。在一些实现方式中,计算设备可通过确定内容元素上的至少一个字符串匹配对应于与被识别为受限内容元素的内容元素相关联的字符串的一个或多个预先指定的受限字符串来应用基于视觉的检测策略。
在一些实现方式中,计算设备可通过从第一内容元素的一个或多个图形特性识别内容元素的第一色彩值来应用基于视觉的检测策略。在一些实现方式中,计算设备可通过从信息资源的第二内容元素的一个或多个图形特性识别第二内容元素的第二色彩值来应用基于视觉的检测策略。在一些实现方式中,计算设备可通过计算第一色彩值与第二色彩值之间的色彩差异值来应用基于视觉的检测策略。在一些实现方式中,计算设备可通过确定色彩差异值高于预定的阈值色彩值来应用基于视觉的检测策略。
在一些实现方式中,计算设备可通过从文档树中删除内容对象来应用内容渲染限制策略,文档树是从信息资源生成的,该内容对象对应于第一内容元素。在一些实现方式中,计算设备可通过将与从信息资源生成的对象模型的内容对象相对应的样式规则的显示性质设置为空来应用内容渲染限制策略,内容对象对应于第一内容元素。在一些实现方式中,计算设备可通过将第二内容元素作为覆盖插入在第一内容元素上以限制第一内容元素在客户端设备的显示器上的可见性来应用内容渲染限制策略。
这些和其他方面和实现方式在下文详细论述。前述信息和下面的详细描述包括各种方面和实现方式的说明性示例,并且提供了用于理解要求保护的方面和实现方式的性质和特征的概览或框架。附图提供了图示以及对各种方面和实现方式的进一步理解,并且被包含在此说明书中并构成其一部分。
附图说明
附图并不打算按比例绘制。在各幅图中相似的标号和命名指示相似的元素。为了清晰起见,可能不会在每一幅图中都标注每一个成分。在附图中:
图1是根据说明性实现方式描绘用于在计算机网络环境中动态限制信息资源中包括的未授权内容的渲染的环境的一种实现方式的框图;
图2A是根据说明性实现方式描绘包括应用渲染限制器系统的计算设备的一种实现方式的框图;
图2B是根据说明性实现方式描绘在应用上示出信息资源的内容元素的信息资源的框图;
图3A是根据说明性实现方式描绘基于信息资源生成的文档树的框图;
图3B是根据说明性实现方式描绘其中每个内容对象匹配到由信息资源指定的样式规则的对象模型的框图;
图3C是根据说明性实现方式描绘基于其中每个对象匹配到样式规则的文档树生成的渲染树的框图;
图4是根据说明性实现方式描绘在信息资源上动态插入内容的方法的流程图;
图5是根据说明性实现方式描绘在信息资源上动态插入内容的方法的流程图;并且
图6是根据说明性实现方式图示出可被采用来实现这里描述和图示的系统和方法的元素的计算机系统的一般体系结构的框图。
具体实施方式
接下来是对与在计算机网络环境中动态地限制信息资源中包括的未授权内容的渲染的方法、装置和系统有关的各种概念及其实现方式的描述。在上文介绍并且在下文更详细论述的各种概念可按许多方式中的任何一种来实现,因为描述的概念不限于任何特定的实现方式。
信息资源(例如,网页)可包括一个或多个内容元素(例如,内部框架、图像和版块,等等)。内容元素可定义信息资源的视觉内容构成。例如,信息资源可包括主内容(例如,正文文本)和包括图像的内容元素。应用(例如,web浏览器)可使用这种内容元素来在计算设备的显示器上处理、渲染和显示信息资源。这些内容元素中的一些可源自于与提供信息资源的服务器不同的服务器。这样,具有这种内容元素的信息资源可能遭受安全漏洞。例如,代理网络设备可拦截原本打算用于信息资源的内容元素并且利用其自己的内容元素来替换拦截的内容元素。这种内容元素可包括诸如木马和病毒之类的恶意代码。此外,从人机交互(human-computer interaction,HCI)的角度来看,即使没有恶意代码的注入,这些内容元素也可干扰用户阅读或查看信息资源的主内容的能力。例如,一个内容元素可具有与信息资源上的所有其余内容元素不同的色彩,从而导致用户从主内容或其他内容元素中分心。
为了减轻这些潜在危害中的一些,内容发布者可包括指令来使得客户端设备从托管信息资源的托管服务器而不是从一个或多个其他内容服务器请求内容。然而,这种实现方式可能不能够解决如下场景:即,内容发布者自身插入了可能干扰用户对于显示的信息资源上的主内容的体验的内容元素。
为了解决这些和其他挑战,本公开提供了用于动态地限制信息资源中包括的内容元素的渲染的系统和方法。在一种实现方式中,在客户端设备或代理设备(例如,路由器)上操作的应用渲染限制器可识别信息资源上的一个或多个内容元素。对于每个内容元素,应用渲染限制器可应用基于域的、基于视觉的或者基于动作的检测策略来检测该内容元素是否是(可能被阻止显示的)受限制内容元素。对于基于域的策略,应用渲染限制器可确定信息资源的任何内容元素是否包括可被限制的重定向地址。对于基于视觉的检测策略,应用渲染限制器可应用各种视觉识别算法来确定内容元素中的任何一者是否受到限制。对于基于动作的检测策略,应用渲染限制器可检测由应用处理信息资源的任何内容元素而引起的任何受限制的进程或传送。利用这些策略,应用渲染限制器可认证文档树的内容对象、对象模型的样式规则、渲染树的节点或布局的子布局的全部是否用于信息资源。
图1是描绘用于在计算机网络环境中部署针对干扰信息资源上的内容元素的渲染的未授权脚本的对策的环境的一种实现方式的框图。环境100包括至少一个数据处理系统110。数据处理系统110可包括至少一个处理器和存储器,即,处理电路。存储器存储处理器可执行的指令,这些指令当被处理器执行时使得处理器执行这里描述的操作中的一个或多个。处理器可包括微处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)等等,或者这些的组合。存储器可包括——但不限于——能够向处理器提供程序指令的电子的、光的、磁的或者任何其他的存储或传送设备。存储器还可包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(read-only memory,ROM)、随机访问存储器(random-access memory,RAM)、电可擦除ROM(electrically-erasable ROM,EEPROM)、可擦除可编程ROM(erasable-programmable ROM,EPROM)、闪存、光介质或者处理器可从其读取指令的任何其他适当的存储器。指令可包括来自任何适当的计算机编程语言的代码。数据处理系统可包括能够执行各种功能的一个或多个计算设备或服务器。在一些实现方式中,数据处理系统可包括被配置为托管拍卖的广告拍卖系统。在一些实现方式中,数据处理系统不包括广告拍卖系统,而是被配置为经由网络105与广告拍卖系统通信。
网络105可包括计算机网络,例如互联网、局域网、广域网、城域网或其他区域网络、内联网、卫星网络、其他计算机网络,例如语音或数据移动电话通信网络,以及这些的组合。系统100的数据处理系统110可经由网络105通信,例如与至少一个内容提供者计算设备115、至少一个内容发布者计算设备120或者至少一个客户端设备125通信。网络105可以是在客户端设备125、数据处理系统110和一个或多个内容源之间传递信息的任何形式的计算机网络,其中内容源例如是web服务器、广告服务器等等。例如,网络105可包括因特网和/或其他类型的数据网络,例如局域网(local area network,LAN)、广域网(wide areanetwork,WAN)、蜂窝网络、卫星网络或者其他类型的数据网络。网络105也可包括被配置为在网络105内接收和/或发送数据的任何数目的计算设备(例如,计算机、服务器、路由器、网络交换机等等)。网络105还可包括任何数目的硬连线的和/或无线的连接。例如,客户端设备125可与硬连线(例如,经由光缆、CAT5线缆等等)到网络105中的其他计算设备的收发器无线地通信(例如,经由WiFi、蜂窝、射频等等)。客户端设备125也可经由代理设备150(例如,路由器、网络交换机或网关)与网络105的计算设备无线通信。
内容提供者计算设备115可包括由内容提供者实体操作来向内容发布者计算设备120或数据处理系统110提供内容元素的服务器或其他计算设备。内容提供者计算设备115提供的内容可包括用于在信息资源上显示的第三方内容元素,其中信息资源例如是包括主内容的网站或网页,其中主内容例如是由内容发布者计算设备120提供的内容。内容元素也可被显示在搜索结果网页上。与内容提供者计算设备115相关联的内容元素可被显示在除网页之外的信息资源上,例如在智能电话或其他客户端设备125上作为应用的执行的一部分而显示的内容。内容发布者计算设备120或数据处理系统110进而可选择内容提供者计算设备115的内容元素。例如,数据处理系统110可运行广告拍卖以基于各个内容元素的各种性能度量来选择内容元素。内容发布者计算设备120或数据处理系统可发送内容提供者计算设备的所选择的内容元素以便在客户端设备125处显示在信息资源上。
内容发布者计算设备120可包括由内容发布实体操作来提供主内容以经由网络105显示的服务器或其他计算设备。例如,内容发布者计算设备120可包括提供主内容来显示在网页上的网页运营者。内容发布者计算设备120也可提供从内容提供者计算设备115接收的第三方内容来经由网络105显示。主内容可包括除了由内容发布者计算设备120提供的以外的内容,并且网页可包括被配置用于由内容发布者计算设备120从内容提供者计算设备115接收的内容元素的显示的内容槽。例如,内容发布者计算设备120可操作公司的网站并且可提供关于该公司的内容来显示在网站的网页上。网页可包括被配置用于从内容提供者计算设备115接收的内容元素的显示的内容槽,其中内容元素例如是图像、文本、视频或者这些的任何组合。在一些实现方式中,内容发布者计算设备120包括操作搜索引擎网站的搜索引擎运营者的搜索引擎计算设备(例如,服务器)。搜索引擎网页(例如,结果或登陆网页)的主内容可包括搜索的结果,以及在内容槽中显示的第三方内容元素,例如来自内容提供者计算设备115的内容元素。在一些实现方式中,内容发布者计算设备120可包括用于提供视频内容服务的服务器。
在一些实现方式中,内容发布者计算设备120可选择从内容发布者计算设备120接收的一个或多个内容元素来与主内容一起包括在信息资源中以便经由网络105显示。内容发布者计算设备120可响应于来自客户端设备125的对内容的请求而将从内容发布者计算设备115接收的内容元素与主内容一起发送到客户端设备125。在一些实现方式中,在发送主内容之后,内容发布者计算设备120可响应于来自客户端设备125的对于额外内容的请求而向客户端设备125发送从内容发布者计算设备115接收的内容元素。例如,内容发布者计算设备120可接收来自客户端设备125的对于主内容的初始请求,并且作为响应向客户端设备发送包括主内容的信息资源。在客户端设备125检测到动态事件(例如,网页的滚动长度的变化)之后,内容发布者计算设备120可接收对于额外内容的请求,并进而提供在内容发布者计算设备120处缓存的从内容提供者计算设备115接收的内容元素。
客户端设备125可包括这样的计算设备:该计算设备被配置为经由网络105或者通过代理设备150经由网络105通信以显示数据,例如由内容发布者计算设备120提供的内容(例如,主网页内容或其他信息资源)以及由内容提供者计算设备115提供的内容(例如,被配置用于在信息资源中显示的内容元素)。客户端设备125、内容提供者计算设备115和内容发布者计算设备120可包括桌面型计算机、膝上型计算机、平板计算机、智能电话、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字视频记录器、用于电视的机顶盒、视频游戏机或者任何其他被配置为经由网络105通信的计算设备。客户端设备125可以是通信设备,通过该通信设备,最终用户可提交接收内容的请求。请求可以是对搜索引擎的请求并且请求可包括搜索查询。在一些实现方式中,请求可包括访问网页的请求。
代理设备150可包括部署在客户端设备125和网络105之间的计算设备。代理设备150可被配置为经由网络105与一个或多个其他计算设备通信,例如数据处理系统110、内容提供者计算设备115和内容发布者设备125。代理设备150可例如是路由器、网络交换机、网关、网络节点或者被配置为从客户端设备125到网络105或者从网络105到客户端设备125接收并转发数据分组的任何其他计算设备。
内容提供者计算设备115、内容发布者计算设备120和客户端设备125可包括处理器和存储器,即,处理电路。存储器存储机器指令,这些指令当被处理器执行时使得处理器执行这里描述的操作中的一个或多个。处理器可包括微处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)等等,或者这些的组合。存储器可包括——但不限于——能够向处理器提供程序指令的电子的、光的、磁的或者任何其他的存储或传送设备。存储器还可包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ASIC、FPGA、只读存储器(read-onlymemory,ROM)、随机访问存储器(random-access memory,RAM)、电可擦除ROM(electrically-erasable ROM,EEPROM)、可擦除可编程ROM(erasable-programmable ROM,EPROM)、闪存、光介质或者处理器可从其读取指令的任何其他适当的存储器。指令可包括来自任何适当的计算机编程语言的代码。
内容提供者计算设备115、内容发布者计算设备120、和客户端设备125也可包括一个或多个用户接口设备。一般地,用户接口设备指的是任何这样的电子设备:通过生成感观信息(例如,显示器上的可视化、一个或多个声音等等)来向用户传达数据,和/或把从用户接收的感观信息转换成电子信号(例如,键盘、鼠标、指点设备、触摸屏显示器、麦克风,等等)。根据各种实现方式,一个或多个用户接口设备可以是内容提供者计算设备115、内容发布者计算设备120和客户端设备125的壳体内部的(例如,内置显示器、麦克风等等),或者是内容提供者计算设备115、内容发布者计算设备120和客户端设备125的壳体外部的(例如,连接到客户端设备115的监视器、连接到客户端设备115的扬声器等等)。例如,内容提供者计算设备115、内容发布者计算设备120和客户端设备125可包括电子显示器,其利用经由网络105从一个或多个内容源和/或从数据处理系统110接收的网页数据来从视觉上显示网页。
数据处理系统110可包括至少一个服务器。例如,数据处理系统110可包括位于至少一个数据中心或服务器机群中的多个服务器。在一些实现方式中,数据处理系统110包括内容投放系统,例如广告服务器或广告投放系统。数据处理系统110可包括至少一个内容请求模块130、至少一个内容选择模块135、至少一个脚本提供者模块140和至少一个数据库145。内容请求模块130、内容选择模块135和脚本提供者模块140各自可包括被配置为经由网络105与数据库145以及与其他计算设备(例如,内容提供者计算设备115、内容发布者计算设备120或客户端设备125)通信的至少一个处理单元、服务器、虚拟服务器、电路、引擎、代理、器具或其他逻辑器件,例如可编程逻辑阵列。
内容请求模块130、内容选择模块135、脚本提供者模块140和格式优先级区分模块145可包括或执行至少一个计算机程序或至少一个脚本。内容请求模块130、内容选择模块135和脚本提供者模块140可以是分开的组件、单个组件或者数据处理系统110的一部分。内容请求模块130、内容选择模块135和脚本提供者模块140可包括软件和硬件的组合,例如被配置为执行一个或多个脚本的一个或多个处理器。
数据处理系统110也可包括一个或多个内容仓库或数据库145。数据库145可在数据处理系统110本地。在一些实现方式中,数据库145可在数据处理系统110远程,但可经由网络105与数据处理系统110通信。数据库145可包括网页、内容元素(例如,广告)和内容格式化脚本等等,以提供给客户端设备125提供服务。在一些实现方式中,信息资源和信息资源的内容元素可包括在图2B中图示的那些。数据库145的内容的额外细节将在下文提供。
内容请求模块130可从客户端设备125接收对内容的请求。对内容的请求可包括对信息资源的请求或者对用于信息资源的内容元素的请求。对内容的请求可包括与客户端设备125相对应的设备识别符。对内容的请求可包括识别在客户端设备125上执行的应用的应用简档。对内容的请求可包括用于信息资源或内容元素的识别符。例如,对内容的请求可包括指向特定资源的统一资源定位符(Uniform Resource Locator,URL),该资源例如是网页(例如,“www.example.com/homepage.html”)。信息资源的URL的主机名称可不同于内容元素的URL的主机名称。例如,信息资源的URL可以是“www.example_publisher.com/index.html”,但内容元素的URL可以是“www.example_thirdparty.com/content_item_271828.html”。对于内容元素的请求的URL可包括与信息资源的URL相同的主机页面。例如,信息资源的URL可以是“www.example.com/index.html”,而内容元素的URL可以是“www.example.com/content_item_978.html”。
在一些实现方式中,对内容的请求可包括指示出对内容格式化脚本的请求的指示符。例如,对信息资源的请求可包括头部,该头部包括指示符,该指示符指定脚本提供者模块135或内容发布者计算设备120将内容格式化脚本与信息资源一起发送到客户端设备125。在一些实现方式中,信息资源可包括插入在用于信息资源的脚本或标记中的内容格式化脚本。在一些实现方式中,信息资源可包括用于取回内容格式化脚本以便稍后插入到信息资源中的脚本。
内容选择模块135或内容发布者计算设备120可确定要发送到客户端设备125的内容。内容选择模块135或内容发布者计算设备120可识别对内容的请求中包括的信息资源和内容元素的地址或识别符。内容选择模块135可访问数据库145并且选择由该地址或识别符识别的信息资源或内容元素。内容选择模块135可向内容提供者115或内容发布者120发送访问、取回或以其他方式接收由地址或识别符识别的信息资源或内容元素的请求。
在一些实现方式中,内容选择模块135可代表一个或多个内容发布者计算设备120向客户端设备125发送内容。内容选择模块135可将地址或识别符识别的信息资源或内容元素发送或转发到客户端设备125。例如,数据处理系统110可从客户端设备125接收对信息资源或内容元素的请求。该请求可包括指向内容发布者120之一的地址。在这个示例中,内容选择模块135可将对信息资源的请求转发到各个内容发布者120。在从各个内容发布者120接收到信息资源后,内容选择模块135可将内容文档与内容格式化脚本一起转发到做出原始请求的客户端设备125。在一些实现方式中,内容选择模块135可生成内容来发送到内容设备125。在一些实现方式中,内容选择模块135可基于从客户端设备125接收的请求生成信息资源和要包括在信息资源中的一个或多个内容元素。在一些实现方式中,内容选择模块135可生成内容格式化脚本来包括在信息资源中。内容格式化脚本可被配置为使得客户端设备125请求一个或多个额外的内容元素来插入到信息资源中,并且向数据处理系统100发送引用通告(pingback),指示出在客户端设备125处对各个内容元素的成功显示。
在一些实现方式中,内容发布者可配置其域或网站地址以使得访问内容发布者的信息资源的请求被重定向到数据处理系统110的服务器。数据处理系统110的内容选择模块135可接收访问内容发布者的信息资源的请求。在一些实现方式中,该请求可包括设备识别符或其他信息,内容选择模块135可使用该设备识别符或其他信息来选择与从其接收到该请求的客户端设备的用户相关的内容。内容选择模块135可访问维护内容元素的内容发布者的一个或多个服务器或者代表内容发布者维护内容元素的数据处理系统110的服务器。内容选择模块135随后可生成信息资源或者修改现有的信息资源来包括用于在客户端设备处显示的内容元素。这些内容元素中的一些可以是与内容发布者相对应的主内容项。然而,在一些实现方式中,内容元素可以是可从广告服务器接收的广告。广告或其他第三方内容项可包括图像和响应于接收到该图像上的交互而将客户端设备重定向到的源地址。在一些实现方式中,源地址可以是内容提供者的服务器的地址。在一些实现方式中,内容项的图像可包括去到数据处理系统110或者向客户端设备提供信息资源的服务器的链接。在一些实现方式中,该链接可以是一编码的链接,该编码的链接使得客户端设备从向客户端设备提供信息资源的服务器被重定向到向内容选择模块提供了内容项来插入到信息资源中的内容发布者的服务器。
在一些实现方式中,内容选择模块135可从基于广告拍卖来选择要显示的内容元素的广告拍卖系统接收内容元素。广告拍卖系统可以基于广告拍卖参数从多个广告中选择广告,其中广告拍卖参数例如是竞价值、广告的大小、点通率(click-through rate,CTR)、每千人成本(cost per mille,CPM)以及印象率,等等。广告拍卖系统可进一步基于各个广告的大小规格和来自各个广告的先前呈现的广告绩效来从多个广告中选择广告。
在一些实现方式中,内容选择模块135可基于从对内容的请求识别的设备识别符或应用简档来为信息资源上的每个内容元素选择多个格式。内容选择模块135可确定优先级区分顺序,该优先级区分顺序指定了多个格式供计算设备处理的选择序列。内容选择模块135可将优先级区分顺序和多个格式包括、插入、嵌入或以其他方式附加在要发送到客户端设备125的信息资源中。在一些实现方式中,内容选择模块135可在数据库145中维护优先级区分顺序。
脚本提供者模块140可从内容发布者计算设备120或内容提供者计算设备115接收对内容格式化脚本的请求以便插入到要提供给客户端设备125的信息资源或内容元素中。脚本提供者模块140可响应于从内容发布者计算设备120或内容提供者计算设备115接收到对内容格式化脚本的请求而将内容格式化脚本发送到内容发布者计算设备120或内容提供者计算设备115以便将内容格式化脚本包括、插入、嵌入或附加到信息资源或内容元素中。在一些实现方式中,脚本提供者模块140可响应于来自内容发布者计算设备120或内容提供者计算设备115的对内容格式化脚本的请求而将包括内容格式化脚本的信息资源或内容元素发送到客户端设备125。在一些实现方式中,脚本提供者模块140可连同对内容的请求一起从客户端设备125接收对内容格式化脚本的请求。脚本提供者模块140可将内容格式化脚本发送到客户端设备125。在一些实现方式中,脚本提供者模块140可将内容格式化脚本包括、插入、嵌入或以其他方式附加到要发送到客户端设备125的信息资源或内容元素中。在一些实现方式中,脚本提供者模块140联合数据处理系统110的其他模块可将嵌入了内容格式化脚本的信息资源或内容元素发送到客户端设备125。
在一些实现方式中,脚本提供者模块140可从内容发布者计算设备120或内容提供者计算设备115接收对内容格式化脚本的最新版本的请求。例如,脚本提供者模块140可周期性地从内容发布者计算设备120或内容提供者计算设备115接收对内容格式化脚本的请求,并且作为响应发送内容格式化脚本的最新近版本。进而,内容发布者计算设备120或内容提供者计算设备115可将经更新的内容格式化脚本插入或以其他方式嵌入到一个或多个信息资源中。在这个示例中,当内容发布者计算设备120或内容提供者计算设备115从客户端设备125接收到对信息资源的请求时,内容发布者计算设备120或内容提供者计算设备115将相应的信息资源或内容元素与内容格式化脚本一起发送给客户端设备125。
参考图2A,图2A是根据说明性实现方式描绘应用渲染限制器系统200A中的计算设备(例如,客户端设备125)的一种实现方式的框图。简要概括来说,应用渲染限制系统200A可包括客户端设备125、应用205(例如,web浏览器)、信息资源212(例如,网页)和应用渲染限制器220。应用205例如可包括因特网浏览器、移动应用或者任何其他能够执行或以其他方式调用由客户端设备125处理的计算机可执行指令的计算机程序,所述计算机可执行指令例如是包括在信息资源212、一个或多个内容元素215A-N或内容格式化脚本214中的计算机可执行指令。应用205可包括文档树生成器206、渲染树生成器208和显示模块210。信息资源212可包括一个或多个内容元素215A-N和内容格式化脚本214。一个或多个内容元素215A-N中的每一者可包括一个或多个格式。应用渲染限制器220可以是应用205上的脚本或计算机程序(例如,web浏览器的插件),在客户端设备125上运行的另一应用,计算机程序或进程,或者在例如代理设备150之类的另一设备上运行的应用、计算机程序或进程。应用渲染限制器220可包括内容元素识别模块225、基于域检测模块230、基于视觉检测模块235、基于动作检测模块240、内容渲染限制模块245和受限格式策略数据库250。受限格式策略数据库250可维护被应用渲染限制器220的各种模块使用的基于域的检测策略、基于视觉的检测策略、基于动作的检测策略和内容渲染限制策略,以查找和修改受限内容元素。
更详细地说,可经由网络105从数据处理系统110、内容发布者计算设备115或内容提供者计算设备120接收信息资源212和信息资源212的一个或多个内容元素215A-N。在一些实现方式中,信息资源212和一个或多个内容元素215A-N可来自相同的源(例如,数据处理系统110)。在一些实现方式中,相同的源可由相似的识别符来识别。例如,信息资源212可对应于URL“www.example.com/index.html”,而内容元素215A-N之一对应于“www.example.com/q31.html”。在这个示例中,信息资源212和内容元素215A-N的URL中的主机名称是相同的。在一些实现方式中,信息资源212和一个或多个内容元素215A-N可来自由不同识别符识别的不同的源。例如,信息资源212可对应于URL。
信息资源212可包括由应用205处理并且由客户端设备125的一个或多个处理器执行的脚本、标记或者其他代码。例如,信息资源212可包括超文本标记语言(HyperTextMarkup Language,HTML)、可扩展超文本标记语言(Extensible HyperText MarkupLanguage,XHTML)、可扩展标记语言(Extensible Markup Language,XML)、层叠样式表(Cascading Style Sheets,CSS)和JAVASCRIPT,或者这些的任何组合。信息资源212可包括一个或多个内容元素215A-N、一个或多个相应的样式规则以及内容格式化脚本214。一个或多个内容元素215A-N中的每一者可对应于信息资源212的代码的片段。在一些实现方式中,内容元素215A-N的每一者可包括HTML元素。HTML元素可包括例如标题、正文、段落、分割、版块、内部框架、图像、画布、小应用程序、脚本、音频、视频、表格和列表,等等。内容元素215A-N的每一者可包括一个或多个格式。内容元素215A-N的每一者的一个或多个格式中的每一者可包括相应的属性。内容元素215A-N的属性的示例可包括色彩、字体、字体大小、字体类型、大小和位置,等等。一个或多个样式规则(例如,CSS样式规则)的每一者可指定各个内容元素215A-N的相应格式的特性的一个或多个视觉性质。例如,内容元素215A的第一格式的CSS样式规则可指定第一内容元素215A的任何文本将要居中对齐(例如,“文本对齐:居中”)。在这个示例中,例如,内容元素215A的第二格式的CSS样式规则可指定第一内容元素215A的任何文本将要靠右对齐(例如,“文本对齐:靠右”)。内容格式化脚本214可以为一个或多个内容元素215A-N选择一个或多个格式来供应用205的一个或多个模块处理和渲染。
参考图2B,图2B是根据说明性实现方式描绘在客户端设备125上显示的应用205上示出内容元素215A-N的信息资源212的框图。简要概括来说,图2B中的示例描绘了被应用205的显示模块210处理和渲染并且被显示在客户端设备125上的信息资源212的视觉表示200B。在这个示例中,显示的信息资源212’可包括四个显示的内容元素215’A-215’D,每一者对应于信息资源212的相应内容元素215A-N。第一个显示的内容元素215’A可例如是大体上位于显示的信息资源212’的顶部的横幅广告位。第二个显示的内容元素215’B可例如是大体上位于显示的信息资源212’的中部的正文文本。第三个显示的内容元素215’C可例如是接近显示的信息资源212’的右上角的包括视频元素的内部框架。第四个显示的内容元素215’D可例如是大体上位于接近显示的信息资源212’的左下角的包括链接245的图像。
在图2B的上下文中,内容元素格式化脚本214可被应用205执行来动态地改变、修改或更新信息资源212的一个或多个内容元素215A-N的每一者的格式化。在一些实现方式中,内容元素格式化脚本214可任意地或随机地改变、修改或更新信息资源212的一个或多个内容元素215A-N。应用渲染限制器220进而可根据基于域的策略、基于视觉的策略或者基于动作的策略来改变、修改或去除一个或多个内容元素215A-N的显示或渲染,从而引起显示的信息资源212’的行为的变更。例如,应用渲染限制器220可去除与显示的视频内容元素212’C相对应的内容元素212C,从而将内容元素212’C从显示中去除。下面详述应用渲染限制器220的功能。
内容元素识别模块225可识别信息资源212和信息资源212中包括的一个或多个内容元素215A-N。在一些实现方式中,内容元素识别模块225可识别与信息资源212中包括的一个或多个内容元素215A-N相对应的一个或多个代码片段。在一些实现方式中,内容元素识别模块225可解析信息资源212以为一个或多个内容元素215A-N的每一者识别内容元素类型。例如,内容元素识别模块225可基于HTML标签“<iframe>”识别出信息资源215包括内部框架内容元素。在一些实现方式中,元素识别模块225可解析信息资源212并且可对一个或多个内容元素215A-N中的任何一者识别出信息资源212中包括的一个或多个函数调用。例如,元素识别模块225可搜索信息资源212的脚本以寻找与函数调用相对应的字符串。
利用由内容元素识别模块225识别出的一个或多个内容元素215A-N,基于域检测模块230可根据基于域的检测策略来确定一个或多个内容元素215A-N的任何一者是否是受限内容元素。可在受限格式策略数据库250中维护基于域的检测策略。在一些实现方式中,通过应用基于域的检测策略,基于域检测模块230可识别一个或多个内容元素215A-N之一的主机地址和信息资源212的主机地址。基于域检测模块230可确定所识别的内容元素215A-N的主机地址是否不同于信息资源212的主机地址。如果主机地址不同,则基于域检测模块230可确定相应的内容元素215A-N是受限内容元素。在一些实现方式中,通过应用基于域的检测策略,基于动作检测模块240可识别出一个或多个内容元素215A-N之一包括链接。基于域检测模块230可确定相应内容元素215A-N的链接包括与信息资源的主机地址不同的地址。
利用由内容元素识别模块225识别出的一个或多个内容元素215A-N,基于视觉检测模块235可根据基于视觉的检测策略来确定一个或多个内容元素215A-N的任何一者是否是受限内容元素。基于视觉的检测策略可由受限格式策略数据库250维护。基于视觉检测模块235可确定一个或多个内容元素215A-N的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限性质或属性。
在一些实现方式中,基于视觉检测模块235可从信息资源212的内容元素215A-N的每一者的一个或多个图形性质或属性中识别出内容元素215A-N的每一者的尺寸或位置。在一些实现方式中,基于视觉检测模块235可确定信息资源212的内容元素215A-N的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可对应于被识别为受限内容元素的内容元素或者与被识别为受限内容元素的内容元素相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x 300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,基于视觉检测模块235可从各个内容元素215A-N的图形性质或属性中识别出一个或多个内容元素215A-N的每一者的色彩值(例如,RGB值、字母数字识别符或者HTML色彩代码)。在一些实现方式中,基于视觉检测模块235可识别信息资源212的色彩值。基于视觉检测模块235可计算内容元素215A-N中的一者与一个或多个其他内容元素215A-N之间的色彩值的差异。如果内容元素215A-N之一与其余内容元素215A-N之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定该一个内容元素215A-N是受限内容元素。基于视觉检测模块235可计算内容元素215A-N中的一者与信息资源212之间的色彩值的差异。如果内容元素215A-N与信息资源212之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定相应的内容元素215A-N是受限内容元素。
在一些实现方式中,基于视觉检测模块235可从一个或多个内容元素215A-N的每一者中识别一个或多个字符。一个或多个字符可来自各个内容元素215A-N的文本字段或元数据字段。在一些实现方式中,基于视觉检测模块235可确定从一个或多个内容元素215A-N的每一者中识别出的一个或多个字符是否与在受限内容元素中识别的一个或多个预先指定的字符匹配或相似。一个或多个预先指定的字符可来自受限格式策略。在一些实现方式中,基于视觉检测模块235可确定或计算从一个或多个内容元素215A-N的每一者识别的一个或多个字符与一个或多个预先指定的字符之间的语义相似性度量。例如,基于视觉检测模块235可应用近似串匹配算法来计算相似性度量。在一些实现方式中,基于视觉检测模块235可将语义相似性度量与阈值度量相比较。在一些实现方式中,基于视觉检测模块235可响应于确定语义相似性度量大于阈值度量而将具有该一个或多个字符的相应内容元素215A-N识别为受限内容元素。
在一些实现方式中,基于视觉检测模块235可基于由内容元素识别模块225识别出的内容元素类型来识别信息资源212的一个或多个图像内容元素215A-N。基于视觉检测模块235可应用图像识别算法来确定一个或多个图像内容元素215A-N是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,基于视觉检测模块235可通过应用光学字符识别算法来从图像内容元素215A-N中识别出一个或多个字符串。基于视觉检测模块235可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的字符串或者与在受限内容元素中识别的字符串相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,基于视觉检测模块235可通过应用特征检测或对象识别算法来从图像内容元素215A-N中识别出一个或多个视觉特征。在一些实现方式中,基于视觉检测模块235可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的一个或多个视觉特征或者与在受限内容元素中识别的一个或多个视觉特征相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用由内容元素识别模块225识别出的一个或多个内容元素215A-N,基于动作检测模块240可根据基于动作的检测策略来确定一个或多个内容元素215A-N的任何一者是否是受限内容元素。基于动作的策略可由受限格式策略数据库250维护。基于动作的策略可包括用于确定受限内容元素的事件、动作和传送等等的列表。基于动作检测模块240可从由内容元素识别模块225解析的信息资源212中识别函数调用。在一些实现方式中,通过应用基于动作的检测策略,基于动作检测模块240可识别出一个或多个内容元素215A-N的任何一者是否包括受限制的函数调用。例如,如图2B中所示,第三内容元素215C可包括响应于诸如鼠标点击之类的事件而展开的函数调用。基于动作检测模块240可通过搜索基于动作的检测策略以寻找受限函数调用的列表来确定该函数调用是受限制的。受限函数调用的示例包括内容元素215A-N的图形性质或属性的改变,例如尺寸、位置、色彩和字体,等等。在一些实现方式中,通过应用基于动作的检测策略,基于动作检测模块240可确定一个或多个内容元素215A-N之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用205渲染。
响应于确定出内容元素215A-N的任何一者是受限内容元素,内容元素限制模块245可应用内容渲染限制策略。内容渲染限制策略可由受限格式策略数据库250维护。内容元素限制模块245可改变、修改或去除相应的内容元素215A-N。在一些实现方式中,内容元素限制模块245可变更与受限内容元素相对应的信息资源212的脚本的一部分。在图2B中所示的示例中,基于动作检测模块240可确定第四内容元素215D的链接245包括与信息资源212不同的主机地址。在这个示例中,内容元素限制模块245可改变链接245的目的地地址、从第四内容元素215D中去除链接245或者将第四内容元素215D完全去除。在一些实现方式中,内容元素限制模块245可将额外的内容元素作为覆盖添加到信息资源212以遮挡或以其他方式限制相应内容元素215A-N的可见性。例如,在图2B中所示的示例中,如果基于视觉检测模块235基于尺寸、位置或色彩元组差异确定第一内容元素215’A是受限内容元素,则内容元素限制模块245可插入具有相同尺寸和位置但具有不同色彩的另一内容元素作为覆盖来遮挡或以其他方式限制第一内容元素215’A的可见性。
文档树生成器206可处理信息资源212的一个或多个内容元素215A-N的每一者以生成文档树。例如,文档树生成器206可解析信息资源212的HTML标记以生成文档对象模型(Document Object Model,DOM)树。文档树可包括以分层次方式与彼此关联的一个或多个内容对象。例如,DOM树中的两个内容对象在树数据结构中可具有父-子关系。内容对象的每一者可对应于一个或多个内容元素215A-N之一的一个格式。文档树中的每个内容对象可包括一个或多个性质或属性。文档树的生成促进了对未授权内容的高效且有效的识别和修改。
参考图3A,图3A是根据说明性实现方式描绘由客户端设备125的文档树生成器206基于信息资源212生成的文档树300A的框图。在图3A中所示的示例中,文档树300A可包括文档内容对象305、标题内容对象310、正文内容对象325、元内容对象315、链接内容对象320、包括文本节点330A的段落内容对象330、分割内容对象335、内部框架内容对象340和图像内容对象345。在这个示例中,相应的信息资源212可能已经包括了文档内容元素(例如,“<html>”标签)、标题内容元素(例如,“<head>”标签)、正文内容元素(例如,“<body>”标签)、元内容元素(例如,“<meta>”标签)、链接内容元素(例如,“<link>”标签),段落内容元素(例如,“<p>”标签)、分割内容元素(例如,“<div>”标签)、内部框架内容元素(例如,“<iframe>”标签)以及图像内容元素(例如,“<img>”标签)。在这个示例中,位于文档树300A的标题处的文档内容对象305可对应于信息资源212的文档部分。标题内容对象310可包括与信息资源212相关联的描述性数据。元内容对象315可包括与信息资源212相关联的元数据。链接内容对象320可包括与内容元素215A-N相关联的样式规则的源指定符和信息资源212的相应内容对象。正文内容对象325可定义信息资源212的文档部分的正文(例如,显示的内容元素215’B)。段落内容对象330可包括指定为信息资源212包括文本的文本节点330。分割内容对象335可定义信息资源212的文档的正文的分割或分段。内部框架内容对象340可定义内部框架来将另一内容元素215A-N或另一信息资源嵌入到信息资源212中。图像内容对象345可定义或引用要包括到信息资源212中的图像。
内容元素识别模块225可识别或访问由文档树生成器206生成的文档树300A。在一些实现方式中,内容元素识别模块225可识别文档树300A的一个或多个内容对象。内容元素识别模块225可识别文档树300A中的一个或多个内容对象的每一者的内容对象类型。例如,如图3A中所示,内容元素识别模块225可识别出内容对象345是图像内容对象。内容元素识别模块225可以为一个或多个内容元素215A-N的每一者确定文档树300A中的相应内容对象。内容元素识别模块225可识别文档树300A的一个或多个内容对象的每一者的一个或多个性质或属性。
利用所识别的文档树300A,基于域检测模块230可有效地确定文档树300A的内容对象的任何一者是否是受限内容对象。基于域检测模块230可应用基于域的检测策略。基于域的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于域检测模块230可遍历文档树300A。在遍历文档树300A的同时,应用基于域的检测策略,基于域检测模块230可确定一个或多个内容对象的任何一者是否是受限内容对象。在一些实现方式中,通过应用基于域的检测策略,基于域检测模块230可确定一个或多个内容对象的任何一者是否包括一个或多个受限的性质或属性。在一些实现方式中,通过应用基于域的检测策略,基于域检测模块230可基于内容对象的主机名称和信息资源212的主机名称来确定一个或多个内容对象的任何一者是否源自于与信息资源212不同的主机。在一些实现方式中,通过应用基于域的检测策略,基于域检测模块230可确定一个或多个内容对象的任何一者是否包括包含与信息资源212的主机名称不同的主机名称的链接。例如,基于域检测模块230可识别出内容对象330包括包含与信息资源212不同的主机名称的链接。基于主机名称的差异,基于域检测模块230可确定内容对象330是受限内容对象。
利用所识别的文档树300A,基于视觉检测模块235可确定文档树300A的内容对象的任何一者是否是受限内容对象。基于视觉检测模块235可应用基于视觉的检测策略。基于视觉的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于视觉检测模块235可遍历文档树300A。在遍历文档树300A的同时,应用基于视觉的检测策略,基于视觉检测模块235可确定一个或多个内容对象的任何一者是否是受限内容对象。
在一些实现方式中,通过应用基于视觉的检测策略,基于视觉检测模块230可确定一个或多个内容对象的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限的性质或属性。在一些实现方式中,基于视觉检测模块230可从文档树300A的内容对象的每一者的一个或多个图形性质或属性中识别出内容元素的尺寸或位置。在一些实现方式中,基于视觉检测模块230可确定文档树300A的内容对象的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可对应于被识别为受限内容元素的内容元素或者与被识别为受限内容元素的内容元素相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x 300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,通过应用基于视觉的检测策略,基于视觉检测模块235可从文档树300A的各个内容对象的图形性质或属性中识别出一个或多个内容对象的每一者的色彩值(例如,RGB值、字母数字识别符或者HTML色彩代码)。在一些实现方式中,基于视觉检测模块235可从文档树300A的文档内容对象305识别出信息资源212的色彩值。基于视觉检测模块235可计算文档树300A的一个内容对象与一个或多个其他内容对象之间的色彩值的差异。如果内容对象之一与其余内容对象之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定该一个内容对象是受限内容对象。基于视觉检测模块235可计算内容对象中的一者与信息资源212之间的色彩值的差异。如果内容对象与信息资源212之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定相应的内容对象是受限内容对象。
在一些实现方式中,基于视觉检测模块235可从文档树300A的一个或多个内容对象的每一者中识别出一个或多个字符。一个或多个字符可来自各个内容对象的文本字段或元数据字段。在一些实现方式中,基于视觉检测模块235可确定从一个或多个内容对象的每一者中识别出的一个或多个字符是否与在受限内容元素中识别的一个或多个预先指定的字符匹配或相似。一个或多个预先指定的字符可来自受限格式策略。在一些实现方式中,基于视觉检测模块235可确定或计算从一个或多个内容对象的每一者识别的一个或多个字符与一个或多个预先指定的字符之间的语义相似性度量。例如,基于视觉检测模块235可应用近似串匹配算法来计算相似性度量。在一些实现方式中,基于视觉检测模块235可将语义相似性度量与阈值度量相比较。在一些实现方式中,基于视觉检测模块235可响应于确定语义相似性度量大于阈值度量而将具有该一个或多个字符的相应内容对象识别为受限内容元素。
在一些实现方式中,基于视觉检测模块235可基于由内容元素识别模块225识别出的内容对象类型来识别文档树300A的一个或多个图像内容对象。基于视觉检测模块235可访问或取回与文档树300A的一个或多个图像内容对象相关联的图像。基于视觉检测模块235可应用图像识别算法来确定一个或多个图像内容对象(例如,图3A中的图像内容对象345)中包括的图像是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,基于视觉检测模块235可通过应用光学字符识别算法来从图像内容对象中识别出一个或多个字符串。基于视觉检测模块235可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的字符串或者与在受限内容元素中识别的字符串相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,基于视觉检测模块235可通过应用特征检测或对象识别算法来从图像内容对象中识别出一个或多个视觉特征。在一些实现方式中,基于视觉检测模块235可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的一个或多个视觉特征或者与在受限内容元素中识别的一个或多个视觉特征相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用所识别的文档树300A,基于动作检测模块240可确定文档树300A的内容对象的任何一者是否是受限内容对象。基于动作检测模块240可应用基于动作的检测策略。基于动作的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于动作检测模块240可遍历文档树300A。在遍历文档树300A的同时,应用动作检测策略,基于动作检测模块240可确定一个或多个内容对象的任何一者是否是受限内容对象。在一些实现方式中,通过应用基于动作的检测策略,基于动作检测模块240可确定文档树300A的一个或多个内容对象之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用205渲染。
响应于确定出内容对象的任何一者是受限内容对象,内容元素限制模块245可应用内容渲染限制策略。在一些实现方式中,内容元素限制模块245可改变、修改或去除文档树300A中的相应内容对象。在一些实现方式中,内容元素限制模块245可改变、修改或去除文档树300A中的内容对象。在图3A中所示的示例中,基于域检测模块240可确定文本节点330A包括包含与信息资源212不同的主机地址的链接。在这个示例中,内容元素限制模块245可改变文本节点330A的目的地地址,去除文本节点330A的文本中的链接,或者将文本节点330A从文档树300A中完全去除。在一些实现方式中,内容元素限制模块245可将额外的内容对象作为覆盖添加到文档树300A以遮挡或以其他方式限制相应内容对象在被客户端设备125显示时的可见性。例如,参考图2B,如果基于视觉检测模块235基于尺寸、位置或色彩元组差异确定与第一内容元素215’A相对应的文档树300A的内容对象是受限内容对象,则内容元素限制模块245可插入具有相同尺寸和位置但具有不同色彩的另一内容对象作为覆盖来遮挡或以其他方式限制第一内容元素215’A在被显示时的可见性。
文档树生成器206可识别要被渲染的文档树300A的内容对象的子集和不被渲染的文档树300A的内容对象的子集。在图3A中所示的示例中,要被渲染的内容对象的子集是内容对象325、330、335和345,而不会被渲染的内容对象的子集是内容对象305、310、315、320和340。文档树生成器206可识别链接内容对象320以导入为信息资源212指定的样式规则(例如,CSS样式表)。文档树生成器206可从文档树300A中去除不会被渲染的内容对象的子集。文档树生成器206可以把要被渲染的内容对象的子集中的每个内容对象与信息资源212中指定的样式规则相匹配以生成对象模型。
参考图3B,图3B是根据说明性实现方式描绘出对象模型300B的框图,其中每个内容对象被文档树生成器206基于信息资源212匹配到了样式规则。在图3B中所示的示例中,对象模型300B可包括与样式规则360A匹配的正文内容对象325’、与样式规则360B匹配的段落内容对象330’、与样式规则360C匹配的内部框架内容对象340’以及与样式规则360D匹配的图像内容对象345’。样式规则360A-D的每一者可指定相应内容对象325’、330’、340’和345’的属性或性质。例如,样式规则360B可指定出在段落内容对象330’中出现的文本应当被设为红色。
内容元素识别模块225可识别或访问由文档树生成器206生成的对象模型300B。在一些实现方式中,内容元素识别模块225可识别对象模型300B的一个或多个内容对象。内容元素识别模块225可识别对象模型300B中的一个或多个内容对象的每一者的内容对象类型。例如,如图3A中所示,内容元素识别模块225可识别出内容对象345是图像内容对象。内容元素识别模块225可以为一个或多个内容元素215A-N的每一者确定对象模型300B中的相应内容对象。内容元素识别模块225可识别对象模型300B的一个或多个内容对象的每一者的一个或多个性质或属性。
利用所识别的对象模型300B,基于域检测模块230可确定对象模型300B的内容对象的任何一者是否是受限内容对象。基于域检测模块230可应用基于域的检测策略。基于域的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于域检测模块230可遍历对象模型300B。在遍历对象模型300B的同时,应用基于域的检测策略,基于域检测模块230可确定一个或多个内容对象的任何一者是否是受限内容对象。在一些实现方式中,通过应用基于域的检测策略,基于域检测模块230可确定一个或多个内容对象的任何一者是否包括一个或多个受限的性质或属性。在一些实现方式中,通过应用基于域的检测策略,基于域检测模块230可基于内容对象的主机名称和信息资源212的主机名称来确定一个或多个内容对象的任何一者是否源自于与信息资源212不同的主机。在一些实现方式中,通过应用基于域的检测策略,基于域检测模块230可确定一个或多个内容对象的任何一者是否包括包含与信息资源212的主机名称不同的主机名称的链接。例如,基于域检测模块230可识别出内容对象330包括包含与信息资源212不同的主机名称的链接。基于主机名称的差异,基于域检测模块230可确定内容对象330是受限内容对象。
利用所识别的对象模型300B,基于视觉检测模块235可确定对象模型300B的内容对象的任何一者是否是受限内容对象。基于视觉检测模块235可应用基于视觉的检测策略。基于视觉的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于视觉检测模块235可遍历对象模型300B。在遍历对象模型300B的同时,应用基于视觉的检测策略,基于视觉检测模块235可基于对象模型300B中的相应样式规则确定一个或多个内容对象的任何一者是否是受限内容对象。
在一些实现方式中,通过应用基于视觉的检测策略,基于视觉检测模块230可确定匹配到一个或多个内容对象的样式规则360A-D的任何一者是否包括由基于视觉的检测策略所指定的一个或多个受限的性质或属性。在一些实现方式中,基于视觉检测模块230可从匹配到对象模型300B的内容对象的每一者的样式规则的一个或多个图形性质或属性中识别出内容元素的尺寸或位置。在一些实现方式中,基于视觉检测模块230可确定对象模型300B的内容对象的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可对应于被识别为受限内容元素的内容元素或者与被识别为受限内容元素的内容元素相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,通过应用基于视觉的检测策略,基于视觉检测模块235可从匹配到对象模型300B的各个内容对象的样式规则360A-D的图形性质或属性中识别出一个或多个内容对象的每一者的色彩值(例如,RGB值、字母数字指定符或者HTML色彩值)。在一些实现方式中,基于视觉检测模块235可从对象模型300B的正文内容对象325’识别出信息资源212的色彩值。基于视觉检测模块235可计算对象模型300B的一个内容对象与一个或多个其他内容对象之间的色彩值的差异。如果内容对象之一与其余内容对象之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定该一个内容对象是受限内容对象。基于视觉检测模块235可计算内容对象中的一者与信息资源212之间的色彩值的差异。如果内容对象与信息资源212之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定相应的内容对象是受限内容对象。
在一些实现方式中,基于视觉检测模块235可基于由内容元素识别模块225识别出的内容对象类型来识别对象模型300B的一个或多个图像内容对象。基于视觉检测模块235可访问或取回与对象模型300B的一个或多个图像内容对象相关联的图像。基于视觉检测模块235可应用图像识别算法来确定一个或多个图像内容对象(例如,图3A中的图像内容对象345)中包括的图像是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,基于视觉检测模块235可通过应用光学字符识别算法来从图像内容对象中识别出一个或多个字符串。基于视觉检测模块235可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的字符串或者与在受限内容元素中识别的字符串相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,基于视觉检测模块235可通过应用特征检测或对象识别算法来从图像内容对象中识别出一个或多个视觉特征。在一些实现方式中,基于视觉检测模块235可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的一个或多个视觉特征或者与在受限内容元素中识别的一个或多个视觉特征相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用所识别的对象模型300B,基于动作检测模块240可确定对象模型300B的内容对象的任何一者是否是受限内容对象。基于动作检测模块240可应用基于动作的检测策略。基于动作的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于动作检测模块240可遍历对象模型300B。在遍历对象模型300B的同时,应用动作检测策略,基于动作检测模块240可确定一个或多个内容对象的任何一者是否是受限内容对象。在一些实现方式中,通过应用基于动作的检测策略,基于动作检测模块240可确定对象模型300B的一个或多个内容对象之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用205渲染。
响应于确定出内容对象的任何一者是受限内容对象,内容元素限制模块245可应用内容渲染限制策略。内容元素限制模块245可改变、修改或去除相应的内容对象或者对象模型300B中的匹配到该内容对象的样式规则360A-D。在一些实现方式中,内容元素限制模块245可改变、修改或去除内容对象或者对象模型300B中的匹配到该内容对象的样式规则360A-D。在一些实现方式中,内容元素限制模块245可将对象模型300B中匹配到内容对象之一的样式规则的显示性质设置为空。在一些实现方式中,内容元素限制模块245可将具有相应的匹配样式规则360A-D的额外内容对象作为覆盖添加到对象模型360A以遮挡或以其他方式限制相应内容对象在被客户端设备125显示时的可见性。例如,参考图2B,如果基于视觉检测模块235基于尺寸、位置或色彩元组差异确定与第一内容元素215’A相对应的对象模型300B的内容对象是受限内容对象,则内容元素限制模块245可插入具有相同尺寸和位置但具有不同色彩的另一内容对象作为覆盖来遮挡或以其他方式限制第一内容元素215’A在被显示时的可见性。
渲染树生成器208可生成用于渲染信息资源212的渲染树。渲染树生成器208可包括布局引擎、渲染引擎或者应用205的用于准备在客户端设备125的显示器上渲染信息资源212的任何模块、引擎或进程。在一些实现方式中,渲染树生成器208可基于对象模型300B或文档树300A生成渲染树。在一些实现方式中,渲染树生成器208可以为对象模型300B中的每个内容对象和匹配的样式规则360A-D生成一个或多个渲染性质。在一些实现方式中,渲染树生成器208可基于在文档树300A中的各个内容对象或者对象模型300B中的匹配的样式规则360A-D中指定的性质或属性来生成一个或多个性质。渲染树可包括以分层次方式与彼此相关联的一个或多个节点。例如,两个节点在树数据结构中可具有父-子关系。渲染树中的每个节点可对应于要渲染的信息资源212的内容元素215A-N。渲染树中的每个节点可被匹配到一个或多个渲染性质。
参考图3C,图3C是根据说明性实现方式描绘出基于对象模型300B生成的渲染树300C的框图。在图3C中所示的示例中,渲染树300C可包括正文节点325”、段落节点330”、文本节点330A”、内部框架节点345”、分割节点335”和图像节点350”。渲染树300C的节点可对应于信息资源212的内容元素215A-N的至少一子集。渲染树300C中的一些节点可具有为相应节点330”、345”和350”指定渲染信息的渲染性质365A-C。渲染性质365A-C的渲染信息可适用于相应节点和相应节点的子节点。例如,渲染性质365A中的渲染信息可适用于段落节点330”和文本节点330A”两者。
内容元素识别模块225可识别或访问由渲染树生成器208生成的渲染树300C。在一些实现方式中,内容元素识别模块225可识别渲染树300C的一个或多个节点。内容元素识别模块225可识别渲染树300C中的一个或多个节点的每一者的节点类型。例如,如图3C中所示,内容元素识别模块225可识别出节点345是图像节点。内容元素识别模块225可以为一个或多个内容元素215A-N的每一者确定渲染树300C中的对应节点。内容元素识别模块225可识别渲染树300C的一个或多个节点的每一者的一个或多个性质或属性。
利用所识别的渲染树300C,基于视觉检测模块235可确定渲染树300C的节点的任何一者是否是受限节点。基于视觉检测模块235可应用基于视觉的检测策略。基于视觉的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于视觉检测模块235可遍历渲染树300C。在遍历渲染树300C的同时,通过应用基于视觉的检测策略,基于视觉检测模块235可确定一个或多个节点的任何一者是否是受限节点。基于视觉检测模块235可以为渲染树300C中的每个节点识别一个或多个渲染性质。
在一些实现方式中,通过应用基于视觉的检测策略,基于视觉检测模块230可确定与一个或多个节点的每一者相对应的一个或多个渲染性质的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限性质或属性。在一些实现方式中,基于视觉检测模块230可从渲染树300C的每个节点的一个或多个渲染性质的一个或多个图形性质或属性中识别出内容元素的尺寸或位置。在一些实现方式中,基于视觉检测模块230可确定渲染树300C的节点的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可对应于被识别为受限内容元素的内容元素或者与被识别为受限内容元素的内容元素相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x 300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,通过应用基于视觉的检测策略,基于视觉检测模块235可从渲染树300C的各个节点的一个或多个渲染性质的图形性质或属性中为一个或多个节点的每一者从一个或多个渲染性质中识别出色彩值(例如,RGB值、字母数字识别符或者HTML色彩代码)。在一些实现方式中,基于视觉检测模块235可从渲染树300C的正文节点325’识别出信息资源212的色彩值。基于视觉检测模块235可计算渲染树300C的一个节点与一个或多个其他节点之间的色彩值的差异。如果节点之一与其余节点之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定该一个节点是受限节点。基于视觉检测模块235可计算节点之一与信息资源212之间的色彩值的差异。如果节点与信息资源212之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定相应的节点是受限节点。
在一些实现方式中,基于视觉检测模块235可基于由内容元素识别模块225识别出的节点类型来识别渲染树300C的一个或多个图像节点。基于视觉检测模块235可访问或取回与渲染树300C的一个或多个图像节点相关联的图像。基于视觉检测模块235可应用图像识别算法来确定一个或多个图像节点(例如,图3A中的图像节点345)中包括的图像是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,基于视觉检测模块235可通过应用光学字符识别算法来从图像节点中识别出一个或多个字符串。基于视觉检测模块235可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的字符串或者与在受限内容元素中识别的字符串相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,基于视觉检测模块235可通过应用特征检测或对象识别算法来从图像节点中识别出一个或多个视觉特征。在一些实现方式中,基于视觉检测模块235可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的一个或多个视觉特征或者与在受限内容元素中识别的一个或多个视觉特征相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用所识别的渲染树300C,基于动作检测模块240可确定渲染树300C的节点的任何一者是否是受限节点。基于动作检测模块240可应用基于动作的检测策略。基于动作的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于动作检测模块240可遍历渲染树300C。在遍历渲染树300C的同时,通过应用动作检测策略,基于动作检测模块240可确定一个或多个节点的任何一者是否是受限节点。在一些实现方式中,通过应用基于动作的检测策略,基于动作检测模块240可确定渲染树300C的一个或多个节点之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用205渲染。
响应于确定出节点的任何一者是受限节点,内容元素限制模块245可应用内容渲染限制策略。内容元素限制模块245可改变、修改或去除渲染树300C中的相应节点或相应的一个或多个渲染性质。在一些实现方式中,内容元素限制模块245可改变、修改或去除渲染树300C中的节点或相应的一个或多个渲染性质。例如,内容元素限制模块245可设置从渲染树300C中删除节点或相应的父节点。在一些实现方式中,内容元素限制模块245可将额外的节点作为覆盖添加到渲染树300C以遮挡或以其他方式限制相应节点在被客户端设备125显示时的可见性。例如,参考图2B,如果基于视觉检测模块235基于尺寸、位置或色彩元组差异确定与第一内容元素215’A相对应的渲染树300C的节点是受限节点,则内容元素限制模块245可插入具有相同尺寸和位置但具有不同色彩的另一节点作为覆盖来遮挡或以其他方式限制第一内容元素215’A在被显示时的可见性。
渲染树生成器208可基于渲染树300C处理布局。布局可包括采取列表、阵列或树数据结构的一个或多个子布局。一个或多个子布局的每一者可对应于渲染树300C上的一个节点。一个或多个子布局的每一者可包括指定了与内容元素215A-N之一相对应的节点将如何被渲染在客户端设备125的显示器上的渲染信息。例如,子布局可指定出节点将在显示器上占用的绝对像素位置。渲染树生成器208可遍历渲染树300C的节点。对于遍历的每个节点,渲染树生成器208可基于该节点的一个或多个渲染性质生成相应的子布局。显示模块210可额外地处理渲染树生成器208生成的布局以便在客户端设备125上显示信息资源212。
内容元素识别模块225可识别或访问由渲染树生成器208生成的布局。在一些实现方式中,内容元素识别模块225可识别布局的一个或多个子布局。内容元素识别模块225可识别布局中的一个或多个子布局的每一者的子布局类型。例如,内容元素识别模块225可识别出子布局之一对应于图像子布局。内容元素识别模块225可以为一个或多个内容元素215A-N的每一者确定布局中的相应子布局。内容元素识别模块225可识别出布局的一个或多个子布局的每一者的一个或多个性质或属性。
利用所识别的布局,基于视觉检测模块235可确定布局的任何子布局是否是受限子布局。基于视觉检测模块235可应用基于视觉的检测策略。基于视觉的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于视觉检测模块235可遍历布局。在遍历布局的同时,通过应用基于视觉的检测策略,基于视觉检测模块235可确定一个或多个子布局的任何一者是否是受限子布局。基于视觉检测模块235可以为布局中的每个子布局识别一个或多个渲染性质。
在一些实现方式中,通过应用基于视觉的检测策略,基于视觉检测模块230可确定与一个或多个子布局的每一者相对应的一个或多个渲染性质的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限性质或属性。在一些实现方式中,基于视觉检测模块230可从布局的每个子布局的一个或多个渲染性质的一个或多个图形性质或属性中识别出内容元素的尺寸或位置。在一些实现方式中,基于视觉检测模块230可确定布局的每个子布局的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可对应于被识别为受限内容元素的内容元素或者与被识别为受限内容元素的内容元素相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x 300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,通过应用基于视觉的检测策略,基于视觉检测模块235可从布局的各个子布局的一个或多个渲染性质的图形性质或属性中为一个或多个子布局的每一者从一个或多个渲染性质中识别出色彩值(例如,RGB值、字母数字识别符或者HTML色彩代码)。在一些实现方式中,基于视觉检测模块235可从布局的正文子布局325’识别出信息资源212的色彩值。基于视觉检测模块235可计算布局的一个子布局与一个或多个其他子布局之间的色彩值的差异。如果子布局之一与其余子布局之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定该一个子布局是受限子布局。基于视觉检测模块235可计算子布局之一与信息资源212之间的色彩值的差异。如果子布局与信息资源212之间的色彩值的差异超过预定阈值,则基于视觉检测模块235可确定相应的子布局是受限子布局。
在一些实现方式中,基于视觉检测模块235可基于由内容元素识别模块225识别出的子布局类型来识别布局的一个或多个图像子布局。基于视觉检测模块235可访问或取回与布局的一个或多个图像子布局相关联的图像。基于视觉检测模块235可应用图像识别算法来确定一个或多个图像子布局(例如,图3A中的图像子布局345)中包括的图像是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,基于视觉检测模块235可通过应用光学字符识别算法来从图像子布局中识别出一个或多个字符串。基于视觉检测模块235可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的字符串或者与在受限内容元素中识别的字符串相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,基于视觉检测模块235可通过应用特征检测或对象识别算法来从图像子布局中识别出一个或多个视觉特征。在一些实现方式中,基于视觉检测模块235可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由受限格式策略数据库250维护并且可对应于在受限内容元素中识别的一个或多个视觉特征或者与在受限内容元素中识别的一个或多个视觉特征相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用所识别的布局,基于动作检测模块240可确定布局的任何子布局是否是受限子布局。基于动作检测模块240可应用基于动作的检测策略。基于动作的检测策略可由受限格式策略数据库250维护。在一些实现方式中,基于动作检测模块240可遍历布局。在遍历布局的同时,通过应用动作检测策略,基于动作检测模块240可确定一个或多个子布局的任何一者是否是受限子布局。在一些实现方式中,通过应用基于动作的检测策略,基于动作检测模块240可确定布局的一个或多个子布局之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用205渲染。
响应于确定出子布局的任何一者是受限子布局,内容元素限制模块245可应用内容渲染限制策略。内容元素限制模块245可改变、修改或去除布局中的相应子布局或相应的一个或多个渲染性质。在一些实现方式中,内容元素限制模块245可改变、修改或去除布局中的子布局或相应的一个或多个渲染性质。在一些实现方式中,内容元素限制模块245可将额外的子布局作为覆盖添加到布局以遮挡或以其他方式限制相应子布局在被客户端设备125显示时的可见性。例如,参考图2B,如果基于视觉检测模块235基于尺寸、位置或色彩元组差异确定与第一内容元素215’A相对应的布局的子布局是受限子布局,则内容元素限制模块245可插入具有相同尺寸和位置但具有不同色彩的另一子布局作为覆盖来遮挡或以其他方式限制第一内容元素215’A在被显示时的可见性。
显示模块210可处理经变更的文档树300A、对象模型300B、渲染树300C或布局。在一些实现方式中,在内容元素限制模块245改变、修改或去除文档树300A中的内容对象、对象模型300B中的内容对象或匹配的样式规则、渲染树300C的节点或者布局的子布局的任何一者之后,显示模块210可处理文档树300A、对象模型300B、渲染树300C或布局并且渲染信息资源212’来显示在客户端设备125上。
在客户端设备125显示信息资源212之后,基于动作检测模块240可对应用205的一个或多个进程进行监视。在一些实现方式中,基于动作检测模块240可检测应用205在处理信息资源212的同时做出的一个或多个函数调用。在一些实现方式中,内容格式化脚本214可引起对信息资源212的一个或多个内容元素215A-N、文档树300A的一个或多个内容对象、对象模型300B的一个或多个内容对象或一个或多个内容对象的匹配样式规则、渲染树300C的一个或多个节点或者布局的子布局中的任何一者的改变,从而导致应用205中的一个或多个函数调用。例如,内容元素格式化脚本214可通过设置不同的大小、位置或色彩或者其他的视觉特性来将一个或多个内容元素215A-N从一个格式修改到另一个格式。
在一些实现方式中,基于动作检测模块240可识别信息资源212的一个或多个内容元素215A-N、文档树300A的一个或多个内容对象、对象模型300B的一个或多个内容对象或一个或多个内容对象的匹配样式规则、渲染树300C的一个或多个节点或者布局的子布局的一个或多个图形属性或性质的变化。在一些实现方式中,基于动作检测模块240可以为信息资源212检测重生成命令。重生成命令可指示出客户端设备125对信息资源212的渲染的一个或多个改变或变更。在一些实现方式中,重生成命令可由客户端设备125的应用205响应于以下事项而生成:向信息资源212插入或添加新内容元素,向文档树300A插入或添加新内容对象,在对象模型300B中插入或添加新的内容对象或者样式规则的改变或修改,在渲染树300C中插入或添加新节点或者一个或多个渲染性质的改变或修改,或者在布局中插入或添加新的子布局或者一个或多个子布局的改变或修改。
响应于检测到应用205的一个或多个进程,基于动作检测模块240可识别与相应进程相对应或者相关联的一个或多个内容元素215A-N。例如,基于动作检测模块240可检测事件侦听器做出的函数调用并且基于检测到的函数调用识别信息资源212上的按钮内容元素。在一些实现方式中,基于动作检测模块240可识别与信息资源212的一个或多个内容元素215A-N、文档树300A的一个或多个内容对象、对象模型300B的一个或多个内容对象或一个或多个内容对象的匹配样式规则、渲染树300C的一个或多个节点或者布局的子布局的一个或多个图形属性或性质的变化相对应或相关联的一个或多个内容元素215A-N。在一些实现方式中,基于动作检测模块240可识别与重生成命令相对应或相关联的一个或多个内容元素215A-N、文档树300A的内容对象、对象模型300B的样式规则、渲染树300C中的节点以及布局中的子布局。
在一些实现方式中,响应于识别出一个或多个内容元素215A-N、文档树300A的内容对象、对象模型300B的样式规则、渲染树300C中的节点和布局中的子布局,通过应用基于动作的检测策略,基于动作检测模块240可确定关联的进程是否是受限进程。基于动作的检测策略可列出可受到限制的一个或多个进程。受限进程的示例包括大小的改变、位置的改变以及色彩的改变,等等。如果该进程不是受限进程,则基于动作检测模块240可允许或许可该进程继续。在一些实现方式中,应用205的显示模块210可利用执行的进程更新信息资源并且显示新更新的信息资源。如果进程是受限进程,则基于动作检测模块240可终止该进程。在一些实现方式中,基于动作检测模块240可与基于域检测模块230或者基于视觉检测模块235相接口以通过重复先前描述的功能来确定进程是否被许可。
响应于确定进程不被许可,基于动作检测模块240可修改、改变或去除相应的内容元素215A-N。在一些实现方式中,响应于确定进程不被许可,基于动作检测模块240可修改、改变或去除所识别的文档树300A的一个或多个内容对象、对象模型300B的一个或多个内容对象或一个或多个内容对象的匹配样式规则、渲染树300C的一个或多个节点或者布局的子布局。例如,如果对于渲染树的节点之一检测到大小的改变,则基于动作检测模块240可从相应节点的先前渲染性质识别出先前大小。在这个示例中,基于动作检测模块240可将大小设置到先前大小。
在一些实现方式中,基于动作检测模块240可监视由应用205引起的从客户端设备125的一个或多个传送。一个或多个传送可包括从对内容元素215A-N中的一个或多个的指令生成的引用通告。在一些实现方式中,基于动作检测模块240可检测来自从客户端设备125的一个或多个传送的请求。该请求可包括对另一信息资源的请求或者对额外的内容元素的请求,等等。例如,如果基于动作检测模块240存在于代理设备150中,则基于动作检测模块240可拦截从客户端设备125的一个或多个传送并且检测来自这一个或多个传送的请求。在一些实现方式中,基于动作检测模块240可识别与引用通告或请求的传送相对应或相关联的一个或多个内容元素215A-N。在一些实现方式中,基于动作检测模块240可改变、修改或以其他方式去除与引用通告或请求的传送相对应或相关联的一个或多个内容元素215A-N。例如,引用通告或请求可包括相应内容元素215A-N的识别符。利用该识别符,基于动作检测模块240可识别相应的内容元素215A-N。
包括内容元素识别模块225、基于域检测模块230、基于视觉检测模块235、基于动作检测模块240和内容元素限制模块245的应用渲染限制器220可重复以上详述的功能任意多次。例如,应用渲染限制器220可以为信息资源212的内容元素215A-N的每一者反复地重运行内容元素识别模块225、基于域检测模块230、基于视觉检测模块235、基于动作检测模块240和内容元素限制模块245的功能。此外,应用渲染限制器220可以在每当检测到应用205的进程或传送时反复地重运行内容元素识别模块225、基于域检测模块230、基于视觉检测模块235、基于动作检测模块240和内容元素限制模块245的功能。
参考图4,图4是描绘出确定应用上的滚动事件的属性的方法400的流程图。这里针对方法400描述的功能可由如图1所示的数据处理系统110、客户端设备125或代理设备150、如图2所示的内容渲染限制系统或者如图6所示的计算设备或者这些的任何组合执行或者以其他方式运行。简要概括来说,计算设备可识别包括内容元素的信息资源(方框405)。计算设备可通过应用基于动作的检测策略或基于视觉的检测策略的至少一者来确定该内容元素对应于受限内容元素(方框410)。计算设备可通过应用内容渲染限制策略来修改该信息资源以变更该内容元素的渲染(方框415)。
更详细地说,计算设备可识别包括内容元素的信息资源(方框405)。可经由网络从外部服务器(例如,数据处理系统110、内容发布者计算设备115或内容提供者计算设备120)接收信息资源和信息资源的一个或多个内容元素(例如第一内容元素)。在一些实现方式中,信息资源和一个或多个内容元素可来自相同的源(例如,数据处理系统110)。在一些实现方式中,相同的源可由相似的识别符来识别。例如,信息资源可对应于URL“www.example.com/index.html”,而内容元素之一对应于“www.example.com/q31.html”。在这个示例中,信息资源和内容元素的URL中的主机名称是相同的。在一些实现方式中,信息资源和一个或多个内容元素可来自由不同识别符识别的不同的源。例如,信息资源可对应于URL。
信息资源可包括由应用处理并且由应用的一个或多个处理器执行的脚本、标记或者其他代码。例如,信息资源可包括超文本标记语言(HyperText Markup Language,HTML)、可扩展超文本标记语言(Extensible HyperText Markup Language,XHTML)、可扩展标记语言(Extensible Markup Language,XML)、层叠样式表(Cascading Style Sheets,CSS)和JAVASCRIPT,或者这些的任何组合。信息资源可包括一个或多个内容元素、一个或多个相应的样式规则以及内容格式化脚本。一个或多个内容元素的每一者可对应于信息资源的代码的片段。在一些实现方式中,内容元素的每一者可包括HTML元素。HTML元素可包括例如标题、正文、段落、分割、版块、内部框架、图像、画布、小应用程序、脚本、音频、视频、表格和列表,等等。内容元素的每一者可包括一个或多个格式。内容元素的每一者的一个或多个格式中的每一者可包括相应的属性。内容元素的属性的示例可包括色彩、字体、字体大小、字体类型、大小和位置,等等。一个或多个样式规则(例如,CSS样式规则)的每一者可指定各个内容元素的相应格式的特性的一个或多个视觉性质。例如,内容元素215A的第一格式的CSS样式规则可指定第一内容元素215A的任何文本将要居中对齐(例如,“文本对齐:居中”)。在这个示例中,例如,内容元素的第二格式的CSS样式规则可指定第一内容元素的任何文本将要靠右对齐(例如,“文本对齐:靠右”)。内容格式化脚本可以为一个或多个内容元素选择一个或多个格式来供应用的一个或多个模块处理和渲染。
内容格式化脚本可被应用执行来动态地改变、修改或更新信息资源的一个或多个内容元素的每一者的格式化。在一些实现方式中,应用可任意地或随机地改变、修改或更新信息资源的一个或多个内容元素。计算设备进而可根据基于域的策略、基于视觉的策略或者基于动作的策略来改变、修改或去除一个或多个内容元素的显示或渲染,从而引起显示的信息资源的行为的变更。
计算设备可识别信息资源和信息资源中包括的一个或多个内容元素。在一些实现方式中,计算设备可识别与信息资源中包括的一个或多个内容元素相对应的一个或多个代码片段。在一些实现方式中,计算设备可解析信息资源以为一个或多个内容元素的每一者识别内容元素类型。例如,计算设备可基于HTML标签“<iframe>”识别出信息资源包括内部框架内容元素。在一些实现方式中,计算设备可解析信息资源并且可对一个或多个内容元素的任何一者识别出信息资源中包括的一个或多个函数调用。例如,计算设备可搜索信息资源的脚本以寻找与函数调用相对应的字符串。
应用可处理信息资源的一个或多个内容元素的每一者以生成文档树。例如,应用可解析信息资源的HTML标记以生成文档对象模型(Document Object Model,DOM)树。文档树可包括以分层次方式与彼此关联的一个或多个内容对象。例如,DOM树中的两个内容对象在树数据结构中可具有父-子关系。内容对象的每一者可对应于一个或多个内容元素之一的一个格式。文档树中的每个内容对象可包括一个或多个性质或属性。
计算设备可识别或访问由应用生成的文档树。在一些实现方式中,计算设备可识别文档树的一个或多个内容对象。计算设备可识别文档树中的一个或多个内容对象的每一者的内容对象类型。计算设备可以为一个或多个内容元素的每一者确定文档树中的相应内容对象。计算设备可识别文档树的一个或多个内容对象的每一者的一个或多个性质或属性。
应用可识别要被渲染的文档树的内容对象的子集和不会被渲染的文档树的内容对象的子集。应用可识别链接内容对象以导入为信息资源指定的样式规则(例如,CSS样式表)。应用可从文档树中去除不会被渲染的内容对象的子集。应用可以把要被渲染的内容对象的子集中的每个内容对象与信息资源中指定的样式规则相匹配以生成对象模型。
计算设备可识别或访问由应用生成的对象模型。在一些实现方式中,计算设备可识别对象模型的一个或多个内容对象。计算设备可识别对象模型中的一个或多个内容对象的每一者的内容对象类型。计算设备可以为一个或多个内容元素的每一者确定对象模型中的相应内容对象。计算设备可识别对象模型的一个或多个内容对象的每一者的一个或多个性质或属性。
应用可生成用于渲染信息资源的渲染树。应用可包括布局引擎、渲染引擎或者应用的用于准备在应用的显示器上渲染信息资源的任何模块、引擎或进程。在一些实现方式中,应用可基于对象模型或文档树生成渲染树。在一些实现方式中,应用可以为对象模型中的每个内容对象和匹配的样式规则生成一个或多个渲染性质。在一些实现方式中,应用可基于在文档树中的各个内容对象或者对象模型中的匹配样式规则中指定的性质或属性来生成一个或多个性质。渲染树可包括以分层次方式与彼此相关联的一个或多个节点。例如,两个节点在树数据结构中可具有父-子关系。渲染树中的每个节点可对应于要渲染的信息资源的内容元素。渲染树中的每个节点可被匹配到一个或多个渲染性质。
计算设备可识别或访问由应用生成的渲染树。在一些实现方式中,计算设备可识别渲染树的一个或多个节点。计算设备可识别渲染树中的一个或多个节点的每一者的节点类型。计算设备可以为一个或多个内容元素的每一者确定渲染树中的相应节点。计算设备可识别渲染树的一个或多个节点的每一者的一个或多个性质或属性。
应用可基于渲染树处理布局。布局可包括采取列表、阵列或树数据结构的一个或多个子布局。一个或多个子布局的每一者可对应于渲染树上的一个节点。一个或多个子布局的每一者可包括指定了与内容元素之一相对应的节点将如何被渲染在应用的显示器上的渲染信息。例如,子布局可指定出节点将在显示器上占用的绝对像素位置。应用可遍历渲染树的节点。对于遍历的每个节点,应用可基于该节点的一个或多个渲染性质生成相应的子布局。应用可额外地处理由应用生成的布局以便在应用上显示信息资源。
计算设备可识别或访问由应用生成的布局。在一些实现方式中,计算设备可识别布局的一个或多个子布局。计算设备可识别布局中的一个或多个子布局的每一者的子布局类型。例如,计算设备可识别出子布局之一对应于图像子布局。计算设备可以为一个或多个内容元素的每一者确定布局中的相应子布局。计算设备可识别布局的一个或多个子布局的每一者的一个或多个性质或属性。
计算设备可通过应用基于动作的检测策略或基于视觉的检测策略的至少一者来确定该内容元素对应于受限内容元素(方框410)。在一些实现方式中,利用由计算设备识别出的一个或多个内容元素,计算设备可根据基于域的检测策略来确定一个或多个内容元素的任何一者是否是受限内容元素。基于域的检测策略可被维护在计算设备的数据库中。在一些实现方式中,通过应用基于域的检测策略,计算设备可识别一个或多个内容元素之一的主机地址和信息资源的主机地址。计算设备可确定所识别的内容元素的主机地址是否不同于信息资源的主机地址。如果主机地址不同,则计算设备可确定相应的内容元素是受限内容元素。在一些实现方式中,通过应用基于域的检测策略,计算设备可识别出一个或多个内容元素之一包括链接。计算设备可确定相应内容元素的链接包括与信息资源的主机地址不同的地址。
利用由内容元素识别模块识别出的一个或多个内容元素,计算设备可根据基于视觉的检测策略来确定一个或多个内容元素的任何一者是否是受限内容元素。基于视觉的检测策略可由计算设备的数据库来维护。计算设备可确定一个或多个内容元素的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限性质或属性。
在一些实现方式中,计算设备可从信息资源的内容元素的每一者的一个或多个图形性质或属性中识别出内容元素的每一者的尺寸或位置。在一些实现方式中,计算设备可确定信息资源的内容元素的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可对应于被识别为受限内容元素的内容元素或者与被识别为受限内容元素的内容元素相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x 300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,计算设备可从各个内容元素的图形性质或属性中识别出一个或多个内容元素的每一者的色彩值(例如,RGB值、字母数字识别符或者HTML色彩代码)。在一些实现方式中,计算设备可识别信息资源的色彩值。计算设备可计算一个内容元素与一个或多个其他内容元素之间的色彩值的差异。如果内容元素之一与其余内容元素之间的色彩值的差异超过预定阈值,则计算设备可确定该一个内容元素是受限内容元素。计算设备可计算内容元素之一与信息资源之间的色彩值的差异。如果内容元素与信息资源之间的色彩值的差异超过预定阈值,则计算设备可确定相应的内容元素是受限内容元素。
在一些实现方式中,计算设备可从一个或多个内容元素的每一者中识别一个或多个字符。一个或多个字符可来自相应内容元素的文本字段或元数据字段。在一些实现方式中,计算设备可确定从一个或多个内容元素的每一者中识别出的一个或多个字符是否与在受限内容元素中识别的一个或多个预先指定的字符匹配或相似。一个或多个预先指定的字符可来自受限格式策略。在一些实现方式中,计算设备可确定或计算从一个或多个内容元素的每一者识别的一个或多个字符与一个或多个预先指定的字符之间的语义相似性度量。例如,计算设备可应用近似串匹配算法来计算相似性度量。在一些实现方式中,计算设备可将语义相似性度量与阈值度量相比较。在一些实现方式中,计算设备可响应于确定语义相似性度量大于阈值度量而将具有该一个或多个字符的相应内容元素识别为受限内容元素。
在一些实现方式中,计算设备可基于由计算设备识别的内容元素类型来识别信息资源的一个或多个图像内容元素。计算设备可应用图像识别算法来确定一个或多个图像内容元素是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,计算设备可通过应用光学字符识别算法来从图像内容元素中识别出一个或多个字符串。计算设备可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由计算设备的数据库维护并且可与在受限内容元素中识别的字符串相对应或相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,计算设备可通过应用特征检测或对象识别算法来从图像内容元素中识别出一个或多个视觉特征。在一些实现方式中,计算设备可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由计算设备的数据库维护并且可与在受限内容元素中识别的一个或多个视觉特征相对应或相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用由计算设备识别出的一个或多个内容元素,计算设备可根据基于动作的检测策略来确定一个或多个内容元素的任何一者是否是受限内容元素。基于动作的策略可由计算设备的数据库来维护。基于动作的策略可包括用于确定受限内容元素的事件、动作和传送等等的列表。计算设备可从由计算设备解析的信息资源中识别函数调用。在一些实现方式中,通过应用基于动作的检测策略,计算设备可识别出一个或多个内容元素的任何一者是否包括受限制的函数调用。计算设备可通过搜索基于动作的检测策略以寻找受限函数调用的列表来确定该函数调用是受限制的。受限函数调用的示例包括内容元素的图形性质或属性的改变,例如尺寸、位置、色彩和字体,等等。在一些实现方式中,通过应用基于动作的检测策略,计算设备可确定一个或多个内容元素之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用渲染。
利用所识别的文档树,计算设备可确定文档树的内容对象的任何一者是否是受限内容对象。计算设备可应用基于域的检测策略。基于域的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历文档树。在遍历文档树的同时,应用基于域的检测策略,计算设备可确定一个或多个内容对象的任何一者是否是受限内容对象。在一些实现方式中,通过应用基于域的检测策略,计算设备可确定一个或多个内容对象的任何一者是否包括一个或多个受限的性质或属性。在一些实现方式中,通过应用基于域的检测策略,计算设备可基于内容对象的主机名称和信息资源的主机名称来确定一个或多个内容对象的任何一者是否源自于与信息资源不同的主机。在一些实现方式中,通过应用基于域的检测策略,计算设备可确定一个或多个内容对象的任何一者是否包括包含与信息资源的主机名称不同的主机名称的链接。例如,计算设备可识别出内容对象包括包含与信息资源不同的主机名称的链接。基于主机名称的差异,计算设备可确定内容对象是受限内容对象。
利用所识别的文档树,计算设备可确定文档树的内容对象的任何一者是否是受限内容对象。计算设备可应用基于视觉的检测策略。基于视觉的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历文档树。在遍历文档树的同时,通过应用基于视觉的检测策略,计算设备可确定一个或多个内容对象的任何一者是否是受限内容对象。
在一些实现方式中,通过应用基于视觉的检测策略,计算设备可确定一个或多个内容对象的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限的性质或属性。在一些实现方式中,计算设备可从文档树的内容对象的每一者的一个或多个图形性质或属性中识别出内容元素的尺寸或位置。在一些实现方式中,计算设备可确定文档树的内容对象的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可对应于被识别为受限内容元素的内容元素或者与被识别为受限内容元素的内容元素相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x 300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,通过应用基于视觉的检测策略,计算设备可从文档树的各个内容对象的图形性质或属性中识别出一个或多个内容对象的每一者的色彩值(例如,RGB值、字母数字识别符或者HTML色彩代码)。在一些实现方式中,计算设备可从文档树的文档内容对象识别出信息资源的色彩值。计算设备可计算文档树的一个内容对象与一个或多个其他内容对象之间的色彩值的差异。如果内容对象之一与其余内容对象之间的色彩值的差异超过预定阈值,则计算设备可确定该一个内容对象是受限内容对象。计算设备可计算内容对象之一与信息资源之间的色彩值的差异。如果内容对象与信息资源之间的色彩值的差异超过预定阈值,则计算设备可确定相应的内容对象是受限内容对象。
在一些实现方式中,计算设备可从文档树的一个或多个内容对象的每一者中识别一个或多个字符。一个或多个字符可来自各个内容对象的文本字段或元数据字段。在一些实现方式中,计算设备可确定从一个或多个内容对象的每一者中识别出的一个或多个字符是否与在受限内容元素中识别的一个或多个预先指定的字符匹配或相似。一个或多个预先指定的字符可来自受限格式策略。在一些实现方式中,计算设备可确定或计算从一个或多个内容对象的每一者识别的一个或多个字符与一个或多个预先指定的字符之间的语义相似性度量。例如,计算设备可应用近似串匹配算法来计算相似性度量。在一些实现方式中,计算设备可将语义相似性度量与阈值度量相比较。在一些实现方式中,计算设备可响应于确定语义相似性度量大于阈值度量而将具有该一个或多个字符的相应内容对象识别为受限内容元素。
在一些实现方式中,计算设备可基于由计算设备识别的内容对象类型来识别文档树的一个或多个图像内容对象。计算设备可访问或取回与文档树的一个或多个图像内容对象相关联的图像。计算设备可应用图像识别算法来确定一个或多个图像内容对象中包括的图像是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,计算设备可通过应用光学字符识别算法来从图像内容对象中识别出一个或多个字符串。计算设备可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由计算设备的数据库维护并且可与在受限内容元素中识别的字符串相对应或相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,计算设备可通过应用特征检测或对象识别算法来从图像内容对象中识别出一个或多个视觉特征。在一些实现方式中,计算设备可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由计算设备的数据库维护并且可与在受限内容元素中识别的一个或多个视觉特征相对应或相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用所识别的文档树,计算设备可确定文档树的内容对象的任何一者是否是受限内容对象。计算设备可应用基于动作的检测策略。基于动作的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历文档树。在遍历文档树的同时,通过应用动作检测策略,计算设备可确定一个或多个内容对象的任何一者是否是受限内容对象。在一些实现方式中,通过应用基于动作的检测策略,计算设备可确定文档树的一个或多个内容对象之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用渲染。
利用所识别的对象模型,计算设备可确定对象模型的内容对象的任何一者是否是受限内容对象。计算设备可应用基于域的检测策略。基于域的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历对象模型。在遍历对象模型的同时,通过应用基于域的检测策略,计算设备可确定一个或多个内容对象的任何一者是否是受限内容对象。在一些实现方式中,通过应用基于域的检测策略,计算设备可确定一个或多个内容对象的任何一者是否包括一个或多个受限的性质或属性。在一些实现方式中,通过应用基于域的检测策略,计算设备可基于内容对象的主机名称和信息资源的主机名称来确定一个或多个内容对象的任何一者是否源自于与信息资源不同的主机。在一些实现方式中,通过应用基于域的检测策略,计算设备可确定一个或多个内容对象的任何一者是否包括包含与信息资源的主机名称不同的主机名称的链接。
利用所识别的对象模型,计算设备可确定对象模型的内容对象的任何一者是否是受限内容对象。计算设备可应用基于视觉的检测策略。基于视觉的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历对象模型。在遍历对象模型的同时,通过应用基于视觉的检测策略,计算设备可基于对象模型中的相应样式规则确定一个或多个内容对象的任何一者是否是受限内容对象。
在一些实现方式中,通过应用基于视觉的检测策略,计算设备可确定匹配到一个或多个内容对象的样式规则的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限的性质或属性。在一些实现方式中,计算设备可从匹配到对象模型的内容对象的每一者的样式规则的一个或多个图形性质或属性中识别出内容元素的尺寸或位置。在一些实现方式中,计算设备可确定对象模型的内容对象的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可与被识别为受限内容元素的内容元素相对应或相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x 300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,通过应用基于视觉的检测策略,计算设备可从匹配到对象模型的各个内容对象的样式规则的图形性质或属性中识别出一个或多个内容对象的每一者的色彩值(例如,RGB值、字母数字指定符或者HTML色彩值)。在一些实现方式中,计算设备可从对象模型的正文内容对象识别出信息资源的色彩值。计算设备可计算对象模型的一个内容对象与一个或多个其他内容对象之间的色彩值的差异。如果内容对象之一与其余内容对象之间的色彩值的差异超过预定阈值,则计算设备可确定该一个内容对象是受限内容对象。计算设备可计算内容对象之一与信息资源之间的色彩值的差异。如果内容对象与信息资源之间的色彩值的差异超过预定阈值,则计算设备可确定相应的内容对象是受限内容对象。
在一些实现方式中,计算设备可基于由计算设备识别的内容对象类型来识别对象模型的一个或多个图像内容对象。计算设备可访问或取回与对象模型的一个或多个图像内容对象相关联的图像。计算设备可应用图像识别算法来确定一个或多个图像内容对象中包括的图像是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,计算设备可通过应用光学字符识别算法来从图像内容对象中识别出一个或多个字符串。计算设备可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由计算设备的数据库维护并且可与在受限内容元素中识别的字符串相对应或相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,计算设备可通过应用特征检测或对象识别算法来从图像内容对象中识别出一个或多个视觉特征。在一些实现方式中,计算设备可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由计算设备的数据库维护并且可与在受限内容元素中识别的一个或多个视觉特征相对应或相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用所识别的对象模型,计算设备可确定对象模型的内容对象的任何一者是否是受限内容对象。计算设备可应用基于动作的检测策略。基于动作的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历对象模型。在遍历对象模型的同时,通过应用动作检测策略,计算设备可确定一个或多个内容对象的任何一者是否是受限内容对象。在一些实现方式中,通过应用基于动作的检测策略,计算设备可确定对象模型的一个或多个内容对象之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用渲染。
利用所识别的渲染树,计算设备可确定渲染树的节点的任何一者是否是受限节点。计算设备可应用基于视觉的检测策略。基于视觉的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历渲染树。在遍历渲染树的同时,通过应用基于视觉的检测策略,计算设备可确定一个或多个节点的任何一者是否是受限节点。计算设备可以为渲染树中的每个节点识别一个或多个渲染性质。
在一些实现方式中,通过应用基于视觉的检测策略,计算设备可确定与一个或多个节点的每一者相对应的一个或多个渲染性质的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限性质或属性。在一些实现方式中,计算设备可从渲染树的每个节点的一个或多个渲染性质的一个或多个图形性质或属性中识别出内容元素的尺寸或位置。在一些实现方式中,计算设备可确定渲染树的节点的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可与被识别为受限内容元素的内容元素相对应或相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x 300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,通过应用基于视觉的检测策略,计算设备可从渲染树的各个节点的一个或多个渲染性质的图形性质或属性中为一个或多个节点的每一者从一个或多个渲染性质中识别出色彩值(例如,RGB值、字母数字识别符或者HTML色彩代码)。在一些实现方式中,计算设备可从渲染树的正文节点325’识别出信息资源的色彩值。计算设备可计算渲染树的一个节点与一个或多个其他节点之间的色彩值的差异。如果节点之一与其余节点之间的色彩值的差异超过预定阈值,则计算设备可确定该一个节点是受限节点。计算设备可计算节点之一与信息资源之间的色彩值的差异。如果节点与信息资源之间的色彩值的差异超过预定阈值,则计算设备可确定相应的节点是受限节点。
在一些实现方式中,计算设备可基于由计算设备识别的节点类型来识别渲染树的一个或多个图像节点。计算设备可访问或取回与渲染树的一个或多个图像节点相关联的图像。计算设备可应用图像识别算法来确定一个或多个图像节点中包括的图像是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,计算设备可通过应用光学字符识别算法来从图像节点中识别出一个或多个字符串。计算设备可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由计算设备的数据库维护并且可与在受限内容元素中识别的字符串相对应或相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,计算设备可通过应用特征检测或对象识别算法来从图像节点中识别出一个或多个视觉特征。在一些实现方式中,计算设备可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由计算设备的数据库维护并且可与在受限内容元素中识别的一个或多个视觉特征相对应或相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用所识别的渲染树,计算设备可确定渲染树的节点的任何一者是否是受限节点。计算设备可应用基于动作的检测策略。基于动作的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历渲染树。在遍历渲染树的同时,通过应用动作检测策略,计算设备可确定一个或多个节点的任何一者是否是受限节点。在一些实现方式中,通过应用基于动作的检测策略,计算设备可确定渲染树的一个或多个节点之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用渲染。
利用所识别的布局,计算设备可确定布局的任何子布局是否是受限子布局。计算设备可应用基于视觉的检测策略。基于视觉的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历布局。在遍历布局的同时,通过应用基于视觉的检测策略,计算设备可确定一个或多个子布局的任何一者是否是受限子布局。计算设备可以为布局中的每个子布局识别一个或多个渲染性质。
在一些实现方式中,通过应用基于视觉的检测策略,计算设备可确定与一个或多个子布局的每一者相对应的一个或多个渲染性质的任何一者是否包括基于视觉的检测策略所指定的一个或多个受限性质或属性。在一些实现方式中,计算设备可从布局的每个子布局的一个或多个渲染性质的一个或多个图形性质或属性中识别出内容元素的尺寸或位置。在一些实现方式中,计算设备可确定布局的子布局的每一者的尺寸或位置匹配一个或多个预先指定的尺寸或一个或多个预先指定的位置。预先指定的尺寸或预先指定的位置可与被识别为受限内容元素的内容元素相对应或相关联。例如,预先指定的尺寸可以是在线广告的尺寸,例如468x 60像素(全横幅广告),160x 600像素(宽型超高横幅广告)以及720x300(后弹出广告),等等。预先指定的位置的示例可包括顶对齐、左对齐、右对齐以及底对齐,等等。
在一些实现方式中,通过应用基于视觉的检测策略,计算设备可从布局的各个子布局的一个或多个渲染性质的图形性质或属性中为一个或多个子布局的每一者从一个或多个渲染性质中识别出色彩值(例如,RGB值、字母数字识别符或者HTML色彩代码)。在一些实现方式中,计算设备可从布局的正文子布局325’识别出信息资源的色彩值。计算设备可计算布局的一个子布局与一个或多个其他子布局之间的色彩值的差异。如果子布局之一与其余子布局之间的色彩值的差异超过预定阈值,则计算设备可确定该一个子布局是受限子布局。计算设备可计算子布局之一与信息资源之间的色彩值的差异。如果子布局与信息资源之间的色彩值的差异超过预定阈值,则计算设备可确定相应的子布局是受限子布局。
在一些实现方式中,计算设备可基于由计算设备识别的子布局类型来识别布局的一个或多个图像子布局。计算设备可访问或取回与布局的一个或多个图像子布局相关联的图像。计算设备可应用图像识别算法来确定一个或多个图像子布局中包括的图像是否包括受限视觉元素。图像识别算法的示例包括光学字符识别、对象识别、边缘检测、特征检测(例如,宣誓者特征检测)、图像匹配算法以及图像模式识别算法,等等。在一些实现方式中,计算设备可通过应用光学字符识别算法来从图像子布局中识别出一个或多个字符串。计算设备可确定出一个或多个字符串中的至少一者匹配一个或多个预先指定的字符串。预先指定的字符串可由计算设备的数据库维护并且可与在受限内容元素中识别的字符串相对应或相关联。预先指定的字符的示例包括“点击这里”,“购买”、“销售”、“xxx”以及“$”,等等。在一些实现方式中,计算设备可通过应用特征检测或对象识别算法来从图像子布局中识别出一个或多个视觉特征。在一些实现方式中,计算设备可确定一个或多个视觉特征中的至少一者与一个或多个预先指定的视觉特征相匹配。预先指定的视觉特征可由计算设备的数据库维护并且可与在受限内容元素中识别的一个或多个视觉特征相对应或相关联。预先指定的视觉特征的示例可包括用户界面元素,例如退出按钮、最小化或最大化按钮,等等。
利用所识别的布局,计算设备可确定布局的任何子布局是否是受限子布局。计算设备可应用基于动作的检测策略。基于动作的检测策略可由计算设备的数据库来维护。在一些实现方式中,计算设备可遍历布局。在遍历布局的同时,通过应用动作检测策略,计算设备可确定一个或多个子布局的任何一者是否是受限子布局。在一些实现方式中,通过应用基于动作的检测策略,计算设备可确定布局的一个或多个子布局之一是受限内容元素。受限内容元素可以是预先指定的受限类型的内容元素。例如,基于动作的检测策略可指示出小应用程序、音频或视觉内容元素将不被应用渲染。
应用可处理经变更的文档树、对象模型、渲染树或布局。在一些实现方式中,在计算设备改变、修改或去除文档树中的内容对象、对象模型中的内容对象或匹配样式规则、渲染树的节点或者布局的子布局的任何一者之后,应用可处理文档树、对象模型、渲染树或布局并且渲染信息资源来显示在应用上。
在应用显示信息资源之后,计算设备可监视应用的一个或多个进程。在一些实现方式中,计算设备可检测应用在处理信息资源的同时做出的一个或多个函数调用。在一些实现方式中,计算设备可引起对信息资源的一个或多个内容元素、文档树的一个或多个内容对象、对象模型的一个或多个内容对象或一个或多个内容对象的匹配样式规则、渲染树的一个或多个节点或者布局的子布局中的任何一者的改变,从而导致应用中的一个或多个函数调用。例如,计算设备可通过设置不同的大小、位置或色彩或者其他的视觉特性来将一个或多个内容元素从一个格式修改到另一个格式。
在一些实现方式中,计算设备可识别信息资源的一个或多个内容元素、文档树的一个或多个内容对象、对象模型的一个或多个内容对象或一个或多个内容对象的匹配样式规则、渲染树的一个或多个节点或者布局的子布局的一个或多个图形属性或性质的变化。在一些实现方式中,计算设备可检测信息资源的重生成命令。重生成命令可指示出应用对信息资源的渲染的一个或多个改变或变更。在一些实现方式中,重生成命令可由应用的应用响应于以下事项而生成:向信息资源插入或添加新内容元素,向文档树插入或添加新内容对象,在对象模型中插入或添加新的内容对象或者样式规则的改变或修改,在渲染树中插入或添加新节点或者一个或多个渲染性质的改变或修改,或者在布局中插入或添加新的子布局或者一个或多个子布局的改变或修改。
响应于检测到应用的一个或多个进程,计算设备可识别与相应进程相对应或者相关联的一个或多个内容元素。例如,计算设备可检测事件侦听器做出的函数调用并且基于检测到的函数调用识别信息资源上的按钮内容元素。在一些实现方式中,计算设备可识别与信息资源的一个或多个内容元素、文档树的一个或多个内容对象、对象模型的一个或多个内容对象或一个或多个内容对象的匹配样式规则、渲染树的一个或多个节点或者布局的子布局的一个或多个图形属性或性质的变化相对应或相关联的一个或多个内容元素。在一些实现方式中,计算设备可识别与重生成命令相对应或相关联的一个或多个内容元素、文档树的内容对象、对象模型的样式规则、渲染树中的节点以及布局中的子布局。
在一些实现方式中,计算设备可监视来自应用的一个或多个传送。一个或多个传送可包括从对内容元素中的一个或多个的指令生成的引用通告。在一些实现方式中,计算设备可检测来自从应用的一个或多个传送的请求。该请求可包括对另一信息资源的请求或者对额外的内容元素的请求,等等。在一些实现方式中,计算设备可识别与引用通告或请求的传送相对应或相关联的一个或多个内容元素。
响应于确定出内容元素对应于受限内容元素,计算设备可通过应用内容渲染限制策略来修改信息资源以变更该内容元素的渲染(方框415)。在一些实现方式中,响应于确定出内容元素的任何一者是受限内容元素,计算设备可应用内容渲染限制策略。内容渲染限制策略可由计算设备的数据库来维护。计算设备可改变、修改或去除相应的内容元素。在一些实现方式中,计算设备可变更与受限内容元素相对应的信息资源的脚本的一部分。在一些实现方式中,计算设备可将额外的内容元素作为覆盖添加到信息资源以遮挡或以其他方式限制相应内容元素的可见性。
响应于确定出内容对象的任何一者是受限内容对象,计算设备可应用内容渲染限制策略。在一些实现方式中,计算设备可改变、修改或去除文档树中的相应内容对象。在一些实现方式中,计算设备可改变、修改或去除文档树中的内容对象。在一些实现方式中,计算设备可将额外的内容对象作为覆盖添加到文档树以遮挡或以其他方式限制相应内容对象在被应用显示时的可见性。
响应于确定出内容对象的任何一者是受限内容对象,计算设备可应用内容渲染限制策略。计算设备可改变、修改或去除对象模型中的相应内容对象或匹配到该内容对象的样式规则。在一些实现方式中,计算设备可改变、修改或去除对象模型中的内容对象或匹配到该内容对象的样式规则。在一些实现方式中,计算设备可将对象模型中匹配到内容对象之一的样式规则的显示性质设置为空。在一些实现方式中,计算设备可将具有相应的匹配样式规则的额外内容对象作为覆盖添加到对象模型以遮挡或以其他方式限制相应内容对象在被应用显示时的可见性。
响应于确定出节点的任何一者是受限节点,计算设备可应用内容渲染限制策略。计算设备可改变、修改或去除渲染树中的相应节点或相应的一个或多个渲染性质。在一些实现方式中,计算设备可改变、修改或去除渲染树中的节点或相应的一个或多个渲染性质。例如,计算设备可设置从渲染树中删除节点或相应的父节点。在一些实现方式中,计算设备可将额外的节点作为覆盖添加到渲染树以遮挡或以其他方式限制相应节点在被应用显示时的可见性。
响应于确定出子布局的任何一者是受限子布局,计算设备可应用内容渲染限制策略。计算设备可改变、修改或去除布局中的相应子布局或相应的一个或多个渲染性质。在一些实现方式中,计算设备可改变、修改或去除布局中的子布局或相应的一个或多个渲染性质。在一些实现方式中,计算设备可将额外的子布局作为覆盖添加到布局以遮挡或以其他方式限制相应子布局在被应用显示时的可见性。
在一些实现方式中,响应于识别出一个或多个内容元素、文档树的内容对象、对象模型的样式规则、渲染树中的节点和布局中的子布局,通过应用基于动作的检测策略,计算设备可确定关联的进程是否是受限进程。基于动作的检测策略可列出可受到限制的一个或多个进程。受限进程的示例包括大小的改变、位置的改变以及色彩的改变,等等。如果该进程不是受限进程,则计算设备可允许或许可该进程继续。在一些实现方式中,应用的应用可利用执行的进程更新信息资源并且显示新更新的信息资源。如果进程是受限进程,则计算设备可终止该进程。在一些实现方式中,计算设备可与计算设备或计算设备相接口以通过重复先前描述的功能来确定进程是否被许可。
响应于确定进程不被许可,计算设备可修改、改变或去除相应的内容元素。在一些实现方式中,响应于确定进程不被许可,计算设备可修改、改变或去除所识别的文档树的一个或多个内容对象、对象模型的一个或多个内容对象或一个或多个内容对象的匹配样式规则、渲染树的一个或多个节点或者布局的子布局。例如,如果对于渲染树的节点之一检测到大小的改变,则计算设备可从相应节点的先前渲染性质识别出先前大小。在这个示例中,计算设备可将大小设置到先前大小。
在一些实现方式中,计算设备可改变、修改或以其他方式去除与引用通告或请求的传送相对应或相关联的一个或多个内容元素。例如,引用通告或请求可包括相应内容元素的识别符。利用该识别符,计算设备可识别相应的内容元素。
图5是根据说明性实现方式描绘出部署针对干扰信息资源上的内容元素的渲染的未授权脚本的措施的方法500的流程图。这里针对方法400描述的功能可由如图1所示的数据处理系统110或客户端设备125、如图2A所示的内容渲染验证系统200A或者如图7所示的计算设备或者这些的任何组合执行或者以其他方式运行。简要概括来说,计算设备可接收包括内容元素的信息资源(方框503)。计算设备可确定信息资源是否包括受限代码(方框506)。如果信息资源包括受限代码,则计算设备可变更受限代码(方框509)。计算设备可识别由设备的应用基于信息资源生成的文档树(方框512)。计算设备可确定文档树的任何内容对象是否是受限内容对象(方框515)。如果文档树的任何内容对象被确定为是受限内容对象,则计算设备可变更受限内容对象(方框518)。计算设备可识别将样式规则匹配到文档树内容对象的对象模型(方框521)。计算设备可确定任何匹配的样式规则是否被指派到受限内容对象(方框524)。如果任何匹配样式规则被指派到受限内容对象,则计算设备可变更受限内容对象的样式规则(方框527)。计算设备可识别由应用从对象模型生成的渲染树(方框530)。计算设备可确定渲染树中的任何节点是否是受限节点(方框533)。如果渲染树中的任何节点是受限节点,则计算设备可变更受限节点(方框536)。计算设备可识别与信息资源的内容元素相关联的图像(方框539)。计算设备可确定渲染的图像是否包括受限视觉元素(方框542)。如果渲染的图像包括受限视觉元素,则计算设备可变更该图像(方框545)。
计算设备可随后显示信息资源(方框548)。计算设备可监视应用对于内容的请求的传送(方框551)。计算设备可确定该传送是否是受限类型的传送(方框554)。如果该传送是受限类型的传送,则计算设备可修改通信(方框557),识别与该传送相关联的文档树内容对象(方框560),并且变更所识别的文档树内容对象(方框563)。计算设备可监视应用对信息资源的处理(方框566)。计算设备可确定检测到的进程是否是受限进程(方框569)。如果检测到的进程不是受限进程,则计算设备可许可该进程(方框572)并且更新信息资源的显示(方框548)。如果检测到的进程是受限进程,则计算设备可从方框506起重复方法500。
图6示出根据一些实现方式的可用于实现这里论述的任何计算机系统(包括系统110及其组件,例如内容请求模块130,内容选择模块135,以及脚本提供者模块140,或者应用205及其模块,文档树生成器206,渲染树生成器208,显示模块210,以及内容格式化脚本214,或者应用渲染限制器220及其组件,内容元素识别模块225,基于域检测模块230,基于视觉检测模块235,基于动作检测模块240,以及内容渲染限制模块245)的说明性计算机系统600的一般体系结构。计算机系统600可用于经由网络105提供信息来显示。图6的计算机系统600包括与存储器625、一个或多个通信接口605以及一个或多个输出设备610(例如,一个或多个显示单元)和一个或多个输入设备515通信地耦合的一个或多个处理器620。处理器620可被包括在数据处理系统110或者系统110的其他组件中,例如内容请求模块130、内容选择模块135和脚本提供者模块140。处理器可被包括在客户端设备125或代理设备150或者其模块中,例如应用205、文档树生成器206、渲染树生成器208、显示模块210、内容格式化脚本214、应用渲染限制器220、内容元素识别模块225、基于域检测模块230、基于视觉检测模块235、基于动作检测模块240和内容渲染限制模块245。
在图6的计算机系统600中,存储器625可包括任何计算机可读存储介质,并且可存储用于实现这里对于各个系统描述的各种功能的计算机指令,例如处理器可执行指令,以及与之相关、由其生成或者经由(一个或多个)通信接口或(一个或多个)输入设备接收的任何数据。再次参考图1的系统110,数据处理系统110可包括存储器625来存储与一个或多个内容单元的库存的可用性、一个或多个内容单元的预留等等相关的信息。存储器625可包括数据库145。图6所示的(一个或多个)处理器620可用于执行存储在存储器625中的指令,并且在此期间,也可从存储器读取或向存储器写入依照指令的执行而处理和/或生成的各种信息。
图6中所示的计算机系统600的处理器620也可通信地耦合到或者控制(一个或多个)通信接口605以依照指令的执行发送或接收各种信息。例如,(一个或多个)通信接口605可耦合到有线或无线网络、总线或者其他通信手段并且因此可允许计算机系统600向其他设备(例如,其他计算机系统)发送或从其他设备接收信息。虽然在图1的系统中没有明确示出,但一个或多个通信接口促进了系统600的组件之间的信息流。在一些实现方式中,(一个或多个)通信接口可被配置为(例如,经由各种硬件组件或软件组件)向计算机系统600的至少一些方面提供网站作为访问门户。通信接口605的示例包括用户界面(例如,网页),通过该用户界面用户可与数据处理系统600通信。
图6中所示的计算机系统600的输出设备610可被提供来例如允许结合指令的执行查看或以其他方式感知各种信息。(一个或多个)输入设备515可被提供来例如允许用户在指令的执行期间作出手动调整、作出选择、输入数据或者以各种方式中的任何一种与处理器交互。在这里进一步提供涉及可用于这里论述的各种系统的一般计算机系统体系结构的额外信息。
本说明书中描述的主题和操作的实现方式可以用数字电子电路实现,或者用具现在有形介质上的计算机软件、固件或硬件—包括本说明书中公开的结构及其结构等同物—实现,或者用它们中的一个或多个的组合来实现。本说明书中描述的主题的实现方式可实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,其被编码在计算机存储介质上,以供数据处理装置执行或者控制数据处理装置的操作。程序指令可被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号上,该信号被生成来编码信息以便发送到适当的接收装置,以供数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或者它们之中的一个或多个的组合,或者可被包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或者它们之中的一个或多个的组合中。另外,虽然计算机存储介质不是传播的信号,但计算机存储介质可包括编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的物理组件或介质(例如,多个CD、盘或其他存储设备),或者可被包括在一个或多个单独的物理组件或介质中。
这里公开的特征可实现在智能电视模块(或连接电视模块、混合电视模块等等)上,该电视模块可包括被配置为将互联网连通性与更传统的电视节目源(例如,经由线缆、卫星、无线电或其他信号接收)相集成的处理模块。智能电视模块可被物理地包含到电视机中或者可包括单独的设备,例如机顶盒、蓝光或其他数字媒体播放器、游戏机、宾馆电视系统和其他配套设备。智能电视模块可被配置为允许观看者搜索和找到web上、本地有线TV频道上、卫星TV频道上或者存储在本地硬盘驱动器上的视频、电影、照片和其他内容机顶盒(set-top box,STB)或机顶单元(set-top unit,STU)可包括信息家电,该信息家电可包含调谐器并且连接到电视机和外部信号源,将信号变成内容,内容随后被显示在电视屏幕或其他显示设备上。智能电视模块可被配置为提供主屏幕或顶级屏幕,其中包括用于多个不同应用的图标,例如web浏览器和多个流媒体服务、连接的有线或卫星媒体源、其他web“频道”,等等。智能电视模块还可被配置为向用户提供电子节目指南。智能电视模块的配套应用可在移动计算设备上操作来向用户提供关于可用节目的额外信息,允许用户控制智能电视模块,等等。在替换实现方式中,这些特征可实现在膝上型计算机或其他个人计算机、智能电话、其他移动电话、手持式计算机、平板PC或其他计算设备上。
本说明书中描述的操作可实现为由数据处理装置对存储在一个或多个计算机可读存储设备上的或从其他源接收的数据执行的操作。
术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”涵盖了所有种类的用于处理数据的装置、设备和机器,例如包括可编程处理器、计算机、片上系统或前述这些项中的多个或组合。装置可包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件外,装置还可包括为所关注的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境可实现各种不同的计算模型基础设施,例如web服务、分布式计算和网格计算基础设施。内容请求模块130、内容选择模块135和脚本提供者模块140可包括或共享一个或多个数据处理装置、计算设备或处理器。应用205、文档树生成器206、渲染树生成器208、显示模块210、内容格式化脚本214、应用渲染限制器220、内容元素识别模块225、基于域检测模块230、基于视觉检测模块235、基于动作检测模块240和内容渲染限制模块245可包括或共享一个或多个数据处理装置、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言来编写,所述语言包括经编译或解释的语言、声明性或过程式语言,并且计算机程序可按任何形式来部署,包括被部署为独立程序或被部署为模块、组件、子例程、对象或者适合用在计算环境中的其他单元。计算机程序可以但不是必须对应于文件系统中的文件。程序可被存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、存储在专用于所关注程序的单个文件中或者存储在多个协调的文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可被部署来在一个计算机或多个计算机上执行,所述多个计算机位于一个地点或分布在多个地点并由通信网络互连。
本说明书中描述的过程和逻辑流可通过一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出而执行动作,从而来执行。过程和逻辑流也可由专用逻辑电路来执行,并且装置也可实现为专用逻辑电路,专用逻辑电路例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适用于执行计算机程序的处理器例如包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。一般地,处理器将从只读存储器或随机访问存储器或者这两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。一般地,计算机还将包括一个或多个大容量存储设备,或者操作性地耦合到一个或多个大容量存储设备以便从其接收数据或向其传递数据,或者既包括也操作性地耦合到一个或多个大容量存储设备,所述大容量存储设备用于存储数据,例如是磁盘、磁光盘或光盘。然而,计算机不是必须具有这种设备。另外,计算机可被嵌入在另一设备中,另一设备举例来说例如是移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收机或者便携式存储设备(例如,通用串行总线(USB)快闪驱动器)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM和快闪存储器设备;磁盘,例如内部硬盘或可移除盘、磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可被专用逻辑电路所补充,或者被包含在专用逻辑电路中。
为了支持与用户的交互,本说明书中描述的主题的实现方式可实现在计算机上,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)、等离子或LCD(液晶显示)监视器,以及用户可用来向计算机提供输入的键盘和指点设备,例如鼠标或跟踪球。其他种类的设备也可用于支持与用户的交互;例如,提供给用户的反馈可包括任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可按任何形式被接收,包括声响、话音或触觉输入。此外,计算机可通过向用户使用的设备发送文档并从该设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求而向用户的客户端设备上的web浏览器发送网页。
本说明书中描述的主题的实现方式可在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有用户可通过其来与本说明书描述的主题的实现方式交互的图形用户界面或Web浏览器的客户端计算机,或者一个或多个这种后端、中间件或前端组件的任何组合。系统的组件可由任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),互联网(例如,因特网)和对等网络(例如,自组织对等网络)。
例如系统600或系统110之类的计算系统可包括客户端和服务器。例如,数据处理系统110可包括一个或多个数据中心或服务器机群中的一个或多个服务器。客户端和服务器一般可彼此远离并且通常通过通信网络来交互。客户端和服务器的关系是由于计算机程序在各计算机上运行且相互之间具有客户端-服务器关系而发生的。在一些实现方式中,服务器发送数据(例如,HTML页面)到客户端设备(例如,为了向与客户端设备交互的用户显示数据和从该用户接收用户输入)。在服务器处可从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
虽然本说明书包含许多具体实现细节,但这些细节不应被解释为对任何发明的范围或可请求保护的范围的限制,而是对这里描述的系统和方法的特定实现方式所特有的特征的描述。本说明书中在分开的实现方式的上下文中描述的某些特征也可在单个实现方式中组合实现。相反,在单个实现方式的上下文中描述的各种特征也可分开地或者按任何适当的子组合在多个实现方式中实现。另外,虽然以上可将特征描述为按某些组合来动作,或者甚至最初权利要求是这样记载的,但来自要求保护的组合的一个或多个特征在一些情况下可被从该组合中删去,并且要求保护的组合可指向子组合或子组合的变体。
类似地,虽然操作在附图中是按特定顺序描绘的,但这不应当被理解为为了实现期望的结果要求这种操作按所示出的特定顺序或按先后顺序执行,或者要求所有示出的操作都被执行。在一些情况下,权利要求中记载的动作可按不同的顺序执行,而仍实现期望的结果。此外,附图中描绘的过程要实现期望的结果并非必然要求所示出的特定顺序或者先后顺序。
在某些情况中,多任务和并行处理可能是有利的。另外,在以上描述的实现方式中各种系统组件的分离不应当被理解为在所有实现方式中都要求这种分离,并且应当理解所描述的程序组件和系统一般可被一起集成在单个软件产品中或被封装到多个软件产品中。例如,内容请求模块130、内容选择模块135和脚本提供者模块140可以是数据处理系统110的一部分、单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器或者搜索引擎的一部分。此外,应用205、文档树生成器206、渲染树生成器208、显示模块210、应用渲染限制器220、内容元素识别模块225、基于域检测模块230、基于视觉检测模块235、基于动作检测模块240和内容渲染限制模块245可包括客户端设备125或者可以是其一部分,可包括单个模块或者可以是其一部分、可包括具有一个或多个处理模块的逻辑设备或者可以是其一部分。应用渲染限制器220、内容元素识别模块225、基于域检测模块230、基于视觉检测模块235、基于动作检测模块240和内容渲染限制模块245可包括或共享一个或多个数据处理装置、计算设备或者处理器,可以是客户端设备125、单个模块或者具有一个或多个处理模块的逻辑设备的一部分。
现在已描述了一些说明性实现方式,很明显作为示例给出的前述内容是说明性的而不是限制性的。具体地,虽然这里给出的许多示例涉及方法动作或系统元素的特定组合,但这些动作和这些元素可按其他方式来组合以实现相同的目标。仅联系一个实现方式论述的动作、元素和特征并不打算被排除其他实现方式中的相似角色。
这里使用的措辞和术语是为了描述,而不应当被视为限制性的。这里对“包括”、“具有”、“包含”、“涉及”、“特征是”、“特征在于”及其变体的使用是意在涵盖之后列出的项目、其等同物及额外项目,以及仅由之后列出的项目构成的替换实现方式。在一个实现方式中,这里描述的系统和方法由描述的元素、动作或组件中的一者、多于一者的每个组合或者全部构成。
这里以单数形式对系统和方法的实现方式或元素或动作的任何提及也可包含包括多个这些元素的实现方式,并且这里以复数形式对任何实现方式或元素或动作的任何提及也可包含仅包括单个元素的实现方式。单数或复数形式的提及并不打算将当前公开的系统或方法、其组件、动作或元素限制到单数或复数配置。提及任何动作或元素基于任何信息、动作或元素可包括该动作或元素至少部分基于任何信息、动作或元素的实现方式。
这里公开的任何实现方式可与任何其他实现方式相组合,并且提及“一实现方式”、“一些实现方式”、“替换实现方式”、“各种实现方式”、“一个实现方式”等等不一定是相互排斥的并且打算指示出联系该实现方式描述的特定特征、结构或特性可被包括在至少一个实现方式中。这里使用的这种术语不一定全都指的是同一实现方式。任何实现方式可包含性地或排他性地以符合这里公开的方面和实现方式的方式与任何其他实现方式相组合。
提及“或”可被解释为包含性的,从而利用“或”描述的任何术语可指示描述的术语的单个、多于一个和全部的任何一者。
在附图、说明书或任何权利要求中的技术特征后跟着附图标记的情况下,包括这些附图标记只是为了增强附图、说明书和权利要求的可理解性。从而,附图标记存在与否对于任何权利要求元素的范围都没有任何限制效果。
这里描述的系统和方法可以其他特定形式实现,而不脱离其特性。虽然这里提供的示例涉及确定应用上的滚动事件的属性,但这里描述的系统和方法可包括应用到其他环境。前述实现方式是说明性的,而不是限制描述的系统和方法。这里描述的系统和方法的范围从而由所附权利要求而不是前述描述来指示,并且属于权利要求的等同物的含义和范围内的变化被包含在其中。

Claims (35)

1.一种动态地限制信息资源中包括的未授权内容的渲染的方法,包括:
由客户端设备识别包括指定一个或多个图形特性的内容元素的信息资源;
由所述客户端设备通过应用用于检测在所述信息资源上执行的动作的基于动作的检测策略或者用于检测内容元素的图形特性的基于视觉的检测策略中的至少一者来确定所述内容元素对应于受限内容元素;以及
由所述客户端设备响应于通过应用所述基于动作的检测策略或基于动作的检测策略中的至少一者确定出第一内容元素对应于受限内容元素来通过应用内容渲染限制策略来修改所述信息资源,以变更所述信息资源上的所述内容元素的渲染。
2.如权利要求1所述的方法,其中,应用基于动作的检测策略进一步包括识别对于与所述信息资源相对应的布局的重生成命令,所述重生成命令由所述客户端设备响应于新的内容对象被插入到基于所述信息资源生成的文档树上而生成,所述新的内容对象对应于所述内容元素。
3.如权利要求1或2所述的方法,其中,应用基于动作的检测策略进一步包括识别基于所述信息资源生成的文档树的内容对象的一个或多个图形特性的变化,所述内容对象对应于所述内容元素。
4.如权利要求1、2或3所述的方法,其中,应用基于动作的检测策略进一步包括检测从所述内容元素的指令生成的引用通告的传送。
5.如任何在前权利要求所述的方法,其中,应用基于动作的检测策略进一步包括检测所述内容元素是否包括受限函数调用。
6.如任何在前权利要求所述的方法,其中,应用基于视觉的检测策略进一步包括:
从所述一个或多个图形特性识别所述内容元素的尺寸或位置;以及
确定所述内容元素的尺寸或位置匹配对应于与被识别为受限内容元素的内容元素相关联的尺寸或位置的一个或多个相应的预先指定的尺寸或一个或多个相应的预先指定的位置。
7.如任何在前权利要求所述的方法,其中,应用基于视觉的检测策略进一步包括:
识别所述内容元素上的至少一个字符串;以及
确定所述内容元素上的至少一个字符串匹配对应于与被识别为受限内容元素的内容元素相关联的字符串的一个或多个预先指定的受限字符串。
8.如任何在前权利要求所述的方法,其中,应用基于视觉的检测策略进一步包括:
从所述第一内容元素的一个或多个图形特性识别所述内容元素的第一色彩值;
从所述信息资源的第二内容元素的一个或多个图形特性识别所述第二内容元素的第二色彩值;
计算所述第一色彩值与所述第二色彩值之间的色彩差异值;以及
确定色彩差异值高于预定的阈值色彩值。
9.如任何在前权利要求所述的方法,其中,应用基于视觉的检测策略进一步包括:
通过应用特征检测或对象识别算法来从所述内容元素中识别视觉特征;以及
确定所述视觉特征匹配一个或多个预先指定的视觉特征。
10.如任何在前权利要求所述的方法,其中,应用内容渲染限制策略进一步包括从文档树中删除内容对象,所述文档树是从所述信息资源生成的,所述内容对象对应于所述第一内容元素。
11.如任何在前权利要求所述的方法,其中,应用内容渲染限制策略进一步包括将与内容对象相对应的样式规则的显示性质设置为空,所述内容对象对应于所述第一内容元素。
12.如任何在前权利要求所述的方法,其中,应用内容渲染限制策略进一步包括将第二内容元素作为覆盖插入在所述第一内容元素上,以限制所述第一内容元素在所述客户端设备的显示器上的可见性。
13.如任何在前权利要求所述的方法,其中,应用内容渲染限制策略进一步包括变更与所述受限内容元素相对应的所述信息资源的脚本的一部分。
14.一种系统设备,包括:
一个或多个处理器;以及
至少一个存储器,存储被安排为使得所述一个或多个处理器执行如任何在前权利要求所述的方法的计算机可读指令。
15.一种计算机程序,包括用于使得一个或多个处理器执行如权利要求1至13的任何一者所述的方法的计算机可读指令。
16.一种动态地限制信息资源中包括的未授权内容的渲染的方法,包括:
由客户端设备识别包括指定一个或多个图形特性的内容元素的信息资源;
由所述客户端设备通过应用用于检测在所述信息资源上执行的动作的基于动作的检测策略或者用于检测所述内容元素的图形特性的基于视觉的检测策略中的至少一者来确定所述内容元素对应于受限内容元素;以及
由所述客户端设备响应于通过应用所述基于动作的检测策略或所述基于视觉的检测策略中的至少一者确定出第一内容元素对应于受限内容元素来通过应用内容渲染限制策略来修改所述信息资源,以变更所述信息资源上的所述内容元素的渲染。
17.如权利要求16所述的方法,其中,应用基于动作的检测策略进一步包括识别对于与所述信息资源相对应的布局的重生成命令,所述重生成命令由所述客户端设备响应于新的内容对象被插入到基于所述信息资源生成的文档树上而生成,所述新的内容对象对应于所述内容元素。
18.如权利要求16所述的方法,其中,应用基于动作的检测策略进一步包括识别基于所述信息资源生成的文档树的内容对象的一个或多个图形特性的变化,所述内容对象对应于所述内容元素。
19.如权利要求16所述的方法,其中,应用基于动作的检测策略进一步包括检测从所述内容元素的指令生成的引用通告的传送。
20.如权利要求16所述的方法,其中,应用基于视觉的检测策略进一步包括:
从所述一个或多个图形特性识别所述内容元素的尺寸或位置;以及
判定所述内容元素的尺寸或位置匹配对应于与被识别为受限内容元素的内容元素相关联的尺寸或位置的一个或多个相应的预先指定的尺寸或一个或多个相应的预先指定的位置。
21.如权利要求16所述的方法,其中,应用基于视觉的检测策略进一步包括:
识别所述内容元素上的至少一个字符串;以及
确定所述内容元素上的至少一个字符串匹配对应于与被识别为受限内容元素的内容元素相关联的字符串的一个或多个预先指定的受限字符串。
22.如权利要求16所述的方法,其中,应用基于视觉的检测策略进一步包括:
从所述第一内容元素的一个或多个图形特性识别所述内容元素的第一色彩值;
从所述信息资源的第二内容元素的一个或多个图形特性识别所述第二内容元素的第二色彩值;
计算所述第一色彩值与所述第二色彩值之间的色彩差异值;以及
确定色彩差异值高于预定的阈值色彩值。
23.如权利要求16所述的方法,其中,应用内容渲染限制策略进一步包括从文档树中删除内容对象,所述文档树是从所述信息资源生成的,所述内容对象对应于所述第一内容元素。
24.如权利要求16所述的方法,其中,应用内容渲染限制策略进一步包括将与内容对象相对应的样式规则的显示性质设置为空,所述内容对象对应于所述第一内容元素。
25.如权利要求16所述的方法,其中,应用内容渲染限制策略进一步包括将第二内容元素作为覆盖插入在所述第一内容元素上,以限制所述第一内容元素在所述客户端设备的显示器上的可见性。
26.一种用于动态地限制信息资源中包括的未授权内容的渲染的系统,包括:
计算设备,其具有执行以下操作的一个或多个处理器:
识别包括指定一个或多个图形特性的内容元素的信息资源;
通过应用用于检测在所述信息资源上执行的动作的基于动作的检测策略或者用于检测所述内容元素的图形特性的基于视觉的检测策略中的至少一者来确定所述内容元素对应于受限内容元素;以及
响应于通过应用所述基于动作的检测策略或所述基于视觉的检测策略中的至少一者确定出第一内容元素对应于受限内容元素来通过应用内容渲染限制策略来修改所述信息资源,以变更所述信息资源上的所述内容元素的渲染。
27.如权利要求16所述的系统,其中,所述计算设备通过识别对于与所述信息资源相对应的布局的重生成命令来应用所述基于动作的检测策略,所述重生成命令由所述客户端设备响应于新的内容对象被插入到基于所述信息资源生成的文档树上而生成,所述新的内容对象对应于所述内容元素。
28.如权利要求16所述的系统,其中,所述计算设备通过识别基于所述信息资源生成的文档树的内容对象的一个或多个图形特性的变化来应用所述基于动作的检测策略,所述内容对象对应于所述内容元素。
29.如权利要求16所述的系统,其中,所述计算设备通过检测从所述内容元素的指令生成的引用通告的传送来应用所述基于动作的检测策略。
30.如权利要求16所述的系统,其中,所述计算设备通过以下操作来应用所述基于视觉的检测策略:
从所述一个或多个图形特性识别所述内容元素的尺寸或位置;以及
确定所述内容元素的尺寸或位置匹配对应于与被识别为受限内容元素的内容元素相关联的尺寸或位置的一个或多个相应的预先指定的尺寸或一个或多个相应的预先指定的位置。
31.如权利要求16所述的系统,其中,所述计算设备通过以下操作来应用所述基于视觉的检测策略:
识别所述内容元素上的至少一个字符串;以及
确定所述内容元素上的至少一个字符串匹配对应于与被识别为受限内容元素的内容元素相关联的字符串的一个或多个预先指定的受限字符串。
32.如权利要求16所述的系统,其中,所述计算设备通过以下操作来应用所述基于视觉的检测策略:
从所述第一内容元素的一个或多个图形特性识别所述内容元素的第一色彩值;
从所述信息资源的第二内容元素的一个或多个图形特性识别所述第二内容元素的第二色彩值;
计算所述第一色彩值与所述第二色彩值之间的色彩差异值;以及
确定色彩差异值高于预定的阈值色彩值。
33.如权利要求16所述的系统,其中,所述计算设备通过从文档树中删除内容对象来应用所述内容渲染限制策略,所述文档树是从所述信息资源生成的,所述内容对象对应于所述第一内容元素。
34.如权利要求16所述的系统,其中,所述计算设备通过将与从所述信息资源生成的对象模型的内容对象相对应的样式规则的显示性质设置为空来应用所述内容渲染限制策略,所述内容对象对应于所述第一内容元素。
35.如权利要求16所述的系统,其中,所述计算设备通过将第二内容元素作为覆盖插入在所述第一内容元素上以限制所述第一内容元素在所述客户端设备的显示器上的可见性来应用所述内容渲染限制策略。
CN201680053721.6A 2016-02-01 2016-05-27 用于动态限制信息资源中包括的未授权内容的渲染的系统和方法 Active CN108028839B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662289703P 2016-02-01 2016-02-01
US62/289,703 2016-02-01
PCT/US2016/034605 WO2017135985A1 (en) 2016-02-01 2016-05-27 Systems and methods for dynamically restricting the rendering of unauthorized content included in information resources

Publications (2)

Publication Number Publication Date
CN108028839A true CN108028839A (zh) 2018-05-11
CN108028839B CN108028839B (zh) 2020-11-17

Family

ID=56119782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680053721.6A Active CN108028839B (zh) 2016-02-01 2016-05-27 用于动态限制信息资源中包括的未授权内容的渲染的系统和方法

Country Status (4)

Country Link
US (4) US10951634B2 (zh)
EP (2) EP3335395B1 (zh)
CN (1) CN108028839B (zh)
WO (1) WO2017135985A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761516A (zh) * 2019-02-01 2021-12-07 谷歌有限责任公司 数据处理装置执行的方法、系统和计算机存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623680B1 (en) * 2017-07-11 2020-04-14 Equinix, Inc. Data center viewing system
US10664648B2 (en) * 2017-12-08 2020-05-26 Ca, Inc. Webpage rendering using a remotely generated layout node tree
US11055437B2 (en) * 2018-02-02 2021-07-06 Florida Atlantic University Board Of Trustees Systems and methods for ensuring privacy in online information sharing applications
US11281794B2 (en) * 2019-09-26 2022-03-22 Microsoft Technology Licensing, Llc Fine grained access control on procedural language for databases based on accessed resources

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101253487A (zh) * 2005-09-01 2008-08-27 微软公司 基于资源的动态安全授权
CN102915375A (zh) * 2012-11-08 2013-02-06 山东大学 一种基于布局分区的网页加载方法
WO2014193331A1 (en) * 2013-05-27 2014-12-04 Echostar Ukraine, LLC Network-wide remote parental control
CN105051730A (zh) * 2013-01-30 2015-11-11 微软技术许可有限责任公司 使用多个编辑器或特征的各版本的协作

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6271840B1 (en) * 1998-09-24 2001-08-07 James Lee Finseth Graphical search engine visual index
US7406603B1 (en) * 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
KR100458516B1 (ko) 2001-12-28 2004-12-03 한국전자통신연구원 웹-리소스 불법 변경 감지 장치 및 그 방법
US7660857B2 (en) 2003-11-21 2010-02-09 Mindshare Design, Inc. Systems and methods for automatically updating electronic mail access lists
US7877703B1 (en) 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
US7788577B2 (en) 2005-09-23 2010-08-31 Google Inc. Displaying information on a mobile device
US7756333B2 (en) 2006-04-26 2010-07-13 Microsoft Corporation Document layout verification
US20080027866A1 (en) 2006-07-26 2008-01-31 Halcrow Michael A System and method for authenticating file content
US8646071B2 (en) 2006-08-07 2014-02-04 Symantec Corporation Method and system for validating site data
US20080155392A1 (en) 2007-03-02 2008-06-26 Marengo Intellectual Property Ltd. Integrity Checker for Web Browser Document
US8732800B1 (en) * 2007-03-26 2014-05-20 Jerry Askew Systems and methods for centralized management of policies and access controls
AU2007201652B2 (en) 2007-04-13 2010-09-02 Canon Kabushiki Kaisha Laying out graphical elements on a page
US20090216630A1 (en) * 2008-02-22 2009-08-27 Microsoft Corporation Content monetization system with variable ad insertion
US7987140B2 (en) * 2008-02-26 2011-07-26 International Business Machines Corporation Digital rights management of captured content based on criteria regulating a combination of elements
US8095991B2 (en) * 2008-02-26 2012-01-10 International Business Machines Corporation Digital rights management of streaming captured content based on criteria regulating a sequence of elements
US8650648B2 (en) * 2008-03-26 2014-02-11 Sophos Limited Method and system for detecting restricted content associated with retrieved content
US8677481B1 (en) * 2008-09-30 2014-03-18 Trend Micro Incorporated Verification of web page integrity
FR2941312B1 (fr) 2009-01-19 2017-06-23 Cie Ind Et Financiere D'ingenierie Ingenico Procede de securisation d'interface entre un utilisateur et une application, systeme, terminal et produit programme d'ordinateur correspondants.
US9237311B2 (en) 2009-02-06 2016-01-12 At&T Intellectual Property I, Lp Network architecture and method for application deployment
CN102893277A (zh) 2010-05-19 2013-01-23 惠普发展公司,有限责任合伙企业 用于使用自适应阈限计算的网页分割的系统和方法
CN102541917B (zh) 2010-12-23 2015-04-08 国际商业机器公司 用于验证Web页面布局的方法和系统
US10303526B2 (en) 2011-03-08 2019-05-28 Facebook, Inc. Device specific handling of user interface components
US9262766B2 (en) * 2011-08-31 2016-02-16 Vibrant Media, Inc. Systems and methods for contextualizing services for inline mobile banner advertising
US10262148B2 (en) 2012-01-09 2019-04-16 Visa International Service Association Secure dynamic page content and layouts apparatuses, methods and systems
EP2642715A1 (en) 2012-03-20 2013-09-25 British Telecommunications public limited company Method and system for malicious code detection
US9015581B2 (en) 2012-03-26 2015-04-21 Vistaprint Schweiz Gmbh Self-adjusting document layouts using system optimization modeling
GB2507749A (en) 2012-11-07 2014-05-14 Ibm Ensuring completeness of a displayed web page
US10078626B1 (en) 2012-11-27 2018-09-18 Amazon Technologies, Inc. Automated layout testing of content
US9330068B2 (en) 2013-01-23 2016-05-03 Go Daddy Operating Company, LLC Method for conversion of website content
WO2014127535A1 (en) 2013-02-22 2014-08-28 Google Inc. Systems and methods for automated content generation
US9355223B2 (en) * 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US8671352B1 (en) 2013-05-07 2014-03-11 Axure Software Solutions, Inc. Variable dimension version editing for graphical designs
US9231975B2 (en) 2013-06-27 2016-01-05 Sap Se Safe script templating to provide reliable protection against attacks
US9083726B2 (en) * 2013-09-11 2015-07-14 Verizon Patent And Licensing Inc. Automatic content publication and distribution
AU2014319964B2 (en) 2013-09-12 2019-01-17 Wix.Com Ltd. System and method for automated conversion of interactive sites and applications to support mobile and other display environments
US9311422B2 (en) 2013-09-12 2016-04-12 Adobe Systems Incorporated Dynamic simulation of a responsive web page
US9575941B1 (en) 2013-10-01 2017-02-21 Google Inc. Dynamic adjustment to content for a display device
US9692787B1 (en) 2014-01-16 2017-06-27 Google Inc. System for controlling browser extensions
US9792267B2 (en) 2014-03-31 2017-10-17 NIIT Technologies Ltd Simplifying identification of potential non-visibility of user interface components when responsive web pages are rendered by disparate devices
US20150339461A1 (en) * 2014-05-23 2015-11-26 Ebay Inc. Presence-based content restriction
US10241978B2 (en) 2014-06-09 2019-03-26 Entit Software Llc Measuring compatibility of viewers by leveraging user-provided element definitions
US9432383B2 (en) 2014-07-25 2016-08-30 Sap Se Web page integrity validation
US20160048605A1 (en) 2014-08-14 2016-02-18 International Business Machines Corporation Integrating image renditions and page layout
DE112014007077T5 (de) 2014-10-20 2017-07-06 Google Inc. Erzeugung von inhaltselementen mit beliebiger grösse
US9965451B2 (en) 2015-06-09 2018-05-08 International Business Machines Corporation Optimization for rendering web pages
RU2610254C2 (ru) 2015-06-30 2017-02-08 Закрытое акционерное общество "Лаборатория Касперского" Система и способ определения измененных веб-страниц
US20170017380A1 (en) 2015-07-13 2017-01-19 International Business Machines Corporation Mobile enabling a web application developed without mobile rendering capabilities
JP6714337B2 (ja) * 2015-10-16 2020-06-24 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US10007647B2 (en) 2016-05-23 2018-06-26 International Business Machines Corporation Adapting and validating graphical user interfaces for target devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101253487A (zh) * 2005-09-01 2008-08-27 微软公司 基于资源的动态安全授权
CN102915375A (zh) * 2012-11-08 2013-02-06 山东大学 一种基于布局分区的网页加载方法
CN105051730A (zh) * 2013-01-30 2015-11-11 微软技术许可有限责任公司 使用多个编辑器或特征的各版本的协作
WO2014193331A1 (en) * 2013-05-27 2014-12-04 Echostar Ukraine, LLC Network-wide remote parental control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761516A (zh) * 2019-02-01 2021-12-07 谷歌有限责任公司 数据处理装置执行的方法、系统和计算机存储介质

Also Published As

Publication number Publication date
EP3335395A1 (en) 2018-06-20
EP3840331B1 (en) 2023-10-04
US20200084231A1 (en) 2020-03-12
EP3335395B1 (en) 2021-03-24
CN108028839B (zh) 2020-11-17
WO2017135985A1 (en) 2017-08-10
US20210203679A1 (en) 2021-07-01
US20180367552A1 (en) 2018-12-20
US11363040B2 (en) 2022-06-14
US11886546B2 (en) 2024-01-30
EP3840331A1 (en) 2021-06-23
US11947377B2 (en) 2024-04-02
US10951634B2 (en) 2021-03-16
US20220255955A1 (en) 2022-08-11

Similar Documents

Publication Publication Date Title
CN107408189B (zh) 针对干扰在信息资源上渲染内容元素的未授权脚本部署对策的系统和方法
CN105556449B (zh) 用于数字杂志的动态布局引擎
CN105874449B (zh) 用于提取和生成用于显示内容的图像的系统和方法
CN105637509B (zh) 在图像内搜索和注释
CN108027839A (zh) 用于标识非规范会话的系统和方法
CN102999535A (zh) 信息显示方法和信息获取方法、客户端和服务器
US9684718B2 (en) System for searching for a web document
US11947377B2 (en) Systems and methods for dynamically restricting the rendering of unauthorized content included in information resources
CN102907069A (zh) 执行图形应用的方法和系统
CN109074214A (zh) 用于控制内容的显示的系统和方法
CN106156244A (zh) 一种信息搜索导航方法及装置
CN108463822A (zh) 利用视觉样式用于信息资源的内容元素的动态渲染交互统计数据
CN108475200A (zh) 用于在无限滚动图形用户界面中归属滚动事件的系统和方法
US11074030B2 (en) Identifying a viewport within a browser window
US20140143237A1 (en) Information processing device, information processing method, program for information processing device, and recording medium
CN106233284B (zh) 生成用于主要内容的稳定标识符的方法和系统
US10210001B2 (en) Automatic execution of objects in a user interface
CN108701158A (zh) 对信息资源上的内容的基于散列的动态限制
Huang et al. Web content adaptation for mobile device: A fuzzy-based approach
CN108369609A (zh) 用于跨中介平台控制内容质量的发布者工具
CN109891421A (zh) 部署对信息资源上的内容元素的基于散列的动态限制的对策
US11074609B1 (en) Systems and method for improving mediated sponsored content networks using a stack trace
CN117909603A (zh) 防止干扰在信息资源上渲染内容元素的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant