分布式计算机网络上服务器端优化数据传送的系统和方法

文档序号:6415732阅读:235来源:国知局
专利名称:分布式计算机网络上服务器端优化数据传送的系统和方法
技术领域
本发明涉及分布式数据存储和检索的系统和方法。更具体的说,涉及一系统和方法,由此用户能获取一动态和分布式的多目标网络性能信息,而这种信息将被用来确认和选择最佳传送站点或服务器,从中接受计算机数据,特别是接受有关多媒体的内容。选用这样的传送站或服务器有利于增加网络容量,分散服务器端的负载,以及缩短服务器和用户之间传输的延迟。
因特网是将分散在全世界的计算机相连在一起的一个松散网络。通过指定目标地址,一条消息能从因特网上的任何一台计算机发送到另一台计算机,并经过一连串的“转发”,使消息在计算机之间传送。因特网上的每一台计算机、路由器或结点,都有一个唯一的因特网地址。当一台中间计算机或路由器接收到传输中的一条消息时,此计算机即检查这条消息将要前往的目标,并相应地将它往前传递。
因特网不仅在规模,而且在其复杂性方面都在急速地发展着。过去,因特网的大多数用户为学者、研究人员或公共团体用户。当时的因特网主要用作传送和接收电子邮件、网络新闻和允许传输计算机文件。然而,自从几年前万维网(也被称作“Web”或“WWW”)的兴起,因特网上开始引入能引起大众兴趣的其他数据类型,即图像显示,商品信息等等。
Web协议和Web语言建立了一种以图形作为航行于因特网浩翰的海洋的手段。通常主要是由文字和图形材料组成的“Web页”被存储在无数遍及因特网的称之为“Web服务器”的计算机上。通过指定想要查看的Web页的地点(即因特网地址),一种被称为“浏览器”的软件可以被用来访问和查看因特网的Web页。当Web页被访问时,Web页上的信息从远端的计算机(服务器或传送站),不管这台计算机在世界上何处,通过因特网传送到给用户。
近来,许多非常复杂类型的多媒体内容开始出现在网上,例如音频和视频数据以及计算机软件。与第一代Web内容(即文本和静态图像)相比较,音频剪辑、视频剪辑以及软件程序对存储量和带宽有极高的要求。
目前,在因特网的多结点链接上要支持大容量音频/视频文件的高速传输是困难的。因为数据经常是从遥远的地方传过来,其间有许多因素能够造成延迟或者甚至于部分或全部数据的丢失。一般情况下,用户在接受小图形或文本文件时,如果感到有些微小的延迟是不危险的。然而,显然象视频这样的实时数据对数据传输和显示有着非常明确而严格的定时要求。
不幸的是当前设计的类似于传统因特网的数据网络基于此这样的原则,即延迟和重大的数据传输率的变化对于普通数据(如文本和静态图像)来说是可接受的。因此,由于允许从世界上任何地方获取文本和图形信息有着重要价值,这些传输的缺陷被认为是可以接受的。为了降低数据传输费用,因特网的基本容量有一些“超额”。换句话说,为了开出相对低微的远距离通讯连接的总费用,网络数据传输的及时性明显地已被折衷了。
为了成功地通过象因特网这样的面向消息的网络来传送音像数据,对于任何多于几个的用户,网络资源应能以便于及时传输的方式供使用。一个利用投入的网络资源的系统通常不能利用现存的如因特网共享网络的定价方案,由于它不能参与以逐个数据包为基础的网络资源共享。视频数据必须被排除在更低的优先权的数据之外而被传输。因而传输费用变得重要,尤其是当“远距离”连接时,或者是连接持续了很长一段时间时。
以上讨论的及时性对费用折衷的另一个后果是看来杂乱的网络拓扑设计。由于延迟和吞吐量不稳定总是在传统上被归咎于偏爱低成本,因特网基础设施的配置同样受成本考虑的驱动。相应地,网络的互连效率很少被考虑。迅速增长的实时数据正在改变这种需求。
应该承认,在因特网上时间敏感性数据的不充分的数据传输性能,通常由以下四种原因引起数据包丢失,过度的服务器利用,相对低容量的网络基础设施,以及网络硬件中的内在延迟。数据包丢失,更具体地讲,是由基础设施的不足和路由缺乏鲁棒性而造成的。内在延迟则被认为除了别的以外还有因特网上多结点路径中邻近结点间缺乏流控而造成的。
不同于较小的文本和图形文件,相对较大的视频文件将需要几分钟(甚至更多)的“流”,或恒定数据流。所以,通常网络性能问题恶化了。网络带宽或特定网络的数据运载容量受到限制。因此,加剧了数据包丢失和数据延迟。长的传送时间将长时间地消耗大量的服务器容量,减少其它用户的可用资源。从而,由于网络的基础设施变得越来越拥挤,数据包的丢失与延迟继续加剧,相应地传输时间增加了,服务器的负载也更进一步加重。
这种模式例证了网络性能的“螺旋式向下”,这种性质受着企图传输如视频剪辑这样的大文件的驱动。只要网络通信流量仍然还保持在网络带宽的限制范围内,网络性能将仍然可接受的。然而,一旦网络负载的高峰超过其容量,上面所述的“螺旋式向下”将会发生,造成低网络性能期的延长。
如前面已讨论的,指定所要的Web页的位置(即因特网地址),或者用一种更普通的说法,通过到Web页的“热链接”,一个浏览器程序可被用来通过因特网访问和查看Web页。一般地浏览器有Lynx,NCSA Mosaic,Netscape Navigator及Microsoft Internet Explorer。所要的Web页由一个叫做统一资源定位器(“URL“)的来指定,使用的句法“http//internet.address/directory/filename.html”指示文件的精确位置。
Web页通常用一种叫做“HTML”(超文本标记语言)的语言表达出其布局和内容。任何一台连到因特网上特定的计算机可存储一个到多个Web页,也就是一些按HTML格式的计算机文件,以供用户访问。
从一个HTML Web页到另一个Web页的热链接是按如下的步骤来完成的,用户首先访问一个已知地址的Web页,通常是放在用户的ISP(因特网服务提供商)那里的一台计算机上,ISP即是为用户提供因特网连接的组织。除了用HTML格式规定的文本的和可视的数据,Web页还能包含“链接”,即嵌入指向其他Web页的因特网地址的信息(以URL的形式),这种Web页经常在遍布因特网的其他计算机上。用户通过选择一个链接(通常用鼠标点击),就能访问其它Web页,在这些Web中依次又包含更多的数据和/或其它的链接。
对HTML的各种各样的扩展形式,如Netscape的EMBED标记,允许访问嵌入到Web页中的其他数据。某些浏览器不能处理除文本和图像数据以外的数据,而有些浏览器却能处理各式各样的数据。例如,NCSA Mosaic处理未知类型的数据的方式是,将数据下载到用户的计算机上,然后有选择地调用一个外部程序来查看或处理这些数据。最近发布的Netscape Navigator与Microsoft Internet Explorer将这种观念更往前发展了一步一个浏览器扩展,或称为“插件”,当接收到远端Web页的数据能够自动地被调用以处理此数据。还有其他的方式,如用Java语言(或其他类似语言)书写的网络程序“applets”,能用来延伸浏览器环境功能或网络的功能。
数字多媒体数据对存储量和带宽有极高的要求,尤其是视频文件可能会很大,大约从10M到10G字节。为了在用户的终端以接近其记录速率的速度来播放视频文件,必须保证传输文件的高速与恒定。如果速度太慢,图像播放起来将会慢于原始记录;如果速度不稳定,视频会看起来不平稳,正如旧时的电影一样。
以上讨论的网络设计的折衷通常反过来影响在因特网上传输音像数据。当一个用户使用浏览器在网上“冲浪”时,不会注意到接受文本和静态图像中较小的延迟和传输速率的变动,而这样的缺陷在获取实时音像信息时就变得明显和至关重要了。
为了解决这种问题,因特网内容提供商们有时在不同的服务器和传送站点(被称为“镜像站点”)上面,以因特网为基础传播受欢迎的内容。每一个镜像站点实质上包含了与源站点完全相同的信息。例如,如果一个流行Web站点的位置在纽约,其镜像站点可能在洛杉矶,伦敦和东京。相应地,如果一位欧洲用户访问在纽约的源站点有困难时,他能通过热链接到达地理位置最近的镜像站点,也就是伦敦。
然而,镜像站点有一些不利的因素。例如,镜像站点也许有着广阔的地理分布,但并非以实际用途和网络通信量等因素出发在因特网上高效分布。因而,纽约和洛杉矶的镜像站点也许是连接在同一国际因特网服务提供商的网络上的,这就意味着若无法访问其中的一个站点,可能影响访问其它站点。
此外,为了减轻每个服务器的负载,镜像站点可能并非放在最佳地点。尽管,对于一个镜像站点应该放在何处事先已经做过“有根据的推测”,但从实际用途的角度来看也许会有偏差。并且不保证增强网络性能。镜像站点的带宽可能会不如原始站点,它可能由于其他的原因而超负荷。
还有一点,镜像站点通常被随意作主。如果一个Web站点非常受欢迎,则网络服务提供商认定为其主题材资料也许会增加订购者的兴趣,服务提供商就会同意对原始Web站点的镜像站点作主。这样的安排将吸引对镜像站点作主,因为人们将被吸引到镜像站点上,同时也就可能热链接到作主的其它内容上。从另一方面来讲,这样的随意联合通常并不可靠,不能在任何时候都提供服务。
实质上,镜像站点提供数据的二级资源,也许可利用,也许不可用,这可增加用户的方便,但不能处理网络带宽和效率。若仍然采用如因特网上目前存在的低成本价格的配置,一个镜像站点是说明不了网络性能特征的,同样也不等同于可用于高效地传输视频数据的有效带宽。
当前,没有一个如何选择传送站点最佳位置的指南,也没有一个已知的方法可以让用户决定,究竟连接到哪一个镜像站点才能够保证最优性能。实际上,采用传统的镜像站点是一种随意的方式。通常地,一个用户会尝试着访问一个原始站点(或一个已知镜像站点),只有当经过一次或数次尝试后,发现这样的连接性能低时,才会转向另一个镜像站点。这种方法是对网络资源的低效利用。毫无疑问,镜像站点并非解决Web站超载问题的最佳方案。其中一个首要原因就是缺乏对网络性能的考虑。
网络分析,尤其是对因特网上确定路径和链接的性能的分析,是一种知名而被开发的方法。例如,一个叫做“Ping”(强制回应)的程序可以让连接到因特网上的计算机来确定一个远端主机是否可访问。然而,“Ping”(强制回应)程序使用了一种名为ICMP协议的低优先级的网络协议,同时它并未相应地提供给用户有意义的性能分析信息。另一个叫做“traceroute”(跟踪路由)的程序追随从一台计算机到远端主机消息的传输,跟踪沿着每一个链接的延迟,从而确定这条消息所取的路径。Traceroute(跟踪路由)应用能够被用来映射数据流。然而,它缺乏提供有意义的网络性能分析信息的能力。Traceroute(跟踪路由)只提供了消息的单方向传播的路由信息,而且只是传播瞬时的信息。
此外,典型的判断只在单机上反复进行路径连接特性的运行测试。然而要将测试范围扩展到整个因特网虽然有可能,在逻辑上是不可实现的,因为因特网的范围如此之大。
传统的网络分析技术如“Ping”(强制回应)程序和“traceroute”(跟踪路由)程序,都从网络连接的角度出发,但几乎没有提供从因特网上的服务商和镜像站点得到什么样的性能信息。因此,只有进行“推测”来确定传送站和镜像站点应该安放在什么位置,或应该使用哪一个镜像站点来优化网络性能。
因此,需要找出一种方法来测定整个网络性能。还需要找出一个系统来,应用这种方法使内容提供商可以动态地确定传送站或镜像站点所在最佳网络位置,同时允许用户选择最佳镜像站点,从它来接收数据。
本发明指出了一系统和方法,以根据因特网定位站点,优化Web内容的分布。一个智能的镜像方案,在这里称之为“智能镜像”,可用于测定对镜像站点的需求和分布,并且指引用户到最佳的镜像站点请求某些Web内容。
许多“智能”的传送站点和镜像站点被用来分配受欢迎的Web内容到因特网上的不同部分。经过大量的用户测试过的全面的网络分析方案,被用来交互式地确定站点的最佳位置,以及确定每个单个用户应使用的最佳站点。
相应地,由于每个单个用户被路由到提供改进性能的智能镜像站点或传送站点,整个网络的堵塞也就减轻了。在大多数情况下,改进的服务器位于电学上离用户位置比较近的地方,以便于减少数据必须经过的网络连接的数量,从而减少了数据包的丢失和延迟。
此外,网络分析结果将允许消息通信量从那些已经过载的传送站点和网络区域引导开,转向未充分使用的服务器和网络区。这样的结果从每个用户来看改进了吞吐量,从而增加了利用本系统的内容提供商提供内容的吸引力。内容提供商们能触及因特网上许多的用户,并且性能不遭受显著地降低。
根据本发明的系统从一个原始站点和至少一个另外的传送站(或镜像站点)开始。每个要使用本系统的用户都将被提供使用,在优选实施例中,使用一个包含配置实用程序和客户机程序的软件,配置实用程序首先用于确定哪一个传送站点为具体的用户提供改进的性能。
在本发明的实施例中,配置实用程序首先从服务提供商处下载一个“传送站点文件”。这个传送站点文件包含了一个可用的传送站点列表与一个将运行的网络测试列表。进行测试的类型与测试的频度可在这个传送站点文件中指定,诸如,取决于测试网络的用户数和估测的网络流量或传送系统的容量。
这个配置实用程序将运行传送站点文件中指定的测试子集。测试结果可以显示出哪一个传送站点对用户有更好的性能,并且也包含了从运行此测试的用户角度出发的各种一般化的网络性能信息。这个网络测试结果和所选择的传送站点的身分将被发送回传送服务提供商(通过Email(电子邮件)以一个可能实现的配置),合并进入服务提供商的数据库中。
由配置实用程序选出的传送站点则被用户采用,以重新得到那些被传送系统提供商管理的内容。因此,当用户浏览Web页内容与查找一个特定的条目的时候,如视频剪辑这样被服务提供商的传送系统管理的内容,客户机软件将自动从指定的“智能镜像”传送站点检索它。站点的优先权和缺省的站点可以周期性地在指定时间根据请求,或响应网络负载与流量的变化而更新。
此外,因为本项发明的配置实用程序执行各种各样的网络测试,并将测试结果提供给服务提供商,关于系统和网络性能的有价值的数据是可以得到的。这些数据提供有关哪些智能镜像传送站点是有效的,哪些是无效的,哪些智能镜像传送站点超载,和因特网中什么部分可从增建更多站点或容量而得到好处。这些数据也可能去完成那些复杂的网络分析,比如端到端的性能估测,工作负载特性,路由的稳定性和中断的度量。
在本项发明的实施例中,镜像服务提供商利用终端用户提供的网络性能数据,将因特网IP地址与“电学上接近”的传送站点相关连起来,获得一张查找表。当用户正在浏览Web页,并请求一个文件时,例如被服务提供商的传送系统管理的一个广告标题或视频剪辑,服务提供商可以映射该用户的IP地址到查找表,并决定哪一个传送站点和用户在电学上是接近的,服务提供商则可为用户的配置实用程序或客户机程序提供这些服务器的单个传送站点地址或传送站点地址表。对后者,用户终端起路由器作用作出最终的传送站点选择。
一般地,为特定的用户改进的传送站点,通过分析聚集一组由用户预先完成的网络测试中收集的网络性能数据,能提前被预测。因而,每次用户请求一个被镜像服务提供商的传送系统管理的文件时,传送站点的选择可能在进行过程中发生。从用户的角度看,传送站点的选择自动地透明地进行,以致看起来从Web页上选择一文件和使文件传送到用户终端之间没有延迟。由服务提供商维护的查找表不断地更新,以反映网络性能变化,使得服务提供商有可能有效地平衡网络流量负载。
因此,从工程的角度看,镜像服务提供商可以持续地保证提供经过改良后的性能。从市场角度看,还可以告知内容提供商,为了改进性能何处去定位镜像站点或传送站点,以及哪些ISP能提供改进的传送。


图1是根据本发明描述的系统的网络拓扑方框图,它包括有多个用户及多个内容提供商;图2是一个流程图,描述了根据本发明的一系统中所用的配置实用程序的操作;图3是一个流程图,描述了根据本发明的一系统中所用的客户机程序的操作;及图4是一个流程图,描述了在本发明的一实施例中如何实现站点的选择。
参考详细描述的实施例,本发明被说明如下。显然,本发明可以各种各样的形式而体现,其中某些可以完全不同于公开的实施例中的那些。因此,在此公开的专门结构和功能细节仅是一代表性的,并决不限制本发明的范围。
首先参考图1,因特网10通常代表广域通信网,被描述为“云(cloud)”。因特网为大家所知是大量计算机的一互连网络。尽管“地理上”彼此接近的因特网互连计算机可以在因特网上“电学上”彼此接近,但这不是通常的情况。而且,连到因特网上的一台计算机能同连到因特网上的任何其它计算机通信;在彼此直接互连的计算机之间,消息极像在包含有一系列链或“路程段(hops)”的通路上传送。
第一个用户终端12在图1中也被描述。第一个用户终端12被连到因特网服务提供商(ISP)14,它通常仅仅是一台计算机、路由器、或是连到因特网10的终端服务器。ISP 14能主管额外的用户终端,例如第二用户终端16。其它的ISP,例如第二ISP 18也连到因特网10上。第三用户终端20被显示连到第二ISP 18。这里仅显示了三个用户终端,然而,应该知道,依据下面阐述的操作细节,本发明同时存在的用户数是不受限制的。
熟习专业的人都知道,内容提供商也被连到因特网10。第一内容提供商22可提供某些类的内容,如运动得分及精彩场景。第二内容提供商24可提供不同类的内容,如商务新闻。
传统上,如果一用户(如使用第一用户终端12者)想要访问第一内容提供商22提供的内容,终端12可直接地查询第一内容提供商22。请求消息将从终端12通过因特网10传给内容提供商22,内容提供商22将通过因特网10把所要的数据送回到终端12。
几个传送或“镜像”站点被显示连接到图1的因特网10上。第一传送站点26可能处于距第一用户终端12少量“路程段”的位置。第二传送站点28可能位于远离第一个用户终端12,但接近第三用户终端20。第三传送站点30也许如第二传送站点28那样接近第三用户终端20。如前所说,用户及提供商或传送站点在因特网上“地理上”彼此接近,但在“电学上”彼此可能并非接近。通过减小用户及提供商或传送站点之间“电学的”距离,数据必需在上通过的网络连接器及路由器的数量能够减少。
如上所讨论的,通过减少前述的网络问题的发生率,智能镜像系统起改进网络性能的作用。尽管在某些情况下,本发明的网络测试过程显示某些较长的通路比某些较短的通路提供了更好的吞吐量,通过减少数据必需在上通过的网络连接器的数量,包丢失及延迟问题通常也被减少。出现在网络电缆中的包丢失非常少及基本上没有延迟,它们典型地由超负荷的网络存储器及路由设备引起。由于本发明的智能镜像站点被定位成电学上彼此接近每个用户,减少了包的丢失及延迟。因为多个传送站点共享通常已被单个服务器操作的负载,过量服务器利用问题得以减少。相对低容量的网络基础设施变得不是大问题,因为从不同位置的并行传送站点检索的数据通常不再需要在相同的网络链上传送。
为了描述本发明,传送站点是网络上的一“结点”,它可存储数据和其它文件,如软件码,用于传送。该项也可包括负责数据传送的站点,包括镜像站点,内容提供商,以及广播视频流服务器或Web站点。
在系统中,镜像服务提供商(MSP)32被连到因特网10。MSP 32包括能在因特网10上发送和接收数据的一数据库,在传送站点26,28,及30的分配上,和从用户终端12,16和20上请求对原始端及传送站点定位上行使管理功能。
通过使用在用户终端12上的存储介质中(如随机存取存储器)运行的配置实用程序34和客户机程序36,这种管理功能变得更为方便。尽管图1所示的配置实用程序34和客户机程序36仅是第一用户终端12的一部分,应该承认,任何参于此系统的用户终端,如用户终端16,和20将使用这些软件。决定参于系统的用户能直接从MSP 32,或通过传统零售的或其它渠道(如浏览器或计算机操作系统)得到构成实用程序34和客户机程序36的软件。应该说明,在本发明所述的实施例中由配置实用程序34实现的功能能集成到通常的因特网应用软件中,如浏览器或其它网络应用中,独立的程序是不必要的。
在优选实施例中,在用户终端12访问系统之前,配置实用程序34必需通过用户,或是通过命令,或者是自动地运行。配置实用程序34的操作详示于图2中。
当配置实用程序34首次在用户终端12上运行时,从MSP32(图1)检索传送站点文件(步40)。如果用户已经有了传送站点文件(例如曾用配置实用程序34检索出),而且传送站点文件足够新,则传送站点文件可从用户终端12的当地硬盘中检索。传送站点文件包含所有可用的传送站点表(如传送站点26,28,及30)及要在用户终端12上运行的网络测试表。在本发明的范围中,可以少到只有两个传送站点,或按用户数进行调正,而多到有几千。原理上站点的数量是不受限制的,每个可用的传送站点被表示在传送站点文件中。传送站点文件从MSP的计算机系统中通过数据库生成。数据库应用使用有关用户的信息,动态地确定运行的最佳测试。因此,传送站点文件不需要包含现有的每个传送站点入口,该表能简化到只包括显现合适或切实可行的的那些站点。
开始,对传送系统的用户,测试配置中运行时间变化的大小是小的;也就是说第一组用户全部运行基本上是同样的测试。而且,随着传送服务增长,每个用户的测试强度减少,以补偿测试网络宽度增加的幅度。测试的范围及被测的传送站点的数量两者都可能变小,以进一步减少网络测试的总负担。
在一个实施例中,传送站点文件通常具有的格式如下1.文件的修订次数及消息。文件包括这种字段以判断是否配置实用程序34的新版本是合用的。如果在传送站点文件中修订次数高于配置实用程序的修订次数,配置不被允许,代之的是用户将被提示去获取一更新版本的配置实用程序34。在此描述的文件版本的确认,确保最新的传送站点选择算法被用于由配置实用程序34生成的测试数据中。
2.一可用的智能镜像传送站点表,对每个可用的传送站点,提供下面的信息a.主机名。按已知的www.server.com的因特网格式。
b.IP地址。按已知的数字因特网地址格式。这地址目前是32位数的W.x.y.z的形式,这里的w,x,y,和z均为0到255范围内的数。
c.替代名。一个不正式名如“第一镜像站点”。
d.要被执行的测试表。对每种测试提供下面的信息i)测试ID。每种测试类型具有为配置实用程序34所知的唯一标识符。
ii)权重因子。每个测试将用指定的百分数加权。
iii)频率。每个测试并不需要每次运行。该字段指出一概率,确定一特定的测试运行的频度。
iv)附加信息(选项)。对某些测试,附加信息可能需要。
e.站点优先级别。每个站点可给定一权重或优先权级别,如在1到100之间。如下面所讨论的,在MSP的数据库中聚集数据用于执行网络使用分析,不可能只用单个用户的瞬间端对端测试。这里提供的权重因子被用于合并从服务提供商的数据库接收的测试结果。一旦预定的最大用户使用级已经达到,该权重因子也被用于限制赋新用户给传送站点。
f.测试站点标记。如果该标记为允许,前述的测试将被运行,但该站点将不会被赋予作为传送站点,即使它产生最佳的性能。
g.内容提供商组。每个站点能属于一个或多个内容提供商组,因此,只镜象某些内容。如果一个用户并不关心由特定的站点作主管的数据类型,那末它就不需要被测试。
然后,配置实用程序34询问用户(步42)在配置过程中所需的各种信息项,如用户名,电子邮件地址,口令,调制解调器的速度,及同访问控制相关的信息(如各种属性中的那些级能被用户看到)。访问控制机制将在下面作更详细的讨论。在本发明的一实施例中,从用户接收的信息被加密并存储在用户终端12的配置文件中。
然后,配置实用程序34判断是否用户终端12被连到因特网(步42)。如果否,它将启动连接(步44)或提示用户去作。
然后,执行一系列的网络测试(步46)。对传送站点文件中列出的每个可用的站点,可执行一个或多个测试;并非所有在文件中的站点都需要被测试。
目前认为下述测试类型提供有用的数据1.Ping(强制回应)。提供关于远程服务器是否是可得到的信息,如果是,则对低优先级的消息从用户终端12传到远程服务器及反回的往返传送它要化费多长时间。Ping(强制回应)是一简单测试,用来确定一站点是否可得到进一步的评估是可用的。由Ping(强制回应)应用返回的过多的时间能被用来淘汰对有效信息传送太“慢”的传送系统。由终端使用的这种测试减少了被测试的传送站点数。
2.Traceroute(跟踪路由)。提供一消息,从用户终端12到远程服务器取什么路由的信息,包括沿此通路什么系统被使用,及每个路程有多长。Traceroute(跟踪路由)被配置实用程序34使用以给出信息传送路经的资料。几个具有不同结果的跟踪可以指示从一特定用户到指定的服务器的路经的稳定性是不可接受的。前面来自服务提供商的系统数据库的特定路径上的聚集数据,也可影响为具体用户选择特定传送站点的确定。路由的稳定性是首先要考虑的。
3.Reverse Traceroute(反向跟踪路由)。提供一消息,从用户终端12到远程服务器取什么路由的信息,包括沿此通路什么系统被使用,及每个路程有多长。Reverse Traceroute(反向跟踪路由)被配置实用程序34使用以给出信息接收路经的资料。几个具有不同结果的跟踪可以指示从一特定服务器到指定的用户的路经的稳定性是不可接受的。前面来自服务提供商的系统数据库的特定路径上的聚集数据,也可影响为具体用户选择特定传送站点的确定。再次说明,路由的稳定性是首先要考虑的。
4.Dynamic Traceroute(动态跟踪路由)。类似于跟踪路由或反向跟踪路由,但只是在任何因特网上指定的计算机对之间。动态跟踪路由被配置程序使用以给出信息传送路经的资料。几个具有不同结果的跟踪可以指示两个网络位置之间路由的稳定性是不可接受的。前面来自服务提供商的系统数据库的特定路径上的聚集数据,也可影响为具体用户选择特定传送站点的确定。如上所说,路由的稳定性是主要要考虑的。
5.名字服务器解析延迟。如果未指定数字因特网地址,名字服务器执行查找以确定什么数字地址对应所要的主机名。此处理过程能化费大量的时间。
6.吞吐量。一样例文件从远程服务器被下载或部分下载,以确定以每秒字节数为单位的实际吞吐量。
7.吞吐量的变化。一样例文件从远程服务器被下载或部分下载,以确定吞吐量是相对固定还是上下变动的。
8.出错率。一样例文件从远程服务器被下载或部分下载,以确定传输是否遇到传送错误。该信息通过对返回到用户的错误信息包计数而得到,从而得出从用户到服务器的出错率,以及通过跟踪接收的传输字节碎片的字节数,从而得出从服务器到用户的出错率。
9.包破碎。一样例文件从远程服务器被下载或部分下载,以确定是否传输遇到破碎或接收到乱序包。
10.容量查询。如果远程服务器这样被允许,配置实用程序34查询服务器以确定它的传输容量及它的平均负载。该信息是通过近乎所有网络服务器都支持的简单网络管理协议(“SNMP”)收集的。
11.细微的网络分析。由MSP数据库累加的数据提供一全局观点的网络行为。该信息允许智能镜象系统用户以历史的观点观查可用的传送站点。累加的数据由传送系统的数据库管理的,以分析网络的性能,为的是强化在网络高容量区域的使用,而不强调在已经历性能减少的区域中的使用。
关于如何实现前面的每个测试的信息在网络分析技术中是熟知的。如可见Bob Quinn&Dave Shute,“Windows Sockets NetworkProgramming”(Addison-Wesley 1996)。在本发明的一实施例中,测试是通过执行“Ping”(强制回应)测试以检验是否一服务器可获得而完成。一系列小的(如20k)下载,一系列大的(如200k)下载,以及“Traceroute”(跟踪路由)和“Reverse Traceroute”(反向跟踪路由)测试,以得到传送路径的资料。
跟踪路由信息被MSP 32使用,把测试数据与它的数据库中的信息相互连系,这样,特别差的网络链及服务器能被识别。这些信息提供在上面讨论的传送站点文件中。根据从其它用户处得到的信息,如果知道一特定的链或服务器不可靠,即便单个测试给出好的结果,单个用户能被路由离开该站点。
短下载被用于确定服务器的容量。名字服务器的分解延迟可通过这种测试,以及服务器开始发送数据所花的时间来确定。后一结果是强烈依赖于服务器负载,容量,性能。
长下载允许配置实用程序34确定包丢失,网络的拥挤,以及服务器应用如何影响文件的发送。确定前面的因子中那些基于单个用户的测试结果正使降低性能是不理想的。而且,这样引起的聚合,被存储在由MSP32维护的数据库中表示根段的情况。
应该指出,某些测试结果可同其它测试结果一起用。例如经容量查询确定的传送站点上的负载能除以吞吐量测试的结果得到一平均期望下载时间,给出服务器的负载特性。
在所有指定的测试运行后,结果被收集及处理(步48)。可能某些测试不能成功实现,在这种情况下,结果将指出一近似的最坏情况值(如零吞吐量或极高的延迟)重要的是要指出,每次运行配置实用程序34时,并非所有可能测试都将被执行。当大量用户正使用系统时,通过单独的测试过程,将引起服务器和网络容量上的实质性消耗,增加了前面讨论的网络性能的螺旋式下降。
正如上面指出的,为了动态控制执行测试的用户数目,测试的频率数被存储在传送站点文件中。由配置实用程序34执行的测试被执行,以得到统计置信度,确定那一个传送站点最适合把数据传送给特定用户。统计置信度的获得或者是通过充分良好地测试小量用户样例,使用这些数据去影响传送站点选择,或者是通过大量用户,各自“轻微”测试几个可用站点整个使用那些数据。
因此,当系统开始使用时,相对小量的用户“登录”在系统上。由MSP 32维护的传送站点文件反映这些情况,并请求每个用户比较严格的测试网络(通过配置实用程序34)。随着用户数的增加,传送站点文件被修改以减少每个用户执行的测试。这时,非常大量的用户正在使用该系统,配置实用程序34可能主要对可达到的传送站点测试(如上所述,通过“Ping”类型测试),以及首先依靠其它用户提供的并存储在由MSP 32维护的数据库中的测试数据。而且,即使当很多用户正在测试系统时,小量用户(如1/5000)可被选择运行综合测试集。
更可取的是,测试应不提供大于近似总服务器负载的5%。达到该目标的一方法是轻微测试大数量的服务器,产生一组具有足够性能的传送站点。这组传送站点则能轮流使用以检索数据。对组中每个传送站点的多媒体剪辑实际下载时间信息如下讨论的被累加,而传送站点性能的更多信息则能透明地提供给MSP 32,不需进一步完全测试。
因此,根据这样收集的测试结果,及由MSP 32在传送站点文件中提供的信息,配置实用程序34确定那一个传送站点或传送站点组对用户终端12是最佳的(步12)。该判断能通过加权执行的不同测试和比较每个站点的得分而被数值化。
在当前的优选实施例中,为在相对小量传送站点和用户的在低通信量环境中使用,配置实用程序34对每个可用的传送站点首先进行Ping(强制回应)和吞吐量测试。开始的强制回应测试被执行以确定是否传送站点可达到。在吞吐量测试中短的和长的下载被执行以确定来自传送站点的最大和最小吞吐量,并确定是否吞吐量变化小到足以适应视频数据传输。因此,这种测试是全部给以高权重。其它测试,如跟踪路由可被执行,并且报告给MSP 32的结果,不起选择传送站点的作用(这种其它的测试能给予零权重或接近零的权重)。随着系统尺寸的增大,及额外的传送站点和用户的加入,通过改变传送站点文件内容,站点选择的公式能被改变以反映网络条件改变。
在本发明的一优选实施例中,专用的图形界面被提供,以便用户的位置及每个测试站点的位置(几何的和电的两者)能被显示在连到用户终端12的监示器上,使站点之间的相对距离得以可视地指示。在该实施例中,显示器以“雷达屏”的形式显示,其上用户终端12及传送站点作为“雷达显示标志”叠加到有关几何区域的图上被显示。为鼓励用户使用应用及提供更多网络范围的数据,用户接口能允许用户进入附加性能测试的“ad-boc”测试站点。这时,配置实用程序将测试缺省的Web页文件(如“index.html”)和用户要求的指定文件。来自用户选择的站点的分析结果被调整,以同其它站点来的结果形成合理的比较。
应该指出,本发明能维护传送站点的多个集,以适应几个内容提供商组。每个内容提供商只可能在某些站点上被镜象。因此,对具有唯一传送站点集的每个内容提供商,起初的传送站点由配置实用程序34选择。一旦前面的测试被运行,为达到这些目的,在该实施例中一数字的权重能被用于每个合适的传送站点集。大量的智能镜象站点被选择,为每个内容提供商选择一个。内容提供商组在传送站点文件中被指定;每个可能的传送站点被标识属于一个或多个内容提供商组。当内容提供商组被使用时,能最少少到两个组;最大数实质上是不限的。
还应该指出,传送站点的区分优先的等级也能被产生和被维护。如果这被做了,为响应初始智能镜象站点的失败将允许系统退到下一个最高等级的智能镜象站点。
在智能镜象站点被选择后,某些数据经电子邮件或其它因特网电子协议将被发送给MSP 32(步52)。通过询问用户收到及选择的智能镜象站点的身份,以及所有的未加工的测试数据和结果,包括每个测试曾经运行的时间和日期的信息,被编译成文本文件(在该实施例中它被加密)。通过MSP 32接收,数据被存储在数据库中以便管理和分析系统使用。
最后,配置实用程序34为每个传送站点集或优先等级表,保存所选的智能镜象站点的身份到(加密的)配置文件(步54)。配置实用程序也可能为每个测试过的传送站点保存有关性能的信息。客户机程序36使用加密的配置文件从适当的智能镜象站点下载数据文件(视频剪辑或其它内容)。
应该指出,在系统操作中,MSP 32实现了某些功能,MSP 32维护传送站点表,根据需要添加和删除站点。MSP 32也维护网络性能的数据库,包括从运行配置实用程序34的用户处经电子邮件或其它手段接收的信息。当大量的数据从众多的用户处被接收时,数据库能提供因特网及其部分的性能和其它特性的有价值的信息。得到这些信息的各种数据处理技术是已知的。
本发明所用的传送站点的位置最终由许多因子确定,包括市场考虑及价格/利益分析。而且,存储在MSP的数据库中的数据能确认位于因特网或其它网上给定位置的传送站点的实用程序。在本实施例中,服务器被置于每个主骨干上(由单个公司维护的因特网部分)及为大量用户服务的其它因特线路上,如由Regional Bell OperatingCompanies(“RBOCS”)操作的主线路。在为大量用户服务或具有繁重视频传送通信流量的某些网络上,服务器能放到网络的入网点(“POPs”)确保每个用户能访问到快速服务器。
一旦配置实用程序34已经运行,用户能用该系统,以允许和方便数据文件的接收,尤其是视频剪辑,音频剪辑,软件程序及其它内容。
当时间过去和因特网的用户区的使用模式改变时,用户可变得不满意与用户终端12有关的智能镜象站点的性能。如果发生这种情况,用户是自由再运行配置实用程序34。这时,附加的传送站点可能已进入服务,或者一预先已存在的站点可能比前面所赋予的执行得更好。而且,如果播放程序36判断所选的智能镜象站点没有充分地执行时(如十次的尝试中已失败三次),播放程序36能提示用户再运行配置实用程序34。在本发明的其它实施例中测试和镜象的赋予自动地被运行,按智能镜象服务上每次文件请求或某些间隙次数,如每隔一次,每第3次,每第10次或每第100次。
在本发明的实施例中,智能镜象系统用于定位从其下载参照Web页的视频或音频剪辑的传送站点。在本实施例中,客户机程序可指或认定为“播放程序”。播放程序除了执行客户机程序36的功能外,还提供视频数据的检索和回放。通常,浏览器程序38在用户终端12上运行以观察Web内容。典型使用的浏览器程序包括NCSA Mosaic,Netscape Navigator,及Microsoft Internet Explorer。浏览器程序38允许用户在因特网上不同Web站点之间热链接。
EMBED标志被用于HTML文档中以表示哪一个Web页包含系统管理的内容。当浏览器程序38接收包含EMBED标志的Web页时,开始以标志为依据下载文件,且分析文件的类型。如果这个文件是由播放程序36处理的类型,如MPEG,浏览器程序38起动播放程序36。标志的内容则由浏览器程序38传到播放程序36。
播放程序36(图1)由MSP 32方便的提供智能镜象服务。播放程序36的工作详细示于图3。
播放程序首先分析EMBED标志,判断是否存在“SM”(智能镜象)参数(步60);这种参数的存在表示为智能镜象允许嵌入剪辑。与“SM”参数有关的数据指示了所要求的剪辑源于那里的具体的内容提供商,以及具体的内容提供商使用的镜象服务组。
如果播放程序36确定以EMBED标志为依据由系统处理的视频剪辑或其它的内容(步62),从内容提供商22嵌入的剪辑的传送被停止。然后,如果存在,播放程序36从EMBED语句中抽取访问控制或等级信息(步64)。此等级信息同存储在用户终端12的配置文件中的参考等级比较(步66)。如该剪辑的等级信息不存在,配置文件被询问,以判断是否未定等级的剪辑如下面定义的可被播放(步68)。根据前面的信息,播放程序36将批准或拒绝观看所要的剪辑。
如果回放被批准,播放程序36试图在属于用户终端12的本地计算机上找出引用的剪辑(步70)。如果它存在,则不要重新下载,并且能直接在计算机上播放(从盘或从RAM)(步72)。然而,剪辑在本地计算机上生成的时间及日期首先与网络上可得到的剪辑的时间和日期核对,以确定是否存储的剪辑是最新的版本(步74)。如果不是,存储的剪辑被遗弃(步76)并如下进行下载处理。
如果在本地计算机上不存在剪辑,播放程序用下面形式创建一新的URL(步78)“http//”加上选择的存储在配置文件中的智能镜象站点的IP地址,加上到镜象文件的路径名(如“/pub/mirror/”),加上在EMBED语句中取自“SM”参数的内容提供商名,加上自EMBED语句得到的文件名。构成的URL用于从配置实用程序34选择的合适的智能镜象站点,检索选择的剪辑(步80)。如果对不同内容提供商存在超过一个传送站点集,“SM”参数进一步被播放程序36使用,以确定配置文件中哪一个智能镜象站点被用于构成URL(步82)。在本发明的实施例中,站点选择至少部分通过重定向服务器实现。该实施例将参考图4详述如下。
如果对应于构成URL的剪辑在智能镜象站点没有被找到,或不能被访问,则从配置文件中下一个最高等级的智能镜象站点(步84),或由重定向服务器选择的最高等级的传送站点进行下载处理(见图4)。如所有传送站点失败,则由EMBED语句直接指定的原始内容提供商站点进行下载处理。
如回放不被允许,播放器阻止剪辑被传输(步88)并显示一位图(步90)忠告用户不允许下载。
如果播放程序36确定EMBED标志涉及的视频剪辑或其它内容未被系统操纵,播放者将检查是否在配置文件中的访问控制等级集允许用户播放这些被认为是“未定等级”的剪辑或者其它文件(步92)。如果是,剪辑借助传统手段从其原始内容提供商22处被传输(步94),并且播放程序36显示此下载文件(步96)。如果不是,播放程序阻止剪辑被传输(步98),并显示一消息(步100)忠告用户不允许下载。
因下载,代表所要剪辑的数据文件被存储在本地计算机上指定的区域内,通常在属于用户终端12的硬盘上(步102)。在本实施例中,该数据区基于最近最少使用(least-recently-used)由播放程序36管理。也就是说,如果在数据区没有空间保持新的剪辑,最近最少使用(或观看)的剪辑或一些剪辑能被废弃以得到空间(步104)。
在本发明的实施例中,客户机程序36能向MSP 32发送消息(步106)以反映是否下载成功。该消息包括用户终端12的因特网地址,所选择的服务器集的身份,完成下载所用站点的因特网地址,所有失败站点的因特网地址,下载文件名及下载文件的时间。这些信息也能被MSP 32使用,以跟踪文件下载实时确定是否智能镜象站点有任何问题。
另一方面,客户机程序36能维护一个文件传送性能的小型本地数据库。而每次的下载应被计时。特别是,收集服务器开始发送请求的文件所花费的时间,数据传输率稳定性,以及传送的错误率这类信息。在某些间隔上(如每周地或每100次下载)包含累加的文件传输性能信息的消息,以及上面讨论的用户和服务器信息将(自动地或根据请求)送到MSP 32(步106),以更新MSP的数据库。这附加信息增加了MSP的网络性能的“知识”而并不招致任何额外的测试开销。
该数据在确定传送站点性能,为评估从传送站点提供商处购买的服务质量,以及对内容提供商证明服务的质量,支持系统的价格方面特别有价值。而且,可以看出,很多同样的信息能够通过运行配置实用程序34的新用户而获得。
在本发明的实施例中,来自MSP 32的数据库的信息能用于为给定用户预测改进的传送站点,而不需要实际上运行配置实用程序去测试用户和一系列可能的传送站点之间的网络。尤其是包含在MSP 32的数据库中收集的网络数据,按照给定的因特网IP地址和一些不同传送站点之间的性能差进行分析。根据该分析,引出用户的IP地址和提供较好的数据传送性能的传送站点之间的相互关系。该相关数据被用于产生一在传送站点选择过程中能被MSP 32使用的查找表。
实际上,重定向服务器被包含在MSP网络中。在本实施例中,重定向服务器的功能由MSP 32服务器在其中被执行,和实现。在另一实施例中,几个重定向服务器在整个网络的不同位置可被使用。
在操作中,当用户请求由MSP发送系统管理文件时,重定向服务器将取得用户的IP地址。如上讨论的,一请求通过EMBED语句以重定向服务构成。EMBED语句能显式访问指定的服务器IP地址,识别单个重定向服务器(如MSP 32),或能包含一脚本或可执行代码(如JavaScript或Java编程语言)指定很多重定向服务器,对其的访问可以顺序或随机的次序进行。而后,用户的IP地址由服务器通过传统方式确定,如典型地包含请求者地址信息的HTTP(超文本传输协议)请求。接着,重定向服务器把用户的IP地址映射到位于查找表中的最佳传送站点,及把传送站点的地址转发给用户。用户的客户机程序36或重定向服务器则重定向文件请求,使文件从最佳传送站点传送。
设计查找表过程中的一个重要因子从因特网上大量的地址中得到。连到因特网上的每台计算机被赋给一个地址。在传统的因特网定址方案中,一个地址包含4个字节的值。通过转换,转换每个字节成一个十进制数(0-255)及用一个句点分隔各字节来表示。例如对www.intervu.net服务器的地址是192.215.147.185。用该地址方案,在因特网上有超过4百万个可能的地址。当前技术给定的包括4百万地址的查找表,在这里描述的实施例中使用是太大了,其方法是寻求压缩查找表。
已发现最佳传送站点的选择经常同用户IP地址的第一个字节有关。该关系是这样的,在运行了配置实用程序34以后,具有同样的第一字节地址的统计上有效数目的用户,将选择同样的传送站点,或出自一小传送站点组中的其它站点。显然,这些传送站点同无关连的传送站点比较,为具有相同的第一字节地址的大部分用户提供改善了的性能。在本发明的实施例中,这关系是足够明显的,形成的压缩查找表,包括数值为0-255的一系列第一字节IPIP地址,且对每个地址,一系列的传送站点为具有相应IP地址的用户提供改进的性能。这样,一个或多个传送站点被映射到地址表的每个入口。
应该指出,在某些情况下在查找表中的某些第一字节的IP地址可不映射到相应的服务器,例如当很少的用户具有对应于表中特定入口的IP地址,并且它们未能充分运行配置程序34以产生统计有效的或可靠的结果。在这种情况下,当一指定的服务器在数据表中没被标识时,一个或多个确省服务器可为用户在数据库中指定。
在一优选实施例中,查找表被存储在单个重定向服务器如MSP 32中。然而,查找表及相应的编程也能存储在Web页服务器,内容提供商22的服务器,或上面的组合中。
重定向服务器被访问,按下面和如图4所述,以选择传送站点(图3步82)。用户经用户终端浏览器,通过双击具有那个文件的EMBED语句的链接请求一Web页引用的文件。如果文件请求是通过MSP的发送系统管理的文件,使用传统的HTML文件请求语句,将该文件请求转给重定向服务器(如MSP 32)也就是服务器“GET”(步120)。
重定向服务器检查输入的请求,并且使用由Web服务器提供的“REMOTE-HOST”变量确定用户的网络地址(IP地址)(步122)。应该指出,图4所说明的本发明的实施例中,无须用户终端12上安装的特定目的的客户机程序(如客户机程序36)就能被完成。如果没有客户机程序36被安装(步124),而且当用户被脚本或下载程序查询,不想安装客户机程序(步126),则站点选择将完全通过重定向服务器实现。
然后,重定向服务器分析用户的IP地址,检查在查找表上一系列可能的传送站点,以确定哪个传送站点或哪些站点同用户的IP地址相应(步128)。如果多于一个地址相应于用户查找表入口(步130),重定向服务器则选择一传送站点地址。如果单个传送站点地址被找到,则HTTP重定向响应用于从所选的传送站点发送文件(步132)。按照HTTP的规范,从某个服务器请求的文件通过此服务器能被重定向到其它位置,无需任何用户或客户机程序干涉。然后站点选择被完成(步134)。为完成事务,客户机程序请求从所选的传送站点拷贝文件,及传送站点服务器检索文件并把它发送给用户。
如果用户想要安装客户机程序36(步126),则程序将通过传统手段下载和安装(步136)。如果客户机程序36已被安装(步124),或如果安装刚被完成,文件请求结果不同,并能既利用服务器侧又利用客户机侧以可能最有效的方法处理检索文件。
首先,重定向服务器分析用户的IP地址,并检查在查找表上可能的一系列传送站点,以确定哪个传送站点或哪些站点同用户的IP地址相应(步138)。在某些情况下,存储查找表的重定向服务器可能将生成(步140)和向用户终端12发送(步142)包括传送站点子表的一小文件,并且依靠客户机程序36做出最终的传送站点选择(步144)。这可以出现很多原因。
首先,如上所指出的,收集的网络性能数据的分析可能表明一些传送站点(与单个传送站点相反)对具有相同第一字节地址范围的某些用户提供改进的性能。这发生在例如,有很多用户,在运行配置实用程序后选择了不同的传送站点,全部具有相同的第一字节的地址或处在同一个第一字节地址内的地址范围。在这种情况下,客户机程序36能够取得通过重定向服务器下载的子表,并同镜象站点保存的表比较,该镜象站点是前面通过运行配置实用程序已选择的(见图3,步54)。如果能够匹配,客户机程序重定向文件请求到匹配的传送站点(步146)。客户也应有选项以忽略由客户机程序做出的选择,并且从包含在查找表内的传送站点中做出最佳推测选择,因为一个或多个这样的传送站点,可提供超过前面通过配置实用程序选择的任何传送站点改进的性能,尤其是如果配置实用程序最近没有被运行。
其次,情况也可能产生,那里由MSP管理的传送站点数及IP地址已增加以致查找表变得不切实际地太大,即重定向服务器在响应一新文件请求时有延迟,因为它正代表前面的文件请求忙于从头至尾检索查找表。如果在这种情况下,从头至尾检索查找表的任务在重定向服务器和客户机程序36之间被分开。因而用户终端12被要求作某些处理,并且通过作出最终传送站点的选择亦起路由器的作用。
为完成这些,重定向服务器根据给定的地址范围把查找表再分割成更小的子表。因此,当重定向服务器接收到文件请求时,服务器将把用户的IP地址(步138)映射到相应地址范围的子表中,然后生成(步140)并下载(步142)给用户包含子表的小文件。而后客户机程序36起路由器的作用,从子查找表的传送站点中选择传送站点(步144),或者把用户的IP地址映射到子表上相关的传送站点的合适地址,或者通过寻找子表上的传送站点和如上所述,在前面运行网络性能测试后,由配置实用程序34保存的优选站点表上的传送站点之间的匹配。一旦客户机程序已选择一传送站点,客户机程序重定向文件请求到所选择的传送站点(步146)。通过重定向服务器和用户终端12之间的分开工作,文件请求能较快被处理,因此减少了用户请求文件的时间和当文件被用户终端12接收时的时间之间的延迟。
尽管MSP 32重定向查找表将根据网络性能的变化而频繁更新,被传送到用户的子表希望满足至少一些日子。因此,客户机程序36在获得新子表之前能重新使用该表一些日子。这些功能例如通过在Web页中嵌入脚本主管请求语句来实现。脚本能向客户机程序查询存储在用户终端12上编码于子表的失效日期。失效日期和子表的类型能被传回给重定向服务器,并且如果需要,服务器将传给一新的子表。
有可能特定的用户可请求由MSP发送系统管理的文件,而系统并不具备那个用户的知识(即,在用户的IP地址和查找表中的传送站点之间没找到匹配)。在这种情况下,重定向服务器为用户(步130和144)从重定向服务器上存储的缺省传送表中选择传送站点。当用户从该传送站点下载请求文件时,他可经嵌入的脚本或程序被提示,以改进内容传送为目的,从MSP 32获得配置实用程序文件,或者临时赋给一近似的服务器(如,类似但不相同的第一字节'地址)以改进内容传送。如果用户获得和运行该配置实用程序,用户终端12,如上所述,开始向MSP 32提供各种网络测试的结果,且这些信息将最后变为网络性能数据的MSP数据库的一部分。因此,对于新用户来的下一个文件请求,重定向服务器将能够根据额外的网络性能数据的分析,把该用户的IP地址映射到更合适的服务器。
通过修改查找表,重定向服务器也能就文件请求实现负载平衡和管理。如果MSP 32(或单个控制的MSP 32)预先确定部分的网络将停机一段时间,或者某些传送站点必须停机一段时间,查找表能被修改,以使重定向服务器将指点用户改换传送站点。因此,有可能两次紧接着地请求同一文件,一个用户可以被指向两个不同的传送站点。
应该理解,包含有查找表子表的文件能起传送站点文件的作用,由配置实用程序34使用以运行网络测试。子表表示了为改进性能已经过筛选的传送站点,该筛选是通过聚集从前面已实施过网络测试的一组其它用户处得到的网络性能数据进行的。传送站点的子表可通过运行配置实用程序34被进一步减肥或排定优先次序,以防该表及测试的网络次序是从前面的传送站点文件遗留的。一旦子表被排定优先次序,配置实用程序34如上所说的把表保存到(已加密的)配置文件中。
在下面所说的例子中,智能镜象系统利用查找表定位改进的传送站点,从其下载Web页上以广告标题为依据的视频剪辑。当处理相对不受欢迎的内容如广告时,重要的是要尽可能快地向的用户传送广告内容,以便潜在的用户不失去兴趣。关于Web页上广告标题的内容,同样重要的是要尽可能快的向用户传送视频内容,不必事先下载大量实质性的软件。因此,作为另外一种利用本发明的优质服务,服务提供商通过因特网在Web页上能分发广告标题。每个标题将涉及一个视频剪辑,所有这些剪辑将存储在为此目的建立的内容提供商的服务器上。
在该例中,客户机程序36被称为“播放程序”,并且它具有如前所说的附加的检索和回放视频数据的功能。浏览器38(如NetscapeNavigator或Microsoft Internet Explorer)被用来观察用户终端12上的Web内容,并在用户终端12和因特网10上的其它计算机之间通信。
当客户机选择了在Web页上显示的广告标题时,编码在标题中的EMBED标志被浏览器检查。浏览器以EMBED标志为依据开始文件下载,及分析文件的类型。如果文件是播放程序处理的类型,如MPEG,浏览器把标志传送给播放程序并起动播放程序。播放程序为视频剪辑的文件名检查EMBED标志,并试图在属于用户终端的本地计算机上查找此剪辑。如果在那里它存在,则不重新下载,并且能直接在计算机上被播放(从盘或从RAM)。如果视频剪辑不在本地计算机上,播放程序分析EMBED标记确定是否有“SM”(智能镜象)参数;该参数的存在表示嵌入的剪辑对智能镜象是允许的。SM参数进一步指出重定向服务器的地址,还有,如上所述,所要的剪辑源从特定内容提供商,以及特定内容提供商使用镜象服务器组。
如果播放程序识别出指出重定向服务器的参数,播放程序将调用浏览器,经传统的HTML文件请求技术,从重定向服务器请求的广告标题文件。重定向服务器检查进入的请求并确定客户机的IP地址。重定向服务器把客户机的IP地址映射到查找表及检索一传送站点地址或子表。传送站点地址(或传送站点子表以及IP地址)通过重定向服务器返回到播放程序。如果子表被返回,播放程序如前面所述,从所列的表中选择单个传送站点。一旦单个传送站点被确定,播放程序创建一新的URL,其形式为“http//”加上所选传送站点的IP地址,加上镜象文件路径名(如“/pub/mirror/”),加上根据EMBED语句中的 “SM”参数取得的内容提供商名。加上从EMBED语句中取得的文件名。所构建的URL被用于从查找表选择的传送站点检索所选择的剪辑。
如果在EMBED标志中的SM参数没有指定重定向服务器,或如果重定向服务器不可得到并且不返回响应,播放程序将从存储在配置实用程序文件中的智能镜象站点的优先次序表中选择一IP地址,并替代URL中的该地址。如果播放程序没有检测出存在智能镜象站点优先次序表(例如,如果用户从未下载过配置实用程序34),则播放程序使用初始内容提供商的服务器地址,就象直接被EMBED语句指定的,以请求视频。
在不是专门以广告内容传送为目标的应用中,提供下载信息给MSP便于使用本发明作为高级的基于预约的服务。随着成功的下载在数据库中被跟踪,每个用户能有一个相关的跟踪费用的“帐号”。能通过文件,兆字节,月,或其它已知手段,为智能镜象系统的使用向用户收费。在本实施例中,同文件相关的EMBED标志包括文件的付帐信息,或“价格”。如果发现下载是相当困难或缓慢,本发明的下载性能的跟踪能发布折扣和信贷。
为确保存储在智能镜象站点上的文件只给本发明授权的用户使用(例如那些已付帐的用户),存储在传送站点的文件能可任选加密的形式,并且上面所述的下载步骤能包括解密步骤。这种加密和解密能通过熟知的手段实现。
如上所说,由本发明管理的剪辑能具有与其相关的内容级别信息。这可从对应于剪辑的EMBED语句中提供的“PG”参数完成。在本实施例中由四个特性被评级裸体,性,亵渎,暴力。因此,PG参数能由四位参数指定。每个特性按一到三的数值被评定。1对应于不滤波(即所有内容被允许),2对应于某些滤波(如等于通常在广播电视中允许的级别),及3对应于最彻底的滤波(如对小孩)。包含在EMBED语句中文件的级别等级,同前面授权处理中存储在用户终端12的配置文件中包含的评定滤波等级比较,并且只有授权的文件被转送。
鉴于上述情况,可以理解本发明的实施例可用于许多不同应用中,以允许获取和分析在给定用户和内容提供商或传送站点之间网络的性能数据。因此,尽管所说的实施例描述了在因特网范围内操作的系统,以及使用因特网类型地址方案,可以看出这种系统能用于其它网络环境,包括但不限于公司的“企业内部网”。
此外,尽管图示说明的实施例主要用在视频发送系统中,应该清楚,按照本发明的系统同样能用于分配各种其它类型的计算机数据(如应用程序,数据库文件,及其它商业信息,虚拟现实文件,多媒体如Macromedia Shockware文件,及如书本那样的大文本文件)。这些其它类型的数据如上面所详细讨论的按不同内容提供商组可由本发明管理;不同类型的程序(而不是播放程序36)典型地应在用户终端12被调用去观察或使用其它类型的数据。
也应该指出,在用户终端12实现的所述的某些功能(特别是,由配置实用程序34,或客户机/播放程序36)能作为一独立程序被实现,如在浏览器程序内运行的“插件(plug-in)”或“helper application”,或从传送站点下载在浏览器环境中运行的Java 小应用程序。为了使用户终端能运行Microsoft Windows操作系统,也使用称为MicrosoftActiveX的环境。
尽管某些示例的结构和操作已被说明,本发明并不受此限制,其应用范围根据下面陈述的权利要求书确定。
权利要求
1.一种用于选择位于分布式计算机网络上的传送站点的系统,从传送站点接收一文件,该系统包括通信网络;至少一个连到网络上的内容提供商,其中内容提供商存储至少一个文件;至少两个连到网络上的传送站点,其中每个传送站点存储如同内容提供商相同的文件;连到网络上的重定向服务器;连到网络上的用户终端;网络测试装置,用来测试网络和从连到网络上的所有传送站点中选择一优选的传送站点;以及下载装置,用来从由重定向服务器指定的优选传送站点下载文件给用户终端。
2.根据权利要求1的系统,其中网络测试装置包括连到用户终端的第一存储介质,其中第一存储介质包含第一软件程序,用来测试网络及从连到网络上的所有传送站点中选择的优选传送站点。
3.根据权利要求2的系统,其中下载装置包括连到用户终端的第二存储介质,其中第二存储介质包含第二软件程序,能从优选的传送站点下载文件给用户终端。
4.根据权利要求3的系统,其中重定向服务器包括一数据库。
5.根据权利要求4的系统,其中第一软件程序使用由数据库建立的传送站点表。
6.根据权利要求5的系统,其中第一软件程序使用由网络分析过程产生的结果,以从传送站点表中选择优选的传送站点。
7.根据权利要求5的系统,其中第一软件程序使用由网络分析过程产生的结果,以建立一优选传送站点的优先表。
8.根据权利要求6的系统,其中网络分析过程至少部分在用户终端上进行。
9.根据权利要求8的系统,其中网络分析过程包括很多网络测试。
10.根据权利要求9的系统,其中网络测试从数据库中维护测试表中进行选择。
11.根据权利要求9的系统,其中网络测试结果提供给数据库。
12.根据权利要求9的系统,其中第一软件程序与用户终端结合实现网络测试。
13.根据权利要求11的系统,其中结果被存储在数据库中。
14.根据权利要求13的系统,其中数据库为用户终端映射一地址给至少一个传送站点。
15.根据权利要求14的系统,其中第二软件程序与用户终端结合执行下载。
16.根据权利要求15的系统,其中第二软件程序从数据库指定的服务器执行下载。
17.根据权利要求12的系统,其中第一软件程序可在任何时候被执行。
18.根据权利要求17的系统,其中第一软件程序可在任何文件被下载之前自动地执行。
19.根据权利要求1的系统,其中文件包括视频剪辑。
20.根据权利要求7的系统,其中第二软件程序使用优先表。
21.根据权利要求20的系统,其中第二软件程序访问数据库。
22.根据权利要求21的系统,其中第二软件程序首先试图使用优先表上指定的第一传送站点。
23.根据权利要求22的系统,其中如果第一传送站点失败,第二软件程序将试图使用优先表上指定的后继传送站点。
24.根据权利要求23的系统,其中如果优先表上所有的传送站点都失败,第二软件程序将试图直接从内容提供商下载。
25.根据权利要求1的系统,其中文件具有与其相关的特征信息。
26.根据权利要求25的系统,其中特征信息被存储在与文件对应的“EMBED”语句中。
27.一种用于从网络上的大量传送站点中确定一优先传送站点集的方法,包括以下步骤获取一传送站点表;执行至少一个网络测试;处理网络测试的结果;及根据测试的结果,把传送站点映射到'地址。
28.根据权利要求27的方法,其中执行步骤包括测试列在表中的某些传送站点。
29.根据权利要求28的方法,其中执行步骤包括从表中选择传送站点的子集;及为子集中的每个传送站点至少运行一次测试。
30.根据权利要求29的方法,其中测试是从大量测试中选择的。
31.根据权利要求30的方法,其中大量测试在连到网络上的数据库中被指定。
32.根据权利要求31的方法,其中测试是根据数据库中规定的频率,从大量测试中通过随机方式选择的。
33.根据权利要求27的方法,还包括把结果发送给连到网络上的数据库的步骤。
34.根据权利要求27的方法,其中处理步骤包括对结果进行加权。
35.根据权利要求27的方法,其中映射步骤包括对大量地址范围中的每个,按优先序列存储传送站点集。
36.根据权利要求35的方法,其中每个地址范围对应于具有相同的第一字节的所有IP地址。
37.根据权利要求36的方法,其中优先序列由测试结果确定。
38.根据权利要求27的方法,其中传送站点表从数据库得到。
39.一种用于从传送站点下载文件给用户终端的方法,包括以下步骤标识所需的文件;确定是否所需的文件在一个或多个传送站点上有镜象;如果所需的文件有镜象,在映射到IP地址的传送站点表中寻找一优选的传送站点;及从优选传送站点下载所需的文件。
40.根据权利要求39的方法,其中确定步骤包括查询重定向服务器及接收一响应的子步骤。
41.根据权利要求40的方法,其中查询步骤通过一脚本来实现。
42.根据权利要求41的方法,其中脚本被嵌入到Web页中。
43.根据权利要求40的方法,其中查询步骤由下载到用户终端的一程序来实现。
44.根据权利要求40的方法,其中检索和下载步骤被重复直到下载步骤成功实现。
45.根据权利要求44的方法,还包括如果重复检索和下载的步骤不成功则从内容提供商下载所需文件的步骤。
46.根据权利要求40的方法,其中查找步骤包括以下子步骤为用户终端确定一地址;将该地址与数据库中的地址表进行比较;如果数据库中包含足够的数据,定位相应于该地址的优选传送站点;及如果数据库中未包含足够的数据,定位一确省的传送站点。
47.根据权利要求46的方法,其中比较步骤在主管该数据库的计算机上实现。
48.根据权利要求47的方法,其中定位步骤在主管该数据库的计算机上实现。
49.根据权利要求46的方法,其中第一定位步骤包括以下子步骤分离地址子表;并且选择子表中的优选传送站点。
50.根据权利要求49的方法,其中选择步骤在用户终端上实现。
全文摘要
在分布的站点上,一用于优化视频数据存储和检索的系统和方法,要求遍布网络配备“智能镜象”站点,每个镜象站点维护由系统管理的某些数据的拷贝。根据有关每个可得到的传送站点的网络性能分析,用户地址被赋到指定的传送站点。一般的网络性能数据被收集和存储以便于选择另外的传送站点,确保同传统网络相比保持有改进了的性能。
文档编号G06F13/00GK1264476SQ98807351
公开日2000年8月23日 申请日期1998年6月16日 优先权日1997年6月18日
发明者布莱恩·肯纳尔, 肯尼斯·W·科尔比, 罗伯特·N·穆德里 申请人:英特维公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1