用于网络中立性测试的系统和方法与流程

文档序号:22400810发布日期:2020-09-29 18:13阅读:181来源:国知局
用于网络中立性测试的系统和方法与流程



背景技术:

本公开要求享有发明人为chan-soohwang并于2018年1月31日提交的标题为“systemsandmethodsfornetneutralitytesting”的美国临时专利申请no.62/624,467的优先权,该申请特此通过引用方式以其全部内容并入本文中。

a.技术领域

本公开总体上涉及用于确定由互联网服务提供商(isp)提供的互联网网络的性能的系统和方法。更具体地,本公开可以涉及确定互联网网络的网络中立性状态。

b.背景技术

网络中立性是这样的原则:互联网服务提供商(isp)必须对互联网上的数据一视同仁,并且不得因用户、内容、网站、平台、应用、附接装备的类型或通信方法而区别对待或不同地收费。在这些原则下,互联网服务提供商不被允许故意阻止、减慢速度或针对特定网站和在线内容收费。因为区别对待可以采取许多形式,所以对网络中立性违反的检测可能是困难的。

因此,需要的是可以有效地和准确地确定isp是否已经针对用户或服务的某个子集进行区别对待并且违反了网络中立性的系统和方法。

附图说明

将对本发明的实施例进行参考,其示例可以在附图中示出。这些图旨在是说明性的,而不是限制性的。尽管本发明通常在这些实施例的上下文中描述,但是应当理解,它并不旨在将本发明的范围限制于这些特定的实施例。图中的项目未按比例绘制。

图(“fig.”)1a描绘了根据本文档的实施例在互联网网络中的不同的位置中进行流量过滤的剖析。

图1b描绘了根据本文档的实施例的互联网网络中的时间线的流量过滤的剖析。

图1c描绘了根据本文档的实施例的基于开放式系统互连模型(osi模型)层的互联网网络中的流量过滤的剖析。

图2描绘了根据本文档的实施例的能够检测网络中立性状态的互联网网络。

图3a和图3b描绘了根据本文档的实施例的检测网络中立性状态的方法的流程图。

图3c和图3b描绘了根据本文档的其他实施例的检测网络中立性状态的另一种方法的流程图。

图4描绘了根据本文档的实施例的计算设备/信息处理系统的简化框图。

具体实施方式

在下面的描述中,出于说明的目的,阐述了具体细节,以便提供对本发明的理解。然而,对于本领域技术人员来说将显而易见的是,本发明可以在没有这些细节的情况下被实践。此外,本领域技术人员将认识到,下面描述的本发明的实施例可以以各种方式实现,例如在有形的计算机可读介质上的过程、装置、系统、设备或方法。

图中所示的组件或模块是本发明的示例性实施例的说明,并且意在避免使本发明模糊。还应理解,在整个本讨论中,组件可以被描述为单独的功能单元,其可以包括子单元,但是本领域技术人员将认识到,各种组件或其部分可以被划分为单独的组件或者可以被集成在一起,包括集成在单个系统或组件内。应当注意,本文中讨论的功能或操作可以作为组件来实现。组件可以以软件、硬件或其组合实现。

此外,图内组件或系统之间的连接并不旨在限于直接连接。而是,这些组件之间的数据可以被中间组件修改、重新调整格式或以其他方式改变。此外,可以使用附加的或更少的连接。还应注意,术语“耦合”、“连接”或“通信耦合”应理解为包括直接连接、通过一个或多个中间设备的间接连接以及无线连接。

说明书中对“一个实施例”、“优选实施例”、“实施例”或“多个实施例”的引用意指结合该实施例描述的特定的特征、结构、特性或功能被包括在本发明的至少一个实施例中,并且可以被包括在多于一个实施例中。此外,上述短语在说明书中的各个地方中的出现不一定都指的是相同的一个或多个实施例。

在本说明书中的各个地方中使用某些术语是用于说明,并且不应被解释为限制性的。服务、功能或资源并不限于单个服务、功能或资源;这些术语的使用可以指的是相关服务、功能或资源的分组,其可以是分布的或聚合的。

术语“包括”、“包括有”、“包含”和“含有”应理解为开放式术语,并且以下任何列表是示例性的,而不是意在限于所列的项目。本文使用的任何标题仅出于组织的目的,并且不应用于限制说明书或权利要求书的范围。本专利文档中提及的每个引用均通过引用方式以其全部内容并入本文中。

此外,本领域技术人员应当认识到:(1)可以可选地执行某些步骤;(2)步骤可以不限于本文所阐述的特定顺序;(3)某些步骤可以以不同的顺序执行;以及(4)某些步骤可以同时进行。

a.自治系统(as)

自治系统(as)可以是在代表单个管理实体或域的一个或多个网络运营商的控制下的连接的互联网协议(ip)路由前缀的集合,这些网络运营商可以向互联网网络呈现公共的和明确定义的路由策略。图1a描绘了根据本文档的实施例在互特网网络中的不同位置中的流量过滤的剖析。更具体地,图1a描绘了包括接入网络提供商(as1)102、应用服务器104和用户/lan120的自治系统、互特网网络100。接入网络提供商(as1)102示出了流量过滤的剖析及其在互特网网络中的位置。流量过滤的元素可以包括:支持ip过滤的防火墙108;基于流表的metrowan110;基于流量整形和策略的接入网络112;可以存储不同版本的服务的代理/缓存114;路由更新116,其证明阻止路由(blockrouting);以及dns118,其提供用于欺骗(spoof)和重定向的ip地址。(wan——广域网;dns——域名系统)。应用服务器104可以实现服务速率调整。应用服务器104可以经由bg106耦合到接入网络提供商(as1)102。(bg——边界网关)。

在图1b中进一步讨论了流量过滤的剖析。图1b描绘了流量过滤的剖析:根据本文档的实施例的互联网网络的时间线140。图1c描绘了用于流量过滤的剖析:根据本文档的实施例的基于开放式系统互连模型(osi模型)层的互联网网络中的层160。相对于用于osi层的流量过滤的剖析:1)位于l4之上的信息可以在tcp/ippdu(分组)的有效负载中,因此可能要求深度分组检测(dpi)来确定内容。2)分别由于虚拟托管和内容分发网络(cdn),基于tcp端口和ip地址的流量类型发现可能是不准确的。3)过滤可以针对每用户(例如,基于每月使用量)、每次(例如,忙/空闲时间)被应用。

b.网络中立性检测系统

本文描述的是可以确定网络中立性状态的系统和方法。互联网网络的服务器和代理均可以生成分别由服务器/代理发送/接收的两个数据流。第一流包括可以在网络上传输的非欺骗数据流(unspoofeddataflow)。一般来说,第一流可以包括将不会被更改的任何数据,其包括网上冲浪数据、移动应用数据、文件传送数据、voip数据、音频流式传输数据或伪随机数据。第二流包括欺骗数据流。第二流可以模拟或者欺骗视频流或者可能在网络中被更改的其他数据流。通过将接收到的第一流相对于第二流进行比较,可以获得可以确定中立性状态的性能数据的差异。服务器或代理可以测量上游流或下游流的性能数据。通常,如果调用测量命令:系统开始下游测量,然后在完成下游测量之后;系统开始上游测量,并等待直到上游测量完成。然后确定网络中立性状态。如本文所使用的,性能数据可以等同于性能参数测量结果。

用于网络中立性检测的算法可以包括以下元素:1)代理/服务器执行无欺骗的常规探测,包括下载/上载速度、rtt、单向延迟、分组丢失率;2)代理/服务器执行欺骗的速度/rtt/丢失率测试;3)代理/服务器比较性能数据以检测网络中立性违反。

图2描绘了根据本文档的实施例的能够检测网络中立性状态的网络200。网络200示出了如何利用httpget命令进行欺骗的示例。网络200可以利用l7欺骗。网络200可以包括互联网网络201、服务器202和代理222。代理222可以是网关或用户设备,如智能电话或移动电话。服务器202经由互联网网络201与代理222通信。服务器202可以是互联网服务器,并且可以不是视频服务器。服务器202可以包括欺骗db204、探针(probe)208和去欺骗(de-spoof)206。欺骗db204可以包括描述用于欺骗的不同方法的欺骗算法的数据库。该数据库可以被连续地更新。图1b中描述了在流量过滤中利用的欺骗算法的示例,但没有限制。探针208可以是能够测量接收到的数据流的性能参数的。

代理222可以包括欺骗224和探针228。欺骗224可以从数据流生成欺骗数据流。互联网网络201还可以包括应用服务器(例如,hulu.com)210。可以不要求应用服务器(例如,hulu.com)210获得性能参数测量结果。

服务器202和代理222均可以生成可以利用httpget命令的两个数据流。第一流包括可以利用httpget命令在网络上传输的非欺骗数据流。一般来说,第一流可以包括将不会被更改的任何数据,其包括网上冲浪数据、移动应用数据、文件传送数据、voip数据、音频流式传输数据或伪随机数据。第二流可以包括可以由欺骗db204确定的欺骗数据流。第二流可以模拟或者欺骗视频流或者可以在网络中被更改的其他数据流。在httpget命令内,可以嵌入特定报头信息来欺骗视频流。例如,但是在没有限制的情况下,欺骗可能使得视频流包括来自netflix.com的内容而不是伪随机数据。有效地将欺骗随机数据封装到第二流的视频流中。深度分组检测(dpi)214检查httpget命令,并在url字段中查找已知的url,以查看它是否匹配已知的应用服务器。或者dpi214检查内容类型(mime类型)以查看它是否匹配已知的视频流类型(例如,mpeg)。mime(多用途互联网邮件扩展)是原始的互联网电子邮件协议的扩展,其让人们使用该协议以在互联网上交换不同类型的数据文件:音频、视频、图像、应用程序和其他类型的数据文件以及原始协议(简单邮件传输协议(smtp))中处理的ascii文本。为了欺骗数据流,可以更新http报头以触发dpi过滤。例如,http报头中的url字段可以被更新为已知的应用服务器的已知的url,例如hulu.com,即使数据流包含伪随机数据,并且即使流的ip地址仍然是速度测试服务器,也是如此。在另一示例中,http报头中的mime字段可以被更新为视频流,而流的ip地址仍然是速度测试服务器。这种欺骗方法可以是有效的,这是由于httpget是第7层协议,并且其url地址不用于路由。欺骗操作可以限于较高层协议,例如l4及以上。

在第一步中,服务器202生成流1(非欺骗数据流)和流2(欺骗数据流)。随后,服务器202通过互联网网络201传输下游流,流1和流2。该通信链路可以包括边界网关(bg)212,该边界网关(bg)212转而耦合到深度分组检测(dpi)214和流量整形器216。去欺骗206可以检测来自欺骗数据流的非欺骗数据流,即,去欺骗206将两个流解复用。数据流可以由tcp协议支持。

dpi214可以包括完整的分组检查和信息提取。dpi214是计算机网络分组过滤的形式,其检查数据部分并且当分组通过检查点时可能也检查分组的报头,以搜索协议不合规性、病毒、垃圾邮件、入侵或定义的标准,以决定分组是否可以通过或者分组是否需要被路由到不同的目的地,或者,出于收集在osi(开放式系统互连模型)的应用层处起作用的统计信息的目的。

流量整形器216可以是带宽管理功能,其延迟一些或所有分组以使它们符合期望的流量简档。流量整形可以用于优化或保证性能、改善延时或通过延迟其他类型的分组来增加一些类型的分组的可用带宽。

在由dpi214和流量整形器216处理之后,下游流(流1和流2)由代理222接收。性能数据可以由服务器202(发射器)经由探针208测量。可替代地,在代理222(接收器)处,探针228可以测量接收到的流1和流2的性能数据。性能数据或性能参数测量结果可以包括1)下游/上游速度、2)往返时间(rtt)3)分组丢失率、4)单向延迟、或5)其他互联网qos度量。服务器202/代理222可以通过对成功传输的分组的数量进行计数来测量速度。当测量数据的传输使用要求接收的确认的协议时,性能数据可以由发射器测量。例如,tcp协议要求接收器在成功接收到分组时将分组传输回发射器。通过考虑确认分组和传输记录,发射器可以推断出诸如吞吐量之类的性能数据。

在第二步中,代理222生成并通过互联网网络201传输流3(非欺骗数据流)和流4(欺骗数据流)。这些上游流可以由深度分组检查(dpi)214和流量整形器216处理,并且可以耦合到bg212,该bg212转而可以耦合到服务器202。性能数据可以由服务器202(接收器)经由探针208测量。可替代地,在代理222(发送器)处,探针228可以测量流3和流4的性能数据。

可以分析性能数据以确定网络中立性状态。服务器202可以经由探针208分析和比较流1相对于流2以及流3相对于流4的测量的性能数据之间的差异。如果流1和流2之间的测量的性能数据的差异大于第一阈值,和/或如果流3相对于流4之间的测量的性能数据大于第二阈值,则可能存在网络中立性违反。另一方面,如果流1相对于流2的测量的性能数据之间的差异小于第一阈值,和/或流3相对于流4的测量的性能数据小于第二阈值,则网络中立性状态可以是可接受的。

可替代地,代理222可以经由探针228分析和比较流1相对于流2以及流3相对于流4的测量的性能数据之间的差异,其方式与用于服务器202的过程类似。代理222可以经由探针228确定以下内容:如果流1和流2之间的测量的性能的差异大于第一阈值,和/或如果流3相对于流4之间的测量的性能数据大于第二阈值,则可能存在网络中立性违反。另一方面,如果流1相对于流2的测量的性能数据之间的差异小于第一阈值,和/或流3相对于流4的测量的性能数据小于第二阈值,则网络中立性状态可以是可接受的。

针对本公开的一些实施例,服务器202或代理222可以测量上游流或下游流的性能数据。然后,服务器202或代理222可以分析上游(流3、流4)和下游(流1、流2)测量结果和差异。根据该分析,服务器202或代理222可以确定是否存在网络中立性违反。

在一些实施例中,可以使用完全相同的协议在完全相同的时间通过完全相同的路由耦合欺骗流和非欺骗流。例如,上述第一步和第二步可以在相同时间运行以确保并发性。即,可以针对欺骗流和非欺骗流二者使用相同的ip地址和端口号。在没有流量整形的情况下,二者将平等地共享带宽。另外地,可以不需要改变应用服务器/与应用服务器协作,即,hulu相对于netflix。此外,欺骗db204可以包含对潜在受影响的服务(流式传输视频、音乐和比特流)的http请求。欺骗的方法可以被连续地更新,使得运营商不能干扰。程序包括测试不同的端口号、协议、vpn、代理。

在一些实施例中,可以不需要在相同时间测量上游速度和下游速度。通常,如果测量命令被调用,则系统开始下游测量过程。当下游测量完成后,系统开始上游测量过程,并且然后等待直到上游测量完成。然后确定网络中立性状态。上游/下游流和测量的顺序可能并不重要。

在一些实施例中,欺骗可以在l4、l5、l6或l7处实现。针对所有流,ip路由可以是相同的,并且可以在第3层(l3)处实现。如前所述,欺骗db204维护欺骗算法的数据库,欺骗算法可以基于网络活动和其他源被连续地更新。为了建立欺骗算法的数据库,可以在互联网上传输不同类型的服务,并且可以测量不同服务的性能。当一种服务的性能明显低于其他类型的服务时,性能较低的服务可以被视为包含会触发更改(过滤、节流等)的特征的流量。然后,这种流量的报头可以用作欺骗算法数据库的输入。在实施例中,这样的流量被用作第二流。另外,当一种服务的性能优于其他服务时,性能较高的服务可以被视为不会被更改的流量;因此,该服务可以用作第一流。这些特性可以确保网络中立性检测是“不会过时的(futureproof)”。代理222的欺骗224可以经由逻辑连接218从欺骗db204访问欺骗算法。

可以基于无监督学习过程来建立欺骗算法数据库。学习过程的示例如下:

(1)服务器和/或代理监控有效负载流量的服务性能,而不进行欺骗。

(2)如果某个有效负载流量的性能比其他有效负载流量差,则记录这些分组。

(3)服务器和/或代理在将记录的分组作为欺骗数据传输的同时运行网络中立性测试。

(4)如果欺骗数据的性能始终比非欺骗数据的性能差,则将欺骗数据添加到欺骗数据库中。注意,这种比较需要在网络中的许多位置中应用以及在不同的时间处应用,使得流量过滤的置信度非常高。注意,在一个网络中发现的欺骗算法可以在另一个网络中使用,这是因为许多网络共享具有类似配置的相同网络装备。注意,在步骤(3)和(4)中获得的性能差异可以用作用于检测网络中立性违反的阈值。

基于监督学习过程,可以建立欺骗算法数据库。学习过程的示例如下:

(1)当流量过滤方法中的至少一个(例如,图1b中的方法)被打开的同时,服务器和代理被连接。

(2)服务器和/或代理测量将由步骤(1)中的流量过滤方法过滤的流量类型的性能。

(3)服务器和/或代理测量不会由步骤(1)中的流量过滤方法过滤的流量类型的性能。

(4)服务器和/或代理比较(2)和(3)中测量的性能,并计算性能差异。如果性能差异显著,则将步骤(1)中的过滤方法添加到欺骗db中。注意,性能差异需要在许多代理/服务器中以及在不同的时间处被测量,使得决策是确信的。注意,在步骤(2)-(4)中获得的性能差异可以用作用于检测网络中立性违反的阈值。

另一种检测方法可以比较不同的isp的性能,即,利用应用性能/基线性能的比率作为度量。通过比较两种网络中的性能,可以基于无监督学习过程来建立欺骗算法数据库。学习过程的示例如下:

(1)服务器和/或代理监控至少两个不同网络的有效负载流量的服务性能。例如,服务器可以用位于不同的接入网络处的两个代理来监控服务性能。

(2)如果某个有效负载流量在不同的网络处的性能差异大于其他流量类型,则记录导致大性能差异的分组。例如,假设网络a和b处的平均视频速度为4mbps和10mbps;平均web浏览速度为8mbps和10mbps;并且平均视频会议速度为6mbps和8mbps。则视频速度差异为6mbps,其大于视频会议或web浏览的速度差异。然后,系统在网络a处记录视频流式传输的分组。注意,可以通过许多性能度量的比率、差异或任何组合来测量差异。

(3)服务器和/或代理在将记录的分组作为欺骗数据传输的同时运行网络中立性测试。例如,(2)中的视频流式传输可以用作欺骗数据,而(2)中的网络a中的服务器和代理可以使用欺骗数据来测量网络性能。为了得到更好的置信度,可以对网络b中的服务器和代理之间的性能进行相同的测量。

(4)如果欺骗数据的性能始终比非欺骗数据的性能差,则将欺骗数据添加到欺骗数据库中。注意,在步骤(3)和(4)中获得的性能差异可以用作用于检测网络中立性违反的阈值。

总之,服务器可以经由互联网网络耦合到代理,其中服务器包括能够测量数据流的性能参数的探针和欺骗算法的数据库。代理可以折中欺骗功能和测量另一个数据流的性能参数的另一个探针;并且互联网网络包括边界网关(bg),其耦合到深度分组检测(dpi)和流量整形器。服务器和代理针对上游数据流和下游数据流均分别生成非欺骗数据流和伴随的欺骗数据流,并通过将上游非欺骗数据流和其伴随的上游欺骗数据流之间的差异确定为第一阈值,或者通过将下游非欺骗数据流和其伴随的下游欺骗数据流之间的差异确定为第二阈值,可以确定网络中立性状态。如果上游非欺骗数据流和伴随的上游欺骗数据流之间的差异小于第一阈值,或者如果下游非欺骗数据流和伴随的下游欺骗数据流之间的差异小于第二阈值,则网络中立性状态是可接受的。

c.网络中立性检测方法

第一种方法

图3a和图3b分别描绘了根据本文档的实施例的用于检测网络中立性状态的流程图300和340。该方法可以顺序地测量下游数据流和上游数据流。该方法包括以下步骤:

从服务器或代理调用测量命令开始。(步骤301)

服务器生成两个数据流:1)非欺骗数据流1;2)欺骗数据流2。欺骗可以在l4、l5、l6或l7处实现。(步骤302)。

服务器经由互联网网络向代理传输两个数据流(流1和流2)。(步骤304)。

服务器测量下游速度或其他性能参数,并确定流1和流2之间是否存在差异。性能参数可以包括通过对成功传输的分组的数量进行计数来测量下游速度、往返时间(rtt)、分组丢失率、单向延迟或其他互联网qos度量(步骤306)。如前所讨论的,当测量数据的传输使用要求对接收的确认的协议时,性能数据可以由发射器测量。例如,tcp协议要求接收器在成功接收到分组时将分组传输回发射器。通过对确认分组和传输记录进行计数,发射器可以推断出诸如吞吐量之类的性能数据。

代理生成两个数据流:1)非欺骗数据流3;2)欺骗数据流4。欺骗可以在l4、l5、l6或l7处实现。(步骤312)。

代理将两个数据流(流3和流4)经由互联网网络传输到服务器。(步骤314)。

服务器测量上游速度或其他性能参数,并确定流3和流4之间是否存在差异。性能参数可以包括通过对成功传输的分组的数量进行计数来测量上游速度、往返时间(rtt)、分组丢失率、单向延迟或其他互联网qos度量。(步骤316)。

服务器或代理分析上游(流3、流4)和/或下游(流1、流2)测量结果。(步骤320)。

上游流3和流4之间的性能参数测量的差异是否大于阈值2和/或下游流1和流2之间的性能参数测量的差异是否大于阈值1?(步骤321)

如果是,则可能存在网络中立性违反。(步骤322)

如果否,则网络中立性状态是可接受的,即,网络中立性ok。下游网络中立性状态可以通过由服务器或代理测量下游性能参数并确定第一流和第二流之间是否存在差异来确定。上游网络中立性状态可以通过由服务器或代理测量上游性能参数并确定第三流和第四流之间是否存在差异来确定。(步骤324)

可选地,代理测量下游速度或其他性能参数,并确定流1和流2之间是否存在差异。测量的数据被输入到步骤320。(步骤318)

可选地,代理测量上游速度或其他性能参数,并确定流3和流4之间是否存在差异。测量的数据被输入到步骤320。(步骤319)

相对于步骤302和312,可以不需要针对每个测量生成数据流。在一些实施例中,服务器/代理可以保存测量文件,代理/服务器可以稍后下载该测量文件。即,服务器和代理可以在一个时间段内存储其生成的数据流,而服务器和代理在另一个时间段内传输其存储的数据流。在其他实施例中,服务器或代理顺序地测量上游数据流和下游数据流。相对于步骤304,在大多数速度测试程序中,服务器可以向代理传输下游分组,这是因为代理发出了httpget命令。服务器分组传输(下游)等同于代理的下载。

第二种方法

图3c和图3b分别描绘了根据本文档的其他实施例的用于检测网络中立性状态的流程图360和340。该方法可以同时测量下游数据流和上游数据流。下游测量和上游测量被同时执行,这是因为只有当上游流量模式和下游流量模式二者都匹配流量的某个类型时,才可以触发一些过滤/节流。图1b和图1c中描述了流量过滤。该方法包括以下步骤:

通过由服务器或代理调用测量命令而开始。

服务器生成两个数据流:1)非欺骗数据流1;2)欺骗数据流2。欺骗可以在l4、l5、l6或l7处实现。(步骤362)。

服务器将两个数据流(流1和流2)经由互联网网络传输到代理。(步骤364)。

服务器或代理测量性能参数,并确定流1和流2之间是否存在差异。性能参数可以包括通过对成功传输的分组的数量进行计数来测量下游速度、往返时间(rtt)、分组丢失率、单向延迟或其他互联网qos度量(步骤366)。

代理生成两个数据流:1)非欺骗数据流3;2)欺骗数据流4。欺骗可以在l4、l5、l6或l7处实现。(步骤372)。

代理将两个数据流(流3和流4)经由互联网网络传输到服务器。(步骤374)。

服务器或代理测量性能参数,并确定流3和流4之间是否存在差异。性能参数可以包括通过对成功传输的分组的数量进行计数来测量下游速度、往返时间(rtt)、分组丢失率、单向延迟或其他互联网qos度量(步骤376)

可选地,服务器测量结果被传输到代理和/或反之亦然。(步骤378)

服务器或代理分析上游(流3、流4)和/或下游(流1、流2)测量结果。(步骤320)

上游流3和流4之间的性能参数测量的差异是否大于阈值2和/或下游流1和流2之间的性能参数测量的差异是否大于阈值1?(步骤321)

如果是,则可能存在网络中立性违反。(步骤322)

如果否,则网络中立性状态是可接受的,即,网络中立性ok。下游网络中立性状态可以通过由服务器或代理测量下游性能参数并确定第一流和第二流之间是否存在差异来确定。上游网络中立性状态可以通过由服务器或代理测量上游性能参数并确定第三流和第四流之间是否存在差异来确定。(步骤324)

相对于步骤362和372,可以不需要针对每个测量生成数据流。服务器/代理可以保存测量文件,代理/服务器可以稍后下载该测量文件。相对于步骤364,在大多数速度测试程序中,服务器可以向代理传输下游分组,这是因为代理发出了httpget命令。服务器分组传输(下游)等同于代理的下载。

d.系统实施例

在实施例中,本专利文档的各方面可以针对信息处理系统/计算系统或在其上实现。出于本公开的目的,计算系统可以包括任何工具或工具集合,其可操作用于估算、计算、确定、分类、处理、发送、接收、取回、引起、路由、切换、存储、显示、传送、证明、检测、记录、复制、处置或利用用任何形式的信息、情报或数据以于商业、科学、控制或其他目的。例如,计算系统可以是个人计算机(例如,膝上型计算机)、平板计算机、小册子、个人数字助理(pda)、智能电话、智能手表、智能封装、服务器(例如,刀片式服务器或机架式服务器)、网络存储设备或任何其他合适的设备,并且可以在大小、形状、性能、功能和价格上变化。计算系统可以包括随机存取存储器(ram)、一个或多个处理资源(例如,中央处理单元(cpu)、硬件或软件控制逻辑)、rom和/或其它类型的存储器。计算系统的附加组件可以包括一个或多个磁盘驱动器、用于与外部设备通信的一个或多个网络端口以及各种输入和输出(i/o)设备(例如,键盘、鼠标、触摸屏和/或视频显示器)。计算系统还可以包括一个或多个总线,其可操作用于在各种硬件组件之间传输通信。

图4描绘了根据本公开的实施例的计算设备/信息处理系统(或计算系统)的简化框图。将理解的是,针对系统400所示的功能可以操作用于支持信息处理系统的各种实施例,但应当理解,信息处理系统可以被不同地配置并且包括不同的组件。

如图4中所示,系统400包括提供计算资源并控制计算机的一个或多个中央处理单元(cpu)401。cpu401可以用微处理器等实现,并且还可以包括一个或多个图形处理单元(gpu)417和/或浮点协处理器以用于数学计算。系统400还可以包括系统存储器402,其可以是随机存取存储器(ram)、只读存储器(rom)或二者的形式。

还可以提供多个控制器和外围设备,如图4中所示。输入控制器403表示到各种输入设备404(例如,键盘、鼠标或触笔)的接口。还可以存在与扫描器406通信的扫描器控制器405。系统400还可以包括用于与一个或多个存储设备408接合的存储控制器407,存储设备408中的每一个包括诸如磁带或磁盘之类的存储介质,或者可以用于记录操作系统、实用程序和应用的指令的程序(其可以包括实现本发明的各个方面的程序的实施例)的光学介质。存储设备408还可以用于存储处理后的数据或根据本发明要处理的数据。系统400还可以包括显示控制器409,以用于提供到显示设备411的接口,该显示设备411可以是阴极射线管(crt)显示器、薄膜晶体管(tft)显示器或其他类型的显示器。计算系统400还可以包括用于与打印机413通信的打印机控制器412。通信控制器414可以与一个或多个通信设备415接合,该通信设备415使得系统400能够通过各种网络的任何一个或通过任何合适的电磁载波信号(包括红外信号)连接到远程设备,这些网络包括互联网、云资源(例如,以太网云、以太网上的光纤通道(fcoe)/数据中心桥接(dcb)云等)、局域网(lan)、广域网(wan)、存储区域网(san)。

在所示的系统中,所有主要的系统组件都可以连接到总线416,总线416可以表示多于一个的物理总线。然而,各种系统组件可以在物理上彼此接近,也可以不在物理上彼此接近。例如,输入数据和/或输出数据可以从一个物理位置远程传输到另一个物理位置。另外,可以通过网络从远程位置(例如,服务器)访问实现本发明的各个方面的程序。此类数据和/或程序可以通过各种机器可读介质中的任何一种来传送,机器可读介质包括但不限于:诸如硬盘、软盘和磁带之类的磁性介质;诸如cd-rom和全息设备之类的光学介质;磁光介质;以及被专门配置用于存储或存储并执行程序代码的硬件设备,例如专用集成电路(asic)、可编程逻辑器件(pld)、闪存设备以及rom和ram设备。

本发明的实施例可以被编码在一个或多个非暂时性计算机可读介质上,其具有指令以供一个或多个处理器或处理单元使得步骤被执行。应注意的是,一个或多个非暂时性计算机可读介质应包括易失性存储器和非易失性存储器。应注意的是,可替代的实施方式是可能的,包括硬件实施方式或软件/硬件实施方式。硬件实现的功能可以使用asic、可编程阵列、数字信号处理电路等来实现。因此,任何权利要求中的“单元”术语旨在涵盖软件实施方式和硬件实施方式二者。类似地,本文所使用的术语“一个或多个计算机可读介质”包括具有其上体现的指令程序的软件和/或硬件,或其组合。考虑到这些实施方式备选方案,应当理解,附图和附带的描述提供了本领域技术人员编写程序代码(即,软件)和/或制造电路(即,硬件)以执行所要求的处理所要求的功能信息。

应注意,本发明的实施例可以进一步涉及具有非暂时的、有形的计算机可读介质的计算机产品,其上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本发明的目的而专门设计和构造的,或者它们可以是对于相关领域技术人员已知或可用的类型。有形的计算机可读介质的示例包括但不限于:诸如硬盘、软盘和磁带之类的磁性介质;诸如cd-rom和全息设备之类的光学介质;磁光介质;以及被专门配置用于存储或存储并执行程序代码的硬件设备,例如专用集成电路(asic)、可编程逻辑器件(pld)、闪存设备以及rom和ram设备。计算机代码的示例包括机器代码,例如由编译器产生的代码,以及包含由计算机使用解释器执行的较高级代码的文件。本发明的实施例可以全部或部分地实现为可以在由处理设备执行的程序模块中的机器可执行指令。程序模块的示例包括库、程序、例程、对象、组件和数据结构。在分布式计算环境中,程序模块可以物理地位于本地的、远程的或二者的设置中。

本领域技术人员将认识到没有任何计算系统或编程语言对本发明的实践是关键的。本领域技术人员还将认识到,上面描述的多个元件可以在物理上和/或在功能上分成子模块或组合在一起。本领域技术人员将理解,前述的示例和实施例是示例性的,并且不限制本公开的范围。在阅读了说明书和研究了附图时,对于本领域技术人员显而易见的是所有排列、增强、等同物、组合和改进都旨在被包括在本公开的真正精神和范围内。还应注意,任何权利要求的元素都可以被不同地布置,包括具有多个依赖项、配置和组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1