CN101903872B - 利用被动tcp性能测试设备来针对全局通信量负载平衡确定网络接近度的方法 - Google Patents

利用被动tcp性能测试设备来针对全局通信量负载平衡确定网络接近度的方法 Download PDF

Info

Publication number
CN101903872B
CN101903872B CN2008801218463A CN200880121846A CN101903872B CN 101903872 B CN101903872 B CN 101903872B CN 2008801218463 A CN2008801218463 A CN 2008801218463A CN 200880121846 A CN200880121846 A CN 200880121846A CN 101903872 B CN101903872 B CN 101903872B
Authority
CN
China
Prior art keywords
quality
connection
user customer
data
measurement result
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.)
Expired - Fee Related
Application number
CN2008801218463A
Other languages
English (en)
Other versions
CN101903872A (zh
Inventor
迈克尔·克里斯蒂安
大卫·阿普盖尔
杰彦斯·威加亚拉戈哈凡
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.)
Altaba Inc
Original Assignee
Yahoo 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 Yahoo Inc filed Critical Yahoo Inc
Publication of CN101903872A publication Critical patent/CN101903872A/zh
Application granted granted Critical
Publication of CN101903872B publication Critical patent/CN101903872B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

描述了用于测量在客户端与多个数据中心之间的TCP连接质量的技术。被称作web信标的小量代码被置于产生的web页面上。当客户端请求产生的web页面时,web页面被提供给客户端。当web页面代码被处理时,web信标指示客户端在后台通过TCP连接从多个数据中心取回零内容图像。当建立了各连接时,被动监视系统测量并登记关于从客户端到数据中心的每个TCP连接的统计数据。统计数据被聚集到数据库中并且可以基于客户端的IP地址的范围以及连接质量测量结果而被分类。将数据从数据库输出到全局负载平衡器以确定从并发客户端到多个数据中心的路由。

Description

利用被动TCP性能测试设备来针对全局通信量负载平衡确定网络接近度的方法
技术领域
本发明涉及TCP连接,并且更具体地涉及确定TCP连接的连接质量。
背景技术
此部分中描述的方法是可以被研究的方法,然而不一定是先前已经被想到或研究过的方法。因此,除非被指出,否则不应假设在此部分中描述的任何方法仅仅由于它们被包含在此部分中就被视为现有技术。
这里使用的术语“数据中心”指代相关联的服务器的协同位置(colocation)。虽然属于特定数据中心的服务器处于同一建筑或综合性建筑中,但是数据中心通常位于在地理上彼此远离的位置处。地理距离添加了保护以使得由自然灾难引起的一个数据中心中的突然故障不会同样引起其他数据中心中的故障。例如,一个数据中心可能位于纽约的东海岸而另一个数据中心可能位于旧金山的西海岸。
全局负载平衡或者说“GLB”是用于在多个服务器间分配对特定服务的客户端访问的机制。例如,在由属于纽约和旧金山的数据中心的服务器提供一特定服务的情况下,GLB可以分配客户端访问以使得连接到纽约的数据中心的客户端数目与连接到旧金山的数据中心的客户端数目大约相同。
当在因特网的背景下被使用时,GLB可以使用各种主动和被动监视技术来生成因特网的综合映射。基于该映射,GLB作出通信量路由决定以将客户端连接到“最靠近的”服务器。这里使用的“靠近”不一定意味着该决定仅基于地理接近度。这里使用的“靠近的”服务器是产生到客户端的最快连接的服务器。因此,如果服务器位于100英里以外,且因为严重拥塞所以对于客户端而言到达该服务器比到达位于200英里以外的服务器更慢,那么GLB将会使客户端路由到200英里以外的“更靠近的”服务器。
许多主动和被动监视机制为GLB建立因特网接近度的全局映射。由这些机制使用的协议可以包括但不限于:ICMP(ping),BGP(边界网关协议),以及人工录入。因特网控制报文协议(ICMP)是因特网的核心协议之一。一个重要的ICMP应用是ping工具。ping工具发送并接收ICMP回显请求以及响应报文以判断一主机是否可达(reachable)并确定分组行进到该主机以及从该主机行进所需时间的长度。边界网关协议(BGP)是因特网的核心路由协议。BGP通过维护对自治系统间的网络可达性进行指定的IP网络表格来进行工作。BGP基于路径、网络策略和规则组来作出路由决定。遗憾的是,这些机制和协议不能监视采用TCP协议的web连接的实际性能,并因此不能实现针对TCP连接的准确路由确定。
由于拓扑和连接性的动态改变,GLB系统可能很难维护因特网的完整且准确的映射。映射的不准确可能导致错误的路由决定。基于采用了何种映射协议,可能需要大量时间来校正这些路由决定。
发明内容
根据本发明的第一方面,提供了一种用于测量从多个数据中心到客户端的连接质量的方法,包括:接收针对每个终端用户客户端的连接质量测量结果;其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;基于所述终端用户客户端的IP地址,确定所述终端用户客户端并将其分组为网块;针对所述网块中的每一个,通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据;以及向多个负载平衡服务器输出所述聚集的连接质量测量结果数据以供由所述负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息。
根据本发明的第二方面,提供了一种用于测量从多个数据中心到客户端的连接质量的方法,包括:从服务器向计算机可读非瞬时存储介质中存储针对每个终端用户客户端的连接质量测量结果;其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;基于所述终端用户客户端的IP地址,确定所述终端用户客户端并将其分组为网块;针对所述网块中的每一个,通过聚集属于多个网块中的该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据;其中,每个终端用户客户端所属的网块基于该终端用户客户端的IP地址;以及向多个负载平衡服务器输出所述聚集的连接质量测量结果数据以供由所述多个负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息。
根据本发明的第三方面,提供了一种用于测量从多个数据中心到客户端的连接质量的方法,包括:从多个终端用户客户端接收请求;基于所述请求存储所生成的针对每个终端用户客户端的连接质量测量结果;基于所述终端用户客户端的IP地址,确定所述终端用户客户端并将其分组为网块;向多个负载平衡服务器输出聚集的连接质量测量结果数据以供由所述多个负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息;其中,针对所述网块中的每一个通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成所述聚集的连接质量测量结果数据;其中,所述方法是由一个或多个计算设备执行的。
根据本发明的第四方面,提供了一种用于测量从多个数据中心到客户端的连接质量的系统,包括:第一多个服务器,所述第一多个服务器中的每个服务器位于多个数据中心中的一个数据中心中,其中所述第一多个服务器针对每个终端用户客户端测量连接质量测量结果,并且生成针对所述每个终端用户客户端的连接质量测量结果;其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;聚集服务器,其中,所述聚集服务器从所述第一多个服务器接收所述针对每个终端用户客户端的连接质量测量结果;基于所述终端用户客户端的IP地址确定所述终端用户客户端并将其分组为网块;针对所述网块中的每一个,通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据;以及第二多个服务器,其中,所述第二多个服务器接收所述聚集的连接质量测量结果数据以用来确定如何在所述终端用户客户端与所述数据中心之间路由消息。
根据本发明的第五方面,提供了一种用于测量从多个数据中心到客户端的连接质量的装置,包括:用于接收针对每个终端用户客户端的连接质量测量结果的装置;其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;用于基于所述终端用户客户端的IP地址确定所述终端用户客户端并将其分组为网块的装置;用于针对所述网块中的每一个、通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据的装置;以及用于向多个负载平衡服务器输出所述聚集的连接质量测量结果数据以供由所述负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息的装置。
根据本发明的第六方面,提供了一种用于测量从多个数据中心到客户端的连接质量的装置,包括:用于从服务器向计算机可读非瞬时存储介质中存储针对每个终端用户客户端的连接质量测量结果的装置;其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;用于基于所述终端用户客户端的IP地址确定所述终端用户客户端并将其分组为网块的装置;用于针对所述网块中的每一个、通过聚集属于多个网块中的该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据的装置;其中,每个终端用户客户端所属的网块基于该终端用户客户端的IP地址;以及用于向多个负载平衡服务器输出所述聚集的连接质量测量结果数据以供由所述多个负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息的装置。
根据本发明的第七方面,提供了一种用于测量从多个数据中心到客户端的连接质量的装置,包括:用于从多个终端用户客户端接收请求的装置;用于基于所述请求存储所生成的针对每个终端用户客户端的连接质量测量结果的装置;用于基于所述终端用户客户端的IP地址,确定所述终端用户客户端并将其分组为网块的装置;用于向多个负载平衡服务器输出聚集的连接质量测量结果数据以供由所述多个负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息的装置;其中,针对所述网块中的每一个通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成所述聚集的连接质量测量结果数据。
附图说明
在附图的各图示中作为示例而非作为限制来示出本发明,其中类似标号指代类似元件,并且其中:
图1是显示根据本发明一实施例的连接到位于不同数据中心中的web信标(beacon)的客户端的图示;
图2是显示根据本发明一实施例的从web信标聚集的数据以及被分配给GLB服务器的经过处理的数据的图示;
图3是显示根据本发明一实施例的通过网块(netblock)而被分组的经过处理的数据的图示;以及
图4是其上可以实现本发明实施例的计算机系统的框图。
具体实施方式
描述了用于测量实际的TCP连接的连接质量的技术以及将测量信息用于后续通信量路由决定中的技术。在以下描述中,出于说明的目的,提出了大量具体细节以提供对本发明的全面理解。然而,应理解,本发明可以在不需要这些具体细节的情况下被实践。在其他实例中,以框图形式示出为人熟知的结构和设备以避免不必要地使本发明变得模糊。
一般性概述
传输控制协议(“TCP”)是使得联网主机上的应用能够创建到另一主机的连接的因特网协议。例如,请求web页面的客户端可代表一个主机并且将web页面内容提供给该客户端的服务器可代表另一主机。
TCP协议具有与主机间的连接有关的许多性质。TCP保证从发送器到接收器的可靠且按次序的数据递送。为了实现按次序的递送,TCP还规定重传丢失分组并且丢弃所发送的重复分组。TCP还能够区分同一主机上运行的并发应用(例如,web服务器和电子邮件服务器)的多个连接的数据。
为了发起TCP连接,两个主机交换初始序列号。初始序列号标识从各主机发送的字节的次序,以使得所传输数据保持有序而无论在传输期间可能发生的任何断裂或失序如何。对于所传输的每一字节,序列号递增。
所发送的每一字节被发送器指派了序列号,然后接收器将确认发回发送器以确认传输。例如,如果计算机A(发送器)发送具有序列号50的4个字节(分组中的这四个字节具有所指派的序列号50、51、52和53),那么计算机B(接收器)将确认54发回计算机A以指示出计算机B期望接收的下一字节。通过发送确认54,计算机B正在通知字节50、51、52和53被正确接收了。如果不知道为什么最后两个字节被损坏,那么计算机B因为字节50和51被成功接收了所以发送确认值52。
TCP还能够执行拥塞控制。例如,TCP可以调节数据进入网络的速率,从而使数据流保持为低于将引起网络拥塞问题的速率。由发送器来测量针对所发送数据而接收的确认或者接收确认的缺失,从而了解发送器和接收器间的网络条件。TCP发送器和接收器然后可以根据遇到的网络条件来变更数据流的速率,以确保良好的通信量流。
遗憾的是,不可以由第三方或非TCP协议来执行为了确保对连接质量的准确测量而进行的实际TCP连接测量。例如,使用比如是ICMP的非TCP协议作为实际TCP连接测量的替代物可能导致错误结果。一个原因是:ICMP通信量与TCP的通信量相比,通常具有较低的服务质量(“QoS”)。QoS是给予因特网上的通信量的优先次序。QoS通过根据来自应用的请求保证数据流的某一性能水平,来将不同的优先次序提供给不同的数据流。ICMP所使用的ping通信量的QoS与TCP相比被给予了更低的优先次序,因为ping不被保证总是达到ping的目的地。相反,TCP保证所有的通信量将到达特定目的地。结果,某些测量可能受到较低QoS的影响,例如但不限于比正常情况更大的分组丢弃速率和排队时间。因此,基于ICMP的对TCP连接的路由决定将会是错误的。
第三方服务很难测量TCP连接质量,因为TCP是点对点的协议。在点对点协议中,通信量被从一个网络点路由到另一网络点。例如,一个网络点可能是请求web页面的客户端,而另一个网络点可能是将web页面提供给客户端的服务器。第三方仅能够在其在网络上的情况下在两个连接点之间截取点对点连接的TCP通信量,并且能够主动地查看在两方之间的连接中的所有分组。因此,由第三方服务来进行对TCP连接的测量是十分困难且不实际的。
web信标(beacon)和被动监视
在一实施例中,web信标和被动服务器监视测量在客户端与数据中心内的提供客户端内容的服务器之间的实际TCP连接的连接质量。web信标还已知为像素标签(pixel tag)、透明GIF(clear GIF)或者零内容图像(zero-content image),并且是透明的或不可见的图形图像,通常不大于1×1个像素。
在一实施例中,通过将小量代码或信标代码置入产生的web页面中来生成web信标。客户端请求并被提供来自数据中心中的web服务器的产生的web页面。当该产生的web页面被客户端处理时,信标代码致使客户端浏览器从位于每个潜在数据中心位置中的信标服务器取回web信标或零内容图像。例如,如果在美国存在能够提供该web页面的三个不同的协同位置或数据中心,其中一个协同位置在西海岸,另一个协同位置在东海岸,并且又一个协同位置在中西部,那么信标代码致使客户端请求来自位于具有TCP连接的各协同位置的信标服务器的web信标或者零内容图像。在客户端的后台执行这些请求以使得不干扰当前产生的web页面从web服务器的加载。
在一实施例中,信标服务器的内核模块中的被动监视系统从web信标取回测量并登记在客户端与数据中心之间的TCP连接的统计数据。例如,可以通过对TCP握手序列期间分组的到达和离开进行计时来测量网络等待时间(network latency)。作为另一示例,可以通过对连接所需的TCP重传次数进行计数来测量TCP连接寿命期间的分组丢失比率(packet lossratio)。这两个量度,网络等待时间和分组丢失比率,提供了对特定客户端与特定数据中心之间的连接质量的极好的指示。还可以通过被动监视系统测量并登记与TCP连接有关的任何其他测量结果。
因为从web信标来测量TCP连接是基于从数据中心到客户端的实际web通信量的,所以确保了准确的TCP连接质量测量结果。这些测量结果然后可被用于随后作出明智的全局通信量路由决定以将数据中心中“最靠近的”服务器连接到客户端。
在图1中示出了说明根据一实施例的web信标和被动监视的图示。在图1中,客户端100可被路由到3个不同的数据中心。数据中心102包含信标服务器108和web服务器110。数据中心104包含信标服务器112和web服务器114。数据中心106包含信标服务器116和web服务器118。客户端100请求并接收来自web服务器110的web页面(传输120)。由web服务器110提供的web页面包含信标代码,该信标代码指示客户端100从位于各数据中心中的web信标服务器取回web信标。结果,客户端100通过请求122来请求来自数据中心102中的信标服务器108的web信标,通过请求124来请求来自数据中心104中的信标服务器112的web信标,并且通过请求126来请求来自数据中心106中的信标服务器116的web信标。为了取回web信标,在客户端100与各信标服务器108、112和116之间建立了TCP连接。所有这些对web信标的请求都是在客户端的后台做出的以不干扰web服务器110的页面加载。
在各信标服务器中的被动监视系统测量并登记关于为了取回web信标而在客户端100与各信标服务器108、112和116之间建立的TCP连接的统计数据。对TCP连接的测量被用于确定客户端100与对应于各信标服务器的数据中心之间的质量。所登记并记录的测量数据可以随实现方式的不同而不同。在一实施例中,测量数据包括但不限于:往返等待时间数据和分组丢失速率数据。关于针对web信标的各TCP连接的测量和统计数据由各信标服务器来存储。
通过其他方法来测量TCP连接
还可以使用各种其他方法来执行对TCP连接性能的测量。信标,或引导客户端连接到服务器,被用来测量连接性能。可以引导客户端连接到多个信标服务器。使用不止一个信标服务器以使得连接的多个端点得到测量。此外,可以引导客户端基于对信标服务器的随机选择来连接到特定的信标服务器。信标服务器可以是仅专用于测量连接数据的专用服务器。信标服务器也可以是提供真实通信量的服务器。可以使用任何类型的基于TCP的连接协议,包括但不限于:FTP(文件传送协议)、HTTP(超文本传送协议)或者IRC(因特网在线聊天),并且可以使用对用户所连接到的位置有一定控制的任何应用。
在一实施例中,应用被置于客户端的计算机上。当应用被启动或运行时,应用尝试连接到多个信标服务器。在另一实施例中,针对各出现的信标服务器,从分析器做出DNS请求,并且应答被发送以供客户端连接到多个信标服务器。对信标服务器的选择可以随实现方式的不同而不同。在一实施例中,引导客户端基于随机选择方法来连接到特定的信标服务器。即使使用随机选择,随时间逝去而收集的数据的量也足够使得随机选择方法接近使得各客户端连接到每一数据中心中的信标服务器的准确性。一旦连接到任何的信标服务器,各信标服务器中的被动监视系统就测量并登记关于所建立的从客户端到信标服务器的连接的统计数据。
聚集并处理数据
在一实施例中,数据库从位于各数据中心中的信标服务器收集TCP测量结果以及相关的客户端IP地址。可以由数据库服务器请求数据或者由各web信标服务器定期地发送数据。数据库可以位于特定的数据中心中或者远程地位于独立设施中。
在一实施例中,数据库服务器将从信标服务器接收到的数据归一化到分立网块的集合中。这里使用的网块是客户端IP地址的范围。例如,网块“1.1.1.0”指示出其IP地址以“1.1.1.x”开始的所有客户端,其中“x”可以是0和255之间的任何值。同一网块中的客户端可以使用到数据中心的相同路径。结果,针对同一网块中的客户端的TCP连接测量结果可以被聚集以提供关于从特定客户端到特定数据中心的路径的更完整信息。为了确定最佳服务目的地,从各数据中心到各可能网块的路径的连接性能被测量并维护。
在一实施例中,可用服务器或数据中心的列表通过到各特定网块的连接质量而被排序(sort)。在另一实施例中,数据库服务器基于从信标服务器接收到的TCP统计数据来归一化数据。在这种情形下,基于与相关IP地址的连接质量来给连接排序。在又一实施例中,数据库收集测量数据和相对应的IP地址并且不再对数据执行任何进一步的处理。
在一实施例中,基于测量结果的数据被从数据库输出到用作全局负载平衡器的分布式授权域名服务器(authoritative name server)。基于测量结果的数据为全局负载平衡器提供用以做出关于客户端路由的正确决定的信息。在一实施例中,基于测量结果的数据可以被全局负载平衡器排他地用于确定客户端路由。在另一实施例中,基于测量结果的数据是全局负载平衡器为了做出路由决定而考虑的附加数据。
在图2中示出了说明根据一实施例的从信标服务器收集TCP统计数据的中央数据库的图示。在图2中,图1的三个数据中心的信标服务器(数据中心102的信标服务器108、数据中心104的信标服务器112和数据中心106的信标服务器116)将数据发送到中央数据库200。中央数据库200基于各种标准来聚集并分类数据。经过处理的数据然后被发送到GLB202、GLB 204、GLB 206和GLB 208。在另一实施例中,经过处理的数据被从中央数据库200发送到其他用户装置(consumer)210。其他用户装置包括可被容宿于数据中心中的除web服务器之外的应用。例如,因特网公司可以具有允许客户端直接连接到应用的独立音乐或媒体应用。因为这些应用被包含在与信标服务器相同的数据中心中,所以由中央服务器积聚的TCP数据也可以用于将通信量高效地路由到这些其他应用。
利用基于测量结果的数据的全局负载平衡器
随后描述全局负载平衡器如何使用基于测量结果的数据的示例。当客户端请求访问特定web页面时执行全局负载平衡。执行DNS查找来将由客户端输入的web站点URL(例如,“www.sampledomain.com”)翻译为IP地址(例如,“1.2.3.4”)。查找被引导到授权域名服务器(也是全局负载平衡器)。全局负载平衡器检查请求IP地址。然后将请求IP地址与经分类的基于测量结果的数据中的、该特定网块(或者IP地址的范围)的信息进行比较。全局负载平衡器选择通过各种TCP统计数据(例如网络等待时间和分组丢失)而被排序的列表上的第一个可用web服务器,并且将该web服务器的IP地址返回给客户端。客户端因此被路由到具有最佳可用TCP连接性的web服务器。
在图3中示出根据本发明一实施例的通过网块而分类的经处理数据的例示。数据具有“客户端”列300、“协同位置A”列302、“协同位置B”列304和“协同位置C”列306。“客户端”列300列出各协同位置所连接到的客户端的IP地址。在一实施例中,在网块中列出客户端。在行308中,网块“1.1.1.0/24”指示出在IP地址“1.1.1.x”处的客户端的子网掩码是24,其中x可以是0-255间的任何数字。如果客户端希望从此网块连接到协同位置,那么连接到协同位置A花费10ms,连接到协同位置B花费50ms,并且连接到协同位置C花费80ms。因此,来自网块“1.1.1.0”的客户端将是最靠近协同位置A的。
在行310中,网块“2.2.2.0/26”指示出在IP地址“2.2.2.x”处的客户端的子网掩码是26,其中x可以是0-63间的任何数字。如果客户端希望从此网块连接到协同位置,那么连接到协同位置A花费100ms,连接到协同位置B花费40ms,并且连接到协同位置C花费5ms。因此,来自网块“2.2.2.0”的客户端将是最靠近协同位置C的。
在行312中,网块“3.3.3.0/24”指示出在IP地址“3.3.3.x”处的客户端的子网掩码是24,其中x可以是0-255间的任何数字。如果客户端希望从此网块连接到协同位置,那么连接到协同位置A花费300ms,连接到协同位置B花费1ms,并且连接到协同位置C花费500ms。因此,来自网块“3.3.3.0”的客户端将是最靠近协同位置B的。
闭合电路反馈
在一实施例中,生成能够动态地响应因特网拓扑和性能改变的闭合电路反馈回路。如以上示出的,全局负载平衡器将客户端路由到特定web服务器以取得web内容。全局负载平衡器基于通过取回web信标的TCP连接测量来确定路由。
当客户端从服务器取回web页面内容时,web页面内容包含指示客户端再一次从各数据中心取回web信标的信标代码。通过不断地从web信标TCP连接得到更多的测量和统计数据,连接质量测量系统能够针对影响网络可用性的情形进行快速地自我校正。这些情形包括但不限于:光纤断裂、装备问题、服务器故障切换或者容量问题。
硬件概述
图4是示出其上可以实现本发明实施例的计算机系统400的框图。计算机系统400包括总线402或者用于传送信息的其他通信机制,以及与总线402耦合以供处理信息的处理器404。计算机系统400还包括主存储器406,比如随机存取存储器(RAM)或其他的动态存储器件,其耦合到总线402以供存储信息和要由处理器404来执行的指令。主存储器406还可以用来在执行要由处理器404来执行的指令期间存储临时变量或者其他中间信息。计算机系统400还包括只读存储器(ROM)408或者耦合到总线402以供存储静态信息和处理器404的指令的其他静态存储器件。诸如磁盘或光盘之类的存储设备410被设置并耦合到总线402以供存储信息和指令。
计算机系统400可以经由总线402被耦合到显示器412,比如阴极射线管(CRT),其用于向计算机用户显示信息。包括字母数字以及其他按键的输入设备414被耦合到总线402以供将信息和命令选择传送到处理器404。另一类型的用户输入设备是用于将方向信息和命令选择传输到处理器404的并且用于控制显示器412上的光标移动的光标控制416,比如鼠标、跟踪球或者光标方向键。该输入设备通常具有允许设备指定平面上的位置的、两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度。
本发明涉及使用计算机系统400来实现这里所描述的技术。根据本发明的一个实施例,那些技术是由计算机系统400响应于处理器404执行在主存储器406中包含的一个或多个指令的一个或多个序列来执行的。这样的指令可以是从另一机器可读介质(比如存储设备410)被读取到主存储器406中的。执行在主存储器406中包含的指令序列致使处理器404执行这里描述的处理步骤。在替代实施例中,可以使用硬连线的电路来替代软件指令或者与软件指令结合来实现本发明。因此,本发明的实施例不限于硬件电路和软件的任何特定组合。
这里使用的术语“机器可读介质”指代参与提供致使机器以特定方式操作的数据的任何介质。在使用计算机系统400实现的实施例中,例如,在将指令提供给处理器404以供执行方面涉及了各种机器可读介质。这样的介质可以采取许多种形式,包括但不限于存储介质和传输介质。存储介质包括非易失性介质和易失性介质二者。非易失性介质例如包括诸如存储设备410之类的光或磁盘。易失性介质包括诸如主存储器406之类的动态存储器。传输介质包括同轴线缆、铜线或光纤,其包括构成总线402的导线。传输介质还可以采取声或光波的形式,比如在无线电波和红外数据通信期间生成的那些。所有这些介质必须是有形的以使得由该介质所承载的指令能够通过将指令读取到机器中的物理机制而被删除。
机器可读介质的常见形式例如包括:软盘、软磁盘、硬盘、磁带或任何其他磁介质,CD-ROM或任何其他光介质,穿孔卡、纸质磁带或者任何其他具有孔图案的物理介质,RAM、ROM、EPROM、FLASH-EPROM或者任何其他存储器芯片或匣,如此后描述的载波,或者计算机可以从其进行读取的任何其他介质。
各种形式的机器可读介质可以在将一个或多个指令的一个或多个序列承载到处理器404以供执行方面被涉及。例如,指令可能最初被承载在远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器并利用调制解调器经由电话线路来发送指令。计算机系统400本地的调制解调器可以在电话线路上接收数据并且使用红外发射器将数据转换为红外信号。红外检测器能够接收红外信号中承载的数据并且适当的电路能够将数据置于总线402上。总线402将数据承载到主存储器406,处理器404从主存储器406取回并执行指令。由主存储器406接收到的指令可以在由处理器404执行之前或者之后可选地被存储在存储设备410上。
计算机系统400还包括耦合到总线402的通信接口418。通信接口418提供耦合到网络链路420的双向数据通信,该网络链路420连接到本地网络422。例如,通信接口418可以是用于将数据通信连接提供到相应类型的电话线路的综合业务数字网络(ISDN)卡或者调制解调器。作为另一示例,通信接口418可以是将数据通信连接提供到兼容LAN的局域网(LAN)卡。无线链路同样可以被实现。在任一这样的实现方式中,通信接口418发送并接收承载代表各种类型信息的数字数据流的电、电磁或光信号。
网络链路420通常通过一个或多个网络将数据通信提供到其他数据设备。例如,网络链路420通过本地网络422提供到主机计算机424的连接或者到由因特网服务提供商(ISP)426所操作的数据装备的连接。ISP 426接着通过现在通常称作“因特网”的万维分组数据通信网络428来提供数据通信服务。本地网络422和因特网428都使用承载数字数据流的电、电磁或光信号。承载了去向以及来自计算机系统400的数字数据的、通过各种网络的信号以及网络链路420上的并且通过通信接口418的信号是传输信息的载波的示例性形式。
计算机系统400能够通过(一个或多个)网络、网络链路420以及通信接口418发送消息并且接收数据(包括程序代码)。在因特网的示例中,服务器430可以通过因特网428、ISP 426、本地网络422以及通信接口418来发送所请求的应用程序代码。
所接收的代码可以由处理器404在接收到其时来执行,和/或被存储在存储设备410或者其他非易失性存储器中以供随后执行。以这种方式,计算机系统400可以以载波的形式获得应用代码。
在前述说明书中,已经参考可能随实现方式的不同而不同的许多具体细节描述了本发明的实施例。因此,关于本发明是什么并且申请人希望本发明是什么的唯一且排他的表示是从此申请发布的、这些权利要求所发布的具体形式的权利要求集合,其包括任何后续的修正。这里针对这些权利要求中所包含的术语明确提出的任何限定决定如在权利要求中使用的这些术语的含义。因此,未在权利要求中明确记载的任何限制、要件、性质、特征、优点或属性不应以任何方式限制这样的权利要求的范围。因此,将说明书和附图视为说明性的而非限制性的。

Claims (32)

1.一种用于测量从多个数据中心到客户端的连接质量的方法,包括:
接收针对每个终端用户客户端的连接质量测量结果;
其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;
基于所述终端用户客户端的IP地址,确定所述终端用户客户端并将其分组为网块;
针对所述网块中的每一个,通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据;以及
向多个负载平衡服务器输出所述聚集的连接质量测量结果数据以供由所述负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息。
2.根据权利要求1所述的方法,其中,对连接质量的测量是基于从所述终端用户客户端到多个信标服务器的TCP连接的,其中,所述多个信标服务器中的每个信标服务器对应于所述多个数据中心中的一个数据中心。
3.根据权利要求2所述的方法,其中,所述TCP连接是将web信标代码提供给所述终端用户客户端中的每个客户端的结果。
4.根据权利要求1所述的方法,其中,所述聚集的连接质量测量结果数据被组织到多个组中,其中,对每个组而言,所述终端用户客户端的IP地址落入同一网块的IP地址范围内。
5.根据权利要求4所述的方法,其中,所述聚集的连接质量测量结果数据的组包括通过到所述同一网块的IP地址范围的连接质量而被排序的数据中心。
6.根据权利要求1所述的方法,其中,对连接质量的测量包括网络等待时间。
7.根据权利要求1所述的方法,其中,对连接质量的测量包括分组丢失比率。
8.根据权利要求2所述的方法,其中,所述TCP连接源自从所述多个数据中心中的每个数据中心取回对应于所述多个数据中心中的一个数据中心的零内容图像的终端用户客户端。
9.一种用于测量从多个数据中心到客户端的连接质量的方法,包括:
从服务器向计算机可读非瞬时存储介质中存储针对每个终端用户客户端的连接质量测量结果;
其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;
基于所述终端用户客户端的IP地址,确定所述终端用户客户端并将其分组为网块;
针对所述网块中的每一个,通过聚集属于多个网块中的该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据;
其中,每个终端用户客户端所属的网块基于该终端用户客户端的IP地址;以及
向多个负载平衡服务器输出所述聚集的连接质量测量结果数据以供由所述多个负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息。
10.根据权利要求9所述的方法,其中,对连接质量的测量是基于从所述终端用户客户端到多个信标服务器的TCP连接的,其中,所述多个信标服务器中的每个信标服务器对应于所述多个数据中心中的一个数据中心。
11.根据权利要求10所述的方法,其中,所述TCP连接是将web信标代码提供给所述终端用户客户端中的每个客户端的结果。
12.根据权利要求9所述的方法,其中,所述聚集的连接质量测量结果数据被组织到多个组中,其中,对每个组而言,所述终端用户客户端的IP地址落入同一网块的IP地址范围内。
13.一种用于测量从多个数据中心到客户端的连接质量的方法,包括:
从多个终端用户客户端接收请求;
基于所述请求存储所生成的针对每个终端用户客户端的连接质量测量结果;
基于所述终端用户客户端的IP地址,确定所述终端用户客户端并将其分组为网块;
向多个负载平衡服务器输出聚集的连接质量测量结果数据以供由所述多个负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息;
其中,针对所述网块中的每一个通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成所述聚集的连接质量测量结果数据;
其中,所述方法是由一个或多个计算设备执行的。
14.根据权利要求13所述的方法,其中,对连接质量的测量是基于从所述终端用户客户端到多个信标服务器的TCP连接的,其中,所述多个信标服务器中的每个信标服务器对应于所述多个数据中心中的一个数据中心。
15.根据权利要求14所述的方法,其中,所述TCP连接是将web信标代码提供给所述多个终端用户客户端中的每个客户端的结果。
16.根据权利要求13所述的方法,其中,所述聚集的连接质量测量结果数据被组织到多个组中,其中,对每个组而言,所述终端用户客户端的IP地址落入同一网块的IP地址范围内。
17.一种用于测量从多个数据中心到客户端的连接质量的装置,包括:
用于接收针对每个终端用户客户端的连接质量测量结果的装置;
其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;
用于基于所述终端用户客户端的IP地址确定所述终端用户客户端并将其分组为网块的装置;
用于针对所述网块中的每一个、通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据的装置;以及
用于向多个负载平衡服务器输出所述聚集的连接质量测量结果数据以供由所述负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息的装置。
18.根据权利要求17所述的装置,其中,对连接质量的测量是基于从所述终端用户客户端到多个信标服务器的TCP连接的,其中,所述多个信标服务器中的每个信标服务器对应于所述多个数据中心中的一个数据中心。
19.根据权利要求18所述的装置,其中,所述TCP连接是将web信标代码提供给所述终端用户客户端中的每个客户端的结果。
20.根据权利要求17所述的装置,其中,所述聚集的连接质量测量结果数据被组织到多个组中,其中,对每个组而言,所述终端用户客户端的IP地址落入同一网块的IP地址范围内。
21.根据权利要求20所述的装置,其中,所述聚集的连接质量测量结果数据的组包括通过到所述同一网块的IP地址范围的连接质量而被排序的数据中心。
22.根据权利要求17所述的装置,其中,对连接质量的测量包括网络等待时间。
23.根据权利要求17所述的装置,其中,对连接质量的测量包括分组丢失比率。
24.根据权利要求18所述的装置,其中,所述TCP连接源自从所述多个数据中心中的每个数据中心取回对应于所述多个数据中心中的一个数据中心的零内容图像的终端用户客户端。
25.一种用于测量从多个数据中心到客户端的连接质量的装置,包括:
用于从服务器向计算机可读非瞬时存储介质中存储针对每个终端用户客户端的连接质量测量结果的装置;
其中,针对终端用户客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)终端用户客户端与(b)数据中心之间的连接质量的测量;
用于基于所述终端用户客户端的IP地址确定所述终端用户客户端并将其分组为网块的装置;
用于针对所述网块中的每一个、通过聚集属于多个网块中的该网块的那些终端用户客户端的连接质量测量结果来生成聚集的连接质量测量结果数据的装置;
其中,每个终端用户客户端所属的网块基于该终端用户客户端的IP地址;以及
用于向多个负载平衡服务器输出所述聚集的连接质量测量结果数据以供由所述多个负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息的装置。
26.根据权利要求25所述的装置,其中,对连接质量的测量是基于从所述终端用户客户端到多个信标服务器的TCP连接的,其中,所述多个信标服务器中的每个信标服务器对应于所述多个数据中心中的一个数据中心。
27.根据权利要求26所述的装置,其中,所述TCP连接是将web信标代码提供给所述终端用户客户端中的每个客户端的结果。
28.根据权利要求25所述的装置,其中,所述聚集的连接质量测量结果数据被组织到多个组中,其中,对每个组而言,所述终端用户客户端的IP地址落入同一网块的IP地址范围内。
29.一种用于测量从多个数据中心到客户端的连接质量的装置,包括:
用于从多个终端用户客户端接收请求的装置;
用于基于所述请求存储所生成的针对每个终端用户客户端的连接质量测量结果的装置;
用于基于所述终端用户客户端的IP地址,确定所述终端用户客户端并将其分组为网块的装置;
用于向多个负载平衡服务器输出聚集的连接质量测量结果数据以供由所述多个负载平衡服务器用来确定如何在所述终端用户客户端与所述数据中心之间路由消息的装置;
其中,针对所述网块中的每一个通过聚集属于该网块的那些终端用户客户端的连接质量测量结果来生成所述聚集的连接质量测量结果数据。
30.根据权利要求29所述的装置,其中,对连接质量的测量是基于从所述终端用户客户端到多个信标服务器的TCP连接的,其中,所述多个信标服务器中的每个信标服务器对应于所述多个数据中心中的一个数据中心。
31.根据权利要求30所述的装置,其中,所述TCP连接是将web信标代码提供给所述多个终端用户客户端中的每个客户端的结果。
32.根据权利要求29所述的装置,其中,所述聚集的连接质量测量结果数据被组织到多个组中,其中,对每个组而言,所述终端用户客户端的IP地址落入同一网块的IP地址范围内。
CN2008801218463A 2007-12-21 2008-12-12 利用被动tcp性能测试设备来针对全局通信量负载平衡确定网络接近度的方法 Expired - Fee Related CN101903872B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/963,700 2007-12-21
US11/963,700 US7962631B2 (en) 2007-12-21 2007-12-21 Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
PCT/US2008/086700 WO2009085669A2 (en) 2007-12-21 2008-12-12 Method for determining network proximity for global traffic load balancing using passive tcp performance instrumentation

Publications (2)

Publication Number Publication Date
CN101903872A CN101903872A (zh) 2010-12-01
CN101903872B true CN101903872B (zh) 2013-11-20

Family

ID=40789973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801218463A Expired - Fee Related CN101903872B (zh) 2007-12-21 2008-12-12 利用被动tcp性能测试设备来针对全局通信量负载平衡确定网络接近度的方法

Country Status (9)

Country Link
US (1) US7962631B2 (zh)
EP (1) EP2225657A4 (zh)
JP (1) JP5081308B2 (zh)
KR (1) KR101086545B1 (zh)
CN (1) CN101903872B (zh)
AU (1) AU2008343433C1 (zh)
HK (1) HK1151368A1 (zh)
TW (1) TWI381691B (zh)
WO (1) WO2009085669A2 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589508B2 (en) * 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US9065595B2 (en) 2005-04-07 2015-06-23 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US8719399B2 (en) * 2005-04-07 2014-05-06 Opanga Networks, Inc. Adaptive file delivery with link profiling system and method
US8909807B2 (en) * 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US11258531B2 (en) 2005-04-07 2022-02-22 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US7500010B2 (en) 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
US20080176554A1 (en) * 2007-01-16 2008-07-24 Mediacast, Llc Wireless data delivery management system and method
US8756340B2 (en) 2007-12-20 2014-06-17 Yahoo! Inc. DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
US7962631B2 (en) 2007-12-21 2011-06-14 Yahoo! Inc. Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
US20090172192A1 (en) * 2007-12-28 2009-07-02 Christian Michael F Mapless Global Traffic Load Balancing Via Anycast
US20090245114A1 (en) * 2008-04-01 2009-10-01 Jayanth Vijayaraghavan Methods for collecting and analyzing network performance data
US20100027966A1 (en) * 2008-08-04 2010-02-04 Opanga Networks, Llc Systems and methods for video bookmarking
US8706878B1 (en) * 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
JP2012503255A (ja) * 2008-09-18 2012-02-02 オパンガ ネットワークス インコーポレイテッド 高負荷のメディアコンテンツの自動検出および適合された配信のためのシステムおよび方法
EP2356576A4 (en) * 2008-11-07 2012-05-30 Opanga Networks Inc PORTABLE DATA STORAGE DEVICES THAT INITIATE DATA TRANSFERS USING HOST DEVICES
WO2010068497A2 (en) * 2008-11-25 2010-06-17 Jeffrey Harrang Viral distribution of digital media content over social networks
US8019886B2 (en) * 2009-08-19 2011-09-13 Opanga Networks Inc. Systems and methods for enhanced data delivery based on real time analysis of network communications quality and traffic
WO2011022104A1 (en) 2009-08-19 2011-02-24 Opanga Networks, Inc. Optimizing channel resources by coordinating data transfers based on data type and traffic
EP2468019A4 (en) * 2009-08-20 2013-10-23 Opanga Networks Inc DISSEMINATION OF CONTENT BY MEANS OF EXCESS CAPITALITY OF NETWORK
US8904016B2 (en) * 2010-03-02 2014-12-02 Nokia Corporation Method and apparatus for selecting network services
US8495196B2 (en) 2010-03-22 2013-07-23 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
EP2596431B1 (en) * 2010-07-21 2016-11-30 Empire Technology Development LLC Information processing apparatus, server-client system, and computer program product
US9363312B2 (en) 2010-07-28 2016-06-07 International Business Machines Corporation Transparent header modification for reducing serving load based on current and projected usage
TW201328270A (zh) * 2011-12-22 2013-07-01 East Moon Creation Technology Corp 多伺服器系統負荷平衡機制
US9594911B1 (en) * 2012-09-14 2017-03-14 EMC IP Holding Company LLC Methods and apparatus for multi-factor authentication risk detection using beacon images
US20150319063A1 (en) * 2014-04-30 2015-11-05 Jive Communications, Inc. Dynamically associating a datacenter with a network device
CN104967648B (zh) * 2014-12-26 2018-06-22 深圳市腾讯计算机系统有限公司 一种网际协议地址的调度方法、装置和系统
WO2024081025A1 (en) * 2022-10-13 2024-04-18 Netflix, Inc. Predetermining network route for content steering

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1513144A (zh) * 2001-06-04 2004-07-14 Nct���Ź�˾ 用于减少将信息从通信网络投递到用户的时间的系统及方法
CN1870594A (zh) * 2005-05-26 2006-11-29 国际商业机器公司 用于动态地选择最佳消息路径的系统、方法和服务

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US6665702B1 (en) * 1998-07-15 2003-12-16 Radware Ltd. Load balancing
JP3871486B2 (ja) * 1999-02-17 2007-01-24 株式会社ルネサステクノロジ 半導体装置
US6628956B2 (en) * 1999-03-15 2003-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive power control in a radio communications systems
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
FI108592B (fi) * 2000-03-14 2002-02-15 Sonera Oyj Laskutus langatonta sovellusprotokollaa käyttävässä matkapuhelinjärjestelmässä
US6836465B2 (en) * 2001-11-29 2004-12-28 Ipsum Networks, Inc. Method and system for path identification in packet networks
US7020698B2 (en) * 2000-05-31 2006-03-28 Lucent Technologies Inc. System and method for locating a closest server in response to a client domain name request
US7165116B2 (en) * 2000-07-10 2007-01-16 Netli, Inc. Method for network discovery using name servers
US6850984B1 (en) * 2000-09-08 2005-02-01 Intel Corporation System for isolating other clients that experience different connection performance than the client and directing the other clients to another different mirrored server
US7333794B2 (en) * 2001-03-06 2008-02-19 At&T Mobility Ii Llc Real-time network analysis and performance management
US7007089B2 (en) * 2001-06-06 2006-02-28 Akarnai Technologies, Inc. Content delivery network map generation using passive measurement data
US7120120B2 (en) * 2001-11-29 2006-10-10 Ipsum Networks, Inc. Method and system for topology construction and path identification in a two-level routing domain operated according to a simple link state routing protocol
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
KR100428767B1 (ko) * 2002-01-11 2004-04-28 삼성전자주식회사 트래픽 정보를 이용한 가입자 라우팅 설정 방법 및 이를위한 기록매체
US7512702B1 (en) * 2002-03-19 2009-03-31 Cisco Technology, Inc. Method and apparatus providing highly scalable server load balancing
US7139840B1 (en) * 2002-06-14 2006-11-21 Cisco Technology, Inc. Methods and apparatus for providing multiple server address translation
JPWO2004073269A1 (ja) * 2003-02-13 2006-06-01 富士通株式会社 伝送システム,配信経路制御装置,負荷情報収集装置および配信経路制御方法
US7159034B1 (en) * 2003-03-03 2007-01-02 Novell, Inc. System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards
KR20050055305A (ko) 2003-12-08 2005-06-13 주식회사 비즈모델라인 네트워크를 이용한 지역별 서버 이용방법 및 시스템과이를 위한 저장매체 및 기록매체
US7584435B2 (en) * 2004-03-03 2009-09-01 Omniture, Inc. Web usage overlays for third-party web plug-in content
US7609619B2 (en) * 2005-02-25 2009-10-27 Cisco Technology, Inc. Active-active data center using RHI, BGP, and IGP anycast for disaster recovery and load distribution
JP2006293422A (ja) * 2005-04-05 2006-10-26 Matsushita Electric Ind Co Ltd ネットワーク性能測定システム及びネットワーク性能測定方法
US7548945B2 (en) * 2005-04-13 2009-06-16 Nokia Corporation System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers
JP4101251B2 (ja) * 2005-05-24 2008-06-18 富士通株式会社 負荷分散プログラム、負荷分散方法、及び負荷分散装置
US20070036146A1 (en) * 2005-08-10 2007-02-15 Bellsouth Intellectual Property Corporation Analyzing and resolving internet service problems
US8307065B2 (en) * 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US8015294B2 (en) * 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US8743703B2 (en) * 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US9479341B2 (en) * 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US20080167886A1 (en) * 2007-01-05 2008-07-10 Carl De Marcken Detecting errors in a travel planning system
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US7962631B2 (en) 2007-12-21 2011-06-14 Yahoo! Inc. Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
US20090245114A1 (en) * 2008-04-01 2009-10-01 Jayanth Vijayaraghavan Methods for collecting and analyzing network performance data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1513144A (zh) * 2001-06-04 2004-07-14 Nct���Ź�˾ 用于减少将信息从通信网络投递到用户的时间的系统及方法
CN1870594A (zh) * 2005-05-26 2006-11-29 国际商业机器公司 用于动态地选择最佳消息路径的系统、方法和服务

Also Published As

Publication number Publication date
HK1151368A1 (en) 2012-01-27
WO2009085669A3 (en) 2009-08-27
AU2008343433A1 (en) 2009-07-09
JP2011508524A (ja) 2011-03-10
AU2008343433B2 (en) 2011-06-09
JP5081308B2 (ja) 2012-11-28
WO2009085669A2 (en) 2009-07-09
US20090164646A1 (en) 2009-06-25
TW200943866A (en) 2009-10-16
EP2225657A4 (en) 2017-01-25
TWI381691B (zh) 2013-01-01
CN101903872A (zh) 2010-12-01
US7962631B2 (en) 2011-06-14
AU2008343433C1 (en) 2011-12-15
KR101086545B1 (ko) 2011-11-23
EP2225657A2 (en) 2010-09-08
KR20100095472A (ko) 2010-08-30

Similar Documents

Publication Publication Date Title
CN101903872B (zh) 利用被动tcp性能测试设备来针对全局通信量负载平衡确定网络接近度的方法
KR101154799B1 (ko) 전역 트래픽 부하 균형화를 위하여 클라이언트 위치 및 리졸버 부하를 결정하는 dns 와일드카드 비컨화
KR101177203B1 (ko) 애니캐스트를 통한 맵리스 글로벌 트래픽 로드 밸런싱
CN102027462A (zh) 用于收集并分析网络性能数据的方法
US20060187820A1 (en) Vector routing-revised
JP6251702B2 (ja) 接続先サーバ指示装置、サービス利用システム、接続先サーバ指示方法、及びプログラム
US20160226708A1 (en) Assigning client devices to point-of-presence centers
US20090150564A1 (en) Per-user bandwidth availability
WO2022164732A1 (en) System and method for network and computation performance probing for edge computing
Cello et al. Hotsel: A hot spot selection algorithm for internet access in rural areas through nanosatellite networks
CN103701626B (zh) 带宽信息的获得方法以及获得带宽信息的设备
JP2013529013A (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
JP2007274611A (ja) 変換システム選択方法
CN111818134A (zh) 变电站数据中心内基于雾计算的数据传输方法及装置
CN104796288B (zh) 任播通讯方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1151368

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1151368

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: FEIYANG MANAGEMENT CO., LTD.

Free format text: FORMER OWNER: YAHOO CORP.

Effective date: 20150331

TR01 Transfer of patent right

Effective date of registration: 20150331

Address after: The British Virgin Islands of Tortola

Patentee after: Yahoo! Inc.

Address before: California, USA

Patentee before: YAHOO! Inc.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131120

Termination date: 20211212

CF01 Termination of patent right due to non-payment of annual fee