重负载下的路由选择的制作方法

文档序号:6568951阅读:282来源:国知局

专利名称::重负载下的路由选择的制作方法
技术领域
:本发明大体上涉及内容分发,更具体地,涉及4旦不限于负载下的内容分发。
背景技术
:内容始发方(contentoriginator)经由互耳关网将内容对象^是供纟会接收方。该互联网是传送彼此的网络流量以使接收方能够接收其内容对象的各种网络的合并。各种网络可被分成第l层网络和终端网络。所有第l层网络都是全路由网络,从而由第l层网络使用终端网络和其他全路由网络可以到达互联网上的任意点。每个接收方均具有来自终端网络的互耳关网服务,并且内容始发方会4吏用第l层网络和终端网络的组合来分发其内容对象。各种网络、内容始发方和4妻收方使用第1层网络以一些方式来为分发内容对象付款。许多内容始发方使用内容分发网络(CDN)来更有效地分发内容。CDN可以寄存(host)、映射或者高速^爰存内容,以及将内容分发给请求方。网站或源月良务器(originserver)净皮4连4妻到CDN,以使一些或所有内容可以源自CDN而不是直4妄源自内容始发方。CDN也4吏用第1层网络并可以具有与终端网^^对等的关系。通过CDN进行链接的这个过程对于接收方通常透明的。目前,在世界范围内存在大约10-15个第l层网络。其中某些可以50~150GB/min的速度传到互联网上的各个目的地。为了实现该过程,第1层网络将内容对象传送到终端网络,并且与其他第1层网络对等。对等的第1层网络允许传递其目的地为其他终端网络的来自其他第1层网络的内容对象,而无需费用。第l层网络通常为了传送内容对象向内容提供方和终端网络收费,以便通常在这些情况下避免对等关系。仅在终端网络未连接到最初接收流量的第1层网络而其他对等的第1层网络连接到该终端网络时,对等的第l层网络同意彼此传递流量。如果第1层网络接收目的地为终端网络而未直接连接到第1层网络的内容对象,则在对等协议下将其传送到与该终端网络连接的对等第1层网络。在特定第1层网络具有到终端网络的连接的情况下,不能将目的i也为该终端网全备的内容对象传送到也可以具有到该终端网络的连接的对等第l层网络。如果覆盖了到终端网络的互连,则可能会丢失该内容对象。第1层的对等网络和终端网络之间的互连昂贵并易于蜂皮过度建置(overbuild)以适应最坏情况的需要。对于CDN或第1层网络可能难以进行较大事件的单播(singlecasting)以有效地进行分发。较大事件需要在短时间内将内容对象(例如,文件或流)提供给数万接收方。来自CDN和/或第1层网络的出口可能被这些较大事件所覆盖。这些出口点具有成为对于大事件的弁瓦颈的有限带宽。为了避免这些弁瓦颈,CDN和第1层网络在预期加载时过度建置其出口点。目前在一些情况下,如果不使这些网络的一部分过载,则任何CDN或第1层网络就不能为大事件提供服务。例如,报告重大和意外新闻事件的新闻站点可以发现其分发系统不能按需要跟上突发峰值(spike)。结合附图来描述本发明图1A-图IB是内容系统的实施例的才匡图;图2A-图2D是呈现互联网的路由选择细节的内容系统的实施例的框图;图3是顶层网络的实施例的框图;图4A-图4C是示出了在具体地理区域中网络的相互作用的一部分内容系统的实施例的框图;以及的处理的实施例的流辟呈图。在附图中,类似的部件和/或特征可具有相同的参考标号。此外,可以通过在参考标号之后加上用于区分类似部件的破折号和第二标号来区分相同类型的各个部件。如果在本说明书中仅使用了第一参考标号,则该描述可应用于具有相同第一参考标号的类似部件中的任一个,而与第二参考标号无关。具体实施方式以下的描述仅提供了优选的示例性实施例,而不用于限制本发明的范围、可应用性或配置。更确切;也,4尤选示例性实施例的以下描述将能够向本领域才支术人员4是供实现本发明的优选示例性实施例的描述。应当了解,在不背离所附权利要求阐明的本发明的精神和范围的情况下,可以对元件的功能和配置进4亍各种改变。在以下描述中给出了具体细节,以提供对实施例的全面理解。然而,本领域的普通^支术人员应理解,可以在没有这些具体细节的情况下实现该实施例。例如,为了避免以不必要的细节使实施例不清楚,可以在框图中示出电路。在其他实例中,为了避免使实施例不清楚,可以示出已知的电-各、处理、算法、结构、和冲支术而无需不必要的细节。同样,应当注意,可将实施例描述为如流程图、流程示意图、凄t据流程示意图、结构示意图、或框图所示的处理。虽然流程图可以将操作描述为顺序处理,但是可以并行或同时执行许多操作。另外,可以重新安^^操作的顺序。该处理在其4乘作完成时^皮纟冬止,但—其可以具有未包4舌在图中的其〗也步H处理可以^十应于方法、函凄t、进程、子例程、子程序等。在处理对应于函凄t时,其终止对应于调用函lt或主函数的函凄t返回。此外,如文中所公开的,术语"存储介质,,可以表示一个或多个用于存储数据的装置,其包括只读存储器(ROM)、随机存耳又存储器(RAM)、磁荷RAM、磁心存储器、磁盘存储介质、光存储介质、闪存装置和/或其他用于存储信息的机械可读介质。术语"计算机可读介质"包括但不限于便携式或固定的存储装置、光存储装置、无线通道、和能够存储、容纳或携带指令和/或数据的各种其他介质。此外,通过硬件、软件、固件、中间件、微码、硬件描述语言、或其任意组合来实现实施例。当在软件、固件、中间件或微码中执行时,纟丸行必要任务的程序代码或代码^:可^皮存储在诸如存储介质的机器可读介质中。处理器可以执行必要任务。代码段可以表示进程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构、或程序语句的任意组合。可以通过传递和/或接收信息、数据、自变量、参数、或存储内容来将代码段连接到另一代码段或硬件电路。可以通过包括存储器共享、信息传递、权标(token)传递、网络传输等任何适当的方式传递、转发、或传输信息、自变量、参数、数据等。参考图1A,示出了内容系统100-1的实施例。内容始发方106产生内容对象。包括在内容始发方106中的是内容4是供方108和内容来源站或网站116。内容对象是任意内容文件或内容流,并且可以包括例如软件、音频、视频、图像、数据、和/或文本。内容对象可以是实时转播的、被延迟的或^皮存储的。内容站116可位于内容提供方108的基础结构内和/或可选位置处。贯穿本说明书,可以参考内容对象、内容流和/或内容文件,^旦应理解,在那些术语出现的地方可以将其交替〗吏用。内容始发方106是内容对象的源或再分配器(re-distributor)。内容站116是由冲妻收方计算才几128经由互耳关网104可直冲妄或间接访问的互耳关网站点。通过内容站116使来自内容才是供方108的内容对象对于冲妾4欠方112是可用的。在一个实施例中,内容站116可以是可通过网络浏览器浏览内容的网站。在其他实施例中,可通过不同于网络浏览器的应用软件访问和/或由不同于个人计算机的设备访问内容站点116。在一些情况下,接收方计算机128可以作为内容始发方106,并且内容始发方106可以作为4妻收方计算才几128。接收方计算才几128接收内容对象并为4妻收方112处理该内容对象。接收方计算机128可以是个人计算机、媒体播放器、手持计算机、互联网应用机顶盒、电话、或能够接收内容对象的任何其他装置。在一些情况下,接收方计算机128可以是能互连到一起的许多计算装置。接收方计算机或其他装置128中的每一个都与互联网服务^是供方(ISP)或终端网络相关联。ISP是图1A中互联网104的一部分。每个ISP向一个或多个接收方计算机或其他装置128提供互联网连接性(connectivity)。4妻收方计算才几或其他装置128请求并4妾受用于对接收方112实现的内容对象。ISP与互联网104的其他网络一起工作以在内容始发方106和接收方计算机128之间分发内容。参考图1B,示出了内容系统100的实施例,其中,内容始发方106将内容对象的分发卸载到内容分发网络(CDN)110。CDN110用于卸载来自内容始发方106的一些或所有的内容对象分发。实施例可以4吏用多个CDN110或者可以具有与内容始发方106构成整体的CDN110。内容站点116可以位于内容提供方108的基础结构中、CDN110中、禾W或可选^f立置处。许多内容提供方108使用CDN110来向客户或接收方分发内容对象。在接收方请求内容对象时,CDN110恢复来自内容提供方108的该内容对象。可选地,内容提供方108可以直接将内容对象提供给CDNllO,即,在第一请求之前。然后,CDN110将内容对象^是供给冲妄收方112。内容^是供方108通常为内容对象的分发向CDN110付费。在其他实施例中,CDN110可以:帔控制或与内容^是供方108相关联,从而不进行付费。内容站点116上的链接和/或到各个内容对象的链接被构造为允许通过一个或多个CDN110进行分发。例如,在呈现网页之前或者在通过4吏用重定向〗敫活《连4妾之后可以重写链接。参照图2A,示出了呈现互联网104的路由选4奪细节的内容系统200-1实施例的框图。该实施例示出了构成互联网104的各个网乡各212、222、224之间的复杂关系。许多其4也的互连结构是可能的,并且为了清楚简化了该实施例而没有描述一些连4妄和网络。接收方计算机128通过终端网络224进行其互联网访问。涉及到冲妾收方计算才几128的分发的最后一个网络是终端网络224。终端网络224通常被称作互联网服务提供方(ISP)。通常,内容始发方106利用基本上包括终端网络224的互联网104将内容对象传递到才妄收方计算4几128。互联网104主要是同意免费(例如,对等关系)或支付一定费用来承载;f皮此网络流量的一组网络212、222、224。这些网络212、222、224包括第1层网络或全路由网络222、使用多个全路由网络的顶层网络212、以及终端网络224。可以利用通常是带宽控制或带宽限制的包交换连接或电路交换连接来实现各个网络212、222、224之间的互连。例如,第一内容始发方106-1可以10MB/min连接第一第l层网络222-l。过度利用的互连通常经受可包括低速和/或包丢失(packetloss)的差的QoS。第1层网络222是通常为接收或发送来自CDN110、终端网络224、和内容始发方106的内容对象付费的网络。第1层网络222是全路由网络,其中,可从任意第1层网络222获得任意网际协议(IP)地址。终端网络224使用第1层网络222的全路由能力来向通过终端网络224预定互联网服务的接收方计算机128提供全路由月l务。相反,内容始发方106和CDN^吏用全^各由月1务来将内容分发给任意IP地址。CDN110和内容始发方106可以具有与构成互联网104的各种网络212、222、224不同的协议。由于这些不同的协议,每个CDN110的分发成本可以因具体的接收方112或一妄收方112所选的^各由而变化。在该实施例中,CDN110具有两个出口点,即,第一出口点连到第一顶层网络212,并且第二出口点连到第三第1层网络222-3。由于顶层网全备212和第三第1层网全备222-3与CDN110的关系,所以CDN110可以使用它们中的任一个来分发内容对象。第一内容始发方106-1具有关于用于与互联网进行通信并分发内容对象的第一和第二第l层网络222-l、222-2的协议。第二内容始发方106-2将顶层网全各212用于通信和分发。每个第1层网络222均可以路由到所有终端网络224,但对于每个第1层网络222,特定端点的效率不同。所有第l层网络通常具有与其他第1层网络对等的关系,但第一第1层网络222-l不能将流量传递到另一个第1层网络222-2,其中,第一第l层网络222-l具有到与目标接收方计算才几128相关的用于流量的终端网络224的出口。例如,当第二第1层网络222-2接收用于分发到第三终端网络224-3的内容对象时,由于第二第1层网络222-2不具有到第三终端网络224-3的直接出口,所以内容对象可被传递到用于进行分发的第一或第三第1层网络222-l、222-3。在另一实例中,第一第1层网络222-1可以接收用于分发到第二终端网络224-2的内容对象,但即使这两个网络之间的互连被加载以致提供不充分的QoS,其也不得不试图将内容对象分发到第二终端网络224-2。顶层网纟各212通常具有与至少两个第1层网纟各222的互连。在该实施例中,顶层网络212具有与三个第1层网络222的互连。在其他实施例中,顶层网络212也可以具有与各种终端网络224的互连。代替使用第1层网络222或终端网络224,内容始发方106和CDN110可以使用顶层网络212来进行分发。在一些情况下,第l层网络222甚至可以将顶层网络212用于分发。例如,第二第l层网络222-2可以具有用于第二终端网络224-2的内容对象,但第二第1层网络222-2确定其与第二终端网络224-2的互连将^是供不充分的QoS。第二第1层网络222-2可以^吏用第一或第三终端网络224-1、224-3来将内容对象传递到顶层网络212,乂人而通过顶层网络212进行分发。顶层网络212可以至少两种方式进行路由。在第一模式下,顶层网络212利用效率指导路由选择来通过三个第1层网络进行路由。有效率的路由选择通常基于跳(hop)数和这些跳之间路由器的速度。例如,可以基于等待时间或其他传统:技术来选择有效或最佳的3各径。第一才莫式对应于传统3各由选冲奪方法。在某些点上,有效互连之一可能一皮利用超过阈值,其可以触发以第二才莫式进^^各由。顶层网络212可以利用三个连4妻的第l层网络222中的任一个来传送流量。如果一个互连被加载而超过阈值,则可以使用其它互连,即使其不是最佳的。由于第1层网络222中的任一个是全路由,所以即使处于较低QoS,向用于分发的次佳第1层网络222给出内容对象仍将产生到接收方计算机128的分发。过基于对效率的确定的传统算法而被选择。在以下实例中举例说明了路由选择模式之间的切换。顶层网络212与第三第1层网络222-3之间的互连能够达到例如50MB/min。在该实施例中,到第三乡冬端网^备224-3的4妄收方计算才几128-3的最有效率的3各径4吏用第三第l层网《各222-3。例如,当顶层网全各212和第三第1层网络222-3之间的互连达到40MB/min的利用阈值时,可以启动第二^各由选4奪方法。即4吏在正常情况下第一和第二第l层网络222-1、222-2是到第三终端网络224-3的不太有效的路由,第二路由选择模式下的顶层网络212也可以使用它们来开始路由到第三终端网络224-3的接收方计算机128-3。可以多种方式完成第二才莫式下的^各由选l奪。在一个实施例中,以随机或混合的方式进行所有路由选择。当任一互连达到阈值时,所有将来的内容对象都^皮分发到以不考虑在第一才莫式下实现的^各由选择优化的方式选择的第1层网络222。这些互连可被随机使用、以顺序方式分配、分配给最不常用的互连或一些其他非最佳^各由选才争的方法。通常,顶层网络212在重负载的情况下切换到次佳3各由,其中,该次佳路由保证尽可能避免对最佳第l层网络222的任何瓶颈。一旦利用率下降到第二阈值以下,则顶层网络212可以再次重新开始利用第一路由选择模式进行路由选择。接下来参照图2B,示出了呈现互联网104的路由选择细节的内容系统200-2的另一实施例的框图。在该实施例中,顶层网络212具有与两个第l层网络222-l、222-2以及一个终端网络224-3的互连。该乡冬端网全备224-34妄收来自第一第l层网全备222-1、第二第1层网络222-2和顶层网络212的连接性。该第三终端网络224-3为连接性向顶层网络212付费。当顶层网络212正路由到第三终端网络224-3时,第一才莫式下的路由选冲奪可以使用在顶层网络212与终端网络224-3之间的直接互连。切换到路由选择的第二模式会将第一和第二第1层网络222-l、222-2用作到第三组^^收方计算机128-3的附加3各由。在一个实施例中,第1层网络222可以与顶层网络212进行协商以分发内容。例如,在第一第1层网络222-1通过第一终端网络224接收用于分发的内容对象的情况下,第一第l层网络222-l可以确定该终端网络与第一第1层网络222-1的互连被过度利用。第一第1层网络222-1可以将内容对象分发切换到可以将其传递到例如用于分发的第二第1层网络222-2的顶层网络212。顶层网络212将为该能力收费,或者可以得到依靠将第一第l层网络222-1用于分发其他内容对象而付费的费用。接下来参照图2C,示出了呈现互耳关网104的^各由选冲奪细节的内容系统200-3的又一实施例的冲匡图。在该实施例中,不存在顶层网络,但第1层附加网络(plusnetwork)226允许通过其他第1层附加网络226以第二模式进行路由。第1层网络222不路由被指定去往它们与其互连的终端网^^的流量,^f旦是如果在第1层附加网绍_226与终端网络224之间的连接被加载得超过阈值,则第1层附力口网络226将进行该^各由。可通过一个实例来i兌明第1层附力。网纟各226和第l层网纟备222之间的差别。在该实例中,CDN110通过第三会冬端网《备来4妄收^皮指定去往第三组4妻收方计算才几128-3的内容对象。如果CDN110选才奪使用第1层网络222来发送内容对象,则在第l层网络222和终端网络224-3之间的任何瓶颈都将影响QoS。可选地,CDN110可以使用第二第1层附加网络226-2。如果第二第1层附加网络226-2和第三终端网络224-3之间的连接被利用超过某一阈值和/或QoS开始受损,则第二第1层附加网络226-2可以将内容对象传递到第一第1层附加网络226-1,以利用第一第1层附加网络226-1和第三终端网络224-3之间的连4妻。4妻下来参照图2D,示出了呈J见互I关网104的^各由细节的内容系统200-4的又一实施例的框图。在该实施例中,不存在描述的第1层网纟备,而所有网纟各都是第l层附力口网纟各226。在该实施例中,任意CDN110或内容始发方106^叉需要具有与单个第1层附加网络226的连接。只要与第1层附加网络226的连接未被覆盖,则对于互if关网104的其他部分有可能存在充分QoS。参照图3,示出了顶层网络212的实施例的片匡图。该实施例具有通过WAN320或其他中枢链^各连^妄到多个远程POP304的中央POP流量分配器316和内容请求4妄口314。各个实施例都可以具有;也理分布的4壬意凄t量的POP304以分发内容。每个POP304均具有与其他网络222、224、226的连冲妄,以与4妄收方计算才几128通信。在顶层网络212和其他网络222、224、226之间可以存在多个互连。多个连"t妾可以—皮分散在多个POP304中。例如,在芝加哥和迈阿密的POP304中,顶层网络212可以连接到的第1层网络222,而不在洛杉矶的POP304中则不^f亍。在存在多个互连的情况下,在以第一和第二路由选择模式进行操作时,顶层网络可以单独或共同地对其进行处理。例如,当与第1层网络222的芝加哥互连被利用超过阈值时,可以连同到其他第1层网络222的连接一起在以模式二进行路由选择时使用到同一第1层网络222的迈阿密连接。在POP流量分配器316和/或POP304中进行路由选择决定。在一个实施例中,POP流量分配器316选4奪POP304,并且POP304选^奪出口点。在另一实施例中,POP流量分配器316在CDN110中进行所有路由选择决定。其他实施例可以直接使POP304单独确定其是否将分发内容对象或停止将其分发到另一POP304。POP流量分配器316通过内容请求4妻口3144妻收对内容对象的请求,并将这些请求分配到最适于服务该请求的POP304。当以模式一或模式二进行路由选冲奪时,"最合适的"POP可以是不同的。通过WAN中枢《连^各320(例如,专用线、专用网、和/或互写关网104)进行在POP流量分配器316和POP之间的通信。在可选实施例中,可以用互4关网104上的隧道连冲妻或传统的互联网连4妻来代替WAN中才区4连^各320。在该实施例中,存在为对内容的i青求服务的三个POP304。POP304中的每一个均具有到各种第l层网络222、226和终端网络224的连接以为各个接收方计算机128服务。不同的POP304可以与不同的网络进行通信。POP流量分配器316知道对于每个POP304以及与特定4妻收方计算才几128相关的终端网络220、224的通信选项。只要特定POP304和/或连接未被利用超过阈值,POP流量分配器316就包括作为用于分发特定内容对象的可能选择的该POP304。一旦内容对象请求与特定POP304相关,则其就被服务或从该POP304中流出。即,在该实施例中,没有在多个用于分发的POP304之间分配特定内容对象。4妄下来参照图4A,示出了内容系乡充100的一部分400-1的实施例的框图,其示出了在特定地理区域中的网络交互。该实施例可以包括具有在网络之间的附加和冗余连接的附加地理区域,但在该附图中示出的简化实施例仅示出了在特定地理区域中的网络。多个内容始发方106连接到顶层网络212。在一个POP中,顶层网络212与三个第1层网络222和一个终端网纟各224-4互连。在该实施例中,当第四终端网络224为分发的内容付费时,可以通过4吏用任意第1层网络222来优化从顶层网络212到终端网络224的连接。在表I中示出了对于该实施例的各个路由路径。跳对应于在用操作。通常,每个额外的跳都增加了等待时间并增加了达到瓶颈的风险。例如,在路由到第一接收方组128-1时,一个路由具有三个3兆,而其他^各由具有四个跳。第一才莫式下的^各由选才奪可以基于最少的跳,但如果在顶层网络212和第一第1层网络222-1之间的连接被利用超过阈值,则路由选择可以切换到第二模式。在第二模式下,可以循环或随才几的方式来4吏用所有三个3各由,以在所有可能的^各径之间分配所有将来的分发流。可选地,第二才莫式可以去除一皮过度利用的路由并使用剩余的路由直到被排除的路由的利用率降低。表I.到接收方计算机组的路由可能性接收方组各个路由128-1106-x,212,222-1,224-1,128-1106-x,212,222-2,222-1,224-1,128-1106-x,212,222-3,222-1,224-1,128-1128-2106-x,212,224~2,128-2106-x,212,222-1,224-2,128-2106-x,212,222-2,222-1,224-2,128-2106-x,212,222-3,222-1,224-2,128-2128-3106-x,212,222-1,224-3,128-3106-x,212,222-2,224-3,128-3106-x,212,222-3,224-3,128-3128-4106-x,212,224-4,128-4106-x,212,222-2,224-4,128-4106-x,212,222-1,222-2,224-4,128-4106-x,212,222-3,222-2,224-4,128-4128-5106-x,212,222-3,224-5,128-5106-x,212,222-1,222-3,224-5,128-5106-x,212,222-2,222-3,224-5,128-5128-6106-x,212,222-2,224-6,128-6106-x,212,222-3,224-6,128-6106-x,212,222-1,222-2,224-6,128-6106-x,212,222-1,222-3,224-6,128-6参照图4B,示出了内容系统100的一部分400-2的实施例的框图,其示出了在特定地理区域中的网络交互。该实施例在由终端网《各224-1和内容始发方106^f吏用的该i也理区i或内具有两个第1层附加网络226和一个第1层网络222。表II示出了各种可用的路由选择项。即使在第1层附加网络具有与目标终端网络224的直接连接的情况下,也可以使用两个第l层附加网络之间的链接。表II用斜体字表示第1层附加网络226在第二路由选择模式下利用该链接。第1层附加网络226可以说明在第二^各由选裤"漠式下消^>的流量。可以对等协议之外的方式为该流量收费。例如,第一第l层附加网络226-1可以为将,皮指定去往第三终端网全备224-3的流量传递到第二第1层附加网络226-2而付费。相反,第二第l层附加网络226-2可以为爿务一皮指定去往第三终端网纟各224-3的流量传递到第一第1层附加网络226-1而付费。在一个实施例中,各种费用可以总计构成净得利润,以在进行周期性付费之前部分地删除其中的一部分。在该实施例中,当接收网络222、226具有到目标网络224的连接时,第1层附加网络或第1层网络222、226仅将流量传递到另一第1层附加网络或第1层网络222、226。其他实施例可以允许传送流量而不考虑是否存在连4妄。例如,在第一内容始发方106_1和第五组接收方计算4几128-5之间的下述^各由是可能的106-1、226-1、226-2、222、224-5、128-5。当对一个实施例触发了第二路由选^4莫式时,可4又以这种方式完成流量的移动。表n.到接收方计算机组的路由可能性接收方组各个路由128-1106-1,226-1,224-1,128-1106-2,226-2,226-1,224-1,128-1106-3,226-2,226-1'224-1,128-1106-4,222,226-1,224-1,128-.1106-4,226-1,224-1,128-1^128-2106-1,226-1,224-2,128-2106-2,226-2,226-1'224-2,128-2106-3,226-2,226-1,224-2,128-2106-4,226-1,224-2,128-2106-4,222,226-1,224-2,128-2128-3106-1,226-1,224-3,128-370(W,226-/,"6-2,"d106-2,226-2,224-3,128-3鮮2,"6-2,U,2沐3,屏32106-3層-3,106-4:層-《106-4,226-2,224-3,128-3"(5-二"(5-7,U肌3226-1,224-3,128-3226-/,226-2,224-3,WS-3222,224-3,128-3128-4106-1106-2106-3106-4:106-4,226-1,226-2,224-4,128-4226-2,224-4,128-4226-2,224-4,128-4226-1,226-2,224-4,128-4222,226-2,224-4'128-4128-106-1106-2;106-3106-4:106-4226-1,222,224-5,128-5226-2,222,224-5,128-5226-2,222,224-5,128-5226-1,222,224-5,128-5222,224-5,128-5128-6106-1106-1106-2106-3106-4106-4106-4.226-1,226-2,224-6,128-6226-1,222,224-6,128-6226-2,224-6,128-6226-2,224-6,128-6226-1,226-2,224-6,128-6226-1,222,224-6,128-6222,224-6,128-6接下来参照图4C,示出了内容系统100的一部分400-3的实施例的冲匡图,其示出了在特定;t也理区i或内的网l各交互。在该实施例中,存在用于在该地理区域内分发内容的三个第l层附力。网络226。表III示出了可用于各组4妄收方计算才几128的^各由。可通过4吏用第1层附加网络226代替传统的第1层网络222来使以斜体字表示的路由可用。表III.到接收方计算机组的路由可能性接收方组各个路由128-1106-1,226-1,224-1,128-1106-2,226-2,226-1,224-1,128-1106-3,226-2,226-1,224-1,128-1106-4,226-3,226-1,224-1,128-1128-2106-1,226-1,224-2,128-2106-2,226-2,226-1,224-2,128-2106-3,226-2,226-1,224-2,128-2106-4,226-3,226-1,224-2,128-2128-3106-1,226-1,224-3,128-37((W,"6-人"6-2,"¥-3,"S-3M6-入226-7,226-3,"4-3,106-2,226-2,224-3,128-3層-2,"S-3"6-2,22(5-3,224-3,72S-3106-3,226-2,224-3,128-3706-3,"6-2,226-人224-3'3-3106-4,226-3,224-3,128-3逼-《226-2,US-3肌《U2脂,22",,-3128-4106-1,226-1,226-2,224-4,128-4106-2,226-2,224-4,128-4106-3,226-2,224-4,128-4106-4,226-3,226-2,224-4,128-4128-5106-1,226-1,226-3,224-5,128-5106-2,226-2,226-3,224-5,128-5106-3,226-2,226-3,224-5,128-5106-4,226-3,224-5,128-5128-6106-1,226-1,226-2,224-6,128-6106-1,226-1,226-3,224-6,l8-6106-2,226-2,224-6,128-6<table>tableseeoriginaldocumentpage25</column></row><table>参照图5A,示出了在各路由选择方法之间切换的用于分发内容的处理500-1的实施例的流程图。该处理的描述部分以步骤504开始,其中,由顶层网络212或第1层附加网络226接收内容对象请求。这可以表示期望的内容对象的统一资源标识符(URI)或统一资源定位器(URL)形式。顶层网络212或第1层附加网络226可以确定来自十办i义层4屋手的i青求计算4几128的IP;也址以传递URI。该IP地址对应于终端网络224和普通地理区域。从该信息中,分析对等关系、POP地理位置和互连点以确定可能使用的POP304。在步骤508中,可以排除被利用超过阈值的任意POP304和互连点而不加以考虑。饱和的POP可以在所有互连点处完全々包和,或者在与相关对等网络222、226或终端网络224互连时部分々包和。例如,^各由到第六组4妾收方计算^几128-6产生关于两个i也理相异的POP304的以下表I中给出的可能路由。在该实例中,接收方计算机128-6位于菲尼克斯,AZ。第一POP304-1在图森,AZ附近并对应于图4A,以及第二POP304-2在纽约,NY附近并只于应于图4C。第六终端网络224-6可以在不同地理区域之间传递流量,从而可以将在纽约,NY中4妻收到的流量传递到图森,AZ或其他J也方的冲妻收方计算机128-6。在该实施例中,对于过度利用的阈值被设置为80%。由于第一POP304-1到4妾收方计算才几128-6的所有^各由超过阈^直而々包和,所以尽管第一POP304-1地理上更接近接收方计算机128-6,但还是将其排除而不加以考虑。该实施例仅考虑带宽的利用,j旦其他实施例考虑可能影响QoS的其4也资源的利用。例如,如果90%的处理资源有效,则可以4非除POP而不加以考虑。表iv.到第四组接收方计算机的路由可能性pop(或多个pop)可能的路由饱和度位于图森,AZ的304-1106-x,212,222-2,224-6,128-690%106-x,212,222-3,224-6,128-685%106-x,212,222-1,222-2,224-6,128-692%106-x,212,222-1,222-3,224-6,128-687%位于纽约,NY的304-2106-1,226-1,226-2,224-6,128-695%106-1,226-1,226-3,224-6,128-6350/0106-2,226-2,224-6,128-691%226-2,"6-3,"S-692%106-3,226-2,224-6,128-694%"6-2,U,2沐6,"S-633%106-4,226-3,224^6,128-630o/0層-《226-3,,-2,,-694%在步务聚512中,确定最有效率的出口点。在该实例中,第二POP304-2是在考虑中唯一剩余POP304,^旦在其他实施例中,更多的POP可利用,乂人而考虑来自多个POP的互连。在该实例中,第三内容始发方106-3是分发到第六接收方计算机128-6的内容对象的源。在第三内容始发方106-3和第二POP304-2之间存在两种3各由可能性,一种具有两个跳,而另一种具有三个3兆。在该实施例中,更有效率的路由是具有最少跳的那些路由,^f旦其他实施例可以其他方式确定效率。在步骤516中,将对内容对象的请求传递到第二POP304-2。一些实施例具有诸如终端网络224的较低成本路由。例如,图2B中的顶层网络212可以^各由到两个第1层网络222或终端网络224-3,但终端网络224-3可能具有较低成本或无成本。在步骤528中使用通常比较昂贵的全路由网络(例如,第1层网络和第1层附力口网络222、226)之前,在步骤518和520中,该实施例尝试路由到成本较低的网络。例如,在存在对等关系或较低成本网络的情况下,步骤518中的判定在步骤520中将请求传递到终端网络224,或者如果不存在终端网络224,则在步骤528中将请求传递到全^各由网络。在不存在具有成本优势的网络的情况下,从步骤518到步骤528传递请求,以选4奪用于进4亍分发的最有效率的全3各由网络。在该实施例中,一旦通过特定路由开始分发,就继续在该路由上进一亍分发,直到完成流或文件分发。对于步骤520,饱和度阈值被设置为某一值。开始,通过计算在一个实施例中消耗多少互连的带宽来确定饱和度。如果包丢失增加到超过某一水平,则即使出口点带宽未被完全消耗也可能被认为饱和,这是因为包丢失是作为在出口点和目的计算积J28之间存在另一带宽瓶颈的指示符。在终端网络224被确定为饱和的情况下,处理前进至步骤528以找到全路由网络的路由,而不是前进至步骤534以利用终端网络224分发内容对象。在对等网纟各连冲妄处于如步-骤520中所确定的々包和一犬态的情况下,在步骤528中将找到可选的全路由第1层网络或第1层附加网纟各222、226。在i亥实侈'j中,由于106-3至'J226-2至l)224-6gj128-6具有最少的3兆,所以其^皮i人为是最有效率的。受影响的POP304-1切换为将第六组接收方计算机128-6的所有新流量都分发到该路径直到第一POP304-1的々包和度降^f氐。在步骤524中,通过才企查来自第二第1层附加网络226-2的过度利用来检查所选路由是否饱和。其他实施例可以检查整个路径以找到路由中任意点的瓶颈。饱和度确定是出口点的理论带宽和/或包丟失的函数。带宽的过度利用或已观察到的包丢失会导致步骤524中第1层附加网络226-2和第六终端网络224-6之间的互连被过度利用的确定。在该实施例中,利用率阈值是90%,并且106-3到226-2到224-6到128-6的路由被利用到94%。如果利用率低于阈值,则处理将从步骤524传至步骤534,乂人而分发内容对象。如果如表IV的实例中所示在第1层附加网症各226-2和第六终端网络224-6之间的互连被过度利用,则如果可用的话,就通过一些其他路由来分发该内容对象。在步骤536中确定可选路由的列表,并在步骤540中将路由选择切换到第二模式。在该实例中,106-3到226-2到224-6到128-6的^各由是^f吏用三i兆而不是更有效率的两跳的可选路由,并且是过度利用的路由。在步骤544中的第二路由选择模式下,将路由至过度利用的路由的流量转到不太高效、但较少使用的路由。在存在多种选4争情况下,可以随机或混合的方式在其间分配内容对象,以普通地分配负载。在步骤544中存在选择其他路由的多种不同的可能算法。只要其他^各由还未々包和,则在一个或多个POP304中,这些算法通常就在各个网络222、224、226上分配流量。例如,可以通过第一POP304来为第一溢出请求服务并通过第二POP304来为下一溢出请求服务。代替考虑其他POP304,一些实施例仅将溢出路由至与发生饱详口的POP304才目关的其4也第l层网纟各或第l层附力口网纟各222、226。一些算法可以才艮据利用率、成本、和/或效率来对^各由的吸引性(attractiveness)进4亍力口一又。这些算法者卩不p长一》也基于乡文率,这是因为最有效率的网络222、224、226已经饱和。第一种路由选择模式采用所有未々包和的if各由并确定最有步丈率的一个或多个i各由。在过容对象请求。在存在多个成本水平的情况下,一种算法根据相关成本来对路由的吸引性进行加权。另一种算法是根据饱和度来分配请求,以使最不饱和的路由优于较饱和的路由。又一种算法采用所有路由并在它们间分配流量。一旦在步骤544中选择了可选路由,在步-骤534中才尤完成该:清求。内容的处理500-2的另一实施例的流程图。该实施例去除步骤520和528之间的链接,并在发现终端网络224饱和之后不寻找有效率的全路由网络222、226。在终端网络224饱和时处理从步骤520前进到步骤536。因此,在首选的终端网络224或全路由网络222、226饱和的情况下,分析可选的网络以寻找其他可能性。在一个实施例中,这具有在许多可选^各径上分配流量的作用。内容的处理500-3的又一实施例的流程图。直到在步骤516之后,该实施例才不同于图5A的实施例。在步-骤530中,确定最有效率的路由,其可以是到终端网络224、第l层网络222、或第1层附加网络226的出口。如果在步骤522中第一选择未饱和,则在步骤534中分发内容3于象。当初始3各由々包和时,处理继续至确定可选^各由的步-骤538。可以才艮才居当前的POP304、所有可能的POP304和/或所有未々包和的POP304选冲奪可选路由。在步骤542中,受影响的POP切换到基于除效率之外的因素进行^各由选4奪。例如,在可选^各由之中,可以顺序或随才几地分配^各由,其中,通过成本、々包和度和/或效率来对可选路由进行加权。在步骤546中选择用于具体请求的可选路由,并在步骤534中进行分发。在一个实施例中,切换到可选路由将超出量分配到可以分发一段内容的其他路由。尽管上面在々包和度方面描述了实施例,^f旦远在々包和之前就可以切换到可选路由的方法或第二模式。例如,切换可以是诸如40%、50%、60%、70%、或80%利用率的任意阈值。使用术语饱和度不一定意^^木着性能降〗氐。事实上,在一些实施例中,直到95%或更大的饱和度才会影响性能。在50%利用率处切换为可选路由将用于避免由于饱和度造成的任何降低性能的早期风险。在任何情况下,在不同实施例中饱和度阈值可被设置为任意值,例如,40%、50%、60%、70%、80%、90%、95%、或100%。上述多个实施例中的一些涉及以第一模式和第二模式进行路由选择的顶层网络和第1层附加网络。在其他实施例中,内容始发方还可以在其互连的分发网络中存在差异时以两种模式进行路由选择。同样,当进行互连网络的内容对象请求时,终端网络可以使用这两种路由模式。事实上,在其互连中具有差异的任意网络可以基于利用率确定以两种模式进行路由。在一个实施例中,两种模式的路由选4奪避免了瓶颈。尽管以上已结合特定装置和方法描述了本发明的原理,但是应清楚地了解,该描述仅作为实例,并不构成对本发明范围的限定。权利要求1.一种用于辅助在互联网上分发内容对象的分发网络,所述分发网络包括网络出口,其中所述网络出口连接到多个全路由网络,所述多个全路由网络中的每一个都能够将内容对象分发到多个终端网络,所述多个终端网络包括一个终端网络,以及所述多个终端网络连接到多个最终用户计算机;接口,接收用于分发到所述多个最终用户计算机的内容对象;以及路由选择功能元件,用于以至少两种模式路由内容对象,其中第一模式基于第一路由路径将内容对象从所述网络出口路由到所述终端网络,基于分发效率选择所述第一路由路径,第二模式利用第二路由路径将至少一些内容对象从所述网络出口路由到所述终端网络,在所述第一路由路径的至少一部分达到预定使用水平时,触发从所述第一模式到所述第二模式的切换,所述第一路由路径和所述第二路由路径不同,以及所述第二路由路径不如所述第一路由路径有效率。2.根据权利要求1所述的用于辅助在互联网上分发内容对象的分发网络,其中来自所述网络出口的用于所述第二^各由路径的出口使用直接连接到所述终端网络的全路由网络,以及还在所述第二路由路径中使用另一全路由网络以到达所述乡冬端网纟各。3.才艮据权利要求1所述的用于辅助在互联网上分发内容对象的分发网络,其中,在去往所述终端网络的途中,所述第二^各由^各径和所述第一^各由^各径通过相同的全^各由网络。4.根据权利要求1所述的用于辅助在互联网上分发内容对象的分发网全备,其中,在所述全^各由网络直4妾连4妄到流量—皮指定去往的所述终端网络时,所述多个全路由网络中的每一个并不将所述流量传递到另一全^各由网络。5.根据权利要求1所述的用于辅助在互联网上分发内容对象的分发网络,其中所述网络出口位于汇集点(POP),以及所述POP是地理分布的多个POP中的一个。6.才艮据权利要求1所述的用于辅助在互耳关网上分发内容对象的分发网络,还包括存储器,其中,所述存储器高速緩存所述内容对象中的至少一个。7.根据权利要求1所述的用于辅助在互联网上分发内容对象的分发网络,其中,所述内容对象是完整的文件或完整的流。8.—种用于在互if关网上分发内容对象的方法,所述方法包括以下步骤接收用于分发到所述互联网上的地址的内容对象;确定第一出口点和第二出口点能够路由到所述地址;确定与所述第二出口点相比所述第一出口点是到所述纟冬端网络的更有效率的路由;确定所述更有效率的^各由正在工作而^皮利用超过予贞定阈值;在所述有效率的-各由被利用超过所述预定阈值时,选冲奪所述第二出口点来分发所述内容对象;以及通过所述出口点来分发所述内容对象。9.才艮据权利要求8所述的用于在互联网上分发内容对象的方法,其中,所述第一出口点和所述第二出口点中的至少一个与全路由网纟各坤目关。10.根据权利要求8所述的用于在互联网上分发内容对象的方法,其中在多个全路由网络之间随机分配在达到所述预定阔值之后的内容对象的分发,以及所述第二出口点与所述多个全3各由网纟备中的一个互连。11.根据权利要求8所述的用于在互联网上分发内容对象的方法,其中,才艮据顺序算法在多个出口互连之间分配在达到所述预定阈值之后的内容对象的分发。12.才艮据权利要求8所述的用于在互联网上分发内容对象的方法,其中,^吏用加一又算法来在多个出口互连之间分配在达到所述预定阈值之后的内容对象的分发。13.根据权利要求8所述的用于在互联网上分发内容对象的方法,其中<吏用加—又算法来在多个出口互连之间分配在达到所述预定阈值之后的内容对象的分发,以及利用带宽成本、等待时间、包丢失、或最大带宽中的至少一个来对所述加一又算法进^于加^又。14.根据权利要求8所述的用于在互联网上分发内容对象的方法,其中,根据顺序算法在多个出端口点互连之间分配在达到所述预定阈值之后的内容对象的分发。15.根据权利要求8所述的用于在互联网上分发内容对象的方法,其中,所述预定阈值是所述第一出口点的容量的百分比。16.根据权利要求8所述的用于在互联网上分发内容对象的方法,其中,由所述第一出口点的包丢失率限定所述预定阈值。17.根据权利要求8所述的用于在互联网上分发内容对象的方法,其中,与所述第二出口点相比,所迷第一出口点具有分发所述内容对象的较低成本。18.—种用于在互4关网上分发内容对象的方法,所述方法包4舌以下步骤接收用于分发到最终用户计算机的内容对象,其中,所述最终用户计算冲几由地址表示;确定所述地址与终端网纟备相关;确定第一出口点、第二出口点、和第三出口点;各由到所述终端网络;确定所述第一出口点是到所述终端网络的更有效率的路由;确定所述更有效率的路由被利用超过预定阈值;在所述有效率的路由被利用超过所述预定阈值时,选择所述第二出口点或所述第三出口点中的一个出口点来分发所述内容-于象;以及通过所述一个出口点分发所述内容对象。19.根据权利要求18所述的用于在互联网上分发内容对象的方法,其中,在去往所述终端网络的途中,所述第二^各由^^径和所述第一^各由^^径通过相同的全^各由网络。20.4艮据权利要求18所述的用于在互联网上分发内容对象的方法,其中,选4奪所述一个出口点,而不考虑通过所述一个出口点开始分发的路由选择效率。21.根据权利要求18所述的用于在互3f关网上分发内容对象的方法,其中所述分发步-骤包4舌通过至少两个全^各由网全备分发所述内容对象的步骤,以及所述至少两个全^各由网络直4妄连4妄到所述终端网络。22.根据权利要求18所述的用于在互联网上分发内容对象的方法,其中,以下述方式中的至少一种选择所述一个出口点以循环方式,随才几i也,或者顺序;t也。23.根据权利要求18所述的用于在互联网上分发内容对象的方法,其中所述第一出口点位于第一地理位置,所述第二出口点位于第二地理位置,以及所述第一i也理位置不同于所述第二;l也理位置。24.4艮据权利要求18所述的用于在互耳关网上分发内容对象的方法,其中所述第一出口点位于第一POP中,所述一个出口点^立于不同于所述第一POP的第二POP中。全文摘要分发网络包括网络出口、接口和路由选择功能元件。该网络出口连接到多个全路由网络,其中的每一个均能将内容对象分发到多个终端网络。最终用户计算机可以连接到终端网络的终端。接口接收分发到多个计算机的内容对象。路由选择功能元件的两种模式基于从网络出口到终端网络的第一路由路径以及从网络出口到终端网络的第二路由路径路由内容对象。基于分发效率选择第一路由路径,并且在第一路由路径达到使用的预定使用水平时,触发从第一模式到第二模式的切换。第一路由路径和第二路由路径不同,并且第二路由路径不如第一路由路径有效率。文档编号G06F11/00GK101263460SQ200680033914公开日2008年9月10日申请日期2006年8月1日优先权日2005年8月1日发明者内森·F·拉奇博尔斯基,迈克尔·M·哥顿申请人:杰出网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1