用于收集并分析网络性能数据的方法

文档序号:7733317阅读:171来源:国知局
专利名称:用于收集并分析网络性能数据的方法
技术领域
本发明涉及收集并分析与网络性能相关的数据。
背景技术
本节所说明的方法是一些可以被实行的方法,而不必是以前已经被考虑或者实 行了的方法。因此,除非另外指出,不应该仅是因为被包括在本节之内就将本节所说明 的这些方法的任何一个假定为是有资格作为先有技术。由于从互联网检索的数据的重要性已经提高,所以监控和分析数据可以多快并 且多准确地进行传输已经变得极为重要。例如,一个用户可能希望知道更多的关于“汽 车”的主题的知识。该用户可以通过导航到一个互联网搜索引擎网站并然后键入搜索查 询“汽车”来开始他的搜索。该请求被发送到位于数据中心之一上的一个服务器,该服 务器供应该搜索引擎的搜索应用。作为对该查询的响应,该服务器对客户机送回一个资 源清单,该清单是与“汽车”主题有关的可以访问的清单。当该客户计算机接收到该响 应时,该数据被显示给该用户。尽管该用户只能看到所显示的结果,但该请求和响应在 网络中如何进行路由却会影响用户的体验。对于搜索引擎或者任何其他的信息提供者而 言,确保用户快速准确地接收数据是提供良好用户体验的一个重要方面。数据提供者通常拥有大量的服务器,它们提供位于多个数据中心上的相同内 容,以帮助高效地提供数据。如在此使用的,术语“数据中心”是指多个相关联的服务 器的一种集合。若该数据提供者检测到存在任何网络异常或者故障,对该数据提供者的 请求可以被路由连接到该数据中心内的不同服务器上、或者到一个不同的数据中心上, 这完全取决于该故障的性质。属于一个特定数据中心的这些服务器通常位于同一个的建筑或者联合体内,而 不同的数据中心经常是位于彼此在地理定位上远离的地方。这种地理距离增添了防护, 这样由一个自然灾害或者其他灾难导致的一个数据中心的灾难性故障不会同时导致另一 个数据中心的故障。例如,一个数据中心可能位于东海岸的纽约,而另一个数据中心可 能座落于西海岸的旧金山。因此,若旧金山的地震导致其数据中心故障时,请求可以改 为被路由连接到纽约的数据中心。分离的数据中心还允许大型数据提供者更加有效率地利用服务器的负载能力。 例如,纽约的数据中心可能具有85%的服务器负载,这表明对那些服务器形成了大量的 连接。旧金山的数据中心在同一时刻可能具有35%的服务器负载。为了更加均衡地使用 这些服务器负载,以前可能会被发送到纽约数据中心的任何随后的连接请求都将会改为 被路由连接到旧金山的数据中心,直至这些服务器负载是相等的。到不同数据中心的路由选择或者不同的路径还可以通过收集关于网络情况的信 息并根据那些情况做出调整来确定。例如,一个网络故障可能发生在一个单一的网络点 上,它导致在网络的那个区域内传输的所有数据包都不能转送到这些数据包的目的地。 在另一个实例中,过多的数据包在同一个网络区域内传送所导致的通信量拥堵可能导致该网络区域内的网络通信明显减慢。通过识别一个网络中的故障或者拥堵点,可以调整 网络的路由选择,这样网络通信量可以尽可能畅通地移动。因此,获取尽可能多的关于 网络与网络性能的信息对于大型数据提供者(如搜索引擎)而言已经变得越来越重要。附图简要说明本发明通过举例,而非通过限制,展示在附图的多个图示中,其中相同的参考号代表相似的元件,并且其中

图1是一个框图,示出根据本发明的一个实施方案的多个数据中心、服务器、 客户机、以及收集服务器之间的关系;图2是一个简图,示出根据本发明的一个实施方案的收集并分析网络性能数据 所遵循的多个步骤;以及图3是可以实施本发明的多个实施方案的一个计算机系统的框图。详细说明在此说明了多种收集并分析有关网络性能数据的技术。在以下说明书中,出于 解释的目的,陈述了很多具体细节以提供对本发明的透彻理解。然而应当清楚的是,本 发明可以不具备这些具体细节而实施。在其他实例中,以框图的形式示出了多个为人熟 知的结构和装置,以避免不必要地使得本发明晦涩不清。总体概述如在此使用的,“网络性能数据”是表明在一个网络上数据传输速度与性能的 数据。网络性能数据还可以表明最终用户性能。网络性能数据是基于在一个服务器与客 户机之间的连接数据。网络性能数据包括源IP地址、目的地IP地址、源端口、所发送的 数据、重新传输的数据、所接收的数据、最大拥堵窗口、一个数据包的往返时间、以及 可以用来确定网络性能的任何其他的测量或者度量。在影响网络性能的因素中有网络通 信量拥堵、网络故障、或者路由器故障。通过检测网络的不同部分中的困难,于是可以 调整路由选择以确保更好的网络性能。在一个实施方案中,对多个服务器进行修改,以便将连接数据存储在一个数据 中心的每个服务器上,该数据中心将一个数据提供者的数据供应给多个客户机。为了 检测网络问题,该服务器被进一步修改,以便存储重新传输的数据。在另一个实施方案 中,重新传输的数据是用来检测网络问题的多个因素之一(即,数据延迟、拥堵)。然后 这些服务器各自将该连接数据发送给一个收集服务器,该服务器对这些数据进行汇集。 汇集被传输与重新传输的数据包的数量并且确定这些数据包的来源与目的地帮助确定可 能正在发生拥堵或者其他问题的网络区域,并且然后响应于该网络可以改变路由选择。在一个实施方案中,该收集服务器根据该服务器所在的数据中心和该客户机的 位置对来自这些服务器的连接数据进行分类。该客户机的位置可以是基于该客户机的一 种地理映射、一个自治系统编号、或者一个IP地址范围。该自治系统编号是一个表明路 由选择的编号。IP地址范围可以变化。例如,该IP地址范围可以是具有许多潜在用户 的一个大范围,或者是表明更多粒度的一个小范围。在一个实施方案中,能够根据该数据中心以及该客户机的位置来分析该分类的 数据。从一个特定的数据中心到一个特定客户机位置的一个高的重新传输率可以表明该 网络某一特定区域的问题。然后可以将数据传输的路由选择改变到一个不同的数据中心或者分配一条不同的路径。图1示出了一个框图,该框图展示了根据一个实施方案,多个服务器、数据中 心、收集服务器以及客户机如何交互作用。在图1中,有三个数据中心数据中心103、 数据中心105、和数据中心107。数据中心103包括两个服务器。位于每个数据中心内 的服务器数目将会随着具体实施而变化很大。服务器111与服务器113位于数据中心103 中。数据中心105也包括两个服务器。服务器121与服务器123位于数据中心105中。 数据中心107包括三个服务器。服务器131、服务器133、以及服务器135位于数据中心 107 中。这些服务器各自连接到多个客户机上。多个客户机被示出为客户机151、客户 机153、客户机155、客户机157、和客户机159。这些服务器被修改,以便存储当该服 务器与一个客户机进行连接时的连接数据,包括重新传输的数据。该连接数据被发送给 一个收集服务器101,该收集服务器还从所有其他可供使用的服务器处收集数据。在该收 集服务器上,所接收的连接数据与来自其他服务器的连接数据进行汇集。然后该收集服 务器根据该服务器所在的数据中心以及为客户机所分配的实际位置或者路由来对该连接 数据进行分类。从这一信息中可以做出改变路由选择或者进一步检查网络问题的决定。
将网络性能数据存储在一个服务器中在一个实施方案中,对多个服务器进行修改这样将连接数据存储在一个数据中 心的每个服务器上,该数据中心将一个数据提供者的数据供应给多个客户机。对该服务 器进一步进行修改以便存储重新传输的数据。数据传输可以遵循任何类型的数据传输协 议,包括TCP。传输控制协议(“TCP”)是一种互联网协议,它允许一个联网主机上 的多个应用程序创建到另一个主机的连接。例如,请求一个网页的客户机可以代表一个 主机,而将该网页内容提供给该客户机的服务器可以代表该另一个主机。TCP协议具有许多与多个主机之间的连接有关的特性。TCP保证从一个发送者 到该接收者的可靠并有序的数据传递。为了实现有序传递,TCP还提供了重新传输丢失 的数据包以及丢弃所发送的重复数据包。TCP还能够为在同一个主机上运行的多个并发 的应用程序(如,网络服务器和电子邮件服务器)的多个连接区分数据。为了发起一个TCP连接,该发起主机发送一个同步(SYN)包,以便发起具有一 个初始顺序号的连接。该初始顺序号标识了每个主机发送的多个字节的顺序,这样不论 在传输过程中会发生何种数据分裂或紊乱,所传送的数据都保持有序。对每一个被传输 的字节,该序号都被递增。所发送的每个字节都由该发送者分配一个序号,并且然后该 接收者将一个应答(ACK)发回给该发送者以便确认该次传输。例如,若计算机A(服务器)发送带有一个序号50的4个字节(该数据包中的四 个字节具有所分配的序号50、51、52、和53),则计算机B (客户机)将会将一个应答54 发回到计算机A,以表明计算机B期望接收的下一个字节。通过发送一个应答54,计算 机B发出信号表示正确地接收了字节50、51、52和53。如果,由于某种意外,最后两 个字节被破坏,则计算机B发送一个应答值52,因为字节50和51被成功地接收了。然 后计算机A将会向计算机B重新传输从序号52开始的数据包。在一个实施方案中,所有数据中心内的每个服务器都进行修改,以便存储从该 服务器到任何客户机的连接数据。可以通过改变该服务器的内核来实施这些修改,以便存储基于一个TCP连接的连接数据。在一个实施方案中,该内核被修改以记录所有的 TCP连接流(包括每次连接重新传输的字节)、SYN包的往返时间、所发送的总字节数、 以及每次连接的总吞吐量。如在此使用的,“连接数据”是指任何测量、度量、或者在网络连接中使用的 数据。连接数据的某些实例包括但不限于源IP地址、源端口、目的地IP地址、目的 地端口、所发送的数据 、重新传输的数据、所接收的数据、所接收的重复数据、最大拥 堵窗口、SYN往返时间、畅通往返时间、以及用于一个网络连接的任何其他数据或者测 量。连接数据能够以任何格式来存储。在一个实施方案中,连接数据存储的格式为源 IP地址、源端口、目的地IP地址、目的地端口、所发送的数据、重新传输的数据、所接 收的数据、所接收的重复数据、最大拥堵窗口、SYN往返时间、以及畅通往返时间重新 传输的数据表明当从该服务器发生数据重新传输时发生的情况。所接收的重复数据表明 当从该客户机发生数据重新传输时发生的情况。该连接数据还可以通过存储更多的信息来添加功能性。例如,该连接数据还可 以存储进行一个连接时更粒度化的响应时间。在一个实施方案中,并不是仅仅存储往返 时间,还存储了服务器发送一条完整请求所消耗的时间、服务器在接收到客户请求后发 送应答所消耗的时间、以及客户发送一条请求所消耗的时间。这些更细粒度的时间在确 定数据在离开该服务器后的数据传输的吞吐量或者速度时允许更高的精确性。SYN往返时间是传输一个SYN数据包与接收到一个应答之间所消耗的时间。畅 通往返时间是指到向邻居传输一个数据包与接收到一个应答之间所消耗的时间。畅通往 返时间表明了沿着一条路径到一个特定邻居的这个链接或者这些链接的速度。所消耗的 时间能够以任何时间间隔来测量,如毫秒。在一个实施方案中,连接数据被存储为一种原始日志、或者没有任何格式的一 种日志文件。在一个实施方案中,在被定期地发送到收集服务器之前,将连接数据在服 务器上存储一段时间。在另一个实施方案中,当连接数据正在被服务器记录时,该数据 被连续地发送给收集服务器。在一个实施方案中,收集服务器从每个服务器上接收连接数据。该收集服务器 将来自每个服务器的数据汇集,并且根据服务器所在的数据中心以及然后根据表明客户 机位置的一个簇来对连接数据进行分类。形成簇可以是基于客户机的一种地理映射、按 照自治系统编号、或者按照一个具有可变长度的IP地址前缀。按照地理映射形成簇客户机的地理映射可以通过地理定位来产生。如在此使用的,地理定位是指标 识一个连接到互联网的计算机或者装置在真实世界中的地理位置。可以通过将一个地理 位置与一个IP地址、MAC地址、Wi-Fi连接位置、GPS坐标、或者任何其他的标识信息 相关联而实现地理定位。在一个实施方案中,当记录到一个特定的IP地址时,所列出作 为该特定IP地址的所有者的组织和物理地址被发现,并且然后将其从该位置映射到该特 定的IP地址上。例如,服务器已经记录了一个目的地IP地址1.2.3.4。对该IP地址进行 查询以确定该地址被包括在总部位于旧金山的ACME公司所拥有的一个IP地址块之中。 尽管不能绝对肯定IP地址1.2.3.4处的客户机物理地位于旧金山(因为可以使用代理服务 器),但是与IP地址1.2.3.4所进行的大多数连接都在旧金山的可能性却很高。也可以采用其他方法,如追踪网络的网关和路由器位置。在一个实施方案中,基于来自多个地理定位数据汇集器的多个簇,多个IP地址 被收集服务器映射到多个地理位置上。存在着许多地理定位数据汇集器(如座落在加利 福尼亚州Mountain View的Quova),它们根据IP地址的位置以及其他方法来确定物理位 置。多个IP地址被归并成基于物理位置的组。在一个实施方案中,物理位置在粒度上 可以变化。例如,可以有一种情形,其中一个簇可以按照城市和州来进行地理定位。在 另一种情形下,一个簇可以按照一个区域来进行地理定位,如美国东北部。在另一种情 形下,一个簇可以按照国家来进行地理定位。按照自治系统编号和IP地址前缀形成簇在一个实施方案中,被汇集的数据被收集服务器根据一个服务器所在的数据中 心以及基于自治系统编号的一个簇来进行分类。自治系统编号是为了在BGP路由选择中 使用而分配给一种自治系统并且表明有待用于数据传输的路由选择的一个编号。边界网关协议(“BGP”)是互联网的核心路由选择协议。BGP通过维护IP 网络的路由选择表或者指派到达一个网络的能力的“前缀”来工作。路由选择表中的信 息可以包括但不限于目的地网络的IP地址、数据包要经过其中发送的路径所需的传播 时间、以及数据包到达目的地途中将要被发送的下一站(也称作“下一跳”)的地址。 BGP根据可供使用的路径和网络策略来做出路由选择决定。例如,若到同一个目的地存 在两条可供使用的路径,则可以通过选择允许数据包最快达到目的地的路径来确定路由 选择。这返回了 “最近的”路由线路。如在此使用的,一个自治系统是由一个或者多个网络运营商所运营的一组IP网 络,它具有一个单独的、明确定义的外部路由选择策略。自治系统具有一个全局唯一的 自治系统编号,该编号被用来在相邻自治系统之间交换外部路由选择信息,并且被用作 该自治系统自身的一个标识符。在另一个实施方案中,所汇集的数据被收集服务器根据一个服务器所在的数据 中心和基于可变长度IP地址前缀的一个簇来进行分类。例如,所汇集的数据可以基于IP 地址前缀1.2.3.X来形成簇,其中形成簇的所有项均以IP地址“1.2.3”开始并且用0到 255之间的任何数字来取代“X”的地方。这就将IP范围的粒度限制为256种可能的组 合。在另一个实例中,IP地址前缀的粒度可以是更多的进程,如1.2.y.x。在这一实例 中,所有的以“1.2”开头的IP地址都被包括在一个簇中,在该簇中“y”取0到255之 间的一个数值,“X”取0到255之间的一个数值,共有65,5 36 (2 562)种组合。因为可 以将更多可能的IP地址形成簇,所以粒度更小。分析所存储的数据所汇集并分类的连接数据被存储在收集服务器中,并且然后被用于分析网络性能。所汇集并分类的数据被存储的格式为使之可以基于一个特定的数据中心来分析网络 性能。在一个实施方案中,对于每个特定的数据中心存储了一个簇的IP地址或者基于 BGP的自治系统编号的地理定位。若存储了该数据中心以及IP地址的地理定位,那么就 可以确定从该数据中心到一个特定的地理定位的网络性能。例如,从数据中心1到纽约 市的重新传输率可能极其高,但是到沿美国东海岸的所有其他城市的重新传输率却是适 度的。从这一信息中可以确定在将数据从数据中心1传输到纽约市内多个客户机时的一个网络问题。数据提供者可以联系为纽约服务的互联网服务提供商告知可能存在一个问 题,或者数据通信可以通过一种不同的方式路由连接到纽约。在另一个实施方案中,并不仅仅依赖于重新传输率,对其他因素予以考虑来确 定网络性能。例如,往返时间、或者数据延迟可以与重新传输率一起考虑,以确定网络 问题。在又一个另外的实施方案中,仅考虑了重新传输率以外的数据来检测网络问题。 例如,网络问题可以仅仅基于数据包的往返时间。
若存储了数据中心与来自BGP的自治系统编号,则可以确定从该数据中心循着 一条特定的路由选择路径的网络性能。例如,从数据中心1循着一条特定的路径的重新 传输率也许是极其高的。数据提供者可以选择随后不在该具有高的重新传输率的路由上 传输数据,而是选择另一条具有较少错误的路由。在图2中示出根据一个实施方案的用来收集并分析网络性能数据的多个步骤的 示意图。在步骤201,多个服务器被系统管理员或者编程人员所修改,以便存储连接数 据,该连接数据展示了从这些服务器到多个客户机所进行的多个连接。多个重新传输的 数据包被包括在该连接数据中。在步骤203,每个服务器将所存储的连接数据发送给一个 收集服务器。该收集服务器收集这些连接数据,并且然后将来自所有这些服务器的连接 数据进行汇集。如步骤205中所示,该收集服务器然后对来自这些服务器的连接数据进 行分类。该连接数据是根据这些服务器所在的数据中心以及该客户机的位置或路由选择 的多个簇来进行分类的。该位置可以是任何现实世界中的物理位置并且该路由选择可以 通过一个自治系统编号来标识。最终,在步骤207,基于在该收集服务器上已被分类和汇 集的连接数据,可以使用重新传输的数据作为一种指示符来检测网络问题和故障地点。 特定网络区域的高重新传输率表明问题的高可能性。作为该分析的结果,可以使得随后 进行的到多个客户机的连接从一个不同的数据中心开始或者使用替代的路由选择以避开 网络问题区域。拥有更准确的网络性能数据还允许有能力来决定为了最有效在何处放置或定位 数据中心。例如,数据可以由一个给定国家内的主机代管1和主机代管2来提供。在进 行网络性能测定之后,网络性能数据表明主机代管1和主机代管2对大多数用户具有一个 高的重新传输率。另一组主机代管也许正在从另一个国家或者位置为相同的用户服务。 若网络性能数据表明来自另一个国家或位置的该组主机代管的重新传输率更小,则该数 据中心的位置可以移动到该其他国家或者新的主机代管处。换言之,更精确的网络性能 数据使得能够做出一个更连接情况的选择,以便选定就重新传输率或者任何其他可以进 行分析的网络性能度量而言展示了最佳性能的数据提供者。硬件概述图3是一个框图,它展示了可以实施本发明的一个实施方案的计算机系统300。 计算机系统300包括总线302或者其他用于传送信息的通信机构,以及与总线302相连接 的用于处理信息的处理器304。计算机系统300还包括一个主存储器306 (例如一个随机 存取存储器(RAM)或其他动态存储装置),该主存储器与总线302相连接,以用于存储 信息以及将有待由处理器304执行的多条指令。主存储器306还可以用于存储在有待由 处理器304执行的指令的执行过程中的多个临时变量或者其他中间信息。计算机系统300 进一步包括一个只读存储器(ROM) 308或者其他与总线302相连接的用于为处理器304存储静态信息和指令的静态存储装置。存储装置310 (如磁盘或者光盘)被提供并且连接到 总线302上,以用于存储信息和指令。计算机系统300可以通过总线302连接到显示器312 (如阴极射线管CRT)上, 用于将信息显示给计算机用户。输入装置314 (包括字母数字的和其他多个键)被连接到 总线302上,用于将信息与命令选择输送给处理器304。另一种类型的用户输入装置是光 标控制316(如鼠标、轨迹球、或光标方向键),用于将方向信息和命令选集输送给处理 器304,并且用于控制显示器312上的光标移动。这个输入装置通常在两个轴线(一个第 一轴线例如,X,和一个第二轴线例如,Y)上具有两个自由度,它们允许该装置在一个 平面内指定位置。本发明涉及使用计算机系统300以实施在此说明的这些技术。根据本发明的一 个实施方案,这些技术通过计算机系统300响应于处理器304执行包含在主存储器306中 的一个或者多个指令的一个或多个序列来执行的。这些指令可以从另一个机器可读介质 (如存储装置310)中读入到主存储器306中。执行包含在主存储器306中的这些指令序 列使得存储器304执行在此说明的这些处理步骤。在多个替代实施方案中,可以使用硬 连线的电路来代替或者与软件指令相结合以实施本发明。因此,本发明的多个实施方案 并不限于硬件电路与软件的任何具体组合。 在此使用的术语“机器可读介质”是指任何介质,该介质参与了提供使得机器 以一种特定方式运转的数据。在使用计算机系统300实施的一个实施方案中,不同的机 器可读介质被用于(例如)将多条指令提供给处理器304用于执行。这样一种介质可以 采取许多形式,包括但不限于存储介质和传输介质。存储介质既包括非易失性介质又包 括易失性介质。非易失性介质包括(例如)光盘或者磁盘,如存储装置310。易失性介 质包括动态存储器,如主存储器306。传输介质包括同轴电缆、铜线和光纤,包括包含了 总线302的多条导线。传输介质还可以采取声波或者光波的形式,例如在无线电波与红 外数据通信过程中产生的那些声波或光波。所有这些介质必须是有形的,以便使得该介 质所携带的指令能够被一种物理机构检出,该物理机构将这些指令读入到一个机器中。机器可读介质的普通形式包括(例如)软盘、柔性盘、硬盘、磁带、或者任何其 他磁性介质、CD-ROM、任何其他光介质、穿孔卡、纸带、任何其他带有孔形图案的物 理介质、RAM、PROM、以及EPROM、FLASH-EPROM、任何其他存储器芯片或者片 盒、如以下说明的一种载波、或者计算机能够读取的任何其他介质。不同形式的机器可读介质可以用于将一条或者多条指令的一个或者多个序列运 送至处理器304用于执行。例如,这些指令最初可以携带在一个远程计算机的磁盘上。 该远程随机可以将这些指令装载到它的动态存储器中并且使用调制解调器在一条电话线 上发送这些指令。计算机系统300的本地调制解调器可以接收该电话线上的数据并且使 用一个红外发射器来将该数据转换为一个红外信号。一个红外检测器可以接收该红外信 号携带的数据并且适当的电路可以将该数据置于总线302上。总线302将该数据运送至 主存储器306,处理器304从该主存储器中提取并执行这些指令。被主存储器306接收的 这些指令在由处理器304执行之前或者之后可以任选地存储在存储装置310上。计算机系统300还包括连接到总线302的一个通信接口 318。通信接口 318将 一个双向数据通信连接提供给连接到本地网络322上的一个网络链接320。例如,通信接口 318可以是一个综合业务数字网络(ISDN)卡或者一个调制解调器,以便将一种数据 通信连接提供给一条相应类型的电话线。作为另一个实例,通信接口 318可以是一 块局 域网(LAN)卡,以便将一种数据通信连接提供给一个兼容的LAN。也可以实施多种无 线链接。在任何此类实施方式中,通信接口 318发送并接收电的、电磁的、或者光的信 号,这些信号携带了代表不同类型信息的数字数据流。网络链接320典型地通过一个或者多个网络将数据通信提供到其他数据装置。 例如,网络链接320可以通过局域网322将一个连接提供给主计算机324或者提供给由互 联网服务提供商(ISP) 326运营的数据设备。ISP 326进而通过广域数据包数据通信网络 (现在通常称作“互联网”)328来提供数据通信服务。本地网络322与互联网328均使 用携带数字数据流的电、电磁、或者光的信号。经过不同网络的这些信号以及在网络链 接320上并且经过通信接口 318的这些信号(它们携带数字数据往返于计算机系统300) 是输送信息的载波的一些示例性形式。计算机系统300可以通过这个或这些网络、网络链接320和通信接口 318来发送 消息和接收包括程序代码的数据。在该互联网实例中,服务器330可以通过互联网328、 ISP 326、本地网络322以及通信接口 318来传输用于一个应用程序的一个请求代码。所接收的代码可以在其被接收时由处理器304执行,和/或者存储到存储装置 310、或者其他非易失性存储件中,用于以后执行。以此方式,计算机系统300能够以一 种载波的形式来获取应用程序代码。在以上说明书中,已经参照许多具体细节说明了本 发明的多个实施方案,这些具体细节可以随实施方式而变化。因此,关于何为本发明以 及何为诸位申请人意在成为本发明的单独而且唯一的指示物就是由本申请提出的这组权 利要求,是在这些权利要求提出的具体形式中,包括任何随后的修正。在此对于包含在 这些权利要求之中的术语而明确给出的任何定义都应该决定这些术语在这些权利要求中 使用时的含义。因此,未在一项权利要求中明确引述的限制、要素、特性、特征、优点 或者属性不能以任何方式来限定这一权利要求的范围。因此,本说明书以及附图应该看 作是示意性而非限制性意义的。
权利要求
1.一种收集网络性能数据的方法,该方法包括根据多个服务器与多个客户机中的一个客户机所发送和接收的多个数据包的传输, 接收来自该多个服务器的连接数据,其中该多个服务器各自位于多个数据中心的一个特 定的数据中心内;汇集来自该多个服务器的连接数据;根据该服务器所在的数据中心以及与该客户机相关联的一个簇对所汇集的连接数据 进行分类;并且在根据该数据中心以及与该客户机相关联的簇对所汇集的连接数据进行分类时,存 储所分类并汇集的连接数据。
2.如权利要求1所述的方法,其中所汇集的连接数据包括一定量的所发送的数据包、 一定量的所发送的重新传输的数据包、一定量的所接收的数据包、一定量的所接收的重 新传输的数据包、以及多个数据包的往返时间。
3.如权利要求1所述的方法,其中与该客户机相关联的簇包括该客户机的一个IP地 址所映射的一个地理定位。
4.如权利要求3所述的方法,其中该地理定位是一个城市。
5.如权利要求3所述的方法,其中该地理定位是一个国家。
6.如权利要求1所述的方法,其中与该客户机相关联的簇包括与该客户机的一个IP 地址相关联的一个路由选择的标识符。
7.如权利要求6所述的方法,其中该路由选择的标识符是一个自治系统编号。
8.如权利要求2所述的方法,其中所汇集的连接数据进一步包括该服务器提供的一个 应用程序。
9.如权利要求8所述的方法,其中该连接数据是从该多个服务器连续地接收的。
10.一种用于收集网络性能数据的系统,该系统包括多个服务器,其中每个服务器位于多个数据中心的一个特定的数据中心内;一个收集服务器;以及多个客户机;其中该多个服务器存储连接数据,该连接数据是基于由该多个服务器与该多个客户 机中的一个客户机所发送和接收的多个数据包的传输;该多个服务器将连接数据发送至该收集服务器;该收集服务器汇集该连接数据;该收集服务器根据该服务器所在的数据中心以及与该客户机相关联的一个簇来对所 汇集的连接数据进行分类;在根据该数据中心以及与该客户机相关联的簇对所汇集的连接数据进行分类时,该 收集服务器存储所分类并汇集的连接数据。
11.如权利要求10所述的系统,其中所汇集的连接数据包括一定量的所发送的数据 包、一定量的所发送的重新传输的数据包、一定量的所接收的数据包、一定量的所接收 的重新传输的数据包、以及多个数据包的往返时间。
12.如权利要求10所述的系统,其中与该客户机关联的簇包括该客户机的一个IP地 址所映射的一个地理定位。
13.如权利要求10所述的系统,其中与该客户机相关联的簇包括与该客户机的一个IP 地址相关联的一个路由选择的标识符。
14.如权利要求10所述的系统,其中该路由选择的标识符是一个自治系统编号。
15.—种计算机可读的存储介质,该存储介质携带多条指令的一个或者多个序列,该 指令序列当由一个或者多个处理器执行时致使该一个或者多个处理器根据由多个服务器与多个客户机中的一个客户机所发送和接收的多个数据包的传 输,接收来自该多个服务器的连接数据,其中该多个服务器各自是位于多个数据中心的 一个特定的数据中心内;汇集来自该多个服务器的连接数据;根据该服务器所在的数据中心以及与该客户机相关联的一个簇对所汇集的连接数据 进行分类;并且在根据该数据中心以及与该客户机相关联的簇对所汇集的连接数据进行分类时,存 储所分类、汇集的连接数据。
16.如权利要求15所述的计算机可读的存储介质,其中所汇集的连接数据包括一定量 的所发送的数据包、一定量的所发送的重新传输的数据包、一定量的所接收的数据包、 一定量的所接收的重新传输的数据包、以及多个数据包的往返时间。
17.如权利要求15所述的计算机可读的存储介质,其中与该客户机相关联的簇包括该 客户机的一个IP地址所映射的一个地理定位。
18.如权利要求16所述的计算机可读的存储介质,其中该地理定位是一个城市。
19.如权利要求16所述的计算机可读的存储介质,其中该地理定位是一个国家。
20.如权利要求15所述的计算机可读的存储介质,其中与该客户机相关联的簇包括与 该客户机的一个IP地址相关联的一个自治系统编号。
21.如权利要求15所述的计算机可读的存储介质,其中该连接数据是从该多个服务器 连续地接收的。
22.如权利要求16所述的计算机可读的存储介质,其中被汇集的连接数据进一步包括 该服务器提供的一个应用程序。
全文摘要
在此说明了用来收集并分析网络性能数据的多种技术。多个服务器被修改以便将连接数据(包括重新传输的数据)存储在向多个客户机供应数据的一个数据中心的每个服务器上。然后每个服务器将所存储的连接数据发送给一个收集服务器,该收集服务器将这些数据汇集。该收集服务器根据该服务器所在的数据中心以及该客户机的位置或路由选择的簇对来自这些服务器的连接数据进行分类。该客户机的位置可以是基于该客户机的地理映射、按照自治系统编号的路由选择、或者一个IP地址前缀。从一个特定的数据中心到一个特定的客户机位置的一个高的重新传输率可以表明在网络的特定区域内的问题。数据传输的路由选择可以被更改为一个不同的数据中心或者分配一个不同的路由选择。
文档编号H04L29/06GK102027462SQ200980110431
公开日2011年4月20日 申请日期2009年3月31日 优先权日2008年4月1日
发明者J·威雅亚拉格哈宛 申请人:雅虎公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1