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

文档序号:6479244阅读:161来源:国知局
专利名称:利用被动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系统可能很难维护因特网的完整且准确的映 射。映射的不准确可能导致错误的路由决定。基于采用了何种映射协议,可能需要大量时 间来校正这些路由决定。


在附图的各图示中作为示例而非作为限制来示出本发明,其中类似标号指代类似 元件,并且其中图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),并且是透明的或不可 见的图形图像,通常不大于1X1个像素。在一实施例中,通过将小量代码或信标代码置入产生的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 (例 如,“丽· 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,其中χ可以是0-255间的任何数字。如果客户端希望从此网块连接到协同位 置,那么连接到协同位置A花费10ms,连接到协同位置B花费50ms,并且连接到协同位置C 花费80ms。因此,来自网块“1. 1. 1. 0”的客户端将是最靠近协同位置A的。在行310中,网块“2. 2. 2. 0/26”指示出在IP地址“2. 2. 2. χ”处的客户端的子网 掩码是26,其中χ可以是0-63间的任何数字。如果客户端希望从此网块连接到协同位置, 那么连接到协同位置A花费100ms,连接到协同位置B花费40ms,并且连接到协同位置C花 费5ms。因此,来自网块“2. 2. 2. 0”的客户端将是最靠近协同位置C的。在行312中,网块“3. 3. 3. 0/24”指示出在IP地址“3. 3. 3. χ”处的客户端的子网掩码是24,其中χ可以是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, 比如鼠标、跟踪球或者光标方向键。该输入设备通常具有允许设备指定平面上的位置的、两 个轴(第一轴(例如,χ)和第二轴(例如,y))上的两个自由度。本发明涉及使用计算机系统400来实现这里所描述的技术。根据本发明的一个实 施例,那些技术是由计算机系统400响应于处理器404执行在主存储器406中包含的一个 或多个指令的一个或多个序列来执行的。这样的指令可以是从另一机器可读介质(比如存 储设备410)被读取到主存储器406中的。执行在主存储器406中包含的指令序列致使处 理器404执行这里描述的处理步骤。在替代实施例中,可以使用硬连线的电路来替代软件 指令或者与软件指令结合来实现本发明。因此,本发明的实施例不限于硬件电路和软件的 任何特定组合。这里使用的术语“机器可读介质”指代参与提供致使机器以特定方式操作的数据 的任何介质。在使用计算机系统400实现的实施例中,例如,在将指令提供给处理器404以 供执行方面涉及了各种机器可读介质。这样的介质可以采取许多种形式,包括但不限于存 储介质和传输介质。存储介质包括非易失性介质和易失性介质二者。非易失性介质例如包 括诸如存储设备410之类的光或磁盘。易失性介质包括诸如主存储器406之类的动态存储 器。传输介质包括同轴线缆、铜线或光纤,其包括构成总线402的导线。传输介质还可以采取声或光波的形式,比如在无线电波和红外数据通信期间生成的那些。所有这些介质必须 是有形的以使得由该介质所承载的指令能够通过将指令读取到机器中的物理机制而被删 除。机器可读介质的常见形式例如包括软盘、软磁盘、硬盘、磁带或任何其他磁介质, CD-ROM或任何其他光介质,穿孔卡、纸质磁带或者任何其他具有孔图案的物理介质,RAM、 R0M、EPR0M、FLASH_EPR0M或者任何其他存储器芯片或匣,如此后描述的载波,或者计算机可 以从其进行读取的任何其他介质。各种形式的机器可读介质可以在将一个或多个指令的一个或多个序列承载到处 理器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可以以载波的 形式获得应用代码。在前述说明书中,已经参考可能随实现方式的不同而不同的许多具体细节描述了 本发明的实施例。因此,关于本发明是什么并且申请人希望本发明是什么的唯一且排他的 表示是从此申请发布的、这些权利要求所发布的具体形式的权利要求集合,其包括任何后 续的修正。这里针对这些权利要求中所包含的术语明确提出的任何限定决定如在权利要求 中使用的这些术语的含义。因此,未在权利要求中明确记载的任何限制、要件、性质、特征、优点或属性不应以任何方式限制这样的权利要求的范围。因此,将说明书和附图视为说明 性的而非限制性的。
权利要求
一种用于测量从多个数据中心到客户端的连接质量的方法,包括接收针对多个客户端中的每个客户端的连接质量测量结果;其中,所述针对每个客户端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(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.一种方法,包括从服务器向计算机可读存储介质中存储包括连接质量测量结果和多个客户端的IP地 址的基于测量结果的数据;其中,所述连接质量测量结果基于对(a)多个数据中心中的特定数据中心与(b)所述 多个客户端中的每个客户端之间的连接质量的测量;基于所述基于测量结果的数据,确定如何将消息路由到所述多个数据中心。
10.一种用于测量从多个数据中心到客户端的连接质量的方法,包括从多个客户端接收请求;基于所述请求存储对连接质量的测量;向聚集服务器输出对连接质量的测量,其中,所述聚集服务器基于所述连接质量测量 结果和所述多个客户端的IP地址来生成基于测量结果的数据。
11.一种系统,包括第一多个服务器,所述第一多个服务器中的每个特定服务器位于多个数据中心中的特 定数据中心中,其中所述第一多个服务器针对多个客户端中的每个客户端测量连接质量测量结果;其中,所述针对每个客户端的连接质量测量结果包括,来自所述多个数据中心中的每 个数据中心的,对(a)所述数据中心与(b)所述每个客户端之间的连接质量的测量;聚集服务器,其中,所述聚集服务器从所述第一多个服务器接收连接质量测量结果,以基于所述连接质量测量结果和所述客户端的IP地址来生成基于测量结果的数据;以及第二多个服务器,其中,所述第二多个服务器从所述聚集服务器接收所述基于测量结 果的数据以确定如何将消息路由到所述多个数据中心。
12.—种承载一个或多个指令序列的计算机可读存储介质,所述一个或多个指令序列 在被一个或多个处理器执行时致使所述一个或多个处理器接收针对多个客户端中的每个客户端的连接质量测量结果;其中,所述针对每个客户 端的连接质量测量结果包括,来自所述多个数据中心的每个数据中心的,对(a)所述数据 中心与(b)所述每个客户端之间的连接质量的测量;一旦接收到针对所述多个客户端的连接质量测量结果,就基于所述连接质量测量结果 和所述客户端的IP地址来生成基于测量结果的数据;向负载平衡服务器输出所述基于测量结果的数据以供由所述负载平衡服务器用来确 定如何将消息路由到所述多个数据中心。
13.根据权利要求12所述的计算机可读存储介质,其中,对连接质量的测量基于从所 述客户端到多个信标服务器的TCP连接,其中,所述多个信标服务器中的每个信标服务器 对应于所述多个数据中心中的一个数据中心。
14.根据权利要求13所述的计算机可读存储介质,其中,所述TCP连接是将web信标代 码提供给所述多个客户端中的每个客户端的结果。
15.根据权利要求12所述的计算机可读存储介质,其中,所述基于测量结果的数据被 组织到多个组中,在这些组中,所述客户端的IP地址落入特定的IP地址范围内。
16.根据权利要求15所述的计算机可读存储介质,其中,所述基于测量结果的数据的 组包括通过到所述特定的IP地址范围的连接质量而被排序的数据中心。
17.根据权利要求12所述的计算机可读存储介质,其中,对连接质量的测量包括网络 等待时间。
18.根据权利要求12所述的计算机可读存储介质,其中,对连接质量的测量包括分组 丢失比率。
19.根据权利要求13所述的计算机可读存储介质,其中,所述TCP连接源自从所述多个 数据中心中的每个数据中心取回对应于所述多个数据中心中的一个数据中心的零内容图 像的客户端。
全文摘要
描述了用于测量在客户端与多个数据中心之间的TCP连接质量的技术。被称作web信标的小量代码被置于产生的web页面上。当客户端请求产生的web页面时,web页面被提供给客户端。当web页面代码被处理时,web信标指示客户端在后台通过TCP连接从多个数据中心取回零内容图像。当建立了各连接时,被动监视系统测量并登记关于从客户端到数据中心的每个TCP连接的统计数据。统计数据被聚集到数据库中并且可以基于客户端的IP地址的范围以及连接质量测量结果而被分类。将数据从数据库输出到全局负载平衡器以确定从并发客户端到多个数据中心的路由。
文档编号G06F13/14GK101903872SQ200880121846
公开日2010年12月1日 申请日期2008年12月12日 优先权日2007年12月21日
发明者大卫·阿普盖尔, 杰彦斯·威加亚拉戈哈凡, 迈克尔·克里斯蒂安 申请人:雅虎公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1