CN101501669A - 域名解析资源分配 - Google Patents

域名解析资源分配 Download PDF

Info

Publication number
CN101501669A
CN101501669A CNA2006800484376A CN200680048437A CN101501669A CN 101501669 A CN101501669 A CN 101501669A CN A2006800484376 A CNA2006800484376 A CN A2006800484376A CN 200680048437 A CN200680048437 A CN 200680048437A CN 101501669 A CN101501669 A CN 101501669A
Authority
CN
China
Prior art keywords
server
dns
dns solution
address
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
Application number
CNA2006800484376A
Other languages
English (en)
Inventor
尼尔斯·H·麦卡锡
布拉德·B·哈维尔
李·A·斯塔福德
加里·S·巴尔杜斯
迈克尔·M·哥顿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Edgio Inc
Original Assignee
Limelight Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Limelight Networks Inc filed Critical Limelight Networks Inc
Publication of CN101501669A publication Critical patent/CN101501669A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在一个实施例中公开了一种用于通过互联网分发内容的内容分发网络(CDN)。CDN被配置为对其他网络分发内容并包括域解析服务(DNS)服务器、高速缓存服务器和互联网接口。DNS服务器接收第一域解析请求并产生第一DNS解决方案,以及接收第二域解析请求并产生第二DNS解决方案。第一和第二域解析请求对应于相同的域。高速缓存服务器对应于多个地址。接口接收包括第一和第二域解析请求的域解析请求,并传送包括第一和第二DNS解决方案的DNS解决方案。第一DNS解决方案包括与多个高速缓存服务器的至少第一子集相对应的第一多个地址,以及第二DNS解决方案包括与多个高速缓存服务器的至少第二子集相对应的第二多个地址。第一DNS解决方案与第二DNS解决方案的不同之处在于第二子集包括未在第一子集中的高速缓存服务器的地址。第二子集被选择来与第一子集的处理能力大体上相匹配。

Description

域名解析资源分配
相关申请的交叉参考
本申请要求于2005年11月21日提交的未授权的美国专利申请第11/284,493号和于2006年9月11日提交的未授权的美国专利申请第11/530,790号的权益,其全部内容清楚地结合于此作为参考。
技术领域
本发明大体上涉及内容分发,更具体地但不限于,涉及域名服务(DNS)解析。
背景技术
许多网站都使用内容分发网络(CDN)来更高效地分发内容。CDN可以寄存(host)、镜像和/或高速缓存内容,以及将其分发给请求方。网站或源服务器(origin server)被链接至CDN,以使一些或全部内容可以来源于CDN而不是网站。通过CDN实现链接的这种处理通常对于用户是透明的。
对于CDN可能难以对大事件的单播进行高效地分发。CDN在一个较短的时间段内将诸如文件或流的内容对象分发给好几万个接收方。这些大事件会淹没(overwhelm)服务资源。在接入点(POP)或各个服务器饱和的情况下,用户可能体验到不令人满意的服务质量(QoS)。为了避免这些瓶颈,CDN通常过量建置(overbuild)其服务资源和POP。由于过量建置是效率低的并且可能导致增加的费用和在正常工作状况下所不需要的复杂性,因此不期望过量建置。
域名服务(DNS)用于解析一个IP地址或一组IP地址,用于分发到接收方的对象或流应源自该IP地址或该组IP地址。用户的本地DNS递归器(recursor)参与一系列授权以解析将提供(source)数据的服务器的实际IP地址。通过授权处理,将对数据的请求路由至服务器,该服务器可以是能提供数据的多个服务器中的一个。
在DNS解析处理期间,可以提供一个或多个可选的服务器地址。可选服务器中的任一个均可以被用于提供与所请求的域相关的数据。在提供了少量服务器地址的情况下,和/或在向每个用户DNS递归器给出具有首先列出相同服务器的DNS解决方案的情况下,服务器可能过载并且提供较差的QoS。对于该问题的一种解决方案是“循环DNS”,其中,在每个DNS解析中给出的IP地址是相同的,但为了在所有的服务器上更均匀地分配内容请求,因此对于每个DNS解决方案IP地址的顺序是可变化的。
在可以期望更多数量的服务器地址的情况下,通常在用户网络防火墙和其他安全边界处遇到对DNS解决方案包大小的限制,因此存在对可以包括在这种解决方案中的IP地址数量的限制。典型的限制可以在16至20个IP地址的范围内。在本领域中,已知两种方法,其通常被采用以在该限制附近起作用并能够利用超过DNS解决方案包大小限制的更多服务器。一种方法是使用负载平衡交换机(switch)来虚拟化IP地址。以这种方法,少量逻辑IP地址被返回到DNS解决方案包中;通过负载平衡交换机来截取内容请求;以及该交换机对应于物理服务器将这些请求映射为更多个(通常是很多)的物理IP地址。交换机是“负载平衡”交换机,这是因为除了能够虚拟化服务器地址之外,其另一个功能是在所有服务器上平衡负载,在该交换机的其他作用中,通常使循环DNS是多余的(因为即使所有内容请求都获得单独的逻辑IP地址,交换机也可以在物理IP地址之间分配负载)。因此,在该方案的一个实例中,16个逻辑IP地址被返回到每个DNS解决方案中;所有的内容请求都指向这16个逻辑IP地址中的一个;负载平衡交换机将16个逻辑IP地址转换为60个物理服务器IP地址;并且交换机在所有60个服务器上平衡负载。
解决该DNS解决方案包限制问题的第二种方法是通过使用用于站点的每个部分的主机名(“主机名”是网站名左边的URL的一部分,例如,在URL img.foo.com中,“img”就是主机名)将内容站划分为多个、较小的逻辑站。作为实例,如果foo.com需要的服务器数量多于能够在DNS解决方案包中返回的服务器的限制数量,则可以将其划分为部分-A.foo.com、部分-B.foo.com、和部分-C.foo.com。当请求了DNS解析时,可以为每个主机名提供不同的服务器地址,从而(在该实例中)使可以用于提供内容的服务器的数量增至三倍。当使用该方法时,由于改变在部分-A.foo.com的DNS解决方案中所呈现的IP地址的顺序可以有助于在所有服务器上更均衡地分配内容请求,因此循环DNS仍然是有用的。然而,这两种方法都具有局限性。
发明内容
在一个实施例中,本公开提供了一种用于通过互联网分发内容的内容分发网络(CDN)。该CDN被配置为对其他网络分发内容,并且包括域解析服务(DNS)服务器、多个高速缓存服务器和互联网接口。DNS服务器接收第一域解析请求并产生第一DNS解决方案,以及接收第二域解析请求并产生第二DNS解决方案。第一和第二域解析请求对应于相同的域。高速缓存服务器对应于多个地址。接口接收包括第一和第二域解析请求的域解析请求,并传送包括第一和第二DNS解决方案的DNS解决方案。第一DNS解决方案包括与多个高速缓存服务器的至少第一子集相对应的第一多个地址,以及第二DNS解决方案包括与多个高速缓存服务器的至少第二子集相对应的第二多个地址。第一DNS解决方案与第二DNS解决方案的不同之处在于第二子集包括未在第一子集中的高速缓存服务器的地址。第二子集被选择来大体上与第一子集的处理能力相匹配。
在另一实施例中,本公开提供了一种用于通过互连网分发内容的方法。在第一步骤中,接收第一域解析请求。产生并返回与第一域解析请求相对应的第一DNS解决方案。接收第二域解析请求。产生并返回与第二域解析请求相对应的第二DNS解决方案。第一和第二域解析请求对应于相同的域或内容始发方。多个服务器对应于多个地址。第一DNS解决方案包括与多个服务器的至少第一子集相对应的第一多个地址。第二DNS解决方案包括与多个服务器的至少第二子集相对应的第二多个地址。第一数量的地址包括至少一个与第二多个地址不同的地址。第二子集被选择以大体上与第一子集的处理能力相匹配。
在另一实施例中,本公开提供了一种用于通过网络分发内容的方法。接收第一域解析请求。确定一组分配给域的多个服务器。产生和返回与第一域解析请求相对应的第一DNS解决方案。接收第二域解析请求。产生与第二域解析请求相对应的第二DNS解决方案。利用网络接口返回第二DNS解决方案。第一和第二域解析请求表示域。服务器的数量对应于多个地址。第一DNS解决方案包括与该组的至少第一子集相对应的第一多个地址。第二DNS解决方案包括与该组的至少第二子集相对应的第二多个地址。第一DNS解决方案包括不在第二DNS解决方案中的地址。第二子集被选择以大体上与第一子集的处理能力相匹配。
在另一实施例中,本公开提供了一种用于通过互联网分发内容的内容分发网络(CDN),其中,该CDN被配置为分发其他网络的内容。在CDN中包括有多个高速缓存服务器、与互联网的接口、以及第一和第二DNS解决方案功能。高速缓存服务器的数量对应于第三多个服务器地址。第一多个服务器地址是第三多个服务器地址的第一子集。第二多个服务器地址是第三多个服务器地址的第二子集。在DNS解决方案中使用第三多个服务器地址。接口被配置为接收多个域解析请求并传送与多个域解析请求相对应的多个DNS解决方案。第一DNS解决方案功能与第一域相关联,以及第二DNS解决方案功能与第二域相关联。第一DNS解决方案功能产生对应于第一域的第一多个DNS解决方案,其中,第一多个DNS解决方案彼此不同。第一多个DNS解决方案中的每一个均包括至少一些第一多个服务器地址。第二DNS解决方案功能产生对应于第二域的第二多个DNS解决方案,其中,第二多个DNS解决方案彼此不同。第二多个DNS解决方案中的每一个均包括至少一些第二多个服务器地址。
根据下文中所提供的详细描述,本公开的进一步应用领域将变得显而易见。应当理解,在描述各种实施例的同时,详细描述和具体实例仅用于说明的目的,而并不旨在限定本公开的范围。
附图说明
结合附图描述本公开:
图1A-图1D是内容系统的实施例的框图;
图2是内容分发网络(CDN)的实施例的框图;
图3是接入点(POP)的实施例的框图;
图4A-图4B是用于发布域名服务(DNS)解决方案的处理的实施例的流程图;以及
图5是用于对CDN所服务的域的服务器分配进行动态调整的处理的实施例的流程图。
在附图中,类似的部件和/或特征可具有相同的参考标号。此外,可以通过在参考标号之后加上用于区分类似部件的破折号和第二标号来区分相同类型的各个部件。如果在本说明书中仅使用了第一参考标号,则该描述可应用于具有相同第一参考标号的类似部件中的任一个,而与第二参考标号无关。
具体实施方式
以下的描述仅提供了优选的示例性实施例,而不用于限制本发明的范围、可应用性或配置。更确切地,优选示例性实施例的以下描述将能够向本领域技术人员提供实现本发明的优选示例性实施例的描述。应当了解,在不背离所附权利要求阐明的本发明的精神和范围的情况下,可以对元件的功能和配置进行各种改变。
在以下描述中给出了具体细节,以提供对实施例的全面理解。然而,本领域的普通技术人员应理解,可以在没有这些具体细节的情况下实现该实施例。例如,为了避免以不必要的细节使实施例不清楚,可以在框图中示出电路。在其他实例中,为了避免使实施例不清楚,可以示出已知的电路、处理、算法、结构、和技术而无需不必要的细节。
同样,应当注意,可将实施例描述为如流程图、流程示意图、数据流程示意图、结构示意图、或框图所示的处理。虽然流程图可以将操作描述为顺序处理,但是可以并行或同时执行许多操作。另外,可以重新安排操作的顺序。该处理在其操作完成时被终止,但其可以具有未包括在图中的其他步骤。处理可以对应于方法、函数、进程、子例程、子程序等。在处理对应于函数时,其终止对应于调用函数或主函数的函数返回。
此外,如文中所公开的,术语“存储介质”可以表示一个或多个用于存储数据的装置,其包括只读存储器(ROM)、随机存取存储器(RAM)、磁荷RAM、磁心存储器、磁盘存储介质、光存储介质、闪存装置和/或其他用于存储信息的机械可读介质。术语“机械可读介质”包括但不限于便携式或固定的存储装置、光存储装置、无线通道、和能够存储、容纳或携带(多个)指令和/或数据的各种其他介质。
此外,通过硬件、软件、固件、中间件、微码、硬件描述语言、或其任意组合来实现实施例。当在软件、固件、中间件或微码中执行时,执行必要任务的程序代码或代码段可被存储在诸如存储介质的机器可读介质中。处理器可以执行必要任务。代码段可以表示进程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构、或程序语句的任意组合。可以通过传递和/或接收信息、数据、自变量、参数、或存储内容来将代码段连接到另一代码段或硬件电路。可以通过包括存储器共享、信息传递、权标(token)传递、网络传输等任何适当的方式传递、转发、或传输信息、自变量、参数、数据等。
参考图1A,示出了内容系统100的实施例,其中,内容始发方106将内容对象的分发卸载到内容分发网络(CDN)110。在一个实施例中,内容系统100可以对内容对象或流的服务器资源分配进行动态地调整,来按照任何给定的要求等级达到更好的资源等级。内容始发方106产生内容对象。在内容始发方106中包括内容提供方108以及内容来源站或网站116。内容对象是任意内容文件或内容流,并且可以包括例如软件、音频、视频、图像、数据、和/或文本。内容对象可以是实时转播的、被延迟的或被存储的。内容站116可位于内容提供方108的基础结构内、CDN 110内和/或可选位置处。贯穿本说明书,可以参考内容对象、内容流和/或内容文件,但应理解,在那些术语在其可能出现的所有地方都可以将它们交替使用。
许多内容提供方108使用CDN 110来将内容对象分发给用户或接收方。当接收方请求了内容对象时,CDN 110从内容提供方108检索该内容对象。可选地,内容提供方108可以直接将内容对象提供给CDN 110,即,在第一请求之前。然后,CDN 110将内容对象提供给接收方。内容提供方108通常为内容对象的分发而向CDN110付费。在其他实施例中,CDN 110可以受控于内容提供方108或者与内容提供方相关联,从而不进行付费。
内容始发方106是内容对象的来源或再分配器。内容站116是由接收方计算机128经由互联网可直接或间接访问的互连网站点。在一个实施例中,内容站116可以是可通过网络浏览器观看内容的网站。在其他实施例中,可通过不同于网络浏览器的应用软件访问和/或由不同于个人计算机的设备访问内容站116。内容站116上的链接和/或到各个内容对象的链接被构造为允许通过一个或多个CDN 110进行分发。可以通过使用重定向来在呈现网页之前或在激活链接之后重写这些链接。
接收方计算机128接收内容对象并为接收方处理该内容对象。接收方计算机128可以是个人计算机、媒体播放器、手持计算机、互联网设备、电话、或能够接收内容对象的任何其他装置。在一些情况下,接收方计算机128可以是能被联网到一起的多个计算装置。
接收方计算机或其他装置128中的每一个都与互联网服务提供方(ISP)132相关联。每个ISP 132向一个或多个接收方计算机或其他装置128提供互联网连接性(connectivity)。除了由接收方计算机或其他装置128和/或路由器、网关、或应用软件执行的任何高速缓存之外,ISP 132还可以提供DNS高速缓存。当将DNS解决方案提供给任何DNS高速缓存器时,生存时间周期表示何时不再使用该特定解决方案,以请求新的DNS解决方案来允许解析特定的域。接收方计算机或其他装置128请求并接受用于对接收方实现的内容对象。CDN 110能够确定与特定接收方计算机128相关联的特定ISP 132。
内容系统100还包括域名服务(DNS)服务器140,其有时被称为“名称服务器”。解析用于作为特定内容对象来源的特定服务器的特定地址是DNS服务器140所允许的一部分。
参考图1B,示出了内容系统100-2的另一实施例,其中,内容始发方106将内容对象或流的分发卸载到受控(captive)的CDN110-1。在图1A的实施例中,CDN 110是相对于内容始发方106的第三方。在该实施例中,受控的CDN 110与内容始发方106相关联并被选择性地用于分发内容对象。对于受控的CDN 110,可以将CDN 110的功能与内容始发方106的其他功能相结合和/或相分离。例如,可以将受控的CDN 110的一部分集成到内容始发方106中,反之亦然。
接着参考图1C,示出了内容系统100-3的又一实施例,其中,内容始发方106可以选择将内容对象或流的分发卸载到受控的CDN 110-1或外部CDN 110-2。路由算法被用来选择两个CDN 110之中的一个。可以将内容始发方106的多个域划分到两个或更多个CDN 110之间。例如,将一个域分配给外部CDN 110-2从而由该CDN 110-2来维护所有请求,而由受控的CDN 110-1来维护其他域。
参考图1D,示出了内容系统100-4的又一实施例,其中,示出了多个内容始发方106。通常,外部CDN 110对多个内容始发方106的多个域进行操作。在具有受控的CDN 110的实施例中,还可以具有与相关的内容始发方106相关联的多个域。DNS服务器140将内容始发方106的域解析成服务器IP地址。
接着参考图2,示出了CDN 110的实施例的框图。在该实施例中,CDN 110可以是受控的或外部的。多个接入点(“POP”)204与CDN 110相关联并且可以作为多个域的来源。除非原始的(多个)POP 204被淹没,否则一些域可能仅由某些POP 204来维护。通常,POP 204在互联网上是地理上分散的。
可以将内容始发方106人工分派给一个或多个POP 204,或者可以根据通过自动POP资源管理器216的确定来将内容始发方106自动地分派给一个或多个POP 204。POP资源管理器216功能可以位于一个站点或被分配给多个站点,包括分配给CDN中的每个POP204。在一些实施例中,在内容始发方106分派期间可以考虑POP204的服务器资源、容量、和活动性(activity)。当在POP 204处的服务器资源被完全分派和/或在POP 204处的活动性、或活动性的特定子集上升到超过限定阈值的等级时,POP资源管理器216可以帮助高活动性POP 204提供包括了来自其他POP 204的内容服务器资源的DNS解决方案。
WAN 220允许在POP 204之间以及在POP 204和POP资源管理器216之间进行通信。在许多情况下,WAN 220可以比互联网104更快地传送信息。可以通过WAN 220在POP 204之间通信和/或由POP资源管理器216监控服务器可用性和健康检查(工作特性)、以及与特定内容始发方106、内容对象、或域相关联的活动等级。当一个POP 204与另一个POP 204进行通信时,可以利用WAN220来进行该通信。例如,一个POP 204可以通过直接通信或者通过从该POP资源管理器216或在其他POP 204中的POP资源管理器216中获得报告来确定其他POP 204的活动水平或资源利用率。
参考图3,示出了POP 204的实施例的框图。POP 204作为来自任意数量的内容服务器308的内容对象的来源。在该实施例中,每个内容服务器308均具有数据高速缓存器312,而其他内容服务器308可以寄存域而不进行高速缓存,以使内容对象不会与内容服务器308动态地相关或不相关。在内容服务器308不具有存储在数据高速缓存器312上的请求的内容对象的情况下,可以从该POP204中的另一个内容服务器308、另一个POP 204或内容始发方106的原始服务器中请求该内容对象。在进行请求之后,将内容对象存储到数据高速缓存器312中,直到不活动或其他高速缓存算法将此内容对象从数据高速缓存器312中推出。
在该实施例中,POP 204至少使用三种类型的网络,具体地,为互联网104、WAN 220和LAN 304。通常,LAN 304用于在POP204内进行通信,互联网104用于接收域解析请求和内容对象请求,以及WAN 220用于在CDN 110内进行通信。使用诸如隧道(tunneling)或者虚拟专用网络的技术、或者简单地通过利用标准互联网通信协议,可以经由互联网来实现WAN 220。在特定POP 204不具有已存储的请求的内容对象的情况下,可以通过WAN 220从另一POP 204处请求该内容对象。如果缺少的内容对象没有存储在另一POP 204上,则可以向内容始发方106请求该内容对象。
POP DNS服务器340接收域解析请求。POP DNS 340在DNS解决方案中将特定域解析为一个特定的IP地址或一组IP地址,其中,每个IP地址均针对可作为内容对象资源的(多个)服务器。POP DNS服务器340返回在该POP或CND 110的另一POP 204中的一个或多个内容服务器308的IP地址。特定的DNS解决方案通常提供了可用于服务特定域的多个内容服务器IP地址以及DNS解决方案的生存时间(例如,2分钟、5分钟、10分钟、30分钟、1个小时、5个小时等)。特定的IP地址通常可以对应于单个服务器,但也可以对应于可根据该IP地址访问的一组服务器。
在DNS解析期间,基于内容始发方106、被解析的域、所请求的具体内容对象、和/或其他因素,POP DNS服务器340确定要分配的内容服务器308的适当数量。在各个实施例中,用于特定DNS解决方案中的内容服务器308的适当数量是基于在POP 204处或可选地在POP 204和一个或多个其他POP 204处可用的内容服务器308总数、与内容始发方106、被解析的特定域、和/或所请求的特定内容对象相关联的活动性的整体活动等级。
在一个实施例中,内容服务器308的适当数量是最小数量,或者从诸如4、8、16等值的列表中选取的最小的特定数量,其被认为足以维护与内容始发方106、被解析的域、或所请求的特定内容对象相关联的活动性的整体活动等级,以使内容服务器308的数量足够并且将(多个)内容对象的存储和/或内容服务器308的利用集中在POP 204中的特定多个所有内容服务器308上。通常,在特定多个所有内容服务器308上的集中少于在POP 204处可用的全部内容服务器。当与内容始发方106、被解析的特定域、或所请求的特定内容对象相关联的活动性的整体活动等级改变时,内容服务器308的数量可以平滑地(例如,每次一个)或阶梯地(例如,每次四个)改变。可以周期性地确定内容服务器308的适当数量并将其存储在表格中用于在每次DNS解析时查询,或者可以为每次DNS解析动态地计算该内容服务器308的适当数量。当确定了内容服务器308的适当数量时,POP DNS服务器340保留该数量的特定内容服务器308的列表,以使在与特定内容始发方106、被解析的域、或特定内容对象相关联的该DNS解析和未来的DNS解析时返回特定内容服务器308的IP地址。以这种方式,可以将DNS解决方案分配给相同的特定服务器组或该组中的一个子集。
POP DNS服务器340还通常通过模拟内容对象请求并测量服务器的响应时间来监控每个内容服务器308的可用性和健康,以确定服务器是否在正常工作。如果POP DNS服务器340确定特定的内容服务器308已出故障或者未正常工作,则POP DNS服务器340可以从出现了该特定内容服务器308的特定内容服务器308的所有列表中永久或暂时地删除该特定内容服务器308,并且如果另一个内容服务器308是可用的,则用该另一个内容服务器308代替内容服务器308的每个列表上的该特定内容服务器。不同列表可以接收不同的代替内容服务器308。例如,基于这些分析和步骤,可以响应于给定的DNS解析请求来提供更多的内容服务器IP地址;可以从用于该特定对象的更多内容服务器的总体中选取更多的内容服务器IP地址;和/或可以避免不工作的或工作差的内容服务器的IP地址。
在最终提供DNS解析(即,DNS解决方案集)时,POP DNS服务器340不一定返回对于给定DNS解析的列表上的所有内容服务器308的所有IP地址。在许多情况下,例如,返回来自该列表的IP地址的子集,以使DNS解决方案的数据大小(例如,IP包大小)不大于所期望的数据大小。在POP DNS服务器340确定其会返回少于列表上所有IP地址的DNS解决方案组的情况下,从列表中选择IP地址可以通过以循环方式通过列表旋转解决方案来随机地进行,或者其可以基于其他标准,例如,服务器负载等级。在一个实施例中,一旦确定了DNS解决方案集,将随机化或“混洗(shuffle)”返回的IP地址的顺序。在其他实施例中每当针对给定的内容始发站106、域、或特定内容对象执行DNS解析时,可以一些其他方式改变IP地址的顺序,或者可以不做任何改变。
每个POP 204均可以具有多个POP DNS服务器340。在一个实施例中,每个POP DNS服务器340可以在域解析期间执行所有必需的POP DNS服务器340的功能,以使POP DNS服务器340可以完成整个DNS解析处理,而不用将任何DNS解析处理授权或分配给另一个POP DNS服务器340。换句话说,当使用POP DNS服务器340时,一旦接收到域名解析请求,POP DNS服务器340就由始至终处理给定的域名解析请求。如果在给定的POP 204处存在多于一个的POP DNS服务器340,则在此实施例中可以利用在出现故障的情况下提供了特定POP DNS服务器340的冗余度的重叠程度来将各个POP DNS服务器340分配给所服务的域的子集。在其他实施例中,可以循环方式或根据一些其他的分配方案将DNS解析请求随机地分配到POP 204中的POP DNS服务器340之间,或者可以存在域分配与随机或循环分配的请求的组合。在该实施例中,使在给定的POP 204中的POP DNS服务器340同步并一致地工作以分担POP 204的DNS解析请求负载。也可以使在多个POP 204中的POP DNS服务器340同步并一致地工作。对于冗余度,在一个实施例中,POP DNS服务器340的数量是两个或以上,但在一些实施例中通常大于两个以改善QoS。
基本上通过与在给接收方计算机128的DNS解决方案中所呈现的IP地址相关联的内容服务器308来服务内容对象请求。ISP132和/或接收方计算机128可以将内容对象请求引导到DNS解决方案中的任何内容服务器308的IP地址。所选择的内容服务器308向接收方计算机128提供内容对象。内容服务器308可以是与IP地址相关联的单个服务器或者一组服务器。
在一个实施例中,DNS解决方案被限定为x个内容服务器IP地址。特定域、内容始发方和/或内容对象被分配多个特定的内容服务器308,y。该分配取决于与域、内容始发方和/或内容对象相关联的活动等级,以及可选地,取决于相关联的维护等级。可以通过另外分配一个或多个内容服务器来增加分配量。这y个内容服务器308可以是多于x个或少于x个。在y小于x的情况下,在每个DNS解决方案中均使用了所有y个内容服务器308。在特定分配的内容服务器308变得不健康、工作差、或超出阈值被利用的情况下,可以将其从分配中删除,并且可以代替它来分配其它内容服务器308(如果其可利用)。POP DNS 340还了解服务器分配的“起始点”,并且了解哪个服务器具有适当的资源和/或可用的容量,并且可以使其与分配前特定域所需的适当的资源和/或可用的容量相匹配。该实施例基于域进行分配,但是其他实施例可以基于内容始发方或内容对象进行分配。
表I示出了12个内容域在特定的POP 204的12个内容服务器308之间的分配。在该实施例中,一些域被分配了4、8、或12个内容服务器308。对于特定域进行交错分配以使服务一个域的内容服务器308不可能是用于另一个域的所有内容服务器308。
Figure A200680048437D00241
可以由POP DNS服务器340基于内容对象请求的数量、带宽总量、内容对象的数量、或其他衡量标准,来确定与内容始发方106、被解析的域、或所请求的特定内容对象相关联的活动等级。在该实施例中使用了关于在特定内容服务器308上的域的活动等级,但是其他实施例也可以确定内容始发方或内容对象的活动。在各个实施例中,活动等级的粒度(granularity)可以为每(多个)软件服务、(多个)硬件组件、(多个)服务器、或(多个)pop。
可以通过内容服务器308测量资源利用率,并周期性地或在超过阈值的情况下向POP DNS服务器340报告该资源利用率。例如,可以监控并报告诸如CPU利用率、磁盘输入/输出、存储器利用率、连接数量、请求数量或其他衡量标准的资源;POP DNS服务器340可以在确定内容服务器308是否适当地工作或较差地工作时使用这些衡量标准;可选地,或另外,POP DNS服务器340可以通过模拟内容对象请求并测量服务器的响应时间来监控每个内容服务器308的可用性和健康,以确定服务器是否适当地工作。表II示出了在POP DNS服务器340已确定内容服务器308y5不再可用或者适当地工作之后,在将内容服务器308y5从将来的DNS解决方案中移走之后,POP DNS服务器340能够如何重新分配内容服务器。
在该实例中,按照交错的方式分配其他内容服务器308来代替y5 308,从而在之前出现了该内容服务器308y5的每次分配中不由单一的(即,相同的)内容服务器308来代替内容服务器308y5。在该实施例中,当y5不工作(go down)时,FOO.iq和USPPC.gov域从其分配中损失了一个内容服务器308。其他实施例可以分配来自另一个POP 204的另一个内容服务器308,以使在分配中的内容服务器308的数量保持不变,但是因此,潜在地,由位于另一个POP204中的内容服务器308完全或部分地维护一些接收方计算机128的一些内容请求。
Figure A200680048437D00251
Figure A200680048437D00261
当将新的内容服务器308添加到用于特定域的DNS解决方案中时,可以移动新的服务器308以使其在一段时间成为在DNS解决方案中首先列出的地址,以使该内容服务器308装载该域的内容和/或活动。在处于与其他内容服务器308相当的负载情况之后,POPDNS 340可以停止支持新的内容服务器308。
从特定的内容服务器308来看,其可以被包括在任何数量的由POP DNS服务器340执行的DNS解决方案功能中。例如,服务器y2被分配给对域ACME.org、FOO.iq、AQME.com、AABBCC.cn、EXAMPLE.biz、和USPPC.gov的解析请求处理。每个域均具有其自身的DNS解决方案功能,该功能正改变每个域的DNS解决方案。也就是说,对这些域中的任一个的解析请求在列表顶部处可以包括或可以不包括y2。此外,任何数量的不同文件的不同大小可以与所分配的域中的每一个相关联。以这种方式,将特定的内容服务器308,y2,以变化的顺序包括在用于不同域的任意数量的DNS解决方案功能中。这可能将对象请求不可预测地分布到一组内容服务器308之中。
可以按照永久或临时的方式使特定的内容服务器308离线。永久去除可能由内容服务器308的故障而引起,该内容服务器可以被修理并在另一时间在线。优选地,临时移除可以在内容服务器308没有完全失效时而是在较差工作并可能及时返回至适当工作时来进行。例如,如果POP DNS服务器340已将由内容服务器308报告的存储器利用率测量用于断定该内容服务器308不再适当地运工作,则存储器利用率水平随着引起异常高的存储器利用率的(多个)处理被操作系统终止、被应用软件或程序终止、或自然结束,而可能会立即下降。当由超出第一阈值的利用率测量而引起了临时去除时,在该实施例中相等或更低的第二阈值被用于确定在DNS解决方案中何时再次开始使用该内容服务器308。两个阈值的使用(其中,第二阈值小于第一阈值)防止了利用率在单个阈值附近波动,其会在包括在新的DNS解决方案中然后不包括在该DNS解决方案中的附加的多个服务器之间循环。
可以将DNS解决方案从一个域解析请求变为下一个域解析请求,以使各个ISP 132接收不同顺序的内容服务器308的列表。可以循环或随机方式改变DNS解决方案,以使第一内容服务器308很可能是不同的。例如,解析AQME.com可以产生y1,y2,y3,y4的第一解决方案s1,以及y2,y3,y4,y1的第二解决方案s2,其中,不同之处是环形移位或循环。在另一个实例中,s1=y4,y2,y3,y1以及s2=y1,y3,y4,y2,以使解决方案以随机、伪随机或不可预测的方式变化。
如上所述,在解决方案中可以限制服务器地址的数量,即,x<y。在各个实施例中,x可以等于32、16、8或4。再次参考表I,域FOO.iq具有以供挑选的12个可行的内容服务器308,但是在该实例中,将解决方案大小限制为5个。对于每个DNS解决方案,以随机或循环方式选择包含的12个可行的内容服务器308中的5个。例如,可以通过以循环方式变化的方法来选择s1=y1,y2,y3,y4,y5以及s2=y2,y3,y4,y5,y6
一些实施例在将内容服务器分配和重新分配给(多个)特定域时考虑到内容服务器的处理能力。DNS解决方案可以基于内容服务器服务请求的能力来分配更多或更少的内容服务器。例如,第一内容服务器可以具有每小时能够服务一百万个请求的单个处理器,以及第二内容服务器可以具有每小时能够服务两百万个请求的双处理器。在任何情况下,这些实施例采用一些性能系数(figure of merit)来评估处理能力并基于性能系数来分配服务器。在表IIIa中,使用处理器和/或处理器内核数量的函数来将实际的服务器转变为等效的服务器。此处,该函数是第一处理器等效为一个服务器,而每个附加的处理器仅添加半个服务器。例如,两个处理器计算机将等于一个半等效服务器。表IIIa的实施例根据表IV分配服务器。
存在着多种方法来确定如何将特定服务器转变为多个等效服务器。表IIIb的实施例在每个服务器正常使用期间测试该服务器或者监控其活动,以确定在给定的一段时间可以处理的事务的数量。处理事务的能力与等效服务器的数量相关。例如,等效服务器的数量等于在一秒钟内能够处理10,000件事务的倍数。表IIIc的实施例使用表示服务器特征的多个因子(例如,处理器的数量、存储器的总量、编码器的数量、处理器速度)以确定等效服务器的数量。
Figure A200680048437D00282
Figure A200680048437D00291
在一些实施例中,可以确定对哪一个服务器在DNS解决方案中进行简化。例如,DNS解决方案可以使用16个服务器,其中,一半的服务器是多处理器,以及另一半是单处理器。如果一个服务器变得不可用或者开始较差地工作,则将选择相同类型的另一个服务器来代替它,例如,用另一个双处理器代替双处理器服务器。选择(多个)替代服务器以与不可用的或较差工作的服务器的处理能力大体上相匹配。例如,不可用或较差工作的服务器的等效服务器可以等效为1.5个,但是替代服务器可以被归为1.7个等效服务器。一些实施例随机地选择不同配置的服务器,并且当一个服务器变为不可用时随机挑选替代物。在另一个实施例中,每个DNS解决方案均可以包括最少数量的一种类型的服务器,例如,DNS解决方案会包括至少四个双处理器服务器,其具有至少一个编码器。
Figure A200680048437D00292
Figure A200680048437D00301
接着参考图4A,示出了用于发布DNS解决方案的处理400-1的实施例的流程图。处理400-1所描述的部分开始于步骤404,其中,POP 204接收解析域的请求。在指示哪个服务器应被包括在DNS解决方案中之前,POP DNS 340对请求、接收方计算机和ISP位置(以及可能地,对其他POP 204)进行分析。
接下来,执行步骤428,其包括子步骤416、420和424。在子步骤416中,确定分配给所请求的域的y服务器地址。这可以通过简单地对服务器计数或者通过对等效服务器计数来完成。当对等效服务器计数时,不能精确地匹配处理能力但是在一个实施例中其大体上匹配。在子步骤420中,从可行服务器的列表中去除被确定为不可用的任何服务器308。在子步骤424中,也将被确定为较差地工作的服务器308从可行服务器的列表中去除。可以随机选择或选择对所去除服务器的替代物,以与所去除服务器的处理能力相匹配。一旦完成了步骤428,就知道了在DNS解决方案中可用的一组可行服务器。
在步骤432中,确定可行服务器的数量是否超过了解决方案限制,即是否y<x?如果是这种情况,则在步骤436中,按照在时期内剔除(cull)不同的服务器的方式来减少这组可行服务器。在步骤432中没有超过限制的情况下或者在步骤436中发生剔除之后,在步骤440中,以混合或循环方式排列服务器的列表。在步骤444中,确定或检索用于添加到DNS解决方案中的生存时间值。在步骤448中,将DNS解决方案分发给DNS递归器。
参考图4B,示出了用于发布DNS解决方案的处理400-2的另一个实施例的流程图。与图4A的实施例相比,该实施例在步骤432和440之间增加了步骤434和436。如果在步骤432中确定在组中的可行服务器多于解决方案限制所能承担的服务器,则处理前进至步骤434,其中,进一步确定该组中的服务器数量是否小于用于特定域的分配量。在符合分配量的情况下,处理继续至步骤440。在可选情况下,添加来自远程POP 204的更多服务器。在处理继续至步骤440之前,在步骤436中,将这些远程服务器添加到可行服务器的列表中。
接着参考图5,示出了用于对由CDN 110所维护的域的服务器分配进行调整的处理500的实施例的流程图。处理500所描述的部分开始于步骤504,其中,对可以高速缓存或存储域的内容对象的一组服务器308或一个服务器308的列表做出初始分配。在步骤508中,确定在所分配的服务器308的域的特定活动等级。
在活动等级超出第一阈值的情况下,在步骤524中增加分配量。如果在步骤516中活动等级未超出第一阈值,则处理会继续至步骤520,以确定活动等级是否低于第二阈值。在活动等级低于第二阈值的情况下,将在步骤528中减少分配量。
虽然以上一些实施例考虑到了在增加内容服务器308的分配量或包括来自其他POP 204的内容服务器308之前达到特定的活动等级。可以在达到内容服务器308或POP 204的最大活动等级之前进行这些动作。例如,可以在诸如最大活动等级的30%、40%、50%、60%、70%、或80%的任何阈值处开始包括来自其他POP 204的内容服务器308。
以上框图中的一些提及执行一种功能的服务器或块。该服务器或块可以通过单个或多个服务器来实现。在使用了多个服务器的情况下,它们可以是地理上分散的,但根据一些观点,功能作为单个单元。例如,POP DNS服务器304可以是与POP 204位于共同位置的一个服务器,可以是位于POP 204中的多个服务器,或者可以从POP 204访问的地理上分散的一组服务器。如本领域技术人员理解的,网络允许多种配置而仍然实现相同的功能。
讨论一些关于CDN的实施例,而确定DNS解决方案的方式可应用于提供用于域的可选地址的任何系统。在存在受控的CDN或完全没有CDN的情况下,具有可选地址的DNS解决方案可以由内容始发方提供。
尽管以上已结合特定装置和方法描述了本发明的原理,但是应清楚地了解,该描述仅作为实例,并不构成对本发明范围的限定。

Claims (28)

1.一种用于通过互联网分发内容的内容分发网络(CDN),其中,
所述CDN被配置为对其他网络分发内容,所述CDN包括:
域解析服务(DNS)服务器,其中:
所述DNS服务器被配置为接收第一域解析请求并产生第一DNS解决方案,
所述DNS服务器被配置为接收第二域解析请求并产生第二DNS解决方案,以及
所述第一域解析请求和所述第二域解析请求对应于相同的域;
多个高速缓存服务器,其中,所述多个高速缓存服务器对应于多个地址;以及
与互联网的接口,其中:
所述接口被配置为:
接收多个域解析请求,以及
传送多个DNS解决方案,
所述多个DNS解决方案包括所述第一DNS解决方案和所述第二DNS解决方案,
所述多个域解析请求包括第一域解析请求和第二域解析请求,
所述第一DNS解决方案包括与所述多个高速缓存服务器的至少第一子集相对应的第一多个地址,
所述第二DNS解决方案包括与所述多个高速缓存服务器的至少第二子集相对应的第二多个地址,
所述第一DNS解决方案与所述第二DNS解决方案不同之处在于所述第二子集包括未在所述第一子集中的用于高速缓存服务器的地址,以及
所述第二子集被选择来与所述第一子集的处理能力大体上相匹配。
2.根据权利要求1所述的用于通过互联网分发内容的CDN,其中,所述第一子集具有比在用于域的所述多个DNS解决方案中可用的高速缓存服务器更少的所述多个高速缓存服务器。
3.根据权利要求1所述的用于通过互联网分发内容的CDN,其中,所述DNS服务器和所述多个高速缓存服务器是接入点(POP)的至少一部分。
4.根据权利要求1所述的用于通过互联网分发内容的CDN,其中:
所述第一DNS解决方案和所述第二DNS解决方案以不同的顺序将在所述第一子集和所述第二子集中的共同的地址列出,以及
所述不同的顺序以混合方式、循环方式或随机方式中的至少一种变化。
5.根据权利要求1所述的用于通过互联网分发内容的CDN,还包括广域网,用于将所述多个高速缓存服务器连接在一起,其中,所述多个高速缓存服务器中的至少一个在地理上远离所述多个高速缓存服务器中的其他高速缓存服务器。
6.根据权利要求1所述的用于通过互联网分发内容的CDN,其中:
所述DNS服务器、所述多个高速缓存服务器、和所述接口是POP的至少一部分;
所述POP是多个POP中的一个;以及
所述多个POP中的至少一些在地理上分开。
7.根据权利要求1所述的用于通过互联网分发内容的CDN,其中,所述第一DNS解决方案和所述第二DNS解决方案从所述多个高速缓存服务器的相同子集中选择其服务器。
8.根据权利要求1所述的用于通过互联网分发内容的CDN,其中,所述DNS服务器和高速缓存服务器在地理上处于同一位置。
9.根据权利要求1所述的用于通过互联网分发内容的CDN,其中:
所述多个高速缓存服务器中的至少一个通过多个计算机来实现;以及
所述至少一个高速缓存服务器对应于在DNS解决方案中的单个地址。
10.根据权利要求1所述的用于通过互联网分发内容的CDN,其中:
使用一个或多个性能系数来确定所述处理能力;以及
所述一个或多个性能系数使在一个子集中的所述多个高速缓存服务器特征化。
11.一种通过互联网分发内容的方法,其中,所述方法包括以下步骤:
接收第一域解析请求;
产生对应于所述第一域解析请求的第一DNS解决方案;
返回所述第一DNS解决方案;
接收第二域解析请求;
产生对应于所述第二域解析请求的第二DNS解决方案;
以及
返回所述第二DNS解决方案,其中:
所述第一域解析请求和所述第二域解析请求对应于相同的域或内容始发方,
多个服务器对应于多个地址;
所述第一DNS解决方案包括与所述多个服务器的至少第一子集相对应的第一多个地址,
所述第二DNS解决方案包括与所述多个服务器的至少第二子集相对应的第二多个地址,
所述第一多个地址包括不同于所述第二多个地址的至少一个地址,以及
所述第二子集被选择以与所述第一子集的处理能力大体上相匹配。
12.根据权利要求11所述的用于通过互联网分发内容的方法,还包括确定应从其它DNS解决方案中去除的所述第一多个地址中的至少一个,其中,所述第二DNS解决方案不包括所去除的地址。
13.根据权利要求11所述的用于通过互联网分发内容的方法,其中,从可为DNS解决方案挑选的更多个服务器中选择所述第一子集。
14.根据权利要求11所述的用于通过互联网分发内容的方法,其中,所述第一子集小于所述第二子集。
15.一种具有机器可执行指令的机器可读介质,所述指令用于执行权利要求11所述的用于通过互联网分发内容的机器可执行方法。
16.一种用于执行权利要求11所述的用于通过互联网分发内容的机器可执行方法的系统。
17.一种用于通过网络分发内容的方法,其中,所述方法包括以下步骤:
接收第一域解析请求;
确定一组分配给域的多个服务器;
产生对应于所述第一域解析请求的第一DNS解决方案;
返回所述第一DNS解决方案;
接收第二域解析请求;
产生对应于所述第二域解析请求的第二DNS解决方案;
以及
通过互联网接口返回所述第二DNS解决方案,其中:
所述第一域解析请求和所述第二域解析请求表明所述域,
所述多个服务器对应于多个地址,
所述第一DNS解决方案包括与所述组的至少第一子集相对应的第一多个地址,
所述第二DNS解决方案包括与所述组的至少第二子集相对应的第二多个地址,
所述第一DNS解决方案包括不在所述第二DNS解决方案中的地址,以及
所述第二子集被选择以与所述第一子集的处理能力大体上相匹配。
18.根据权利要求17所述的用于通过网络分发内容的方法,其中,所述网络接口和所述多个服务器在地理上处于相同位置。
19.根据权利要求17所述的用于通过网络分发内容的方法,其中,当多个处理内核相同时,所述第一子集和所述第二子集大体上相匹配。
20.一种具有机器可执行指令的机器可读介质,所述指令用于执行权利要求17所述的用于通过所述网络分发内容的机器可执行方法。
21.一种用于通过互联网分发内容的内容分发网络(CDN),其中,所述CDN被配置为对其他网络分发内容,所述CDN包括:
多个高速缓存服务器,其中,所述多个高速缓存服务器对应于第三多个服务器地址,其中:
第一多个服务器地址是所述第三多个服务器地址的第一子集,
第二多个服务器地址是所述第三多个服务器地址的第二子集,
所述第三多个服务器地址在DNS解决方案中被使用;
与互联网的接口,其中,所述互联网被配置为:
接收多个域解析请求,以及
传送对应于多个域解析请求的多个DNS解决方案;
与第一域相关联的第一DNS解决方案功能,其中:
所述第一DNS解决方案功能产生对应于所述第一域的第一多个DNS解决方案,
所述第一多个DNS解决方案彼此不同,以及
所述第一多个DNS解决方案中的每一个均包括所述第一多个服务器地址中的至少一些;以及
与第二域相关联的第二DNS解决方案功能,其中:
所述第二DNS解决方案功能产生对应于所述第二域的第二多个DNS解决方案,
所述第二多个DNS解决方案彼此不同,以及
所述第二多个DNS解决方案中的每一个均包括所述第二多个服务器地址中的至少一些。
22.根据权利要求21所述的用于通过互联网分发内容的CDN,其中,服务器地址被包括在所述第一多个服务器地址和所述第二多个服务器地址中。
23.根据权利要求21所述的用于通过互联网分发内容的CDN,其中,所述第一多个DNS解决方案彼此不同之处在于所述第一子集以不同的顺序呈现。
24.根据权利要求21所述的用于通过互联网分发内容的CDN,其中:
所述第一DNS解决方案功能产生用于所述第一域的DNS解决方案;以及
所述DNS解决方案与所述第一多个DNS解决方案中的任一个均不相同。
25.根据权利要求21所述的用于通过互联网分发内容的CDN,其中:
服务器地址被包括在所述第一多个服务器地址和所述第二多个服务器地址中;以及
向所述服务器地址分配对象请求,以将分配结果用在所述第一多个DNS解决方案和所述第二DNS解决方案中。
26.根据权利要求21所述的用于通过互联网分发内容的CDN,其中,至少部分地基于由所述第一子集指示的所述多个高速缓存服务器的处理能力,从所述第三多个服务器地址中选择所述第一子集。
27.根据权利要求21所述的用于通过互联网分发内容的CDN,其中,所述第一子集包括所述第三多个服务器地址。
28.根据权利要求21所述的用于通过互联网分发内容的CDN,其中,通过DNS服务器执行所述第一DNS解决方案功能和所述第二DNS解决方案功能。
CNA2006800484376A 2005-11-21 2006-10-24 域名解析资源分配 Pending CN101501669A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/284,493 2005-11-21
US11/284,493 US20070118667A1 (en) 2005-11-21 2005-11-21 Domain name resolution based dynamic resource assignment
US11/530,790 2006-09-11

Publications (1)

Publication Number Publication Date
CN101501669A true CN101501669A (zh) 2009-08-05

Family

ID=38054795

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800484376A Pending CN101501669A (zh) 2005-11-21 2006-10-24 域名解析资源分配

Country Status (2)

Country Link
US (1) US20070118667A1 (zh)
CN (1) CN101501669A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104636A (zh) * 2009-12-22 2011-06-22 英特尔公司 域名系统查找延迟减少
WO2011116726A2 (zh) * 2011-04-29 2011-09-29 华为技术有限公司 网络缓存方法和系统及dns重定向子系统
CN102484652A (zh) * 2009-08-28 2012-05-30 苹果公司 内容分发网络上的分块下载
CN106210156A (zh) * 2015-04-29 2016-12-07 阿里巴巴集团控股有限公司 解析任务的处理方法、装置及服务器
US11151150B2 (en) * 2019-09-13 2021-10-19 Salesforce.Com, Inc. Adjustable connection pool mechanism
US11636067B2 (en) 2019-10-04 2023-04-25 Salesforce.Com, Inc. Performance measurement mechanism
US11750692B2 (en) 2019-10-23 2023-09-05 Salesforce, Inc. Connection pool anomaly detection mechanism

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2010201379B2 (en) * 2010-04-07 2012-02-23 Limelight Networks, Inc. System and method for delivery of content objects
CN1870636A (zh) 2005-11-10 2006-11-29 华为技术有限公司 一种客户端重定向的方法和系统
US7707314B2 (en) 2005-11-21 2010-04-27 Limelight Networks, Inc. Domain name resolution resource allocation
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) * 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8843630B1 (en) * 2008-08-27 2014-09-23 Amazon Technologies, Inc. Decentralized request routing
US8533333B2 (en) 2008-09-03 2013-09-10 Microsoft Corporation Shared hosting using host name affinity
US20100070876A1 (en) * 2008-09-18 2010-03-18 Pictela, Inc. Self-Replicating Rich Media Interface
AU2010276462B1 (en) 2010-12-27 2012-01-12 Limelight Networks, Inc. Partial object caching
CN102203758A (zh) * 2008-09-19 2011-09-28 杰出网络公司 内容传递网络流服务器片段分发
AU2010202034B1 (en) 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8756341B1 (en) * 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US8199752B2 (en) 2009-10-02 2012-06-12 Limelight Networks, Inc. Enhanced anycast for edge server selection
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8745239B2 (en) 2010-04-07 2014-06-03 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US8244874B1 (en) 2011-09-26 2012-08-14 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US8474009B2 (en) 2010-05-26 2013-06-25 Novell, Inc. Dynamic service access
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8621042B2 (en) 2010-12-27 2013-12-31 Limelight Networks, Inc. Anycast redirect to unicast content download
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9553924B1 (en) * 2011-06-13 2017-01-24 Arris Enterprises, Inc. Load sharing among loosely coupled or independent video servers
CN102263828B (zh) * 2011-08-24 2013-08-07 北京蓝汛通信技术有限责任公司 一种负载均衡分配方法及设备
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9172674B1 (en) 2012-03-21 2015-10-27 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
WO2013189038A1 (zh) * 2012-06-20 2013-12-27 华为技术有限公司 内容处理的方法和网络侧设备
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9407530B2 (en) * 2012-09-21 2016-08-02 Interdigital Patent Holdings, Inc. Systems and methods for providing DNS server selection using ANDSF in multi-interface hosts
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
CN104253796B (zh) * 2013-06-27 2018-01-05 北京快网科技有限公司 域名系统中基于网络地址绑定区层级的快速区识别方法
CN104092791B (zh) * 2014-07-11 2017-07-28 中国科学院声学研究所 一种综合质量与成本的互联网内容资源调度方法和系统
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
WO2017042813A1 (en) 2015-09-10 2017-03-16 Vimmi Communications Ltd. Content delivery network
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10530852B2 (en) * 2016-05-19 2020-01-07 Level 3 Communications, Llc Network mapping in content delivery network
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) * 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
CN107087038A (zh) * 2017-06-29 2017-08-22 珠海市魅族科技有限公司 一种数据同步的方法、同步设备、装置及存储介质
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
WO2019186237A1 (en) * 2018-03-28 2019-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Bypass delivery policy based on the usage (i/o operaton) of caching memory storage in cdn
CN110839049B (zh) * 2018-08-15 2022-07-08 阿里巴巴集团控股有限公司 基于域名系统的数据调度方法和系统
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11461231B2 (en) * 2019-10-18 2022-10-04 International Business Machines Corporation Fractal based content delivery network layouts

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2270687A2 (en) * 1995-04-11 2011-01-05 Kinetech, Inc. Identifying data in a data processing system
US5918017A (en) * 1996-08-23 1999-06-29 Internatioinal Business Machines Corp. System and method for providing dynamically alterable computer clusters for message routing
US6272523B1 (en) * 1996-12-20 2001-08-07 International Business Machines Corporation Distributed networking using logical processes
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
JP4299911B2 (ja) * 1999-03-24 2009-07-22 株式会社東芝 情報転送システム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102484652A (zh) * 2009-08-28 2012-05-30 苹果公司 内容分发网络上的分块下载
CN102104636A (zh) * 2009-12-22 2011-06-22 英特尔公司 域名系统查找延迟减少
CN102104636B (zh) * 2009-12-22 2015-06-03 英特尔公司 域名系统查找延迟减少
WO2011116726A2 (zh) * 2011-04-29 2011-09-29 华为技术有限公司 网络缓存方法和系统及dns重定向子系统
WO2011116726A3 (zh) * 2011-04-29 2012-04-05 华为技术有限公司 网络缓存方法和系统及dns重定向子系统
CN106210156A (zh) * 2015-04-29 2016-12-07 阿里巴巴集团控股有限公司 解析任务的处理方法、装置及服务器
CN106210156B (zh) * 2015-04-29 2019-07-23 阿里巴巴集团控股有限公司 解析任务的处理方法、装置及服务器
US11151150B2 (en) * 2019-09-13 2021-10-19 Salesforce.Com, Inc. Adjustable connection pool mechanism
US11714821B2 (en) 2019-09-13 2023-08-01 Salesforce, Inc. Adjustable connection pool mechanism
US11636067B2 (en) 2019-10-04 2023-04-25 Salesforce.Com, Inc. Performance measurement mechanism
US11750692B2 (en) 2019-10-23 2023-09-05 Salesforce, Inc. Connection pool anomaly detection mechanism

Also Published As

Publication number Publication date
US20070118667A1 (en) 2007-05-24

Similar Documents

Publication Publication Date Title
CN101501669A (zh) 域名解析资源分配
US8645539B2 (en) Domain name resolution resource allocation
CN111345012B (zh) 使用目的地系统的链路级容量的dns解析的系统和方法
US11863417B2 (en) Routing mode and point-of-presence selection service
US20220060550A1 (en) Private service endpoints in isolated virtual networks
Zhang et al. Proactive workload management in hybrid cloud computing
US10033627B1 (en) Routing mode and point-of-presence selection service
US10091096B1 (en) Routing mode and point-of-presence selection service
US10523748B2 (en) Managing health status of network devices in a distributed global server load balancing system
US20180121221A1 (en) Systems and methods for deploying microservices in a networked microservices system
US7953887B2 (en) Asynchronous automated routing of user to optimal host
CN107105013B (zh) 文件的处理方法、服务器、终端和系统
CN110506259A (zh) 用于计算节点管理协议的系统和方法
CN105991699B (zh) 一种互联网爬虫的分布式下载系统
Pickard et al. IPv6 diffusion milestones: Assessing the quantity and quality of adoption
JP5871908B2 (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
KR20170014804A (ko) 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
CN108124021A (zh) 网际协议ip地址获取、网站访问的方法、装置及系统
CN115580618A (zh) 一种负载均衡方法、装置、设备及介质
CN114726796A (zh) 流量控制方法、网关及交换机
Kaur et al. Load balancing in cloud computing: The online traffic management
Wang et al. A hierarchical framework for evaluation of cloud service qualities
CN116938871B (zh) 一种域名短码确定方法、装置、存储介质及电子装置
CN112738193B (zh) 云计算的负载均衡方法及装置
Muhammad et al. A novel framework for resource orchestration in OpenStack cloud platform

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

Open date: 20090805