CN102316091B - 用于内容分发网络的应用层流量优化增强 - Google Patents

用于内容分发网络的应用层流量优化增强 Download PDF

Info

Publication number
CN102316091B
CN102316091B CN201110141391.5A CN201110141391A CN102316091B CN 102316091 B CN102316091 B CN 102316091B CN 201110141391 A CN201110141391 A CN 201110141391A CN 102316091 B CN102316091 B CN 102316091B
Authority
CN
China
Prior art keywords
pid
cost
network
alto
mapping
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.)
Active
Application number
CN201110141391.5A
Other languages
English (en)
Other versions
CN102316091A (zh
Inventor
扬·梅德维德
雷纳尔多·皮诺
萨蒂什·拉格胡纳斯
马尤雷思·巴克什
Original Assignee
Jungle Network
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 Jungle Network filed Critical Jungle Network
Publication of CN102316091A publication Critical patent/CN102316091A/zh
Application granted granted Critical
Publication of CN102316091B publication Critical patent/CN102316091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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/104Peer-to-peer [P2P] networks
    • 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/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/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于内容分发网络的应用层流量优化增强,通过使用ALTO服务,连网应用程序可以通过ALTO协议从ISP或内容提供商请求关于下层网络拓扑的信息。ALTO服务以修改网络资源消费模式为目标而提供诸如网络资源的优先选择的信息,同时保持或改进应用程序性能。在一个实例中,该文本描述了一种ALTO服务器,其使第一网络的网络映射和成本映射与第二网络的网络映射和成本映射相交叉,以产生包括一个或多个主要成本条目的主要成本映射,每个主要成本条目均表示从第一网络中的端点越过网络至第二网络中的端点的成本。通过利用主要成本映射,转向器可以选择在第一网络中的优选节点,由此服务从第二网络中的主机所接收到的内容请求。

Description

用于内容分发网络的应用层流量优化增强
优先权声明
本申请要求于2010年8月23日提交的美国专利申请第12/861,645号、2010年8月23日提交的美国专利申请第12/861,671以及2010年8月23日提交的美国专利申请第12/861,681号的优先权,其中,上述每一申请均要求在2010年5月28日提交的美国临时申请第61/349,467号的优先权,并且它们的全部内容结合于作为参考。
技术领域
本发明涉及一种计算机网络,更具体地,涉及增强内容分发。
背景技术
对等(P2P)应用程序交换大量数据,并产生大量的网络流量(networktraffic)。P2P应用程序支持(leverage)位于多个不同的网络节点的多份数据内容拷贝,以允许请求代理从许多可能的数据源的一个或多个中获得数据内容的部分。这种P2P分布式应用程序改善了应用程序性能和可量测性,并经常被用于文件共享、实时通信以及按需媒体流。
许多P2P应用程序通过在通信网络上实现应用层覆盖网络来操作。覆盖网络是经由覆盖链路直接互相连接的参与网络节点(同位体,peer)的逻辑网络,覆盖链路均为通信网络的一个或下层传输链路的抽象。覆盖网络包括标引一个或多个网络装置(或“资源”)的数据结构,所述网络装置存储并提供特定的数据内容,诸如文件或文件部分。寻找特定数据内容的同位体询问数据结构,以获得提供文件的网络装置的身份的列表。同位体(这里,作为客户端进行操作)从经由覆盖网络而从中请求并接收数据内容的列表中随机地选择一个装置。
用于P2P应用程序的客户端软件通常自然地选择资源,即,没有结合网络拓扑信息或相关的细节。相反,客户端依靠试探来接近这种信息。结果,利用这些应用程序而交换的网络数据流量可能使网络链路阻塞、使服务提供商网络边界多次交叉,并通常以从用户立场来说不是最理想和从服务提供商的观点来看不是期望的方式,而通过通信网络。例如,尽管两个同位体可以是相同的服务提供商网络的成员,连接同位体的覆盖链路可能仍越过多个网络边界,这会对服务提供商不必要地增加同位体间的通行成本。此外,尽管分布式应用程序在数据源投入额外的带宽,以提高吞吐量并减小终端用户的等待时间,同时还减小内容提供商提供应用服务器的负担,但是,便宜地分布数据内容的能力是以服务提供商为代价的,服务提供商承受无效率地传输网络数据的成本。
最近,已经提出一种应用层流量优化(ALTO)服务,其中,ALTO协议关于从中获得数据内容的资源的选择而被用于为P2P应用程序提供引导。在一个实例中,服务提供商会为用于服务提供商网络的ALTO服务器提供网络拓扑和拓扑链路成本信息。P2P客户端会将ALTO请求发送至ALTO服务器,以获得网络映射(network map)和相应的成本映射。网络映射指定由网络的ALTO服务器所定义的拓扑群的子集。用于网络映射的成本映射在网络映射的各个组中定义代表用于连接的组间路由成本的提供商优先选择。结果,提供ALTO服务器的服务提供商可以引导P2P客户端根据服务提供商优先选择来选择资源,所述优先选择可以包括优化吞吐量和/或用户体验,例如,对服务提供商降低成本或促进提供商的其他目标。在2009年10月的J.Seedorf et al.,RFC 5693,“Application-Layer TrafficOptimization(ALTO)Problem Statement”网络工作组、因特网工程特别工作草案、以及在2010年3月的R.Alimi et al.,“ALTO Protocol-ietfalto-protocol-03.txt”ALTO工作组、因特网工程特别工作草案中进一步详细地描述了ALTO服务和ALTO协议,这两篇文档的全部内容结合于此作为参考。
发明内容
通常,本发明致力于一种用于增强集成有内容分发网络(CDN)的ALTO服务的技术。例如,本文献描述了在根据更传统的客户端/服务器模型而向应用程序分发内容的CDN情况下的、ALTO服务的部署方案和增强。本文中描述的其他增强可以在其他部署中有用,例如与P2P应用程序或分布式应用程序一起使用时。
内容提供商越来越依赖于内容分发网络来分配由地理上不同和能力不同的客户端所请求的内容。在许多情况中,用作用户装置(试图到达存储并提供资源CDN高速缓存节点)的接入网的CDN和服务提供商(SP)网络通常是分开的。也就是说,CDN和SP网络可以是不同管理域的成员,并由此可以不共用内部的路由成本信息。服务提供商可以部署ALTO服务,以通过对用户透明地提供服务的方式,根据本文描述的原理来使CDN性能最优化,使得用户主机不需要特殊的软件或其他修改。在一个简单的实例中,操作标准因特网浏览器的用户可以感受由增强的ALTO服务所使能的CDN最优化。
在一个实例中,描述了这样的技术,其中,同盟的ALTO服务器将包含在CDN的网络和成本映射以及一个或多个SP网络(提供对CDN的接入)的网络和成本映射中的信息相组合,以计算可以对一个或多个端点而增强主机选择的主要成本映射(master cost map)。同盟的ALTO服务器根据ALTO服务产生适合于CDN的网络和成本映射。在可行的端点和端点组(在下文中,可替换地被称作“PID”)的映射内,网络和成本映射包括将CDN与SP网络的边界路由器相耦接的CDN边界路由器。PID可以表示单个装置或装置部件、诸如网络子网、SP网络的装置组、或一些其他分组。同盟的ALTO服务器利用网络和成本映射来计算拓扑链路的成本矩阵,拓扑链路将每个CDN节点连接至每个边界路由器(将CDN耦接至由CDN所服务的SP网络)。
同盟的ALTO服务器另外从用于SP网络的各个ALTO服务器请求并接收网络和成本映射。通过根据已有的域间连接将CDN网络映射中的条目与SP网络的网络映射中的条目相链接,然后将所计算的成本矩阵中的条目与包含在所接收的各种SP网络成本映射中的相应成本信息相加,同盟的ALTO服务器产生具有用于拓扑链路的条目的主要成本映射,拓扑链路越过多个管理域(即,CDN和一个或多个SP网络)。例如,当CDN域名系统(DNS)名称服务器从SP网络用户接收DNS询问时,CDN DNS利用主要成本映射来确定用户的最佳CDN高速缓存节点,并返回该节点的网络地址。以此方式,该技术可以允许用户利用这种信息来执行高速缓存节点的比随机更好的选择,该技术通过所述高速缓存节点来建立连接。
在另一实例中,将该技术描述为对网络映射条目增加属性,以进一步表现本文所描述的PID的特征。该技术使得ALTO服务能够在多个PID类型中消除歧义以例如从网络映射中过滤不必要的PID、确保用于特定PID类型的PID可以仅包括单个端点装置、并根据配对成员类型来设定默认值或者另外影响多个PID的成本映射条目值。
例如,在CDN环境中,该技术规定对网络映射条目增加属性,所述条目规定PID是否为以下类型:“主机”、“CDN高速缓存节点”、“移动主机”或“有线主机”。转向器提供位置信息给请求主机,以使得主机能够连接至CDN高速缓存节点。主机可以表示主机子网。在该情况中,根据所述技术进行操作的ALTO服务器利用这些属性而对转向器产生成本映射,转向器具有针对CDN间高速缓存节点对和主机间对而被设定为无穷大的成本映射条目值。当ALTO服务器从在转向器上操作的ALTO客户端接收请求时,ALTO服务器对排除具有无穷大成本的条目的成本映射提供稀疏矩阵。也就是说,ALTO服务器仅对一些节点对(针对这些节点,节点间的成本是除了无穷大以外的值)提供成本条目。当ALTO客户端接收到稀疏矩阵成本映射时,ALTO客户端将映射中的空条目解释为具有无穷大的默认值,并可以用无穷大的值占据整个成本映射。然后,一旦从主机接收到内容请求(例如,HTTP GET请求),转向器因此由于在至其他主机的路径的整个成本映射中指定的默认值无穷大成本,而选择CDN高速缓存节点作为内容资源。
在另一实例中,描述了用于更新ALTO服务器并向ALTO客户端推送增量网络映射修正的技术。CDN高速缓存节点或其他内容服务器可以经历断电、阻塞,或经历影响服务节点的性能的内容的其他条件。CDN高速缓存节点向ALTO服务器提供状态更新,ALTO服务器将状态更新合并在ALTO网络映射和成本映射的计算中。例如,CDN高速缓存节点可以将表明其内容服务不可操作的状态更新发送至ALTO服务器。因此,ALTO服务器从网络映射中去除该节点,并相应地更新成本映射。因为关于阻塞或其他网络条件的状态更新可以导致对网络映射的频繁修改,所以,该技术使得ALTO服务器抢先用增量网络映射和成本映射修正来更新ALTO客户端。增量网络映射修正使ALTO客户端能够更新网络映射的先前版本,而不是接收更新的整个网络映射。以此方式,该技术可以允许ALTO客户端保持当前的网络和成本映射,而且还避免另外由频繁的整个网络或成本映射传输而导致的网络中的流量。
在一个实施方式中,本发明致力于一种包括以下步骤的方法:通过包括用于第二ALTO服务器的第一ALTO客户端的第一ALTO服务器,产生第一ALTO网络映射,第一ALTO网络映射包括PID条目以描述一个或多个PID的第一组中的每一个,其中,第一组PID中的每一个均与第一网络的一个或多个端点的子集相关联。该方法还包括以下步骤:通过第一ALTO服务器产生第一ALTO成本映射,第一ALTO成本映射针对第一组PID的每一组合而包括成本条目,该成本条目包含成本值以指定通过第一网络越过网络路径的成本,第一网络连接第一组PID的相应组合。该方法还包括以下步骤:通过第一ALTO服务器的第一ALTO客户端接收第二ALTO网络映射,其包括PID条目以描述一个或多个PID的第二组中的每一个,其中,第二组PID中的每一个均与第二网络的一个或多个端点的子集相关联。该方法还包括以下步骤:通过第一ALTO客户端接收第二ALTO成本映射,第二ALTO成本映射针对第二组PID的每一组合而包括成本条目,该成本条目包含成本值以指定通过第二网络而越过网络路径的成本,第二网络连接第二组PID的相应组合。该方法另外包括以下步骤:产生包含一个或多个主要成本条目的主要成本映射的步骤,每个主要成本条目均包括从第一组PID中选择的PID和从第二组PID中选择的PID,并且每个主要成本条目包括表示从选自第一组PID的PID和选自第二组PID中选择的PID越过网络路径的成本;以及将主要网络映射从第一ALTO服务器输出至第二ALTO客户端。
在另一实施方式中,本发明致力于一种方法,其包括以下步骤:通过转向器装置接收第一ALTO网络映射,第一ALTO网络映射包括PID条目以描述一个或多个PID的第一组中的每一个,其中,第一组PID中的每一个均与第一网络的一个或多个端点的子集相关联。该方法还包括以下步骤:通过转向器装置接收第二ALTO网络映射,第二ALTO网络映射包括PID条目以描述一个或多个PID的第二组中的每一个,其中,第二组PID中的每一个均与第二网络的一个或多个端点的子集相关联。该方法还包括以下步骤:通过转向器装置接收包括一个或多个主要成本条目的主要成本映射,每个主要成本条目包括从第一组PID中选择的PID和从第二组PID中选择的PID,并且每个主要成本条目包括表示从选自第一组PID的PID和选自第二PID的PID越过网络路径的成本。该方法还包括以下步骤:通过转向器装置而从主机端点接收内容请求;询问第二ALTO网络映射以确定与第二组PID中的主机端点相关联的PID;以及询问主要成本映射以针对与主机端点相关联的PID来确定第一组PID中的最低成本的PID。该方法另外包括以下步骤:在第一ALTO网络映射中选择与最低代码的PID相关联的端点,以从主机端点来服务内容请求。
在又一实施方式中,本发明致力于一种第一应用层流量优化(ALTO)服务器,其包括网络映射模块以产生第一ALTO网络映射,第一ALTO网络映射包括PID条目以描述一个或多个PID的第一组中的每一个,其中,第一组PID中的每一个均与第一网络的一个或多个端点的子集相关联。第一ALTO服务器还包括成本映射模块以产生第一ALTO成本映射,第一ALTO成本映射针对第一组PID的每一组合而包括成本条目,该成本条目包含成本值以指定通过第一网络越过网络路径的成本,第一网络连接第一组PID的相应组合。第一ALTO服务器还包括第一ALTO客户端以接收第二ALTO网络映射,第二ALTO网络映射包括PID条目以描述一个或多个PID的第二组中的每一个,其中,第二组PID中的每一个均与第二网络的一个或多个端点的子集相关联,其中,第一ALTO客户端接收第二ALTO成本映射,第二ALTO成本映射针对第二组PID中的每一组合而包括成本条目,该成本条目包含成本值以指定通过第二网络越过网络路径的成本,第二网络连接第二组PID的相应组合,并且其中,网络映射模块和成本映射模块产生主要成本映射,其包括一个或多个主要成本条目,每个主要成本条目包括从第一PID中选择的PID和从第二PID中选择的PID,并且,每个主要成本条目包括表示从选自第一组PID的PID和选自第二组PID的PID越过网络路径的成本。第一ALTO服务器还包括客户端接口,以将主要成本映射从第一ALTO服务器输出至第二ALTO客户端。
在另一实施方式中,本发明致力于一种转向器装置,其包括位置数据库和应用层流量优化(ALTO)客户端,以接收第一ALTO网络映射,第一ALTO网络映射包括PID条目以描述一个或多个PID的第一组中的每一个,其中,第一组PID中的每一个均与第一网络的一个或多个端点的子集相关联,其中,ALTO客户端接收第二ALTO网络映射,第二ALTO网络映射包括PID条目以描述一个或多个PID的第二组中的每一个,其中,第二组PID中的每一个均与第二网络的一个或多个端点的子集相关联,其中,ALTO客户端接收包括一个或多个主要成本条目的主要成本映射,每个主要成本条目包括从第一组PID中选择的PID和从第二组PID中选择的PID,并且每个主要成本条目包括表示从选自第一组PID的PID和选自第二PID的PID横穿网络路径的成本,并且其中,ALTO客户端将第一ALTO网络映射、第二ALTO网络映射和主机成本映射存储至位置数据库。转向器装置还包括查找模块,以从主机端点接收内容请求,其中,查找模块询问第二ALTO网络映射,以确定与第二组PID中的主机端点相关联的PID,其中,查找模块询问主要成本映射,以针对与主机端点相关联的PID来确定第一组PID中的最低成本的PID,并且其中,查找模块选择与第一ALTO网络映射中的最低代码的PID相关联的端点,以从主机端点服务内容请求。
在另一实施方式中,本发明致力于包括指令的计算机可读存储介质。该指令使可编程处理器通过第一应用层流量优化(ALTO)服务器产生第一ALTO网络映射,所述第一ALTO服务器包括用于第二ALTO服务器的第一ALTO客户端,第一ALTO网络映射包括PID条目以描述一个或多个PID的第一组中的每一个,其中,第一组PID中的每一个均与第一网络的一个或多个端点的子集相关联。该指令还使可编程处理器通过第一ALTO服务器产生第一ALTO成本映射,第一ALTO成本映射针对第一PID的每个组合而包括成本条目,该成本条目包括成本值以指定通过第一网络越过网络路径的成本,第一网络连接第一组PID的相应组合。该指令使可编程处理器利用第一ALTO服务器的第一ALTO客户端接收第二ALTO网络映射,第二ALTO网络映射包括PID条目以描述一个或多个PID的第二组中的每一个,其中,第二组PID中的每一个均与第二网络的一个或多个端点的子集相关联。该指令使可编程处理器通过第一ALTO客户端接收第二ALTO成本映射,第二ALTO成本映射针对第二PID的每个组合而包括成本条目,成本条目包括成本值以指定通过第二网络越过网络路径的成本,第二网络连接第二组PID的相应组合。该指令使可编程处理器产生包括一个或多个主要成本条目的主要成本映射,每个主要成本条目包括从第一组PID中选择的PID和从第二组PID中选择的PID,并且每个主要成本条目包括表示从选自第一PID的PID和选自第二PID的PID越过网络路径的成本,并且该指令将主要成本映射从第一ALTO服务器输出至第二ALTO客户端。
在本发明中描述的技术可以提供一中或多种优点。例如,该技术可以允许ALTO服务与CDN的增强集成,从而使得根据提供商指定的优化数据而对内容请求的资源选择进行改进。例如,为网络推送当前网络映射和成本映射的增量更新,可以给ALTO客户端提供最新的资源选择信息,并可以培养服务连续性。此外,该技术可以允许转向器的独立缩放和端点的健康管理。
作为另一实例,属性添加技术可以允许资源选择部件在内容提供商(例如,CDN高速缓存节点)和内容客户(例如,主机)之间进行区分,并由此对内容提供商限制资源选择。PID属性可以进一步使得特定PID类型的策略能够允许提供商执行例如服务区别。例如,服务提供商可以利用使该PID中的那些端点接收更高质量的服务(QoS)的属性来标记PID。另外,将默认成本引入主要成本映射可以使得ALTO服务器能够选择性地对ALTO客户端告知主要成本映射的成本条目。
作为又一实例,该技术可以允许ALTO服务器在网络边界上共用内部网络映射和成本映射,以使得应用层流量优化技术横跨多个管理域。因此,该技术可以使能多域优化的资源选择,而不是多个局部优化的PID选择,后者由于网络间边界效应而频繁地导致普遍未获最佳的资源选择。
在附图和以下说明书中阐述了本发明的一个或多个实施方式的细节。从说明书和附图以及权利要求书中,本发明的其他特征、目的和优点将是显而易见的。
附图说明
图1是示出了示例性网络系统的框图,在该系统中,一个或多个网络装置执行在本发明中所描述的技术,以增强应用层流量优化在内容分发网络中的操作。
图2A至图2B示出了图1的示例性网络系统的示例性网络映射。
图3A至图3B分别示出了由ALTO服务器利用图2A至图2B的网络映射并根据本发明的技术来计算的示例性边界路由器成本矩阵。
图4示出了根据本发明的技术由ALTO服务器所产生的示例性主要成本映射。
图5是示出了示例性网络系统的框图,在该系统中,一个或多个网络装置执行在本发明中描述的技术,以增强应用层流量优化在内容分发网络中的操作。
图6是详细地示出了执行根据本发明的技术的ALTO服务器的框图。
图7是示出了包括每个所描述的技术的PID属性的实例网络映射的框图。
图8是对应于图7的网络映射并且由每个所描述的技术产生的示例性成本映射。
图9是示例性网络系统的框图,该网络系统包括采用域名服务(DNS)的内容分发网络并执行本发明的技术。
图10是示例性网络系统的框图,该网路系统包括使用域名服务(DNS)的内容分发网络并执行本发明的技术。
图11是示出了根据本发明的原理的路由器的实例结构部件的框图。
具体实施方式
图1是示出了示例性网络系统2的框图,在该系统中,一个或多个网络装置执行在本发明中描述的技术,以增强应用层流量优化与内容分发网络的无缝且透明的整合。如图1所示,示例性网络系统2包括内容分发网络6和接入网络4。接入网络4可以表示由服务提供商拥有和操作的公共网络以提供接入一个或多个用户装置的网络。结果,接入网络4在本文中可以被称作服务提供商(SP)网络。在一些情况中,接入网络4可以表示在单个管理员或多个管理员的合作组的控制下的一个或多个自治系统。接入网络4可以连接至一个或多个客户网络(未示出),每个客户网络均构成两层(L2)有线或无线网络。已编号的层的参考符号可以指开放式系统互连(OSI)模型的特定层。可以在1980年4月4日在IEEE Transaction onCommunications,vol.28,no.4出版的Hubert Zimmermann的题目为“theISO model of Architecture for Open Systems Interconnection”中找到关于OSI模型的更多信息,其全部内容结合于此作为参考。例如,术语“应用层”指的是OSI模型的第七层。
内容分发网络(CDN)6是利用一个或多个服务而配合向客户端分发内容的互连装置的网络。这种内容可以包括例如流媒体文件、数据文件、软件、域名系统信息、文献、数据库查询结果以及其他内容。相应地,由CDN 6提供的服务的实例可以包括超文本传输协议(HTTP)、媒体流、广告、文件传输协议(FTP)等。CDN 6包括CDN高速缓存节点20A至20C(可选地,为“CDN节点”),这些CDN高速缓存节点包含重复的内容,并且例如利用在CDN 6的中间装置(为了简单起见而未示出)上操作的传输控制协议(TCP)或用户数据报协议(UDP)对话而将该内容提供给请求装置。内容提供商管理CDN节点20,以利用负载平衡技术、高速缓存技术、请求路由和/或内容服务而使内容分发最优化。CDN节点20可以反映出内容,尽管CDN节点20中的任一个均可以提供与由其他CDN节点提供的服务和数据内容不同的服务和数据内容。在一些实施方式中,CDN 6也为服务提供商网络或其他接入网络。
接入网络4的边界路由器16A至16B(“BR 16”)经由相应的传输链路(transit link)7A至7B而耦接至CDN 6的相应的边界路由器18A至18B(“BR 18”),以为网络4的装置提供由CDN节点20所获得的内容的接入。边界路由器16和边界路由器18均可以包括例如自治系统边界/边界路由器或提供商边缘路由器,它们执行边界网关协议(BGP),以将网络终点(路由器为其提供连接性)告知其他路由器(或同位体)。
主机10A至10C控制(host)经由接入网络4而连接至CDN 6的应用程序,以请求并下载与应用程序相关的内容。主机10为用户装置并且可以包括例如工作站、台式计算机、膝上型计算机、手机或其他移动装置、个人数字助理(PDA)以及能够经由无线和/或有线连接而连接至计算机网络的任何其他装置。在一些实施方式中,主机10为经由接入网络4而耦接至边界路由器16的客户网络的成员。
内容分发网络6包括转向器26以从主机10接收内容请求、选择并定位CDN节点20中的一个,该CDN节点能够服务请求并将正请求的主机转向至该确定的CDN节点。转向器26例如可以为DNS或其他类型的服务器、代理服务器装置、P2P同位体、P2P专用跟踪器、或防火墙或者其他安全装置。在一个情况中,转向器26执行DNS服务器负载平衡(SLB)。在一些情况中,转向器26为知道内容的转向器,其将特定内容或内容类型映射至存储并提供特定内容或内容类型的CDN节点20的每一个。在这种情况中,转向器26选择CDN节点20中的一个,以根据内容或内容类型的可用性而来服务请求。在一些情况中,转向器26为知道服务的转向器,其将服务映射至能够提供服务的CDN节点20中的每一个,而与CDN节点当前是否存储服务内容无关。在这些情况中,转向器26选择CDN节点中的一个,以根据服务能力来服务一请求。如果所选择的CDN节点20(提供服务)中的一个没有存储内容,则该CDN节点从集中服务器(centralized server)(未示出)或从CDN节点20中的另一个请求并接收内容。
在一些实施方式中,转向器26为用于HTTP的知道内容或知道服务的转向器。也就是说,转向器26从HTTP客户端接收用于内容的HTTP请求,并通过使HTTP响应返回至请求装置而将该请求转向至所选择的CDN节点20中的一个,HTTP响应具有状态代码302并包括所选择的CDN节点的网络地址。在一些实施方式中,主机10、CDN节点20和转向器26为在覆盖网络中连接以通过使用P2P应用程序来交换位置信息和内容的P2P同位体。在这种P2P实施方式中,转向器26可以为用于P2P应用程序的集中服务器,P2P应用程序对同位体进行标引内容,并提供位置信息而非同位体。
为了影响特定CDN节点20的选择以服务从网络装置接收的特定请求,CDN 6另外采用由CDN 6的CDN-ALTO服务器22所提供的应用层流量优化(ALTO)服务。通常,ALTO服务能够使CDN 6影响另外的内容提供商目的的选择过程,这些内容提供商目的可以包括通过选择地理上离请求主机10最近的一个CDN节点20来改进用户体验、对内容提供商降低传输成本、负载平衡、服务水平区分、解决带宽限制以及其他目的。
CDN-ALTO服务器22存储用于CDN 6的网络映射和成本映射,并将这些映射提供给ALTO客户端,诸如转向器26的CDN-ALTO客户端28。如下面参考图7所详细描述的,网络映射包含网络位置标识符或者PID,它们均表示在网络中的一个或多个网络装置。通常,PID可以表示单个装置或装置部件、诸如网络子网的一组装置、SP网络或一些其他分组。由CDN-ALTO服务器22存储的网络映射包括至少表示CDN节点20和边界路由器18的PID。如下面参考图8详细描述的,成本映射包含在网络映射中所表示的多个PID对的成本条目和表示越过PID对的成员之间的网络路径的成本的相关值。该值可以为序数(即,有序的)或数字(例如,实际的)。CDN-ALTO服务器22可以通过从CDN 6中的其他装置获得路由信息、然后对路由信息应用策略以将端点装置聚集在PID中,来产生网络映射和成本映射,并且该CDN-ALTO服务器针对每个特定标准(诸如传输成本或节点优先权)来计算越过PID对的成员之间的网络路径的成本。在一些实施方式中,CDN管理员或第三方为CDN-ALTO服务器22提供网络映射和成本映射。根据本发明的技术,CDN-ALTO服务器22通过表示没有附加的网络装置的唯一PID,来表示CDN 6的网络映射中的边界路由器18中的每一个。CDN-ALTO服务器22例如可以为高端服务器或其他服务装置、用于P2P应用程序的内容分度器、或者可插入网络装置中的服务卡(诸如路由器或开关)。CDN-ALTO服务器22可以用作路由器的服务面的一个元件,以根据本发明的技术来提供ALTO服务。
接入网络4也利用ALTO服务器14来实现ALTO服务,该ALTO服务器存储接入网络4的网络映射和成本映射。由ALTO服务器14存储的网络映射包括至少表示主机10和边界路由器16的PID。ALTO服务器14通过表示没有附加的网络装置的唯一PID,来表示在接入网络4的网络映射中的边界路由器16的每一个。
CDN-ALTO服务器22执行本发明的技术,以针对接入网络4域中的主机10,来改进对CDN 6域中的CDN主机20的选择。根据这些技术,CDN-ALTO服务器22包括ALTO客户端24,该ALTO客户端利用ALTO协议而从接入网络4的ALTO服务器14请求并接收用于接入网络4的网络映射和成本映射。
CDN-ALTO服务器22另外可以执行诸如内部BGP的路由协议,以发现将CDN 6耦接至接入网络4的边界路由器18。在一些实施方式中,并不是用路由协议来发现这些实施方式,CDN 6的网络映射中的PID包括边界路由器属性,使得CDN-ALTO服务器22可以利用该边界路由器属性来识别表示边界路由器18中的一个的PID。在根据CDN 6的网络映射而确定这些发现的边界路由器18的PID之后,CDN-ALTO服务器22使用CDN 6的网络映射和成本映射来计算CDN边界路由器成本矩阵,该CDN边界路由器成本矩阵指定从CDN节点20中的每一个到达边界路由器18中的每一个的成本。
然后,CDN-ALTO服务器22计算接入网络4的相似的边界路由器成本矩阵。也就是说,CDN-ALTO服务器22利用由ALTO客户端24从ALTO服务器14获得的接入网络4的网络映射和成本映射,来计算接入网络边界路由器成本矩阵,该接入网络边界路由器成本矩阵指定从主机10中的每一个到达边界路由器16中的每一个的成本。
通过使用两个成本矩阵(分别用于CDN 6和接入网络4),CDN-ALTO服务器22由于边界路由器16A至16B和18A至18B在传输链路7A和7B上的相应耦接,而使边界路由器16A与边界路由器18A相关并使边界路由器16B与边界路由器18B相关。另外,CDN-ALTO服务器22利用边界路由器相关性作为链路而使主要成本映射中的两个成本矩阵相交叉,并将来自相应成本矩阵中的各个成本相加,以计算交叉条目的总成本。换而言之,CDN-ALTO服务器22计算从每个CDN节点20到达每一主机10的总成本。例如,为了计算从CDN节点20B到达主机10A的总成本,CDN-ALTO服务器22(使用接入网络4成本矩阵)确定从主机10A PID到边界路由器16A PID的第一成本,并确定(使用CDN 6成本矩阵)从边界路由器18APID到CDN节点20B PID的第二成本。然后,CDN-ALTO服务器22将第一成本和第二成本相加,并且,在用于<主机10APID,CDN节点20B PID>对的主要成本映射的条目中插入该总和。
在所示的实例中,由于存在可以越过在主机10A和CDN节点20之间交换的流量的多个边界路由器16和18,所以CDN-ALTO服务器22可以针对每个组合或边界路由器16和边界路由器18来执行相交/相加处理。因此,除了上述计算以外,CDN-ALTO服务器22可以计算包括<主机10APID,边界路由器16APID>和<边界路由器18B PID,CDN节点20B PID>的网络路径的总成本。然后,CDN-ALTO服务器22可以选择任一可能组合的最低总成本,以进入在<主机10APID,CDN节点20B PID>对的主要成本映射中的条目。在具有连接边界路由器16和边界路由器18的附加链路的实施方式中,CDN-ALTO服务器22执行对应于附加链路的附加计算。在一些情况中,CDN-ALTO服务器22将适当的传输链路7成本合并在总和中。在图2中示出了根据这些技术的示例性计算。
转向器26的CDN-ALTO客户端28可以从CDN-ALTO服务器22请求并接收主要成本映射、CDN 6的网络映射以及接入网络4的网络映射。主机10将内容请求发送至转向器26。根据所描述的技术,转向器26询问主要成本映射以从用于请求主机的CDN节点20中选择最低成本的节点,并且其针对内容请求而返回所选择的CDN节点的网络地址。转向器26利用接入网络4的网络映射,而将请求主机10的源IP地址映射至PID。然后,转向器26利用主要成本映射来选择该PID的最低成本的CDN节点20。
例如,在所示的实施方式中,主机10A将内容请求34发送至转向器26,转向器26利用接入网络4和CDN 6的主要成本映射和网络映射,以在内容响应36中选择CDN节点20B的网络地址,并将其返回至主机10A。主机10A与CDN节点20B建立通信对话37(例如,TCP对话),以获得所请求的内容。在一种情况中,操作因特网浏览器应用程序的用户在地址栏中键入统一资源标识符(URI),使得该应用程序(在该实例中)将包括URI的HTTP请求34发送至转向器36。转向器36将URI映射至CDN节点20(其为HTTP服务器,并存储用于URI的内容(例如,网页)),并利用主要成本映射来选择一个所映射的节点,然后将HTTP响应36返回至在主机10A上运行的浏览器应用程序,该HTTP响应包括所选择的节点的网络地址。然后,浏览器应用程序可以经由通信对话37将第二HTTP请求发送至所选择的CDN节点20,以获得广受欢迎的内容。在一些实施方式中,ALTO服务器14和ALTO客户端24利用由HTTP所提供的加密方法来交换信息。
图2A和图2B分别示出了用于图1的接入网络4和CDN 6的示例性网络映射40和42。作为一个实例,网络映射40包括PID条目,该PID条目将图1的接入网络4的主机10A和10B映射至被标识为“PID-0”的PID。在一些情况中,网络映射40和42的PID条目包括识别PID是否表示边界路由器的属性。例如,可以对包括边界路由器端点的PID条目分配PID类型的“边界路由器”。为了易于说明,在简化图中示出了网络映射40和42。下文参考图7示出并讨论了更详细的网络映射。
图3A示出了由CDN-ALTO服务器22利用从接入网络4的ALTO服务器14接收的网络映射40和成本映射所计算的示例性接入网络边界路由器成本矩阵44。如所示出的,接入网络边界路由器成本矩阵44为边界路由器16中的每一个至主机10中的每一个的多对多映射(使用网络映射40PID来提取)。
图3B示出了由CDN-ALTO服务器22利用CDN 6的成本映射和网络映射42所计算的示例性接入网络边界路由器成本矩阵46。如所示出的,CDN边界路由器成本矩阵46为边界路由器18中的每一个至CDN节点20中的每一个的多对多映射(使用网络映射42PID来提取)。
图4示出了针对图1的接入网络4和CDN 6而由CDN-ALTO服务器22所计算的示例性主要成本映射48。主要成本映射48包括提供越过接入网络4的PID和CDN 6的PID之间的网络路径的总成本的条目。根据本发明的技术,CDN-ALTO服务器22通过使用边界路由器16和边界路由器18的相应耦接作为网络映射之间的链路而使网络映射40和42相交,来产生主要成本映射48。因此,主要成本映射48包括用于网络映射40的主机10PID和网络映射42的CDN节点20PID的每一组合的成本条目。
通过将来自接入网络边界路由器成本矩阵44和CDN边界路由器成本矩阵46中的适当条目的成本相加,CDN-ALTO服务器22确定每个成本条目的成本。通过利用来自主机10A的内容请求(在网络映射40中,映射至“PID-0”)作为实例,PID对<PID-0,PID-20>经由连接边界路由器16A和18A的传输链路7A或经由连接边界路由器16B和18B的传输链路7B而连接。在第一种情况中,CDN-ALTO服务器22将<PID-0,PID-2>成本(2)和<PID-22,PID-20>成本(11)相加,以达到用于越过传输链路7A的PID-0和PID-20之间的网络流量的13的总成本。在第二种情况中,CDN-ALTO服务器22将<PID-0,PID-3>成本(6)和<PID-23,PID-20>成本(16)相加,以达到用于越过传输链路7B的PID-0和PID-20之间的网络流量的22的总成本。由于13小于22,所以CDN-ALTO服务器22将13设定为指定主要成本映射48中的PID对<PID-0,PID-20>的成本条目的总成本。
当转向器26从主机10A接收内容请求时,转向器26询问连接至PID-0的最低成本的PID的成本映射。主要成本映射48将该PID表示为至PID-0而具有总成本13的PID-20。转向器26利用网络映射42选择PID-20中的一个端点(在该情况中,为CDN节点20B),并将CDN节点20的IP地址返回至主机10A。
图5是示出了示例性网络系统51的框图,在该网络系统中,转向器66、ALTO服务器70和内容节点72执行在本发明中所描述的技术。内容节点72为分布式应用程序(诸如利用CDN的客户端-服务器应用程序或P2P应用程序)提供内容。转向器66为知道内容或知道服务的转向器,诸如HTTP转向器或DNS服务器。转向器66和ALTO服务器70分别可以表示图1的转向器26和CDN-ALTO服务器22。内容节点72可以表示图1的CDN节点20中的任一个。转向器66可以负责主机PID的固定组,并在接收内容请求之前被提供有表示该职责的信息。
转向器66的ALTO客户端68从ALTO服务器70请求并接收用于完整映射上传消息60中的分布式应用程序的网络映射和成本映射。在P2P网络中,ALTO客户端68可以是从ALTO服务器70获得映射并将这些映射并入在同位体数据库中的应用程序跟踪器。
内容节点72向ALTO服务器70提供状态更新(status update)58,该状态更新包括与涉及服务的能力相关的数据、由内容节点72所经历的网络条件,或影响内容节点72的内容溯源(content-sourcing)服务的一些其他因素。内容节点72可以周期性地或响应于诸如接收特定内容的特定事件,而向ALTO服务器70提供状态更新。
ALTO服务器70接收状态更新58,并且如果适当的话,其使用包含在其中的信息来修改用于包含内容节点72的网络的分布式应用程序的网络映射和成本映射(在图5中未示出)。例如,如果状态更新58表明内容节点72不再提供内容溯源服务,则ALTO服务器70可以从网络映射中去除内容节点72。作为另一实例,如果状态更新58表明内容节点72正经历严重的流量负载,则ALTO服务器70可以增加具有内容节点72作为成员的PID对的成本。ALTO服务器70可以包括对特定的内容节点72状态指示指定成本权重的策略。换而言之,该策略规定ALTO服务器70的一个或多个特定成本修改动作,以响应由状态更新58所表明的内容节点72的特定状态条件。
ALTO服务器70确定先前的网络映射和成本映射与ALTO服务器70由于接收状态更新58而产生的网络映射和成本映射之间的差别。另外,ALTO服务器70还产生指令,以能够使ALTO客户端68修改由ALTO客户端68在完整的映射上传消息60中接收的网络映射和成本映射,以反映对应用拓扑的改变。然后,ALTO服务器70将这些指令在更新消息62中发送至ALTO客户端68。
在一个实例中,ALTO服务器70利用内容节点72接收表明服务失败的状态更新58。响应于这一服务失败,ALTO服务器70修改应用程序的网络映射和成本映射,然后确定新修改的映射和先前映射之间的差别。在该实例中,新修改的映射不再包括作为端点的内容节点72,这可以产生修改的PID或去除的PID。ALTO服务器70产生足以使ALTO客户端68将网络和成本映射的ALTO客户端68拷贝变为由ALTO服务器70产生的修改的网络和成本映射的指令。作为一个可行的实例,该指令可以声明,“REMOVE[IP address of content node 72]”。ALTO服务器70自发地将指令在更新消息62中推送至ALTO客户端68。也就是说,ALTO服务器70并非必须在发送更新消息62之前从ALTO客户端68接收请求。
一旦接收到更新消息62,ALTO客户端68就使用包含在更新消息62中的指令来修改包括该应用程序的网络映射和成本映射的位置数据库52。
在一些实施方式中,新修改的映射为成本映射,而网络映射保持不变。在这种情况中,ALTO服务器70产生足以引起ALTO客户端68改变成本映射的ALTO客户端68拷贝以使ALTO客户端68成本映射与ALTO服务器70成本映射相一致的指令。作为一个可行的实例,该指令可以声明,“SETCOST PID-1,PID-2,8”,以使ALTO客户端68设定在客户端成本映射中的成本,以越过将PID-1和PID-2耦接至8的相应网络映射的拓扑链路。
主机64包括应用程序74,其组成上面所讨论的分布式应用程序的一部分。例如,应用程序74可以为P2P应用程序的同位体或客户端-服务器应用程序的客户端。应用程序74可以为因特网浏览器。应用程序74将内容请求54发送至转向器66,在接收到更新消息62之后,查找模块50通过询问用于分布式应用程序的网络和成本映射(由ALTO客户端68更新)来响应该转向器。查找模块50从中选择最低成本的节点(在一些情况中,该节点为内容节点72)以提供所请求的内容,并在内容响应56中将用于所选择的节点的网络地址返回至应用程序74。在一些实施方式中,查找模块50为HTTP服务器。
在一些实施方式中,HTTP 302转向消息中的URI由于虚拟主机的结果而可以包含域名,而不是所选择的CDN节点的IP地址。在这种情况中,在选择请求主机的CDN节点之前,包含在成本映射中的IP地址可以需要与域名相互关联。
以此方式,实时内容节点状态更新、增量网络和上述成本映射更新技术能够使能进行网络和成本映射的策略驱动的广告,这种广告将内容节点的条件结合在PID间成本计算过程中,如这种状态涉及例如网络拓扑、流量负载、节点健康状态,或涉及提供服务的其他状态。在P2P环境中,由于ALTO客户端68可以为应用程序跟踪器,所以用于应用程序的同位体数据库可以说明(account for)当前规格(metrics),例如,同位体可用性、内容可用性以及定位。
此外,由于内容节点72向ALTO服务器70而不是向转向器66提供状态更新58,所以ALTO服务器70可以通过在更新消息62中将映射更新推送至ALTO客户端68,而根据实时状态变化来更快速地更新ALTO客户端68。这可以减少在ALTO服务器70和ALTO客户端68之间所交换的信息量。另外,在ALTO服务器70处接收状态更新58使得ALTO服务能够在与转向器66所占据的管理域不同的管理域中操作。这可以能够独立地量测内容节点的健康管理(利用ALTO服务器70)和转向的健康管理(利用转向器66)。在许多情况中,转向器66面临更高的量测需求。
图6是详细地示出了执行根据本发明技术的实例ALTO服务器80的框图。ALTO服务器80可以包括图1的CDN-ALTO服务器22和图5的ALTO服务器70的方面。
在所示的实施方式中,ALTO服务器80包括网络信息库90、数据结构以产生基于ALTO的映射,该数据结构包括关于网络拓扑、端点状态、各种网络链路的传输成本的信息、以及由映射模块81需要的任何其他信息。在所示实例中,网络映射模块82利用网络信息库90产生网络映射102,成本映射模块84利用网络信息库90产生成本映射104。网络信息库90被提供有通过执行路由协议92而获得的信息,以从管理员108和从内容节点72获得路由信息,所述的管理员连接至用户接口100(“UI 100”)以上传包括网络信息的表格或其他数据结构,所述内容节点如以上参考图5所描述的而将状态更新消息58发送至资源接口86,以利用节点的状态来更新网络信息库。网络信息库90还可以从与图1的ALTO客户端24基本相似地进行操作的ALTO客户端106接收网络信息。也就是说,ALTO客户端106可以从其他管理域中请求并接收网络映射和成本映射,并将这些映射存储至网络信息库。
除了接收状态更新58以外,资源接口86还发现可用的内容节点(例如,内容节点72)。资源接口86可以利用例如ping(HTTP Get请求)、traceroute或其他方法,而针对状态更新58来轮询(poll)内容节点72。资源接口86可以包括简单的网络管理协议(SNMP)代理,其连接至内容节点72或连接至中心网络管理服务器,以请求状态更新58。资源接口86可以暴露应用程序编程接口(API),该应用程序编程接口可以包括Web服务或基于可扩展消息接发和存在协议(XMPP)的API。
用户接口100可以为命令行接口(CLI)、图形用户接口(GUI)、远程过程调用(RPC)或一些其他方法,以使得管理员108能够配置ALTO服务器80的网络信息库90和供给策略98。管理员108可以为例如服务提供商网络的网络操作员,或者是在例如网络管理装置上运行的软件代理。管理员108为ALTO服务器80另外提供供给策略98,该供给策略为根据与传输成本、负载平衡、服务区分、PID分组或其他优先选择区域相关的管理员优先选择、而使网络映射模块82产生网络映射102并使成本映射模块84产生成本映射104的一组策略。例如,供给策略98可以引导网络映射模块82和成本映射模块84产生映射,以使来自具有特定属性的PID的内容请求被转向至特定CDN节点。
网络映射模块82和成本映射模块84可以执行映射过滤服务。该映射过滤服务允许ALTO客户端请求来自ALTO服务器80的映射,以询问根据各种参数而被过滤的映射。以这种方式,客户端可以避免客户端侧过滤,并且ALTO服务器80可以减少由不必要的大映射传输所引起的网络流量。根据本发明的技术,如下文参考图7而进一步详细描述的,网络映射102可以包括可用来消除PID(包含特定类的端点)中的歧义的PID属性。网络映射模块82可以采用映射过滤服务过滤来自网络映射102的任何PID(不包括属于特定类的端点),然后将所过滤的网络发送至请求客户端。
客户端接口96暴露ALTO服务器接口以使得ALTO客户端(例如,客户端40)请求并接收用于网络应用程序的网络映射和成本映射。客户端接口96在完整映射上传消息60中将网络映射102和成本映射104的拷贝发送至客户端40。客户端接口96可以执行一个或多个协议,以获得ALTO客户端在网络中的网络地址,并且客户端接口保持这些网络地址,以将映射的增量更新推送至这些客户端。
ALTO服务器80的差分引擎88高速缓存网络映射102和成本映射104的拷贝。一旦产生新的网络映射102和/或成本映射104,差分引擎88就确定新网络映射102和表示现有版本的缓存拷贝之间的差别。另外,差分引擎88还确定新的成本映射104和表示现有版本的成本映射的缓存拷贝之间的差别。然后,差分引擎88产生一系列命令,当这些命令由客户端40执行时,将导致客户端40使用于网络应用程序的网络映射和成本映射的拷贝分别与网络映射102和成本映射104相一致。差分引擎88引导客户端接口96,以将这些命令在更新消息62中发送至客户端40。
图7是示出了由ALTO服务器根据ALTO服务和本发明的技术所建立的实例网络映射102的框图。网络映射102包括一组网络位置标识符(PID)110A至110C,每一网络位置标识符均由网络位置标识符值114A至114C的相应一个来识别。PID 110中的每一个组成间接的网络不可知的聚集机构(aggregation mechanism),以表示例如一个或多个单独的端点、一个或多个子网、大都市区域、存在点(PoP)、一个或多个自治系统,或者它们的任一组合。例如,PID 110B表示具有IP地址11.0.0.58的端点,并具有网络位置标识符值“PID-1”。可以聚集PID 110,并且可以根据任何数量的标准来分配网络位置标识符114。在一些情况中,ALTO服务器通过地理接近性而将端点、子网等聚集在PID 110中。网络端点到PID 110中的聚集通过将网络端点与它们在ALT环境中的标识符分离,来提供可量测性和保密性。特别地,聚集通过减小网络的大小来减小成本映射的大小,并隐藏在特定PID(表示例如自治系统)下的网络拓扑。
根据本发明的技术,示例性PID 110的每一个均包括PID类型字段112A至112C中的相应一个,这些PID型字段存储所分配的PID的PID类型。例如,PID 110A包括指定用于PID 110A的“主机”PID类型的PID型字段112A,而PID 110C包括指定用于PID 110C的“CDN”PID类型的PID类型字段112C。因此,PID 110A识别主机子网,PID 110C识别可用的CDN高速缓存节点的IP地址。
PID类型字段112为各个PID 110的属性,并能够使ALTO服务采取特定PID类型的动作。如上文参考图6所描述的,可以通过作为约束的ALTO服务器而使PID类型值传给映射过滤服务。例如,ALTO服务器(诸如ALTO服务器80)可以设定成本映射的成本条目,该成本映射将类型“主机”的两个PID之间的成本指定为无穷大的值。从而,使用成本映射选择用于请求主机的资源的转向器或其他资源选择器避免了选择另一主机作为资源,以有利于具有类型“CDN”的PID的资源。在一些实施方式中,ALTO服务器可以过滤成本条目,以避免将这种条目发送至ALTO客户端。相反,ALTO服务器将成本条目的稀疏矩阵告知ALTO客户端。在这些实施方式中,ALTO客户端假设,所接收的成本映射中的任何缺失的成本条目的默认成本为无穷大。
虽然图7仅示出了“主机”和“CDN”PID类型,但附加的PID类型也可以被用来表示PID 110的特性。例如,其他PID类型可以包括“移动主机”、“无线主机”或其他分类。在其他实例中,PID类型可以包括与客户和服务提供商之间的服务水平协议相对应的服务分类。在资源选择的过程中可以类似地采用这些附加类型以进一步服务提供商策略。作为仅有的一个实例,ALTO服务器可以识别具有类型“移动主机”的PID并产生成本映射,以使转向器将这些PID发送至控制(host)低分辨率视频流的内容节点。
在另一实例中,ALTO服务器可以采用PID类型“边界路由器”来确保由ALTO服务器所服务的网络(例如,内容分发网络6或接入网络4)的任何边界路由器均被映射至不同的PID。这使ALTO服务器能够计算合并连接多个网络的传输链路的主要成本映射。
图8是对应于图7的网络映射102并且通过所描述的技术而产生的示例性成本映射120。成本映射120解决需要将类型“主机”的PID转向至类型“CDN”的PID的应用程序。因此,ALTO服务器产生成本映射120,使得主机间PID对和CDN间PID对被设定为具有无穷大的成本。因此,与图7的网络映射102的PID 110B和110C相对应的<“PID-1”,“PID-2”>的成本条目具有无穷大的值。ALTO服务器可以广告其从120得到的全矩阵或稀疏矩阵以减小网络流量。
在使用图7的网络映射102和图8的成本映射120的一实例中,转向器(例如,图5的转向器66)从ALTO服务器请求并接收成本映射120和网络映射102。然后,转向器66从具有源IP地址的主机接收内容请求。转向器66根据网络映射102来确定包含源IP地址的PID。然后,转向器66利用成本映射选择所确定的PID的最低成本的CDN PID,并找出由最低成本的CDN PID所包含的内容(例如,CDN)节点的IP地址。由PID所包含的内容节点的选择可以是随机的、循环的或者是基于一定水平的内容了解的。作为引导内容了解(content-awareness-directed)的选择的一个实例,转向器66可以将相同URI的请求发送至相同的内容节点。
图9是包括采用域名服务(DNS)的内容分发网络130(“CDN 130”)的示例性网络系统128的框图。该网络系统128的元件通过利用DNS代理138而配合执行重复的DNS查找。最初,主机140(或在主机140上执行的应用程序)将DNS询问150发送至DNS代理(DNS proxy)138,DNS代理138请求根域名服务器(root name server)146以找到用于顶级域(在该实例中,顶级域为“com”)的授权DNS服务器。根域名服务器146通过COM名服务器144的网络地址进行响应,DNS代理使用该COM名服务器来获得由内容分发网络130覆盖的域(例如,“cdn.com”域)的授权DNS服务器的网络地址。COM名服务器144将名称服务器132的网络地址返回至DNS代理138。CDN 130的每个元件均在相同的管理域中。
名称服务器132为DNS服务器,并且其可以与图5的转向器66基本相似地进行操作。名称服务器132包括从CDN 130的ALTO服务器136请求并接收网络映射和成本映射的ALTO客户端134。DNS代理138响应于从主机140接收的DNS请求150而发送DNS请求152,并且名称服务器132基于主机140的IP地址(在DNS请求152中由DNS代理138发送)以及从ALTO服务器136接收的网络映射和成本映射,而通过选择最适当的CDN节点(在该情况中,为CDN节点142)而进行响应。
名称服务器132发送包括CDN节点142的网络地址的DNS响应156,DNS代理138在DNS响应158中将该网络地址转发至主机140。主机140与CDN节点142直接建立通信对话160以获得广受欢迎的内容。
图10是示出了网络系统170的框图,其与图9的网络系统128基本上相似。然而,与网络系统128不同,CDN 130的ALTO服务器136在不同的网络172中受独立管理域的控制。另外,名称服务器132由DNS分解器(resolver)174来替换。
许多组织/内容提供商由于各种原因(例如可靠性、性能改进、DNS安全性以及其他原因)而向外部厂商(在所示实施方式中,为网络172的管理员)外界供应(outsource)DNS管理。可以通过CDN 130内的高速缓存或其他CDN来使用所管理的DNS服务。DNS分解器174在内容服务器之间使流量动态地负载平衡。典型地,所管理的DNS服务提供商在地理位置上定位DNS分解器以改进性能。DNS分解器174包括ALTO客户端134,以从ALTO服务器136获得网络映射和成本映射。然后,通过使用本发明的技术,DNS分解器174可以基于在网络映射和成本映射中提供的信息而使流量负载平衡。例如,成本映射可以结合来自CDN节点142的实时更新,这些实时更新使DNS分解器174增加或减小转向至CDN节点142的请求量。
在一些实施方式中,CDN 130和网络172均连接至单个服务提供商网络。在这些情况中,网络系统170与图9的网络系统128基本上相似地进行操作。然而,在一些实施方式中,CDN 130和网络172连接至不同的服务提供商网络。在这些情况中,网络系统170与图1的网络系统2基本上相似地进行操作,其中,网络系统2的接入网络4和CDN 6分别对应于网络172和CDN 130。在这些情况中,DNS分解器174可以连接至执行上文关于图1的CDN-ALTO服务器22所描述的主要成本映射产生技术的ALTO服务器。
在一些实施方式中,所管理的DNS服务可以利用多个CDN厂商,并且DNS分解器174可以基于子域而将请求转向至不同的CDN节点。例如,DNS分解器174可以包括这样的策略:其指定到特定子域的CDN节点142的转向和到不同子域的另一CDN节点(未示出)的转向。在该实施方式中,DNS分解器174可以包括ALTO客户端134。
图11是示出了根据本发明的原理而提供可量测的ALTO服务的路由器240的框图。路由器240可以表示图1的ALTO-CDN服务器22、图5的ALTO服务器70、或图6的ALTO服务器80、或图9至图10的ALTO服务器136中的任一个。路由器240可以包括应用诸如如上文中所描述的ALTO服务的服务的一个或多个服务引擎241。也就是说,服务引擎可以为在用于服务ALTO协议的服务卡260A至260M(“服务卡260”)上操作的一个或多个相应的虚拟ALTO服务器261A至261M提供操作环境。在该实例中,路由和服务被结合在单个路由器240内,该路由器使用适于高速转发功能(由处理高额流量的路由器所要求)的共用转发引擎246。
路由器240包括控制单元242,该控制单元包括与转发引擎246相耦接的路由引擎244,路由引擎244为执行路由操作的路由协议248提供操作环境。路由引擎244负责路由信息库(RIB)250的维护,以反映其连接的网络和其他网络实体的当前拓扑。具体地,路由引擎244周期性地更新RIB 250,以精确地反映网络和其他实体的拓扑。此外,路由引擎244将由RIB 250存储的网络拓扑信息推送至服务卡260,以提供至虚拟ALTO服务器261的拓扑输入。虚拟ALTO服务器261可以在PID聚集、网络映射产生和成本映射产生的过程中使用该拓扑输入。
根据RIB 250,转发引擎246维护转发信息库(FIB)252,该转发信息库将网络终端与特定的下一跳变以及相应的接口端口相关联。例如,控制单元242分析RIB 250并根据RIB 250来产生FIB 252。路由器240包括接口卡254A至254N(“IFC 254”),这些接口卡分别经由网络链路256和257来接收并发送包。IFC 254可以经由多个接口端口而耦接至网络链路256、257。转发引擎246可以包括交换结构(switch fabric)以基于所选择的下一跳变而将多点传送包转发至接口卡。
通常,转发引擎246可以将从IFC 254接收的一些包转送至服务卡260。具体地,转发引擎246可以包括流转向单元(flow steering unit)245,以将这些包选择性地引导至用于处理的服务引擎241。即,流转向单元245接收进入的包流,并在一个或多个服务卡260内确定是否通过用于处理的服务引擎241来发送这些包,或确定是否绕过服务引擎241。例如,流转向单元245可以引导针对由服务卡提供的虚拟ALTO服务器261中的一个而预定的包流。在2008年9月23日提交的美国专利申请第12/235,677号的题为“Forwarding Plane Configuration for separation of Service andforwarding in an Intergrated Services Router”中可以发现一个转发用于服务分离的平面配置并在集成服务路由器中转发的实例,其全部内容结合于此作为参考。
服务卡260从转发引擎246接收包,并根据所定义的配置数据282而选择性地提供服务。在一些情况中,服务卡可以将这些包或任何响应包转送至控制单元242,以由转发引擎246根据FIB 252转发。多个输入和输出逻辑接口可以将服务卡260耦接至控制单元242。
可以沿着路由器240的底板或其他互连来安装具有服务引擎241的服务卡260,以在从转发引擎246接收的包上执行各种服务,这些服务包括ALTO服务和诸如过滤、记录、入侵检测和预防(IDP)分析、病毒扫描、深度包检测的其他服务。在一些情况中,服务卡260可以发出命令251,以在转发引擎246的流转向单元245内动态地配置流表格249。例如,流转向单元245接收一个包,并分析所接收的包,以识别与该包相关联的包流,例如,利用基于流的供给逻辑247而基于在包的头或主体中携带的信息来识别n个元组(例如,五元组和输入接口)。一旦识别到包流,流转向单元245参考内部流表格249,以确定是属于新的包流还是属于已由路由器240识别的包流。
如果流转向单元245在流表格249中未找到匹配,这表明该包属于新的包流,则流转向单元245将该包引导至用于防火墙服务的服务引擎241的服务卡260。当将该包引导至服务引擎241时,服务卡260中的一个将ALTO服务应用于这些包,所述包符合ALTO协议并针对路由器的ALTO服务而预定。另外,服务卡260可以从包中提取并组装应用层数据,深度包检查(DPI)机可以执行入侵检测和预防(IDP)分析和/或虚拟扫描,以过滤掉坏包。作为另一实例,服务卡260还可以执行译码、NAT或鉴别服务。
一旦接收并处理包流的一个包或多个包,服务卡260可以发出命令251以在流表格249内安装动态过滤器,诸如当接收到匹配过滤器的包时指明要执行的特定动作的精确匹配过滤器。在服务卡260确定不需要另外的防火墙服务应用于包流的情况下(例如,在确定包流为可信或良好的之后),服务卡260可以在流转向单元245内安装过滤器,以表明可以在绕过服务引擎241的径直路径上处理该包流对话的后续包。当流转向单元245接收到相同包流的后续包时,流转向单元245核对流表格249,并确定该包与新的动态过滤器相匹配,并根据动态过滤器而在适当路径上引导包。
控制单元242包括用户接口264,客户端(例如管理员266(“ADMIN266”))通过其可以直接或远程配置路由器240。通过与用户接口264相互作用,各种客户端(例如,人类用户和自动化脚本)可执行各种配置任务。例如,客户端可以通过供给策略、网络链路传输成本信息和QoS信息来配置虚拟ALTO服务器260。作为其他的实例,客户端可以配置路由器的接口卡、调节用于所支持的网络协议的参数、指定路由装置内的物理部件、修改由路由器所维护的路由信息、接入软件模块和位于路由器上的其他资源等。例如,用户接口264可以包括命令行接口(CLI)或其他适当的接口(例如,基于网络浏览器的接口),以处理用户或脚本驱动的命令。用户接口264表示在路由引擎244上执行的软件,该路由引擎给出命令行接口(例如,经由外壳或远程登录对话),用于接收如本文所描述的配置数据,该配置数据包括由服务卡260的服务引擎241所提供的ALTO协议的配置。
在一个实施方式中,转发引擎246和路由引擎244均可以包括一个或多个专用处理器、存储介质、硬件等,并且可以通过数据通信信道268而通信地耦接。数据通信信道268可以为高速网络连接、总线、共享存储器或其他数据通信机制。
以这种方式,可以将路由器240的操作视为被分成控制面、服务面和数据面。控制面可以被看作为由路由引擎244提供并可以包括一个或多个软件处理,诸如在由一个或多个微处理器提供的计算环境上执行的管理端口监督程序(management daemon)和路由协议端口监督程序。
路由器240可以进一步包括用于容纳控制单元242的物理底架(未示出)。该底架具有用于容纳一组卡(包括IFC 254和服务卡260)的多个缝隙(未示出)。每张卡均可以被插入底架的相应缝隙,以经由总线、底板或其他电通信机制而将卡耦接至控制单元242。
路由器240可以根据从计算机可读存储介质(未示出)取出的可执行指令来操作。这种介质的实例包括随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、闪存等。可以通过用一个或多个处理器、离散硬件电路、固件、在可编程处理器上执行的软件,或以上的任一组合来执行计算机可读存储介质的指令,来实现路由器240的功能。
可以至少部分地在装置管理系统和受管理装置上的硬件、软件、固件或其任一组合中实现在本发明中描述的技术。例如,可以将所述技术的各个方面实现为由一个或多个处理器执行的编码程序代码,所述的一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)、特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等价的集成或离散的逻辑电路、以及这些部件的任何组合。术语“处理器”或“处理电路”可以通常指的是单独地或与其他逻辑电路组合的上述逻辑电路的任一个、或者任何其他的等效电路。包括硬件的控制单元还可以执行本发明的一个或多个技术。
可以在同一装置内或不同的装置内执行这种硬件、软件和固件,以支持在本发明中所描述的各种操作和功能。另外,可以将任何所述单元、模块或部件一起或分开地实现为离散但可共同操作的逻辑装置。对模块或单元的不同特征的描述旨在突出不同的功能方面,而并非必须意味着这种模块或单元必须通过不同的硬件或软件部件来实现。相反,与一个或多个模块或单元相关联的功能可以由不同的硬件或软件部件来执行,或者可以集成在共用或不同的硬件或软件部件内。
本发明中描述的技术也可以嵌入或编码在诸如包括指令的实体计算机可读存储介质中的计算机可读介质中。例如,当执行嵌入或编码在计算机可读介质中的指令时,这些指令可以使可编程处理器或其他处理器执行该方法。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光学介质或其他计算机可读存储介质。应当理解,尽管术语“计算机可读介质”除了物理存储介质以外还可以包括诸如信号的瞬时介质,但术语“计算机可读存储介质”指的是物理存储介质,而不是信号或载波。
除了以上实施方式以外或作为以上实施方式的替换,描述了以下实施方式。可以通过本文中所描述的任何其他实施方式来利用在以下实施方式的任一个中所描述的特征。
一个实施方式致力于一种方法,该方法包括:通过包括用于第二ALTO服务器的第一ALTO客户端的第一应用层流量优化(ALTO)服务器,来产生包括PID条目的第一ALTO网络映射,以描述一个或多个PID的第一组中的每一个,其中,第一组PID中的每一个均与第一网络的一个或多个端点的子集相关联;通过第一ALTO服务器来产生第一ALTO成本映射,第一ALTO成本映射针对第一组PID的每一组合而包括成本条目,该成本条目包括成本值以指定通过第一网络(连接第一组PID的相应组合)而越过网络路径的成本;通过第一ALTO客户端接收第二ALTO网络映射,该第二ALTO网络映射包括PID条目以描述一个或多个PID的第二组中的每一个,其中,第二组PID中的每一个均与第二网络的一个或多个端点的子集相关联;通过第一ALTO客户端来接收第二ALTO成本映射,第二ALTO成本映射针对第二组PID中的每一个组合而包括成本条目,该成本条目包括成本值以指定通过第二网络(连接第二组PID的相应组合)而越过网络路径的成本;产生包括一个或多个主要成本条目的主要成本映射,每一个主要成本条目均包括从第一组PID中选择的PID和从第二组PID中选择的PID,并且每个主要成本条目包括表示从选自第一组PID的PID和选自第二组PID的PID越过网络路径的成本;并将该主要成本映射从第一ALTO服务器输出至第二ALTO客户端。
在一些实施方式中,该方法可以进一步包括:其中,第一网络包括与第一ALTO网络映射的PID条目相关联的第一边界路由器,其中,第二网络包括与第二ALTO网络映射的PID条目相关联并经由传输链路而连接至第一边界路由器的第二边界路由器,其中,产生主要成本映射包括:从第一组PID中选择第一所选PID,其中,第一所选PID与第一边界路由器不相关;从第二组PID中选择第二所选PID,其中,第二所选PID与第二边界路由器不相关;产生包括第一所选PID和第二所选PID的第一主要成本条目。
在一些实施方式中,该方法可以进一步包括,将用于第一所选PID和第一边界路由器的PID的组合的第一ALTO成本映射中的成本条目值与用于第二所选PID和第二边界路由器的PID的组合的第二ALTO成本映射中的成本条目值相加,以产生总成本;并将第一主要成本条目的成本值设定为总成本。
在一些实施方式中,该方法可以进一步包括,将用于第一所选PID和第一边界路由器的PID的组合的第一ALTO成本映射中的成本条目值与用于第二所选PID和第二边界路由器的PID的组合的第二ALTO成本映射中的成本条目值、以及与用于将第一边界路由器连接至第二边界路由器的传输链路的成本相加,以产生总成本;以及将用于第一主要成本条目的成本值设定为总成本。
在一些实施方式中,该方法可以进一步包括:其中,与第一边界路由器相关联的第一ALTO网络映射的PID条目包括PID类型字段,其将与第一边界路由器相关联的第一ALTO网络映射的PID条目识别为包括边界路由器,其中,与第二边界路由器相关联的第二ALTO网络映射的PID条目包括PID类型字段,其将与第二边界路由器相关联的第二ALTO网络映射的PID条目识别为包括边界路由器。
在一些实施方式中,该方法可以进一步包括:产生第一网络的第一边界路由器成本矩阵,其指定从第一ALTO网络映射中的第一组PID中的其他PID到达第一边界路由器的成本;以及产生第二网络的第二边界路由器成本矩阵,其指定从第二ALTO网络映射的第二组PID中的PID到达第二边界路由器的成本。
在一些实施方式中,该方法可以进一步包括:其中,第一网络和第二网络在分开的管理域中操作。在一些实例中,该方法可以进一步包括,其中,与第一组PID中的特定PID相关联的第一网络的一个或多个端点中的每一个均为同一类型的成员,该方法进一步包括:通过第一ALTO服务器将PID类型属性分配给第一组PID中的每一个,其中,第一组PID中的特定PID的PID类型属性指定与该特定PID相关联的端点的子集的类型,其中,第一ALTO网络映射的每个PID条目均包括PID类型字段,其存储由PID条目所描述的第一组PID中的PID的所分配的PID类型属性。
在一些实施方式中,该方法可以进一步包括,其中,将PID类型属性分配给每个PID包括:将“内容分发节点”PID类型属性分配给第一组PID中的第一PID,其中,“内容分发节点”PID类型属性将与第一PID相关联的端点识别为内容分发服务的提供商;以及将“主机”PID类型属性分配给第一组PID中的第二PID,其中,“主机”PID类型属性将与第二PID相关联的端点识别为内容分发服务的客户。
在一些实施方式中,该方法可以进一步包括,通过第一ALTO服务器而从ALTO客户端接收用于主要ALTO成本映射的请求;设定主要成本条目的成本值,这些主要成本条目将包括具有相同PID类型属性的成员的PID对指定为无穷大;并且响应于接收到请求,将主要成本条目从ALTO服务器输出至ALTO客户端来作为主要ALTO成本映射。
在一些实施方式中,该方法可以进一步包括:过滤指定无穷大的成本值的主要成本条目,以产生主要成本条目的稀疏矩阵,其中,主要成本条目的稀疏矩阵的失去的主要成本条目具有无穷大成本的默认值,其中,输出主要成本条目包括仅将主要成本条目的稀疏矩阵从ALTO服务器输出至ALTO客户端作为主要ALTO成本映射。
在一些实施方式中,该方法可以进一步包括:通过第一ALTO服务器而从第一网络的端点的第一个中接收状态更新,该第一网络包括表示第一端点的条件(影响第一端点关于服务的性能)的信息;产生第一网络的第二ALTO网络映射,其中,第一网络的第二ALTO映射解释所接收的信息,以表示用于第一网络的更新的ALTO拓扑;确定第一网络的第一ALTO网络映射和第二ALTO网络映射之间的差别;并将更新消息从第一ALTO服务器输出至ALTO客户端,ALTO客户端包括第一ALTO网络映射的增量更新,以使得ALTO客户端使由ALTO客户端存储的第三ALTO网络映射与第一网络的第二ALTO网络映射一致。在一些实施方式中,该方法可以进一步包括,其中,第一ALTO服务器包括路由器,并且其中,第二网络包括内容分发网络。
一些实施方式致力于一种编码有指令的计算机可读存储介质,这些指令使一个或多个可编程处理器执行以上所阐述的任何方法。一些实施方式致力于一种包括用于执行以上所阐述的任何方法的装置的设备。
在一些实施方式中,第一应用层流量优化(ALTO)服务器运行与第二ALTO服务器相通信的第一ALTO客户端,并产生第一ALTO网络映射,该第一ALTO网络映射包括PID条目以描述一个或多个PID的第一组中的每一个,其中,第一组PID中的每一个均与第一网络的一个或多个端点的子集相关联。第一ALTO服务器还产生第一ALTO成本映射,该第一ALTO成本映射针对第一组PID的每一组合而包括成本条目,该成本条目包括成本值以指定通过第一网络而越过网络路径的成本,该第一网络连接第一组PID的相应组合。第一ALTO服务器还接收第二ALTO网络映射,该第二ALTO网络映射包括PID条目以描述一个或多个PID的第二组中的每一个,其中,第二组PID中的每一个均与第二网络的一个或多个端点的子集相关联。第一ALTO服务器还通过第一ALTO客户端来接收第二ALTO成本映射,第二ALTO成本映射针对第二组PID的每一组合而包括成本条目,该成本条目包括成本值以指定通过第二网络而越过网络路径的成本,第二网络连接第二组PID的相应组合。第一ALTO服务器还产生包括一个或多个主要成本条目的主要成本映射,每个主要成本条目均包括从第一组PID中选择的PID和从第二组PID中选择的PID,并且每个主要成本条目均包括表示从选自第一组PID的PID和选自第二组PID的PID越过网络路径的成本。第一ALTO服务器还将主要成本映射输出至第二ALTO客户端。
在一些实施方式中,第一网络包括与第一ALTO网络映射的PID条目相关联的第一边界路由器,第二网络包括与第二ALTO网络映射的PID条目相关联并经由传输链路而连接至第一边界路由器的第二边界路由器,并且第一ALTO服务器通过以下方式来产生主要成本映射:从第一组PID中选择第一所选PID,从第二组PID中选择第二所选PID,并且创建包括第一所选PID和第二所选PID的第一主要成本条目,其中,第一所选PID与第一边界路由器不相关,第二所选PID与第二边界路由器不相关。
在一些实施方式中,第一ALTO服务器将用于第一所选PID和第一边界路由器的PID的组合的第一ALTO成本映射中的成本条目值与用于第二所选PID和第二边界路由器的PID的组合的第二ALTO成本映射中的成本条目值相加,以产生总成本。第一ALTO服务器还将第一主要成本条目的成本值设定为总成本。
在一些实施方式中,第一ALTO服务器将用于第一所选PID和第一边界路由器的PID的组合的第一ALTO成本映射中的成本条目值与用于第二所选PID和第二边界路由器的PID的组合的第二ALTO成本映射中的成本条目值、以及与将第一边界路由器连接至第二边界路由器的传输链路的成本相加,以产生总成本。第一ALTO服务器还将第一主要成本条目的成本值设定为总成本。
在一些实施方式中,与第一边界路由器相关联的第一ALTO网络映射的PID条目包括PID类型字段,其将与第一边界路由器相关联的第一ALTO网络映射的PID条目识别为包括边界路由器,其中,与第二边界路由器相关联的第二ALTO网络映射的PID条目包括PID类型字段,其将与第二边界路由器相关联的第二ALTO网络映射的PID条目识别为包括边界路由器。
在一些实施方式中,第一ALTO服务器还产生第一网络的第一边界路由器成本矩阵,其指定从第一ALTO网络映射中的第一组PID中的其他PID到达第一边界路由器的成本。第一ALTO服务器还产生第二网络的第二边界路由器成本矩阵,其指定从第二ALTO网络映射的第二组PID中的PID到达第二边界路由器的成本。
在一些实施方式中,与第一组PID中的特定PID相关联的第一网络的一个或多个端点中的每一个均为同一类型的成员,并且第一ALTO服务器将PID类型属性分配给第一组PID中的每一个,其中,第一组PID中的特定PID的PID类型属性指定与特定PID相关联的端点的子集的类型,其中,第一ALTO网络映射的每个PID条目均包括PID类型字段,其存储由PID条目所描述的第一组PID中的PID的所分配的PID类型属性。
在一些实施方式中,第一ALTO服务器将“内容分发节点”PID类型属性分配给第一组PID中的第一PID,其中,“内容分发节点”PID类型属性将与第一PID相关联的端点识别为内容分发服务的提供商。第一ALTO服务器还将“主机”PID类型属性分配给第一组PID中的第二PID,其中,“主机”PID类型属性将与第二PID相关联的端点识别为内容分发服务的客户。
在一些实施方式中,第一ALTO服务器从ALTO客户端接收主要ALTO成本映射的请求。第一ALTO服务器还设定主要成本条目的成本值,主要成本条目将包括具有相同PID类型属性的成员的PID对指定为无穷大。第一ALTO服务器还响应于接收到请求,而将主要成本条目从ALTO服务器输出至ALTO客户端来作为主要ALTO成本映射。
在一些实施方式中,第一ALTO服务器过滤指定无穷大的成本值的主要成本条目,以产生主要成本条目的稀疏矩阵,其中,主要成本条目的稀疏矩阵的失去的主要成本条目具有无穷大的成本的默认值,并且其中,输出主要成本条目包括将仅将主要成本条目的稀疏矩阵从ALTO服务器输出至ALTO客户端来作为主要ALTO成本映射。
在一些实施方式中,第一ALTO服务器从第一网络的第一个端点接收状态更新,第一网络包括指示第一端点的条件(影响第一端点相对于服务的性能)的信息。第一ALTO服务器还产生第一网络的第二ALTO网络映射,其中,第一网络的第二ALTO映射说明所接收到的信息,以表示第一网络的更新的ALTO拓扑。第一ALTO服务器还确定第一网络的第一ALTO网络映射和第二ALTO网络映射之间的差别。第一ALTO服务器将更新消息从第一ALTO服务器输出至ALTO客户端,该ALTO客户端包括第一ALTO网络映射的增量更新,以使得ALTO客户端使由ALTO客户端存储的第三ALTO网络映射与第一网络的第二ALTO网络映射相一致。
在一些实施方式中,第一ALTO服务器包括路由器,而第二网络包括内容分发网络。
此外,可以将在上述实施方式中所阐述的任何特定特征组合在所述技术的有利实施方式中。也就是说,任何特定的特征通常可适用于本发明的所有实施方式。已经描述了本发明的各种实施方式。这些和其他实施方式均在所附权利要求的范围内。

Claims (14)

1.一种用于增强内容分发的应用层流量优化方法,包括:
通过执行与第二应用层流量优化(ALTO)服务器通信的第一ALTO客户端的第一ALTO服务器,来产生第一ALTO网络映射,所述第一ALTO网络映射包括PID条目以描述一个或多个PID的第一组中的每一个,其中,所述第一组PID中的每一个均与第一网络的一个或多个端点的子集相关联;
通过所述第一ALTO服务器来产生第一ALTO成本映射,所述第一ALTO成本映射针对所述第一组PID的每一组合而包括成本条目,所述成本条目包含成本值以指定通过所述第一网络而越过网络路径的成本,所述第一网络连接所述第一组PID的相应组合;
通过所述第一ALTO客户端接收第二ALTO网络映射,所述第二ALTO网络映射包括PID条目以描述一个或多个PID的第二组中的每一个,其中,所述第二组PID中的每一个均与第二网络的一个或多个端点的子集相关联;
通过所述第一ALTO客户端接收第二ALTO成本映射,所述第二ALTO成本映射针对所述第二组PID的每一组合而包括成本条目,所述成本条目包含成本值,以指定通过第二网络而越过网络路径的成本,所述第二网络连接所述第二组PID的相应组合;
产生包括一个或多个主要成本条目的主要成本映射,每个主要成本条目均包括从所述第一组PID中选择的PID和从所述第二组PID中选择的PID,并且所述每个主要成本条目均包括成本值,所述成本值表示从选自所述第一组PID中的PID和选自所述第二组PID中的PID越过网络路径的成本;以及
将所述主要成本映射从所述第一ALTO服务器输出至第二ALTO客户端。
2.根据权利要求1所述的方法,
其中,所述第一网络包括与所述第一ALTO网络映射的PID条目相关联的第一边界路由器,
其中,所述第二网络包括与所述第二ALTO网络映射的PID条目相关联并经由传输链路而连接至所述第一边界路由器的第二边界路由器,
其中,产生所述主要成本映射包括:
从所述第一组PID中选择第一所选PID,其中,所述第一所选PID未与所述第一边界路由器关联;
从所述第二组PID中选择第二所选PID,其中,所述第二所选PID未与所述第二边界路由器关联;
创建包括所述第一所选PID和所述第二所选PID的第一主要成本条目。
3.根据权利要求2所述的方法,还包括:
将用于所述第一所选PID和所述第一边界路由器的PID的组合的所述第一ALTO成本映射中的成本条目值与用于所述第二所选PID和所述第二边界路由器的PID的组合的所述第二ALTO成本映射中的成本条目值相加,以产生总成本;以及
将所述第一主要成本条目的成本值设定为所述总成本。
4.根据权利要求2所述的方法,还包括:
将用于所述第一所选PID和所述第一边界路由器的PID的组合的所述第一ALTO成本映射中的成本条目值与用于所述第二所选PID和所述第二边界路由器的PID的组合的所述第二ALTO成本映射中的成本条目值、以及与将所述第一边界路由器连接至所述第二边界路由器的所述传输链路的成本相加,以产生总成本;以及
将所述第一主要成本条目的成本值设定为所述总成本。
5.根据权利要求2至4中任一项所述的方法,
其中,与所述第一边界路由器相关联的所述第一ALTO网络映射的所述PID条目包括PID类型字段,所述PID类型字段将与所述第一边界路由器相关联的所述第一ALTO网络映射的所述PID条目识别为包括边界路由器,
其中,与所述第二边界路由器相关联的所述第二ALTO网络映射的所述PID条目包括PID类型字段,所述PID类型字段将与所述第二边界路由器相关联的所述第二ALTO网络映射的所述PID条目识别为包括边界路由器。
6.根据权利要求2至4中任一项所述的方法,还包括:
产生所述第一网络的第一边界路由器成本矩阵,所述第一边界路由器成本矩阵指定从所述第一ALTO网络映射中的所述第一组PID中的其他PID到达所述第一边界路由器的成本;以及
产生所述第二网络的第二边界路由器成本矩阵,所述第二边界路由器成本矩阵指定从所述第二ALTO网络映射的所述第二组PID中的PID到达所述第二边界路由器的成本。
7.根据权利要求1所述的方法,其中,所述第一网络和所述第二网络在分开的管理域中操作。
8.根据权利要求1所述的方法,
其中,与所述第一组PID中的特定PID相关联的所述第一网络的所述一个或多个端点中的每一个均为同一类型的成员,所述方法还包括:
通过所述第一ALTO服务器将PID类型属性分配给所述第一组PID中的每一个,其中,所述第一组PID中的特定PID的PID类型属性指定与所述特定PID相关联的端点的子集的类型,
其中,所述第一ALTO网络映射的每一PID条目均包括PID类型字段,所述PID类型字段存储由所述PID条目所描述的所述第一组PID中的PID的所分配的PID类型属性。
9.根据权利要求8所述的方法,其中,将PID类型属性分配给每一PID包括:
将“内容分发节点”PID类型属性分配给所述第一组PID中的第一PID,其中,所述“内容分发节点”PID类型属性将与所述第一PID相关联的端点识别为内容分发服务的提供商;并且
将“主机”PID类型属性分配给所述第一组PID中的第二PID,其中,所述“主机”PID类型属性将与所述第二PID相关联的端点识别为内容分发服务的客户。
10.根据权利要求8所述的方法,还包括:
通过所述第一ALTO服务器从ALTO客户端接收用于所述主要ALTO成本映射的请求;
设定主要成本条目的成本值,所述主要成本条目将包括具有相同PID类型属性的成员的PID对指定为无穷大;以及
响应于接收到所述请求,将所述主要成本条目从所述ALTO服务器输出至所述ALTO客户端作为所述主要ALTO成本映射。
11.根据权利要求10所述的方法,还包括:
过滤指定无穷大的成本值的主要成本条目,以产生主要成本条目的稀疏矩阵,
其中,所述主要成本条目的稀疏矩阵的失去的主要成本条目具有无穷大的成本的默认值,以及
其中,输出所述主要成本条目包括仅将所述主要成本条目的稀疏矩阵从所述ALTO服务器输出至所述ALTO客户端作为所述主要ALTO成本映射。
12.根据权利要求1所述的方法,还包括:
通过所述第一ALTO服务器从所述第一网络的所述端点的第一个中接收状态更新,所述状态更新包括指示影响关于服务的第一端点的性能的所述第一端点的条件的信息;
产生所述第一网络的第二ALTO网络映射,其中,所述第一网络的所述第二ALTO映射解释所接收的信息,以表示所述第一网络的更新的ALTO拓扑;
确定所述第一网络的所述第一ALTO网络映射和所述第二ALTO网络映射之间的差别;并且
将更新消息从所述第一ALTO服务器输出至ALTO客户端,所述更新消息包括所述第一ALTO网络映射的增量更新,以使得所述ALTO客户端使由所述ALTO客户端存储的第三ALTO网络映射与所述第一网络的所述第二ALTO网络映射相一致。
13.根据权利要求1所述的方法,其中,所述第一ALTO服务器包括路由器,并且其中,所述第二网络包括内容分发网络。
14.一种用于增强内容分发的应用层流量优化(ALTO)服务器,包括:
网络映射模块,用于产生包括第一组一个或多个PID的第一ALTO网络映射,其中,所述第一组一个或多个PID中的每个PID均表示第一网络的一个或多个端点;
成本映射模块,用于产生包括一个或多个成本条目的第一ALTO成本映射,所述一个或多个成本条目中的每一个均包括所述第一组一个或多个PID的PID对和指定成本以通过所述第一网络越过网络路径的成本值,所述第一网络连接所述第一组一个或多个PID的所述PID对;
第一ALTO客户端,用于接收包括第二组一个或多个PID的第二ALTO网络映射,其中,所述第二组一个或多个PID中的每个PID均表示第二网络的一个或多个端点,
其中,所述第一ALTO客户端接收包括一个或多个成本条目的第二ALTO成本映射,所述一个或多个成本条目中的每一个均包括所述第二组一个或多个PID的PID对和指定成本以通过所述第二网络越过网络路径的成本值,所述第二网络连接所述第二组一个或多个PID的所述PID对,以及
其中,所述网络映射模块和所述成本映射模块产生包括一个或多个主要成本条目的主要成本映射,所述一个或多个主要成本条目中的每一个均包括(1)选自所述第一组一个或多个PID中的PID,(2)选自所述第二组一个或多个PID中的PID以及(3)成本值,表示从选自所述第一组PID中的所述PID和选自所述第二组PID中的所述PID越过网络路径的成本值。
CN201110141391.5A 2010-05-28 2011-05-27 用于内容分发网络的应用层流量优化增强 Active CN102316091B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US34946710P 2010-05-28 2010-05-28
US61/349,467 2010-05-28
US12/861,645 US8688775B2 (en) 2010-05-28 2010-08-23 Application-layer traffic optimization service spanning multiple networks
US12/861,645 2010-08-23

Publications (2)

Publication Number Publication Date
CN102316091A CN102316091A (zh) 2012-01-11
CN102316091B true CN102316091B (zh) 2014-06-18

Family

ID=44504323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110141391.5A Active CN102316091B (zh) 2010-05-28 2011-05-27 用于内容分发网络的应用层流量优化增强

Country Status (3)

Country Link
US (2) US8688775B2 (zh)
EP (1) EP2391092B1 (zh)
CN (1) CN102316091B (zh)

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 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
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using 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
CN102667749A (zh) * 2009-10-13 2012-09-12 塞德克西斯公司 Dns应用服务器
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
WO2011144245A1 (en) * 2010-05-20 2011-11-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method for managing data delivery in a peer-to-peer network
US8606847B2 (en) 2010-05-28 2013-12-10 Juniper Networks, Inc. Application-layer traffic optimization service map updates
US8688775B2 (en) 2010-05-28 2014-04-01 Juniper Network, Inc. Application-layer traffic optimization service spanning multiple networks
MX2012014329A (es) * 2010-06-17 2013-01-29 Nokia Siemens Networks Oy Sistema punto a punto mejorado.
FR2962620B1 (fr) * 2010-07-08 2013-05-10 Alcatel Lucent Acces a un reseau de noeuds repartis sur une architecture de communication a l'aide d'un serveur de topologie avec selection multicriteres
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
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
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
CN102130824B (zh) * 2010-10-30 2014-09-17 华为技术有限公司 网络联合优化方法和装置
EP2638689B1 (en) * 2010-11-10 2017-10-11 Nec Corporation A method for accessing content in networks and a corresponding system
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8700801B2 (en) 2010-12-01 2014-04-15 Juniper Networks, Inc. Dynamically generating application-layer traffic optimization protocol maps
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8954491B1 (en) 2010-12-30 2015-02-10 Juniper Networks, Inc. Dynamically generating application-layer traffic optimization protocol endpoint attributes
US9019865B2 (en) 2011-03-04 2015-04-28 Juniper Networks, Inc. Advertising traffic engineering information with the border gateway protocol
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8862660B1 (en) 2011-08-04 2014-10-14 Wyse Technology L.L.C. System and method for facilitating processing of communication
EP2742440A1 (en) * 2011-08-12 2014-06-18 NEC Europe Ltd. Search engine and method for performing a search for objects that correspond to a search request
EP2791819B1 (en) 2011-12-14 2017-11-01 Level 3 Communications, LLC Content delivery network
US8787154B1 (en) 2011-12-29 2014-07-22 Juniper Networks, Inc. Multi-topology resource scheduling within a computer network
US8824274B1 (en) 2011-12-29 2014-09-02 Juniper Networks, Inc. Scheduled network layer programming within a multi-topology computer network
CN102447712B (zh) * 2012-01-20 2015-07-08 华为技术有限公司 内容分发网络中节点互联的方法、系统及节点
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
TW201351929A (zh) * 2012-03-09 2013-12-16 Interdigital Patent Holdings Cdn交換互連相關應用方法及系統
CN103312749B (zh) * 2012-03-13 2016-12-14 华为技术有限公司 一种应用层流量优化服务器的发现方法、设备及系统
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9350671B2 (en) 2012-03-22 2016-05-24 Futurewei Technologies, Inc. Supporting software defined networking with application layer traffic optimization
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
US10031782B2 (en) 2012-06-26 2018-07-24 Juniper Networks, Inc. Distributed processing of network device tasks
US9246874B2 (en) * 2012-06-29 2016-01-26 Verizon Patent And Licensing Inc. Virtual domain name system
US9137116B1 (en) 2012-07-12 2015-09-15 Juniper Networks, Inc. Routing protocol interface for generalized data distribution
US8909736B1 (en) 2012-07-12 2014-12-09 Juniper Networks, Inc. Content delivery network referral
CN103546516B (zh) * 2012-07-16 2016-12-21 华为技术有限公司 生成聚合层网络图和聚合层开销图的方法及装置
CN102811256B (zh) * 2012-07-19 2017-11-07 中兴通讯股份有限公司 一种实现应用层传输优化的方法及系统
US10237763B1 (en) * 2012-08-18 2019-03-19 Global Eagle Entertainment Inc. Real time data meter
WO2014029419A1 (en) * 2012-08-21 2014-02-27 Nec Europe Ltd. Method and system for performing mobile cdn request routing
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
EP2920937B1 (en) * 2012-11-13 2018-04-11 Telefonaktiebolaget LM Ericsson (publ) Service node selection in a communications network based on application server information
CN103812845A (zh) * 2012-11-15 2014-05-21 中兴通讯股份有限公司 一种基于6LoWPAN网络的服务发现方法及装置
CN102946444B (zh) * 2012-12-06 2016-01-13 北京邮电大学 一种轻量级VoIP系统网络拓扑优化的方法
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US9647900B2 (en) 2012-12-13 2017-05-09 Level 3 Communications, Llc Devices and methods supporting content delivery with delivery services
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
KR20140097924A (ko) * 2013-01-30 2014-08-07 한국전자통신연구원 우선 순위를 가지는 이중 캐싱 방법 및 이를 위한 장치
EP2957087B1 (en) * 2013-02-15 2019-05-08 Nec Corporation Method and system for providing content in content delivery networks
US9450817B1 (en) 2013-03-15 2016-09-20 Juniper Networks, Inc. Software defined network controller
EP2784994A1 (en) * 2013-03-28 2014-10-01 British Telecommunications public limited company Multicast routing system and method
US9788229B2 (en) 2013-04-09 2017-10-10 Nokia Solutions And Networks Oy Method and apparatus for traffic re-routing based on application-layer traffic optimization services in wireless networks
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9419845B2 (en) * 2013-06-27 2016-08-16 Cisco Technology, Inc. Dynamic content distribution network selection based on context from transient criteria
US9560145B2 (en) * 2013-07-20 2017-01-31 Cisco Technology, Inc. XMPP based UPNP device architecture for cloud computing in a network environment
CN103391233B (zh) * 2013-07-31 2016-04-13 清华大学 跨域虚拟网映射方法
CN104426756B (zh) * 2013-08-19 2019-03-15 中兴通讯股份有限公司 一种服务节点能力信息的获取方法及控制平台
US10193801B2 (en) 2013-11-25 2019-01-29 Juniper Networks, Inc. Automatic traffic mapping for multi-protocol label switching networks
US9461923B2 (en) * 2013-12-06 2016-10-04 Algoblu Holdings Limited Performance-based routing in software-defined network (SDN)
ES2586840T3 (es) * 2013-12-23 2016-10-19 Telefónica S.A. Método y aparato para calcular la ruta de cruce de estrato en una red
US10938816B1 (en) * 2013-12-31 2021-03-02 Wells Fargo Bank, N.A. Operational support for network infrastructures
CN105493462B (zh) * 2014-01-08 2019-04-19 华为技术有限公司 一种内容分发方法、装置和系统
WO2015108514A1 (en) * 2014-01-15 2015-07-23 Hewlett-Packard Development Company, L.P. Security and access control
US9609056B2 (en) * 2014-03-29 2017-03-28 Google Technology Holdings LLC Methods for obtaining content from a peer device
WO2015176650A1 (en) * 2014-05-20 2015-11-26 Huawei Technologies Co., Ltd. Method for optimizing network traffic engineering and system thereof
US11032138B2 (en) * 2014-10-22 2021-06-08 Level 3 Communications, Llc Managing traffic control in a network mitigating DDOS
US9560017B2 (en) 2014-11-13 2017-01-31 At&T Intellectual Property I, L.P. Methods and apparatus to route traffic in a virtual private network
CN105704064A (zh) * 2014-11-24 2016-06-22 华为技术有限公司 一种用于选取服务节点的方法及装置、应用引擎
US10033627B1 (en) 2014-12-18 2018-07-24 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
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10050927B2 (en) * 2015-01-27 2018-08-14 Mastercard International Incorporated Systems and methods for centralized domain name system administration
US10129293B2 (en) * 2015-02-23 2018-11-13 Level 3 Communications, Llc Managing traffic control in a network mitigating DDOS
US10693724B1 (en) * 2015-02-25 2020-06-23 Amazon Technologies, Inc. Context-sensitive techniques for optimizing network connectivity
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US20160283480A1 (en) * 2015-03-26 2016-09-29 Linkedin Corporation Assigning content objects to delivery networks
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (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
CN104811354B (zh) * 2015-05-08 2018-04-06 北京京东尚科信息技术有限公司 一种用于cdn健康检测的方法、装置和系统
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
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
CN106686034B (zh) * 2015-11-10 2019-12-06 中国电信股份有限公司 Cdn调度增强方法、装置及系统
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
US10609134B2 (en) * 2016-03-24 2020-03-31 Wyse Technology L.L.C. Providing application virtualization using a peer-to-peer model
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
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
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
JP6936673B2 (ja) * 2017-09-20 2021-09-22 株式会社アイシン 地図データ更新システムおよび地図データ更新プログラム
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
RU2680764C1 (ru) * 2018-03-06 2019-02-26 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Способ, устройство и система для оптимизации транспортной сети связи
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
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
CN111371826B (zh) * 2018-12-26 2024-04-09 三六零科技集团有限公司 Cdn节点的性能探测方法、装置及系统
CN110460652B (zh) * 2019-07-26 2021-09-14 网宿科技股份有限公司 一种资源获取方法及边缘计算调度服务器
US11985063B2 (en) 2022-06-28 2024-05-14 Cisco Technology, Inc. Seamless coexistence of heterogenous networks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651703A (zh) * 2008-08-14 2010-02-17 北京摩软科技有限公司 一种由移动终端向服务器发起业务请求的方法和系统

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3175826B2 (ja) 1998-11-24 2001-06-11 日本電気株式会社 ネットワーク構成方法およびネットワーク管理ノード
US7327683B2 (en) * 2000-03-16 2008-02-05 Sri International Method and apparatus for disseminating topology information and for discovering new neighboring nodes
US7162539B2 (en) 2000-03-16 2007-01-09 Adara Networks, Inc. System and method for discovering information objects and information object repositories in computer networks
US20020062310A1 (en) 2000-09-18 2002-05-23 Smart Peer Llc Peer-to-peer commerce system
US20020128768A1 (en) * 2001-03-09 2002-09-12 Nobuyuki Nakano Route guide information distributing system
US7289456B2 (en) 2002-04-08 2007-10-30 Telcordia Technologies, Inc. Determining and provisioning paths within a network of communication elements
US20050068968A1 (en) 2003-09-30 2005-03-31 Shlomo Ovadia Optical-switched (OS) network to OS network routing using extended border gateway protocol
US7599349B2 (en) 2004-01-29 2009-10-06 Cisco Technology, Inc. Computing inter-autonomous system MPLS traffic engineering LSP paths
US7398081B2 (en) 2004-02-04 2008-07-08 Modu Ltd. Device and system for selective wireless communication with contact list memory
US7904930B2 (en) 2004-10-14 2011-03-08 Microsoft Corporation Broadcast content delivery systems and methods
US7978708B2 (en) 2004-12-29 2011-07-12 Cisco Technology, Inc. Automatic route tagging of BGP next-hop routes in IGP
US7664013B2 (en) 2005-02-28 2010-02-16 Cisco Technology, Inc. Loop prevention technique for MPLS using service labels
US7814227B2 (en) 2005-03-04 2010-10-12 Cisco Technology, Inc. Computation of a shortest inter-domain TE-LSP across a set of autonomous systems
US7408941B2 (en) 2005-06-14 2008-08-05 Cisco Technology, Inc. Method for auto-routing of multi-hop pseudowires
US7716662B2 (en) * 2005-06-22 2010-05-11 Comcast Cable Holdings, Llc System and method for generating a set top box code download step sequence
US20060291446A1 (en) 2005-06-24 2006-12-28 Donald Caldwell Systems, methods, and devices for managing routing
US7496663B2 (en) 2005-08-29 2009-02-24 International Business Machines Corporation System and method for detecting status changes in a network using virtual coordinate mapping
US7920572B2 (en) * 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
US7710872B2 (en) 2005-12-14 2010-05-04 Cisco Technology, Inc. Technique for enabling traffic engineering on CE-CE paths across a provider network
US7630325B1 (en) 2005-12-28 2009-12-08 At&T Corp. Methods for reconciling trunk group identification information among various telecommunication network management systems
US7865615B2 (en) 2006-05-08 2011-01-04 Cisco Technology, Inc. Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol
US8160056B2 (en) 2006-09-08 2012-04-17 At&T Intellectual Property Ii, Lp Systems, devices, and methods for network routing
JP5075443B2 (ja) 2007-03-27 2012-11-21 アイシン・エィ・ダブリュ株式会社 道路地図データ生成装置、ナビゲーション装置、及び道路地図データ生成プログラム
US7756027B1 (en) 2007-06-13 2010-07-13 Juniper Networks, Inc. Automatic configuration of virtual network switches
US8531941B2 (en) 2007-07-13 2013-09-10 Cisco Technology, Inc. Intra-domain and inter-domain bridging over MPLS using MAC distribution via border gateway protocol
US8953486B2 (en) 2007-11-09 2015-02-10 Cisco Technology, Inc. Global auto-configuration of network devices connected to multipoint virtual connections
CN107092613A (zh) 2008-03-17 2017-08-25 塞戈米特公司 用于通过网络对设备发送目标内容的系统和方法
US8300532B1 (en) 2008-09-23 2012-10-30 Juniper Networks, Inc. Forwarding plane configuration for separation of services and forwarding in an integrated services router
ES2341214B1 (es) 2008-12-15 2011-05-24 Telefonica, S.A. Metodo y sistema para identificar y caracterizar el impacto de incidencias en red sobre los servicios de telecomunicacion ofrecidos a usuario.
US8285829B2 (en) * 2008-12-22 2012-10-09 At&T Intellectual Property I, L.P. Method and apparatus for providing peer selection in a network
US8089897B2 (en) 2009-02-25 2012-01-03 At&T Intellectual Property I, L.P. VPN intelligent route service control point trouble diagnostics
US20100293294A1 (en) * 2009-05-15 2010-11-18 Alcatel-Lucent Usa Inc. Peer-to-peer communication optimization
CN101895482A (zh) 2009-05-18 2010-11-24 华为技术有限公司 对点到点技术网络的逻辑拓扑信息进行抽象的方法和装置
US8179801B2 (en) 2009-06-09 2012-05-15 Cisco Technology, Inc. Routing-based proximity for communication networks
US20110078230A1 (en) * 2009-09-25 2011-03-31 Emilio Sepulveda Method and system for providing a cdn with granular quality of service
EP2320624A1 (en) 2009-11-06 2011-05-11 Alcatel Lucent Method for managing a P2P network based on cellular communications
US20110138469A1 (en) 2009-12-03 2011-06-09 Recursion Software, Inc. System and method for resolving vulnerabilities in a computer network
US8175006B2 (en) 2009-12-08 2012-05-08 At&T Intellectual Property I, L.P. Multi-path load balancing using route controller
US9386093B2 (en) * 2010-02-17 2016-07-05 Deutsche Telekom Ag Price-aware neighborhood selection for peer-to-peer networks
CN102223292A (zh) * 2010-04-14 2011-10-19 华为技术有限公司 一种节点选择方法及网络设备、系统
US8271656B2 (en) * 2010-05-04 2012-09-18 Alcatel Lucent Decreasing latency in anonymity networks
US8606847B2 (en) 2010-05-28 2013-12-10 Juniper Networks, Inc. Application-layer traffic optimization service map updates
US8688775B2 (en) 2010-05-28 2014-04-01 Juniper Network, Inc. Application-layer traffic optimization service spanning multiple networks
US8700801B2 (en) 2010-12-01 2014-04-15 Juniper Networks, Inc. Dynamically generating application-layer traffic optimization protocol maps
US8472205B2 (en) 2010-12-30 2013-06-25 Research In Motion Limited Adaptive printed circuit board connector
US8954491B1 (en) 2010-12-30 2015-02-10 Juniper Networks, Inc. Dynamically generating application-layer traffic optimization protocol endpoint attributes
US9019865B2 (en) 2011-03-04 2015-04-28 Juniper Networks, Inc. Advertising traffic engineering information with the border gateway protocol
US9178796B2 (en) 2013-06-28 2015-11-03 Cisco Technology, Inc. Multi-layer stateful path computation element architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651703A (zh) * 2008-08-14 2010-02-17 北京摩软科技有限公司 一种由移动终端向服务器发起业务请求的方法和系统

Also Published As

Publication number Publication date
US20140215079A1 (en) 2014-07-31
EP2391092B1 (en) 2018-07-11
US10084720B2 (en) 2018-09-25
EP2391092A1 (en) 2011-11-30
CN102316091A (zh) 2012-01-11
US8688775B2 (en) 2014-04-01
US20110296053A1 (en) 2011-12-01

Similar Documents

Publication Publication Date Title
CN102316091B (zh) 用于内容分发网络的应用层流量优化增强
US10277500B2 (en) Application-layer traffic optimization service endpoint type attribute
CN102571557B (zh) 动态产生应用层流量优化协议图
Carofiglio et al. From content delivery today to information centric networking
US8510468B2 (en) Route aware network link acceleration
US20090100128A1 (en) Accelerating peer-to-peer content distribution
US20040199664A1 (en) Method and system for improving a route along which data is sent using an ip protocol in a data communications network
KR20120088777A (ko) 오버레이 네트워크에서 통신 피어들의 선택을 지원하는 방법 및 시스템
CN105229993B (zh) 用于执行增强的服务路由的方法、系统和计算机可读介质
CN102594606A (zh) 基于多Agent的演进型智能节点重叠网络系统
Alotaibi et al. Multidomain sdn-based gateways and border gateway protocol
Guimarães et al. Exploring interoperability assessment for Future Internet Architectures roll out
JP5871908B2 (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
D’Alessandro Costa et al. Performance analysis of a locality-aware BitTorrent protocol in enterprise networks
Turrini An architecture for content distribution internetworking.
Bivens et al. Scalability and performance of an agent‐based network management middleware
Blendin Cross-layer optimization of peer-to-peer video streaming in OpenFlow-based ISP networks
Frank Dynamic content delivery infrastructure deployment using network cloud resources
de Dios et al. Traffic engineering database dissemination for multi-layer SDN orchestration
Stiemerling et al. Application-Layer Traffic Optimization (ALTO) Deployment Considerations
Turrini et al. A Protocol for exchanging performance data in Content Distribution Internetworks
Caldas Development of a system compliant with the Application-Layer Traffic Optimization Protocol
JP3589965B2 (ja) イベントルーティング方法、及びイベントルーティング装置
Stiemerling et al. RFC 7971: Application-Layer Traffic Optimization (ALTO) Deployment Considerations
Lee ALTO WG G. Bernstein, Ed. Internet-Draft Grotto Networking Intended status: Informational Y. Yang, Ed. Expires: April 24, 2014 Yale University

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Juniper Networks, Inc.

Address before: California, USA

Patentee before: Jungle network

CP01 Change in the name or title of a patent holder