分布式网络中的数据收集方法

文档序号:6456256阅读:395来源:国知局
专利名称:分布式网络中的数据收集方法
技术领域
本发明大体上涉及分布式网络中的数据收集。
相关技术的简要描述
在现有技术中,分布式计算机网络是众所周知的。 一种这样的分布式 计算机系统是由服务提供商操作和管理的"内容分发网络(content delivery network)"或"CDN"。服务提供商通常为了第三方提供服务。这种类型 的"分布式的系统"通常指的是由网络或多个网络链接的自治计算机的集 合,连同软件、系统、协议和技术,其设计成利于多种服务,例如内容分 发或夕卜包站点基础i殳施(outsourced site infrastructure)的支持。通常,"内容 分发"意味着内容、流媒体以及为了内容提供商的应用的存储、超高速緩 存或传输,包括其使用的辅助技术,包括但不限于,DNS请求处理、配 置(provisioning)、数据监控和报告、内容目标化、个性化和商业智能。词 语"外包站点基础设施"指的是分布式系统和相关技术,其能够使实体总 体地或部分地代表第三方操作和/或管理第三方的站点基础设施。
网络服务器根据已知为HTTP的协议将基于网络的内容传送到网络 浏览器。HTTP是无状态协议,已知的HTTP协议扩展使网络服务器能够 给请求终端用户网络浏览器提供状态信息。具体地,网络服务器可在其应 答中包括头部,指示客户端记住一小条状态信息("cookie")并将所述信
背景技术
息的副本包含在对服务器的未来的请求中。以这种方式,网络服务器可追 踪是否以前已见过客户端浏览器,且此追踪信息可用于构建浏览器专用文 件,其可用于通知某个其它控制功能,例如在将^皮传送到浏览器的网页内 提供哪种类型的广告。按照约定和习惯,网络服务器只在其自己的域内设
置cookie的值,这保证了 cookie仅被发送回其来自的相同网络域。尽管 有此传统,但已有努力来在内容域之间共享cookie,使得可以识别与使用 网络浏览器的个人相关联的内容偏好和兴趣。因此,例如,在美国专利第 6,073,241号中, 一组合作服务器通过共享的数据库共享cookie信息。在 美国专利申请第20020007317号中,在虚拟购物中心环境中,客户状态信 息置于一个或更多cookie中,该cookie随后可在分立的域之间被共享。 服务器是非合作的,且中间应用程序用于将状态信息增加到客户端请求和 响应中。
还已知,广告服务公司能够并且进行收集cookie数据,并使其相关 联,cookie数据反映了给定网络浏览器已经访问了未有关联的站点,在这 些站点上,已经对公司的广告提供了服务。广告服务公司可随即使用此数 据来建立终端用户概要文件(user profile )。

发明内容
本发明描述了内容分发网络(CDN)服务提供商如何扩展内容分发 网络,以在可原子地(atomically)识别的网络客户端(称为"用户代理") 在由CDN服务提供商所管理的不同域上与CDN相互作用时,收集有关 这种实体的特定信息。在一种实施方式中, 一组机器、进程、程序和数据 构成数据系统。虽然可使用一种或更多被动技术,但所述系统优选地通过 cookie追踪用户代理。在一种典型的实施方式中,用户代理是具有cookie 存储器的有cookie能力的i殳备。当用户代理在站点间浏览时,生成了系 统用来关联用户代理的CDN专用的唯一标识符(主ID )。优选地,唯一 标识符作为加密的cookie存储。主ID总是代表一个用户代理(并且,因 而代表有cookie能力设备的存储器),但这不意味着它是一个"用户", 并且不保证用户代理与人类用户相关。系统在由CDN服务的客户站点上
5并在这些站点之间追踪用户代理行为(behavior),并且这些行为被分类为 可识别的"片段(segment)"。"行为"是(由其主ID标识的)用户代理在 站点上进行的事件。通常,行为与用户代理进行的请求相关联。"片段" 是对用户代理行为的计算出的分类,通常由合并了一个或更多行为的算法 生成。片段是使用一种或更多方法的一个或更多行为的集合。"用户概要 文件"是一个或更多片段的集合。
第一种使用情况是"发行者(publisher)"服务。在此实例中,(使用 CDN)操作一组域或所有物(property)的给定CDN客户可使用本系统获 得关于在所述一组域上操作的用户代理的信息。然后,这样的信息可由客 户(或其他)用于其它目的(例如,广告服务、动态内容生成、或等等)。
第二种使用情况是"机器人緩解(bot mitigation)"服务。在此实例 中,操作交易站点(例如,终端用户购买诸如比赛门票、旅店房间、飞机 座位等等有限商品条目所位于的网站)的给定CDN客户可使用本系统来 获得关于访问该站点的用户代理的信息,特别是关于特定用户是否很可能 是自动化实体(例如,软件机器人或"机器人(bot)")的信息。所述站 点可使用此信息来向很可能有效的那些用户代理(即,人类)提供最佳水 平的服务。此操作便于緩解机器人欺诈和其它站点欺诈。
第三种使用情况是"合作者"服务。在此实例中,CDN服务提供商 使用数据系统以为了使用CDN的两个或更多实体提供联合服务。作为例 子,客户A是产品制造者,客户B是提供关于新的和已使用的产品的信 息服务的网站。客户A和B具有(或可受益于)商业关系,在此关系下 它们共享关于访问其各自网站的终端用户的信息。在此实例中,如果客户 A和客户B两者都使用CDN来传送他们的站点, 一个客户或两个客户都 可使用这里的数据系统以利于和扩展这样的数据共享,因为CDN可使用 本数据系统来收集访问两个站点的用户代理的行为信息。
另一种使用情况是"目标化"服务。在此实例中,例如通过产生用户 代理的用户概要文件并将所述概要文件提供给广告服务引擎,CDN服务 提供商使用本数据系统以利于广告的目标化。
以上所述已经概括了本发明的更多有关特征中的一些特征。这些特征应仅仅被解释为说明性的。通过以不同方式应用所公开的发明,或通过修 改本发明,可获得许多其它有益的结果,正如将要描述的。


为了更全面的理解本发明及其优点,现结合附图,参考如下描述,其

图l是代表性的内容分发网络,其中可实现这里的主题;
图2是图1的内容分发网络的代表性边缘服务器(edge server);
图3表示用于内容分发网络的在线行为数据收集体系结构的高级示
图4是在线行为数据收集系统的实施方式的更详细的方框图; 图5示出了与在边缘服务器发起的身份(identity)操作有关的流程; 图6示出了与片段操作有关的流程; 图7示出了包括一组片段的代表性的用户概要文件。
示例性实施方式的详细描述
这里描述的主题可在内容分发网络中实现,例如在图1和图2中示出 的。不过,在CDN中使用不是限制,因为所述主题可在任何环境中实现, 在所述环境中, 一个实体操作分布式网络,从所述分布式网络分配第三方 内容。
在代表性的实施方式中,分布式计算机系统100配置为CDN并假定 具有一组机器102a-n,分布在互联网各处。通常,大部分机器是位于靠 近互联网边缘的服务器,即位于或靠近终端用户接入网络的服务器。网络 操作命令中心(NOCC) 104可用于管理和控制系统中各种各样机器的操 作。第三方站点,例如网站106,将内容(例如HTML、嵌入式页面对象、 流々某体、软件下载等等)的分发分流(offload)到分布式计算机系统100, 特别是分流到"边缘"服务器。通常,内容提供商通过将给定的内容提供商域或子域起别名,并将其别名解析(例如通过DNS CNAME)至(alias) 由服务提供商的授权域名服务管理的域来对其内容分发进行分流。期望这 样的内容的终端用户可以被定向到分布式计算机系统,以更可靠和有效地 获得所述内容。虽然未详细显示,分布式计算机系统还可包括其它结构, 例如分布式数据收集系统108,其从边缘服务器收集使用数据和其它数 据,对在一区域或区域集上的所述数据进行整合,并将所述数据传递到其 它后端(back-end)系统110、 112、 114和116,以利于监控、日志记录、告 警、计费、管理以及其它操作和管理功能。分布式网络代理118监控网络 和服务器负载,并提供网络、通信量和负载数据给DNS查询处理机构115, 其授权用于由CDN管理的内容域。分布式数据传输机构120可用于将控 制信息(例如,管理内容、利于负载平衡等的元数据)分发给边缘服务器。 正如在图2中所示,给定的机器200包含商用硬件(例如Intel Pentium处 理器)202,其运行支持一个或更多应用程序206a-n的操作系统核(例如 Linux或诸如此类的)204。为了利于内容分发服务,例如,给定的机器 通常运行一组应用程序,例如HTTP网络代理服务器207、名称服务器208、 本地监控进程210、分布式数据收集进程212等等。网络代理服务器207 通常包括或具有与之相关的边缘服务器管理进程,以利于与内容分发网络 相关的一个或更多功能。
优选地基于特定域、特定客户,优选地使用利用配置系统分发给边缘 服务器的配置文件,诸如图2所示的CDN边缘服务器配置成提供一个或 更多扩展的内容分发特征。给定的配置文件优选地基于XML,并包括一 组内容处理规则和指令,所述规则和指令利于一个或更多高级内容处理特 征。配置文件可以通过分布式数据传输机构传送到CDN边缘服务器。美 国专利第7,111,057号说明了一种有用的结构,用于传送和管理边缘服务 器内容控制信息,且这个和其它边缘服务器控制信息可由CDN服务提供 商自身来提供,或者(通过外联网或类似物)由操作源服务器(origin server) 的内容提供商客户来配置。随即,当边缘服务器管理者进程(g-host)接收 到对内容的请求时,它搜索索引文件,以寻找与请求相关的客户主机名的 匹配。如果不存在匹配,边缘服务器进程拒绝请求。如果存在匹配,边缘 服务器进程从所述配置文件加载元数据,以确定它将如何处理请求。处理进程在美国专利第7,240,100号中描述。
例如通常在图3中所示的,使用在线行为数据收集系统,如上所描述 的CDN可以根据这里描述的主题扩展。在此实例中假定给定的边缘服 务器机器(例如图2中所示)已经扩展成包括给定的数据收集例行程序 302,且CDN包括集群(cluster)(如下所述),所述集群接收、处理、管理 和存储从边缘服务器接收的客户机用户代理行为数据。代表性实施方式在 内容分发网络中实现,或结合内容分发网络实现,尽管这不是限制。所述 集群包括下列抽象功能用户相关模块(user correlation module ) 304 、数 据移除模块306、和数据分析模块308。得到的数据存储在库(repository)310 中。
在下面解释了上述模块。
术语
在这里描述的主题的上下文中使用了如下术语. 内容域一内容提供商的域。
内容提供商(CP) —网站提供商,假定是CDN客户。
《争域服务——项例如通过在不同的网站中嵌入对象来在特定域上设 置各用户cookie的服务。例如,广告客户,其脱离某个域但在多个不同 内容提供商的网页内提供图像。由这些对象设置的cookie通常指"第三 方cookie"。为了本文档,跨域服务也假定为CDN客户,而不管CDN服 务提供商与内容提供商所具有的关系(如果存在)如何,所述内容提供商 的站点内嵌入了跨域服务的对象。
*内容提供商cookie—在特定域内由内容提供商设置的追踪用户代理 的cookie 。
内容提供商ID—由内容提供商分配给用户的唯一 ID或CPID。
主ID—在整个系统上分配给用户的唯一 ID。
主域一如下所述,用于以主动方式使用户的不同域的ID相关联的域。 域ID cookie —包括主ID的、由内容域的名字空间中的CDN服务 提供商设置的cookie。 主ID cookie—包括主ID的、设置在主域中的cookie。.用户代理一原子地可识别的网络客户端。在大部分情况下,这相应 于特定机器的浏览器。通常,当在客户机上打开网络浏览器时,用户代理 被实例化。如果在相同的机器上打开不同类型的浏览器(例如, 一个IE 浏览器, 一个FireFox浏览器),则有两个用户代理。尽管不意味着是限 制,但用户代理通常与具有cookie能力的数据存储器(即,其中可保持 cookie的数据存储器)相关联。正如在这里所使用的,"用户代理"无需 限制为浏览器或浏览器插件程序;用户代理可以是浏览器外的应用程序、 进程、线程(thread)或任何其它程序。正如在下文中将看到的,系统能 够将给定用户代理特征化为在一方面与人类用户(或者,更通常地,"可 接受的用户,,)相关,或在另一方面与自动化的代理(例如,机器人,或 更通常地,"不可接受的用户")相关。因此,自动化的代理可被认为是非 人类活动的任何活动。将用户代理特征化为与人类相关,或相对地,与自 动化的代理相关的能力提供了显著的优点,因为它使CDN服务提供商能 够提供给客户关于用户代理的性质的预测,用户代理随即对客户站点的某 个服务进行请求。正如将要描述的,通常,此预测是用户代理在其它CDN 域(可能包括与其它CDN客户相关的域)上的活动的函数。预测可以是 有效用户记分(VUS )的形式,表示置信值(confidence value )。 VUS可 表示为数字、百分比、代码,或以任何其它方便的符号、字符或表现形式。 在通常的使用情况下,用户代理对客户站点进行请求;系统给内容提供商 提供了 VUS,其指示了用户代理与人类用户或自动化的代理相关的服务 提供商的置信;随即,响应于预测,客户采取行动。VUS可表示多于仅 两种类型(即,人类或机器人);可选择地,可有两种或更多的与VUS(或 其等同物)相关的"存储桶(bucket)",以便可以提供关于客户机用户代理 的更精细的预测。用户相关模块优选地,本发明使用主动方法或被动方法两种方法中的一种,在站点(或CDN域)内或之间追踪用户代理。用户相关模块304用于此目的。
主动方法可3p下工4乍1. 当请求内容域中的对象时,检查用户是否呈现域IDcookie。如果 是,则此用户已经被识别,因此不采取进一步的行动。如果不是,将用户 重定向到主域以获取主ID。2. 如果用户未呈现主ID cookie,则生成新的唯一 ID并将主ID cookie i殳置在主域中。如果用户呈现了主ID cookie,则将ID解密,确i人其有效, 且如果其有效,重新对其加密成在内容域中设置为域ID cookie。3. 以特定URL将用户重定向回内容域,以便主ID现在可被设置为 该域的名字空间内的域ID cookie。例如1. 假定,用户从未使用该服务访问过任何站点。用户打开他或她的 网纟各浏览器到www.xyz.com。 当i青求http:〃www.xvz.com/foo.gif时,浏览 器未呈现在www.xvz.com名字空间中的域ID cookie ,因而浏览器被重定 向到例^口 www.abmr.net/setlD www.xyz.com/foo.gif。2. 用户未呈现主ID cookie。主cookie(例如26 )净皮i殳置为www.abmr.net 名字空间中的cookie 。3. 浏贤,器随即被定向回www.xvz.com/foo.gif Master ID=26,这提供 了 foo.gif, 并在www.xvz.com名字空间中设置了域ID cookie。为了追踪和计费的目的,优选地用由边缘服务器所写的每个日志行 (log line), CDN将域ID cookie和/或主ID cookie记入日志。边缘服务器 日志接着被用户相关模块处理,正如下面所描述的。 净皮动方法:^下工作1. 如果各域用户ID cookie ( Per-Domain User ID Cookies )是以对象提供的,则使边缘服务器进行记录(在日志行中)。2. 如果跨域用户cookie是以对象提供的,则使边缘服务器进行记录 (在日志行中)。注意,从其它cookie分离用户cookie可要求一些离线处理,以理解 什么名字/值对(name/valuepair)相应于特定域的"用户名字4D"。 CDN 服务提供商可实时地分离出用户cookie,或它可选择将所有cookie记录 在日志中,然后在某个离线处理中分离出这些cookie。而且,如果使用模 式表明跨域用户cookie被作为各域用户ID cookie提供给相同的用户,则 CDN服务提供商可在相应于各域用户ID cookie的日志行中记录跨域用户 cookie,反之亦然。在这一点,对于每个各域用户ID cookie ,存在(a) —组记录的行动 和(b)当服务于特定域中的对象时所看到的一组相关联的跨域用户ID cookie 。为了对用户在整个CDN上的行动产生一个完整图景,服务提供商可 接着进行下列操作i. 产 生 两 组 列 表 Domain_Cookies(DC) 和 Cross—Domain—Cookies(CDC)。最初,利用所见的任意各域用户ID cookie 产生(seed)DC列表。ii. 对于DC列表中的所有cookie,将所有相关联的跨域用户ID cookie 添加到CDC列表。iii. 对于CDC列表中的所有cookie,将所有相关联的各域用户ID cookie添力o到DC列表。iv. 重复步骤(ii)和(iii),直到DC和CDC列表都不改变了 。一个或更多其它被动识别方案不依赖于cookie。 一种方便的技术是将 信息编码在HTTP头部中。现在描述多种变化形式。第一方案将主ID编码在Etag字段中,Etag字段在HTTP1.1规范中 被介绍。根据此规范,如果当服务于对象时服务器规定了 Etag值,则当 用HTTP GET或HEAD方法请求对象时,高速緩存该该对象的客户端将 规定指定该Etag值。因而, 一种被动识别方案如下工作。假定用户第一 次请求给定的内容提供商域例如test.com的对象,且被定向到CDN边缘 服务器。处理该请求的边缘服务器产生新的主ID。边缘服务器给对象提供服务,同时将主ID指定在HTTP 200 OK响应的Etag字段中。当浏览 器下一次访问该站点(并请求相同的对象)时,其由在GET或HEAD请 求中身见定的Etag头部来辨iL在一种变化形式中,主ID编码为日期。这里,假定用户第一次请求 test.com的对象,并被定向到CDN边缘服务器。边缘服务器产生新的主 ID,例如305。边缘服务器接着将主ID编码为日期,例如将主ID说明为 从给定时间的起点开始过去的秒数。因而,对于UNIX纪元(epoch),编 码的日期将是1970年1月1日00: 05: 05。当边缘服务器给对象提供服 务时,随即在HTTP200OK响应的日期字段中规定了编码的主ID。当浏 览器下一次访问该站点(并请求相同的对象)时,其由在HTTP GET或 HEAD请求中规定的上一次修改的头部来辨认。在此请求中规定的曰期 随即被解码,以获得主ID。在另一种变化形式中,主ID被编码在Content-MD5头部中,其在 HTTP 1.1规范中被介绍。这里,假定用户第 一次请求test.com的对象,并 被定向到CDN边缘服务器。边缘服务器生成新的主ID并将该标识符编 码为MD5散列(hash)(例如通过对主ID执行MD5散列函数)。边缘服 务器接着给对象提供服务,同时规定HTTP 200 OK响应的Content-MD5 字段中的主ID。当浏览器下一次访问该站点(并请求相同的对象)时, 其由在HTTP GET或HEAD请求中规定的Content-MD5头部来辨认。当然,上述内容仅是说明性的例子,其使用给定的HTTP头部字段来 传输主ID或其它信息以利于本发明的数据收集方法。此技术也称为"重 载(overload)"给定的HTTP头部,因为包含在给定头部字段中的信息不 是原本期望在所述字段中的数据。也可使用传送主ID的其它技术(例如 在URL中嵌入标识符)。通常,在给定的CDN内容域上^f吏用主动和/或^f皮动:技术。然而,优选 地,主动和被动技术都不在某些站点上使用,这由提供商或CDN客户决 定,或由提供商和CDN客户决定。数据修正和转换数据分析模块308将相应于用户与CDN的相互作用的一系列数据单 元作为输入。每个单元可包括例如°用户才几器的互联网协i义(IP)地址°用户的域ID/主ID。请求的URL (包括查询串和POST值)。所请求的对象的参照URL (refering URL )(如果有的话)°请求的时间。与请求相关联的所有cookie,包括但不限于 由内容提供商设置的cookie 各i或用户ID cookie ^夸i或用户ID cookie。与请求相关联的返回给用户的所有数据优选的, 一起提供这些单元,使得系统能够看到随着时间的过去用户 做了什么。作为第一处理步骤,优选的,数据被传递通过数据移除模块306。此 模块将移去 任何个人可识别的信息(PII):°用户名称。地址和电话号码°信用卡信息°社会保险号码°其它此模块随即建立和/或扩充与主ID相关联的概要文件。作为过滤PII 的替换,系统可以仅提取出非PII信息。CDN集群和边缘服务器实现方式图4说明了上述主题的实现方式。系统包括两个主要操作部分数据 集群400和边缘服务402。仅显示了一个边缘服务实例;当然,此服务在 CDN边缘服务器的全部或一些重要部分上运行。(正如这里所使用的,"边 缘"服务器不意味着包括任何特定CDN配置或体系结构)。边缘服务用 于捕获在线行为数据,其随后被提供给数据集群400并由数据集群400 处理。通常,集群是机器的集合,所述机器整理(digest)边缘服务器机 器访问日志数据。它接受访问日志数据作为输入,并产生叫做"身份"和 "片段,,数据作为输出,正如将要描述的。集群还提供一个点,在此点上, 内容分发网络服务提供商、其用户及其合作者可探究系统的数据语料库, 产生(例如,手动地,或以自动的方式)报告,并形成新的和/或精细的 片段定义。正如下面将更详细描述的,为了利于高性能,集群优选地被组 织到3个主要的级(stage)中数据荻取、数据处理和存储以及数据检 索。数据获取级在日志处理器/下载收到标记处理器(Log Processor/Download Receipt Processor , LP)414上实现。数据处理和存 储在数据库节点(DN) 416上实现。数据;险索级在前端(FE) 418上实 现。分析节点AN420通常以"离线"方式的起作用。AN420提供具有SQL 功能的互联网接口 ,用于对整合的系统数据集的较大子集进行离线分析。
数据集群组成部分将在下面更详细地被描述。 边缘服务
优选地,有两种类型的操作出现在边缘服务中,即身份操作和片段操 作。这些服务由图4所示的身份和片段服务器404实现。ISS在其上执行 的边缘机器406包括HTTP网络代理服务器408和其相关联的服务器管理 者(ghost )进程410,正如之前所描述的。期望使用所描述的系统的CDN 客户操作源服务器412,并将实现站点的身份操作。 一旦这完成了,客户 也可实现片段操作。优选的,两种实现方式都通过元数据来配置,所述元 数据提供给边缘服务器管理者进程,正如之前所描述的。如在图4中所看 到的,ISS服务器404通过防火墙422 (尽管这不是所要求的)与给定的 集群前端FE实例418相互作用。
尽管不意味着是限制,但ISS可作为C程序实现,该C程序设计成作为多线程FastCGI进程运行,倾听来自本地网络服务器的请求。运行ISS 的机器通常也运行边缘服务器管理者进程。虽然以下描述的功能在两个分 立的进程中(ISS和ghost)实现,此ISS功能对于边缘服务器管理者进 程可以是固有的(native)。
泛泛地说,使用所请求的对象或HTTP请求的某个特征(例如HTTP 头部或cookie值),根据多种用户请求触发身份和片段操作。根据触发身 份操作的请求,边缘服务器管理者进程用重定向到由CDNSP控制的第三 方域(abmr.net)来响应。在此域中,系统设置规范的主ID ( AKID ) cookie。对abmr.net域的请求自身将导致重定向回源客户域,以获得最初 所请求的对象。通常,对此重定向的唯一添加是,abmr.net中AKID的值 被作为变量/值对查询串而嵌入到请求中。边缘服务器管理者进程随即将 设置客户域特定cookie,其值将与abmr.net中AKID的相同。片段操作不 太复杂,因为用户仅进行一项请求。在此操作中,该请求导致边缘服务器 管理者进程发出转发请求以获取用户的片段信息。对于此请求的响应自身 是重定向,对此,客户元数据随即配置成跟随(chase)。优选的,重定向 是特定构造的请求,根据此请求,另一边缘服务器管理者进程可从该请求 中提取片段信息,并将其包含为对客户源服务器的最终HTTP请求中的头 部。
身份搡作
为了实现身份操作,选择相关页面上的合适的对象以用作"触发"和 /或"执行"对象。虽然不意味着是限制,但好的候选页面是那些"着陆 (landing)"页面,在对站点的一般访问中,大多数一般用户首先访问所述 着陆页面。虽然不意^^未着是限制,但好的候选对象是出现在主要着陆页面 上和/或遍及给定所有物的大部分页面上的那些对象。"触发,,对象不是必 需的,但用于防范终端用户浏览器从不接受任何cookie的情况。它们使 系统能够检查客户域中是否存在某个已知cookie。如果客户所有物具有一 个或更多cookie集(或是会话cookie或是永久cookie ),则触发对象可以 不是必需的。当使用触发对象时,边缘服务器管理者进程元数据检查对于 触发对象的请求是否包括已知cookie/值对。如果请求未包括已知cookie/值对,则管理者进程将合适的cookie设置为合适的值。"执行"对象用于 迫使服务器管理者进程重定向终端用户到abmr.net域。通常,仅当(1) 用户已呈现适当的cookie(或是设置在对"触发"对象的请求上的cookie, 或是已设置在客户域中的cookie)以及(2)"执行"对象被请求时,才强 制此重定向。
图5显示了对于执行对象的请求的请求流程,该请求包括必要的 cookie(和值)。标记了 CP和ABMR的框是边缘服务器进程管理者(g-host) 操作,但各框指的是各自的域。在此操作中,边缘服务器管理者进程向 ISS机器(其IP可由CDN管理的名字的DNS查询来确定)发出转发请 求,ISS机器形成实际的重定向位置。此重定向位置将用户指向abmr.net 域,它在查询串中包括加密的串,加密的串包括最初请求的文档或对象的 指紋(fmgerprint)、用户在客户域中的标识符(如果有)以及客户域的名称。 这个末尾字段,即客户域,可不同于所有物的名称,例如CDN可分别地 启用 "www.example.com"和"my.example.com", 在此情况下,客户域 是example.com。正如在图5中所看到的,边缘服务器管理者进程从ISS 接收响应,并将此响应转发到终端用户。
终端用户接收HTTP302重定向,并跟随此对abmr.net域的请求。此 请求包括用户的当前AKID cookie值,如果有的话。abmr.net域的服务器 进程(g-host)元数据然后将请求继续转发到ISS机器(再次地,通过对CDN 管理的名字的DNS解析确定IP地址)。ISS机器采取下列行动之一
-重新设置AKID。如果用户呈现客户提供的标识符,则ISS试图为 此用户的(CPID, CPDOMAIN)对检索AKID。如果集群具有此用户的 AKID,且此用户具有
°无/无效AKID,或
°比数据集群中的AKID更新的有效AKID, 则ISS将用户的AKID重新设置为从数据集群检索出的AKID。 否则,ISS将开始下面的情况。
重发相同的AKID。如果用户呈现有效的AKID,则ISS重发相同的AKID。否则,ISS将开始下面的情况。
产生新的AKID 。此为默认行动。
优选的,ISS发送"Set (设置)-cookie"头部以设置AKID cookie 的值,具有"从不失效(NeverExpire)"的截止期。ISS还生成重定向位 置,其优选地与最初用户请求一致,只是它包括特定查询串参数 (argument),其值与ISS刚设置的AKID值相同。 一旦用户跟随此第二 重定向,边缘服务器管理者进程执行为身份搡作设计的客户元数据的最终 模式。此元数据路径从查询串提取AKID值,并以此值设置特定用户AKID cookie。这通过给请求的对象提供服务终止了此扩展的用户请求流程。
片段操作
为了实现片段操作,对于客户需要片段信息的源的请求必须首先被确 定。例如,对于"机器人緩解",令人感兴趣的请求可以是对在检验点击 流(click-stream)中的第一安全页面的那些请求。对于感兴趣于使用行为 数据用于其它目的(例如以广告为目标)的客户,所有请求可要求片段信 息。实现片段操作所要求的另一条信息仅是客户和CDN服务提供商必须 对用作消息整理签名(message digest signature)的共享密钥的编码的串取 得一致,消息整理签名与发送到源服务器的所有片段共存。在图6中示出 此请求流程。
根据任何合适的请求,片段元数据首先检查客户请求中是否存在 AKIDcookie。如果值未出现,或者它不匹配一些基本有效性测试,则边 缘服务器管理者进程通过给所请求的对象提供服务来完成请求。然而,如 果出现的值看上去是有效的,则元数据从请求中提取多条信息,例如,源 主机用于此请求的客户源服务器的主机名称,请求主机最初的请求的 主机名称/所有物,请求对象最初的请求的路径/文件名称,查询串最 初的请求的查询串,AKID:最初的请求中出现的AKID的值,以及客户 域最初的请求的客户域的名称。边缘服务器管理者进程随即将转发请求 发送到abmr.net域,且以上信息包含在该请求中的HTTP头部中。边缘服 务器管理者进程保持这些HTTP头部,用于其对此特定终端用户请求所进行的每个转发请求。用于此请求的高速緩存键(cache key )优选地包括客 户域和AKID的值。
对abmr.net的此"片段取出"请求可导致高速緩存命中(cachehit)。 在高速緩存缺失(cache miss)的情况下,边缘服务器管理者进程将转发请 求发送到ISS机器。ISS将检索AKID的值并转向,且从集中的数据集群 中取出对此AKID的片段信息。ISS随即对响应进行语法分析,以仅提供 为给定客户域配置的那些片段。最后,ISS签署所述片段响应(例如 "segment—l=value segment—2=value"形式的编码的URL的串)。ISS为 管理者进程(在abmr.net域中)产生的响应通常是空的实体,具有HTTP 头部,其包括签署了的并配置了的片段串,(即
"segment_l%3Dvalue%20segment—2%3Dvalue%20,<signature>',),和 HTTP响应代码(例如,200 OK)。 一旦边缘服务器管理者进程接收到此 响应(或直接来自对ISS的转发请求,或者,如果发生缓存命中,则来自 高速緩存),用于abmr.net域的元数据将响应代码重新写为临时重定向
(HTTP响应代码302)。元数据被用来使用请求主机、请求对象和来自 ISS的响应的片段头部的数据构建重定向位置。客户元数据接收此302, 并被指示为跟随此重定向。边缘服务器管理者进程对主机名称
"isdata.abmr.net"进行DNS解析,这转换为某个其它g-host进程。管理 者进程发送请求,其再次由abmr.net的元数据处理。方便地,随最初的请 求(即,取出片段信息的请求)发送到abmr.net的HTTP头部在对abmr.net 的此第二请求上也是可用的。设计成处理此请求的abmr.net元数据使用这 些头部的内容重新产生最初的请求。首先,它提取分配给路径参数"SEG" 的值。它将此值作为特殊HTTP请求头部("X-IS-Server-Seg-Data")包括 进来。然后,它重新产生最初的请求。最后,它将此请求发送到源服务器
(如在来自客户域的请求主机HTTP请求头部中提供的),其现在包括 HTTP请求头部
"X-IS-Server-Seg-Data:segment—l%3Dvalue%20,<signature>,,
片段操作通过边缘服务器管理者进程将来自源服务器的响应提供给 终端用户来结束。
19数据集群
如上所述,集群优选地组织为以下级数据获取、数据处理和存储以
及数据检索。优选地,每个级是并行的,并可按负载要求调整规模。现描 述每个级。
数据获取
集群获取数据有几种可能方法。(由边缘服务器提供给CDN日志分 发服务(LDS) 424)访问日志是集群的主要数据源。如上所述,访问日 志在叫做日志处理器(LP ) 414的机器上处理。日志分发服务(LDS )通 过任何方便的机制如FTP、电子邮件等将日志传送到LP。在LP机器中 操作的第一进程(i-ftpd)接受这些日志文件,且当LDS完成其FTP PUT 操作时,第一进程将完成的文件移动到一目录中,其中在LP机器中操作 的第二进程(i-lp)可找到它。当第二进程发现准备好被处理的文件时, 第二进程打开此文件,如果需要则将其解压缩,并继续对其进行语法分析。 对于它进行语法分析的每个日志行,第二进程优选地识别下列字段所请 求的URL、参照页(referer)、请求时间、源IP地址以及AKID和CPID cookie 的值,如果它们在请求中被说明的话。第二进程随后将这些字段映射到一 个或更多"行为"。优选地,这用行为映射图(behavior map)来完成,行 为映射图是一种配置,对于每种内容提供商代码,其指定了 (URL,referer) 正则表达式对(regular expression pair)与 一个或更多行为的映射。对于 每个识别了的行为,优选地,第二进程向数据库节点(DN)发出行为操 作,以记录事件的发生。如果指定了 CPID cookie,则LP另外地发出身 份操作。这些操作在下面将更详细地描述。行为操作指定了事件的行为名 称(它的"behaviorjd")、时间、AKID以及源IP地址。身份操作指定了 AKID、 CPID和CPDOMAIN。优选地,第二进程具有内部高速緩存,通 过此高速緩存,它优选地将这些操作整合在LRU管理数据结构中。在此 模型中,对于给定的AKID/行为对的多个操作/事件可以被整合为单个操 作,且按照给定的高速緩存逐出策略(evictionpolicy)向DN发出操作。 这显著地降低了 DN工作负荷并降低了 LP/DN网络性能要求。
优选地,通过下载收到标记处理,系统还支持数据获取的在线模型。特别是,对于某些对象或内容提供商代码,边缘服务器管理者进程可配置
为将下载收到标记以POST方式提交给下载收到标记处理器(DRP)。在 收到标记中提供了所请求的URL、参照页、访问时间、源IP地址以及 AKID和CPID cookie值。DRP可将这些收到标记/请求映射到行为。
数据处理和存储
如上所述,利用进程(i-dn),系统在称为DN的机器416上处理和存 储获取的数据。
为了扩展性,系统优选地将其语料库数据分成很多部分,每个部分由 序列号来识别。分配给DN的每个序列号是唯一的,DN经常分配有几个 序列号。第三进程优选地保持两个主要的表行为表,其记录行为数据; 以及身份表,其记录身份数据。行为表在行为记录中存储信息,其记录了 用于特定(AKID,behavior—id)的随时间过去的行为数据(事件数据)。 行为数据优选地通过将事件纳入(slot)到多个连续的间隔中来被压缩。身 份表记录了 ( CPID, CPDOMAIN)对和AKID之间的关联。如果用户删 去了他或她的cookie,此信息用于重建用户的身份。正如这里所使用的, 片段通常是基于给定用户的历史数据的合成"记分"。对任何给定片段的 主要输入是用户的行为记录。另外,对于给定用户,来自其它片段的记分 也可影响该用户在某个片段中的记分。对于给定用户,且对于给定片段, 系统优选地存储最近的记分、记分被更新的最近时间以及此记分的置信的 表示。为了保持片段信息,DN进程保持片段表,其像行为表和身份表一 样被划分。特别是,优选地,行为和片段数据根据AKID的散列被划分为 序列号。身份数据根据(CPID,CPDOMAIN)对的散列被划分为序列号。 DN行为表、身份表和片段表组成分立的DN服务,每项服务优选地具有 其自己的序列号空间。如果需要,每项服务可在自身的DN集上运行。每 个表的每个序列号优选地存储在其自身的数据库映像中。
数据处理
DN416支持若干个主要操作行为记录更新("行为操作")、身份记录更新("身份操作")、片段查询以及身份查询。另一种操作,片段记录 更新("片段操作")可异步与任何其它操作而发生。现描述这些操作。
一旦接收到行为操作,i-dn进程取出与该操作相关的记录,如果其不 存在就将其产生。在某种处理之后,i-dn进程随即将记录写回数据库。此 进程随即调用叫做i-sn的库以更新AKID的片段数据。
一旦接收到身份操作,i-dn进程取出与该操作相关的记录,如果其不 存在就将其产生。此记录仅记录关联,且不需要进一步的处理。DN链接 到库,i-sn,其提供片段更新和片段查询支持。根据在i-sn库的配置文件 中建立的规则,此操作导致片段表中的、给定AKID的相关片段的更新。
一旦接收到身份查询,i-dn进程取出所请求的(CPID, CPDOMAIN) 对的记录,并随即将相应的AKID提供给客户端。 一旦接收到片段查询, 进程i-dn调用i-sn库以取出所请求的AKID的片段串,且随即将此片段 串提供给客户端。
数据检索
集群的前端(FE) 418给集群提供HTTP接口 。 CDN可具有一个或 更多外部网络,所述网络利用此接口从集群取出数据。FE避免查询客户 端知道数据在集群中的哪里被提供(host)(哪些DN被分配了哪些序列 号),并且他们充当负载緩冲器以使集群免于高查询(高网络)负载。一 旦从边缘服务ISS组成部分接收到身份或片段请求(正如将要描述的), FE确定对哪个DN查询此信息,向这个DN发出查询操作,读取响应, 对响应加密,以及将加密的数据传送回ISS客户端。
也如在图4中看到的,提供数据库(data library, DL )节点426用于 长期存储,以及报告生成器节点428用于促进基于所收集的数据的报告的 生成。报告生成器通常与AN协同操作。CDN客户以诸如通过安全通信 链接的通常方式访问这些系统。在一种实施方式中,通过外联网入口 (portal),通过Web服务,或者以任何其它方便的方式,可得到所收集 的信息。CDN服务提供商以任何方便的方式,例如根据使用,根据用户代理 VUS,才艮据订阅,通过所追踪的主ID,通过页面浏览量/对象浏览量,通 过用户概要文件,通过片段或类似物,对数据系统的使用收费。
因此,这里描述的系统具有几个主要组成部分
(a) ID管理一用于追踪站点间的客户机用户代理,并在相关日志中给 点击流打上时间标记。此组成部分包括客户的域中的元数据以及产生(和
"重置")ID的边缘服务功能,正如以上描述的。尽管如上所述的系统依 靠cookie来将ID保持在用户代理cookie存储器中,但这不是必需的,正 如已经描述的其它被动方案。
(b) 数据收集和处理一负责处理日志并建立用户概要文件。通过得到 从CDN日志分发服务(或其它源)传送的日志并处理每个日志行,实时 地或近乎实时地进行此操作,所述处理将URL模式映射到行为。例如, 具有"...cp.com/.*"的行将递增此用户代理的"cp_user"行为。
(c) 离线数据分析一来自在线系统的数据被收集到离线系统中,在离 线系统中,数据可被处理用于其它用户。 一种使用是通过AN提供SQL 接口给数据。另 一种使用是产生CDN客户入口的报告。
(d) 实时概要文件检索一当配置成这样做时,在边缘的服务器从数据 集群检索用户概要文件,并然后将此信息包含在对客户源的转发请求中。 这是客户用来根据行为数据采取行动的方法。
数据系统可用于多种不同类型的服务。
第一种使用情况是"发行者"服务。在此实例中,(使用CDN)操作 一组域或所有物的给定CDN客户,可使用系统获得关于在一组域上操作 的用户代理的信息。这样的信息随后可由客户(或其他人)使用,用于其 它目的(例如广告服务、动态内容产生或类似物)。作为具体的例子,CDN 客户可操作两个站点,A和B,且CDN服务提供商在所有站点追踪用户 代理数据。通过分析数据,CDN服务提供商可确定,10%的站点八用户 代理也访问站点B,但仅3%的站点B用户代理访问站点A。作为另一个 例子,系统可用于提供关于特定的用户所负责的请求的数量的信息(例如,
233%的用户负责对站点的所有请求的10%)。在此方式中,CDN客户可获 得关于用户代理的人口统计的更加有用的数据,并因此,可推测地获得关 于观看这些站点的实际用户的更加有用的数据。
第二种使用情况是"机器人緩解"服务。在此实例中,操作交易站点 (例如,终端用户购买诸如比赛门票、旅店房间、飞机座位等等有限的商 品条目所位于的站点)的给定CDN客户可使用本系统来获得关于访问该 站点的用户代理的信息,特别是关于特定用户代理是否很可能是自动化实 体(例如,软件机器人或"机器人")的信息。所述站点可使用此信息来 向很可能有效的那些用户代理(即,人类)提供最佳水平的服务。此操作 利于緩解机器人欺作和其它站点欺诈。机器人緩解功能也可用于机器人也 很普遍的其它类型的站点(例如,基于朋友的社交网站)。
第三种使用情况是"合作者"服务。在此实例中,CDN服务提供商 使用本数据系统来为使用CDN的两个或更多实体提供联合服务。作为例 子,客户A制造了一系列产品,并具有描述其产品的网站;客户B是提 供关于新的和已使用的产品例如A制造的产品的信息服务的网站。客户 A和B具有(或可受益于) 一种商业关系,在此关系下它们共享关于访 问其各自网站的终端用户的信息。在此实例中,如果客户A和客户B两 者都使用CDN来实现他们的站点, 一个客户或两个客户都可使用这里的 数据系统以利于和扩展这样的数据共享,因为CDN可使用数据系统来收 集访问两个站点的用户代理的行为信息。作为另一个例子,客户A可以 是社交网站,而客户B提供其期望在客户A的站点上进行促销的给定的 产品或服务。如果客户A和B两者都使用CDN来传送他们的站点,则客 户A可使用这里的数据系统来识别访问其站点的给定用户代理是否去过 了客户B的站点。此信息随即可被共享,以利于给定的活动(例如,服 务于给定的广告,提供给定的交叉促销利益,或诸如此类。)
另一种使用情况是"目标化"服务。在此实例中,例如通过产生用户 代理的用户概要文件并将所述概要文件提供给广告服务引擎,CDN服务 提供商使用数据系统以利于广告的目标化。系统优选地执行或通过连接到 片段记分商业逻辑,从而对每个AKID的每个"活跃,,片段建立兴趣积分。给定AKID的行为数据可如下映射到片段。对于与AKID相关联的每个行 为ID,采用对于所述行为ID存在事件的最近的时期。例如,通过从在其 中发生那些事件的时期的中点减去当前时间,确定这些事件的持续时间 (age)。将所述时期中的事件的数量与时期的持续时间的函数相乘,以衰 减其值。此AKID的所述片段/行为的"强度"就是此乘法的结果。广告 选择逻辑可对片段排序,以找到具有最大强度的片段并根据此片段选择广告。
另 一种使用情况是,CDN服务提供商为提供搜索引擎(或类似物) 的客户而运行本系统。客户的体系结构包括竟价机制(bidding mechansim) 或与竟价机制相关,通过竟价机制,第三方可对商品(例如,广告、关键 字、付费文本等等)竟价,所述商品可响应于用户代理查询,通过客户的 搜索引擎被返回。当查询进入搜索引擎时,本创造性的数据系统被访问, 使得CDNSP具有的关于用户代理的任何数据或概要文件都能作为输入提 供给竟价算法。其中客户访问本数据系统的特定方式是可以变化的。例如, 本数据系统可具有一个模块,所述模块在内容提供商的体系结构中执行, 其信息在带外(out-of-band)传递。在任一情况下,都给客户的竟价机制(或 算法)提供了附加信息(例如,用户概要文件、VUS或其它这样的数据), 使得第三方可更有效地对商品竟价。
输出
在一种实施方式中,数据收集系统的输出是与给定的主ID关联的一 系列名称/值对。这些名称-值对可以是表示猜测的值的形式(例如,男性 =0.9表示很可能是男性,男性=0.5表示无法猜测,男性=0.1表示很可能 是女性),并且/或可以是可能具有置信记分的通类标签(兴趣K)lympics, 置信=75%)。这些中的每一个都可以是"片段"。
这样,优选地,概要文件由给定的本体(ontology)定义;它可以符 合给定的数据模式(dataschema)。可能的属性的代表性列表如下
-一般兴趣(例如,遍及多等级层级的相对的兴趣值)
°体育活动一棒球、橄榄球、NASCAR、英式足球、水球、篮球;相关的职业/大学体育活动;运动队
°新闻一国际、国内、l也区 。财经
。娱乐一电影、特定人群
当前购物兴趣
°汽车
。家居产品
°旅行 人口学统计信息
。年龄 °寸生另'J °收入水平
°家庭位置(例如,邮政编码间隔尺度(ZIP code granularity))
互耳关网4亍为
。每天在线的时间量
°已进行的网购程度
在图7显示了代表性的用户概要文件。这里的数据仅是代表性的。应 认识到,用户概要文件不包括任何个人可识别信息(PII)。
上述体系结构可包括一个或更多变化形式。因此,可期望它扩展功能 以提供更详细的信息过滤或处理。参照以上内容,系统可包括用户聚类 (clustering)或相关功能,以在多个设备间追踪用户代理。因而,如果给 定的内容提供商或广告服务实体将用户id放入由CDN提供服务的文件 中,则如前所述的CDN服务器提供商体系结构优选地包括以下能力处 理信息并确定两个不同的cookie ID (或其它标识符)表示相同的人或实 体,所述人或实体从两个不同的位置(例如,家庭和工作场所),或更通 常地,以两个不同的设备,访问给定的站点(全部或部分地分流到CDN )。系统包括适当的功能(例如,相关算法,聚类算法或其它类似算法),以 使服务提供商能过滤出重复的信息。
如所提到的,CDN服务提供商(依靠其服务)访问当终端用户浏览
站点时收集的大量数据,所述站点(全部或部分地)被分流到CDN。然 而,许多这样的终端用户不与唯一的IP地址相关联,因为他们特定的客 户机位于防火墙之后。这样,本发明可通过以下方式得到扩展通过使服 务提供商(a)监控给定的数据请求流(例如企业防火墙后发起的请求) 和(b)对作为结果得到的数据执行聚类算法,以试图提取有用信息,例 如,多少唯一ID与数据相关联,给定的聚类是否相应于给定的用户集或 子集,或诸如此类。代表性的聚类算法包括,但不限于,K-均值、SVM (使用正演拟合(forward-fitting)或互信息(mutual information)作为特征 选择算法)或类似算法。更常见的,聚类算法可用于提取关于已经根据之 前描述的 一般技术被识别的给定用户的其它信息。
如以上所指出到的,根据本发明的数据收集技术也可提供用于辨别与 主ID相关联的特定用户代理是否是人类,而不是自动的机器、程序、进 程。因此,例如,如果与主ID相关联的"实体"花了给定数量的小时在 线,访问站点X、 Y和Z,并在站点Y上购买了东西,则很有可能此实 体不是自动进程(例如,具有从给定的网站购买音乐会门票以便重新出售 这个专门任务的票务机器人)。同样,如果用户代理访问"目录"页面(相 对,例如"购买"页面),则用户代理很可能与人类用户相关联,因为不 会期望机器人花时间观看希望被看到的页面。可实现适当的软件例行程 序,用于提供实体辨别的这种和其它类型(例如,确定实体是否试图进行 点击欺诈、"Sybil"攻击或诸如此类)。在一种实施方式中,评估一组一 个或更多的因素,以确定用户代理是否是票务机器人。这些因素包括例如 由客户机用户代理访问的CDN域的多样性、关于与给定的内容提供商域 相关联的一个或更多页面的购买页面与目录页面比率、自上次浏览会话已 经过去的时间量、在当前浏览会话期间客户机用户代理在线的时间量和在 给定时间段内与客户机用户代理相关联的IP地址的数量。这些因素仅仅 是代表性的。通常,希望在多个站点或域上监控用户代理,以便在很多站点上且也许在给定时间段上可对"正常"(看上去象人类的)行为做出判 断。当然,通过更多的数据,系统可获得用户代理与有效用户相关联的更 多置信。
特别是,并基于所述因素,系统提供用户代理与人类用户相关联的其
置信的指示。所述指示通常是以有效用户记分(vus)的形式。vus越 高,用户代理越可能与人类用户相关联。(当然,词语"越高"是相对的, "最低"值可能代表较好的记分)。在一种实施方式中,vus如下计算。 有来自网络层向上通过应用层的一组数据源(如上描述的一个或更多因 素)。系统分析所确定的属性,以提取出对正常人类行为的指示符。什么 样的东西指示"正常人类行为"是可以根据站点变化的,或者甚至在站点 的不同区域内变化。通过使用加权的算法来结合一个或更多的属性,生成
有效客户记分(vus)以代表此用户代理与正常人类用户相关联的服务提
供商的置信。所使用的特定算法权重将依赖于所述因素、站点类型、被认 为是正常的活动的性质以及诸如此类。
如果机器人已经被标记(flag)出来,则采取减緩行动。具体的行动 可以相当不同。减緩行动可包括例如,向客户机用户代理提供假内容或其 它内容,给客户机用户代理提供低质量的服务,将客户机用户代理按路由 到CDN中的服务器的子集,在那里,其被迫与已经(通过VUS记分) 被辨别为机器人的其他客户机用户代理竟争资源,等等。客户机用户代理 的服务质量被降低的程度可以是VUS的函数;因此,例如,响应时间可 通过多个VUS来调整。相反,如果与客户机用户代理相关联的特定VUS 与系统所认为是人类用户的相关联,此客户机用户代理可接收优选的内 容,接收更高质量的服务,且被路由到高性能的服务器集,等等。
应认识到,与试图确定给定的客户机用户代理签名是否是机器人相 反,以上描述的机器人分析功能关注于确定用户代理是否与"人类"用户 相关联。目标为识别有效用户的此方法是有高度优势的,因为(一旦机器 人被识别出来)机器人开发者能够轻易地改变机器人签名以掩饰其身份。 这里描述的技术是基于这样的前提,即系统给出用户代理信用,用于以 (从人类用户的视点)看起来正常的方式与给定站点相互作用,不过,通常,VUS将取决于的是,用户代理被发现在多个支持CDN的站点(或域) 上已经展示了这样的"正常"人类行为,这也许是在某个时间段而言,或 根据倾向于显示这样的正常行为的某个其它准则而言。所以,如果用户代
理在一个站点上看起来"正常"(即,人类),这不意味着用户代理与高 VUS相关联;而应是,此用户代理应该被发现在多个站点/域上看起来"正 常",这可能是在某个给定时间段上而言。这样,随着用户代理与一个或 更多站点/域相互作用,可期望系统增加其对用户代理真正与人类用户相 关联的"置信"。在进行此判断时,什么是或不是"正常"(人类)行为可 在站点/域上不同,因此,对于站点A, 一组行动是正常的,而在站点B, 另一组行动是正常的。
"机器人"减緩功能可用于其它类型的站点。因此,例如,"基于朋 友"的社交网站经常被感染"朋友-机器人",其是试图请求与合法用户建 立朋友关系的自动实体。以上描述的机器人分析和减緩技术在此情况中也 是有用的。这里,机器人分析寻找表示朋友-机器人的某些因素,例如, 一用户代理,其不进行其它操作就只访问(合法)用户概要文件,从那些 概要文件中挖取用户ID或其它信息,并随即将用户添加到用户代理的"朋 友"。这样的"朋友添加"动作很可能与朋友-机器人相关联。因此,CDN 服务提供商可向社交网站客户提供VUS (或某个等价数据),其反映了服 务提供商对特定用户代理是"朋友-机器人"或某个其它不期望的自动实 体(例如消息机器人)的置信。
以上例子说明了用于CDN客户站点的特定机器人-揭示活动将取决 于用户代理如何试图与站点相互作用。无论此如何实现,这里描述的数据 系统可用于提供相关联的机器人减緩。
这里描述的数据系统也可仅用于将给定用户代理标记为可疑。在一个 站点上对用户代理收集的数据可用于分析和预测它们在其它站点上的行 为。因此,在票务机器人实例中(不意味着是限制),在票务站点A,由 其VUS识别票务机器人。独立地,可以确定在站点A的高度活跃的用户 和其它票务站点的高度活跃的用户之间存在很强的关联。在这种情况下,
系统建立站点A的这样的用户的列表,并随即使用此列表用于另一票务站点的才几器人预测。
本数据系统也可用于识别和减緩其它类型的在线站点欺诈,例如点击 欺诈、搜索引擎欺诈等等。
正如同时注意到的,CDN服务提供商也可以为了之前已经描述的一
个或更多实体(例如,内容提供商、广告服务实体等等)提供联合服务。 已经描述了本发明,我们现在要求如下权利。
权利要求
1. 一种在基于互联网的内容分发网络(CDN)中的方法,在所述内容分发网络中,参与的内容提供商CDN客户分流给定的内容以从由内容分发网络服务提供商管理的内容服务器分发,所述方法包括在由所述内容分发网络服务提供商管理的多个内容提供商域上追踪客户机用户代理;以及使用由所述追踪产生的信息来给参与的内容提供商提供服务。
2. 如权利要求l所述的方法,其中所述服务提供所述客户机用户代 理的概要文件给所述参与的内容提供商。
3. 如权利要求l所述的方法,其中,所述服务提供数据给所述参与 的内容提供商,所述数据是所述内容分发网络服务提供商对所述客户机用 户代理与人类用户相关联的置信的函数。
4. 如权利要求3所述的方法,其中,所述数据由一组因素影响。
5. 如权利要求4所述的方法,其中,所述一组因素包括下列项之一 由所述客户机用户代理访问的CDN域的多样性、关于与给定的内容提供 商域相关联的一个或更多页面的购买页面与目录页面比率、自上次浏览会 话已经过去的时间量、在当前浏览会话期间所述客户机用户代理已经在线 的时间量和在给定时间段内与所述客户机用户代理相关联的IP地址的数 量。
6. 如权利要求3所述的方法,其进一步包括以下步骤及动,如果所述客户机用户代理被确定为是自动化的代理,则采取緩解行
7.如权利要求l所述的方法,其中,所述服务向所述参与的内容提 供商提供关于在第二参与的内容提供商的内容提供商域上追踪所述客户 机用户代理的信息,其中,所述第二参与的内容提供商与所述参与的内容提供商具有商业关系。
8. 如权利要求l所述的方法,其中,所述服务向所述参与的内容提供商提供信息,以利于广告分发。
9. 如权利要求l所述的方法,其中,所述服务向所述参与的内容提 供商提供信息,用于对商品竟价算法的输入。
10. 如权利要求l所述的方法,其中,提供所述服务给所述参与的内 容提供商,以收取费用。
11. 一种在基于互联网的内容分发网络(CDN)中的系统,在所述 内容分发网络中,参与的内容提供商CDN客户分流给定的内容,以从由 内容分发网络服务提供商管理的CDN内容服务器分发,其中,CDN内容 服务器负责提供来自多个内容提供商域的内容,所述内容提供商域由所述 内容分发网络服务提供商管理,所述系统包括追踪机构,其与内容服务器相关联,用于从所述内容服务器在多个内 容提供商域上追踪客户机用户代理,所述多个内容提供商域由所述内容分 发网络服务提供商管理;数据收集和处理机构,用于接收和处理由内容服务器追踪机构产生的 客户机用户代理追踪数据;以及数据检索机构,其耦合到所述数据收集和处理机构,用于提供信息给 第一参与的内容提供商。
12. 如权利要求11所述的系统,其中所述数据检索机构提供所述客 户机用户代理的扭克要文件。
13. 如权利要求11所述的系统,其中所述数据检索机构提供记分, 所述记分是所述内容分发网络服务提供商对所述客户机用户代理与人类 用户相关联的置信的函数。
14. 如权利要求11所述的系统,其中所述数据检索机构在第二参与 的内容提供商的内容提供商域上追踪所述客户机用户代理,其中,所述第 二参与的内容提供商与所述第一参与的内容提供商具有商业关系。
全文摘要
内容分发网络(CDN)服务提供商扩展内容分发网络,以在可原子地识别的网络客户端(称为“用户代理”)在由CDN服务提供商所管理的不同域上与CDN相互作用时,收集有关这样的计算机实现的实体的信息。在一种实施方式中,一组机器、进程、程序和数据构成数据系统。数据系统优选地通过cookie追踪用户代理,虽然可使用一种或更多被动技术。用户代理可以是具有cookie存储器的有cookie能力的设备。在用户代理在站点间浏览时,生成了系统用于关联用户代理的CDN专用唯一标识符。优选地,唯一标识符存储为加密的cookie。唯一的标识符代表一个用户代理(并因此代表一个有cookie能力的设备的存储器)。系统在由CDN提供服务的客户站点上并在这些站点之间追踪客户代理行为,且这些行为被分类到可识别的“片段”中,其可用于产生概要文件。CDN客户使用数据系统来获得辨认用户代理的信息。
文档编号G06F15/16GK101523379SQ200780038365
公开日2009年9月2日 申请日期2007年8月18日 优先权日2006年8月18日
发明者F·汤姆森·雷顿, 布莱恩·J·曼库索, 肯·G·埃瓦莫图, 蒂莫西·P·约翰逊, 迈克尔·M·阿福根 申请人:阿卡麦科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1