首页> 中国专利> 动态应用内容分析

动态应用内容分析

摘要

方法、系统和装置,包括用于分析在客户端设备上的应用(例如,本机应用)内显示的内容并做出关于应用内的内容的呈现的决定的装置。在一个方面,过程包括识别在应用内发生的事件。事件可以指示由应用显示内容。从应用接收要被显示的内容。向服务器发送表示内容的信息。从服务器接收响应。响应指示内容在应用内显示的适合性。

著录项

  • 公开/公告号CN112262386A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201980038797.5

  • 发明设计人 J.N.杜克利斯;T.托克索兹;

    申请日2019-10-23

  • 分类号G06F21/53(20060101);G06F21/62(20060101);G06Q30/02(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人金玉洁

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 09:36:59

说明书

背景技术

互联网提供对各种资源的访问。例如,可通过互联网访问视频和/或音频文件以及特定主题或特定新闻文章的网页。资源可以呈现与特定主题或特定新闻文章相关的内容。还可以使用应用(诸如为特定平台或特定类型的设备开发的本机应用)访问内容。

发明内容

本说明书描述了与分析在应用中显示的动态内容以及基于分析选择附加内容以在应用内呈现相关的技术。

存在用于分析在客户端设备上的Web浏览器内显示的内容的技术。例如,服务器可以在内容显示在客户端设备上之前从其源检索内容,例如通过从Web服务器请求内容。然后,服务器可以分析检索的内容,例如识别其是否包含不良内容,诸如恶意代码、成人材料、仇恨言论等。

然而,分析显示在Web浏览器以外的应用中的内容在技术上具有挑战性。与Web浏览器不同,不一定可能在内容显示在应用内之前识别内容的源。因此,存在诸如恶意应用开发者的“不良行为者”分发检索不良内容并将该内容显示给用户的应用的可能性。动态内容的存在使这个问题更加复杂。动态内容可以针对特定用户频繁地更新和/或定制,或者在不同时间或由不同客户端设备显示时可以不同。例如,在应用内渲染内容时分析动态内容而不引起不可接受的延迟,可能会很困难。

也可能无法通过应用本身之外的服务器直接获得应用内容。例如,可以针对在客户端设备上登录到应用的用户定制一些内容。这样的内容在应用外部将不可用。当应用打开或加载内容时,应用会请求某些内容,并且仅当应用处于活动状态并已请求内容时,这些内容才可用于分析。例如,应用可以从网站请求内容以在应用内呈现。由于应用未绑定到特定的统一资源定位符(URL)(如网页),因此没有确定的数据源。另外,应用可以在脱机(例如,未连接到应用可以获得内容的网络)时呈现内容,相对于Web浏览器中呈现的Web内容,更难以分析应用的内容。

从应用发布者那里获得将在应用中呈现的内容并在将内容呈现在应用中之前分析内容也可能是无效的。例如,不良行为者可能会提供误导性的内容进行分析,同时在应用本身中提供不同的内容。

本公开允许分析在客户端设备上的应用(例如,不同于传统浏览器)内显示的内容。具体地,客户端设备识别何时在应用内显示(或将要显示)内容,并将内容(或其哈希值)发送到服务器以分析内容的适合性。根据服务器对内容的分析,客户端设备可以做出与应用内的内容的显示相关的进一步决定。以此方式,可以快速分析要在应用内显示的内容,而不会在渲染内容时引入不可接受的延迟。可以通过将哈希值(而不是内容本身)发送到服务器进行分析来保留内容的保密性。

另外,可以选择其他内容,例如数字分量,以与内容一起呈现。由于应用的内容可以是动态的(例如,经常改变),因此可以确定内容相对于先前分析的内容是否已经改变。如果没有改变,则可以使用内容的先前分析来选择数字分量。如果内容已经改变,则可能需要在提供某些数字分量之前对内容进行分析,例如,具有一个或多个选择标准的数字分量,这些选择标准指示数字分量可能不会与特定类型的内容(诸如成人材料、仇恨言论等)一起呈现。由于该分析可能需要时间,因此可能提供可以与任何类型的内容(例如,包括成人材料或仇恨言论)一起呈现的数字分量进行呈现,而包括对可以与其一起呈现的内容类型的限制的数字分量可以被视为没有资格呈现。这减少了提供和呈现数字分量的等待时间,同时还确保符合数字分量的选择标准,并防止这样的数字分量与不适合内容一起呈现。

通常,本说明书中描述的主题的一个创新方面可以体现在用于分析要在客户端设备上的应用内显示的内容的方法中。所述方法可以由客户端设备执行,并且包括识别在应用内发生的事件。事件指示应用对内容的显示。从应用接收要被显示的内容。向服务器发送表示内容的信息。接收来自服务器的响应。响应指示内容在应用内显示的适合性。该方面的其他实现方式包括对应的装置、系统和计算机程序,被配置为执行在计算机存储设备上编码的方法的各方面。

这些和其他实现方式可以各自可选地包括以下特征中的一个或多个。在一些方面,表示内容的信息包括通过对内容的至少一部分执行哈希函数而生成的哈希值。

一些方面可以包括:当响应指示内容不适合显示时,阻止在应用内显示内容。一些方面可以包括:当响应指示内容适合在应用内显示时,接收附加内容;以及当内容被显示在应用内时,在客户端设备上显示附加内容。事件可以是屏幕更新事件。

通常,本说明书中描述的主题的另一个创新方面可以体现在方法中,所述方法包括:从客户端设备接收表示由在客户端设备处执行的应用显示的并且不可由一个或多个数据处理装置直接访问的当前内容的信息。一个或多个数据处理装置基于所接收的信息来确定由应用显示的当前内容是否已经从由应用先前在一个或多个客户端设备处显示的先前内容改变。一个或多个数据处理装置基于当前内容是否已经从先前内容改变来对信息做出响应,包括:响应于确定当前内容没有从先前内容改变:对于先前内容,获得一个或多个标签,其中每个标签指示先前内容的至少一部分被分配给的内容类别。一个或多个标签基于对先前内容的先前分析而分配给先前内容,其中该先前分析(i)在接收到信息之前被执行,并且(ii)指示先前内容被列入白名单以用于受限数字分量的呈现。响应还包括基于一个或多个标签,选择仅有资格与已经被分配指示内容被列入白名单以用于受限数字分量的呈现的一个或多个标签的内容一起呈现的受限数字分量集合;从受限数字分量集合选择受限数字分量中的一个或多个以用于与当前内容一起在应用处呈现;以及将所选择的一个或多个受限数字分量提供给从其接收信息的客户端设备。响应于确定当前内容已经改变,无论内容是否被列入白名单,有资格呈现的不受限数字分量被选择,而不是受限数字分量中的一个或多个。这方面的其他实现方式包括对应的装置、系统和计算机程序,被配置为执行在计算机存储设备上编码的方法的各方面。

这些和其他实现方式可以各自可选地包括以下特征中的一个或多个。在一些方面,选择不受限数字分量可以包括:识别无论内容是否被列入白名单都有资格呈现的不受限数字分量集合;基于不受限数字分量的一个或多个分发标准,从不受限数字分量集合选择不受限数字分量。

一些方面可以包括:响应于确定当前内容已经从先前内容改变,分析应用的当前内容;以及基于该分析向当前内容分配指示当前内容被列入白名单以用于受限数字分量的呈现的至少一个标签。

在一些方面,一个或多个标签中的至少一个指示当前内容已经被分类为包括给定类别的不适合内容。选择受限数字分量集合可以包括:确定给定数字分量具有指示给定数字分量没有资格与包括给定类别的不适合内容的内容一起呈现的一个或多个选择标准;以及响应于确定给定数字分量具有指示给定数字分量没有资格与包括给定类别的不适合内容的内容一起呈现的一个或多个选择标准,确定不将给定数字分量包括在受限数字分量集合中。

在一些方面,表示当前内容的信息包括通过对当前内容的至少一部分执行哈希函数而生成的哈希值;以及基于所接收的信息,确定当前内容是否已经从先前内容改变包括将哈希值与先前内容的先前哈希值进行比较。

在一些方面,表示当前内容的信息包括多个哈希值,并且其中每个哈希值表示由应用显示的当前内容的一部分。在一些方面,响应于检测到屏幕更新事件,应用提供表示由应用显示的内容的信息。

本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。通过确定应用内容是否已经改变,可以比在内容选择时分析应用内容明显更快地选择用于与应用内容一起呈现的附加内容(例如,数字分量)。这减少了提供和呈现内容的等待时间,可以减少在等待附加内容时在应用内发生的错误。通过确定应用内容在内容选择时是否已经改变,系统可以确保即使对于呈现动态改变内容的应用,受限数字分量也不会与不适合内容一起呈现。通过使用在应用内发生的事件的识别触发向服务器发送表示内容的信息,即使服务器可能无法直接访问内容,服务器也可以分析内容。此外,可以减少在应用内显示不适合内容的可能性,而在显示适合内容时不会引入明显的等待时间。

下面参照附图描述前述主题的各种特征和优点。根据本文描述的主题和权利要求、其他特征和优点是显而易见的。

附图说明

图1是示例数字分量分发系统分析应用的内容并基于分析来分发数字分量以在应用中呈现的环境的框图。

图2是示出用于获得指示要由应用呈现的内容的适合性的响应的示例过程的流程图。

图3是示出用于基于由应用显示的内容来选择和提供数字分量以供应用呈现的示例过程的流程图。

各个附图中的相同的附图标记和名称指示相同的元件。

具体实施方式

通常,本文描述的系统和技术可以分析在客户端设备上的应用(例如,本机应用)内显示的内容。然后,系统可以做出有关应用内的内容的呈现的决定。例如,可以基于分析来选择附加内容以在应用内呈现。

诸如数字分量的附加内容可以具有一个或多个关联选择标准,指示不与附加内容一起呈现的内容的类型、类别和/或等级。例如,数字分量的发布者可以禁止其数字分量与归类为仇恨言论或包括暴力图像的内容一起呈现。由于应用内呈现的内容通常是动态的(例如,为特定用户定制,经常更新或在应用处于活动状态时从其他源请求),因此很难准确确定应用的内容是否包含其中某些附加内容没有资格呈现的文本、图像或其他内容。为了更快做出关于可以与应用的内容一起呈现什么附加内容的决定,本文描述的系统和技术可以基于应用呈现的当前内容是否已经从应用呈现的先前内容改变来选择附加内容。

例如,系统可以接收客户端设备上的应用显示的(或将要显示的)当前内容的指示。系统可以确定当前内容是否已经从应用在相同客户端设备或在不同客户端设备上呈现的先前内容改变。如果当前内容与先前内容相同,则可以使用先前内容的先前分析来选择要在应用内呈现的附加内容。例如,可以基于先前分析选择有资格与先前内容一起呈现的附加内容。如果当前内容与先前内容不同,则系统可以选择无论当前内容的主题或等级如何都有资格呈现的不受限内容。以此方式,系统在选择附加内容以与当前内容一起呈现之前不必等待当前内容被分析,从而减少了选择和呈现内容的等待时间。

图1是示例数字分量分发系统150分析应用的内容并基于分析来分发数字分量116以在应用中呈现的环境100的框图。在整个文档中,短语“数字分量”是指数字内容或数字信息的离散单元(例如,视频片段、音频片段、多媒体片段、图像、文本或其他内容单元)。数字分量116可以电子方式作为单个文件或文件集合存储在物理存储设备中,数字分量可以采用视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,包括广告信息,例如广告是一种数字分量。例如,数字分量可以是旨在补充应用内容的内容。更具体地,数字分量可以包括与应用内容相关的数字内容(例如,数字分量可以与和应用内容相同的主题相关,或者与相关主题相关)。因此,由数字分量分发系统150提供的数字分量可以补充并且总体上增强应用内容。

数字分量分发系统150可以将数字分量116发送到一个或多个客户端设备110,以由在客户端设备110上运行的应用111进行呈现。客户端设备110是能够在数据通信网络120上进行通信的电子设备,该数据通信网络120例如是局域网(LAN)、广域网(WAN)、互联网、移动网络或其组合。示例客户端设备110包括个人计算机、移动通信设备(例如智能电话)以及可以通过网络120发送和接收数据的其他设备。客户端设备110可以包括各种应用,诸如为特定平台或特定设备开发的本机应用。例如,应用111可以是为特定智能电话或特定移动设备操作系统开发的本地应用。

应用111可以向客户端设备110的用户呈现例如文本、图像和/或视频的内容。例如,体育新闻应用可以呈现新闻、比分、文章、精彩视频、在体育赛事期间拍摄的照片或其他体育相关内容。应用111也可以呈现具有内容的数字分量。例如,应用111的应用页面117可以包括用于呈现应用内容(例如体育内容)的内容区域118和用于呈现一个或多个数字分量116的一个或多个数字分量时隙119。

应用111可以通过网络120向数字分量分发系统150提交数字分量请求115,以请求数字分量,例如,以呈现在数字分量时隙119中。如下面更详细描述的,数字分量请求115可以包括表示由应用111显示或将要显示的内容的信息。

数字分量分发系统150包括一个或多个前端服务器152,从客户端设备110接收数字分量请求115并响应于请求向客户端设备110提供数字分量116。数字分量分发系统150还包括后端服务器,包括一个或多个应用内容分析服务器160和一个或多个数字分量选择服务器170。前端服务器152可以例如通过内部数据通信网络(例如LAN或WAN)与后端服务器通信。

应用内容分析服务器160分析在客户端设备110上运行的应用111显示的内容。例如,如下面更详细描述的,当应用111向数字分量分发系统150提交数字分量请求115时,数字分量请求115可以包括应用的内容或将与响应于请求而选择的数字分量一起呈现的内容的一个或多个哈希值。然后可以使用对内容的分析来选择数字分量,以与应用内容一起呈现。

应用内容分析服务器160可以分析应用内容以向内容分配标签(或其他数据)以指示应用内容中包括的内容的类型、类别和/或等级。例如,应用内容分析服务器160可以分析应用内容的文本以确定文本是否包括粗俗语言、仇恨言论、特定单词或特定主题。例如,应用内容分析服务器160可以将文本中的单词或短语与低俗单词或短语的列表、仇恨语音单词或短语的列表和/或可以为其标记内容的其他单词或短语列表进行比较。然后,应用内容分析服务器160可以将指示文本是否包括任何这样的语言或主题的标签分配给应用内容。例如,如果文本包括粗俗词语,则应用内容分析服务器160可以向应用内容分配标签“粗俗词语”,指示应用内容包括粗俗词语。

在一些实现方式中,应用内容分析服务器160可以分析文本的哈希值以确定文本是否包括粗俗语言、仇恨言论、特定单词或特定主题。例如,如下面更详细描述的,应用111可以包括哈希引擎114,使用哈希函数计算文本的哈希值。应用111可以例如在数字分量请求115中包括哈希值,而不是实际文本。哈希值的使用可以保留应用内容118的保密性,因为拦截(或以其他方式接收)数字分量请求115的一方可能很难(如果不是不可能的话)从哈希值中获得应用内容118。

应用内容分析服务器160还可以分析包括在应用内容中的图像。例如,应用内容分析服务器160可以对(多个)图像使用对象检测技术、对象识别技术和/或计算机视觉分析来检测特定对象的存在,例如武器、酒精、毒品或吸毒用具等,和/或特定类型的内容,例如血腥、过度暴露等。然后,应用内容分析服务器160可以向应用内容分配指示(多个)图像是否包括特定对象或特定类型的内容的标签。

应用内容分析服务器160还可以分析包括在应用内容中的音频内容。例如,应用内容分析服务器160可以例如使用音频转录技术将音频转换为文本,并且类似于如何分析包括在应用内容中的文本来分析转换的文本。然后,应用内容分析服务器160可以向应用内容分配指示音频是否包括任何粗俗语言、仇恨言论、特定单词或特定主题的标签。

应用内容分析服务器160还可以分析包括在应用内容中的(多个)视频。例如,应用内容分析服务器160可以对视频的一个或多个帧进行采样,并且以与应用内容分析服务器160分析图像相似的方式来分析每个帧。类似地,应用内容分析服务器160可以将视频中包括的音频转换为文本,并以与应用内容分析服务器160分析转换的音频内容的文本相似的方式分析转换的文本。然后,应用内容分析服务器160可以向应用内容分配每个图像帧和转换的文本的标签。应用内容分析服务器160还可以基于(多个)图像和转换的文本的组合向应用内容分配标签。例如,应用内容分析服务器160可以确定在(多个)图像和文本中识别的对象对应于相同主题,并且向应用内容分配指示应用内容与主题相关的标签。

应用分析内容服务器160还可以基于对内容中包括的文本、(多个)图像、音频和/或视频的分析,为应用内容分配等级。例如,应用分析内容服务器160可以基于应用内容对于特定观众或特定年龄组的适合性来分配等级。在特定示例中,应用分析内容服务器160可以基于应用内容中识别的单词、图像中识别的对象或内容类型等向应用内容分配电子软件评级委员会(ESRB)系统等级,例如G、PG、Teen(青少年)或Mature(成人)。在另一示例中,等级可以适合于所有观众或不适合于所有观众。

应用内容分析服务器160还可以基于对应用内容的分析来确定是否将应用内容包括在白名单中,该白名单包括受限数字分量有资格呈现的应用内容。如下面更详细描述,受限数字分量是仅有资格与白名单中已经包括的应用内容一起呈现的数字分量。例如,应用内容分析服务器160可以在白名单中包括具有一个或多个等级(例如,仅G或PG)的应用内容。分配给青少年或更高等级的应用内容可能不包括在白名单中。应用内容分析服务器160可以向列入白名单的应用内容分配指示应用内容被列入白名单以用于受限数字分量的呈现的一个或多个标签。

在另一示例中,白名单可以包括已经由应用内容分析服务器160分析的应用内容,并且对于白名单,已经基于分析将一个或多个标签分配给应用内容。如下面更详细描述,标签然后可以用于选择与包括那些标签的应用内容一起呈现的受限数字分量,而不选择没有资格与包括那些标签的应用内容一起呈现的受限数字分量。

应用分析内容服务器160可以在应用内容数据存储单元164中存储应用内容、应用内容的标识符、用于从中接收应用内容的应用的标识符和/或内容的标签。应用内容的标识符可以包括用于包括内容的应用页面的统一资源标识符(URI)。在另一示例中,应用内容的标识符可以是例如在接收到应用内容时由前端服务器152或者在分析应用内容时由应用内容分析服务器160分配给应用内容的唯一密钥。例如,如果应用内容分析服务器160确定当前内容与从应用接收的先前应用内容匹配,则应用内容分析服务器160可以将先前应用内容的标识符分配给当前内容。

一些应用可以包括内容的多个部分,例如,动态内容的多个部分。例如,社交网络应用可以生成新闻馈送或消息馈送,其中包括为登录到社交网络应用的用户选择的多个消息或更新。在该示例中,应用内容应用分析服务器160可以分析内容的每个部分,例如每个消息或更新,并且基于分析将标签分配给内容的每个部分。应用内容应用分析服务器160还可以向内容的每个部分分配唯一标识符,并将内容、标识符和内容的每个部分的标签存储在应用内容数据存储单元164中。

应用内容分析服务器160还可以计算应用内容和/或应用内容的部分的哈希值。应用内容分析服务器160可以使用哈希函数来计算内容的哈希值。例如,分析服务器160可以使用MD5、SHA-512、SHA-256或SHA-1哈希函数或其他适当的哈希函数。应用内容分析服务器160可以将应用内容的每个部分的哈希值存储在应用内容数据存储单元164中。例如,应用内容数据存储单元164可以包括一个或多个表或数据库,对于应用内容的每个部分包括行(该行包括应用内容的标识符)、呈现应用内容的应用的标识符、应用内容的哈希值以及分配给应用内容的每个标签。对应用内容的每个部分,示例表165包括内容的标识符、内容的哈希值以及内容的一个或多个标签。

应用内容分析服务器160还可以将当前应用内容的哈希值与先前应用内容的哈希值进行比较,以确定应用的内容是否已经改变。例如,如果为应用页面的当前版本确定的哈希值不同于为相同应用页面的先前版本计算的哈希值(或相同应用页面的多个先前版本的哈希值),则内容分析服务器160可以确定应用页面的内容已经改变。如果当前版本的哈希值与先前版本匹配,则应用内容分析服务器160可以确定应用页面的内容没有改变。

数字分量选择服务器170可以响应于从客户端设备110接收的数字分量请求115选择要提供以用于呈现的数字分量。可以将数字分量存储在数字分量数据存储单元172中。数字分量可以包括受限数字分量和不受限数字分量。受限数字分量是仅有资格与白名单内容一起呈现的数字分量。例如,受限数字分量可能仅有资格与已经被分配指示内容被列入白名单以用于受限数字分量的呈现的一个或多个标签的内容一起呈现。

受限数字分量还可以具有一个或多个关联选择标准,这些选择标准指示受限数字分量没有资格一起呈现的内容。例如,数字分量发布者140可能不允许其数字分量与特定类型、类别和/或等级的内容一起呈现。受限数字分量的选择标准可以指定排除的类型、类别和/或等级的内容,诸如高于PG的等级,包括血腥、武器或枪支的内容,包括粗俗语言的内容等。如果数字分量请求115的应用内容的标签包括受限数字分量的排除内容,则受限数字分量将没有资格响应于数字分量请求用于选择。

不受限数字分量是无论内容是否被列入白名单都可以有资格呈现的数字分量。例如,一些数字分量发布者140可以允许其数字分量与任何类型、类别或等级的内容一起呈现。

受限和不受限数字分量可以具有数字分量选择服务器170用于选择数字分量以响应于数字分量请求115而提供的一个或多个分发标准。该分发标准可以与应用的内容、应用本身、与客户端设备相关的数据(例如地理位置或用户或客户端设备)、或其他适当的标准相关。例如,数字分量发布者140可以指定数字分量符合有资格在特定应用中与包括具有特定关键字的应用内容一起呈现,或者在位于特定地理区域的客户端设备上运行的应用中呈现。如下面更详细地描述,数字分量选择服务器170可以基于当前应用内容是否已经从先前应用内容改变而识别出有资格数字分量集合,然后基于分发标准从有资格数字分量选择一个或多个数字分量。

应用111包括事件检测器112、内容引擎113和哈希引擎114。在一些实现中,事件检测器112、内容引擎113和哈希引擎114被包括在软件开发人员工具包(SDK)中。例如,应用开发人员可以从数字分量分发系统150(或另一个系统)下载SDK,并将SDK包括在应用111中,使得应用111可以从数字分量分发系统150请求数字分量。

事件检测器112可以检测在应用111中发生的事件。事件检测器112可以检测指示应用111显示内容的事件。例如,事件检测器112可以检测屏幕更新事件,针对该屏幕更新事件,应用111将要更新屏幕以呈现内容,例如,应用当前未呈现的内容。在特定示例中,事件检测器112可以检测何时正在从服务器加载或下载应用页面。在另一示例中,事件检测器112可以检测何时创建和激活webview。在另一示例中,像素可以被包括在webview中,并且事件检测器112可以确定何时像素对于观看者可见。

当事件检测器112检测到指示应用111显示内容的事件时,内容引擎113可以发送信息表示由应用111向数字分量分发系统150显示(或将要显示)的内容。如果应用111要向数字分量提供内容,则内容引擎113可以在正在请求一个或多个数字分量与内容一起呈现的数字分量请求中发送信息。

内容引擎113可以发送内容本身、内容的一个或多个哈希值或内容的某些部分与内容的其他部分的一个或多个哈希值的组合作为表示内容的信息。当发送哈希值时,哈希引擎114可以使用一个或多个哈希函数基于内容来计算哈希值。这些哈希函数可以是与应用内容分析服务器160所使用的哈希函数相同的哈希函数,从而可以将内容引擎113发送的哈希值与应用内容分析服务器160计算的哈希值进行比较。

内容引擎113可以被配置为对特定类型的内容发送实际内容或内容的哈希值。例如,某些应用呈现敏感或私有数据,应用发布者130(或用户)可能不希望发送给第三方。在特定示例中,银行应用可以呈现用户的财务数据。在此示例中,内容引擎113可以被配置为发送一个或多个哈希值,这些哈希值表示应用中的文本而不是文本本身,从而不会将用户的财务数据发送到数字分量分发系统150。其他应用(例如新闻报道应用)可能不会显示私人或敏感数据。这些应用的内容引擎113可以被配置为发送文本本身,而不是发送文本的哈希值。

当在应用111中发送表示文本的哈希值时,哈希引擎114可以为所有文本计算哈希值。哈希引擎114还可以对单词的单个组(例如,单独的对或单词)计算相应的哈希值。内容引擎113可以与表示内容的信息一起发送所有文本的哈希值和/或文本组的哈希值。

一些图像还可以包括表示敏感或私人数据的文本。对于可以呈现这样的图像的应用,内容引擎113可以被配置为例如使用光学字符识别(OCR)技术来识别图像中的文本。在将图像发送到数字分量分发系统150之前,内容引擎113可以例如使用图像模糊技术来模糊图像中的文本和/或其他敏感或私人数据。内容引擎113还可以使哈希引擎114为图像中的文本计算一个或多个哈希值。然后,内容引擎113可以在表示内容的信息中包括模糊图像和文本的(多个)哈希值。

如上所述,一些应用,例如社交网络应用,可以包括内容的多个部分,例如动态内容的多个部分。对于这样的应用,内容引擎113可以发送内容的每个部分的数据,例如,内容的每个部分的一个或多个哈希值。以此方式,应用内容分析服务器160可以确定每个部分是否与先前分析并被分配标签的内容的一部分匹配。

内容引擎113可以生成数字分量请求115并将其发送到内容分发系统150,数字分量请求115包括表示应用内容的信息。数字分量请求115还可以包括其他数据,例如,应用的标识符,以及内容的标识符,例如,应用页面的URI,其中包括内容、上下文数据(例如,客户端设备110的地理位置)和/或其他适当的数据。

当数字分量分发系统150接收到数字分量请求115时,应用内容分析服务器160可以确定由数字分量请求115中的数据表示的当前内容是否已经从由应用先前在从其接收到数字分量请求的客户端110或在另一客户端设备呈现的先前内容改变。为此,数字分量分发系统150可以将当前内容的一个或多个哈希值与存储在应用内容数据存储单元164中的一个或多个哈希值进行比较。

在一些实现方式中,应用内容分析服务器160可以确定是否存在应用内容数据存储单元164中存储的应用的先前内容。例如,应用内容分析服务器160可以将内容的标识符与存储在应用内容数据存储单元164中的内容的标识符进行比较。如果存在匹配,则应用内容分析服务器160可以确定当前内容是否已经从其数据被存储在应用内容数据存储单元164中的内容的一个或多个先前版本改变。

应用内容分析服务器160可以通过将当前内容的一个或多个哈希值与存储在应用内容数据存储单元164中的先前内容的一个或多个对应哈希值进行比较,来确定内容是否已经改变。如果数字分量请求115包括例如当前内容而不是(多个)哈希值,则应用内容分析服务器160可以计算当前内容的(多个)哈希值。在一些实现方式中,应用内容分析服务器160将当前内容作为整体(例如,对于所有当前内容)的总体哈希值与先前内容的总体哈希值进行比较。如果哈希值匹配,则应用内容分析服务器160可以确定当前内容没有从先前内容改变,如果哈希值不匹配,则应用内容分析服务器160可以确定当前内容已经从先前内容改变。

由于应用内容可以多次改变,因此应用内容分析服务器160可以将当前内容的(多个)哈希值与已经分析的应用内容的多个先前版本中的每个版本的(多个)对应哈希值进行比较。例如,如果删除了内容的较新版本,则应用可以还原到内容的较早版本(例如,早于两个最新版本)。如果当前内容与已经分析的旧版本匹配,则可以使用对旧版本的分析来选择(多个)数字分量。

在一些实现方式中,应用内容分析服务器160将当前内容的多个哈希值与先前内容的多个对应的哈希值进行比较。例如,如果应用包括内容的多个单独部分,例如多个新闻馈送帖子,则可以将当前内容的每个单独部分的哈希值与先前内容的每个内容的对应哈希值进行比较。如果当前内容的一个或多个哈希值与先前内容的对应哈希值不匹配,则应用内容分析服务器160可以确定当前内容已经从先前内容改变。如果当前内容的所有哈希值都与先前内容的对应哈希值匹配,则应用内容分析服务器160可以确定当前内容已经从先前内容改变。

为此,可以在多个用户的新闻馈送上显示社交网络帖子。帖子可以具有唯一识别帖子的标识符。当社交网络应用为第一用户呈现帖子时,应用内容分析服务器160可以分析帖子的内容以为其分配一个或多个标签并计算内容的哈希。之后,创建帖子的用户可以对其进行修改。然后可以将修改的帖子呈现给第二用户。修改的帖子的哈希值将与原始帖子的哈希值不同。因此,如果第二用户正在查看该用户的新闻馈送上的多个帖子,则应用内容分析服务器160将基于不匹配哈希值确定该特定帖子已从其先前版本改变。

以这种方式分析内容的每个单独部分可以减少应用内容分析服务器160的计算负担。例如,假设当前内容是通过组合内容的多个单独部分而生成的。进一步假设内容的单独部分的一些或全部先前已经由应用内容分析服务器160分析,但是这些部分以应用内容分析服务器160以前从未遇到过的方式进行了组合。通过使用对内容的单独部分的一些或全部的先前分析的结果,可以避免应用内容分析服务器160分析整个当前内容的需要,从而减轻了计算负担。

在一些实现方式中,应用内容分析服务器160可以比较实际内容,而不是将当前内容的哈希值与先前内容的哈希值进行比较。然而,这可能比比较哈希值更耗时,导致响应于数字分量请求115而提供数字分量116时增加了等待时间。

在一些实现方式中,应用内容分析服务器160可能不具有用于由数字分量请求115中的数据表示的当前内容的标识符。在这样的示例中,应用内容分析服务器160可以将当前内容的哈希值与存储在应用内容数据存储单元164中的应用111的每个先前内容的哈希值进行比较。如果存在匹配项,则匹配内容的标签可以用于选择数字分量。如果不存在,则如上所述,可以响应于数字分量请求115提供不受限数字分量,并且应用内容分析服务器160可以分析内容并且基于分析将标签分配给内容。然后,可以使用标签来选择受限数字分量,以用于对相同内容的后续数字分量请求。

当第一次接收到内容时,例如,应用的新应用页面,应用内容分析服务器160可以将内容视为改变的内容。例如,应用内容分析服务器160可以分析内容,并基于分析为内容分配标签。如上所述,应用内容分析服务器160还可以计算内容的一个或多个哈希值。

如果应用内容分析服务器160确定当前内容已经从先前内容改变,则数字分量选择服务器170可以识别无论内容是否被列入白名单都可以提供的不受限数字分量(而不是受限数字分量)的集合。然后,数字分量选择服务器170可以例如基于对不受限数字分量的选择标准来选择一个或多个不受限数字分量,以响应于数字分量请求而提供。这允许数字分量选择服务器170提供数字分量,而无需等待当前内容被分析以确定当前内容是否适合于受限数字分量。由于当前内容包括可能不适合至少某些数字分量的未知内容,因此受限数字分量直到完成分析为止可能没有资格。这减少了响应于数字分量请求而提供数字分量的等待时间。

如果应用内容分析服务器160确定当前内容没有从先前内容改变,则数字分量选择服务器170可以基于对先前内容的先前分析来获得分配给先前内容的一个或多个标签。然后数字分量选择服务器170可以选择有资格与包括一个或多个标签的内容一起提供的受限数字分量。例如,如果标签之一指示先前内容包括酒精,则数字分量选择服务器170可以选择有资格与包括酒精的内容一起呈现的受限数字分量。然后,数字分量选择服务器170可以基于受限数字分量的选择标准,在受限数字分量集合中选择一个或多个受限数字分量以响应于数字分量请求115而提供。

数字分量选择服务器170可以将(多个)所选择的数字分量提供给前端服务器152。进而,前端服务器152可以将(多个)所选择的数字分量提供给从其接收数字分量请求115的客户端设备110。应用111可以将例如数字分量时隙中的(多个)所接收的数字分量与当前内容一起呈现。

在图1的示例中,数字分量请求115包括应用标识符“App 1”,识别将由应用程序111呈现的当前内容的内容标识符“page1”,以及当前内容的哈希值“3hx9mg7”。应用内容分析服务器160可以在应用数据存储单元164中识别App 1的page 1的先前内容,如表165的虚线框所示。应用内容分析服务器160可以将数字分量请求中包括的哈希值与表165中包括的哈希值进行比较。由于在该示例中两个哈希值匹配,因此数字分量选择服务器170可以获得与先前内容匹配的(多个)标签,即成人和毒品的等级。然后,数字分量选择服务器170可以选择有资格与具有R等级以及包括毒品的内容一起呈现的受限数字分量。在该示例中,数字分量3有资格,因为仅将该数字分量从与包括仇恨言论或血腥的内容一起呈现排除出来。数字分量2也有资格,因为该数字分量不受限,并且可以与内容一起呈现,而与内容的类型或等级无关。如果哈希值不匹配,则数字分量2将有资格呈现,因为它是不受限数字分量,但是数字分量3将没有资格,因为它是受限数字分量。

应用111还包括哈希数据存储单元109,例如哈希数据库。在分析了客户端设备110提供的内容之后,数字分量分发系统150可以将内容的(多个)哈希和每个哈希的(多个)标签提供给客户端设备110,以存储在哈希数据存储单元中109。当应用111发送数字分量请求115时,哈希引擎114可以将应用111呈现(或将要呈现)的内容的(多个)哈希与哈希数据存储单元109的哈希表中的哈希进行比较。如果存在匹配,则内容引擎113可以在数字分量请求115中包括每个匹配哈希的(多个)标签而不是哈希本身。以此方式,数字分量选择服务器170可以使用(多个)标签来选择数字分量,而不是分析哈希或内容。

当应用111离线时,这也使应用111能够呈现数字分量。例如,数字分量分发系统150可以响应于数字分量请求115向应用111提供数字分量的集合。对于每个数字分量,数字分量分发系统150还可以提供规则集合,这些规则定义了何时可以呈现数字分量,例如,基于应用111的内容的标签。当应用111离线或网络120的带宽较低时(例如,由于客户端设备110与蜂窝塔或其他网络接入点的距离过大),内容引擎113可以使用哈希数据存储单元109中存储的哈希的标签来确定是否可以呈现数字分量,并且如果可以,则选择用于呈现的数字分量。即使当应用111在线并且带宽很高时,内容引擎113也可以使用该技术,例如,以减少呈现数字分量的等待时间。

例如,如果由应用111呈现的内容的(多个)哈希与哈希数据存储单元109中的(多个)对应哈希匹配,则内容引擎113可以使用每个数字分量的规则和(多个)哈希的标签,以选择数字分量用于呈现。如果内容的一个或多个哈希与存储在哈希数据存储单元109中的哈希不匹配,则内容引擎113可以选择不受限数字分量或确定不呈现数字分量(例如,如果没有不受限数字分量在数字分量的集合中提供)。

内容引擎113还可以将应用111呈现的内容的(多个)哈希与哈希数据存储单元109中的哈希进行比较,以确定是否等待来自数字分量分配系统150的数字分量。例如,如果内容的哈希与哈希数据存储单元109中存储的哈希不匹配,则内容引擎113可以确定不呈现数字分量,因为可能需要分析内容以将标签分配给内容。

在一些实现方式中,类似于应用内容分析服务器160,客户端设备110可以包括分析应用111的内容的设备上内容分析引擎。设备上内容分析引擎也可以与事件检测器112、内容引擎113和哈希引擎114一起包括在SDK中。设备上内容分析引擎可以基于分析为内容分配标签。与应用内容分析服务器160相比,设备上内容分析引擎可以更集中或更不广泛,因此它占用的客户端设备的有限内存更少。例如,设备上内容分析引擎可以仅分析在内容中找到的文本,并根据分析结果为文本分配标签。在该示例中,内容引擎113可以将标签与文本的哈希一起发送到数字分量分发系统150。对于将来的数字分量请求,内容引擎113可以类似地提供用于分析文本的哈希和标签,例如以简化由应用内容分析服务器160执行的分析。

在一些实现方式中,应用内容分析服务器160跟踪应用内容是否改变和/或改变频率。例如,如上所述,每当应用内容分析服务器160接收到对特定应用页面(或应用内容的其他可识别部分)的数字分量请求时,应用内容分析服务器160就可以确定内容是否已经改变。对于每个应用页面或应用内容的其他部分,应用内容分析服务器160可以例如在一段时间内保持其改变次数的计数。然后,应用内容分析服务器160可以基于计数将应用页面或应用内容的其他部分分类为静态或动态,例如,如果计数超过阈值,则通过其分配为动态。在另一示例中,如果应用内容分析服务器160确定内容在分析内容的最近N(例如100、200或另一个适当的数字)次内没有改变,则应用内容分析服务器160可以将应用页面或应用内容的其他部分分类为静态。

对于静态应用内容,当应用的实际内容不可用于应用内容分析服务器160时,应用内容分析服务器160可以使用先前分配的标签来选择数字分量,因为它不太可能改变为包括可能会限制数字分量的内容。应用内容分析服务器160可以执行统计采样以确保内容保持静态,例如,通过周期性地分析内容或在针对应用页面或应用内容的其他部分接收到阈值数量的数字分量请求之后分析内容。

图2是示出用于获得指示将由应用呈现的内容的适合性的响应的示例过程200的流程图。处理200可以例如由图1的客户端设备110实现。处理200的操作还可以被实现为存储在非暂时性计算机可读介质上的指令,并且由一个或多个数据处理装置执行指令可以使一个或多个数据处理装置执行处理200的操作。

识别在应用111内发生的事件(202)。事件可以指示由正在客户端设备110上运行的应用显示内容。指示应用显示内容的事件可以是屏幕更新事件,其中应用正在更新屏幕以呈现先前未由应用呈现的内容。例如,事件可以由用户请求刷新内容以呈现更新的内容(例如,更新的社交网络内容或更新的体育赛事得分)或用户请求下载并呈现与当前正在呈现的应用页面不同的应用页面来发起。如上所述,可以由应用中包括的SDK检测事件。在另一示例中,应用可以包括向SDK提供指示事件正在发生的数据的代码。

从应用接收要被显示的内容(204)。例如,应用的SDK或在相同客户端设备上运行的不同应用的SDK可以获得将由应用显示的内容。SDK可以包括脚本或包装函数,当内容提供给应用时,脚本或包装函数获得内容。

将表示内容的信息发送到服务器,例如,数字分量分发系统150或其任何组成服务器152、160、170(206)。可以响应于识别在应用内发生的事件而发送信息。如上所述,表示内容的信息可以包括内容本身,基于内容计算的哈希值或其组合。例如,表示内容的信息可以包括内容的图像、音频和/或视频。对于文本,表示内容的信息可以包括文本本身或基于文本计算的一个或多个哈希值,例如,对于整个文本和/或文本的单个组。

从服务器接收响应(208)。响应指示内容在应用内显示的适合性。例如,服务器可以分析表示内容的信息,并根据分析结果为内容分配标签。如上所述,标签可以指示包括在应用内容中的内容的类型、类别和/或等级。

可以基于从服务器接收的响应来执行其他操作。例如,当响应指示内容不适合显示时,应用(或应用的SDK)可以阻止在应用内显示内容。在特定示例中,如果为内容分配了成人等级,并且应用的用户未满特定年龄,例如18岁,则应用可以阻止内容的显示。在另一示例中,如果响应指示内容包括特定类型的内容,例如恶意代码或仇恨言论,则应用可以阻止内容的显示。

当响应指示内容适合在应用内显示时,可以接收附加内容用于在应用内显示。例如,服务器可以基于如上所述的内容分析来识别要在应用中呈现的一个或多个受限数字分量。服务器可以例如通过响应向应用提供(多个)识别的数字分量。应用可以将(多个)数字分量与内容一起呈现。

图3是示出用于基于应用显示的内容选择和提供数字分量以供应用呈现的示例过程300的流程图。处理300可以例如由图1的客户端设备110实现。处理300的操作还可以被实现为存储在非暂时性计算机可读介质上的指令,并且由一个或多个数据处理装置执行指令可以使一个或多个数据处理装置执行处理300的操作。

从客户端设备110接收表示由应用显示的当前内容的信息(302)。当前内容可以是例如响应于在应用中发生的事件而由应用111当前呈现或将要呈现的内容。如上所述,表示内容的信息可以包括内容本身、基于内容计算的哈希值或其组合。

应用的内容可能不可在应用外部直接访问。例如,可以对登录到应用的特定用户定制内容,例如,通过应用本身。在特定示例中,内容可以包括被选择呈现给登录到应用中的用户的社交网络帖子。在另一示例中,内容可以被频繁地更新,使得预先获得内容将不表示正在呈现的内容。例如,内容可以包括全天变化的股票行情、体育比分或新闻内容。

确定由应用显示的当前内容是否已经从由应用先前在一个或多个客户端设备处呈现的先前内容改变(304)。例如,可以将相同内容呈现给不同客户端设备的多个用户。一些动态内容可以随时间改变,使得应用在一个客户端设备上呈现的内容可能不同于应用在另一客户端设备上呈现的内容。可以基于登录到应用中的用户来定制某些内容,使得对不同用户,内容有所不同。

如上所述,可以为先前内容和当前内容计算一个或多个哈希值。可以将哈希值彼此比较以确定当前内容是否已经从先前内容改变。例如,可以为当前内容计算总体哈希值,并且可以为先前内容计算总体哈希值。如果哈希值匹配,则当前内容没有从先前内容改变,即,当前内容与先前内容匹配。如果哈希值不匹配,则当前内容已经从先前内容改变,即当前内容与先前内容不匹配。

基于当前内容是否已经从先前内容改变来做出响应。如果当前内容尚未从先前内容改变,则执行操作306-312。如果当前内容已经从先前内容改变,则执行操作314-320。

响应于确定当前内容没有从先前内容改变,获得先前内容的一个或多个标签(306)。可以基于先前内容的先前分析,将一个或多个标签分配给先前内容。例如,在接收到当前内容之前,可能已经从应用接收到表示先前内容的信息。如上所述,可以分析表示先前内容的信息,并且可以基于分析将一个或多个标签分配给先前内容。

如上所述,每个标签可以指示基于分析分配给先前内容的至少一部分的类别、类型或等级。一个或多个标签还可以包括标签,指示先前内容是否被列入白名单以用于受限数字分量的呈现。

基于一个或多个标签来选择受限数字分量集合(308)。受限数字分量是仅有资格与已经被分配指示内容被列入白名单以用于受限数字分量的呈现的一个或多个标签的内容一起呈现的数字分量。每个受限数字分量可以与一个或多个选择标准相关联,该选择标准指示禁止与数字分量一起呈现的内容的类别、类型和/或等级。可以将一个或多个标签与选择标准进行比较,以选择受限数字分量集合。例如,可以选择具有指示受限数字分量有资格与分配了先前内容的一个或多个标签的内容一起呈现的选择标准的每个受限数字分量以包括在受限数字分量集合中。如果受限数字分量包括指示受限数字分量没有资格与由先前内容的标签之一指定的内容一起呈现的选择标准,则受限数字分量可能不包括在受限数字分量集合中。

选择一个或多个数字分量以用于与内容一起呈现(310)。可以从受限数字分量集合选择一个或多个数字分量。例如,可以基于与应用的当前内容有关的分发标准、应用本身、与客户端设备有关的数据(例如地理位置或用户或客户端设备)或其他适当标准来选择一个或多个数字分量。

将(多个)所选择的数字分量提供给客户端设备用于在应用中与当前内容一起呈现(312)。应用可以接收(多个)数字分量,并在例如在应用的一个或多个数字分量时隙中与应用的当前内容一起呈现(多个)数字分量。

返回操作304,响应于确定当前内容已经从先前内容改变,选择不受限数字分量(314)。每个不受限数字分量是无论当前内容是否被列入白名单都有资格呈现的数字分量。例如,不受限数字分量可能对可以与不受限数字分量一起呈现的内容的类型、类别或等级没有任何限制。因此,可以将不受限数字分量与任何应用内容一起呈现。

从不受限数字分量集合选择一个或多个数字分量,以用于与当前内容一起呈现(316)。类似于受限数字分量,可以基于与应用的当前内容有关的分发标准、应用本身、与客户端设备有关的数据(例如地理位置或用户或客户端设备)或其他适当的条件来选择(多个)不受限数字分量。

(多个)所选择的数字分量被提供给客户端设备以用于与当前内容一起在应用中呈现(318)。应用可以接收(多个)数字分量,并在例如应用的一个或多个数字分量时隙中与应用的当前内容一起呈现(多个)数字分量。

分析应用的当前内容(320)。因为当前内容与先前内容不同,所以可以分析当前内容以向当前内容分配指示当前内容的类型、类别和等级的一个或多个标签。还可以分析当前内容以为当前内容分配指示当前内容被列入白名单以用于受限内容的呈现的标签。以此方式,如果稍后接收到相同内容,则标签可以用于选择数字分量,如操作306-312中所述。这允许在减少等待时间的情况下响应于接收到表示相同内容的信息来提供受限数字分量,因为已经对内容进行了分析并分配了(多个)标签。

本说明书中描述的主题和操作的实施例可以在数字电子电路中或在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其等同结构,或以其一种或多种的组合来实现。本说明书中描述的主题的实施例可以被实现为一种或多种计算机程序,即,计算机程序指令的一个或多个模块,其被编码在计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。可选地或另外,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置以通过数据处理装置来执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)或包括在其中。

本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。

术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机、片上系统、或前述的多个或组合。装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,诸如网络服务、分布式计算和网格计算架构。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,声明性或程序性语言,并且可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程、对象或其他适合在计算环境中使用的单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论程序的单个文件中或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)。可以将计算机程序部署为在一个计算机上执行,或者在位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。

本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程计算机来执行。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

例如,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁、磁光盘或光盘)接收数据或将数据传输到一个或多个大容量存储设备或两者。然而,计算机不必具有此类设备。此外,计算机可以嵌入到另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动器),仅举几例。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指示设备(例如,鼠标或轨迹球,用户可通过其向计算机提供输入)的计算机上实现本说明书中描述的主题的实施例。其他种类的设备也可以用于提供与用户的交互,例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户进行交互,例如,通过响应从网络浏览器收的请求,将网页发送到用户设备上的网络浏览器。

本说明书中描述的主题的实施例可以实现在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过图形用户界面或网络浏览器与本说明书中描述的主题的实现进行交互)或者包括一个或多个这种后端组件,中间件组件或前端组件的任意组合的计算系统中。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网际网络(例如互联网)和对等网络(例如ad hoc对等网络)。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生。在一些实施例中,服务器向用户设备发送数据(例如HTML页面)(例如为了向与客户端设备交互的用户显示数据并从中接收用户输入的目的)。可以在服务器上从客户端设备接收在客户端设备处生成的数据(例如用户交互的结果)。

尽管本说明书包括许多特定实现细节,但是这些细节不应被解释为对任何发明或所要求保护的范围的限制,而应解释为对特定发明的特定实施例而言特定的特征的描述。在单独的实施例的上下文中在本说明书中描述的特定特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管上面可以将特征描述为以特定组合起作用并且甚至最初如此宣称,但是在一些情况下,可以从组合中删除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变型。

类似地,尽管在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在特定情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或打包成多个软件产品。

因此,已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。另外,附图中描绘的处理不一定需要所示的特定顺序或连续顺序来实现期望的结果。在特定实现方式中,多任务和并行处理可能是有利的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号