代理服务器故障转移和负载集群的制作方法

文档序号:10663569阅读:188来源:国知局
代理服务器故障转移和负载集群的制作方法
【专利摘要】本公开的方面涉及用于将故障转移和负载集群特征提供给内容传递网络(CDN)中的一个或多个代理服务器的系统、方法、计算机程序产品等。在一实施例中,一个或多个代理服务器可以通告虚拟主机互联网协议(IP),并且,为了提供故障转移特征,代理服务器中的两个或更多个也可以通告包括与虚拟网络IP地址相关联的更宽范围的IP地址的更通用的虚拟网络IP地址。在另一实施例中,与路由器通信的代理服务器中的每一个可以将通用IP网络地址通告给路由器。响应于从CDN中的端用户接收针对内容的请求,路由器可以选择代理服务器并且在代理服务器之间对所接收的请求进行负载平衡。
【专利说明】代理服务器故障转移和负载集群
[0001]相关申请的交叉引用
[0002]该专利合作条约(PCT)专利申请要求于2014年2月19日提交的题为“CONTENTDELIVERY NETWORK ARCHITECTURE WITH EDGE PROXY” 的美国临时申请N0.61/941,576、以及于2015年I 月30 日提交的题为 “PROXY SERVER FAILOVER AND LOAD CLUSTERING” 的美国临时申请N0.62/110,119的优先权,其中的两者的全部内容通过引用并入本文。
技术领域
[0003]本发明的实施例一般地涉及用于实施电信网络的系统和方法,更具体地涉及用于将故障转移和负载集群特征提供给内容传递网络中的一个或多个代理服务器的系统和方法。
【背景技术】
[0004]内容传递网络(CDN)越来越多地被用于代表一个或多个内容供应商将内容(例如视频、多媒体、图像、音频文件、文档、软件以及其他电子资源)分配给端用户。使用CDN允许内容供应商在没有部署附加基础设施的情况下提高内容传递的速度和可靠性。而且,CDN允许通过一个或多个现有网络分配内容,而不需要将内容存储在现有网络内。
[0005]典型地,⑶N包括若干内容服务器,内容可以从这些内容服务器供应给请求端用户。在一示例中,可以通过与端用户通信的电信网络访问这些内容服务器。该网络可以包括促进将端用户连接到所请求的内容的任何数量的组件(例如路由器和代理服务器)。然而,在某些情况下,该网络中的组件中的一个或多个可能遭受故障或不能将内容提供给端用户。例如,组件中的一个或多个可能崩溃并停止操作直到组件重新启动或将替换组件包括在网络中为止。在另一示例中,组件中的一个或多个可能承受不住来自网络的流量,使得一个或多个端用户不能再连接到用于对所请求内容的进行路由和传输的组件。在这样的情况下,来自CDN的内容的可用性可能临时地被到端用户的网络破坏。
[0006]考虑到这些和其他问题,研发了本公开的各个方面。

【发明内容】

[0007]本公开的一实施方式可以采取用于操作内容传递网络的方法的形式。该方法可以包括如下操作:在路由器处从电信网络的多个代理服务器中的每一个中接收网络互联网协议(IP)地址通告,所述多个代理服务器与被配置为存储内容传递网络(CDN)中的内容文件的存储设备进行通信,以及其中,来自多个代理服务器中的每一个的网络IP地址包括第一范围的IP地址;从与CDN通信的端用户设备中接收针对内容文件的请求,该请求至少包括内容文件的目的地IP地址;选择多个代理服务中的第一代理服务器以将所请求的内容文件提供给端用户设备;以及将针对内容文件的请求发送给第一代理服务器。
[0008]本公开的另一实施方式可以采取内容传递网络的形式。内容传递网络可以包括路由器,其与内容传递网络(CDN)进行通信并且被配置为从与CDN通信的端用户设备接收至少包括内容文件的目的地IP地址的第一请求;多个代理服务器,其与路由器和被配置为存储所述CDN的所述内容文件的存储设备进行通信。此外,路由器还可以被配置为:从多个代理服务器中的每一个接收包括第一范围的IP地址的网络IP地址通告;至少基于网络IP地址,选择多个代理服务器中的第一代理服务器以将所请求的内容文件提供给端用户设备;以及将针对内容文件的第一请求发送给第一代理服务器。
[0009]本公开的又一实施方式可以采取用于在电信网络中提供故障转移保护的方法的形式。该方法可以包括如下操作:在路由器处从电信网络的至少两个代理服务器中接收网络互联网协议(IP)地址通告,所述至少两个代理服务器与被配置为存储内容传递网络(CDN)的内容文件的存储设备进行通信,并且其中来自所述至少两个代理服务器中的每一个的网络IP地址包括第一范围的IP地址;以及在路由器处从所述至少两个代理服务器中的第一代理服务器中接收主机IP地址通告,该主机IP地址包括第二范围的IP地址,所述IP地址的第二范围小于IP地址的第一范围。此外,该方法可以包括如下操作:接收至少两个代理服务中的第一代理服务器的故障的指示;至少基于所接收的所述第一代理服务器的故障的指示,从路由表中移除所述主机IP地址;从与CDN通信的端用户设备中接收内容文件的请求;选择多个代理服务器中的至少两个代理服务器中的第二代理服务器以将所请求的内容文件提供给端用户设备;以及将针对内容文件的请求发送给第二代理服务器。
【附图说明】
[0010]图1是用于在内容传递网络(CDN)上分配内容的示例网络环境。
[0011]图2是用于将针对内容的请求从CDN路由到网络中的代理服务器的示例网络环境。
[0012]图3是示出了供⑶N使用边界网关协议(BGP)通告将故障转移特征提供给网络中的路由器的方法的流程图。
[0013]图4是示出了供⑶N使用边界网关协议(BGP)通告以在网络中的若干代理服务器之间提供负载平衡的方法的流程图;
[0014]图5是示出了可被用于实施本公开的实施例的计算系统的示例的图。
【具体实施方式】
[0015]本公开的各个方面涉及用于将故障转移和负载集群特征提供给内容传递网络(CDN)中的一个或多个代理服务器的系统、方法、计算机程序产品等。在一实施例中,CDN可以包括与路由器通信的多个代理服务器,通过路由器可以从代理服务器中的一个或多个中接收针对内容的请求。代理服务器中的一个或多个可以通告将代理服务器标识为设备的虚拟主机互联网协议(IP)地址,其中,CDN中的特定内容通过所述设备是可用的。虚拟IP地址可以通过与路由器的边界网络协议(BGP)会话而被通告。当从存储设备中获取内容时,虚拟主机IP地址可以是针对内容的特定IP地址或主机IP路由地址。为了将故障转移特征提供给与路由器通信的多个代理服务器,代理服务器(包括提供虚拟主机IP地址或主机IP路由的代理服务器)中的两个或更多个也可以通告包括与虚拟IP地址相关联的IP地址的更宽范围的更通用的虚拟网络IP地址。因此,如果通告主机IP地址的代理服务器发生故障或不可操作,则路由器可以将针对内容的请求路由到已经通告虚拟网络IP地址的其他代理服务器中的一个。这样,通过通告来自一代理服务器的特定IP地址和来自另一代理服务器的通用IP地址,代理服务器中的一个或多个在特定代理服务器故障时可以接收针对内容的请求。
[0016]在另一实施例中,与路由器通信的代理服务器中的每一个可以将通用IP网络地址通告给路由器。响应于从CDN中的端用户接收针对内容的请求,路由器可以选择代理服务器,其中,通过该代理服务器将内容提供给端用户。在一示例中,路由器可以根据在针对内容的请求中包含的信息计算散列值。基于散列值,路由器选择代理服务器中的一个来提供所述内容。此外,通过在可能的散列值之间扩散代理服务器的选择,路由器可以对针对代理服务器之间的内容的请求进行负载平衡。通过这种方式,通过通告来自可用代理服务器中的每一个或一些的通用IP网络地址,路由器可以在可用的代理服务器之间提供负载平衡特征,从所述可用代理服务器中来自CDN的特定的内容是可用的。
[0017]图1是用于将内容分配给一个或多个用户的示例网络环境100。在一实施方式中,⑶N 102通信地耦接到一个或多个接入网106。通常,CDN 102包括一个或多个内容服务器(下面将更详细地讨论)和/或被配置为在接收到请求时提供内容的代理服务器,以及底层IP网络,通过底层IP网络可接收请求并且提供内容。与CDN服务器相关联的底层IP网络可以是被配置为通过网络发送和接收通信的任何类型的基于IP通信网络的形式,并且包括任何数量和类型的电信组件。以这种方式,CDN代理服务器可以被添加到现有的基于IP的通信网络,使得CDN代理服务器接收针对内容的请求,从内容供应商网络116中获取内容,以及通过支持IP网络将内容提供给请求设备。除非另有说明,否则为简单起见,贯穿本公开的术语“CDN”的使用指代用于处理和发送通信的一个或多个内容服务器和底层IP网络的组合。
[0018]在一实施例中,接入网106是在一个或多个实体(例如提供对⑶N102访问的互联网服务供应商(ISP))的控制下或被其操作/维护。因此,例如,接入网106可以向用户设备104提供互联网接入。此外,接入网106可以包括到⑶N 1 2的IP网络的若干连接。例如,接入网106包括接入点120。同样地,用户设备104可以连接到任意数量的接入网106,使得对⑶N102的访问可以通过另一接入网而发生。通常,对⑶N 102(或与⑶N相关联的底层IP网络)的访问可以通过任何数量的进入端口而发生,该进入端口通过任何数量的接入网进入CDN。
[0019]CDN 102能够将内容提供给用户设备104,其通常是任何形式的计算设备,例如个人计算机、移动设备、或平板(例如iPad)等。内容可以包括不限于视频、多媒体、图像、音频文件、文本、文档、软件和其他电子资源。用户设备104被配置为请求、接收、处理和呈现内容。在一实施方式中,用户设备104包括互联网浏览器应用,利用该互联网浏览器应用可以选择或另外进入到对于内容项目的链接(例如超链接),使请求发送到CDN 102中的目录服务器110。
[0020]可以在CDN中的路由器110处接收针对内容的请求。在一特定实施例中,请求在路由器处被接收之前通过IP网络的若干组件被发送。此外,CDN 102可以包括被配置为通过提供网络地址(例如在IP网络内的IP地址)对请求进行响应的目录服务器,在该网络地址处可以获得与选中的链接相关联的内容。目录服务器将链接名字(例如URL或其他标识符)解析为用户设备104可以从其中获取内容的相关联的网络地址。
[0021]在一实施方式中,CDN102包括一个或多个边缘服务器112、114(有时也被指代为“边缘服务器”),其可以缓存来自另一服务器的内容以使其在地理上或逻辑上更近的位置中对于路由器110和/或用户设备104可用。代理服务器112、114可以减少网络负载、释放容量、降低传递成本和/或减少内容下载时间。代理服务器112、114被配置为将所请求的内容提供给请求者,其可以是用户设备104或例如在接入网106中的中间设备。在一实施方式中,代理服务器112、114中的一个或多个提供在缓存中本地存储的所请求的内容。在另一实施方式中,代理服务器112、114从另一资源(例如媒体接入服务器(MAS)(例如内容供应商网络118中的内容分配服务器或内容来源服务器116))中获取所请求的内容。响应于该请求,所述内容然后被供应给用户设备104。
[0022]图2是用于将针对内容的请求从CDN路由到网络中的代理服务器的示例网络环境。具体地,图2示出来自图1的路由器110和代理服务器112、114的一实施例。因此,图2中的网络200包括与多个代理服务器204-212通信的路由器202。尽管图2中没有示出,但是应当理解,,上面所讨论的和图1中所示的组件以及附加的联网和计算组件都可以连接到网络200中的组件或另外与其通信。具体地,路由器202可以与IP网络连接或是其中的一部分以从连接到网络的端用户中获取针对内容的请求。同样地,响应于接收请求,代理服务器204-212中的一个或多个可以连接到内容供应商网络或内容存储设备或通过其他方式与它们进行通信,以访问该内容。如上所述,代理服务器204-212也可以存储经常被网络使用的一些内容。这样,代理服务器204-212可以用作针对CDN的内容存储设备和/或作为路由设备以访问在独立内容存储设备上存储的内容。
[0023]如图所示,代理服务器204-212与路由器202进行通信。在一特定的示例中,代理服务器204-212包括与路由器202的20GB连接。在另一示例中,代理服务器204-212包括与路由器202的40GB连接。总之,可以呈现路由器202和代理服务器204-212之间的任何类型的网络连接。而且,代理服务器204-212不可以直接地连接到路由器202,而是可以通过网络和/或任何数量的网络设备进行通信。如下更详细描述,路由器202被配置为从电信网络中接收分组,以及至少基于路由协议和在所接收的分组中的一个或多个中包括的地址,将分组路由到代理服务器204-212中的一个或多个。在一特定的示例中,分组包括来自CDN的针对内容的请求。
[0024]代理服务器204-212通常被配置为获得以及提供⑶N中的内容,或是通过存储通过CDN请求的内容中的一些和/或进一步将所接收的分组发送给从其中获得内容的存储设备。同样地,当从端用户通过CDN接收针对内容的请求时,路由器202分析与请求相关联的地址并且确定哪个代理服务器204-212来获得内容。路由器202然后将请求向选中的代理服务器204-212发送。在接收来自路由器202的请求时,代理服务器204-212提供所请求的内容或者获得来自存储设备的所请求的内容然后提供该内容。在任一事件中,任何代理服务器204-212可以被配置为提供来自存储设备的任何内容,使得代理服务器的集群是可缩放的。
[0025]当代理服务器204-212不能够获得和提供内容时,在提供所请求的内容时可能发生一些中断服务。例如,由于某种原因,代理服务器204-212中的一个或多个可能崩溃或以其他方式不可操作为提供内容。在这种情况下,连接到故障的代理服务器204-212或从其中接收内容的端用户可能使他们的会话中断或者可能不能够访问来自代理服务器的内容。在另一示例中,代理服务器204-212中的一个或多个可能承受不住针对内容的请求,例如在拒绝服务器上的服务攻击期间。如果太多端用户从代理服务器中请求内容,端用户中的一个或多个可能不能够访问代理服务器或通过其他方式与其通信。当代理服务器204-212崩溃或变得不可用时,在连接到故障的代理服务器的端用户转移到另一代理服务器之前,可能花费一些时间。应当理解,CDN的操作者不期望这样的情形发生,这是因为对由⑶N主伺的一些内容的接入对于网络中的一个或多个用户是不可用的。
[0026]本公开描述了解决⑶N中的一个或多个代理服务器204-212的潜在故障的一些方法。具体地,图3是示出了供CDN使用边界网关协议(BGP)通告以将故障转移特征提供给与多个代理服务器通信的网络中的路由器的方法的流程图。通常,图3中的方法的操作可以被CDN中的一个或多个路由器来执行,而且可以被电信网络中的另一数量和类型的组件执行。下面通过参考图2中的网络200来描述该方法的操作。然而,应当理解,操作可以被本文所讨论的或另外众所周知的任何网络配置来执行。
[0027]在操作302中开始,路由器202从与主机互联网协议(IP)地址中的路由器进行通信的一个代理服务器204-212中接收BGP通告消息,主机IP地址指示⑶N中的特定的内容可以位于通告代理服务器处。通常,路由器202和代理服务器(在这个示例中,代理服务器204)可以进入在其中代理服务器通告针对来自代理服务器的可用的内容的一个或多个虚拟IP地址的BGP会话。被通告的虚拟IP地址可以被路由器202存储以用于路由针对内容的请求。具体地,路由器202可以从代理服务器204-212中的一个或多个中接收针对可用的内容的请求。基于在请求的报头中存储的信息,路由器202确定请求应该被路由到何处。具体地,路由器202将请求的报头中的信息与被存储的路由表进行对比来确定请求如何被路由。在一实施例中,在路由表中的信息通过来自代理服务器204-212的BGP通告而被填充(和网络内的其他组件一样)。
[0028]由代理服务器204通告的主机虚拟IP地址可以是与通过⑶N可用的内容相关联的任何类型的IP地址。然而,在一特定的示例中,虚拟IP地址可以包括无分类域间路由(CIDR)类型的IP地址。通常,IP地址中的CIDR标记允许通告IP地址的一个范围。针对IP地址的CIDR标记包括附加到地址的最后的具有斜线和十进制数的典型IP地址。附加到IP地址的斜线和十进制数允许连续地址的聚合。因此,如果IP地址中的前20比特匹配,则十六个连续的/24网络可以被聚合为单个/20路由。这允许减少需要通过BGP会话通告的路由的数量。同样地,应当理解,在IP地址中的斜线字符之后的更高的十进制值指示与组件相关联的IP地址的更小范围,从而,以/32结尾的IP地址比以/25结尾的IP地址更特定。
[0029]如上所述,代理服务器204针对通过代理服务器的内容的可用性可以将虚拟IP地址通告给路由器202。在一示例中,由代理服务器204通告的虚拟IP地址可以是针对内容的特定主机IP地址。当内容被存储在代理服务器204处时可以使用该特定主机IP地址。例如,主机IP地址可以是IP地址4.2.2.126。然而,代理服务器204对于存储所请求的内容的存储设备而言也可以用作路由器。同样地,由代理服务器204通告的虚拟IP地址可以是主机IP路由,并且可以包括针对主机IP路由的CIDR标记。例如,主机IP路由可以是IP地址4.2.2.1/32<JP主机地址和/或IP主机路由地址向路由器202(以及连接到路由器的网络)指示与IP主机地址相关联的内容可以位于代理服务器204处。在一实施例中,IP主机地址和IP主机路由地址由⑶N的目录服务器提供并且在与代理服务器204的BGP会话期间被通告。
[0030]在操作304中,路由器从通告主机IP地址或主机IP路由的代理服务器204和与路由器202通信的至少另一个代理服务器(例如,代理服务器206)接收虚拟网络IP地址通告。通常,由一个或多个代理服务器204、206通告的虚拟网络IP地址不如虚拟主机IP地址或路由特定。使用上述示例,代理服务器204和代理服务器206可以通告4.2.2.0/25的网络IP地址。因此,因为网络IP地址包括/25的CIDR标记,而主机IP路由地址包括/32的CIDR标记,所以主机IP路由地址是更加特定的(因为它包括由CIDR标记包含的IP地址的更小范围)。在针对路由器202的路由表中可以存储由代理服务器204、206通告的虚拟网络IP地址。
[0031]尽管上述所讨论的包括代理服务器204和代理服务器206,但是应当理解,可以从与路由器202通信的任何数量的代理服务器204-212中通告网络IP地址。例如,可以从代理服务器204、代理服务器208和代理服务器210中通告网络IP地址。在一特定的实施例中,通告网络IP地址的代理服务器204-212的数量限制为三个代理服务器。在下面更详细地讨论的另一示例中,与路由器202通信或通过其他方式指派到路由器202的每一个代理服务器204-212可以通告相同的网络IP地址。
[0032]如上所述,路由器202被配置为至少基于由路由器存储的路由表来将所接收的内容请求路由到代理服务器。具体地,路由器202可以将所接收的请求路由到对于其路由器具有最特定的IP地址的代理服务器204-212。例如,尽管路由器202如上述所讨论的针对特定的内容具有两个被存储的IP地址,但是路由器可以将针对内容的请求通过代理服务器206路由到代理服务器204,因为由代理服务器204通告的主机IP地址比由代理服务器206通告的网络IP地址更具体。同样地,与主机IP地址相关联的内容的所有的请求当在路由器202处被接收时被路由到代理服务器204。
[0033]然而,在某些情况下,代理服务器204可能变得不可用来提供内容。例如,代理服务器204可能故障或崩溃并且变得不可操作。在这样的情况下,在操作306中,路由器202可以接收代理服务器204故障的指示。作为响应,在操作308中,路由器202可以移除与故障的代理服务器204相关联的路由器的路由表中的IP地址。换句话说,因为代理服务器204不可用来提供或获得内容,所以路由器202移除将请求路由到代理服务器的可能性。继续上述示例,路由器然后可以移除代理服务器204的主机IP地址或路由。
[0034]在操作310中,路由器202从与CDN相关联的用户设备中接收针对内容的请求。该请求与上述所讨论的请求是相似的。然而,在此情况下,通过其可以获取内容的代理服务器204已经发生故障。因此,在操作312中,路由器202查阅路由表,并且将请求路由到与请求中的目的地IP地址相关联的可用的最特定的路由。因为代理服务器206已经通告网络IP地址,所以路由器202然后可以将请求路由到代理服务器206。
[0035]通过上述操作,代理服务器204-212将故障转移备选的代理服务器提供给路由器202以接收请求并且将内容提供给⑶N。正如讨论的,由于被通告的IP主机地址,代理服务器204可以在操作的同时处理针对内容的请求。然而,在代理服务器204故障的情况下,基于由代理服务器206通告的网络IP地址可以将请求发送到代理服务器206。当代理服务器故障时,将请求路由到故障转移代理服务器206可以比尝试发现到内容的备选路径的网络的先前配置发生的较快。相反,因为当优选代理服务器204故障时,路由表中已经包括由故障转移代理服务器206通告的不太特定的网络IP地址,所以将附加请求路由到故障转移代理服务器206发生的很快。
[0036]此外,故障转移代理服务器206可以在故障时拾起由优选代理服务器204正处理的一个或多个会话。通常,内容会话可以包括针对内容的部分的若干请求,例如视频文件的片段。尽管片段中的一些在代理服务器204故障时可能丢失或者通过其他方式不被提供给端用户,但是基于由故障转移代理服务器通告的较为不特定的网络IP地址,针对在代理服务器204故障之后到达路由器202的片段的任何请求被自动地路由到故障转移代理服务器206。
[0037]通过上述方法,多个代理服务器204-212可以包括针对通过代理服务器可用的内容的故障转移特征。然而,在某些情况下,被发送到故障转移代理服务器206的附加请求可以导致故障转移代理服务器承受不住请求,从而破坏代理服务器的操作。同样地,在与路由器通信的代理服务器204-212之间尝试对在路由器202处接收的针对内容的请求进行平衡的网络200配置中可以包括负载平衡特征。下面呈现了提供负载平衡特征(以及在某些情况下,还有故障转移特征)的网络200中的一个这样的配置。
[0038]具体地,图4是示出了供CDN使用边界网关协议(BGP)通告来提供在网络中的若干代理服务器之间负载平衡的方法的流程图。与图3中的方法相似,图4中的方法的操作可以被CDN中的一个或多个路由器执行,并且可以被电信网络中的另一数量和类型的组件执行。通过参考图2中的网络200描述了该方法的操作。然而,应当理解,该操作可以被本文所讨论的或另外众所周知的任何网络配置执行。
[0039]在操作402中开始,与路由器202通信或另外与其相关联的代理服务器204-212通过与路由器进行BGP会话来通告网络IP地址。由代理服务器204-212通告的网络IP地址与上述所讨论的网络IP地址可以是相似的。因此,在一示例中,网络IP地址可以包括CIDR标记,例如4.2.2.0/25的网络IP地址。通常,由代理服务器204-212通告的网络IP地址可以包括提供网络中的一段范围IP地址的指示的任何形式的IP地址。通过通告包括一段范围IP地址的网络IP地址,代理服务器204-212对于路由器来说连接到了网络。正如下面更详细地讨论的,来自每一个代理服务器204-212的网络IP地址的通告允许路由器202基于在请求中包括的目的地IP地址将针对内容的请求提供给代理服务器中的任何。
[0040]在操作404中,路由器202从与CDN相关联的用户设备中接收针对内容的请求。该请求与上述讨论的请求是相似的。然而,当路由表不包括比任何其他有资格的路由更特定的一个路由时,路由器202可以将请求发送到代理服务器204-212中的任何。为了选择可用的代理服务器中的请求被路由到的代理服务器204-212,在操作406中,路由器可以计算散列值。通常,散列值可以是从选择代理服务器204-212中的一个来路由请求的请求中确定的任何重复的值。在一特定的实施例中,路由器202可以使用请求的报头中的信息,例如源地址、目标地址、源端口以及在计算散列值的请求的报头中包括的信息等等。通过使用请求的报头中的信息,散列值针对获取会话的特定内容可以是重复的,同样地在报头中的这样的信息不可以与会话内的请求的请求不同。换句话说,通过在会话期间保持同样的报头中信息,只要在会话期间选中的代理服务器不故障,选择单个代理服务器204-212来提供所有的所请求的内容。
[0041]在操作408中,然后可以使用计算出的散列值来从可用的代理服务器中选择代理服务器204-212以发送请求。例如,通告网络IP地址的每一个代理服务器204-212可以被路由器202指派一范围的散列值。因此,在计算散列值时,路由器202可以确定与散列值相关联的代理服务器204-212,并且选择通过其获取所请求的内容的那个代理服务器。在操作410中,路由器202然后可以将请求发送给实现针对内容的请求的选中的代理服务器204-212。这样,路由器202至少基于由代理服务器中的每一个通告的网络IP地址可以在可用的代理服务器204-212之间平衡负载来自⑶N的针对内容的请求。
[0042]通过上述操作,与通告网络IP地址的路由器202通信的任何代理服务器204-212可以实现来自CDN的针对内容的请求。因此,路由器202在接收请求时可以在各个代理服务器204-212之间对请求进行负载平衡。此外,通过计算散列值来选择对于整个内容会话是同样的代理服务器,可以通过单个代理服务器来提供被请求内容中的每一部分。而且,路由器202可以针对多个可用的代理服务器204-212提供故障转移保护。例如,在代理服务器204-212中的一个或多个变得不可用来提供内容的情况下,路由器202可以意识到不可用的代理服务器,并且相应地调整散列值计算。换句话说,路由器202可以调整散列值计算以返回指示剩余可用的代理服务器中的一个的值。因此,当在路由器202处接收针对内容的请求时,散列值的计算可以返回针对从其中提供内容的剩余可用的代理服务器的值。如此,如果服务器中的一个故障,路由器202将故障转移特征提供给代理服务器中的代理服务器204-212选择。
[0043]使用BGP通告会话来通告特定的虚拟主机IP地址或路由以及更通用的(或更广泛以包括更大范围IP地址)网络IP地址,多个代理服务器204-212可以将故障转移特征和/或负载平衡特征提供给与多个代理服务器通信的路由器202。具体地,从代理服务器204 — 212中通告的虚拟网络IP地址可以允许路由器202选择代理服务器以将内容用平衡的方式提供给端用户。此外,代理服务器204 — 212中的一个或多个可以被识别为通过通告更特定的虚拟IP主机地址的代理服务器而提供内容的优选的代理服务器。应当理解,可以通过提供故障转移和/或负载平衡特征的任何联网设备或多个设备来执行本文所讨论的方法,通过在BGP会话期间由设备通告的IP地址的数量和类型提供故障转移和/或负载平衡特征。
[0044]图5示出可被用于实施上述所公开的网络中的组件的实施例的计算设备或计算机系统500的示例的框图。例如,图5中的计算系统可以被用于实施上述所讨论的路由器或代理服务器。计算机系统(系统)包括一个或多个处理器502-506 ο处理器502-506可以包括缓存(没有被示出)的一个或多个内部级别和与处理器总线512直接交互的总线控制器或总线接口单元。可以使用也被称为主机总线或前端总线的处理器总线512利用系统接口 514来耦接处理器502-506。系统接口 514可以被连接到处理器总线512以将系统500中的其他组件与处理器总线512接口相连。例如,系统接口 514可以包括用于将主存储器516与处理器总线512接口相连的存储器控制514。主存储器516典型地包括一个或多个存储卡和控制电路(没有被示出)。系统接口 514也可以包括将一个或多个I/O桥接器或I/O装置与处理器总线512接口连接的输入/输出(I/O)接口 520以将一个或多个I/O桥接器或I/O设备与处理器总线512借口连接。如图所示,一个或多个I/O控制器和/或I/O设备可以与I/O总线526连接,例如I/O控制器528和I/O设备540。
[0045]I/O设备540也可以包括输入设备(没有被示出),例如字母数字输入设备,包括用于将信息和/或命令选择通信到处理器502-506的字母数字和其他健。另一类型的用户输入设备包括光标控制器,例如鼠标、轨迹球或用于将方向信息和命令选择通信到处理器502-506以及用于控制显示设备上的光标移动的光标方向键。
[0046]系统500可以包括动态存储设备,被称为主存储器516或随机存取存储器(RAM)或与处理器总线512耦接的用于存储由处理器502-506执行的信息和指令的其他计算机可读设备。主存储器516在被处理器502-506执行指令期间也可以被用于存储临时变量或其他中间信息。系统500可以包括只读存储器(ROM)和/或与处理器总线512耦接的用于存储针对处理器502-506的静态信息和指令的其他静态存储设备。图5中所阐述的系统不过是可以根据本公开的方面而可以部署或被配置的计算机系统的一个可能示例。
[0047]根据一实施例,响应于执行主存储器516中包含的一个或多个指令中的一个或多个序列的处理器504,上述技术可以被计算机系统500执行。可以从另一机器可读介质(例如存储设备)中将这些指令读进主存储器516。在主存储器516中包含的指令的序列的执行可以使处理器502-506执行本文所描述的处理步骤。在备选实施例中,电路可以被用于代替或结合软件指令。因此,本公开的实施例可以包括硬件和软件组件它们两者。
[0048]机器可读介质包括以通过机器(例如计算机)可读的形式(例如软件、处理应用)用于存储或发送信息的任何机制。这样的介质可以采用但不限于非易失性介质和易失性介质。非易失性介质包括光盘或磁盘。易失性介质包括动态存储器(例如主存储器516)。机器可读介质的常用形式可以包括但不限于磁存储介质(例如软盘)、光存储介质(例如CD —ROM)、磁光存储介质、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程存储器(例如EPROi^PEEPROM)、闪存或适合存储电子指令的其他类型的介质。
[0049]本公开的实施例包括在说明书中所描述的各个步骤。步骤可以被硬件组件执行或可以在机器可执行指令中实施,指令可以被用于使利用指令编程的通用或专用处理器执行这些步骤。可选地,步骤可以被硬件、软件和/或固件的组合执行。
[0050]在不脱离本发明的范围的情况下,对于所讨论的示例实施例可以做出各种修改和添加。例如,尽管上述所描述的实施例指代特定的特征,但是该发明的范围也包括具有没有包括所有描述的特征的特征和实施例的不同结合的实施例。相应地,本发明的范围意图包含所有这样的备选、修改、以及改变连同所有其等同物。
【主权项】
10.—种内容传递网络,包括: 路由器,与所述内容传递网络(CDN)通信,并且被配置为从与所述CDN通信的端用户设备接收至少包括内容文件的目的地IP地址在内的第一请求;以及 多个代理服务器,与所述路由器和被配置为存储所述CDN的所述内容文件的存储设备进行通?目; 其中,所述路由器还被配置为从所述多个代理服务中的每一个代理服务器接收包括第一范围的互联网协议(IP)地址的网络IP地址通告,至少基于所述网络IP地址选择所述多个代理服务器中的第一代理服务器以将所请求的内容文件提供给所述端用户设备,以及将针对所述内容文件的所述第一请求发送给所述第一代理服务器。11.根据权利要求10所述的内容传递网络,其中,所述路由器还被配置为:至少基于针对所述内容文件的所述第一请求的所述目的地IP地址来计算散列值。12.根据权利要求11所述的内容传递网络,其中,至少基于计算出的散列值来选择所述第一代理服务器。13.根据权利要求10所述的内容传递网络,其中,所述第一代理服务器被配置为:将主机IP地址通告给所述路由器,所述主机IP地址包括第二范围的IP地址,所述IP地址的第二范围小于所述IP地址的第一范围。14.根据权利要求13所述的内容传递网络,其中,至少基于所述主机IP地址来选择所述多个代理服务器中的所述第一代理服务器以将所请求的内容文件提供给所述端用户设备。15.根据权利要求14所述的内容传递网络,其中,所述路由器接收所述多个代理服务器中的所述第一代理服务器的故障的指示,并且被配置为至少基于所接收的所述第一代理服务器的所述故障的指示,从路由表中移除所述主机IP地址。16.根据权利要求15所述的内容传递网络,其中,所述路由器从与所述CDN通信的所述端用户设备接收针对所述内容文件的第二请求,所述第二请求至少包括所述内容文件的所述目的地IP地址,以及至少响应于接收所述多个代理服务器中的所述第一代理服务器的故障的指示,所述路由器选择所述多个代理服务器中的第二代理服务器以将所请求的内容文件提供给所述端用户设备。17.根据权利要求13所述的内容传递网络,其中,在所述路由器处通过与所述第一代理服务器的边界网关协议(BGP)会话来接收所述网络IP地址通告和所述主机IP地址。18.—种用于在电信网络中提供故障转移保护的方法,所述方法包括: 在路由器处从所述电信网络的至少两个代理服务器接收网络互联网协议(IP)地址通告,所述至少两个代理服务器与被配置为存储内容传递网络(CDN)的内容文件的存储设备进行通信,以及其中,来自所述至少两个代理服务器中的每一个代理服务器的所述网络IP地址包括第一范围的IP地址; 在所述路由器处从所述至少两个代理服务器中的第一代理服务器接收主机IP地址通告,所述主机IP地址包括第二范围的IP地址,所述IP地址的第二范围小于所述IP地址的第一范围; 接收所述至少两个代理服务器中的所述第一代理服务器的故障的指示; 至少基于所接收的所述第一代理服务器的所述故障的指示,从路由表中移除所述主机IP地址; 从与所述CDN通信的端用户设备中接收针对所述内容文件的请求; 选择所述多个代理服务器中的所述至少两个代理服务器中的第二代理服务器以将所请求的内容文件提供给所述端用户设备;以及 将针对所述内容文件的请求发送给所述第二代理服务器。19.根据权利要求18所述的方法,其中,通过与所述至少两个代理服务器的边界网络协议(BGP)会话来接收所述网络IP地址通告。20.根据权利要求18所述的方法,其中,通过与所述第一代理服务器的BGP会话来接收所述主机IP地址通告。
【文档编号】G06F11/16GK106030542SQ201580009236
【公开日】2016年10月12日
【申请日】2015年2月19日
【发明人】威廉·R·鲍尔, 保罗·K·麦克唐奈尔
【申请人】第三雷沃通讯有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1