CN108027830A - 用于自动内容验证的系统和方法 - Google Patents

用于自动内容验证的系统和方法 Download PDF

Info

Publication number
CN108027830A
CN108027830A CN201680053517.4A CN201680053517A CN108027830A CN 108027830 A CN108027830 A CN 108027830A CN 201680053517 A CN201680053517 A CN 201680053517A CN 108027830 A CN108027830 A CN 108027830A
Authority
CN
China
Prior art keywords
content item
server
image
request
client device
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
CN201680053517.4A
Other languages
English (en)
Other versions
CN108027830B (zh
Inventor
T.普赖斯
T.托克索兹
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 CN108027830A publication Critical patent/CN108027830A/zh
Application granted granted Critical
Publication of CN108027830B publication Critical patent/CN108027830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

自动内容验证的方法可以包括:通过由客户端设备执行的应用、从服务器请求用于显示给客户端设备的用户的内容项,该请求包括与该内容项将在客户端设备上渲染的环境有关的环境信息。客户端设备的网络接口可以从服务器接收请求的内容项。集成有应用程序的客户端设备的渲染器可以渲染接收的内容项。集成有应用程序的客户端设备的捕捉模块可以捕捉渲染的内容项的图像。客户端设备的网络接口可以传输捕捉的图像,该服务器将捕捉的图像与预定的图像比较,以识别任何渲染失真。

Description

用于自动内容验证的系统和方法
技术领域
背景技术
由于各种各样的应用内渲染环境,使移动应用程序或“应用程序”一致且正确地渲染由服务器提供的内容项可能很困难。相比之下,在网络上存在相对一致的环境:大多数渲染发生在少数浏览器中的一个中,每个浏览器只有几个版本必须考虑。对于应用程序,如果内容项要在应用程序内的浏览器窗口中渲染,则会有更多种环境因素,包括应用程序本身、客户端设备类型、操作系统类型和浏览器类型。
发明内容
本公开涉及用于在移动应用内渲染内容的自动质量控制系统的系统和方法。在一个实施方式中,在渲染内容项之后生成屏幕截图,使得屏幕截图对应于在特定环境中渲染的内容项。屏幕截图与内容项的正确或“主”图像进行比较,因为它应该使用自动化系统呈现。在一些实施方式中,内容被渲染,并且屏幕截图在客户端设备上被捕捉。在其他实施方式中,内容被呈现,并且在品质比较服务器上捕捉屏幕截图,其中虚拟机或环境用对应于客户端设备的配置文件实例化。
文中描述的第一示例性实施方式包括:通过由客户端设备执行的应用、从服务器请求用于显示给客户端设备的用户的内容项,该请求包括与该内容项将在客户端设备上渲染的环境有关的环境信息。该实施方式还包括通过客户端设备的网络接口、从服务器接收请求的内容项,通过集成有应用程序的客户端设备的渲染器、渲染接收的内容项,通过集成有应用程序的客户端设备的捕捉模块、捕捉渲染的内容项的图像,以及通过客户端设备的网络接口、传输捕捉的图像到服务器,服务器将捕捉的图像与预定的图像比较,该比较识别任何渲染失真。
请求用于显示的内容项还可包括传输包括用于显示内容项的文档对象模型的参数的请求。请求用于显示的内容项还可包括传输包括客户端设备的设备类型的请求。
该实施方式还可包括:通过浏览器窗口中的客户端设备、将内容项显示给客户端设备的用户。该请求还可包括识别浏览器窗口的浏览器类型。
捕捉渲染的内容项的图像还可包括,通过捕捉模块的采样引擎,确定该请求是否为将被采样组的请求的一部分,以及响应于将被采样组的请求的一部分的请求、捕捉渲染的内容项的图像。确定请求是否为将被采样组的请求的一部分还可包括,将随机数生成器的输出与预定值相比较,以及响应于该输出与预定值匹配来确定请求是否为将被采样组的请求的一部分。
该实施方式还可包括:通过客户端设备、从服务器接收请求,以捕捉渲染的内容项的图像。
文中描述的第二示例性实施方式包括,通过服务器、从由客户端设备执行的应用程序接收用于显示给客户端设备的用户的内容项的请求,该请求包括与该内容项将在客户端设备上渲染的环境有关的环境信息,通过服务器、将请求的内容项传输到客户端设备的网络接口,通过服务器、接收内容项的渲染的捕捉图像,以及通过服务器的比较模块的比较引擎、将捕捉的图像与预定的图像相比较,该比较识别任何渲染失真。
该第二实施方式还可包括,通过比较模块的量化引擎、至少部分地基于任何识别的扭曲失真计算失真数值。
该比较可以是捕捉图像和预定图像的对应像素之间的逐像素比较。该比较可以是散列比较。
该第二实施方式还可包括,将失真数值和对应的环境信息存储在服务器上;通过服务器的分析模块的分类引擎、分析环境信息,从而确定多个环境参数中的至少一个的数值;以及将多个环境参数中的至少一个的数值存储在服务器上。
该第二实施方式还可包括,通过服务器的分析模块、识别在预定的阈值之上的失真数值和对应的环境参数的数值之间的相关性;以及通过服务器的分析模块、生成识别与未正确渲染的内容相关联的环境参数的数值的报告。
该第二实施方式还可包括,将失真数值、对应的环境信息、以及与内容项的特征相关的对应的内容项信息存储在服务器上;通过服务器的分析模块的分类引擎、分析环境信息,从而确定多个环境参数中的至少一个的数值;通过服务器的分析模块的分类引擎、分析内容项信息,从而确定多个内容项参数中的至少一个的数值;以及通过服务器的分析模块、识别在预定的阈值之上的失真数值以及对应的环境参数的数值和对应的内容项参数的数值的组合之间的相关性;以及通过服务器的分析模块、生成识别与未正确渲染的内容相关联的环境参数的数值和内容项参数的数值的组合的报告。
捕捉的图像可以是对从客户端设备的网络接口接收的在客户端设备上的内容项的渲染。
接收内容项的渲染的捕捉图像可包括:通过服务器的管理程序管理器、实例化与环境信息相对应的虚拟机;通过虚拟机的渲染器、渲染内容项;以及通过虚拟机的捕捉引擎、捕捉渲染的内容项的图像。
实例化与环境信息相对应的虚拟机还可包括:通过服务器、从多个客户端设备接收用于内容项的多个请求,每个请求包括相同的环境信息,
从由服务器保持的计数器确定请求的数量超过预定的阈值,以及响应于该确定、实例化与环境信息相对应的虚拟机。渲染内容项还可包括通过虚拟机渲染每个请求的内容项。捕捉渲染的内容项的图像还可包括,通过虚拟机捕捉每个请求的内容项的图像。
第三实施方式包括:通过服务器、从由客户端设备执行的应用程序接收用于显示给设备的用户的内容项的请求,该请求包括与该内容项将在客户端设备上渲染的环境有关的环境信息,通过服务器的网络接口、将请求的内容项传输至客户端设备,通过服务器的管理程序管理器、实例化与环境信息相对应的虚拟机,通过虚拟机的渲染器、渲染内容项,以及通过虚拟机的捕捉引擎、捕捉渲染的内容项的图像。
附图说明
一种或多种实施方式的细节在下面的附图和描述中阐述。本公开的其他的特征、方面和优点将从描述、附图和权利要求中变得显而易见,其中:
图1A是根据一个实施方式的、正确渲染以用于显示给客户端设备的用户的内容项的视图;
图1B是根据另一实施方式的、未正确渲染而用于显示给客户端设备的用户的内容项的视图;
图2是在一个实施方式中的多个部件以及这些部件之间的相互作用的详细视图;
图3是根据一个实施方式的、用于自动化质量控制的客户端渲染方法的流程图;
图4是根据一个实施方式的、用于自动化质量控制的服务器端渲染方法的流程图;以及
图5是根据一个实施方式的、用于服务器端渲染的虚拟机环境的实例化的流程图。
应当认识到,为了说明的目的,一些或全部附图是示意性的表示。提供这些附图是为了图示一个或多个实施例的目的,并明确地理解它们将不被用于限制权利要求的范围或含义。
具体实施方式
下面是关于用于在计算机网络上提供信息的方法、装置和系统的各种相关概念和实施方式的更详细的描述。在上面介绍并在下面更详细讨论的各种概念可以以多种方式中的任何方式来实现,因为所描述的概念不限于任何特定的实施方式。具体的实施方式和应用的示例主要为了说明的目的而提供。
计算设备(例如,客户端设备)可以接收资源,诸如网页,文档,应用程序等。在一些实施方式中,计算设备可以通过与服务器(诸如网页服务器)通信经由因特网而访问与该资源对应的资源。该资源包括来自第一方内容提供者的内容,并且还可以包括额外的第三方提供的内容。在一个实施方式中,响应于接收访问网页的请求,网页服务器和/或客户端设备可以与诸如内容项选择系统的数据处理系统进行通信,以请求内容项与所请求的网页一起呈现,诸如通过执行资源的代码来请求第三方内容项与资源一起呈现。内容项选择系统可以选择第三方内容项、并且提供数据以在客户端设备的显示器上实现内容项与所请求的网页的呈现。在一些情况下,内容项被选择并且与关联于搜索查询响应的资源一起服务。例如,搜索引擎可以在搜索结果网页上返回搜索结果,并且可以在搜索结果网页的一个或多个内容项插槽中包括与搜索查询有关的第三方内容项。
计算设备(例如,客户端设备)也可以用于查看或执行诸如移动应用程序的应用程序。应用程序可以包括来自第一方内容提供者的作为应用程序主题的第一方内容,并且也可以包括额外的第三方提供的内容。在一个实施方式中,响应于应用程序的使用,资源服务器和/或客户端设备可以与诸如内容项选择系统的数据处理系统进行通信,以请求将内容项与应用程序和/或其他的用户界面一起呈现。内容项选择系统可以选择第三方内容项、并且提供数据以在客户端设备的显示器上实现内容项与应用程序的呈现。
在一些情况下,设备标识符可以与客户端设备相关联。设备标识符可以是与客户端设备相关联的随机数,以在对资源和/或内容项的后续请求期间识别设备。在一些情况下,设备可以被配置为存储和/或促使客户端设备将与客户端设备相关的信息传输到内容项选择系统和/或资源服务器(例如,传感器数据的数值,网页浏览器类型,操作系统,历史资源请求,历史内容项请求等)。
如上所述,内容项可由客户端设备在应用程序、浏览器或其他可执行代码内显示。由于环境变量范围广泛,包括设备类型、屏幕尺寸和分辨率、操作系统和版本、应用程序类型和版本、嵌入代码类型和版本等,内容可能并不总是按需显示。例如,图1A描绘了正在由客户端设备显示的正确渲染的内容项。客户端设备102的显示器218正在显示内容项201的正确渲染。
相反地,图1B描绘了正在由客户端设备显示的未正确渲染的内容项。在该情况下,客户端设备102的显示器218正在显示内容项201的过大缩放的渲染。其他不正确的渲染可以包括,例如图像朝向一侧偏移、使得只有部分图像出现在屏幕上,或者图像的颜色被错误渲染,或者根本没有渲染,或者这些或其他的不正确渲染的任意组合。不正确的渲染可能会导致点击率或转换率降低,或可能具有其他不利影响。因此,可以使用自动内容验证系统来查看客户端设备或环境的渲染质量,并且识别正确或不正确的渲染。在一些实施方式中,内容提供者可能由于未正确渲染的内容的呈现而被收取降低的费用或者不收费。
图2示出了可以在用于自动内容验证的方法的实施方式中使用的系统100中使用的一些部件、设备和网络。
系统100可以包括网络106。网络106可以包括局域网(LAN),广域网(WAN),诸如公共交换电话网(PSTN)的电话网络,无线链路,内联网,因特网或其组合。
系统100还可以包括客户端设备102。客户端设备102可以包括一个或多个设备,诸如计算机,膝上型电脑,台式机,智能电话,平板电脑,个人数字助理,用于电视机的机顶盒,智能电视,或服务器设备,其配置为经由网络106与其他设备通信。该设备可以是包括数据处理器200和存储器202的任何形式的便携式电子设备。存储器202可存储机器指令,所述机器指令在由处理器200执行时使处理器200执行文中所述的一个或多个操作。存储器还可以存储数据,以在计算设备上实现一个或多个资源、内容项等的呈现。处理器200可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器202可以包括但不限于,能够向处理器提供程序指令的电子、光学、磁性或任何其他存储或传输设备。存储器可以包括软盘,光盘只读存储器(CD-ROM),数字多功能盘(DVD),磁盘,存储器芯片,只读存储器(ROM),随机存取存储器(RAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),闪存,光学介质或处理器可以从其读取指令的任何其他合适的存储器。这些指令可以包括来自任何合适的计算机编程语言的代码,例如但不限于,C,C++,C#,Java,Visual和XML。
客户端设备102可以执行软件应用程序204(例如,网页浏览器或其他应用程序)以通过网络106从其他计算设备检索内容。在一些情况下,在客户端设备102上运行的应用程序204本身可以是第一方内容(例如游戏,媒体播放器等)。在一个实施方式中,客户端设备102可以执行在客户端设备的显示器218上提供浏览器窗口的网络浏览器应用程序。浏览器窗口可以显示在由另一应用程序产生的窗口的一部分上,例如,标题或弹出窗口。在这样的实施方式中,浏览器可以被称为用于内容的渲染器或渲染引擎。提供浏览器窗口的网络浏览器应用程序可以通过从输入设备(例如,指示设备,键盘,触摸屏或其他形式的输入设备)接收统一资源定位符(URL)的输入(例如网址)而操作。作为响应,执行来自网络浏览器应用程序的指令的客户端设备的一个或多个处理器可以从由URL地址所引用的连接到网络106的另个设备(例如,服务器104)的请求数据。该另一设备可以然后向客户端设备102提供网页数据和/或其他数据,这导致视觉标记被显示在客户端设备102的显示器218上。因此,浏览器窗口显示检索到的第一方内容,例如来自各种网站的网页,以促进用户与第一方内容的交互。或者,在一些实施方式中,应用程序204可以从没有来自用户的输入的其他计算设备检索内容。例如,在一个实施方式中,一旦应用程序204被客户端设备102执行,其可以以与上述方式类似的方式检索内容,但是替代地使用例如,存储的URL地址而不是用户输入的地址,或者可以检索本地存储的内容。
系统100还可以包括至少一个服务器,诸如服务器104。服务器104可以包括至少一个逻辑设备,诸如具有数据处理器的计算设备,以经由网络106与例如客户端设备110和/或第三方内容服务器通信。服务器104可以包括一个或多个数据处理器220,诸如内容放置处理器,其被配置为执行存储在存储器设备222中的指令以执行文中描述的一个或多个操作。换句话说,服务器104的一个或多个数据处理器和存储器设备可以形成处理模块。处理器220可以类似于处理器200,并且可以包括微处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)等,或其组合。存储器222可以类似于存储器202,并且可以包括但不限于,能够向处理器提供程序指令的电子、光学、磁性或任何其他存储或传输设备。存储器可以包括软盘,光盘只读存储器(CD-ROM),数字多功能盘(DVD),磁盘,存储器芯片,只读存储器(ROM),随机存取存储器(RAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),闪存,光学介质或处理器可以从其读取指令的任何其他合适的存储器。这些指令可以包括来自任何合适的计算机编程语言的代码,例如但不限于,C,C++,C#,HTML,XML,和Visual处理器可以处理指令并输出数据以实现向服务器104和/或客户端设备102呈现一个或多个内容项。除了处理电路之外,服务器104可以包括配置为存储数据的一个或多个数据库。服务器104还可以包括被配置为经由网络106接收数据并且将来自服务器104的数据提供给网络106上的任何其他设备的接口。
一个或多个第三方内容提供者可以具有第三方内容服务器,以经由网络106将第三方内容项的数据直接或间接地提供给计算设备。内容项可以是可呈现在客户端设备102的显示器上的任何格式,例如图形,文本,图像,音频,视频等。内容项还可以是多种格式的组合(混合)。内容项目可以是标题内容项,插页式内容项,弹出式内容项,富媒体内容项,混合内容项,Flash内容项,跨域内嵌框架内容项等。内容项还可以包括嵌入信息,诸如超链接,元数据,链接,机器可执行指令,注释等。在一些情况下,第三方内容服务器可以被集成到服务器104中,和/或用于第三方内容项的数据可以被存储在服务器104的数据库中。
在用于自动内容验证的方法的一个实施方式中,由系统100的客户端设备102执行的应用204可以发起请求,将来自服务器104的内容项经由客户端设备102的显示器218显示给用户。该请求包括可存储在应用程序204的存储器中的环境信息,该环境信息涉及将在客户端设备102上渲染的内容项的环境。例如,环境信息可以包括用于显示内容项的文档对象模型的参数,或者可以包括客户端设备的设备类型,或者可以包括与应用程序204相关的信息,或者可以以任何组合包括浏览器窗口(在其中内容项将被显示给用户)的浏览器类型,或与内容项将被渲染的环境有关的信息相关的任何其他信息,及它们的任意组合。
该请求经由网络106被传输到服务器104,在该服务器该请求可以被服务器104的网络接口接收。服务器104然后可以经由网络106将存储在服务器104上的内容项传输到客户端设备102,在该客户端设备处内容项可以被客户端设备102的网络接口接收。客户端设备102可以具有渲染器208和捕捉模块210,其与应用程序204分离或者与其集成。渲染器208可以包括用于渲染接收到的内容项以向用户显示的应用程序、服务、守护进程、例程或其他可执行逻辑。渲染器208可以是显示引擎的一部分或操作系统的一部分,可以是诸如网页浏览器或者任何其他此类服务或例程的应用程序的渲染引擎。捕捉模块210可以包括用于捕捉渲染的内容项的图像并将图像存储在捕捉图像存储器216中的应用程序、服务、守护进程、例程或其他可执行逻辑。捕捉模块210可以是操作系统的一部分,或者可以是使用操作系统的应用程序编程接口(API)的例程,例如触发屏幕捕捉例程或将显示缓冲器的内容保存到存储器位置。
每次渲染器208渲染内容项时,捕捉模块210可以执行该捕捉。然而,在许多实施方式中,这种频繁捕捉可能是不必要的。相应地,捕捉模块210还可以当其从服务器104接收到这么做的指令时执行该捕捉,该指令例如经由网络106与所请求的内容项一起传输到客户端设备102。服务器104可以确定何时发送该指令。例如,服务器104可以确定发送该指令和每个请求的内容项,或者其可以请求发送该指令和每个第n个请求的内容项,或者其可以响应于随机数生成器的输出等于预定值来确定而发送该指令和所请求的内容项,或者其可以基于从客户端设备102接收到的环境信息来确定发送该指令和请求的内容项,或者其可以基于任何其他方法、或基于方法的任何组合来确定发送该指令和所请求的内容项。
捕捉模块210还可以基于客户端设备102的采样引擎212确定对该内容项的请求是将被采样组的请求的一部分来执行该捕捉。采样引擎212可以包括用于确定是否捕捉渲染内容的应用程序、服务、例程、守护进程或其他可执行逻辑。该确定可以通过采样引擎采用例如上述的任何方法而进行。该确定还可以通过以下方式进行,将由采样引擎212保持的随机数生成器或伪随机数生成器214的输出与预定的数值或数值范围进行比较,并如果输出与预定值匹配,则确定该内容项是将被发送组的请求的一部分。
这样,使用客户端设备102的资源在客户端设备102上进行渲染和捕捉。这样的实施方式通常可以被称为客户端渲染或捕捉的实施方式。在稍后描述的另一实施方式中,渲染和捕捉可以通过使用服务器104的资源在服务器104上进行。这可以减少客户端设备上的处理器和/或带宽需求,这对用户来说可能是优选的。这些实施方式通常可以被称为服务器端渲染或捕捉的实施方式。
在客户端渲染实施方式中,捕捉模块210经由网络106将捕捉的图像从图像存储器216传输到服务器104。然后,服务器104的比较模块226的比较引擎228将捕捉的图像与存储在预定的图像存储器232中的预定图像比较。这允许比较引擎228确定所捕捉的图像是否对应于内容项的正确渲染并且识别任何渲染失真。比较引擎228可以包括用于比较两个图像的应用程序、守护进程、例程、服务或其他可执行逻辑。在一些实施方式中,比较引擎228可以逐像素地比较图像,而在其他实施方式中,比较引擎228可以在窗口化或区域化的基础上比较图像。后者的实施方式可以允许对图像进行微小的换位或变换(例如,将所有像素向右移位)以不被认为是“不适当的”。在一个这样的实施方式中,可以将第一图像中的像素与第二图像的对应区域中的所有像素进行比较。在另一个这样的实施方式中,可以在比较之前对图像进行下采样,以平均像素之间的微小差异。在另一实施方式中,图像可以在数学上进行比较——例如,可以从图像计算散列或校验和并进行比较。
预定图像是与捕捉的图像相对应的图像,例如主图像或源图像。例如,捕捉的图像可以是在客户端设备上渲染的内容的视频项的第100渲染帧,或者其可以是在客户端设备上渲染的内容的标题广告项的图像,或者内容项的任何其他图像。预定的图像在这些情况下将是视频内容项的第100个渲染帧,或者内容标题广告项的图像,或任何其他图像,只要其意于由该内容项的第三方提供者渲染或或由服务器104确定。例如,该预定图像可以被提供给服务器104,并且在服务器104首次从第三方接收内容项时被存储在比较模块226的预定图像存储器232中。该预定图像也可以例如由服务器104从该内容项在服务器104上渲染、并存储在预定的图像存储器232中,或者可以以任何其他方式被确定和/或存储。所捕捉的图像与预定图像之间的比较可以以任何适当的方式完成,例如,可以是逐像素比较、或散列比较、或任何其他适当的比较。
量化引擎230可以包括用于计算渲染图像的失真数值或以其他方式量化渲染失真的应用程序、服务、守护进程、例程或其他可执行逻辑。比较模块226的量化引擎230可以至少部分地基于任何识别的渲染失真来计算失真数值。例如,如果比较引擎228执行逐像素比较并且识别出所捕捉图像的百分之七十的像素表现出渲染失真(即,与预定图像的对应像素不相同),则量化引擎230可以计算70的失真数值。替代的,计算出的失真数值可以是指示是否识别出任何渲染失真的二进制数值(1或0)。失真数值的计算还可以以任何其他适当的方式执行。
一些实施方式可以进一步包括对包括失真数值和环境信息的一组数据进行分析。服务器104可以存储失真数值和与对应的捕捉的图像在其中被渲染的环境有关的对应环境信息。服务器104的分析模块234的分类引擎236可以包括应用程序、服务、守护进程、例程或其他可执行逻辑,并且可以分析环境信息并且由此确定多个环境参数中的至少一个的至少一个数值。例如,多个环境参数可以包括三个环境参数:设备类型参数、浏览器类型参数和应用程序类型参数。这些参数的不同数值可以被分配以表示不同的情况。例如,设备类型为1可以表示内容项已在LG G4手机上渲染,设备类型为2可以表示该内容项已在iPhone 6上渲染,等等。浏览器类型为1可以表示内容项在Chrome浏览器窗口中渲染,浏览器类型为2可以表示内容项在Safari浏览器窗口中呈现,等等。应用程序类型为1可以表示内容项由集成有游戏应用程序的渲染器渲染,应用程序类型为2可以表示该内容项由集成有购物应用程序的渲染器渲染,等等。然后,由分析模块234的分类引擎236确定的数值可以存储在分类引擎的环境参数数据存储器238中。
分析模块234可以包括用于识别在预定阈值之上的失真数值与对应的环境参数的数值之间的相关性的应用程序、服务、守护进程、例程或其他可执行逻辑。这允许分析模块234生成识别与未正确渲染的内容相关联的环境参数的值的报告。例如,预定阈值可以是10。这可以由例如内容项的第三方提供者、或服务器104来确定。分析模块234然后例如可以针对给定的对应的环境参数的特定数值,确定失真数值高于预定阈值的百分比可能性。例如,分析模块234可以针对设备类型为1的环境参数的对应参数分析8、12和15的三个失真数值(例如,在iPhone 6上进行的渲染的三个失真数值)。根据该分析,分析模块234可以计算出在iPhone 6上不正确地渲染对应的内容项的可能性为33%。基于,例如将该百分比与另一预定阈值(例如,由例如内容项的第三方提供者或由服务器104确定的5%)的比较,数值为1的环境参数(例如,设备是iPhone 6)可以与未正确渲染的内容相关联。以上只描述了一种可能的分析过程。许多其他过程是可能的,并且通常可以执行任何适用的分析。
在一些实施方式中,可以执行分析,以确定渲染失真、以及内容项将被渲染的环境和将被渲染的内容项的特征的组合之间是否存在相关性(和/或存在多强的相关性)。将被渲染的内容项的特征可以包括媒体类型(例如,视频、音频、图像、文本、超链接、任何其他媒体类型或其任何组合),文件类型(例如.avi,.mov,.wav,.jpg或任何其他文件类型),用于包括文本的内容项和/或文本内容项的字体大小或样式或格式,可能与内容项有关的任何其他特征,或其任何组合。内容项的特征可以包括与内容项目有关的元数据。内容项的任何属性(包括内容项的内容的任何属性、或内容项的格式或文件类型或数据结构的任何属性、或内容项的属性的任何组合)可以是内容项的特征。
可以执行分析以确定环境和将被渲染的内容项的特征的任何组合是否与渲染失真相关。例如,分析可以确定正在iPhone 6移动设备(可能安装有特定操作系统和/或软件)上渲染的视频内容与渲染失真强相关,或者在Galaxy S Mini移动设备上渲染的字体大小大于12的文本内容与渲染失真密切相关,或者在LG G4移动设备上的音频内容与渲染失真不相关或弱相关。可以对将被渲染的内容项的环境和特征的任何组合进行如此分析。如上所述,这种分析可以基于环境信息,并且基于与将被渲染的内容项的特征相关的内容项信息,或者可以基于任何其他适当的信息。环境信息和内容项信息的组合的分析可以在数据集的基础上完成,该数据集包括用于环境参数的一组数值,例如上文描述的那些数值,并且例如以上文描述的方式建立,并且还包括用于内容项参数的一组数值,或者以任何其他适当的方式。内容项参数可以以类似于如上文所述用于建立环境参数的方式建立。例如,多个内容项参数可以包括三个内容项参数:文件类型参数,文件大小参数和文本大小参数。这些参数的不同数值可以被分配以表示不同的情况。例如,文件类型为1可以表示内容项是.txt文件,文件类型为2可以表示内容项是.docx文件,等等。内容项参数的数值可以由分析模块234的分类引擎236确定,类似于如上所述如何建立环境参数的方式。
可以执行分析,并且可以对分析结果生成报告,以确定在多个环境参数一组特定数值或一个环境参数的特定数值与多个内容项参数的一组特定数值或一个内容项参数的特定数值之间的组合、以及渲染失真或失真数值(其可以以上述方式创建)之间是否存在相关性(以及可能有多强的相关性)。分析和报告的生成可以用任何适当的方式完成。例如,可以生成指示在iPhone 6移动设备上渲染的视频内容项的33%情况下观察到渲染失真(例如,渲染失真的数值高于预定阈值)的报告。分析可以执行到任何的粒度水平。例如,可以执行分析,该分析指示在iPhone 6移动设备上要渲染的视频内容项有33%的情况被观察到渲染(失真),但是渲染失真仅发生在将被渲染的内容项包括音频的情况下。这种分析和/或由分析生成的报告对于建立指示将被渲染的内容项的特征和环境的有问题的组合的模式可能是有用的。
在自动内容验证的方法的另一实施方式中,在服务器104上(而不是在如上所述的客户端设备102上)渲染内容项并且捕捉图像。在这样的实施方式中,服务器104从由客户端设备执行应用程序接收用于显示给设备的用户的内容项的请求。该请求包括与上述类似的环境信息。服务器104将请求的内容项从例如服务器的网络接口经由网络106传输至客户端设备102。
服务器104可以经由管理程序实例化和/或维护一个或多个虚拟机。在一个这样的实施方式中,服务器104的管理程序管理器240可以实例化与环境信息相对应的虚拟机242。以这种方式,生成与将被渲染的内容项的环境相对应的环境。类似于渲染器208,虚拟机242的渲染器244然后可渲染内容项,并且类似于捕捉模块210的虚拟机242的捕捉引擎246然后可捕捉渲染的内容项的图像。
管理程序管理器240不需要实例化虚拟机,以在将内容项传输到客户端设备102之后立即如所描述的进行渲染和捕捉。管理程序管理器可以例如等待,直到多个内容项被传输到相似或相同的环境,然后才实例化虚拟机以对一些或所有这些内容项目执行渲染和捕获。这些内容项的一些或全部可以通过类似于上文描述的涉及采样引擎的方法或通过任何其他适当的方法来选择。该过程的一个例子在下面进一步详细描述并且在图5中示出。这种等待的优点是,服务器不需要为要每个将被渲染的内容项实例化新的虚拟机,其占用诸如服务器存储器的服务器资源;相反,它仅仅实例化一次虚拟机以渲染多个内容项。
在管理程序管理器渲染内容项目并捕捉图像之后,如上所述,该过程可以以上面参考图2中所示的过程描述的任何方式继续,例如,通过将捕捉的图像与预定图像比较,通过确定失真数值,和/或通过分析相对于对应环境信息的失真值,等等,或通过任何其他方式。
图3示出了类似于上文所述的其中客户端设备渲染内容项并捕捉图像的一个实施方式的一个实施方式。在一个这样的实施方式中,客户端设备102的应用程序204在步骤300从服务器104请求内容项。该请求可以包括环境信息,如上文所述。该请求可以通过任何适当的方法传输,例如HTTP GET请求,远程过程调用或任何其他此类方法。在一些实施方式中,传输请求可以包括打开到服务器的传输层连接。
在步骤302,服务器104可接收对内容项的请求。如上文所述,该请求可以作为HTTPGET请求、远程过程调用或任何其他类型和形式的请求被接收。该请求可以在建立的传输层连接上接收,或者可以为该请求或通过该请求打开新的连接。
在步骤304,在一些实施方式中,服务器可以将内容项传输到客户端设备102。内容项可以经由建立的传输层连接或经由新的连接来传输。在一些实施方式中,服务器可以向第二服务器(未示出)传输第二请求,第二服务器可以将该内容项直接提供至客户端设备102或者提供给服务器104以转发到客户端设备。在其他实施方式中,服务器可以用内容项的地址或URL进行响应,并且客户端可以在识别的地址或URL(例如在内容存储服务器)处分别请求内容。在一些实施方式中,服务器可以基于例如用户信息、设备信息、应用信息、地理位置、一天中的时间、星期几或任何其他类型或形式的信息来确定或选择用于呈现给客户端的内容项。
在一些实施方式中,在步骤306,客户端设备102可以接收内容项。接收内容项可以涉及通过如上所述的连接或者以任何其它方式将该信息项作为数据分组接收,并且将其存储在客户端上。它也可能涉及将信息项存储在客户端外部但客户端可访问的设备上,或者可能涉及以任何其他方式存储内容项。接收内容项还可以涉及,如上文所述或者以任何其它方式接收内容项的地址或URL,并且将该地址或URL存储在客户端上、或客户端外部但客户端可直接或间接访问的设备或第二服务器上,或以任何其他方式存储地址或URL。
在一些实施方式中,在步骤308,客户端设备102的渲染器208可渲染内容项。内容项的渲染可以涉及在客户端设备的显示器上显示与该信息项相对应的视频。渲染可以附加地或可替代地涉及在客户端设备外部的显示器上显示视频,例如通过USB,通过A/V插口,通过HDMI,通过无线互联网连接,通过有线以太网连接或任何其他连接。另外地或替代地,渲染可以涉及与从内容项产生的视频内容项相对应的单个图像文件或图像文件串。
在步骤310,在一些实现中,客户端设备102的捕获模块210可以例如是操作系统的一部分,或者可以是使用操作系统的应用程序编程接口(API)的例程,例如,作为触发屏幕捕捉例程或将显示缓冲区的内容保存到存储位置,捕捉该内容项目的图像。捕捉图像可以涉及拍摄显示渲染的内容项的显示器的屏幕截图并存储该屏幕截图。附加地或替代地,捕捉可以涉及从一串顺序的渲染图像选择一个图像并存储所述图像。捕捉的图像可以被存储为jpeg文件、png文件、位图图像或任何其他图像文件。捕捉的图像也可以作为HTML页面或以任何其他方式存储。如上文所述,每次渲染器208渲染内容项时,捕捉模块210可以执行该捕捉。然而,在许多实施方式中,这种频繁捕捉可能是不必要的。相应地,捕捉模块210还可以当其从服务器104接收到这么做的指令时执行该捕捉,该指令例如经由网络106与所请求的内容项一起传输到客户端设备102。服务器104可以确定何时发送该指令。例如,服务器104可以确定发送该指令和每个请求的内容项,或者其可以请求发送该指令和每个第n个请求的内容项,或者其可以响应于随机数生成器的输出等于预定值来确定而发送该指令和所请求的内容项,或者其可以基于从客户端设备102接收到的环境信息来确定发送该指令和请求的内容项,或者其可以基于任何其他方法、或基于方法的任何组合来确定发送该指令和所请求的内容项。捕捉模块210还可以基于客户端设备102的采样引擎212确定对该内容项的请求是将被采样组的请求的一部分来执行该捕捉。采样引擎212可以包括用于确定是否捕捉渲染内容的应用程序、服务、例程、守护进程或其他可执行逻辑。该确定可以通过采样引擎采用例如上述的任何方法而进行。该确定还可以通过以下方式进行,将由采样引擎212保持的随机数生成器或伪随机数生成器214的输出与预定的数值或数值范围进行比较,并如果输出与预定值匹配,则确定该内容项是将被发送组的请求的一部分。
在一些实施方式中,客户端设备102可以然后在步骤312将捕捉的图像传输到服务器104。在一些实施方式中,内容项可以经由建立的传输层连接或经由新的连接来传输。在一些实施方式中,客户端设备102可以向第二服务器(未示出)传输第二请求,第二服务器可以将该内容项直接或间接提供至服务器104。在其他实施方式中,客户端设备可以传输捕捉的图像的地址或URL。
在一些实施方式中,在步骤314,服务器104接收捕捉的图像。接收捕捉的图像可以涉及通过如上所述的连接或者以任何其它方式将该捕捉的图像作为数据分组接收,并且将其存储在服务器上。它也可能涉及将捕捉的图像存储在服务器104外部但服务器104可访问的设备上或第二服务器上,或者可能涉及以任何其他方式存储捕捉的图像。接收捕捉的图像还可以涉及,如上文所述或者以任何其它方式接收捕捉的图像的地址或URL,并且将该地址或URL存储在服务器104上、或服务器104外部但服务器104可直接或间接访问的设备或第二服务器上,或以任何其他方式存储地址或URL。
在一些实施方式中,在步骤320,服务器104的分析模块234(其可以包括应用程序、服务、守护进程、例程或其他可执行逻辑)如上文所述的分析与捕捉的图像相关联的环境信息。这可以涉及,基于与捕捉的图像相关联的环境信息来确定多个环境参数中的至少一个的至少一个数值。与所捕捉的图像相关联的环境信息可能先前已经通过由客户端设备102从服务器104请求内容项来传输。环境信息可以如上文所述作为内容项的请求的一部分的方式被传输,或者以其他任何方式被传输。另外或替代地,环境信息可以直接或间接地、以任何方式与由客户端设备102发送到服务器104的内容项的请求分开传输。例如,在客户端设备发送对内容项的请求之后、但在客户端设备接收到内容项之前,环境信息可能已经经由客户端设备102和服务器104之间的新开的连接来传输,或者在客户端设备102接收到内容项之后已经经由客户端设备102与服务器104之间的新开的连接来传输,或者环境信息可能已经与从客户端设备102到服务器104的捕捉的图像的传输一起发送,或者在任何其他时间以任何其他方式传输。环境信息可以与特定的捕捉的图像相关联,使得允许服务器104在稍后的时间点确定环境信息与特定的捕捉的图像相关。在一个实施方式中,当服务器104从客户端设备102接收到对于内容项的项目的请求时,该请求可以包括环境信息,如上文所述。然后,环境信息可以以任何方式存储在服务器104上,例如存储在服务器的存储器中,或存储在服务器104可访问的设备或其他服务器的存储器上。在步骤304中,内容项然后可以响应请求以及指示哪个环境信息与该请求的内容项相关联的标识符而被传输。然后,在步骤312,客户端设备102可以在其将捕捉的图像传输至服务器104时包括该标识符,从而将所捕捉的图像与特定的环境信息相关联。捕捉的图像可以附加地或替代地以任何其他方式与特定的环境信息相关联,该方式将与捕捉图像的环境有关的环境信息与捕捉的图像相关联。
如上文所述,在一些实施方式中,在步骤320,服务器104的分析模块234(其可以包括应用程序、服务、守护进程、例程或其他可执行逻辑)如上文所述的分析与捕捉的图像相关联的环境信息。这可以涉及,基于与捕捉的图像相关联的环境信息来确定多个环境参数中的至少一个的至少一个数值。在一些实施方式中,该确定通过分析模块234的分类引擎236进行。多个环境参数可以包括任意数量的环境参数。这些参数可以是例如设备类型参数,操作系统类型参数,操作系统版本参数,浏览器类型参数,浏览器版本参数,应用程序类型参数,或可以描述内容项在其中被渲染的环境的任何其他参数。这些参数的不同数值可以被分配以表示不同的情况。例如,设备类型为1可以表示内容项已在LG G4手机上渲染,设备类型为2可以表示该内容项已在iPhone 6上渲染,等等。浏览器类型为1可以表示内容项在Chrome浏览器窗口中渲染,浏览器类型为2可以表示内容项在Safari浏览器窗口中呈现,等等。应用程序类型为1可以表示内容项由集成有游戏应用程序的渲染器渲染,应用程序类型为2可以表示该内容项由集成有购物应用程序的渲染器渲染,等等。在一些实施方式中,由分析模块234的分类引擎236确定的数值然后可以存储在分类引擎的环境参数数据存储器238中。内容项的信息也可以被类似地参数化。尽管图3没有描述以刚刚针对环境信息描述的方式被参数化的内容项的信息,但是内容项的信息可以以相同的方式或以任何其他适当的方式而被参数化,如上文所述。
在一些实施方式中,在步骤322到332,服务器104的比较模块226将捕捉的图像与预定的图像相比较。预定的图像例如可以如上文所述预先确定。该比较可以是所捕捉的图像与存储在预定的图像存储器232中的预定图像的逐像素比较。如上文所述,其他比较方法也是可能的,包括例如散列比较。在涉及逐像素比较的实施方式中,像素可各自具有灰度强度值。例如,像素可以对应于灰度图像,并且该图像内的像素根据位置和根据灰度强度而变化,诸如例如在0-255的范围内的强度值,其中0可以表示黑色,并且255可以代表白色,中间值表示灰色光谱。灰度强度值也可以使用任何其他比例进行分配。在其他实施方式中,逐像素比较着色像素。例如,每个像素可以具有分配给某些颜色通道的值。像素可以具有任意数量的颜色通道,并且颜色通道可以表示任何颜色。例如,像素可以具有红色、绿色和蓝色色彩通道,或者可以具有青色、品红色、黄色和黑色色彩通道或任何其他色彩通道。类似于上述的灰度光谱,像素可以具有沿着对应于该颜色通道的光谱分配给颜色通道的强度数值。例如,像素可具有对于红色通道0强度的数值、对于蓝色通道128的强度、对于绿色通道0的强度,从而产生显示为深蓝色的像素。像素可以具有颜色通道强度数值的任何其他组合。在执行逐像素比较的实施方式中,捕捉的图像和预定图像可以具有相同数量的像素。它们也可能有不同数量的像素。在其中图像具有不同数量的像素的一些实施方式中,为了比较的目的,可以使得被比较的像素的数量相等,例如通过忽略具有更多数量像素的图像中的一些像素。另外或可选地,具有更多数量像素的图像的一些像素可以被合并,例如通过取被合并的两个像素的颜色通道强度数值的平均值以创建单个像素、并重复该过程直到被比较的像素数量相等。
在一些实施方式中,在步骤322,选择第一像素用于比较。这可以是捕捉的图像或预定图像的任何像素。例如,所捕捉的图像可以包括矩形的像素网格,并且可以选择所捕捉的图像的第一行第一列中的像素。
在一些实施方式中,在步骤324,另一图像的对应像素可以然后被选择为例如在预定图像的第一行第一列中的像素,并且与在步骤322中选择的像素(例如,所捕捉的图像的第一行第一列中的像素)比较。例如,该比较可以比较像素的颜色通道中的相应强度。例如,所捕捉的图像像素的红色强度可以与预定图像像素的红色强度进行比较,所捕捉的图像像素的绿色强度可以与预定图像像素的绿色强度进行比较,并且所捕捉的图像像素的蓝色强度可以与预定图像像素的蓝色强度进行比较。各个强度之间的差值可以被存储在比较模块226的存储器中。差值可以被存储为每个颜色通道强度之间的相应差异。例如,如果一个像素具有例如红色:200,绿色:180,蓝色170的颜色通道分布,并且另一像素具有红色:210,绿色:180,蓝色175的颜色通道分布,则差值可以存储为红色:10,绿色:0,蓝色:5。这些存储的差值还可以指示在所捕捉的图像像素中或在预定图像像素中强度是否较高。例如,如果所捕捉的图像像素具有红色:150,并且预定图像像素具有红色:160,则这可以由+10的差值表示,其中加号表示所捕捉的图像具有比预定图像更高的强度。也可以建立关于表示哪个像素具有更高或更低强度的差值的正性或负性的任何其他标准。
在一些实施方式中,在步骤326,将像素之间的差值与阈值进行比较。例如,可以通过使例如比较模块22将多个单独的颜色通道存储差值相加来确定“总差值”。例如,如果单个颜色通道存储的差值是红色:10,绿色:0,蓝色:-5,则总差值可以是这些差值的绝对值的总和,即,15。在一些实施方式中,在步骤326中,该总差值与阈值进行比较。例如,如果阈值被设置为5,并且总差值被计算为15,则像素之间的差值将高于阈值。如果发现差值高于阈值,则该方法可以前进至步骤328,在该处计数器递增。该计数器对两个图像之间有多少像素与其对应像素之间具有不可接受的差值进行持续的计数。在计数器递增之后,该方法可以前进到步骤330.如果,返回到步骤326,发现该差值高于阈值,则该方法可以直接到步骤330。
在一些实施方式中,在步骤330,比较模块226确定图像中是否存在对应像素未被比较。如果仍存在应该比较的像素,则该方法可以前进到步骤332,在步骤332中选择一对新的对应像素用于比较。如果已经比较了所有对应像素,则该方法可以前进到步骤334。
在一些实施方式中,在步骤334,服务器104的量化引擎230(其可以包括应用程序、服务、守护进程、例程或其他可执行逻辑)可以基于不同像素的计数数值计算失真数值。可以通过参考上面对步骤328的描述中讨论的计数器来确定不同像素的计数数值。失真数值可以是能够表示有多少对应像素显着地彼此不同(例如通过如上文所述的高于阈值的量)的任何数值。例如,失真数值可以是显着地彼此不同的相应像素的总百分比。例如,如果比较256个像素,并且发现它们中的64个显着地彼此不同,则可以将失真数值计算为25,对应于显着不同的25%的像素。失真数值可以附加地或替代地是可以表示有多少对应像素显着地彼此不同的任何其他值。
在一些实施方式中,在步骤336,量化引擎230可以将失真数值与阈值进行比较。如果发现失真数值高于阈值,则该方法可以前进到步骤340,在步骤340捕捉的图像被识别为失真,然后到步骤342,在步骤342生成记录该失真的报告。如果,在步骤336,未发现失真数值超过阈值,则该方法可前进至步骤338,在步骤338捕捉的图像被识别为可接受的,然后至步骤342,在步骤342生成记录该可接受性的报告。例如,报告可以是电子表格中的二进制符号,其中1表示失真、并且0表示可接受,或者可以是失真或可接受的任何其他记录。报告可以替代地或附加地将与捕捉的图像对应的环境参数与未正确渲染相关联。这允许服务器管理器或与服务器或服务器管理器联系的某人,例如内容项提供者,以当在相应的环境中渲染内容项时得知存在渲染问题。该报告还可以指示将被渲染的内容项的环境和特征的组合是否与不正确的渲染相关联,如上文所述。
图4示出了类似于上文所述的其中服务器渲染内容项并捕捉图像的一个实施方式的一个实施方式。图4清楚地表明是客户端设备102还是服务器104执行所描述的过程。在一个实施方式中,客户端102的应用程序204在步骤400请求内容项。服务器104在步骤402接收请求、并且在步骤404将内容项传输到客户端设备102。内容项在步骤406由客户端设备接收。这些步骤类似于图3的步骤300-306。
在一个实施方式中,在步骤408,管理程序管理器240可以实例化虚拟机242。管理程序管理器240也可能等待实例化虚拟机,例如,如以下参考图5所描述的。管理程序管理器240可以包括实例化虚拟机所需的应用程序、服务、守护进程、例程或其他可执行逻辑。虚拟机242可以是特定计算机系统的仿真,例如,与在客户端设备104上将渲染项目的环境有关的环境信息相对应的计算机系统。其可以是系统虚拟机、进程虚拟机或其他虚拟机。其可以利用本机执行虚拟化技术或任何其他适当的虚拟化技术。
在一个实施方式中,在步骤410,虚拟机渲染内容项。内容项的渲染可以涉及在显示器上显示与该信息项相对应的视频,或者可以涉及显示与该内容项相对应的单个图像。另外地或替代地,渲染可以涉及与从内容项产生的视频内容项相对应的单个图像文件或图像文件串。这些文件可以由虚拟机使用基于上述环境信息的仿真环境来产生。例如,虚拟机可以在特定的操作系统中打开特定浏览器类型窗口的特定版本。这意味着模拟内容项将在其中被渲染的环境,并有助于确定该环境中是否存在渲染失真。
在一些实施方式中,在步骤412,虚拟机的捕捉引擎246捕捉内容项的图像。捕捉图像可以涉及拍摄显示渲染的内容项的显示器的屏幕截图并存储该屏幕截图。附加地或替代地,捕捉可以涉及从一串顺序的渲染图像选择一个图像并存储所述图像。捕捉的图像可以被存储为jpeg文件、png文件、位图图像或任何其他图像文件。捕捉的图像也可以作为HTML页面或以任何其他方式存储。
在一个实施方式中,在步骤414,服务器104的分析模块234分析与捕捉的图像相关联的环境信息。该分析可以类似于在图3的步骤320中由服务器104完成的分析。该步骤、以及剩余的步骤416-436可以以类似于以上针对图3的步骤320-342所描述的方式来进行,或者可以以任何其他适当的方式进行。
图5示出了其中服务器104实例化与特定环境相对应的虚拟机以渲染内容项以捕捉图像的实施方式的决策制定过程。在这些实施方式中,仅当存在具有相似环境参数的大量内容项将被渲染时,服务器实例化虚拟机,从而与每次内容项将被渲染时需要重新实例化虚拟机时相比节省服务器资源。
在一个实施方式中,在步骤500,服务器104从客户端设备102接收对内容项的请求。该请求包括环境信息。该步骤可以以与在图3的步骤302中所描述的方式类似的方式来执行。在一个实施方式中,在步骤502中,服务器104将内容项传输给客户端设备。该步骤可以以与在图3的步骤304中所描述的方式类似的方式来执行。在一个实施方式中,在步骤504,服务器104的分析模块234分析环境信息,从而确定多个环境参数中的至少一个的数值。该步骤可以以与在图3的步骤320中所描述的方式类似的方式来执行。
在一个实施方式中,在步骤506,服务器104的管理程序管理器240递增n个计数器248,n个计数器中的每一个对应于特定环境参数的特定数值。例如,一个计数器可以对应于设备类型(例如,iPhone 6)的数值1,第二计数器可以对应于设备类型2(例如,LG G4移动设备),第三计数器可以对应于应用程序类型(例如游戏应用)的数值1,等等。
在一个实施方式中,在步骤508,管理程序管理器240将选择第一增量计数器240。在步骤510中,管理程序管理器240可以将由所选择的计数器计数的数量与预定的阈值或数量进行比较。例如,如果期望仅当在该虚拟机上将要渲染至少5个内容项时才实例化对应于特定环境的虚拟机,则该数量可以是5。预定数量可以例如由服务器104提供。如果该数量低于预定的阈值,则该方法可以前进到步骤512。如果该数量高于或等于预定的阈值,则该方法可以前进到步骤518。
在一个实施方式中,在步骤512,管理程序管理器240确定是否存在剩余的未被被选择的增量计数器。如果存在,那么该方法可以进行到步骤514,在步骤514管理程序管理器240选择下一个递增计数器并且返回到步骤510。如果不存在,则管理程序管理器240前进到步骤516并且该过程结束。
返回步骤510,如果由所选择的计数器计数的数量高于预定阈值,则管理程序管理器240前进到步骤518、并实例化与对应于特定环境参数的特定数值的环境信息相对应的虚拟机。例如,管理程序管理器240可以实例化与iPhone 6环境对应的虚拟机。
在一个实施方式中,在步骤520,虚拟机242的渲染器244可以渲染与特定环境参数的特定数值相关联的所有内容项,例如将在iPhone 6上渲染的所有内容项。渲染器可以包括用于渲染接收到的内容项以向用户显示的应用程序、服务、守护进程、例程或其他可执行逻辑。所有的内容项可以一个接一个地、或一次全部、或以任何其他方式渲染。可选地,管理程序管理器可以渲染比此时与特定环境参数的特定数值相关联的所有内容项少的内容项。这将允许服务器104节约资源,其代价是具有较小样本的渲染的内容项。
在一个实施方式中,在步骤522,虚拟机242的捕捉引擎246可以从每个渲染的内容项捕捉图像。该捕捉可以与在图3的步骤412中的捕捉引擎246完成的捕捉类似,或者可以以任何其他适当的方式完成。
在一个实施方式中,剩余的步骤524-544可以以类似于以上针对图3的步骤320-342所描述的方式来进行,或者可以以任何其他适当的方式进行。在步骤542和544,该方法可以回到步骤512,并以前文描述的方式从步骤512继续。
第三方内容提供者在经由互联网或其他网络提供第三方内容项以用所请求的资源渲染时、可以利用内容项管理服务来控制或以其他方式影响第三方内容项的选择和服务。例如,第三方内容提供者可以指定用于选择第三方内容项的选择标准(例如关键字)和相应的投标数值。内容项选择系统可以在竞拍中利用投标值来选择和提供用于与资源一起渲染的内容项。例如,第三方内容提供者可以在竞拍中放置投标,该竞拍对应于这样一协议,即如果用户与提供者的内容项目交互,则支付一定量的金钱(例如,如果用户在提供者的内容项上点击、则提供者同意支付$3)。在其他示例中,第三方内容提供者可以在竞拍中放置投标,该竞拍对应于这样一协议,即如果内容项目被选择并且提供服务,则支付一定量的金钱(例如,提供者同意在内容项每次被选择且提供服务时支付$0.05美元,或者提供者同意在每次内容项被选择并点击时支付$0.005)。在一些情况下,内容项选择系统使用内容项交互数据来确定第三方内容提供者的内容项的效果。例如,用户可能更倾向于点击某些网页上的第三方内容项目。因此,对于高性能的网页、网页类别和/或其他标准,放置第三方内容项的竞拍投标可以更高,而对于低性能的网页、网页类别和/或其他标准,出价可能更低,和/或采用其他标准。
在一些情况下,可以确定第三方内容项目一个或多个效果指标,并且可以经由用于内容项管理账户的用户界面向第三方内容提供者提供这种效果指标的指示。例如,效果指标可以包括每次展示成本(CPI)或每千次展示成本(CPM),其中展示可以被计数,例如,每当内容项目被选择以供服务以与资源一起呈现时。在一些情况下,效果指标可能包括点击率(CTR),定义为内容项的点击次数除以展示次数。还有其他效果指标,诸如每次动作成本(CPA)(其中动作可以是点击内容项或其中的链接,购买产品,推荐内容项等),转换率(CVR),每次点击费用(CPC)(单击内容项时计数),每次销售成本(CPS),每客户取得成本(CPL),有效每千次展示费用(eCPM)和/或其他效果指标。
在一些情况下,网页或其他资源(诸如,例如应用程序)包括一个或多个内容项插槽,在其中可以显示所选择的和提供服务的第三方内容项。定义用于网页或其他资源的内容项的位置的代码(例如,HTML等)可以包括用于从内容项选择系统请求的将与网页一起呈现的第三方内容项的指令。在一些实施方式中,该代码可以包括具有可包括一个或多个参数的内容项请求URL的图像请求(例如,/page/contentitem?devid=abc123&devnfo=A34r0)。在一些实施方式中,这些参数可以是诸如“devid=abc123”和/或“devnfo=A34r0”的编码字符串。
通过内容项选择系统选择要与资源一起服务的第三方内容项可以基于若干影响因素,诸如预测点击率(pCTR),预测转换率(pCVR),内容项相关联的投标等。这些影响因素可以用于生成诸如分数的值,通过竞拍可以通过内容项选择系统将其他内容项的其他分数与生成的分数比较。
在资源(例如网页)的内容项插槽的竞拍期间,第三方内容提供者可以采用多种不同类型的投标值,以用于多种第三方内容项。例如,竞拍可以包括基于用户是否点击第三方内容项的投标,用户是否基于第三方内容项的呈现来执行特定动作的投标,第三方内容项是否被选择且提供服务的投标,和/或其他类型的投标。例如,基于第三方内容项是否被选择且提供服务的投标可以是较低的投标(例如,$0.005),而基于用户是否执行特定动作的投标可以是较高的投标(例如,$5)。在一些情况下,可以调整投标以考虑与投标类型相关的概率,和/或出于其他原因调整投标。例如,用户执行特定动作的可能性可能较低,诸如0.2%,而所选择和提供服务的第三方内容项的可能性可能是100%(例如,如果选择并提供服务的内容项在竞拍过程中被选中、则其将会发生,所以投标未经调整)。因此,可以基于投标数值和概率或另一修改数值生成诸如分数或标准化数值之类的数值以用于竞拍。在之前的示例中,基于第三方内容项是否被选择和提供服务的投标的数值或分数可以是$0.005×1.00=0.005,并且基于用户是否执行特定动作的投标的数值或分数可以是$5×0.002=0.01。为了最大化所产生的收入,内容项选择系统可以从竞拍中选择具有最高价值的第三方内容项。在前述示例中,内容项选择系统可以基于用户是否执行特定动作并由于与投标相关联的较高价值或分数而来选择与该投标相关联的内容项。
一旦第三方内容项被内容项选择系统选择,用于在客户端设备的显示器上实现第三方内容项的渲染的数据可以通过使用网络提供给客户端设备。
虽然上文中已经描述了系统100的实施方式,但是本说明书中描述的主题和功能性操作的实施方式,可以实现在其他类型的数字电路中、实现在计算机软件、固件或硬件中,包括本说明书中公开的结构及其结构等同物,或其一个或多个的组合。
本说明书中描述的主题和操作的实施方式,可以实现在数字电路中、实现在实施于有形媒介上的计算机软件、固件、或硬件中,包括本说明书中公开的结构及其结构等同物,或其一个或多个的组合。本说明书中描述的主题可以被实现为一个或多个计算机程序,即,编码在一个或多个计算机存储介质上的计算机程序指令的一个或多个模块,用于被数据处理设备执行或控制数据处理设备的操作。替代地或另外地,程序指令可以编码在人为生成的传播信号上,例如机器产生的电、光或电磁信号,其被生成以编码用于传输到合适的接收器设备的信息用于由数据处理设备执行。计算机存储介质可以是机器可读的存储装置,机器可读存储基板,随机或串行存取存储装置,或其中的一个或多个的组合,或者包括在其中。此外,尽管计算机存储介质不是传播的信号,但计算机存储介质可以是编码于在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的部件或介质(例如,多个CD,磁盘或其他存储设备)或被包括在其中。因此,计算机存储介质既是有形的也是非暂时的。
本说明书中描述的操作可以由数据处理设备对存储在一个或多个计算机可读存储设备上的数据或从其他源接收的数据执行。
术语“数据处理装置”,“计算设备”或“处理电路”涵盖用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器,计算机,芯片上系统,或编程处理器的一部分部多个部分,或前述的组合。该装置可以包括专用逻辑电路,例如FPGA或ASIC。除了硬件之外,该装置还可以包括为所涉及的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或其中一个或多个的组合的的代码。设备和执行环境可以实现各种不同的计算模型基础设施,如Web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序,软件,软件应用,脚本或代码),可以以任何形式的编程语言来写入,包括编译或解释语言,声明性或程序性语言,并且可以以任何形式配置,包括作为独立程序或作为适用于计算环境的模块、组件、子例程、对象或其他单元。计算机程序可以,但不一定,对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如是存储在标记语言文档中的一个或多个脚本)、专用于涉及的程序的单个文件中、或者在多个协调的文件中(例如存储一个或多个模块、子程序或代码的部分的文件)的一个或多个脚本。计算机程序可以配置为在一个计算机上、或者位于一个站点或跨多个站点分布并由通信网络互连的多个计算机上执行。
适用于执行计算机程序的处理器包括,例如,通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器、以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地连接以从其接收数据或向其传送数据或者两者同时进行。然而,计算机无需这种设备。此外,可以将计算机嵌入另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几例。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,例如包括半导体存储设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD光盘。处理器和存储器可以补充有专用逻辑电路或并入其中。
为了提供与用户的交互,在该说明书中描述的主题的实施方式可以在具有显示器装置以及键盘和定点装置的计算机上实现,所述显示器装置例如是CRT(阴极射线管)或LCD监视器,其用于向用户显示信息,定点装置例如是鼠标或轨迹球,用户可以通过该定点装置提供输入至计算机。也可以使用其他类型的装置来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
虽然本说明书包含许多具体的实施方式细节,但是这些细节不应被解释为对可要求保护的范围的限制,而应被解释为对特定实施例特定的特征的描述。在本说明书中在多个单独实施方式的环境下描述的某些特征也可以在单个实施方式中组合实现。相反,在单个实施方式的环境下描述的多种特征也可以分开地或以任何合适的子组合的方式在多个实施方式中实现。此外,虽然特征可以如上文所述被描述为以某些组合的方式起作用,并且甚至初始地要求保护,但要求保护的组合中的一个或多个特征在某些情况下可以从组合中被切离,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然操作在附图中以特定的顺序描绘,但是这不应被理解为要求以所示的特定顺序或按次序执行此类操作,或者要求执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,在上文所述的实施方式中的多种系统模块和组件的分离不应被理解为在所有实施方式中需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以在单个软件产品中集成在一起,或者打包成多个软件产品。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个,多于一个以及所有描述的术语中的任何一个。
因此,已经描述了本主题的特定的实施方式。其他实施方式也在所附权利要求的范围内。在一些情况下,权利要求中所述的动作可以以不同的顺序执行,并且仍然实现期望的结果。另外,附图中描述的过程不一定需要所示的特定顺序或次序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
不应将权利要求理解为限于所描述的顺序或元件,除非声明为这种效果。应该理解,在不脱离所附权利要求的范围的情况下,本领域的普通技术人员可以在形式和细节上进行各种改变。本申请要求保护落入所附权利要求及其等同物的范围内的所有实施方式。

Claims (17)

1.一种用于自动内容验证的方法,包括:
从服务器、通过由客户端设备执行的应用程序接收用于显示给客户端设备的用户的内容项的请求,所述请求包括与所述内容项将在客户端设备上渲染的环境有关的环境信息,
通过客户端设备的网络接口、从服务器接收请求的内容项;
通过集成有应用程序的客户端设备的渲染器、渲染接收的内容项;
通过集成有应用程序的客户端设备的捕捉模块、捕捉渲染的内容项的图像;以及
通过客户端设备的网络接口、向服务器传输捕捉的图像,服务器将捕捉的图像与预定的图像比较,该比较识别任何渲染失真。
2.根据权利要求1所述的方法,其中请求用于显示的内容项还包括传输包括用于显示内容项的文档对象模型的参数的请求。
3.根据权利要求1或2所述的方法,其中请求用于显示的内容项还包括传输包括客户端设备的设备类型的请求。
4.根据权利要求1、2或3所述的方法,还包括,通过浏览器窗口中的客户端设备、将内容项显示给客户端设备的用户;以及其中该请求还可包括识别浏览器窗口的浏览器类型。
5.根据前述权利要求中任意一项所述的方法,其中捕捉渲染的内容项的图像还包括,通过捕捉模块的采样引擎,确定该请求是否为将被采样组的请求的一部分,以及响应于请求是将被采样组的请求的一部分、捕捉渲染的内容项的图像。
6.根据权利要求5所述的方法,其中确定请求是否为将被采样组的请求的一部分还包括,将随机数生成器的输出与预定值相比较,以及响应于该输出与预定值匹配来确定请求是否为将被采样组的请求的一部分。
7.根据前述权利要求中任意一项所述的方法,还包括,通过客户端设备、从服务器接收请求,以捕捉渲染的内容项的图像。
8.一种用于自动内容验证的方法,包括:
通过服务器、从由客户端设备执行的应用程序接收用于显示给客户端设备的用户的内容项的请求,该请求包括与该内容项将在客户端设备上渲染的环境有关的环境信息;
通过服务器、将请求的内容项传输到客户端设备的网络接口;
通过服务器、接收内容项的渲染的捕捉图像;
通过服务器的比较模块的比较引擎、将捕捉的图像与预定的图像相比较,该比较识别任何渲染失真。
9.根据权利要求8所述的方法,进一步包括:通过比较模块的量化引擎、至少部分地基于任何识别的扭曲失真计算失真数值。
10.根据权利要求8或9所述的方法,其中该比较是捕捉图像和预定图像的对应像素之间的逐像素比较。
11.根据权利要求8、9或10所述的方法,其中该比较是散列比较。
12.根据权利要求9或引用权利要求9的任意权利要求所述的方法,还包括:
将失真数值和对应的环境信息存储在服务器上;
通过服务器的分析模块的分类引擎、分析环境信息,从而确定多个环境参数中的至少一个的数值;以及
将多个环境参数中的至少一个的数值存储在服务器上。
13.根据权利要求12所述的方法,进一步包括:通过服务器的分析模块、识别在预定的阈值之上的失真数值和对应的环境参数的数值之间的相关性;以及
通过服务器的分析模块、生成识别与未正确渲染的内容相关联的环境参数的数值的报告。
14.根据权利要求9或引用权利要求9的任意权利要求所述的方法,还包括:
将失真数值、对应的环境信息、以及与内容项的特征相关的对应的内容项信息存储在服务器上;
通过服务器的分析模块的分类引擎、分析环境信息,从而确定多个环境参数中的至少一个的数值;
通过服务器的分析模块的分类引擎、分析内容项信息,从而确定多个内容项参数中的至少一个的数值;以及
通过服务器的分析模块、识别在预定的阈值之上的失真数值以及对应的环境参数的数值和对应的内容项参数的数值的组合之间的相关性;以及
以及通过服务器的分析模块、生成识别与未正确渲染的内容相关联的环境参数的数值和内容项参数的数值的组合的报告。
15.根据权利要求8到14中任意一项所述的方法,其中捕捉的图像是对从客户端设备的网络接口接收的在客户端设备上的内容项的渲染。
16.根据权利要求8到14中任意一项所述的方法,其中接收内容项的渲染的捕捉图像包括:
通过服务器的管理程序管理器、实例化与环境信息相对应的虚拟机;
通过虚拟机的渲染器、渲染内容项;以及
通过虚拟机的捕捉引擎、捕捉渲染的内容项的图像。
17.根据权利要求16所述的方法,其中实例化与环境信息相对应的虚拟机还包括:
通过服务器、从多个客户端设备接收用于内容项的多个请求,每个请求包括相同的环境信息,
从由服务器保持的计数器确定请求的数量超过预定的阈值,以及
响应于该确定、实例化与环境信息相对应的虚拟机,以及
其中渲染内容项还包括通过虚拟机渲染每个请求的内容项;以及
其中捕捉渲染的内容项的图像还包括通过虚拟机捕捉每个渲染的内容项的图像。
CN201680053517.4A 2016-02-03 2016-12-30 用于自动内容验证的系统和方法 Active CN108027830B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/014,733 2016-02-03
US15/014,733 US10216467B2 (en) 2016-02-03 2016-02-03 Systems and methods for automatic content verification
PCT/US2016/069596 WO2017136082A1 (en) 2016-02-03 2016-12-30 Systems and methods for automatic content verification

Publications (2)

Publication Number Publication Date
CN108027830A true CN108027830A (zh) 2018-05-11
CN108027830B CN108027830B (zh) 2020-06-02

Family

ID=58046738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680053517.4A Active CN108027830B (zh) 2016-02-03 2016-12-30 用于自动内容验证的系统和方法

Country Status (4)

Country Link
US (1) US10216467B2 (zh)
EP (1) EP3335131B1 (zh)
CN (1) CN108027830B (zh)
WO (1) WO2017136082A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10313679B2 (en) 2017-04-21 2019-06-04 ZeniMaz Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
CN110221871A (zh) * 2019-04-22 2019-09-10 腾讯科技(深圳)有限公司 网页获取方法、装置、计算机设备及存储介质

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US11296930B2 (en) 2014-09-30 2022-04-05 Nicira, Inc. Tunnel-enabled elastic service model
US10257095B2 (en) 2014-09-30 2019-04-09 Nicira, Inc. Dynamically adjusting load balancing
US9531590B2 (en) 2014-09-30 2016-12-27 Nicira, Inc. Load balancing across a group of load balancers
US10609091B2 (en) * 2015-04-03 2020-03-31 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US11237709B2 (en) 2016-10-25 2022-02-01 Apple Inc. Systems and methods for enabling low-vision users to interact with a touch-sensitive secondary display
DK179492B1 (en) * 2016-10-25 2019-01-08 Apple Inc. SYSTEMS AND METHODS FOR ENABLING LOW-VISION USERS TO INTERACT WITH A TOUCH-SENSITIVE SECONDARY DISPLAY
US10452723B2 (en) * 2016-10-27 2019-10-22 Micro Focus Llc Detecting malformed application screens
US10404789B2 (en) 2017-01-25 2019-09-03 Walmart Apollo, Llc Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage
US10268460B2 (en) * 2017-01-25 2019-04-23 Walmart Apollo, Llc Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage
US10839041B2 (en) 2017-01-25 2020-11-17 Walmart Apollo, Llc Systems, method, and non-transitory computer-readable storage media for a partial-render operation generating code for displaying a webpage
US10437570B2 (en) 2017-01-25 2019-10-08 Walmart Apollo, Llc Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage
US10797966B2 (en) 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
US10956529B1 (en) * 2018-03-20 2021-03-23 Pinterest, Inc. Content presentation
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US11194610B2 (en) 2019-02-22 2021-12-07 Vmware, Inc. Service rule processing and path selection at the source
US11704137B2 (en) * 2019-02-26 2023-07-18 Bank Of Montreal Systems and methods for validating loading of content on user interface
US11503071B2 (en) * 2019-05-30 2022-11-15 Yahoo Ad Tech Llc Identifying fraudulent requests for content
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11368387B2 (en) 2020-04-06 2022-06-21 Vmware, Inc. Using router as service node through logical service plane
CN112115224B (zh) * 2020-09-24 2024-03-08 北京百度网讯科技有限公司 地图数据的辅助质检方法、装置、电子设备及存储介质
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226407B1 (en) * 1998-03-18 2001-05-01 Microsoft Corporation Method and apparatus for analyzing computer screens
US20110231823A1 (en) * 2010-03-22 2011-09-22 Lukas Fryc Automated visual testing
US20130004087A1 (en) * 2011-06-30 2013-01-03 American Express Travel Related Services Company, Inc. Method and system for webpage regression testing
EP2889833A1 (en) * 2013-12-26 2015-07-01 Thomson Licensing Method and apparatus for image quality assessment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080243571A1 (en) 2007-04-02 2008-10-02 Edelman Benjamin G Auditing advertisement presentations on a client device
US8239888B2 (en) 2009-10-29 2012-08-07 Ineoquest Technologies, Inc. Advertising metrics system and method
WO2012134610A1 (en) 2011-03-30 2012-10-04 Thomson Licensing Method for image playback verification
CN103679487B (zh) 2012-09-05 2017-07-07 阿里巴巴集团控股有限公司 广告展示的监控方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226407B1 (en) * 1998-03-18 2001-05-01 Microsoft Corporation Method and apparatus for analyzing computer screens
US20110231823A1 (en) * 2010-03-22 2011-09-22 Lukas Fryc Automated visual testing
US20130004087A1 (en) * 2011-06-30 2013-01-03 American Express Travel Related Services Company, Inc. Method and system for webpage regression testing
EP2889833A1 (en) * 2013-12-26 2015-07-01 Thomson Licensing Method and apparatus for image quality assessment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ETRUSOFT: "Screen capture,timer-activated capture,history catalog overview,manage images with history bar", 《URL:HTTP://WEB.ARCHIVE.ORG/WEB/SCREENSHOT-MAKER-ONLINE-HELP》 *
IP.COM INC.: "An enhanced screen capture method in translation verification test", 《IP.COM JOURNAL》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10313679B2 (en) 2017-04-21 2019-06-04 ZeniMaz Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
US10554984B2 (en) 2017-04-21 2020-02-04 Zenimax Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
US11330276B2 (en) 2017-04-21 2022-05-10 Zenimax Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
CN110221871A (zh) * 2019-04-22 2019-09-10 腾讯科技(深圳)有限公司 网页获取方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
US20170220306A1 (en) 2017-08-03
CN108027830B (zh) 2020-06-02
EP3335131A1 (en) 2018-06-20
WO2017136082A1 (en) 2017-08-10
EP3335131B1 (en) 2020-07-01
US10216467B2 (en) 2019-02-26

Similar Documents

Publication Publication Date Title
CN108027830A (zh) 用于自动内容验证的系统和方法
US9553918B1 (en) Stateful and stateless cookie operations servers
JP6681342B2 (ja) 行動イベント計測システム及び関連する方法
US9219787B1 (en) Stateless cookie operations server
CN107330731B (zh) 一种识别广告位点击异常的方法和装置
US10068352B2 (en) Determining visibility of rendered content
EP3971798A1 (en) Data processing method and apparatus, and computer readable storage medium
US20130219217A1 (en) System and method for automated test configuration and evaluation
US10037315B2 (en) Using form fields as dimensions to define consumer segments for which form interactivity metrics can be analyzed
CN112789650A (zh) 检测半透明图像水印
US20150302052A1 (en) System and Method for Controlling Audience Data and Tracking
US10146667B2 (en) Generalized snapshots based on multiple partial snapshots
TW201310986A (zh) 虛擬廣告平台
US10210001B2 (en) Automatic execution of objects in a user interface
CN114461869A (zh) 业务特征数据处理方法、装置、电子设备及存储介质
CN113516251A (zh) 一种机器学习系统及模型训练方法
US10198415B2 (en) Webform monitoring
CN115756461A (zh) 标注模板生成方法、图像识别方法、装置和电子设备
CN114598610B (zh) 网络业务规则识别
KR102382741B1 (ko) 골프 연습장 무인 관리 시스템
CN114297426A (zh) 企业异常贷款行为识别方法、装置、设备及存储介质
CN111553375B (zh) 使用变换以验证计算机视觉质量
US20200235927A1 (en) Distributed Anonymous Scoring Technique
US20200387566A1 (en) Dynamically generating a visually enhanced document
CN112766294A (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