CN101523379A - 分布式网络中的数据收集方法 - Google Patents
分布式网络中的数据收集方法 Download PDFInfo
- Publication number
- CN101523379A CN101523379A CNA2007800383651A CN200780038365A CN101523379A CN 101523379 A CN101523379 A CN 101523379A CN A2007800383651 A CNA2007800383651 A CN A2007800383651A CN 200780038365 A CN200780038365 A CN 200780038365A CN 101523379 A CN101523379 A CN 101523379A
- Authority
- CN
- China
- Prior art keywords
- content
- user
- cdn
- data
- territory
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
内容分发网络(CDN)服务提供商扩展内容分发网络,以在可原子地识别的网络客户端(称为“用户代理”)在由CDN服务提供商所管理的不同域上与CDN相互作用时,收集有关这样的计算机实现的实体的信息。在一种实施方式中,一组机器、进程、程序和数据构成数据系统。数据系统优选地通过cookie追踪用户代理,虽然可使用一种或更多被动技术。用户代理可以是具有cookie存储器的有cookie能力的设备。在用户代理在站点间浏览时,生成了系统用于关联用户代理的CDN专用唯一标识符。优选地,唯一标识符存储为加密的cookie。唯一的标识符代表一个用户代理(并因此代表一个有cookie能力的设备的存储器)。系统在由CDN提供服务的客户站点上并在这些站点之间追踪客户代理行为,且这些行为被分类到可识别的“片段”中,其可用于产生概要文件。CDN客户使用数据系统来获得辨认用户代理的信息。
Description
本申请基于2006年8月18日递交的序列号60/838,610和2006年8月18日递交的序列号60/838,735,并要求其优先权。
发明背景
技术领域
本发明大体上涉及分布式网络中的数据收集。
相关技术的简要描述
在现有技术中,分布式计算机网络是众所周知的。一种这样的分布式计算机系统是由服务提供商操作和管理的“内容分发网络(content deliverynetwork)”或“CDN”。服务提供商通常为了第三方提供服务。这种类型的“分布式的系统”通常指的是由网络或多个网络链接的自治计算机的集合,连同软件、系统、协议和技术,其设计成利于多种服务,例如内容分发或外包站点基础设施(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能力的设备。当用户代理在站点间浏览时,生成了系统用来关联用户代理的CDN专用的唯一标识符(主ID)。优选地,唯一标识符作为加密的cookie存储。主ID总是代表一个用户代理(并且,因而代表有cookie能力设备的存储器),但这不意味着它是一个“用户”,并且不保证用户代理与人类用户相关。系统在由CDN服务的客户站点上并在这些站点之间追踪用户代理行为(behavior),并且这些行为被分类为可识别的“片段(segment)”。“行为”是(由其主ID标识的)用户代理在站点上进行的事件。通常,行为与用户代理进行的请求相关联。“片段”是对用户代理行为的计算出的分类,通常由合并了一个或更多行为的算法生成。片段是使用一种或更多方法的一个或更多行为的集合。“用户概要文件”是一个或更多片段的集合。
第一种使用情况是“发行者(publisher)”服务。在此实例中,(使用CDN)操作一组域或所有物(property)的给定CDN客户可使用本系统获得关于在所述一组域上操作的用户代理的信息。然后,这样的信息可由客户(或其他)用于其它目的(例如,广告服务、动态内容生成、或等等)。
第二种使用情况是“机器人缓解(bot mitigation)”服务。在此实例中,操作交易站点(例如,终端用户购买诸如比赛门票、旅店房间、飞机座位等等有限商品条目所位于的网站)的给定CDN客户可使用本系统来获得关于访问该站点的用户代理的信息,特别是关于特定用户是否很可能是自动化实体(例如,软件机器人或“机器人(bot)”)的信息。所述站点可使用此信息来向很可能有效的那些用户代理(即,人类)提供最佳水平的服务。此操作便于缓解机器人欺诈和其它站点欺诈。
第三种使用情况是“合作者”服务。在此实例中,CDN服务提供商使用数据系统以为了使用CDN的两个或更多实体提供联合服务。作为例子,客户A是产品制造者,客户B是提供关于新的和已使用的产品的信息服务的网站。客户A和B具有(或可受益于)商业关系,在此关系下它们共享关于访问其各自网站的终端用户的信息。在此实例中,如果客户A和客户B两者都使用CDN来传送他们的站点,一个客户或两个客户都可使用这里的数据系统以利于和扩展这样的数据共享,因为CDN可使用本数据系统来收集访问两个站点的用户代理的行为信息。
另一种使用情况是“目标化”服务。在此实例中,例如通过产生用户代理的用户概要文件并将所述概要文件提供给广告服务引擎,CDN服务提供商使用本数据系统以利于广告的目标化。
以上所述已经概括了本发明的更多有关特征中的一些特征。这些特征应仅仅被解释为说明性的。通过以不同方式应用所公开的发明,或通过修改本发明,可获得许多其它有益的结果,正如将要描述的。
附图说明
为了更全面的理解本发明及其优点,现结合附图,参考如下描述,其中:
图1是代表性的内容分发网络,其中可实现这里的主题;
图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用于此目的。
·主动方法可如下工作:
1.当请求内容域中的对象时,检查用户是否呈现域ID cookie。如果是,则此用户已经被识别,因此不采取进一步的行动。如果不是,将用户重定向到主域以获取主ID。
2.如果用户未呈现主ID cookie,则生成新的唯一ID并将主ID cookie设置在主域中。如果用户呈现了主ID cookie,则将ID解密,确认其有效,且如果其有效,重新对其加密成在内容域中设置为域ID cookie。
3.以特定URL将用户重定向回内容域,以便主ID现在可被设置为该域的名字空间内的域ID cookie。
例如:
1.假定,用户从未使用该服务访问过任何站点。用户打开他或她的网络浏览器到www.xyz.com。当请求http://www.xyz.corm/foo.GIF时,浏览器未呈现在www.xyz.com名字空间中的域ID cookie,因而浏览器被重定向到例如www.abmr.net/setID?www.xyz.corm/foo.GIF。
2.用户未呈现主ID cookie。主cookie(例如26)被设置为www.abmr.net名字空间中的cookie。
3.浏览器随即被定向回www.xyz.com/foo.GIF?Master ID=26,这提供了foo.GIF,并在www.xyz.com名字空间中设置了域ID cookie。
为了追踪和计费的目的,优选地用由边缘服务器所写的每个日志行(log line),CDN将域ID cookie和/或主ID cookie记入日志。边缘服务器日志接着被用户相关模块处理,正如下面所描述的。
·被动方法如下工作:
1.如果各域用户ID cookie(Per-Domain User ID Cookies)是以对象提供的,则使边缘服务器进行记录(在日志行中)。
2.如果跨域用户cookie是以对象提供的,则使边缘服务器进行记录(在日志行中)。
注意,从其它cookie分离用户cookie可要求一些离线处理,以理解什么名字/值对(name/value pair)相应于特定域的“用户名字=ID”。CDN服务提供商可实时地分离出用户cookie,或它可选择将所有cookie记录在日志中,然后在某个离线处理中分离出这些cookie。而且,如果使用模式表明跨域用户cookie被作为各域用户ID cookie提供给相同的用户,则CDN服务提供商可在相应于各域用户ID cookie的日志行中记录跨域用户cookie,反之亦然。
在这一点,对于每个各域用户ID cookie,存在(a)一组记录的行动和(b)当服务于特定域中的对象时所看到的一组相关联的跨域用户IDcookie。
为了对用户在整个CDN上的行动产生一个完整图景,服务提供商可接着进行下列操作:
i.产生两组列表:Domain_Cookies(DC)和Cross_Domain_Cookies(CDC)。最初,利用所见的任意各域用户ID cookie产生(seed)DC列表。
ii.对于DC列表中的所有cookie,将所有相关联的跨域用户ID cookie添加到CDC列表。
iii.对于CDC列表中的所有cookie,将所有相关联的各域用户IDcookie添加到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头部来辨认。
在一种变化形式中,主ID编码为日期。这里,假定用户第一次请求test.com的对象,并被定向到CDN边缘服务器。边缘服务器产生新的主ID,例如305。边缘服务器接着将主ID编码为日期,例如将主ID说明为从给定时间的起点开始过去的秒数。因而,对于UNIX纪元(epoch),编码的日期将是1970年1月1日00:05:05。当边缘服务器给对象提供服务时,随即在HTTP 200 OK响应的日期字段中规定了编码的主ID。当浏览器下一次访问该站点(并请求相同的对象)时,其由在HTTP GET或HEAD请求中规定的上一次修改的头部来辨认。在此请求中规定的日期随即被解码,以获得主ID。
在另一种变化形式中,主ID被编码在Content-MD5头部中,其在HTTP1.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内容域上使用主动和/或被动技术。然而,优选地,主动和被动技术都不在某些站点上使用,这由提供商或CDN客户决定,或由提供商和CDN客户决定。
数据修正和转换
数据分析模块308将相应于用户与CDN的相互作用的一系列数据单元作为输入。每个单元可包括例如:
°用户机器的互联网协议(IP)地址
°用户的域ID/主ID
°请求的URL(包括查询串和POST值)
°所请求的对象的参照URL(refering URL)(如果有的话)
°请求的时间
°与请求相关联的所有cookie,包括但不限于:
·由内容提供商设置的cookie
·各域用户ID cookie
·跨域用户ID cookie
°与请求相关联的返回给用户的所有数据
优选的,一起提供这些单元,使得系统能够看到随着时间的过去用户做了什么。
作为第一处理步骤,优选的,数据被传递通过数据移除模块306。此模块将移去:
·任何个人可识别的信息(PII):
°用户名称
°地址和电话号码
°信用卡信息
°社会保险号码
°其它
此模块随即建立和/或扩充与主ID相关联的概要文件。作为过滤PII的替换,系统可以仅提取出非PII信息。
CDN集群和边缘服务器实现方式
图4说明了上述主题的实现方式。系统包括两个主要操作部分:数据集群400和边缘服务402。仅显示了一个边缘服务实例;当然,此服务在CDN边缘服务器的全部或一些重要部分上运行。(正如这里所使用的,“边缘”服务器不意味着包括任何特定CDN配置或体系结构)。边缘服务用于捕获在线行为数据,其随后被提供给数据集群400并由数据集群400处理。通常,集群是机器的集合,所述机器整理(digest)边缘服务器机器访问日志数据。它接受访问日志数据作为输入,并产生叫做“身份”和“片段”数据作为输出,正如将要描述的。集群还提供一个点,在此点上,内容分发网络服务提供商、其用户及其合作者可探究系统的数据语料库,产生(例如,手动地,或以自动的方式)报告,并形成新的和/或精细的片段定义。正如下面将更详细描述的,为了利于高性能,集群优选地被组织到3个主要的级(stage)中:数据获取、数据处理和存储以及数据检索。数据获取级在日志处理器/下载收到标记处理器(LogProcessor/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域,它在查询串中包括加密的串,加密的串包括最初请求的文档或对象的指纹(fingerprint)、用户在客户域中的标识符(如果有)以及客户域的名称。这个末尾字段,即客户域,可不同于所有物的名称,例如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的值,具有“从不失效(Never Expire)”的截止期。ISS还生成重定向位置,其优选地与最初用户请求一致,只是它包括特定查询串参数(argument),其值与ISS刚设置的AKID值相同。一旦用户跟随此第二重定向,边缘服务器管理者进程执行为身份操作设计的客户元数据的最终模式。此元数据路径从查询串提取AKID值,并以此值设置特定用户AKIDcookie。这通过给请求的对象提供服务终止了此扩展的用户请求流程。
片段操作
为了实现片段操作,对于客户需要片段信息的源的请求必须首先被确定。例如,对于“机器人缓解”,令人感兴趣的请求可以是对在检验点击流(click-stream)中的第一安全页面的那些请求。对于感兴趣于使用行为数据用于其它目的(例如以广告为目标)的客户,所有请求可要求片段信息。实现片段操作所要求的另一条信息仅是客户和CDN服务提供商必须对用作消息整理签名(message digest signature)的共享密钥的编码的串取得一致,消息整理签名与发送到源服务器的所有片段共存。在图6中示出此请求流程。
根据任何合适的请求,片段元数据首先检查客户请求中是否存在AKID cookie。如果值未出现,或者它不匹配一些基本有效性测试,则边缘服务器管理者进程通过给所请求的对象提供服务来完成请求。然而,如果出现的值看上去是有效的,则元数据从请求中提取多条信息,例如,源主机:用于此请求的客户源服务器的主机名称,请求主机:最初的请求的主机名称/所有物,请求对象:最初的请求的路径/文件名称,查询串:最初的请求的查询串,AKID:最初的请求中出现的AKID的值,以及客户域:最初的请求的客户域的名称。边缘服务器管理者进程随即将转发请求发送到abmr.net域,且以上信息包含在该请求中的HTTP头部中。边缘服务器管理者进程保持这些HTTP头部,用于其对此特定终端用户请求所进行的每个转发请求。用于此请求的高速缓存键(cache key)优选地包括客户域和AKID的值。
对abmr.net的此“片段取出”请求可导致高速缓存命中(cache hit)。在高速缓存缺失(cache miss)的情况下,边缘服务器管理者进程将转发请求发送到ISS机器。ISS将检索AKID的值并转向,且从集中的数据集群中取出对此AKID的片段信息。ISS随即对响应进行语法分析,以仅提供为给定客户域配置的那些片段。最后,ISS签署所述片段响应(例如“segment_1=value segment_2=value”形式的编码的URL的串)。ISS为管理者进程(在abmr.net域中)产生的响应通常是空的实体,具有HTTP头部,其包括签署了的并配置了的片段串,(即:
“segment_1%3Dvalue%20segment_2%3Dvalue%20,<signature>”),和HTTP响应代码(例如,200OK)。一旦边缘服务器管理者进程接收到此响应(或直接来自对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_1%3Dvalue%20,<signature>
片段操作通过边缘服务器管理者进程将来自源服务器的响应提供给终端用户来结束。
数据集群
如上所述,集群优选地组织为以下级:数据获取、数据处理和存储以及数据检索。优选地,每个级是并行的,并可按负载要求调整规模。现描述每个级。
数据获取
集群获取数据有几种可能方法。(由边缘服务器提供给CDN日志分发服务(LDS)424)访问日志是集群的主要数据源。如上所述,访问日志在叫做日志处理器(LP)414的机器上处理。日志分发服务(LDS)通过任何方便的机制如FTP、电子邮件等将日志传送到LP。在LP机器中操作的第一进程(i-fipd)接受这些日志文件,且当LDS完成其FTP PUT操作时,第一进程将完成的文件移动到一目录中,其中在LP机器中操作的第二进程(i-lp)可找到它。当第二进程发现准备好被处理的文件时,第二进程打开此文件,如果需要则将其解压缩,并继续对其进行语法分析。对于它进行语法分析的每个日志行,第二进程优选地识别下列字段:所请求的URL、参照页(referer)、请求时间、源IP地址以及AKID和CPID cookie的值,如果它们在请求中被说明的话。第二进程随后将这些字段映射到一个或更多“行为”。优选地,这用行为映射图(behavior map)来完成,行为映射图是一种配置,对于每种内容提供商代码,其指定了(URL,referer)正则表达式对(regular expression pair)与一个或更多行为的映射。对于每个识别了的行为,优选地,第二进程向数据库节点(DN)发出行为操作,以记录事件的发生。如果指定了CPID cookie,则LP另外地发出身份操作。这些操作在下面将更详细地描述。行为操作指定了事件的行为名称(它的“behavior_id”)、时间、AKID以及源IP地址。身份操作指定了AKID、CPID和CPDOMAIN。优选地,第二进程具有内部高速缓存,通过此高速缓存,它优选地将这些操作整合在LRU管理数据结构中。在此模型中,对于给定的AKID/行为对的多个操作/事件可以被整合为单个操作,且按照给定的高速缓存逐出策略(eviction policy)向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%的站点A用户代理也访问站点B,但仅3%的站点B用户代理访问站点A。作为另一个例子,系统可用于提供关于特定的用户所负责的请求的数量的信息(例如,3%的用户负责对站点的所有请求的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表示很可能是女性),并且/或可以是可能具有置信记分的通类标签(兴趣=Olympics,置信=75%)。这些中的每一个都可以是“片段”。
这样,优选地,概要文件由给定的本体(ontology)定义;它可以符合给定的数据模式(data schema)。可能的属性的代表性列表如下:
·一般兴趣:(例如,遍及多等级层级的相对的兴趣值)
°体育活动—棒球、橄榄球、NASCAR、英式足球、冰球、篮球;相关的职业/大学体育活动;运动队
°新闻—国际、国内、地区
°财经
°娱乐—电影、特定人群
·当前购物兴趣:
°汽车
°家居产品
°旅行
·人口学统计信息
°年龄
°性别
°收入水平
°家庭位置(例如,邮政编码间隔尺度(ZIP code granularity))
·互联网行为
°每天在线的时间量
°已进行的网购程度
在图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服务提供商也可以为了之前已经描述的一个或更多实体(例如,内容提供商、广告服务实体等等)提供联合服务。
已经描述了本发明,我们现在要求如下权利。
Claims (14)
1.一种在基于互联网的内容分发网络(CDN)中的方法,在所述内容分发网络中,参与的内容提供商CDN客户分流给定的内容以从由内容分发网络服务提供商管理的内容服务器分发,所述方法包括:
在由所述内容分发网络服务提供商管理的多个内容提供商域上追踪客户机用户代理;以及
使用由所述追踪产生的信息来给参与的内容提供商提供服务。
2.如权利要求1所述的方法,其中所述服务提供所述客户机用户代理的概要文件给所述参与的内容提供商。
3.如权利要求1所述的方法,其中,所述服务提供数据给所述参与的内容提供商,所述数据是所述内容分发网络服务提供商对所述客户机用户代理与人类用户相关联的置信的函数。
4.如权利要求3所述的方法,其中,所述数据由一组因素影响。
5.如权利要求4所述的方法,其中,所述一组因素包括下列项之一:由所述客户机用户代理访问的CDN域的多样性、关于与给定的内容提供商域相关联的一个或更多页面的购买页面与目录页面比率、自上次浏览会话已经过去的时间量、在当前浏览会话期间所述客户机用户代理已经在线的时间量和在给定时间段内与所述客户机用户代理相关联的IP地址的数量。
6.如权利要求3所述的方法,其进一步包括以下步骤:
确定所述客户机用户代理是表示人类用户还是表示自动化的代理;以及
如果所述客户机用户代理被确定为是自动化的代理,则采取缓解行动。
7.如权利要求1所述的方法,其中,所述服务向所述参与的内容提供商提供关于在第二参与的内容提供商的内容提供商域上追踪所述客户机用户代理的信息,其中,所述第二参与的内容提供商与所述参与的内容提供商具有商业关系。
8.如权利要求1所述的方法,其中,所述服务向所述参与的内容提供商提供信息,以利于广告分发。
9.如权利要求1所述的方法,其中,所述服务向所述参与的内容提供商提供信息,用于对商品竞价算法的输入。
10.如权利要求1所述的方法,其中,提供所述服务给所述参与的内容提供商,以收取费用。
11.一种在基于互联网的内容分发网络(CDN)中的系统,在所述内容分发网络中,参与的内容提供商CDN客户分流给定的内容,以从由内容分发网络服务提供商管理的CDN内容服务器分发,其中,CDN内容服务器负责提供来自多个内容提供商域的内容,所述内容提供商域由所述内容分发网络服务提供商管理,所述系统包括:
追踪机构,其与内容服务器相关联,用于从所述内容服务器在多个内容提供商域上追踪客户机用户代理,所述多个内容提供商域由所述内容分发网络服务提供商管理;
数据收集和处理机构,用于接收和处理由内容服务器追踪机构产生的客户机用户代理追踪数据;以及
数据检索机构,其耦合到所述数据收集和处理机构,用于提供信息给第一参与的内容提供商。
12.如权利要求11所述的系统,其中所述数据检索机构提供所述客户机用户代理的概要文件。
13.如权利要求11所述的系统,其中所述数据检索机构提供记分,所述记分是所述内容分发网络服务提供商对所述客户机用户代理与人类用户相关联的置信的函数。
14.如权利要求11所述的系统,其中所述数据检索机构在第二参与的内容提供商的内容提供商域上追踪所述客户机用户代理,其中,所述第二参与的内容提供商与所述第一参与的内容提供商具有商业关系。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83861006P | 2006-08-18 | 2006-08-18 | |
US60/838,735 | 2006-08-18 | ||
US60/838,610 | 2006-08-18 | ||
US11/840,839 | 2007-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101523379A true CN101523379A (zh) | 2009-09-02 |
Family
ID=41082475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800383651A Pending CN101523379A (zh) | 2006-08-18 | 2007-08-18 | 分布式网络中的数据收集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101523379A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118401A (zh) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | 媒体播放方法和系统、内容传输网络设备和广告服务器 |
CN102694802A (zh) * | 2012-05-22 | 2012-09-26 | 中国联合网络通信集团有限公司 | 网络访问信息记录方法和装置 |
CN103051637A (zh) * | 2012-12-31 | 2013-04-17 | 北京亿赞普网络技术有限公司 | 用户识别方法与装置 |
CN104662865A (zh) * | 2012-08-24 | 2015-05-27 | 阿卡麦科技公司 | 混合型http和udp内容分发 |
CN105981009A (zh) * | 2014-02-14 | 2016-09-28 | 瑞典爱立信有限公司 | 加密内容的缓存 |
CN106156363A (zh) * | 2011-03-18 | 2016-11-23 | 尼尔森(美国)有限公司 | 确定媒体印象的方法和装置 |
CN106453123A (zh) * | 2016-09-30 | 2017-02-22 | 广州视睿电子科技有限公司 | 一种跨地区业务处理的方法和装置 |
CN106973037A (zh) * | 2017-02-16 | 2017-07-21 | 咪咕视讯科技有限公司 | 一种控制数据传输的方法及系统 |
US9871722B2 (en) | 2011-12-02 | 2018-01-16 | Huawei Technologies Co., Ltd. | Content delivery network routing method, system and user terminal |
CN104935569B (zh) * | 2015-04-21 | 2018-07-24 | 天脉聚源(北京)传媒科技有限公司 | 一种数据获取方法、服务器及系统 |
CN110442772A (zh) * | 2019-08-13 | 2019-11-12 | 深圳司南数据服务有限公司 | 一种智能研报生成方法及终端 |
CN110612545A (zh) * | 2017-05-09 | 2019-12-24 | 甲骨文国际公司 | 自学习自适应路由系统 |
CN110661634A (zh) * | 2018-06-29 | 2020-01-07 | 中兴通讯股份有限公司 | 用户信息的处理方法及装置 |
CN111131137A (zh) * | 2018-11-01 | 2020-05-08 | 财团法人资讯工业策进会 | 可疑封包检测装置及其可疑封包检测方法 |
CN111404761A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 内容成环检测处理方法、装置和计算机可读存储介质 |
CN111429984A (zh) * | 2020-06-11 | 2020-07-17 | 嘉兴太美医疗科技有限公司 | 临床试验数据采集的逻辑核查配置方法以及逻辑核查方法 |
CN112565291A (zh) * | 2017-03-01 | 2021-03-26 | 谷歌有限责任公司 | 从跨源资源提供自动播放媒体内容元素 |
-
2007
- 2007-08-18 CN CNA2007800383651A patent/CN101523379A/zh active Pending
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118401A (zh) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | 媒体播放方法和系统、内容传输网络设备和广告服务器 |
WO2011079712A1 (zh) * | 2009-12-31 | 2011-07-07 | 华为技术有限公司 | 媒体播放方法和系统、内容传输网络设备和广告服务器 |
CN106156363B (zh) * | 2011-03-18 | 2019-08-09 | 尼尔森(美国)有限公司 | 确定媒体印象的方法和装置 |
CN106156363A (zh) * | 2011-03-18 | 2016-11-23 | 尼尔森(美国)有限公司 | 确定媒体印象的方法和装置 |
US9871722B2 (en) | 2011-12-02 | 2018-01-16 | Huawei Technologies Co., Ltd. | Content delivery network routing method, system and user terminal |
CN102694802A (zh) * | 2012-05-22 | 2012-09-26 | 中国联合网络通信集团有限公司 | 网络访问信息记录方法和装置 |
CN102694802B (zh) * | 2012-05-22 | 2015-10-21 | 中国联合网络通信集团有限公司 | 网络访问信息记录方法和装置 |
CN104662865A (zh) * | 2012-08-24 | 2015-05-27 | 阿卡麦科技公司 | 混合型http和udp内容分发 |
CN104662865B (zh) * | 2012-08-24 | 2018-06-08 | 阿卡麦科技公司 | 混合型http和udp内容分发 |
CN103051637A (zh) * | 2012-12-31 | 2013-04-17 | 北京亿赞普网络技术有限公司 | 用户识别方法与装置 |
CN105981009B (zh) * | 2014-02-14 | 2019-12-03 | 瑞典爱立信有限公司 | 加密内容的缓存 |
CN105981009A (zh) * | 2014-02-14 | 2016-09-28 | 瑞典爱立信有限公司 | 加密内容的缓存 |
CN104935569B (zh) * | 2015-04-21 | 2018-07-24 | 天脉聚源(北京)传媒科技有限公司 | 一种数据获取方法、服务器及系统 |
CN106453123A (zh) * | 2016-09-30 | 2017-02-22 | 广州视睿电子科技有限公司 | 一种跨地区业务处理的方法和装置 |
CN106973037A (zh) * | 2017-02-16 | 2017-07-21 | 咪咕视讯科技有限公司 | 一种控制数据传输的方法及系统 |
CN106973037B (zh) * | 2017-02-16 | 2018-09-04 | 咪咕视讯科技有限公司 | 一种控制数据传输的方法及系统 |
CN112565291A (zh) * | 2017-03-01 | 2021-03-26 | 谷歌有限责任公司 | 从跨源资源提供自动播放媒体内容元素 |
CN112565291B (zh) * | 2017-03-01 | 2023-05-16 | 谷歌有限责任公司 | 从跨源资源提供自动播放媒体内容元素 |
CN110612545A (zh) * | 2017-05-09 | 2019-12-24 | 甲骨文国际公司 | 自学习自适应路由系统 |
CN110612545B (zh) * | 2017-05-09 | 2023-10-31 | 甲骨文国际公司 | 自学习自适应路由系统 |
CN110661634A (zh) * | 2018-06-29 | 2020-01-07 | 中兴通讯股份有限公司 | 用户信息的处理方法及装置 |
CN110661634B (zh) * | 2018-06-29 | 2021-01-26 | 中兴通讯股份有限公司 | 用户信息的处理方法及装置 |
CN111131137A (zh) * | 2018-11-01 | 2020-05-08 | 财团法人资讯工业策进会 | 可疑封包检测装置及其可疑封包检测方法 |
CN111404761A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 内容成环检测处理方法、装置和计算机可读存储介质 |
CN111404761B (zh) * | 2019-01-02 | 2022-03-25 | 中国移动通信有限公司研究院 | 内容成环检测处理方法、装置和计算机可读存储介质 |
CN110442772A (zh) * | 2019-08-13 | 2019-11-12 | 深圳司南数据服务有限公司 | 一种智能研报生成方法及终端 |
CN111429984A (zh) * | 2020-06-11 | 2020-07-17 | 嘉兴太美医疗科技有限公司 | 临床试验数据采集的逻辑核查配置方法以及逻辑核查方法 |
CN111429984B (zh) * | 2020-06-11 | 2020-09-11 | 嘉兴太美医疗科技有限公司 | 临床试验数据采集的逻辑核查配置方法以及逻辑核查方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101523379A (zh) | 分布式网络中的数据收集方法 | |
KR101588428B1 (ko) | 분산 네트워크에서의 데이터 수집 방법 | |
US8255489B2 (en) | Method of data collection among participating content providers in a distributed network | |
US8484283B2 (en) | Method and system for mitigating automated agents operating across a distributed network | |
US20080086524A1 (en) | Method and system for identifying valid users operating across a distributed network | |
US20190108531A1 (en) | Audience targeting with universal profile synchronization | |
US7827174B2 (en) | Dynamic document context mark-up technique implemented over a computer network | |
US7451099B2 (en) | Dynamic document context mark-up technique implemented over a computer network | |
Kazienko et al. | AdROSA—Adaptive personalization of web advertising | |
Guha et al. | Serving Ads from localhost for Performance, Privacy, and Profit. | |
US20090055267A1 (en) | Internet advertising brokerage apparatus, systems, and methods | |
US20050125289A1 (en) | Audience targeting system with segment management | |
CN110148034A (zh) | 一种网购系统架构优装置及方法 | |
US20050125290A1 (en) | Audience targeting system with profile synchronization | |
JP2010539601A (ja) | サービスプロバイダへの影響を抑制した状態で、ネットワーククライアントに対して的を絞ったコンテンツを特定して提供するためのアプローチ | |
CN101520782A (zh) | 与在线图片相关联的专题信息的定向发布方法与系统 | |
CN106447371A (zh) | 一种网页广告的推荐方法和装置 | |
EP1190355A2 (en) | System for providing enterprise revenue management for on-line advertising campaigns | |
KR100557023B1 (ko) | 웹사이트의 페이지 일부 또는 특정 프레임 임대 서비스방법 및 시스템 | |
KR20000058869A (ko) | 인터넷을 이용한 정보의 수요공급 매개시스템 | |
WO2009103820A1 (en) | Systems and methods for acquiring, collecting and processing data relating to remotely or locally accessed electronic documents or applications | |
KR20040077604A (ko) | 웹사이트의 페이지 일부 또는 특정 프레임 임대 서비스시스템 | |
Li et al. | Adaptive web presence and evolution through web log analysis | |
FRHAN | A Model of Website Usage Visualization Estimated on Clickstream Data with Apache Flume Using Improved Markov Chain Approximation | |
KR20000058867A (ko) | 인터넷을 이용한 정보의 수요공급 매개시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090902 |