用于处理环的实时消息队列的制作方法

文档序号:7914683阅读:119来源:国知局
专利名称:用于处理环的实时消息队列的制作方法
技术领域
本公开总体上涉及处理网络,并且但并非限制地涉及来自内容传递网络(⑶N)的数据流传输。
背景技术
CDN提供了用于其他方面的内容的增强的传递。每一个CDN从内容提供者获取内容,并且有效地向请求内容的终端使用者提供内容。服务质量(QoS)可以当使用CDN时改变。在一些情况下,由终端使用者使用的存在点(POP)可能不是接收内容的最有利的位置。例如,在凤凰城的使用者可以使用在一些情况下可能提供弱于最佳QoS的在纽约的POP。内容的传递被较宽的因特网如何实时地或近乎实时地作为大大地影响。存在向因特网提供被收集并且周期地使得可获得的健康信息的服务。这可以在某种程度上有益,但是未提供用于CDN或因特网的其他大型使用者提供高QoS水平所需的许多决定的足够近来的信息。通过不频繁的更新提供的一般趋势未提供用于进行CDN的一些传递决定的及时信肩、O

发明内容
在一个实施例中,本公开描述了用于从耦合到多个处理用户的消息队列的多个数据代理收集分布式信息的系统和方法。所述数据代理向由API限定的接口提供它们的收集的信息。在向所述消息队列加上所述收集的信息之前,所述收集的数据可以被重新格式化或进一步处理。多个处理用户收听由所述消息队列产生的内容流,以接收它们已经预订的数据。一旦所述处理用户接收到所述内容流,则所述处理用户向所述内容流应用算法,以执行一个或多个其他功能。例如,所述处理用户可以向所述消息队列内反馈处理的数据,并且/或者至少部分地基于所述内容流来执行行为。在各种程度的处理和聚集中的信息可以在处理环中通过任何数量的循环传送,以允许信息的交换中心实时或近乎实时地流动。在另一个实施例中,本公开描述了一种内容传递网络(CDN),用于信息的及时交换以用于该信息的分布式处理。所述⑶N包括第一和第二接口、消息队列与第三和第四接口。所述第一接口耦合到第一数据代理,所述第一数据代理向所述第一接口提供第一数据。所述第二接口耦合到第二数据代理,所述第二数据代理向所述第二接口提供第二数据。在所述CDN内的所述消息队列产生根据所述第一数据和所述第二数据的流。所述消息队列耦合到所述第一接口和所述第二接口。所述第三接口耦合到所述消息队列和接收所述流的第一处理用户。在所述第一数据和/或所述第二数据被所述第一数据代理和/或第二数据代理收集后,所述第一处理用户在不到10秒内在所述流中接收所述第一数据和/或所述第二数据。所述第四接口耦合到所述消息队列和接收所述流的第二处理用户。在所述第一数据和/或所述第二数据被所述第一数据代理和/或第二数据代理收集后,所述第一处理用户在不到10秒内在所述流中接收所述第一数据和/或所述第二数据。在另一个实施例中,本公开描述了一种用于使用CDN来聚集信息以便以分布式的方式及时地交换所述信息的方法。从耦合到第一数据代理的第一接口接收第一数据。从耦合到第二数据代理的第二接口接收第二数据。处理所述第一数据和第二数据。使用所述CDN的消息队列来将形成根据所述第一数据和所述第二数据的流。所述消息队列耦合到所述第一接口和所述第二接口。所述流被发送到第三接口,所述第三接口耦合到第一处理用户以接收所述流。在所述第一数据和/或所述第二数据被所述第一数据代理和/或第二数据代理收集后,所述第一处理用户在不到10秒内在所述流中接收所述第一数据和/或所述第二数据。 在另一个实施例中,本公开描述了一种用于使用POP的分布式网络来聚集信息以便以分布式的方式及时地交换所述信息的方法。从第一 POP的第一接口接收第一数据,其中,所述第一接口耦合到第一数据代理。从第二POP的第二接口接收第二数据。所述第二接口耦合到第二数据代理。所述POP的分布式网络包括所述第一 POP和所述第二 POP。所述第一 POP在地理上远离所述第二 POP。处理所述第一数据和第二数据。使用所述⑶N的消息队列来形成根据所述第一数据和所述第二数据的流。所述消息队列耦合到所述第一接口和所述第二接口。所述流被发送到第三接口,所述第三接口耦合到处理用户以接收所述流。通过以下提供的详细描述,本公开的另外的适用领域将变得清楚。应当明白,详细说明和具体示例在指示不同的实施例的同时意欲仅用于说明的目的,而不意欲必然地限制本公开的范围。


结合附图描述本公开;图I描述了内容分发系统的实施例的框图;图2描述了数据处理系统的实施例的框图;图3描述了演示数据流的实施例的图;图4描述了处理环的实施例的框图;图5描述了详细描述内容传递网络(CDN)的部分的实施例的框图;图6图示用于数据处理系统的操作的处理的实施例的流程图;图7图示配置内部处理用户的处理的实施例的流程图;图8图示用于设置数据代理并且使用该数据代理来向消息队列报告信息的处理的实施例的流程图;以及图9A和9B图不用于改善任播路由的处理的实施例的流程图。
在附图中,类似部件和/或特征可以具有相同的附图标记。而且,可以通过在附图标记后跟随划线和在类似的部件之间区分的第二标记来区分相同类型的各个部件。如果仅在说明书中使用第一附图标记,则该描述适用于具有同一第一附图标记的类似部件的任何一种,而与第二附图标记无关。
具体实施例方式接下来的说明仅提供了优选示例性实施例,并且不意欲限制本公开的范围、适用性或配置。而是,接下来的优选示例性实施例的说明向本领域内的技术人员提供了用于使得能够实现优选示例性实施例的说明。可以明白,在不偏离在所附权利要求中给出的精神和范围的情况下,可以在元件的功能和布置上进行各种改变。首先参见图1,示出内容分发系统100的实施例的框图。在这个实施例中,内容始发者106向内容传递网络(⑶N) 110卸下内容对象的传递。内容始发者106产生和/或分 发内容对象,并且包括内容提供者108、内容站点116和源服务器112。⑶N 110可以在各个实施例中高速缓存、重新分发和/或容纳第三方的内容,以卸下传递,并且通常提供较好的服务质量(QoS)。在这个实施例中,内容分发系统100定位内容对象(或其多个部分),并且向终端使用者102或处理用户(未示出)分发内容对象。内容对象在CDN 110内动态地被高速缓存或处理,以改善QoS,而不复制整个内容对象,除非随后被终端使用者128请求。内容对象是任何内容文件或内容流,并且可以例如包括视频、图片、数据、音频、软件和/或文本。例如,内容对象可以是收集的信息或来自消息队列的内容流。内容对象可以是现场的、延迟的或存储的。内容对象可以是收集的信息,该收集的信息实时或近乎实时地被流传送CDN 110至或自CDN 110流传送。贯穿本说明书,可以参考内容对象、内容、内容流和/或内容文件,但是应当明白,那些术语每当它们可以出现时可以可交换地被使用。许多内容提供者108使用⑶N 110通过因特网104向终端使用者128传递内容对象。⑶N 110包括多个存在点(P0P)120,该多个POP 120在地理上遍布内容分发系统100,以传递内容。各个实施例可以在⑶N 110内具有任何数量的POP 120,该任何数量的POP 120通常分布在因特网104周围接近终端使用者系统102的各个位置。多个POP 120使用同一IP地址,使得任播路由方案用于对于每一个请求找到在网络含义上可能接近终端使用者的POP 120。除了因特网104之外,广域网(WAN)114或其他主干网可以将POP 120彼此耦合,并且也将POP 120与⑶N 110的其他部分耦合。当终端使用者128通过其各自的终端使用者系统102请求网页时,将对于网页的请求经由因特网104直接地或间接地传送到内容始发者106。内容始发者106是内容对象的来源或再分发者。内容站点116是终端使用者系统102可访问的网站。在一个实施例中,内容站点116可以是其中使用万维网浏览器能够观看内容的网站。在其他实施例中,可以使用应用软件而不是万维网浏览器来访问内容站点116。在这个实施例中,内容提供者108将内容请求在其作出后引导到CDN 110,或者通过将传递路径嵌入网页的URL内来形成传递路径。在任何情况下,在这个实施例中,通过使用与两个或更多POP 120对应的任播IP地址来向⑶N 110传递对于内容的请求。—旦对于内容对象的请求被传送到⑶N 110,则该请求与在使用任播路由方案的⑶N 110内的特定POP 120相关联。特定POP 120可以检索内容对象的来自内容提供者108的部分。替代地,内容提供者108可以通过预先填充,即在第一请求之前,直接地向⑶N 110和其相关联的POP 120提供内容对象。在这个实施例中,内容对象被提供到⑶N 110,并且被存储在一个或多个CDN服务器中,使得可以从CDN 110供应所请求的内容的部分。CDN服务器包括实际处理终端使用者请求的边缘服务器。源服务器112保存内容始发者106的每一个内容对象的拷贝。周期地,源服务器112的内容可以通过高速缓存、容纳和/或预先填充算法与⑶N 110—致。一些内容提供者可以使用在⑶N 110内的源服务器来容纳内容,并且避免维持拷贝的必要。一旦⑶N 110从源服务器112检索到内容对象,则将内容对象存储在特定的POP120内,并且从那个POP 120向终端使用者系统102供应该内容对象。流内容对象可以具有实时或近乎实时的信息或可以被预先存储。终端使用者系统102接收内容对象,并且处理它以由终端使用者128或自动化处理系统使用。终端使用者系统102可以是个人计算机、媒体播放机、手持计算机、因特网设备、电话、IPTV机顶盒、万维网服务器、处理系统、流无线电或接收和/或播放内容对象的任何其他装置。在一些实施例中,多个终端使用者系统102 可以联网在一起。虽然这个实施例仅示出单个内容始发者106和单个CDN 110,但是应当明白,在各个实施例中可以有每种的许多个。这个⑶N 110允许有效地收集实时信息以在⑶N 110之内或⑶NllO之外分发。外部数据代理可以向在不同城市中的不同POP 120提供信息,该信息被⑶N 110通过从近处的POP 120接收内容流而聚集为来自消息队列226的内容流,以在另一个位置中处理。当在实施例中在POP 120之间分发内容时,WAN 114可以有效和安全得多。另外,处理用户可以获得在内容流中可获得类似信息的益处,以提供信息的较宽采样,以将处理决定基于它。参见图2,示出数据处理系统200的实施例,数据处理系统200使用⑶N 110基础架构来实时地或近乎实时地高效共享信息。在这个实施例中,数据处理系统200与外部数据收集和处理一起执行流内容的内部数据收集和处理。其他实施例可以具有或者全部外部或者全部内部数据收集。数据处理系统200允许及时向报告方或其他方报告可能感兴趣的及时信息。数据处理系统200可以监控从几个来源收集的信息,以允许它基于那个信息及时地作出商务和/或处理决定。例如,可以从多个来源收集和向数据处理系统200报告关于在因特网上的各个链路的健康的报告,以允许数据处理系统200将传递请求路由到相对没有因特网拥塞的边缘服务器。在一个实施例中,通过从许多来源收集信息,所收集的信息的可靠性在聚集中增加,使得用户可以使用聚集的信息或内容流来进行较好的决定。⑶N 110用于多个目的,包括如上所述的收集的信息的聚集和分发。另外,在这个实施例中,CDN 110执行收集的信息的处理以用于内部目的或作为用于其他方面的服务。虽然在图2中未详细描述,但是CDN 110可以执行更多的传统任务,例如,通过高速缓存来自源服务器的内容或作为源服务器容纳内容来对于其他方面分发内容。在图2中所示的CDN 110中未详细描述与分发内容相关联的那些块。CDN的其他实施例可以不执行传统的内容传递,而是将CDN聚焦在作为在处理和聚集的各个阶段中用于收集的信息的交换中心执行。内部地,⑶N 110从一个或多个内部数据代理208B收集信息。内部数据代理208B收集与诸如传递性能、资源装载、带宽消耗、客户服务、商业智能等的事务相关的信息。图2为了简单而示出单个内部和外部数据代理208,但是应当明白,可以有任何数量的内部和外部数据代理208。内部数据代理208B可以实时地、近乎实时地或沿着另一条时间线报告收集的信息。为了说明在报告信息中的任何延迟,时间戳或陈旧指示符可以向其他方面通知信息多及时地被采样。⑶N 110可以选择允许第三方通过用于第三方的外部处理用户212A的预订来使用在CDN 110内聚集的内部或外部收集的信息。命令和控制(CC)接口 238配置收集的输入信息到⑶N 110和从⑶NI 10输出内容流。用于接受收集的信息并且提供内容流的API被提供到在CDN 110外部的、要预订内容流的第三方。⑶N 110或第三方可以被设计为使用CC接口 238的还未定义的API。⑶N 110也可以定义使用CC接口 238的授权和认证参数,诸如认证、授权、登录和/或数据加密。在这个实施例中,CC信息通过与收集的信息或内容流分离的信道被传送到各个数据代理208和处理用户212,但是其他实施例可以将CC信息嵌入在这些通信信道中。CC信息允许调节信息报告频率、指定信息和内容流的格式、停止数据代理208或处理用户212、更新认证和授权等。可以通过CC接口 238来研究和探索可获得的各种内容流。特定处理用户212的 那些内容流选择被存储在队列预订信息222中。CDN 110然后将所选择的内容流路由到已经选择了给定内容流的传递的处理用户212。另外,⑶N 110也支持由档案数据代理208C收集的、在历史数据存储区234中存储的各种内容流的历史查询。档案数据代理208C支持相对于历史消息队列信息运行假设查询,以测试在处理用户212处运行的算法如何对于例如在过去收集的内容流作出反应。通过CC接口 238,可以选择各种内容流来归档到历史数据存储区234内。外部数据代理208A也可以实时地、近乎实时地或沿着另一条时间线来收集向⑶N110报告的信息。在数据代理208和⑶N 110之间存在定义的API。由⑶N 110收集的每种类型的信息或变量落在定义的API或多个API内。在一些情况下,CC接口 238用于定义另外的变量以修改可能为处理用户212使用的API。另外的变量可以被传送到所有的处理用户212或仅子集。例如,数据代理208可以报告获得的最后一英里带宽和与测试相关联的用户标识符,但是将用户标识符定义为私有变量,该私有变量将不被传送到在其域之外的处理用户212。在其域内的处理用户212将与由其本身的数据代理208报告的带宽报告一起接收用户标识符。内容流或子流的加密和/或唯一寻址可以用于将私有变量隐藏在消息队列内。一些类型的信息可以具有标准API。当表征和提供新的信息源时,开发者可以通过CC接口 238指定或提出新的API。报告传递健康信息的API的示例可以是接受源IP地址、目的地IP地址、流速率、延迟、可靠性和采样时间的API。在足够的数据代理208从⑶N110内或外部报告传递健康的情况下,可以将那个信息的聚集用于任何数量的目的。一些实施例对于通过外部处理用户212A接收内容流收费。计价可以是每一个记录、每一个字节或每一个预订。一些实施例相对于向外部处理用户212A的内容流的收费对于从外部数据代理208A提供的收集的信息抵消信贷。例如,在一个实施例中,每向CDN 110提供的每一个收集的信息的记录将导致来自内容流的一个免费数据记录。通常,在聚集的内容流中的数据对于报告信息的越多实体变为越可靠的采样。CDN 110可以通过经由CC接口 238可访问的成本核算信息来协商所提供的信息和所消耗的信息的计价。
外部数据代理208A通过接口或数据输入适配器230与⑶N 110进行通信。图2仅示出单个外部数据代理208A,但是应当明白,在不同的实施例中,可以存在几百、几千或几百万个外部数据代理208。与数据输入适配器230的通信可以被加密或不加密。例如,可以使用利用TCP连接的套接字。除了 TCP之外,可以在一些实施例中使用诸如SCTP和UDP的其他传输层协议来吸收收集的信息。诸如SSL的协议可以用于保护在TCP连接上的信息。可以对于与⑶N 110对接的任何外部数据代理208A执行认证和授权。数据输入适配器230通过提供API和任何加密、授权和/或认证来从外部数据代理208A接收信息。在一些情况下,数据输入适配器230重新格式化或重新布置来自外部数据代理208A的信息。虽然未示出,但是一些实施例可以使用数据输入适配器230来用于内部数据代理208B。⑶N 110具有多个POP 120,该多个POP 120在地理上分布使得大多数外部数据代理208A和处理用户212A与POP 120较为接近。使用任播、DNS解析、重新定向或其他方法将外部数据代理208A和外部处理用户212A分配到特定的POP 120,以使用具有足够的QoS的近处的POP 120。用于收集的信息或内容流的POP 120可以被选择来减少发送特定流的POP120的数量,限制POP 120的加载、在信息的收集或流传送中的速度延迟或满足其他要、求。处理环可以被固定到指定的Ρ0Ρ,以用于每一个数据代理208和处理用户212。消息队列226从数据代理208获取所有的信息,并且向已经从消息队列226请求内容流的任何处理用户212分发作为内容流的收集的信息。消息队列226可以在单个POP120中、中心位置或分布在多个POP 120之间。如果全部被接收,则仅仅特定处理用户212已经预订的在消息队列226内的内容流可以被那个处理用户212读取。被发送到消息队列226的收集的信息被消息队列226在一秒的一部分中处理和在内容流中返回。可以使用各种组播和路由技术来从消息队列226分发多个处理用户212已经请求的内容流。诸如组播或多个单播的协议可以用于在消息队列226内分发流。另外,可以在各个实施例中使用诸如TCP、SCTP和UDP的传输层协议。通过CC接口 238,可以向外部或内部处理用户212A、212B分配在消息队列226内的一个或多个内容流。内容流是在特定类别中的特定类型的消息。例如,6个数据代理208可以全部报告作为通过消息队列226向给定的内容流内传送的信息的内容传递度量。一个或多个处理用户212可以预订和接收内容流,以处理信息并且作出决定和/或供应作为被反馈回消息队列226内的收集的信息的来自处理的输出。通过CC接口 238,开发者可以搜索可获得的内容流或指定新的内容流和其API。可以通过使用处理用户212处理多个现有的内容流来确定新的内容流。⑶N 110具有内部处理用户212B,该内部处理用户212B处理所分配的内容流以执行在⑶N 110内的功能。内部处理用户212B可以基于来自消息队列226的一个或多个内容流来执行诸如提供新帐户或改善路由的功能。处理规则216-2被提供到内部处理用户212B,以提供限定如何处理预订的内容流的算法、规则、指令和/或软件。处理规则216-2可以确定来自内容流的记录的滤波和加权。在基于内容流的分析而作出决定的情况下,例如每一个数据记录被加上时间戳,以反映何时收集该信息,使得可以向最近的结果提供附加的可信性。其他实施例可以滤除来自不可靠来源或陈旧的内容流中的记录。例如,信息的特定贡献者可以证明具有次于最佳的收集的信息,并且该信息可以被很低地加权或一起去除。对于外部处理用户212A,可以通过数据输出适配器242来进行滤波,以减少从⑶N 110通过的带宽。内部处理用户212B可以另外处理一个或多个内容流,以提供不同信息以反馈到消息队列226来作为不同内容流的一部分。例如,成百的外部数据代理208可以提供在地理上相关的温度测量,该温度测量被置于在消息队列226上的内容流内。内部处理用户212B可以接收内容流,并且将其处理为地形热图,该地形热图被作为传送到消息队列226上的收集的信息被提供回以用于其他内部和外部处理用户212可能的使用。以链状排列的各种数据代理208和处理用户212形成处理环路。外部处理用户212A与内部处理用户212A类似地作为,但是是对于不是⑶N 110的一部分的第三方如此作为。外部处理用户212A通过数据输出适配器242来与⑶N 110对接。数据输出适配器242可以执行认证、授权、重新格式化、滤波、加密等。外部处理用户212A可以从消息队列226吸收内容流,但是它们也可以在一些情况下通过向消息队列226内返回处理的信息来作为外部数据代理。处理规则216-1定义了外部处理用户212A如何处理所预订的内容流。
如上所述,CC接口 238允许⑶N 110查询历史消息队列226信息。档案数据代理208C收听消息队列226,以在历史数据库234中存储内容流。历史数据库234可以将内容流存储不同的时间量,并且可以不存储所有的内容流。不同的内容流可以被存储不同的时间量。例如,冰箱的温度读取可以被置于消息队列226上,但是仅在超过对应于故障的某个阈值的情况下被存储。参考图3,示出用于演示数据流的图300的实施例。来自多个数据代理208 (未示出)的收集的信息304被发送到⑶N 110。如上所述,内部数据代理208B可以在⑶N 110内收集附加的收集的信息304。具有多个内容流308的⑶N 110产生消息队列226。在⑶N110之外和之内的处理用户212 (未示出)实时地或近乎实时地接收流308。接下来参见图4,示出处理环400的一个实施例的框图。处理环400的这个示例从η个数据代理208收集信息304。信息304的一些在达到处理环的尾部之前通过多达三轮处理。处理用户212-2、212-3、212-m、212-5的一些不向消息队列提供回它们的进一步处理的信息,以作为信息流的终点,这些处理用户在此有时被称为“收听用户”。虽然示出三个消息队列226,但是应当明白,这些可以是相同的消息队列或任何数量的不同的消息队列。在不同的实施例中,消息队列226可以全部位于⑶N 110内或部分地位于⑶N 110之外。当然,外部处理用户212A能够访问作为内容流308的消息队列226的部分。在一个示例中,数据代理208可以报告它查验(ping)给定地址所花费的时间。这个收集的信息304被实时(S卩,小于I秒)或近乎实时地(S卩,在收集后不到10秒)被报告,并且耦合到消息队列226。在大多数情况下,收集的信息304被加上时间戳,以指示原始信息的新鲜度。例如,执行测试的时间可以被存储在时间戳中。在这个示例中,每一个数据代理208向消息队列226报告其地址,要查验的给定地址、查验的时间和何时完成查验测试。各种数据代理208可以在⑶N 110的几个POP 120和耦合到⑶NI 10的第三方系统中,例如,容纳内容的源服务器可以报告从其位置查验的响应能力。在这个示例中,通过许多查验结果的聚集,可以实时地或近乎实时地监控因特网的健康。在这个示例中,存在收听正在报告查验结果的内容流308的两个处理用户212-1、212-2。第二处理用户212-2是不向消息队列226提供另外的信息而是获取流308并使用它来例如更新路由器的路由表的收听用户。例如,可以通过第二处理用户212-2来更新路由表,以实时地或近乎实时地指定哪些最可能是在因特网上的最有响应能力的路由。第一处理用户212从多个数据源获取具有查验结果的流308,并且通过按照自治系统(AS)号码分组结果来进一步处理它,并且向消息队列226内报告回收集和处理的信息304。通过AS号码分组的平均结果是需要很少的带宽来向其他方面报告并且避免处理用户212必须进一步沿着处理环400查看在内容流308中的每一个记录的收集的信息。存在收听由AS号码汇总的查验结果的内容流308的m个处理用户212。第四处理用户212-4通过增加用于AS号码的地理信息来进一步处理流308。这个处理将查验结果与用于AS号码的地理估计相关。那个收集的信息304被提供回消息队列226。第五消息队列212-5收听来自消息队列226的内容流308,以接收在地理上相关的查验结果。虽然这个处理环400具有三个处理级,但是其他实施例可以具有更多或更少。另外,数据代理208可以提供在处理中使用的任何数量的不同信息304。接下来参见图5,图5是详细描述⑶N 110的部分的框图的实施例。⑶N 110的 这个实施例示出两个POP 120,但是通常有在因特网104上分布的更多的POP 120,以增加P0P120(在网络意义上)接近终端使用者系统102、外部处理用户212A或外部数据代理208A的可能。每一个P0P120可以使用因特网104和WAN 114之间POP 120传送请求、内容对象、状态信息、收集的信息304、内容流308等。在这个实施例中,WAN 114使用私有的主干线来将POP 120耦合在一起,但是在其他实施例中,WAN114可以包括公共网络。每一个POP 120包括服务于来自终端使用者系统102的请求的多个边缘服务器530。通过任播路由方案,对于内容的请求找到有可能在网络意义上接近请求者的⑶N 110的POP 120。这经常是良好地适合于提供内容对象的POP 120,但是在一些情况下另一个POP因为某种原因而更好地适合。例如,因特网服务提供商(ISP)可以使用在地理上远离终端使用者系统102的位置的代理,这使得当使用任播解析来寻找近处POP 120时,对于内容的请求找到接近代理的POP 120,而不是接近终端使用者系统102的POP 120。边缘服务器530供应内容对象、接收生成的信息304并且中继内容流308。在这个实施例中,可以在边缘服务器530内实现数据输入适配器230和数据输出适配器242功能。通常以未滤波的形式从WAN 114可获得消息队列226。在这个实施例中,被预订的那些单独的内容流308被边缘服务器530提供到外部处理用户212A。在实用的情况下,预订给定的内容流308的处理用户212可以被分组到单个边缘服务器530。在这个实施例中,交换结构540接收对于内容对象的请求,并且分配通常位于原始接收该请求的POP 120中的边缘服务器530,但是不必然如此。交换结构540可以或者向在另一个POP 120中的边缘服务器530分配请求。在交换结构540内的表格指示用于特定IP地址、AS号码和/或IP地址范围的喜好POP 120。当没有指示的喜好的POP或原始接收该请求的喜好的POP时,假定任播正确地作为,并且接收请求的POP 120将该请求路由到边缘服务器530以完成。内部数据代理208B监控进入的对于内容的请求,并且记录任播如何解析。其他实施例可以使用其他方式来向POP 120解析,诸如单级DNS、双级DNS、请求重新定向等。内部数据代理208B记录请求者的IP地址、解析技术和请求的时间以向消息队列226报告那个收集的信息308。虽然未示出,但是外部数据代理208A可以观察任播如何对于来自不同IP地址的请求解析,并且向消息队列226报告收集的信息304。收集的信息在每一个记录中包括请求的IP地址、使用任播找到的POP 120的位置、在请求中使用的协议、特定请求、接收请求的时间和延迟、带宽、分组损失、抖动和与传递相关的其他QoS因素。向消息队列226的API用于收集记录。为了确定未原始接收对于内容对象的请求的POP 120是否更好地适用于供应内容对象,存在用于选择更好的POP 120的多种技术。第三方位置服务提供了用于IP地址、AS号码和/或IP地址的部分的近似地理位置。当IP地址、AS号码和/或IP地址组与地理位置相关时,具有位置服务的外部数据代理208A提供信息304。由于服务进行在位置和IP地址之间的相关,所以外部数据代理208A提供收集的信息304。内部处理用户212B与来自报告任播解析的、在每一个POP 120中的内部数据代理208B的内容流一起从位置服务接收内容流308。除了使用在⑶N 110外部的第三方位置服务之外,来自传递的反馈可以用于确定用于特定IP地址和/或地址范围的更好POP 120。在每一个边缘服务器530内的内部数据 代理208B (未示出)可以确定用于从POP 120和边缘服务器530至特定IP地址的特定传递的延迟、带宽、分组丢失、抖动和其他QoS因素。可以将那个收集的信息304封装到被内部处理用户212B接收的内容流308内。另外,使用其本身的服务器或使用另一个CDN在CDN110外部进行传递的第三方可以使用通过消息队列226耦合到内部处理用户212B的外部数据代理208A来提供信息。交换结构540可以根据位置服务的建议来路由,并且当没有建议时,交换结构可以基于来自内容流308的信息将请求路由到提供对于那个IP地址或类似IP地址的最佳QoS的POP 120。在这个实施例中,内部处理用户212B从一个或多个地理位置服务接收内容流308,另外,在一个或多个流308中向在每一个POP 120中的内部处理用户212B发送来自在⑶N 110之内或之外的单独传递的收集的信息304。处理规则516指示如何解释流308。例如,可以在处理规则中存在加权以推崇在⑶N 110内收集的传递结果,而不是在⑶N 110之外收集的传递结果。在一个实施例中,来自传递或来自地理位置服务的结果可以老化,以有利于因为在因特网104上的改变的条件导致的更新结果。孫·........用于交换结构的路由偏好...........................................................................................................................................
POP内容对象类型喜好的POP
000-063.xxx.xxx.xxx丹傭064-127全部紐约
128-1'71.xx\.\xx.XXX 全部風凰域
172-256.xxx.xxx.xxx 金部圣何塞
128.234.343.xxx高比特率流化芝加哥小文件下载坦佩 VoIP电话呼叫洛杉矾 网買ΛΛΑ
128.234.343.123高Λ特率流化纽轉
賴##
VoIP电话呼叫丹佛
剩余圣何塞
129.xxx.ixx.ixx高比特率流化坦佩
小文件下载坦佩
大文件下载丹佛 剩余芝加哥
130J01.xxx.xxx低I*特率流化洛杉風 小文件下载圣何塞
游戏洛杉矶
賨圣何塞对不同类型的内容对象,不同的度量可能对于确定喜好的POP更重要。例如,流视频通常相对于延迟喜好较高带宽。当交换结构540接收对于流视频的请求时,交换结构540可以喜好一个POP 120,但是可以对于对小内容文件下载或内容流308的请求偏好不同的POP 120。上面的表格示出在可以在POP 120之间选择边缘服务器530中使用的交换结构540中的路由偏好的一些的示例。应当明白,在路由偏好的典型实施例中有更多的表格条目。在一些情况下,存在各种大小的范围和甚至对于使用交换结构540的特殊处理指定的特定地址。
当存在用于特定IP地址的多个条目时,在较宽的范围上喜好最特定的范围。例如,来自IP地址128. 234. 343. 123的请求具有用于那个特定地址的条目和用于128-171.XXX. XXX. XXX和128. 234. 343. xxx范围的条目。在该情况下,将使用128. 234. 343. 123条目来取代用于任何范围的条目,因为IP地址更具体。然而,如果请求是用于小文件下载,则将使用用于128. 234. 343. xxx范围的条目,因为128. 234. 343. 123条目没有用于小文件下载的路由偏好,使得传递将来自坦佩Ρ0Ρ,而与哪个POP 120使用任播原始接收该请求无关。当接收到内容流308时,内容流308被处理和应用到用于与对于特定地址收集的信息对应的所有条目的路由偏好,使得该表格实时或近乎实时地改变。这个实施例示出在每一个POP 120中的内部处理用户212B,该内部处理用户212B本地处理内容流308,以对于任播不向喜好的POP 120解析请求的那些时间调整交换结构540。其他实施例可以以不同的方式调整交换结构540如何解析请求。可以有在每一个POP120中没有用于编程交换结构540的内部处理用户212B的实施例。在⑶N 110中的一个位置具有内部处理用户212B,该内部处理用户212B也包括内部数据代理208B (未示出),该内部数据代理208B向未本地处理规则以影响交换逻辑540的那些POP 120发送信息304。
在每一个POP 120中的内部处理用户212B可以根据向内容流308施加的处理规贝IJ 516来产生优选的POP 120的表格。用于请求的各个IP地址的优选的POP 120的表格被交换结构540路由到优选的POP 120,以有效地推翻请求的任播分布。有时,地理位置服务和任播路由可能找不到具有足够的QoS、更好的QoS或最好的QoS的POP 120。当QoS在一个或多个度量中落在阈值之下,并且任播和地理位置服务未寻找大于阈值的足够解时,可以使用另一种算法来找到更好的POP 120以执行对于IP地址或IP地址范围的传递。交换结构540可以以任意的、不可预测的或循环的方式将这个算法分配到POP 120。一个实施例可以分配下一个最近的P0P120。在使用以这些方式的任何一种选择的POP 120的传递后,如何执行传递的结果使用适当的内容流308被报告回内部处理用户212B。如果传递具有较高的QoS,则POP 120将变为用于类似请求的新选择。在一些情况下,可以使用内容对象的实际传递或测试传递来测试多个不同的POP 120。可以周期地进行对于更好的POP 120分配的探测,即使当因特网104的性能随着时间改变时,QoS未落在阈值之下。来自具有在历史上不可预测的QoS的IP地址的请求可以更经常地被作为目标以探测更好的POP 120。参考图6,示出用于数据处理系统200的操作的处理600的一个实施例。所描述的该处理的部分在块604开始,其中,开发者使用CC接口 238来管理在数据代理208和消息队列226之间的交互。开发者向CC接口 238内输入API设计,其中,没有数据代理108的一个预定义的地址、用于任何外部数据代理208A的认证和授权信息等。该API设计指定变量的类型、如何格式化它们和其他信息,以描述在向消息队列226的数据馈送中的收集的信息304。该API设计也定义了当收集的信息304作为内容流308被从消息队列226发送时如何描绘收集的信息304。内容流308具有由API设计限定的记录或采样.在块608中,开发者选择在消息队列226中的可用内容流308以由特定的处理用户212使用。所选择的给定的内容流308可以仅具有来自在块604中预先配置的数据代理208的记录,或者可以包括来自其他数据代理208的第三方的记录。在内容流308中的每一个记录可以被串行化或包括数据代理地址来作为用于区分记录的机制。另外,开发者可与数据处理系统200交互以向CC接口 238内输入API信息、处理用户212的地址、认证和/或授权信息等,以配置特定的处理用户212来与⑶N 110的消息队列226交互。对于在队列预订信息数据库222中的每一个处理用户212记录所有的队列预订信息。用于消息队列226的输入的收集的信息304和输出的内容流308在这一点被开发者配置。开发者也配置用于处理用户212的处理规则216,以当操作来自消息队列226的它的内容流308时使用。处理规则216可以或可以不被存储在⑶N 110内。开发者当设计规则以提供来自先前的内容流308的测试结果时可能发现相对于历史数据存储区234查看规则操作是有益的。可以在块604和608中定义数据代理208和处理用户212的许多级别,以限定处理环。参考块612,当数据代理208报告收集的信息304时,开发者的数据处理系统的操作开始。数据处理系统200可以具有在CDN 110内部或外部的任何数量的数据代理208。外部数据代理208A通常使用如上所述的数据输入适配器230。外部处理用户212A通常使用数据输出适配器242。可以使用CC接口 238来执行外部数据代理208A或外部处理用户212A的任何配置。 当如在块628中确定数据代理208是外部数据代理208A时,在块616中,数据适配器230查看、重新格式化收集的信息304和/或对于收集的信息304执行其他处理。该查看可以例如包括认证和/或授权或关于格式化、数据类型、有效数据范围等的查看。在块628中确定的内部数据代理208B可以可选地跳过块616,直接地到达块620。在数据在⑶N110内可获得并且可选地被数据适配器230查看后,在块620收集的信息304被注入消息队列226内。在块624,消息队列226分发收集的信息,该收集的信息包括被通称为内容流308的、在特定类别中的一系列消息、分组、采样或记录。因为收集的信息304经常被数据代理208实时地产生并且无延迟地被报告到消息队列226,所以实时地或近乎实时地迅速使得可获得收集的信息304,例如,数据当它进入消息队列226时可以小于1、2、5、10或20秒旧。在块624,根据预订信息212,以组播和/或单播方式将内容流308分布到在⑶N110内的各个处理用户212或在因特网上的任何位置。通常,组播用于在⑶N 110内或具有支持组播的网络的处理用户212,并且并行单播流用于没有用于组播的网络支持的外部处理用户212B。每一个处理用户212可以仅在块628中读取它预订的内容流308。使用例如加密的认证和/或授权可以用于保护流308或子流以免暴露到非用户。在块632,根据处理规则216,每一个处理用户212作用于来自消息队列226的其一个或多个内容流308。在块636,处理用户212可以通过下述方式可选地将处理的信息304返回到消息队列226中也作为数据代理208,而不像不包括作为数据代理208的能力的收听用户那样。虽然不要求,但是处理用户212通常至少部分地基于从内容流308收集的信息304来在块640中执行操作或行为。在各个实施例中,可以执行任何类型的行为,诸如订货、许可访问、向客户供应、关闭系统、不同的路由流量、选择或再利用资源等。接下来参见图7,示出处理700的实施例,该处理配置内部处理用户212B以有助于将对于内容的请求改善地路由到服务于那个请求的边缘服务器530。当说明处理700时,结合在图5中所示的实施例来使用改善任播路由的示例。所描述的处理700的部分在块704开始,其中,内容流308被选择来被提供到每一个POP 120的内部处理用户212B。具有传递度量和位置估计的内容流308被选择来从消息队列226传递到内部处理用户212B。例如,来自下述来源的收集的信息可以被从消息队列226传送到内部处理用户212B : (I)基于IP地址提供位置的估计的地理位置服务,和/或(2)关于两个IP地址之间的内容传递的收集的内部/外部信息。在这个示例中,每一个POP 120包括收集关于每一个内容传递的信息304的内部数据代理208B。虽然与内部处理用户212B分离地示出,内部数据代理208B可以集成到内部处理用户212B。内部数据代理208B被配置来向消息队列226报告内容传递结果信息304。这个实施例可以使用从在⑶N 110外部的传递收集的收集的信息304,但是这当可以仅从由每一个POP 120提供的内部收集的信息304改善任播路由时是不必要的。在块708中,设计处理规则516。内部处理用户212B使用处理规则516来将预订的内容流308分析、处理、重新格式化等。例如,报告在两个IP地址之间的外部传递结果的 内容流308可以具有处理规则,该处理规则通过推断源IP地址接近POP的IP地址来将源IP地址与最类似地定位的POP 120匹配,并且如果没有被认为更可靠的任何内部收集的传递结果,则那些传递结果可以被那个POP 120使用。例如,特定传递的源的IP地址可以被确定为对应于位于丹佛的POP 120,并且可以假定该传递结果类似于来自CDN 110的丹佛POP 120的传递结果。如果来自丹佛源IP地址的传递比从⑶N 110的其他POP 120看到者更好,则可以更新路由偏好表以改善当丹佛POP 120有可能对于请求者的IP地址或类似地定位的IP地址的范围具有较高的QoS时交换结构540如何向边缘服务器530分配下一个请求。如果凤凰城POP 120接收到例如指示被传递到请求的IP地址的丹佛POP 120更好的请求,则交换结构540将向丹佛POP 120发送该请求以得到满足。消息队列226向已经请求那些内容流308的各个处理用户212分发各个内容流308。在块712中,当通过消息队列226报告信息304时,接收内部处理用户212B已经签约的各个流308。在这个示例中,在每一个POP120中的内部处理用户212B从支持组播协议的WAN 114接收组播的内容流308。当信息被内部处理用户212B接收时,处理规则516被应用到流308。当在内容流308中的信息被处理以提供对于因特网104在任何时刻如何传递内容的实时或近乎实时的反应时,在块720中更新在交换结构540中的路由偏好表。在块720后,处理循环回块712,以从内容流308收集更多的记录,以在块712、716和720的循环中进行处理。参考图8,示出用于建立数据代理208并且使用该数据代理208来向消息队列226报告收集的信息304的处理800的实施例。当说明处理800时,将与在图5中所示的实施例相结合地使用用于改善任播路由的示例,但是应当明白,消息队列226的一般思想可以用于许多不同的目的。所描述的处理800的部分在块804开始,其中,数据代理208被配置来收集信息。数据代理804通常是可以与各种配置的传感器、数据感测设备和/或数据收集设备对接的软件。在这个示例中,数据代理208测量与在两个IP地址之间传递内容对象相关联的各种参数。也可以已知并且向API报告作为在收集的信息304中的数据记录的、源IP地址的物理位置并且可能甚至目的地IP地址的位置。除了物理位置之外,可以报告关于发送者和/或接收者的其他人口统计信息。用于特定传递的记录作为收集的信息304被发送,并且可以使用边缘服务器530和/或来自终端使用者系统102的信息来确定该记录。例如,作为终端使用者系统102的机顶盒可以向边缘服务器530报告内容对象的传递的延迟和数据速率。一些实施例可以测试在边缘服务器530和终端使用者系统102之间的链路。数据代理208被配置来根据⑶N110的API来重新格式化收集的信息。在块808,数据代理208被集成到⑶N 110内。集成可以包括与如上所述的CC接口 238的交互。数据代理208可以是专用服务器或一个测试设备,或者可以是在现有服务器或测试设备上运行的软件。数据代理208的集成可以包括提供外部数据代理208A当向⑶N 110报告信息时将使用的授权和/或认证信息。在块812,在两个IP地址之间监控传递性能。传递的监控可以在传递的任何一端发生,并且在记录中被报告。在块816,数据代理208向消息队列226报告关于每一个传递的信息304。在块820,所收集的传递信息304被⑶N 110转换为流308来作为消息队列226。一些实施例可以通过修改和隐藏IP地址、商业名称、标识符或可以跟踪回提供者的其他信息来掩蔽收集的信息304的提供者。另外,隐私规则可以被应用到收集的信息以在达到流308之前审查它。隐私规则可以允许一些用户看到某些信息,而其他用户不能看到那个信息。在块824,使用并行单播流、广播和/或组播将请求内容流308的各个处理用户212发送到内容流308。对于在⑶N 110内的处理用户212,在一个实施例中,可以在⑶N 110外部使用组播和使用并行单播来发送流。在块824后,处理循环回块812,以循环通过块812、816,820和824以报告作为收集的信息304的记录以被消息队列226分发为内容流308。接下来参见图9A,示出用于改善任播路由的处理900-1的实施例的流程图。所描述的处理900-1的部分在块904开始,其中,终端使用者系统102请求将域名从域名服务(DNS)转换为IP地址。在块908中,DNS执行查找以找到用于域的IP地址。IP地址根据任播路由方案对应于用于⑶N 110的多个POP 120。一旦已知IP地址,则终端使用者系统102在块912请求在许多POP 120的IP地址处的内容对象。当各个路由器选择路由以找到POP 120时,仅一个POP 120最终接收到内容请求。在块916,从POP请求内容。在块920中,交换结构540确定将请求要路由到的边缘服务器530。如果还没有推翻任播路由,则边缘服务器530在当前的POP 120中。加载、边缘服务器能力、高速缓存利用、带宽利用、随机或循环方案可以用于从在特定POP 120中的许多边缘服务器选择特定边缘服务器。基于内容流的分析,当认为向终端使用者系统102的IP地址的传递可以更好的工作时,可以选择在另一个POP 120中的另一个边缘服务器530。在另一个POP 120中的边缘服务器530在那种情况下将被路由该请求。根据一个实施例,另一个POP 120选择边缘服务器530,但是在这个实施例中,当前POP 120的交换结构540选择在另一个POP 120中的特定边缘服务器530。在块924中,交换结构540将该请求路由到所选择的边缘服务器530。在块928中,边缘服务器满足对于内容对象的请求。参考图9B,示出用于改善任播路由的处理900-2的另一个实施例的流程图。所描述的处理900-2的部分遵循图9A的实施例的块904、908、912和916。在块916后,交换结构540在块918中向在当前的POP 120中的边缘服务器530分配请求。推崇不同的POP120传递不同的内容对象。在这个实施例中,在块922中,被推崇传递内容对象的边缘服务器530被发现位于⑶N 110内,而与POP 120无关。可以推崇被推崇的边缘服务器530,因 为它已经存储了内容对象,被较少地加载资源和/或带宽,有可能传递较高的QoS,在网络意义上更接近请求者、具有较好的资源、具有用于支持该请求的专用软件或具有某种其他因素或特性。如果未推崇边缘服务器530传递所请求的内容,则边缘服务器530通过⑶N查询以找到另一个边缘服务器530。在这个实施例中,当边缘服务器还没有高速缓存或存储内容对象时,不推崇该边缘服务器。每个边缘服务器530可以具有如下的表格该表格用于指定父服务器以查询来找到已经高速缓存或存储内容对象的推崇的边缘服务器530。该表格可以具有用于内容对象或内容对象组的不同的父服务器。那个父服务器可以向另一个父服务器查询是否未存储或高速缓存内容对象。这个处理可以持续,直到甚至源服务器被确定为存储了内容对象的在链中的唯一服务器。一旦找到内容对象的源,则该源通过祖先的链被中继回初始被分配请求的原始边缘服务器530。在块926中,原始边缘服务器530向终端使用者系统102返回重新定向。该重新定向使得终端使用者系统102从内容源请求内容对象。在块930中,内容源满足对于内容对象的请求。以这种方式,终端使用者系统102可以被引导到另一个POP、主服务器或、甚至源服务器。也可以使用所公开的实施例的多种改变和修改。例如,CDN可以操作作为在因特网上的服务的消息队列进入和退出。实体或企业的任何集合可以使用CDN来以集体的方式共享信息,这将受益于特定的信息,即使它来自竞争者。在消息队列上存在的流的不同类别和类型的数量增加的情况下,当进行决定时可以考虑更多的不同类型的信息。一些实施例使用处理规则来不同地加权在流中的不同源。路由例如可以具有加权算法,以相对于来自收集的信息的另一个源的结果推崇内部收集的结果。在上面的说明中给出了具体细节,以提供实施例的彻底的理解。然而,可以明白,可以在没有这些具体细节的情况下实施实施例。例如,可以以框图示出电路,以便不以不必要的细节混淆实施例。在其他情况下,可以没有不必要的细节地示出公知电路、处理、算法、结构和技术,以便避免混淆实施例。此外,注意,实施例可以被描述为作为流程图、流程图表、数据流图、结构图或框图描述的处理。虽然流程图可以将操作描述为顺序处理,但是可以并行地或同时地许多操作。另外,可以重新布置操作的顺序。当完成处理的操作时结束该处理,并且该处理可以具有未在附图中包括的另外的步骤。处理可以对应于方法、功能、过程、子例程、子程序等。当处理对应于功能时,其结束对应于该功能向调用功能或主功能的返回。此外,可以通过硬件、软件、脚本语言、固件、中件、微码、硬件描述语言和/或其任何组合来实现实施例。当以软件、固件、中件、脚本语言和/或微码来实现时,可以在诸如存储介质的机器可读介质中存储用于执行必要任务的程序代码或代码段。代码段或机器可执行指令可以表示过程、功能、子程序、程序、例程、子例程、模块、软件包、脚本、类或指令、数据结构和/或程序语句的任何组合。代码段可以通过传送和/或接收信息、数据、自变量、参数和/或存储器内容而耦合到另一个代码段或硬件电路。可以经由包括存储器共享、消息传送、令牌传送、网络传输等的任何适当手段来传送、转发或发送信息、自变量、参数、数据等。虽然已经结合特定设备和方法如上描述了本公开的原理,但是应当清楚地明白,仅通过示例而不是作为对于本公开的范围的限制地进行本说明。
权利要求
1.一种内容传递网络(CDN),用于信息的及时交换以用于所述信息的分布式处理,所述⑶N包括 第一接口,其耦合到第一数据代理,所述第一数据代理向所述第一接口提供第一数据; 第二接口,其耦合到第二数据代理,所述第二数据代理向所述第二接口提供第二数据; 在所述CDN内的消息队列,所述消息队列产生根据所述第一数据和所述第二数据的流,其中所述消息队列耦合到所述第一接口和所述第二接口 ; 第三接口,其耦合到所述消息队列和接收所述流的第一处理用户,其中在所述第一数据和/或所述第二数据被所述第一数据代理和/或第二数据代理收集后,所述第一处理用户在不到10秒内在所述流中接收所述第一数据和/或所述第二数据;以及 第四接口,其耦合到所述消息队列和接收所述流的第二处理用户,其中在所述第一数据和/或所述第二数据被所述第一数据代理和/或第二数据代理收集后,所述第一处理用户在不到10秒内在所述流中接收所述第一数据和/或所述第二数据。
2.根据权利要求I所述的用于信息的及时交换以用于所述信息的分布式处理的CDN,进一步包括在所述第一接口和所述消息队列之间耦合的输入适配器,其中,所述输入适配器查看和/或重新格式化所述第一数据。
3.根据权利要求I所述的用于信息的及时交换以用于所述信息的分布式处理的CDN,其中,处理所述第一数据以在所述第一数据到达所述流之前隐藏信息。
4.根据权利要求I所述的用于信息的及时交换以用于所述信息的分布式处理的CDN,其中,所述第一数据代理和/或所述第二数据代理的至少一个 在所述⑶N之外,并且 在不在所述CDN的控制下的域内。
5.根据权利要求I所述的用于信息的及时交换以用于所述信息的分布式处理的CDN,其中,所述第一处理用户和所述第二处理用户的至少一个 在所述⑶N之外,并且 在不在所述CDN的控制下的域内。
6.根据权利要求I所述的用于信息的及时交换以用于所述信息的分布式处理的CDN,进 一步包括历史数据存储区,所述历史数据存储区存储所述消息队列的至少一部分,并且允许查询所述至少一部分。
7.根据权利要求I所述的用于信息的及时交换以用于所述信息的分布式处理的CDN,进一步包括处理规则,其中所述处理规则指令所述第一处理用户如何处理所述流。
8.根据权利要求I所述的用于信息的及时交换以用于所述信息的分布式处理的CDN,其中所述第一至第四接口的至少两个使用同一通信媒体。
9.根据权利要求I所述的用于信息的及时交换以用于所述信息的分布式处理的CDN,其中所述消息队列从所述第一处理用户接收根据所述流的第三数据。
10.一种用于使用CDN来聚集信息以便以分布式的方式及时地交换所述信息的方法,所述方法包括 从耦合到第一数据代理的第一接口接收第一数据;从耦合到第二数据代理的第二接口接收第二数据; 处理所述第一数据和第二数据; 使用所述CDN的消息队列来形成根据所述第一数据和所述第二数据的流,其中所述消息队列耦合到所述第一接口和所述第二接口; 将所述流发送到第三接口,所述第三接口耦合到第一处理用户以接收所述流,其中在所述第一数据和/或所述第二数据被所述第一数据代理和/或第二数据代理收集后,所述第一处理用户在不到10秒内在所述流中接收所述第一数据和/或所述第二数据。
11.根据权利要求10所述的用于使用CDN来聚集信息以便以分布式的方式及时地交换所述信息的方法,其中 所述第一接口至第一存在点(POP), 所述第二接口至第二 POP,并且 所述第一 POP在地理上远离所述第二 POP。
12.根据权利要求10所述的用于使用CDN来聚集信息以便以分布式的方式及时地交换所述信息的方法,进一步包括使用所述第一处理用户来处理所述流。
13.根据权利要求10所述的用于使用CDN来聚集信息以便以分布式的方式及时地交换所述信息的方法,进一步包括向第四接口发送所述流,所述第四接口耦合到第二处理用户以接收所述流,其中在所述第一数据和/或所述第二数据被所述第一数据代理和/或第二数据代理收集后,所述第一处理用户在不到10秒内在所述流中接收所述第一数据和/或所述第二数据。
14.根据权利要求10所述的用于使用CDN来聚集信息以便以分布式的方式及时地交换所述信息的方法,进一步包括基于所述流使用所述第一处理用户执行行为。
15.根据权利要求10所述的用于使用CDN来聚集信息以便以分布式的方式及时地交换所述信息的方法,进一步包括 使用所述第一处理用户来处理所述流;以及 从使用所述第一处理用户的所述处理产生第三数据,其中所述第三数据耦合到在所述⑶N内的所述处理队列。
16.根据权利要求10所述的用于使用CDN来聚集信息以便以分布式的方式及时地交换所述信息的方法,进一步包括从耦合到所述第一处理用户的第三接口接收第三数据,其中所述第三数据根据所述流。
17.一种用于使用POP的分布式网络来聚集信息以便以分布式的方式及时地交换所述信息的方法,所述方法包括 从第一 POP的第一接口接收第一数据,其中所述第一接口耦合到第一数据代理; 从第二 POP的第二接口接收第二数据,其中 所述第二接口耦合到第二数据代理, 所述POP的分布式网络包括所述第一 POP和所述第二 Ρ0Ρ,并且 所述第一 POP在地理上远离所述第二 POP ; 处理所述第一数据和第二数据; 使用消息队列来形成流,所述流根据所述第一数据和所述第二数据,其中所述消息队列耦合到所述第一接口和所述第二接口;以及将所述流发送到第三接口,所述第三接口耦合到处理用户以接收所述流。
18.根据权利要求17所述的用于使用POP的分布式网络来聚集信息以便以分布式的方式及时地交换所述信息的方法,其中在所述第一数据和/或所述第二数据被所述第一数据代理和/或第二数据代理收集后,所述第一处理用户在不到10秒内在所述流中接收所述第一数据和/或所述第二数据。
19.根据权利要求17所述的用于使用POP的分布式网络来聚集信息以便以分布式的方式及时地交换所述信息的方法,其中,所述第三接口用于第三Ρ0Ρ,所述第三POP在地理上远离所述第一 POP和所述第二 POP的至少一个。
20.一种机器可读介质,具有机器可执行指令,所述机器可执行指令被配置来执行根据权利要求17所述的可机器实现的方法,所述可机器实现的方法用于使用POP的分布式网络来聚集信息以便以分布式的方式及时地交换所述信息。
全文摘要
公开了用于从耦合到多个处理用户的消息队列的多个数据代理收集分布式信息的系统和方法。所述数据代理向由API限定的接口提供它们的收集的信息。在向所述消息队列加上所述收集的信息之前,所述收集的数据可以被重新格式化或进一步处理。多个处理用户收听由所述消息队列产生的内容流,以接收它们已经预订的数据。一旦所述处理用户接收到所述内容流,则所述处理用户向所述内容流应用算法,以执行一个或多个其他功能。例如,所述处理用户可以向所述消息队列内反馈处理的数据,并且/或者至少部分地基于所述内容流来执行行为。在各种程度的处理和聚集下的信息可以在处理环中通过任何数量的循环传送,以允许信息的交换中心实时或近乎实时地流动。
文档编号H04L12/58GK102714634SQ201080051870
公开日2012年10月3日 申请日期2010年10月1日 优先权日2009年10月2日
发明者内森·F·拉奇博尔斯基, 布赖恩·D·布莱克, 怀利·斯旺森, 科林·雷泽, 艾伯特·P·托比, 雅各布·S·罗厄斯马 申请人:杰出网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1