用于选择数据提供者的系统和方法

文档序号:7605553阅读:113来源:国知局
专利名称:用于选择数据提供者的系统和方法
技术领域
本发明涉及在数据传递之前或者在数据传递期间识别用于传递数据的合适信道。本发明的实施例可应用于以下情况,即用户希望在以诸如xDSL、无线LAN、手机等多种方式中的任一种方式下载多媒体内容之前或者期间通过例如视频流传输(Video Streaming)的方式接收诸如视频数据的数据。
背景技术
在网络(诸如互联网)的许多用途中,近来已经十分普及的一类用途是使用网络交换诸如视频或音频数据或者其他媒体内容的数据。日益增长的,在互联网上可大量得到各种多媒体内容(例如视频,音频)。该多媒体内容可以在宽带或者窄带的多种IP网络上被流传输。更普遍地,可以通过数据流的形式或者更一般的下载形式实现数据发布。这种发布可以在对等网络环境中进行,或者从商业多媒体提供服务器进行,并且可以使用诸如xDSL、无线LAN、电缆、手机(GPRS或者3G)等多种方式来执行。应当注意xDSL涵盖很多不同种类的DSL(“数字用户线”),如ADSL(“非对称”)、HDSL(“高比特率”)和RADSL(“速率自适应”)。数字用户线技术是用于通过普通电话线向家庭和小企业提供高带宽信息的公知技术。
不幸的是,由于诸如分组丢失、分组延迟、抖动、服务器死机的因素和其他因素等,有时候从互联网接收数据可能会有问题,这严重地影响对时间要求很高的应用,诸如视频流传输。经常出现,用户试图连接到服务器,但发现该服务器要么死机要么非常忙,从而拒绝视频内容。如果用户设法连接到服务器并且视频内容终于被流传输,那么由于诸如分组延迟的上述因素,质量可能很差。所有这些因素严重地影响最终用户(end-user)的体验,尤其对于通过互联网接收流传输视频或者音频数据而言,从而这些因素延迟了这些种应用的进行。
对于希望下载大文件或者其他项目,或者可能希望接收涉及一个或者一些特殊文件的流传输数据的个体用户而言,可能存在大量不同的数据提供者,诸如可提供所需数据的商业服务器或者对等体。由于用户可以通过多种方式连接到网络并且数据可能来源于多种类型的数据提供者,以及其他因素,该个体用户可能遇到这样的问题,即不知道可用的数据提供者(如视频服务器)“池”中的哪一个数据提供者将能通过可靠的连接提供视频内容或者其他的这种数据。可能由于分组丢失、抖动、分组延迟或者其他因素而引起低可靠性,所有这些因素降低了实现高质量下载或者数据流传输的可能性。
为了给出解决该问题有多么重要的概念,下面提出一些“公知的”应用1)类似“Napster”(已经被关闭的一个音乐文件共享网站)和“Kazaa”(www.kazaa.com)的对等网络应用。
2)视频流传输内容提供者,其中在网络某处设置了很多视频服务器。
关于本发明尤其适用的视频服务器,对该问题的通常解决方法是在没有预先获知哪个服务器将提供最可靠连接的情况下选取一个默认的视频服务器,这依赖于终端用户位于网络的何处,然而已经存在一些以某种方式选择可能更快或者更好的服务器的技术。
现有技术下面给出一些相关论文的概述“Measurement study of peer-to-peer file sharing system”作者SaroiuS,Gummadi PK,Gribble SD(Dept.of Comput.Sci.&Eng.,WashingtonUniv.,Seattle,WA,USA),Multimedia Computing and Networking 2002,23-24 Jan.2002,SPIE-Int.Soc.Opt.Eng,Proceedings of the SPIE-TheInternational Society for Optical Engineering,vol.4673 pp 156-70概述诸如Gnutella和Napster的对等网络多媒体文件共享应用的流行导致最近投入对等网络结构中的研究活动快速增长。该论文包括两个流行的对等文件共享系统(即Napster和Gnutella)的详细指标(measurement)研究,尤其寻求对于参与这两个系统的最终用户主机的群体特征的描述。该特征描述包括普遍存在于这些主机和互联网之间的瓶颈带宽、向这些主机发送分组的IP-级时延(latency)、这些主机与系统进行连接以及与系统断开连接的频繁程度、主机共享和下载了多少文件、主机之间的协作程度,以及这些特征之间的几个相关性。
“Handling multimedia objects in peer-to-peer networks”作者Kalogeraki V(HP Labs.,Palo Alto,CA,USA),Delis A,Gunopulos D,Proceedings CCGRID 2002.2nd IEEE/ACM International Symposium onCluster Computing and the Grid,21-24 May 2002,IEEE Comput.Soc pp438-9概述本论文试图解释对等(P2P)网络中的视频服务的设备如何做到不仅能向当今所使用的大多数专有结构提供用于发送视频服务的可行方案,而且能以可靠和可伸缩的方式完成。在资源的自组织P2P网络的解决方法的基础上,提出一种新的结构,其可以支持电影和/或视频片断的存储和获取。所提出的结构进行开发以实现可得到与网络的高性能连接、在对等体中使用专用的和部分的索引、使得节点“知道”在它们自身附近的内容、复制对象并对常用项目进行高速缓存,以及只要可行就完全连通服务器。该结构声称使用有效的用于检索多媒体对象的索引机制,保证考虑到服务器故障的连续操作,并且以对于用户的最小限度的中断使得可以进行新服务器的透明普及以及所提供的服务器和/或网络资源的发展。实现这种P2P基本结构的一个要点在于期望通过时延低且带宽高的网络连接核心对等体(或者服务器),其中该网络能够有效地处理和发送大量的多媒体数据。还期望最终用户应当具有与对象服务器的充分连接。
“Peer-to-peer streaming media delivery”作者Stolarz D,ProceedingsFirst International Conference on Peer-to-Peer Computing,27-29 Aug.2001,IEEE Comput.Soc pp 48-52
概述不管对等被如何定义,它被称为是用于以新方式处理事情的有效口号。流媒体传输尤其易于受对等结构方法的影响。对等系统已经显示出降低了带宽成本并增加了互联网上的请求式流传输内容的可扩展性。可以使用类似的技术来创建“虚拟组播”,该“虚拟组播”是网络层组播的有效子网广播特征的应用层实现。
“On peer-to-peer media streaming”作者Dongyan Xu,Hefeeda M,Hambrusch S,Bhargava B(Dept.of Comput.Sci.,Purdue Univ.,WestLafayette,IN,USA),Proceedings 22nd International Conference onDistributed Computing Systems,2-5 July 2002,IEEE Comput.Soc pp 363-71概述在本论文中研究了对等媒体流传输系统,该系统具有以下特征(1)它的流传输容量动态增长;(2)对等体不表现出类似服务器的行为;(3)对等体在带宽贡献方面各异;以及(4)每个流传输会话可能涉及多个供应对等体(supplying peers)。基于这些特征,研究了两个问题(1)如何在一个流传输会话中将媒体数据分配给多个供应对等体以及(2)如何快速放大系统的全部流传输容量。对第一个问题提出的解决方案是最优媒体数据分配算法(optimal media data assignment algorithm)OTSp2p,其产生了在随后流传输会话中的最小缓冲延迟。对第二个问题的解决方案是分布式区分接纳控制协议(differentiated admission control protocol)DACp2p。通过在具有不同输出带宽的请求对等体之间进行区分,DACp2p据称实现了快速系统容量放大;在接纳率、等待时间和缓冲延迟方面有利于所有请求对等体;并且产生激励以使对等体提供它们真实可用的输出带宽。
现在参考背景专利文件,在US 6,112,239(Kenner等人)中公开了一种用于服务器侧的数据传输优化的系统。在US 6,502,125和US2003/0145007(两篇也是Kenner等人)中公开了类似的系统。在这些系统中,为了进行优化,为用户提供必须从他们自己的机器执行的软件。类似地,在US 6,477,522(Young)中,公开了一种对从互联网下载文件进行优化的系统,其中Java程序(applet)截取对于该文件的请求,并且确定提供该文件的最佳服务器。同样,必需将软件安装在用户的机器并且从该用户的机器执行。
关于在经由互联网连接的用户之间进行数字电子游戏的领域,US6,304,902(Black等人)公开了一种方法,用于确保几个游戏玩家与任何一个或者一些必需的服务器之间的数据通信链接质量对于这种游戏是足够的。玩游戏通常涉及在多个玩家与一个共用服务器之间的双向信息交换,该服务器可从多个可能的服务器中选出。一个服务器用作中介(matchmaker),并且从多个可能的服务器中选择几个服务器,并且从这些当中选择一个作为所请求游戏的服务器。要注意,考虑到这种游戏系统的本质,目标是使得几个用户可以同时连接到相同的服务器,因此以这样的方式选出服务器,即,便于使该服务器被几个可能试图同时或者接踵而至的与其连接用户的使用。

发明内容
与以上不同,本发明的实施例旨在为个体用户识别出“最快的”、“最近的”或者否则最合适的服务器,或者最快的、最好的或者最可靠的连接,从而可以由该个体用户建立到服务器的连接,该服务器不仅适合于该用户请求的多媒体内容下载或者其他这种数据交换,而且该服务器最不可能由于其还向大量其他用户提供数据而导致变慢或者过载。根据本发明的优选实施例,无需用户在他或她自己的机器上安装或者执行特定软件即可进行该识别处理。
根据本发明,提供了一种用于从多个数据提供者中选择一个优选的数据提供者的系统,该系统包括用于从客户机接收数据请求的装置;用于从所述客户机接收客户机标识数据的装置;用于识别能向所述客户机提供数据的多个数据提供者的装置;用于向所述数据提供者提供所述客户机标识数据的装置;用于指示所述数据提供者执行以下步骤的装置(i)向所述客户机发送测试信号;
(ii)从所述客户机接收返回信号;(iii)获取在发送所述测试信号和接收所述返回信号之间用时的测量结果;(iv)使所述系统可得到表示所述用时的信号;以及(v)使所述系统可得到表示所述数据提供者的剩余容量的信号;用于从所述数据提供者接收用时信号和剩余容量信号的装置;用于基于所述信号选择优选数据提供者的装置;以及用于向所述客户机提供涉及所述优选数据提供者身份的信息的装置。
根据本发明,还提供一种用于从多个数据提供者中选择优选数据提供者的方法,该方法包括从客户机接收数据请求;从所述客户机接收客户机标识数据;识别能向所述客户机提供数据的多个数据提供者;向所述数据提供者提供所述客户机标识数据;指示所述数据提供者执行以下步骤(i)向所述客户机发送测试信号;(ii)从所述客户机接收返回信号;(iii)获取在发送所述测试信号和接收所述返回信号之间用时的测量结果;(iv)使所述系统可得到表示所述用时的信号;以及(v)使所述系统可得到表示所述数据提供者的剩余容量的信号;从所述数据提供者接收所述用时信号和所述剩余容量信号;基于所述信号选择优选数据提供者;以及向所述客户机提供涉及所述优选数据提供者身份的信息。
通过使用根据本发明实施例的系统和方法,当用户希望试图访问视频内容或者其他数据时,可以通过进行小的测试处理来解决以上提出的问题,该测试处理对于最终用户可能完全不可见,并且不需要在用户的机器上安装或者执行任何特殊软件,从而从多个可用视频服务器或者其他数据提供者中确定对特定用户而言最可靠、最快、最不拥塞,或者否则最合适的一个。通过这种方法,用户可以通过连接到“最可靠的”一个视频服务器接收可能最佳的数据下载或者数据流,由此改善了用户在多媒体和其他这种应用方面的体验。
根据优选实施例,可以将所述系统设置为从用户接收对于特定项目的请求,诸如特定视频文件。然后可以进行搜索来识别能够提供所请求的特定项目的数据提供者,这些数据提供者可能是事先选出的一组数据提供者,或者是该系统的订户,或者可能是整个互联网或者其他这种网络的订户。在这种搜索之后,为了仅从这些潜在的数据提供者中进行选择,系统可以进行选择处理。另选地,无需要求用户指定特定项目以选择“优选”数据提供者。然而在这种情况下,用户可能发现,一旦选出了优选数据提供者,他或她自己将受限于该优选数据提供者可以提供的项目的“目录”,该目录可能包括或不包括用户希望请求的特定项目。
在根据本发明的优选实施例的系统中,用于指示所述数据提供者的装置是远离客户机的装置,如中央服务器。“远离”一词并不一定意味着该指示装置和客户机在地理上相距很远,而仅表示客户机和该指示装置各自的功能不是通过客户机机器上的共用处理装置来完成。将明了,不管客户机和服务器的各自物理位置,由非客户机的其他东西执行该“指示”,由此不需要将软件下载到客户机器。
可以将根据本发明实施例的系统设置为仅从剩余容量在预定阈值以上的数据提供者中选择优选数据提供者,有效地使剩余容量低于该预定阈值的任何数据提供者丧失资格。另选地,可以做出最终选择以在由两类信号(即,用时和剩余容量)各自代表的因素之间获得最佳平衡,而该决定不受限于特定的阈值。
根据优选实施例,代表数据提供者被指示而提供的剩余容量的信号可以是表示它们剩余带宽的信号。
在根据优选实施例的系统中,为了提供涉及优选数据提供者身份的信息,可以将该系统设置在网站上提供该信息,无论何时执行了选择处理并且确定了新的“优选”数据提供者,都可以更新该信息。可以以优选数据提供者的统一资源定位符(URL)的形式提供该信息。然而可以以其他方式提供该信息,如向用户发送包含必要信息的电子邮件或者其他这种消息。
根据本发明实施例的系统可以选择多于一个的“优选”数据提供者。在这种情况下,系统可以基于多个优选数据提供者在各测试中的性能的顺序(即,最好、次好等等),以表示排名的列表的形式向用户提供涉及这些数据提供者的信息,或者另选地,可以向用户标识出性能在预定质量阈值之上的任何数据提供者。
在本发明的优选实施例的描述中将参照以下技术RMI、JAVA、Servlets、HTML。关于这些技术的信息是公众可得到的,但是出于避免混淆术语、简写和首字母缩写的可能性的目的,在此给出简要的概述。
RMI(“远程方法调用”)是JAVA开发包(JDK)1.1中提供的一种新的应用编程接口(API),它允许在不同的JAVA虚拟机(JVM)之间消息传递,即使这些虚拟机被网络分开。
“JAVA”是一种程序语言,特别为因特网的分布式环境中的使用而设计。可以用它生成可在单机上运行或者可分布在网络中的服务器和客户机中的完整应用程序。还可以用它创建小的应用模块或“applet”,用作网页的一部分。Applet使得网页用户可以与该网页交互。
“Servlet”可以被定义为在服务器上运行的小程序。该术语通常指在Web服务器环境内运行的Java applet。这与在Web浏览器环境内运行的Java applet类似。
HTML(“超文本标记语言”)是插入打算在万维网(World Wide Web)浏览器页面上显示的文件中的一组符号或者代码。该“标记”告诉网页浏览器如何为用户显示网页的文字和图像。


根据以下仅以示例提出的本发明实施例的说明,并参照附图,本发明的进一步的特征和优点将变得明了,在附图中相同的标记指相同的部分,其中
图1是示出包括根据本发明实施例的系统的网络组成部分的图示。
图2示出“数据提供者”的剩余“上行链路”容量的计算。
具体实施例方式
图1中示出了包括根据本发明实施例的系统的网络。该图示出在确定优选或者“最佳”视频服务器的处理中可能出现的网络组件之间的交互。该系统的一部分是用于视频流传输的典型结构(客户机、Web服务器、视频服务器),并且它还包括JAVA RMI运行,该JAVA RMI运行使得可以进行测试以确定对于特定最终用户而言哪个“视频服务器”最适合视频流传输。下面将具体说明该处理。图中的步骤表示事件的优选顺序。系统的组件可以总结如下客户机“客户机”10一般是指“最终用户的”个人计算机(PC),它运行网页浏览器和“视频播放器”或者类似插件程序或应用程序。然而要注意,客户机可能是诸如3G(“第三代”)移动电话的装置,该装置例如使用WAP(无线应用协议)或者类似的网页浏览协议与互联网进行交互。
中央服务器“中央服务器”20一般是指诸如PC的计算机终端,包括运行Web服务器软件的Web服务器22。从而中央服务器20可以以网页的形式向用户提供或者提出信息,用户可以从网页中选择视频片断,例如,该网页包含到视频流传输服务器站点的链接。中央服务器可以运行“Servlet”(JAVA)软件24或者“ASP”(微软)软件,负责生成动态网页并与RMI服务器通信,并且最后,中央服务器运行JAVA RMI客户机程序,以与多个“视频流传输服务器”中的任何一个中所安装的“RMI服务器程序”通信。
从而中央服务器20最初可以向用户提供动态网页。在中央服务器以任何“搜索”模式运行之前,它可以包括到一个或者更多个“默认”服务器的链接,在“搜索”模式中它旨在发现“最佳的”(即最快的,最近的或者否则最合适的)一个或者一些服务器。在任何时间,用户可以选择一条内容或者发送对于一条内容的请求,如果这发生在完成任何搜索之前,那么可以选择一个默认的流传输服务器来发送该内容,或者可以提供到一个或者更多个服务器的链接。
视频流传输服务器示出了多个“多媒体服务器”或者“视频流传输服务器”30(在本例中,示出了3个这样的服务器,标识为“C1”,“C2”和“C3”),每个服务器包括或者能够访问所存储的压缩或者不压缩的诸如“视频内容”的“多媒体内容”35;“RMI服务器程序”36,其与中央服务器20中的“RMI客户机程序”26通信;以及能够向诸如客户机10的最终用户提供“视频流传输内容”的合适软件。如稍后将说明的,还提供用于进行“Ping”测试的装置,并且该装置用于设置“往返响应时间”(稍后将具体说明)的值,该值可能是一个平均值,并且把这个值提供给中央服务器。
如稍后将说明的,为了向终端用户发送视频流传输内容,所有这些组件可以进行交互。
下面说明确定“最佳”(或者至少是“优选”)服务器的处理。应理解,虽然“最佳”是一个主观用语,但是在数据传递中的两个非常重要的因素是速度和可靠性。涉及这些因素之中的任何一个的改进可被视为是整个下载质量的改进。该处理存在两个主要方面,如下称为(a)“时延(latency)”测试;和(b)“剩余带宽”测试。
这些测试可以以任一顺序一个接一个地进行,或者同时进行。下面的章节将对它们进行说明。
a)时延测试步骤1(图1中所示)“客户机”或者“用户”10通过“中央”服务器20提交对于连接到“多媒体服务器”的请求,该“中央”服务器20负责多媒体服务器的整个“搜索”处理的协调。该中央服务器包括能够获取“客户机”或者“用户”10的IP地址的“Servlet”24,从而它可以使用例如“JAVA RMI”技术将该IP地址传播给多个多媒体服务器30。用户可以请求特殊数据或者特殊项目,例如特定的视频文件,在这种情况下,中央服务器可以进行对于那些能够提供该数据、项目或者文件的视频服务器的搜索,随后继续从那些被发现能够提供该数据、项目或者文件的服务器中确定“最佳”服务器的处理。另选地,用户的请求可能一般是对于数据的,在这种情况下,中央服务器可以预先或者否则进行从一组服务器中确定“最佳”服务器的处理,在该情况下,只要已经确立了优选服务器的身份,例如只要该服务器已经向用户提供了可用项目的“库”,就可以使用户选择从该优选服务器接收什么项目。
步骤2(图1中所示)如上所述,从“客户机”或者“用户”机器10检索到的IP地址从中央服务器20的“RMI客户机程序”26传播到多媒体服务器30的“RMI服务器程序”36。
步骤3(图1中所示)位于“视频流传输服务器”30中的每个“RMI服务器程序”36将检索该IP地址,并且将使用该IP地址通过“PING”“用户”机器10来发送测试信号。“Ping”是指应用软件“分组互联网Gopher”,它可以用来运行从“视频流传输服务器”机器向“客户机”机器发送互联网控制消息协议(ICMP)分组的处理,并且通过这种方法,可以测量分组从该“视频流传输服务器”机器30传播到“客户机”机器10并且返回到该视频流传输服务器所用的时间。通常,成功收回的分组越多(如果发送了多于一个分组)并且分组从特定“视频流传输服务器”机器传播到“客户机”机器10并且返回到该视频流传输服务器所用的时间越少,那么如果终端用户被连接到该“视频流传输服务器”,则该终端用户可能获得的视频流性能就越好。在这点上,应当注意如果在对一些分组进行“Ping”处理之后收到“请求超时响应”消息,则该分组可以被视为“不成功”。在这种情况下,该分组被视为“丢失”并且可以给出默认值(通常为1000ms),从而影响最终计算出的“平均”值。
尽管使用上述“Ping”测试特别有利,尤其是因为不需要在用户机器中安装额外的软件,但是仍存在测量时延的另选方案。这些另选方案包括已知的网络工具,如适合除了ICMP之外的其他协议(如UDP,“用户数据报协议”)的“Traceroute”以及“Ping”的等同物。
步骤4(图1中所示)在完成了每个机器中的“Pinging”处理之后,计算出一个平均值,并且再次使用RMI将该值返回给“中央”服务器。从而,将在“RMI客户机”中形成具有“平均”响应时间值的表,如表1所示。根据所有这些值,将选出最小的一个(即,本例中的服务器C1)作为优选的或者最合适的“视频流传输服务器”(或者“最佳”服务器)。

表1该表示出通过RMI技术从所有“视频流传输服务器”获得的平均值。“RMI客户机程序”可以选出最小值(即,服务器C1)。
步骤5(图1中所示)然后“Servlet”从“RMI客户机程序”找出具有最小“平均响应时间”的“视频流传输服务器”的IP地址。在以上示例中它是具有IP地址“132.146.107.61”的“C1”。可以更新包含与该新IP地址的视频链接的网页。通过这种方法,“中央”服务器通过JAVA“Servlet”技术将客户机定向到该“多媒体”服务器。
由此结束时延测试。如上所述的整个处理对于最终用户是不可见的,该处理可以仅用数秒来完成,并且可以仅在该测试的基础上进行选择来选出一个服务器,基于此,用户可以从一“优选的”“视频流传输服务器”获取视频流内容。
在例如由“视频服务器”的管理员设置的一段特定时间之后可以重复上述处理,并且每一次都可以以新的优选“视频流传输服务器”的IP地址动态刷新网页。
b)剩余带宽测试虽然上述系统能够只在“时延测试”结果的基础上确定优选服务器,但是根据本发明实施例的系统还能够进行将被称为“剩余带宽测试”的其他测试。这使得如果服务器目前“拥塞”,则它将丧失被选为优选服务器的“资格”,服务器“拥塞”是由于正在被非常多的其他用户使用,或者由于它很高比例的带宽已经被分配给其他任务。图2示出对于一段特定时间,在“服务器”中的剩余“上行链路”容量的计算。
步骤3a(图1中未示出)优选的而非必要的,在“时延测试”的步骤3的同时,每个多媒体服务器30的“RMI服务器程序”36可以从“视频流传输软件”获得值U,即已经连接到该多媒体服务器的其他用户的数量,以及对于每一个用户的所请求片段的“比特率”B。参照图2,示出U个现存用户各自的比特率,虽然现存用户的比特率不必相同,但是为了简单起见,设为220千比特每秒。可以使用“插件”库,如来自“微软”的“Windows Media SDK”工具或者来自其他公司的类似工具(RealVideo,QuickTime等等),利用程序找到这些信息。
以下公式将给出在从“RMI服务器程序”发出请求的时候消耗的总带宽Ntotal=Bi,其中i=0,1,2,3……U(F.1)其中Ntotal是发生来自“RMI服务器程序”请求的时候,所请求“视频流”所消耗的总带宽。
Bi是对于第i个用户而言,所请求的“视频片段”的编码“比特率”。
U是连接到“视频流传输服务器”的“用户”的数量。
同时,“RMI服务器程序”可以确定由网络连接所限的“视频流传输服务器”的最大可用“上游”带宽。该带宽可以通过当“管理员”安装整个软件时来手动设置,或者也可以根据本地机上运行的确定最大“上行链路”连接带宽的处理而自动获得。
从而Xmax是最大可用“上游”带宽。
最后,以下公式将给出可用“上行链路”带宽的“百分比”A=[(Xmax-Ntotal)/Xmax]*100% (F.2)其中A是剩余“上游”带宽的百分比。
通过这种方法,我们可以设置例如10-20%的“阈值”,从而如果A在该阈值以下,那么我们可以认为该“视频流传输服务器”几乎拥塞,从而它将不会被包括在最终的“最佳视频流传输服务器”决定中(步骤4)。
下面给出一个示例来说明以上公式例如,我们设想以下情况,在“视频流传输服务器”中存在两个编码的片段第一个文件称为“视频文件1”并具有220kbps的编码比特率。第二个称为“视频文件2”并具有140kbps的编码比特率。已经有10个其他“用户”连接到该“视频流传输服务器”,其中7个在观看“视频文件1”而3个在观看“视频文件2”。最大可用带宽为X=10Mbps=10000Kbps。阈值被设置为20%。
根据公式(F.1),我们得到用户数量U=107个用户在观看“视频文件1”B1=220,B2=220,B3=220,B4=220,B5=220,B6=220,B7=2203个用户在观看“视频文件2”B8=140,B9=140,B10=140。
于是,消耗的总带宽为N=B1+B2+B3+B4+B5+B6+B7+B8+B9+B10=220+220+220+220+220+220+220+140+140+140=1960NTOTAL=1960kbps如上所述,最大可用带宽X=10000kbps根据公式(F.2)A=[(X-N)/X]*100%=[(10000-1960)/10000]*100%=80.4%从而,A=80.4%结论剩余的可用“上行链路”带宽为80.4%,高于阈值20%。因此该服务器能够接受对于更多“视频流”的请求,并且从步骤3得到的该服务器的“平均响应时间”将被包括在最终的“最佳视频流传输服务器”判决中。
应当注意存在以下计算“剩余容量”的另选方法。可以在服务器或者其他这种数据提供者上连续运行能够测量在一段时间发送的分组(TCP/UDP)从而能够测量“平均上行链路容量”的程序。这种程序广泛可得,并且会给出与数据提供者来往的通信量的估计。这种处理比上述更复杂,但是能够提供瞬间平均剩余带宽的更精确的测量,并且还可以不仅测量任何“多媒体分组”,而且测量任何其他业务量(TCP确认消息、开销分组、来自其他网络应用程序的业务量等)。这些方法一般在“数据提供者”上连续运行,上面详细描述的这个方法只有在需要“带宽测量”的时候才需要启动。
步骤4a(图1中未示出)一旦设置了以上的值,每个视频流传输服务器30将可用“上行链路”带宽的百分比返回给中央服务器20的RMI客户机程序26。一旦与每个机器相关的“Pinging”处理(“时延测试”的步骤3)也已完成,可以在“RMI客户机”中形成具有平均响应时间值和百分比值的表(见下面的表2)。如果任何视频流传输服务器的可用“上行链路”带宽的百分比低于预定的“阈值”,那么该服务器可能丧失资格而不管其响应时间值。从那些没有丧失资格的服务器中,选出具有最小平均响应时间值的一个作为最合适(或“最佳”)的视频流传输服务器。

表2该表示出使用RMI技术从所有“视频流传输服务器”获得的“平均响应时间”值,以及可用上行链路带宽值的百分比。“RMI客户机程序”可以选取没有因为具有低于预定阈值20%的百分比值而丧失资格的、具有最小响应时间值的服务器。注意因为第n个服务器(Cn)看起来“拥塞”,因此虽然它的“平均响应时间”值很低,该服务器还是从最终决定中排除。
步骤5(图1中所示)“Servlet”将从“RMI客户机程序”中获取优选视频流传输服务器的IP地址,并且它将更新包含与该新IP地址的视频链接的网页。通过这种方法,“中央”服务器可通过JAVA“Servlet”技术将客户机重定向到该“多媒体”服务器。
由此测试结束,依靠该测试用户将能够从“最佳”视频流传输服务器接收视频流传输内容。
可以对于一段固定时间(可由“视频服务器”管理员设置)重复该处理,并且每次可以用新的“视频流传输服务器IP地址”动态刷新该网页。
特殊情况的研究下面,我们简要概述可能中断以上处理的一些特殊情况RMI服务器死机在这种情况下,RMI客户机不能建立与特定视频流传输服务器的RMI服务器程序的通信。由此该RMI客户机可能认为该“服务器”现在不运行。于是,在哪个“视频流传输服务器”为“最佳”的决定中将不考虑该“服务器”。
用户/客户机在防火墙的后面在这种特殊情况下,有可能客户机器阻挡了所有的“Ping”分组,结果所有服务器收到“请求超时响应”。在这种情况下,可以向最终用户提供一个默认的“视频流传输服务器”并且将该事件通知该最终用户(即,他在防火墙的后面并且他应当使ICMP分组的阻挡无效)。另选地,可以自动开始其他处理来解决这种情况。
“视频流传输服务器”死机在这种情况下,RMI服务器可能检查视频流传输软件是否工作,并且可能通知“RMI客户机”是否或者何时该“视频流传输服务器”准备接受连接。另选地,在步骤4中,可以将该“服务器”从确定哪个“视频流传输服务器”为“最佳”的处理中排除。
权利要求
1.一种用于从多个数据提供者中选择优选数据提供者的系统,该系统包括用于从客户机接收数据请求的装置;用于从所述客户机接收客户机标识数据的装置;用于识别能向所述客户机提供数据的多个数据提供者的装置;用于向所述数据提供者提供所述客户机标识数据的装置;用于指示所述数据提供者执行以下步骤的装置(i)向所述客户机发送测试信号;(ii)从所述客户机接收返回信号;(iii)获取在发送所述测试信号和接收所述返回信号之间用时的测量结果;(iv)使所述系统可得到表示所述用时的信号;以及(v)使所述系统可得到表示所述数据提供者的剩余容量的信号;用于从所述数据提供者接收用时信号和剩余容量信号的装置;用于基于所述信号选择优选数据提供者的装置;以及用于向所述客户机提供涉及所述优选数据提供者身份的信息的装置。
2.根据权利要求1所述的系统,其中所述用于接收数据请求的装置包括接收对于一个或更多个特定项目的请求的装置。
3.根据权利要求2所述的系统,其中所述用于识别数据提供者的装置包括用于搜索能够提供所请求的一个或更多个特定项目的数据提供者的装置。
4.根据以上权利要求中任何一项所述的系统,其中所述选择装置被设置为从剩余容量高于预定阈值的数据提供者中选择优选数据提供者。
5.根据以上权利要求中任何一项所述的系统,其中所述用于指示所述数据提供者的装置包括用于指示所述数据提供者以使所述系统可得到表示所述数据提供者的剩余带宽的信号的装置。
6.根据以上权利要求中任何一项所述的系统,其中所述用于指示所述数据提供者的装置是远离所述客户机的装置。
7.根据以上权利要求中任何一项所述的系统,其中所述用于提供涉及优选数据提供者身份的信息的装置被设置为在网站上提供所述信息。
8.根据以上权利要求中任何一项所述的系统,其中所述用于提供涉及优选数据提供者身份的信息的装置被设置提供所述优选数据提供者的统一资源定位符(URL)。
9.根据以上权利要求中任何一项所述的系统,包括能够按照预定准则选出多于一个优选数据提供者的装置,以及用于向所述客户机提供涉及每一个优选数据提供者身份的信息的装置。
10.一种用于从多个数据提供者中选择优选数据提供者的方法,该方法包括从客户机接收数据请求;从所述客户机接收客户机标识数据;识别能向所述客户机提供数据的多个数据提供者;向所述数据提供者提供所述客户机标识数据;指示所述数据提供者执行以下步骤(i)向所述客户机发送测试信号;(ii)从所述客户机接收返回信号;(iii)获取在发送所述测试信号和接收所述返回信号之间用时的测量结果;(iv)使所述系统可得到表示所述用时的信号;以及(v)使所述系统可得到表示所述数据提供者的剩余容量的信号;从所述数据提供者接收所述用时信号和所述剩余容量信号;基于所述信号选择优选数据提供者;以及向所述客户机提供涉及所述优选数据提供者身份的信息。
11.根据权利要求10所述的方法,其中所述接收数据请求的步骤包括接收对于一个或更多个特定项目的请求。
12.根据权利要求11所述的方法,其中所述用于识别数据提供者的步骤包括搜索能够提供所请求的一个或更多个特定项目的数据提供者。
13.根据权利要求10至12中任何一项所述的方法,其中所述选择优选数据提供者的步骤包括从剩余容量高于预定阈值的数据提供者中选择优选数据提供者。
14.根据权利要求10至13中任何一项所述的方法,其中所述指示所述数据提供者的步骤包括指示所述数据提供者以使系统可得到表示所述数据提供者的剩余带宽的信号。
15.根据权利要求10至14中任何一项所述的方法,其中所述指示所述数据提供者的步骤是通过远离客户机的装置执行的。
16.根据权利要求10至15中任何一项所述的方法,其中所述提供涉及优选数据提供者身份的信息的步骤包括在网站上提供所述信息。
17.根据权利要求10至16中任何一项所述的方法,其中所述提供涉及优选数据提供者身份的信息的步骤包括提供所述优选数据提供者的统一资源定位符(URL)。
18.根据权利要求10至17中任何一项所述的方法,其中可以按照预定准则选出多于一个优选数据提供者,并且其中可以向所述客户机提供涉及每一个优选数据提供者身份的信息。
全文摘要
一种通过执行以下步骤来从多个数据提供者(30)中选出优选的数据提供者的系统(20)和方法从客户机(10)接收数据请求以及客户机标识数据;识别能向客户机(10)提供数据的多个数据提供者(30);向数据提供者提供客户机标识数据,并且指示所述数据提供者进行测试以确定信号发送到客户机并从客户机收回的用时的测量结果,以及表示这些数据提供者的用于数据传递的剩余带宽的测量结果,并且使得系统(20)可获得这些测量结果。然后可以基于用时信号和剩余容量信号从所述数据提供者中选择一个或者更多个优选的数据提供者(30)。
文档编号H04L12/26GK1795641SQ200480008969
公开日2006年6月28日 申请日期2004年7月30日 优先权日2003年8月15日
发明者理查德·伊恩·迈克尔·杰弗里, 马休·大卫·沃克, 奥顿·卡玛里奥蒂斯 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1