在电信网络测量中防止数据操纵和保护用户隐私的制作方法

文档序号:28665840发布日期:2022-01-26 21:10阅读:81来源:国知局
在电信网络测量中防止数据操纵和保护用户隐私的制作方法
在电信网络测量中防止数据操纵和保护用户隐私


背景技术:

1.客户端设备通过公共网络(诸如互联网)传输数据。这些通信可能被非预期接收方的实体截获和/或更改。此外,实体可以伪造网络身份,并发送看似源自这些伪造的网络身份的数据。这种伪造的一个示例是sybil攻击,其中实体创建网络身份来破坏点对点(peer-to-peer)网络的信誉系统。


技术实现要素:

2.本说明书描述了与以防止欺诈和保护用户隐私的方式生成电信网络测量相关的技术。
3.一般地,在本说明书中描述的主题的一个创新方面可以体现在如下方法中,该方法包括:由客户端设备呈现数字组件,当该数字组件被交互时,由客户端设备发起对由该数字组件指定的电话号码的呼叫;响应于呈现数字组件,由客户端设备的可信程序在呈现事件数据结构中存储呈现事件数据元素,该呈现事件数据元素指定电话号码和数字组件的报告被发送到的报告系统的资源定位符;由可信程序检测客户端设备对给定电话号码的电话呼叫;响应于检测到电话呼叫,将给定电话号码与存储在呈现事件数据结构中的一个或多个呈现事件数据元素进行比较;基于所述比较,确定给定电话号码与由数字组件指定的电话号码匹配;以及响应于确定给定电话号码与由数字组件指定的电话号码匹配,向数字组件的报告系统传输事件报告,该事件报告指示在数字组件由客户端设备呈现之后,客户端设备呼叫了由数字组件指定的电话号码。该方面的其他实施方式包括在计算机存储设备上编码的、被配置为执行方法的各方面的对应的装置、系统和计算机程序。
4.这些和其他实施方式可以各自可选地包括一个或多个以下特征。在一些方面,事件报告包括认证令牌,该认证令牌包括数据集。数据集包括客户端设备的设备公钥、指示创建认证令牌的时间的认证令牌创建时间、指示客户端设备的可信任级别的设备完整性令牌、包括由数字组件指定的电话号码的有效载荷数据、以及使用与设备公钥相对应的设备私钥生成的数据集的数字签名。认证令牌的有效载荷数据还可以包括(i)电话呼叫的呼叫持续时间、(ii)电话呼叫的开始时间或(iii)电话呼叫的结束时间中的至少一个。
5.一些方面可以包括将电话呼叫的呼叫持续时间分配到多个呼叫持续时间分位数(quantile)中的给定呼叫持续时间分位数,并将呼叫持续时间分位数包括在有效载荷数据中;将电话呼叫的开始时间分配到多个开始时间分位数中的给定开始时间分位数,并将给定开始时间分位数包括在有效载荷数据中;或者将电话呼叫的结束时间分配到多个结束时间分位数中的给定结束时间分位数,并将给定结束时间分位数包括在有效载荷数据中。
6.一些方面可以包括响应于呈现数字组件,向报告系统传输包括呈现认证令牌的呈现报告,该呈现认证令牌包括数据集和数据集的数字签名。
7.在一些方面,向报告系统提供事件报告包括使用阈值加密方案生成指定事件数据的秘密共享(share of a secret),该事件数据至少包括由数字组件指定的电话号码,以及将秘密共享包括在事件报告中。当从呈现数字组件的客户端设备接收到包括相应的秘密共
享的至少阈值数量的事件报告时,报告系统可以解密秘密。
8.一些方面可以包括响应于数字组件的呈现,向第一聚合服务器传输呈现报告,该呈现报告包括用于数字组件的呈现的加密呈现数据和第一盲签名密钥(key),该第一盲签名密钥包括(i)第一加密数据元素,该第一加密数据元素包括至少报告系统的资源定位符、客户端设备或客户端设备的用户的标识符、以及由数字组件指定的电话号码的加密组合,以及(ii)基于第一加密数据元素生成的第一盲签名。传输事件报告可以包括向第二聚合服务器传输事件报告,其中,该事件报告包括数字组件的加密事件数据和第二盲签名密钥,该第二盲签名密钥包括(i)第二加密数据元素,该第二加密数据元素包括至少报告系统的资源定位符、客户端设备或客户端设备的用户的标识符、以及检测到的电话呼叫的给定电话号码的加密组合,以及(ii)基于第二加密数据元素生成的第二盲签名。第一聚合服务器和第二聚合服务器可以使用第一盲签名密钥和第二盲签名密钥来执行多方计算,以解密加密呈现数据和加密事件数据。
9.在一些方面,第一聚合服务器和第二聚合服务器将阈值技术应用于多方计算过程,以仅对每个盲签名密钥的加密呈现数据和加密事件数据进行解密,其中对于每个盲签名密钥,该盲签名密钥是从至少阈值数量的不同客户端设备接收的。
10.本说明书中描述的主题可以在特定实施例中实施,以便实现一个或多个以下优点。通过让客户端设备在数字组件被呈现之后报告呼叫,并通过以(i)防止操纵数据和(ii)防止聚合来自被盗用或欺诈性客户端设备的数据的方式来报告事件,来提高报告和聚合电信网络测量(例如,用户呼叫数字组件的电话号码的次数)的准确性。例如,可以使用使用客户端设备的私钥来数字签名的认证令牌来报告电信数据,从而可以检测对认证令牌的数据的操纵。认证令牌还可以包括设备完整性令牌,该设备完整性令牌指示客户端设备是否可信,并且包括可信设备评估器的数字签名,该数字签名将客户端设备认证为可信,以确保报告的数据是从可信设备接收的。多方计算、差分隐私和/或阈值加密技术也可以用于保护用户隐私和防止电信数据的报告和聚合中的欺诈。本文档中描述的技术提供了一种有效且可靠的方式来确定在数字组件被呈现给用户之后,有多少用户实际呼叫了由数字组件显示的、嵌入在数字组件中的、或由数字组件以其他方式引用的电话号码,同时防止呼叫计数的伪造并保护用户隐私。
11.下面参考附图描述前述主题的各种特征和优点。从本文描述的主题和权利要求中,附加的特征和优点是明显的。
附图说明
12.图1是在其中确定电信网络测量的环境的框图。
13.图2是示出用于收集网络测量数据的示例过程的泳道图。
14.图3是示出用于确定电信网络测量的示例过程的流程图。
15.图4是示出用于确定电信网络测量的示例过程的流程图。
16.图5是示出用于确定电信网络测量的示例过程的流程图。
17.图6是可以用于执行上述操作的示例计算机系统的框图。
18.各个附图中相同的附图标记和名称表示相同的元素。
具体实施方式
19.一般地,本文档描述了在报告和聚合电信数据(例如,电信网络测量)时提高数据完整性、防止数据操纵(例如,欺诈)和保护用户隐私的系统和技术。基于用户隐私保护的期望级别、适用的隐私规则和/或用户预期,可以使用不同的技术。例如,相对于聚合报告,不同的技术可以用于事件级电信数据报告。
20.在一些实施方式中,客户端设备的可信代码生成认证电信数据的有效性的认证令牌,并防止在令牌生成之后对数据的操纵。可信代码可以是例如操作系统代码或应用的二进制代码。认证令牌除其他数据外,可以包括指示发送令牌的客户端设备的可信任级别的数据和数据的数字签名,使得接收令牌的实体可以验证数据的有效性,例如,即使令牌经过多个中间实体。
21.阈值加密方案可以用于收集和确定聚合电信网络测量数据。每个客户端设备可以使用阈值加密方案来生成秘密共享(例如,用于与数字组件相关联的转换的事件数据),并将秘密共享发送到报告系统。使用阈值加密方案,报告系统只能在从客户端设备接收到阈值数量的秘密共享时解密事件数据。这使得实体无法跟踪单个用户。
22.多方计算和差分隐私技术可以用于收集和聚合电信网络测量数据。每个客户端设备可以向第一聚合服务器发送加密呈现数据,并且向第二聚合服务器发送加密事件数据。加密数据可以与结合密钥(joinkey)一起发送,该结合密钥使得聚合服务器能够使用多方计算来结合呈现数据与事件数据,并解密加密数据。阈值加密技术可以用于确保仅当从至少阈值数量的客户端设备接收到(例如,相同数字组件的)相同事件的事件数据时,数据才被解密。差分隐私技术可以用于将随机噪声插入到测量数据中。
23.图1是在其中确定电信网络测量的示例环境100的框图。示例环境100包括数据通信网络105,诸如局域网(lan)、广域网(wan)、互联网、移动网络或其组合。网络105连接客户端设备110、发布者130、网站140、数字组件分发系统150、欺诈检测系统170、聚合服务器180-a和180-b以及报告系统190。示例环境100可以包括许多不同的客户端设备110、发布者130、网站140、数字组件分发系统150和报告系统190。
24.网站140是与域名相关联并由一个或多个服务器承载(host)的一个或多个资源145。示例网站是用html格式化的网页集合,其可以包含文本、图像、多媒体内容和编程元素,诸如脚本。每个网站140由发布者130维护,发布者130是控制、管理和/或拥有包括网站140的一个或多个网站的实体。域可以是域主机,它可以是承载对应域名的计算机,例如远程服务器。
25.资源145是可以通过网络105提供的任何数据。资源145由与资源145相关联的资源地址(例如,统一资源定位符(url))来标识。资源包括html页面、文字处理文档和可移植文档格式(pdf)文档、图像、视频和馈送源,仅举几例。资源可以包括内容,诸如单词、短语、图像和声音,其可以包括嵌入式信息(诸如超链接中的元信息)和/或嵌入式指令(诸如脚本)。
26.客户端设备110是能够通过网络105通信的电子设备。示例客户端设备110包括个人计算机、移动通信设备(例如,智能电话)以及能够通过网络105发送和接收数据的其他设备。
27.客户端设备110通常包括应用112,诸如网络浏览器和/或本地应用,以便于通过网络105发送和接收数据。本地应用是针对特定平台或特定设备开发的应用。发布者130可以
开发并向客户端设备110提供(例如,使得可用于下载)本地应用。在一些实施方式中,客户端设备110是数字媒体设备,例如,插入电视机或其他显示器以将视频流式传输到电视机的流式传输设备。数字媒体设备还可以包括网络浏览器和/或流式传输视频和/或呈现资源的其他应用。
28.网络浏览器可以例如响应于客户端设备110的用户在网络浏览器的地址栏中输入资源145的资源地址或者选择引用该资源地址的链接,向承载发布者130的网站140的网络服务器请求资源145。类似地,本地应用可以从发布者130的远程服务器请求应用内容。
29.一些资源145、应用页面或其他应用内容可以包括数字组件空挡(slot),用于与资源145或应用页面一起呈现数字组件。如贯穿本文档所使用的,短语“数字组件”是指数字内容或数字信息的离散单元(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或另一内容单元)。数字组件可以作为单个文件或文件集合电子地存储在物理存储器设备中,并且数字组件可以采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告信息,使得广告是数字组件的一种类型。例如,数字组件可以是旨在补充由应用112呈现的网页或其他资源的内容的内容。更具体地,数字组件可以包括与资源内容相关的数字内容(例如,数字组件可以与和网页内容相同的主题相关,或者与相关主题相关)。因此,由数字组件分发系统150提供数字组件可以补充并且通常增强网页或应用内容。
30.当应用112加载包括一个或多个数字组件空挡的资源145(或应用内容)时,应用112可以从数字组件分发系统150请求用于每个空挡的数字组件。数字组件分发系统150又可以从数字组件提供商160请求数字组件。数字组件提供商160是提供数字组件用于与资源145和/或应用内容一起呈现的实体。
31.一些数字组件可以在被交互(例如,被选择)时,向由数字组件指定的电话号码发起电话呼叫。这种数字组件也可以称为点击呼叫(click-to-call,“ctc”)数字组件。例如,当ctc数字组件被交互时,数字组件可以使呈现数字组件的客户端设备110呈现电话拨号器用户界面,用由数字组件指定的电话号码填入(populate)电话拨号器用户界面,和/或发起对电话号码的呼叫。
32.数字组件可以包括例如元数据形式的数据,该数据指定包括电话号码、与数字组件的呈现相关联的事件级印象数据、呈现满期(如下所述)以及该数字组件的报告将被发送到的报告系统190的资源定位符(例如,统一资源定位符(url))的参数。资源定位符可以包括数字组件的报告将被发送到的etld+1(有效顶级域加上一个标签,不只是公共后缀,例如example.com where.com是顶级域)端点。
33.客户端设备110还包括可信程序114,该可信程序114传输指定与数字组件的呈现相关的信息的事件报告以及在数字组件的呈现之后发生的事件。可信程序114可以包括来自难以伪造的可靠来源的可信代码。例如,可信程序114可以是操作系统、操作系统的一部分、网络浏览器等。一般地,可信程序114很难渗透,并且犯罪者篡改可信程序114所需花费的时间量和精力非常高。此外,因为可信程序114由可靠来源提供和维护,所以出现的任何漏洞都可以由该来源解决。
34.可信程序114可以位于客户端设备110本地。例如,可信程序114可以是客户端设备110的操作系统的设备驱动程序。在一些实施方式中,可信程序114完全在客户端设备110本地操作,减少了传输用户信息的需要。在一些实施方式中,可信程序114可以在客户端设备
110本地并且通过诸如网络105的网络来操作。例如,可信程序114可以是安装在客户端设备110上并通过网络105传输和接收信息的网络浏览器。
35.当客户端设备110呈现ctc数字组件时,可信程序114可以将与呈现相关的数据存储在呈现事件数据结构116中,该呈现事件数据结构116可以是数据库、表或其他合适的数据结构。呈现事件数据结构116可以是由可信程序114维护的安全数据存储位置的一部分。可信程序114可以在呈现事件数据结构116中存储每个ctc数字组件的呈现事件数据元素。ctc数字组件的呈现事件数据元素可以包括例如数字组件指定的参数和呈现发生的时间。
36.可信程序114可以基于由数字组件指定的呈现满期来移除针对数字组件的呈现的呈现事件数据。例如,呈现满期可以是数字组件的呈现事件数据可以存储在客户端设备110处的时间量。当该时间量过去时,可信程序114可以从呈现事件数据结构116中移除数字组件的呈现事件数据。如下文更详细描述的,可信程序114可以使用由数字组件指定的资源定位符向数字组件的报告系统190传输呈现事件数据。
37.可信程序114还可以监视并检测由客户端设备110发起的电话呼叫。当电话呼叫发生时,可信程序114可以获得正在被呼叫的电话号码,并将被呼叫的电话号码与存储在呈现事件数据结构116中的每个呈现事件数据元素的电话号码进行比较。如果在被呼叫的电话号码和数字组件(在客户端设备110处发生了该数字组件的呈现,并且该数字组件的数据保持在呈现事件数据结构116中)的电话号码之间存在匹配,则可信程序114可以确定对于该数字组件已经发生了点击呼叫转换事件。也就是说,数字组件被呈现,并且数字组件的电话号码被呈现数字组件的客户端设备110呼叫。只要数字组件的数据保持存储在呈现事件数据结构116中,电话号码是在由正在被交互的数字组件发起时被呼叫还是由客户端设备110的用户稍后呼叫都无关紧要。
38.可信程序114可以以不同的方式报告点击呼叫转换事件(“呼叫事件”)。在一些实施方式中,可信程序114向报告系统190提供事件报告。报告系统190可以是提供数字组件的数字组件提供商160的系统,或者是向数字组件提供商160报告电信网络测量的独立报告实体的系统。
39.在一些实施方式中,事件报告是认证令牌的形式。可信程序114可以响应于检测到呼叫事件而生成认证令牌。认证令牌可以包括数据集和基于该数据集生成的数字签名。数据集可以包括客户端设备110的设备公钥、指示可信程序114创建认证令牌的时间的认证令牌创建时间、欺诈检测系统170发布的设备完整性令牌以及有效载荷数据。
40.可信程序114可以使用设备私钥为数据集生成数字签名,该设备私钥对应于(例如,数学链接到)包括在数据集内的设备公钥。例如,设备公钥和设备私钥可以是非对称加密密钥对。客户端设备110可以对其私钥保密,使得从客户端设备110接收认证令牌的实体(例如,报告系统190)可以信任认证令牌的有效性。
41.设备完整性令牌指示客户端设备110的可信任级别,例如,在呼叫事件发生的时间。在一些实施方式中,可信程序114可以收集设备级欺诈信号,并将信号提供给欺诈检测系统170。欺诈检测系统170可以是评估欺诈信号并基于该评估给出判决的可信实体的可信系统。欺诈检测系统170可以向可信程序114发布包括判决的设备完整性令牌。设备完整性令牌可以包括判决的数字签名和使用欺诈检测系统170的私钥的设备完整性令牌的任何其他数据。这样,接收包括设备完整性令牌的认证令牌的实体可以通过使用欺诈检测系统170
的公钥验证数字签名来验证设备完整性令牌的数据没有被修改。设备完整性令牌的数据还可以包括指示设备完整性令牌被创建的时间的令牌创建时间。这使得接收令牌的实体能够验证设备完整性令牌对应于客户端设备110的当前状态而不是过时状态。
42.有效载荷数据可以包括由数字组件指定的电话号码、呼叫持续时间和/或呼叫开始时间。为了保护用户隐私,可信程序114可以对呼叫持续时间和开始时间应用分位数,以限制认证令牌中的数据量。例如,可信程序114可以基于呼叫持续时间的大小将呼叫持续时间分配到呼叫持续时间分位数集合中的给定呼叫持续时间分位数。在特定示例中,呼叫持续时间分位数可以各自用于特定的持续时间范围,例如,一个用于0-10秒,一个用于10-20秒,一个用于20-30秒,等等。当然,也可以使用其他持续时间范围。有效载荷数据可以指定呼叫持续时间被分配到的呼叫持续时间分位数(例如,基于呼叫持续时间为22秒的20-30秒分位数),而不是实际的呼叫持续时间。
43.类似地,可信程序114可以将呼叫开始时间分配到给定的呼叫开始时间分位数。例如,呼叫开始时间分位数可以包括每个时间范围的分位数,例如,一天中的每个小时、每个半小时、每个15分钟周期或其他合适的开始时间范围。有效载荷数据可以指定呼叫开始时间被分配到的呼叫开始时间分位数(例如,基于在上午10:05开始的呼叫的上午10:00开始时间分位数),而不是实际的呼叫开始时间。
44.在获得用于认证令牌的数据之后,可信程序114可以创建认证令牌并使用设备私钥生成数据的数字签名。可信程序114然后可以使用由数字组件指定的资源定位符来向报告系统190发送认证令牌。如下所述,报告系统190可以验证认证令牌的有效性,并且如果有效性被验证,则更新数字组件的电信网络测量。电信网络测量可以是在客户端设备呈现数字组件或用户交互数字组件之后,客户端设备呼叫电话号码的次数。
45.在一些实施方式中,可信程序114使用阈值加密方案向报告系统190报告呼叫事件,例如,而不发送认证令牌。每个客户端设备110的可信程序114可以使用相同的阈值加密方案来报告呼叫事件。当可信程序114确定数字组件的呼叫事件已经发生时,可信程序114可以使用阈值加密方案来生成秘密共享。秘密可以是呼叫事件数据,例如数字组件的电话号码。阈值加密方案可以是(t,n)-阈值加密方案,其中必须接收来自n方的至少阈值t个秘密共享才能解密该秘密。
46.可信程序114可以将秘密共享发送给报告系统190。例如,可信程序114可以向报告系统190发送键值对。键可以是对应于数字组件的标签并且值是秘密共享。这样,报告系统190可以将具有相同标签的共享分组在一起。一旦从客户端设备110接收到至少阈值数量的秘密共享,报告系统190就可以解密该秘密,例如数字组件的电话号码。报告系统190然后可以例如基于从客户端设备接收到的不同共享的数量来确定或更新数字组件的电信网络测量。也就是说,每个共享可以表示在数字组件在客户端设备110处被呈现之后对数字组件的电话号码的呼叫。报告系统190可以通过确定共享的数量的总和来确定呼叫的数量。
47.不同类型的(t,n)-阈值加密方案可以用于加密呼叫事件数据。例如,可以使用这样的(t,n)-阈值加密方案,其使用多项式或平面来分发秘密共享(例如,印象和转换数据)并且当至少接收到t个共享时恢复秘密。在特定示例中,阈值加密方案可以是基于平面的加密方案,其中组密钥包括平面,并且测量数据位于每个平面相交的点,例如blakley方案。在其他示例中,阈值加密方案可以使用中国余数定理、主动秘密共享、可验证秘密共享
(verifiable secret sharing,vss)或其他合适的阈值加密方案。
48.在一些实施方式中,可信程序114向聚合服务器180-a和180-b报告呈现事件和呼叫事件。例如,可信程序114可以将加密呈现数据连同结合密钥一起传输到聚合服务器180-a,该结合密钥可以是如下所述的盲签名结合密钥。类似地,可信程序114可以将加密事件数据连同结合密钥一起发送到聚合服务器180-b,该结合密钥也可以是盲签名结合密钥。聚合服务器180-a和180-b可以使用多方计算来结合对应于事件数据的呈现数据,并解密加密呈现数据和事件数据。聚合服务器180-a和180-b还可以使用阈值技术来仅解密从至少阈值数量的客户端设备接收的结合的呈现和事件数据,以更好地保护用户隐私。聚合服务器180-a和180-b可以向报告系统190提供解密的数据,并且报告系统190可以基于解密的数据生成或更新电信网络测量。聚合服务器180-a和180-b可以由相同或不同的可信实体来维护和操作。
49.在任一实施方式中,每个数字组件的报告系统190可以确定数字组件的电信网络测量,并将测量提供给提供数字组件的数字组件提供商160。这些测量可以包括例如数字组件在客户端设备110处被呈现的次数、数字组件在客户端设备110处被交互的次数、和/或在数字组件在客户端设备110处被呈现之后数字组件的电话号码被客户端设备110呼叫的次数。每个数字组件提供商160可以选择报告系统190,该报告系统190可以是由数字组件提供商160或不同实体维护的系统。
50.一些实施方式还可以包括差分隐私技术。例如,以某个小百分比的概率,客户端设备110不报告实际发生的呼叫事件。在另一示例中,以某个小百分比的概率,客户端设备110确实报告了从未发生的呼叫事件。在另一示例中,随机噪声被添加到呼叫开始时间、结束时间或呼叫持续时间。这些差分隐私技术可以为用户提供额外的隐私。
51.图2是示出用于收集网络测量数据的示例过程200的泳道图。过程200可以由客户端设备110、数字组件分发系统150、欺诈检测系统170和报告系统190来执行。
52.客户端设备110获取数字组件(202)。例如,客户端设备110可以呈现包括数字组件空挡的资源或应用内容。作为响应,客户端设备110可以从数字组件分发系统150请求数字组件。
53.数字组件分发系统150返回ctc数字组件(204)。如上所述,ctc数字组件可以包括指定参数的数据,该参数包括电话号码、与数字组件的呈现相关联的事件级印象数据、呈现满期和数字组件的报告将被发送到的报告系统190的资源定位符(例如,etld+1)。一旦接收到,客户端设备110可以呈现数字组件。
54.客户端设备110的可信程序114存储数字组件的呈现事件数据元素(206)。呈现事件数据元素可以包括数字组件的参数以及客户端设备110呈现数字组件的时间。如上所述,可信程序114可以基于由数字组件指定的呈现满期,将呈现事件数据元素临时存储在呈现事件数据结构中。
55.可信程序114向报告系统190传输呈现报告(208)。可信程序114可以使用由数字组件指定的资源位置来向报告系统190发送呈现报告。呈现报告可以包括例如事件级印象数据和数字组件的电话号码。
56.在一些实施方式中,例如,在使用认证令牌来报告事件数据的实施方式中,呈现报告可以包括呈现认证令牌或者是呈现认证令牌的形式。该呈现认证令牌可以包括数据集和
使用该数据集和客户端设备110的客户端私钥生成的数字签名。数据集可以包括客户端设备110的设备公钥、指示可信程序114创建呈现认证令牌的时间的呈现认证令牌创建时间、欺诈检测系统170发布的设备完整性令牌以及有效载荷数据。有效载荷数据可以包括事件级印象数据和/或数字组件的电话号码。
57.在使用阈值加密方案的实施方式中,呈现数据可以被包括作为事件数据的一部分。在使用多方计算的实施方式中,呈现报告可以包括加密呈现数据和结合密钥,如下面更详细描述的。
58.检测与数字组件的用户交互(210)。用户交互可以是对数字组件的选择,例如点击。当呈现数字组件时,客户端设备110可以监视与数字组件的交互。
59.在一些实施方式中,可信程序114向报告系统190传输点击报告(212)。点击报告可以指示检测到与数字组件的用户交互。在一些实施方式中,点击报告可以包括认证令牌或者是认证令牌的形式。该认证令牌可以包括数据集和使用该数据集和客户端设备110的私钥生成的数字签名。数据集可以包括客户端设备110的设备公钥、指示可信程序114创建认证令牌的时间的认证令牌创建时间、欺诈检测系统170发布的设备完整性令牌以及有效载荷数据。有效载荷数据可以包括事件级印象数据、指定检测到与数字组件的用户交互的数据和/或数字组件的电话号码。在一些实施方式中,可信程序114发送一个针对呈现的报告,该报告指定是否检测到与数字组件的用户交互。
60.响应于与数字组件的用户交互,客户端设备110呈现电话拨号器用户界面(214)。电话拨号器用户界面可以是使得用户能够选择联系人或拨打号码的用户界面。客户端设备110可以用由数字组件指定的电话号码自动填入电话拨号器用户界面,使得用户简单地只需按下拨号按钮(或其他按钮)就可以对该电话号码发出呼叫。
61.客户端设备110对电话号码发出呼叫(216)。当电话拨号器用户界面呈现由数字组件指定的电话号码时,客户端设备110可以响应于用户与拨号按钮的交互来发出呼叫。在另一示例中,用户可以决定此时不发出呼叫。相反,用户可以存储电话号码,并在以后对该电话号码发出呼叫。
62.响应于在客户端设备110处发生的每个电话呼叫,客户端设备110的可信程序114查询或以其他方式在呈现事件数据结构中查找呈现事件数据元素(218)。可信程序114可以将被呼叫的电话号码与每个呈现事件数据元素的电话号码进行比较。如果不匹配,则呼叫可以不是ctc数字组件的转换事件。如果存在匹配,则可信程序114可以确定对于具有与被呼叫的电话号码匹配的电话号码的数字组件存在转换事件。
63.作为响应,可信程序114可以从欺诈检测系统请求设备完整性令牌(220)。可信程序可以从客户端设备110收集设备级欺诈信号,并将信号提供给欺诈检测系统170。如上所述,欺诈检测系统170可以评估欺诈信号并基于该评估给出判决。尽管请求设备完整性令牌的操作被示为发生在过程200的这一点处,但是该操作可以在任何时间发生。例如,可信程序114可以周期性地获取和缓存设备完整性令牌,例如,与该过程200异步地或者与用户交互异步地。欺诈检测系统170可以向可信程序114传输包括判决的设备完整性令牌(222)。
64.在一些实施方式中,可信程序114可以提示客户端设备110的用户为客户端设备114提供许可来传输具有与被呼叫的电话号码匹配的电话号码的数字组件的事件报告(224)。可信程序114可以针对每个潜在报告或所有后续潜在报告来提示用户。例如,可信程
序可以呈现提示,使得用户能够为此特定报告或所有报告提供许可。用户可以为任一选项提供许可,或者拒绝发送报告。类似的提示可以用于上述呈现和点击报告。
65.如果用户提供发送报告的许可,可信程序114可以生成事件报告并将其传输给报告系统190(226)。在一些实施方式中,事件报告可以包括认证令牌,或者是认证令牌的形式。该认证令牌可以包括数据集和使用该数据集和客户端设备110的客户端私钥生成的数字签名。数据集可以包括客户端设备110的设备公钥、指示可信程序114创建认证令牌的时间的认证令牌创建时间、欺诈检测系统170发布的设备完整性令牌以及有效载荷数据。有效载荷数据可以包括由数字组件指定的电话号码、呼叫持续时间和/或呼叫开始/结束时间(或呼叫持续时间和/或呼叫开始/结束时间的分位数)。
66.在使用阈值加密的实施方式中,可信程序114可以生成事件报告,该事件报告包括指定至少包括由数字组件指定的电话号码的事件数据的秘密共享,如下面更详细描述的。在使用多方计算的实施方式中,事件报告可以包括加密事件数据和结合密钥,如下面更详细描述的。
67.报告系统190可以从多个客户端设备接收事件报告,并基于报告的数据生成电信网络测量。图3-图5示出了用于确定事件报告的有效性和/或解密事件报告的数据以及确定电信网络测量的示例过程。
68.图3是示出用于确定电信网络测量的示例过程300的流程图。过程300可以例如由报告系统(例如,图1的报告系统190)来实施。过程300的操作也可以被实施为存储在非暂时性计算机可读介质上的指令,并且由一个或多个数据处理装置执行指令可以使得一个或多个数据处理装置执行过程300的操作。为简洁起见,根据图1的报告系统190来描述过程300。示例过程300使用认证令牌来报告事件级电信网络测量数据,例如,在数字组件在客户端设备处被呈现之后,是否在客户端设备处发生对数字组件的电话号码的呼叫。
69.报告系统190接收事件报告(302)。事件报告可以包括认证令牌或者是认证令牌的形式。该认证令牌可以包括数据集和使用该数据集和发送事件报告的客户端设备110的客户端私钥生成的数字签名。数据集可以包括客户端设备110的设备公钥、指示由客户端设备110的可信程序114创建认证令牌的时间的认证令牌创建时间、由欺诈检测系统170发布的设备完整性令牌以及有效载荷数据。有效载荷数据可以包括由数字组件指定的电话号码、呼叫持续时间和/或呼叫开始/结束时间(或呼叫持续时间和/或呼叫开始/结束时间的分位数)。
70.报告系统190确定事件报告的完整性是否有效(304)。报告系统190可以基于认证令牌的数据集和认证令牌的数字签名来确定事件报告的完整性是否有效。例如,报告系统190可以尝试使用包括在认证令牌中的设备公钥来验证数据集的数字签名。如果数据集中的任何数据在生成数字签名后发生了改变,则验证将失败。如果数据集相同,则验证将成功。
71.如果报告系统190确定事件报告的完整性无效,则报告系统190不更新数字组件的(多个)电信网络测量(306)。
72.如果报告系统190确定事件报告的完整性有效,则报告系统确定客户端设备110的完整性是否有效(308)。报告系统190可以使用认证令牌的设备完整性令牌来确定客户端设备110的完整性是否有效。例如,报告系统190可以评估设备完整性令牌的判决,以确定欺诈
检测系统170是否确定客户端设备110是可信的。
73.报告系统190还可以尝试验证设备完整性令牌的数字签名。例如,报告系统190可以使用欺诈检测系统170的公钥和设备完整性令牌的数据集来尝试验证设备完整性令牌的数字签名。
74.报告系统190还可以评估设备完整性令牌的令牌创建时间。如果令牌创建时间在认证令牌创建时间或事件报告被发送的时间的阈值时间量内,则报告系统190可以确定设备完整性令牌没有过时。
75.如果判决指示客户端设备是可信的,设备完整性令牌的数字签名被成功验证,并且设备完整性令牌没有过时,则报告系统190可以确定客户端设备110的完整性是有效的。如果任何测试失败,则报告系统190可以确定客户端设备110的完整性无效。
76.如果报告系统190确定客户端设备110的完整性无效,则报告系统190不更新数字组件的(多个)电信网络测量(306)。
77.如果报告系统190确定客户端设备110的完整性有效,则报告系统190更新数字组件的电信网络测量(310)。例如,报告系统190可以基于事件报告,更新在数字组件在客户端设备处被呈现之后客户端设备处发生的呼叫事件总数的计数。也就是说,如果事件报告对应于一个呼叫,则报告系统190可以将计数增加1。
78.报告系统190还可以基于事件报告的有效载荷数据来确定其他度量。例如,报告系统190可以使用持续时间来确定对电话号码的呼叫的总持续时间或平均持续时间。报告系统190还可以基于每个呼叫的持续时间将呼叫分类到持续时间范围,诸如短呼叫、中呼叫和长呼叫。报告系统190然后可以确定对每个范围内的电话号码的呼叫的数量。尽管根据呼叫事件描述了示例过程300,但是类似的过程可以用于确定数字组件被呈现或交互的次数的计数。
79.图4是示出用于确定电信网络测量的示例过程400的流程图。过程400可以例如由报告系统(例如,图1的报告系统190)来实施。过程400的操作也可以被实施为存储在非暂时性计算机可读介质上的指令,并且由一个或多个数据处理装置执行指令可以使得一个或多个数据处理装置执行过程300的操作。为简洁起见,过程400根据图1的报告系统190来描述。示例过程400使用阈值加密方案用于聚合电信网络测量数据,例如,在数字组件在客户端设备处被呈现之后,在客户端设备处发生的对数字组件的电话号码的呼叫的数量。
80.报告系统190从多个客户端设备接收事件报告(402)。当每个客户端设备110确定对应于数字组件的呼叫事件发生时,客户端设备可以生成包括对应于数字组件的秘密共享的事件报告。每个客户端设备110可以被配置为实施公共阈值加密方案来生成它的秘密共享。阈值加密方案可以是基于平面的加密方案,其中组密钥包括平面,并且测量数据位于每个平面相交的点处,例如blakley方案。在其他示例中,阈值加密方案可以使用中国余数定理、主动秘密共享、可验证秘密共享(vss)或其他合适的阈值加密方案。
81.秘密可以是数字组件的事件数据。例如,事件数据(并且因此,秘密)可以包括数字组件的电话号码。如果测量持续特定持续时间或特定呼叫持续时间分位数的呼叫的数量,则秘密可以是电话号码和呼叫持续时间或呼叫持续时间分位数的组合。类似地,如果测量在特定时间或在特定开始时间分位数内开始的呼叫的数量,则事件数据可以是电话号码和特定时间或特定开始时间分位数的组合。事件数据也可以是电话号码、呼叫持续时间(或分
位数)和开始时间(或其分位数)的组合。
82.在一些实施方式中,用作秘密的事件数据是由欺诈检测系统170盲签名的盲签名数据。在该示例中,客户端设备的可信程序114可以使用盲处理(blinding)技术来盲处理(例如,隐蔽)呼叫事件的事件数据。一般地,盲处理技术可以将盲处理因子应用于印象数据以生成盲事件数据,其中该盲事件数据隐藏实际事件数据,使得接收盲事件数据的实体在不知道盲处理技术和用于生成盲印象数据的参数/密钥的情况下不能确定实际事件数据。在一些实施方式中,可信程序114使用可验证的不经意伪随机函数(verifiable,oblivious pseudorandom function,voprf)协议来盲处理数字组件的事件数据,其中该协议是互联网工程任务组(internet engineering task force,ietf)起草的标准协议,用于盲处理数字组件的印象数据。也可以使用其他合适的盲签名技术。
83.可信程序114可以将盲事件数据连同设备级欺诈信号一起发送到欺诈检测系统170。盲数据的这种使用保护了用户隐私,因为欺诈检测系统170不能从盲事件数据中访问实际事件数据。欺诈检测系统170可以评估欺诈信号以确定客户端设备110是否可信。如果是,欺诈检测系统170可以使用盲处理技术对盲事件数据进行数字签名,并将盲签名返回给可信程序114。可信程序114可以使用盲处理技术来验证盲签名。可信程序114还可以使用盲处理技术来对事件数据进行解盲(unblind)。
84.可信程序114可以使用阈值加密方案来生成秘密(例如,事件数据或盲签名的盲事件数据)的共享。可信程序114还可以为事件数据生成标签。标签可以是唯一标识事件数据的数字,并且基于事件数据的至少一部分。例如,每个可信程序114可以被配置为基于事件数据生成标签,使得每个可信程序为相同的事件数据生成相同的标签。
85.可信程序114然后可以向报告系统190提供事件报告。事件报告可以包括标识事件数据和秘密共享的标签。
86.报告系统190确定是否已经接收到至少阈值数量的具有相同标签的不同事件报告(404)。使用阈值加密,秘密不能被解密,除非接收到至少阈值数量的不同的秘密共享。如果接收到的具有相同标签的事件报告的数量小于阈值,则过程400返回到步骤402以等待另外的事件报告。
87.如果接收到的具有相同标签的事件报告的数量大于或等于阈值,则报告系统190可以解密秘密(406)。报告系统190可以使用阈值加密方案和包括在事件报告中的秘密共享来解密秘密,例如,事件数据或盲签名事件数据。
88.如果事件数据是盲签名事件数据,则报告系统190可以检查盲签名的有效性,以确保客户端设备是可信的。在一些实施方式中,报告系统190可以向欺诈检测系统170发送盲签名的盲事件数据以及验证盲签名的请求。报告系统190可以使用盲处理技术来验证盲签名,并且用关于盲签名是否被成功验证的报告来响应报告系统190。在依赖于可公开验证的盲签名方案的其他实施方式中,报告系统190不需要请求欺诈检测系统170验证盲签名。相反,报告系统190可以在从欺诈检测系统170下载验证密钥之后独立地验证盲签名。
89.报告系统190基于事件报告确定数字组件的电信网络测量(408)。例如,报告系统190可以基于事件报告来确定在数字组件在客户端设备处被呈现之后在客户端设备处发生的呼叫事件的总数的计数。这可以对应于接收到的包括事件数据的标签的不同事件报告的数量。
90.图5是示出用于确定电信网络测量的示例过程500的流程图。过程500可以例如由聚合服务器和报告系统(例如,图1的聚合服务器180-a和180-b以及报告系统190)来实施。过程500的操作也可以被实施为存储在非暂时性计算机可读介质上的指令,并且由一个或多个数据处理装置执行指令可以使得一个或多个数据处理装置执行过程500的操作。示例过程500使用多方计算和可选的差分隐私技术用于聚合电信网络测量数据,例如,在数字组件在客户端设备处被呈现之后,在客户端设备处发生的对数字组件的电话号码的呼叫的数量。
91.聚合服务器180-a从客户端设备110接收呈现报告(502)。客户端设备110可以响应于呈现数字组件而生成并提供数字组件的呈现报告。每个呈现报告可以包括针对数字组件的呈现的加密呈现数据和呈现结合密钥。呈现数据可以包括例如由数字组件指定的电话号码和与数字组件的呈现相关联的事件级印象数据。呈现数据可以使用聚合服务器180-a的公钥和聚合服务器180-b的公钥来加密。呈现数据也可以使用数字组件的报告系统190的公钥来加密。例如,发送呈现报告的客户端设备110的可信程序114可以使用报告系统190的公钥来加密呈现数据,然后使用聚合服务器180-a的公钥来加密该加密数据,然后使用聚合服务器180-b的公钥来加密该加密数据
92.呈现结合密钥可以是包括加密数据元素的盲签名密钥,其中该加密数据元素包括至少报告系统的资源定位符、客户端设备110的标识符和由数字组件指定的电话号码的加密组合。呈现结合密钥还可以包括加密数据元素的盲签名。例如,欺诈检测系统170可以评估由可信程序114提供的设备级欺诈信号,并且如果客户端设备110是可信的,则对加密数据元素进行盲签名。呈现结合密钥用于将呈现报告与对应的事件报告相结合。
93.聚合服务器180-b从客户端设备110接收事件报告(504)。客户端设备110可以响应于确定在呈现数字组件之后客户端设备110对由数字组件指定的电话号码发出呼叫,生成并提供数字组件的事件报告。每个呈现报告可以包括数字组件的加密事件数据和呈现结合密钥。事件数据可以包括例如由数字组件指定并由客户端设备110呼叫的电话号码、呼叫持续时间(或其分位数)以及呼叫开始或结束时间(或其分位数)。
94.可以使用聚合服务器180-a的公钥和聚合服务器180-b的公钥来加密事件数据。还可以使用数字组件的报告系统190的公钥来加密事件数据。例如,发送事件报告的客户端设备110的可信程序114可以使用报告系统190的公钥来加密呈现数据,然后使用聚合服务器180-b的公钥来加密该加密数据,然后使用聚合服务器180-a的公钥来加密该加密数据
95.事件结合密钥可以是包括加密数据元素的盲签名密钥,其中该加密数据元素包括至少报告系统的资源定位符、客户端设备110的标识符和由数字组件指定并由客户端设备110呼叫的电话号码的加密组合。事件结合密钥还可以包括加密数据元素的盲签名。例如,欺诈检测系统170可以评估由可信程序114提供的设备级欺诈信号,并且如果客户端设备110是可信的,则对加密数据元素进行盲签名。事件结合密钥用于将呈现报告与对应的事件报告相结合。
96.结合密钥的标识符在不同的实施方式中可以不同。例如,标识符可以是客户端设备110的标识符、客户端设备110的设备公钥、客户端设备110的电话号码或客户端设备110独有的其他合适的信息、客户端设备110的用户的标识符(如果用户许可的话)或为其生成报告的应用。
97.聚合服务器180-a和聚合服务器180-b执行多方计算来解密呈现报告和事件报告(506)。该过程可以包括使用结合密钥来将呈现报告与对应的事件报告相结合。由于结合密钥是基于数字组件的电话号码和客户端设备110的标识符的,所以结合密钥可以用于将针对数字组件在客户端设备110处的呈现的呈现报告与针对数字组件的电话号码进行的呼叫的事件报告(如果有)相结合。
98.对于不同客户端设备处的每个相同事件,呼叫事件的加密事件数据将是相同的,因为事件数据将是相同的,并且用于对数据进行加密的公钥将是相同的。例如,在两个不同的客户端设备处对相同数字组件的相同号码的呼叫的事件数据将是相同的。类似地,在两个不同的客户端设备处对相同号码和相同呼叫持续时间分位数的呼叫的事件数据将是相同的。相同数字组件的加密呈现数据在多个客户端设备上也将是相同的。
99.因此,每个具有相同加密呈现数据和相同加密事件数据的加密呈现数据和对应的加密事件数据的结合对表示具有相同事件数据的数字组件的唯一点击呼叫转换。在结合加密呈现数据和对应的事件数据之后,聚合服务器180-a和180-b可以对每个对的出现次数进行计数,例如,全部链接到相同的加密呈现数据和对应的加密事件数据的结合对的唯一密钥的数量。如果事件数据是对特定数字组件的特定电话号码的呼叫,则该计数表示在数字组件在客户端设备处被呈现之后客户端设备对该电话号码的呼叫的数量。类似地,如果事件数据是对具有特定呼叫持续时间分位数的特定电话号码的呼叫,则该计数表示对该电话号码持续了特定呼叫持续时间分位数的持续时间范围内的持续时间的呼叫的数量。聚合服务器180-a和180-b可以为每个加密呈现数据和对应的加密事件数据的结合对确定这些电信网络测量。
100.多方计算过程还可以包括使用聚合服务器180-a和180-b的私钥来加密和解密报告,以及在两个聚合服务器180-a和180-b之间传递加密/解密的数据。如果报告还使用报告系统190的公钥来加密,则聚合服务器180-a和180-b不能访问报告的实际数据。
101.在一些实施方式中,多方计算过程可以采用阈值技术。例如,聚合服务器180-a和180-b可以仅为具有至少阈值数量的唯一结合密钥(例如,已经由至少阈值数量的客户端设备110报告)的加密呈现数据和对应的加密事件数据的结合对确定电信网络测量。类似地,聚合服务器180-a和180-b可以仅解密具有至少阈值数量的唯一结合密钥的加密呈现数据和对应的加密事件数据的结合对的数据。这通过不解密来自可能链接回特定客户端设备的少量客户端设备的数据来保护用户隐私。
102.聚合服务器180-a和180-b将解密的数据发送到报告系统190(508)。报告系统190还可以基于解密的数据来确定(多个)电信网络测量。例如,报告系统190可以基于事件报告和/或数字组件在客户端设备110处的呈现次数,来确定在数字组件在客户端设备处呈现之后在客户端设备处发生的呼叫事件的总数的计数。
103.报告系统190还可以基于解密的数据确定其他度量,诸如电话号码的平均持续时间或总持续时间、短呼叫、中呼叫和长呼叫的数量。为此,报告系统190可以聚合包括电话号码的解密数据,并基于聚合的数据计算度量。
104.上述技术也可以用于确定对发生在与呈现数字组件不同的设备上的呼叫事件的电信网络测量。例如,具有相关联的电话号码的数字组件可以呈现在用户登录进的平板电脑、智能电视机或智能扬声器上(例如,通过说出电话号码)。然后,用户可以使用智能电话、
智能扬声器或其他合适的设备来呼叫电话号码。
105.在一些实施方式中,用户的多个设备(例如,用户登录进的设备)可以同步数字组件的呈现事件数据。在一个示例中,每个设备的可信程序可以同步它们各自的呈现事件数据结构116中的呈现事件数据。在另一示例中,每个设备上的网络浏览器可以使呈现事件数据彼此同步。这样,当从设备之一发出呼叫时,该设备可以通过将被呼叫的电话号码与同步事件数据的同步电话号码进行比较来确定数字组件之一的呼叫事件是否已经发生。如果检测到,则设备可以如上所述报告呼叫事件。
106.在呈现事件数据被报告给与呼叫事件数据不同的服务器的实施方式中(例如,如上面参考图5所描述的),可以不需要同步。例如,用户的每个设备的可信程序可以传输每个ctc数字组件的呈现报告。这些呈现报告可以包括用户的标识符,例如,除了客户端设备的标识符之外或者代替客户端设备的标识符。类似地,用户的每个设备的可信程序可以传输该设备发出的每个呼叫的事件报告。这些事件报告还可以包括用户的标识符。呈现和呼叫的结合密钥可以基于用户的标识符,使得针对数字组件的呈现的呈现事件的结合密钥将与数字组件的电话号码的呼叫事件的结合密钥相同。这样,在多方计算过程期间,来自一个设备的呈现事件将与来自另一设备的对应的呼叫事件相结合。
107.除了以上描述之外,可以向用户提供控件,该控件允许用户选择本文描述的系统、程序或特征是否以及何时能够收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户当前位置的信息),以及是否从服务器向用户发送个性化内容或通信。此外,某些数据在存储或使用之前可以以一种或多种方式进行处理,从而移除个人可识别信息。例如,可以对用户的身份进行处理,使得不能为用户确定个人可识别信息(例如,电话号码、imei、设备序列号),或者可以在获得位置信息的地方概括用户的地理位置(诸如,城市、邮政编码或州级),使得不能确定用户的具体位置。因此,用户可以控制收集关于用户的什么信息、如何使用该信息、信息保持策略以及向用户提供什么信息。
108.图6是可以用于执行上述操作的示例计算机系统600的框图。系统600包括处理器610、存储器620、存储设备630和输入/输出设备640。组件610、620、630和640中的每一个可以例如使用系统总线650互连。处理器610能够处理在系统600内执行的指令。在一些实施方式中,处理器610是单线程处理器。在另一实施方式中,处理器610是多线程处理器。处理器610能够处理存储在存储器620或存储设备630上的指令。
109.存储器620存储系统600内的信息。在一个实施方式中,存储器620是计算机可读介质。在一些实施方式中,存储器620是易失性存储器单元。在另一实施方式中,存储器620是非易失性存储器单元。
110.存储设备630能够为系统600提供大容量存储。在一些实施方式中,存储设备630是计算机可读介质。在各种不同的实施方式中,存储设备630可以包括例如硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)通过网络共享的存储设备或者一些其他大容量存储设备。
111.输入/输出设备640为系统600提供输入/输出操作。在一些实施方式中,输入/输出设备640可以包括一个或多个网络接口设备,例如以太网卡、串行通信设备(例如,rs-232端口)、和/或无线接口设备(例如,802.11卡)。在另一实施方式中,输入/输出设备可以包括被配置为接收输入数据并将输出数据发送到外部设备660(例如,键盘、打印机和显示设备)的
驱动设备。然而,也可以使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视机客户端设备等。
112.尽管在图6中已经描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式可以在其他类型的数字电子电路中实施,或者以计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)来实施,或者以它们中的一个或多个的组合来实施。
113.本说明书中描述的主题和操作的实施例可以在数字电子电路中实施,或者以计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)来实施,或者以它们中的一个或多个的组合来实施。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在(多个)计算机存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置,用于由数据处理装置执行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或包括在一个或多个单独的物理组件或介质(例如,多个cd、磁盘或其他存储设备)中。
114.本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
115.术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或前述的多个或组合。该装置可以包括专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
116.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以,但不需要,对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被部署为在一个计算机上或在位于一个站点或分布在多个站点并通过通信网络互连的多个计算机上执行。
117.本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行动作。这些过程和逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实施为专用逻辑电路,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。
118.举例来说,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器两
者。一般地,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。一般地,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或向其传送数据(或接收和传送两者兼有)。然而,计算机不需要有这样的设备。此外,计算机可以嵌入到另一设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器),仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路来补充或结合在其中。
119.为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)和用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)的计算机上实施。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,将网页发送到用户的客户端设备上的网络浏览器。
120.本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实施进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。该系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,互联网)和点对点网络(例如自组织点对点网络)。
121.计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过运行在各自的计算机上并且彼此之间具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器将数据(例如,html页面)传输到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从其接收用户输入的目的)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
122.虽然本说明书包含许多具体的实施细节,但是这些不应被解释为对任何发明或所要求保护的范围的限制,而是对特定于特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的特定特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独实施或者在任何合适的子组合中实施。此外,尽管特征可以在上文中被描述为在特定组合中起作用,并且即使最初被要求保护如此,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以指向子组合或子组合的变体。
123.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或连续顺序执行这些操作,或者要求执行所有示出的操作,以获得期望的结果。在特定情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各种系统组件的分离不应该被理解为在所有实施例中都要求这种分离,并且应该理解,所描述的程序组件和系统一般可以一起集成在单个软件产品中或者封装到多个软件产品中。
124.因此,已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行,并且仍然获得期望的结果。此外,附图中描绘的过程不一定要求所示的特定顺序或连续顺序来获得期望的结果。在特定实施方式中,多任务和并行处理可以是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1