估计客户机和服务器间连接的带宽的方法、设备和服务器.pdf

上传人:小** 文档编号:684564 上传时间:2018-03-04 格式:PDF 页数:19 大小:1.01MB
返回 下载 相关 举报
摘要
申请专利号:

CN200410085721.3

申请日:

2004.10.15

公开号:

CN1627710A

公开日:

2005.06.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04L12/26; H04L12/24

主分类号:

H04L12/26; H04L12/24

申请人:

国际商业机器公司;

发明人:

拉马克里什南·雷杰默尼

地址:

美国纽约州

优先权:

2003.12.12 US 10/734,771

专利代理机构:

北京市柳沈律师事务所

代理人:

郭定辉;黄小临

PDF下载: PDF下载
内容摘要

估计客户机和服务器之间的网络连接的带宽的方法、程序、设备和服务器包括请求服务器将第一和第二对象背对背地供应给客户机。第一和第二对象被发送到客户机。客户机确定传送第一和第二对象之间的时间间隔。该时间间隔与有关第二对象大小的信息一起用于估计带宽。对第一和第二对象的请求最好利用在网络上唯一的URL标识第一和第二对象,以防止该请求受到文件高速缓冲存储器服务。第一和第二对象可以从在结构上与客户机ISP接近的内容分配网络服务器发送到客户机,以提高带宽估计的可靠性。

权利要求书

1: 一种估计客户机和服务器之间的连接的带宽的设备,该设备包括: 请求服务器将第一和第二对象相继供应给客户机的代码片断; 响应访问服务器的客户机将代码片断传送给客户机的装置; 调用客户机上要执行的代码片断的装置; 响应来自代码片断的请求将第一和第二对象发送到客户机的装置;和 确定传送第一和第二对象之间的时间间隔和从中估计带宽的装置。
2: 根据权利要求1所述的设备,其中,请求第一和第二对象的装置包括 利用连接客户机和服务器的网络上唯一的URL标识第一和第二对象的装置。
3: 根据权利要求2所述的设备,其中,将第一和第二对象发送到客户机 的装置包括将第一和第二对象从在结构上与客户机的ISP接近的内容分配网 络服务器发送到客户机的装置。
4: 根据权利要求3所述的设备,其中,第二对象具有小于或等于与网络 相联系的最小传输单位的大小,以防止第二对象被碎化。
5: 根据权利要求3所述的设备,其中,代码片断包括: 创建第一和第二图像对象的装置; 生成唯一标识符(uniqueID)的装置;和 利用包含uniqueID的URL将第一和第二图像对象与服务器上的第一和 第二对象相联系的装置。
6: 根据权利要求5所述的设备,进一步包括通过服务器忽略第一和第二 URL中的uniqueID的装置,其中来自任何客户机的、对第一和第二对象的请 求受服务器上的单对对象服务,而不管与服务器接收的URL中的uniqueID 如何。
7: 根据权利要求5所述的设备,其中,生成uniqueID的装置包括根据 日期时间值和随机数导出标识符的装置。
8: 根据权利要求5所述的设备,进一步包括只有在接收到具有和与对第 一对象的请求相联系的uniqueID相同的uniqueID的、对第二对象的请求之后, 才响应对第一对象的请求的装置。
9: 根据权利要求1所述的设备,进一步包括调用代码片断数次以获得带 宽的数次估计的装置以及选择最高获得带宽作为估计带宽的装置。
10: 一种估计客户机网络连接的可得带宽的方法,该方法包括: 使服务器能够向服务提供器请求估计客户机和服务器之间的连接的带 宽; 通过将请求服务器将第一和第二对象按时间顺序供应给客户机的代码片 断提供给客户机,响应对带宽估计的请求; 调用代码片断让客户机向服务器请求第一和第二对象,其中代码片断将 指示传送第一和第二对象之间经过的时间量的信息返回给服务提供器;和 部分地根据经过的时间估计可得带宽。
11: 根据权利要求10所述的方法,进一步包括保持服务器的响应时间数 据,并根据所选客户机的服务器响应时间和与所选择客户机相联系的估计带 宽提醒服务器。
12: 根据权利要求10所述的方法,代码片断利用在连接客户机和服务器 的网络上唯一的URL标识第一和第二对象。
13: 根据权利要求12所述的方法,其中,服务器通过将第一和第二对象 从在结构上与客户机与之连接的ISP服务器接近的内容分配网络服务器发送 到客户机来响应对第一和第二对象的请求。
14: 根据权利要求13所述的方法,其中,第二对象具有小于或等于与网 络相联系的最小传输单位的大小,以防止第二对象被碎化。
15: 根据权利要求14所述的方法,进一步包括调用代码片断数次以获得 带宽的数次估计和选择最高估计带宽。
16: 根据权利要求10所述的方法,其中,代码片断包括: 创建第一和第二图像对象; 生成唯一标识符(uniqueID);和 利用包含uniqueID的URL将第一和第二图像对象与第一和第二对象相 联系。
17: 一种在通过客户机ISP将服务器与客户机相连接的数据处理网络中 的服务器,该服务器被配置成包括: 将带宽估计代码片断提供给客户机的装置,带宽估计代码片断被配置成 请求服务器将第一和第二对象按时间上相邻的事件发送给客户机; 将代码片断生成的请求识别成用于带宽估计的请求并通过将第一和第二 数据对象提供给客户机来响应该请求的装置;和 从客户机接收指示传送第一和第二对象之间经过的时间的信息的装置。
18: 根据权利要求17所述的服务器,其中,带宽估计代码片断利用在整 个网络上和对于特定请求来说唯一的第一和第二URL向服务器请求第一和 第二对象。
19: 根据权利要求17所述的服务器,其中,第一和第二URL每一个都 包括从与请求相联系的日期时间和随机数中导出的唯一部分。
20: 根据权利要求17所述的服务器,其中,服务器通过将第一和第二对 象提供给在结构上与客户机从CDN服务器接收第一和第二对象的客户机ISP 接近的内容分配网络服务器,将第一和第二数据对象提供给客户机。

说明书


估计客户机和服务器间连接的带宽的方法、设备和服务器

    【技术领域】

    本发明涉及数据处理网络领域,尤其涉及客户机通过因特网服务提供器与网络连接的数据处理网络。

    背景技术

    客户机和其因特网服务提供器(ISP)之间的最大技术上可行带宽是一个重要量度,因为它对可达到性能设定限制。由于至少两个原因,提供和维护网站的那些人员对这个量度感兴趣。第一,借助于客户机最大可得带宽的知识,网站可以指定谁对不良性能负责。如果好像使用具有适当带宽的ISP连接的客户机经受了长时间延迟,网站应该设法找出延迟的原因,而如果客户机的因特网链路限制了带宽,那么,那个用户经受的任何延迟可能在网站的纠正能力之外。第二,如果网站知道客户机带宽容量是多少,网站可以使其行为适应那个容量。在防止低带宽用户不得不从头到尾遭受中间延迟时间的同时,将更高水平的特征提供给高带宽用户地能力是一个吸引人的特征。

    由于许多变量影响着传送文档所需的时间量,在诸如因特网之类的开放网络的背景下,测量带宽是困难的。尤其,介入路由器和代理器的存在使跟踪一个文档旅行到任何特定目的地所花费的时间量成为问题。一些文档可能在各种各样路由器节点上发生延迟,而另一些文档可能没有延迟。由于这样的延迟是非确定性的,通过确定一个文档从已知源点到达花费了多长时间来测量带宽充满了困难。因此,人们希望实现获得客户机可得带宽的可靠估计的方法和系统。人们还希望实现的解决方案能够在客户机现有环境下起作用。

    【发明内容】

    上述的目的是通过包括请求服务器将第一和第二对象背对背地供应给客户机、估计客户机和服务器之间的网络连接的带宽的方法、程序、设备和服务器解决的。

    根据本发明的一个方面,提供了估计客户机和服务器之间的连接的带宽的设备,该设备包括:请求服务器将第一和第二对象相继供应给客户机的代码片断;响应访问服务器的客户机将代码片断传送给客户机的装置;调用客户机上要执行的代码片断的装置;响应来自代码片断的请求将第一和第二对象发送到客户机的装置;和确定传送第一和第二对象之间的时间间隔和从中估计带宽的装置。

    根据本发明的另一个方面,提供了估计客户机网络连接的可得带宽的方法,该方法包括:使服务器能够向服务提供器请求估计客户机和服务器之间的连接的带宽;通过将请求服务器将第一和第二对象按时间顺序供应给客户机的代码片断提供给客户机,响应对带宽估计的请求;调用代码片断让客户机向服务器请求第一和第二对象,其中,代码片断将指示传送第一和第二对象之间经过的时间量的信息返回给服务提供器;部分地根据经过的时间估计可得带宽。

    根据本发明的又一个方面,提供了在通过客户机ISP将服务器与客户机相连接的数据处理网络中的服务器,该服务器被配置成包括:将带宽估计代码片断提供给客户机的装置,带宽估计代码片断被配置成请求服务器将第一和第二对象按时间上相邻事务发送给客户机;将代码片断生成的请求识别成用于带宽估计的请求并通过将第一和第二数据对象提供给客户机响应该请求的装置;和从客户机接收指示传送第一和第二对象之间的时间经过的信息的装置。

    第一和第二对象被发送到客户机。客户机确定传送第一和第二对象之间的时间间隔。该时间间隔与有关第二对象大小的信息一起用于估计带宽。对第一和第二对象的请求最好利用在网络上唯一的URL(统一资源定位符)标识第一和第二对象,以防止该请求受到代理高速缓冲存储器服务。第一和第二对象可以从在结构上与客户机ISP接近的内容分配网络服务器发送到客户机,以提高带宽估计的可靠性。在一个实施例中,第二对象具有小于等于与网络相联系的最小传输单位的大小,以防止第二对象在网络中被碎化。使客户机能够启动带宽估计进程(通过请求信息包对)的软件可以从服务器(或第三方服务提供器)提供给客户机,作为最好可在客户机的万维网浏览器内执行的代码片断。在一种实施方案中,代码片断创建一对图像对象,创建唯一标识符,和利用包含唯一标识符的URL将图像对象与服务器上的一对数据对象(信息包)相联系。唯一标识符在整个网络上是唯一的,并且对于特定请求是唯一的。服务器可以忽略或剥去URL的唯一部分。在这种实施方案中,所有对第一和第二对象的请求都由服务器上或CDN(内容分配网络)服务器上单对对象服务。在将带宽估计进程委托给服务提供器的一个实施例中,服务提供器还可以监视服务器的响应时间,和当对特定客户机的响应时间长于客户机带宽保证的时间时,提醒服务器。

    【附图说明】

    通过参照附图进行如下详细描述,本发明的其它目的和优点将更加清楚,在附图中:

    图1是数据处理网络的方块图;

    图2是根据本发明的一个实施例确定客户机可得带宽(obtainable)的方法的流程图;

    图3是例示在图2的方法中强调在根据本发明一个实施例的网络连接的客户机方执行的处理的细节的流程图;和

    图4是例示使服务器能够确定客户机可得带宽的第三方服务的流程图。

    虽然本发明因各种变型和可替代形式而异,但其特定实施例以示例示出在附图中,并且在这里将得到详细描述。但是,不言而喻,这里给出的附图和详细描述并非打算使本发明局限于所公开的特定实施例,而是相反,其用意是涵盖落在所附权利要求书所限定的本发明的精神和范围内的所有变型、等效物、和可替代物。

    【具体实施方式】

    一般地说,本发明关注的是估计客户机和其ISP之间的链路上的可得带宽的方法和系统。当客户机访问万维网服务器时,服务器或第三方提供器(由服务器指定)将可在客户机的浏览器内执行的一些相对简单的代码发送到客户机。当执行代码时,客户机生成从服务器得到一对信息包的请求。服务器自己或让另一个站点“背对背”或在时间上靠得很近地提供这些请求信息包。当客户机接收到整个第一信息包时,它记录接收时间。当客户机接收到整个第二信息包时,它再次记录接收时间。根据两个记录时间的差值和第二信息包大小的知识,客户机方代码可以计算出经验带宽数。通过重复该进程三次或更多次和利用最高确定带宽获得提高了的精度。

    参照图1,图1描绘了根据本发明一个实施例的数据处理网络100的所选部件。在所描绘的实施例中,网络100包括被显示成通过链路103以及客户机ISP 110与诸如因特网之类的广域网相连接的客户机系统(客户机)102。本发明感兴趣的是获取客户机-ISP链路103的最大可得带宽的可靠估计。由于发送到客户机102和从客户机102发送的所有信息包都必须穿过链路103,并且绝大多数客户机的瓶颈带宽是客户机-ISP链路103,因此链路103的最大可得带宽基本上决定了客户机发送和检索数据的能力。取决于实施方案(例如,ADSL(非对称数字用户环路)),客户机发送和接收数据的带宽可能不同。对于许多应用来说,网站提供器和其它设备最感兴趣的参数是客户机接收信息的最大可得带宽,而本发明的焦点就是这个参数。ISP 110代表传送到客户机102和从客户机102接收的所有业务必须通过的网关。通常,ISP 110允许客户机102以月或年预订费为代价访问因特网。一般说来,定期费用随链路的质量或速度而改变。希望或要求高速因特网访问的用户通常比通过拨号访问的用户支付更多费用。可替代地,带宽受本地服务器提供器可以提供的带宽限制的提供器(例如,处在顾客零售店)可以有尝提供链路。另外,地理和其它考虑可能要求最终用户只能拥有拨号连接。

    客户机102是诸如台式计算机或笔记本电脑之类的数据处理设备或系统、诸如允许上网蜂窝式电话或PDA(个人数字助理)之类的无线设备、或任何其它“网络可意识(network aware)”设备。访问万维网上的内容是利用在客户机硬件上执行的浏览器实现的。在任何有效范围上使用的几乎所有浏览器共享某些共同属性。一个这样的属性是浏览器执行JavaScrip_代码的能力。JavaScrip_是美国网景公司开发的开放、与平台无关、面向对象的计算机编程语言。在所描绘的实施例中,客户机102包含使系统或设备能够执行JavaScrip_代码的全功能运行时(runtime)环境。

    当客户机102想要检索诸如机构主页之类的信息时,客户机利用其浏览器输入主页的统一资源定位符(URL)(例如,www.OrganizationName.com)。客户机浏览器生成从存储对象的服务器(或从代理服务器)中检索URL所代表的对象的请求。如图1所示,服务器150代表机构网站或万维网实体。在服务器150上或在服务器150可访问的存储器上存储着,例如,机构主页。

    服务器150所代表的机构很可能不仅对确定谁正在访问其网站感兴趣,而且对其访问者拥有什么水平的因特网能力感兴趣。这个信息可以用于区分提供给访问者的服务的类型。当万维网实施方案不合适时,也可以通知服务器。具体地说,如果服务器150意识到拥有高带宽连接的特定客户机在观看页面等时正经受显著延迟,网站设备和实施方案可能需要修改。

    难以获取客户机实际带宽的精确量度部分原因是因特网的结构。理论上,确定客户机带宽可以通过正当数据从服务器传送到客户机时启动定时器和当信息包的传送完成时终止定时器来完成。如果数据量已知,传输时间可以用于计算经验带宽量度。在局域网中,这种途径可以通过让服务器背对背地(即,以时间上相邻的序列)将一对信息包发送到客户机来实现。然后,当客户机接收到第一信息包时,启动定时器。一旦接收到第二信息包就终止定时器,并且,通过将第二信息包的大小除以经过的时间来估计带宽。但是,在因特网的背景下,介入硬件设备和文件高速缓冲存储器的存在使该项工作变得异常困难。

    例如,如图1所示,从客户机102到服务器150的任何路径都要穿过多个路由器112。如果服务器150试图通过简单地将一对信息包发送到客户机来确定客户机带宽,第二信息包可能在任何一个路由器112上发生延迟,同时该路由器为某些其它信息包服务。另外,因特网上的许多设备包括文件高速缓冲存储器。文件高速缓冲存储器是用于存储最近受访问的数据的存储设施。如果客户机请求(例如)特定对象,则该对象的副本可以被适当地高速缓存在客户机102和服务器150之间的一个或多个路由器和/或代理服务器上的存储设备中。文件高速缓冲存储器的例子在图1中用内容分配网络(CDN)服务器120表示。CDN是通过使大高速缓存文件保持在大量不同服务器上减少对单个万维网服务器的访问次数和防止单个万维网服务器过载的一种尝试。最好,这些CDN服务器120位于与各种ISP 110接近的距离上。在这种应用的背景下,两个设备的距离指的是两个设备之间的网络“跳段(hop)”的个数。假设CDN服务器120处在与主ISP 110接近的距离上和CDN服务器高速缓存数量很大的频繁访问对象,显而易见,对万维网对象的很多请求可能受到由处在与请求者ISP接近的距离上的对象的高速缓存副本服务。正如后面更详细描述的那样,本发明的一个实施例有利于利用CDN 120的存在带来的影响,以提高经验导出带宽数的可靠性。但是,就一般性地测量客户机-ISP带宽而言,文件高速缓冲存储器的存在使事情复杂化,因为不能肯定特定对象正受到来自何方的服务。在信息包对例子中,如果第一信息包受到由来自远程服务器的服务,而第二信息包受到来自附近服务器的服务,所得的带宽确定结果很可能是不精确的和不可靠的。

    本发明面临来自浏览器内部、在因特网上实现信息包对概念所固有的困难。所实现的解决方案的一些部分可能以一组或一系列存储在计算机可读媒体上的计算机可执行指令的形式出现。指令可以存储在诸如磁盘或磁带之类的永久性存储媒体、诸如闪速存储器件之类包括电可擦除器件的只读存储器(ROM)器件等上。在执行指令的时候,软件可以驻留在诸如数据处理系统的系统存储器或与系统处理器之一相联系的高速缓冲存储器之类的易失性存储媒体中。

    参照图2,该流程图例示了确定因特网环境内特定客户机链路的带宽的方法200。在一种实施方案中,实现本发明所需的许多代码或软件是可在大多数传统浏览器内执行的JavaScrip_代码。在所描绘的实施例中,方法200包括诸如图1的服务器150之类的服务器对客户机请求的检测。从客户机接收的典型请求是对特定URL的众所周知的HTTP(超文本传输协议)格式化GET请求。一旦接收到这样的请求,服务器确定(方块204)它是否想要估计请求客户机的带宽。服务器可以选择只为所选客户机和只在所选的时间估计带宽。例如,服务器可以选择只为频繁访问服务器(即,请求来自服务器的URL)的客户机估计带宽。服务器也可以选择只在活动性低的时间内(当与供应带宽确定所需的信息包相联系的处理开销影响较小时)或在活动性高的时间内(当分配服务器可用带宽重要时)估计带宽。如果服务器不选择在接收到请求之后进行带宽估计,服务器将简单地以传统方式为请求服务。

    如果服务器的确开始带宽估计,所描绘的方法200的实施例首先初始化(方块206)跟踪或计数已经执行的带宽估计叠代次数的变量。在本发明的优选实施例中,进行了多次带宽估计叠代,以提高最后结果的精度。叠代次数很可能由服务器确定,而跟踪叠代次数很可能是客户机方的责任,但是,可替代实施方案可以以可替代方式分配这些责任。在叠代变量被初始化之后,服务器(或如下参照图4所述的第三方提供器)向请求客户机发送(方块208)JavaScrip_代码片断。JavaScrip_代码片断是为执行特定工作而设计的一段JavaScrip_源代码。在本发明中,传送给客户机的代码片断(客户机方代码片断)一般被设置成向服务器请求一对信息包和进行包括(例如)启动定时器、计算时间、计算带宽等的其它带宽估计活动。客户机方代码片断的实现将在下面参照图3作更详细描述。

    当服务器将代码片断发送到客户机时,客户机浏览器,更具体地说,客户机浏览器的JavaScrip运行时环境执行代码片断。在一个实施例中,服务器可以将确定是否应该确定客户机-ISP带宽的能力嵌入这个代码片断中。如果要确定客户机-ISP带宽,代码片断让客户机生成对来自服务器的第一和第二信息包的请求。在所述的实施例中,这两个信息包都通过唯一的预定URL(即,很有把握地说,URL以前从未被请求过)标识。在本发明的背景下,唯一URL是所希望的,以保证在中间路由器或代理服务器的高速缓冲存储器中不会找到请求的对象。基于一个实施例的唯一URL是通过将唯一字符串附在预定对象名上生成的。当服务器接收到来自客户机的信息包请求时,所请求URL的格式将通知服务器为了估计带宽的目的正在请求URL。

    虽然希望在整个网络上发送唯一URL,但对于每个请求客户机来说,未必都拥有唯一信息包。每个客户机的唯一对象将需要大量的存储空间。为了在整个网络上发送请求,如图2所描绘的本发明使用唯一URL,但通过剥离(方块210)URL字符串的唯一部分,留下所有客户机公用的URL,保留服务器方的存储空间。因此,在服务器上唯一URL的巨大(可能无限)集合被映射成两段内容。

    一旦识别出对第一带宽估计信息包的请求,服务器然后可能选择等待对第二信息包的请求的接收,以便服务器可以保证两个信息包是背对背传送的。在本发明的背景下,背对背传输表明信息包对中的信息包的传输之间的间隔小于客户机浏览器可检测的最小时间间隔。这个最小值当前通常在大约10ms的数量级,为了保证信息包是背对背发送的,在大多数服务器应用中,这个时间足够了。

    在接收到对第二信息包的请求之后,将第一和第二信息包背对背地供应(方块212)给请求客户机。信息包可以由服务器150本身供应。在希望减少服务设备和客户机之间的跳段数的另一个实施例中,服务器将所请求信息包的服务委托给内容分配网络。如上面图1所述,CDN是有意处在诸如图1的ISP 110之类的ISP附近(就网络跳段而言)的文件高速缓冲存储器服务器的网络(譬如CDN 150)。

    在本发明的背景下CDN的使用有利于通过减少当信息包被发送给请求客户机时它们穿过的网络跳段的个数,提高估计带宽的可靠性。当特定ISP和特定服务器之间的地理距离大(例如,国外万维网服务器)时,这尤其正确。许多大型万维网服务器已经将CDN用作减少对所请求数据的访问次数,并且,也许更重要的是,防止当在短时间内生成大量请求时可能出现的过载状况的方法。

    在一个实施例中,使供应的第二信息包局限于防止网络将信息包划分成可能曲解带宽确定的多个信息包的大小。例如,在一个实施例中,第二信息包的大小被限制成正好等于一个最小传输单位(MTU)减去各种首标的大小。例如,IP首标和TCP首标一起需要40个字节。服务器选择第二信息包的内容大小,使得内容大小+HTTP首标大小+TCP首标大小+IP首标大小不超过一个MTU。正如其名称所暗示的那样,MTU是保证作为单个信息包发送的最大数据量。大于MTU的任何信息包可以被中间路由器碎化。换句话说,MTU是保证不会被因特网路由器碎化的发送的最小信息包。因特网上的MTU是576个字节。所有网络硬件都必须遵守意思是不允许网络上任何设备将MTU划分成多个更小信息包的MTU概念。在一种优先实施方案中,用指令发送第一和第二HTTP对象(即,第一和第二信息包),以便中间高速缓冲存储器不高速缓存这些对象。但是,一些中间高速缓冲存储器可能不服从这些指令,高速缓存这些对象。但是,正如下面参照图3所述的那样,这样的不服从不影响本发明的带宽估算进程。

    在方块212中传送到信息包之后,服务器然后等待客户机方代码片断,以便根据接收第二信息包所要求的经过时间计算带宽。然后,将计算的带宽传送(方块241)到服务器加以存储。

    将每次叠代之后客户机将其加1的叠代变量N与预定阈值相比较(方块218)。进行另一次叠代过程,直到N=MAX。叠代次数的用意是在不消耗过多时间和资源的同时保证可靠值。并非很确凿的证据表明,在大多数应用中,4次叠代进程足以精度很高地估计客户机的最大可得带宽。在完成了其中每次叠代产生相应计算带宽值、指定叠代次数的进程之后,服务器选择(方块220)选择计算阈值的最大值作为带宽值。可替代地,客户机可以存储估计带宽值中的每一个,选择最大值,和将那个单一值发送到服务器。使用最大值是因为,当假设客户机上的信息包处理及时发生时(即,当假设客户机方没有将第一信息包的处理延迟这样长的时间间隔,以致于第二信息包的估计传输时间被人为缩短,从而人为造成高带宽估计时),对于测量的带宽来说,理论上不可能超过实现物理带宽。在这种假设下,估计带宽不能超过链路的物理带宽,以便任何估计带宽必须小于等于最大可得带宽。

    现在参照图3,该流程图例示了在前面图2的讨论中涉及的客户机方代码片断300的实施例。在所描述的实施例中,代码片断300创建唯一ID(方块302)。唯一ID可以以把握性很高地保证没有其它客户机将生成同一唯一ID(从而使ID不是唯一的)的任何方式生成。例如,在一个实施例中,唯一性是通过连接从日期指示符的时间中推导出的数字字符串和随机数实现的。如上所述,唯一ID用作保证出现在与ISP连接的任何代理服务器或路由器中的任何高速缓冲存储器不能为信息包对中的每个信息包服务的机制。

    在创建了唯一ID之后,客户机方代码片断创建(方块304)第一和第二对象。在优选实施例中,创建的对象是图像对象。图像对象一般用于访问图形图像。但是,在本发明的背景下,选择图像对象是因为,它们支持的方法可用在确定带宽确定中。具体地说,所有JavaScrip_图像对象都支持当装载图像对象时调用的OnLoad事件管理器。在通过标记两个不同信息包被完全装载的时间进行操作的本发明中,这个事件管理器是非常有用的。图像对象还支持指示在图像装载尝试期间是否遇到错误的OnError事件管理器。还应该注意到,JavaScrip图像对象不需要被显示在浏览器屏幕上,因此,取决于实施方案,最终用户可能看不见。

    赋予创建的第一和第二图像对象两者以附有唯一ID、包括与相应图像对象有关的“友好”名称(例如,ImageObjectOne和ImageObjectTwo)的名称。将同一唯一ID用于信息包对中的两个信息包有利于使服务器能够确定两个请求来自同一客户机。在这种实施方案中,服务器可以一直等待到具有相同ID的两个请求都被得到接收,然后,背对背地发送信息包。

    然后,通过设置所创建对象的源(SRC)属性使图像对象“指向”(方块306)服务器。当SRC属性得到定义时,这些对象将启动从服务器方检索命名对象。在第一和第二对象被检索出现之前,客户机代码片断激活(方块308)对象的onload和onerror事件。当接收到一个信息包之后事件装载器最终被触发(方块310)时,记录该时间(方块312)。记录的时间代表带宽估计时序开始的时刻。因此,接收作为图像对象的第一信息包是客户机可以确定在客户机上什么时候开始接收到第二信息包的方法。

    在方块312中记录了第一时间之后,代码片断监视(方块314)整个第二图像对象的接收。当第二图像对象被完全装载(方块316)时,代码片断计算经过的时间,并且,借助于第二信息包大小的知识,确定带宽的计算值(方块318)。在一个实施例中,第二对象的大小被嵌入代码片断中。然后,将叠代变量N加1(方块319)和使计算的带宽值返回到(方块320)服务器。在一个实施例中,这可以通过在检索带宽值作为一个参数的服务器上使对象指向URL来实现。在另一个实施例中,客户机只通知服务器两个信息包之间的时间延迟,以及用在确定中的唯一ID。服务器利用时间延迟和第二信息包的大小(通过唯一ID跟踪)确定带宽。如果由于HTTP错误而没有一个对象被装载(使onerror管理器被触发),JavaScrip代码片断可以要求客户机重复或中止实验。代码片断可以限制客户机的重复次数。最后,每个会话,或一旦一个时间间隔已到(例如,每4个小时)可以一次完成整个带宽估计。在典型实施例中,由于相关的开销,不对每页进行确定。服务器提供的代码片断使客户机根据服务器要求的条件重复实验。服务器也可以要求只有其整个客户机基体的一个随机集合进行带宽估计。现在参照图4,图4例示了将带宽估计功能提供给服务器的方法的流程图。在所描绘的实施例中,当受到服务器调用时,标号16所代表的第三方提供器负责将代码片断的代码传送给适当的客户机。在所描绘的实施例中,服务器150通过将请求发送到提供器160来响应客户机请求。提供器160接收(方块402)该请求和将代码片断发送到客户机(方块404)。在这种情况下,提供器160(或CDN 120)将信息包供应(方块406)回给客户机和从客户机接收(方块408)确定的带宽(在适当的叠代次数之后)。然后,提供器160将带宽传送回到请求服务器。通过应用第三方提供器,使服务器从将客户机方代码片断保留成实现带宽确定所需的服务器方脚本的要求中解放出来,而是可以集中在要根据确定的带宽作出的决定上。第三方服务器可以选择连续地传送带宽信息,或以集中的形式向服务器160报告操作符。另外,提供器160可以被实现成当估计的带宽与一个或多个其它服务器统计数据不一致时,将纠正动作通知发送到服务器。举一个例子来说,除了跟踪客户机方带宽限制之外,提供器160可以跟踪服务器方响应时间。监视服务器响应时间的示范性方法和系统公开在名称为Measuring Response Time for a Computer Accessing Information From aNetwork(申请号:09/736,348,申请日期:2000年12月14日)和Verificationof Service Level Agreement Contracts(申请号:09/736,537,申请日期:2000年12月14日)的专利申请中,特此引用,以供参考。

    对于本领域的普通技术人员来说,显而易见,本发明关注的是为客户机-ISP链路经验地导出带宽确定的机制。不言而喻,在详细说明和附图中显示和描述的本发明的形式只被当作当前优选的例子。我们的意思是,所附的权利要求书被广义地解释为包括所公开的优选实施例的所有变型。

估计客户机和服务器间连接的带宽的方法、设备和服务器.pdf_第1页
第1页 / 共19页
估计客户机和服务器间连接的带宽的方法、设备和服务器.pdf_第2页
第2页 / 共19页
估计客户机和服务器间连接的带宽的方法、设备和服务器.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《估计客户机和服务器间连接的带宽的方法、设备和服务器.pdf》由会员分享,可在线阅读,更多相关《估计客户机和服务器间连接的带宽的方法、设备和服务器.pdf(19页珍藏版)》请在专利查询网上搜索。

估计客户机和服务器之间的网络连接的带宽的方法、程序、设备和服务器包括请求服务器将第一和第二对象背对背地供应给客户机。第一和第二对象被发送到客户机。客户机确定传送第一和第二对象之间的时间间隔。该时间间隔与有关第二对象大小的信息一起用于估计带宽。对第一和第二对象的请求最好利用在网络上唯一的URL标识第一和第二对象,以防止该请求受到文件高速缓冲存储器服务。第一和第二对象可以从在结构上与客户机ISP接近的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1